@font-face{font-family:Studio;src:local('Avenir Next');font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--ink:#f3f5f7;--muted:#b8c9d6;--night:#061323;--gold:#efb765;--line:rgba(179,214,234,.2);--ease:cubic-bezier(.2,.65,.25,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--night)}body{margin:0;font-family:Studio,'Helvetica Neue',Arial,sans-serif;color:var(--ink);font-weight:400;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible{outline:2px solid #fff;outline-offset:7px}h1,h2,h3,p{margin:0}button{border:0}img{max-width:100%;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:24px;z-index:1000;padding:15px 22px;background:#fff;color:var(--night);border-radius:4px}.skip-link:focus{top:20px}.no-js{padding:15vh 8vw;font-size:24px}.wordmark{font-size:34px;font-weight:300;letter-spacing:-1.3px;line-height:1}.home{position:relative;height:100svh;min-height:740px;overflow:hidden;isolation:isolate;background:#07182a}.environment{position:absolute;inset:0;z-index:-3;overflow:hidden}.environment>img,.environment>canvas{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}.environment>canvas{opacity:0;transition:opacity 1s}.environment.ready>canvas{opacity:1}.home .environment{transform:scale(1.025)}.home:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(1,13,30,.34),transparent 40%,transparent 70%,rgba(1,10,20,.5));pointer-events:none}.home-brand{position:absolute;top:28px;left:50%;transform:translateX(-50%)}.home-copy{position:relative;text-align:center;padding:103px 24px 0;z-index:2;pointer-events:none}.home-copy h1{font-size:clamp(46px,5.3vw,86px);line-height:1.16;font-weight:300;letter-spacing:-.045em;text-shadow:0 2px 25px #041121}.home-copy p{font-size:clamp(19px,2vw,31px);line-height:1.35;font-weight:300;max-width:940px;margin:12px auto 0;text-wrap:balance;text-shadow:0 2px 15px #041121}.entrances{position:absolute;inset:32% 4.8% 12%;display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:1vw;perspective:1100px}.entrance{position:relative;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;height:100%;min-width:0;transition:transform .7s var(--ease),filter .7s,opacity .7s;transform-origin:50% 88%;outline-offset:-5px!important}.entrance-art{position:absolute;width:122%;aspect-ratio:1;bottom:1.5%;background-image:url('/assets/entrances.webp');background-size:300% 100%;background-repeat:no-repeat;pointer-events:none;filter:drop-shadow(0 8px 20px #0008);transition:filter .7s}.entrance-services .entrance-art{background-position:0 50%}.entrance-references .entrance-art{background-position:50% 50%;width:119%;bottom:3%}.entrance-contact .entrance-art{background-position:100% 50%}.entrance-label{position:relative;display:flex;align-items:center;gap:18px;font-size:clamp(21px,2vw,30px);font-weight:400;letter-spacing:.04em;line-height:1.1;padding:16px 23px;text-shadow:0 1px 15px #000,0 2px 5px #000;background:radial-gradient(ellipse,rgba(3,14,24,.8),rgba(3,14,24,0) 72%);border-radius:50%;text-transform:uppercase}.arrow{display:inline-block;transition:transform .4s;font-family:Arial,sans-serif;font-weight:300}.entrance:hover,.entrance:focus-visible{transform:translateZ(70px) translateY(-12px);z-index:3}.entrance:hover .entrance-art,.entrance:focus-visible .entrance-art{filter:drop-shadow(0 0 24px #efb76555)}.entrance-services:hover .entrance-art{filter:drop-shadow(0 0 24px #4fcdff66)}.entrance:hover .arrow{transform:translateX(6px)}.entrances:has(.entrance:hover) .entrance:not(:hover),.entrances:has(.entrance:focus-visible) .entrance:not(:focus-visible){filter:brightness(.78);opacity:.85}.home-foot{position:absolute;bottom:25px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:12px;color:#c0d1df;font-size:13px;letter-spacing:.1em}.home-foot:before{content:'';height:1px;width:26px;background:var(--gold);opacity:.6}.mist{position:absolute;inset:25% -30% 2%;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 30% 60%,#b8d9ec19,transparent 32%),radial-gradient(ellipse at 65% 48%,#c6def51f,transparent 25%);filter:blur(17px);animation:mist-drift 20s ease-in-out infinite alternate}.mist-back{opacity:.6;animation-delay:-10s;animation-direction:alternate-reverse}.route-shade{position:fixed;inset:0;z-index:90;pointer-events:none;background:#061323;opacity:0;transition:opacity .24s}.navigating .route-shade{opacity:1}.leaving .home,.leaving .world-stage{transform:scale(1.14);filter:blur(2px);transition:transform .45s var(--ease),filter .45s}.page-enter{animation:page-arrive .65s var(--ease) both}@keyframes page-arrive{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@keyframes mist-drift{from{transform:translate3d(-4%,2%,0) scale(1)}to{transform:translate3d(5%,-3%,0) scale(1.1)}}
@media(min-width:1800px){.home-copy{padding-top:12vh}.entrances{inset:32% 9% 13%}}
@media(max-width:900px){.wordmark{font-size:29px}.home{height:100svh;min-height:800px}.home-brand{top:28px}.home-copy{padding:96px 20px 0}.home-copy h1{font-size:clamp(36px,8.3vw,58px);letter-spacing:-.045em}.home-copy p{font-size:19px;line-height:1.45;max-width:460px;margin-top:17px}.home .environment>img,.home .environment>canvas{object-position:55% center}.entrances{inset:32% 0 10%;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:0;align-items:end}.entrance{height:100%}.entrance-references{grid-column:1 / -1;grid-row:1;width:65%;justify-self:center}.entrance-services{grid-column:1;grid-row:2}.entrance-contact{grid-column:2;grid-row:2}.entrance-art{width:120%;bottom:4%;max-width:330px}.entrance-references .entrance-art{width:105%;bottom:1%;max-width:340px}.entrance-label{font-size:17px;gap:8px;padding:12px 8px;letter-spacing:.04em}.entrance-references .entrance-label{font-size:21px}.home-foot{bottom:21px;font-size:12px}.entrance:hover,.entrance:focus-visible{transform:translateY(-7px) scale(1.035)}.entrances:has(.entrance:hover) .entrance:not(:hover){opacity:1;filter:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.environment>canvas{display:none}.entrance:hover,.entrance:focus-visible{transform:none;filter:brightness(1.2)}.leaving .home,.leaving .world-stage{transform:none;filter:none}}
