@font-face{font-family:Geist;src:url('../assets/geist.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--cream:#f3ede1;--muted:#afb8c4;--gold:#dfc69c;--line:rgba(222,228,238,.22);--gutter:7.2vw;--ease:cubic-bezier(.2,.7,.2,1);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#080f1d;color:var(--cream);font-family:Geist,Arial,sans-serif;font-weight:350;-webkit-font-smoothing:antialiased;overflow-x:clip;overflow-y:visible}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:7px}::selection{background:#c6a782;color:#0a1422}button{border:0}em{font-family:Geist,Arial,sans-serif;font-style:normal;font-weight:400}h1,h2,h3,p{margin:0}h2{font-size:clamp(48px,6.4vw,100px);line-height:1.05;font-weight:380;letter-spacing:-.06em}h2 em{letter-spacing:-.065em}p{line-height:1.65}main{position:relative;z-index:2}.sky-wrap{position:fixed;top:0;left:0;right:0;height:100vh;height:100lvh;z-index:0;pointer-events:none;contain:paint;transform:translateZ(0);background:radial-gradient(ellipse at 70% 65%,#263e53,#0c1728 60%,#060d1a)}#sky{width:100%;height:100%;display:block}.sky-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,8,20,.18),transparent 50%),linear-gradient(180deg,rgba(4,10,20,.12),transparent 25%,transparent 80%,rgba(3,9,16,.2))}.skip-link{position:fixed;top:12px;left:12px;background:var(--cream);color:#101c2c;padding:14px;z-index:100;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.scene{position:relative}.hero{height:100svh;min-height:660px}.hero-identity{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform-origin:center 46%;will-change:transform,opacity;padding-bottom:4vh}.hero h1{display:flex;align-items:center;gap:3.4vw;font-size:clamp(38px,7.2vw,120px);font-weight:440;letter-spacing:.055em;line-height:1}.hero h1 img{object-fit:contain;width:clamp(33px,4.4vw,70px);height:auto;transform:rotate(-6deg);filter:drop-shadow(0 0 25px #c1d6ef66)}.scroll-invitation{position:absolute;bottom:15.5%;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;white-space:nowrap;font-size:9px;letter-spacing:.19em;font-weight:450;gap:14px;color:#d9dce2}.scroll-line{width:1px;height:40px;background:linear-gradient(transparent,#d9dce2aa);transform-origin:top;animation:lineBreath 4s ease-in-out infinite}.scroll-label{font-size:8px;color:#a7b1c1;letter-spacing:.2em}.down-arrow{font-size:18px;margin-top:-8px;color:#e8e5dc}.site-header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:27px var(--gutter);opacity:0;transform:translateY(-12px);pointer-events:none;transition:opacity .5s,transform .5s;background:linear-gradient(#080f1db3,transparent)}.site-header.is-visible{opacity:1;transform:none;pointer-events:auto}.small-wordmark{display:flex;align-items:center;gap:15px;font-size:13px;letter-spacing:.12em;font-weight:550}.small-wordmark img{width:17px;height:30px;object-fit:contain}.site-header nav{display:flex;gap:35px;align-items:center;font-size:12px}.site-header nav a{position:relative}.site-header nav a:not(.nav-contact):after{content:'';position:absolute;bottom:-6px;left:0;right:0;height:1px;background:var(--cream);transform:scaleX(0);transform-origin:left;transition:transform .3s}.site-header nav a:hover:after{transform:scaleX(1)}.nav-contact{border:1px solid #c2c5c247;padding:11px 17px;border-radius:2px;display:flex;gap:26px;transition:background .3s}.nav-contact:hover{background:#d5cbb41a}.content-scene{padding:120px var(--gutter) 90px;max-width:1800px;margin:auto}.section-kicker{display:flex;gap:13px;align-items:center;font-size:9px;font-weight:450;letter-spacing:.17em;color:#bdc6cf}.tiny-star{color:var(--gold);font-size:15px}.approach{min-height:105svh;display:flex;flex-direction:column;justify-content:center}.approach-layout{display:grid;grid-template-columns:1.8fr 1fr;gap:9%;margin:75px 0 70px;align-items:center}.approach-deck{font-size:21px;line-height:1.5;letter-spacing:-.02em;margin-top:36px;color:#d5dce4}.approach-aside{max-width:330px;align-self:end;padding-bottom:10px}.aside-rule{display:block;width:36px;height:1px;background:#c9b38e;margin-bottom:27px}.approach-aside p:first-of-type{font-size:19px;line-height:1.55;letter-spacing:-.02em}.approach-aside p:nth-of-type(2){font-size:13px;margin:20px 0 24px;color:#bcc7d3;line-height:1.85}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:12px;padding:11px 0;border-bottom:1px solid #d1c6b955;transition:color .2s,gap .3s}.text-link:hover{color:var(--gold);gap:40px}.text-link span{font-size:20px}.culture-strip{border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:30px}.culture-strip>span{font-size:8px;letter-spacing:.15em;color:#9fadb9}.culture-strip>div{display:flex;align-items:center;gap:25px;font-size:12px}.culture-strip .dot{color:var(--gold)}.expertise{min-height:112svh;display:flex;flex-direction:column;justify-content:center}.expertise-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:40px}.expertise-head h2{font-size:clamp(45px,5.2vw,80px)}.expertise-head>p{font-size:12px;line-height:1.8;color:#bbc6d4;max-width:290px;margin-bottom:10px}.service-panel{border-top:1px solid #ceb99166;border-bottom:1px solid #ced6e733;padding:24px 0 20px;min-height:350px;position:relative}.service-panel h3{font-family:Geist,Arial,sans-serif;font-size:30px;font-weight:400;letter-spacing:-.035em}.service-panel>p{font-size:12px;color:#bfcbd8;line-height:1.9;margin:17px 0 20px;min-height:91px}.service-panel .text-link{font-size:11px;border:0;padding:3px 0}.service-panel.panel-changing{animation:panelReveal .45s var(--ease)}.perspective{min-height:92svh;display:flex;flex-direction:column;justify-content:center}.perspective-layout{display:grid;grid-template-columns:2.7fr 1fr;gap:8%;align-items:center;margin-top:65px}.perspective h2{font-size:clamp(44px,5.4vw,83px)}.perspective-copy{max-width:480px;font-size:14px;color:#bdc8d6;margin-top:34px;line-height:1.9}.people-note{border-left:1px solid var(--line);padding-left:35px;max-width:280px}.people-orbit{position:relative;display:flex;gap:14px;align-items:center;height:70px;margin-bottom:14px}.people-orbit span{font-family:Geist,Arial,sans-serif;font-size:32px;border:1px solid #bfccde3d;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;font-style:normal;background:#bcd0ef05}.people-orbit i{color:#dac4a4;font-style:normal;font-size:12px}.people-note p{font-size:13px;line-height:1.8;color:#c7d0de;margin-top:16px}.people-note strong{font-weight:500;color:#eee5d6}.people-note p:last-child{font-size:11px;color:#a9bbce;margin-top:23px}.people-note a{color:#e2d3bc;border-bottom:1px solid #c5bba373}.manifesto-line{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:75px;padding-top:28px;font-size:8px;letter-spacing:.12em}.manifesto-line>span:last-child{font-size:9px;letter-spacing:.08em;color:#c4cbd5}.manifesto-line em{font-size:20px;text-transform:none;letter-spacing:-.02em;margin-left:13px;color:#e9d9c4}.contact{height:110svh;min-height:850px;display:flex;align-items:center;justify-content:center;text-align:center;padding:80px var(--gutter) 120px}.contact-content{padding-bottom:3vh}.contact .section-kicker{justify-content:center;color:#e2cdbd;margin-bottom:32px}.contact h2{font-size:clamp(85px,10vw,150px);line-height:.99;letter-spacing:-.065em;text-shadow:0 2px 60px #271a301a}.contact h2 em{letter-spacing:-.08em}.contact-content>p{margin-top:30px;font-size:14px;line-height:1.7;color:#ead9d0}.contact-cta{display:flex;align-items:center;justify-content:space-between;gap:47px;width:max-content;margin:29px auto 0;padding:17px 23px;background:#f2e7d5;color:#1d2330;border:1px solid #fff4df66;border-radius:2px;font-size:12px;font-weight:500;box-shadow:0 5px 40px #d4a08d1a;transition:background .3s,transform .3s}.contact-cta:hover{background:#fff6e7;transform:translateY(-3px)}.contact-cta>span:last-child{font-size:20px;line-height:1}.email-link{display:inline-block;font-size:10px;color:#e6d0c3;margin-top:18px;border-bottom:1px solid transparent;padding-bottom:3px}.email-link:hover{border-color:currentColor}footer{position:absolute;bottom:36px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;text-align:left;font-size:8px;letter-spacing:.1em;color:#ddcfc6;border-top:1px solid #dec5b63b;padding-top:23px}footer .footer-wordmark{font-size:11px;letter-spacing:.12em;font-weight:500}.footer-wordmark span{padding-left:10px;font-size:14px}footer>a:last-child{font-size:9px;letter-spacing:0}footer>a:last-child span{margin-left:15px}.sky-controls{position:fixed;right:31px;bottom:27px;display:flex;align-items:center;gap:4px;z-index:50;transition:opacity .35s;opacity:.8}.sky-controls:hover,.sky-controls:focus-within{opacity:1}.sky-controls button{height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;background:#0913234d;border:1px solid #bccddd25;backdrop-filter:blur(8px);border-radius:2px;padding:7px;color:#c3cfdd;transition:background .3s,border .3s}.sky-controls button:hover{background:#28364c88;border-color:#c6b78d88}.sky-controls button svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1}.play-icon{display:none}.is-paused .pause-icon{display:none}.is-paused .play-icon{display:block}.journey-marker{position:fixed;left:31px;bottom:39px;display:flex;gap:13px;align-items:center;z-index:25;font-size:7px;letter-spacing:.13em;color:#a2b3c7;transition:opacity .3s}.journey-marker>span:first-child{font-size:9px;color:#e5d6bb}.journey-track{width:55px;height:1px;background:#96a4b955;position:relative}.journey-track i{display:block;position:absolute;height:1px;width:100%;background:#e5cd9f;transform-origin:left;transform:scaleX(0)}body.at-end .journey-marker{opacity:0;pointer-events:none}.noscript-note{position:relative;z-index:50;padding:20px;background:#152238;text-align:center;font-size:12px}
@keyframes lineBreath{0%,100%{opacity:.4;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}@keyframes panelReveal{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1800px){:root{--gutter:max(7.2vw,calc((100vw - 1530px)/2))}.content-scene{max-width:none}}
@media(max-width:1000px){.approach-layout{gap:7%;grid-template-columns:1.5fr 1fr}.service-panel h3{font-size:26px}.perspective-layout{grid-template-columns:2.4fr 1fr;gap:5%}.culture-strip>div{gap:15px;font-size:10px}.people-note{padding-left:25px}.people-orbit{gap:6px}.people-orbit span{width:47px;height:47px;font-size:28px}.journey-marker{left:22px}.sky-controls{right:22px}}
@media(max-width:700px){:root{--gutter:7vw}html{scroll-padding-top:85px}.hero{min-height:590px}.hero h1{font-size:8vw;gap:4vw;letter-spacing:.025em}.hero h1 img{width:6vw}.hero-identity{padding-bottom:8vh}.scroll-invitation{bottom:18%;font-size:7px;gap:13px}.scroll-label{font-size:6px}.scroll-line{height:35px}.site-header{padding:20px var(--gutter)}.small-wordmark{font-size:10px;gap:10px;letter-spacing:.08em}.small-wordmark img{width:12px;height:22px}.site-header nav{gap:18px;font-size:10px}.site-header nav>a[href="#approach"]{display:none}.nav-contact{padding:9px 12px;gap:14px}.content-scene{padding-top:105px;padding-bottom:65px}.section-kicker{font-size:7px;letter-spacing:.15em;gap:10px}.tiny-star{font-size:12px}.approach{min-height:100svh}.approach-layout{display:block;margin:45px 0 48px}.approach h2{font-size:clamp(45px,10.8vw,70px);line-height:1.07}.approach-deck{font-size:17px;line-height:1.5;margin-top:26px}.approach-aside{margin:45px 0 0 20%;max-width:330px}.aside-rule{margin-bottom:19px}.approach-aside p:first-of-type{font-size:16px}.approach-aside p:nth-of-type(2){font-size:12px;line-height:1.8;margin-top:15px}.text-link{font-size:11px}.culture-strip{display:block;padding-top:20px}.culture-strip>span{font-size:6px}.culture-strip>div{margin-top:16px;gap:10px;justify-content:space-between;font-size:9px}.culture-strip>div .dot{font-size:10px}.expertise{min-height:0}.expertise-head{display:block;margin-top:36px}.expertise-head h2{font-size:clamp(43px,10vw,65px)}.expertise-head>p{margin-top:22px;font-size:11px}.service-panel{margin-top:35px;padding-top:20px;min-height:330px}.service-panel h3{font-size:29px}.service-panel>p{font-size:12px;min-height:69px;max-width:400px}.perspective{min-height:0}.perspective-layout{display:block;margin-top:40px}.perspective h2{font-size:clamp(35px,8.5vw,60px);letter-spacing:-.05em}.perspective h2 em{letter-spacing:-.06em}.perspective-copy{font-size:12px;margin-top:27px}.people-note{display:grid;grid-template-columns:1fr 1fr;border-left:0;border-top:1px solid var(--line);padding:20px 0 0;margin-top:35px;max-width:none;gap:0 24px}.people-orbit{grid-row:span 2;margin-top:10px;gap:12px}.people-orbit span{width:57px;height:57px;font-size:33px}.people-note p{font-size:12px;margin-top:8px}.people-note p:last-child{font-size:10px;margin-top:13px}.manifesto-line{display:block;margin-top:40px;padding-top:23px;font-size:7px}.manifesto-line>span:last-child{display:block;margin-top:15px;font-size:8px}.manifesto-line em{font-size:17px;margin-left:8px}.contact{height:105svh;min-height:800px;padding-bottom:160px}.contact h2{font-size:clamp(79px,20vw,120px)}.contact .section-kicker{margin-bottom:28px}.contact-content>p{font-size:12px;margin-top:25px}.contact-cta{font-size:11px;gap:35px;padding:16px 20px}.email-link{font-size:9px}footer{bottom:28px;display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:24px;font-size:6px}footer .footer-wordmark{font-size:9px}footer>span{grid-row:2;grid-column:span 2}footer>a:last-child{text-align:right;font-size:8px}.sky-controls{bottom:20px;right:16px;gap:3px}.sky-controls button svg{width:15px;height:15px}.journey-marker{left:16px;bottom:32px;gap:8px}.journey-marker #chapter-label{display:none}.journey-track{width:36px}.journey-marker>span:first-child{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.scroll-line{animation:none}}
.site-header.is-visible{background:linear-gradient(180deg,#080f1de6,#080f1d88);backdrop-filter:blur(8px)}
body.at-end .sky-controls{bottom:86px}

/* Drawn icons never fall back to a mobile emoji font. */
.icon-arrow{display:inline-block;width:19px;height:19px;flex:none;vertical-align:middle;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;fill:none}
.people-note .icon-arrow{width:12px;height:12px}
.down-arrow{display:block;line-height:0}
.down-arrow .icon-arrow{width:17px;height:22px}
.text-link .icon-arrow{transition:transform .35s var(--ease)}
.text-link:hover .icon-arrow{transform:translate(3px,-3px)}
.tiny-star{width:10px;height:17px;object-fit:contain;flex:none;opacity:.85}
.people-orbit>img{width:10px;height:18px;object-fit:contain;opacity:.8}
.hero h1 img{transform:none}
.nav-contact{border:0;border-radius:0;padding:10px 0;gap:18px;background:none;align-items:center;line-height:1;white-space:nowrap;min-height:44px}
.nav-contact>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #c7d0d548;border-radius:50%;transition:background .3s,border-color .3s}
.nav-contact .icon-arrow{width:13px;height:13px}
.nav-contact:hover{background:none}
.nav-contact:hover>span{background:#e2d2af0d;border-color:#e2d2af99}

/* A luminous, open gesture in the sky, rather than a filled UI rectangle. */
.contact-cta{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:16px;width:370px;max-width:calc(100vw - 48px);height:126px;margin:21px auto 0;padding:0 19px;border:0;border-radius:0;background:none;color:#f4e6d1;box-shadow:none;transition:color .4s;outline-offset:2px}
.contact-cta:before{content:'';position:absolute;inset:6px -12px;background:radial-gradient(ellipse,#f5cba90c,transparent 68%);opacity:.5;transition:opacity .6s;z-index:-1}
.contact-cta:hover{background:none;transform:none;color:#fff5e5}
.contact-cta:hover:before{opacity:1}
.cta-brand-star{width:21px;height:37px;object-fit:contain;filter:drop-shadow(0 0 8px #f8dcb629);transition:filter .5s,transform .5s}
.contact-cta:hover .cta-brand-star{filter:drop-shadow(0 0 16px #f8dcb680);transform:translateY(-2px)}
.cta-label{font-family:Geist,Arial,sans-serif;font-style:normal;font-size:24px;font-weight:400;letter-spacing:-.035em;white-space:nowrap;padding-bottom:2px}
.contact-cta>.icon-arrow{width:16px;height:16px;transition:transform .5s}
.contact-cta:hover>.icon-arrow{transform:translate(3px,-3px)}
.contact .email-link{margin-top:0;color:#e6d0c3}
footer .footer-wordmark{display:inline-flex;align-items:center;gap:12px}
.footer-wordmark img{display:block;width:17px;height:29px;object-fit:contain}
footer .footer-wordmark span{padding:0;font-size:inherit}
footer>a:last-child .icon-arrow{width:13px;height:15px}
@media(max-width:700px){.tiny-star{width:8px;height:14px}.nav-contact{padding:5px 0;gap:10px}.nav-contact>span{width:25px;height:25px}.nav-contact .icon-arrow{width:11px;height:11px}.contact-cta{width:318px;height:112px;gap:12px;padding:0 17px;margin-top:18px}.cta-label{font-size:21px}.cta-brand-star{width:17px;height:30px}.contact-cta>.icon-arrow{width:14px;height:14px}.footer-wordmark img{width:13px;height:23px}footer .footer-wordmark{gap:9px}}

/* Each chapter has a quiet resting point in the continuous sky. */
html.snap-ready{scroll-snap-type:y mandatory;scroll-padding-top:0}
html.scroll-easing{scroll-snap-type:none!important;scroll-behavior:auto!important}
.scene{scroll-snap-align:start;scroll-snap-stop:always;scroll-margin-top:0}
.hero{height:100svh;min-height:540px}
.content-scene{min-height:100svh;padding-top:110px;padding-bottom:80px}
.scene-body{width:100%;transform-origin:center center;will-change:transform,opacity}
.contact{height:auto;min-height:100svh;padding-top:110px;padding-bottom:160px}
.contact-content{transform-origin:center center;will-change:transform,opacity}
@media(min-width:701px) and (max-height:850px){
 .content-scene{padding-top:100px;padding-bottom:62px}
 .approach-layout{margin-top:40px;margin-bottom:40px}
 .approach h2{font-size:clamp(48px,5.5vw,80px)}
 .expertise-head{margin-top:25px}
 .expertise-head h2{font-size:clamp(43px,4.7vw,66px)}
 .service-panel{min-height:315px;padding-top:18px;padding-bottom:15px}
 .perspective-layout{margin-top:40px}
 .manifesto-line{margin-top:45px}
 .contact h2{font-size:clamp(80px,9vw,118px)}
 .contact{padding-top:95px;padding-bottom:140px}
}
@media(max-width:700px){
 .content-scene{padding-top:100px;padding-bottom:75px}
 .approach-layout{margin-top:36px;margin-bottom:34px}
 .approach-aside{margin-top:30px}
 .contact{min-height:max(100svh,760px);padding-top:100px;padding-bottom:160px}
}
@media(prefers-reduced-motion:reduce){
 html.snap-ready{scroll-behavior:auto}
 .scene-body,.contact-content{will-change:auto}
}

/* Services are a compact editorial index, separate from the sky atlas. */
.expertise-head{align-items:flex-end;margin-top:35px}
.expertise-head h2{font-size:clamp(43px,5.3vw,78px)}
.expertise-head>p{font-size:13px;line-height:1.8;margin-bottom:5px}
.services-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:11%;align-items:center;margin-top:46px}
.service-options{display:grid;border-top:1px solid var(--line)}
.service-option{position:relative;display:flex;align-items:center;gap:28px;min-height:73px;padding:18px 4px;background:none;border:0;border-bottom:1px solid var(--line);color:#aebdce;text-align:left;transition:color .35s,background .35s;font-size:clamp(17px,1.8vw,26px);font-weight:350;letter-spacing:-.025em}
.service-option:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease)}
.service-index{flex:none;font-size:9px;letter-spacing:.1em;color:#8193a9;transition:color .35s}
.service-option:hover{color:#f3ede1;background:#e6d2aa03}
.service-option.is-selected{color:#f6e2bc}
.service-option.is-selected .service-index{color:#d5b57d}
.service-option.is-selected:after{transform:scaleX(1)}
.service-panel{min-height:275px;padding:4px 0;border:0;margin:0}
.service-eyebrow{display:block;font-size:8px;letter-spacing:.18em;color:#cfb88d;margin-bottom:24px}
.service-panel h3{font-size:clamp(29px,3vw,43px);line-height:1.15;font-weight:400}
.service-panel>p{min-height:0;margin:20px 0 28px;max-width:420px;font-size:13px;line-height:1.9;color:#c1cbd6}
.service-panel .text-link{font-size:12px;gap:23px;min-height:35px;padding:3px 0}
@media(max-width:700px){
 .expertise.content-scene{padding-top:95px;padding-bottom:76px}
 .expertise-head{margin-top:26px}
 .expertise-head h2{font-size:clamp(35px,9.7vw,55px);line-height:1.08}
 .expertise-head>p{font-size:11px;line-height:1.6;margin-top:16px}
 .expertise-head>p br{display:none}
 .services-layout{display:block;margin-top:28px}
 .service-options{grid-template-columns:1fr 1fr;column-gap:22px}
 .service-option{min-height:56px;padding:14px 0;gap:9px;font-size:12px;letter-spacing:-.025em;line-height:1.35}
 .service-index{font-size:7px;letter-spacing:.05em}
 .service-panel{min-height:215px;margin-top:26px;padding:0}
 .service-eyebrow{font-size:7px;margin-bottom:13px}
 .service-panel h3{font-size:29px;letter-spacing:-.035em}
 .service-panel>p{font-size:12px;line-height:1.8;margin:14px 0 15px;max-width:none}
 .service-panel .text-link{font-size:11px;min-height:39px;gap:18px}
}
@media(max-width:370px){
 .expertise.content-scene{padding-top:90px;padding-bottom:64px}
 .expertise-head{margin-top:20px}
 .expertise-head h2{font-size:34px}
 .services-layout{margin-top:22px}
 .service-options{column-gap:14px}
 .service-option{font-size:11px;gap:7px;min-height:52px}
 .service-panel{margin-top:22px;min-height:223px}
 .service-panel h3{font-size:27px}
 .service-panel>p{font-size:11px}
}

/* Section headings lead directly into their content. */
.scene-body>.approach-layout,.scene-body>.expertise-head,.scene-body>.perspective-layout{margin-top:0}

/* Native root scrolling keeps pull-to-refresh and mobile browser chrome alive. */
html,body{overscroll-behavior-y:auto}
.chapter-snap-points{display:none;position:absolute;top:0;left:0;width:1px;height:0;pointer-events:none}
.chapter-snap-point{position:absolute;left:0;width:1px;height:1px;scroll-snap-align:start;scroll-snap-stop:always}
html.touch-chapters{scroll-snap-type:y mandatory;scroll-behavior:auto}
html.touch-chapters .scene{scroll-snap-align:none;scroll-snap-stop:normal}
html.touch-chapters .chapter-snap-points{display:block}
@media(max-width:700px) and (max-height:720px){
 .expertise.content-scene{padding-top:88px;padding-bottom:52px}
 .expertise-head{margin-top:22px}
 .services-layout{margin-top:24px}
}

/* Content presence follows scroll position; no second timed reveal. */
.reveal{opacity:1;transform:none;transition:none}

/* The visible sun is the only target; its transparent button adds keyboard access. */
.sun-return{position:fixed;z-index:3;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;touch-action:auto;-webkit-tap-highlight-color:transparent}
.sun-return:focus-visible{outline:1px solid #fff1cc;outline-offset:8px}
.sun-returning main,.sun-returning .site-header,.sun-returning .journey-marker{opacity:0!important;pointer-events:none!important;transition:opacity .45s var(--ease)}
#hero-title:focus{outline:none}
@media(max-width:700px){footer{grid-template-columns:1fr}footer>span{grid-row:auto;grid-column:auto}}

/* The site steps aside for a five-second view of the selected star. */
main{transition:opacity .65s var(--ease)}
.star-inspecting main,.star-inspecting .site-header,.star-inspecting .journey-marker{opacity:0!important;pointer-events:none!important}
.star-within-reach{cursor:crosshair}
.star-within-reach a,.star-within-reach button{cursor:pointer}
.star-inspection{position:fixed;inset:0;z-index:45;pointer-events:none;opacity:0;transition:opacity .65s var(--ease)}
.star-inspecting .star-inspection{opacity:1}
.star-label{position:absolute;width:max-content;max-width:190px;color:var(--cream);text-shadow:0 1px 8px #030a13,0 0 18px #030a1399;pointer-events:none;overflow-wrap:anywhere}
#star-name{display:block;font-size:15px;font-weight:450;line-height:1.3;letter-spacing:.015em}
#star-constellation{display:block;margin-top:5px;font-size:9px;font-weight:400;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;color:#c6bca5}
.star-inspecting #star-close{pointer-events:auto}
#star-close:active{transform:translateY(0)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){main,.star-inspection{transition:none}}

/* Eyes adjusting: the identity resolves in place, independent of scroll effects. */
.hero-mark{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:0}
.hero-mark img{display:block;transform-origin:center}
.intro-spark{position:absolute;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:#f5f1e5;box-shadow:0 0 7px 2px #f1e6ce5c,0 0 28px 10px #bad3f01c;opacity:0;transform:translate(-50%,-50%);pointer-events:none}
html:is(.intro-pending,.intro-playing) .hero-word{will-change:opacity,transform}
html:is(.intro-pending,.intro-playing) main{transition:none}
html:is(.intro-pending,.intro-playing) .hero-word-first{opacity:var(--intro-first,0);transform:translateY(calc((1 - var(--intro-first,0))*5px))}
html:is(.intro-pending,.intro-playing) .hero-word-last{opacity:var(--intro-last,0);transform:translateY(calc((1 - var(--intro-last,0))*5px))}
html:is(.intro-pending,.intro-playing) .hero-mark img{opacity:var(--intro-mark,0);transform:scale(calc(.3 + var(--intro-mark,0)*.7));will-change:opacity,transform}
html:is(.intro-pending,.intro-playing) .intro-spark{opacity:var(--intro-spark,0);transform:translate(-50%,-50%) scale(calc(.65 + var(--intro-spark,0)*.5))}
html:is(.intro-pending,.intro-playing) .scroll-invitation,html:is(.intro-pending,.intro-playing) .journey-marker{opacity:0}
html.intro-pending .sky-wrap{background:#01030a}
@media(prefers-reduced-motion:reduce){html:is(.intro-pending,.intro-playing) .hero-word,html:is(.intro-pending,.intro-playing) .hero-mark img{opacity:1;transform:none}html:is(.intro-pending,.intro-playing) .intro-spark{display:none}html:is(.intro-pending,.intro-playing) .scroll-invitation,html:is(.intro-pending,.intro-playing) .journey-marker{opacity:1}}
