@font-face{font-family:Inter;src:url('assets/Inter-Latin.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--ink:#102a43;--slate:#34567b;--blue:#8da5be;--lavender:#88879e;--rose:#caa5ac;--apricot:#f0c7ad;--paper:#f7f6f3;--muted:#526176;--line:#d7dde4}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #8da5be;outline-offset:6px}p{line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:450;letter-spacing:-.05em}h2{font-size:clamp(2.5rem,4.7vw,4.75rem);line-height:1.08;margin-bottom:40px}h3{font-size:1.75rem;line-height:1.15}.wrap{max-width:1600px;padding-left:6vw;padding-right:6vw;margin:auto}.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.13em;font-weight:550;margin-bottom:30px}.muted-heading{color:var(--muted)}.skip{position:fixed;top:-100px;background:white;padding:16px;z-index:100}.skip:focus{top:0}
.header{height:88px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;gap:28px;position:fixed;inset:0 0 auto;z-index:20;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}.header.scrolled{background:#f7f6f3f2;backdrop-filter:blur(16px);border-color:#102a4314}.brand{width:248px;height:auto;display:block}.header nav{display:flex;align-items:center;gap:36px;font-size:.875rem}.header nav>a:not(.nav-cta){padding:12px 0}.nav-cta{padding:13px 20px;border:1px solid #102a4355;border-radius:2px}.nav-cta span{margin-left:22px}.nav-cta:hover{background:var(--ink);color:white}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:54px;padding:16px 23px;border-radius:2px;background:var(--ink);color:white;border:1px solid transparent;font-size:.875rem;font-weight:500;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px);background:var(--slate)}.button.light{background:var(--paper);color:var(--ink)}.button.light:hover{background:var(--apricot)}
.hero{height:100svh;min-height:760px;position:relative;background:#b1b6c7}.motion-enabled .hero{height:175svh}.hero-pin{height:100svh;min-height:760px;position:sticky;top:0;overflow:hidden;isolation:isolate}.sky{position:absolute;inset:-6%;z-index:-2;background:url('assets/sunset.svg') center/cover;transform:translate3d(0,var(--sky-shift,0px),0) scale(1.08)}.hero-pin::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(247,246,243,.97) 0%,rgba(247,246,243,.86) 29%,rgba(247,246,243,.3) 58%,rgba(247,246,243,0) 78%)}.hero-copy{position:relative;padding:clamp(145px,20svh,220px) 0 110px 6vw;max-width:64%;transform:translate3d(0,var(--copy-shift,0px),0)}.hero h1{font-size:clamp(3.5rem,6.5vw,6.5rem);line-height:1.01;letter-spacing:-.065em;margin-bottom:28px}.line{display:block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.09em}.line>span{display:block}.hero h1 .accent{color:var(--slate)}.hero .eyebrow{margin-bottom:25px}.lead{max-width:430px;font-size:1.0625rem;color:#344b61;margin:30px 0}.hero-art{position:absolute;width:56%;height:85%;right:-2%;top:8%;pointer-events:none}.hero-art canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity .7s}.hero-art.ready canvas{opacity:1}.logo-fallback{position:absolute;width:70%;height:auto;left:15%;top:50%;transform:translateY(-50%) rotate(-9deg);filter:brightness(0) invert(1) drop-shadow(16px 22px 22px #34567b30);transition:opacity .5s}.hero-art.ready .logo-fallback{opacity:0}.hero-bottom{position:absolute;bottom:34px;left:6vw;right:4vw;display:flex;justify-content:space-between;align-items:end;font-size:.75rem}.hero-note{text-align:right;line-height:1.6}.scroll-cue{display:flex;align-items:center;gap:16px;min-height:44px}.scroll-track{display:block;width:1px;height:42px;background:#102a4330;position:relative;overflow:hidden}.scroll-track::after{content:"";position:absolute;width:1px;height:16px;background:var(--ink);animation:scroll-cue 2.5s ease-in-out infinite}.motion-enabled .line>span{animation:line-in 1.15s cubic-bezier(.2,.7,.2,1) both}.motion-enabled .line:nth-child(2)>span{animation-delay:.12s}.motion-enabled .line:nth-child(3)>span{animation-delay:.24s}.motion-enabled .entrance{animation:fade-in 1s .45s both}@keyframes line-in{from{transform:translateY(115%)}to{transform:translateY(0)}}@keyframes fade-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-cue{0%{transform:translateY(-18px)}70%,100%{transform:translateY(48px)}}
.intro{display:grid;grid-template-columns:1fr 3fr;gap:6%;padding-top:145px;padding-bottom:150px;position:relative;background:var(--paper)}.intro>.eyebrow{padding-top:10px}.intro h2{font-size:clamp(2.4rem,4.2vw,4.4rem)}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:8%;max-width:930px}.intro-columns p{font-size:1.0625rem;color:var(--muted);margin-bottom:0}
.expertise{background:var(--ink);color:var(--paper);padding-top:110px;padding-bottom:45px}.expertise .section-heading{margin-bottom:28px}.expertise .section-heading h2 span{color:#aab6c7}.expertise .eyebrow{color:var(--apricot)}.service-journey{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.service-visual{position:sticky;top:125px;height:min(620px,75svh);min-height:450px;margin-bottom:80px;display:flex;flex-direction:column;justify-content:space-between;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30;overflow:hidden;background:radial-gradient(ellipse at 50% 55%,#34567b60,transparent 68%)}.visual-top,.visual-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.75rem;color:#c5cfda;padding:22px 0}.visual-bottom{flex-wrap:wrap;font-size:.875rem;color:var(--paper)}.visual-progress{height:2px;background:#ffffff25;width:92px;overflow:hidden}.visual-progress i{display:block;height:100%;width:33.33%;background:var(--apricot);transition:width .7s}.service-visual[data-active="1"] .visual-progress i{width:66.66%}.service-visual[data-active="2"] .visual-progress i{width:100%}
.architecture{position:absolute;left:0;right:0;top:18%;bottom:15%;perspective:900px}.architecture-plane{position:absolute;left:17%;width:66%;height:46%;border:1px solid #ffffff65;transform:rotateX(57deg) rotateZ(-31deg);transform-style:preserve-3d;transition:transform 1s cubic-bezier(.2,.65,.2,1),background 1s,top 1s;box-shadow:0 18px 36px #06152530}.plane-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff16 1px,transparent 1px),linear-gradient(90deg,#ffffff16 1px,transparent 1px);background-size:25% 25%}.architecture-plane span{position:absolute;bottom:12px;left:14px;font-size:.75rem;letter-spacing:.1em}.plane-top{top:0;z-index:4;background:#8da5be30}.plane-middle{top:25%;z-index:3;background:#caa5ac45}.plane-bottom{top:50%;z-index:2;background:#f0c7ad85}.architecture-axis{position:absolute;top:0;bottom:0;width:1px;background:linear-gradient(transparent,#fff6,transparent);left:50%}.architecture-core{position:absolute;left:48%;top:46%;width:4%;height:4%;border:1px solid white;transform:rotate(45deg);box-shadow:0 0 45px 12px #f0c7ad25;z-index:5}.service-visual[data-active="1"] .plane-top{top:5%;transform:rotateX(57deg) rotateZ(-16deg);background:#8da5be65}.service-visual[data-active="1"] .plane-middle{transform:rotateX(57deg) rotateZ(-16deg);background:#caa5ac95}.service-visual[data-active="1"] .plane-bottom{top:45%;transform:rotateX(57deg) rotateZ(-16deg);background:#f0c7ad35}.service-visual[data-active="2"] .plane-top{top:13%;background:#f0c7ad95;transform:rotateX(57deg) rotateZ(0deg)}.service-visual[data-active="2"] .plane-middle{top:29%;background:#caa5ac65;transform:rotateX(57deg) rotateZ(0deg)}.service-visual[data-active="2"] .plane-bottom{top:45%;background:#8da5be50;transform:rotateX(57deg) rotateZ(0deg)}
.service-stage{min-height:85svh;padding:75px 0 100px;display:flex;flex-direction:column;justify-content:center;scroll-margin-top:100px}.service-stage+.service-stage{border-top:1px solid #ffffff25}.service-stage h3{font-size:clamp(2.5rem,4.3vw,4.4rem);line-height:1.08;margin-bottom:28px}.service-stage>p:not(.eyebrow){font-size:1.125rem;color:#c5cfda;max-width:510px}.service-stage ul{list-style:none;padding:0;line-height:1.6;font-size:.875rem;color:#c5cfda;margin:6px 0 25px}.service-stage li{padding:9px 0;border-bottom:1px solid #ffffff1a}.outcome{font-size:1rem;line-height:1.5;max-width:460px}.outcome>span{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:.75rem;color:var(--apricot);margin-bottom:10px}
.approach{padding-top:145px;padding-bottom:140px}.approach-heading{display:flex;justify-content:space-between;gap:10%;align-items:end;margin-bottom:55px}.approach-heading>p{max-width:390px;color:var(--muted);font-size:1.0625rem;margin-bottom:44px}.approach-heading strong{font-weight:600;color:var(--ink)}.delivery-track{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;position:relative}.delivery-line{position:absolute;top:23px;left:0;right:0;height:1px;background:var(--line)}.delivery-line i{display:block;height:100%;background:var(--slate);transform:scaleX(var(--delivery-progress,1));transform-origin:left}.step-number{position:relative;display:grid;place-items:center;width:48px;height:48px;background:var(--paper);border:1px solid var(--slate);border-radius:50%;font-size:.875rem;margin-bottom:40px}.delivery-step>.eyebrow{color:var(--slate);margin-bottom:15px}.delivery-step h3{font-size:clamp(1.5rem,2.3vw,2.1rem);margin-bottom:22px}.delivery-step>p:not(.eyebrow){color:var(--muted);font-size:1rem}.decision{border-top:1px solid var(--line);margin-top:28px;padding-top:20px;font-size:.875rem;line-height:1.6}.decision>span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;color:var(--muted)}
.principles{background:#edf0f2;padding:115px 0 125px}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;margin-top:70px}.principle-grid article{border-top:1px solid #102a4380;padding-top:20px}.principle-grid span{font-size:.75rem;color:var(--muted)}.principle-grid h3{font-size:1.65rem;margin-top:38px;margin-bottom:18px}.principle-grid p{font-size:1rem;color:var(--muted);margin-bottom:0}
.conversation{background:var(--ink);color:white;position:relative;isolation:isolate;overflow:hidden}.conversation-sky{position:absolute;inset:-15%;z-index:-2;background:url('assets/sunset.svg') center/cover;transform:translateY(var(--close-shift,0px))}.conversation::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#102a43ee,#102a43b3 60%,#102a4377)}.conversation-inner{min-height:640px;display:flex;flex-direction:column;justify-content:center;padding-top:120px;padding-bottom:110px}.conversation h2{font-size:clamp(2.75rem,6.2vw,6rem);line-height:1.04;max-width:1000px}.conversation p:not(.eyebrow){color:#e0e5ed;max-width:520px;font-size:1.0625rem}.conversation .eyebrow{color:var(--apricot)}.booking{display:flex;gap:30px;align-items:center;margin-top:25px}.booking .booking-status{font-size:.75rem;margin:0;max-width:220px}footer{display:grid;grid-template-columns:1fr auto;gap:22px;padding-top:45px;padding-bottom:35px;align-items:center}footer p{font-size:.875rem;text-align:right;margin:0}footer small,footer a,footer button{font-size:.75rem;color:var(--muted)}.footer-controls{display:flex;gap:28px;justify-content:end;align-items:center}.footer-controls button{border:0;background:none;padding:12px 0;min-height:44px}.footer-controls a{padding:12px 0}dialog{max-width:520px;width:calc(100% - 32px);border:none;border-radius:4px;padding:48px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#102a43b3;backdrop-filter:blur(5px)}dialog h2{font-size:2.25rem}dialog p{font-size:1rem;color:var(--muted)}.close{position:absolute;right:12px;top:8px;width:44px;height:44px;border:none;background:none;font-size:1.75rem;color:var(--ink)}
.motion-enabled .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.65,.2,1)}.motion-enabled .reveal.visible{opacity:1;transform:none}
@media(min-width:1600px){.hero-copy{padding-left:max(6vw,calc((100vw - 1408px)/2))}}
@media(max-width:1050px){.hero h1{font-size:6.4vw}.hero-copy{max-width:67%}.hero-art{width:53%;right:-4%}.lead{max-width:350px}.intro{grid-template-columns:1fr;gap:20px}.service-journey{gap:6%}.service-stage h3{font-size:3rem}.service-visual{min-height:390px}.architecture-plane{left:12%;width:76%}.approach-heading{gap:6%}.approach-heading>p{max-width:330px}}
@media(max-width:760px){html{scroll-padding-top:90px}.header{height:76px;padding:0 6vw}.brand{width:190px}.header nav>a:not(.nav-cta){display:none}.nav-cta{font-size:.8125rem;white-space:nowrap;padding:11px 14px}.nav-cta span{margin-left:10px}.hero,.motion-enabled .hero{height:auto;min-height:0}.hero-pin{height:auto;min-height:940px;position:relative}.hero-copy{padding:132px 6vw 420px;max-width:none;transform:none}.hero h1{font-size:clamp(3rem,9vw,4.6rem);letter-spacing:-.055em}.hero h1 .line:first-child,.hero h1 .line:nth-child(2){display:inline-block}.hero h1 .line:first-child{margin-right:.15em}.hero-pin::after{background:linear-gradient(180deg,#f7f6f3ed,#f7f6f3c9 36%,#f7f6f326 67%,transparent)}.hero-art{width:90%;height:420px;top:auto;right:5%;bottom:50px}.logo-fallback{width:65%;left:17.5%}.lead{max-width:470px;font-size:1rem}.hero-bottom{bottom:22px;right:6vw}.hero-note{display:none}.hero-copy .eyebrow{font-size:.75rem}.intro{padding-top:85px;padding-bottom:85px;gap:0}.intro-columns{grid-template-columns:1fr;gap:20px}.intro h2{font-size:clamp(2.25rem,6.8vw,3.2rem)}.expertise{padding-top:80px;padding-bottom:25px}.expertise h2{font-size:clamp(2.3rem,7vw,3.5rem)}.service-journey{display:block}.service-visual{display:none}.service-stage{min-height:0;padding:45px 0 65px}.service-stage h3{font-size:clamp(2.7rem,8vw,3.75rem)}.service-stage .eyebrow{margin-bottom:24px}.service-stage>p:not(.eyebrow){font-size:1.0625rem}.service-stage+.service-stage{padding-top:60px}.approach{padding-top:85px;padding-bottom:85px}.approach-heading{display:block;margin-bottom:35px}.approach-heading>p{max-width:500px;margin-bottom:0}.delivery-track{grid-template-columns:1fr;gap:40px}.delivery-line{display:none}.delivery-step{padding-left:75px;position:relative}.step-number{position:absolute;left:0;top:0}.delivery-step h3{font-size:1.9rem}.principles{padding:85px 0}.principle-grid{grid-template-columns:1fr;gap:35px;margin-top:45px}.principle-grid h3{margin-top:25px}.conversation-inner{min-height:580px;padding-top:90px;padding-bottom:90px}.conversation h2{font-size:clamp(2.75rem,8.5vw,4rem)}.booking{align-items:start;flex-direction:column;gap:20px}.booking .booking-status{max-width:none}.conversation::before{background:#102a43bc}footer{grid-template-columns:1fr;gap:20px}footer p{text-align:left}.footer-controls{justify-content:space-between}.hero .entrance{animation-delay:.15s}.motion-enabled .reveal{transform:translateY(15px)}}
@media(max-height:700px) and (min-width:761px){.hero,.hero-pin{min-height:700px}.hero-copy{padding-top:125px}.hero h1{font-size:5.5vw}.hero .lead{margin:20px 0}.service-visual{top:100px;height:480px;min-height:0}}
@media(max-width:400px){.header{gap:12px}.header .brand{width:164px}.nav-cta{padding:11px 12px}.hero h1{font-size:2.45rem}.hero-copy{padding-top:120px}.hero-pin{min-height:910px}.button{gap:24px}.eyebrow{letter-spacing:.09em}.service-stage .eyebrow{font-size:.75rem}.footer-controls{gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero,.motion-enabled .hero{height:auto}.hero-pin{position:relative}.hero-copy,.sky,.conversation-sky{transform:none!important}.motion-enabled .reveal{opacity:1;transform:none}.hero-art canvas{display:none}.hero-art.ready .logo-fallback{opacity:1}}
.reduced-motion{scroll-behavior:auto}.reduced-motion *, .reduced-motion *::before,.reduced-motion *::after{animation:none!important;transition:none!important}.reduced-motion .hero{height:auto}.reduced-motion .hero-pin{position:relative}.reduced-motion .hero-copy,.reduced-motion .sky,.reduced-motion .conversation-sky{transform:none!important}.reduced-motion .reveal{opacity:1;transform:none}.reduced-motion .hero-art canvas{display:none}.reduced-motion .hero-art.ready .logo-fallback{opacity:1}
/* Brand overture: a scroll-scrubbed opening, never a timed loading screen. */
.brand-opening{display:none}.motion-enabled .hero{height:270svh}.motion-enabled .brand-opening{display:flex;position:absolute;inset:0;z-index:8;align-items:center;justify-content:center;overflow:hidden;color:white;opacity:var(--opening-opacity,1);pointer-events:auto;will-change:opacity}.opening-sky{position:absolute;inset:-5%;background:url('assets/sunset.svg') center/cover;transform:scale(var(--opening-scale,1));z-index:-1}.opening-lockup{width:min(57vw,1080px);height:auto;filter:brightness(0) invert(1);transform:translateY(var(--opening-y,0px)) scale(var(--opening-scale,1));will-change:transform}.opening-scroll{position:absolute;bottom:6svh;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;font-size:.8125rem;letter-spacing:.03em;padding:14px 24px;white-space:nowrap}.opening-arrow{font-size:1.5rem;line-height:1.2}.opening-scroll:hover .opening-arrow{transform:translateY(5px)}.opening-arrow{transition:transform .3s}.header.intro-hidden{opacity:0;pointer-events:none;transform:translateY(-12px)}.header{transition:opacity .6s,transform .6s,background .3s,border-color .3s}.motion-enabled .hero-copy{opacity:var(--arrival-opacity,0);transform:translate3d(0,calc(var(--copy-shift,0px) + var(--arrival-y,65px)),0)}.motion-enabled .hero-art,.motion-enabled .hero-bottom{opacity:var(--arrival-opacity,0)}.motion-enabled .intro-complete .brand-opening{pointer-events:none}.motion-enabled .hero .entrance,.motion-enabled .hero .line>span{animation:none}.motion-enabled .hero .line>span{transform:translateY(calc((1 - var(--arrival-opacity,0))*105%))}.motion-enabled .hero .line:nth-child(2)>span{transform:translateY(calc((1 - var(--arrival-opacity,0))*125%))}.motion-enabled .hero .line:nth-child(3)>span{transform:translateY(calc((1 - var(--arrival-opacity,0))*145%))}
@media(max-width:760px){.motion-enabled .hero{height:220svh;min-height:1200px}.motion-enabled .hero-pin{height:100svh;min-height:740px;position:sticky;top:0}.motion-enabled .hero-copy{padding:110px 6vw 0}.motion-enabled .hero h1{font-size:clamp(2.45rem,7.8vw,3.5rem)}.motion-enabled .hero .lead{max-width:500px;margin:22px 0}.motion-enabled .hero-art{height:290px;bottom:25px;top:auto}.motion-enabled .hero-bottom{bottom:12px}.motion-enabled .hero-copy .button{position:relative;z-index:2}.opening-lockup{width:84vw}.opening-scroll{bottom:7svh}.motion-enabled .hero .scroll-cue{display:none}}
@media(prefers-reduced-motion:reduce){.motion-enabled .brand-opening{display:none}.motion-enabled .hero{height:auto}.motion-enabled .hero-copy,.motion-enabled .hero-art,.motion-enabled .hero-bottom{opacity:1}.motion-enabled .hero .line>span{transform:none!important}.header.intro-hidden{opacity:1;transform:none;pointer-events:auto}}
.reduced-motion .brand-opening{display:none}.reduced-motion .hero-copy,.reduced-motion .hero-art,.reduced-motion .hero-bottom{opacity:1}.reduced-motion .hero .line>span{transform:none!important}
@media(max-width:400px){.motion-enabled .hero-pin{min-height:940px}.motion-enabled .brand-opening{height:100svh}.motion-enabled .hero-art{height:300px;bottom:55px}}
