/* Layout: black ground that the logo sits flush on, condensed uppercase heads spanning the full measure,
   hexagon geometry (60 degree cuts) borrowed from the mark, red used only for action and emphasis. */
@font-face{font-family:"Barlow";font-weight:400;font-style:normal;font-display:swap;src:url("/assets/fonts/barlow-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Barlow";font-weight:500;font-style:normal;font-display:swap;src:url("/assets/fonts/barlow-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Barlow";font-weight:600;font-style:normal;font-display:swap;src:url("/assets/fonts/barlow-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"JetBrains Mono";font-weight:400;font-style:normal;font-display:swap;src:url("/assets/fonts/jetbrains-mono-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"JetBrains Mono";font-weight:700;font-style:normal;font-display:swap;src:url("/assets/fonts/jetbrains-mono-latin-700-normal.woff2") format("woff2")}

:root{
  color-scheme:dark;
  --black:#000000;          /* matches the logo ground exactly */
  --panel:#0e0c0d;          /* raised surface, warm bias toward the red */
  --panel-2:#171314;
  --line:#2b2426;
  --red:#ff002b;            /* sampled from the mark */
  --red-deep:#b8001f;
  --white:#ffffff;
  --text:#ece7e8;
  --muted:#a89fa2;
  --display:"Barlow Condensed","Arial Narrow","Roboto Condensed",Impact,sans-serif;
  --body:"Barlow","Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --gutter:clamp(20px,4.5vw,64px);
  --max:1240px;
  --section:clamp(56px,8vw,112px);
  --cut:18px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--black);color:var(--text);font-family:var(--body);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--white);text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:4px}
a:hover{color:var(--red)}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--red);color:var(--white);padding:12px 18px;z-index:100;font-weight:600}
.skip:focus{left:var(--gutter);top:12px}

/* Header: full width, padded sides */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;width:100%;background:var(--black);border-bottom:1px solid var(--line)}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px var(--gutter);width:100%}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--white)}
.brand img{width:52px;height:52px}
.brand span{font-family:var(--display);font-weight:800;font-size:1.7rem;letter-spacing:.06em;text-transform:uppercase;line-height:1}
.nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px)}
.nav a{font-family:var(--display);font-weight:600;font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--text);padding:8px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{color:var(--white);border-bottom-color:var(--red)}
.nav .btn{padding:10px 20px;border-bottom:0}
.nav-toggle{display:none;background:none;border:1px solid var(--line);color:var(--white);font-family:var(--display);font-weight:600;font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase;padding:10px 16px;cursor:pointer}
@media (max-width:1120px){
  .nav-toggle{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--black);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gutter) 24px}
  .nav.open{display:flex}
  .nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:1.3rem}
  .nav .btn{margin-top:18px;text-align:center;border-bottom:0}
}

/* Buttons with the hexagon corner cut */
.btn{display:inline-block;font-family:var(--display);font-weight:800;font-size:1.2rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--white);background:var(--red);padding:14px 28px;clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));--cut:12px;transition:background .15s}
.btn:hover{background:var(--white);color:var(--black)}
.btn.ghost{background:var(--panel-2);color:var(--white)}
.btn.ghost:hover{background:var(--white);color:var(--black)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}

/* Sections */
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section)}
.section.alt{background:var(--panel);border-block:1px solid var(--line)}
.stack{display:flex;flex-direction:column;gap:clamp(20px,2.4vw,32px)}
.stack-lg{display:flex;flex-direction:column;gap:clamp(32px,4.5vw,56px)}
h1,h2,h3{font-family:var(--display);font-weight:800;text-transform:uppercase;color:var(--white);margin:0;text-wrap:balance;line-height:.98;letter-spacing:.01em}
h1{font-size:clamp(2.9rem,7.4vw,6.4rem)}
h2{font-size:clamp(2.2rem,4.8vw,3.9rem)}
h3{font-size:clamp(1.45rem,2.2vw,1.8rem);line-height:1.08;letter-spacing:.03em}
h1 em,h2 em{font-style:normal;color:var(--red)}
p{margin:0}
.lead{font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.55;color:var(--text)}
.kicker{font-family:var(--mono);font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-weight:700}
.muted{color:var(--muted)}
.prose{display:flex;flex-direction:column;gap:18px}
.prose p,.prose li{max-width:none}
.prose ul{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:10px}
.prose li::marker{color:var(--red)}
.cols-text{columns:2;column-gap:clamp(32px,5vw,72px)}
.cols-text p{break-inside:avoid;margin-bottom:18px}
@media (max-width:820px){.cols-text{columns:1}}

