@font-face{font-family:Sora;src:url('assets/fonts/sora-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Sora;src:url('assets/fonts/sora-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Sora;src:url('assets/fonts/sora-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Sora;src:url('assets/fonts/sora-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}

:root{--navy:#061a2c;--navy-soft:#0a2b46;--blue:#1177a6;--cyan:#56cddd;--ice:#e8f2f5;--paper:#f4f7f7;--text:#102d3d;--muted:#506976;--line:#bfd1d7;--ease:cubic-bezier(.2,.75,.15,1);--k-ring-color:#83e7ec}
*{box-sizing:border-box}
html,body{margin:0;min-width:320px;overflow-x:hidden;overflow-x:clip}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--text);font:400 17px/1.6 'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
.k-on [data-k-in]{opacity:1;transform:none;transition:none}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Sora,'DM Sans',Arial,sans-serif;line-height:1.06;letter-spacing:-.055em}
h2{font-size:clamp(2.6rem,5.5vw,6.4rem);font-weight:500}
h3{font-weight:500}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #36b8d4;outline-offset:4px}
.skip-link{position:fixed;z-index:1000;top:-80px;left:16px;padding:12px 18px;background:white;color:var(--navy)}
.skip-link:focus{top:16px}
.eyebrow,.hero-eyebrow{font:700 .72rem/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.19em;text-transform:uppercase}
.eyebrow{color:#08719c;margin-bottom:32px}
.site-header{position:fixed;z-index:100;inset:0 0 auto;height:106px;display:flex;align-items:center;gap:3vw;padding:0 clamp(22px,4.2vw,80px);color:#fff;background:transparent;pointer-events:none}
.brand{display:inline-flex;align-items:center;gap:10px;margin-right:auto;min-width:190px}
.brand img{width:65px;height:56px;object-fit:contain}
.brand-name{display:flex;flex-direction:column;line-height:1.2}
.brand-name strong{font:600 1.45rem/1 Sora,sans-serif;letter-spacing:-.06em}
.brand-name small{font:500 .52rem/1.5 'DM Sans',sans-serif;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
.desktop-nav{display:flex;align-items:center;gap:clamp(18px,2.6vw,46px);font-size:.82rem;font-weight:600}
.desktop-nav a{transition:color .2s ease}
.desktop-nav a:hover{color:#91deea}
.header-cta{display:inline-flex;align-items:center;gap:20px;border:1px solid #79b6c6;border-radius:100px;padding:13px 18px 13px 22px;font-size:.78rem;font-weight:700;white-space:nowrap;transition:background .2s,color .2s}
.header-cta:hover{background:var(--ice);color:var(--navy)}
.header-cta span{font-size:1.1rem;line-height:1}
.menu-toggle,.mobile-nav{display:none}
.hero{background:var(--navy);color:#f2f8f9}
.hero .k-stage{background-color:#061a2c;background-image:url('assets/hero-owner-clarity-poster.webp');background-position:center;background-size:cover}
.hero .k-stage>video[data-k-scrub]{transition:none}
.hero-index{position:absolute;left:clamp(22px,4.2vw,80px);right:clamp(22px,4.2vw,80px);bottom:28px;z-index:5;display:flex;justify-content:space-between;gap:20px;color:#a6d6de;font-size:.62rem;font-weight:700;letter-spacing:.19em}
.hero-band{left:clamp(22px,8vw,150px);right:auto;bottom:clamp(130px,20vh,245px);max-width:min(950px,80vw)}
.hero-eyebrow{margin-bottom:22px;color:#fff}
.hero-band h1,.hero-headline{font-size:clamp(3.3rem,7.3vw,8.8rem);font-weight:500;line-height:1.03;letter-spacing:-.07em;margin:0}
.hero-headline em{font-style:normal;color:#fff}
.hero-band-one h1{transform:translateX(calc(var(--k-p,0)*4vw)) scale(calc(1 + var(--k-p,0)*.08));transform-origin:left center}
.hero-band-two .hero-headline{transform:translateX(calc((.55 - var(--k-p,0))*5vw)) scale(calc(.92 + var(--k-p,0)*.15));transform-origin:left center}
.hero-band-three .hero-headline{font-size:clamp(3.1rem,6.6vw,7.8rem);max-width:960px}
.hero.k-media-ready:not(.k-static):not(.k-media-failed) .hero-band-one{opacity:var(--film-one-op,1)!important;visibility:visible!important}
.hero.k-media-ready:not(.k-static):not(.k-media-failed) .hero-band-two{opacity:var(--film-two-op,0)!important;visibility:visible!important}
.hero.k-media-ready:not(.k-static):not(.k-media-failed) .hero-band-three{opacity:var(--film-three-op,0)!important;visibility:visible!important}
.hero.k-media-ready:not(.k-static):not(.k-media-failed) .hero-band-one h1{transform:translate3d(var(--film-one-x,0px),var(--film-one-y,0px),0) scale(var(--film-one-scale,1))}
.hero.k-media-ready:not(.k-static):not(.k-media-failed) .hero-band-one .hero-eyebrow{transform:translateX(var(--film-first-shift,0px))}
.hero.k-media-ready:not(.k-static):not(.k-media-failed) .hero-band-two .hero-headline{transform:translate3d(0,var(--film-two-y,0px),0) scale(var(--film-two-scale,1))}
.hero.k-media-ready:not(.k-static):not(.k-media-failed) .hero-band-three .hero-headline{transform:translate3d(0,var(--film-three-y,0px),0) scale(var(--film-three-scale,1));transform-origin:left bottom}
@media(max-width:700px){.hero.k-media-ready:not(.k-static):not(.k-media-failed) .hero-band-one h1{transform:translate3d(var(--film-one-x-phone,0px),var(--film-one-y,0px),0) scale(var(--film-one-scale,1))}}
.hero-action{position:absolute;z-index:4;left:clamp(22px,8vw,150px);bottom:clamp(50px,11vh,125px);opacity:clamp(0,(var(--k-p,0) - .68)*12,1);pointer-events:none;visibility:hidden}
.hero.k-media-ready:not(.k-static):not(.k-media-failed) .hero-action{opacity:var(--film-action-op,0)!important}
.hero-action.is-action-ready{pointer-events:auto;visibility:visible}
.k-static .hero-action{position:relative;left:auto;bottom:auto;opacity:1;pointer-events:auto;align-self:flex-start;margin-top:0}
.primary-button{margin-top:34px;display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:58px;padding:15px 20px 15px 25px;border-radius:100px;background:#54ccdd;color:#052338;font-size:.86rem;font-weight:700;box-shadow:0 14px 35px #001f2e45;transition:transform .25s var(--ease),background .25s}
.primary-button:hover{transform:translateY(-3px);background:#93e8ea}
.primary-button span{font-size:1.25rem;line-height:1}
.hero-progress{position:absolute;z-index:5;right:clamp(22px,4.2vw,80px);bottom:69px;display:flex;align-items:center;gap:20px;color:#a6d6de;font-size:.62rem;font-weight:700;letter-spacing:.17em}
.progress-track{display:block;width:96px;height:1px;background:#a6d6de69}
.progress-track i{display:block;width:100%;height:2px;background:#8fe7e9;transform:scaleX(var(--k-p,0));transform-origin:left}
.intro-section{position:relative;display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2.2fr);gap:5vw;align-items:center;min-height:80vh;padding:clamp(90px,12vw,180px) clamp(24px,8vw,150px);background:#e8f1f3;overflow:hidden}
.intro-copy{max-width:1000px;position:relative;z-index:1}
.intro-copy h2{margin-bottom:34px}
.intro-copy>p:last-child{color:#456472;font-size:clamp(1.05rem,1.55vw,1.35rem);line-height:1.55;max-width:620px}
.intro-frame{position:relative;width:min(27vw,340px);height:min(37vw,450px);overflow:hidden;background:#09263e;box-shadow:20px 24px 0 #c8dee4}
.intro-frame img{width:100%;height:100%;object-fit:cover;object-position:41% center}
.sector-section{padding:clamp(95px,11vw,175px) clamp(24px,7vw,130px);background:#f5f8f8}
.section-top{display:grid;grid-template-columns:1fr 1fr;gap:20px 6vw;margin-bottom:75px;align-items:end}
.section-top .eyebrow{grid-column:1/-1;margin-bottom:0}
.section-top h2{margin-bottom:0}
.section-top>p:last-child{max-width:340px;color:var(--muted);justify-self:end;margin-bottom:5px}
.sector-stage{display:grid;grid-template-columns:minmax(255px,.65fr) minmax(0,1.65fr);background:#e5eff2;min-height:540px;border-radius:8px;overflow:hidden;box-shadow:0 35px 80px #153e4b12}
.sector-disclaimer{margin:18px 0 0;color:#55717d;font-size:.72rem;line-height:1.4;letter-spacing:.02em}
.sector-tabs{display:flex;flex-direction:column;background:#09263e;padding:22px 0}
.sector-tabs button{display:grid;grid-template-columns:40px 1fr 22px;gap:16px;align-items:center;width:100%;min-height:92px;border:0;border-bottom:1px solid #bad9e222;background:transparent;color:#c5dbe1;text-align:left;padding:15px clamp(22px,2.6vw,45px);font-size:clamp(.97rem,1.2vw,1.2rem);font-weight:600;cursor:pointer;transition:background .25s,color .25s}
.sector-tabs button:last-child{border-bottom:0}
.sector-tabs button:hover,.sector-tabs button[aria-selected=true]{background:#174967;color:white}
.tab-num{font-size:.68rem;letter-spacing:.09em;color:#81c9d5}
.tab-arrow{font-size:1.3rem;color:#90e5e9;opacity:0;transform:translate(-5px,5px);transition:opacity .25s,transform .25s}
.sector-tabs button:hover .tab-arrow,.sector-tabs button[aria-selected=true] .tab-arrow{opacity:1;transform:none}
.sector-panel{display:grid;grid-template-rows:minmax(250px,1fr) auto;min-width:0;outline-offset:-5px}
.sector-visual{position:relative;min-height:290px;overflow:hidden;background:#09263e}
.sector-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1}
.sector-panel.is-changing .sector-visual img{animation:photo-in .7s var(--ease) both}
@keyframes photo-in{from{transform:scale(1.025)}to{transform:none}}

.sector-content{display:grid;grid-template-columns:1fr minmax(180px,.7fr);gap:14px 30px;padding:32px clamp(28px,4vw,65px) 38px;background:#e5eff2}
.sector-kicker{grid-column:1/-1;margin:0;color:#08749a;font-size:.7rem;font-weight:700;letter-spacing:.16em}
.sector-content h3{font-size:clamp(1.7rem,2.7vw,3.1rem);margin:0;max-width:580px}
.sector-content>p:not(.sector-kicker){color:#496774;margin:0}
.sector-outcome{grid-column:2;grid-row:2/4;align-self:end;border-left:1px solid #a8c6cf;padding-left:24px;max-width:250px;font-weight:600}
.sector-outcome span{display:block;margin-bottom:11px;color:#107294;font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.work-section{padding:clamp(95px,11vw,175px) clamp(24px,7vw,130px);background:#d7e9ec}
.work-heading{display:grid;grid-template-columns:1.45fr .55fr;gap:0 7vw;align-items:end;margin-bottom:70px}
.work-heading .eyebrow{grid-column:1/-1}.work-heading h2{margin-bottom:0;max-width:900px}.work-heading>p:last-child{max-width:330px;color:#476572;margin-bottom:8px}
.work-list{border-top:1px solid #97b7c2}
.work-item{display:grid;grid-template-columns:95px minmax(0,1fr) 60px;gap:20px;align-items:start;padding:30px 0 35px;border-bottom:1px solid #97b7c2;transition:padding .35s var(--ease),background .35s}
.work-item:hover{padding-left:20px;padding-right:20px;background:#e9f3f4}
.work-count{font-size:.68rem;font-weight:700;letter-spacing:.12em;color:#2780a0;padding-top:13px}
.work-item h3{font-size:clamp(1.55rem,3vw,3rem);margin:0 0 9px}
.work-item p{max-width:600px;margin:0;color:#52707a}
.work-glyph{font-size:2rem;font-weight:300;justify-self:end;color:#207b9b}
.method-section{padding:clamp(95px,11vw,175px) clamp(24px,7vw,130px);background:#f4f7f7}
.method-intro{max-width:850px;margin-bottom:100px}
.method-track{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw;border-top:1px solid #b4cbd1}
.method-track article{position:relative;padding-top:38px}
.method-dot{position:absolute;top:-7px;left:0;width:13px;height:13px;border:3px solid #117ea7;background:#f4f7f7;border-radius:50%}
.method-number{font-size:.68rem;letter-spacing:.15em;color:#1280a5;font-weight:700;margin-bottom:40px}
.method-track h3{font-size:clamp(1.5rem,2.3vw,2.5rem);margin-bottom:20px}
.method-track article>p:last-child{max-width:320px;color:#526c77}
.closing-section{position:relative;display:flex;align-items:center;min-height:83vh;padding:130px clamp(24px,8vw,150px);background:#061a2c;color:#f1f7f7;overflow:hidden}
.closing-content{position:relative;z-index:1;max-width:1050px}
.closing-content .eyebrow{color:#fff}.closing-content h2{font-size:clamp(3rem,6.8vw,7.5rem);margin-bottom:30px}.closing-content h2 em{font-style:normal;color:#fff}
.closing-content>p:not(.eyebrow){max-width:460px;color:#fff;font-size:1.12rem}
.primary-button-light{background:#88e3e7}
.site-footer{display:flex;align-items:flex-end;gap:30px;padding:40px clamp(24px,7vw,130px);background:#041725;color:#b4d0d6;font-size:.75rem}
.footer-brand{display:flex;flex-direction:column;margin-right:auto;line-height:1.2}.footer-brand strong{font:600 2rem Sora,sans-serif;color:#e5f3f4;letter-spacing:-.08em}.footer-brand span{font-size:.6rem;letter-spacing:.08em;text-transform:uppercase}
.site-footer p{margin:0 auto 0 0}.site-footer>span{white-space:nowrap}
@media(max-width:1020px){.desktop-nav{display:none}.site-header{height:88px}.brand{min-width:0}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:46px;height:46px;margin-left:0;background:none;border:1px solid #8fc6d078;border-radius:50%;padding:12px;cursor:pointer}.menu-toggle span{height:1px;width:100%;background:#e6f3f4}.mobile-nav{position:absolute;display:flex;flex-direction:column;top:88px;left:0;right:0;padding:14px 24px 28px;background:#08263d;box-shadow:0 20px 40px #00152188}.mobile-nav[hidden]{display:none}.mobile-nav a{padding:15px 8px;border-bottom:1px solid #8abcc633;font-size:1rem}.intro-section{grid-template-columns:170px 1fr}.sector-stage{grid-template-columns:250px 1fr}.sector-content{grid-template-columns:1fr}.sector-outcome{grid-column:1;grid-row:auto;margin-top:10px}.work-heading{grid-template-columns:1fr}.work-heading>p:last-child{margin-top:28px;justify-self:start}}
@media(max-width:700px){body{font-size:16px}.site-header{padding:0 20px}.brand img{width:49px;height:46px}.brand-name strong{font-size:1.25rem}.brand-name small{font-size:.43rem}.header-cta{display:none}.hero .k-stage{min-height:100svh}.hero-index{left:22px;right:22px;bottom:20px;font-size:.5rem}.hero-index span:last-child{display:none}.hero-progress{display:none}.hero-band{left:24px;right:24px;bottom:clamp(125px,20vh,200px);max-width:none}.hero-action{left:24px;bottom:clamp(48px,8vh,80px)}.hero-band h1,.hero-headline{font-size:clamp(3rem,11.4vw,5.6rem)}.hero-band-three .hero-headline{font-size:clamp(2.8rem,10vw,5rem)}.hero-eyebrow{font-size:.62rem}.primary-button{width:auto;max-width:100%;gap:22px;font-size:.78rem;min-height:54px}.intro-section{display:block;min-height:0;padding:105px 24px 95px}.intro-copy h2{font-size:clamp(2.55rem,9.8vw,4.8rem)}.sector-section,.work-section,.method-section{padding:100px 20px}.section-top{display:block;margin-bottom:40px}.section-top h2{font-size:clamp(2.6rem,9.3vw,4.8rem);margin-bottom:22px}.section-top>p:last-child{justify-self:start}.sector-stage{display:block;min-height:0}.sector-tabs{flex-direction:row;overflow-x:auto;padding:0;scrollbar-width:thin}.sector-tabs button{flex:0 0 auto;width:auto;min-height:62px;display:block;padding:15px 18px;white-space:nowrap;font-size:.82rem;border-bottom:0;border-right:1px solid #bad9e222}.tab-num{margin-right:9px}.tab-arrow{display:none}.sector-panel{display:block}.sector-content{display:block;padding:28px 25px 35px}.sector-content h3{font-size:clamp(1.8rem,7vw,2.6rem);margin:10px 0 18px}.sector-content>p:not(.sector-kicker){font-size:.94rem}.sector-outcome{margin-top:25px!important}.work-heading{display:block;margin-bottom:48px}.work-heading h2{font-size:clamp(2.65rem,9.5vw,4.6rem)}.work-item{grid-template-columns:40px 1fr 25px;gap:10px;padding:26px 0}.work-item h3{font-size:clamp(1.35rem,5.8vw,2rem)}.work-item p{font-size:.92rem}.work-count{padding-top:5px}.work-glyph{font-size:1.4rem}.method-intro{margin-bottom:70px}.method-intro h2{font-size:clamp(2.65rem,9.5vw,4.6rem)}.method-track{display:block;border-top:0;border-left:1px solid #b4cbd1;padding-left:25px}.method-track article{padding:0 0 52px}.method-dot{top:2px;left:-32px}.method-number{margin-bottom:22px}.method-track h3{font-size:1.75rem}.closing-section{min-height:72vh;padding:110px 24px}.closing-content h2{font-size:clamp(2.7rem,10vw,4.7rem)}.closing-content>p:not(.eyebrow){font-size:1rem}.site-footer{padding:35px 24px;display:block}.site-footer p{margin:35px 0 15px}}
@media(max-width:700px){.intro-frame{width:100%;height:310px;margin-bottom:55px;box-shadow:14px 14px 0 #c8dee4}.sector-visual{height:275px;min-height:275px}.hero .k-stage{background-image:url('assets/hero-owner-clarity-m-poster.webp');background-position:center}.hero.k-media-ready:not(.k-static):not(.k-media-failed) .hero-band-one .hero-eyebrow{transform:none}.hero.hero-bright-layers .hero-band-three .hero-headline::first-line{color:#06243a}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-band-one h1,.hero-band-two .hero-headline{transform:none}.sector-panel.is-changing .sector-visual img{animation:none}.primary-button,.work-item{transition:none}}

/* Persistent navigation and reversible, scroll-led composition. */
.site-header{--nav-ink:#fff}
.site-header[data-tone=light]{--nav-ink:#061a2c}
.site-header .brand,.site-header .desktop-nav,.site-header .header-cta,.site-header .menu-toggle{color:var(--nav-ink);pointer-events:auto}
.site-header .brand img{filter:brightness(0) invert(1)}
.site-header[data-tone=light] .brand img{filter:none}
.site-header .header-cta,.site-header .menu-toggle{border-color:currentColor}
.site-header .menu-toggle span{background:currentColor}
.site-header .desktop-nav a:hover{color:inherit;opacity:.7}
.site-header .header-cta:hover{background:transparent;color:var(--nav-ink);transform:translateY(-2px)}
.site-header .mobile-nav{color:#e9f4f5;mix-blend-mode:normal;pointer-events:auto}
section[id]{scroll-margin-top:106px}
.intro-section{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(45px,7vw,130px);min-height:88vh}
.intro-copy{grid-column:1;grid-row:1}
.intro-frame{grid-column:2;grid-row:1;width:min(100%,535px);height:auto;aspect-ratio:1196/1315;justify-self:end;box-shadow:none;border:1px solid #b4d2dc}
.intro-frame img{object-position:center}
.intro-frame .fragment-slice{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;will-change:transform,opacity}
.fragment-ready .intro-frame .fragment-base{visibility:hidden}
.fragment-ready [data-fragment]{opacity:var(--reveal-p,1);transform:translate3d(0,var(--rise,0px),0);clip-path:inset(0 0 var(--cut,0%) 0);will-change:transform,opacity,clip-path}
.fragment-ready .intro-frame{clip-path:none;opacity:1;transform:perspective(1200px) rotateX(var(--depth-rotate-x,0deg)) rotateY(var(--depth-rotate-y,0deg)) translate3d(var(--depth-shift-x,0px),var(--depth-shift-y,0px),0);transform-style:preserve-3d;box-shadow:24px 34px 55px #0b395137,0 4px 12px #0b395127}
.intro-section{perspective:1500px}
.intro-frame{overflow:visible;isolation:isolate;transition:box-shadow .2s ease;backface-visibility:hidden}
.intro-frame::before{content:"";position:absolute;inset:0;background:#16749b;border:1px solid #63b6d5;transform:translate3d(14px,17px,-25px);box-shadow:8px 9px 0 #0c3a56;pointer-events:none}
.intro-frame .fragment-base,.intro-frame .fragment-slice{backface-visibility:hidden}
.intro-frame .fragment-base{position:relative;z-index:1}
.intro-frame .fragment-slice{z-index:2}
.fragment-ready .fragment-word{display:inline-block;transform:translate3d(var(--move-x,0px),var(--move-y,0px),0) rotate(var(--spin,0deg));will-change:transform}
.fragment-ready .work-item{position:relative;z-index:1}
.work-list{overflow:clip}
.work-item:hover{background:transparent}
.closing-section{display:flex;align-items:center;min-height:85vh;padding:clamp(120px,13vw,190px) clamp(24px,8vw,150px);background:#061a2c}
.closing-content{position:relative;z-index:1;align-self:auto;padding:0;max-width:1000px}
.closing-content h2{font-size:clamp(3rem,6.4vw,7rem)}
.closing-film{position:absolute;inset:0;z-index:0;overflow:hidden;background:#061a2c url('assets/closing-swirl-bright.webp') center/cover no-repeat}
.closing-film video{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.site-footer{display:block;padding:70px clamp(24px,7vw,130px) 30px;font-size:.9rem}
.footer-main{display:grid;grid-template-columns:minmax(240px,1.7fr) repeat(3,minmax(140px,1fr));gap:clamp(30px,4vw,90px);padding-bottom:75px}
.footer-brand{display:inline-flex;align-items:center;flex-direction:row;gap:12px;margin:0}
.footer-brand img{width:66px;height:59px;object-fit:contain}
.footer-brand>span{display:flex;flex-direction:column;gap:2px}
.footer-brand strong{font-size:1.65rem}
.footer-brand small{font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:#b4d0d6;white-space:nowrap}
.footer-identity p{max-width:310px;margin:30px 0 0;color:#b4d0d6;font-size:1rem}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.footer-column h2{margin:0 0 14px;color:#68cfe0;font:700 .7rem/1.3 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase}
.footer-column a{color:#e5f3f4;overflow-wrap:anywhere}
.footer-column a:hover,.footer-bottom a:hover{color:#7ee0e8}
.footer-column address{display:flex;flex-direction:column;gap:14px;font-style:normal}
.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #53809866;padding-top:28px;color:#9cbcc6;font-size:.75rem}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:1020px){section[id]{scroll-margin-top:88px}.intro-section{grid-template-columns:minmax(0,1.1fr) minmax(240px,.9fr)}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}}
@media(max-width:700px){.intro-section{display:flex;flex-direction:column;gap:44px;padding:95px 24px}.intro-copy{order:1}.intro-frame{order:2;width:100%;max-width:500px;height:auto;max-height:none;aspect-ratio:1196/1315;margin:0;align-self:center;box-shadow:none}.closing-section{display:flex;align-items:center;min-height:95svh;padding:130px 24px 110px}.closing-content{padding:0}.closing-content h2{font-size:clamp(2.7rem,10vw,4.7rem)}.closing-film{inset:0;width:100%;height:100%;min-height:0;max-height:none}.closing-film video{object-position:58% center}.site-footer{padding:55px 24px 28px}.footer-main{grid-template-columns:1fr 1fr;gap:45px 20px;padding-bottom:55px}.footer-identity{grid-column:1/-1}.footer-bottom{flex-wrap:wrap}}
@media(max-width:420px){.footer-main{grid-template-columns:1fr}.footer-identity{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.fragment-ready [data-fragment]{opacity:1!important;transform:none!important;clip-path:none!important}.fragment-ready .fragment-word{transform:none!important}.fragment-ready .intro-frame .fragment-base{visibility:visible}.fragment-ready .intro-frame .fragment-slice{display:none}.intro-frame::before{display:none}.closing-film video{display:none}}

/* One continuous portfolio stage: a single project resolves at each scroll stop. */
.portfolio-section{position:relative;background:#071b2b;color:#e9f7f9;overflow:clip}
.portfolio-section::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 42%,#147fa32e,transparent 45%)}
#portfolio{scroll-margin-top:0}
.portfolio-sticky{position:relative;padding:105px clamp(24px,8vw,150px)}
.portfolio-label{margin:0 0 32px;color:#79d9e7;font:700 .72rem/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.19em;text-transform:uppercase}
.portfolio-stage{position:relative}
.portfolio-slide{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);align-items:center;gap:clamp(45px,7vw,130px);min-height:75vh;padding:55px 0;border-bottom:1px solid #4d7880}
.portfolio-slide:last-child{border-bottom:0}
.portfolio-copy{max-width:800px}
.portfolio-meta{display:inline-flex;align-items:center;gap:12px;color:#84dcea;font:700 .75rem/1.4 'DM Sans',sans-serif;letter-spacing:.13em;text-transform:uppercase;margin-bottom:36px;padding:10px 15px;border:1px solid #65b9ce70;border-radius:999px;background:#0e3850}
.portfolio-copy h3{font-size:clamp(3.1rem,5.7vw,7rem);line-height:1.03;font-weight:500;letter-spacing:-.065em;margin:0 0 30px}
.portfolio-copy>p:last-child{font-size:clamp(1.05rem,1.65vw,1.45rem);color:#c3dce2;line-height:1.55;max-width:620px;margin:0}
.portfolio-frame{position:relative;width:min(100%,535px);aspect-ratio:3/4;justify-self:end;overflow:hidden;background:#123b52;border:1px solid #5b9db4;border-radius:24px;box-shadow:22px 30px 65px #0008,0 0 0 8px #377a9628}
.portfolio-frame::after{content:"";position:absolute;inset:0;border:1px solid #fff7;border-radius:inherit;pointer-events:none}
.portfolio-frame img{display:block;width:100%;height:100%;object-fit:cover}
.portfolio-frame>span:not(.portfolio-slice){position:absolute;right:16px;bottom:16px;color:#e4faff;background:#05263dd9;border:1px solid #7acee584;border-radius:999px;padding:9px 12px;font-size:.56rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;max-width:calc(100% - 32px)}
.portfolio-frame::before{content:attr(data-index);position:absolute;z-index:1;top:16px;left:16px;display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#e9f9fc;color:#073149;font:700 .8rem/1 'DM Sans',sans-serif;box-shadow:0 5px 18px #001d2d55}
.portfolio-progress{display:none}
.portfolio-ready .portfolio-section{height:var(--portfolio-height,700svh)}
.portfolio-ready .portfolio-sticky{position:sticky;top:0;height:100svh;min-height:0;padding:0;overflow:hidden}
.portfolio-ready .portfolio-label{position:absolute;z-index:2;top:clamp(116px,13vh,155px);left:clamp(24px,8vw,150px);margin:0}
.portfolio-ready .portfolio-stage{position:absolute;inset:0}
.portfolio-ready .portfolio-slide{position:absolute;inset:0;min-height:0;padding:clamp(145px,16vh,190px) clamp(24px,8vw,150px) clamp(75px,8vh,120px);border:0;opacity:var(--portfolio-p,0);transform:translate3d(0,var(--portfolio-y,0px),0);pointer-events:none;will-change:opacity,transform}
.portfolio-ready .portfolio-frame .portfolio-base{visibility:hidden}
.portfolio-ready .portfolio-frame .portfolio-slice{position:absolute;inset:0;background-position:center;background-size:cover;will-change:transform,opacity}
.portfolio-ready .portfolio-word{display:inline-block;will-change:transform}
.portfolio-ready .portfolio-progress{position:absolute;z-index:2;left:clamp(24px,8vw,150px);right:clamp(24px,8vw,150px);bottom:38px;display:flex;align-items:center;gap:20px;color:#8cddeb;font-size:.68rem;font-weight:700;letter-spacing:.16em}
.portfolio-progress-track{display:block;position:relative;width:min(250px,35vw);height:2px;background:#377084}
.portfolio-progress-track i{display:block;width:100%;height:2px;background:#8ee5ef;transform:scaleX(var(--portfolio-progress,0));transform-origin:left}
@media(max-width:700px){.portfolio-sticky{padding:95px 24px}.portfolio-slide{display:flex;flex-direction:column;align-items:stretch;gap:30px;min-height:0;padding:40px 0 65px}.portfolio-copy h3{font-size:clamp(2.4rem,9.6vw,4.8rem);margin-bottom:20px}.portfolio-copy>p:last-child{font-size:1rem}.portfolio-meta{font-size:.66rem;margin-bottom:20px}.portfolio-frame{width:100%;height:min(38svh,340px);aspect-ratio:auto;align-self:center}.portfolio-ready .portfolio-label{top:108px;left:24px}.portfolio-ready .portfolio-slide{display:flex;justify-content:center;gap:25px;padding:155px 24px 74px}.portfolio-ready .portfolio-progress{left:24px;right:24px;bottom:24px}.portfolio-progress-track{width:120px}}
@media(max-width:700px) and (max-height:720px){.portfolio-ready .portfolio-label{top:95px}.portfolio-ready .portfolio-slide{padding-top:120px;padding-bottom:54px;gap:14px}.portfolio-copy h3{font-size:clamp(2rem,8.5vw,3.6rem);margin-bottom:12px}.portfolio-copy>p:last-child{font-size:.91rem;line-height:1.4}.portfolio-meta{margin-bottom:12px}.portfolio-frame{height:29svh}.portfolio-ready .portfolio-progress{bottom:14px}}
@media(prefers-reduced-motion:reduce){.portfolio-ready .portfolio-section{height:auto!important}.portfolio-ready .portfolio-sticky{position:relative;height:auto;padding:95px clamp(24px,8vw,150px);overflow:visible}.portfolio-ready .portfolio-label{position:static;margin-bottom:30px}.portfolio-ready .portfolio-stage{position:relative;inset:auto}.portfolio-ready .portfolio-slide{position:relative;inset:auto;opacity:1!important;transform:none!important;pointer-events:auto;min-height:70vh;padding:50px 0;border-bottom:1px solid #4d7880}.portfolio-ready .portfolio-frame .portfolio-base{visibility:visible}.portfolio-ready .portfolio-frame .portfolio-slice{display:none}.portfolio-ready .portfolio-word{transform:none!important}.portfolio-ready .portfolio-progress{display:none}}
