/* Shared across the legacy templates. The important declarations are limited
   to the agreed typography contract and logo, to override their old scales. */
@font-face{font-family:Roboto;src:url('/assets/fonts/roboto-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2191,U+2193}
@font-face{font-family:Roboto;src:url('/assets/fonts/roboto-latin-ext-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-02FF,U+0300-036F,U+1E00-1EFF}
@font-face{font-family:Roboto;src:url('/assets/fonts/roboto-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2191,U+2193}
@font-face{font-family:Roboto;src:url('/assets/fonts/roboto-latin-ext-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0100-02FF,U+0300-036F,U+1E00-1EFF}
@font-face{font-family:Roboto;src:url('/assets/fonts/roboto-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2191,U+2193}
@font-face{font-family:Roboto;src:url('/assets/fonts/roboto-latin-ext-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0100-02FF,U+0300-036F,U+1E00-1EFF}
:root{--site-header-height:76px;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lead:20px;--text-title:24px;--text-subhead:32px;--text-heading:40px;--text-display:64px}
body{font-family:Roboto,sans-serif!important;font-size:var(--text-base)!important;font-weight:400!important}
body *{font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important}
body h1{font-size:var(--text-display)!important;font-weight:400!important;line-height:1.08}
body h2{font-size:var(--text-heading)!important;font-weight:400!important;line-height:1.15}
body h3{font-size:var(--text-title)!important;font-weight:400!important;line-height:1.2}
body :is(strong,b){font-weight:700!important}
body :is(button,label,summary,.button,.text-link){font-weight:500!important}
body :is(button,label,.button,.text-link,.nav,.mobile-menu,.prospect-header>p,.service-header nav){font-size:var(--text-sm)!important}
body :is(.hero-thesis,.prospect-lead,.service-lead,.editorial-lead,.service-page-lead,.template-lead,.prospect-thank-lead){font-size:var(--text-lead)!important}
body :is(.case-number,.section-number,.comparison-code,.price-code,.form-kicker,.prospect-kicker,.service-label,.article-category,.article-meta,.project-meta,.project-type,.detail-label,.source-note,.breadcrumbs,.template-breadcrumbs,.opinion-label,.field-note,.optional,.error,.form-note,.form-status,.form-delivery,.footer,.prospect-footer,.service-footer){font-size:var(--text-xs)!important}
body :is(.case-number,.section-number,.prospect-kicker,.service-label,.form-kicker,.opinion-label){font-weight:500!important}
body :is(.prospect-proof h2,.project-copy h3,.scope-comparison h3,.service-main h3,.client-opinion blockquote p){font-size:var(--text-title)!important}
body :is(.form-heading h3,.prospect-local-area h2){font-size:var(--text-subhead)!important}
body :is(.prospect-faq-list summary,.faq-stack summary){font-size:var(--text-lead)!important}
body :is(.prospect-price-value strong,.price-amount){font-size:var(--text-display)!important;font-weight:400!important}
body :is(.prospect-proof article>span,.prospect-scope-grid article>span,.prospect-material-list article>span,.prospect-process li>span,.prospect-product-index span,.prospect-price-value small,.prospect-price-value>span){font-size:var(--text-xs)!important;font-weight:500!important}
body :is(.prospect-product>p,.opinion-scope,.client-opinion figcaption,.prospect-contact-email,.service-answer p){font-size:var(--text-sm)!important}
body .cookie-settings-head h2{font-size:var(--text-title)!important}
body .cookie-copy,body .cookie-choice-copy{font-size:var(--text-sm)!important}
body .service-status{font-size:var(--text-xs)!important}
body .service-process li::before{font-family:Roboto,sans-serif;font-size:var(--text-xs);font-weight:500}

/* One clickable mark and wordmark; same geometry in all three old headers. */
body a.site-brand{display:inline-flex;align-items:center;gap:12px;width:max-content;flex:none;margin:0;padding:0;border:0;background:none;color:var(--ink,#171816);text-decoration:none!important;line-height:1}
body a.site-brand *{text-decoration:none!important}
body a.site-brand .site-brand-mark{position:relative;display:block;flex:0 0 40px;width:40px;height:34px;margin:5px 0 0;padding:0;border:0;border-radius:5px;background:var(--accent,#c74433);color:transparent}
body a.site-brand .site-brand-mark::before{position:absolute;top:-5px;left:0;width:21px;height:8px;border-radius:5px 5px 0 0;background:inherit;content:''}
body a.site-brand .site-brand-name{display:block;width:auto;height:auto;margin:0;padding:0;border:0;border-radius:0;background:none;color:var(--ink,#171816);font-size:var(--text-sm)!important;font-weight:700!important;line-height:1;text-transform:uppercase;letter-spacing:0}
body a.site-brand:focus-visible{outline:2px solid currentColor;outline-offset:6px;border-radius:4px}
body :is(.site-header,.prospect-header,.service-header){height:var(--site-header-height);min-height:var(--site-header-height);box-sizing:border-box;padding:10px max(24px,calc((100% - 1180px)/2));background:var(--sheet,#fafbf7)}

/* Content can grow on short screens; it is never cropped to a fixed height. */
body.homepage .hero,body.prospect-landing .prospect-hero{min-height:calc(100svh - var(--site-header-height));min-height:calc(100dvh - var(--site-header-height));box-sizing:border-box;align-content:center}
@media(max-width:768px){
 :root{--site-header-height:68px}
 body h1{font-size:var(--text-heading)!important}
 body h2{font-size:var(--text-subhead)!important}
 body .prospect-local-area h2{font-size:var(--text-title)!important}
 body :is(.site-header,.prospect-header,.service-header){padding-inline:20px}
 body .prospect-hero-actions{flex-wrap:wrap}
 body .prospect-hero-actions .primary{flex:1 1 100%}
 body .prospect-hero-actions .prospect-template-cta{flex:1 1 100%}
}
