/* ==========================================================================
   topone.fun — main.css  ("Ruby" theme, shared chrome + component layer)
   Mobile-first. Breakpoints: 40em (640) · 48em (768) · 64em (1024) · 80em (1280)
   ========================================================================== */

/* ── base ──────────────────────────────────────────────────────────────── */
html{background:var(--color-bg)}
body{background:var(--color-bg);color:var(--text-2);font-size:var(--fs-md);line-height:var(--lh-body);overflow-x:clip;padding-bottom:var(--dock-h)}
@media (min-width:64em){body{padding-bottom:0}}
h1,h2,h3,h4{color:var(--text-1);line-height:var(--lh-tight)}
h1{font-size:var(--fs-3xl)}
h2{font-size:var(--fs-2xl);margin-bottom:var(--space-4)}
h3{font-size:var(--fs-xl);margin-bottom:var(--space-3)}
h4{font-size:var(--fs-lg);margin-bottom:var(--space-2)}
p{margin-bottom:var(--space-4);max-width:var(--measure)}
p:last-child{margin-bottom:0}
a{color:var(--gold-400);text-decoration-thickness:1px;text-underline-offset:.18em;transition:color var(--dur-fast)}
a:hover{color:var(--gold-200)}
strong{color:var(--text-1);font-weight:600}
small,.small{font-size:var(--fs-sm)}
ul,ol{padding-left:1.25rem;margin-bottom:var(--space-4)}
li{margin-bottom:var(--space-2)}
li::marker{color:var(--gold-500)}
hr{border:0;height:1px;background:var(--color-border);margin:var(--space-8) 0}
::selection{background:var(--scarlet-600);color:var(--cream-50)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.foil{background:var(--color-foil);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.foil-red{background:var(--color-foil-red);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
@supports not (-webkit-background-clip:text){.foil{color:var(--gold-400)}.foil-red{color:var(--scarlet-300)}}

/* ── layout ────────────────────────────────────────────────────────────── */
.wrap{width:100%;max-width:var(--wrap-max);margin-inline:auto;padding-inline:var(--gutter)}
.wrap--narrow{max-width:52rem}
.wrap--wide{max-width:88rem}
.band{position:relative;padding-block:var(--space-10)}
.band--alt{background:var(--color-bg-alt)}
.band--deep{background:var(--color-surface)}
/* diagonal edges between alternating bands (≈3.5°) */
.band--alt,.band--deep{clip-path:polygon(0 0,100% var(--cut),100% 100%,0 calc(100% - var(--cut)));padding-block:calc(var(--space-10) + var(--cut));margin-block:calc(var(--cut) * -1)}
.band--alt.band--flat-top,.band--deep.band--flat-top{clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - var(--cut)))}
@media (min-width:48em){.band{padding-block:var(--space-11)}.band--alt,.band--deep{padding-block:calc(var(--space-11) + var(--cut))}}
.band__head{max-width:46rem;margin-bottom:var(--space-8)}
.band__head--center{margin-inline:auto;text-align:center}
.band__head--center p{margin-inline:auto}
.ribbon{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--cream-50);background:var(--scarlet-600);padding:.3rem .9rem .3rem .75rem;margin-bottom:var(--space-4);clip-path:polygon(0 0,100% 0,calc(100% - .55rem) 50%,100% 100%,0 100%);position:relative}
.ribbon::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--gold-400);box-shadow:0 0 8px var(--gold-400)}
.lede{font-size:var(--fs-lg);color:var(--text-3)}
.grid{display:grid;gap:var(--space-5)}
.grid--2{grid-template-columns:1fr}
.grid--3{grid-template-columns:1fr}
.grid--4{grid-template-columns:1fr 1fr}
@media (min-width:40em){.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(2,1fr)}}
@media (min-width:64em){.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}}
.split{display:grid;gap:var(--space-8);align-items:center}
.grid>*,.split>*,.facts>*,.howto>*,.dl-hero>*,.gd>*,.contact>*,.wallet>*,.ladder>*,.guide>*,.legal-layout>*,.vs>*,.safety>*,.install-steps>*,.catex>*,.pillars>*{min-width:0}
@media (min-width:64em){.split{grid-template-columns:1.1fr .9fr}.split--rev>:first-child{order:2}}
.prose{max-width:var(--measure)}
.prose h2{margin-top:var(--space-9)}
.prose h3{margin-top:var(--space-7)}
.prose h2:first-child{margin-top:0}
.prose ul,.prose ol{max-width:var(--measure)}

