/* ── carried over from the original Autentico site ── */
@font-face{font-family:'Cormorant Local';src:url('/fonts/Cormorant.ttf') format('truetype');font-weight:300 700;font-style:normal;font-display:swap;}
@font-face{font-family:'Cormorant Local';src:url('/fonts/Cormorant-Italic.ttf') format('truetype');font-weight:300 700;font-style:italic;font-display:swap;}
@font-face{font-family:'DM Mono Local';src:url('/fonts/DMMono-Regular.ttf') format('truetype');font-weight:300 400;font-display:swap;}

/* ─── TOKENS ─────────────────────────────── */
:root{
  --bg:#0C0905; --surf:#17120A; --surf2:#211A10;
  --bdr:rgba(210,170,90,.13); --bdr2:rgba(210,170,90,.22);
  --cream:#EFE7D2; --cream2:#B8A880;
  --gold:#C8922A; --gold2:#E8B84B;
  --terra:#C4622D; --sage:#6B8C6E; --muted:#6B5F4A;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--cream);font-family:'Crimson Pro',Georgia,serif;font-size:18px;overflow-x:hidden;-webkit-font-smoothing:antialiased;}

/* ─── PAGE SWITCH ─────────────────────────── */
.page{display:none;}
.page.active{display:block;}

/* ─── GRAIN ──────────────────────────────── */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9990;opacity:.35;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.07'/%3E%3C/svg%3E");}

/* ─── CURSOR (desktop only) ──────────────── */
.cur,.cur-ring{position:fixed;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);}
.cur{width:8px;height:8px;background:var(--gold);border-radius:50%;mix-blend-mode:screen;}
.cur-ring{width:32px;height:32px;border:1px solid rgba(200,146,42,.45);border-radius:50%;z-index:9998;transition:all .1s ease;}

/* ─── NAV ────────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;z-index:500;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;transition:background .3s,border-color .3s;}
.nav.scrolled{background:rgba(12,9,5,.96);border-bottom:1px solid var(--bdr);backdrop-filter:blur(16px);}
.logo{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:17px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--cream);text-decoration:none;display:flex;align-items:center;gap:9px;}
.logo-gem{width:14px;height:14px;background:var(--gold);transform:rotate(45deg);flex-shrink:0;}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none;}
.nav-links a{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream2);text-decoration:none;transition:color .2s;}
.nav-links a:hover{color:var(--gold2);}
.nav-right{display:flex;align-items:center;gap:16px;}
.btn-nav{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold);background:transparent;padding:9px 18px;transition:background .2s,color .2s;text-decoration:none;white-space:nowrap;cursor:pointer;}
.btn-nav:hover{background:var(--gold);color:var(--bg);}
.nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;-webkit-tap-highlight-color:transparent;}
.nav-burger span{display:block;width:22px;height:1.5px;background:var(--cream);transition:all .3s;}
.nav-drawer{display:none;position:fixed;inset:0;background:rgba(12,9,5,.98);z-index:490;flex-direction:column;align-items:center;justify-content:center;gap:28px;}
.nav-drawer.open{display:flex;}
.nav-drawer a{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream2);text-decoration:none;padding:10px 0;cursor:pointer;}
.nav-drawer .btn-nav{margin-top:8px;padding:14px 44px;font-size:11px;}

/* ─── SHARED UTILS ───────────────────────── */
.sec-lbl{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:flex;align-items:center;gap:12px;}
.sec-lbl::before{content:'';width:24px;height:1px;background:var(--gold);display:block;}
.sec-h{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:clamp(32px,4vw,62px);font-weight:300;line-height:1.08;color:var(--cream);margin-bottom:12px;}
.sec-h em{font-style:italic;color:var(--gold2);}
.sec-sub{font-size:16px;color:var(--cream2);font-weight:300;line-height:1.8;max-width:440px;}


/* HERO */
.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:88px 20px 56px;position:relative;overflow:hidden;}
.h-glow{position:absolute;top:-5%;left:50%;transform:translateX(-50%);width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(200,146,42,.08) 0%,transparent 65%);pointer-events:none;}
.h-glow2{position:absolute;bottom:-10%;right:5%;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(196,98,45,.06) 0%,transparent 65%);pointer-events:none;}
.h-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(210,170,90,.05);pointer-events:none;}
.h-ring1{width:580px;height:580px;}
.h-ring2{width:880px;height:880px;}

.eyebrow{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;display:flex;align-items:center;gap:12px;justify-content:center;opacity:0;animation:fadeUp .7s ease .1s forwards;}
.ey-ln{width:22px;height:1px;background:var(--gold);}
.hero-title{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:clamp(40px,8.5vw,108px);font-weight:300;line-height:1.03;color:var(--cream);margin-bottom:20px;opacity:0;animation:fadeUp .8s ease .22s forwards;}
.hero-title em{font-style:italic;color:var(--gold2);}
.hero-sub{font-size:clamp(15px,2.5vw,18px);font-weight:300;line-height:1.8;color:var(--cream2);max-width:520px;margin:0 auto 40px;opacity:0;animation:fadeUp .8s ease .36s forwards;}
/* MARQUEE */
.mqw{background:var(--surf);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);padding:12px 0;overflow:hidden;}
.mq{display:flex;animation:mq 30s linear infinite;white-space:nowrap;}
.mi{display:inline-flex;align-items:center;gap:16px;font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding:0 24px;flex-shrink:0;}
.ms{color:var(--gold);font-size:8px;}

/* FOOTER */
footer{border-top:1px solid var(--bdr);padding:32px 28px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.fl{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:15px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--cream2);text-decoration:none;}
.fc2{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;}
.flinks{display:flex;gap:22px;list-style:none;}
.flinks a{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s;}
.flinks a:hover{color:var(--gold);}

/* ══════════════════════════════════════════
   STORY PAGE
══════════════════════════════════════════ */

/* Story hero — full bleed illustration */
.story-hero{position:relative;height:100svh;min-height:500px;max-height:800px;overflow:hidden;display:flex;align-items:flex-end;}
.sh-bg{position:absolute;inset:0;background:linear-gradient(155deg,#0E1A24 0%,#0A2030 30%,#143850 60%,#1A5870 100%);}
.sh-pattern{position:absolute;inset:0;opacity:.08;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='30' cy='30' r='25' fill='none' stroke='%23EFE7D2' stroke-width='.6'/%3E%3Ccircle cx='30' cy='30' r='15' fill='none' stroke='%23EFE7D2' stroke-width='.4'/%3E%3Cline x1='5' y1='30' x2='55' y2='30' stroke='%23EFE7D2' stroke-width='.3'/%3E%3Cline x1='30' y1='5' x2='30' y2='55' stroke='%23EFE7D2' stroke-width='.3'/%3E%3Cline x1='12' y1='12' x2='48' y2='48' stroke='%23EFE7D2' stroke-width='.2'/%3E%3Cline x1='48' y1='12' x2='12' y2='48' stroke='%23EFE7D2' stroke-width='.2'/%3E%3C/svg%3E");}
/* Floating spirit orbs */
.sh-orb{position:absolute;border-radius:50%;filter:blur(40px);animation:orbFloat 8s ease-in-out infinite;}
.sh-orb1{width:300px;height:300px;background:rgba(30,95,120,.4);top:10%;left:15%;animation-delay:0s;}
.sh-orb2{width:200px;height:200px;background:rgba(200,146,42,.15);top:30%;right:10%;animation-delay:-3s;}
.sh-orb3{width:180px;height:180px;background:rgba(196,98,45,.15);bottom:20%;left:40%;animation-delay:-5s;}
@keyframes orbFloat{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-20px) scale(1.05);}}
/* Central illustration art */
.sh-art{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:clamp(100px,18vw,200px);opacity:.18;user-select:none;animation:artFloat 10s ease-in-out infinite;}
@keyframes artFloat{0%,100%{transform:translate(-50%,-50%) scale(1);}50%{transform:translate(-50%,-52%) scale(1.04);}}
.sh-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(12,9,5,1) 0%,rgba(12,9,5,.5) 40%,transparent 70%);}
.sh-content{position:relative;z-index:2;padding:40px 28px 44px;width:100%;max-width:900px;margin:0 auto;}
.sh-meta{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap;}
.sh-country{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);background:rgba(200,146,42,.12);border:1px solid rgba(200,146,42,.25);padding:4px 12px;}
.sh-type{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream2);}
.sh-sep{color:var(--muted);}
.sh-title{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:clamp(32px,6vw,72px);font-weight:300;line-height:1.05;color:var(--cream);margin-bottom:16px;}
.sh-title em{font-style:italic;color:var(--gold2);}
.sh-tagline{font-size:clamp(14px,2vw,17px);color:var(--cream2);font-weight:300;font-style:italic;line-height:1.6;max-width:560px;}

