/* ============================================================
   ScopeStack Design System — Off-white + Fluorescent
   Palette: blue #3689F3 · green #89F336 · pink #F33689 on paper #f1f0e8
   The vanilla-CSS sibling of the NEXUS Tailwind tokens.

   Usage: <link rel="stylesheet" href="/css/scopestack.css" />
          <script src="/js/scopestack.js" defer></script>
   Component reference: /design-system.html
   ============================================================ */

/* ---- Tokens ---- */
:root{
  --paper:#f1f0e8; --bone:#ecebe1; --cloud:#fbfaf4;
  --blue:#3689f3; --green:#89f336; --pink:#f33689;
  --blue-deep:#2f78ea; --green-deep:#2f9e12; --pink-deep:#d81e6f;
  --blue-soft:#7eb2f9; /* lighter blue end for the icon-tile sheen */
  --green-soft:#bdf871; --pink-soft:#ff6ba8; /* lighter same-family ends for the button sheen */
  --ink:#16160f; --mute:#5c5c4f; --faint:#8a8a7c;
  --hairline:color-mix(in oklab, #16160f 10%, transparent);
  --hair-soft:color-mix(in oklab, #16160f 7%, transparent);
  --sans:'Geist',ui-sans-serif,system-ui,-apple-system,sans-serif;
  --mono:'Geist Mono',ui-monospace,monospace;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;color-scheme:light;-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
  -webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
::selection{background:color-mix(in oklab,var(--green) 55%,transparent);color:var(--ink);}
::-webkit-scrollbar{width:11px;height:11px;}
::-webkit-scrollbar-thumb{background:color-mix(in oklab,var(--blue) 45%,transparent);
  border-radius:99px;border:3px solid transparent;background-clip:padding-box;}
::-webkit-scrollbar-thumb:hover{background:color-mix(in oklab,var(--blue) 70%,transparent);background-clip:padding-box;}

/* ---- Layout ---- */
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.section{position:relative;padding:104px 0;}
@media(max-width:720px){.section{padding:72px 0;}}

/* ---- Aurora background ---- */
.aurora{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;
  background:radial-gradient(120% 90% at 50% -10%, #f7f6ee 0%, #f1f0e8 45%, #eceadf 100%);}
.blob{position:absolute;border-radius:50%;filter:blur(120px);}
.b1{left:-10%;top:-16%;width:56vh;height:56vh;background:color-mix(in oklab,var(--blue) 42%,transparent);animation:drift 24s var(--ease) infinite;}
.b2{right:-12%;top:4%;width:50vh;height:50vh;background:color-mix(in oklab,var(--green) 46%,transparent);animation:drift 38s var(--ease) infinite reverse;}
.b3{left:26%;bottom:-22%;width:60vh;height:60vh;background:color-mix(in oklab,var(--pink) 42%,transparent);animation:drift 30s var(--ease) infinite;}
.b4{right:14%;bottom:2%;width:38vh;height:38vh;background:color-mix(in oklab,var(--blue) 34%,transparent);animation:float 9s ease-in-out infinite;}
.grid{position:absolute;inset:0;background-image:
    linear-gradient(color-mix(in oklab,#16160f 5%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in oklab,#16160f 5%,transparent) 1px,transparent 1px);
  background-size:46px 46px;-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent);opacity:.7;}
.noise{position:absolute;inset:0;mix-blend-mode:multiply;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");}
@keyframes drift{0%,100%{transform:translate3d(0,0,0) scale(1) rotate(0);opacity:.6}33%{transform:translate3d(6%,-8%,0) scale(1.18) rotate(40deg);opacity:.85}66%{transform:translate3d(-8%,6%,0) scale(.92) rotate(-30deg);opacity:.5}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* ---- Glass + surfaces ---- */
.glass{background:linear-gradient(160deg,rgba(255,255,255,.78),rgba(255,255,255,.56));
  backdrop-filter:blur(16px) saturate(1.35);-webkit-backdrop-filter:blur(16px) saturate(1.35);
  border:1px solid var(--hairline);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 12px 34px -22px rgba(22,22,15,.45);}
.glass-strong{background:linear-gradient(160deg,rgba(255,255,255,.9),rgba(255,255,255,.72));
  backdrop-filter:blur(26px) saturate(1.5);-webkit-backdrop-filter:blur(26px) saturate(1.5);
  border:1px solid color-mix(in oklab,#16160f 11%,transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 20px 50px -26px rgba(22,22,15,.5);}
.card{border-radius:24px;}
.lift{transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
.lift:hover{transform:translateY(-5px);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 26px 56px -28px rgba(22,22,15,.55);}

/* ---- Type ---- */
/* Text gradients — match the button sheen (light/bright -> core, no blue). */
.grad{background:linear-gradient(120deg,var(--pink-soft),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent;}       /* hot pink, light->core sheen (= .btn-pink) */
.grad-g{background:linear-gradient(120deg,var(--green),var(--green-deep));-webkit-background-clip:text;background-clip:text;color:transparent;}    /* neon green -> deep; stays readable on paper */
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--blue-deep);display:inline-flex;align-items:center;gap:8px;}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 10px var(--blue);}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.025em;line-height:1.04;}
.display{font-size:clamp(34px,5.4vw,60px);font-weight:600;}
.h2{font-size:clamp(30px,4.4vw,50px);}
.lead{font-size:clamp(15px,1.5vw,18px);color:var(--mute);line-height:1.6;max-width:60ch;}
.mono{font-family:var(--mono);}
.tag{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--mute);background:rgba(22,22,15,.04);border:1px solid var(--hair-soft);padding:4px 9px;border-radius:7px;}

/* ---- Buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;border-radius:13px;
  font-weight:600;font-size:14px;padding:12px 18px;cursor:pointer;border:1px solid transparent;
  transition:transform .25s var(--ease),box-shadow .3s var(--ease),background .3s;position:relative;overflow:hidden;}
.btn:active{transform:scale(.97);}
.btn-grad{color:var(--ink);background:linear-gradient(120deg,var(--green-soft),var(--green));
  box-shadow:0 12px 30px -14px var(--green);}
.btn-grad:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 16px 36px -14px var(--green);}
.btn-grad::after{content:"";position:absolute;inset:0;transform:translateX(-120%);
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.45),transparent);transition:transform .7s var(--ease);}
.btn-grad:hover::after{transform:translateX(120%);}
.btn-pink{color:var(--ink);background:linear-gradient(120deg,var(--pink-soft),var(--pink));box-shadow:0 12px 30px -14px var(--pink);}
.btn-pink:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 16px 36px -14px var(--pink);}
.btn-pink::after{content:"";position:absolute;inset:0;transform:translateX(-120%);
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.4),transparent);transition:transform .7s var(--ease);}
.btn-pink:hover::after{transform:translateX(120%);}
.btn-ghost{background:rgba(255,255,255,.55);border:1px solid var(--hairline);color:var(--ink);
  backdrop-filter:blur(8px);}
.btn-ghost:hover{background:rgba(255,255,255,.85);transform:translateY(-2px);}
.btn-line{background:transparent;border:1px solid var(--hairline);color:var(--mute);}
.btn-line:hover{color:var(--ink);background:rgba(22,22,15,.03);}

/* Keep a headline on one line (desktop); wrap normally on small screens */
.nowrap{white-space:nowrap;}
@media(max-width:700px){.nowrap{white-space:normal;}}

/* Async email-capture form */
.askform{display:flex;flex-direction:column;gap:10px;max-width:460px;margin:0 auto;}
.askform input,.askform textarea{width:100%;padding:13px 16px;border-radius:13px;border:1px solid var(--hairline);
  background:rgba(255,255,255,.72);font:inherit;font-size:14px;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s;}
.askform textarea{resize:vertical;min-height:62px;}
.askform input::placeholder,.askform textarea::placeholder{color:var(--faint);}
.askform input:focus,.askform textarea:focus{border-color:color-mix(in oklab,var(--green) 55%,transparent);box-shadow:0 0 0 3px color-mix(in oklab,var(--green) 20%,transparent);}
.askform button{align-self:stretch;}
.ask-msg{margin:12px 0 0;font-size:13px;min-height:18px;}
.ask-msg.ok{color:var(--green-deep);}
.ask-msg.err{color:var(--pink-deep);}

/* ---- Nav ---- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,box-shadow .3s,border-color .3s;
  border-bottom:1px solid transparent;}
.nav.scrolled{background:color-mix(in oklab,var(--paper) 80%,transparent);
  backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);
  border-bottom:1px solid var(--hair-soft);box-shadow:0 8px 30px -24px rgba(22,22,15,.5);}
.nav-inner{display:flex;align-items:center;gap:18px;height:66px;}
.logo{font-family:var(--mono);font-weight:700;font-size:15px;letter-spacing:-.02em;display:flex;align-items:center;gap:10px;}
.logo .mark{width:32px;height:32px;border-radius:10px;background:linear-gradient(140deg,var(--pink),var(--pink-deep));
  display:grid;place-items:center;box-shadow:0 7px 18px -7px var(--pink),inset 0 1px 0 rgba(255,255,255,.5);
  transition:transform .3s var(--ease);}
.logo:hover .mark{transform:rotate(-4deg) scale(1.05);}
.logo .mark svg{width:19px;height:19px;display:block;filter:drop-shadow(0 1px 1px rgba(22,22,15,.25));}
.logo .br{color:var(--faint);font-weight:600;}
.nav-links{display:flex;align-items:center;gap:4px;margin-left:14px;}
.nav-links a{font-size:13.5px;color:var(--mute);padding:7px 11px;border-radius:9px;transition:color .2s,background .2s;}
.nav-links a:hover{color:var(--ink);background:rgba(22,22,15,.04);}
.nav-cta{margin-left:auto;display:flex;align-items:center;gap:10px;}
.burger{display:none;width:42px;height:42px;border-radius:11px;border:1px solid var(--hairline);
  background:rgba(255,255,255,.6);cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:4px;}
.burger span{width:17px;height:2px;background:var(--ink);border-radius:2px;transition:.3s;}
@media(max-width:980px){.nav-links{display:none;}.burger{display:flex;}.nav-cta .btn-ghost{display:none;}}
.mobile{position:fixed;inset:0;z-index:49;background:color-mix(in oklab,var(--paper) 96%,transparent);
  backdrop-filter:blur(20px);display:flex;flex-direction:column;gap:6px;padding:90px 28px 28px;
  transform:translateY(-100%);visibility:hidden;pointer-events:none;
  transition:transform .4s var(--ease),visibility .4s;}
.mobile.open{transform:translateY(0);visibility:visible;pointer-events:auto;}
.mobile a{font-size:22px;font-weight:600;color:var(--ink);padding:12px 0;border-bottom:1px solid var(--hair-soft);letter-spacing:-.02em;}

/* ---- Hero ---- */
.hero{padding:152px 0 64px;position:relative;}
.trust{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 8px;}
.chip{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--mute);
  background:rgba(255,255,255,.55);border:1px solid var(--hair-soft);padding:6px 12px;border-radius:99px;backdrop-filter:blur(6px);}
.chip .ic{width:14px;height:14px;color:var(--green-deep);}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.hero-note{margin-top:18px;font-size:12px;color:var(--faint);font-family:var(--mono);}

/* ---- Stats ---- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:820px){.stats{grid-template-columns:repeat(2,1fr);}}
.stat{padding:24px;border-radius:22px;}
.stat .num{font-size:clamp(30px,3.6vw,42px);font-weight:700;letter-spacing:-.03em;line-height:1;}
.stat .lbl{margin-top:8px;font-size:13px;font-weight:500;color:var(--ink);}
.stat .src{margin-top:4px;font-size:10.5px;color:var(--faint);font-family:var(--mono);}

/* ---- Marquee ---- */
.marquee-wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);padding:6px 0;}
.marquee{display:flex;gap:14px;width:max-content;animation:scroll 46s linear infinite;}
.marquee.rev{animation-direction:reverse;animation-duration:54s;}
.marquee-wrap:hover .marquee{animation-play-state:paused;}
.gemchip{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;font-size:13.5px;font-weight:500;
  padding:10px 16px;border-radius:99px;background:rgba(255,255,255,.6);border:1px solid var(--hairline);backdrop-filter:blur(6px);}
.gemchip .s{color:var(--blue);font-size:12px;}
@keyframes scroll{to{transform:translateX(-50%);}}

/* ---- Section heading block ---- */
.secthead{display:flex;flex-direction:column;gap:14px;margin-bottom:48px;max-width:760px;}
.numtag{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--pink-deep);}

/* ---- Problem / overhead breakdown ---- */
.ohead{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;
  padding:18px 22px;border-radius:16px;background:rgba(255,255,255,.5);border:1px solid var(--hair-soft);}
.ohead+.ohead{margin-top:10px;}
.ohead .n{font-family:var(--mono);font-size:12px;color:var(--faint);}
.ohead .t{font-size:14.5px;color:var(--ink);}
.ohead .v{font-family:var(--mono);font-weight:600;font-size:15px;color:var(--pink-deep);white-space:nowrap;}
.ototal{margin-top:14px;display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-radius:16px;
  background:linear-gradient(120deg,color-mix(in oklab,var(--pink) 12%,transparent),color-mix(in oklab,var(--blue) 10%,transparent));
  border:1px solid var(--hairline);}
.ototal .t{font-weight:600;font-size:15px;}
.ototal .v{font-family:var(--mono);font-weight:700;font-size:22px;}

/* ---- Grids ---- */
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:920px){.g4{grid-template-columns:repeat(2,1fr);}.g3{grid-template-columns:1fr;}}
@media(max-width:680px){.g2,.g4{grid-template-columns:1fr;}}

/* ---- Feature cards ---- */
.feat{padding:26px;border-radius:22px;position:relative;overflow:hidden;}
.feat .ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:16px;color:var(--ink);}
.feat h3{font-size:17px;margin-bottom:8px;}
.feat p{font-size:13.5px;color:var(--mute);line-height:1.6;margin:0;}
.feat .pill{margin-top:14px;display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--blue-deep);background:color-mix(in oklab,var(--blue) 14%,transparent);padding:5px 10px;border-radius:8px;}

