:root{
  --bg: #06110a;
  --bg-alt: #0a1a0f;
  --panel: #0e2115;
  --line: #1e4028;
  --green: #6dff3c;
  --green-dim: #3c9c2b;
  --green-deep: #12310f;
  --text: #d9f5da;
  --text-dim: #8fb996;
  --black: #050a06;
  --font-display: 'Press Start 2P', monospace;
  --font-body: 'Space Grotesk', system-ui, sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3{font-family:var(--font-display);line-height:1.4;margin:0 0 .6em;color:#fff;letter-spacing:.5px;}
h2{font-size:clamp(1.1rem,2.6vw,1.9rem);text-shadow:0 0 18px rgba(109,255,60,.25);}
h3{font-size:.85rem;color:var(--green);}
p{margin:0 0 1em;color:var(--text-dim);}

.scanlines{
  position:fixed;inset:0;pointer-events:none;z-index:999;
  background:repeating-linear-gradient(0deg, rgba(0,0,0,.12) 0px, rgba(0,0,0,.12) 1px, transparent 1px, transparent 3px);
  mix-blend-mode:overlay;
  opacity:.5;
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--font-display);
  font-size:.7rem;
  padding:.95em 1.4em;
  border:2px solid var(--green);
  color:var(--green);
  background:transparent;
  cursor:pointer;
  image-rendering:pixelated;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
  white-space:nowrap;
}
.btn:hover{
  background:var(--green);
  color:var(--black);
  box-shadow:0 0 0 4px rgba(109,255,60,.15);
  transform:translateY(-2px);
}
.btn-primary{
  background:var(--green);
  color:var(--black);
  box-shadow:4px 4px 0 var(--green-deep);
}
.btn-primary:hover{
  box-shadow:6px 6px 0 var(--green-deep);
  transform:translate(-2px,-2px);
}
.btn-ghost{border-color:var(--line);color:var(--text);}
.btn-ghost:hover{background:var(--panel);color:var(--green);box-shadow:none;transform:none;border-color:var(--green);}
.btn-lg{padding:1.1em 1.8em;font-size:.75rem;}
.btn-block{width:100%;}

/* ---------- nav ---------- */
.nav{
  position:sticky;top:0;z-index:100;
  background:rgba(6,17,10,.9);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  max-width:1180px;margin:0 auto;padding:.9rem 1.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.brand{display:flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-size:.6rem;color:#fff;line-height:1.3;}
.brand-mark{width:34px;height:34px;object-fit:cover;border:2px solid var(--green);image-rendering:pixelated;}
.nav-links{display:flex;gap:1.6rem;font-size:.85rem;font-weight:500;}
.nav-links a{color:var(--text-dim);transition:color .15s;}
.nav-links a:hover{color:var(--green);}
.nav-toggle{display:none;background:none;border:1px solid var(--line);color:var(--green);font-size:1.1rem;padding:.35em .6em;cursor:pointer;}
.nav-links-mobile{display:none;flex-direction:column;gap:1rem;padding:1rem 1.5rem 1.4rem;border-top:1px solid var(--line);}
.nav-links-mobile a{padding:.3rem 0;color:var(--text-dim);}
.nav-links-mobile.open{display:flex;}

/* ---------- hero ---------- */
.hero{padding:4rem 1.5rem 3rem;position:relative;overflow:hidden;}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 15% 20%, rgba(109,255,60,.14), transparent 40%),
    radial-gradient(circle at 85% 60%, rgba(109,255,60,.1), transparent 45%);
  pointer-events:none;
}
.hero-inner{
  max-width:1180px;margin:0 auto;position:relative;z-index:1;
  display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;
}
.eyebrow{
  font-family:var(--font-display);font-size:.6rem;color:var(--green);
  border:1px solid var(--green-dim);display:inline-block;padding:.5em .8em;
  margin-bottom:1.2rem;background:rgba(109,255,60,.06);
}
.hero h1{
  font-size:clamp(2rem,5.5vw,3.4rem);
  color:#fff;
  text-shadow:0 0 24px rgba(109,255,60,.35), 4px 4px 0 var(--green-deep);
  margin-bottom:1rem;
}
.coin{margin-left:.3em;display:inline-block;animation:bob 2.4s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-8px) rotate(8deg);}}
.hero-sub{font-size:1.05rem;max-width:46ch;color:var(--text);}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin:1.6rem 0 2.4rem;}
.hero-stats{display:grid;grid-template-columns:repeat(4,auto);gap:1.6rem 2.2rem;}
.stat{display:flex;flex-direction:column;gap:.2rem;}
.stat-num{font-family:var(--font-display);font-size:1.15rem;color:var(--green);text-shadow:0 0 12px rgba(109,255,60,.4);}
.stat-label{font-size:.75rem;color:var(--text-dim);}