/* ── skip link ─────────────────────────────────────────────────────────── */
.skiplink{position:absolute;left:var(--space-4);top:-100%;z-index:var(--z-toast);background:var(--gold-500);color:var(--text-on-cta);padding:.75rem 1.25rem;border-radius:0 0 var(--radius-md) var(--radius-md);font-weight:700;text-decoration:none;transition:top var(--dur-fast)}
.skiplink:focus{top:0}

/* ── buttons (.act) ────────────────────────────────────────────────────── */
.act{--h:2.85rem;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:var(--h);padding:.55rem 1.35rem;border-radius:var(--radius-md);font-family:var(--font-display);font-size:var(--fs-md);font-weight:600;letter-spacing:var(--track-wide);text-transform:uppercase;text-decoration:none;line-height:1.1;white-space:nowrap;border:2px solid transparent;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast),box-shadow var(--dur-base);cursor:pointer;user-select:none}
.act:active{transform:translateY(1px)}
.act svg{width:1.15em;height:1.15em;flex:none}
.act--gold{background:var(--color-cta);color:var(--text-on-cta);border-color:var(--gold-400);box-shadow:0 2px 0 var(--gold-700),var(--shadow-1)}
.act--gold:hover{background:var(--color-cta-hover);color:var(--text-on-cta);box-shadow:0 2px 0 var(--gold-700),var(--glow-gold)}
.act--scarlet{background:transparent;color:var(--cream-50);border-color:var(--scarlet-500)}
.act--scarlet:hover{background:var(--color-fill-scarlet);color:var(--cream-50);border-color:var(--scarlet-500);box-shadow:var(--glow-scarlet)}
.act--ghost{background:transparent;color:var(--cream-100);padding-inline:.9rem;border-color:transparent;position:relative}
.act--ghost::after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:.35rem;height:2px;background:var(--gold-500);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-out)}
.act--ghost:hover{color:var(--cream-50)}
.act--ghost:hover::after{transform:scaleX(1)}
.act--tg{background:#1c3a54;color:#e8f4ff;border-color:#2c5f86}
.act--tg:hover{background:#245079;color:#fff}
.act--lg{--h:3.35rem;font-size:var(--fs-lg);padding-inline:1.75rem}
.act--sm{--h:2.5rem;font-size:var(--fs-sm);padding-inline:1rem}
.act--block{width:100%}
.act-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}
@media (max-width:26em){.act-row .act{flex:1 1 100%}}
@media (max-width:40em){.act{white-space:normal;text-align:center;max-width:100%}}

/* ── topbar (sticky header) ─────────────────────────────────────────────── */
.topbar{position:sticky;top:0;z-index:var(--z-sticky);background:var(--color-glass);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--color-border);transition:box-shadow var(--dur-base),background var(--dur-base)}
.topbar.is-stuck{background:rgba(26,7,13,.92);box-shadow:var(--shadow-2)}
.topbar__inner{display:flex;align-items:center;gap:var(--space-4);min-height:var(--topbar-h)}
.topbar__brand{display:inline-flex;align-items:center;flex:none;line-height:0}
.topbar__brand img{width:auto;height:2.25rem;border-radius:.3rem;mix-blend-mode:screen}
@media (min-width:48em){.topbar__brand img{height:2.6rem}}
.topbar__nav{display:none;margin-left:var(--space-4)}
.topbar__nav ul{display:flex;gap:.15rem;list-style:none;padding:0;margin:0}
.topbar__nav li{margin:0}
.topbar__nav a{display:inline-flex;align-items:center;min-height:2.75rem;padding:.4rem .8rem;color:var(--cream-100);text-decoration:none;font-weight:500;font-size:var(--fs-sm);border-radius:var(--radius-sm);position:relative}
.topbar__nav a::after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.35rem;height:2px;background:var(--gold-500);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-out)}
.topbar__nav a:hover::after,.topbar__nav a[aria-current=page]::after{transform:scaleX(1)}
.topbar__nav a[aria-current=page]{color:var(--gold-200)}
.topbar__acts{display:none;margin-left:auto;gap:var(--space-2)}
.topbar__burger{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);color:var(--cream-50);background:var(--color-surface)}
.topbar__burger span{position:relative;width:1.25rem;height:2px;background:currentColor;border-radius:2px;transition:background var(--dur-fast)}
.topbar__burger span::before,.topbar__burger span::after{content:"";position:absolute;left:0;width:100%;height:2px;background:currentColor;border-radius:2px;transition:transform var(--dur-base) var(--ease-out)}
.topbar__burger span::before{top:-6px}.topbar__burger span::after{top:6px}
.topbar__burger[aria-expanded=true] span{background:transparent}
.topbar__burger[aria-expanded=true] span::before{transform:translateY(6px) rotate(45deg)}
.topbar__burger[aria-expanded=true] span::after{transform:translateY(-6px) rotate(-45deg)}
@media (min-width:64em){.topbar__nav{display:block}.topbar__acts{display:flex}.topbar__burger{display:none}}

