/* ==========================================================================
   FRANKLIN · shared stylesheet (multi-page site)
   vibe: acid-lime + black, chunky bubble headings, playful memecoin energy,
   the cat as the star. dark base for long reading, full-lime bands for punch.
   ========================================================================== */
:root{
  --lime:#C8F031; --lime-2:#B2DB1C; --lime-ink:#0D1500; --lime-soft:#26320B;
  --bg:#0C100B; --bg-2:#161C10; --bg-3:#1F2717; --card:#171D11;
  --line:#2C3720; --line-2:#3C4A2C; --line-lime:rgba(200,240,49,.4);
  --ink:#F4F7EC; --ink-2:#BCC6AE; --muted:#7F896F;
  --hot:#FF6A3D; --hot-2:#e8552a; --hot-soft:#33190f;
  --pink:#FF9DC2; --rh:#19C85A;
  /* legacy names kept so every page's classes still resolve */
  --paper:#0C100B; --paper-2:#171D11; --paper-3:#222A17;
  --rule:#2C3720; --rule-2:#3C4A2C;
  --red:#FF6A3D; --red-2:#FF6A3D; --red-soft:#33190f;
  --pine:#C8F031; --pine-2:#B2DB1C; --on-pine:#0D1500; --on-pine-2:#3a4a12; --pine-rule:#96b81a;
  --display:'Baloo 2','Fredoka One','Nunito',ui-rounded,'Segoe UI',system-ui,-apple-system,Arial,sans-serif;
  --sans:'Nunito','Segoe UI',system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,'SF Mono','Cascadia Mono',Menlo,Consolas,monospace;
  --wrap:1140px; --measure:720px; --gut:24px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:800;letter-spacing:0;line-height:1.02;text-wrap:balance}
