/* ============================================================
   RAEN ($RAEN) — Hold $RAEN, Get $NEAR.
   ============================================================ */

:root{
  --bg:        #050907;
  --bg-2:      #080D0B;
  --panel:     #0E1512;
  --panel-2:   #131C18;
  --line:      #23302A;
  --line-soft: #18211D;

  --mint:      #6DEBA9;
  --mint-lt:   #AEF7CE;
  --mint-dk:   #2CB57A;

  --text:      #EDF4F0;
  --muted:     #93A79C;
  --faint:     #60706A;

  --ink:       #04120B;

  --rad:   18px;
  --rad-s: 12px;

  --wrap: 1180px;
  --pad:  clamp(20px, 5vw, 48px);

  --f-disp: 'Archivo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --f-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
}

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

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:96px;
}

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--f-disp);
  font-size:18px;
  line-height:1.45;
  font-weight:500;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; }

.wrap{
  width:100%;
  max-width:var(--wrap);
  margin:0 auto;
  padding-inline:var(--pad);
}

/* film grain --------------------------------------------------- */
.grain{
  position:fixed; inset:0; z-index:1; pointer-events:none;
  opacity:.16; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; gap:24px;
  padding:16px var(--pad);
  background:rgba(5,9,7,.72);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  border-bottom:1px solid transparent;
  transition:border-color .25s ease, background .25s ease;
}
.nav.scrolled{ border-bottom-color:var(--line-soft); background:rgba(5,9,7,.9); }

.brand{ display:flex; align-items:center; gap:12px; flex:0 0 auto; }
.brand-mark{ width:40px; height:40px; border-radius:50%; }
.brand-name{
  font-weight:900; font-size:23px; letter-spacing:.045em;
}

.nav-links{ display:flex; gap:28px; margin-left:14px; }
.nav-links a{
  font-size:17px; font-weight:600; color:var(--muted);
  transition:color .18s ease;
}
.nav-links a:hover{ color:var(--text); }

.nav-right{ margin-left:auto; display:flex; align-items:center; gap:16px; }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:52px; padding:0 28px;
  border-radius:999px; border:1px solid transparent;
  font-size:17px; font-weight:800; letter-spacing:.02em;
  cursor:pointer; white-space:nowrap;
  transition:transform .16s ease, box-shadow .22s ease,
             background .2s ease, border-color .2s ease, color .2s ease;
}
.btn-lg{ min-height:64px; padding:0 40px; font-size:19px; }

.btn-mint{
  background:linear-gradient(180deg,var(--mint-lt) 0%,var(--mint) 45%,var(--mint-dk) 100%);
  color:var(--ink);
  box-shadow:0 10px 34px -14px rgba(109,235,169,.9);
}
.btn-mint:hover{ transform:translateY(-2px); box-shadow:0 18px 46px -14px rgba(109,235,169,1); }
.btn-mint:active{ transform:translateY(0); }

.btn-ghost{
  background:transparent; border-color:var(--line); color:var(--text);
}
.btn-ghost:hover{ border-color:var(--mint); color:var(--mint-lt); transform:translateY(-2px); }

/* ============================================================
   SOCIAL ICONS
   ============================================================ */
.socials{ display:flex; align-items:center; gap:12px; }

.soc{
  display:grid; place-items:center;
  width:52px; height:52px;
  border-radius:50%;
  border:1px solid var(--line);
  background:var(--panel);
  transition:transform .18s ease, border-color .2s ease, background .2s ease;
}
.soc:hover{ transform:translateY(-3px); border-color:var(--mint); background:var(--panel-2); }
.soc img, .soc svg{ width:26px; height:26px; }
.soc img{ object-fit:contain; }

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative; z-index:2;
  padding:clamp(56px,9vw,110px) var(--pad) clamp(48px,7vw,84px);
  overflow:hidden;
}
.hero-glow{
  position:absolute; left:50%; top:-14%;
  width:min(1100px,150vw); aspect-ratio:1/1;
  transform:translateX(-50%);
  background:radial-gradient(circle,rgba(109,235,169,.16) 0%,rgba(109,235,169,.05) 38%,transparent 68%);
  pointer-events:none;
}
.hero-inner{
  position:relative;
  max-width:var(--wrap); margin:0 auto;
  display:flex; flex-direction:column; align-items:center; text-align:center;
}

.hero-flip{
  display:flex; flex-direction:column; align-items:center; width:100%;
}