/* Audio player bar */
.audio-bar{background:var(--surf);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);padding:14px 28px;display:flex;align-items:center;gap:16px;position:sticky;top:58px;z-index:100;}
.ab-play{width:36px;height:36px;border-radius:50%;background:var(--gold);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s;-webkit-tap-highlight-color:transparent;}
.ab-play:hover{background:var(--gold2);}
.ab-play svg{width:14px;height:14px;fill:var(--bg);}
.ab-info{flex:1;min-width:0;}
.ab-title{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--cream2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ab-track{margin-top:6px;display:flex;align-items:center;gap:10px;}
.ab-bar{flex:1;height:2px;background:rgba(210,170,90,.15);position:relative;cursor:pointer;}
.ab-prog{height:100%;background:var(--gold);width:35%;transition:width .5s linear;}
.ab-time{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:8px;color:var(--muted);letter-spacing:.1em;white-space:nowrap;}
.ab-vol{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.ab-vol svg{width:14px;height:14px;fill:var(--muted);}
.ab-vol-bar{width:60px;height:2px;background:rgba(210,170,90,.15);}
.ab-vol-fill{height:100%;background:var(--muted);width:70%;}

/* Story body layout */
.story-body{max-width:1100px;margin:0 auto;padding:60px 28px 100px;display:grid;grid-template-columns:1fr 320px;gap:60px;align-items:start;}

/* Story text */
.story-text{}
.story-chapter{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;display:flex;align-items:center;gap:10px;}
.story-chapter::after{content:'';flex:1;height:1px;background:var(--bdr);}
.drop-cap::first-letter{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:5.2em;font-weight:600;float:left;line-height:.75;margin:0.08em 0.1em 0 0;color:var(--gold2);}
.story-p{font-size:clamp(16px,2.2vw,19px);line-height:1.9;color:var(--cream);font-weight:300;margin-bottom:28px;}
.story-p + .story-p{text-indent:1.5em;}

/* Pull quote */
.pull-quote{border-left:2px solid var(--gold);padding:20px 0 20px 28px;margin:40px 0;position:relative;}
.pull-quote::before{content:'\201C';font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:72px;color:var(--gold);opacity:.25;position:absolute;top:-16px;left:20px;line-height:1;}
.pq-text{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:clamp(20px,3vw,28px);font-style:italic;font-weight:300;color:var(--cream2);line-height:1.5;}

/* Illustration break */
.story-illus{margin:48px 0;position:relative;}
.si-box{height:280px;border-radius:1px;overflow:hidden;position:relative;background:linear-gradient(155deg,#0A1520,#103040,#1E5F78);display:flex;align-items:center;justify-content:center;}
.si-em{font-size:80px;opacity:.25;}
.si-ov2{position:absolute;inset:0;background:linear-gradient(135deg,rgba(12,9,5,.6) 0%,transparent 50%,rgba(12,9,5,.4) 100%);}
.si-caption{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:12px;}

/* Sidebar */
.story-sidebar{}
.ss-card{background:var(--surf);border:1px solid var(--bdr);padding:24px;margin-bottom:16px;}
.ss-title{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--bdr);}
.ss-body{font-size:14px;color:var(--cream2);line-height:1.75;font-weight:300;}
.ss-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;}
.ss-tag{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:8px;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border:1px solid var(--bdr);color:var(--cream2);}
.ss-stat{display:flex;justify-content:space-between;margin-bottom:10px;}
.ss-stat:last-child{margin-bottom:0;}
.ss-stat-l{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;}
.ss-stat-r{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:18px;color:var(--cream);}
/* Regen button */
.btn-regen{width:100%;background:transparent;border:1px solid var(--gold);color:var(--gold);font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:13px 16px;cursor:pointer;transition:background .2s,color .2s;margin-top:6px;-webkit-tap-highlight-color:transparent;}
.btn-regen:hover,.btn-regen:active{background:var(--gold);color:var(--bg);}
/* Share */
.share-row{display:flex;gap:8px;margin-top:6px;}
.btn-share{flex:1;background:var(--surf2);border:1px solid var(--bdr);color:var(--cream2);font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:10px 8px;cursor:pointer;transition:border-color .2s,color .2s;text-align:center;-webkit-tap-highlight-color:transparent;}
.btn-share:hover{border-color:var(--gold2);color:var(--gold2);}

/* Related stories */
.related-sec{background:var(--surf);border-top:1px solid var(--bdr);padding:64px 28px 80px;}
.related-in{max-width:1100px;margin:0 auto;}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:40px;background:var(--bdr);}


/* Chapter progress tabs */
.chapter-nav{
  display:flex;align-items:center;gap:0;
  border-bottom:1px solid var(--bdr);
  padding:0 16px;overflow-x:auto;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
  background:var(--surf);
}
.chapter-nav::-webkit-scrollbar{display:none;}
.chap-tab{
  font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:8px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);
  padding:11px 14px;border-bottom:2px solid transparent;
  cursor:pointer;white-space:nowrap;display:flex;align-items:center;
  gap:6px;background:none;border-top:none;border-left:none;border-right:none;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
  flex-shrink:0;min-height:40px;
}
.chap-tab.ct-active{color:var(--gold);border-bottom-color:var(--gold);}
.chap-tab.ct-done{color:var(--sage);}
.chap-tab.ct-locked{opacity:.3;cursor:default;}
.chap-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0;}
.chap-tab.ct-treasure{color:var(--gold2);}
.chap-tab.ct-trap{color:var(--terra);}

/* Reading progress bar */
.read-progress{height:2px;background:rgba(200,146,42,.1);}
.read-progress-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));transition:width .4s;}

/* Chapter body */
.chap-body{display:none;max-width:720px;margin:0 auto;padding:40px 20px 20px;}
.chap-body.ch-active{display:block;}

/* End-of-chapter puzzle */
.puzzle-card{
  margin:40px 0 0;
  border:1px solid var(--bdr);
  background:var(--surf);
  overflow:hidden;
}
.puzzle-header{
  padding:18px 20px;
  display:flex;align-items:center;gap:12px;
  border-bottom:1px solid var(--bdr);
  background:rgba(200,146,42,.04);
}
.puzzle-icon{font-size:22px;flex-shrink:0;}
.puzzle-label{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}
.puzzle-q{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:clamp(17px,2.5vw,22px);font-weight:300;color:var(--cream);margin-top:4px;line-height:1.4;}
.puzzle-stake{
  display:flex;align-items:center;gap:16px;padding:12px 20px;
  border-bottom:1px solid var(--bdr);flex-wrap:wrap;gap:10px;
}
.stake-item{
  display:flex;align-items:center;gap:6px;
  font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:8px;letter-spacing:.1em;text-transform:uppercase;
}
.stake-win{color:var(--sage);}
.stake-lose{color:var(--terra);}
.puzzle-opts{padding:16px 20px;display:flex;flex-direction:column;gap:8px;}
.puzzle-opt{
  display:flex;align-items:flex-start;gap:12px;
  padding:14px 16px;border:1px solid var(--bdr);
  background:var(--bg);cursor:pointer;
  transition:border-color .2s,background .15s;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
  text-align:left;width:100%;min-height:50px;
}
.puzzle-opt:hover:not(:disabled){border-color:var(--gold);background:rgba(200,146,42,.04);}
.puzzle-opt:disabled{cursor:default;}
.opt-letter{
  font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:10px;
  color:var(--muted);flex-shrink:0;margin-top:1px;
  width:18px;
}
.opt-text{font-size:clamp(13px,2vw,15px);color:var(--cream2);line-height:1.5;text-align:left;}
.puzzle-opt.opt-correct{border-color:var(--sage)!important;background:rgba(107,140,110,.1)!important;}
.puzzle-opt.opt-correct .opt-letter{color:var(--sage);}
.puzzle-opt.opt-wrong{border-color:var(--terra)!important;background:rgba(196,98,45,.08)!important;}
.puzzle-opt.opt-wrong .opt-letter{color:var(--terra);}