/* ── drawer (mobile off-canvas) ─────────────────────────────────────────── */
.drawer{position:fixed;inset:0;z-index:var(--z-drawer);visibility:hidden;pointer-events:none}
.drawer[data-open=true]{visibility:visible;pointer-events:auto}
.drawer__veil{position:absolute;inset:0;background:rgba(10,3,6,.72);opacity:0;transition:opacity var(--dur-base)}
.drawer[data-open=true] .drawer__veil{opacity:1}
.drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(86vw,22rem);background:var(--garnet-900);border-left:1px solid var(--color-border-strong);box-shadow:var(--shadow-3);display:flex;flex-direction:column;padding:var(--space-5);transform:translateX(100%);transition:transform var(--dur-base) var(--ease-out);overflow-y:auto}
.drawer[data-open=true] .drawer__panel{transform:none}
.drawer__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}
.drawer__top img{height:2rem;width:auto;border-radius:.3rem;mix-blend-mode:screen}
.drawer__close{width:2.75rem;height:2.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);color:var(--cream-50);font-size:1.5rem;line-height:1}
.drawer__nav ul{list-style:none;padding:0;margin:0 0 var(--space-6)}
.drawer__nav li{margin:0;border-bottom:1px solid var(--color-border)}
.drawer__nav a{display:flex;align-items:center;min-height:3.25rem;padding:.6rem .25rem;color:var(--cream-50);text-decoration:none;font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:.04em;text-transform:uppercase}
.drawer__nav a[aria-current=page]{color:var(--gold-400)}
.drawer__acts{display:grid;gap:var(--space-3);margin-top:auto}
.drawer__note{margin-top:var(--space-5);font-size:var(--fs-xs);color:var(--text-4)}
body.drawer-open{overflow:hidden}

/* ── dockbar (mobile sticky bottom) ────────────────────────────────────── */
.dockbar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-dock);display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.5rem var(--space-3) calc(.5rem + env(safe-area-inset-bottom));background:rgba(26,7,13,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--color-border-strong)}
.dockbar .act{--h:2.75rem;font-size:var(--fs-sm);padding-inline:.75rem}
@media (min-width:64em){.dockbar{display:none}}

