/* ============================================================
   CASHBACK — CASHCAT, backwards.
   ============================================================ */

:root{
  --ink:      #0B0B0C;
  --ink-2:    #111114;
  --ink-3:    #17171B;
  --line:     rgba(232,217,188,.14);
  --cream:    #EFE3CC;
  --cream-dim:#B9AC94;
  --tan:      #C9A882;
  --green:    #00D26A;
  --green-dk: #00A855;

  --font-d: 'Archivo Black', 'Arial Black', system-ui, sans-serif;
  --font-b: 'Space Grotesk', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-m: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

  --r: 18px;
  --pad: clamp(20px, 5vw, 56px);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  margin:0;
  background:var(--ink);
  color:var(--cream);
  font-family:var(--font-b);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  transition:transform .7s cubic-bezier(.7,0,.2,1);
}
body.is-flipped{ transform:scaleX(-1); }

img{ max-width:100%; display:block; }
a{ color:inherit; }

::selection{ background:var(--green); color:#04120A; }

/* film grain ------------------------------------------------ */
.grain{
  position:fixed; inset:-50%; z-index:9999; pointer-events:none;
  opacity:.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 6s steps(6) infinite;
}
@keyframes grain{
  0%{transform:translate(0,0)} 20%{transform:translate(-3%,2%)}
  40%{transform:translate(2%,-3%)} 60%{transform:translate(-2%,-2%)}
  80%{transform:translate(3%,1%)} 100%{transform:translate(0,0)}
}

/* layout ---------------------------------------------------- */
.wrap{ width:min(1180px, 100% - var(--pad)*2); margin-inline:auto; }
.wrap--narrow{ width:min(820px, 100% - var(--pad)*2); }

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:sticky; top:0; z-index:100;
  display:flex; align-items:center; gap:24px;
  padding:14px var(--pad);
  background:rgba(11,11,12,.72);
  backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid transparent;
  transition:border-color .3s, background .3s;
}
.nav.is-stuck{ border-bottom-color:var(--line); background:rgba(11,11,12,.9); }

.nav__brand{ display:flex; align-items:center; gap:10px; text-decoration:none; margin-right:auto; }
.nav__mark{
  width:34px; height:34px; border-radius:50%; overflow:hidden;
  background:var(--cream); flex:none; display:grid; place-items:center;
  box-shadow:0 0 0 1px rgba(239,227,204,.25);
}
.nav__mark img{ width:130%; max-width:none; mix-blend-mode:multiply; transform:translateY(6%); }
.nav__name{ font-family:var(--font-d); font-size:15px; letter-spacing:.06em; }

.nav__links{ display:flex; gap:26px; }
.nav__links a{
  text-decoration:none; font-size:14px; color:var(--cream-dim);
  transition:color .2s; position:relative;
}
.nav__links a::after{
  content:''; position:absolute; left:0; bottom:-5px; height:1px; width:0;
  background:var(--green); transition:width .28s ease;
}
.nav__links a:hover{ color:var(--cream); }
.nav__links a:hover::after{ width:100%; }

.nav__right{ display:flex; align-items:center; gap:12px; }

.flipbtn{
  display:flex; align-items:center; gap:7px;
  background:transparent; color:var(--cream-dim);
  border:1px solid var(--line); border-radius:999px;
  padding:7px 13px; font-family:var(--font-m); font-size:11px; letter-spacing:.12em;
  cursor:pointer; transition:.25s;
}
.flipbtn:hover{ color:var(--green); border-color:rgba(0,210,106,.45); }
.flipbtn__ico{ font-size:14px; display:inline-block; transition:transform .5s; }
.flipbtn:hover .flipbtn__ico{ transform:rotate(180deg); }