/* Puzzle result reveal */
.puzzle-result{
  display:none;padding:20px;
  border-top:1px solid var(--bdr);
}
.puzzle-result.pr-show{display:block;}
.pr-treasure{background:rgba(200,146,42,.06);border-top-color:rgba(200,146,42,.3);}
.pr-trap{background:rgba(196,98,45,.06);border-top-color:rgba(196,98,45,.3);}
.pr-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.pr-icon{font-size:28px;}
.pr-title{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:20px;font-weight:600;}
.pr-treasure .pr-title{color:var(--gold2);}
.pr-trap .pr-title{color:var(--terra);}
.pr-body{font-size:14px;color:var(--cream2);line-height:1.7;margin-bottom:14px;}
.pr-rewards{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.pr-reward-chip{
  display:flex;align-items:center;gap:6px;
  font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 10px;border:1px solid;
}
.chip-token{color:var(--gold);border-color:rgba(200,146,42,.3);background:rgba(200,146,42,.08);}
.chip-xp{color:#A8D4AA;border-color:rgba(107,140,110,.3);background:rgba(107,140,110,.08);}
.chip-fragment{color:var(--cream2);border-color:var(--bdr2);}
.chip-badge{color:var(--gold2);border-color:rgba(232,184,75,.3);background:rgba(232,184,75,.06);}
.chip-trap{color:var(--terra);border-color:rgba(196,98,45,.3);background:rgba(196,98,45,.08);}
.btn-next-chapter{
  width:100%;background:var(--gold);color:var(--bg);
  font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  padding:14px;border:none;cursor:pointer;
  transition:background .2s;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:48px;
}
.btn-next-chapter:hover{background:var(--gold2);}
.btn-next-chapter:disabled{opacity:.4;cursor:default;}

/* Story end screen */
.story-end{
  max-width:720px;margin:0 auto;
  padding:40px 20px 80px;
  text-align:center;
  display:none;
}
.story-end.se-show{display:block;}
.se-icon{font-size:52px;display:block;margin-bottom:20px;}
.se-title{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:clamp(26px,4vw,44px);font-weight:300;color:var(--cream);margin-bottom:8px;}
.se-sub{font-size:15px;color:var(--muted);font-style:italic;margin-bottom:32px;}
.se-rewards{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:32px;}
.se-stat{text-align:center;padding:16px 20px;border:1px solid var(--bdr);background:var(--surf);min-width:100px;}
.se-stat-val{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:32px;font-weight:300;color:var(--cream);}
.se-stat-lbl{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:7.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:4px;}
.se-actions{display:flex;flex-direction:column;gap:10px;max-width:320px;margin:0 auto;}


/* ─── DOOR + GARDEN SCENE ─────────────────── */
.door-scene{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:40px;}

.door-frame{
  position:relative;width:min(300px,85vw);height:min(420px,120vw);
  perspective:900px;
  filter:drop-shadow(0 32px 80px rgba(0,0,0,.85)) drop-shadow(0 0 40px rgba(200,146,42,.08));
}

/* Door panels */
.door-panel-left,.door-panel-right{
  position:absolute;top:0;height:100%;width:50%;
  background:linear-gradient(170deg,#3A2510 0%,#1E1408 50%,#2A1C0C 100%);
  z-index:3;
}
.door-panel-left{
  left:0;transform-origin:left center;
  border-right:1px solid rgba(200,146,42,.2);
  animation:swingL 8s cubic-bezier(.42,0,.18,1) 0.5s infinite;
}
.door-panel-right{
  right:0;transform-origin:right center;
  border-left:1px solid rgba(200,146,42,.2);
  animation:swingR 8s cubic-bezier(.42,0,.18,1) 0.5s infinite;
}
@keyframes swingL{
  0%,5%    {transform:rotateY(0deg);}
  28%,62%  {transform:rotateY(-82deg);}
  88%,100% {transform:rotateY(0deg);}
}
@keyframes swingR{
  0%,5%    {transform:rotateY(0deg);}
  28%,62%  {transform:rotateY(82deg);}
  88%,100% {transform:rotateY(0deg);}
}

/* Wood grain */
.door-panel-left::before,.door-panel-right::before{
  content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(172deg,transparent,transparent 22px,rgba(160,100,30,.05) 23px);
}
/* Panel inset ornament */
.door-panel-left::after{
  content:'';position:absolute;top:12%;left:10%;right:10%;height:32%;
  border:1px solid rgba(200,146,42,.22);
  box-shadow:inset 0 0 0 5px rgba(200,146,42,.06),0 0 12px rgba(200,146,42,.04);
}
.door-panel-right::after{
  content:'';position:absolute;top:12%;left:10%;right:10%;height:32%;
  border:1px solid rgba(200,146,42,.22);
  box-shadow:inset 0 0 0 5px rgba(200,146,42,.06);
}
/* Lower panel inset */
.door-panel-left .door-inset-low,.door-panel-right .door-inset-low{
  position:absolute;bottom:10%;left:10%;right:10%;height:22%;
  border:1px solid rgba(200,146,42,.15);
}

/* Knob */
.door-knob{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:16px;height:16px;border-radius:50%;z-index:4;
  background:radial-gradient(circle at 35% 30%,#F0CC60,#8A5010);
  box-shadow:0 3px 8px rgba(0,0,0,.6),0 0 6px rgba(232,184,75,.3);
  animation:knobHide 8s ease 0.5s infinite;
}
@keyframes knobHide{
  0%,22%  {opacity:1;}
  32%,58% {opacity:0;}
  80%,100%{opacity:1;}
}

/* Door outer frame */
.door-border{
  position:absolute;inset:-8px;pointer-events:none;z-index:5;
  border:2px solid rgba(200,146,42,.35);
  box-shadow:0 0 0 1px rgba(200,146,42,.1),0 0 30px rgba(200,146,42,.05);
}
.door-border::before{
  content:'✦';position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  font-size:13px;color:var(--gold);background:var(--bg);padding:0 8px;letter-spacing:.1em;
}
.door-border::after{
  content:'';position:absolute;top:10px;left:10px;right:10px;bottom:10px;
  border:1px solid rgba(200,146,42,.08);pointer-events:none;
}
.door-corner{position:absolute;width:10px;height:10px;background:var(--gold);transform:rotate(45deg);opacity:.55;}
.dc-tl{top:-5px;left:-5px;} .dc-tr{top:-5px;right:-5px;}
.dc-bl{bottom:-5px;left:-5px;} .dc-br{bottom:-5px;right:-5px;}

/* ═══ GARDEN PARADISE BEHIND DOOR ════════════ */
.garden-scene{
  position:absolute;inset:0;overflow:hidden;z-index:1;
  background:linear-gradient(180deg,
    #060D12 0%,
    #0A1A0F 12%,
    #0D2A14 28%,
    #144020 45%,
    #1C5A28 62%,
    #144820 80%,
    #0C2A10 100%
  );
  animation:gardenPulse 8s ease 0.5s infinite;
}
@keyframes gardenPulse{
  0%,6%  {opacity:0;}
  25%,60%{opacity:1;}
  85%,100%{opacity:0;}
}

/* Ambient green glow overlay */
.garden-scene::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 60% at 50% 60%,rgba(40,160,60,.12) 0%,transparent 70%);
  pointer-events:none;
}

/* ── Sky ── */
.gd-sky{
  position:absolute;top:0;left:0;right:0;height:42%;
  background:linear-gradient(180deg,
    #03060D 0%,#0A0F1E 25%,#0E1A28 50%,#122018 75%,transparent 100%);
}
/* Aurora ribbons */
.gd-aurora{
  position:absolute;top:5%;left:-20%;right:-20%;height:25%;
  background:linear-gradient(90deg,
    transparent 0%,rgba(20,180,80,.06) 20%,rgba(60,220,100,.1) 40%,
    rgba(100,240,120,.08) 60%,rgba(20,180,80,.05) 80%,transparent 100%);
  filter:blur(12px);border-radius:50%;
  animation:auroraDrift 12s ease-in-out infinite;
}
.gd-aurora2{
  position:absolute;top:10%;left:-20%;right:-20%;height:18%;
  background:linear-gradient(90deg,
    transparent 0%,rgba(80,100,240,.04) 30%,rgba(40,180,120,.07) 55%,
    rgba(80,100,240,.04) 80%,transparent 100%);
  filter:blur(16px);border-radius:50%;
  animation:auroraDrift 18s ease-in-out infinite reverse;
}
@keyframes auroraDrift{
  0%,100%{transform:translateX(0) scaleY(1);}
  33%{transform:translateX(15px) scaleY(1.2);}
  66%{transform:translateX(-10px) scaleY(.85);}
}

/* ── Moon & stars ── */
.gd-moon{
  position:absolute;top:6%;left:50%;transform:translateX(-50%);
  width:28px;height:28px;border-radius:50%;
  background:radial-gradient(circle at 38% 38%,#FFFCE8,#F0D870 50%,#C8A030);
  box-shadow:0 0 16px rgba(240,216,112,.7),0 0 40px rgba(232,184,75,.35),0 0 80px rgba(200,146,42,.15);
}
.gd-stars{position:absolute;top:0;left:0;right:0;height:42%;}
.gd-star{position:absolute;background:#F8F4E0;border-radius:50%;animation:twinkle 2.5s ease-in-out infinite;}
@keyframes twinkle{0%,100%{opacity:.2;transform:scale(1);}50%{opacity:1;transform:scale(1.6);}}

/* ── Background trees (silhouette layer) ── */
.gd-tree-bg{
  position:absolute;bottom:28%;
  display:flex;flex-direction:column;align-items:center;
  opacity:.45;filter:blur(.5px);
}
.gd-tree-bg .tt{width:0;height:0;border-left:20px solid transparent;border-right:20px solid transparent;border-bottom:45px solid #0E3A14;margin-bottom:-3px;}
.gd-tree-bg .tt2{width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-bottom:32px solid #124018;margin-bottom:-5px;}
.gd-tree-bg .tr{width:6px;height:28px;background:#1A0C04;border-radius:2px;}

/* ── Foreground trees ── */
.gd-tree{position:absolute;bottom:16%;display:flex;flex-direction:column;align-items:center;}
.gd-tree .tt{width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-bottom:36px solid #1A6020;margin-bottom:-3px;filter:drop-shadow(0 -3px 6px rgba(60,200,80,.2));}
.gd-tree .tt2{width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:26px solid #228030;margin-bottom:-4px;}
.gd-tree .tr{width:5px;height:22px;background:linear-gradient(180deg,#3A2010,#1A0C04);border-radius:2px;}

/* ── Ground & grass ── */
.gd-ground{
  position:absolute;bottom:0;left:0;right:0;height:30%;
  background:linear-gradient(180deg,transparent,#0A2208 35%,#060E04 100%);
}
.gd-grass{
  position:absolute;bottom:28%;left:0;right:0;height:16px;
  background:
    radial-gradient(ellipse 120% 60% at 50% 100%,rgba(30,120,40,.5) 0%,transparent 70%);
  filter:blur(1px);
}

/* ── Mist ── */
.gd-mist{
  position:absolute;left:-15%;right:-15%;
  background:rgba(180,220,160,.05);
  filter:blur(10px);border-radius:50%;
  animation:mistDrift 10s ease-in-out infinite;
}
@keyframes mistDrift{0%,100%{transform:translateX(0);opacity:.6;}50%{transform:translateX(12px);opacity:1;}}

/* ── Flowers ── */
.gd-flower{position:absolute;bottom:17%;display:flex;flex-direction:column;align-items:center;gap:0;}
.gd-f-stem{width:2px;border-radius:1px;background:linear-gradient(180deg,#3A8020,#1E4A10);}
.gd-f-head{line-height:1;animation:sway 3.5s ease-in-out infinite;}
@keyframes sway{0%,100%{transform:rotate(-10deg);}50%{transform:rotate(10deg);}}

/* ── Fireflies ── */
.gd-fly{
  position:absolute;width:3px;height:3px;border-radius:50%;
  background:#AAFFA0;
  box-shadow:0 0 6px #AAFFA0,0 0 14px rgba(160,255,140,.5);
  animation:flyFloat 5s ease-in-out infinite;
}
@keyframes flyFloat{
  0%  {transform:translate(0,0) scale(0);opacity:0;}
  15% {opacity:1;transform:translate(0,0) scale(1);}
  50% {transform:translate(var(--fx,8px),var(--fy,-16px)) scale(1.2);}
  85% {opacity:.3;}
  100%{transform:translate(var(--fx2,-5px),var(--fy2,-28px)) scale(0);opacity:0;}
}

/* ── Folklore Characters ── */
.gd-char{
  position:absolute;
  animation:charFloat 4.5s ease-in-out infinite;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.6));
  transform-origin:bottom center;
}
@keyframes charFloat{
  0%,100%{transform:translateY(0) rotate(0deg);}
  30%{transform:translateY(-7px) rotate(-2deg);}
  70%{transform:translateY(-4px) rotate(1deg);}
}
.gd-char-glow{
  animation:charFloat 4.5s ease-in-out infinite, charGlow 3s ease-in-out infinite;
}
@keyframes charGlow{
  0%,100%{filter:drop-shadow(0 4px 12px rgba(0,0,0,.6)) drop-shadow(0 0 8px rgba(200,255,160,.0));}
  50%{filter:drop-shadow(0 4px 12px rgba(0,0,0,.4)) drop-shadow(0 0 16px rgba(160,255,120,.35));}
}

/* ── Particle sparkles ── */
.gd-spark{
  position:absolute;width:2px;height:2px;border-radius:50%;
  background:#FFE88A;box-shadow:0 0 4px #FFE88A;
  animation:sparkle 3s ease-in-out infinite;
}
@keyframes sparkle{
  0%,100%{opacity:0;transform:scale(0);}
  40%,60%{opacity:1;transform:scale(1);}
}

/* ── Garden story title ── */
.gd-title-wrap{
  position:absolute;bottom:3%;left:0;right:0;text-align:center;padding:0 10px;
  transition:opacity .5s ease;
}

/* Door label below */
.door-cta{
  font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:8px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--muted);margin-top:16px;
  animation:ctaPulse 8s ease 0.5s infinite;
}
@keyframes ctaPulse{
  0%,10% {opacity:.15;color:var(--muted);}
  35%,60%{opacity:1;color:var(--gold2);}
  88%,100%{opacity:.15;color:var(--muted);}
}

/* Continent tabs */
.continent-nav{display:flex;gap:0;border-bottom:1px solid var(--bdr);padding:0 48px;overflow-x:auto;}
.cont-tab{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:12px 20px;border-bottom:2px solid transparent;cursor:pointer;transition:color .2s,border-color .2s;white-space:nowrap;background:none;border-top:none;border-left:none;border-right:none;}
.cont-tab:hover{color:var(--cream2);}
.cont-tab.active{color:var(--gold);border-bottom-color:var(--gold);}

/* Story grid */
.story-grid-wrap{padding:40px 48px;}
.continent-section{display:none;}
.continent-section.active{display:block;}
.country-group{margin-bottom:48px;}
.country-head{display:flex;align-items:center;gap:12px;margin-bottom:20px;}
.ch-flag{font-size:22px;}
.ch-name{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:22px;font-weight:300;color:var(--cream);}
.ch-count{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-left:auto;}
.story-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1px;background:var(--bdr);}
.story-card{background:var(--bg);padding:20px;cursor:pointer;transition:background .2s;position:relative;overflow:hidden;}
.story-card:hover{background:var(--surf);}
.story-card.locked{opacity:.65;cursor:default;}
.sc-lock{position:absolute;top:10px;right:10px;font-size:12px;color:var(--muted);}
.sc-popular{position:absolute;top:10px;right:10px;font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:7px;letter-spacing:.12em;text-transform:uppercase;background:var(--gold);color:var(--bg);padding:2px 7px;}
.sc-em{font-size:28px;margin-bottom:10px;display:block;}
.sc-type{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;}
.sc-title{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:17px;font-weight:600;color:var(--cream);line-height:1.3;margin-bottom:8px;}
.sc-excerpt{font-size:13px;color:var(--cream2);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.sc-foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid var(--bdr);}
.sc-cost{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;color:var(--gold);display:flex;align-items:center;gap:4px;}
.sc-reads{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:8px;color:var(--muted);}

/* Token shop modal */
.modal-overlay{position:fixed;inset:0;background:rgba(12,9,5,.94);z-index:700;display:none;align-items:center;justify-content:center;padding:20px;}
.modal-overlay.open{display:flex;}
.modal-box{background:var(--surf);border:1px solid var(--bdr2);max-width:480px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 40px 100px rgba(0,0,0,.7);}
.modal-head{padding:28px 28px 0;display:flex;align-items:flex-start;justify-content:space-between;}
.modal-close{background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer;line-height:1;padding:4px;}
.modal-close:hover{color:var(--cream);}
.modal-body{padding:20px 28px 28px;}

/* ── ROADMAP PAGE ── */
.roadmap-page{padding:100px 48px 80px;min-height:100vh;max-width:1000px;margin:0 auto;}
.roadmap-page .sec-lbl{margin-bottom:40px;}
.rm-phases{display:flex;flex-direction:column;gap:0;}
.rm-phase{display:grid;grid-template-columns:120px 1px 1fr;gap:0 32px;position:relative;}
.rm-phase::before{content:'';position:absolute;left:120px;top:0;bottom:0;width:1px;background:var(--bdr);}
.rm-dot{position:absolute;left:112px;top:28px;width:17px;height:17px;border:2px solid var(--bdr);background:var(--bg);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;z-index:1;}
.rm-dot.live{border-color:var(--gold);background:var(--gold);}
.rm-dot.next{border-color:var(--cream2);}
.rm-dot.soon{border-color:var(--muted);}
.rm-timing{padding:24px 0;text-align:right;}
.rm-timing-val{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.rm-timing-val.live-now{color:var(--gold);}
.rm-content{padding:20px 0 40px;}
.rm-phase-title{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:26px;font-weight:300;color:var(--cream);margin-bottom:4px;}
.rm-phase-sub{font-size:14px;color:var(--muted);margin-bottom:20px;font-style:italic;}
.rm-items{display:flex;flex-direction:column;gap:8px;}
.rm-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:var(--surf);border:1px solid var(--bdr);}
.rm-item.done-item{border-color:rgba(107,140,110,.3);}
.rm-item.active-item{border-color:rgba(200,146,42,.25);background:rgba(200,146,42,.04);}
.ri-status{font-size:13px;flex-shrink:0;margin-top:1px;}
.ri-body{}
.ri-title{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--cream2);margin-bottom:3px;}
.ri-desc{font-size:13px;color:var(--muted);line-height:1.6;}
.rm-phase-badge{display:inline-flex;align-items:center;gap:6px;font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:8px;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border:1px solid;margin-bottom:14px;}
.badge-live{color:var(--gold);border-color:rgba(200,146,42,.4);background:rgba(200,146,42,.08);}
.badge-next{color:var(--cream2);border-color:var(--bdr2);}
.badge-future{color:var(--muted);border-color:var(--bdr);}

.about-strip{text-align:center;padding:64px 24px 48px;border-top:1px solid var(--bdr);margin-top:80px;}
.about-text{font-size:15px;color:var(--muted);font-weight:300;line-height:1.9;max-width:500px;margin:0 auto 20px;font-style:italic;}
.credit-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;}
.credit-yr{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;}
.credit-sep{color:var(--gold);font-size:8px;}
.credit-x{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;letter-spacing:.16em;color:var(--gold);text-transform:uppercase;text-decoration:none;border-bottom:1px solid rgba(200,146,42,.3);padding-bottom:1px;transition:color .2s,border-color .2s;}
.credit-x:hover{color:var(--gold2);border-color:var(--gold2);}
.credit-built{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
@keyframes mq{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* CTA (from original) */
/* CTA */
.cta-sec{padding:140px 24px;text-align:center;position:relative;overflow:hidden;}
.cta-sec::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(200,146,42,.07) 0%,transparent 65%);pointer-events:none;}
.cta-h{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:clamp(38px,6vw,88px);font-weight:300;line-height:1.05;color:var(--cream);margin-bottom:20px;position:relative;}
.cta-h em{font-style:italic;color:var(--gold2);}
.cta-p{font-size:16px;color:var(--cream2);font-weight:300;line-height:1.8;max-width:420px;margin:0 auto 40px;position:relative;}
.btn-cta{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;background:var(--gold);color:var(--bg);padding:16px 48px;text-decoration:none;cursor:pointer;transition:background .2s,transform .15s;display:inline-block;position:relative;-webkit-tap-highlight-color:transparent;}
.btn-cta:hover{background:var(--gold2);}
.btn-cta:active{background:var(--gold2);transform:scale(.98);}

/* ══════════════════════════════════════════
   AUTENTICO SPIRITS — NFT-first layer
══════════════════════════════════════════ */
:root{--rare:#8FBFA4;--epic:#D9774A;--leg:#F2C35B;--common:#B8A880;}
img{max-width:100%;display:block;}
a{color:inherit;}
::selection{background:rgba(200,146,42,.35);color:var(--cream);}
.skip{position:absolute;left:-999px;top:0;}
.wrap{max-width:1200px;margin:0 auto;padding:0 48px;}
.sec{padding:110px 0;position:relative;}
.sec.alt{background:var(--surf);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-bottom:52px;}
.sec-head .sec-sub{max-width:460px;}
.mono{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;}
.tiny{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}

/* nav */
.nav-links a.on{color:var(--gold2);}
.nav-x{display:inline-flex;align-items:center;color:var(--cream2);transition:color .2s;padding:6px;}
.nav-x:hover{color:var(--gold2);}
.nav-x svg{width:13px;height:13px;fill:currentColor;}

/* buttons */
.btn-cta{border:none;font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;}
.btn-ghost{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;background:transparent;color:var(--gold2);border:1px solid rgba(200,146,42,.5);padding:15px 34px;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s;display:inline-block;}
.btn-ghost:hover{background:rgba(200,146,42,.1);border-color:var(--gold2);}
.btn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.btn-sm{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;background:transparent;color:var(--gold);border:1px solid rgba(200,146,42,.45);padding:9px 14px;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:6px;}
.btn-sm:hover{background:var(--gold);color:var(--bg);}
.btn-sm.solid{background:var(--gold);color:var(--bg);border-color:var(--gold);}
.btn-sm.solid:hover{background:var(--gold2);}

/* hero additions */
.hero{padding-bottom:72px;}
.hero-title{font-size:clamp(44px,8.2vw,112px);}
.hero-sub strong{color:var(--cream);font-weight:400;}
.counter{opacity:0;animation:fadeUp .8s ease .5s forwards;margin:0 auto 34px;width:min(440px,100%);}
.ct-top{display:flex;align-items:baseline;justify-content:center;gap:12px;}
.ct-num{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:clamp(46px,7vw,68px);font-weight:300;line-height:1;color:var(--gold2);font-variant-numeric:tabular-nums;}
.ct-max{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:clamp(22px,3vw,30px);font-weight:300;color:var(--cream2);}
.ct-bar{height:2px;background:rgba(210,170,90,.14);margin:14px 0 12px;position:relative;overflow:hidden;}
.ct-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,var(--gold),var(--gold2));transition:width 1.4s cubic-bezier(.2,.7,.1,1);box-shadow:0 0 12px rgba(232,184,75,.6);}
.ct-bar.idle .ct-fill{width:30%;opacity:.35;animation:idleSweep 2.6s ease-in-out infinite;}
@keyframes idleSweep{0%{transform:translateX(-110%);}100%{transform:translateX(340%);}}
.ct-meta{display:flex;align-items:center;justify-content:center;gap:10px;font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--cream2);}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--muted);flex-shrink:0;}
.pulse.live{background:#9FD49A;box-shadow:0 0 0 0 rgba(159,212,154,.6);animation:pulse 1.8s infinite;}
.pulse.soon{background:var(--gold);box-shadow:0 0 0 0 rgba(200,146,42,.6);animation:pulse 2.4s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(200,146,42,.45);}70%{box-shadow:0 0 0 9px rgba(200,146,42,0);}100%{box-shadow:0 0 0 0 rgba(200,146,42,0);}}
.hero .btn-row{opacity:0;animation:fadeUp .8s ease .62s forwards;}

/* spirit inside the garden */
.gd-spirit{height:auto;position:absolute;left:50%;bottom:13%;width:78%;transform:translateX(-50%);z-index:2;mix-blend-mode:screen;
  -webkit-mask-image:radial-gradient(circle at 50% 45%,#000 38%,transparent 68%);mask-image:radial-gradient(circle at 50% 45%,#000 38%,transparent 68%);
  animation:spiritRise 8s ease .5s infinite;transition:opacity .4s;}
@keyframes spiritRise{0%,10%{opacity:0;transform:translateX(-50%) translateY(14px) scale(.94);}30%,60%{opacity:1;transform:translateX(-50%) translateY(0) scale(1);}86%,100%{opacity:0;transform:translateX(-50%) translateY(6px) scale(.97);}}
.gd-title-wrap{z-index:3;}
.gd-title-wrap .g1{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:7px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:4px;}
.gd-title-wrap .g2{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:15px;font-weight:600;color:var(--cream);line-height:1.2;}

/* floating petals */
.petals{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0;}
.petal{position:absolute;top:-40px;font-size:14px;opacity:0;animation:petalFall linear infinite;filter:saturate(.7);}
@keyframes petalFall{0%{transform:translate(0,0) rotate(0);opacity:0;}10%{opacity:.55;}90%{opacity:.4;}100%{transform:translate(var(--dx,60px),110vh) rotate(360deg);opacity:0;}}

/* reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.1,1);}
.rv.in{opacity:1;transform:none;}

/* spirits showcase */
.sp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bdr);border:1px solid var(--bdr);}
.sp-card{background:var(--bg);position:relative;overflow:hidden;cursor:default;}
.sp-img{aspect-ratio:1/1;position:relative;overflow:hidden;background:#0a0703;}
.sp-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.1,1),filter .6s;filter:saturate(.92);}
.sp-card:hover .sp-img img{transform:scale(1.06);filter:saturate(1.08);}
.sp-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(12,9,5,.95) 0%,rgba(12,9,5,.2) 42%,transparent 60%);}
.sp-rar{position:absolute;top:12px;left:12px;z-index:2;font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;padding:4px 8px;border:1px solid currentColor;background:rgba(12,9,5,.6);backdrop-filter:blur(6px);}
.sp-odds{position:absolute;top:12px;right:12px;z-index:2;font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:8.5px;letter-spacing:.12em;color:var(--cream2);}
.sp-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:16px 16px 18px;}
.sp-origin{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:4px;}
.sp-name{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:26px;font-weight:600;color:var(--cream);line-height:1.05;}
.sp-line{font-size:13.5px;line-height:1.55;color:var(--cream2);font-style:italic;font-weight:300;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease,opacity .5s ease,margin .5s;}
.sp-card:hover .sp-line,.sp-card:focus-within .sp-line{max-height:90px;opacity:1;margin-top:8px;}
.r-Common{color:var(--common);} .r-Rare{color:var(--rare);} .r-Epic{color:var(--epic);} .r-Legendary{color:var(--leg);}
.sp-card.leg{grid-column:span 2;grid-row:span 2;}
.sp-card.leg .sp-name{font-size:clamp(34px,4vw,54px);}
.sp-card.leg .sp-line{max-height:90px;opacity:1;margin-top:10px;font-size:16px;max-width:420px;}
.sp-card.leg .sp-img{aspect-ratio:auto;height:100%;}
.sp-card.leg::before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(242,195,91,.35),inset 0 0 60px rgba(242,195,91,.08);}