/* ============================================================
   3D COIN — two faces plus a generated cylindrical rim
   ============================================================ */
.coin{
  --size:  clamp(104px,15vw,148px);
  --depth: clamp(17px,2.4vw,23px);
  position:relative;
  width:var(--size); height:var(--size);
  perspective:1400px;
  animation:floaty 7s ease-in-out infinite;
}
/* soft glow behind the coin; the faces clip their own overflow so the
   light has to come from a flat layer underneath */
.coin::before{
  content:''; position:absolute; z-index:-1;
  left:50%; top:50%; width:170%; aspect-ratio:1/1;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(109,235,169,.30) 0%,rgba(109,235,169,.10) 42%,transparent 66%);
  pointer-events:none;
}
@keyframes floaty{
  0%,100%{ transform:translateY(0); }
  50%   { transform:translateY(-12px); }
}

.coin-3d{
  position:relative; width:100%; height:100%;
  transform-style:preserve-3d;
  transform:rotateX(-7deg) rotateY(0deg);
  transition:transform 1.15s cubic-bezier(.55,.06,.25,1);
  will-change:transform;
}

.coin-face{
  position:absolute; inset:0;
  border-radius:50%; overflow:hidden;
  backface-visibility:hidden; -webkit-backface-visibility:hidden;
}
.coin-face img{ width:100%; height:100%; display:block; border-radius:50%; }
.coin-front{ transform:translateZ(calc(var(--depth) / 2)); }
.coin-back { transform:rotateY(180deg) translateZ(calc(var(--depth) / 2)); }

/* one thin plate per rim segment, wrapped around the Z axis */
.coin-seg{
  position:absolute; left:50%; top:50%;
  width:calc(var(--size) * 0.0560);
  height:var(--depth);
  margin-left:calc(var(--size) * -0.0280);
  margin-top:calc(var(--depth) / -2);
  backface-visibility:hidden; -webkit-backface-visibility:hidden;
}

/* ============================================================
   WORDMARK — each letter is its own flipping card
   ============================================================ */
.wordmark-stack{
  margin-top:clamp(22px,3.5vw,38px);
  display:flex; flex-direction:column; align-items:center;
  width:100%;
}

.wordmark{
  margin:0;
  font-size:clamp(58px,15.5vw,190px);
  line-height:.86;
  font-weight:900;
  letter-spacing:-.03em;
  white-space:nowrap;
  text-align:center;
}

.ltr{ display:inline-block; vertical-align:top; perspective:900px; }
.ltr-in{
  display:grid;
  transform-style:preserve-3d;
  transition:transform .8s cubic-bezier(.6,.02,.3,1);
}
/* both letters share one grid cell, so the box is as wide as the
   wider of the pair and nothing shifts as they turn */
.lf,.lb{
  grid-area:1/1;
  backface-visibility:hidden; -webkit-backface-visibility:hidden;
}
.lb{ transform:rotateY(180deg); }

/* guarded so the text is never invisible if background-clip:text fails */
.wordmark,.wordmark .lf,.wordmark .lb{ color:var(--mint); }
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .wordmark,.wordmark .lf,.wordmark .lb{
    background:linear-gradient(180deg,#ECFFF5 0%,var(--mint-lt) 34%,var(--mint) 66%,var(--mint-dk) 100%);
    -webkit-background-clip:text; background-clip:text;
    color:transparent;
  }
}

