.hx{--hx-gutter:clamp(18px, 3.4vw, 56px);--abyss:#02060c;--ink:#eef5fb;--mist:#dcebf8ad;background:var(--abyss);color:var(--ink);min-height:100vh}.hx-nav{z-index:6;padding:calc(22px + env(safe-area-inset-top,0px)) var(--hx-gutter) 0;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.hx-nav a{pointer-events:auto}.hx-logo img{filter:brightness(0)invert();width:clamp(96px,7.4vw,118px);height:auto;display:block}.hx-nav nav{align-items:center;gap:clamp(18px,2.2vw,34px);display:flex}.hx-logo img{filter:brightness(0)invert()drop-shadow(0 1px 8px #02060c73)}.hx-nav-link,.hx-nav-cta{letter-spacing:.01em;color:var(--ink);text-decoration:none}.hx-nav-link{opacity:.78;text-shadow:0 1px 10px #02060c99;font:500 13px/1 Switzer,system-ui,sans-serif;transition:opacity .3s}.hx-nav-link:hover{opacity:1}.hx-nav-cta{box-sizing:border-box;background:#050b13d1;border:1px solid #dcebf83d;border-radius:99px;align-items:center;gap:10px;min-height:44px;padding:0 18px 0 20px;font:500 14.5px/1 Switzer,system-ui,sans-serif;transition:background-color .3s,border-color .3s;display:inline-flex;box-shadow:0 6px 24px #02060c47}.hx-nav-cta span{transition:transform .3s}.hx-nav-cta:hover{background:#0c1824f0;border-color:#dcebf86b}.hx-nav-cta:hover span{transform:translate(3px)}.hx-dive{--hx-dive-h:460vh;height:var(--hx-dive-h);position:relative}.hx-dive.is-still{height:100svh}.hx-stick{background:var(--abyss);height:100svh;position:sticky;top:0;overflow:hidden}.hx-still{object-fit:cover;filter:contrast(1.18)saturate(1.3)brightness(1.05);width:100%;height:100%;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.hx-dive:not(.is-still) .hx-still{visibility:hidden}}.hx-stick:after{content:"";pointer-events:none;background:radial-gradient(80% 75%,#0000 45%,#02060c6b 100%);position:absolute;inset:0}.hx-stage,.hx-gl{position:absolute;inset:0}.hx-gl{opacity:0;transition:opacity .9s}.hx-gl.is-live{opacity:1}.hx-gl canvas{width:100%;height:100%;display:block}.hx-stick:has(.hx-gl.is-live):after{display:none}.hx-light{pointer-events:none;opacity:0;background:#030a14b8;position:absolute;inset:0}.hx-after{z-index:2;max-width:1200px;margin:0 auto;padding:18vh clamp(16px,3vw,40px) 22vh;position:relative}.hx-dive:not(.is-still)+.hx-after{max-width:none;margin-top:calc((var(--hx-dive-h,460vh) - 100vh) * -.1);background:linear-gradient(180deg, #02060c00 0, #02060cd1 7vh, var(--abyss) 13vh);padding-top:15vh}.hx-dive:not(.is-still)+.hx-after>*{max-width:1200px;margin-left:auto;margin-right:auto}.hx-dive:not(.is-still)+.hx-after>p{margin-bottom:14px}.hx-after p{letter-spacing:.14em;text-transform:uppercase;color:var(--mist);margin:0 0 14px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px}.hx-after h2{letter-spacing:-.03em;max-width:18ch;margin:0 0 6vh;font-size:clamp(2rem,4.6vw,4.2rem);font-weight:500;line-height:1.02}.hx-blocks{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);display:grid}.hx-blocks div{aspect-ratio:4/3;background:linear-gradient(160deg,#0a1624,#050b14);border:1px solid #ffffff1a;border-radius:14px}@media (width<=800px){.hx-blocks{grid-template-columns:1fr}}.hx-veil{pointer-events:none;opacity:calc(1 - var(--hx-out,0));background:radial-gradient(100% 80% at 0 100%,#02060c7a 0%,#02060c33 45%,#0000 70%),radial-gradient(34% 30% at 86% 52%,#02060c9e 0%,#0000 100%),linear-gradient(#02060c59 0%,#0000 18%);position:absolute;inset:0}.hx-hero{padding:0 var(--hx-gutter) clamp(28px, 7vh, 72px);pointer-events:none;opacity:calc(1 - var(--hx-out,0));transform:translate3d(0, calc(var(--hx-out,0) * -6vh), 0);will-change:opacity, transform;align-items:flex-end;display:flex;position:absolute;inset:0}.hx-hero a{pointer-events:auto}.hx-hero{--fs:min(8.4vw, 15.5vh)}.hx-title{font-family:Switzer,system-ui,sans-serif;font-weight:600;font-size:var(--fs);letter-spacing:-.045em;color:var(--ink);text-wrap:nowrap;margin:0;line-height:.9;position:relative}.hx-title span{display:block}.hx-line{margin:-.12em 0 -.07em;padding:.12em 0 .07em;overflow:hidden}.hx-line-in{will-change:transform}.hx-l3,.hx-l4{padding-left:1.72em}.hx-l4{color:#a8dcff}.hx-cta{color:var(--abyss);background:var(--ink);border-radius:99px;align-items:center;gap:12px;padding:15px 20px;font:500 14px/1 Switzer,system-ui,sans-serif;text-decoration:none;transition:background-color .3s;display:inline-flex}.hx-cta span{transition:transform .3s}.hx-cta:hover{background:#fff}.hx-cta:hover span{transform:translate(3px)}.hx-nav a:focus-visible,.hx-hero a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.hx-contact{padding-top:8vh}@media (aspect-ratio<=9/10),(width<=700px){.hx-nav-link{display:none}.hx-nav-cta{padding:0 14px 0 16px;font-size:13.5px}.hx-hero{padding-bottom:calc(26px + env(safe-area-inset-bottom,0px));flex-direction:column;justify-content:flex-end;align-items:stretch}.hx-veil{background:linear-gradient(#02060c4d 0%,#0000 14% 38%,#02060c99 62%,#02060cd1 100%)}.hx-hero{--fs:calc((100vw - 2 * var(--hx-gutter)) / 8.95)}.hx-title{line-height:.92}.hx-l3,.hx-l4{padding-left:0}}.hx-dive:not(.is-still)+.hx-handoff{z-index:2;margin-top:-36vh;position:relative}.hx-handoff-fade:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#02060c00 0,#02060cd1 7vh,#02060c 13vh 62vh,#02060c00 100vh);height:100vh;position:absolute;top:0;left:0;right:0}.hx-intro-logo{pointer-events:none;opacity:0;place-items:center;display:grid;position:absolute;inset:0}.hx-intro-logo img{filter:brightness(0)invert();width:clamp(150px,15vw,230px);height:auto}html:has(.hx-dive){overflow-anchor:none}.hx-dive.has-compare.is-arch,.hx-dive.is-arch{--hx-dive-h:1100vh}.hx-villa{position:absolute;inset:0}.hx-villa canvas{width:100%;height:100%;display:block}.hx-dive.is-arch .hx-stage{opacity:calc(1 - var(--hx-take,0))}.hx-dive.is-arch .hx-stick:after{display:none}.hx-villa-still{background:#15110e;height:100svh;position:relative}.hx-studio{background:#1b1916;position:absolute;inset:0}.hx-studio img{object-fit:cover;width:100%;height:100%;display:block}.hx-dive.is-studio .hx-stick:after{display:none}.hx-dive.is-studio .hx-site-shadow{box-shadow:18px 0 40px -18px #000000b3,0 8px 16px -10px #0009}