/* odds + traits */
.odds{margin-top:56px;display:grid;grid-template-columns:1.25fr 1fr;gap:1px;background:var(--bdr);border:1px solid var(--bdr);}
.odds>div{background:var(--surf);padding:34px 32px;}
.o-bar{display:flex;height:10px;margin:22px 0 18px;gap:2px;}
.o-bar span{display:block;height:100%;}
.o-legend{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.o-legend b{display:block;font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:30px;font-weight:300;line-height:1;}
.o-legend small{display:block;font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;margin-top:6px;}
.o-legend em{display:block;font-style:normal;font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.5;}
.t-row{display:flex;gap:14px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--bdr);}
.t-row:last-child{border-bottom:none;}
.t-k{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);width:92px;flex-shrink:0;}
.t-v{display:flex;flex-wrap:wrap;gap:6px;font-size:14px;color:var(--cream2);}
.chip{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border:1px solid var(--bdr2);color:var(--cream2);}
.h4{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:24px;font-weight:400;color:var(--cream);}

/* facts */
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bdr);border:1px solid var(--bdr);}
.fact{background:var(--bg);padding:38px 30px 34px;position:relative;overflow:hidden;}
.fact b{display:block;font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:clamp(38px,4.6vw,58px);font-weight:300;line-height:1;color:var(--cream);}
.fact b i{font-style:italic;color:var(--gold2);}
.fact span{display:block;font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-top:14px;}
.fact p{font-size:14px;line-height:1.65;color:var(--cream2);margin-top:8px;font-weight:300;}
.fact::after{content:'✦';position:absolute;top:14px;right:16px;color:rgba(200,146,42,.18);font-size:12px;}

