/* Shared internal-page typography. Homepage and the dedicated website-service page have their own approved rules. */
@font-face { font-family:'Website Onest'; src:url('/media/fonts/onest/Onest-Variable.ttf') format('truetype'); font-weight:100 900; font-display:swap; }
body:not(.websites-page):not(.home-probe) { font-family:'Website Onest',system-ui,sans-serif !important; font-weight:400; }
body:not(.websites-page):not(.home-probe) :is(h1,h2,h3,h4,input,textarea,select,button) { font-family:'Website Onest',system-ui,sans-serif !important; }
body:not(.websites-page):not(.home-probe) main :is(h1,h2,h3) { font-weight:600 !important; }
body.direct-page:not(.websites-page) main h1 { font-size:clamp(42px,5.2vw,76px) !important; line-height:1.05; letter-spacing:-.035em; }
body.direct-page:not(.websites-page) main h2 { font-size:clamp(38px,4.6vw,64px) !important; line-height:1.08; letter-spacing:-.035em; }
body.case-page main h1 { font-size:clamp(42px,5.2vw,76px) !important; line-height:1.06; letter-spacing:-.035em; }
body.case-page main h2 { font-size:clamp(32px,4vw,56px); line-height:1.1; letter-spacing:-.035em; }
body.utm-page main h1 { font-size:clamp(38px,5vw,64px) !important; line-height:1.1; letter-spacing:-.035em; }
@media(max-width:520px) {
  body.direct-page:not(.websites-page) main h1,body.case-page main h1 { font-size:clamp(30px,9.4vw,38px) !important; }
  body.direct-page:not(.websites-page) main h2 { font-size:34px !important; }
  body.case-page main h2 { font-size:32px; }
  body.utm-page main h1 { font-size:34px !important; }
}
/* Keep long labels and the price hero readable in their existing columns. */
body.price-page main .price-hero-note h2 { font-size:clamp(32px,3.3vw,48px) !important; }
body.direct-page:not(.websites-page) .direct-offer h3 { font-size:26px !important; overflow-wrap:anywhere; }
@media(max-width:520px) { body.direct-page:not(.websites-page) .showcase-niche { font-size:clamp(28px,9vw,34px); } }