/* ---- Process / steps ---- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:820px){.steps{grid-template-columns:1fr;}}
.step{padding:28px;border-radius:22px;position:relative;}
.step .sn{font-family:var(--mono);font-size:52px;font-weight:700;line-height:1;letter-spacing:-.04em;
  background:linear-gradient(135deg,var(--green),var(--green-deep));-webkit-background-clip:text;background-clip:text;color:transparent;}
.step h3{font-size:18px;margin:14px 0 8px;}
.step p{font-size:13.5px;color:var(--mute);line-height:1.6;margin:0;}

/* ---- Pricing ---- */
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch;}
@media(max-width:920px){.prices{grid-template-columns:1fr;max-width:480px;margin:0 auto;}}
.price{padding:30px;border-radius:24px;display:flex;flex-direction:column;height:100%;}
.price.featured{border:1.5px solid color-mix(in oklab,var(--blue) 45%,transparent);
  box-shadow:0 24px 60px -30px var(--blue),inset 0 1px 0 rgba(255,255,255,.7);}
.price .rec{align-self:flex-start;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink);background:linear-gradient(120deg,var(--blue),var(--green));padding:5px 11px;border-radius:99px;margin-bottom:14px;font-weight:600;}
.price .name{font-size:15px;font-weight:600;color:var(--mute);}
.price .amt{font-size:46px;font-weight:700;letter-spacing:-.03em;margin:6px 0 2px;display:flex;align-items:baseline;gap:6px;}
.price .amt .cur{font-size:24px;color:var(--faint);font-weight:600;}
.price .per{font-size:12px;color:var(--faint);font-family:var(--mono);}
.price .desc{font-size:13px;color:var(--mute);line-height:1.55;margin:14px 0 18px;min-height:40px;}
.price ul{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-direction:column;gap:11px;flex:1;}
.price li{display:flex;gap:10px;font-size:13px;color:var(--ink);line-height:1.45;}
.price li .ar{color:var(--green-deep);font-weight:700;flex-shrink:0;}
.price .foot{font-size:11px;color:var(--faint);text-align:center;margin-top:12px;font-family:var(--mono);}

