/* Readability, concise hierarchy and finished states for the public site. */
:root{--muted:#50655c}
html{scroll-padding-top:28px}
body{font-size:16px}
*,*::before,*::after{box-sizing:border-box}
h1,h2,h3{overflow-wrap:break-word;text-wrap:balance}
p,li{overflow-wrap:break-word}
section[id],article[id]{scroll-margin-top:28px}
.eyebrow,.index-label{font-size:11px;letter-spacing:.1em;line-height:1.6}
.section-pad{padding-block:80px}
.section-heading{grid-template-columns:.28fr 1fr;gap:36px}
.section-heading>div>p{font-size:16px;line-height:1.8;max-width:660px}
h2{font-size:clamp(34px,3.6vw,50px);line-height:1.18;letter-spacing:-.045em}
.nav{font-size:13px;gap:20px}
.nav>a{min-height:44px;display:flex;align-items:center}
.audience-links strong{font-size:14px}
.audience-links span{font-size:12px}
.button,.hero-actions .button,.design-teaser .button,.business-banner>.button{font-size:14px;line-height:1.45;min-height:50px;gap:15px;white-space:normal;text-align:left}
.subtle-link,.footer-paths a,.back-top{font-size:13px;line-height:1.6;min-height:44px;align-items:center}
.button svg,.subtle-link svg,.nav-cta svg{flex-shrink:0}
.hero{gap:44px;align-items:stretch}
.hero-copy{min-width:0}
.hero h1{font-size:clamp(52px,5.7vw,78px);line-height:1.12;letter-spacing:-.055em}
.hero-lead{font-size:17px;line-height:1.8;max-width:510px}
.hero-visual{min-height:590px;border-radius:24px 24px 70px 24px}
.hero-facts{max-width:none;gap:28px;flex-wrap:wrap}
.hero-facts span{font-size:12px}
.hero-facts>.hero-fact-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px}
.hero-fact-copy strong{font-size:16px;font-weight:600;letter-spacing:-.025em;line-height:1.4}
.hero-image-caption{font-size:11px;letter-spacing:.035em}
.measurement-tags span{font-size:11px;padding:7px 10px}
.business-entry{max-width:100%}
.business-entry>span{font-size:12px}
.business-entry strong{font-size:14px}
.trust-strip>p{font-size:12px;line-height:1.6}
.education-grid{gap:26px;align-items:stretch}
.education-panel{padding:34px;border-radius:20px}
.education-panel h3{font-size:29px;line-height:1.25;margin-bottom:22px}
.education-panel p,.education-panel ul{font-size:15px;line-height:1.85}
.education-panel p{margin-bottom:18px}
.education-panel-top>span:last-child{font-size:11px;letter-spacing:.07em}
.education-panel ul{padding-left:20px;margin-bottom:18px}
.education-panel li+li{margin-top:10px}
.measurement-topics{gap:10px}
.measurement-topics>a{font-size:13px;min-height:46px;line-height:1.5;padding:12px 15px}
.measurement-sources summary{font-size:13px;min-height:44px}
.measurement-sources>div{font-size:14px;line-height:1.8}
.measurement-video-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:48px}
.measurement-video-grid h2{font-size:clamp(32px,3.6vw,48px)}
.measurement-video-grid>div:first-child>p:not(.eyebrow){font-size:16px;line-height:1.8}
.video-topic-list li{font-size:14px}
.measurement-film-note{font-size:12px}
.audience-grid p,.measurement-document p,.process-grid p,.standard-points p,.standard-lead,.business-scope .scope-row>div>p,.scope-row p,.design-teaser>div>p:not(.eyebrow),.cost-grid p,.business-banner p:not(.eyebrow){font-size:15px;line-height:1.8}
.audience-grid h3,.measurement-audiences .audience-grid h3{font-size:28px;line-height:1.3}
.scope-row,.business-scope .scope-row{grid-template-columns:38px minmax(0,.9fr) minmax(0,1.25fr);gap:26px}
.scope-row h3,.business-scope .scope-row h3{font-size:27px;line-height:1.3;hyphens:auto}
.business-scope-nav{flex-wrap:wrap}
.business-scope-nav a,.project-filters button{font-size:13px;min-height:44px;padding:11px 16px;line-height:1.4}
.process-grid h3{font-size:23px;line-height:1.3}
.process-grid article{min-width:0;padding:26px}
.faq-grid{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:70px}
.faq-grid h2{font-size:clamp(32px,3.6vw,47px)}
.faq-grid>div>p,.measurement-faq-intro{font-size:15px;line-height:1.8}
.faq-list summary,.measurement-faq .faq-list summary{font-size:16px;line-height:1.55;min-height:44px;align-items:center}
.faq-list details>p,.measurement-faq .faq-list details>p{font-size:15px;line-height:1.85;padding-right:24px}
.service-hero-bottom p,.company-lead,.team-hero>p:last-child{font-size:17px;line-height:1.8}
.service-hero-bottom .button{flex-shrink:0}
.design-hero h1{font-size:clamp(42px,5.4vw,74px);line-height:1.16}
.design-deliverables{gap:36px}
.design-deliverables li{font-size:15px;line-height:1.8}
.company-hero h1{font-size:clamp(40px,5.2vw,68px)}
.company-card figcaption strong{font-size:14px}
.company-card figcaption span{font-size:12px;line-height:1.6}
.company-directory-top>p{font-size:13px}
.gallery-heading>p,.visual-grid figcaption,.design-teaser figcaption{font-size:13px;line-height:1.7}
.visual-grid figcaption>span:last-child{font-size:11px}
.team-mini p,.team-together p:not(.eyebrow){font-size:16px;line-height:1.8}
.team-portrait.has-initials{aspect-ratio:auto;height:155px}
.has-initials .portrait-placeholder{background-size:140%;background-position:50% 50%}
.has-initials .portrait-placeholder::before{display:none}
.has-initials .portrait-initials{margin:0;width:82px;height:82px;display:grid;place-items:center;border-radius:50%;font-size:32px;background:#ffffff80}
.team-person h3{font-size:23px;line-height:1.3}
.team-person .team-role{font-size:13px;line-height:1.6}
.team-person>p:last-child{font-size:14px;line-height:1.8}
.group-photo-placeholder{aspect-ratio:16/10;gap:30px}
.group-photo-placeholder figcaption{font-size:14px;line-height:1.8}
.contact-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px}
.contact-intro h2{font-size:clamp(36px,4.4vw,56px);line-height:1.2}
.contact-intro>p:not(.eyebrow):not(.contact-territory){font-size:16px;max-width:470px}
.contact-person div>span{font-size:12px;line-height:1.6}
.contact-person strong{font-size:17px}
.direct-contact{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:28px}
.direct-contact a{display:inline-flex;align-items:center;gap:15px;font-size:clamp(18px,2vw,25px);font-weight:600;letter-spacing:-.04em;min-height:48px;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.direct-contact a svg{width:22px;height:22px;flex-shrink:0}
.direct-contact>span{font-size:13px;line-height:1.8;color:var(--muted)}
.contact-territory{font-size:13px;line-height:1.8}
.brief-form h3{font-size:25px;line-height:1.3}
.brief-form .form-intro{font-size:14px;line-height:1.8;margin:12px 0 25px;color:var(--muted)}
.brief-form legend,.field{font-size:14px;line-height:1.6}
.optional{font-size:12px;font-weight:400;color:var(--muted)}
.sector-options span{font-size:12px;line-height:1.5;min-height:44px;display:flex;align-items:center;padding:10px 12px}
.field input,.field textarea{font-size:16px;line-height:1.6;min-height:48px}
.form-note{font-size:12px;line-height:1.8}
.footer-top>p,.footer-bottom,.footer-paths a{font-size:13px;line-height:1.7}
.footer-bottom{flex-wrap:wrap;gap:18px}
.footer-bottom a{text-decoration:underline;text-underline-offset:4px}
.modal h2{font-size:36px;line-height:1.2}
.modal>p,.modal textarea{font-size:15px;line-height:1.8}
.modal-actions .button,.modal-actions .text-button{font-size:14px;min-height:44px}
@media(max-width:1240px){
 .header-inner{height:80px}.menu-toggle{display:flex;align-items:center;gap:14px;font-size:14px;padding:12px 0;min-height:44px}.menu-toggle i{height:10px;width:21px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
 .nav{display:none;position:absolute;top:80px;left:0;right:0;flex-direction:column;align-items:stretch;gap:6px;padding:20px 28px 28px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 15px 25px #203b360d;font-size:16px}.nav.is-open{display:flex}.nav-cta{justify-content:space-between}.nav>a[aria-current=page]:not(.nav-cta)::after{right:auto;width:28px}
 .hero{gap:30px}.hero h1{font-size:clamp(46px,6vw,64px)}.hero-lead{font-size:16px}.hero-visual{min-height:570px}.contact-grid{gap:36px}.section-heading{grid-template-columns:.25fr 1fr}
}
@media(max-width:900px){
 .section-pad{padding-block:64px}.hero{display:grid;grid-template-columns:1fr;gap:30px}.hero h1{font-size:clamp(44px,8vw,70px)}.hero-lead{max-width:650px}.hero-visual,.measurement-hero .hero-visual{min-height:0;height:380px;max-height:none}.hero-facts{max-width:520px}.hero-actions{margin-top:24px}.hero-copy{padding-top:0}
 .measurement-video-grid,.faq-grid,.contact-grid,.section-heading{grid-template-columns:1fr;gap:28px}.section-heading>.eyebrow{margin-bottom:0}.measurement-video-grid h2{max-width:570px}.measurement-video-grid>div:first-child>p:not(.eyebrow){max-width:650px}.faq-grid h2{margin-bottom:14px}.contact-intro>p:not(.eyebrow):not(.contact-territory){max-width:600px}.brief-form{margin-top:0}.form-pair{grid-template-columns:1fr 1fr;gap:16px}.team-mini{grid-template-columns:auto 1fr}.team-mini>.subtle-link{grid-column:2}.scope-row,.business-scope .scope-row{gap:20px}
}
@media(max-width:640px){
 .wrap{width:calc(100% - 36px)}.section-pad{padding-block:52px}.header-inner{height:76px}.nav{top:76px}.brand-logo{width:192px}
 .audience-links strong{font-size:12px}.audience-links>a{min-height:50px}.audience-links span{display:none}.eyebrow,.hero .eyebrow,.index-label{font-size:11px;letter-spacing:.08em}
 h2,.section-heading h2,.measurement-video-grid h2,.faq-grid h2,.business-banner h2,.team-together h2{font-size:33px;line-height:1.23}.section-heading{display:grid;gap:16px;margin-bottom:26px}.section-heading>div>p{margin-top:18px;font-size:16px}
 .hero h1,.measurement-hero h1{font-size:clamp(43px,11.5vw,66px);line-height:1.13;margin-top:20px}.hero-lead{font-size:16px;line-height:1.8}.hero-visual,.measurement-hero .hero-visual{height:300px;border-radius:20px 20px 52px 20px}.hero-image-caption{left:20px;right:20px;font-size:10px}.hero-facts{gap:24px}.hero-facts span{font-size:12px}.hero-fact-copy strong{font-size:16px}.hero-actions .button{font-size:14px;min-height:50px}.business-entry strong{font-size:14px}.business-entry>span{font-size:12px}
 .education-grid{grid-template-columns:1fr;gap:18px}.education-panel{padding:26px 23px}.education-panel h3{font-size:27px}.education-panel p,.education-panel ul{font-size:16px;line-height:1.8}.education-panel-top>span:last-child{font-size:10px}.measurement-topics{grid-template-columns:1fr 1fr}.measurement-topics>a{font-size:12px;padding:11px;min-height:50px}.video-topic-list li{font-size:14px}.measurement-film-note{font-size:12px}
 .audience-grid article{padding:26px}.audience-grid h3,.measurement-audiences .audience-grid h3{font-size:27px}.audience-grid p,.scope-row p,.business-scope .scope-row>div>p,.measurement-document p,.process-grid p,.standard-points p,.standard-lead,.cost-grid p,.design-teaser>div>p:not(.eyebrow),.business-banner p:not(.eyebrow){font-size:16px;line-height:1.8}
 .scope-row,.business-scope .scope-row{grid-template-columns:28px minmax(0,1fr);gap:12px 14px}.scope-row h3,.business-scope .scope-row h3{font-size:25px}.scope-row>p,.scope-row>div{grid-column:2}
 .process-grid{grid-template-columns:1fr;gap:14px}.process-grid article{padding:25px}.process-grid h3{font-size:24px;margin-top:15px}.process-grid p{margin-top:12px}.business-scope-nav a,.project-filters button{font-size:12px;min-height:44px}.faq-list summary,.measurement-faq .faq-list summary{font-size:16px}.faq-list details>p,.measurement-faq .faq-list details>p{font-size:16px;padding-right:0}.measurement-document h3{font-size:26px}
 .service-hero h1,.design-hero h1,.company-hero h1,.team-hero h1{font-size:clamp(36px,9.8vw,49px);line-height:1.2}.service-hero h1 br{display:block}.service-hero-bottom p,.company-lead,.team-hero>p:last-child{font-size:16px}.service-hero-bottom{display:block}.service-hero-bottom .button{margin-top:24px}.service-cover{height:300px}.design-teaser h2{font-size:34px}.design-teaser .button{font-size:14px;width:auto}.cost-grid{grid-template-columns:1fr;gap:14px}.cost-grid h3{font-size:26px}.design-deliverables li{font-size:16px}
 .company-grid{gap:12px}.company-card figcaption strong{font-size:12px}.company-card figcaption span{font-size:11px}.company-card:last-child:nth-child(odd) figcaption strong{font-size:13px}.company-filters button>span{font-size:11px}.company-directory-top>p{font-size:12px}.gallery-heading>p,.visual-grid figcaption{font-size:12px}
 .team-mini{display:flex;gap:20px}.team-grid{grid-template-columns:1fr;gap:20px}.team-card{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:start;padding:22px;gap:18px}.team-portrait.has-initials{height:90px;border-radius:14px}.has-initials .portrait-initials{width:62px;height:62px;font-size:26px}.team-portrait.has-photo{height:112px;aspect-ratio:auto;border-radius:12px}.team-person{padding:0}.team-person h3{font-size:22px}.team-person .team-role{font-size:13px}.team-person>p:last-child{font-size:14px}.group-photo-placeholder{aspect-ratio:4/3}
 .contact-intro h2{font-size:37px}.contact-intro>p:not(.eyebrow):not(.contact-territory){font-size:16px}.contact-person div>span{font-size:12px}.contact-grid{display:grid;gap:30px}.brief-form{padding:26px 22px;margin:0}.form-pair{grid-template-columns:1fr;gap:0}.brief-form legend,.field{font-size:14px}.sector-options span{font-size:12px}.form-note{font-size:12px}.contact-territory{font-size:13px}.direct-contact a{font-size:21px}.direct-contact>span{font-size:13px}
 .footer-top{grid-template-columns:1fr;gap:23px}.footer-top>p{font-size:14px}.footer-paths{gap:12px 24px}.footer-paths a{font-size:13px}.footer-bottom{font-size:12px;line-height:1.7}.back-top{font-size:13px;justify-self:start}.modal h2{font-size:30px}.modal>p{font-size:15px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