.hero-art{position:relative;}
.hero-img{
  border:3px solid var(--green);
  box-shadow:8px 8px 0 var(--green-deep), 0 0 40px rgba(109,255,60,.25);
  image-rendering:pixelated;
}
.chip{
  position:absolute;
  font-family:var(--font-display);
  font-size:.6rem;
  background:var(--black);
  border:2px solid var(--green);
  color:var(--green);
  padding:.6em .8em;
  box-shadow:3px 3px 0 var(--green-deep);
}
.chip-1{top:-14px;right:-14px;}
.chip-2{bottom:-14px;left:-14px;}

/* ---------- marquee ---------- */
.marquee{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--panel);overflow:hidden;padding:.8rem 0;
}
.marquee-track{display:flex;width:max-content;animation:scroll 26s linear infinite;}
.marquee-track span{
  font-family:var(--font-display);font-size:.7rem;color:var(--green-dim);
  white-space:nowrap;padding-right:1rem;
}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- sections ---------- */
.section{padding:5rem 1.5rem;}
.section-alt{background:var(--bg-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.section-inner{max-width:1180px;margin:0 auto;}
.tag{font-family:var(--font-display);font-size:.65rem;color:var(--green);margin-bottom:.8rem;}
.lede{max-width:70ch;font-size:1.02rem;margin-bottom:2.4rem;}
.badge{
  display:inline-block;font-family:var(--font-display);font-size:.6rem;
  color:#ffcf4d;border:1px solid #7a5a17;background:rgba(255,207,77,.08);
  padding:.5em .8em;margin-bottom:1rem;
}

/* feature grid */
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;}
.feature-card{
  background:var(--panel);border:1px solid var(--line);padding:1.6rem 1.4rem;
  transition:border-color .15s, transform .15s;
}
.feature-card:hover{border-color:var(--green);transform:translateY(-4px);}
.feature-icon{font-size:1.6rem;margin-bottom:.8rem;}
.feature-card p{font-size:.9rem;margin:0;}

/* flow */
.flow{display:flex;align-items:stretch;gap:1rem;flex-wrap:wrap;margin-bottom:2.2rem;}
.flow-step{
  flex:1 1 200px;background:var(--panel);border:1px solid var(--line);padding:1.5rem 1.3rem;
}
.flow-num{font-family:var(--font-display);font-size:1rem;color:var(--green-dim);}
.flow-step h3{margin-top:.6rem;}
.flow-step p{font-size:.88rem;margin:0;}
.flow-arrow{display:flex;align-items:center;justify-content:center;color:var(--green);font-size:1.4rem;font-family:var(--font-display);}
.callout{
  display:flex;gap:1rem;align-items:flex-start;background:var(--green-deep);
  border:1px dashed var(--green-dim);padding:1.3rem 1.5rem;
}
.callout-icon{font-size:1.4rem;}
.callout p{margin:0;color:var(--text);}

/* art gallery: conveyor belt */
.art-belt{
  display:flex;flex-direction:column;gap:.6rem;
  border:1px solid var(--line);background:var(--panel);padding:.8rem 0;
}
.art-belt-row{overflow:hidden;}
.art-belt-track{
  display:flex;gap:.6rem;width:max-content;
  animation-name:beltScroll;animation-timing-function:linear;animation-iteration-count:infinite;
  padding:0 .6rem;
}
.art-belt-row-reverse .art-belt-track{animation-name:beltScrollReverse;}
.art-belt-tile{
  flex:0 0 auto;width:130px;height:130px;
  border:1px solid var(--line);overflow:hidden;
}
.art-belt-tile img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated;}
@keyframes beltScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes beltScrollReverse{from{transform:translateX(-50%);}to{transform:translateX(0);}}
@media (prefers-reduced-motion: reduce){
  .art-belt-track{animation:none;}
}
@media (max-width:720px){
  .art-belt-tile{width:96px;height:96px;}
}
.art-note{margin-top:1.2rem;font-size:.85rem;color:var(--text-dim);}
.art-note a{color:var(--green-dim);}