/* ---- Showcase (before/after tabs) ---- */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px;}
.tab{font-size:12.5px;font-weight:500;color:var(--mute);padding:9px 15px;border-radius:99px;cursor:pointer;
  background:rgba(255,255,255,.5);border:1px solid var(--hair-soft);transition:.25s;}
.tab:hover{color:var(--ink);}
.tab.active{color:var(--ink);background:linear-gradient(120deg,color-mix(in oklab,var(--blue) 22%,transparent),color-mix(in oklab,var(--green) 18%,transparent));border-color:color-mix(in oklab,var(--blue) 30%,transparent);}
.ba{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:stretch;}
.gem-slide[hidden]{display:none;}
@media(max-width:880px){.ba{grid-template-columns:1fr;}.ba .arrowcol{transform:rotate(90deg);justify-self:center;}}
.panel{padding:24px;border-radius:22px;display:flex;flex-direction:column;}
.panel .plabel{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.panel.before{background:rgba(22,22,15,.035);border:1px solid var(--hair-soft);}
.panel.before .plabel{color:var(--pink-deep);}
.panel.before .body{font-family:var(--mono);font-size:12.5px;color:var(--mute);line-height:1.7;white-space:pre-wrap;margin:0;}
.panel.after .plabel{color:var(--green-deep);}
.panel.after h4{margin:0 0 4px;font-size:16px;font-weight:600;}
.panel.after .meta{font-family:var(--mono);font-size:11px;color:var(--faint);margin-bottom:6px;}
.panel.after .blk{margin-top:12px;}
.panel.after .blk .bt{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--blue-deep);margin-bottom:4px;}
.panel.after .blk p{margin:0;font-size:13px;color:var(--ink);line-height:1.55;}
.panel.after .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.panel.after .row .t2{font-size:11px;font-family:var(--mono);background:color-mix(in oklab,var(--green) 14%,transparent);
  color:var(--green-deep);padding:4px 9px;border-radius:7px;}
