/* Common Interest type ramp.
   Archivo 400 / 800. Six core sizes; fluid hero and optical wordmark exceptions.
   Example artwork uses its own typography in visuals.css. */
:root{
 --font-page:Archivo,sans-serif;
 --weight-regular:400;
 --weight-bold:800;
 --size-12:12px;
 --size-16:16px;
 --size-20:20px;
 --size-24:24px;
 --size-32:32px;
 --size-48:48px;
 --type-caption:var(--size-12);
 --type-body:var(--size-16);
 --type-lead:var(--size-20);
 --type-subheading:var(--size-24);
 --type-section:var(--size-48);
 --type-dialog:var(--size-32);
 --type-hero:clamp(90px,15.6vw,220px);
 --type-wordmark:28px;
 --type-wordmark-sticky:22px;
 --leading-body:1.5;
 --leading-lead:1.4;
 --leading-caption:1.4;
 --leading-subheading:1.2;
 --leading-section:1.05;
 --leading-hero:.82;
 --tracking-heading:-.035em;
 --tracking-display:-.04em;
}
body{font-family:var(--font-page);font-size:var(--type-body);font-weight:var(--weight-regular);line-height:var(--leading-body)}
.hero h1{font-size:var(--type-hero);font-weight:var(--weight-bold);line-height:var(--leading-hero);letter-spacing:var(--tracking-display)}
.section-heading h2,.service-story h3,.experience h2,.next h2,.is-stacked .stacked-title,.mobile-work-heading h3,.privacy-page h1{font-size:var(--type-section);font-weight:var(--weight-bold);line-height:var(--leading-section);letter-spacing:var(--tracking-heading)}
.hero-intro,.hero-bottom p,.section-heading .section-deck,.experience-copy p{font-size:var(--type-lead);font-weight:var(--weight-regular);line-height:var(--leading-lead);letter-spacing:0}
.service-steps strong,.is-stacked .service-steps strong,.privacy-page h2,#brief-result h3{font-size:var(--type-subheading);font-weight:var(--weight-bold);line-height:var(--leading-subheading);letter-spacing:-.025em}
.service-steps p,.is-stacked .service-steps p,.privacy-page p,.nav-link,.hero-cta,.sticky-cta,.next-link,.work-tabs strong,#brief-form label,#brief-form .channel-options label,#brief-form input,#brief-form select,#brief-form textarea,#brief-form .button,#brief-result .button,.form-submit,.channel-fields legend,.optional-context summary,.form-error,#brief-result .result-email,#brief-dialog .dialog-note{font-size:var(--type-body);font-weight:var(--weight-regular);line-height:var(--leading-body);letter-spacing:0}
.work-tabs [aria-selected=true] strong{font-weight:var(--weight-bold)}
.service-steps li::before,.mobile-work-heading>span,.mobile-service-summary,.work-caption,.work-tabs .tab-number,.example-note,.site-footer,#form-step-label,.field-optional,.field-hint,.optional-context summary span,.form-privacy,.small-note,.privacy-page .privacy-date{font-size:var(--type-caption);font-weight:var(--weight-regular);line-height:var(--leading-caption);letter-spacing:0}
#brief-dialog h2{font-size:var(--type-dialog);font-weight:var(--weight-bold);line-height:var(--leading-section);letter-spacing:var(--tracking-heading)}
.close-dialog{font-size:var(--type-subheading);line-height:1}
.wordmark{font-size:var(--type-wordmark)}
.sticky-header .wordmark{font-size:var(--type-wordmark-sticky)}
@media(max-width:699px){
 :root{--type-lead:var(--size-16);--type-subheading:var(--size-20);--type-section:var(--size-32);--type-hero:19.2vw;--type-wordmark:24px;--type-wordmark-sticky:20px;--leading-hero:.88}
 .mobile-service-summary{gap:4px 12px}
}
@media(max-width:380px){.channel-options{grid-template-columns:minmax(0,1fr)}}