/* Hero */
.hero{padding-block:clamp(40px,6vw,88px) clamp(48px,7vw,96px);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:clamp(24px,4vw,64px);align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:clamp(18px,2.2vw,28px);min-width:0}
.hero-mark{width:100%;max-width:520px;justify-self:center}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-mark{max-width:300px;order:-1;justify-self:start;margin-left:-28px}}
.page-hero{padding-block:clamp(40px,6vw,80px);border-bottom:1px solid var(--line)}
.crumbs{font-family:var(--mono);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--red)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--white)}

/* Metrics */
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.metric{background:var(--black);padding:clamp(20px,3vw,36px);display:flex;flex-direction:column;gap:8px;min-width:0}
.section.alt .metric{background:var(--panel)}
.metric b{font-family:var(--display);font-weight:800;font-size:clamp(3rem,6.2vw,5.2rem);line-height:.9;color:var(--white);font-variant-numeric:tabular-nums}
.metric b i{font-style:normal;color:var(--red);font-size:.6em;margin-left:2px}
.metric>span{font-family:var(--mono);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);line-height:1.5}
@media (max-width:860px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
.live-note{font-family:var(--mono);font-size:.82rem;color:var(--muted);letter-spacing:.04em}
.dot{display:inline-block;width:9px;height:9px;background:var(--red);margin-right:8px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}

/* Grids of cards: counts are chosen so every row fills */
.grid{display:grid;gap:clamp(16px,2vw,24px)}
.grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){.grid.c3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.grid.c2,.grid.c3{grid-template-columns:1fr}}
.card{background:var(--panel);border:1px solid var(--line);padding:clamp(22px,2.6vw,34px);display:flex;flex-direction:column;gap:14px;min-width:0;clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}
.section.alt .card{background:var(--black)}
.card .tag,.steps .tag{font-family:var(--mono);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-weight:700}
.card p{color:var(--text)}
a.card{text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
a.card:hover{border-color:var(--red);transform:translateY(-3px)}
a.card .go{font-family:var(--display);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-top:auto}

/* Rules list (the code) */
.rules{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.rules li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(16px,4vw,56px);padding-block:clamp(22px,3vw,36px);border-bottom:1px solid var(--line);align-items:start}
.rules h3{font-size:clamp(1.6rem,2.8vw,2.3rem)}
.rules h3 s{color:var(--red);text-decoration-thickness:3px}
@media (max-width:760px){.rules li{grid-template-columns:1fr;gap:10px}}

/* Steps (a real sequence, so numbered) */
.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.steps li{counter-increment:s;background:var(--panel);border:1px solid var(--line);padding:clamp(22px,2.6vw,32px);display:flex;flex-direction:column;gap:12px;min-width:0}
.section.alt .steps li{background:var(--black)}
.steps li::before{content:"0" counter(s);font-family:var(--display);font-weight:800;font-size:3rem;line-height:.9;color:var(--red)}
@media (max-width:980px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.steps{grid-template-columns:1fr}}

/* Timeline */
.timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--red);display:flex;flex-direction:column;gap:clamp(22px,3vw,34px)}
.timeline li{padding-left:clamp(20px,3vw,36px);position:relative;display:grid;grid-template-columns:minmax(0,170px) minmax(0,1fr);gap:8px 28px}
.timeline li::before{content:"";position:absolute;left:-9px;top:6px;width:16px;height:16px;background:var(--red);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.timeline time{font-family:var(--mono);font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:4px}
.timeline div{display:flex;flex-direction:column;gap:6px}
@media (max-width:680px){.timeline li{grid-template-columns:1fr}}

/* Facts table */
.facts{width:100%;border-collapse:collapse;font-size:1rem}
.facts th,.facts td{text-align:left;padding:14px 16px 14px 0;border-bottom:1px solid var(--line);vertical-align:top}
.facts th{font-family:var(--mono);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:400;width:32%}
.facts td{color:var(--white);overflow-wrap:anywhere}
.mono{font-family:var(--mono);font-size:.92em;overflow-wrap:anywhere}
.table-scroll{overflow-x:auto}

/* FAQ */
.faq{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:22px 44px 22px 0;position:relative;font-family:var(--display);font-weight:800;font-size:clamp(1.35rem,2.2vw,1.75rem);text-transform:uppercase;letter-spacing:.03em;color:var(--white);line-height:1.1}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);color:var(--red);font-size:2rem;font-weight:600}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding-bottom:24px}