.wordmark.reflect{
  transform:scaleY(-1);
  opacity:.2;
  margin-top:2px;
  -webkit-mask-image:linear-gradient(to top,transparent 8%,#000 92%);
  mask-image:linear-gradient(to top,transparent 8%,#000 92%);
  user-select:none;
}

.motto{
  margin:clamp(20px,3vw,32px) 0 0;
  font-size:clamp(22px,3.6vw,38px);
  font-weight:700;
  letter-spacing:-.01em;
  color:var(--text);
}
.mint{ color:var(--mint); }

.hero-actions{
  margin-top:clamp(28px,4vw,44px);
  display:flex; gap:16px; flex-wrap:wrap; justify-content:center;
}

/* contract pill ------------------------------------------------ */
.ca{
  margin-top:clamp(26px,3.5vw,40px);
  display:inline-flex; align-items:center; gap:14px;
  max-width:100%;
  min-height:60px; padding:0 10px 0 22px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--panel);
  cursor:pointer;
  transition:border-color .2s ease, background .2s ease;
}
.ca:hover{ border-color:var(--mint); background:var(--panel-2); }
.ca-label{
  font-size:15px; font-weight:800; letter-spacing:.14em;
  color:var(--mint); flex:0 0 auto;
}
.ca-addr{
  font-family:var(--f-mono); font-size:16px; color:var(--muted);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.ca-copy{
  flex:0 0 auto;
  display:inline-flex; align-items:center;
  height:44px; padding:0 22px; border-radius:999px;
  background:var(--mint); color:var(--ink);
  font-size:15px; font-weight:800;
}

/* ============================================================
   MARQUEE
   ============================================================ */
.marquee{
  position:relative; z-index:2;
  border-block:1px solid var(--line-soft);
  background:var(--bg-2);
  overflow:hidden;
  padding:18px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marquee-track{
  display:flex; width:max-content;
  animation:slide 34s linear infinite;
}
.marquee-track span{
  display:inline-flex; align-items:center;
  font-size:20px; font-weight:800; letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted);
  padding-inline:22px;
}
.marquee-track span i{
  font-style:normal; color:var(--mint); padding-left:44px;
}
@keyframes slide{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ============================================================
   SECTIONS
   ============================================================ */
section{ position:relative; z-index:2; }

.sec-title{
  margin:0 0 clamp(28px,4vw,46px);
  font-size:clamp(30px,5vw,54px);
  font-weight:900; letter-spacing:-.025em;
}

/* stats -------------------------------------------------------- */
.stats{ padding:clamp(48px,6vw,76px) 0 clamp(20px,3vw,32px); }
.stat-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--line-soft);
  border:1px solid var(--line-soft);
  border-radius:var(--rad);
  overflow:hidden;
}
.stat{
  background:var(--panel);
  padding:clamp(22px,3vw,30px) clamp(20px,2.6vw,28px);
}
.stat-k{
  font-size:15px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--faint);
}
.stat-v{
  margin-top:10px;
  font-family:var(--f-mono);
  font-size:clamp(22px,2.8vw,30px);
  font-weight:700; letter-spacing:-.02em;
  color:var(--text);
  overflow-wrap:anywhere;
}

/* mechanic ----------------------------------------------------- */
.rewards{ padding:clamp(56px,8vw,104px) 0; }
.mech-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
}
.mech{
  border:1px solid var(--line-soft);
  border-radius:var(--rad);
  background:linear-gradient(180deg,var(--panel) 0%,var(--bg-2) 100%);
  padding:clamp(28px,4vw,44px) clamp(22px,3vw,34px);
  transition:border-color .22s ease, transform .22s ease;
}
.mech:hover{ border-color:var(--mint-dk); transform:translateY(-4px); }
.mech-n{
  font-size:clamp(44px,7vw,78px);
  font-weight:900; letter-spacing:-.04em; line-height:1;
  background:linear-gradient(180deg,var(--mint-lt),var(--mint-dk));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.mech-l{
  margin-top:16px;
  font-size:18px; font-weight:600; color:var(--muted);
}

.flow{
  margin-top:26px;
  display:flex; align-items:stretch; gap:0;
  border:1px solid var(--line-soft);
  border-radius:var(--rad);
  background:var(--panel);
  overflow:hidden;
}
.flow-step{
  flex:1 1 0;
  display:flex; flex-direction:column; gap:12px;
  padding:clamp(22px,3vw,30px) clamp(18px,2.4vw,26px);
  min-width:0;
}
.flow-i{
  font-family:var(--f-mono); font-size:16px; font-weight:700;
  color:var(--mint); letter-spacing:.08em;
}
.flow-t{ font-size:18px; font-weight:700; }
.flow-arrow{
  flex:0 0 1px; background:var(--line-soft); align-self:stretch;
}

/* ============================================================
   CALCULATOR
   ============================================================ */
.calc{ padding:0 0 clamp(64px,9vw,120px); }

.calc-shell{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:stretch;
}

.controls{
  display:flex; flex-direction:column; gap:22px;
  justify-content:space-between;
}

.control{
  border:1px solid var(--line-soft);
  border-radius:var(--rad);
  background:linear-gradient(180deg,var(--panel) 0%,var(--bg-2) 100%);
  padding:clamp(24px,3vw,32px);
}
.control-head{
  display:flex; align-items:baseline; justify-content:space-between; gap:16px;
  flex-wrap:wrap;
}
.control-k{
  font-size:16px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--faint);
}
.control-v{
  font-family:var(--f-mono);
  font-size:clamp(30px,4.4vw,44px);
  font-weight:700; letter-spacing:-.03em;
  color:var(--mint);
}
.control-sub{
  margin-top:14px;
  display:flex; justify-content:space-between; align-items:center; gap:14px;
  flex-wrap:wrap;
  font-family:var(--f-mono); font-size:16px; color:var(--muted);
}