/* buttons --------------------------------------------------- */
.btn{
  display:inline-flex; align-items:center; gap:9px;
  padding:14px 24px; border-radius:999px;
  font-family:var(--font-b); font-weight:700; font-size:15px;
  text-decoration:none; border:1px solid var(--line);
  transition:transform .2s cubic-bezier(.3,1.4,.5,1), background .2s, color .2s, border-color .2s;
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-2px); }
.btn--sm{ padding:9px 17px; font-size:13.5px; }
.btn--lg{ padding:17px 32px; font-size:17px; }
.btn--primary{ background:var(--green); color:#04120A; border-color:var(--green); }
.btn--primary:hover{ background:#12E87E; box-shadow:0 10px 34px -12px rgba(0,210,106,.75); }
.btn--ghost{ color:var(--cream); }
.btn--ghost:hover{ border-color:var(--cream-dim); background:rgba(239,227,204,.05); }
.btn__arrow{ transition:transform .25s; }
.btn:hover .btn__arrow{ transform:translate(2px,-2px); }

/* ============================================================
   HERO
   ============================================================ */
.hero{ position:relative; padding:clamp(50px,8vw,96px) 0 0; overflow:hidden; }
.hero__glow{
  position:absolute; top:-14%; left:68%; transform:translateX(-50%);
  width:min(920px,110vw); aspect-ratio:1; pointer-events:none;
  background:radial-gradient(circle, rgba(0,210,106,.13) 0%, rgba(201,168,130,.06) 40%, transparent 68%);
}
.hero__grid{
  position:relative; display:grid; gap:clamp(30px,5vw,64px);
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:center;
}

.dot{ width:7px; height:7px; border-radius:50%; background:var(--green); animation:pulse 2s infinite; }
@keyframes pulse{ 0%,100%{opacity:1; box-shadow:0 0 0 0 rgba(0,210,106,.5)} 50%{opacity:.55; box-shadow:0 0 0 7px rgba(0,210,106,0)} }

/* The title is one unbreakable word, so it can't wrap out of an overflow — it
   just gets clipped. Sizing it off the viewport while the grid sizes its column
   lets the two drift apart, so it's keyed to the column itself. Measured: the
   word occupies 6.08x the font size in Archivo Black, so 16cqw always fits. */
.hero__copy{ container-type:inline-size; }

.title{ position:relative; margin:0 0 26px; line-height:.88; }
.title__main{
  display:block; position:relative; z-index:2;
  font-family:var(--font-d); font-weight:400;
  font-size:clamp(40px, 7.2vw, 104px);
  font-size:clamp(40px, 16cqw, 104px);
  letter-spacing:-.02em;
  background:linear-gradient(178deg, var(--cream) 30%, var(--tan) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
/* the same word, mirrored, sitting behind — CASHCAT looking the other way */
.title__ghost{
  position:absolute; top:-.06em; left:0; z-index:1;
  font-family:var(--font-d);
  font-size:clamp(40px, 7.2vw, 104px);
  font-size:clamp(40px, 16cqw, 104px);
  letter-spacing:-.02em; transform:scaleX(-1); transform-origin:center center;
  color:transparent; -webkit-text-stroke:1px rgba(232,217,188,.24);
  white-space:nowrap; pointer-events:none;
}

.lede{ font-size:clamp(17px,1.35vw,19.5px); color:var(--cream-dim); max-width:52ch; margin:0 0 32px; }
.lede strong{ color:var(--cream); font-weight:700; }
.lede em{ color:var(--green); font-style:italic; }

.cta{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:34px; }

/* contract pill --------------------------------------------- */
.ca{ border:1px solid var(--line); border-radius:var(--r); padding:16px 18px; background:rgba(255,255,255,.018); }
.ca__label{ font-family:var(--font-m); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--cream-dim); margin-bottom:9px; }
.ca__row{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.ca__addr{ font-family:var(--font-m); font-size:13px; color:var(--cream); word-break:break-all; flex:1 1 260px; }
.ca__copy{
  background:rgba(0,210,106,.1); color:var(--green); border:1px solid rgba(0,210,106,.3);
  border-radius:8px; padding:7px 13px; font-family:var(--font-m); font-size:11px;
  letter-spacing:.1em; cursor:pointer; transition:.2s; flex:none;
}
.ca__copy:hover{ background:var(--green); color:#04120A; }
.ca__note{ font-size:12.5px; color:rgba(185,172,148,.65); margin-top:10px; }

/* hero art -------------------------------------------------- */
.hero__art{ position:relative; display:grid; place-items:center; }
.disc{ position:relative; width:min(460px,86%); aspect-ratio:1; display:grid; place-items:center; }
.disc::before{
  content:''; position:absolute; inset:0; border-radius:50%;
  background:radial-gradient(circle at 50% 42%, var(--cream) 0%, #E2D3B6 58%, #CDBB98 100%);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.85), inset 0 -20px 60px rgba(120,95,60,.22);
}
.disc__ring{
  position:absolute; inset:-22px; border-radius:50%;
  border:1px dashed rgba(239,227,204,.2);
  animation:spin 40s linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg); } }
.disc__cat{
  position:relative; z-index:2; width:86%;
  mix-blend-mode:multiply;
  animation:bob 6s ease-in-out infinite;
}
@keyframes bob{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }

.tag{
  position:absolute; font-family:var(--font-m); font-size:11px; letter-spacing:.06em;
  color:var(--cream-dim); background:rgba(17,17,20,.9);
  border:1px solid var(--line); border-radius:999px; padding:7px 13px;
  backdrop-filter:blur(8px); white-space:nowrap;
}
.tag--a{ top:14%; right:-2%; animation:bob 7s ease-in-out infinite .4s; }

/* stat strip ------------------------------------------------ */
.stats{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  margin-top:clamp(40px,6vw,80px);
}
.stat{ padding:26px 18px; text-align:center; border-right:1px solid var(--line); }
.stat:last-child{ border-right:0; }
.stat b{ display:block; font-family:var(--font-d); font-size:clamp(24px,2.6vw,34px); color:var(--green); line-height:1.1; }
.stat span{ font-size:13px; color:var(--cream-dim); }

/* ============================================================
   MARQUEE
   ============================================================ */
.marquee{ overflow:hidden; padding:22px 0; border-bottom:1px solid var(--line); }
.marquee__track{
  display:flex; align-items:center; gap:36px; width:max-content;
  animation:march 34s linear infinite;
  font-family:var(--font-d); font-size:clamp(28px,4vw,54px);
  color:transparent; -webkit-text-stroke:1px rgba(232,217,188,.24);
}
.marquee__track i{ font-style:normal; color:var(--green); -webkit-text-stroke:0; font-size:.6em; }
@keyframes march{ from{ transform:translateX(-50%); } to{ transform:translateX(0); } }

/* ============================================================
   SECTIONS
   ============================================================ */
.sec{ padding:clamp(70px,10vw,140px) 0; position:relative; }
.sec--dark{ background:var(--ink-2); border-block:1px solid var(--line); }

.sec__head{ max-width:660px; margin-bottom:clamp(38px,5vw,64px); }
.kicker{
  font-family:var(--font-m); font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--green); display:block; margin-bottom:16px;
}
.sec__head h2{
  font-family:var(--font-d); font-weight:400; margin:0 0 16px;
  font-size:clamp(30px,4.6vw,54px); line-height:1.02; letter-spacing:-.015em;
}
.sec__sub{ color:var(--cream-dim); margin:0; font-size:clamp(15.5px,1.2vw,17.5px); }
.sec__sub strong{ color:var(--cream); font-weight:700; }

/* ============================================================
   THE FLIP
   ============================================================ */
.flipgrid{ display:grid; grid-template-columns:1fr auto 1fr; gap:clamp(18px,3vw,40px); align-items:center; }

.card{
  border:1px solid var(--line); border-radius:26px; padding:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
  transition:transform .4s cubic-bezier(.2,.9,.3,1), border-color .4s;
}
.card:hover{ transform:translateY(-6px); border-color:rgba(232,217,188,.3); }
.card__img{
  border-radius:18px; overflow:hidden; margin-bottom:22px;
  background:radial-gradient(circle at 50% 40%, #F4E9D6, #D8C7A6);
  aspect-ratio:1.25; display:grid; place-items:center;
}
.card__img img{ width:66%; mix-blend-mode:multiply; }
.card--back .card__img img{ width:78%; }
.card h3{ font-family:var(--font-d); font-weight:400; font-size:clamp(22px,2.2vw,29px); margin:0 0 8px; letter-spacing:-.01em; }
.card--back h3{ color:var(--green); }
.card__role{ color:var(--cream); font-weight:500; margin:0 0 10px; font-size:15.5px; }
.card p{ color:var(--cream-dim); font-size:15px; margin:0 0 10px; }
.card a{ color:var(--green); text-decoration:none; border-bottom:1px solid rgba(0,210,106,.35); }

.flipgrid__arrow{ display:grid; place-items:center; gap:14px; }
.rev{
  font-family:var(--font-m); font-size:11px; letter-spacing:.28em;
  color:var(--green); writing-mode:vertical-rl; transform:rotate(180deg);
}
.rev__line{
  width:1px; height:110px;
  background:linear-gradient(to bottom, transparent, var(--green), transparent);
}

/* ============================================================
   FLYWHEEL
   ============================================================ */
.wheel{ position:relative; display:grid; grid-template-columns:360px 1fr; gap:clamp(24px,4vw,64px); align-items:center; }

/* click-to-flip cat: CASHBACK on the back, CASHCAT on the front */
.flipcat{ display:grid; justify-items:center; gap:16px; }
.flipcat__btn{
  width:min(300px,80%); aspect-ratio:1; padding:0; border:0; background:none;
  cursor:pointer; perspective:1200px; -webkit-tap-highlight-color:transparent;
}
.flipcat__inner{
  position:relative; display:block; width:100%; height:100%;
  transform-style:preserve-3d;
  transition:transform .75s cubic-bezier(.4,.1,.2,1);
}
.flipcat__btn:hover .flipcat__inner{ transform:rotateY(-14deg); }
.flipcat__btn.is-flipped .flipcat__inner,
.flipcat__btn.is-flipped:hover .flipcat__inner{ transform:rotateY(180deg); }

.flipcat__face{
  position:absolute; inset:0; border-radius:50%;
  display:grid; place-items:center; overflow:hidden;
  backface-visibility:hidden; -webkit-backface-visibility:hidden;
  background:radial-gradient(circle at 50% 42%, var(--cream) 0%, #E2D3B6 60%, #CDBB98 100%);
  box-shadow:0 0 0 1px rgba(239,227,204,.18), 0 30px 70px -26px rgba(0,0,0,.9);
}
.flipcat__face img{ width:84%; mix-blend-mode:multiply; }
.flipcat__face--front{ transform:rotateY(180deg); }
.flipcat__face--front img{ width:76%; }

.flipcat__hint{
  font-family:var(--font-m); font-size:10.5px; letter-spacing:.15em;
  text-transform:uppercase; color:var(--cream-dim); transition:color .25s;
}
.flipcat__btn:hover + .flipcat__hint{ color:var(--green); }

.steps{ list-style:none; margin:0; padding:0; display:grid; gap:4px; counter-reset:s; }
.steps li{
  display:grid; grid-template-columns:36px minmax(0,1fr);
  column-gap:18px; align-items:start;
  padding:20px 20px 20px 0; border-bottom:1px solid var(--line); position:relative;
}
.steps li:last-child{ border-bottom:0; }
.steps__n{
  grid-column:1; grid-row:1 / span 2;
  width:36px; height:36px; border-radius:50%; display:grid; place-items:center;
  border:1px solid rgba(0,210,106,.35); color:var(--green);
  font-family:var(--font-m); font-size:13px;
}
.steps h4{ grid-column:2; grid-row:1; font-family:var(--font-b); font-weight:700; font-size:17.5px; margin:6px 0 5px; }
.steps p{ grid-column:2; grid-row:2; margin:0; color:var(--cream-dim); font-size:15px; }

/* ============================================================
   LIVE DASHBOARD
   ============================================================ */
.dash{ border:1px solid var(--line); border-radius:26px; overflow:hidden; background:rgba(255,255,255,.015); }

.dash__grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; }
.dash__tile{
  padding:28px 26px; border-right:1px solid var(--line);
  display:flex; flex-direction:column; gap:8px; min-width:0;
}
.dash__tile:last-child{ border-right:0; }
.dash__tile--hero{ background:linear-gradient(135deg, rgba(0,210,106,.07), transparent 70%); }

.dash__label{
  font-family:var(--font-m); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--cream-dim);
}
.dash__tile b{
  font-family:var(--font-d); font-weight:400; font-size:clamp(22px,2.4vw,32px);
  line-height:1.05; color:var(--cream); letter-spacing:-.01em;
  overflow-wrap:anywhere;
}
.dash__big{ font-size:clamp(30px,4.4vw,58px) !important; color:var(--green) !important; }
.dash__sub{ font-size:13px; color:var(--cream-dim); }

.dash__bar{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding:14px 26px; border-top:1px solid var(--line); background:rgba(0,0,0,.25);
}
.dash__status{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--font-m); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--cream-dim);
}
.dash__dot{
  width:7px; height:7px; border-radius:50%; background:var(--cream-dim); flex:none;
}
.dash__dot.is-live{ background:var(--green); animation:pulse 2s infinite; }
.dash__dot.is-err{ background:#E4573D; }
.dash__link{
  font-family:var(--font-m); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--green); text-decoration:none;
}
.dash__link:hover{ text-decoration:underline; }

.dash__rounds{ list-style:none; margin:0; padding:0; }
.dash__rounds li{
  display:grid; grid-template-columns:1fr auto auto; gap:16px; align-items:center;
  padding:13px 26px; border-top:1px solid var(--line); font-size:14px;
}
.dash__rounds a{ font-family:var(--font-m); font-size:12.5px; color:var(--cream-dim); text-decoration:none; }
.dash__rounds a:hover{ color:var(--green); }
.dash__rounds .amt{ font-family:var(--font-d); color:var(--green); font-size:14.5px; }
.dash__rounds .when{ font-size:12.5px; color:var(--cream-dim); white-space:nowrap; }

.dash__empty{
  padding:26px; border-top:1px solid var(--line);
  color:var(--cream-dim); font-size:15px; text-align:center;
}
.dash__empty b{ color:var(--cream); }

@media (max-width:900px){
  .dash__grid{ grid-template-columns:1fr 1fr; }
  .dash__tile{ border-bottom:1px solid var(--line); }
  .dash__tile--hero{ grid-column:1 / -1; border-right:0; }
  .dash__tile:nth-child(3){ border-right:0; }
  .dash__rounds li{ grid-template-columns:1fr auto; }
  .dash__rounds .when{ grid-column:2; }
}
@media (max-width:520px){
  .dash__grid{ grid-template-columns:1fr; }
  .dash__tile{ border-right:0; }
}

/* ============================================================
   AUTOMATION
   ============================================================ */
.auto{ border-top:1px solid var(--line); }
.auto__row{
  display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(16px,3vw,48px);
  padding:30px 0; border-bottom:1px solid var(--line);
}
.auto__k h4{ font-family:var(--font-d); font-weight:400; font-size:clamp(19px,1.9vw,25px); margin:12px 0 0; line-height:1.15; letter-spacing:-.01em; }
.pill{
  display:inline-block; font-family:var(--font-m); font-size:10.5px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--green);
  border:1px solid rgba(0,210,106,.3); border-radius:999px; padding:4px 11px;
}
.auto__v p{ margin:0 0 14px; color:var(--cream-dim); }
.auto__v strong{ color:var(--cream); }
.auto__v em{ color:var(--cream); font-style:italic; }
/* inline code inside prose — distinct from the .code block */
.auto__v p code, .q p code{
  font-family:var(--font-m); font-size:.86em; color:var(--green);
  background:rgba(0,210,106,.09); padding:2px 6px; border-radius:5px;
  white-space:nowrap;
}
.code{
  display:block; font-family:var(--font-m); font-size:13px; color:var(--green);
  background:rgba(0,210,106,.06); border:1px solid rgba(0,210,106,.16);
  border-radius:10px; padding:12px 15px; overflow-x:auto; white-space:nowrap;
}