/* mint */
.mint-inner{display:flex;flex-direction:column;align-items:flex-start;}
.mint-card{
  width:100%;max-width:460px;background:var(--panel);border:2px solid var(--green);
  padding:1.8rem;box-shadow:8px 8px 0 var(--green-deep);margin-bottom:1.6rem;
}
.mint-row{display:flex;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.9rem;}
.mint-row span{color:var(--text-dim);}
.mint-row strong{color:#fff;}
.mint-card .btn{margin-top:1.3rem;}
.socials{display:flex;gap:1.4rem;flex-wrap:wrap;}
.socials a{
  font-size:.85rem;font-weight:600;color:var(--text-dim);
  border:1px solid var(--line);padding:.6em 1em;transition:.15s;
}
.socials a:hover{color:var(--green);border-color:var(--green);}

/* roadmap */
.roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.road-phase{background:var(--panel);border:1px solid var(--line);padding:1.8rem;border-top:3px solid var(--green);}
.road-marker{font-family:var(--font-display);font-size:.6rem;color:var(--green-dim);}
.road-phase ul{margin-top:1rem;display:flex;flex-direction:column;gap:.7rem;}
.road-phase li{font-size:.88rem;color:var(--text);padding-left:1.1rem;position:relative;}
.road-phase li::before{content:"▸";position:absolute;left:0;color:var(--green);}

/* faq */
.faq-list{display:flex;flex-direction:column;gap:.8rem;max-width:820px;}
.faq-item{
  background:var(--panel);border:1px solid var(--line);padding:1.1rem 1.4rem;
}
.faq-item summary{
  cursor:pointer;font-weight:600;color:#fff;font-size:.96rem;
  list-style:none;display:flex;justify-content:space-between;align-items:center;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";color:var(--green);font-family:var(--font-display);font-size:1rem;}
.faq-item[open] summary::after{content:"–";}
.faq-item p{margin-top:.8rem;margin-bottom:0;font-size:.92rem;}

/* footer */
.footer{padding:3rem 1.5rem 2rem;border-top:1px solid var(--line);}
.footer-inner{
  max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;gap:1.6rem;
  align-items:center;justify-content:space-between;margin-bottom:1.6rem;
}
.footer-brand{display:flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-size:.7rem;color:#fff;}
.footer-links{display:flex;gap:1.4rem;font-size:.85rem;color:var(--text-dim);}
.footer-links a:hover{color:var(--green);}
.footer-socials a{font-size:.78rem;padding:.5em .8em;}
.disclaimer{max-width:1180px;margin:0 auto 1rem;font-size:.75rem;color:var(--text-dim);opacity:.7;}
.copyright{max-width:1180px;margin:0 auto;font-size:.75rem;color:var(--text-dim);opacity:.5;}

/* ---------- responsive ---------- */
@media (max-width:960px){
  .hero-inner{grid-template-columns:1fr;}
  .hero-art{order:-1;max-width:420px;margin:0 auto;}
  .feature-grid{grid-template-columns:repeat(2,1fr);}
  .roadmap{grid-template-columns:1fr;}
}
@media (max-width:720px){
  .nav-links,.nav-cta{display:none;}
  .nav-toggle{display:block;}
  .hero-stats{grid-template-columns:repeat(2,auto);}
  .feature-grid{grid-template-columns:1fr;}
  .flow{flex-direction:column;}
  .flow-arrow{transform:rotate(90deg);}
}
