/* Editorial reading hierarchy. Content, imagery, brand and section order retained.
   Final typography layer: legacy theme rules must not reset semantic type sizes. */
:root{
  --type-h1:clamp(38px,3.75vw,48px);
  --type-h2:clamp(28px,2.65vw,34px);
  --type-h3:24px;
  --type-body:18px;
  --type-lead:20px;
  --type-ui:16px;
  --type-note:15px;
  --reading-measure:70ch;
}
body{letter-spacing:normal}
.home-mode main{font-family:"Onest",Arial,sans-serif}
.home-mode main :is(h1,h2,h3,h4){font-family:"Onest",Arial,sans-serif}
.client-grid img[src$="client-sminex.svg"]{width:135px;max-width:100%;height:auto}
@media(min-width:960px){.site-header .mobile-nav{display:none}}
main h1,main h2,main h3,main h4{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:500;word-break:normal;overflow-wrap:anywhere;hyphens:none;text-wrap:pretty}
main h1,.home-hero h1,.page-hero h1,.text-hero h1{font-size:var(--type-h1);line-height:1.14;letter-spacing:-.03em;max-width:none;margin-bottom:24px}
main h2,.section-head h2,.popular-copy h2,.content-section h2,.template-about .content-section>h2,.faq h2{font-size:var(--type-h2);line-height:1.2;letter-spacing:-.025em}
main h3,.prose h3,.fact-copy-grid h3,.price-item h3,.contact-cards h2,.excerpt-card h3{font-size:var(--type-h3);line-height:1.3;letter-spacing:-.015em}
main p,main li{letter-spacing:normal}
.prose p,.prose ul,.prose ol,.structured-content>p,.structured-content>ul,.feature-list li,.popular-copy p,.price-item p,.price-item ul,.excerpt-card p,.fact-copy-grid p,.faq-answer p{font-size:var(--type-body);line-height:1.65}
.prose p,.prose ul,.prose ol,.structured-content>p,.structured-content>ul{max-width:var(--reading-measure);text-align:left}
.prose p+p{margin-top:0}
.content-section h2{margin-bottom:24px}
.prose h3{margin-block:32px 16px}
.home-hero .hero-copy>p:not(.location),.page-hero .lead,.text-hero .lead,.approach .lead{font-size:var(--type-body);line-height:1.6}
.home-hero .hero-copy>p.lead,.page-hero .lead,.text-hero .lead,.template-utility .text-hero .lead{font-size:var(--type-lead);line-height:1.55}
.home-hero .hero-copy>p:not(.location){width:100%;max-width:none}
.page-hero .lead,.text-hero .lead{max-width:var(--reading-measure)}
.home-hero .hero-copy{background:transparent}
.home-hero .hero-action{margin-top:28px;gap:16px}
.home-hero .hero-action>span{font-size:16px;line-height:1.5;max-width:none;color:#34465f}
.home-hero .location{font-size:15px;line-height:1.4;margin-bottom:28px}
main .button,main .button.compact,main .text-link,.field label,main .body-links,.faq summary,.contents summary,.contents a,.card-action,.price-nav,.social-links{font-size:var(--type-ui);font-weight:400;line-height:1.4}
main .button{min-height:52px}
main .nav-card-title,main .small-grid .nav-card-title{font-size:24px;line-height:1.3;letter-spacing:-.015em;overflow-wrap:anywhere}
.quiet,.source-note,.source-warning,.demo-note,.consent,.field label span,.field-error,.form-feedback,.photo figcaption,.team-person figcaption span,main .breadcrumb,main .tag-links,.footer-brand p,.footer-grid nav a,.footer-bottom,.footer-bottom a{font-size:var(--type-note);line-height:1.55}
.breadcrumb{gap:8px 12px;flex-wrap:wrap}
.section-head .quiet{font-size:var(--type-note);line-height:1.55}
.breadcrumb span[aria-current]{min-width:0;overflow-wrap:anywhere}
.tag-links a{font-size:var(--type-note);line-height:1.55;min-height:44px;display:inline-flex;align-items:center}
.region-grid,.region-grid p,.region-grid li{font-size:15px;line-height:1.6}
.footer-grid nav h2{font-size:16px;line-height:1.4;letter-spacing:normal}
.footer-bottom{font-size:14px}
.footer-bottom a{font-size:14px}
.footer-brand .footer-phone{font-size:20px;line-height:1.4}
.popular-tabs button{font-size:14px;line-height:1.4}
.popular .popular-photo-copy{background:#0050e8;grid-template-rows:auto auto;gap:6px;padding-block:10px}
.popular .popular-photo-copy>span:first-child{font-size:20px;font-weight:500;line-height:1.2;letter-spacing:-.01em;min-height:2.4em;overflow-wrap:anywhere;text-wrap:pretty}
.popular .popular-photo-copy>span:last-child{font-size:14px;line-height:1.4;min-height:20px;font-weight:400;color:#fff}
.home-about .about-item p{font-size:18px;line-height:1.5;letter-spacing:normal}
.home-about .about-guarantee p{font-size:26px;line-height:1.25;letter-spacing:-.015em}
.home-about .video-link{font-size:16px;line-height:1.45}
.home-about .video-link small{font-size:15px;line-height:1.45}
.team-person figcaption,.team-person figcaption strong{font-size:16px;line-height:1.5}
.company-facts dt{font-size:18px;line-height:1.45}
.stat-qualifier,.company-facts dd.stat-description{font-size:15px;line-height:1.55;min-height:0}
.company-facts dd strong{font-size:38px;line-height:1.15;letter-spacing:-.025em}
.contact-banner h2{font-size:clamp(30px,2.8vw,38px);line-height:1.15;letter-spacing:-.025em;margin-block:24px}
.contact-banner .contact-banner-copy>p{font-size:18px;line-height:1.6}
.contact-banner .contact-banner-copy>.contact-eyebrow,.contact-banner .contact-audience,.contact-banner-links{font-size:15px;line-height:1.55}
.contact-banner .contact-banner-button{font-size:16px}
dialog h2{font-size:30px;line-height:1.2;letter-spacing:-.02em}
dialog p{font-size:16px;line-height:1.55}
dialog .field label,dialog .button{font-size:16px;line-height:1.4}
@media(min-width:960px){
  .home-hero .hero-copy{width:62%;padding-block:44px 48px}
  .home-hero .hero-visual:after{background:linear-gradient(90deg,#f0f6ff 0%,#f0f6ff 44%,#f0f6ffed 54%,#f0f6ff55 70%,transparent 83%)}
}
@media(min-width:700px) and (max-width:1199px){
  .popular .popular-photo-copy>span:first-child{font-size:18px}
}
@media(max-width:959px){
  :root{--type-h1:clamp(34px,4.5vw,42px);--type-h2:32px}
  .home-hero .hero-copy{background:#f0f6ff}
  .home-hero .hero-visual:after{background:linear-gradient(180deg,#f0f6ff,transparent 28%)}
  .company-facts dd strong{font-size:32px}
}
@media(max-width:699px){
  :root{--type-h1:clamp(28px,7.2vw,36px);--type-h2:clamp(26px,6.3vw,30px);--type-h3:22px;--type-body:17px;--type-lead:18px}
  .home-hero h1,.page-hero h1,.text-hero h1{font-size:var(--type-h1);line-height:1.16;letter-spacing:-.025em;margin-bottom:22px}
  .home-hero .hero-copy>p:not(.location){font-size:var(--type-body)}
  .home-hero .hero-copy>p.lead,.page-hero .lead,.text-hero .lead,.template-utility .text-hero .lead{font-size:var(--type-lead)}
  .home-hero .hero-action>span{font-size:16px}
  .home-hero .hero-action>.button{padding-inline:14px 10px;gap:8px}
  .home-hero .hero-action>.button>svg{width:28px;height:28px;padding:6px}
  .home-hero .location{font-size:14px;margin-bottom:24px}
  main .nav-card-title,main .small-grid .nav-card-title{font-size:22px}
  .popular .popular-photo-copy>span:first-child{font-size:18px}
  .home-about .about-item p{font-size:18px}
  .home-about .about-guarantee p{font-size:24px}
  .company-facts dd strong{font-size:36px}
  .contact-banner h2{font-size:30px;line-height:1.18}
  .contact-banner .contact-banner-copy>p{font-size:17px}
  dialog h2{font-size:26px}
}
