/* ==========================================================================
   Spinfin Bonus Guide — visual direction: "floodlit stand, 20:45 kick-off"
   Ink-blue night surfaces, one electric-blue floodlight accent, scoreboard
   numerals. Namespace: s32-  · Theme dark · Shape moderate · Density dense
   Layout archetype: magazine (asymmetric grids, side-rail labels)
   ========================================================================== */

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

:root{
  /* palette — 6 named values */
  --bg-main:#080E16;          /* night ink      */
  --bg-alt:#0D1725;           /* stand shadow   */
  --bg-card:#111E2E;          /* panel          */
  --bg-bar:#050A11;           /* header/footer  */
  --accent:#0092FC;           /* floodlight     */
  --accent-2:#FFC24A;         /* sodium lamp    */
  --text-main:#E7EEF7;
  --text-muted:#98A9BE;
  --border:#20314A;
  --border-soft:rgba(154,170,191,.16);
  --accent-ink:#041220;

  /* type */
  --font-display:"Arial Narrow","Helvetica Neue Condensed",ui-sans-serif,system-ui,sans-serif;
  --font-body:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --font-num:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;

  /* measure + rhythm (dense) */
  --wrap:1280px;
  --gutter:clamp(1rem,3.4vw,2rem);
  --sp-1:.45rem;
  --sp-2:.85rem;
  --sp-3:1.3rem;
  --sp-4:2.1rem;
  --sec-pad:clamp(2.1rem,4.2vw,3.2rem);

  /* shape: moderate */
  --r-s:4px;
  --r-m:8px;
  --r-l:10px;

  --shadow:0 1px 0 rgba(255,255,255,.04),0 16px 36px -24px rgba(0,0,0,.92);
  --glow:0 0 0 1px rgba(0,146,252,.34),0 12px 30px -16px rgba(0,146,252,.5);
  --header-h:64px;
}

html{scroll-padding-top:calc(var(--header-h) + 2.5rem);-webkit-text-size-adjust:100%}

body{
  margin:0;
  overflow-x:hidden;
  background:var(--bg-main);
  color:var(--text-main);
  font-family:var(--font-body);
  font-size:clamp(1rem,.97rem + .15vw,1.05rem);
  line-height:1.6;
  overflow-wrap:break-word;
}

img{max-width:100%}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#4FB5FF}
:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px;border-radius:2px}

