/* Shared layout rhythm and responsive refinements. */
:root{--header-height:88px;--gutter:clamp(20px,4vw,56px);--section-space:clamp(64px,7vw,104px);--light-line:#bec4bf}
html{scroll-padding-top:calc(var(--header-height) + 24px)}
.wrap{width:calc(100% - var(--gutter)*2);max-width:1248px}
.site-header{height:var(--header-height)}
.header-inner{gap:24px}.desktop-nav{gap:24px;font-size:14px;white-space:nowrap}
.desktop-nav a{position:relative;min-height:44px;display:flex;align-items:center}
.desktop-nav a[aria-current=location]{color:var(--cyan);border-color:var(--cyan)}
.brand-sub{font-size:10px;letter-spacing:1.1px}.brand-title{font-size:22px}
.hero{padding-top:clamp(48px,6vw,80px)}
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,4vw,64px)}
.hero-grid>*,.section-head>*,.detail-grid>*,.contact-layout>*,.study-layout>*,.cards>*,.form-grid>*{min-width:0}
.hero h1{font-size:clamp(52px,5.7vw,80px);letter-spacing:-.045em;line-height:1.07;margin:24px 0 28px}
.hero h1 .last{padding-bottom:8px}.lead{font-size:21px;line-height:1.5}.sublead{font-size:17px;line-height:1.65}
.eyebrow{font-size:12px;letter-spacing:1.35px;line-height:1.6;align-items:center}.eyebrow:before{flex:0 0 20px}
.actions{gap:24px;margin-top:32px}.button{min-height:50px;padding:13px 20px;line-height:1.4;text-align:center}
.text-link{display:inline-block;line-height:1.5}.light .text-link:hover{color:#006477}
.hero-foot{margin-top:56px;grid-template-columns:1fr 1fr 1fr 1.15fr;padding:28px 0;align-items:start;gap:28px}
.hero-foot .label{font-size:12px;letter-spacing:1.15px}.hero-foot strong{font-weight:600;margin-bottom:4px}
.network{width:100%;min-width:0}.network-top{font-size:12px;letter-spacing:.6px;padding:16px 18px}.network-top span:last-child{white-space:nowrap}
.drawing{padding:20px 8px;min-height:0;aspect-ratio:645/310;display:flex;align-items:center;overflow:hidden}
.network-svg{min-width:0;width:100%;height:auto;flex-shrink:0;overflow:visible}
.legend{font-size:12px;gap:16px;padding:0 18px 18px;flex-wrap:wrap}
.network-bottom{padding:14px 18px;min-height:66px;font-size:12px;letter-spacing:.25px;line-height:1.5}
.animation-control{font-size:12px;min-height:36px;padding:4px 0}.network-tabs button{font-size:13px;min-height:48px;padding:12px 4px;line-height:1.4}
.network-logo{inset:20px;gap:20px}.network-logo img{width:110px;height:145px}.network-logo strong{font-size:28px}.network-logo span{font-size:11px;letter-spacing:1px}
.section{padding:var(--section-space) 0}.section h2{font-size:clamp(34px,3.9vw,52px);line-height:1.14;letter-spacing:-.035em;margin:16px 0 0;font-weight:500}
.section-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:64px;align-items:end;margin-bottom:44px}
.section-head p{font-size:18px;line-height:1.6;max-width:370px;margin:0}.section-head>a{justify-self:end}
.services{margin-top:0;border-color:var(--light-line)}
.service-row{grid-template-columns:36px minmax(0,1.1fr) minmax(0,1fr) 28px;gap:24px;padding:28px 0;border-color:var(--light-line);transition:background .2s}
.service-row h3{font-size:25px;line-height:1.25}.service-row:hover{padding:28px 0;background:#ece8df}.service-row .plus{line-height:1}
.method-grid{gap:32px}.method-step{padding-top:20px;border-color:var(--light-line)}.method-step h3{margin:24px 0 12px}.method-step p{line-height:1.65}
.difference-grid{margin-top:44px}.difference,.difference+.difference{padding:0 32px}.difference:first-child{padding-left:0}.difference:last-child{padding-right:0}
.difference h3{font-size:27px;line-height:1.25;max-width:none;margin:24px 0 16px}.difference p{max-width:none;line-height:1.65}
.study-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;margin-top:0}.inputs{gap:12px}.input-tag{font-size:12px;letter-spacing:.25px;padding:18px 6px;line-height:1.5;display:flex;align-items:center;justify-content:center;min-height:58px}
.inputs-label{font-size:12px;letter-spacing:.75px;line-height:1.6;margin-top:20px}.framework{padding:28px}.framework:before{left:-40px;width:40px}.framework h3{font-size:26px;margin-bottom:24px}
.study-stages{gap:8px}.study-stages button{font-size:14px;min-height:48px}.study-output{display:grid;min-height:0;padding:24px 0;margin-bottom:8px;font-size:16px;line-height:1.65}
.study-panel{grid-area:1/1;visibility:hidden;pointer-events:none}.study-panel.is-active{visibility:visible;pointer-events:auto}.study-output strong{font-size:21px;line-height:1.35;margin-bottom:12px}
.signature-quote{font-size:clamp(28px,3.3vw,42px);letter-spacing:-.025em;line-height:1.3;margin-top:56px;padding-left:24px}
.cards{gap:32px}.insight-card{display:flex;flex-direction:column;padding-top:24px;border-color:var(--light-line)}.insight-card .category{font-size:12px;letter-spacing:.9px;min-height:20px}
.insight-graphic{width:100%;height:auto;aspect-ratio:2.6;margin:24px 0 0;flex:none}.insight-card h3{font-size:25px;line-height:1.3;margin:24px 0 16px}.insight-card p{line-height:1.65;margin-bottom:24px}.insight-card .text-link{margin-top:auto;align-self:flex-start}
.home-about{border-top:1px solid var(--light-line)}.home-about .section-head{margin-bottom:0}.about-summary p{margin-bottom:24px}
.cta-section{padding:64px 0}.cta-inner{gap:48px}.cta-inner>div{max-width:770px}.cta-inner>.button{flex-shrink:0}.cta-inner h2{font-size:clamp(34px,3.8vw,50px);line-height:1.15;letter-spacing:-.035em}.cta-inner p{max-width:650px}
.footer-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.7fr);gap:48px}.footer-links a{line-height:1.6;margin:10px 0}.footer-bottom{gap:24px;line-height:1.5}
.page-hero{padding:64px 0 72px}.page-hero h1{font-size:clamp(42px,5vw,68px);letter-spacing:-.035em;line-height:1.12;max-width:1000px}.page-hero p{font-size:20px;line-height:1.6}.breadcrumb{line-height:1.7;margin-bottom:32px}
.detail-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:80px}.detail-grid h2{font-size:36px;margin:16px 0 24px;line-height:1.18}.detail-grid p{line-height:1.7}.checklist li{gap:16px;padding:20px 0}.checklist li:before{flex:0 0 14px;line-height:1.5}
.deliverables{gap:32px;margin-top:44px}.deliverable h3{line-height:1.3}.deliverable p{line-height:1.65;margin:0}
.article-body{max-width:780px}.article-body p{line-height:1.8}.article-body h2{margin:40px 0 20px;font-size:32px;line-height:1.25}.article-body>p:first-child{margin-top:0}.article-note{line-height:1.5}
.contact-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px}.contact-layout h2{margin:16px 0 24px;line-height:1.2}.contact-form{padding:32px;align-self:start}.form-grid{gap:20px}.field select{font-size:15px}.field textarea{min-height:168px;line-height:1.6}.form-status:empty{display:none}
@media(max-width:1100px){.desktop-nav{gap:18px;font-size:13px}.brand-sub{display:none}.hero-grid{gap:32px}.section-head{gap:40px}.study-layout{gap:40px}.framework:before{left:-24px;width:24px}.contact-layout,.detail-grid{gap:48px}.difference,.difference+.difference{padding:0 24px}}
@media(max-width:960px){:root{--header-height:76px}.desktop-nav{display:none}.menu-toggle{display:block;min-height:44px}.brand-sub{display:block}.desktop-nav.is-open{top:var(--header-height);padding:20px var(--gutter);max-height:calc(100dvh - var(--header-height));gap:8px;font-size:16px}.desktop-nav a{padding:12px 0}.desktop-nav .nav-cta{margin-top:8px;padding:12px 16px}.hero-grid{grid-template-columns:1fr;gap:40px}.hero h1{font-size:clamp(54px,8vw,72px)}.network{max-width:680px}.hero-foot{grid-template-columns:1fr 1fr}.method-grid{grid-template-columns:1fr 1fr;gap:36px}.difference-grid{grid-template-columns:1fr}.difference,.difference+.difference{padding:28px 0;border:0;border-top:1px solid var(--line);display:grid;grid-template-columns:32px minmax(0,1fr) minmax(0,1.2fr);gap:24px}.difference:last-child{border-top:1px solid var(--line)}.difference h3{margin:0;font-size:26px}.difference .index{padding-top:4px}.study-layout{grid-template-columns:1fr;gap:32px}.framework:before{display:none}.inputs{max-width:none}.contact-layout,.detail-grid{grid-template-columns:1fr;gap:40px}.cards{gap:24px}.insight-card h3{font-size:22px}.footer-grid{gap:32px}.cta-inner{align-items:start;flex-direction:column;gap:28px}.cta-inner .button{margin:0}.section-head{grid-template-columns:1.3fr 1fr;gap:32px}}
@media(max-width:640px){:root{--header-height:74px;--section-space:64px}.wrap{width:calc(100% - var(--gutter)*2)}.brand{gap:10px}.brand-title{font-size:20px}.brand-sub{font-size:9px;letter-spacing:.8px}.brand img{width:29px;height:38px}.hero{padding-top:40px}.hero h1{font-size:clamp(44px,11.5vw,62px);line-height:1.09}.eyebrow{font-size:11px;letter-spacing:.8px}.lead{font-size:19px}.sublead{font-size:16px}.actions{gap:20px}.actions .button{width:100%}.hero-foot{gap:24px 20px;margin-top:40px;font-size:13px}.hero-foot .label{font-size:11px}.network-top{font-size:11px;padding:14px;gap:12px;letter-spacing:.1px}.network-top span:last-child{display:none}.drawing{aspect-ratio:auto;min-height:255px;overflow:auto;padding:16px 0}.network-svg{min-width:520px}.network.is-control .drawing{overflow:hidden}.network-logo{gap:14px;inset:16px}.network-logo img{width:90px;height:120px}.network-logo strong{font-size:24px}.network-logo span{font-size:10px;line-height:1.5;max-width:145px}.legend{font-size:11px;gap:14px;padding:0 14px 14px}.network-bottom{padding:12px 14px;min-height:72px;font-size:11px;gap:16px}.network-tabs button{font-size:12px}.section-head{display:block;margin-bottom:32px}.section-head p{margin-top:24px;font-size:17px;max-width:none}.section-head>a{margin-top:24px}.section h2{font-size:clamp(30px,8.3vw,40px);line-height:1.16;letter-spacing:-.03em}.service-row,.service-row:hover{grid-template-columns:24px minmax(0,1fr) 20px;gap:12px;padding:24px 0}.service-row h3{font-size:22px}.service-row p{grid-column:2;grid-row:2;font-size:16px}.service-row .plus{grid-column:3;grid-row:1}.method-grid{grid-template-columns:1fr;gap:28px}.method-step{grid-template-columns:28px minmax(0,1fr);column-gap:16px}.method-step h3{margin:0 0 10px}.difference,.difference+.difference{grid-template-columns:24px minmax(0,1fr);gap:16px;padding:28px 0}.difference p{grid-column:2}.difference h3{font-size:25px}.input-tag{font-size:11px;letter-spacing:0;padding:16px 3px;min-height:52px}.inputs{gap:8px}.framework{padding:22px}.framework h3{font-size:24px}.study-stages{gap:4px}.study-stages button{font-size:13px}.study-output{min-height:0}.study-output strong{font-size:20px}.signature-quote{font-size:28px;line-height:1.3;padding-left:20px;margin-top:40px}.cards{grid-template-columns:1fr;gap:40px}.insight-card h3{font-size:25px}.insight-graphic{aspect-ratio:2.7}.home-about .section-head{margin:0}.about-summary p{margin-bottom:24px}.cta-inner h2{font-size:34px}.cta-inner .button{width:100%}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:12px}.page-hero{padding:40px 0 48px}.page-hero h1{font-size:clamp(35px,9.5vw,46px);line-height:1.14}.page-hero p{font-size:18px}.detail-grid h2,.contact-layout h2{font-size:32px}.deliverables{grid-template-columns:1fr;gap:28px}.contact-form{padding:20px}.form-grid{grid-template-columns:1fr;gap:0}.form-tools .button{width:100%}.article-body p{font-size:18px}.article-body h2{font-size:29px}.article-note{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
#how-we-work{border-top:1px solid var(--light-line)}
@media(max-width:640px){.network-top:after{content:'SWIPE →';white-space:nowrap;font-size:10px;color:var(--muted);letter-spacing:.5px}}
/* Direct navigation with native, keyboard-accessible disclosure menus. */
.desktop-nav{gap:18px}.nav-group{position:relative;display:flex;align-items:center;gap:2px;min-width:0}
.nav-dropdown summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:26px;min-height:44px;color:var(--muted)}
.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary:hover{color:var(--cyan)}
.nav-dropdown summary:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}
.chevron{display:block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px}
.nav-dropdown[open] .chevron{transform:rotate(225deg);margin-top:4px}
.dropdown-panel{position:absolute;top:calc(100% + 10px);left:0;width:340px;max-width:calc(100vw - 40px);padding:12px;background:var(--navy2);border:1px solid #486072;box-shadow:0 16px 32px rgba(0,0,0,.25);white-space:normal;z-index:30}
.dropdown-heading{display:block;padding:8px 12px 12px;color:var(--cyan);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase}
.desktop-nav .dropdown-panel a{display:flex;padding:12px;min-height:44px;font-size:14px;line-height:1.45;border:0;border-top:1px solid var(--line);color:var(--ivory)}
.desktop-nav .dropdown-panel a:hover,.desktop-nav .dropdown-panel a:focus-visible{background:#18364d;color:var(--cyan)}
.nav-group:nth-last-of-type(-n+2) .dropdown-panel{left:auto;right:0}
[id^=step-],.difference[id],.about-principle[id]{scroll-margin-top:0}
@media(min-width:961px) and (max-width:1200px){.desktop-nav{gap:12px;font-size:13px}.brand-sub{display:none}.nav-dropdown summary{width:22px}.desktop-nav .nav-cta{padding:11px 12px}.header-inner{gap:18px}.brand-title{font-size:20px}}
@media(max-width:960px){.desktop-nav.is-open{gap:4px}.nav-group,.nav-dropdown{display:block}.dropdown-panel,.nav-group:nth-last-of-type(-n+2) .dropdown-panel{position:static;width:100%;max-width:none;box-shadow:none;margin:0 0 12px;padding:4px 12px;background:var(--navy2);border:0;border-left:2px solid var(--cyan)}.nav-dropdown:not([open]) .dropdown-panel{display:none}.dropdown-heading{display:none}.desktop-nav .dropdown-panel a{padding:12px 8px;font-size:15px}.desktop-nav>a{min-height:48px}.desktop-nav .nav-cta{margin-top:12px}}
