/* =========================================================
   BULLONFONE — $BULLFONE
   palette: pure black + low-poly neon green
   ========================================================= */

:root{
  --green:        #2bff5f;
  --green-dim:    #17c246;
  --green-deep:   #0a7a2b;
  --green-glow:   rgba(43,255,95,.55);

  --bg:           #050706;
  --bg-2:         #080c09;
  --panel:        rgba(14,20,15,.72);
  --line:         rgba(43,255,95,.16);
  --line-hot:     rgba(43,255,95,.45);

  --txt:          #e6f2e9;
  --txt-dim:      #8fa295;
  --txt-faint:    #5d6e63;

  --edge:         18px;              /* faceted corner cut */
  --ff-display:   'Chakra Petch', 'Arial Narrow', sans-serif;
  --ff-body:      'Space Grotesk', system-ui, -apple-system, sans-serif;

  --wrap:         1180px;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:var(--bg);
  color:var(--txt);
  font-family:var(--ff-body);
  font-size:16px;
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3{ font-family:var(--ff-display); line-height:1.02; margin:0; letter-spacing:-.01em; }
p{ margin:0 0 1.1em; }
::selection{ background:var(--green); color:#02150a; }

/* ---------- background layers ---------- */
.bg-rays,.bg-grid,.bg-vignette,.scanline{
  position:fixed; inset:0; pointer-events:none; z-index:0;
}
.bg-rays{
  background:
    conic-gradient(from 0deg at 50% 42%,
      rgba(43,255,95,.075) 0deg,  transparent 9deg,
      transparent 22deg,          rgba(43,255,95,.05) 30deg,
      transparent 40deg,          transparent 62deg,
      rgba(43,255,95,.075) 70deg, transparent 80deg,
      transparent 104deg,         rgba(43,255,95,.045) 112deg,
      transparent 124deg,         transparent 150deg,
      rgba(43,255,95,.07) 158deg, transparent 168deg,
      transparent 196deg,         rgba(43,255,95,.05) 205deg,
      transparent 216deg,         transparent 244deg,
      rgba(43,255,95,.075) 252deg,transparent 262deg,
      transparent 290deg,         rgba(43,255,95,.05) 298deg,
      transparent 309deg,         transparent 335deg,
      rgba(43,255,95,.07) 344deg, transparent 353deg),
    radial-gradient(60% 50% at 50% 38%, rgba(43,255,95,.12), transparent 70%);
  animation:spin 90s linear infinite;
  opacity:.9;
}
@keyframes spin{ to{ transform:rotate(360deg); } }

.bg-grid{
  background-image:
    linear-gradient(rgba(43,255,95,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(43,255,95,.045) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(90% 70% at 50% 30%, #000 20%, transparent 85%);
  -webkit-mask-image:radial-gradient(90% 70% at 50% 30%, #000 20%, transparent 85%);
}
.bg-vignette{
  background:radial-gradient(120% 90% at 50% 20%, transparent 30%, rgba(0,0,0,.85) 85%, #000 100%);
}
.scanline{
  background:repeating-linear-gradient(0deg, rgba(0,0,0,.28) 0 1px, transparent 1px 3px);
  opacity:.35; mix-blend-mode:multiply;
}

main,.footer,.nav{ position:relative; z-index:1; }

.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:22px; }
.wrap--narrow{ max-width:840px; }

/* =========================================================
   BUTTONS
   ========================================================= */
.btn{
  --pad:12px 20px;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:var(--pad);
  font-family:var(--ff-display); font-weight:700; font-size:14px;
  letter-spacing:.08em; text-transform:uppercase;
  border:1px solid var(--line-hot); background:transparent; color:var(--txt);
  cursor:pointer; position:relative; white-space:nowrap;
  clip-path:polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
  transition:transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}
.btn:hover{ transform:translateY(-2px); }

.btn--solid{
  background:var(--green); color:#03170a; border-color:var(--green);
  box-shadow:0 0 0 rgba(43,255,95,0), 0 10px 30px -12px var(--green-glow);
}
.btn--solid:hover{ box-shadow:0 0 26px -4px var(--green-glow), 0 14px 34px -14px var(--green-glow); }

.btn--outline{ color:var(--green); border-color:var(--line-hot); background:rgba(43,255,95,.04); }
.btn--outline:hover{ background:rgba(43,255,95,.12); box-shadow:0 0 22px -8px var(--green-glow); }

.btn--ghost{
  --pad:11px; color:var(--txt-dim); border-color:var(--line);
  clip-path:polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px));
}
.btn--ghost:hover{ color:var(--green); border-color:var(--line-hot); }

.btn--lg{ --pad:16px 30px; font-size:15px; }

/* =========================================================
   NAV
   ========================================================= */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:50;
  display:flex; align-items:center; gap:22px;
  padding:14px 22px;
  border-bottom:1px solid transparent;
  transition:background .3s ease, border-color .3s ease, backdrop-filter .3s ease, padding .3s ease;
}
.nav.is-stuck{
  background:rgba(5,7,6,.82);
  backdrop-filter:blur(14px);
  border-bottom-color:var(--line);
  padding-block:9px;
}
.nav__brand{ display:flex; align-items:center; gap:10px; margin-right:auto; }
.nav__logo{
  width:38px; height:38px; object-fit:cover;
  border:1px solid var(--line-hot);
  clip-path:polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 9px 100%, 0 calc(100% - 9px));
  box-shadow:0 0 16px -4px var(--green-glow);
}
.nav__name{
  font-family:var(--ff-display); font-style:italic; font-weight:700;
  font-size:21px; letter-spacing:-.02em; text-transform:lowercase;
}
.nav__name em{ color:var(--green); font-style:italic; text-shadow:0 0 16px var(--green-glow); }

.nav__links{ display:flex; gap:26px; }
.nav__links a{
  font-size:13.5px; font-weight:500; color:var(--txt-dim);
  letter-spacing:.02em; position:relative; padding:4px 0;
  transition:color .2s ease;
}
.nav__links a::after{
  content:''; position:absolute; left:0; bottom:0; height:1px; width:0;
  background:var(--green); box-shadow:0 0 8px var(--green-glow);
  transition:width .25s ease;
}
.nav__links a:hover{ color:var(--txt); }
.nav__links a:hover::after{ width:100%; }

.nav__cta{ display:flex; align-items:center; gap:8px; }

.nav__burger{
  display:none; width:42px; height:38px; background:none; border:1px solid var(--line);
  cursor:pointer; padding:0; flex-direction:column; gap:5px; align-items:center; justify-content:center;
}
.nav__burger span{ display:block; width:18px; height:2px; background:var(--green); transition:.25s ease; }
.nav__burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav__burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav__burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative;
  min-height:100svh;
  display:flex; align-items:center;
  padding:120px 22px 70px;
}
.hero__inner{
  width:100%; max-width:var(--wrap); margin-inline:auto;
  display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center;
}

.tag{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--ff-display); font-size:11.5px; font-weight:700;
  letter-spacing:.18em; color:var(--green);
  border:1px solid var(--line-hot); background:rgba(43,255,95,.06);
  padding:7px 14px; margin-bottom:26px;
  clip-path:polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 9px 100%, 0 calc(100% - 9px));
}
.dot{
  width:7px; height:7px; background:var(--green); border-radius:50%;
  box-shadow:0 0 10px var(--green); animation:pulse 1.6s ease-in-out infinite;
}
@keyframes pulse{ 0%,100%{ opacity:1; transform:scale(1);} 50%{ opacity:.35; transform:scale(.75);} }