/* ── ticket-stub cards ─────────────────────────────────────────────────── */
.stub{--stub-bg:var(--color-surface);position:relative;background:var(--stub-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-6) var(--space-6) calc(var(--space-6) + .5rem);box-shadow:var(--shadow-1);transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base),box-shadow var(--dur-base);overflow:visible;isolation:isolate}
.stub::before{content:"";position:absolute;left:calc(var(--notch) * -1);top:50%;width:calc(var(--notch) * 2);height:calc(var(--notch) * 2);margin-top:calc(var(--notch) * -1);border-radius:50%;background:var(--color-bg);border:1px solid var(--color-border);box-shadow:inset -2px 0 0 rgba(0,0,0,.25);z-index:1}
.band--alt .stub::before{background:var(--color-bg-alt)}
.band--deep .stub::before{background:var(--color-surface)}
.stub::after{content:"";position:absolute;left:1.05rem;top:var(--space-5);bottom:var(--space-5);width:1px;background:repeating-linear-gradient(to bottom,var(--gold-600) 0 6px,transparent 6px 12px);opacity:.55}
.stub:hover,.stub:focus-within{transform:translateY(-4px);border-color:var(--color-border-strong);box-shadow:var(--shadow-2),var(--glow-gold)}
.stub__icon{width:3rem;height:3rem;display:grid;place-items:center;border-radius:var(--radius-md);background:linear-gradient(145deg,var(--garnet-700),var(--garnet-850));border:1px solid var(--color-border-strong);color:var(--gold-400);margin-bottom:var(--space-4);font-size:1.4rem}
.stub__icon svg{width:1.5rem;height:1.5rem}
.stub h3{font-size:var(--fs-lg);margin-bottom:var(--space-2)}
.stub p{font-size:var(--fs-sm);color:var(--text-3)}
.stub--link{text-decoration:none;color:inherit;display:block}
.stub--gold{--stub-bg:linear-gradient(160deg,var(--garnet-700),var(--garnet-850));border-color:var(--color-border-strong)}
.stub__meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:var(--space-4)}
.stub__more{display:inline-flex;align-items:center;gap:.35rem;margin-top:var(--space-4);font-weight:600;font-size:var(--fs-sm);color:var(--gold-400);text-decoration:none}
.stub__more::after{content:"→";transition:transform var(--dur-fast)}
.stub:hover .stub__more::after{transform:translateX(3px)}

/* ── chips & badges ────────────────────────────────────────────────────── */
.chip{display:inline-flex;align-items:center;gap:.35rem;min-height:2.25rem;padding:.3rem .85rem;border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);background:var(--color-surface-2);color:var(--cream-100);font-size:var(--fs-sm);font-weight:500;text-decoration:none;white-space:nowrap;transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast)}
.chip:hover{background:var(--garnet-700);border-color:var(--gold-500);color:var(--cream-50)}
.chip--stat{background:var(--color-glass);backdrop-filter:blur(8px);font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase}
.chip--stat b{color:var(--gold-400);font-size:1.05em}
.chip-cloud{display:flex;flex-wrap:wrap;gap:.5rem}
.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;border-radius:var(--radius-sm);font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.4}
.badge--gold{background:var(--gold-500);color:var(--text-on-cta)}
.badge--red{background:var(--scarlet-600);color:var(--cream-50)}
.badge--live{background:var(--scarlet-700);color:var(--cream-50);border:1px solid var(--color-live)}
.badge--live::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--color-live);box-shadow:0 0 6px var(--color-live);animation:pulse 1.6s infinite}
.badge--outline{border:1px solid var(--color-border-strong);color:var(--cream-300)}
.badge--mint{background:rgba(52,211,153,.14);color:var(--mint-400);border:1px solid rgba(52,211,153,.35)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.age18{display:inline-grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;border:2px solid var(--scarlet-400);color:var(--scarlet-300);font-family:var(--font-display);font-weight:700;font-size:.85rem;letter-spacing:0;flex:none}
.trust-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-top:var(--space-6)}
.trust{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--fs-sm);color:var(--cream-300)}
.trust svg{width:1.2rem;height:1.2rem;color:var(--gold-400)}