/* Call to action band */
.cta{background:var(--red);color:var(--white)}
.cta h2{color:var(--white)}
.cta p{color:var(--white)}
.cta .wrap{display:flex;flex-direction:column;gap:22px;padding-block:clamp(48px,7vw,88px)}
.cta .btn{background:var(--black)}
.cta .btn:hover{background:var(--white);color:var(--black)}
.cta .btn.ghost{background:var(--red-deep)}
.cta a:not(.btn){color:var(--white);text-decoration-color:var(--white)}
.cta :focus-visible{outline-color:var(--white)}

.notice{border:1px solid var(--line);border-left:4px solid var(--red);background:var(--panel);padding:clamp(18px,2.4vw,28px);display:flex;flex-direction:column;gap:10px}
.section.alt .notice{background:var(--black)}
.linklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.linklist li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;padding:18px 0;border-bottom:1px solid var(--line)}
.linklist span{font-family:var(--mono);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.linklist a{font-weight:600;overflow-wrap:anywhere}

/* Footer: full width, padded sides */
.site-footer{width:100%;background:var(--black);border-top:1px solid var(--line)}
.footer-in{width:100%;padding:clamp(40px,5vw,64px) var(--gutter) 28px;display:flex;flex-direction:column;gap:clamp(28px,4vw,44px)}
.footer-top{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px)}
.footer-brand{display:flex;flex-direction:column;gap:16px;min-width:0}
.footer-brand img{width:150px;height:150px;margin-left:-18px}
.footer-col{display:flex;flex-direction:column;gap:12px;min-width:0}
.footer-col h2{font-size:1.2rem;letter-spacing:.1em;color:var(--red)}
.footer-col a{text-decoration:none;color:var(--text)}
.footer-col a:hover{color:var(--red)}
.footer-legal{border-top:1px solid var(--line);padding-top:22px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:14px clamp(24px,4vw,56px);align-items:start;font-size:.92rem;color:var(--muted)}
.footer-legal p:last-child{text-align:right;white-space:nowrap}
@media (max-width:900px){.footer-legal{grid-template-columns:1fr}.footer-legal p:last-child{text-align:left;white-space:normal}}
@media (max-width:900px){.footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-brand{grid-column:1/-1}}
@media (max-width:520px){.footer-top{grid-template-columns:1fr}}

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