/* who */
.who{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bdr);border:1px solid var(--bdr);}
.who-c{background:var(--surf);padding:40px 30px;}
.seal{width:54px;height:54px;border:1px solid rgba(200,146,42,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:22px;position:relative;color:var(--gold2);font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:22px;font-style:italic;}
.seal::before{content:'';position:absolute;inset:5px;border:1px dashed rgba(200,146,42,.28);border-radius:50%;animation:spin 30s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.who-c h3{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:24px;font-weight:600;color:var(--cream);margin-bottom:10px;}
.who-c p{font-size:14.5px;line-height:1.75;color:var(--cream2);font-weight:300;}
.who-c code,.code-i{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:12px;color:var(--gold2);background:rgba(200,146,42,.08);padding:1px 6px;}
.note{margin-top:22px;display:flex;align-items:center;gap:12px;font-size:14px;color:var(--muted);font-style:italic;}
.note::before{content:'';width:24px;height:1px;background:var(--muted);flex-shrink:0;}

/* summon */
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bdr);border:1px solid var(--bdr);margin-bottom:40px;}
.st{background:var(--bg);padding:28px 26px;position:relative;}
.st-n{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:64px;font-weight:300;color:rgba(200,146,42,.1);position:absolute;top:2px;right:16px;line-height:1;}
.st h3{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:26px;font-weight:600;color:var(--cream);margin:6px 0 8px;}
.st p{font-size:14px;line-height:1.7;color:var(--cream2);font-weight:300;}
.summon-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:32px;align-items:start;}
.field-l{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;display:block;}
.field{display:flex;border:1px solid var(--bdr2);background:var(--bg);transition:border-color .2s;}
.field:focus-within{border-color:var(--gold);}
.field input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--cream);font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:13px;padding:15px 14px;letter-spacing:.02em;}
.field input::placeholder{color:var(--muted);}
.field button{border:none;border-left:1px solid var(--bdr2);}
.hint{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.6;}
.status{margin-top:22px;border:1px solid var(--bdr);background:var(--surf);}
.status-h{padding:14px 18px;border-bottom:1px solid var(--bdr);display:flex;align-items:center;gap:10px;font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream2);}
.status-b{padding:6px 18px 16px;}
.s-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--bdr);font-size:14.5px;color:var(--cream2);}
.s-row:last-child{border-bottom:none;}
.s-row b{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-weight:400;font-size:12px;letter-spacing:.06em;color:var(--cream);text-align:right;}
.ok{color:#9FD49A!important;} .bad{color:var(--terra)!important;} .warn{color:var(--gold2)!important;}
.probs{list-style:none;margin-top:10px;display:flex;flex-direction:column;gap:6px;}
.probs li{font-size:13.5px;color:var(--terra);padding-left:16px;position:relative;line-height:1.5;}
.probs li::before{content:'✕';position:absolute;left:0;font-size:10px;top:3px;}
.verdict{margin-top:12px;font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:20px;font-style:italic;color:var(--cream);}
.term{background:#080603;border:1px solid var(--bdr2);position:relative;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.term-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--bdr);}
.dots{display:flex;gap:6px;} .dots i{width:8px;height:8px;border-radius:50%;background:var(--surf2);border:1px solid var(--bdr2);}
.term pre{margin:0;padding:20px 20px 24px;font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:12.5px;line-height:1.75;color:var(--cream2);white-space:pre-wrap;word-break:break-word;}
.term pre .hl{color:var(--gold2);}
.term-f{padding:12px 14px;border-top:1px solid var(--bdr);font-size:12.5px;color:var(--muted);font-style:italic;}

/* $ATN */
.atn-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.atn-big{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:clamp(64px,9vw,128px);font-weight:300;line-height:.9;color:var(--cream);}
.atn-big em{color:var(--gold2);}
.alloc{margin-top:8px;}
.ring-wrap{position:relative;width:min(300px,78vw);aspect-ratio:1;margin:0 auto 28px;}
.ring-wrap svg{width:100%;height:100%;transform:rotate(-90deg);}
.ring-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.ring-c b{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:40px;font-weight:300;color:var(--cream);line-height:1;}
.ring-c span{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:6px;}
.ring-seg{transition:stroke-dashoffset 1.8s cubic-bezier(.2,.7,.1,1);}
.al-row{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--bdr);}
.al-sw{width:12px;height:12px;flex-shrink:0;margin-top:5px;}
.al-row b{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:24px;font-weight:400;color:var(--cream);display:block;line-height:1.1;}
.al-row p{font-size:14px;color:var(--cream2);line-height:1.6;font-weight:300;margin-top:3px;}
.addr{margin-top:26px;border:1px solid var(--bdr2);background:var(--bg);padding:14px 16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.addr code{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:12.5px;color:var(--cream);word-break:break-all;flex:1;min-width:180px;}
.disc{margin-top:16px;font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);line-height:1.7;}
.atn-pts{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0;}

/* recent wall */
.wall{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bdr);border:1px solid var(--bdr);}
.nft{background:var(--bg);text-decoration:none;display:block;transition:background .25s;position:relative;}
.nft:hover{background:var(--surf);}
.nft-img{aspect-ratio:1/1;overflow:hidden;background:var(--surf);position:relative;}
.nft-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.1,1);}
.nft:hover .nft-img img{transform:scale(1.04);}
.nft-b{padding:14px 16px 16px;}
.nft-t{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:19px;font-weight:600;color:var(--cream);line-height:1.2;}
.nft-m{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.fnd{position:absolute;top:10px;left:10px;z-index:2;font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:8px;letter-spacing:.14em;text-transform:uppercase;background:var(--gold);color:var(--bg);padding:3px 7px;}
.empty{grid-column:1/-1;background:var(--bg);padding:64px 24px;text-align:center;}
.empty .door-mini{width:46px;height:64px;border:1px solid rgba(200,146,42,.45);margin:0 auto 20px;position:relative;}
.empty .door-mini::after{content:'';position:absolute;top:50%;right:8px;width:4px;height:4px;border-radius:50%;background:var(--gold);}
.empty h3{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:26px;font-weight:300;color:var(--cream);margin-bottom:6px;}
.empty p{font-size:14.5px;color:var(--cream2);font-style:italic;}
.skel{background:linear-gradient(100deg,var(--surf) 30%,var(--surf2) 50%,var(--surf) 70%);background-size:300% 100%;animation:shim 1.6s linear infinite;}
@keyframes shim{to{background-position:-150% 0;}}
.lookup{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin:44px 0 22px;}
.lookup .field{flex:1;min-width:260px;}
.lookup-res{margin-bottom:12px;}

/* library teaser */
.lib-t{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;}
.lib-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.lib-stack img{aspect-ratio:3/4;object-fit:cover;border:1px solid var(--bdr);filter:sepia(.25) saturate(.9);}
.lib-stack img:nth-child(2){transform:translateY(-22px);}

/* page heads */
.page-head{padding:130px 0 50px;text-align:center;position:relative;overflow:hidden;}
.page-head .sec-lbl{justify-content:center;}
.page-head .sec-sub{margin:0 auto;max-width:560px;}

/* library */
.lore-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--bdr);border:1px solid var(--bdr);}
.lore{background:var(--bg);display:grid;grid-template-columns:120px 1fr;gap:20px;padding:20px;align-items:center;scroll-margin-top:90px;}
.lore img{width:120px;height:120px;object-fit:cover;}
.lore h3{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:24px;font-weight:600;color:var(--cream);line-height:1.1;margin:4px 0 6px;}
.lore p{font-size:14.5px;line-height:1.65;color:var(--cream2);font-style:italic;font-weight:300;}
.lore .tiny{display:flex;gap:10px;flex-wrap:wrap;}
.lore.flash{animation:flash 2s ease;}
@keyframes flash{0%,40%{background:rgba(200,146,42,.12);}100%{background:var(--bg);}}
.continent-nav{padding:0;margin-top:56px;}
.story-grid-wrap{padding:32px 0 0;}
.sc-read{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}
.sc-soon{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.sc-full{position:absolute;top:10px;right:10px;font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:7.5px;letter-spacing:.12em;text-transform:uppercase;background:var(--gold);color:var(--bg);padding:2px 7px;}
.modal-overlay{position:fixed;inset:0;background:rgba(12,9,5,.92);z-index:700;display:none;align-items:center;justify-content:center;padding:20px;}
.modal-overlay.open{display:flex;}
.modal-box{background:var(--surf);border:1px solid var(--bdr2);max-width:520px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 40px 100px rgba(0,0,0,.7);}
.modal-close{background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer;line-height:1;padding:8px;}
.modal-close:hover{color:var(--cream);}

/* story reflections */
.puzzle-label{color:var(--gold);}
.reflect-note{font-size:14px;color:var(--cream2);line-height:1.7;}
.chap-tab{color:var(--cream2);}

/* roadmap */
.rm-item .ri-status{color:var(--gold);font-size:11px;margin-top:3px;}
.rm-closing{text-align:center;margin-top:64px;padding:48px 24px 0;border-top:1px solid var(--bdr);}

/* footer */
footer{max-width:1200px;margin:0 auto;}
.foot-wrap{border-top:1px solid var(--bdr);}
.fx{display:inline-flex;align-items:center;gap:7px;font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(200,146,42,.35);padding:8px 13px;text-decoration:none;background:rgba(200,146,42,.07);transition:background .2s;}
.fx:hover{background:rgba(200,146,42,.16);}
.fx svg{width:11px;height:11px;fill:currentColor;}

/* toast */
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,140%);background:var(--surf);border:1px solid var(--gold);color:var(--cream);font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:13px 20px;z-index:800;transition:transform .35s cubic-bezier(.2,0,.1,1);}
.toast.show{transform:translate(-50%,0);}