/* ---------- typography ---------------------------------------------------- */
h1,h2,h3,h4{
  font-family:var(--font-display);
  font-stretch:condensed;
  font-weight:800;
  line-height:1.03;
  letter-spacing:.005em;
  text-transform:uppercase;
  text-wrap:balance;
  margin:0;
}
h1{font-size:clamp(2.1rem,1.4rem + 3.6vw,3.9rem)}
h2{font-size:clamp(1.6rem,1.2rem + 1.8vw,2.5rem)}
h3{font-size:clamp(1.15rem,1.02rem + .7vw,1.45rem);letter-spacing:.02em}
h4{font-size:1.02rem;letter-spacing:.06em}
p{margin:0}
strong{color:#FFF}
.s32-lead{font-size:clamp(1.05rem,1rem + .4vw,1.2rem);color:#CFDBEA}
.s32-muted{color:var(--text-muted)}

/* the recurring magazine device: a floodlight eyebrow */
.s32-eyebrow{
  display:flex;align-items:center;gap:.55rem;
  font-family:var(--font-num);
  font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--accent);margin:0;
}
.s32-eyebrow::before{
  content:"";inline-size:26px;block-size:2px;flex:0 0 auto;
  background:linear-gradient(90deg,var(--accent),rgba(0,146,252,0));
}
.s32-eyebrow--warm{color:var(--accent-2)}
.s32-eyebrow--warm::before{background:linear-gradient(90deg,var(--accent-2),rgba(255,194,74,0))}

.s32-fineprint{font-size:.8rem;line-height:1.55;color:var(--text-muted)}

/* ---------- layout -------------------------------------------------------- */
.s32-container{
  inline-size:100%;
  max-inline-size:var(--wrap);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.s32-section{padding-block:var(--sec-pad);position:relative}
.s32-section--alt{background:var(--bg-alt);border-block:1px solid var(--border-soft)}
.s32-section--rule{border-block-start:1px solid var(--border-soft)}
.s32-section>*{min-width:0}

/* magazine: labels live in a left rail, the heading column is wider */
.s32-sec-head{display:grid;gap:var(--sp-2);margin-block-end:var(--sp-4)}
.s32-sec-head>*{min-width:0}
.s32-sec-head p{color:var(--text-muted)}
@media (min-width:960px){
  .s32-sec-head{grid-template-columns:minmax(0,.7fr) minmax(0,2.6fr);column-gap:var(--sp-4);align-items:start}
  .s32-sec-head p{max-inline-size:74ch}
  .s32-sec-head .s32-eyebrow{padding-block-start:.6rem}
}

.s32-stack{display:flex;flex-direction:column;gap:var(--sp-3)}
.s32-stack>*{min-width:0}
.s32-prose{display:flex;flex-direction:column;gap:var(--sp-3)}
.s32-prose h2,.s32-prose h3{margin-block-start:var(--sp-2)}
.s32-prose ul,.s32-prose ol{margin:0;padding-inline-start:1.3rem}
.s32-prose li+li{margin-block-start:.4rem}

.s32-pullquote{
  margin:0;padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-4);
  border-inline-start:3px solid var(--accent);
  background:linear-gradient(90deg,rgba(0,146,252,.1),transparent 70%);
  font-family:var(--font-display);font-stretch:condensed;
  font-size:clamp(1.2rem,1.05rem + .8vw,1.7rem);line-height:1.2;
  text-transform:none;color:#FFF;
}

/* ---------- buttons ------------------------------------------------------- */
.s32-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.78rem 1.25rem;
  border:1px solid transparent;border-radius:var(--r-m);
  font-family:var(--font-display);font-stretch:condensed;font-weight:800;
  font-size:1rem;letter-spacing:.05em;text-transform:uppercase;
  text-decoration:none;cursor:pointer;
  background:var(--accent);color:var(--accent-ink);
  box-shadow:var(--glow);
  transition:transform .16s ease,background .16s ease,box-shadow .16s ease;
}
.s32-btn:hover{background:#2BA7FF;color:var(--accent-ink);transform:translateY(-1px)}
.s32-btn:active{transform:translateY(0)}
.s32-btn--ghost{background:transparent;color:var(--text-main);border-color:var(--border);box-shadow:none}
.s32-btn--ghost:hover{background:rgba(0,146,252,.1);border-color:var(--accent);color:#FFF}
.s32-btn--sm{padding:.52rem .8rem;font-size:.84rem}
@media (max-width:900px){.s32-btn--sm{padding:.72rem 1rem;min-block-size:44px}}
.s32-btn--wide{inline-size:100%}
.s32-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}

/* ---------- icons (sprite) ----------------------------------------------- */
.s32-icon{
  inline-size:1.5em;block-size:1.5em;
  width:1.5em;height:1.5em;
  display:inline-block;vertical-align:middle;flex-shrink:0;
  color:var(--accent);fill:none;stroke:currentColor;stroke-width:1.6;
}
.s32-icon--lg{inline-size:2rem;block-size:2rem;width:2rem;height:2rem}
.s32-icon--warm{color:var(--accent-2)}

/* ---------- header -------------------------------------------------------- */
.s32-header{
  position:sticky;top:0;z-index:900;
  background:var(--bg-bar);              /* LOGO_TONE light → dark bar */
  border-block-end:1px solid var(--border);
  box-shadow:0 10px 30px -22px #000;
}
.s32-header__bar{
  display:flex;align-items:center;gap:var(--sp-3);
  min-block-size:var(--header-h);
  padding-block:.55rem;
}
.s32-header__bar>*{min-width:0}

.s32-logo{display:inline-flex;align-items:center;flex-shrink:0;text-decoration:none}
.s32-logo__img{
  display:block;
  height:40px;width:auto;
  max-width:min(45vw,190px);
  object-fit:contain;
}

.s32-nav{display:flex;align-items:center;gap:var(--sp-3);margin-inline-start:auto}
.s32-nav__list{
  display:flex;align-items:center;gap:clamp(.7rem,1.6vw,1.5rem);
  list-style:none;margin:0;padding:0;
}
.s32-nav__list>li{min-width:0}
.s32-nav a:not(.s32-btn){
  position:relative;display:block;padding-block:.35rem;
  font-family:var(--font-display);font-stretch:condensed;font-weight:700;
  font-size:.96rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--text-main);text-decoration:none;white-space:nowrap;
}
.s32-nav a:not(.s32-btn)::after{
  content:"";position:absolute;inset-inline:0;inset-block-end:0;
  block-size:2px;background:var(--accent);
  transform:scaleX(0);transform-origin:left;transition:transform .18s ease;
}
.s32-nav a:not(.s32-btn):hover{color:#FFF}
.s32-nav a:not(.s32-btn):hover::after,
.s32-nav a:not(.s32-btn):focus-visible::after,
.s32-nav a:not(.s32-btn)[aria-current="page"]::after{transform:scaleX(1)}

.s32-header__cta{flex-shrink:0}
.s32-nav>.s32-btn{display:none}            /* desktop: hide nav copy */

.s32-burger{
  display:none;
  flex-shrink:0;
  inline-size:44px;block-size:44px;
  align-items:center;justify-content:center;flex-direction:column;gap:5px;
  padding:0;margin-inline-start:auto;
  background:transparent;border:1px solid var(--border);border-radius:var(--r-s);
  cursor:pointer;
}
.s32-burger span{display:block;width:22px;height:2px;background:var(--text-main);transition:transform .2s ease,opacity .2s ease}
.s32-header.is-open .s32-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.s32-header.is-open .s32-burger span:nth-child(2){opacity:0}
.s32-header.is-open .s32-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.s32-header__note{
  margin:0;
  padding:.4rem var(--gutter);
  border-block-start:1px solid var(--border-soft);
  background:#0A1422;
  font-family:var(--font-num);
  font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent-2);
}