/* Animated hero backgrounds: canvas at the back, legibility overlay above it, content on top */
.hero,.page-hero{position:relative;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;z-index:-2;display:block;pointer-events:none}
.hero::before,.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0) 55%,var(--black) 100%),linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.8) 42%,rgba(0,0,0,.38) 100%)}
.hero-mark{mix-blend-mode:lighten}
.hero h1,.page-hero h1,.hero .lead,.page-hero .lead{text-shadow:0 2px 18px rgba(0,0,0,.9)}
@media (max-width:900px){.hero::before,.page-hero::before{background:linear-gradient(180deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.82) 70%,var(--black) 100%)}}
/* Hero buttons stay on one line on desktop */
.btn{white-space:nowrap}
@media (min-width:901px){
  .hero-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr)}
  .hero .btn-row{flex-wrap:nowrap;gap:12px}
  .hero .btn-row .btn{padding:14px clamp(14px,1.5vw,22px);font-size:clamp(.95rem,1.25vw,1.15rem)}
}
/* CTA band: centered, dark ground with a red glow instead of a solid red block */
.cta{background:radial-gradient(60% 120% at 50% 100%,rgba(255,0,43,.28) 0%,rgba(255,0,43,.08) 45%,rgba(0,0,0,0) 75%),var(--panel);border-top:2px solid var(--red);border-bottom:1px solid var(--line);text-align:center}
.cta .wrap{align-items:center}
.cta h2 em{color:var(--red)}
.cta p{color:var(--text);text-wrap:balance}
.cta .btn-row{justify-content:center}
.cta .btn{background:var(--red)}
.cta .btn:hover{background:var(--white);color:var(--black)}
.cta .btn.ghost{background:var(--panel-2);border:0}
.cta .btn.ghost:hover{background:var(--white);color:var(--black)}
.cta :focus-visible{outline-color:var(--red)}
/* Palette pass: red is reserved for the logo and the primary button. Everything else that was red uses ice blue. */
:root{--accent:#8ad8ec;--accent-dim:rgba(138,216,236,.16)}
h1 em,h2 em,.cta h2 em{color:var(--accent)}
.kicker,.card .tag,.steps .tag,.metric b i,a.card .go,.footer-col h2,.faq summary::after,.steps li::before{color:var(--accent)}
.prose li::marker,.crumbs li+li::before{color:var(--accent)}
.dot,.timeline li::before{background:var(--accent)}
.timeline{border-left-color:var(--accent)}
.notice{border-left-color:var(--accent)}
a{text-decoration-color:var(--accent)}
a:hover{color:var(--accent)}
.nav a:hover,.nav a[aria-current="page"]{border-bottom-color:var(--accent)}
a.card:hover{border-color:var(--accent)}
.footer-col a:hover{color:var(--accent)}
:focus-visible,.cta :focus-visible{outline-color:var(--accent)}
.rules h3 s{color:var(--accent)}
/* Buttons: hover keeps readable text everywhere, including the header button */
.btn:hover,.nav .btn:hover,.cta .btn:hover,.btn.ghost:hover,.cta .btn.ghost:hover{background:var(--white);color:var(--black)}
.nav .btn,.nav .btn:hover{border-bottom:0}
.btn.ghost,.cta .btn.ghost{background:var(--panel-2);color:var(--white)}
.cta{background:radial-gradient(60% 120% at 50% 100%,var(--accent-dim) 0%,rgba(138,216,236,.04) 45%,rgba(0,0,0,0) 75%),var(--panel);border-top:1px solid var(--line)}

.footer-col.two{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;align-content:start}
.footer-col.two h2{grid-column:1/-1}

/* Mobile menu: hamburger icon and a clean full width dropdown */
.nav-toggle{width:48px;height:48px;padding:0;border:1px solid var(--line);background:var(--panel);align-items:center;justify-content:center;cursor:pointer}
.nav-toggle .bars{display:flex;flex-direction:column;gap:6px;width:22px}
.nav-toggle .bars i{display:block;height:2px;width:100%;background:var(--white);transition:transform .2s,opacity .2s}
.nav-toggle.open .bars i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-toggle.open .bars i:nth-child(2){opacity:0}
.nav-toggle.open .bars i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media (max-width:1120px){
  .nav-toggle{display:flex}
  .nav{display:flex;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gutter) 28px;background:var(--black);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 24px 40px rgba(0,0,0,.6);max-height:calc(100vh - 80px);overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility 0s .2s}
  .nav.open{visibility:visible;opacity:1;transform:none;transition:opacity .2s,transform .2s}
  .nav a{display:block;padding:18px 0;font-size:1.35rem;letter-spacing:.06em;border-bottom:1px solid var(--line)}
  .nav a:hover,.nav a[aria-current="page"]{border-bottom-color:var(--line);color:var(--accent)}
  .nav .btn{margin-top:22px;padding:16px 20px;text-align:center;font-size:1.25rem;border-bottom:0}
}

/* Header button text is pure white */
.nav .btn,.btn{color:var(--white)}
.btn:hover,.nav .btn:hover,.cta .btn:hover,.btn.ghost:hover,.cta .btn.ghost:hover{color:var(--black)}