.callout{
  margin-top:38px; padding:24px 26px; border-radius:var(--r);
  border:1px solid rgba(201,168,130,.28); background:rgba(201,168,130,.05);
  color:var(--cream-dim); font-size:15.5px;
}
.callout b{ color:var(--tan); }
.callout em{ color:var(--cream); font-style:italic; }
.callout code{
  font-family:var(--font-m); font-size:.86em; color:var(--tan);
  background:rgba(201,168,130,.12); padding:2px 6px; border-radius:5px;
}

/* ============================================================
   TOKENOMICS
   ============================================================ */
.tokgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.tok{
  border:1px solid var(--line); border-radius:22px; padding:26px 22px;
  background:linear-gradient(180deg, rgba(255,255,255,.028), transparent);
  transition:border-color .3s, transform .3s;
}
.tok:hover{ border-color:rgba(0,210,106,.35); transform:translateY(-4px); }
.tok__big{ font-family:var(--font-d); font-size:clamp(34px,3.6vw,48px); color:var(--green); line-height:1; margin-bottom:14px; }
.tok__big span{ font-size:.45em; color:var(--cream-dim); margin-left:2px; }
.tok h4{ font-family:var(--font-b); font-weight:700; font-size:16.5px; margin:0 0 7px; }
.tok p{ margin:0; font-size:14.5px; color:var(--cream-dim); }