.hero__title{
  font-size:clamp(3rem, 8.2vw, 6.4rem);
  font-weight:700; font-style:italic; text-transform:uppercase;
  letter-spacing:-.035em; margin-bottom:22px;
}
.hero__title .line{ display:block; }
.hero__title .line--accent{
  color:var(--green);
  text-shadow:0 0 34px rgba(43,255,95,.5), 0 0 90px rgba(43,255,95,.28);
}

.hero__sub{ font-size:clamp(1rem,1.5vw,1.18rem); color:var(--txt-dim); max-width:37ch; margin-bottom:26px; }
.accent{ color:var(--green); }

/* contract box */
.ca{
  display:flex; align-items:center; gap:12px;
  background:rgba(10,16,11,.8); border:1px solid var(--line);
  padding:11px 11px 11px 16px; max-width:520px; margin-bottom:26px;
  clip-path:polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
}
.ca__label{
  font-family:var(--ff-display); font-size:10.5px; font-weight:700;
  letter-spacing:.16em; color:var(--txt-faint); flex:none;
}
.ca__value{
  font-family:ui-monospace,'SFMono-Regular',Menlo,monospace;
  font-size:13px; color:var(--green); flex:1 1 auto; min-width:0;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.ca__copy{
  flex:none; display:inline-flex; align-items:center; gap:6px;
  background:var(--green); color:#03170a; border:0; cursor:pointer;
  font-family:var(--ff-display); font-weight:700; font-size:11.5px; letter-spacing:.1em;
  padding:8px 13px; transition:filter .2s ease, transform .15s ease;
  clip-path:polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px));
}
.ca__copy:hover{ filter:brightness(1.15); transform:translateY(-1px); }
.ca.is-copied{ border-color:var(--line-hot); box-shadow:0 0 26px -10px var(--green-glow); }

