/* 24 September: shared native-scroll story system. Content is visible without JS. */
:root{--review-gray:#dce2de;--hero-surface:#14231e;--closing-green:#aad1ba;--header-height:80px;--review-title:clamp(52px,4.2vw,84px);--review-section:clamp(40px,4.4vw,66px)}
html{background:var(--review-gray);scroll-padding-top:calc(var(--header-height) + 20px)}
body{background:var(--review-gray);min-width:320px}
.cinematic-frame,[data-cinematic-master]{background:var(--hero-surface)}
.site-header,.site-header[data-surface],.inner-header{height:var(--header-height);min-height:var(--header-height);background:#061711;color:#edf3ec;border-bottom:1px solid #edf3ec24;z-index:50;transition:background-color .2s}
.site-header[data-scrolled=true],.inner-header[data-scrolled=true]{background:#000}
.site-header .brand img,.site-header[data-surface] .brand img{filter:none}
.site-header .brand-symbol,.inner-header .brand-symbol{width:34px;height:34px}
.site-header .brand-wordmark,.inner-header .brand-wordmark{width:190px;height:auto}
.site-header .brand,.inner-header .brand{gap:11px}
.inner-header .header-row{height:var(--header-height);min-height:var(--header-height)}
.site-navigation,.main-nav{font-size:17px;gap:26px}
.site-header[data-surface] .site-navigation a:last-child{color:#c4e1d1}
.site-header .site-menu nav,.site-header[data-surface] .site-menu nav,.inner-header .site-menu nav{background:#000;color:#edf3ec;border-color:#edf3ec24}
.site-header[data-surface] .site-menu nav a{border-color:#edf3ec24}
.site-header[data-surface]:has(.site-menu[open]){background:#000;color:#edf3ec}
.skip-link{z-index:100}
.hero-intro h1,.phase-panel h2,.final-lockup--statement h2,.inner-masthead h1{font-size:var(--review-title);line-height:1.08;letter-spacing:-.045em}
.hero-intro h1 .profit-f{margin-right:.075em}
.hero-intro h1 .hero-profit{letter-spacing:.01em;font-kerning:normal;font-variant-ligatures:none}
.final-lockup--statement{width:37%;max-width:660px}
.final-lockup--statement h2 .closing-line{display:block;white-space:nowrap}
.final-lockup--statement .final-support{position:relative;left:auto;top:auto;margin-top:24px}
.final-lockup--statement .primary-action{margin-top:0}
.inner-masthead .intro-copy{font-size:20px;line-height:1.55}
.services-page .phase-detail h3{font-weight:700}
.phase-panel h2{max-width:11em}
[data-story-screen],.reader-heading{min-height:calc(100svh - var(--header-height));display:flex;flex-direction:column;justify-content:center;position:relative;scroll-margin-top:var(--header-height)}
.story-track{position:relative;isolation:isolate}
.story-track>[data-story-screen].story-pinned{position:sticky;top:var(--header-height);z-index:2}
.story-animated [data-reveal]{opacity:var(--reveal-opacity,1);transform:translate3d(0,var(--reveal-y,0px),0)}
.story-animated [data-reveal]:focus-within{opacity:1!important;transform:none!important}
.proof-section,.contact-section,.site-ending,.inner-footer,.page-colophon{background:var(--review-gray);color:var(--ink,#122d21)}
/* An intentional white editorial surface is not an accidental transition gap.
   Keep archive/readers independent from the muted green-gray closing bands. */
html:has(body[data-section="insights"]),body[data-section="insights"],body[data-section="insights"] main,body[data-section="insights"] .archive,body[data-section="insights"] .reader-body{background:#fff;color:var(--ink,#122d21)}
.proof-figures{grid-template-columns:repeat(4,minmax(0,1fr));gap:36px}
.proof-figures dd,.proof-figures [data-proof=sourced] dd{font-family:"Times New Roman",Times,serif;font-variant-numeric:lining-nums tabular-nums;font-size:clamp(64px,7.4vw,112px);line-height:1.1}
.proof-figures [data-proof=capacity] dd{white-space:nowrap}
.proof-figures [data-proof=capacity] dd span{font-size:1em;letter-spacing:inherit}
.proof-figures dt{font-size:21px}
.role-statement{display:block;align-self:stretch;text-align:center;padding-top:44px}
.role-statement h2{white-space:normal;font-size:clamp(32px,2.9vw,42px);line-height:1.2;letter-spacing:-.025em;max-width:none;margin:0;text-wrap:balance}
.role-statement p{font-size:22px;line-height:1.5;max-width:70ch;margin:24px auto 0;text-wrap:pretty}
.outcome-screen{background:#013823;color:#edf3ec;display:grid;grid-template-columns:minmax(180px,.4fr) minmax(0,1fr);align-content:center;align-items:start;gap:8%;padding:72px var(--page-gutter,5.2vw);border-top:1px solid #b9dfcb40}
.outcome-copy .phase-kicker{font-size:clamp(22px,2.1vw,32px);line-height:1.25;letter-spacing:.045em;color:#bccdc4}
.outcome-icon{color:#91c9ad;display:flex;flex-direction:column;align-items:center;gap:20px}
.outcome-icon svg{width:clamp(200px,20vw,280px);max-width:100%;height:auto}
.outcome-icon .icon-grid{stroke:#b9dfcb;opacity:.2}
.outcome-icon .icon-facet{fill:#a7dbbd;fill-opacity:.24;stroke:#b9dfcb}
.outcome-icon .icon-side{fill:#a7dbbd;fill-opacity:.07}
.outcome-icon .icon-bright{stroke:#d4f5df}
.outcome-icon .icon-seal{fill:#075236;stroke:#c1e8cd;stroke-width:2}
.outcome-icon span{font-size:clamp(56px,6vw,96px);line-height:1;letter-spacing:-.05em}
.outcome-copy h2{font-size:var(--review-section);line-height:1.08;letter-spacing:-.035em;margin:24px 0}
.outcome-copy>p:not(.phase-kicker){font-size:clamp(20px,1.7vw,26px);line-height:1.5;color:#d1dfd6;max-width:40ch}
.outcome-next{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;max-width:580px;min-height:58px;margin-top:40px;padding-top:18px;border-top:1px solid #b9dfcb70;font-size:18px;text-decoration:none;color:#c7e4d4}
.outcome-next>span:last-child{font-size:28px;transition:transform .2s}
.outcome-next:hover>span:last-child{transform:translateY(4px)}
.contact-section{display:flex;flex-direction:column;min-height:50svh;padding-block:0;justify-content:flex-start;scroll-margin-top:var(--header-height)}
.contact-content{flex:1;display:flex;flex-direction:column;justify-content:center;padding-block:40px}
.contact-section h2,.site-ending h2{font-size:var(--review-section);max-width:1000px;line-height:1.12;letter-spacing:-.035em;margin:0 auto}
.contact-section,.site-ending,.inner-footer,.page-colophon{background:var(--hero-surface);color:#edf3ec}
.contact-section h2 em,.site-ending h2 em{color:var(--closing-green)}
.contact-section .contact-link,.site-ending .primary-action{background:var(--closing-green);border-color:var(--closing-green);color:#14231e}
.contact-section .contact-link:hover,.site-ending .primary-action:hover{background:#c7e2d1;border-color:#c7e2d1;color:#14231e}
.page-colophon{margin-top:0;border-top:1px solid #d4e0d633;flex-shrink:0}
.page-colophon p{color:inherit}
.inner-footer{border-top:1px solid #d4e0d633}
.site-ending{display:flex;align-items:center;justify-content:center;min-height:calc(50svh - 106px);padding-block:40px;border-top:0}
.reader-heading{background:#013823;color:#edf3ec;min-height:50svh;padding-block:clamp(24px,4svh,40px);justify-content:center}
.reader-body{font-size:20px}
.archive .article-row{background:transparent}
.static-approach{display:none;background:#013823;color:#edf3ec;padding:64px var(--page-gutter,5.2vw)}
.journey[data-media-state=static]+.static-approach{display:block}
.static-approach h2{font-size:var(--review-section);margin:0 0 48px}
.static-approach article{max-width:800px;padding:28px 0;border-top:1px solid #c5ceca50}
.static-approach h3{font-size:30px;margin:0 0 16px}
.static-approach p{font-size:21px;line-height:1.5}
.static-approach a{display:inline-flex;margin-top:36px}
.journey[data-media-state=static] .intro-action{display:none}
.journey[data-media-state=static] .typography-stage{opacity:1}
.review-notice{position:fixed;top:calc(var(--header-height) + 8px);right:12px;z-index:60;background:#061711;color:#edf3ec;padding:5px 10px;font:13px/1.4 Georgia,serif;border:1px solid #a7b9af;border-radius:4px;max-width:220px}
.review-notice summary{cursor:pointer;min-height:24px;display:flex;align-items:center;gap:10px}
.review-notice p{margin:12px 0}
.review-notice button{cursor:pointer;background:transparent;color:inherit;border:1px solid currentColor;padding:8px;font:inherit}
@media(max-width:1050px){.site-navigation,.main-nav{gap:18px;font-size:16px}.site-header .brand-wordmark,.inner-header .brand-wordmark{width:165px}}
@media(max-width:900px){
 .proof-figures{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
 .site-navigation,.inner-header .main-nav{display:none}
 .mobile-header-tools,.inner-mobile-tools{display:flex;gap:18px;margin-left:auto;align-items:center;font-size:16px}
 .inner-contact,.mobile-contact{display:flex;min-height:44px;align-items:center;text-decoration:none}
 .site-menu summary,.inner-header .site-menu summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;list-style:none}
 .site-menu summary::-webkit-details-marker{display:none}
 .site-menu[open] summary span{transform:rotate(45deg)}
 .site-menu nav,.inner-header .site-menu nav{position:absolute;inset:100% 0 auto;display:flex;flex-direction:column;padding:8px var(--gutter,var(--page-gutter)) 20px;max-height:calc(100svh - var(--header-height));overflow-y:auto}
 .site-menu nav a,.inner-header .site-menu nav a{display:flex;align-items:center;min-height:56px;font-size:21px;text-decoration:none;border-top:1px solid #edf3ec24}
}
@media(max-width:680px){
 :root{--header-height:72px;--review-title:clamp(36px,10.8vw,62px);--review-section:clamp(34px,9.5vw,46px)}
 .journey{--review-title:min(62px,calc((100vw - 50px)/9.1))}
 .final-lockup--statement{width:auto;max-width:none}
 .final-lockup--statement .final-support{margin-top:16px}
 .site-header .brand-symbol,.inner-header .brand-symbol{width:28px;height:28px}
 .site-header .brand-wordmark,.inner-header .brand-wordmark{width:127px}
 .site-header .brand,.inner-header .brand{gap:8px}
 .inner-masthead .intro-copy{font-size:19px}
 .proof-figures{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}
 .proof-figures dd,.proof-figures [data-proof=sourced] dd{font-size:clamp(40px,11.2vw,68px)}
 .proof-figures dt{font-size:16px;line-height:1.35}
 .role-statement{margin-top:32px;padding-top:28px}
 .role-statement p{font-size:19px}
 .outcome-screen{grid-template-columns:1fr;gap:28px;padding:44px var(--page-gutter,24px)}
 .outcome-icon{flex-direction:row;justify-content:space-between;gap:20px}
 .outcome-icon svg{width:142px}
 .outcome-icon span{font-size:58px}
 .outcome-copy h2{margin:18px 0}
 .outcome-copy>p:not(.phase-kicker){font-size:20px}
 .outcome-next{margin-top:25px}
 .contact-content,.site-ending{padding-block:32px}
 .contact-section h2 span,.contact-section h2 em{white-space:normal}
 .contact-section .contact-link{font-size:18px;max-width:100%;gap:16px}
 .page-colophon{margin-top:0}
 .reader-body{font-size:19px}
 .review-notice{right:8px;max-width:190px;font-size:12px}
}
@media(max-width:360px){.inner-contact,.mobile-contact{display:none}}
@media(min-width:681px) and (max-aspect-ratio:1/1){
 .journey [data-cinematic-master],.journey .film-poster img{height:calc(100% - 50% * var(--campus-pullback,0));top:calc(45% * var(--campus-pullback,0));object-position:right center;mask-image:linear-gradient(transparent,#000 12%,#000 94%,transparent)}
 .final-lockup--statement{top:calc(var(--header-height) + 56px);width:84%;max-width:none}
}
@media(max-height:520px){.hero-intro h1,.phase-panel h2,.final-lockup--statement h2{font-size:clamp(30px,7vh,38px)}.final-lockup--statement{width:43%}.final-lockup--statement .final-support{margin-top:8px}}
@media(min-width:681px) and (max-height:520px){.journey [data-cinematic-master],.journey .film-poster img{height:calc(100% - 15% * var(--campus-pullback,0));width:calc((100svh - 15svh * var(--campus-pullback,0)) * 16 / 9);max-width:100%;left:50%;transform:translateX(-50%);object-fit:contain;object-position:center;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent),linear-gradient(transparent,#000 10%,#000 92%,transparent);mask-composite:intersect}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.story-animated [data-reveal]{opacity:1!important;transform:none!important}.story-track{height:auto!important}.story-track>.story-pinned{position:relative!important;top:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

/* One shared subheader connects outcomes 01–03 and leaves with this group. */
.advantage-group{--advantage-heading-height:76px;position:relative;isolation:isolate;background:#013823;color:#edf3ec}
.advantage-heading{position:sticky;top:var(--header-height);z-index:4;display:grid;grid-template-columns:minmax(180px,.4fr) minmax(0,1fr);gap:8%;padding:18px var(--page-gutter,5.2vw);background:#013823;border-block:1px solid #b9dfcb40}
.advantage-heading .phase-kicker{grid-column:2;margin:0;font-size:clamp(22px,2.1vw,32px);line-height:1.25;letter-spacing:.045em;text-transform:uppercase;color:#bccdc4}
.advantage-group .outcome-screen{min-height:calc(100svh - var(--header-height) - var(--advantage-heading-height));scroll-margin-top:calc(var(--header-height) + var(--advantage-heading-height));border-top:0}
.advantage-group .story-track>.outcome-screen.story-pinned{top:calc(var(--header-height) + var(--advantage-heading-height))}
.advantage-group .outcome-copy h2{margin-top:0}
@media(max-width:680px){.advantage-heading{display:block;padding:16px var(--page-gutter,24px)}.advantage-heading .phase-kicker{font-size:22px;letter-spacing:.025em}.advantage-group .outcome-screen{padding-block:36px}}

/* Opening support copy shares the following approach panels' type scale. */
.intro-description,.phase-description{font-size:clamp(24px,1.8vw,32px);line-height:1.4}
@media(min-width:681px) and (max-width:1100px),(min-width:681px) and (max-height:760px){.intro-description,.phase-description{font-size:23px}}
@media(max-width:680px){.intro-description,.phase-description{font-size:20px}}
@media(max-width:680px) and (max-height:740px){.intro-description,.phase-description{font-size:19px}}
@media(max-height:520px){.intro-description,.phase-description{font-size:14px;line-height:1.3}}
