/* A photographic, scroll-led narrative. Reading content remains in normal flow. */
.approach-page{--approach-paper:#fff;--approach-soft:#f4f5f7;--approach-ink:#121212;--approach-muted:#596574;--approach-rule:#dce1e7;background:var(--approach-paper);color:var(--approach-ink)}
html[data-theme=dark] .approach-page{--approach-paper:#111;--approach-soft:#181a1d;--approach-ink:#f5f6f8;--approach-muted:#b2bdcb;--approach-rule:#343a43}
.approach-page .wrap{width:min(1360px,calc(100% - 100px))}
.approach-page h1,.approach-page h2,.approach-page h3{font-weight:350;letter-spacing:-.055em;color:var(--approach-ink)}
.approach-page p{font-size:19px;line-height:1.65;color:var(--approach-muted)}
.approach-page :is(h1,h2,h3)>span{background:linear-gradient(110deg,#0059ff,#008fab 65%,#009f94);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
html[data-theme=dark] .approach-page :is(h1,h2,h3)>span{background-image:linear-gradient(110deg,#5996ff,#00bedd 65%,#00e2c2)}
.approach-page .approach-kicker{font-size:13px;line-height:1.5;margin-bottom:28px;letter-spacing:.02em}
.approach-opening{position:relative;isolation:isolate;padding:160px 0 65px;overflow:clip;text-align:center;background:var(--approach-paper)}
.approach-invitation{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.approach-opening h1{font-size:clamp(62px,7.1vw,102px);line-height:1.07;text-wrap:balance;margin:0}
.approach-opening h1>span{display:inline-block}
.approach-opening .approach-opening-copy{margin:34px 0 27px;font-size:20px;line-height:1.6;max-width:600px}
.approach-air{position:absolute;z-index:-1;inset:0;overflow:hidden;pointer-events:none;mask-image:linear-gradient(#000 70%,transparent)}
.approach-air:before,.approach-air:after{content:"";position:absolute;inset:-35%;filter:blur(50px);animation:approach-air-drift 3.6s ease-in-out infinite alternate;animation-play-state:paused}
.approach-air:before{background:radial-gradient(ellipse 28% 42% at 16% 38%,#007bff26,transparent 80%),radial-gradient(ellipse 38% 25% at 79% 72%,#00d9cb32,transparent 80%);transform:rotate(-12deg)}
.approach-air:after{background:linear-gradient(118deg,transparent 34%,#007fff0b 43%,transparent 53%,#00ddcc14 67%,transparent 79%);animation-duration:4.6s;animation-delay:-1.8s}
.approach-opening.is-in-view .approach-air:before,.approach-opening.is-in-view .approach-air:after{animation-play-state:running}
html[data-theme=dark] .approach-air:before{background:radial-gradient(ellipse 28% 42% at 16% 38%,#007bff32,transparent 80%),radial-gradient(ellipse 38% 25% at 79% 72%,#00d9cb24,transparent 80%)}
@keyframes approach-air-drift{from{transform:translate(-10%,7%) rotate(-16deg)}to{transform:translate(12%,-8%) rotate(12deg)}}
.approach-page .text-link{display:inline-flex;width:fit-content;color:inherit;gap:20px;white-space:nowrap}
.approach-page .text-link:hover{color:#0059ff}
.approach-photo{overflow:hidden;border-radius:4px}
.approach-photo img{width:100%;height:100%;object-fit:cover}
.approach-story{padding:105px 0 0;background:var(--approach-soft)}
.approach-story-heading{margin-bottom:70px}
.approach-story-heading h2{font-size:clamp(48px,5.2vw,76px);line-height:1.07}
.approach-story-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:100px;align-items:start}
.approach-chapter{min-height:650px;display:flex;flex-direction:column;justify-content:center;padding:50px 0;scroll-margin-top:130px}
.approach-chapter-number{color:var(--approach-muted);font-size:13px;margin-bottom:30px}
.approach-chapter h3{font-size:clamp(46px,4.4vw,66px);line-height:1.08;margin-bottom:25px}
.approach-chapter p{max-width:375px}
.approach-story-stage{position:sticky;top:110px;padding-bottom:50px}
.approach-chapter-nav{display:flex;justify-content:space-between;gap:15px;margin-bottom:20px}
.approach-chapter-nav button{display:inline-flex;gap:9px;align-items:center;border:0;background:transparent;color:var(--approach-muted);padding:9px 0;font-size:14px;min-height:44px}
.approach-chapter-nav button span{font-size:11px}
.approach-chapter-nav button[aria-current=step],.approach-chapter-nav button:hover{color:#0059ff}
html[data-theme=dark] .approach-chapter-nav button[aria-current=step],html[data-theme=dark] .approach-chapter-nav button:hover{color:#86adff}
.approach-image-stack{height:min(540px,calc(100vh - 250px));min-height:280px;position:relative;overflow:hidden;border-radius:4px;background:#071529}
.approach-story-image{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s;overflow:hidden}
.approach-story-image.is-current{opacity:1;visibility:visible;z-index:1}
.approach-story-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transform:scale(1.04);transition:filter .55s,transform .85s cubic-bezier(.16,1,.3,1)}
.approach-story-image.is-current img{transform:scale(1)}
.approach-story-image[data-approach-image="0"] img{object-position:55% 60%}
.approach-story-image[data-approach-image="1"] img{object-position:60% 50%}
.approach-story-image[data-approach-image="2"] img{object-position:57% 45%}
.approach-image-stack:hover .is-current img,.approach-story-stage:focus-within .is-current img{filter:grayscale(0)}
.approach-story-image:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#071529c9)}
.approach-story-image figcaption{position:absolute;z-index:2;bottom:32px;left:32px;right:32px;color:#fff;font-size:23px;line-height:1.35;letter-spacing:-.035em}
.approach-mobile-photo{display:none}
.approach-page:not(.has-approach-enhancement) .approach-story-grid{display:block}
.approach-page:not(.has-approach-enhancement) .approach-story-stage{display:none}
.approach-page:not(.has-approach-enhancement) .approach-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.approach-page:not(.has-approach-enhancement) .approach-chapter{min-height:0;justify-content:start}
.approach-page:not(.has-approach-enhancement) .approach-mobile-photo{display:block;height:300px;margin-top:30px}
.approach-control{position:relative;overflow:hidden;isolation:isolate;background:#071629;color:white;padding:100px 0 90px}
.approach-material{position:absolute;inset:0;z-index:-1;background:#071629;overflow:hidden}
.approach-material:before,.approach-material:after{content:"";position:absolute;inset:-40%;background:conic-gradient(from 35deg at 62% 58%,#0059ff00,#0059ff99 18%,#007a9244 36%,#00bfa788 52%,#0059ff00 75%);filter:blur(75px);animation:approach-material-drift 9s ease-in-out infinite alternate;animation-play-state:paused;opacity:.75}
.approach-material:after{background:conic-gradient(from 225deg at 40% 40%,transparent,#008fff70,#00ffd466,transparent 65%);animation-delay:-5s;animation-duration:13s;opacity:.45}
.approach-control.is-in-view .approach-material:before,.approach-control.is-in-view .approach-material:after{animation-play-state:running}
.approach-control-content{position:relative}
.approach-control .approach-kicker{color:#d0ddef}
.approach-control h2{font-size:clamp(75px,9.4vw,138px);line-height:1.02;color:#fff}
.approach-control h2>span{-webkit-text-fill-color:#fff;background:none}
/* The dark-theme heading gradient must not repaint this plain white CTA span. */
html[data-theme=dark] .approach-page .approach-control h2>span{background:none}
.approach-control-bottom .button{flex-shrink:0;max-width:100%}
.approach-control-bottom{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-top:55px}
.approach-control-bottom p{color:#d0ddef;max-width:480px}
.approach-control .text-link:hover{color:#96ccff}
.approach-evidence{background:#071529;color:white}
.approach-case{display:block;position:relative;min-height:650px;overflow:hidden}
.approach-case-image{position:absolute;inset:0}
.approach-case-image img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;filter:grayscale(1);transform:scale(1.045);transition:transform 1s cubic-bezier(.16,1,.3,1),filter .7s}
.approach-case:is(:hover,:focus-visible) img{filter:grayscale(0);transform:scale(1)}
.approach-case:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#071529f5,transparent 90%),linear-gradient(90deg,#0715298c,transparent);pointer-events:none}
.approach-case-copy{position:relative;z-index:1;padding-top:170px;padding-bottom:65px}
.approach-case-copy .approach-kicker{color:#e3eaf5}
.approach-case h2{font-size:clamp(55px,6.7vw,98px);line-height:1.06;color:white}
.approach-case-bottom{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-top:40px}
.approach-case-bottom p{color:#e3eaf5;max-width:460px}
.approach-case .text-link{border-bottom:1px solid #ffffff80;padding-bottom:10px;min-height:50px}
.approach-case:hover .text-link{color:#a3dfff}
.approach-closing{padding:110px 0 95px;background:var(--approach-paper)}
.approach-closing-grid{display:flex;justify-content:space-between;align-items:center;gap:60px}
.approach-closing h2{font-size:clamp(48px,5.5vw,80px);line-height:1.06}
.approach-closing-grid>div{display:flex;flex-direction:column;align-items:start;gap:25px}
@keyframes approach-material-drift{from{transform:translate(-4%,-4%) rotate(-8deg) scale(1.06)}to{transform:translate(8%,7%) rotate(18deg) scale(.98)}}
.has-approach-motion .approach-mobile-photo.is-visible{animation:approach-photo-open .75s cubic-bezier(.16,1,.3,1) both}
@keyframes approach-photo-open{from{clip-path:inset(7% 0 0);transform:translateY(15px)}to{clip-path:inset(0);transform:none}}
@media(max-width:1100px){.approach-story-grid{gap:55px}.approach-chapter-nav{gap:10px}.approach-chapter-nav button{font-size:12px;gap:6px}.approach-chapter h3{font-size:52px}}
@media(max-width:800px){.approach-page .wrap{width:calc(100% - 40px)}.approach-opening{padding:160px 0 90px}.approach-opening h1{font-size:clamp(54px,8.8vw,76px)}.approach-opening .approach-opening-copy{font-size:19px}.approach-story{padding:65px 0 35px}.approach-story-heading{margin-bottom:40px}.approach-story-heading h2{font-size:clamp(38px,6.6vw,55px)}.approach-story-grid{display:block}.approach-story-stage{display:none}.approach-chapter{min-height:0;padding:35px 0 45px;scroll-margin-top:110px}.approach-chapter h3{font-size:clamp(42px,6.8vw,60px);margin-bottom:20px}.approach-chapter-number{margin-bottom:20px}.approach-chapter p{max-width:560px;font-size:18px}.approach-mobile-photo{display:block;margin-top:30px;height:340px}.approach-mobile-photo img{object-position:55% 50%}.approach-control{padding:70px 0}.approach-control h2{font-size:clamp(64px,10vw,100px)}.approach-control-bottom{flex-direction:column;align-items:start;gap:25px;margin-top:32px}.approach-case{min-height:560px}.approach-case-copy{padding-top:130px;padding-bottom:55px}.approach-case h2{font-size:clamp(44px,7.2vw,70px)}.approach-case-bottom{flex-direction:column;align-items:start;gap:25px;margin-top:30px}.approach-closing{padding:70px 0}.approach-closing-grid{flex-direction:column;align-items:start;gap:35px}.approach-closing h2{font-size:clamp(43px,7.5vw,64px)}}
@media(max-width:480px){.approach-opening{padding:145px 0 75px}.approach-opening h1{font-size:clamp(43px,11.8vw,56px)}.approach-opening .approach-opening-copy{font-size:18px;margin-top:27px}.approach-page .approach-kicker{margin-bottom:23px}.approach-story-heading h2{font-size:38px}.approach-chapter h3{font-size:43px}.approach-mobile-photo{height:290px}.approach-control h2{font-size:clamp(56px,15.5vw,75px)}.approach-control-bottom p,.approach-case-bottom p{font-size:18px}.approach-case{min-height:590px}.approach-case-copy{padding-top:145px}.approach-case h2{font-size:clamp(42px,11vw,53px)}.approach-case-image img{object-position:60% 45%}.approach-closing h2{font-size:43px}}
@media(max-width:800px){.approach-page:not(.has-approach-enhancement) .approach-chapters{display:block}}
@media(prefers-reduced-motion:reduce){.approach-page *,.approach-page *:before,.approach-page *:after{animation:none!important;transition:none!important}.approach-case-image img,.approach-story-image img{transform:none!important}}
@media(forced-colors:active){.approach-page :is(h1,h2,h3)>span{background:none;-webkit-text-fill-color:currentColor}.approach-air,.approach-material,.approach-case:after{display:none}.approach-case-copy{background:Canvas;color:CanvasText}.approach-case h2,.approach-case-copy p,.approach-control p,.approach-control h2{color:CanvasText}.approach-control h2>span{-webkit-text-fill-color:CanvasText}.approach-control{background:Canvas;color:CanvasText}}


/* The monochrome photo fills the hero; moving colour light is a separate layer. */
.approach-opening{min-height:min(880px,100svh);display:flex;align-items:center;padding:170px 0 110px;text-align:left;background:#07121d;color:#fff}
.approach-opening .approach-invitation{z-index:2;align-items:flex-start}
.approach-opening h1{color:#fff;font-size:clamp(62px,6.4vw,94px);max-width:850px}
html .approach-opening h1>span,html[data-theme=dark] .approach-opening h1>span{background-image:linear-gradient(110deg,#75a6ff,#00c9e0 65%,#26ead1)}
.approach-opening .approach-opening-copy{color:#e0e6ed;text-shadow:0 1px 16px #0003}
.approach-opening .text-link{color:#fff}
.approach-opening .text-link:is(:hover,:focus-visible){color:#86e9f5}
.approach-hero-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden}
.approach-hero-backdrop img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:grayscale(1)}
.approach-hero-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#030a12e6 0%,#030a12c9 40%,#030a1238 76%,#030a1252),linear-gradient(0deg,#06141e70,transparent 65%)}
.approach-opening .approach-air{z-index:1;opacity:.65;mix-blend-mode:screen;mask-image:linear-gradient(#000 78%,transparent)}
.approach-opening .approach-air:before{background:radial-gradient(ellipse 32% 40% at 8% 45%,#006fff77,transparent 80%),radial-gradient(ellipse 38% 36% at 88% 62%,#00d5c65c,transparent 80%)}
.approach-opening .approach-air:after{background:linear-gradient(118deg,transparent 25%,#007fff25 40%,transparent 53%,#00ddcc25 74%,transparent 92%)}
@media(max-width:800px){.approach-opening{min-height:740px;padding:155px 0 95px}.approach-opening h1{font-size:clamp(54px,8.3vw,74px)}.approach-hero-backdrop img{object-position:62% 50%}.approach-hero-backdrop:after{background:linear-gradient(90deg,#030a12d9,#030a1288),linear-gradient(0deg,#030a1280,transparent 60%)}}
@media(max-width:480px){.approach-opening{min-height:700px;padding:150px 0 95px}.approach-opening h1{font-size:clamp(43px,11.8vw,56px)}.approach-hero-backdrop img{object-position:65% 50%}}
@media(forced-colors:active){.approach-hero-backdrop{display:none}.approach-opening{background:Canvas;color:CanvasText}.approach-opening h1,.approach-opening .approach-opening-copy{color:CanvasText}.approach-opening .text-link{color:LinkText}html .approach-opening h1>span{background:none;-webkit-text-fill-color:CanvasText}}
html[data-access-contrast=true] .approach-hero-backdrop,html[data-access-contrast=true] .approach-opening .approach-air{display:none}
.nav:not(.nav-light):not(.is-scrolled) .nav-group>button[aria-current=page]{color:#8ab8ff}

.approach-opening{text-align:center}
.approach-opening .approach-invitation{align-items:center}
.approach-opening h1{max-width:1050px;margin-inline:auto}
.approach-opening .approach-opening-copy{max-width:600px;margin-inline:auto}
.approach-opening .text-link{align-self:center}
.approach-hero-backdrop:after{background:linear-gradient(90deg,#030a1299,#030a12b8 50%,#030a1273),linear-gradient(0deg,#06141e80,transparent 70%)}