@media (max-width:900px){
  .s32-burger{display:flex}
  .s32-nav{
    display:none;
    position:absolute;inset-inline:0;top:100%;
    flex-direction:column;align-items:stretch;gap:var(--sp-2);
    margin:0;padding:var(--sp-3) var(--gutter) var(--sp-4);
    background:var(--bg-bar);
    border-block-end:1px solid var(--border);
    box-shadow:0 26px 40px -24px #000;
  }
  .s32-header.is-open .s32-nav{display:flex}
  .s32-nav__list{flex-direction:column;align-items:stretch;gap:0}
  .s32-nav__list>li+li{border-block-start:1px solid var(--border-soft)}
  .s32-nav a:not(.s32-btn){padding-block:.8rem;font-size:1.1rem;white-space:normal}
  .s32-nav a:not(.s32-btn)::after{display:none}
  .s32-nav a:not(.s32-btn)[aria-current="page"]{
    color:#FFF;box-shadow:inset 3px 0 0 var(--accent);padding-inline-start:.7rem;
  }
  .s32-header__cta{display:none}
  .s32-nav>.s32-btn{display:block;width:100%}
}
@media (max-width:420px){
  .s32-logo__img{max-width:min(42vw,150px)}
  .s32-header__note{font-size:.7rem;letter-spacing:.04em}
}

/* ---------- hero: OVERLAY (homepage) ------------------------------------- */
.s32-hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(120% 90% at 18% -10%,rgba(0,146,252,.3),transparent 60%),
    linear-gradient(140deg,#0A1726 0%,#102840 55%,#070D16 100%);
}
.s32-hero__img{
  display:block;width:100%;height:auto;max-height:70vh;
  aspect-ratio:3/2;object-fit:cover;border-radius:var(--r-m);
}
.s32-hero__inner{
  position:relative;z-index:2;
  display:flex;flex-direction:column;gap:var(--sp-3);
  inline-size:100%;
  padding-inline:max(var(--gutter),calc((100% - var(--wrap))/2 + var(--gutter)));
  padding-block:var(--sec-pad);
}
.s32-hero__inner>*{min-width:0}
/* when the inner is also the page container, keep the site gutter (no double inset) */
.s32-hero__inner.s32-container{padding-inline:var(--gutter)}