/* Display face: Oswald */
@font-face{font-family:"Oswald";font-weight:500;font-style:normal;font-display:block;src:url("/assets/fonts/oswald-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Oswald";font-weight:600;font-style:normal;font-display:block;src:url("/assets/fonts/oswald-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Oswald";font-weight:700;font-style:normal;font-display:block;src:url("/assets/fonts/oswald-latin-700-normal.woff2") format("woff2")}
:root{--display:"Oswald","Arial Narrow","Roboto Condensed",Impact,sans-serif}
h1,h2,h3,.btn,.metric b,.steps li::before,.faq summary,.brand span{font-weight:700}
h1{font-size:clamp(2.4rem,5.8vw,5rem);line-height:1.04;letter-spacing:0}
h2{font-size:clamp(1.9rem,3.9vw,3.2rem);line-height:1.08;letter-spacing:0}
h3{font-size:clamp(1.25rem,1.8vw,1.5rem);line-height:1.15;letter-spacing:.02em}
.rules h3{font-size:clamp(1.4rem,2.3vw,1.9rem)}
.faq summary{font-size:clamp(1.15rem,1.8vw,1.45rem);letter-spacing:.02em;line-height:1.2}
.brand span{font-size:1.5rem;letter-spacing:.05em}
.nav a{font-weight:500;font-size:1rem;letter-spacing:.07em}
.btn{font-size:1.02rem;letter-spacing:.07em}
.metric b{font-size:clamp(2.6rem,5.2vw,4.4rem);line-height:1}
.footer-col h2{font-size:1.05rem;line-height:1.2}
@media (min-width:901px){.hero .btn-row .btn{font-size:clamp(.85rem,1.05vw,1rem)}}
@media (max-width:1120px){.nav a{font-size:1.2rem}.nav .btn{font-size:1.1rem}}
/* Digital roll out for headings */
.roll-scr{color:var(--accent);font-family:var(--mono);font-weight:700;font-size:.82em}
.roll-rest{visibility:hidden}
.roll-cur{display:inline-block;width:.5em;height:.82em;margin-left:.06em;background:var(--accent);vertical-align:baseline;animation:rollblink .5s steps(1) infinite}
@keyframes rollblink{50%{opacity:0}}

.steps .tag{font-family:var(--mono);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}

/* Token status block */
.status{border:1px solid var(--accent);background:var(--panel);padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;gap:10px;text-align:center;align-items:center}
.section.alt .status{background:var(--black)}
.status-label{font-family:var(--mono);font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700}
.status-value{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(2rem,5.5vw,4rem);line-height:1.05;color:var(--white);overflow-wrap:anywhere}
@media (max-width:1280px){.nav a{letter-spacing:.05em}.nav{gap:clamp(10px,1.4vw,22px)}}

/* Footer bottom: one centered column */
.footer-legal{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.footer-legal p,.footer-legal p:last-child{text-align:center;white-space:normal;max-width:none;text-wrap:balance}

/* Footer: social icons, tidy columns, bottom note spans the full rule */
.footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);align-items:start}
.footer-brand{gap:18px}
.socials{display:flex;gap:12px}
.social{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line);background:var(--panel);color:var(--white);text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.social:hover{background:var(--white);color:var(--black);border-color:var(--white)}
.footer-col a{padding-block:2px}
.footer-legal{display:block;text-align:left}
.footer-legal p,.footer-legal p:last-child{display:block;width:100%;max-width:none;text-align:justify;text-align-last:left;text-wrap:wrap;white-space:normal;margin:0}
.footer-legal p+p{margin-top:12px}
@media (max-width:900px){.footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-brand{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}.footer-legal p{text-align:left}}
@media (max-width:520px){.footer-top{grid-template-columns:1fr}}
.prose h2{font-size:clamp(1.3rem,2vw,1.6rem);margin-top:14px}

/* Digital roll out without layout shift: characters hold their final positions, the scramble glyph is an overlay */
.rw{display:inline-block;white-space:nowrap}
.rc{position:relative;display:inline-block}
.rc.h,.rc.s{color:transparent!important}
.rc.s::after{content:attr(data-g);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--accent);font-family:var(--mono);font-weight:700;font-size:.72em;line-height:1}
.rc.c::before{content:"";position:absolute;left:100%;top:18%;width:.32em;height:.7em;background:var(--accent)}