/* ============================================================
   HOW TO BUY
   ============================================================ */
.buygrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.buy{ border:1px solid var(--line); border-radius:22px; padding:30px 26px; transition:.3s; }
.buy:hover{ border-color:rgba(232,217,188,.3); background:rgba(255,255,255,.02); }
.buy__n{ font-family:var(--font-d); font-size:34px; color:rgba(232,217,188,.16); display:block; line-height:1; margin-bottom:16px; }
.buy h4{ font-family:var(--font-b); font-weight:700; font-size:18px; margin:0 0 8px; }
.buy p{ margin:0; color:var(--cream-dim); font-size:15px; }
.buy__cta{ margin-top:38px; text-align:center; }

/* ============================================================
   FAQ
   ============================================================ */
.faq{ border-top:1px solid var(--line); }
.q{ border-bottom:1px solid var(--line); }
.q summary{
  list-style:none; cursor:pointer; padding:22px 44px 22px 0; position:relative;
  font-family:var(--font-b); font-weight:700; font-size:clamp(16.5px,1.5vw,19px);
  transition:color .2s;
}
.q summary::-webkit-details-marker{ display:none; }
.q summary:hover{ color:var(--green); }
.q summary::after{
  content:'+'; position:absolute; right:6px; top:50%; transform:translateY(-50%);
  font-family:var(--font-m); font-size:22px; color:var(--green); transition:transform .3s;
}
.q[open] summary::after{ transform:translateY(-50%) rotate(135deg); }
.q p{ margin:0 0 24px; color:var(--cream-dim); max-width:70ch; font-size:15.5px; }
.q code{ font-family:var(--font-m); font-size:.9em; color:var(--green); }