.s32-hero--home{
  min-height:clamp(420px,60vh,620px);
  display:flex;align-items:flex-end;
  border-block-end:1px solid var(--border);
}
.s32-hero--home .s32-hero__img{
  position:absolute;inset:0;
  width:100%;height:100%;max-height:none;
  aspect-ratio:auto;object-fit:cover;border-radius:0;
  z-index:0;
}
.s32-hero--home::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(6,11,18,0) 25%,rgba(6,11,18,.72) 100%),
    linear-gradient(90deg,rgba(6,11,18,.94) 0%,rgba(6,11,18,.82) 45%,rgba(6,11,18,.52) 100%);
}
.s32-hero--home .s32-hero__inner{
  padding-block:clamp(2.4rem,5vw,4rem);
  color:#FFF;
}
.s32-hero--home .s32-hero__inner>:not(.s32-hero__img){max-width:64ch}
.s32-hero--home h1{color:#FFF;text-shadow:0 2px 18px rgba(0,0,0,.55)}
.s32-hero--home p{color:#DCE6F2}
.s32-hero--home .s32-actions{margin-block-start:var(--sp-1)}

/* signature element: the scoreboard strip (mono cells, floodlight rule) */
.s32-scoreboard{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));
  gap:1px;
  margin:0;padding:1px;
  background:var(--border);
  border-radius:var(--r-m);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.s32-scoreboard>*{min-width:0}
.s32-scoreboard__cell{
  display:flex;flex-direction:column;gap:.3rem;
  padding:.8rem .95rem;
  background:rgba(8,14,22,.92);
  border-block-start:2px solid var(--accent);
}
.s32-scoreboard__value{font-family:var(--font-num);font-size:1.25rem;font-weight:700;color:#FFF;line-height:1.1}
.s32-scoreboard__label{font-family:var(--font-num);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}

/* ---------- hero: COMPACT inner page header ------------------------------ */
.s32-hero--inner{
  position:relative;overflow:hidden;
  display:flex;align-items:center;
  min-block-size:160px;
  background:
    linear-gradient(90deg,rgba(0,146,252,.16),transparent 65%),
    var(--bg-alt);
  border-block-end:1px solid var(--border);
}
.s32-hero--inner .s32-hero__inner{
  padding-block:clamp(1.5rem,3.2vw,2.3rem);
  gap:var(--sp-2);
}
.s32-hero--inner .s32-hero__img{
  position:absolute;inset:0;
  width:100%;height:100%;max-height:none;
  aspect-ratio:auto;object-fit:cover;border-radius:0;
  z-index:0;
}
.s32-hero--inner::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(6,11,18,.35) 0%,rgba(6,11,18,.6) 100%),
    linear-gradient(90deg,rgba(6,11,18,.92) 0%,rgba(6,11,18,.78) 50%,rgba(6,11,18,.58) 100%);
}
:where(.s32-hero--inner .s32-hero__inner > :not(.s32-hero__img)){position:relative;z-index:2}
.s32-hero--inner h1{font-size:clamp(1.7rem,1.3rem + 2.2vw,2.8rem);color:#FFF}
.s32-hero--inner p{color:#D5E0EE}

/* page-header (no-image variant, used by legal pages) */
.s32-page-header{
  position:relative;
  padding-block:clamp(1.5rem,3.2vw,2.3rem);
  background:var(--bg-alt);
  border-block-end:1px solid var(--border);
}
.s32-page-header__inner{display:flex;flex-direction:column;gap:var(--sp-2)}
.s32-page-header__inner>*{min-width:0}

.s32-breadcrumb{
  font-family:var(--font-num);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-muted);
}
.s32-breadcrumb ol{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}
.s32-breadcrumb li+li::before{content:"/";margin-inline-end:.4rem;color:var(--border)}
.s32-breadcrumb a{color:var(--text-muted);text-decoration:none}
.s32-breadcrumb a:hover{color:var(--accent)}

/* ---------- overview ----------------------------------------------------- */
.s32-overview{display:flex;flex-direction:column;gap:var(--sp-3)}
.s32-overview>*{min-width:0}
@media (min-width:1000px){
  .s32-overview--mag{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);column-gap:var(--sp-4);align-items:start}
}

