:root{
  --green-50:#f3fbec;--green-100:#dff5cf;--green-300:#99e17a;--green-400:#6fc94a;--green-500:#4ca626;--green-600:#3a831c;--green-700:#2a6114;--green-800:#1c440d;
  --ink-900:#14200e;--ink-700:#2e3d26;--ink-500:#5a6a50;--ink-400:#8a9782;--ink-300:#bec7b8;--ink-200:#dee3da;
  --paper:#fff;--paper-warm:#fcfbf5;--coin-300:#ffdc85;--coin-400:#ffc53d;--sky-300:#9cc9ff;--sky-500:#1e6fc4;
  --font-display:"Archivo Black","Archivo",system-ui,sans-serif;
  --font-sans:"Archivo",system-ui,-apple-system,sans-serif;
  --font-mono:"Space Mono",ui-monospace,monospace;
  --space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;
  --gutter:24px;--container-max:1180px;
  --radius-md:12px;--radius-lg:18px;--radius-pill:999px;
  --shadow-sticker-sm:2px 2px 0 #14200e;--shadow-sticker:4px 4px 0 #14200e;--shadow-sticker-lg:6px 6px 0 #14200e;
  --dur-fast:120ms;--ease-out:cubic-bezier(.2,.8,.2,1);
  --text-display-md:clamp(2rem,3.6vw,2.75rem);
  --pattern-dot-size:22px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper-warm);color:var(--ink-700);font-family:var(--font-sans);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-wrap:pretty;overflow-x:hidden}
h1,h2,h3{font-family:var(--font-display);font-weight:400;color:var(--ink-900);line-height:.92;letter-spacing:-.02em;margin:0 0 var(--space-4)}
h1,h2{font-size:var(--text-display-md)}
h3{font-size:1.625rem;line-height:1.15}
p{margin:0}
img{max-width:100%}
:focus-visible{outline:3px solid var(--ink-900);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:8px;z-index:10;background:var(--paper);color:var(--ink-900);padding:8px 14px;border:2px solid var(--ink-900);border-radius:var(--radius-pill);font-weight:700}
.skip:focus{left:8px}
.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter);position:relative;z-index:1}
.eyebrow{display:block;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--green-600)}
section{padding:var(--space-8) 0}

/* Backgrounds */
.bg-mesh{background-color:var(--paper-warm);background-image:radial-gradient(52% 62% at 8% 4%,var(--green-300) 0%,transparent 62%),radial-gradient(46% 56% at 96% 12%,var(--coin-300) 0%,transparent 64%),radial-gradient(56% 60% at 74% 100%,var(--sky-300) 0%,transparent 62%),radial-gradient(40% 44% at 24% 96%,var(--green-100) 0%,transparent 66%)}
.bg-mesh-deep{background-color:var(--ink-900);background-image:radial-gradient(50% 60% at 88% 8%,var(--green-600) 0%,transparent 64%),radial-gradient(46% 52% at 6% 92%,var(--sky-500) 0%,transparent 62%),radial-gradient(38% 44% at 40% 8%,var(--green-800) 0%,transparent 70%)}
.bg-dots{background-color:var(--paper);background-image:radial-gradient(var(--ink-300) 2px,transparent 2px);background-size:var(--pattern-dot-size) var(--pattern-dot-size)}
.grain{position:relative}
.grain::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E")}

/* Hero */
.hero{padding:var(--space-7) 0 var(--space-8);overflow:hidden}
.logo-sticker{display:inline-flex;align-items:center;padding:var(--space-4) var(--space-5);background:var(--paper);border:3px solid var(--ink-900);border-radius:var(--radius-lg);box-shadow:var(--shadow-sticker-lg);transform:rotate(-2.5deg)}
.logo-sticker img{height:72px;width:auto;display:block}
.hero .eyebrow{margin-top:var(--space-6);color:var(--ink-900)}
.hero h1{margin:var(--space-3) 0 0;max-width:860px}