/* ── game tiles ────────────────────────────────────────────────────────── */
.tile{position:relative;display:block;border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface-2);border:1px solid var(--color-border);text-decoration:none;color:var(--cream-50);aspect-ratio:211/260;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base),border-color var(--dur-base);isolation:isolate}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out)}
.tile::after{content:"";position:absolute;inset:auto 0 0 0;height:58%;background:linear-gradient(to top,rgba(158,15,34,.92) 0%,rgba(158,15,34,.55) 45%,transparent 100%);pointer-events:none}
.tile__name{position:absolute;left:.6rem;right:.6rem;bottom:.55rem;z-index:2;font-family:var(--font-display);font-size:.95rem;line-height:1.15;letter-spacing:.03em;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.tile__cat{position:absolute;left:.6rem;bottom:2.1rem;z-index:2;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-200);opacity:.9}
.tile__tag{position:absolute;top:0;left:0;z-index:3;padding:.2rem .55rem .2rem .45rem;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;border-radius:0 0 var(--radius-sm) 0;clip-path:polygon(0 0,100% 0,calc(100% - .35rem) 100%,0 100%)}
.tile__tag--hot{background:var(--gold-500);color:var(--text-on-cta)}
.tile__tag--new{background:var(--scarlet-600);color:#fff}
.tile__tag--out{background:var(--garnet-700);color:var(--cream-300);border-right:1px solid var(--scarlet-500)}
.tile__tag--jackpot{background:var(--garnet-600);color:var(--gold-200);border-right:1px solid var(--gold-500)}
.tile__over{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:.75rem;text-align:center;background:rgba(18,5,10,.78);opacity:0;transition:opacity var(--dur-base);font-size:.78rem;color:var(--cream-100)}
.tile__over b{color:var(--gold-400);font-family:var(--font-display);font-size:1rem;letter-spacing:.04em}
.tile__over .act{margin-top:.5rem}
.tile:hover,.tile:focus-visible{transform:translateY(-4px) scale(1.01);border-color:var(--gold-500);box-shadow:var(--shadow-2),var(--glow-scarlet)}
.tile:hover img{transform:scale(1.06)}
.tile:hover .tile__over,.tile:focus-visible .tile__over,.tile:focus-within .tile__over{opacity:1}
.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:var(--space-3)}
@media (min-width:48em){.tile-grid{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:var(--space-4)}}
/* horizontal rows */
.row-block{margin-bottom:var(--space-9)}
.row-block:last-child{margin-bottom:0}
.row-block__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}
.row-block__head h3{margin:0;display:flex;align-items:center;gap:.6rem;font-size:var(--fs-xl)}
.row-block__head a{font-size:var(--fs-sm);font-weight:600;white-space:nowrap}
.scroller{position:relative}
.scroller__track{display:flex;gap:var(--space-3);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--garnet-600) transparent;padding:.25rem .25rem var(--space-3);-webkit-overflow-scrolling:touch}
.scroller__track>*{flex:0 0 clamp(8.5rem,38vw,11rem);scroll-snap-align:start}
.scroller__btn{position:absolute;top:calc(50% - 1.6rem);width:2.75rem;height:2.75rem;border-radius:50%;background:var(--garnet-800);border:1px solid var(--color-border-strong);color:var(--cream-50);display:none;place-items:center;z-index:2;box-shadow:var(--shadow-2)}
.scroller__btn:hover{background:var(--garnet-700);border-color:var(--gold-500)}
.scroller__btn--prev{left:-.6rem}.scroller__btn--next{right:-.6rem}
.scroller__btn svg{width:1.1rem;height:1.1rem}
@media (min-width:64em){.scroller__btn{display:grid}}

/* ── accordion ─────────────────────────────────────────────────────────── */
.acc{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}
.acc__item+.acc__item{border-top:1px solid var(--color-border)}
.acc__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%;min-height:3.5rem;padding:var(--space-4) var(--space-5);text-align:left;color:var(--cream-50);font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:.02em;transition:background var(--dur-fast)}
.acc__trigger:hover{background:var(--color-surface-2)}
.acc__trigger[aria-expanded=true]{color:var(--gold-400)}
.acc__mark{flex:none;width:1.75rem;height:1.75rem;border-radius:50%;border:1px solid var(--color-border-strong);display:grid;place-items:center;position:relative}
.acc__mark::before,.acc__mark::after{content:"";position:absolute;background:currentColor;transition:transform var(--dur-base) var(--ease-out)}
.acc__mark::before{width:.75rem;height:2px}.acc__mark::after{width:2px;height:.75rem}
.acc__trigger[aria-expanded=true] .acc__mark::after{transform:rotate(90deg)}
.acc__panel{padding:0 var(--space-5) var(--space-5);color:var(--text-3)}
.acc__panel[hidden]{display:none}
.acc__panel p{max-width:none}
.acc h3{margin:0;font-size:inherit;font-family:inherit}