/* ---------- feature cards: GRID pattern ---------------------------------- */
.s32-features{
  display:grid;gap:var(--sp-3);
  grid-template-columns:repeat(auto-fit,minmax(min(215px,100%),1fr));
}
.s32-features>*{min-width:0}
.s32-feature{
  display:flex;flex-direction:column;gap:var(--sp-2);
  padding:var(--sp-3);
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--r-m);
  box-shadow:var(--shadow);
}
.s32-feature::before{
  content:"";inline-size:34px;block-size:2px;background:var(--accent);
}
.s32-feature h3{color:#FFF}
.s32-feature p{color:var(--text-muted)}
.s32-feature .s32-icon{color:var(--accent)}

/* ---------- cards grid --------------------------------------------------- */
.s32-cards{
  display:grid;gap:var(--sp-3);
  grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));
}
.s32-cards>*{min-width:0}
.s32-card{
  display:flex;flex-direction:column;gap:var(--sp-2);
  padding:var(--sp-3);
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--r-m);
  box-shadow:var(--shadow);
}
.s32-card__meta{font-family:var(--font-num);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.s32-card p{color:var(--text-muted)}
.s32-card--accent{border-color:rgba(0,146,252,.45);box-shadow:var(--glow)}

/* ---------- quick facts -------------------------------------------------- */
.s32-quick-facts{display:flex;flex-direction:column;gap:var(--sp-3)}
.s32-qf{
  display:grid;gap:var(--sp-2);
  grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));
}
.s32-qf>*{min-width:0}
.s32-qf__item{
  display:flex;flex-direction:column;gap:.25rem;
  padding:.8rem .95rem;
  background:var(--bg-card);
  border-inline-start:3px solid var(--accent);
  border-radius:0 var(--r-m) var(--r-m) 0;
}
.s32-qf__label{font-family:var(--font-num);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.s32-qf__value{font-weight:600;color:#FFF}

/* ---------- tables (data-table, bonus-table, payments-table) ------------- */
.s32-table-wrap{
  overflow-x:auto;max-width:100%;margin-block:1.5rem;
  border:1px solid var(--border);border-radius:var(--r-m);
  background:
    linear-gradient(90deg,var(--bg-card) 45%,rgba(17,30,46,0)) left center/24px 100% no-repeat local,
    linear-gradient(270deg,var(--bg-card) 45%,rgba(17,30,46,0)) right center/24px 100% no-repeat local,
    linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,0)) left center/16px 100% no-repeat scroll,
    linear-gradient(270deg,rgba(0,0,0,.55),rgba(0,0,0,0)) right center/16px 100% no-repeat scroll,
    var(--bg-card);
}
.s32-table{inline-size:100%;border-collapse:collapse;font-size:.95rem}
.s32-table caption{
  caption-side:top;text-align:start;padding:.8rem var(--sp-3);
  position:sticky;inset-inline-start:0;
  max-inline-size:calc(100vw - 2 * var(--gutter));
  font-family:var(--font-num);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--text-muted);border-block-end:1px solid var(--border);
}
.s32-table th,.s32-table td{padding:.72rem .9rem;text-align:start;vertical-align:top;border-block-end:1px solid var(--border-soft)}
.s32-table th{
  white-space:nowrap;
  background:#0A1422;
  font-family:var(--font-display);font-stretch:condensed;font-weight:800;
  font-size:.86rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);
}
.s32-table tbody tr:hover td{background:rgba(0,146,252,.06)}
.s32-table tbody tr:last-child td{border-block-end:0}
.s32-table td:first-child{font-weight:600;color:#FFF}
.s32-table .s32-num,.s32-table td[data-num]{font-family:var(--font-num);font-variant-numeric:tabular-nums;white-space:nowrap}
.s32-bonus-table .s32-table td:first-child{white-space:nowrap;color:var(--accent-2)}
.s32-payments .s32-table td:first-child{display:flex;align-items:center;gap:.5rem}

/* ---------- two columns + content panel ---------------------------------- */
.s32-two-cols{display:grid;gap:var(--sp-4);grid-template-columns:minmax(0,1fr)}
.s32-two-cols>*{min-width:0}
@media (min-width:960px){
  .s32-two-cols{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);align-items:start}
  .s32-two-cols .s32-panel{position:sticky;top:calc(var(--header-h) + 1.2rem)}
}
.s32-panel{
  display:flex;flex-direction:column;gap:var(--sp-2);
  padding:var(--sp-3);
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--r-m);
  box-shadow:var(--shadow);
}
.s32-panel>*{min-width:0}
.s32-panel__title{
  font-family:var(--font-display);font-stretch:condensed;font-weight:800;
  font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;color:#FFF;
  padding-block-end:.6rem;border-block-end:2px solid var(--accent);
}
.s32-facts{margin:0}
.s32-facts__row{
  display:flex;flex-wrap:wrap;gap:.3rem var(--sp-2);justify-content:space-between;
  padding-block:.55rem;border-block-end:1px solid var(--border-soft);
}
.s32-facts__row:last-child{border-block-end:0}
.s32-facts__row dt{font-size:.84rem;color:var(--text-muted)}
.s32-facts__row dd{margin:0;font-weight:600;color:#FFF;font-family:var(--font-num);font-size:.9rem}
.s32-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.s32-checklist li{display:flex;align-items:flex-start;gap:.55rem;font-size:.94rem}
.s32-checklist .s32-icon{inline-size:1.15em;block-size:1.15em;width:1.15em;height:1.15em;margin-block-start:.15em}
.s32-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr));gap:var(--sp-1)}
.s32-tiles>*{min-width:0}
.s32-tile{display:flex;flex-direction:column;gap:.2rem;padding:.7rem .8rem;background:#0A1422;border:1px solid var(--border-soft);border-radius:var(--r-s)}
.s32-tile__value{font-family:var(--font-num);font-size:1.15rem;font-weight:700;color:var(--accent)}
.s32-tile__label{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.s32-score{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}
.s32-score__value{font-family:var(--font-num);font-size:2.1rem;font-weight:700;line-height:1;color:var(--accent)}
.s32-score__stars{display:flex;gap:.15rem;color:var(--accent-2)}
.s32-score__label{font-size:.82rem;color:var(--text-muted)}

/* ---------- numbered list (a real sequence) ------------------------------ */
.s32-numbered{counter-reset:s32-step;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}
.s32-numbered>li{
  counter-increment:s32-step;
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--sp-2) var(--sp-3);
  align-items:start;
  padding-block-end:var(--sp-3);border-block-end:1px solid var(--border-soft);
}
.s32-numbered>li:last-child{border-block-end:0;padding-block-end:0}
.s32-numbered>li::before{
  content:counter(s32-step,decimal-leading-zero);
  font-family:var(--font-num);font-size:1.1rem;font-weight:700;
  color:var(--accent);
  padding:.25rem .5rem;
  border:1px solid rgba(0,146,252,.4);border-radius:var(--r-s);
  background:rgba(0,146,252,.08);
}

/* ---------- stats bar: COUNTERS pattern ---------------------------------- */
.s32-stats{
  display:grid;gap:var(--sp-4) var(--sp-3);
  grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));
}
.s32-stats>*{min-width:0}
.s32-stat{display:flex;flex-direction:column;gap:.35rem}
.s32-stat__value{
  font-family:var(--font-num);font-variant-numeric:tabular-nums;
  font-size:clamp(2.2rem,5vw,3.5rem);font-weight:700;line-height:.95;
  letter-spacing:-.02em;color:var(--accent);
}
.s32-stat__label{
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);
}

