/* Page typography is independent from the brand lockup. */
:root{--font-page:Arial,Helvetica,sans-serif;--type-body:15px;--type-small:13px;--type-label:11px;--type-card:24px}
body{font-family:var(--font-page);font-size:var(--type-body)}
h1,h2,h3,.category-card h3,.project-grid h3,.capability-grid h3,.form-heading h3{font-family:var(--font-page);font-style:normal}
h1{font-size:clamp(42px,4.8vw,68px);font-weight:400;letter-spacing:-2px;line-height:1.08}
h2,.selection-section h2{font-size:clamp(32px,3.5vw,48px);font-weight:400;letter-spacing:-1.4px;line-height:1.15}
h3,.category-card h3,.project-grid h3,.capability-grid h3,.form-heading h3,.steps h3,.service-row h3{font-size:var(--type-card);font-weight:400;letter-spacing:-.5px;line-height:1.25}
p,.intro,.section-heading>p,.category-card p,.project-grid p,.capability-grid p,.steps p,.service-row p,.compare-copy p:not(.eyebrow),.contact>div>p:not(.eyebrow),details p{font-size:var(--type-body);line-height:1.65}
nav,.nav-cta,.category-menu summary,.category-dropdown a,.button,.hero .button,.text-link,.quiet-link,.switch button,.project-filters button,input,select,textarea,label,.form-note,.contact-note,footer p,footer>a:last-child,dialog p,nav>a:not(.nav-cta){font-size:var(--type-small);font-weight:400}
.eyebrow,.project-label,.capability-number,.comparison figcaption,.hero-foot,.hero-image figcaption span:first-child,.form-heading span,.privacy{font-size:var(--type-label);font-weight:400;letter-spacing:1px;line-height:1.5}
.privacy{letter-spacing:0}.hero-foot{flex-wrap:wrap}.hero-image figcaption{font-size:var(--type-small)}
.logo{font-family:Arial,Helvetica,sans-serif;display:inline-flex;align-items:center;gap:10px;flex-shrink:0;letter-spacing:0}
.logo .brand-symbol{width:39px;height:44px;flex-shrink:0}
.logo .brand-word{display:inline-flex;align-items:baseline;font-size:27px;letter-spacing:-1.3px;line-height:1}
.logo .brand-word b{font-weight:800}.logo .brand-word span{font-weight:400}.logo .brand-word i{display:inline-block;width:6px;height:6px;margin:0 0 0 4px;background:var(--red)}
@media(max-width:650px){h1{font-size:44px}h2,.selection-section h2{font-size:34px}.logo .brand-symbol{width:33px;height:38px}.logo .brand-word{font-size:25px}.steps{grid-template-columns:1fr}.hero-foot{gap:10px}}
