@font-face{font-family:Inter;src:url("inter-latin.woff2") format("woff2");font-weight:400 800;font-display:swap}
:root{--ink:#0a1325;--night:#0e192e;--text:#13223a;--paper:#edf1f4;--white:#f3f7ff;--blue:#81cfff;--deep:#17427d;--line:#aab9c9;--gutter:clamp(1.25rem,5.3vw,6rem);--header:72px;color:var(--text);background:var(--ink);font:400 1rem/1.6 Inter,system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
body{margin:0}
body:has(dialog[open]){overflow:hidden}
[hidden]{display:none!important}
img,video{display:block;width:100%;height:auto}
p,h1,h2,h3,figure{margin:0}
a{color:inherit;text-decoration:none}
button,summary{font:inherit;cursor:pointer}
button{color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #2674df;outline-offset:5px}
.dark :focus-visible,.site-header :focus-visible,dialog :focus-visible,.flex-section :focus-visible{outline-color:#b3e1ff}
.skip{position:fixed;z-index:9;inset:10px auto auto 10px;background:white;color:var(--ink);padding:.75rem 1rem;translate:0 -170%}
.skip:focus{translate:0}
.shell{width:min(calc(100% - 2 * var(--gutter)),84rem);margin-inline:auto}
section[id]{scroll-margin-top:var(--header)}
.dark{background:var(--ink);color:var(--white)}
.paper{background:var(--paper);color:var(--text)}
.eyebrow{font-size:.71rem;line-height:1.4;font-weight:760;letter-spacing:.18em;text-transform:uppercase}
.dark .eyebrow,.flex-section .eyebrow{color:var(--blue)}
.paper .eyebrow,.training .eyebrow{color:#285481}
.paper .dark .eyebrow{color:var(--blue)}
h1,h2,h3{letter-spacing:-.062em;font-weight:680;line-height:.96}
h2{font-size:clamp(3rem,7.1vw,7.5rem)}
h3{font-size:clamp(1.7rem,3.6vw,3.5rem);line-height:1.03}
em{font-style:normal;color:var(--blue)}
.site-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:var(--header);padding:.5rem var(--gutter);background:#0a1325;color:var(--white);border-bottom:1px solid #34425b}
.brand{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;font-size:1rem;font-weight:750;text-decoration:none;white-space:nowrap}
.brand img{width:40px;height:40px}
.header-nav{display:flex;gap:clamp(.7rem,2.6vw,2.6rem);align-items:center}
.header-nav a,.header-contact,.menu-toggle,.menu-close{display:inline-flex;align-items:center;gap:.65rem;min-height:44px;text-decoration:none;font-size:.82rem;font-weight:650}
.header-nav a:hover,.header-nav a[aria-current],.brand:hover{color:var(--blue)}
.header-contact{color:var(--blue)}
.menu-toggle,.menu-close{border:1px solid #8093ad;background:#101c31;border-radius:0;padding:.45rem .85rem}
.menu-toggle,.menu-close{gap:.8rem}
dialog{width:min(100%,38rem);height:100%;height:100dvh;max-width:none;max-height:none;margin:0 0 0 auto;border:0;padding:clamp(1.25rem,5vw,3rem);background:#102243;color:var(--white);overflow:auto}
dialog::backdrop{background:#040912b8}
dialog[open]{animation:menu-in .28s ease both}
.menu-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;color:#c3e7ff}
dialog nav{display:grid;margin-top:clamp(1rem,6vh,4rem)}
dialog nav a{padding:.85rem 0;border-bottom:1px solid #5c7497;font-size:clamp(1.75rem,5vw,3rem);font-weight:640;letter-spacing:-.055em;text-decoration:none}
dialog nav a:hover{color:var(--blue)}
@keyframes menu-in{from{opacity:0;translate:1rem 0}to{opacity:1;translate:0}}
.hero{position:relative;isolation:isolate;display:grid;align-items:end;min-height:min(840px,calc(100svh - var(--header)));overflow:hidden}
.hero-media,.hero-media picture,.hero-media img,.hero::after{position:absolute;inset:0;width:100%;height:100%}
.hero-media{z-index:-2;background:#12243e}
.hero-media img{object-fit:cover;object-position:center 51%}
@media(prefers-reduced-motion:no-preference){
  .hero-media img{animation:hero-drift 4s ease-in-out 1}
}
@keyframes hero-drift{50%{transform:scale(1.045)}}
.hero::after{z-index:-1;content:"";background:linear-gradient(90deg,#07101fed 0%,#07101fbd 37%,#07101f28 77%),linear-gradient(0deg,#07101fbd,transparent 70%)}
.hero-content{padding-block:clamp(5rem,14vh,10rem) clamp(4rem,9vh,7rem)}
.hero h1{font-size:clamp(4rem,10.1vw,11rem);margin-top:.2em;letter-spacing:-.074em}
.hero-lead{max-width:33rem;margin-top:1.6rem;color:#e5eefb;font-size:clamp(1.05rem,1.75vw,1.42rem)}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem 1.5rem;margin-top:1.65rem}
.pill,.quiet-link{display:inline-flex;align-items:center;gap:1rem;min-height:44px;font-size:.89rem;font-weight:700}
.pill{padding:.75rem 1.05rem;text-decoration:none}
.primary{background:#a6dbff;color:#091a33}
.primary:hover{background:white}
.quiet-link:hover,.header-contact:hover,.footer a:hover{color:var(--blue)}
.hero-enter{animation:enter .75s cubic-bezier(.22,.63,.35,1) both}
.hero-enter:nth-child(2){animation-delay:.09s}.hero-enter:nth-child(3){animation-delay:.17s}.hero-enter:nth-child(4){animation-delay:.25s}
@keyframes enter{from{opacity:0;translate:0 21px}to{opacity:1;translate:0}}
.opening,.flex-section,.work,.team,.training{padding-block:clamp(4.25rem,10vw,10rem)}
.opening-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:1.45rem clamp(1.8rem,7vw,8rem);align-items:end}
.opening-layout>.eyebrow{grid-column:1/-1}
.opening-copy{font-size:clamp(1.04rem,1.65vw,1.37rem);max-width:34ch}
.opening-copy p+p{margin-top:1rem}
.services{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(5rem,12vw,12rem)}
.service-image,.services::before{position:absolute;inset:0}
.service-image{z-index:-2}
.service-image img{width:100%;height:115%;object-fit:cover;object-position:center 62%;translate:0 -8%}
.services::before{content:"";z-index:-1;background:linear-gradient(90deg,#07101fd1,#0a152bea 62%,#0a152bf7)}
.service-layout,.flex-layout,.training-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(2rem,7vw,8rem)}
.service-layout h2,.flex-intro h2,.training h2,.work h2,.team h2,.contact h2{margin-top:.21em}
.disclosures{align-self:center}
details{border-top:1px solid #70829b}
details:last-of-type{border-bottom:1px solid #70829b}
summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:58px;padding:.95rem 0;list-style:none;font-size:clamp(1.05rem,1.8vw,1.4rem);line-height:1.2;font-weight:670;letter-spacing:-.035em}
summary::-webkit-details-marker{display:none}
summary::after{content:"";flex:none;width:.65rem;height:.65rem;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg) translateY(-.16rem)}
details[open] summary::after{transform:rotate(225deg)}
details p{padding:0 1.6rem 1.15rem 0;max-width:53ch}
.dark details p{color:#dce8fa}
.flex-section{background:#17345b;color:var(--white);position:relative;overflow:clip}
.flex-intro{align-self:start;position:sticky;top:calc(var(--header) + 3rem)}
.flex-intro>p:last-child{margin-top:1.25rem;max-width:35ch;color:#dce8fa}
.flex-steps summary{justify-content:flex-start}
.flex-steps summary::after{margin-left:auto}
.flex-steps summary span{font-size:clamp(2rem,5vw,4.5rem);line-height:.9;color:#b7cfe8;width:1.2em}
.flex-steps details[open] summary span{color:var(--blue)}
.flex-steps details[open]{background:linear-gradient(90deg,#234772,transparent 94%)}
.flex-steps summary{padding-inline:.55rem}
.flex-steps details p{margin-left:clamp(3.3rem,7vw,6.4rem)}
.work{background:#0b1426}
.work-heading{margin-bottom:clamp(2.5rem,6vw,6rem)}
.case{display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:clamp(1.5rem,6vw,7rem)}
.case+.case{margin-top:clamp(3.8rem,9vw,9rem)}
.case.reverse{grid-template-columns:.82fr 1.18fr}
.case.reverse .case-image{grid-column:2;grid-row:1}
.case.reverse .case-copy{grid-column:1;grid-row:1}
.case-image{position:relative}
.case-image img{aspect-ratio:1.47;object-fit:cover}
.case-image::before{position:absolute;content:"";width:clamp(2.3rem,8vw,7rem);height:4px;top:0;left:0;background:var(--blue)}
.case.reverse .case-image::before{right:0;left:auto}
.case-copy h3,.founder h3{margin-top:.35rem}
.case-copy>p:not(.eyebrow),.founder>p:not(.eyebrow){margin-top:1rem}
.outcome{border-left:2px solid var(--blue);padding-left:1rem;color:#dce8fa}
.outcome strong{display:block;color:var(--white);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
.case-copy .quiet-link,.founder .quiet-link{margin-top:.65rem}
.team-layout{display:grid;grid-template-columns:.8fr 1.2fr 1.2fr;grid-template-areas:"intro intro intro" "portrait founder founder" "portrait consultants consultants";gap:1.6rem clamp(1.8rem,5vw,5rem);align-items:start}
.team-intro{grid-area:intro;margin-bottom:1.5rem}
.portrait{grid-area:portrait;background:#cbd7e3}
.portrait img{aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;filter:saturate(.8)}
.founder{grid-area:founder;max-width:47rem}
.consultants{grid-area:consultants;border-top:1px solid #8294a9;padding-top:1.1rem;max-width:47rem}
.consultants h3{font-size:1.3rem;letter-spacing:-.035em}
.consultants p{margin-top:.7rem}
.consultants a,.founder a{color:#17467c}
.training{background:#d8e6f4}
.training .quiet-link{margin-top:.75rem;color:#17467c}
.contact{background:radial-gradient(ellipse at 92% 80%,#204d83 0%,#0a1325 68%);padding-block:clamp(3.5rem,7vw,7rem)}
.contact :is(h1,h2){font-size:clamp(2.45rem,6vw,5.75rem);line-height:1.03;max-width:16ch}
.contact-layout>p{margin-block:1.2rem 1.6rem;max-width:52ch;color:#dce8fa;font-size:1.06rem}
.contact-actions,.about-links{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem 1.4rem}
.contact .contact-address{margin-bottom:0}
.contact-address a{text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}
.contact-page{padding-block-start:0}
.contact-page .contact-layout{padding-block-start:clamp(2rem,6vw,5rem)}
.footer{border-top:1px solid #475a75}
.footer .shell{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem 1.5rem;padding-block:1.2rem;font-size:.82rem;color:#dce8fa}
.footer .footer-main{padding-block:2rem;align-items:start;gap:1.25rem 3rem}
.footer-main nav,.footer .footer-meta{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:.3rem 1.25rem}
.footer nav a,.footer-meta a,.footer-email{display:inline-flex;align-items:center;min-height:44px}
.footer-meta{border-top:1px solid #475a75}
.error-page{padding-block:clamp(4rem,12vw,10rem)}
.error-page h1{font-size:clamp(3rem,9vw,8rem);margin-block:.2em}
.hero h1{font-size:clamp(3.25rem,7.7vw,8.1rem);max-width:15ch}
.hero h1 em{display:inline}
.panel-lead{max-width:32ch;margin-top:1.25rem;color:#dce8fa}
.page-hero{position:relative;isolation:isolate;overflow:hidden}
.page-hero-content{padding-block:clamp(2rem,7vw,5.8rem) clamp(3rem,8vw,7rem)}
.page-hero-compact .page-hero-content{padding-block:clamp(1.5rem,4vw,3.5rem) clamp(2.5rem,6vw,5rem)}
.page-hero>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.page-hero:has(>img)::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0a1325fa,#0a1325a8),linear-gradient(180deg,#0a1325df,transparent 60%);z-index:-1}
.page-hero h1{font-size:clamp(2.65rem,6vw,6rem);max-width:20ch;margin-block:.15em .32em;line-height:1.02}
.page-hero .eyebrow{width:fit-content;padding:.28em .48em;background:var(--ink);color:#bce6ff}
.page-hero .shell>p:last-child{font-size:clamp(1.05rem,2vw,1.35rem);max-width:53ch;color:#dce8fa}
.page-hero:has(+.featured) .page-hero-content{padding-block:clamp(2rem,5vw,4rem)}
.interior{flex-wrap:wrap}
.interior nav{flex-wrap:wrap}
.reading{max-width:51rem;padding-block:clamp(2.5rem,7vw,6rem);overflow-wrap:anywhere}
.reading h2{font-size:clamp(1.7rem,4vw,2.85rem);letter-spacing:-.04em;margin-block:1.2em .42em}
.reading h3,.reading h4,.reading h5,.reading h6{font-size:clamp(1.2rem,3vw,1.8rem);letter-spacing:-.03em;margin-block:1.2em .35em}
.reading p,.reading ul,.reading ol,.reading figure,.reading blockquote{margin-block:.85em}
.reading a,.editorial-list a,.topic-links a{color:#17467c}
.reading a:not(.pill),.topic-links a,.disclosures p a{font-weight:700}
.disclosures p a{color:#17467c}
.dark .disclosures p a{color:var(--blue)}
.reading a:hover:not(.pill),.editorial-list a:hover,.topic-links a:hover,.training .quiet-link:hover{color:#0c3282;background:#cddff1}
.reading .primary{margin-top:1rem;color:var(--ink);border:1px solid #6382a6}
.reading img,.reading video{width:auto;max-width:100%;height:auto}
.reading table{display:block;overflow-x:auto;border-collapse:collapse;max-width:100%}
.reading th,.reading td{border:1px solid #8da1b8;padding:.45rem}
.reading pre{overflow:auto;background:#dbe5ef;padding:1rem}
.reading blockquote{border-left:3px solid #54789f;padding-left:1rem}
.byline,.article-image figcaption{font-size:.86rem}
.editorial-list{list-style:none;margin-block:0;padding:0 0 clamp(3rem,8vw,8rem)}
.editorial-list li{border-bottom:1px solid #8da1b8;padding-block:clamp(.85rem,2.5vw,1.65rem)}
.editorial-list li>a{font-weight:680;font-size:clamp(1.15rem,2.6vw,2rem);line-height:1.2;display:inline-flex;align-items:center;min-height:44px}
.editorial-list p{max-width:80ch}
.topic-links,.insights-tools{display:flex;flex-wrap:wrap;gap:.45rem 1rem;margin-block:1.6rem}
.topic-links a{display:inline-flex;align-items:center;min-height:44px}
.collections a{padding:.4rem .85rem;background:#d8e6f4}
.insights-tools label{display:grid;gap:.3rem;font-weight:650;max-width:100%}
.insights-tools input,.insights-tools select{min-height:44px;max-width:100%;font:inherit;padding:.45rem;background:white;border:1px solid #54789f;color:var(--text)}
.insights-tools [role=status]{align-self:end;line-height:44px}
.featured{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(20rem,50vw,36rem);display:grid;align-items:end;padding-block:3rem}
.featured>.article-image,.featured>.article-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.featured>.article-image{z-index:-2;margin:0}
.featured::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0a1325fa 10%,#0a13256b);z-index:-1}
.featured h2{font-size:clamp(2.2rem,6vw,5rem);max-width:19ch;margin-block:.25em}
.featured h2 a:hover{color:var(--blue)}
.featured figcaption{display:none}
.featured .eyebrow{width:fit-content;padding:.28em .48em;background:var(--ink)}
.archive-note{padding:1rem;background:#d8e6f4}
.motion-ready [data-reveal]{opacity:0;translate:0 24px;transition:opacity .62s ease,translate .62s cubic-bezier(.22,.63,.35,1)}
.motion-ready [data-reveal].seen,.motion-ready [data-reveal]:focus-within{opacity:1;translate:0}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference) and (min-width:760px){
    .service-image img{animation:drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  }
}
@keyframes drift{from{translate:0 -12%}to{translate:0 0}}
@media(min-width:1021px){.menu-toggle{display:none}}
@media(max-width:1020px){
  .site-header:has(.menu-toggle:not([hidden])) .header-nav{display:none}
  .site-header:not(:has(.menu-toggle:not([hidden]))){flex-wrap:wrap}
  .header-contact{margin-left:auto}
}
@media(max-width:760px){
  :root{--header:64px}
  .site-header{gap:.85rem}
  .opening-layout,.service-layout,.flex-layout,.training-layout,.case,.case.reverse{grid-template-columns:1fr}
  .case.reverse .case-image,.case.reverse .case-copy{grid-column:auto;grid-row:auto}
  .case-image img{aspect-ratio:1.55}
  .opening-copy{max-width:45ch}
  .flex-intro{position:static}
  .team-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"intro intro" "portrait founder" "consultants consultants"}
  .portrait{max-width:25rem}
}
@media(max-width:540px){
  .hero{min-height:max(580px,calc(92svh - var(--header)))}
  .hero h1{font-size:clamp(2.55rem,10.8vw,4rem);letter-spacing:-.06em}
  .interior nav{gap:0 .75rem}
  .hero-content{padding-block:7rem 2.65rem}
  .hero-media img{object-position:55% center}
  .hero::after{background:linear-gradient(0deg,#07101ff2 4%,#07101fba 56%,#07101f3b 100%)}
  .header-contact{font-size:.76rem}
  .header-contact span,.desktop-break{display:none}
  .brand{font-size:.92rem}
  .brand img{width:34px;height:34px}
  .site-header{gap:.55rem}
  .team-layout{grid-template-columns:1fr;grid-template-areas:"intro" "portrait" "founder" "consultants"}
  .portrait img{aspect-ratio:5/4}
  .hero-actions{gap:.3rem 1rem}
}
@media(max-width:350px){.header-contact{display:none}.site-header{justify-content:space-between}}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .motion-ready [data-reveal]{opacity:1;translate:none}
}


/* FLEX redesign: connected narrative, soft edges and bilingual navigation. */
:root{--control-radius:12px;--photo-radius:18px;--panel-radius:22px}
:focus-visible{outline:3px solid #2674df;outline-offset:5px}
.dark :focus-visible{outline-color:#b3e1ff}
.pill,.menu-toggle,.menu-close,.language-nav,.language-nav a,.nav-flex summary,.collections a,.insights-tools input,.insights-tools select{border-radius:var(--control-radius)}
.pill{gap:.7rem}
.secondary{border:1px solid #819ab9;background:#132641;color:#f3f7ff}
.secondary:hover{background:#204573;color:#fff}
.paper .secondary{color:#102243;background:#d8e6f4}
.case-image img,.floating-photo,.portrait,.article-image img{border-radius:var(--photo-radius)}
.case-image{isolation:isolate}
.case-image::before{display:none}
.floating-photo{overflow:hidden;background:#d9e3ed}
.floating-photo img{aspect-ratio:1.25;object-fit:cover;object-position:75% center}
.site-header{gap:1rem}
.header-nav{gap:clamp(.7rem,1.5vw,1.5rem)}
.language-nav{display:flex;align-items:center;gap:.2rem;border:1px solid #607896;padding:.15rem;flex:none;font-size:.8rem}
.language-nav>*{display:inline-flex;align-items:center;justify-content:center;min-height:40px;min-width:40px;font-weight:700}
.language-nav>[aria-current]{color:#0a1325;background:#b5dfff;border-radius:10px}
.language-nav abbr{text-decoration:none}
.language-nav a{color:#dce8fa}
.language-nav a:hover{background:#355577}
.header-nav>a:last-child{border:1px solid #6882a1;border-radius:12px;padding-inline:.85rem;color:#b5dfff}
.header-nav>a:last-child:hover{background:#203956}
.nav-flex{position:relative;border:0!important}
.nav-flex summary{padding:.5rem .65rem;min-height:44px;font-size:.82rem;gap:.8rem;letter-spacing:normal}
.nav-flex summary::after{width:.45rem;height:.45rem}
.flex-dropdown{position:absolute;top:calc(100% + .5rem);left:-1rem;max-height:calc(100dvh - 95px);overflow:auto;width:24rem;padding:1rem 1.4rem;background:#102243;border:1px solid #69809c;border-radius:var(--panel-radius);box-shadow:0 20px 60px #02081666}
.flex-dropdown a{display:flex;min-height:44px;font-size:.85rem;line-height:1.4;padding:.5rem 0;border-bottom:1px solid #3c5472}
.flex-dropdown a span+span{color:#d2e1f3;font-weight:500}
.nav-assessments{padding-top:.8rem}
.nav-assessments p{padding:0!important;color:#b5dfff;font-size:.76rem;font-weight:750}
.nav-assessments a{font-size:.8rem;font-weight:500}
.breadcrumbs{padding-block:.8rem;font-size:.76rem}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.2rem .65rem;list-style:none;margin:0;padding:0}
.breadcrumbs li{display:flex;align-items:center;gap:.65rem;min-width:0}
.breadcrumbs li+li::before{content:'›';color:#54708f}
.breadcrumbs a{display:inline-flex;align-items:center;min-height:28px;font-weight:700;color:#17467c}
.breadcrumbs span{overflow-wrap:anywhere}
.dark .breadcrumbs{color:#dce8fa}
.dark .breadcrumbs a{color:#bce6ff}
.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:.2em}
.dark .breadcrumbs li+li::before{color:#9db2cc}
.hero{min-height:calc(100svh - var(--header))}
.hero h1{font-size:clamp(3rem,6.3vw,6.8rem);max-width:25ch;line-height:1.03;letter-spacing:-.06em}
.hero h1 span{display:block}
.hero h1 span:last-child{color:var(--blue)}
.hero-content{padding-block:clamp(5rem,12vh,9rem) clamp(5rem,10vh,8rem)}
.hero-lead{max-width:49ch}
.section-intro{max-width:60ch;margin-block:1.5rem;font-size:clamp(1.05rem,1.8vw,1.3rem)}
.journey-section{padding-block:clamp(3rem,6vw,6rem);background:#102746}
.journey-section h2{max-width:16ch;margin-top:.3em}
.journey-track{display:flex;list-style:none;gap:1.2rem;margin-block:2.5rem;padding:0;counter-reset:journey}
.journey-track li{flex:1;position:relative;padding-top:1rem;border-top:1px solid #607d9b;font-size:.8rem;font-weight:600;counter-increment:journey}
.journey-track li::before{content:counter(journey,decimal-leading-zero);display:block;color:#a6dbff;font-size:.68rem;margin-bottom:.6rem}
.phase-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;list-style:none;margin:1.85rem 0;padding:0}
.phase-cards li{background:#e2ebf4;color:#142f4b;border:1px solid #abc0d5;border-radius:var(--photo-radius);padding:clamp(.9rem,2vw,1.5rem);scroll-margin-top:calc(var(--header) + 1rem)}
.phase-cards h3{font-size:clamp(1.35rem,2.25vw,2.25rem);line-height:1.1}
.phase-cards a{display:flex;justify-content:space-between;align-items:center;gap:.35rem;min-height:44px;color:#17467c}
.phase-cards a:hover{color:#102746;text-decoration:underline;text-underline-offset:.15em}
.phase-cards a:focus-visible{outline-color:#2674df}
.phase-cards .arrow{font-size:.6em}
.phase-cards p{margin-top:.45rem;font-size:.91rem;line-height:1.5}
.assessment-invitation{max-width:65ch;color:#dce8fa}
.assessment-invitation a{display:inline-flex;min-height:32px;align-items:center;color:#bce6ff;font-weight:700;text-decoration:underline;text-underline-offset:.2em}
.stage-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-block:2rem}
.stage-nav a{display:flex;gap:.7rem;align-items:center;padding:.9rem 1.1rem;border:1px solid #7997b7;border-radius:var(--control-radius);font-weight:700;min-height:60px}
.stage-nav a span{font-size:1.8rem;line-height:1;color:#87cfff}
.stage-nav a:hover,.stage-nav a[aria-current]{background:#245078;color:#fff}
.paper .stage-nav a{color:#173f68;background:#e2ebf4}
.paper .stage-nav a span{color:#24588c}
.paper .stage-nav a:hover,.paper .stage-nav a[aria-current]{background:#173f68;color:#fff}
.paper .stage-nav a:hover span,.paper .stage-nav a[aria-current] span{color:#a6dbff}
.story-stage{position:relative;isolation:isolate;overflow:clip;padding-block:clamp(4rem,9vw,9rem)}
.story-stage::before{content:'';position:absolute;left:var(--gutter);top:0;width:1px;height:3rem;background:#6586a6}
.stage-background,.stage-background::after,.stage-background img{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.stage-background img{object-fit:cover;object-position:center}
.stage-background::after{content:'';background:linear-gradient(0deg,#0a1325fc,#0a1325df 55%,#0a1325e8);z-index:-1}
.stage-name{display:flex;gap:clamp(1rem,3vw,3rem);align-items:center;margin-top:1.4rem}
.stage-letter{font-size:clamp(6rem,15vw,15rem);line-height:.85;font-weight:750;letter-spacing:-.09em;color:#84cfff}
.paper .stage-letter{color:#174b7d}
.stage-name h2{font-size:clamp(3rem,7vw,7rem)}
.stage-name h2 span{display:block;font-size:clamp(1rem,2.4vw,2rem);line-height:1.3;letter-spacing:-.03em;margin-top:.65rem}
.stage-heading>.section-intro{max-width:64ch}
.methodology{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.2rem;list-style:none;padding:0;margin-block:3rem}
.methodology li{padding:1.2rem 0 0;border-top:1px solid #7891ab;min-width:0}
.method-number{font-size:.75rem;font-weight:700;color:#9bd9ff}
.methodology h3{font-size:clamp(1.15rem,1.7vw,1.65rem);line-height:1.15;letter-spacing:-.04em;margin-block:.8rem}
.methodology p{font-size:.9rem;line-height:1.65}
.paper .method-number{color:#285481}
.subheading{font-size:clamp(1.7rem,3.6vw,3rem);margin-block:2rem 1.3rem;line-height:1.1;letter-spacing:-.04em}
.assessment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-block:1.5rem 2rem}
.assessment-card{position:relative;border:1px solid #708ba8;border-radius:var(--panel-radius);padding:1.5rem;display:flex;flex-direction:column;align-items:start;background:#152a43f2;transition:background .25s ease;min-width:0}
.assessment-card:hover{background:#24496c}
.assessment-card :is(h2,h3){font-size:clamp(1.3rem,2.2vw,2rem);line-height:1.12;margin-block:0 .9rem;letter-spacing:-.035em}
.assessment-card p{font-size:.9rem}
.assessment-card>span:last-child{margin-top:auto;padding-top:1rem;font-size:1.4rem;color:#9bd9ff}
.paper .assessment-card{background:#dfe9f3;color:#102743}
.paper .assessment-card:hover{background:#cbdff0}
.paper .assessment-card>span:last-child{color:#17467c}
.deliverables{max-width:54rem;margin-top:2rem}
.deliverables ul{padding-left:1.5rem;columns:2;column-gap:2rem}
.deliverables li{break-inside:avoid;margin-bottom:.65rem}
.stage-content{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);align-items:center;margin-top:2.5rem}
.stage-activities p{padding-block:.3rem 1.4rem}
.stage-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem;padding-top:2.5rem;margin-top:2.5rem;border-top:1px solid #7891ab}
.stage-footer p{max-width:58ch}
.stage-footer a{flex-shrink:0}
.deliverable-panel{padding:clamp(1.5rem,3vw,3rem);border-radius:var(--panel-radius);background:#173956;border:1px solid #7798b6;color:#f3f7ff}
.deliverable-panel h3,.deliverable-panel h2{font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.04em;line-height:1.1}
.deliverable-panel ul{padding-left:1.2rem;margin-top:1.2rem}
.deliverable-panel li{margin-bottom:.75rem}
.flex-overview,.stage-page{padding-block:clamp(2.5rem,6vw,6rem)}
.overview-explanation{margin-top:clamp(2rem,5vw,4rem);display:grid;gap:2.5rem}
.overview-explanation h2,.about-content h2{font-size:clamp(1.75rem,3.6vw,3rem);line-height:1.12;margin-bottom:.55rem}
.overview-explanation p,.about-content p{max-width:62ch}
.overview-explanation p+p{margin-top:.7rem}
.about-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,4vw,3.5rem);padding-block:clamp(2.5rem,6vw,6rem)}
.about-content .about-links{grid-column:1/-1}
.collective-profile{grid-column:1/-1;display:grid;grid-template-columns:minmax(110px,160px) 1fr;gap:1.4rem;align-items:center;padding:clamp(1rem,3vw,2rem);background:#dfe9f3;border-radius:var(--panel-radius)}
.collective-profile img{border-radius:var(--photo-radius)}
.collective-profile figcaption{margin-top:.4rem;font-size:.78rem}
.buyer-questions{padding-block:0 clamp(2.5rem,6vw,5rem)}
.buyer-questions h2{font-size:clamp(1.75rem,3.6vw,3rem);line-height:1.12;margin-bottom:1.1rem}
.about-links .quiet-link,.overview-explanation .quiet-link{color:#17467c}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.stage-next{color:#17467c;margin-top:1rem}
.recommendation-format{padding:clamp(1.25rem,3vw,2.5rem);margin-block:2.25rem;border-radius:var(--panel-radius);background:#dfe9f3}
.recommendation-format h2{font-size:clamp(1.65rem,4vw,2.8rem);line-height:1.12}
.recommendation-format dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1.25rem;margin-bottom:0}
.recommendation-format dt{font-weight:750;color:#17467c}
.recommendation-format dd{margin:.35rem 0 0}
.flex-overview .journey-track li::before{color:#17467c}
.overview-stage{padding-block:3rem;border-top:1px solid #7992aa}
.overview-stage h2{font-size:clamp(2rem,5vw,4.5rem);margin-block:.8rem}
.overview-stage p{max-width:64ch}
.overview-stage .quiet-link{margin-top:1rem;color:#17467c}
.stage-page .methodology{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.reading .methodology{grid-template-columns:1fr;margin-block:1rem}
.reading .methodology h3{font-size:1.4rem;margin-block:.5rem}
.reading .methodology p{font-size:1rem}
.reading .methodology li{padding-top:.75rem}
.reading .methodology .method-number{color:#285481}
.home-insights{padding-block:clamp(3rem,6vw,6rem);background:#d8e6f4}
.home-insights h2{max-width:17ch;margin-top:.4em}
.insight-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;list-style:none;padding:0;margin-block:2.5rem}
.insight-cards li{border-top:1px solid #55728d;padding-top:1rem;min-width:0}
.insight-cards h3{font-size:clamp(1.5rem,2.5vw,2.4rem);line-height:1.1;margin-block:1rem;letter-spacing:-.04em}
.insight-cards a{color:#17467c}
.insight-cards a:hover{color:#0c3282}
.home-insights .quiet-link{color:#17467c}
.contact .quiet-link{color:#b7dfff}
.home .work{background:#edf1f4;padding-block:clamp(3rem,6vw,6rem)}
.home .work .quiet-link{color:#17467c}
.work-cards{list-style:none;margin:1.5rem 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,2vw,1.5rem)}
.work-card{min-width:0}
.work-card a{display:flex;flex-direction:column;height:100%;background:#fafcfe;border:1px solid #b6c7d6;border-radius:var(--photo-radius);overflow:hidden}
.work-card a:hover{background:#e3ecf5}
.work-card img{aspect-ratio:1.65;object-fit:cover}
.work-card a>div{padding:1.15rem;display:flex;flex:1;flex-direction:column;align-items:start;gap:.65rem}
.work-card h3{font-size:clamp(1.15rem,2vw,1.6rem);line-height:1.17;color:#17467c;letter-spacing:-.035em}
.work-card p{font-size:.91rem}
.work-card .work-card-result{border-inline-start:2px solid #6ea4d0;padding-inline-start:.7rem;color:#294661}
.work-card-result strong{display:block}
.work-card .arrow{margin-top:auto;color:#17467c}
.case-index{padding-block:clamp(1rem,4vw,4rem)}
.reading .archive-context{font-size:.8rem;padding:1rem;background:#dce6ef;border-radius:var(--control-radius)}
.article-content iframe{max-width:100%}
.work>.shell:last-child>.pill{margin-top:2.5rem}
@media(min-width:1181px){.menu-toggle{display:none!important}}
@media(max-width:1180px){
 .site-header:has(.menu-toggle:not([hidden])) .header-nav{display:none}
 .menu-toggle:not([hidden]){display:inline-flex}
 .language-nav{margin-left:auto}
}
dialog nav .nav-flex{margin-top:.5rem}
dialog nav .nav-flex summary{font-size:clamp(1.75rem,5vw,2.5rem);letter-spacing:-.04em;padding:.8rem 0}
dialog .flex-dropdown{position:static;max-height:none;width:auto;border:0;border-radius:0;box-shadow:none;padding:.3rem 0 .8rem 1rem;background:transparent}
dialog .flex-dropdown a{font-size:1rem;letter-spacing:normal;min-height:44px}
dialog .nav-assessments p{font-size:.8rem;margin-top:.6rem}
@media(max-width:1000px){.methodology{grid-template-columns:repeat(3,minmax(0,1fr))}.journey-track{flex-wrap:wrap}.journey-track li{flex:1 1 20%}}
@media(max-width:760px){
 .stage-content{grid-template-columns:1fr}
 .assessment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .insight-cards{grid-template-columns:1fr}
 .methodology{grid-template-columns:1fr}
 .methodology h3{font-size:1.4rem}
 .methodology p{font-size:1rem}
 .methodology li{position:relative;padding-left:2.5rem}
 .method-number{position:absolute;left:0;top:1.3rem}
 .stage-nav{grid-template-columns:repeat(2,1fr)}
 .stage-letter{font-size:6rem}
 .stage-name h2{font-size:3rem}
 .stage-name{gap:1.5rem}
 .journey-track li{flex-basis:36%}
 .deliverables ul{columns:1}
 .phase-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .work-cards,.about-content{grid-template-columns:1fr}
 .collective-profile{grid-template-columns:1fr}
 .collective-profile figure{max-width:145px}
 .floating-photo img{aspect-ratio:1.45}
}
@media(max-width:540px){
 .hero h1{font-size:clamp(2.55rem,10.4vw,4rem);line-height:1.04}
 .hero-content{padding-block:5rem 4rem}
 .hero h1 span{margin-bottom:.13em}
 .assessment-grid{grid-template-columns:1fr}
 .language-nav>*{min-width:32px;min-height:40px}
 .site-header{padding-inline:1rem}
 .menu-toggle{font-size:.78rem;padding-inline:.6rem}
 .brand{font-size:.86rem;gap:.25rem}
 .brand img{width:30px;height:30px}
 .site-header{gap:.5rem}
 .stage-nav a{padding:.7rem}
 .stage-name{gap:1rem}
}
@media(max-width:350px){.brand span{max-width:70px;white-space:normal;font-size:.8rem;line-height:1.15}.language-nav>*{min-width:28px}}
@media(prefers-reduced-motion:reduce){.hero-media img{transform:none!important}.stage-background img{translate:none!important}}
h1,h2,h3{overflow-wrap:anywhere}
.opening-layout>*,.stage-content>*,.case>*{min-width:0}
/* Focus may never disappear behind the sticky header. */
:where(a,button,summary,input,select,[tabindex]){scroll-margin-block:90px 25px}
/* Article emphasis inherits readable prose contrast rather than hero accent color. */
.reading em{color:inherit;font-style:italic}
.arrow{display:inline-block;position:relative;width:.85em;height:.85em;flex:none}
.arrow::before{content:'';position:absolute;left:0;bottom:0;width:1em;border-top:1.5px solid;transform:rotate(-45deg);transform-origin:left}
.arrow::after{content:'';position:absolute;right:0;top:0;width:.6em;height:.6em;border-top:1.5px solid;border-right:1.5px solid}
.site-header{flex-wrap:wrap}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference) and (min-width:1181px){
  .floating-photo img{animation:photo-depth linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
 }
}
@keyframes photo-depth{from{transform:scale(1.04) translateY(1%)}to{transform:scale(1.04) translateY(-1%)}}
.nav-flex:not([open])>.flex-dropdown{display:none}
.journey-track{flex-wrap:wrap}
.journey-track li{flex:1 1 8rem;min-width:0;overflow-wrap:anywhere}
.header-nav .flex-dropdown{width:min(24rem,calc(100vw - 2 * var(--gutter)))}
@media(max-width:1180px){.js .site-header .header-nav{display:none}}