/* ---------- categories bar (pills) -------------------------------------- */
.s32-cats{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.s32-cats li{min-width:0}
.s32-cat{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.4rem .8rem;
  background:#0A1422;border:1px solid var(--border);border-radius:var(--r-s);
  font-family:var(--font-num);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-main);text-decoration:none;
}
.s32-cat:hover{border-color:var(--accent);color:#FFF;background:rgba(0,146,252,.1)}

/* ---------- toc ---------------------------------------------------------- */
.s32-toc{
  padding:var(--sp-3);
  background:var(--bg-card);border:1px solid var(--border);
  border-inline-start:3px solid var(--accent-2);
  border-radius:0 var(--r-m) var(--r-m) 0;
}
.s32-toc__title{font-family:var(--font-num);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-block-end:var(--sp-2)}
.s32-toc ol,.s32-toc ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}
.s32-toc li{min-width:0}
.s32-toc a{color:var(--text-main);text-decoration:none;font-size:.92rem}
.s32-toc a:hover{color:var(--accent)}

/* ---------- FAQ: BOXED pattern ------------------------------------------ */
.s32-faq{display:flex;flex-direction:column;gap:var(--sp-2)}
.s32-faq>*{min-width:0}
.s32-faq details{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--r-m);
  padding-inline:var(--sp-3);
  box-shadow:var(--shadow);
}
.s32-faq details[open]{border-color:rgba(0,146,252,.42)}
summary{cursor:pointer;padding:1rem 0;font-weight:600;list-style:none}
summary::-webkit-details-marker{display:none}
summary::before{content:'+';margin-right:.5rem;transition:transform .2s;color:var(--accent);font-family:var(--font-num);font-weight:700}
details[open] summary::before{content:'−'}
details>:not(summary){padding:.5rem 0 1rem;color:var(--text-muted)}
.s32-faq summary{font-family:var(--font-display);font-stretch:condensed;font-size:1.08rem;letter-spacing:.03em;text-transform:none;color:#FFF}

/* ---------- legal body --------------------------------------------------- */
.s32-legal{counter-reset:s32-clause;display:flex;flex-direction:column;gap:var(--sp-4)}
.s32-legal>*{min-width:0}
.s32-legal section{display:flex;flex-direction:column;gap:var(--sp-2)}
.s32-legal h2{
  counter-increment:s32-clause;
  display:flex;align-items:baseline;gap:.65rem;
  font-size:clamp(1.2rem,1.1rem + .6vw,1.55rem);
  padding-block-end:.5rem;border-block-end:1px solid var(--border-soft);
}
.s32-legal h2::before{
  content:counter(s32-clause) ".";
  flex:0 0 auto;white-space:nowrap;
  font-family:var(--font-num);font-size:.9em;color:var(--accent);
}
.s32-legal p,.s32-legal li{color:#CBD7E6;max-inline-size:78ch}
.s32-legal ul,.s32-legal ol{margin:0;padding-inline-start:1.3rem;display:flex;flex-direction:column;gap:.4rem}

/* ---------- CTA block ---------------------------------------------------- */
.s32-cta{
  padding-block:var(--sec-pad);
  background:
    radial-gradient(90% 140% at 0% 0%,rgba(0,146,252,.26),transparent 62%),
    linear-gradient(120deg,#0B1A2B,#0A1322);
  border-block:1px solid rgba(0,146,252,.35);
}
.s32-cta__inner{display:flex;flex-direction:column;gap:var(--sp-3);align-items:flex-start}
.s32-cta__inner>*{min-width:0}
.s32-cta h2{color:#FFF}
.s32-cta p{color:#CFDBEA}
.s32-cta .s32-actions{justify-content:flex-start}
.s32-cta--center{text-align:center}
.s32-cta--center .s32-cta__inner{align-items:center}
.s32-cta--center .s32-actions{justify-content:center}

/* ---------- rtp / game tiles -------------------------------------------- */
.s32-rtp{display:grid;gap:clamp(.6rem,1.5vw,1rem);grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:640px){.s32-rtp{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:960px){.s32-rtp{grid-template-columns:repeat(4,minmax(0,1fr))}}
.s32-rtp-item{
  position:relative;overflow:hidden;min-width:0;
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-m);
}
.s32-rtp-item__thumb{
  display:block;aspect-ratio:3/2;position:relative;
  background:linear-gradient(135deg,#13263C,#0A1422 70%);
}
.s32-rtp-item__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.s32-rtp-item__name{display:block;padding:.55rem .7rem;font-size:.86rem;font-weight:600;color:#FFF}
.s32-rtp-item__name small{display:block;font-family:var(--font-num);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.s32-rtp-tooltip{
  position:absolute;bottom:0;opacity:0;transition:opacity .2s;
  inset-inline:0;padding:.5rem .7rem;
  background:rgba(5,10,17,.94);border-block-start:2px solid var(--accent);
  font-family:var(--font-num);font-size:.72rem;color:#FFF;
}
.s32-rtp-item:hover .s32-rtp-tooltip{opacity:1}
.s32-rtp-item:focus-within .s32-rtp-tooltip{opacity:1}

/* ---------- sticky mobile nav ------------------------------------------- */
.s32-sticky-nav{display:none}
@media (max-width:767px){
  .s32-sticky-nav{
    display:flex;position:fixed;inset-inline:0;bottom:0;z-index:880;
    align-items:center;justify-content:space-around;gap:.4rem;
    padding:.5rem .6rem;
    background:rgba(5,10,17,.96);border-block-start:1px solid var(--border);
  }
  .s32-sticky-nav>*{min-width:0}
  .s32-sticky-nav a{
    display:flex;flex-direction:column;align-items:center;gap:.2rem;
    font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;
    color:var(--text-muted);text-decoration:none;
  }
  .s32-sticky-nav a .s32-icon{inline-size:1.2rem;block-size:1.2rem;width:1.2rem;height:1.2rem}
  body:has(.s32-sticky-nav){padding-block-end:64px}
}

/* ---------- chat widget -------------------------------------------------- */
.s32-chat-btn{
  position:fixed;right:1rem;bottom:1rem;z-index:890;
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.65rem .95rem;
  background:var(--accent);color:var(--accent-ink);
  border:0;border-radius:var(--r-m);cursor:pointer;
  font-family:var(--font-display);font-stretch:condensed;font-weight:800;
  font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;
  box-shadow:var(--glow);
}
@media (max-width:767px){.s32-chat-btn{bottom:72px}}
.s32-chat{
  position:fixed;inset:0;z-index:950;
  display:none;align-items:center;justify-content:center;
  padding:var(--gutter);
  background:rgba(4,8,14,.78);
}
.s32-chat.is-open{display:flex}
.s32-chat__dialog{
  inline-size:min(420px,100%);
  display:flex;flex-direction:column;gap:var(--sp-2);
  padding:var(--sp-3);
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-l);
  box-shadow:0 30px 60px -30px #000;
}

/* ---------- footer ------------------------------------------------------- */
.s32-footer{
  background:var(--bg-bar);              /* LOGO_TONE light → dark bar */
  border-block-start:2px solid var(--accent);
  color:var(--text-muted);
  font-size:.92rem;
}
.s32-footer__grid{
  display:grid;gap:var(--sp-4);
  grid-template-columns:minmax(0,1fr);
  padding-block:var(--sec-pad);
}
.s32-footer__grid>*{min-width:0}
@media (min-width:760px){
  .s32-footer__grid{grid-template-columns:minmax(0,1.7fr) repeat(auto-fit,minmax(min(160px,100%),1fr))}
}
.s32-footer__brand{display:flex;flex-direction:column;gap:var(--sp-2);align-items:flex-start}
.s32-footer__title{
  font-family:var(--font-display);font-stretch:condensed;font-weight:800;
  font-size:.92rem;letter-spacing:.16em;text-transform:uppercase;color:#FFF;
  padding-block-end:.5rem;border-block-end:1px solid var(--border);
  margin-block-end:var(--sp-2);
}
.s32-footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}
.s32-footer__col li{min-width:0;padding-block:.1rem}
.s32-footer__col a{display:inline-block;padding-block:.42rem;color:var(--text-muted);text-decoration:none}
.s32-footer__col a:hover{color:var(--accent)}
.s32-footer__micro{
  display:flex;flex-wrap:wrap;gap:.4rem .7rem;
  margin:0;padding:.75rem var(--sp-3);
  background:rgba(255,194,74,.08);
  border:1px solid rgba(255,194,74,.3);border-radius:var(--r-m);
  font-family:var(--font-num);font-size:.74rem;letter-spacing:.04em;color:#F3DDAE;
}
.s32-footer__disclaimer{display:flex;flex-direction:column;gap:var(--sp-2);padding-block:var(--sp-3);border-block-start:1px solid var(--border-soft)}
.s32-footer__bottom{
  display:flex;flex-wrap:wrap;gap:.5rem var(--sp-3);justify-content:space-between;align-items:center;
  padding-block:var(--sp-3);border-block-start:1px solid var(--border-soft);
  font-family:var(--font-num);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
}
.s32-footer__bottom>*{min-width:0}

/* ---------- a11y / motion ------------------------------------------------ */
.s32-visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
/* sa-responsive-net */
table th{white-space:nowrap}
/* narrow side panels: let headers wrap so the table fits instead of scrolling */
.s32-panel .s32-table th{white-space:normal}
figure,blockquote,dl,dd,fieldset{margin:0}
/* sa-logo-chip */
.s32-footer .s32-logo__img{filter:none;background:transparent;padding:0}
.s32-footer .s32-footer__logo-chip{background:transparent;padding:0}
/* sa-logo-fit */
.s32-logo__img{object-fit:contain}
/* sa-ph-media */
.s32-page-header:has(.s32-hero__img){position:relative;overflow:hidden;isolation:isolate;min-height:clamp(200px,30vh,300px);display:flex;flex-direction:column;justify-content:center}
.s32-page-header:has(.s32-hero__img) .s32-hero__img{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;margin:0;z-index:0}
.s32-page-header:has(.s32-hero__img)::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,12,18,.72),rgba(10,12,18,.5))}
:where(.s32-page-header:has(.s32-hero__img)>:not(.s32-hero__img)){position:relative}
.s32-page-header:has(.s32-hero__img)>:not(.s32-hero__img){z-index:2}
.s32-page-header:has(.s32-hero__img),.s32-page-header:has(.s32-hero__img) h1,.s32-page-header:has(.s32-hero__img) a,.s32-page-header:has(.s32-hero__img) p,.s32-page-header:has(.s32-hero__img) li,.s32-page-header:has(.s32-hero__img) span{color:#fff}
/* sa-hero-media */
.s32-hero:has(>.s32-hero__img){position:relative;isolation:isolate}
.s32-hero:has(>.s32-hero__img)>.s32-hero__img{z-index:0}
.s32-hero:has(>.s32-hero__img)::after{z-index:1}
:where(.s32-hero:has(>.s32-hero__img)>:not(.s32-hero__img)){position:relative}
.s32-hero:has(>.s32-hero__img)>:not(.s32-hero__img){z-index:2}
/* sa-rhythm v3 */
:where(.s32-table-wrap){margin-block:1.5rem}
:where(main) :where(ul,ol,table,.s32-table-wrap)+p{margin-block-start:1rem}
main :is(ul,ol,table,.s32-table-wrap,.s32-rtp,.s32-steps,.s32-cards,.s32-features)+:is(.s32-actions,div:has(>.s32-btn),p:has(>.s32-btn)){margin-block-start:1.25rem}
/* sa-table-thead */
.s32-table-wrap thead th,.s32-table-wrap thead{position:static}
/* sa-slot-link v2 */
.s32-rtp-item,.s32-rtp-item:hover,.s32-rtp-item:focus{color:inherit;text-decoration:none;cursor:pointer}
:where(.s32-rtp-item){display:block}
/* sa-rtp-touch */
.s32-rtp-item__thumb{display:block}
@media (hover:none){.s32-rtp-item__thumb{aspect-ratio:auto;overflow:visible}.s32-rtp-item__thumb img{height:auto}.s32-rtp-tooltip{position:static;opacity:1;background:transparent;border-top:0;padding:.4rem .7rem 0;font-size:.74rem;line-height:1.35}.s32-rtp-item__name{padding-top:.35rem}}
/* sa-sticky-pad */