.linklike{
  background:none; border:0; padding:8px 0;
  align-self:flex-start;
  font-family:var(--f-disp); font-size:16px; font-weight:800;
  color:var(--mint); cursor:pointer;
  border-bottom:2px solid rgba(109,235,169,.35);
  transition:border-color .2s ease;
}
.linklike:hover{ border-bottom-color:var(--mint); }

/* range input -------------------------------------------------- */
input[type=range]{
  -webkit-appearance:none; appearance:none;
  width:100%; margin:26px 0 0;
  height:34px;
  background:transparent; cursor:pointer;
}
input[type=range]::-webkit-slider-runnable-track{
  height:10px; border-radius:999px;
  background:
    linear-gradient(90deg,var(--mint-lt),var(--mint)) 0/var(--fill,50%) 100% no-repeat,
    #202B26;
}
input[type=range]::-moz-range-track{
  height:10px; border-radius:999px; background:#202B26;
}
input[type=range]::-moz-range-progress{
  height:10px; border-radius:999px;
  background:linear-gradient(90deg,var(--mint-lt),var(--mint));
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none;
  width:34px; height:34px; margin-top:-12px;
  border-radius:50%;
  background:linear-gradient(180deg,#ECFFF5,var(--mint));
  border:2px solid #04120B;
  box-shadow:0 6px 20px -4px rgba(109,235,169,.75);
  transition:transform .14s ease;
}
input[type=range]::-webkit-slider-thumb:active{ transform:scale(1.12); }
input[type=range]::-moz-range-thumb{
  width:32px; height:32px; border-radius:50%;
  background:linear-gradient(180deg,#ECFFF5,var(--mint));
  border:2px solid #04120B;
  box-shadow:0 6px 20px -4px rgba(109,235,169,.75);
}
input[type=range]:focus-visible{ outline:2px solid var(--mint); outline-offset:6px; border-radius:999px; }

/* payouts ------------------------------------------------------ */
.payouts{
  border:1px solid var(--line-soft);
  border-radius:var(--rad);
  background:var(--panel);
  overflow:hidden;
}
.payout-head,
.payout,
.payout-foot{
  display:grid;
  grid-template-columns:1.05fr 1.25fr 1fr;
  gap:14px; align-items:center;
  padding:clamp(18px,2.4vw,24px) clamp(20px,2.6vw,28px);
}
.payout-head{
  font-size:15px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--faint);
  background:var(--bg-2);
  border-bottom:1px solid var(--line-soft);
}
.payout-head span:nth-child(2),
.payout-head span:nth-child(3),
.p-z,.p-u{ text-align:right; }

.payout + .payout,
.payout-foot{ border-top:1px solid var(--line-soft); }

.p-k{ font-size:19px; font-weight:800; }
.p-z{
  font-family:var(--f-mono);
  font-size:clamp(19px,2.3vw,25px);
  font-weight:700; color:var(--mint);
  overflow-wrap:anywhere;
}
.p-u{
  font-family:var(--f-mono);
  font-size:clamp(16px,1.9vw,19px);
  color:var(--muted);
  overflow-wrap:anywhere;
}

.payout.hi{ background:linear-gradient(90deg,rgba(109,235,169,.09),rgba(109,235,169,.02)); }
.payout.hi .p-k{ color:var(--mint-lt); }

.payout-foot{
  grid-template-columns:1fr auto;
  background:var(--bg-2);
  font-family:var(--f-mono); font-size:16px; color:var(--muted);
}
.payout-foot span:first-child{
  font-family:var(--f-disp); font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; font-size:15px; color:var(--faint);
}

/* ============================================================
   CONNECT + FOOTER
   ============================================================ */
.mission{ padding:0 0 clamp(64px,9vw,110px); }

.goal{
  font-size:clamp(46px,9vw,110px);
  font-weight:900; letter-spacing:-.04em; line-height:.95;
  margin-bottom:clamp(34px,5vw,56px);
}

.bar-block{
  border:1px solid var(--line-soft);
  border-radius:var(--rad);
  background:linear-gradient(180deg,var(--panel) 0%,var(--bg-2) 100%);
  padding:clamp(26px,3.4vw,38px);
}

.bar-ends{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:18px;
}
.bar-end{ display:flex; flex-direction:column; gap:8px; min-width:0; }
.bar-end.right{ text-align:right; align-items:flex-end; }
.bar-end em{
  font-style:normal;
  font-size:15px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--faint);
}
.bar-end b{
  font-family:var(--f-mono);
  font-size:clamp(20px,2.6vw,28px);
  font-weight:700; letter-spacing:-.02em;
  color:var(--text);
  overflow-wrap:anywhere;
}
.bar-end.right b{ color:var(--mint); }