.arrowcol{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;}
.arrowcol .lab{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);}
.arrowcol .circ{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:var(--ink);
  background:linear-gradient(135deg,var(--green-soft),var(--green));box-shadow:0 10px 24px -10px var(--green);font-size:20px;}

/* ---- FAQ ---- */
.faq{max-width:820px;margin:0 auto;}
.qa{border:1px solid var(--hair-soft);border-radius:16px;margin-bottom:10px;overflow:hidden;background:rgba(255,255,255,.5);}
.qa summary{list-style:none;cursor:pointer;padding:20px 22px;font-size:15.5px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.qa summary::-webkit-details-marker{display:none;}
.qa summary .pm{width:24px;height:24px;flex-shrink:0;border-radius:7px;border:1px solid var(--hairline);display:grid;place-items:center;color:var(--blue-deep);transition:.3s;font-size:16px;}
.qa[open] summary .pm{transform:rotate(45deg);background:color-mix(in oklab,var(--blue) 14%,transparent);}
.qa .ans{padding:0 22px 22px;font-size:14px;color:var(--mute);line-height:1.65;}

/* ---- CTA band + footer ---- */
.ctaband{border-radius:30px;padding:56px 40px;text-align:center;position:relative;overflow:hidden;}
.ctaband .blobx{position:absolute;width:340px;height:340px;border-radius:50%;filter:blur(90px);opacity:.4;pointer-events:none;}
footer{border-top:1px solid var(--hair-soft);padding:56px 0 40px;margin-top:40px;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px;}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;gap:24px;}}
.foot-col h5{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin:0 0 14px;}
.foot-col a{display:block;font-size:13.5px;color:var(--mute);padding:5px 0;transition:color .2s;}
.foot-col a:hover{color:var(--ink);}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:center;text-align:center;gap:6px 22px;margin-top:40px;padding-top:24px;border-top:1px solid var(--hair-soft);
  font-size:12px;color:var(--faint);font-family:var(--mono);}

/* ---- Reveal (progressive: visible by default, armed-then-revealed by JS) ---- */
.reveal{transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal.armed{opacity:0;transform:translateY(22px);}
@media(prefers-reduced-motion:reduce){.reveal.armed{opacity:1;transform:none;}.blob,.marquee{animation:none;}}