.hero__btns{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:30px; }

.hero__facts{
  display:flex; flex-wrap:wrap; gap:8px 26px; list-style:none; padding:0; margin:0;
  font-size:13px; color:var(--txt-faint);
}
.hero__facts b{ color:var(--green); font-family:var(--ff-display); font-size:15px; margin-right:5px; }

/* hero art */
.hero__art{ position:relative; display:grid; place-items:center; }
.hero__glow{
  position:absolute; width:78%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle, rgba(43,255,95,.3), rgba(43,255,95,.05) 45%, transparent 68%);
  filter:blur(28px); animation:breathe 5s ease-in-out infinite;
}
@keyframes breathe{ 0%,100%{ transform:scale(1); opacity:.85; } 50%{ transform:scale(1.09); opacity:1; } }

.hero__bull{
  position:relative; width:100%; max-width:520px;
  mix-blend-mode:screen;
  animation:hover 7s ease-in-out infinite;
  will-change:transform;
  -webkit-mask-image:radial-gradient(ellipse 68% 66% at 50% 50%, #000 58%, rgba(0,0,0,.55) 80%, transparent 100%);
  mask-image:radial-gradient(ellipse 68% 66% at 50% 50%, #000 58%, rgba(0,0,0,.55) 80%, transparent 100%);
}
@keyframes hover{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-16px); } }

.float-chip{
  position:absolute; z-index:3;
  font-family:var(--ff-display); font-size:12px; font-weight:600; letter-spacing:.02em;
  background:rgba(8,13,9,.9); border:1px solid var(--line-hot); color:var(--txt);
  padding:7px 12px; white-space:nowrap;
  backdrop-filter:blur(6px);
  box-shadow:0 8px 30px -12px rgba(0,0,0,.9);
  clip-path:polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px));
  animation:hover 6s ease-in-out infinite;
}
.float-chip--1{ top:12%; left:-4%; animation-delay:-1s; }
.float-chip--2{ top:44%; right:-6%; animation-delay:-3s; }
.float-chip--3{ bottom:14%; left:2%; animation-delay:-5s; color:var(--green); }

.scroll-hint{
  position:absolute; bottom:26px; left:50%; transform:translateX(-50%);
  width:24px; height:38px; border:1px solid var(--line-hot); border-radius:14px;
  display:grid; place-items:start center; padding-top:7px;
}
.scroll-hint span{
  width:3px; height:7px; background:var(--green); border-radius:2px;
  animation:scroll 1.7s ease-in-out infinite;
}
@keyframes scroll{ 0%{ opacity:0; transform:translateY(0);} 40%{opacity:1;} 100%{ opacity:0; transform:translateY(13px);} }

/* =========================================================
   MARQUEE
   ========================================================= */
.marquee{
  border-block:1px solid var(--line);
  background:linear-gradient(90deg, rgba(43,255,95,.05), rgba(43,255,95,.11), rgba(43,255,95,.05));
  overflow:hidden; padding:13px 0; position:relative; z-index:1;
}
.marquee__track{
  display:flex; align-items:center; gap:28px; width:max-content;
  animation:slide 38s linear infinite;
  font-family:var(--ff-display); font-weight:700; font-style:italic;
  font-size:16px; letter-spacing:.1em; text-transform:uppercase;
}
.marquee__track span{ color:var(--txt); }
.marquee__track i{ color:var(--green); font-style:normal; font-size:11px; text-shadow:0 0 10px var(--green-glow); }
@keyframes slide{ to{ transform:translateX(-50%); } }

/* =========================================================
   SECTIONS / SHARED
   ========================================================= */
.section{ padding:110px 0; position:relative; }
.section--alt::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, transparent, rgba(43,255,95,.035) 40%, transparent);
}

