:root{--ink:#0b0a09;--ivory:#f3ede3;--muted:#f3ede3b3;--gold:#c9a266;--gold-soft:#c9a2668c;--serif:"Cormorant Garamond", "Times New Roman", serif;--sans:"Jost", system-ui, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1);--pad:clamp(1.25rem, 4vw, 3.5rem)}*,:before,:after{box-sizing:border-box}html{background:var(--ink);color:var(--ivory);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{font-family:var(--sans);margin:0;font-weight:300;overflow-x:hidden}body.is-loading{overflow:hidden}a{color:inherit;text-decoration:none}.eyebrow{letter-spacing:.42em;text-transform:uppercase;color:var(--gold);margin:0 0 1.2rem;font-size:.7rem}.wordmark,.loader__logo{background:currentColor;display:block;-webkit-mask:url(/brand/wordmark.svg) 50%/contain no-repeat;mask:url(/brand/wordmark.svg) 50%/contain no-repeat}.loader{z-index:100;background:var(--ink);transition:opacity 1.4s var(--ease), visibility 1.4s;place-content:center;justify-items:center;gap:1.8rem;display:grid;position:fixed;inset:0}.loader.is-done{opacity:0;visibility:hidden}.loader__logo{aspect-ratio:1425/122;width:min(62vw,340px);color:var(--ivory);aspect-ratio:1425/220;-webkit-mask-image:url(/brand/logo.svg);mask-image:url(/brand/logo.svg)}.loader__bar{background:#c9a2662e;width:min(40vw,180px);height:1px;overflow:hidden}.loader__bar span{background:var(--gold);transform-origin:0;height:100%;transition:transform .8s var(--ease);display:block;transform:scaleX(0)}.loader__note{letter-spacing:.4em;text-transform:uppercase;color:#f3ede366;margin:0;font-size:.62rem}.scene{z-index:0;width:100vw;height:100lvh;display:block;position:fixed;inset:0}.veil{pointer-events:none;z-index:2;background:linear-gradient(#0000 76%,#0a070447);position:fixed;inset:0}.scrim{z-index:3;pointer-events:none;opacity:0;transition:opacity 1s var(--ease);position:fixed;inset:0}.scrim.is-side{opacity:1;background:linear-gradient(90deg,#0a0806b3 0%,#0a08066b 28%,#0a080600 52%)}.scrim.is-below,.scrim.is-center{opacity:1;background:linear-gradient(#0a080600 52%,#0a080666 74%,#0a0806c7 100%)}.nav{z-index:20;padding:clamp(1.1rem, 2.6vw, 2rem) var(--pad);background:linear-gradient(#0a080673,#0000);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.nav__brand{color:var(--ivory)}.nav__brand .wordmark{aspect-ratio:1425/122;width:clamp(120px,13vw,176px)}.nav__links{letter-spacing:.3em;text-transform:uppercase;align-items:center;gap:clamp(1.1rem,3vw,2.6rem);font-size:.68rem;display:flex}.nav__links a{padding-bottom:4px;position:relative}.nav__links a:not(.nav__cta):after{content:"";transform-origin:100%;height:1px;transition:transform .6s var(--ease);background:currentColor;position:absolute;bottom:0;left:0;right:.3em;transform:scaleX(0)}.nav__links a:hover:after{transform-origin:0;transform:scaleX(1)}.nav__cta{border:1px solid var(--gold-soft);transition:background .5s var(--ease), color .5s var(--ease), border-color .5s;padding:.75rem 1.2rem .7rem 1.5rem!important}.nav__cta:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}@media (width<=720px){.nav__links a:not(.nav__cta){display:none}.nav__cta{letter-spacing:.22em;padding:.6rem .8rem .55rem 1rem!important}}.intro{z-index:10;letter-spacing:.46em;text-transform:uppercase;color:#f3ede3eb;text-shadow:0 1px 12px #0000008c;pointer-events:none;height:32vh;transition:opacity .9s var(--ease), transform .9s var(--ease);background:linear-gradient(#0e0a0700,#0e0a0780);flex-direction:column;justify-content:flex-end;align-items:center;gap:1rem;padding-bottom:clamp(1.8rem,5vh,3rem);padding-left:.46em;font-size:.62rem;display:flex;position:fixed;bottom:0;left:0;right:0}.intro i{background:linear-gradient(to bottom, transparent, var(--gold));width:1px;height:46px;animation:drip 2.6s var(--ease) infinite;transform-origin:top}.intro.is-hidden{opacity:0;transform:translateY(12px)}body.is-loading .intro{opacity:0}@keyframes drip{0%{opacity:1;transform:scaleY(0)}60%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.caption{z-index:12;left:var(--pad);pointer-events:none;width:min(30vw,420px);position:fixed;top:50%;transform:translateY(-50%)}.caption>*{opacity:0;transition:opacity .6s var(--ease), transform .9s var(--ease);transform:translateY(16px)}.caption.is-visible>*{opacity:1;transform:none}.caption.is-visible>:nth-child(2){transition-delay:70ms}.caption.is-visible>:nth-child(3){transition-delay:.14s}.caption.is-visible>:nth-child(4){transition-delay:.21s}.caption__num{font-family:var(--serif);letter-spacing:.22em;color:var(--gold);align-items:center;gap:.2rem;margin:0 0 1.3rem;font-size:1.05rem;display:flex}.caption__num:after{content:"";background:var(--gold);opacity:.6;width:56px;height:1px;margin-left:1rem}.caption__num em{opacity:.55;font-style:normal}.caption__title{font-family:var(--serif);text-wrap:balance;margin:0 0 1rem;font-size:clamp(2.3rem,3.8vw,3.7rem);font-weight:300;line-height:1}.caption__meta{letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:0 0 1.5rem;font-size:.68rem}.caption__desc{font-family:var(--serif);color:var(--muted);margin:0;font-size:1.18rem;line-height:1.55}.caption__desc p{margin:0 0 .9em}.caption--about{width:min(34vw,470px)}.caption--about .caption__num{font-family:var(--sans);letter-spacing:.4em;text-transform:uppercase;font-size:.68rem}.caption[data-layout=below]{grid-template-columns:auto 1fr;align-items:end;column-gap:2.4rem;width:min(92vw,760px);display:grid;top:auto;bottom:clamp(1.6rem,6vh,3.5rem);transform:none}.caption[data-layout=below] .caption__num{grid-column:1/-1}.caption[data-layout=below] .caption__title{grid-column:1;margin:0}.caption[data-layout=below] .caption__meta{grid-area:3/1;margin:1rem 0 0}.caption[data-layout=below] .caption__desc{grid-area:2/2/4;max-width:44ch;font-size:1.08rem}@media (aspect-ratio<=1){.caption,.caption[data-layout=below]{width:auto;display:block;inset:auto 1.4rem 1.8rem;transform:none}.caption__title{font-size:2.1rem}.caption__meta{margin:0 0 .8rem}.caption__desc{font-size:1.02rem}.caption__desc p:nth-child(n+2){display:none}}.consult{z-index:14;text-align:center;pointer-events:none;width:min(92vw,640px);position:fixed;bottom:clamp(1.8rem,6vh,3.6rem);left:50%;transform:translate(-50%)}.consult>*{opacity:0;transition:opacity .7s var(--ease), transform 1s var(--ease);transform:translateY(16px)}.consult.is-visible{pointer-events:auto}.consult.is-visible>*{opacity:1;transform:none}.consult.is-visible>:nth-child(2){transition-delay:70ms}.consult.is-visible>:nth-child(3){transition-delay:.14s}.consult.is-visible>:nth-child(4){transition-delay:.21s}.consult.is-visible>:nth-child(5){transition-delay:.28s}.consult h2{font-family:var(--serif);margin:0;font-size:clamp(2.4rem,5vw,4.2rem);font-weight:300;line-height:1}.consult__copy{max-width:44ch;font-family:var(--serif);color:var(--muted);margin:1.1rem auto 1.8rem;font-size:1.15rem;line-height:1.5}.button{border:1px solid var(--gold);letter-spacing:.34em;text-transform:uppercase;color:var(--ivory);transition:color .6s var(--ease);background:#0a080640;padding:1.05rem 2.4rem 1rem 2.7rem;font-size:.7rem;display:inline-block;position:relative;overflow:hidden}.button:before{content:"";background:var(--gold);transition:transform .6s var(--ease);z-index:-1;position:absolute;inset:0;transform:translateY(101%)}.button:hover,.button:focus-visible{color:var(--ink)}.button:hover:before,.button:focus-visible:before{transform:none}.consult__contact{letter-spacing:.18em;color:var(--muted);justify-content:center;gap:1.6rem;margin:1.4rem 0 0;font-size:.72rem;display:flex}.consult__contact a:hover{color:var(--gold)}.rail{z-index:12;opacity:0;pointer-events:none;transition:opacity .8s var(--ease);flex-direction:column;gap:.1rem;display:flex;position:fixed;top:50%;right:clamp(.9rem,2.2vw,2.2rem);transform:translateY(-50%)}.rail.is-visible{opacity:1;pointer-events:auto}.rail:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#0c090673,#0c090600);position:absolute;inset:-6rem -3rem -6rem -9rem}.rail button{all:unset;cursor:pointer;font-family:var(--serif);letter-spacing:.14em;color:#f3ede39e;text-shadow:0 1px 10px #000000b3;justify-content:flex-end;align-items:center;gap:.7rem;padding:.28rem 0;font-size:.8rem;transition:color .4s;display:flex}.rail button b{text-align:right;min-width:2.6em;font-weight:400}.rail button:after{content:"";width:14px;height:1px;transition:width .6s var(--ease);background:currentColor}.rail button span{opacity:0;transition:opacity .4s, transform .6s var(--ease);white-space:nowrap;font-style:italic;transform:translate(6px)}.rail button:hover span,.rail button.is-active span{opacity:1;transform:none}.rail button:hover,.rail button.is-active{color:var(--gold)}.rail button.is-active:after{width:34px}.rail button:focus-visible{outline:1px solid var(--gold);outline-offset:4px}@media (aspect-ratio<=1),(height<=560px){.rail{display:none}}.progress{z-index:20;background:#f3ede314;height:2px;position:fixed;bottom:0;left:0;right:0}.progress span{background:linear-gradient(90deg, #c9a26666, var(--gold));transform-origin:0;height:100%;display:block;transform:scaleX(0)}.walk{z-index:1;height:2000vh;position:relative}.hud{z-index:60;left:50%;top:calc(env(safe-area-inset-top) + 4.4rem);color:#f3ede3;white-space:nowrap;pointer-events:none;background:#0a0806b8;border-radius:99px;padding:.45rem .8rem .45rem 1.6rem;font:500 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;position:fixed;transform:translate(-50%)}.hud:before{content:"";background:#8a8a8a;border-radius:50%;width:7px;height:7px;margin-top:-3.5px;position:absolute;top:50%;left:.65rem}.hud[data-tone=good]:before{background:#4cd07d}.hud[data-tone=ok]:before{background:#f0b43c}.hud[data-tone=poor]:before{background:#ef5a4a}@media (height<=520px) and (aspect-ratio>=1){.nav{padding:.8rem 1.2rem}.nav__brand .wordmark{width:118px}.caption{width:min(38vw,360px)}.caption__num{margin-bottom:.6rem}.caption__title{margin-bottom:.5rem;font-size:1.7rem}.caption__meta{margin-bottom:.6rem}.caption__desc{font-size:.95rem;line-height:1.4}.caption__desc p:nth-child(n+2){display:none}.caption[data-layout=below],.consult{bottom:1rem}.consult h2{font-size:2rem}.consult__copy{margin:.5rem auto .9rem;font-size:.95rem}.intro{padding-bottom:1rem}}@media (prefers-reduced-motion:reduce){.intro i{animation:none}}
