:root{--gold:#d4ac54;--accent:#e89c42;--pearl:#f1ebdd;--mute:#d6cdbb;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Jost",system-ui,sans-serif;box-sizing:border-box}
*,*::before,*::after{box-sizing:inherit}
html{color-scheme:dark;scroll-behavior:smooth}
body{margin:0;background:#000;color:var(--pearl);font-family:var(--sans);font-weight:300}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
img{max-width:100%;height:auto}
.top{position:fixed;top:0;left:0;right:0;z-index:10;padding-top:env(safe-area-inset-top,0px);background:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,0));transition:background .4s}
.top.solid{background:rgba(6,5,3,.9);backdrop-filter:blur(8px)}
.bar{background:#2a1c0a;color:var(--gold);text-align:center;font-size:.8rem;padding:.45rem 1rem}
.hd{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.6rem clamp(1.25rem,5vw,4rem)}
.brand{display:block;line-height:0}.brand .sr{height:64px;width:auto}
.nav{display:flex;gap:1.6rem;font-size:.95rem;color:var(--pearl);flex-wrap:wrap}.nav a:hover{color:var(--accent)}.nav.r{justify-content:flex-end}
.stage{position:fixed;top:0;left:0;right:0;height:100vh;height:100svh;overflow:hidden;z-index:-1;background:#000}.js .stage{opacity:0;visibility:hidden}
.stage::after{content:"";position:absolute;inset:0;background:var(--scrim,none)}
.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero{position:relative;isolation:isolate;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;padding:10rem clamp(1.25rem,5vw,4rem) clamp(2.5rem,7vw,5rem);--scrim:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,0) 62%),linear-gradient(90deg,rgba(0,0,0,.5),rgba(0,0,0,0) 60%)}
.hero-copy{max-width:40rem}
.mark{display:block;height:clamp(120px,19vw,200px);width:auto;margin:0 0 1.4rem}
h1,h2{font-family:var(--serif);font-weight:400;line-height:1.04;margin:0 0 1rem;font-size:clamp(2.3rem,5vw,4.3rem)}
.hero p{font-size:1.08rem;line-height:1.65;color:var(--mute);margin:0 0 1.8rem;max-width:30rem}
.btn{display:inline-block;padding:.95rem 2.1rem;background:var(--accent);color:#1a1006;font-weight:500;font-size:.93rem;border:0;border-radius:2px;cursor:pointer;transition:background .2s}.btn:hover{background:var(--pearl)}
.link{margin-left:1.2rem;padding:.9rem .2rem;border-bottom:1px solid var(--gold);font-size:.93rem}
.js .hero-copy>*{animation:in 1.4s both}.js .hero-copy>:nth-child(2){animation-delay:.35s}.js .hero-copy>:nth-child(3){animation-delay:.7s}.js .hero-copy>:nth-child(4){animation-delay:1s}
@keyframes in{from{opacity:0;transform:translateY(12px)}}
.chapter{position:relative;isolation:isolate;--scrim:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.35) 50%,rgba(0,0,0,0) 80%)}
.chapter.right{--scrim:linear-gradient(270deg,rgba(0,0,0,.82),rgba(0,0,0,.35) 50%,rgba(0,0,0,0) 80%)}
.chapter.mid{--scrim:radial-gradient(ellipse at center,rgba(0,0,0,.8),rgba(0,0,0,.45) 85%)}
.copy{position:relative;min-height:118svh;padding:36svh clamp(1.25rem,6vw,5rem) 18svh;display:flex;flex-direction:column;gap:12svh;align-items:flex-start;text-shadow:0 1px 3px rgba(0,0,0,.6),0 2px 28px rgba(0,0,0,.7)}
.right .copy{align-items:flex-end;text-align:right}.mid .copy{align-items:center;text-align:center}
.line{margin:0;max-width:min(34rem,100%)}
.line.big{font-family:var(--serif);font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.08}
.line.big.cont{font-size:clamp(2.3rem,5vw,4.3rem);max-width:min(40rem,100%)}.line.sm{font-size:1.12rem;line-height:1.7;color:var(--pearl);max-width:26rem}
.js .line{opacity:0;transform:translateY(14px);transition:opacity 1.1s,transform 1.1s}.js .line.in{opacity:1;transform:none}.js .line.sm{transition-delay:.45s}
.routes{list-style:none;padding:0;margin:0;display:grid;gap:1rem;width:min(30rem,100%)}
.routes a{display:block;font-family:var(--serif);font-size:clamp(2rem,4vw,3.1rem);line-height:1.1;border-bottom:1px solid rgba(212,172,84,.55);padding-bottom:.45rem;transition:color .2s}.routes a:hover{color:var(--accent)}
.routes small{display:block;font-family:var(--sans);font-size:.95rem;color:var(--pearl);margin-top:.2rem}
.scrub{position:relative;isolation:isolate;--scrim:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.35) 28%,rgba(0,0,0,0) 44%,rgba(0,0,0,0) 56%,rgba(0,0,0,.35) 72%,rgba(0,0,0,.8))}
.scrub .copy{padding:0 clamp(1.25rem,6vw,5rem);min-height:0;gap:0}
.beat{min-height:80svh;display:flex;flex-direction:column;justify-content:center;gap:1rem;max-width:18rem;text-shadow:0 1px 3px rgba(0,0,0,.6),0 2px 28px rgba(0,0,0,.7)}
.beat:nth-child(even){margin-left:auto;text-align:right}
.beat .line.big{font-size:clamp(1.8rem,3.4vw,2.8rem)}
.home{position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2rem;padding:8rem clamp(1.25rem,6vw,5rem) 5rem;isolation:isolate;background:linear-gradient(rgba(0,0,0,0),#000 55svh)}.home::before{content:"";position:absolute;left:0;right:0;top:35%;bottom:0;background:radial-gradient(ellipse at 50% 30%,rgba(70,46,12,.55),rgba(0,0,0,0) 65%);z-index:-1}
.home .sr{height:90px;width:auto}.home .line.big{max-width:min(40rem,100%)}
.ft{padding:3rem clamp(1.25rem,5vw,4rem) calc(2rem + env(safe-area-inset-bottom,0px));background:#000;border-top:1px solid #2a2418;color:var(--mute);font-size:.88rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.4rem}
.ft .sr{height:64px;width:auto}.ft .jo{height:96px;width:auto}.ft nav{display:flex;gap:1.6rem;flex-wrap:wrap;justify-content:center}
.pg{max-width:72rem;margin:0 auto;padding:10rem clamp(1.25rem,5vw,4rem) 4rem}.pg h1{font-size:clamp(2rem,4vw,3rem)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1.5rem;list-style:none;padding:0;margin:2rem 0}.grid h3{font-family:var(--serif);font-weight:400;font-size:1.35rem;margin:.7rem 0 .2rem}
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
select,input{font:inherit;padding:.75rem;background:#0d0a07;color:var(--pearl);border:1px solid #3a3020}
table{width:100%;border-collapse:collapse}td,th{padding:.8rem .5rem;border-bottom:1px solid #2a2418;text-align:left}
@media(max-width:760px){.pdp{grid-template-columns:1fr}.hd{grid-template-columns:auto 1fr auto;gap:.8rem}.brand{order:-1}.brand .sr{height:48px}.nav{gap:.8rem;font-size:.82rem}.mark{height:96px}.link{margin:.8rem 0 0;display:inline-block}.copy{padding-right:2.6rem}.right .copy{padding-left:1.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .hero-copy>*{animation:none}.js .line{opacity:1;transform:none;transition:none}}

::selection{background:var(--gold);color:#000}
h1,h2,.line.big,.routes a{font-style:italic}
.js .line.big{opacity:1;transform:none}
.js .line.big .w{display:inline-block;opacity:0;filter:blur(10px);transform:translateY(.3em);transition:opacity 1.1s,filter 1.2s,transform 1.2s;transition-delay:calc(var(--i)*80ms)}
.js .line.big.in .w{opacity:1;filter:none;transform:none}
.gl{display:inline-block;width:.4em;height:.4em;margin-left:.12em;vertical-align:.6em;background:#fff3d2;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);opacity:0;transform:scale(0) rotate(-40deg)}
.line.big.in .gl{animation:glint 1.8s calc(var(--n)*80ms + 900ms) both}
@keyframes glint{35%{transform:scale(1.2) rotate(0);opacity:1}to{transform:scale(.5) rotate(25deg);opacity:.55}}
.gem{position:fixed;right:clamp(.8rem,2vw,1.8rem);top:50%;transform:translateY(-50%);z-index:9;display:flex;flex-direction:column;align-items:center;gap:.7rem;width:64px}
.gem svg{width:52px;height:auto;overflow:visible;filter:drop-shadow(0 2px 8px rgba(0,0,0,.65))}
.gem polygon{fill:rgba(212,172,84,.1);stroke:rgba(212,172,84,.6);stroke-width:1;stroke-linejoin:round;transition:fill .7s,filter .7s}
.gem a.lit polygon{fill:rgba(212,172,84,.62)}.gem a.on polygon{fill:#f8e2a6;filter:drop-shadow(0 0 7px rgba(248,226,166,.95))}
.gem .nm{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--gold);text-align:center;line-height:1.1;text-shadow:0 1px 10px #000;min-height:1.1em}
.spot{position:fixed;inset:0;z-index:8;pointer-events:none;background:radial-gradient(circle 230px at var(--mx,50%) var(--my,50%),rgba(255,236,196,.17),rgba(255,236,196,0) 70%);mix-blend-mode:screen;opacity:0;transition:opacity .6s}.spot.on{opacity:1}
@media(prefers-reduced-motion:reduce){.js .line.big .w{opacity:1;filter:none;transform:none;transition:none}.gl,.spot{display:none}}

.dust{position:fixed;inset:0;width:100%;height:100%;z-index:7;pointer-events:none;mix-blend-mode:screen}.home .line.sm{max-width:30rem}
@media(prefers-reduced-motion:reduce){.dust{display:none}}