/* spirit detail */
.sd{padding:120px 0 90px;}
.sd-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:start;}
.sd-card{position:relative;border:1px solid var(--bdr2);background:var(--surf);box-shadow:0 40px 120px rgba(0,0,0,.6),0 0 80px rgba(200,146,42,.06);}
.sd-card img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;}
.sd-card::after{content:'';position:absolute;inset:10px;border:1px solid rgba(200,146,42,.18);pointer-events:none;}
.sd-title{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:clamp(40px,5.5vw,72px);font-weight:300;line-height:1.02;color:var(--cream);margin:8px 0 14px;}
.sd-title em{font-style:italic;color:var(--gold2);}
.sd-desc{font-size:17px;line-height:1.8;color:var(--cream2);font-weight:300;margin-bottom:28px;}
.attrs{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--bdr);border:1px solid var(--bdr);margin-bottom:28px;}
.attr{background:var(--bg);padding:16px 18px;}
.attr span{display:block;font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}
.attr b{display:block;font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:22px;font-weight:400;color:var(--cream);margin-top:4px;}
.pw{height:2px;background:rgba(210,170,90,.14);margin-top:8px;}
.pw i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));}
.sd-lore{border-left:2px solid var(--gold);padding:6px 0 6px 20px;margin-bottom:28px;font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:22px;font-style:italic;color:var(--cream2);line-height:1.5;}

