@font-face{font-family:Cinzel;src:url(fonts/cinzel.woff2) format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--bg:#0E0E10;--elev:#17171A;--marble:#ECE8E1;--stone:#9A958D;--line:#4A4744;--gold:#C9A45C;--gold-soft:#8C7442;--pressed:#BA9856;color-scheme:dark}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);scroll-behavior:smooth}
body{font:400 16px/26px Inter,system-ui,sans-serif;color:var(--marble);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:var(--marble);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{width:min(100% - 40px,1080px);margin-inline:auto}
header{padding:20px 0}
.mark{display:inline-flex;align-items:center;gap:10px;font:600 16px/24px Cinzel,serif;letter-spacing:.18em;color:var(--marble);text-decoration:none}
h1,h2{font-family:Cinzel,serif;font-weight:600;letter-spacing:.015em;text-wrap:balance}
h1{font-size:clamp(28px,7vw,48px);line-height:1.18}
h2{font-size:clamp(22px,5vw,30px);line-height:1.25}
.sub{margin-top:16px;color:var(--stone);font-size:18px;line-height:28px;max-width:34ch}

/* hero */
.hero{display:grid;gap:28px;padding:12px 0 56px;grid-template-areas:"copy" "exhibit" "form"}
.copy{grid-area:copy}.exhibit{grid-area:exhibit}#waitlist{grid-area:form}
.exhibit{justify-self:center;width:min(100%,300px)}
.stack{position:relative;aspect-ratio:4/5;background:var(--bg)}
.stack img{position:absolute;inset:0;width:100%;height:100%}
.stack .s1,.stack .s2,.stack .s3{opacity:0}
.label{margin-top:12px;border-top:1px solid var(--line);padding-top:12px;display:grid}
.label>*{grid-area:1/1}
.label .nm{font:600 22px/28px Cinzel,serif}
.label .cap{margin-top:30px;font-size:14px;line-height:20px;color:var(--stone)}
.why{font-size:14px;line-height:20px;color:var(--stone);margin:-4px 0 8px}
.label .st{position:relative;margin-top:58px;height:24px;display:grid}
.label .st span{grid-area:1/1;opacity:0;font-size:14px;line-height:24px;color:var(--stone)}
.label .st b{font:600 15px/24px Cinzel,serif;letter-spacing:.04em;color:var(--gold);margin-right:10px}
.label .st .w0{opacity:1}
@media (prefers-reduced-motion:no-preference){
 .stack .s1{animation:a1 16s infinite}.stack .s2{animation:a2 16s infinite}.stack .s3{animation:a3 16s infinite}
 .w0{animation:w0 16s infinite}.w1{animation:w1 16s infinite}.w2{animation:w2 16s infinite}.w3{animation:w3 16s infinite}
}
@media (prefers-reduced-motion:reduce){.stack .s3{opacity:1}.label .st .w0{opacity:0}.label .st .w3{opacity:1}}
@keyframes a1{0%,25%{opacity:0}31%,97%{opacity:1}100%{opacity:0}}
@keyframes a2{0%,50%{opacity:0}56%,97%{opacity:1}100%{opacity:0}}
@keyframes a3{0%,75%{opacity:0}81%,97%{opacity:1}100%{opacity:0}}
@keyframes w0{0%,22%{opacity:1}25%,97%{opacity:0}100%{opacity:1}}
@keyframes w1{0%,22%{opacity:0}25%,47%{opacity:1}50%,100%{opacity:0}}
@keyframes w2{0%,47%{opacity:0}50%,72%{opacity:1}75%,100%{opacity:0}}
@keyframes w3{0%,72%{opacity:0}75%,97%{opacity:1}100%{opacity:0}}

/* form */
form{background:var(--elev);border:1px solid var(--line);border-radius:12px;padding:20px}
form>*+*{margin-top:20px}
label.t,legend{display:block;font:500 14px/20px Inter;color:var(--stone);margin-bottom:8px;padding:0}
fieldset{border:0}
input[type=email]{width:100%;height:52px;border-radius:6px;border:1px solid var(--stone);background:var(--bg);color:var(--marble);padding:0 14px;font:400 16px/24px Inter}
input[type=email]:focus{border-color:var(--marble)}
.opts{display:grid;gap:8px}
.opts.two{grid-template-columns:1fr 1fr}
.opt{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:6px;cursor:pointer;font-size:16px;line-height:24px}
.opt:has(input:checked){border-color:var(--marble);background:rgba(236,232,225,.08)}
.opt input{accent-color:var(--marble);width:20px;height:20px;flex:none}
.consent{border:0;padding:4px 0}
button{width:100%;height:52px;border:0;border-radius:10px;background:var(--gold);color:var(--bg);font:500 16px/24px Inter;cursor:pointer}
button:active{background:var(--pressed)}
.notice{margin-top:20px;font-size:14px;line-height:22px;color:var(--stone)}
.notice h3{font:500 14px/20px Inter;color:var(--marble);margin-bottom:8px}
.notice dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px}
.notice dt{color:var(--marble)}
.notice dd{margin:0}

/* sections */
section.band{padding:56px 0;border-top:1px solid var(--line)}
.band p{margin-top:16px;max-width:56ch}
.band p.stone{color:var(--stone)}
blockquote{font:400 18px/28px Inter,sans-serif;color:var(--stone);max-width:56ch}
cite{display:block;margin-top:16px;font:400 14px/20px Inter;color:var(--stone)}
.ladder{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:20px 16px;margin-top:32px}
.ladder img{width:100%;aspect-ratio:4/5;object-fit:cover}
.ladder b{display:block;margin-top:8px;font:600 16px/24px Cinzel,serif;color:var(--gold);letter-spacing:.04em}
.ladder span{font-size:14px;line-height:20px;color:var(--stone)}
footer{border-top:1px solid var(--line);padding:32px 0 48px;color:var(--stone);font-size:14px;line-height:22px}
footer .row{display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:12px}
footer a{display:inline-flex;align-items:center;min-height:48px;color:var(--marble)}
@media (min-width:860px){
 body{font-size:17px}
 .hero{grid-template-columns:minmax(0,1fr) 340px;column-gap:72px;grid-template-areas:"copy exhibit" "form exhibit";align-items:start;padding-top:40px}
 .exhibit{position:sticky;top:24px;width:340px}
 #waitlist{max-width:480px}
 .ladder{grid-template-columns:repeat(4,1fr)}
 .band-cols{display:grid;grid-template-columns:1fr 1fr;gap:56px}
}

/* legal pages */
.doc{padding:12px 0 56px;max-width:68ch}
.doc h1{margin-bottom:8px}
.doc h2{margin-top:40px;font-size:clamp(19px,4.5vw,24px)}
.doc p,.doc ul{margin-top:12px}
.doc ul{padding-left:22px}
.doc li+li{margin-top:6px}
.doc .meta{color:var(--stone);font-size:14px;line-height:22px}
.doc .s49{border:1px solid var(--line);border-radius:6px;padding:14px 16px;margin-top:16px}
.doc dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin-top:12px}
.doc dt{color:var(--stone)}.doc dd{margin:0;overflow-wrap:anywhere}
.doc strong{font-weight:600}