/* ── numbered steps ────────────────────────────────────────────────────── */
.stepper{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-4);counter-reset:step}
.stepper li{margin:0;counter-increment:step;position:relative;padding:var(--space-5) var(--space-5) var(--space-5) 4.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}
.stepper li::before{content:counter(step,decimal-leading-zero);position:absolute;left:var(--space-5);top:var(--space-5);width:2.5rem;height:2.5rem;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--color-foil);color:var(--text-on-cta);font-family:var(--font-display);font-weight:700;font-size:1.05rem;box-shadow:var(--shadow-1)}
.stepper h3,.stepper h4{font-size:var(--fs-lg);margin-bottom:var(--space-2)}
.stepper p{font-size:var(--fs-sm);color:var(--text-3);max-width:none}
@media (min-width:48em){.stepper--row{grid-template-columns:repeat(3,1fr)}.stepper--row li{padding-top:4.5rem}.stepper--row li::before{top:var(--space-5);left:var(--space-5)}.stepper--row li{padding-left:var(--space-5)}}

/* ── tables ────────────────────────────────────────────────────────────── */
.tablewrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);margin-bottom:var(--space-6);-webkit-overflow-scrolling:touch}
.tablewrap table{width:100%;min-width:32rem;font-size:var(--fs-sm)}
.tablewrap--facts table,.compare table{min-width:0}
.tablewrap th,.tablewrap td{padding:.8rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border)}
.tablewrap th{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:var(--fs-xs);color:var(--gold-200);background:var(--color-surface-2)}
.tablewrap tr:last-child td{border-bottom:0}
.tablewrap tbody th{background:transparent;color:var(--cream-50);font-family:var(--font-body);text-transform:none;letter-spacing:0;font-size:var(--fs-sm);font-weight:600;white-space:nowrap}
.tablewrap--facts table{min-width:0}
.tablewrap--facts td{color:var(--text-3)}

/* ── breadcrumbs ───────────────────────────────────────────────────────── */
.crumbs{font-size:var(--fs-xs);color:var(--text-4);margin-bottom:var(--space-4)}
.crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.35rem}
.crumbs li{margin:0;display:inline-flex;align-items:center;gap:.35rem}
.crumbs li+li::before{content:"›";color:var(--gold-600)}
.crumbs a{color:var(--cream-300);text-decoration:none}
.crumbs a:hover{color:var(--gold-200)}
.crumbs [aria-current]{color:var(--cream-100)}

/* ── page hero (inner pages) ───────────────────────────────────────────── */
.pagehead{position:relative;padding-block:var(--space-8) var(--space-9);background:radial-gradient(60% 80% at 80% 0%,rgba(232,20,47,.28),transparent 60%),radial-gradient(40% 60% at 10% 100%,rgba(242,182,42,.08),transparent 60%),var(--color-bg-alt);border-bottom:1px solid var(--color-border);overflow:hidden}
.pagehead::after{content:"";position:absolute;inset:auto 0 -1px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-600),transparent)}
.pagehead h1{margin-bottom:var(--space-4)}
.pagehead .lede{max-width:52rem}
.pagehead__acts{margin-top:var(--space-6)}

