@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Noto+Serif+SC:wght@500;700&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');
:root { --ink:#08090b; --paper:#e9e3d7; --cream:#f4eee2; --muted:#aaa69f; --plum:#65434f; --line:rgba(235,228,215,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--cream); font-family:"DM Sans",sans-serif; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
button { color:inherit; }
img { display:block; width:100%; }
.nav { position:absolute; z-index:20; top:0; left:0; width:100%; height:92px; display:flex; align-items:center; justify-content:space-between; padding:0 4.5vw; border-bottom:1px solid var(--line); }
.page-nav { position:relative; background:var(--ink); }
.brand { display:inline-flex; align-items:center; gap:12px; }
.brand span { font-family:"Noto Serif SC",serif; font-size:28px; font-weight:700; letter-spacing:.05em; }
.brand small { font-size:10px; letter-spacing:.38em; color:#c5beb4; }
.nav-links { display:flex; align-items:center; gap:36px; font-size:12px; text-transform:uppercase; letter-spacing:.14em; }
.nav-links a { transition:opacity .25s ease; }
.nav-links a:hover { opacity:.62; }
.nav-links a[aria-current="page"] { opacity:.62; }
.nav-cta { border:1px solid rgba(255,255,255,.55); padding:13px 17px; }
.nav-cta span { margin-left:22px; }
.wallet-slot { display:flex; align-items:center; min-width:126px; }
.wallet-button { width:100%; min-height:41px; border:1px solid rgba(255,255,255,.55); background:var(--cream); color:#111214; padding:0 15px; font-family:"DM Sans",sans-serif; font-size:10px; font-weight:600; line-height:1; text-transform:uppercase; letter-spacing:.12em; cursor:pointer; white-space:nowrap; transition:opacity .25s ease,transform .25s ease; }
.wallet-button:hover:not(:disabled) { opacity:.86; transform:translateY(-1px); }
.wallet-button:disabled { cursor:wait; opacity:.62; }
.wallet-button--warning { background:#9a6574; color:#fff; }
.menu-button { display:none; border:0; background:none; width:42px; height:42px; padding:12px 4px; }
.menu-button i { display:block; height:1px; background:white; margin:7px 0; }
.hero { min-height:100svh; position:relative; display:flex; align-items:center; overflow:hidden; }
.hero-media,.hero-media img { position:absolute; inset:0; width:100%; height:100%; }
.hero-media img { object-fit:cover; object-position:center; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(2,3,5,.74) 0%,rgba(2,3,5,.24) 50%,rgba(2,3,5,.4) 100%),linear-gradient(0deg,rgba(2,3,5,.65),transparent 45%); }
.hero-content { z-index:2; margin-left:7.5vw; padding-top:62px; }
.eyebrow,.kicker { font-size:11px; letter-spacing:.3em; font-weight:600; color:#cac2b8; }
.hero h1 { display:flex; align-items:baseline; gap:22px; margin:20px 0 2px; }
.hero h1 span { font-family:"Noto Serif SC",serif; font-size:clamp(74px,9vw,144px); line-height:.95; text-shadow:0 6px 40px rgba(0,0,0,.6); }
.hero h1 em { font-style:normal; font-weight:300; font-size:clamp(22px,2.6vw,40px); letter-spacing:.48em; color:#d1c9bc; }
.hero-line { font-family:"Playfair Display",serif; font-size:clamp(28px,3.1vw,50px); line-height:1.06; margin:18px 0 36px; }
.primary-button { display:inline-flex; align-items:center; gap:52px; background:var(--cream); color:#111214; padding:17px 21px; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.16em; transition:transform .25s ease,background .25s ease; }
.primary-button:hover { transform:translateY(-3px); background:#fff; }
.hero-foot { position:absolute; z-index:2; bottom:0; left:0; right:0; display:flex; justify-content:space-between; padding:24px 4.5vw; border-top:1px solid var(--line); font-size:10px; letter-spacing:.2em; }
.ticker { overflow:hidden; background:var(--paper); color:#151619; padding:17px 0; white-space:nowrap; }
.ticker div { font-size:12px; letter-spacing:.28em; animation:ticker 24s linear infinite; width:max-content; }
.ticker b { color:var(--plum); margin:0 28px; }
@keyframes ticker { to { transform:translateX(-50%); } }
.section-grid { display:grid; grid-template-columns:minmax(130px,1fr) minmax(420px,4fr) minmax(230px,1.6fr); gap:4vw; padding:140px 5vw; }
.section-number { font-size:10px; color:#817f7b; letter-spacing:.22em; padding-top:10px; }
.story { background:#0d0e11; min-height:760px; align-items:start; }
.story-copy { max-width:760px; }
.story h2,.details h2,.drop h2,.gallery h2,.merch h2 { font-family:"Playfair Display",serif; font-weight:500; font-size:clamp(50px,6vw,92px); line-height:.98; margin:26px 0 54px; letter-spacing:-.03em; }
.story .lead { max-width:700px; font-size:clamp(21px,2vw,31px); line-height:1.42; color:#dcd5c9; }
.story-copy>p:last-child { max-width:580px; font-size:14px; line-height:1.9; color:var(--muted); }
.story-stat { margin-top:190px; border-top:1px solid var(--line); padding-top:20px; }
.story-stat strong { display:block; font-family:"Playfair Display",serif; font-size:58px; font-weight:500; }
.story-stat span { color:var(--muted); font-size:12px; line-height:1.5; text-transform:uppercase; letter-spacing:.12em; }
.film { background:#090a0d; padding:130px 5vw 145px; border-top:1px solid var(--line); }
.film-heading { display:grid; grid-template-columns:minmax(130px,1fr) minmax(420px,4fr) minmax(230px,1.6fr); gap:4vw; align-items:end; margin-bottom:72px; }
.film-heading h2 { font-family:"Playfair Display",serif; font-weight:500; font-size:clamp(58px,7vw,108px); line-height:.9; letter-spacing:-.04em; margin:22px 0 0; }
.film-heading h2 i { color:#9a6574; font-weight:500; }
.film-intro { color:var(--muted); font-size:14px; line-height:1.8; max-width:300px; margin:0 0 10px; }
.film-stage { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,280px); gap:38px; max-width:1040px; margin-left:auto; align-items:end; }
.film-screen { position:relative; background:#030405; padding:12px; border:1px solid rgba(235,228,215,.16); box-shadow:0 34px 90px rgba(0,0,0,.48); }
.film-screen::before { content:""; position:absolute; inset:-1px; pointer-events:none; background:linear-gradient(135deg,rgba(154,101,116,.32),transparent 30%,transparent 70%,rgba(88,132,143,.2)); opacity:.8; }
.film-screen video { position:relative; z-index:1; display:block; width:100%; aspect-ratio:1; background:#000; object-fit:cover; }
.film-notes { border-top:1px solid var(--line); }
.film-notes>div { display:flex; justify-content:space-between; gap:20px; padding:18px 0; border-bottom:1px solid var(--line); }
.film-notes span { color:#777875; font-size:9px; letter-spacing:.18em; }
.film-notes strong { font-family:"Playfair Display",serif; font-size:17px; font-weight:500; text-align:right; }
.film-notes>a { display:flex; justify-content:space-between; gap:20px; margin-top:28px; padding-bottom:9px; border-bottom:1px solid #918c84; font-size:10px; text-transform:uppercase; letter-spacing:.14em; }
.film-notes b { font-weight:400; }
.merch { background:#0c0d10; padding:135px 5vw 125px; border-top:1px solid var(--line); }
.merch-heading { display:grid; grid-template-columns:minmax(130px,1fr) minmax(420px,4fr) minmax(230px,1.6fr); gap:4vw; align-items:end; margin-bottom:78px; }
.merch-heading h2 { margin:22px 0 0; }
.merch-heading h2 i { color:#9a6574; font-weight:500; }
.merch-intro { color:var(--muted); font-size:13px; line-height:1.8; padding-bottom:8px; }
.merch-intro p { margin:0 0 24px; }
.merch-intro span { display:block; color:#d1c8bb; font-size:9px; letter-spacing:.2em; border-top:1px solid var(--line); padding-top:14px; }
.merch-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:72px 24px; }
.merch-card:nth-child(even) { margin-top:90px; }
.merch-image { position:relative; overflow:hidden; background:#17181c; }
.merch-image::after { content:""; position:absolute; inset:0; pointer-events:none; box-shadow:inset 0 0 0 1px rgba(235,228,215,.1); }
.merch-image img { aspect-ratio:1; object-fit:cover; transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .5s ease; }
.merch-card:hover .merch-image img { transform:scale(1.025); filter:brightness(1.04); }
.merch-image>span { position:absolute; z-index:2; right:16px; top:16px; display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(244,238,226,.45); background:rgba(8,9,11,.62); backdrop-filter:blur(8px); font-size:9px; letter-spacing:.12em; }
.merch-meta { display:flex; align-items:start; justify-content:space-between; gap:24px; padding-top:19px; border-top:1px solid var(--line); margin-top:12px; }
.merch-meta p { margin:0 0 9px; color:#777875; font-size:9px; letter-spacing:.16em; }
.merch-meta h3 { margin:0; font-family:"Playfair Display",serif; font-size:clamp(25px,2.4vw,38px); font-weight:500; }
.merch-meta strong { color:#98948e; font-size:8px; font-weight:500; line-height:1.75; letter-spacing:.16em; text-align:right; }
.merch-foot { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-top:86px; border-top:1px solid var(--line); padding-top:24px; }
.merch-foot p { margin:0; color:var(--muted); font-family:"Playfair Display",serif; font-size:20px; }
.merch-foot a { display:flex; gap:42px; border-bottom:1px solid #918c84; padding-bottom:8px; font-size:10px; letter-spacing:.15em; }
.gallery { background:var(--paper); color:#111214; padding:130px 5vw; }
.gallery-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:65px; }
.gallery-heading h2 { margin:24px 0 0; }
.gallery-heading h2 i { color:var(--plum); }
.gallery-heading>p { max-width:280px; font-size:13px; line-height:1.7; color:#66645f; margin-bottom:16px; }
.art-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:22px; align-items:start; }
.art-card { grid-column:span 4; margin-bottom:56px; }
.card-2,.card-5 { margin-top:70px; }
.art-image { overflow:hidden; background:#17181c; }
.art-image img { aspect-ratio:1; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s ease; }
.art-card:hover img { transform:scale(1.035); filter:brightness(1.08); }
.art-meta { position:relative; padding:17px 2px 0; border-top:1px solid #aaa69e; margin-top:11px; }
.art-meta h3 { margin:0 0 7px; font-size:14px; letter-spacing:.08em; }
.art-meta p { margin:0; color:#706d67; font-size:10px; text-transform:uppercase; letter-spacing:.13em; }
.art-meta span { position:absolute; top:15px; right:3px; }
.details { background:#111216; grid-template-columns:minmax(130px,1fr) minmax(360px,2fr) minmax(380px,2.2fr); padding-bottom:90px; }
.details h2 { font-size:clamp(44px,4.5vw,72px); }
.trait-list { border-top:1px solid var(--line); }
.trait-list div { display:grid; grid-template-columns:46px 1fr 20px; align-items:center; border-bottom:1px solid var(--line); padding:22px 0; }
.trait-list span { color:#777875; font-size:9px; }
.trait-list strong { font-family:"Playfair Display",serif; font-size:21px; font-weight:500; }
.trait-list i { font-style:normal; color:#8e8b85; }
.process-note { grid-column:2/3; margin-top:70px; border-left:1px solid var(--plum); padding-left:28px; max-width:600px; color:var(--muted); font-size:13px; line-height:1.9; }
.drop { min-height:760px; position:relative; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden; }
.drop>img { position:absolute; inset:0; height:100%; object-fit:cover; filter:brightness(.68); transform:scale(1.025); }
.drop-overlay { position:absolute; inset:0; background:radial-gradient(circle,rgba(0,0,0,.1),rgba(0,0,0,.72)); }
.drop-content { position:relative; z-index:2; }
.drop h2 { font-size:clamp(58px,7vw,105px); margin:25px 0 48px; }
.drop-actions { display:flex; align-items:center; justify-content:center; gap:30px; }
.drop-actions>a { font-size:11px; text-transform:uppercase; letter-spacing:.15em; border-bottom:1px solid #aaa; padding-bottom:7px; }
.primary-button.muted { cursor:default; background:#dad3c7; color:#26272a; }
footer { padding:65px 5vw 30px; background:#08090b; display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:start; border-top:1px solid var(--line); }
footer>p { margin:6px 0 0; color:var(--muted); max-width:300px; font-size:12px; line-height:1.6; }
footer>div { grid-column:1/-1; display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:22px; color:#777875; font-size:10px; text-transform:uppercase; letter-spacing:.14em; }
.footer-link { border:0; background:none; padding:0; color:inherit; font:inherit; text-transform:inherit; letter-spacing:inherit; cursor:pointer; }
.footer-link:hover { color:var(--cream); }
.legal-hero { padding:130px 5vw 110px; background:var(--ink); border-bottom:1px solid var(--line); }
.legal-hero h1,.legal-document h1 { max-width:1000px; margin:24px 0 32px; font-family:"Playfair Display",serif; font-size:clamp(52px,7vw,104px); font-weight:500; line-height:.96; letter-spacing:-.035em; }
.legal-hero h1 i { color:#9a6574; font-weight:500; }
.legal-hero>p:not(.kicker):not(.legal-date) { max-width:680px; color:var(--muted); font-size:16px; line-height:1.8; }
.legal-date { margin-top:48px; color:#777875; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.legal-index { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:var(--paper); color:#111214; padding:90px 5vw; gap:1px; }
.legal-index>a { min-height:360px; display:flex; flex-direction:column; padding:32px; border:1px solid rgba(17,18,20,.18); transition:background .25s ease,color .25s ease; }
.legal-index>a:hover { background:var(--plum); color:var(--cream); }
.legal-index span { font-size:10px; letter-spacing:.16em; }
.legal-index h2 { margin:70px 0 20px; font-family:"Playfair Display",serif; font-size:38px; font-weight:500; }
.legal-index p { max-width:330px; color:#66645f; font-size:13px; line-height:1.7; }
.legal-index>a:hover p { color:#ddd5cb; }
.legal-index b { margin-top:auto; font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
.legal-note { display:grid; grid-template-columns:180px minmax(0,720px); gap:40px; padding:70px 5vw; background:#111216; border-bottom:1px solid var(--line); }
.legal-note strong { color:#9a6574; font-size:10px; text-transform:uppercase; letter-spacing:.18em; }
.legal-note p { margin:0; color:#d6cfc4; font-family:"Playfair Display",serif; font-size:25px; line-height:1.45; }
.legal-document { background:var(--paper); color:#111214; padding:120px 5vw; }
.legal-document>header { max-width:980px; margin:0 auto 80px; padding-bottom:48px; border-bottom:1px solid #aaa69e; }
.legal-document>header>p:last-child { color:#706d67; font-size:10px; text-transform:uppercase; letter-spacing:.16em; }
.legal-document>section { max-width:820px; margin:0 auto; }
.legal-document h2 { margin:58px 0 16px; font-family:"Playfair Display",serif; font-size:30px; font-weight:500; }
.legal-document p { margin:0 0 20px; color:#4e4c48; font-size:15px; line-height:1.85; }
.legal-document a { color:var(--plum); text-decoration:underline; text-underline-offset:3px; }
.legal-table { margin:24px 0 54px; border-top:1px solid #aaa69e; }
.legal-table>div { display:grid; grid-template-columns:1.2fr .8fr 1.8fr .8fr; gap:18px; padding:18px 0; border-bottom:1px solid #c7c0b4; font-size:12px; line-height:1.5; }
.legal-table span { color:#696660; }
.cookie-banner[hidden] { display:none; }
.cookie-banner { position:fixed; z-index:100; left:20px; right:20px; bottom:20px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:40px; align-items:end; max-width:1180px; margin:auto; padding:28px 30px; background:#111216; color:var(--cream); border:1px solid rgba(244,238,226,.34); box-shadow:0 24px 80px rgba(0,0,0,.65); }
.cookie-banner h2 { margin:8px 0 10px; font-family:"Playfair Display",serif; font-size:30px; font-weight:500; }
.cookie-banner p:not(.kicker) { max-width:720px; margin:0 0 10px; color:#aaa69f; font-size:12px; line-height:1.65; }
.cookie-banner a { font-size:10px; letter-spacing:.12em; text-transform:uppercase; border-bottom:1px solid #8e8b85; }
.cookie-actions { display:flex; gap:10px; }
.cookie-actions button { min-height:46px; border:1px solid rgba(244,238,226,.45); background:transparent; padding:0 18px; font:600 10px "DM Sans",sans-serif; text-transform:uppercase; letter-spacing:.12em; cursor:pointer; }
.cookie-actions .cookie-accept { background:var(--cream); color:#111214; }
.reveal { opacity:0; transform:translateY(26px); transition:opacity .8s ease,transform .8s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
@media(max-width:1380px) and (min-width:821px){.nav{padding:0 2vw}.nav-links{gap:12px;font-size:9px}.nav-cta{padding:11px}.nav-cta span{margin-left:6px}.wallet-slot{min-width:108px}.wallet-button{padding:0 9px;font-size:8px}}
@media(max-width:820px){
  .nav{height:72px;padding:0 22px}.menu-button{display:block;position:relative;z-index:3}.nav-links{position:fixed;inset:0;background:rgba(8,9,11,.97);flex-direction:column;justify-content:center;gap:22px;font-size:15px;opacity:0;pointer-events:none;transition:opacity .3s ease}.nav-links.open{opacity:1;pointer-events:auto}.nav-cta{margin-top:3px}.wallet-slot{min-width:150px}.wallet-button{min-height:45px}.hero{min-height:780px}.hero-media img{object-position:48% center}.hero-shade{background:linear-gradient(0deg,rgba(2,3,5,.82),rgba(2,3,5,.16) 80%)}.hero-content{margin:auto 24px 92px;align-self:flex-end}.hero h1{gap:13px}.hero h1 em{font-size:20px}.section-grid{grid-template-columns:1fr;padding:90px 24px;gap:35px}.story-stat{margin-top:30px}.film{padding:90px 18px}.film-heading{grid-template-columns:1fr;gap:30px;margin-bottom:48px}.film-heading h2{font-size:clamp(58px,20vw,88px)}.film-intro{max-width:540px}.film-stage{grid-template-columns:1fr;gap:28px;margin:0}.film-screen{padding:7px}.film-notes{max-width:none}.merch{padding:90px 18px}.merch-heading{grid-template-columns:1fr;gap:28px;margin-bottom:55px}.merch-heading h2{font-size:clamp(58px,20vw,88px)}.merch-intro{max-width:580px}.merch-grid{grid-template-columns:1fr;gap:54px}.merch-card:nth-child(even){margin-top:0}.merch-meta{gap:16px}.merch-meta strong{font-size:7px}.merch-foot{align-items:start;flex-direction:column;margin-top:68px}.gallery{padding:90px 18px}.gallery-heading{align-items:start;flex-direction:column}.art-grid{grid-template-columns:repeat(2,1fr);gap:11px}.art-card{grid-column:span 1;margin-bottom:26px}.card-2,.card-5{margin-top:38px}.art-meta p{display:none}.details{grid-template-columns:1fr}.process-note{grid-column:auto;margin-top:20px}.drop{min-height:700px;padding:24px}.drop>img{object-position:center}.drop-actions{flex-direction:column}footer{grid-template-columns:1fr;gap:25px;padding:50px 24px 28px}footer>div{grid-column:auto;flex-direction:column}.legal-hero{padding:105px 24px 75px}.legal-index{grid-template-columns:1fr;padding:55px 18px}.legal-index>a{min-height:270px}.legal-index h2{margin-top:42px}.legal-note{grid-template-columns:1fr;padding:55px 24px;gap:18px}.legal-document{padding:90px 22px}.legal-document>header{margin-bottom:55px}.legal-document h2{font-size:27px}.legal-table>div{grid-template-columns:1fr;gap:5px}.cookie-banner{left:10px;right:10px;bottom:10px;grid-template-columns:1fr;gap:20px;padding:22px}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-actions button{padding:0 10px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