/* ===== Footer (single source of truth; replaces the earlier .site-footer rules) ===== */
.ft{width:100%;background:var(--black);border-top:1px solid var(--line)}
.ft-in{width:100%;padding:clamp(44px,5vw,72px) var(--gutter) 28px;display:flex;flex-direction:column;gap:clamp(32px,4vw,48px)}
.ft-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,72px);align-items:start}
.ft-brand{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.ft-logo{display:block;margin:-14px 0 0 -16px}
.ft-logo img{width:132px;height:132px;display:block}
.ft-social{display:flex;gap:12px}
.ft-social a{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border:1px solid var(--line);background:var(--panel-2);color:var(--white);transition:background .15s,color .15s,border-color .15s}
.ft-social a:hover{background:var(--white);color:var(--black);border-color:var(--white)}
.ft-social svg{width:20px;height:20px;display:block}
.ft-col{display:flex;flex-direction:column;gap:18px;min-width:0}
.ft-col h2{font-family:var(--display);font-weight:600;font-size:1rem;letter-spacing:.14em;line-height:1.2;color:var(--accent);text-transform:uppercase}
.ft-links{display:grid;grid-template-columns:1fr;gap:12px 32px}
.ft-links.ft-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ft-links a{color:var(--text);text-decoration:none;font-size:1rem;line-height:1.4}
.ft-links a:hover{color:var(--accent)}
.ft-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;flex-direction:column;gap:10px;width:100%}
.ft-note,.ft-copy{width:100%;max-width:none;margin:0;font-size:.9rem;line-height:1.7;color:var(--muted)}
.ft-note{text-align:justify}
@media (max-width:980px){
  .ft-top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ft-brand{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}
  .ft-col:nth-of-type(1){grid-column:1/-1}
  .ft-note{text-align:left}
}
@media (max-width:520px){.ft-links.ft-two{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Made in USA badge and page block */
.ft-base{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.usa{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid var(--line);background:var(--panel-2);color:var(--white);text-decoration:none;font-family:var(--display);font-weight:600;font-size:.88rem;letter-spacing:.12em;text-transform:uppercase;line-height:1}
.usa:hover{border-color:var(--white);color:var(--white)}
.usa svg{width:30px;height:16px;display:block;flex:none}
.usa-block{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.flag-lg{width:clamp(140px,18vw,220px);height:auto;display:block;box-shadow:0 0 0 1px var(--line)}
@media (max-width:700px){.usa-block{grid-template-columns:1fr}}

.ft-base .ft-copy{width:auto;flex:1 1 auto}

/* Hero logo floats gently (the logo file itself is untouched) */
@keyframes cf-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
.hero-mark{animation:cf-float 6s ease-in-out infinite;will-change:transform}
@media (prefers-reduced-motion:reduce){.hero-mark{animation:none}}

/* ===== Phones: center everything, stack buttons centered at their natural width (matches the CTA) ===== */
@media (max-width:760px){
  .hero-grid{justify-items:center;text-align:center}
  .hero-copy{align-items:center}
  .hero-mark{justify-self:center;margin:0 auto;max-width:240px}
  .stack,.stack-lg,.cols-text,.live-note{text-align:center}
  .crumbs{justify-content:center}
  .card,.steps li,.metric{text-align:center;align-items:center}
  .rules li{text-align:center}
  .timeline{border-left:0;gap:28px}
  .timeline li{padding-left:0;text-align:center;justify-items:center}
  .timeline li::before{position:static;display:block;margin:0 auto 4px}
  .notice{border-left:1px solid var(--line);border-top:4px solid var(--accent);text-align:center}
  .linklist li{flex-direction:column;align-items:center;text-align:center}
  .usa-block{justify-items:center;text-align:center}
  .faq,.facts{text-align:left}
  .btn-row,.hero .btn-row,.cta .btn-row{flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center;width:100%;gap:14px}
  .btn-row .btn,.hero .btn-row .btn{max-width:100%;text-align:center;white-space:normal;padding:16px 32px;font-size:1.05rem}
  .ft-brand{flex-direction:column;align-items:center;justify-content:center}
  .ft-logo{margin:0}
  .ft-col{align-items:center;text-align:center}
  .ft-links{justify-items:center}
  .ft-note{text-align:center}
  .ft-base{flex-direction:column;justify-content:center;text-align:center}
}