/* ── CTA banner ────────────────────────────────────────────────────────── */
.ctaband{position:relative;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--color-border-strong);background:linear-gradient(120deg,var(--garnet-700) 0%,var(--scarlet-700) 55%,var(--garnet-800) 100%);padding:var(--space-8) var(--space-6);text-align:center;box-shadow:var(--shadow-3)}
.ctaband::before{content:"";position:absolute;inset:-40% -10% auto;height:80%;background:radial-gradient(closest-side,rgba(255,204,77,.22),transparent);pointer-events:none}
.ctaband h2{font-size:var(--fs-2xl);margin-bottom:var(--space-3)}
.ctaband p{margin-inline:auto;color:var(--cream-100)}
.ctaband .act-row{justify-content:center;margin-top:var(--space-6)}
.ctaband__fine{margin-top:var(--space-5);font-size:var(--fs-xs);color:var(--cream-300)}
@media (min-width:48em){.ctaband{padding:var(--space-10) var(--space-9)}}

/* ── callouts ──────────────────────────────────────────────────────────── */
.note{border-left:4px solid var(--gold-500);background:var(--color-surface);padding:var(--space-4) var(--space-5);border-radius:0 var(--radius-md) var(--radius-md) 0;margin-bottom:var(--space-6);font-size:var(--fs-sm);color:var(--text-3)}
.note--warn{border-color:var(--scarlet-500)}
.note--ok{border-color:var(--mint-400)}
.note strong{color:var(--cream-50)}
.note p{max-width:none}

/* ── TOC ───────────────────────────────────────────────────────────────── */
.toc{position:sticky;top:calc(var(--topbar-h) + 1rem);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-8);font-size:var(--fs-sm)}
.toc h2{font-size:var(--fs-md);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-200);margin-bottom:var(--space-3)}
.toc ol{list-style:none;padding:0;margin:0;display:grid;gap:.25rem}
.toc li{margin:0}
.toc a{display:block;padding:.35rem .5rem;color:var(--cream-300);text-decoration:none;border-left:2px solid transparent;border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.toc a:hover,.toc a.is-active{color:var(--cream-50);border-color:var(--gold-500);background:var(--color-surface-2)}
.legal-layout{display:grid;gap:var(--space-8)}
@media (min-width:64em){.legal-layout{grid-template-columns:16rem minmax(0,1fr);align-items:start}.legal-layout .toc{margin-bottom:0}}

/* ── forms ─────────────────────────────────────────────────────────────── */
.field{display:grid;gap:.4rem;margin-bottom:var(--space-4)}
.field label{font-size:var(--fs-sm);font-weight:600;color:var(--cream-100)}
.field input,.field textarea,.field select{width:100%;min-height:2.85rem;padding:.65rem .9rem;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--garnet-900);color:var(--cream-50)}
.field textarea{min-height:8rem;resize:vertical}
.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:3px solid var(--gold-400);outline-offset:2px;border-color:var(--gold-500)}
.field__hint{font-size:var(--fs-xs);color:var(--text-4)}
.search{position:relative;display:flex}
.search input{width:100%;min-height:2.85rem;padding:.6rem 2.75rem .6rem 2.6rem;border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);background:var(--garnet-900);color:var(--cream-50)}
.search input::placeholder{color:var(--text-4)}
.search svg{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);width:1.1rem;height:1.1rem;color:var(--gold-500);pointer-events:none}
.search__clear{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);width:2.2rem;height:2.2rem;border-radius:50%;color:var(--cream-300);display:grid;place-items:center}
.search__clear:hover{background:var(--garnet-700);color:var(--cream-50)}