/* ─── RESPONSIVE ─── */
@media(max-width:1080px){
  .sp-grid{grid-template-columns:repeat(3,1fr);}
  .wall{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:960px){
  .nav-links,.nav-right .btn-nav,.nav-right .nav-x{display:none;}
  .nav-burger{display:flex;}
  .nav{padding:12px 16px;}
  .wrap{padding:0 20px;}
  .sec{padding:80px 0;}
  .odds,.summon-grid,.atn-grid,.lib-t,.sd-grid{grid-template-columns:1fr;}
  .facts,.who{grid-template-columns:1fr 1fr;}
  .who-c:last-child{grid-column:span 2;}
  .steps3{grid-template-columns:1fr;}
  .lore-grid{grid-template-columns:1fr;}
  .story-body{grid-template-columns:1fr;}
  .rel-grid{grid-template-columns:1fr 1fr;}
  .roadmap-page{padding:100px 20px 60px;}
  .rm-phase{grid-template-columns:70px 1px 1fr;gap:0 16px;}
  .rm-phase::before{left:70px;} .rm-dot{left:62px;}
  footer{justify-content:center;text-align:center;}
  .sd-grid{gap:36px;}
}
@media(max-width:600px){
  body{font-size:17px;}
  .hero{padding:84px 16px 48px;min-height:auto;}
  .hero-title{font-size:clamp(40px,12.4vw,64px);margin-bottom:16px;}
  .hero-sub{font-size:15.5px;margin-bottom:28px;}
  .eyebrow{font-size:9px;letter-spacing:.2em;margin-bottom:18px;}
  .h-ring1{width:320px;height:320px;} .h-ring2{width:480px;height:480px;} .h-glow{width:400px;height:400px;} .h-glow2{display:none;}
  .door-scene{margin-top:36px;}
  .door-frame{width:min(270px,78vw);height:min(380px,110vw);}
  .door-cta{font-size:7.5px;letter-spacing:.2em;}
  .btn-cta,.btn-ghost{padding:15px 26px;font-size:10px;}
  .hero .btn-row{flex-direction:column;align-items:stretch;max-width:300px;margin:0 auto;}
  .hero .btn-row a{text-align:center;}
  .sec{padding:64px 0;}
  .sec-head{margin-bottom:34px;gap:16px;}
  .sec-lbl{font-size:9px;letter-spacing:.2em;}
  .sec-h{font-size:clamp(32px,9.4vw,46px);}
  .sec-sub{font-size:15px;}
  .wrap{padding:0 16px;}
  .sp-grid{grid-template-columns:1fr 1fr;}
  .sp-card.leg{grid-column:span 2;grid-row:auto;}
  .sp-card.leg .sp-img{aspect-ratio:1/1;height:auto;}
  .sp-name{font-size:20px;}
  .sp-body{padding:12px 12px 13px;}
  .sp-rar{top:8px;left:8px;font-size:7.5px;padding:3px 6px;letter-spacing:.12em;}
  .sp-odds{top:9px;right:9px;font-size:7.5px;}
  .sp-origin{font-size:7.5px;letter-spacing:.12em;}
  .sp-card:not(.leg) .sp-line{display:none;}
  .odds>div{padding:26px 18px;}
  .o-legend{grid-template-columns:1fr 1fr;row-gap:20px;}
  .t-row{flex-direction:column;gap:8px;}
  .facts{grid-template-columns:1fr 1fr;}
  .fact{padding:26px 16px 22px;}
  .fact b{font-size:34px;}
  .fact span{font-size:8.5px;letter-spacing:.14em;}
  .fact p{font-size:12.5px;}
  .who{grid-template-columns:1fr;}
  .who-c:last-child{grid-column:auto;}
  .who-c{padding:30px 20px;}
  .term pre{font-size:11.5px;padding:16px 14px 18px;}
  .wall{grid-template-columns:1fr 1fr;}
  .nft-b{padding:10px 10px 12px;} .nft-t{font-size:16px;}
  .nft-m{flex-direction:column;gap:2px;font-size:8px;}
  .lore{grid-template-columns:84px 1fr;gap:14px;padding:14px;}
  .lore img{width:84px;height:84px;}
  .lore h3{font-size:20px;} .lore p{font-size:13.5px;}
  .lib-stack img:nth-child(2){transform:translateY(-12px);}
  .page-head{padding:100px 0 36px;}
  .continent-nav{margin-top:36px;overflow-x:auto;scrollbar-width:none;}
  .cont-tab{padding:12px 14px;font-size:8.5px;}
  .story-cards{grid-template-columns:1fr;}
  .story-hero{min-height:56svh;max-height:62svh;}
  .sh-content{padding:24px 16px 32px;}
  .sh-title{font-size:clamp(32px,9vw,46px);}
  .chap-body{padding:28px 16px 16px;}
  .story-p{font-size:16.5px;}
  .rel-grid{grid-template-columns:1fr;}
  .related-sec{padding:40px 16px 56px;}
  .roadmap-page{padding:90px 14px 48px;}
  .rm-phase{grid-template-columns:44px 1px 1fr;gap:0 12px;}
  .rm-phase::before{left:44px;} .rm-dot{left:36px;top:22px;width:14px;height:14px;}
  .rm-timing{padding:20px 0;} .rm-timing-val{font-size:7.5px;letter-spacing:.08em;}
  .rm-phase-title{font-size:22px;}
  .rm-item{padding:10px 12px;}
  footer{flex-direction:column;gap:14px;padding:24px 16px;}
  .flinks{flex-wrap:wrap;justify-content:center;gap:14px;}
  .about-strip{padding:44px 16px 32px;margin-top:0;}
  .addr code{font-size:11px;}
  .sd{padding:90px 0 60px;}
  .attr b{font-size:19px;}
  .toast{bottom:16px;max-width:92vw;text-align:center;}
}
@media(max-width:360px){.facts{grid-template-columns:1fr;}}
@media(pointer:coarse){.cur,.cur-ring{display:none;}}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
  .rv{opacity:1;transform:none;}
}
body{max-width:100vw;overflow-x:hidden;}
.hero,.sec,.about-strip,.page-head{overflow:hidden;}