.bar{
  position:relative;
  height:26px; margin:20px 0;
  border-radius:999px;
  background:#1A231F;
  border:1px solid var(--line-soft);
  overflow:hidden;
}
.bar-fill{
  height:100%; width:0;
  border-radius:999px;
  background:linear-gradient(90deg,var(--mint-dk),var(--mint) 55%,#DFFFF0);
  box-shadow:0 0 26px 2px rgba(109,235,169,.7);
  transition:width 1.1s cubic-bezier(.2,.7,.3,1);
}

.chant{
  margin-top:clamp(40px,6vw,72px);
  text-align:center;
  font-size:clamp(21px,3vw,30px);
  font-weight:800; letter-spacing:.06em; line-height:1;
}
/* gradient on an inner span so the reveal transform and the clipped
   background never sit on the same element */
.chant span{ color:var(--mint); }
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .chant span{
    background:linear-gradient(180deg,#ECFFF5 0%,var(--mint-lt) 38%,var(--mint-dk) 100%);
    -webkit-background-clip:text; background-clip:text;
    color:transparent;
  }
}

.foot{
  position:relative; z-index:2;
  border-top:1px solid var(--line-soft);
  background:var(--bg-2);
  padding:clamp(32px,4vw,44px) 0;
}
.foot-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; flex-wrap:wrap;
}
.foot-brand{
  display:flex; align-items:center; gap:12px;
  font-size:20px; font-weight:900; letter-spacing:.045em;
}
.foot-mark{ width:36px; height:36px; border-radius:50%; }
.foot-ca{
  font-family:var(--f-mono); font-size:15px; color:var(--faint);
  overflow-wrap:anywhere; max-width:100%;
}

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

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1000px){
  .calc-shell{ grid-template-columns:1fr; }
  .flow{ flex-wrap:wrap; }
  .flow-step{ flex:1 1 45%; }
  .flow-arrow{ display:none; }
  .flow-step{ border-right:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); }
}

@media (max-width:860px){
  .nav-links{ display:none; }
  .socials-nav{ display:none; }
  .stat-grid{ grid-template-columns:repeat(2,1fr); }
  .mech-grid{ grid-template-columns:1fr; }
}

@media (max-width:640px){
  body{ font-size:17px; }
  html{ scroll-padding-top:84px; }

  .nav{ padding:12px var(--pad); }
  .brand-mark{ width:36px; height:36px; }
  .brand-name{ font-size:21px; }
  .btn{ min-height:50px; padding:0 24px; font-size:16px; }
  .btn-lg{ min-height:60px; padding:0 30px; font-size:18px; width:100%; }

  .hero-actions{ width:100%; }
  .hero-actions .btn{ flex:1 1 100%; }

  .ca{ width:100%; padding:12px 12px 12px 20px; min-height:0; flex-wrap:wrap; }
  .ca-addr{ flex:1 1 100%; order:2; font-size:14px; white-space:normal; overflow-wrap:anywhere; text-align:left; }
  .ca-label{ order:1; }
  .ca-copy{ order:1; margin-left:auto; height:40px; padding:0 18px; }

  .flow-step{ flex:1 1 100%; border-right:0; }

  .payout-head,
  .payout{ grid-template-columns:1fr 1fr; row-gap:6px; }
  .payout-head span:nth-child(3){ display:none; }
  .payout-head span:nth-child(2){ text-align:right; }
  .p-k{ grid-row:1; }
  .p-z{ grid-row:1; }
  .p-u{ grid-column:1/-1; grid-row:2; text-align:right; }

  .foot-inner{ justify-content:center; text-align:center; }
  .foot-ca{ font-size:13px; }
}

@media (max-width:400px){
  .stat-grid{ grid-template-columns:1fr; }
}

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