/* ── footer ────────────────────────────────────────────────────────────── */
.foot{position:relative;background:var(--garnet-900);border-top:1px solid var(--color-border-strong);padding-block:var(--space-10) var(--space-8);margin-top:var(--space-6);font-size:var(--fs-sm);color:var(--text-3)}
.foot::before{content:"";position:absolute;left:0;right:0;top:-1px;height:3px;background:var(--color-foil)}
.foot__grid{display:grid;gap:var(--space-8)}
@media (min-width:48em){.foot__grid{grid-template-columns:1.4fr 1fr 1fr}}
@media (min-width:64em){.foot__grid{grid-template-columns:1.6fr 1fr 1fr 1.3fr}}
.foot__brand img{height:2.5rem;width:auto;border-radius:.3rem;margin-bottom:var(--space-4);mix-blend-mode:screen}
.foot__brand p{max-width:30ch}
.foot h2{font-family:var(--font-display);font-size:var(--fs-md);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-200);margin-bottom:var(--space-4)}
.foot ul{list-style:none;padding:0;margin:0}
.foot li{margin:0 0 .45rem}
.foot a{color:var(--cream-300);text-decoration:none}
.foot a:hover{color:var(--gold-200);text-decoration:underline}
.foot__tg{display:grid;gap:var(--space-2);margin-top:var(--space-4)}
.foot__rg{display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.foot__rg p{font-size:var(--fs-xs);max-width:none}
.foot__legal{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border);display:grid;gap:var(--space-4)}
.foot__legal p{font-size:var(--fs-xs);color:var(--text-4);max-width:none}
.foot__links{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem}
.foot__links a{color:var(--cream-300)}
.foot__copy{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3);font-size:var(--fs-xs);color:var(--text-4)}

/* ── consent bar ───────────────────────────────────────────────────────── */
.consent{position:fixed;left:var(--space-3);right:var(--space-3);bottom:calc(var(--dock-h) + var(--space-3));z-index:var(--z-toast);background:var(--garnet-800);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-3);display:none;gap:var(--space-4);align-items:center;flex-wrap:wrap;font-size:var(--fs-sm)}
.consent[data-show=true]{display:flex}
.consent p{flex:1 1 18rem;margin:0;color:var(--text-3);max-width:none}
.consent__acts{display:flex;gap:var(--space-2)}
@media (min-width:64em){.consent{left:auto;right:var(--space-6);bottom:var(--space-6);max-width:34rem}}

/* ── back to top ───────────────────────────────────────────────────────── */
.upbtn{position:fixed;right:var(--space-4);bottom:calc(var(--dock-h) + var(--space-4));z-index:var(--z-dock);width:2.85rem;height:2.85rem;border-radius:50%;background:var(--garnet-800);border:1px solid var(--gold-600);color:var(--gold-400);display:grid;place-items:center;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity var(--dur-base),transform var(--dur-base);box-shadow:var(--shadow-2)}
.upbtn[data-show=true]{opacity:1;transform:none;pointer-events:auto}
.upbtn svg{width:1.2rem;height:1.2rem}
@media (min-width:64em){.upbtn{bottom:var(--space-6);right:var(--space-6)}}
.consent[data-show=true]~.upbtn{bottom:calc(var(--dock-h) + 8rem)}
@media (min-width:64em){.consent[data-show=true]~.upbtn{bottom:var(--space-6);right:36rem}}

/* ── reveal on scroll ──────────────────────────────────────────────────── */
.rv{opacity:0;transform:translateY(16px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}
.rv.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}
.no-js .rv{opacity:1;transform:none}

/* ── misc ──────────────────────────────────────────────────────────────── */
.cat-icon{width:2.75rem;height:2.75rem;border-radius:var(--radius-md);display:grid;place-items:center;background:linear-gradient(145deg,var(--scarlet-700),var(--garnet-700));color:var(--gold-200);font-family:var(--font-display);font-size:1rem;letter-spacing:.06em;flex:none;border:1px solid var(--color-border-strong)}
.kicker{font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--scarlet-300);margin-bottom:var(--space-2)}
.center{text-align:center}
.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-6{margin-bottom:var(--space-6)}
.muted{color:var(--text-4)}
.tally{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);text-align:center}
@media (min-width:48em){.tally{grid-template-columns:repeat(4,1fr)}}
.tally__item{padding:var(--space-6) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}
.tally__num{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:700;color:var(--gold-400);line-height:1}
.tally__label{margin-top:.4rem;font-size:var(--fs-sm);color:var(--text-3)}
.noscript-list{columns:2;column-gap:2rem;font-size:var(--fs-sm)}
@media (min-width:48em){.noscript-list{columns:4}}
.emptystate{padding:var(--space-9);text-align:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);color:var(--text-3)}
@media print{.topbar,.dockbar,.consent,.upbtn,.drawer{display:none!important}body{padding:0;background:#fff;color:#000}}