/* ============================================================
   FOOTER
   ============================================================ */
.foot{ padding:clamp(50px,7vw,80px) 0 34px; border-top:1px solid var(--line); }
.foot__grid{ display:flex; justify-content:space-between; gap:30px; flex-wrap:wrap; align-items:flex-start; }
.foot__brand{ display:flex; align-items:center; gap:12px; }
.foot__brand img{ width:44px; height:44px; border-radius:50%; background:var(--cream); }
.foot__brand span{ font-family:var(--font-d); font-size:20px; letter-spacing:.02em; }
.foot__tag{ color:var(--cream-dim); margin:12px 0 0; font-size:15px; }
.foot__links{ display:grid; gap:10px; text-align:right; }
.foot__links a{ text-decoration:none; color:var(--cream-dim); font-size:14.5px; transition:color .2s; }
.foot__links a:hover{ color:var(--green); }
.foot__legal{
  margin-top:44px; padding-top:22px; border-top:1px solid var(--line);
  font-size:12.5px; color:rgba(185,172,148,.55); max-width:82ch;
}

/* toast ----------------------------------------------------- */
.toast{
  position:fixed; left:50%; bottom:34px; transform:translate(-50%, 140%);
  background:var(--green); color:#04120A; font-weight:700; font-size:14px;
  padding:12px 22px; border-radius:999px; z-index:500;
  transition:transform .45s cubic-bezier(.2,1.3,.4,1);
  box-shadow:0 16px 40px -12px rgba(0,210,106,.6);
}
.toast.is-on{ transform:translate(-50%,0); }