.eyebrow{
  font-family:var(--ff-display); font-size:11.5px; font-weight:700;
  letter-spacing:.24em; color:var(--green); margin-bottom:14px;
}
.h2{
  font-size:clamp(2rem, 4.4vw, 3.3rem); font-weight:700; font-style:italic;
  text-transform:uppercase; letter-spacing:-.03em; margin-bottom:18px;
}
.lede{ color:var(--txt-dim); font-size:1.05rem; max-width:56ch; }
.head{ margin-bottom:52px; max-width:760px; }

.card{
  background:var(--panel);
  border:1px solid var(--line);
  backdrop-filter:blur(4px);
  position:relative;
  clip-path:polygon(0 0, calc(100% - var(--edge)) 0, 100% var(--edge), 100% 100%, var(--edge) 100%, 0 calc(100% - var(--edge)));
  transition:border-color .25s ease, transform .25s ease, background .25s ease;
}
.card::after{
  content:''; position:absolute; right:0; top:0;
  width:var(--edge); height:var(--edge);
  background:linear-gradient(225deg, var(--line-hot) 0 1.5px, transparent 1.6px);
}
.card:hover{ border-color:var(--line-hot); transform:translateY(-4px); background:rgba(18,26,19,.8); }

/* =========================================================
   LORE
   ========================================================= */
.lore{ display:grid; grid-template-columns:1.15fr .85fr; gap:64px; align-items:center; }
.lore__text p{ color:var(--txt-dim); max-width:56ch; }
.lore__text b{ color:var(--txt); }

.lore__quote{
  border-left:2px solid var(--green);
  padding:14px 0 14px 20px; margin-top:30px;
  font-family:var(--ff-display); font-style:italic; font-size:1.28rem;
  color:var(--txt); background:linear-gradient(90deg, rgba(43,255,95,.08), transparent 70%);
}
.lore__quote em{ display:block; font-size:.8rem; font-style:normal; color:var(--txt-faint); letter-spacing:.06em; margin-top:8px; }