p{margin:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
::selection{background:var(--lime);color:var(--lime-ink)}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.full{width:100%}
.lbl{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.lbl.red{color:var(--lime)}
.tab{font-variant-numeric:tabular-nums}
hr.rule{height:2px;background:var(--line);border:0;margin:0}

/* bubble headline treatment (playful, outlined) */
.bubble,.hero-ttl,.subhero h1,.sec-head h2,.band h2,.buy h2,.join h2{
  font-family:var(--display);font-weight:800;color:#fff;letter-spacing:-.01em;
  -webkit-text-stroke:3px var(--bg);paint-order:stroke fill;text-shadow:0 4px 0 rgba(0,0,0,.35)}
.on-lime .bubble,.band h2,.ink-ttl{color:var(--lime-ink);-webkit-text-stroke:3px var(--lime-ink);text-shadow:none}

/* ---- experimental banner ----------------------------------------------- */
.exp{background:#000}
.exp .in{display:flex;align-items:center;gap:14px;padding:8px 0;flex-wrap:wrap;justify-content:center;text-align:center}
.exp .tag{font-family:var(--display);font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--lime-ink);background:var(--lime);padding:3px 11px;border-radius:999px;white-space:nowrap}
.exp .msg{font-family:var(--sans);font-weight:600;font-size:12.5px;color:#E8ECDF;line-height:1.4}
.exp a{color:var(--lime);border-bottom:1px solid var(--line-2)}

/* ---- masthead ---------------------------------------------------------- */
.mast{position:sticky;top:0;z-index:30;background:rgba(12,16,11,.86);backdrop-filter:blur(10px);border-bottom:2px solid var(--line)}
.mast .in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:11px}
.brand img{width:44px;height:44px;border-radius:50%;border:2px solid var(--lime)}
.brand .tx{display:flex;flex-direction:column;line-height:1}
.brand .nm{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.01em;color:#fff;-webkit-text-stroke:2px var(--bg);paint-order:stroke fill}
.brand .no{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-top:3px}
.mast nav{display:flex;gap:4px;flex-wrap:wrap}
.mast nav a{font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-2);padding:7px 13px;border-radius:999px;transition:background .15s,color .15s}
.mast nav a:hover{color:var(--lime-ink);background:var(--lime)}
.mast nav a[aria-current="page"]{color:var(--lime);box-shadow:inset 0 0 0 2px var(--lime)}
.mast nav a.cta{color:var(--lime-ink);background:var(--lime);box-shadow:0 4px 14px rgba(200,240,49,.28)}
.mast nav a.cta:hover{background:var(--lime-2)}

/* ---- buttons (pills) --------------------------------------------------- */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:800;font-size:14px;letter-spacing:.04em;
  text-transform:uppercase;padding:14px 24px;border-radius:999px;border:2px solid var(--lime);color:var(--lime);background:transparent;
  cursor:pointer;transition:transform .12s,background .14s,color .14s}
.btn:hover{transform:translateY(-2px);background:var(--lime);color:var(--lime-ink)}
.btn.red,.btn.solid{background:var(--lime);border-color:var(--lime);color:var(--lime-ink)}
.btn.red:hover,.btn.solid:hover{background:var(--lime-2);border-color:var(--lime-2)}
.btn.dark{background:#000;border-color:#000;color:var(--lime)}
.btn.dark:hover{background:#000;color:#fff}
.tlink{font-family:var(--display);font-weight:700;font-size:14px;color:var(--lime);border-bottom:2px solid var(--line-2);padding-bottom:2px}
.tlink:hover{border-color:var(--lime)}

/* ---- plate (art frame) ------------------------------------------------- */
.plate{border:3px solid var(--line-2);border-radius:22px;background:var(--card);overflow:hidden}
.plate .img{position:relative;aspect-ratio:1/1;overflow:hidden;display:grid;place-content:center;
  background:radial-gradient(closest-side at 50% 45%,var(--bg-3),var(--card))}
.plate .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.plate.tall .img{aspect-ratio:4/5}.plate.wide .img{aspect-ratio:16/9}
.plate .cap{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-top:2px solid var(--line);background:var(--bg-2)}
.plate .cap .t{font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.plate .cap .d{font-family:var(--mono);font-size:10.5px;color:var(--muted)}
.ph{display:flex;flex-direction:column;align-items:center;gap:9px;color:var(--muted);text-align:center;padding:24px}
.ph .k{font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.ph .d{font-family:var(--mono);font-size:11px;color:var(--muted);max-width:30ch;line-height:1.6}
.plate.on-pine{border-color:var(--pine-rule)}
.plate.on-pine .img{background:radial-gradient(closest-side at 50% 45%,#d8ff4a,var(--lime))}
.plate.on-pine .cap{background:#bfe61f;border-color:var(--pine-rule)}
.plate.on-pine .cap .t{color:var(--lime-ink)}.plate.on-pine .cap .d{color:#4a5a12}.plate.on-pine .ph{color:#4a5a12}

/* ---- home hero (rebuilt on the page; base grid kept) ------------------- */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:40px 0 50px;position:relative}
@media(max-width:880px){.hero{grid-template-columns:1fr;gap:26px;text-align:center}}
.hero-ttl{font-size:clamp(58px,12vw,132px);line-height:.86;text-transform:uppercase}
.hero-ttl .lime{color:var(--lime);-webkit-text-stroke-color:var(--bg)}
.hero-sub{font-family:var(--display);font-weight:800;font-size:clamp(18px,2.4vw,26px);text-transform:uppercase;letter-spacing:.01em;margin:18px 0 14px;color:#fff}
.hero-sub .lime{color:var(--lime)}
.hero .deck{font-family:var(--sans);font-weight:600;font-size:16.5px;line-height:1.55;color:var(--ink-2);max-width:44ch;margin:0 0 26px}
@media(max-width:880px){.hero .deck{margin-inline:auto}}
.hero .deck b{color:#fff}
.hero .cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
@media(max-width:880px){.hero .cta{justify-content:center}}
.cta-note{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cta-note b{color:var(--lime)}
.hero .kick{display:none}
.hero .figures{display:flex;flex-wrap:wrap;gap:10px;border:0;margin-top:28px}
@media(max-width:880px){.hero .figures{justify-content:center}}
.hero .figures .f{flex:0 0 auto;padding:10px 16px;border:2px solid var(--line-2);border-radius:16px;background:var(--bg-2)}
.hero .figures .f .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.hero .figures .f .v{font-family:var(--display);font-weight:800;font-size:24px;color:#fff;margin-top:3px}
.hero .figures .f .v.red{color:var(--lime)}
/* night-sky hero backdrop (pure CSS scene) */
.skywrap{position:relative;overflow:hidden;min-height:clamp(500px,70vh,740px);display:flex;align-items:center;
  background:radial-gradient(120% 85% at 76% 44%, #15190f 0%, #0a0d0a 58%)}
.skywrap>.wrap{position:relative;z-index:2;width:100%}
.sky{position:absolute;inset:0;z-index:0;pointer-events:none}
.sky::before{content:"";position:absolute;inset:0;background-repeat:no-repeat;background-image:
  radial-gradient(2px 2px at 12% 22%, #fff, transparent),
  radial-gradient(1.5px 1.5px at 26% 46%, rgba(255,255,255,.85), transparent),
  radial-gradient(1px 1px at 8% 66%, #fff, transparent),
  radial-gradient(2px 2px at 34% 16%, #ffe9a8, transparent),
  radial-gradient(1.5px 1.5px at 46% 60%, var(--lime), transparent),
  radial-gradient(1px 1px at 58% 30%, #fff, transparent),
  radial-gradient(1.5px 1.5px at 66% 52%, #fff, transparent),
  radial-gradient(1px 1px at 78% 24%, rgba(255,255,255,.8), transparent),
  radial-gradient(2px 2px at 90% 58%, #fff, transparent),
  radial-gradient(1px 1px at 52% 78%, #fff, transparent),
  radial-gradient(1.5px 1.5px at 72% 74%, #ffe9a8, transparent),
  radial-gradient(1px 1px at 40% 88%, #fff, transparent)}
.sky::after{content:"";position:absolute;inset:0;opacity:.55;background-size:210px 210px;background-image:
  radial-gradient(1px 1px at 20px 30px, #fff, transparent),
  radial-gradient(1px 1px at 110px 80px, rgba(255,255,255,.7), transparent),
  radial-gradient(1px 1px at 60px 150px, #fff, transparent),
  radial-gradient(1px 1px at 170px 40px, rgba(255,255,255,.6), transparent);
  animation:twinkle 4.5s ease-in-out infinite alternate}
@keyframes twinkle{from{opacity:.3}to{opacity:.78}}
.moon{position:absolute;top:11%;right:7%;width:150px;height:150px;border-radius:50%;z-index:1;background:
  radial-gradient(circle at 62% 40%, rgba(90,82,50,.55) 0 7px, transparent 8px),
  radial-gradient(circle at 40% 60%, rgba(90,82,50,.45) 0 5px, transparent 6px),
  radial-gradient(circle at 55% 68%, rgba(90,82,50,.4) 0 4px, transparent 5px),
  radial-gradient(circle at 34% 34%, #f4efd0 0%, #ddd6ad 46%, #b6ae83 100%);
  box-shadow:0 0 3px rgba(255,255,255,.4), 0 0 70px 14px rgba(226,240,170,.16), inset -16px -12px 28px rgba(90,82,50,.55)}
@media(max-width:880px){.moon{width:82px;height:82px;top:4%}}
.clouds{position:absolute;left:0;right:0;bottom:-2px;height:40%;z-index:1;pointer-events:none;filter:blur(3px);background:
  radial-gradient(60% 90% at 18% 116%, rgba(16,22,38,.95), transparent 72%),
  radial-gradient(52% 96% at 50% 120%, rgba(11,16,30,.98), transparent 72%),
  radial-gradient(60% 90% at 84% 116%, rgba(16,22,38,.9), transparent 72%)}
.shoot{position:absolute;top:15%;left:56%;width:3px;height:3px;border-radius:50%;background:#fff;z-index:1;opacity:0;
  box-shadow:0 0 8px 2px rgba(255,255,255,.8);animation:shoot 8s linear infinite}
.shoot::after{content:"";position:absolute;right:3px;top:1px;width:90px;height:1px;background:linear-gradient(to left,#fff,transparent);transform:rotate(26deg);transform-origin:right center}
@keyframes shoot{0%,90%{opacity:0;transform:translate(0,0)}91%{opacity:1}100%{opacity:0;transform:translate(-240px,130px)}}
.mascot-glow{position:relative}
.mascot-glow::before{content:"";position:absolute;inset:-6% ;border-radius:50%;
  background:radial-gradient(closest-side,rgba(200,240,49,.28),transparent 70%);z-index:0}
.mascot-glow img,.mascot-glow .plate{position:relative;z-index:1}

/* ---- full-bleed LIME band (the lore / community) ----------------------- */
.band{background:var(--lime);color:var(--lime-ink)}
.band .lbl{color:#4a5a12}
.band .story{display:grid;grid-template-columns:1fr .82fr;gap:48px;align-items:center;padding:62px 0}
@media(max-width:880px){.band .story{grid-template-columns:1fr;gap:30px;padding:46px 0}}
.band h2{font-size:clamp(40px,6vw,74px);text-transform:uppercase;margin-bottom:8px}
.band .pull{font-family:var(--display);font-weight:800;font-size:clamp(26px,4vw,40px);line-height:1.12;margin:10px 0 20px;color:var(--lime-ink)}
.band .pull .red{color:var(--hot)}
.band .story p{font-family:var(--sans);font-weight:600;font-size:16.5px;line-height:1.65;color:#25310a;max-width:52ch;margin-bottom:14px}
.band .story p b{color:var(--lime-ink);font-weight:800}
.band .tlink{color:var(--lime-ink);border-color:rgba(13,21,0,.3)}
.band .tlink:hover{border-color:var(--lime-ink)}

/* ---- interior subhero -------------------------------------------------- */
.subhero{padding:44px 0 38px;border-bottom:2px dashed var(--line-2)}
.subhero .no{font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--lime);margin-bottom:16px}
.subhero h1{font-size:clamp(44px,8vw,88px);line-height:.9;text-transform:uppercase}
.subhero .deck{font-family:var(--sans);font-weight:600;font-size:clamp(17px,2.2vw,21px);line-height:1.5;color:var(--ink-2);max-width:60ch;margin-top:20px}
.subhero .deck b{color:#fff}

/* ---- prose (article body) ---------------------------------------------- */
.prose{padding:46px 0 8px}
.prose .lede{font-family:var(--sans);font-weight:700;font-size:20px;line-height:1.5;color:#fff;max-width:var(--measure);margin-bottom:32px}
.prose h2{font-family:var(--display);font-weight:800;font-size:clamp(24px,3.4vw,32px);color:var(--lime);max-width:var(--measure);margin:44px 0 14px;text-transform:uppercase;letter-spacing:-.01em}
.prose h2:first-child{margin-top:0}
.prose h3{font-family:var(--display);font-weight:800;font-size:19px;color:#fff;max-width:var(--measure);margin:28px 0 8px}
.prose p{max-width:var(--measure);margin-bottom:16px;color:var(--ink-2);font-size:16.5px;line-height:1.7}
.prose p b,.prose li b{color:#fff;font-weight:700}
.prose p a,.prose li a{color:var(--lime);border-bottom:1px solid var(--line-2)}
.prose ul,.prose ol{max-width:var(--measure);margin:0 0 18px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:11px}
.prose li{position:relative;padding-left:28px;color:var(--ink-2);font-size:16.5px;line-height:1.6}
.prose ul>li::before{content:"";position:absolute;left:4px;top:11px;width:9px;height:9px;border-radius:50%;background:var(--lime)}
.prose ol{counter-reset:n}.prose ol>li{counter-increment:n}
.prose ol>li::before{content:counter(n);position:absolute;left:0;top:0;font-family:var(--display);font-weight:800;font-size:13px;color:var(--lime-ink);background:var(--lime);width:20px;height:20px;border-radius:50%;display:grid;place-content:center}
.prose code{font-family:var(--mono);font-size:.85em;background:var(--bg-2);border:1px solid var(--line);padding:1px 6px;border-radius:6px;color:var(--lime);word-break:break-all}
.prose blockquote{max-width:var(--measure);margin:26px 0;padding:4px 0 4px 22px;border-left:4px solid var(--lime);
  font-family:var(--display);font-weight:800;font-size:22px;line-height:1.3;color:#fff}

/* callout / spec / flow -------------------------------------------------- */
.callout{max-width:var(--measure);margin:26px 0;border:2px solid var(--line-2);border-radius:18px;overflow:hidden;background:var(--card)}
.callout .hd{font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:11px 16px;background:var(--bg-2);color:var(--ink)}
.callout .bd{padding:16px}
.callout .bd p{margin:0 0 10px;color:var(--ink-2);font-size:15px;line-height:1.65}.callout .bd p:last-child{margin:0}
.callout .bd p b{color:#fff}
.callout.warn{border-color:var(--hot)}
.callout.warn .hd{background:var(--hot);color:#1a0a04}
.callout.warn code{background:var(--hot-soft);color:#ffb59e}
.callout.good{border-color:var(--lime)}
.callout.good .hd{background:var(--lime);color:var(--lime-ink)}

.spec-list{max-width:var(--measure);border-top:2px solid var(--line-2);margin:22px 0}
.spec-list .r{display:grid;grid-template-columns:190px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}
@media(max-width:520px){.spec-list .r{grid-template-columns:1fr;gap:2px}}
.spec-list .k{font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:var(--muted);text-transform:uppercase}
.spec-list .v{font-family:var(--mono);font-size:14px;color:var(--ink);word-break:break-all}

.flow{max-width:var(--measure);margin:26px 0;border:2px solid var(--line-2);border-radius:14px;background:#0a0d09;
  font-family:var(--mono);font-size:12.5px;line-height:1.7;color:var(--ink-2);padding:18px;overflow-x:auto;white-space:pre}
.flow b{color:var(--lime);font-weight:400}

/* ---- home sections ----------------------------------------------------- */
.sec{padding:58px 0;border-top:2px dashed var(--line-2)}
.sec-head{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;margin-bottom:32px}
@media(max-width:640px){.sec-head{grid-template-columns:1fr;gap:10px}}
.sec-head .no{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--lime);padding-top:10px}
.sec-head h2{font-size:clamp(30px,5vw,52px);text-transform:uppercase}
.sec-head .dk{font-family:var(--sans);font-weight:600;font-size:16px;line-height:1.5;color:var(--ink-2);max-width:56ch;margin-top:14px}

/* buy / how cards (dark, lime-outlined) */
.buycards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:760px){.buycards{grid-template-columns:1fr}}
.buycard{border:2px solid var(--line-lime);border-radius:20px;background:var(--bg-2);padding:24px;display:flex;flex-direction:column;gap:10px;transition:transform .14s,border-color .14s}
.buycard:hover{transform:translateY(-4px);border-color:var(--lime)}
.buycard .ic{width:52px;height:52px;border-radius:14px;background:var(--lime-soft);border:2px solid var(--lime);display:grid;place-content:center;color:var(--lime);font-family:var(--display);font-weight:800;font-size:22px}
.buycard h3{font-family:var(--display);font-weight:800;font-size:19px;color:#fff;text-transform:uppercase}
.buycard p{font-family:var(--sans);font-weight:500;font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.buycard .n{font-family:var(--mono);font-size:11px;color:var(--lime);letter-spacing:.1em}

/* community tweets */
.tweets{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:920px;margin-inline:auto}
@media(max-width:720px){.tweets{grid-template-columns:1fr}}
.tweet{background:#fff;color:#0f1419;border-radius:18px;padding:18px;box-shadow:0 10px 0 rgba(13,21,0,.18)}
.tweet .hd{display:flex;align-items:center;gap:11px;margin-bottom:11px}
.tweet .av{width:42px;height:42px;border-radius:50%;background:var(--lime);border:2px solid #0f1419;flex:none;overflow:hidden}
.tweet .av img{width:100%;height:100%;object-fit:cover}
.tweet .nm{font-family:var(--sans);font-weight:800;font-size:15px;color:#0f1419;line-height:1.1}
.tweet .at{font-family:var(--sans);font-size:13px;color:#5b7083}
.tweet p{font-family:var(--sans);font-size:14.5px;line-height:1.5;color:#0f1419;margin-bottom:8px}
.tweet p:last-child{margin-bottom:0}
.tweet .lk{color:#1d9bf0}
a.tweet{cursor:pointer;transition:transform .14s,box-shadow .14s}
a.tweet:hover{transform:translateY(-3px);box-shadow:0 16px 0 rgba(13,21,0,.22)}
.tweet .view{display:inline-flex;align-items:center;gap:5px;margin-top:11px;font-family:var(--sans);font-weight:800;font-size:12.5px;color:#1d9bf0}
.tweet-note{font-family:var(--sans);font-weight:500;font-size:15.5px;color:var(--ink-2);margin-top:10px;max-width:44ch;margin-inline:auto}
.lore-ttl{font-size:clamp(44px,7.4vw,84px);text-transform:uppercase;margin:8px 0 6px}

/* ---- burn highlight (home) --------------------------------------------- */
.burnhi{display:grid;grid-template-columns:1.5fr .8fr;gap:40px;align-items:center;border:2px solid var(--lime);border-radius:22px;padding:42px 46px;margin:6px 0;background:linear-gradient(180deg,rgba(200,240,49,.06),transparent)}
@media(max-width:760px){.burnhi{grid-template-columns:1fr;padding:30px 26px;gap:24px}}
.bh-copy .bubble{font-size:clamp(30px,5vw,52px);text-transform:uppercase;line-height:.94;margin:8px 0 14px}
.bh-copy p{font-family:var(--sans);font-weight:500;font-size:16px;line-height:1.6;color:var(--ink-2);max-width:56ch;margin-bottom:22px}
.bh-stat{text-align:center;border-left:2px solid var(--line);padding-left:28px}
@media(max-width:760px){.bh-stat{border-left:0;border-top:2px solid var(--line);padding:24px 0 0}}
.bh-x{font-family:var(--display);font-weight:800;font-size:clamp(56px,9vw,100px);color:var(--lime);line-height:.86;-webkit-text-stroke:3px var(--bg);paint-order:stroke fill;text-shadow:0 4px 0 rgba(0,0,0,.35)}
.bh-k{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:10px;max-width:20ch;margin-inline:auto}

/* ---- mint widget (adopt page) ------------------------------------------ */
.mintbox{max-width:var(--measure);margin-top:18px;border:2px solid var(--line-2);border-radius:20px;background:var(--card);padding:24px;display:flex;flex-direction:column;gap:18px}
.mintbox .row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.mintbox .lab{font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.mintbox .qty{display:inline-flex;align-items:center;border:2px solid var(--line-2);border-radius:999px;overflow:hidden}
.mintbox .qty button{width:46px;height:46px;background:transparent;border:0;color:#fff;font-family:var(--display);font-weight:800;font-size:22px;cursor:pointer;line-height:1}
.mintbox .qty button:hover{background:var(--bg-2);color:var(--lime)}
.mintbox .qty .n{min-width:48px;text-align:center;font-family:var(--display);font-weight:800;font-size:22px}
.mintbox .total{font-family:var(--display);font-weight:800;font-size:30px}
.mintbox .total b{color:var(--lime)}
.mintbox .mintbtn{width:100%;font-family:var(--display);font-weight:800;font-size:16px;letter-spacing:.06em;text-transform:uppercase;padding:17px;border-radius:14px;border:0;background:var(--lime);color:var(--lime-ink);cursor:pointer;transition:transform .12s,background .14s,opacity .14s}
.mintbox .mintbtn:hover:not(:disabled){background:var(--lime-2);transform:translateY(-2px)}
.mintbox .mintbtn:active:not(:disabled){transform:translateY(0)}
/* Only a genuinely unusable button says so — sold out, or the wallet cap is hit. */
.mintbox .mintbtn:disabled{cursor:not-allowed;opacity:.45}
.mintbox .st{font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;color:var(--muted);text-align:center;line-height:1.6}
.mintbox .st a{color:var(--lime)}

/* marquee */
.marquee{background:var(--lime);color:var(--lime-ink);border-top:3px solid var(--bg);border-bottom:3px solid var(--bg);overflow:hidden;padding:12px 0}
.marquee .track{display:flex;gap:36px;white-space:nowrap;width:max-content;animation:scroll 22s linear infinite}
.marquee span{font-family:var(--display);font-weight:800;font-size:22px;text-transform:uppercase;letter-spacing:.02em;display:inline-flex;align-items:center;gap:36px}
.marquee span::after{content:"●";color:var(--hot);font-size:12px}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* index of pages */
.index{border-top:2px solid var(--line-2)}
.index a{display:grid;grid-template-columns:56px 1fr auto;gap:22px;align-items:center;padding:22px 0;border-bottom:2px solid var(--line);transition:padding-left .15s}
.index a:hover{padding-left:8px;background:var(--bg-2)}
.index a .n{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--lime)}
.index a h3{font-family:var(--display);font-weight:800;font-size:clamp(20px,2.6vw,26px);text-transform:uppercase}
.index a:hover h3,.index a:hover .go{color:var(--lime)}
.index a p{font-family:var(--sans);font-weight:500;font-size:14.5px;color:var(--ink-2);margin-top:3px;max-width:60ch}
.index a .go{font-family:var(--display);font-weight:800;color:var(--muted)}
@media(max-width:640px){.index a{grid-template-columns:1fr;gap:5px}.index a .go{display:none}}

/* ---- table ------------------------------------------------------------- */
.tablewrap{overflow-x:auto;border:2px solid var(--line-2);border-radius:16px}
table.data{border-collapse:collapse;width:100%;min-width:600px}
table.data thead th{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:400;text-align:right;padding:14px 16px;border-bottom:2px solid var(--line-2);background:var(--bg-2)}
table.data thead th:first-child,table.data thead th:nth-child(2){text-align:left}
table.data tbody td{padding:15px 16px;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink-2);text-align:right;font-family:var(--mono)}
table.data tbody tr:last-child td{border-bottom:0}
table.data tbody td.sym{text-align:left;font-family:var(--display);font-weight:800;font-size:19px;color:#fff}
table.data tbody td.nm{text-align:left;font-family:var(--sans);font-weight:500;font-size:14.5px;color:var(--ink-2);max-width:34ch}
table.data tbody td .allo{display:inline-flex;align-items:center;gap:10px;justify-content:flex-end}
table.data tbody td .allo .b{width:70px;height:8px;border-radius:999px;background:var(--bg-3);position:relative;overflow:hidden}
table.data tbody td .allo .b i{position:absolute;inset:0;width:var(--w);background:var(--lime)}
table.data tbody td .pct{color:var(--lime);font-weight:700}
table.data tbody tr:hover td{background:var(--bg-2)}

/* ---- register plates --------------------------------------------------- */
.plates{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
@media(max-width:860px){.plates{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.plates{grid-template-columns:repeat(2,1fr)}}
.spec-card{border:2px solid var(--line-2);border-radius:18px;background:var(--card);overflow:hidden;transition:transform .14s}
.spec-card:hover{transform:translateY(-4px)}
.spec-card .img{aspect-ratio:1;position:relative;overflow:hidden;display:grid;place-content:center;border-bottom:2px solid var(--line);
  background:radial-gradient(closest-side at 50% 55%,var(--bg-3),var(--card))}
.spec-card .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.spec-card .img .ph-t{font-family:var(--display);font-weight:700;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.spec-card .m{padding:12px 13px}
.spec-card .m .nm{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.spec-card .m .nm b{font-family:var(--display);font-weight:800;font-size:16px}
.spec-card .m .nm .w{font-family:var(--mono);font-size:12.5px;color:var(--lime)}
.spec-card .m .c{font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:4px}
.spec-card[data-rare]{border-color:var(--pink)}
.spec-card[data-rare] .m .nm .w{color:var(--pink)}

/* ---- adopt price split ------------------------------------------------- */
.mint{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:var(--measure)}
@media(max-width:540px){.mint{grid-template-columns:1fr}}
.price{padding:24px;border:2px solid var(--line-2);border-radius:20px;background:var(--card);display:flex;flex-direction:column;gap:16px}
.price.best{background:var(--lime);color:var(--lime-ink);border-color:var(--lime)}
.price .th{display:flex;align-items:center;justify-content:space-between;gap:10px}
.price .th .t{font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.price.best .th .t{color:#3a4a12}
.price .th .tag{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);border:1px solid var(--lime);padding:3px 8px;border-radius:999px}
.price.best .th .tag{color:var(--lime-ink);border-color:var(--lime-ink)}
.price .big{font-family:var(--display);font-weight:800;font-size:clamp(48px,7vw,68px);line-height:.9;color:#fff}
.price.best .big{color:var(--lime-ink)}
.price ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.price li{font-family:var(--sans);font-weight:500;font-size:14.5px;line-height:1.5;padding-left:18px;position:relative;color:var(--ink-2)}
.price li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:var(--lime)}
.price.best li{color:#25310a}.price.best li::before{background:var(--lime-ink)}

/* ---- feeding ladder ---------------------------------------------------- */
.ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:var(--measure)}
@media(max-width:820px){.ladder{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.ladder{grid-template-columns:1fr}}
.rung{padding:20px;border:2px solid var(--line-2);border-radius:18px;background:var(--card);display:flex;flex-direction:column;gap:8px}
.rung .st{font-family:var(--display);font-weight:800;font-size:16px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.rung .st .b{font-family:var(--mono);font-size:11px;color:var(--muted)}
.rung .mult{font-family:var(--display);font-weight:800;font-size:40px;line-height:1;color:var(--lime)}
.rung .desc{font-family:var(--sans);font-weight:500;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.rung.cap{background:var(--lime);color:var(--lime-ink);border-color:var(--lime)}
.rung.cap .mult{color:var(--lime-ink)}.rung.cap .st .b{color:#3a4a12}.rung.cap .desc{color:#25310a}

/* ---- disclosure-style two col (kept for reuse) ------------------------- */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:var(--measure)}
@media(max-width:720px){.cols{grid-template-columns:1fr}}
.col{padding:22px;border:2px solid var(--line-2);border-radius:18px;background:var(--card)}
.col h3{font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px}
.col h3.y{color:var(--lime)}.col h3.n{color:var(--hot)}
.col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.col li{font-family:var(--sans);font-weight:500;font-size:14.5px;line-height:1.5;color:var(--ink-2);padding-left:24px;position:relative}
.col li em{font-style:normal;color:#fff;font-weight:700}
.col li::before{position:absolute;left:0;top:0;font-family:var(--display);font-weight:800;font-size:14px}
.col.y li::before{content:"\2713";color:var(--lime)}
.col.n li::before{content:"\2715";color:var(--hot)}

/* ---- page nav (prev/next) ---------------------------------------------- */
.pagenav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:52px 0 0}
@media(max-width:560px){.pagenav{grid-template-columns:1fr}}
.pagenav a{padding:22px;border:2px solid var(--line-2);border-radius:18px;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,background .15s}
.pagenav a:hover{border-color:var(--lime);background:var(--bg-2)}
.pagenav a.next{text-align:right}
.pagenav a .d{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pagenav a .t{font-family:var(--display);font-weight:800;font-size:20px;text-transform:uppercase}
.pagenav a:hover .t{color:var(--lime)}

.cap-note{max-width:var(--measure);margin-top:18px;font-family:var(--mono);font-size:11.5px;color:var(--muted);line-height:1.6}
.cap-note b{color:var(--lime)}

/* ---- footer ------------------------------------------------------------ */
footer{background:#000;color:#E8ECDF;padding:64px 0 0;margin-top:64px;border-top:3px solid var(--lime)}
.foot{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:44px;align-items:start}
@media(max-width:720px){.foot{grid-template-columns:1fr 1fr;gap:32px}.foot .brand{grid-column:1/-1}}
@media(max-width:440px){.foot{grid-template-columns:1fr}}
.foot .brand{max-width:46ch;display:flex;flex-direction:column;gap:13px}
.fbrand{display:inline-flex;align-items:center;gap:11px}
.fbrand img{width:38px;height:38px;border-radius:9px}
.fbrand .nm{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:.02em;color:#fff;text-transform:uppercase}
.foot .big{font-family:var(--display);font-weight:800;font-size:clamp(21px,2.8vw,29px);color:#fff;text-transform:uppercase;line-height:1.05;margin-top:2px}
.foot .brand p{font-family:var(--sans);font-weight:500;font-size:13.5px;line-height:1.6;color:#9aa38c;margin:0}
.ftitle{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#6f7a5f;display:block;margin-bottom:15px}
.foot nav{display:flex;flex-direction:column;gap:11px}
.foot nav a{font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.02em;text-transform:uppercase;color:#c9d0bd;width:fit-content}
.foot nav a:hover{color:var(--lime)}
.fbot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:52px;padding:18px 0 22px;border-top:1px solid rgba(255,255,255,.09)}
.fbot span{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:#6f7a5f}

/* ---- intro splash (home) ----------------------------------------------- */
body.locked{overflow:hidden}
.intro{position:fixed;inset:0;z-index:9999;background:#000;overflow:hidden;transition:opacity .6s ease}
.intro video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.intro .veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.12),rgba(0,0,0,.15) 55%,rgba(0,0,0,.62))}
.intro .brandtop{position:absolute;top:24px;left:0;right:0;z-index:2;display:flex;justify-content:center;gap:11px;align-items:center}
.intro .brandtop img{width:44px;height:44px;border-radius:50%;border:2px solid var(--lime)}
.intro .brandtop b{font-family:var(--display);font-weight:800;font-size:20px;color:#fff;letter-spacing:-.01em;-webkit-text-stroke:2px #000;paint-order:stroke fill}
.intro .snd{position:absolute;top:22px;right:22px;z-index:3;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:8px 14px;cursor:pointer}
.intro .snd:hover{background:rgba(0,0,0,.7)}
.intro .ctrls{position:absolute;left:0;right:0;bottom:8vh;z-index:2;display:flex;flex-direction:column;align-items:center;gap:13px}
.intro .enter{font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--lime-ink);background:var(--lime);border:0;border-radius:999px;padding:16px 46px;cursor:pointer;box-shadow:0 12px 34px rgba(200,240,49,.4);transition:transform .12s,background .14s}
.intro .enter:hover{transform:translateY(-2px);background:var(--lime-2)}
.intro .hint{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.intro.hide{opacity:0;pointer-events:none}

/* ---- full-bleed video band (plays on scroll) --------------------------- */
.videoband{position:relative;width:100%;aspect-ratio:16/9;max-height:86vh;overflow:hidden;background:#000;border-top:3px solid var(--lime);border-bottom:3px solid var(--lime)}
.videoband video{width:100%;height:100%;object-fit:cover;display:block}
.videoband .cap{position:absolute;left:18px;bottom:16px;z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.8);background:rgba(0,0,0,.4);padding:6px 12px;border-radius:999px;backdrop-filter:blur(4px)}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}}

/* ---- shelter previews (home) ------------------------------------------- */
.previews{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.previews img{width:100%;aspect-ratio:1/1;display:block;border-radius:14px;border:2px solid var(--line);background:#fff}
@media(max-width:760px){.previews{grid-template-columns:repeat(2,1fr);gap:10px}}