/* reveal ---------------------------------------------------- */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.9,.3,1); }
.reveal.is-in{ opacity:1; transform:none; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1040px){
  .hero__grid{ grid-template-columns:1fr; }
  .hero__art{ order:-1; }
  .disc{ width:min(340px,72%); }
  .tag--a{ right:2%; }
  .wheel{ grid-template-columns:1fr; }
  .flipcat{ margin-bottom:10px; }
  .tokgrid{ grid-template-columns:repeat(2,1fr); }
  .buygrid{ grid-template-columns:1fr; }
  .nav__links{ display:none; }
}
@media (max-width:820px){
  .flipgrid{ grid-template-columns:1fr; }
  .flipgrid__arrow{ grid-auto-flow:column; }
  .rev{ writing-mode:horizontal-tb; transform:none; }
  .rev__line{ width:110px; height:1px; background:linear-gradient(to right, transparent, var(--green), transparent); }
  .auto__row{ grid-template-columns:1fr; }
  .stats{ grid-template-columns:repeat(2,1fr); }
  .stat:nth-child(2){ border-right:0; }
  .stat:nth-child(1),.stat:nth-child(2){ border-bottom:1px solid var(--line); }
  .foot__links{ text-align:left; }
}
@media (max-width:600px){
  .tag{ display:none; }
}
@media (max-width:520px){
  body{ font-size:16px; }
  .tokgrid{ grid-template-columns:1fr; }
  .title__ghost{ display:none; }
  .code{ font-size:11.5px; }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .reveal{ opacity:1; transform:none; }
}