/* phone */
.lore__phone{ display:grid; place-items:center; }
.phone{
  position:relative; width:280px; padding:12px 12px 16px;
  background:linear-gradient(160deg,#171d18,#080b09 55%);
  border:1px solid rgba(43,255,95,.28); border-radius:34px;
  box-shadow:0 0 40px -10px rgba(43,255,95,.35), 0 40px 80px -30px #000, inset 0 1px 0 rgba(255,255,255,.06);
  animation:hover 8s ease-in-out infinite;
}
.phone__notch{
  position:absolute; top:9px; left:50%; transform:translateX(-50%);
  width:88px; height:18px; background:#040605; border-radius:0 0 12px 12px; z-index:2;
}
.phone__screen{
  background:#040705; border-radius:24px; overflow:hidden;
  border:1px solid rgba(43,255,95,.14); padding-top:30px;
}
.phone__top{
  display:flex; align-items:baseline; justify-content:space-between;
  padding:6px 14px 8px;
}
.phone__ticker{ font-family:var(--ff-display); font-size:11.5px; letter-spacing:.1em; color:var(--txt-faint); }
.phone__pct{
  font-family:var(--ff-display); font-weight:700; font-size:16px; color:var(--green);
  text-shadow:0 0 14px var(--green-glow);
}
.phone__chart{ display:block; width:100%; height:170px; }
.phone__bar{ display:flex; gap:8px; padding:12px 12px 14px; }
.phone__btn{
  flex:1; padding:10px; border:1px solid var(--line); background:rgba(43,255,95,.05);
  color:var(--txt-dim); font-family:var(--ff-display); font-weight:700; font-size:12px;
  letter-spacing:.12em; cursor:pointer; border-radius:8px; transition:.2s ease;
}
.phone__btn--buy{ background:var(--green); color:#03170a; border-color:var(--green); box-shadow:0 0 20px -6px var(--green-glow); }
.phone__btn:hover{ filter:brightness(1.15); }
.phone__home{ width:88px; height:4px; background:#1d241f; border-radius:3px; margin:10px auto 0; }

/* =========================================================
   STATS
   ========================================================= */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.stat{ padding:30px 24px 26px; }
.stat__num{
  font-family:var(--ff-display); font-weight:700; font-style:italic;
  font-size:clamp(2rem,3.4vw,2.9rem); color:var(--green); line-height:1;
  text-shadow:0 0 28px rgba(43,255,95,.38); margin-bottom:12px;
  font-variant-numeric:tabular-nums;
}
.stat__label{ font-family:var(--ff-display); font-weight:600; font-size:15px; letter-spacing:.02em; }
.stat__note{ font-size:12.5px; color:var(--txt-faint); margin-top:3px; }

/* =========================================================
   TOKENOMICS
   ========================================================= */
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.tok{ padding:30px 26px; }
.tok__icon{
  width:52px; height:52px; margin-bottom:18px;
  display:grid; place-items:center; color:var(--green);
  border:1px solid var(--line-hot); background:rgba(43,255,95,.07);
  clip-path:polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
  box-shadow:0 0 22px -10px var(--green-glow);
}
.tok__icon svg{ width:27px; height:27px; filter:drop-shadow(0 0 6px rgba(43,255,95,.55)); }
.tok__icon--txt{
  font-family:var(--ff-display); font-weight:700; font-style:italic;
  font-size:20px; letter-spacing:-.02em;
}
.tok h3{ font-size:1.35rem; font-style:italic; text-transform:uppercase; margin-bottom:9px; }
.tok p{ color:var(--txt-dim); font-size:14.5px; margin:0; }

/* =========================================================
   STEPS
   ========================================================= */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; list-style:none; padding:0; margin:0 0 40px; }
.step{ padding:28px 24px 26px; }
.step__n{
  display:block; font-family:var(--ff-display); font-weight:700; font-style:italic;
  font-size:2.6rem; line-height:1; color:transparent;
  -webkit-text-stroke:1.5px var(--green-dim); margin-bottom:16px; opacity:.9;
}
.step h3{ font-size:1.2rem; font-style:italic; text-transform:uppercase; margin-bottom:8px; }
.step p{ color:var(--txt-dim); font-size:14.5px; margin:0; }
.buy-cta{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }

/* =========================================================
   ROADMAP
   ========================================================= */
.road{ position:relative; padding-left:38px; }
.road__line{
  position:absolute; left:9px; top:8px; bottom:8px; width:1px;
  background:linear-gradient(180deg, var(--green), var(--green-deep) 55%, transparent);
}
.road__item{ position:relative; margin-bottom:18px; }
.road__dot{
  position:absolute; left:-34px; top:26px;
  width:13px; height:13px; background:var(--bg); border:2px solid var(--green-deep);
  transform:rotate(45deg);
}
.is-done .road__dot{ background:var(--green-dim); border-color:var(--green-dim); }
.is-live .road__dot{
  background:var(--green); border-color:var(--green);
  box-shadow:0 0 0 0 var(--green-glow); animation:ping 2s ease-out infinite;
}
@keyframes ping{ to{ box-shadow:0 0 0 16px rgba(43,255,95,0); } }

.road__card{ padding:24px 28px; }
.road__phase{
  font-family:var(--ff-display); font-size:11px; font-weight:700;
  letter-spacing:.2em; color:var(--txt-faint);
}
.is-live .road__phase{ color:var(--green); }
.is-done .road__phase{ color:var(--green-dim); }
.road__card h3{ font-size:1.5rem; font-style:italic; text-transform:uppercase; margin:6px 0 8px; }
.road__card p{ color:var(--txt-dim); font-size:14.5px; margin:0; max-width:66ch; }

/* =========================================================
   FAQ
   ========================================================= */
.faq{ display:grid; gap:12px; }
.faq__item{ --edge:14px; padding:0; }
.faq__item summary{
  list-style:none; cursor:pointer; padding:20px 24px;
  font-family:var(--ff-display); font-weight:600; font-size:1.1rem;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.faq__item summary::-webkit-details-marker{ display:none; }
.faq__x{ position:relative; width:14px; height:14px; flex:none; }
.faq__x::before,.faq__x::after{
  content:''; position:absolute; inset:50% 0 auto 0; height:2px; background:var(--green);
  transition:transform .25s ease;
}
.faq__x::after{ transform:rotate(90deg); }
.faq__item[open] .faq__x::after{ transform:rotate(0); }
.faq__item p{ padding:0 24px 22px; color:var(--txt-dim); margin:0; font-size:15px; max-width:70ch; }
.faq__item[open]{ border-color:var(--line-hot); }

/* =========================================================
   FINALE
   ========================================================= */
.finale{
  position:relative; padding:120px 0 130px; text-align:center; overflow:hidden;
  border-top:1px solid var(--line);
  background:radial-gradient(70% 100% at 50% 100%, rgba(43,255,95,.14), transparent 70%);
}
.finale__inner{ display:grid; place-items:center; }
.finale__bull{
  width:180px; mix-blend-mode:screen; margin-bottom:-16px;
  animation:hover 7s ease-in-out infinite;
  -webkit-mask-image:radial-gradient(ellipse 64% 62% at 50% 50%, #000 55%, transparent 100%);
  mask-image:radial-gradient(ellipse 64% 62% at 50% 50%, #000 55%, transparent 100%);
}
.finale__title{
  font-size:clamp(2.6rem,8vw,5.6rem); font-weight:700; font-style:italic;
  text-transform:uppercase; letter-spacing:-.04em; margin-bottom:14px;
}
.finale__title .accent{ text-shadow:0 0 40px rgba(43,255,95,.5); }
.finale p{ color:var(--txt-dim); margin-bottom:28px; }
.finale__btns{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }

/* =========================================================
   FOOTER
   ========================================================= */
.footer{ border-top:1px solid var(--line); background:var(--bg-2); padding:44px 0 40px; }
.footer__inner{ display:grid; gap:22px; }
.footer__brand{ display:flex; align-items:center; gap:12px; }
.footer__brand img{
  width:44px; height:44px; object-fit:cover; border:1px solid var(--line);
  clip-path:polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
}
.footer__brand b{ display:block; font-family:var(--ff-display); font-style:italic; font-size:19px; }
.footer__brand span{ font-size:12.5px; color:var(--txt-faint); }
.footer__links{ display:flex; flex-wrap:wrap; gap:8px 26px; font-size:14px; color:var(--txt-dim); }
.footer__links a{ transition:color .2s ease; }
.footer__links a:hover{ color:var(--green); }
.footer__disc{
  font-size:12px; color:var(--txt-faint); line-height:1.7; max-width:80ch; margin:0;
  border-top:1px solid rgba(43,255,95,.08); padding-top:18px;
}

/* =========================================================
   TOAST
   ========================================================= */
.toast{
  position:fixed; left:50%; bottom:34px; transform:translate(-50%, 26px);
  background:var(--green); color:#03170a; z-index:99;
  font-family:var(--ff-display); font-weight:700; font-size:14px; letter-spacing:.06em;
  padding:12px 22px; opacity:0; pointer-events:none;
  box-shadow:0 14px 40px -14px var(--green-glow);
  clip-path:polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
  transition:opacity .28s ease, transform .28s ease;
}
.toast.is-on{ opacity:1; transform:translate(-50%,0); }

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

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1040px){
  .nav__links{ display:none; }
  .nav__burger{ display:flex; }
  .nav__cta .btn--solid{ display:none; }

  .nav__links.is-open{
    display:flex; flex-direction:column; gap:0;
    position:absolute; top:100%; left:0; right:0;
    background:rgba(5,7,6,.97); backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line); padding:8px 22px 18px;
  }
  .nav__links.is-open a{ padding:13px 0; border-bottom:1px solid rgba(43,255,95,.08); font-size:15px; }

  .hero__inner{ grid-template-columns:1fr; text-align:center; gap:10px; }
  .hero__copy{ display:grid; justify-items:center; order:2; }
  .hero__art{ order:1; }
  .hero__bull{ max-width:340px; }
  .hero__sub,.ca{ margin-inline:auto; }
  .hero__btns,.hero__facts{ justify-content:center; }
  .float-chip--1{ left:-2%; } .float-chip--2{ right:-2%; }

  .lore{ grid-template-columns:1fr; gap:44px; }
  .stats,.steps{ grid-template-columns:repeat(2,1fr); }
  .grid-3{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:660px){
  .section{ padding:76px 0; }

  .hero{ padding:98px 22px 56px; }
  .hero__bull{ max-width:250px; }
  .tag{ margin-bottom:18px; }
  .hero__title{ margin-bottom:16px; }
  .hero__sub{ margin-bottom:20px; }
  .hero__btns{ margin-bottom:22px; }
  .float-chip--1{ left:0; }
  .scroll-hint{ display:none; }
  .stats,.steps,.grid-3{ grid-template-columns:1fr; }
  .float-chip{ font-size:11px; }
  .float-chip--2{ display:none; }
  .ca{ flex-wrap:wrap; gap:10px; padding:12px 14px; }
  .ca__label{ order:1; }
  .ca__value{ order:2; flex:1 1 auto; min-width:0; font-size:12px; }
  .ca__copy{ order:3; flex:1 0 100%; justify-content:center; padding:10px; }
  .marquee__track{ font-size:14px; }
  .lore__quote{ font-size:1.1rem; }
  .btn--lg{ --pad:14px 22px; font-size:14px; }
  .nav__name{ font-size:18px; }
  .footer__disc{ font-size:11.5px; }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; }
}
