/* =========================================================
   UTECH FINAL FRONT-END HARMONY LAYER — V1
   Only cross-template consistency refinements.
   Approved layouts/sections remain untouched.
   ========================================================= */

:root{
  --utech-inner-h1:42px;
  --utech-inner-h2:32px;
  --utech-inner-body:14px;
}

/* Consistent typography for internal-page primary headings */
.about-hero__copy h1,
.articles-hero__copy h1,
.contact-hero__copy h1,
.generic-page-hero__copy h1,
.projects-intro__copy h1,
.search-hero__copy h1,
.service-simple-hero h1,
.internal-hero h1,
.article-heading h1,
.error-copy h1,
.products-hero__copy h1,
.series-hero__top h1,
.single-product-summary h1{
  font-size:clamp(34px,3.3vw,var(--utech-inner-h1))!important;
  line-height:1.58!important;
  letter-spacing:-.2px!important;
}

/* Shared meta labels / breadcrumbs */
.about-breadcrumb,
.articles-breadcrumb,
.contact-breadcrumb,
.generic-page-breadcrumb,
.projects-breadcrumb,
.search-breadcrumb,
.service-breadcrumb,
.single-product-breadcrumb,
.products-breadcrumb,
.series-breadcrumb{
  font-size:12px!important;
}

/* Kicker consistency */
.section-kicker,
.products-page .section-kicker,
.series-page .section-kicker,
.single-product-page .section-kicker{
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:0!important;
}

/* Shared buttons must feel identical across templates */
.button{
  min-height:44px!important;
  padding-inline:20px!important;
  border-radius:9px!important;
  font-size:13px!important;
  font-weight:700!important;
}

/* Keep global CTAs aligned in scale, not oversized */
.final-cta h2{
  font-size:clamp(24px,2.25vw,30px)!important;
  line-height:1.7!important;
}

/* Better keyboard accessibility without visual redesign */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible{
  outline:2px solid var(--blue);
  outline-offset:3px;
}

input,
textarea,
select{
  font-family:Shabnam,Tahoma,sans-serif;
}

/* Anchor targets should not hide under sticky header */
[id]{
  scroll-margin-top:calc(var(--header-h) + 18px);
}

/* Selection uses the site's accent */
::selection{
  background:rgba(47,157,195,.25);
  color:inherit;
}

/* Prevent accidental horizontal overflow between templates */
html,body{max-width:100%;overflow-x:hidden}

/* The Serentco credit behaves the same across all pages */
.serent-credit{
  text-decoration:none!important;
}

/* Mobile type scale */
@media(max-width:720px){
  :root{
    --utech-inner-h1:31px;
    --utech-inner-h2:27px;
  }

  .about-hero__copy h1,
  .articles-hero__copy h1,
  .contact-hero__copy h1,
  .generic-page-hero__copy h1,
  .projects-intro__copy h1,
  .search-hero__copy h1,
  .service-simple-hero h1,
  .internal-hero h1,
  .article-heading h1,
  .error-copy h1,
  .products-hero__copy h1,
  .series-hero__top h1,
  .single-product-summary h1{
    font-size:var(--utech-inner-h1)!important;
    line-height:1.68!important;
  }

  .button{
    min-height:43px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    scroll-behavior:auto!important;
  }
}
