:root{--ink:#12324a;--nav:#173a5e;--accent:#0e4f78;--line:#d8e0e6;--pale:#f2f8fb;--serif:'Source Serif 4',Georgia,serif;--sans:Inter,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;color:var(--nav);font-family:var(--sans);font-size:16px;line-height:1.45}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #147aac;outline-offset:5px}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;color:var(--ink);letter-spacing:-.045em;line-height:1.08}.container{width:88.7%;max-width:1746px;margin:auto}.skip{position:fixed;top:-100px;left:12px;background:white;padding:12px;z-index:100}.skip:focus{top:12px}header{position:absolute;top:0;left:0;width:100%;z-index:10;height:7.32vw;max-height:144px;min-height:90px;transition:background .25s,box-shadow .25s}.header-inner{height:100%;width:88.7%;max-width:1746px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}header.scrolled{position:fixed;height:90px;background:rgba(243,248,251,.97);box-shadow:0 1px 8px #12324a13;backdrop-filter:blur(12px)}.wordmark{display:flex;flex-direction:column;font-family:var(--serif);font-size:clamp(24px,1.78vw,35px);line-height:.97;letter-spacing:.125em;white-space:nowrap;color:var(--ink)}.wordmark .advice{letter-spacing:.15em}.wordmark small{font:600 clamp(7px,.48vw,10px)/1.4 var(--sans);letter-spacing:.29em;margin-top:6px}.wordmark span{display:block}nav{display:flex;align-items:center;gap:clamp(26px,3.1vw,62px);font-size:clamp(14px,.94vw,18px)}nav a,nav .text-button{position:relative;white-space:nowrap}nav a:after,nav .text-button:after{content:'';height:1px;position:absolute;bottom:-6px;left:0;right:100%;background:var(--accent);transition:right .2s}nav a:hover:after,nav .text-button:hover:after{right:0}.button{border:0;background:#07516b;color:#fff;padding:20px 32px;display:inline-flex;align-items:center;justify-content:center;gap:24px;text-transform:uppercase;font-size:clamp(12px,.82vw,16px);letter-spacing:.13em;font-weight:600;min-height:52px;transition:background .2s}.button span,.explore span{font-size:24px;line-height:1;transition:transform .2s}.button:hover{background:#0e4f78}.button:hover span,.explore:hover span{transform:translateX(5px)}.text-button{border:0;padding:0;background:none;text-align:left}.menu-toggle{display:none}.hero{position:relative;isolation:isolate;aspect-ratio:1967/800;overflow:hidden;max-width:2400px;margin:auto}.hero-photo,.sky-window,.sky-drift{position:absolute;inset:0;background-image:url('assets/hero.webp');background-size:100% 100%;background-repeat:no-repeat;z-index:-2}.sky-window{background:none;z-index:-1;mask-image:url('assets/sky-mask.png');mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-image:url('assets/sky-mask.png');-webkit-mask-size:100% 100%;overflow:hidden}.sky-drift{z-index:auto;animation:cloud-drift 65s ease-in-out infinite alternate;transform-origin:center}.hero-inner{position:absolute;top:33.5%;left:5.65%;right:40%}.hero h1{font-size:clamp(38px,4.05vw,88px);line-height:1.01;letter-spacing:-.05em}.hero p{margin:15px 0 19px;font-size:clamp(16px,1.2vw,25px);line-height:1.27;letter-spacing:-.025em}.hero .button{padding:18px 35px}.motion-toggle{position:absolute;bottom:12px;right:14px;border:1px solid #ffffff80;border-radius:50%;width:28px;height:28px;color:white;background:#12324a55;font-size:12px;opacity:.65}.motion-toggle:hover{opacity:1}.paused .sky-drift{animation-play-state:paused}.services{padding:26px 4.5% 25px}.five-grid{display:grid;grid-template-columns:repeat(5,1fr)}.tile{display:flex;flex-direction:column;align-items:center;justify-content:start;text-align:center;border:0;background:none;padding:0 22px;position:relative;color:var(--nav);font-size:clamp(16px,1.1vw,22px);line-height:1.28;transition:transform .2s}.tile+.tile:before{content:'';height:83%;width:1px;background:var(--line);position:absolute;top:12%;left:0}.tile svg{width:48px;height:48px;stroke:var(--nav);stroke-width:1.65;fill:none;stroke-linecap:round;stroke-linejoin:round;margin-bottom:10px;flex-shrink:0}.tile:after{content:'';display:block;width:40px;height:2px;background:var(--accent);margin-top:14px}.tile:hover{transform:translateY(-3px)}.section{padding:42px 0 44px}.audience,.about{background:var(--pale)}.section-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.eyebrow{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.eyebrow:after{content:'';width:42px;height:1px;background:var(--accent)}.explore{font:600 13px var(--sans);letter-spacing:.045em;text-transform:uppercase;display:inline-flex;align-items:center;gap:16px}.section h2{font-size:clamp(32px,3.05vw,60px);margin:7px 0 10px}.intro{font-size:clamp(16px,1.18vw,23px);line-height:1.4;max-width:1500px;letter-spacing:-.015em}.audience .five-grid{margin-top:30px}.steps{display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:24px 0 0;list-style:none}.steps li{padding:0 32px;text-align:center;position:relative}.steps li+li{border-left:1px solid var(--line)}.number{border:2px solid var(--nav);width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:20px;font-weight:500}.steps h3{font-size:clamp(16px,1.13vw,22px);font-weight:400;line-height:1.35;margin-bottom:8px}.steps p{font-size:clamp(16px,1.05vw,21px);line-height:1.4;max-width:290px;margin:auto}.process{padding-bottom:55px}.about .explore{margin-top:25px}.contact-band{background:#08446c;color:white;padding:28px 0}.contact-band .container{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-band h2{font-size:clamp(28px,2.75vw,53px);color:white;letter-spacing:-.035em}.button.light{background:#fff;color:var(--nav);letter-spacing:.015em;white-space:nowrap;padding:12px 24px;min-height:48px}.button.light:hover{background:#e4f0f6}footer{background:#073452;color:#e8f0f6;border-top:1px solid #9cafba;padding:30px 0 35px}.footer-grid{display:grid;grid-template-columns:2fr 1.55fr .75fr .8fr;gap:45px}footer .wordmark{color:white;font-size:27px;display:inline-flex}footer .wordmark small{font-size:7px}footer h3{font-size:14px;font-weight:600;margin-bottom:9px}footer a:not(.wordmark),footer .text-button{display:block;font-size:14px;margin-bottom:5px;line-height:1.5}footer a:hover,footer .text-button:hover{text-decoration:underline}.legal-copy{font-size:13px;line-height:1.5;margin-top:19px}dialog{border:0;padding:44px;max-width:640px;width:calc(100% - 32px);max-height:90svh;overflow:auto;color:var(--nav);box-shadow:0 20px 80px #0005}dialog::backdrop{background:#12324a99;backdrop-filter:blur(4px)}dialog h2{font-size:36px;margin:14px 0}dialog p{line-height:1.6;margin-bottom:22px}.close{position:absolute;right:15px;top:10px;font-size:30px;border:0;background:none;line-height:1}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;margin:15px 0;font-size:14px;font-weight:500}input,textarea{width:100%;display:block;border:1px solid #a4b7c4;border-radius:0;padding:12px;color:var(--ink);margin-top:6px;background:#fff}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.form-note{font-size:13px;color:#536978}body.dialog-open{overflow:hidden}@keyframes cloud-drift{from{transform:translateX(0)}to{transform:translateX(6px)}}@media(min-width:2000px){.hero-inner{top:33%}.hero p{font-size:25px}}@media(max-width:1100px){header{min-height:80px}.header-inner{gap:20px}nav{gap:22px}.header-cta{padding:14px 18px;letter-spacing:.07em}.wordmark{font-size:23px}.hero{aspect-ratio:auto;height:590px}.hero-photo,.sky-drift{background-size:auto 100%;background-position:57% center}.sky-window{mask-size:auto 100%;mask-position:57% center}.hero-inner{top:180px;right:25%}.hero h1{font-size:53px}.hero p{font-size:18px}.hero .button{padding:16px 22px}.tile{padding:0 14px}.section h2{font-size:38px}.footer-grid{gap:25px;grid-template-columns:1.5fr 1.3fr .8fr .8fr}.steps li{padding:0 20px}.contact-band h2{font-size:32px}.contact-band .button{font-size:11px;gap:12px}.desktop-break{display:none}}
@media(max-width:760px){html{scroll-padding-top:90px}header,header.scrolled{height:88px;min-height:88px;background:rgba(243,248,251,.88)}.header-inner{width:88%}.wordmark{font-size:25px}.wordmark small{font-size:7px}.header-cta{display:none}.menu-toggle{display:flex;gap:12px;align-items:center;background:none;border:1px solid #173a5e55;padding:9px 12px;font-size:14px}nav{display:none;position:absolute;top:88px;left:0;right:0;background:#f4f9fc;padding:24px 6%;box-shadow:0 8px 15px #12324a15;font-size:18px}nav.open{display:flex;flex-direction:column;align-items:flex-start;gap:23px}.hero{height:670px;max-height:none}.hero-photo,.sky-drift{background-size:auto 100%;background-position:43% center}.sky-window{mask-size:auto 100%;mask-position:43% center}.hero:after{content:'';position:absolute;inset:88px 0 0;background:linear-gradient(90deg,#f0efdf85,transparent 90%);z-index:-1;pointer-events:none}.hero-inner{top:160px;left:6%;right:6%}.hero h1{font-size:clamp(38px,8.6vw,59px);line-height:1.07}.hero p{margin:20px 0 25px;font-size:18px;max-width:420px;line-height:1.5}.hero .button{font-size:12px;gap:20px}.services{padding:26px 5%}.five-grid{grid-template-columns:repeat(2,1fr);gap:28px 0}.tile{font-size:16px;padding:0 14px}.tile:last-child{grid-column:1/-1;max-width:270px;justify-self:center}.tile:nth-child(odd):before,.tile:last-child:before{display:none}.tile svg{width:42px;height:42px}.section{padding:34px 0}.container{width:88%}.section-row{align-items:flex-start;flex-direction:column;gap:16px}.section-row .explore{order:2;margin-bottom:8px}.section h2{font-size:35px;line-height:1.13;margin-top:13px}.intro{font-size:17px}.eyebrow,.explore{font-size:12px}.steps{grid-template-columns:1fr 1fr;gap:28px 0;margin-top:28px}.steps li{padding:0 14px}.steps li:nth-child(3){border:0}.number{height:48px;width:48px;font-size:17px;margin-bottom:15px}.steps h3{font-weight:500;font-size:16px}.steps p{font-size:15px}.contact-band .container{flex-direction:column;align-items:flex-start;gap:25px}.contact-band{padding:30px 0}.contact-band h2{font-size:33px;max-width:440px}.contact-band .button{font-size:12px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:nth-child(2){grid-column:1/-1}footer .wordmark{font-size:29px}.legal-copy{font-size:13px}dialog{padding:35px 23px}dialog h2{font-size:31px}.field-pair{grid-template-columns:1fr;gap:0}.motion-toggle{bottom:15px}.button{letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.sky-window{display:none}.motion-toggle{display:none}}

/* Approved correction packet: shared consultation CTA and photo-aware sticky header. */
header,header.scrolled{position:fixed;height:clamp(90px,7.32vw,144px);min-height:90px;background:rgba(239,247,252,.24);box-shadow:none;backdrop-filter:none;transition:background-color .25s,color .25s}
header.past-hero{background:#073452;color:#fff;box-shadow:0 1px 0 #ffffff26}
header.past-hero .wordmark,header.past-hero nav,header.past-hero .menu-toggle{color:#fff}
header.past-hero .menu-toggle{border-color:#ffffff70}
header.past-hero nav a:after,header.past-hero nav .text-button:after{background:#fff}
@media(max-width:1100px){
 header,header.scrolled{height:88px;min-height:88px}
 .header-cta{display:none}
 .menu-toggle{display:flex;gap:12px;align-items:center;background:none;border:1px solid #173a5e55;padding:9px 12px;font-size:14px}
 nav{display:none;position:absolute;top:88px;left:0;right:0;background:#f4f9fc;padding:24px 6%;box-shadow:0 8px 15px #12324a15;font-size:18px}
 nav.open{display:flex;flex-direction:column;align-items:flex-start;gap:23px}
 header.past-hero nav{background:#073452}
}

/* Review 03: preserve approved geometry; restore reference colours and clip only hero content. */
:root{--header-height:clamp(98px,calc(7.32vw + 8px),152px)}
html{scroll-padding-top:calc(var(--anchor-header-height,var(--header-height)) + 2px)}
header,header.scrolled{height:var(--header-height);min-height:var(--header-height);max-height:none;transition:background-color .5s ease-out,color .22s ease-out,box-shadow .22s ease-out}
header .wordmark,header nav{transition:color .22s ease-out,background-color .22s ease-out}
header .menu-toggle{transition:color .22s ease-out,border-color .22s ease-out}
.hero-inner{clip-path:inset(var(--hero-content-clip,0px) -8px -8px -8px)}
@media(max-width:1100px){:root{--header-height:96px}nav{top:var(--header-height)}}
@media(max-width:760px){.hero:after{top:var(--header-height)}}

/* Services: reserve two text lines; stretch labels equally within each grid row. */
#service-grid .tile>span{min-height:2.56em;flex:1 0 auto}
#service-grid .tile:after{flex-shrink:0}

/* Audience labels retain the reference breaks and grow with the tallest card. */
#audience-grid .tile>span{min-height:2.56em;flex:1 0 auto}
#audience-grid .tile:after{flex-shrink:0}

/* Process step titles are headings above their explanations. */
.process .steps h3{font-weight:700}

/* Subtle architecture in consultation band; preserve its geometry and controls. */
.contact-band{background-color:#08446c;background-image:linear-gradient(#08446c40,#08446c40),url('assets/consultation-skyline.png');background-position:center bottom;background-size:100% 100%;background-repeat:no-repeat}

/* Match the existing About link spacing, scoped to homepage sections. */
#who-we-serve>.container>.explore,#how-we-work>.container>.explore{margin-top:25px}

/* Align the services link with the shared section container. */
.services-link-row{width:88.7vw;max-width:1746px;margin:25px auto 0}
@media(max-width:760px){.services-link-row{width:88vw}}
/* Compact only the two middle desktop section transitions. */
@media(min-width:761px){
 #who-we-serve.section{padding-top:18px;padding-bottom:34px}
 #how-we-work.section{padding-top:27px;padding-bottom:37px}
 #about.section{padding-top:30px}
}

/* Compact desktop hero for the primary 1536 × 695 viewport; crop the original image. */
/* Add 1px of space above and below the centered header contents. */
header,header.scrolled{height:calc(var(--header-height) + 2px);min-height:calc(var(--header-height) + 2px)}
@media(min-width:1101px){
 /* Trim the lower 22 CSS px; compensate background and mask positions to keep the top crop. */
 .hero{aspect-ratio:auto;height:calc(clamp(336px,23.24vw,455px) + min(12.20132181vw,292.8317234px) - 22px)}
 .hero-photo,.sky-drift{background-size:100% auto;background-position:center calc(100% + 22px)}
 .sky-window{mask-size:100% auto;mask-position:center calc(100% + 22px);-webkit-mask-size:100% auto;-webkit-mask-position:center calc(100% + 22px)}
 .hero-inner{top:calc(var(--header-height) + clamp(24px,2.4vw,46px))}
 .hero h1{font-size:clamp(38px,3.6855vw,80.08px)}
 .hero p{position:relative;top:-10px}
}

/* Section heading size follows Meet Anna Bolotova. */
body:not(.about-page) #who-we-serve h2,body:not(.about-page) #how-we-work h2,body:not(.about-page) #about h2,body:not(.about-page) .contact-band h2{font-size:42px}

/* Match the Services experience heading inset. */
body:not(.about-page) #who-we-serve.section,body:not(.about-page) #how-we-work.section,body:not(.about-page) #about.section{padding-top:20px}
body:not(.about-page) #who-we-serve.section h2,body:not(.about-page) #how-we-work.section h2,body:not(.about-page) #about.section h2{margin-top:0}

/* Collapse navigation only when its measured full layout no longer fits. */
.menu-consultation{display:none}
:root.navigation-collapsed{--header-height:80px}
@media screen{
 #header[data-navigation="collapsed"]{--menu-inset:clamp(16px,2vw,24px);height:80px;min-height:80px;background:#073452;color:#fff;transition:none}
 #header[data-navigation="collapsed"] .wordmark,#header[data-navigation="collapsed"] .menu-toggle{color:#fff;transition:none}
 #header[data-navigation="collapsed"] .header-cta{display:none}
 #header[data-navigation="collapsed"] .menu-toggle{display:flex;position:absolute;top:50%;right:var(--menu-inset);transform:translateY(-50%);align-items:center;gap:8px;padding:9px 12px;font-size:14px;background:none;border:1px solid #ffffff70;min-height:44px;min-width:96px;justify-content:center}
 #header[data-navigation="collapsed"] #navigation{display:none;position:absolute;top:calc(100% - 8px);left:auto;right:0;width:max-content;max-width:calc(100% - 24px);padding:4px var(--menu-inset) 0;background:#073452;color:#fff;box-shadow:0 8px 15px #12324a15;font-size:18px;transition:none}
 #header[data-navigation="collapsed"] #navigation.open{display:flex;flex-direction:column;align-items:flex-end;gap:0;text-align:right}
 #header[data-navigation="collapsed"] #navigation a{min-height:44px;display:flex;align-items:center;justify-content:flex-end;padding:4px 0}
 #header[data-navigation="collapsed"] #navigation a:after{content:none}
 #header[data-navigation="collapsed"] #navigation a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
 #header[data-navigation="collapsed"] #navigation .menu-contact{display:none}
 #header[data-navigation="collapsed"] #navigation .menu-consultation{display:flex;gap:12px;align-self:stretch;width:calc(100% + 2 * var(--menu-inset));margin:4px calc(-1 * var(--menu-inset)) 0;padding:12px var(--menu-inset);min-height:48px;background:var(--consultation-background,#07516b);color:#fff}
 #header[data-navigation="collapsed"] #navigation .menu-consultation:hover{background:#0e4f78}
 #header[data-navigation="collapsed"] .menu-consultation span{font-size:24px;line-height:1}
}
/* Keep the full desktop layout when it still fits below the old cutoff. */
@media screen and (max-width:1100px){
 #header[data-navigation="desktop"] .header-inner{gap:30px}
 #header[data-navigation="desktop"] .wordmark{font-size:clamp(24px,1.78vw,35px)}
 #header[data-navigation="desktop"] .menu-toggle{display:none}
 #header[data-navigation="desktop"] .header-cta{display:inline-flex}
 #header[data-navigation="desktop"] #navigation{display:flex;position:static;inset:auto;width:auto;max-width:none;padding:0;background:none;box-shadow:none;font-size:clamp(14px,.94vw,18px);gap:clamp(26px,3.1vw,62px);flex:1;flex-direction:row;align-items:center;justify-content:center}
 #header[data-navigation="desktop"] #navigation .menu-consultation{display:none}
}
@media screen and (max-width:1100px){
 .hero-photo,.sky-drift{background-position:59% center}
 .sky-window{mask-position:59% center;-webkit-mask-position:59% center}
}
@media screen and (max-width:700px){
 .hero-photo,.sky-drift{background-position:58% center}
 .sky-window{mask-position:58% center;-webkit-mask-position:58% center}
 body:not(.about-page) .hero-inner{right:auto;width:78%;min-width:min(304px,88%);max-width:88%}
}
@media screen and (max-width:389px){
 .hero-photo,.sky-drift{background-position:57% center}
 .sky-window{mask-position:57% center;-webkit-mask-position:57% center}
}
/* Keep portrait tablet text clear of the central skyline tower. */
@media screen and (min-width:701px) and (max-width:1100px) and (orientation:portrait){
 body:not(.about-page) .hero-inner{top:120px;right:auto;width:440px}
}
@media screen and (min-width:701px) and (max-width:760px) and (orientation:portrait){
 body:not(.about-page) .hero-inner{top:110px;width:480px}
}