/* Ticker */
.marquee{overflow:hidden;white-space:nowrap;background:var(--ink-900);color:var(--green-300);border-top:3px solid var(--ink-900);border-bottom:3px solid var(--ink-900);padding:14px 0}
.marquee-track{display:inline-flex;animation:scroll 34s linear infinite}
.marquee ul{display:inline-flex;margin:0;padding:0;list-style:none}
.marquee li{font-family:var(--font-mono);font-weight:700;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;padding:0 var(--space-5)}
.marquee li::after{content:"\25CF";color:var(--coin-400);margin-left:var(--space-5)}
.marquee li{padding-right:0}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* Steps */
.steps{border-bottom:3px solid var(--ink-900)}
.steps h2{margin-top:var(--space-3)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5);margin:var(--space-5) 0 0;padding:0;list-style:none}
.card{background:var(--green-50);color:var(--ink-900);padding:var(--space-5);border-radius:var(--radius-lg);border:2px solid var(--ink-900);box-shadow:var(--shadow-sticker)}
.card.brand{background:var(--green-300)}
.card.coin{background:var(--coin-300)}
.icon-sq{display:grid;place-items:center;width:46px;height:46px;border-radius:var(--radius-md);background:var(--paper);border:2px solid var(--ink-900);box-shadow:var(--shadow-sticker-sm);color:var(--ink-900)}
.icon-sq svg{width:24px;height:24px}
.card h3{margin:var(--space-4) 0 var(--space-2)}
.card p{font-size:.875rem}

/* Vision */
.vision .eyebrow{color:var(--green-300)}
.vision h2{color:var(--paper);margin:var(--space-3) 0 0;max-width:1000px}

/* Footer */
footer{background:var(--ink-900);color:var(--ink-400);padding:var(--space-6) 0}
footer img{height:30px;width:auto;display:block}
.foot-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}
.foot-logo{display:inline-block;border-radius:6px}
footer nav a{color:var(--green-300);font-weight:700;font-size:.9375rem;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;display:inline-block;padding:10px 0}
footer nav a:hover{color:var(--paper)}
footer :focus-visible{outline-color:var(--green-300)}
.foot-org{margin-top:var(--space-5);font-size:.875rem;color:var(--ink-300);max-width:640px}
footer small{display:block;margin-top:var(--space-3);font-family:var(--font-mono);font-size:.75rem}

/* Tablet */
@media (max-width:900px){
  .grid{grid-template-columns:repeat(2,1fr)}
}
/* Phone */
@media (max-width:600px){
  :root{--gutter:20px}
  section{padding:var(--space-7) 0}
  .hero{padding:var(--space-6) 0 var(--space-7)}
  .logo-sticker{padding:var(--space-3) var(--space-4)}
  .logo-sticker img{height:48px}
  .hero .eyebrow{margin-top:var(--space-5)}
  h1,h2{font-size:1.75rem;line-height:1}
  .vision h2{font-size:1.5rem;line-height:1.08}
  .grid{grid-template-columns:1fr;gap:var(--space-4)}
  .marquee{padding:12px 0}
  .marquee li{font-size:.875rem;padding-left:var(--space-4)}
  .marquee li::after{margin-left:var(--space-4)}
  h3{font-size:1.375rem}
}

/* Policy page */
.page-head{background:var(--paper-warm);border-bottom:2px solid var(--ink-900);padding:var(--space-4) 0}
.page-head img{height:40px;width:auto;display:block}
.page-head .container{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.page-head a.back{color:var(--green-600);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.policy{padding:var(--space-8) 0 var(--space-9)}
.policy .container{max-width:768px}
.policy h1{margin:var(--space-3) 0 var(--space-3)}
.policy .meta{font-family:var(--font-mono);font-size:.8125rem;color:var(--ink-500);margin-bottom:var(--space-6)}
.policy h2{font-size:1.375rem;line-height:1.15;margin:var(--space-7) 0 var(--space-3)}
.policy p,.policy li{font-size:1.0625rem;color:var(--ink-700)}
.policy p+p{margin-top:var(--space-3)}
.policy ul{padding-left:1.25em;margin:var(--space-3) 0 0}
.policy li+li{margin-top:var(--space-2)}
.policy a{color:var(--green-600);text-decoration-thickness:2px;text-underline-offset:3px}
.policy address{font-style:normal;margin-top:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--paper);border:2px solid var(--ink-900);border-radius:var(--radius-md);box-shadow:var(--shadow-sticker-sm);color:var(--ink-900);font-weight:500;display:inline-block}
@media (max-width:600px){
  .policy{padding:var(--space-7) 0}
  .page-head img{height:32px}
  .policy p,.policy li{font-size:1rem}
}
.nw{white-space:nowrap}
.policy ul+p{margin-top:var(--space-4)}