/* cursor states */
body.has-cur,body.has-cur *{cursor:none!important;}
.cur-ring{transition:width .25s,height .25s,border-color .25s,background .25s;}
.cur-ring.big{width:54px;height:54px;border-color:rgba(232,184,75,.7);background:rgba(200,146,42,.06);}

/* the "your summon" tile */
.sp-cta{background:radial-gradient(circle at 50% 40%,rgba(200,146,42,.12),transparent 65%),var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 18px;text-decoration:none;aspect-ratio:1/1;}
.sp-cta .door-mini{width:44px;height:62px;border:1px solid rgba(200,146,42,.5);position:relative;margin-bottom:18px;overflow:hidden;}
.sp-cta .door-mini::before{content:'?';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:26px;font-style:italic;color:var(--gold2);animation:qGlow 3s ease-in-out infinite;}
@keyframes qGlow{0%,100%{opacity:.4;}50%{opacity:1;text-shadow:0 0 14px rgba(232,184,75,.7);}}
.sp-cta b{font-family:'Cormorant Garamond','Cormorant Local',Georgia,serif;font-size:22px;font-weight:400;color:var(--cream);line-height:1.2;}
.sp-cta span{font-family:'DM Mono','DM Mono Local',ui-monospace,monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-top:12px;}
@media(min-width:601px) and (max-width:1080px){.sp-cta{display:none;}}
@media(max-width:600px){.sp-cta b{font-size:17px;}.sp-cta .door-mini{width:34px;height:48px;margin-bottom:12px;}}
.sd{position:relative;overflow:hidden;}

.lib-stack img{height:auto;}
.ar{font-family:'Crimson Pro',Georgia,'Times New Roman',serif;letter-spacing:0;font-size:1.25em;line-height:0;vertical-align:-.04em;}
body{font-variant-numeric:lining-nums;}
.ct-num{font-variant-numeric:lining-nums tabular-nums;}
.petal{border-radius:80% 0 80% 0;font-size:0;}
.petal.star{border-radius:0;color:var(--gold);font-family:Georgia,serif;width:auto;height:auto;background:none;}
.toast{opacity:0;visibility:hidden;transition:transform .35s cubic-bezier(.2,0,.1,1),opacity .25s,visibility 0s .35s;}
.toast.show{opacity:1;visibility:visible;transition:transform .35s cubic-bezier(.2,0,.1,1),opacity .25s;}
@media(max-width:600px){.rm-timing-val{display:none;}}
