/* ========================================================================
   Spinfin UK Guide — design system
   Persona: stadium (floodlit scoreboard) · Theme: light · Shape: sharp
   Density: airy · Archetype: cards · Hero: split · Features: icon-rows
   Stats: counters · FAQ: boxed
   Header + footer are dark bars (the brand logo is light-toned).
   ======================================================================== */

:root{
  /* palette */
  --accent:#0092FC;              /* locked brand accent — fills only */
  --accent-hi:#38AEFF;
  --accent-ink:#0A6FBF;          /* accent as TEXT on light surfaces (AA) */
  --accent-soft:#E3F0FB;
  --accent-2:#FFB224;            /* floodlight amber */
  --bg-main:#EEF2F7;
  --bg-card:#FFFFFF;
  --bg-sunken:#F4F7FB;
  --bg-tint:#E7EEF6;
  --bg-dark:#0B1623;
  --bg-dark-2:#132436;
  --text-main:#111C28;
  --text-muted:#4F6377;
  --text-invert:#F4F8FC;
  --border:#D3DDE8;
  --border-dark:rgba(244,248,252,.16);

  /* type */
  --font-head:"Archivo","Oswald","Barlow Condensed","Arial Narrow","Helvetica Neue",system-ui,sans-serif;
  --font-body:"Inter","Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --font-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  /* geometry — cards archetype, airy density */
  --wrap:1120px;
  --gutter:20px;
  --rad:3px;
  --sp-1:.9rem;
  --sp-2:1.75rem;
  --sp-3:2.75rem;
  --sp-4:4rem;
  --sec-pad:clamp(2rem,4.2vw,3.25rem);
  --shadow:0 1px 0 rgba(16,32,48,.05),0 16px 34px -22px rgba(11,22,35,.38);
}

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

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  overflow-x:hidden;
  font:400 1rem/1.7 var(--font-body);
  color:var(--text-main);
  background-color:var(--bg-main);
  background-image:radial-gradient(60rem 22rem at 50% -8rem,rgba(0,146,252,.12),transparent 70%);
  background-repeat:no-repeat;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
  margin:0;
  font-family:var(--font-head);
  color:var(--text-main);
  line-height:1.08;
  text-wrap:balance;
}
h1{font-size:clamp(2.05rem,4.5vw,3.25rem);font-weight:800;letter-spacing:-.015em;text-transform:uppercase}
h2{font-size:clamp(1.45rem,2.6vw,2.05rem);font-weight:800;letter-spacing:-.01em;text-transform:uppercase}
h3{font-size:clamp(1.08rem,1.6vw,1.3rem);font-weight:700;letter-spacing:.005em}
h4{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}

p{margin:0 0 1.1rem}
p:last-child{margin-bottom:0}
strong{font-weight:700}
small{font-size:.85rem}
a{color:var(--accent-ink)}
a:hover{color:var(--bg-dark)}
img{max-width:100%}
ul,ol{overflow-wrap:anywhere}
:where(p,li,dd,dt,td,th,summary){overflow-wrap:anywhere}

:focus-visible{outline:3px solid var(--accent-2);outline-offset:2px}

.spi-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.spi-skip{position:absolute;left:var(--gutter);top:.4rem;z-index:100;transform:translateY(-200%);background:var(--accent-2);color:var(--bg-dark);padding:.6rem .9rem;font:700 .8rem/1 var(--font-head);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-radius:var(--rad);transition:transform .15s}
.spi-skip:focus{transform:translateY(0)}

/* ---------- container (sole owner of page width) ---------- */
.spi-container{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}

/* ---------- buttons ---------- */
.spi-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.85rem 1.35rem;min-width:0;
  font:800 .82rem/1 var(--font-head);letter-spacing:.09em;text-transform:uppercase;
  text-decoration:none;cursor:pointer;text-align:center;
  border:2px solid transparent;border-radius:var(--rad);
  background:var(--accent);color:#05101B;
  transition:background-color .15s,color .15s,transform .15s,border-color .15s;
}
.spi-btn:hover{background:var(--accent-hi);color:#05101B;transform:translateY(-1px)}
.spi-btn--ghost{background:transparent;color:var(--accent-ink);border-color:var(--accent-ink)}
.spi-btn--ghost:hover{background:var(--accent-soft);color:var(--bg-dark);border-color:var(--accent-ink)}
.spi-btn--light{background:var(--text-invert);color:var(--bg-dark)}
.spi-btn--light:hover{background:#fff;color:var(--bg-dark)}
.spi-btn--amber{background:var(--accent-2);color:#2A1A00}
.spi-btn--amber:hover{background:#FFC24F;color:#2A1A00}
.spi-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}

/* ---------- icons (inline SVG sprite) ---------- */
.spi-icon{width:1.5em;height:1.5em;display:inline-block;vertical-align:middle;flex-shrink:0;stroke:currentColor}
.spi-icon--lg{width:1.9em;height:1.9em}

/* ======================= HEADER (dark bar) ======================= */
.spi-header{
  position:sticky;top:0;z-index:50;
  background:var(--bg-dark);
  border-top:3px solid var(--accent);
  border-bottom:1px solid var(--border-dark);
}
.spi-header__bar{display:flex;align-items:center;gap:clamp(.7rem,2vw,1.4rem);min-height:68px;padding-block:.65rem}
.spi-header__bar > *{min-width:0}

.spi-logo{display:inline-flex;align-items:center;flex-shrink:0;text-decoration:none}
.spi-logo__img{display:block;height:40px;width:auto;max-width:200px;object-fit:contain}

.spi-nav{margin-inline-start:auto}
.spi-nav__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:clamp(.8rem,1.7vw,1.5rem)}
.spi-nav__list li{min-width:0}
.spi-nav a:not(.spi-btn){
  display:inline-block;
  color:rgba(244,248,252,.82);text-decoration:none;
  font:700 .78rem/1 var(--font-head);letter-spacing:.1em;text-transform:uppercase;
  padding-block:.55rem;border-bottom:2px solid transparent;
}
.spi-nav a:not(.spi-btn):hover,
.spi-nav a:not(.spi-btn):focus-visible{color:#fff;border-bottom-color:var(--accent-2)}
.spi-nav a:not(.spi-btn)[aria-current="page"]:not(.spi-btn){color:#fff;border-bottom-color:var(--accent)}

/* single CTA, standalone, visible at every width */
.spi-header__cta{flex-shrink:0;white-space:nowrap;padding:.72rem 1.05rem;font-size:.76rem}

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

/* grouped-menu primitives (kept for parity with the shared JS) */
.spi-nav__group{position:relative;display:flex;align-items:center;gap:.25rem}
.spi-nav__toggle{display:none;background:transparent;border:0;color:rgba(244,248,252,.82);cursor:pointer;font-size:.9rem;padding:.4rem}
.spi-submenu{display:none;list-style:none;margin:0;padding:.5rem;position:absolute;top:100%;left:0;min-width:220px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--rad);box-shadow:var(--shadow);z-index:1000}
.spi-nav__group:hover .spi-submenu,
.spi-nav__group:focus-within .spi-submenu{display:block}
.spi-submenu a{display:block;padding:.5rem .6rem;color:var(--text-main);text-decoration:none;font-size:.9rem}
.spi-submenu a:hover{background:var(--accent-soft);color:var(--bg-dark)}

@media (max-width:899px){
  .spi-burger{display:flex}
  .spi-logo__img{height:34px;max-width:min(45vw,150px)}
  .spi-header__cta{padding:.65rem .8rem;font-size:.72rem;min-height:44px}
  .spi-nav{
    display:none;position:absolute;top:100%;inset-inline:0;
    flex-direction:column;margin:0;
    background:var(--bg-dark-2);
    border-bottom:1px solid var(--border-dark);
    padding:.25rem var(--gutter) 1.1rem;
    max-height:calc(100vh - 68px);overflow-y:auto;
  }
  .spi-header.is-open .spi-nav{display:flex}
  .spi-nav__list{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .spi-nav__list > li{border-bottom:1px solid var(--border-dark)}
  .spi-nav a:not(.spi-btn){display:block;padding-block:.95rem;border-bottom:0}
  .spi-nav__group{flex-wrap:wrap;justify-content:space-between}
  .spi-nav__toggle{display:block}
  .spi-submenu{display:none;position:static;width:100%;box-shadow:none;background:transparent;border:0;padding:0 0 .6rem .9rem}
  .spi-nav__group.is-open .spi-submenu{display:block}
  .spi-nav__group:hover .spi-submenu{display:none}
  .spi-nav__group.is-open:hover .spi-submenu{display:block}
  .spi-submenu a{color:rgba(244,248,252,.8)}
  .spi-submenu a:hover{background:transparent;color:#fff}
}
@media (max-width:479px){
  .spi-logo__img{height:28px;max-width:min(32vw,110px)}
  .spi-header__cta{padding:.55rem .6rem;font-size:.7rem;letter-spacing:.04em;min-height:44px}
  .spi-header__bar{gap:.5rem;min-height:60px}
}

/* ======================= PAGE SHELL: CARD STACK ======================= */
main{display:block;padding-block:0 clamp(1.5rem,3vw,2.5rem)}

:where(main > section,.spi-section){
  position:relative;
  width:100%;
  max-width:calc(var(--wrap) + var(--gutter) * 2);
  margin-inline:auto;
  margin-block:var(--sp-3);
  padding-block:var(--sec-pad);
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--rad);
  box-shadow:var(--shadow);
}
:where(main > section:first-child,.spi-section:first-child){margin-top:var(--sp-2)}
:where(main > section:last-child,.spi-section:last-child){margin-bottom:var(--sp-2)}
.spi-section--alt{background:var(--bg-tint)}
.spi-section--flush{background:transparent;border-color:transparent;box-shadow:none}

.spi-section__head{display:flex;flex-direction:column;gap:.7rem;margin-bottom:var(--sp-2)}
.spi-eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font:800 .72rem/1 var(--font-head);letter-spacing:.17em;text-transform:uppercase;
  color:var(--accent-ink);
}
.spi-eyebrow::before{content:"";width:24px;height:3px;background:var(--accent-2);flex-shrink:0}
.spi-lede{font-size:clamp(1.02rem,1.5vw,1.15rem);color:var(--text-muted)}
.spi-stack{display:flex;flex-direction:column;gap:var(--sp-1)}
.spi-fineprint{font-size:.82rem;line-height:1.6;color:var(--text-muted)}

/* ======================= HERO (home: split) ======================= */
.spi-hero--home{padding-block:clamp(2.25rem,5vw,3.5rem)}
.spi-hero--home .spi-hero__inner{display:grid;gap:clamp(1.5rem,3.2vw,2.75rem);align-items:center}
.spi-hero--home .spi-hero__inner > *{min-width:0}
@media (min-width:900px){
  .spi-hero--home .spi-hero__inner{grid-template-columns:1.1fr .9fr}
}
.spi-hero__content{display:flex;flex-direction:column;gap:var(--sp-1);align-items:flex-start;text-align:left}
.spi-hero__content h1{text-wrap:balance}
.spi-hero__sub{font-size:clamp(1.02rem,1.6vw,1.18rem);color:var(--text-muted);margin:0}
.spi-hero__visual{position:relative;overflow:hidden;border-radius:var(--rad);aspect-ratio:3/2;background:linear-gradient(135deg,var(--bg-dark) 0%,#14456E 55%,var(--accent) 100%)}
.spi-hero__visual .spi-hero__img{height:100%;max-height:none;aspect-ratio:auto;object-fit:cover}
.spi-hero__img{display:block;width:100%;height:auto;max-height:70vh;aspect-ratio:3/2;object-fit:cover;border-radius:var(--rad)}

/* one orchestrated page-load moment, homepage hero only */
@keyframes spi-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.spi-hero--home .spi-hero__content > *{animation:spi-rise .55s cubic-bezier(.2,.7,.3,1) both}
.spi-hero--home .spi-hero__content > *:nth-child(2){animation-delay:.07s}
.spi-hero--home .spi-hero__content > *:nth-child(3){animation-delay:.14s}
.spi-hero--home .spi-hero__content > *:nth-child(4){animation-delay:.21s}
.spi-hero--home .spi-hero__content > *:nth-child(n+5){animation-delay:.28s}

/* ---------- inner pages: compact dark band ---------- */
.spi-hero--inner,.spi-page-header{
  position:relative;overflow:hidden;
  width:100%;max-width:none;
  margin:0 0 var(--sp-3);
  border:0;border-radius:0;box-shadow:none;
  background:var(--bg-dark);
  color:var(--text-invert);
  min-height:190px;
  padding-block:clamp(1.9rem,3.6vw,2.6rem);
  padding-inline:max(var(--gutter),calc((100% - var(--wrap)) / 2 + var(--gutter)));
}
.spi-hero--inner > .spi-container,.spi-page-header > .spi-container{max-width:none;padding-inline:0}
.spi-hero--inner .spi-hero__inner,.spi-page-header__inner{position:relative;z-index:2;display:flex;flex-direction:column;gap:.7rem;align-items:flex-start}
.spi-hero--inner h1,.spi-page-header h1{color:var(--text-invert)}
.spi-hero--inner .spi-eyebrow,.spi-page-header .spi-eyebrow{color:var(--accent-2)}
.spi-hero--inner .spi-hero__sub,.spi-page-header p{color:rgba(244,248,252,.82);margin:0}
.spi-hero--inner .spi-hero__img,.spi-page-header .spi-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}
.spi-hero--inner:has(.spi-hero__img)::after,.spi-page-header:has(.spi-hero__img)::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(8,16,26,.92) 0%,rgba(8,16,26,.78) 45%,rgba(8,16,26,.58) 100%);
}
:where(.spi-hero--inner .spi-hero__inner > :not(.spi-hero__img)){position:relative;z-index:2}
:where(.spi-page-header .spi-page-header__inner > :not(.spi-hero__img)){position:relative;z-index:2}

/* ---------- breadcrumb ---------- */
.spi-breadcrumb{font-size:.85rem}
.spi-breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}
.spi-breadcrumb a{display:inline-block;padding-block:.35rem;color:rgba(244,248,252,.78);text-decoration:none}
.spi-breadcrumb a:hover{color:#fff;text-decoration:underline}
.spi-breadcrumb li:not(:last-child)::after{content:"/";margin-inline-start:.35rem;color:rgba(244,248,252,.4)}
.spi-breadcrumb [aria-current="page"]{color:var(--accent-2)}
.spi-section .spi-breadcrumb a{color:var(--accent-ink)}
.spi-section .spi-breadcrumb li:not(:last-child)::after{color:var(--text-muted)}
.spi-section .spi-breadcrumb [aria-current="page"]{color:var(--text-muted)}

/* ======================= TEXT BLOCKS ======================= */
.spi-prose{max-width:72ch}
.spi-prose > * + *{margin-top:1.1rem}
.spi-prose ul,.spi-prose ol{margin:0;padding-inline-start:1.25rem;display:flex;flex-direction:column;gap:.5rem}
.spi-prose h3{margin-top:var(--sp-2)}

/* ---------- quick facts ---------- */
.spi-qf{display:grid;gap:clamp(.75rem,2vw,1.25rem);align-items:start;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}
@media (min-width:900px){.spi-qf{grid-template-columns:repeat(3,minmax(0,1fr))}}
.spi-qf__item{min-width:0;display:flex;flex-direction:column;gap:.3rem;padding:.95rem 1.05rem;background:var(--bg-sunken);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--rad)}
.spi-qf__k{font:800 .7rem/1.3 var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
.spi-qf__v{font-weight:600}
.spi-qf__v .spi-num,.spi-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}

/* ---------- feature cards: icon-rows ---------- */
.spi-features{display:flex;flex-direction:column;gap:0}
.spi-feature{display:flex;align-items:flex-start;gap:clamp(.9rem,2vw,1.45rem);padding-block:var(--sp-2);border-top:1px solid var(--border)}
.spi-feature:first-child{border-top:0;padding-top:0}
.spi-feature:last-child{padding-bottom:0}
.spi-feature__icon{flex:0 0 auto;width:clamp(44px,6vw,56px);height:clamp(44px,6vw,56px);display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);border-radius:var(--rad)}
.spi-feature__icon .spi-icon{width:1.6rem;height:1.6rem}
.spi-feature__body{min-width:0;display:flex;flex-direction:column;gap:.45rem}

/* ---------- cards grid ---------- */
.spi-cards{display:grid;gap:clamp(1rem,2vw,1.5rem);grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
@media (min-width:760px){.spi-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.spi-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
.spi-card{min-width:0;display:flex;flex-direction:column;gap:.6rem;padding:clamp(1.1rem,2vw,1.6rem);background:var(--bg-sunken);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--rad)}
.spi-card .spi-icon{color:var(--accent-ink)}
.spi-card__title{font-family:var(--font-head);font-size:1.08rem;font-weight:700}
.spi-card__title a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.spi-card__title a:hover{color:var(--accent-ink)}

/* ---------- two columns + content panel ---------- */
.spi-two{display:grid;gap:clamp(1.5rem,3vw,2.5rem);align-items:start}
.spi-two > *{min-width:0}
@media (min-width:900px){.spi-two{grid-template-columns:1.35fr .9fr}}

.spi-panel{display:flex;flex-direction:column;gap:var(--sp-1);padding:clamp(1.1rem,2vw,1.5rem);background:var(--bg-sunken);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--rad)}
.spi-panel__title{font:800 .78rem/1.2 var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:var(--text-main)}

.spi-facts{margin:0;display:flex;flex-direction:column}
.spi-facts__row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-block:.6rem;border-top:1px solid var(--border)}
.spi-facts__row:first-child{border-top:0;padding-top:0}
.spi-facts__row dt{color:var(--text-muted);font-size:.86rem}
.spi-facts__row dd{margin:0;font-weight:600;text-align:end}

.spi-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}
.spi-checklist li{display:flex;align-items:flex-start;gap:.6rem;min-width:0}
.spi-checklist .spi-icon{color:var(--accent-ink);margin-top:.12rem;width:1.15rem;height:1.15rem}

.spi-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.spi-tile{min-width:0;padding:.8rem .85rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--rad)}
.spi-tile__value{display:block;font:700 1.35rem/1.1 var(--font-mono);color:var(--accent-ink);font-variant-numeric:tabular-nums}
.spi-tile__label{display:block;margin-top:.2rem;font:700 .66rem/1.3 var(--font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}

.spi-score{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.spi-score__value{font:700 2rem/1 var(--font-mono);color:var(--accent-ink)}
.spi-score__stars{display:inline-flex;gap:.1rem;color:var(--accent-2)}
.spi-score__label{font-size:.85rem;color:var(--text-muted)}

/* ---------- numbered list (a real sequence) ---------- */
.spi-steps{list-style:none;counter-reset:spi-step;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}
.spi-steps > li{counter-increment:spi-step;display:flex;align-items:flex-start;gap:clamp(.9rem,2vw,1.35rem);min-width:0}
.spi-steps > li::before{
  content:counter(spi-step,decimal-leading-zero);
  flex:0 0 auto;width:2.4rem;height:2.4rem;display:grid;place-items:center;
  font:700 .9rem/1 var(--font-mono);color:#2A1A00;background:var(--accent-2);border-radius:var(--rad);
}
.spi-steps__body{min-width:0;display:flex;flex-direction:column;gap:.4rem}

/* ---------- stats bar: counters ---------- */
.spi-stats{display:grid;gap:clamp(1.25rem,3vw,2.5rem);align-items:start;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))}
.spi-stat{min-width:0;display:flex;flex-direction:column;gap:.4rem}
.spi-stat__value{font:700 clamp(1.75rem,3vw,2.2rem)/1.05 var(--font-mono);letter-spacing:-.03em;color:var(--accent-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.spi-stat__label{font:800 .72rem/1.4 var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}

/* ---------- categories bar ---------- */
.spi-cats{display:flex;flex-wrap:wrap;gap:.6rem}
.spi-cat{display:inline-flex;align-items:center;gap:.45rem;min-width:0;padding:.5rem .9rem;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--rad);font:600 .82rem/1.2 var(--font-body);color:var(--text-main);text-decoration:none}
.spi-cat:hover{background:var(--accent-soft);border-color:var(--accent-ink);color:var(--bg-dark)}
.spi-cat .spi-icon{width:1.05rem;height:1.05rem;color:var(--accent-ink)}

/* ---------- tables ---------- */
.spi-table-wrap{overflow-x:auto;max-width:100%;margin-block:1.5rem;border:1px solid var(--border);border-radius:var(--rad)}
.spi-table{width:100%;min-width:540px;border-collapse:collapse;font-size:.94rem}
.spi-table th{white-space:nowrap;text-align:start;padding:.85rem 1rem;background:var(--bg-dark);color:var(--text-invert);font:800 .72rem/1.3 var(--font-head);letter-spacing:.11em;text-transform:uppercase}
.spi-table td{padding:.8rem 1rem;border-top:1px solid var(--border);vertical-align:top}
.spi-table tbody tr:nth-child(even){background:var(--bg-sunken)}
.spi-table td:first-child{font-weight:600}
.spi-table caption{caption-side:bottom;padding:.7rem 1rem;font-size:.8rem;color:var(--text-muted);text-align:start}

/* payments table */
.spi-pay__method{display:flex;align-items:center;gap:.6rem;white-space:nowrap}
.spi-pay__method .spi-icon{color:var(--accent-ink);width:1.2rem;height:1.2rem}

/* ---------- FAQ: boxed ---------- */
.spi-faq-list{display:flex;flex-direction:column;gap:.75rem}
:is(.spi-faq,.spi-faq-list) details{background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--rad);padding-inline:clamp(1rem,2vw,1.35rem)}
:is(.spi-faq,.spi-faq-list) details[open]{border-color:var(--accent);background:var(--bg-card)}
:is(.spi-faq,.spi-faq-list) summary{display:flex;align-items:baseline;gap:.5rem;cursor:pointer;padding:1rem 0;font-weight:600;list-style:none;font-family:var(--font-body)}
:is(.spi-faq,.spi-faq-list) summary::-webkit-details-marker{display:none}
:is(.spi-faq,.spi-faq-list) summary::before{content:'+';flex:0 0 auto;font-family:var(--font-mono);font-weight:700;color:var(--accent-ink);transition:transform .2s}
:is(.spi-faq,.spi-faq-list) details[open] summary::before{content:'−'}
:is(.spi-faq,.spi-faq-list) details > :not(summary){padding:.5rem 0 1rem}

/* ---------- table of contents ---------- */
.spi-toc{display:flex;flex-direction:column;gap:.8rem;padding:clamp(1rem,2vw,1.4rem);background:var(--bg-sunken);border:1px solid var(--border);border-left:3px solid var(--accent-2);border-radius:var(--rad)}
.spi-toc__title{font:800 .74rem/1.2 var(--font-head);letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}
.spi-toc ol,.spi-toc ul{list-style:none;margin:0;padding:0;counter-reset:spi-toc;display:flex;flex-direction:column;gap:.5rem}
.spi-toc li{counter-increment:spi-toc;min-width:0}
.spi-toc li::before{content:counter(spi-toc,decimal-leading-zero);margin-right:.6rem;font:700 .76rem/1 var(--font-mono);color:var(--accent-2)}
.spi-toc a{color:var(--text-main);text-decoration:none;font-weight:600;font-size:.94rem}
.spi-toc a:hover{color:var(--accent-ink);text-decoration:underline}

/* ---------- legal body ---------- */
.spi-legal{counter-reset:spi-clause;max-width:72ch}
.spi-legal h2{counter-increment:spi-clause;margin-top:var(--sp-3);font-size:clamp(1.15rem,1.9vw,1.4rem)}
.spi-legal h2:first-child{margin-top:0}
.spi-legal h2::before{content:counter(spi-clause) ". ";font-family:var(--font-mono);font-size:.8em;color:var(--accent-ink)}
.spi-legal h3{margin-top:var(--sp-2);font-size:1.02rem}
.spi-legal p,.spi-legal ul,.spi-legal ol{margin-top:1rem}
.spi-legal ul,.spi-legal ol{padding-inline-start:1.3rem;display:flex;flex-direction:column;gap:.5rem}
.spi-legal__meta{font-size:.85rem;color:var(--text-muted);padding-bottom:var(--sp-1);border-bottom:1px solid var(--border);margin-bottom:var(--sp-2)}

/* ---------- slot / game tiles ---------- */
.spi-rtp{display:grid;gap:clamp(.6rem,1.5vw,1rem);grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:640px){.spi-rtp{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:960px){.spi-rtp{grid-template-columns:repeat(4,minmax(0,1fr))}}
.spi-rtp-item{position:relative;overflow:hidden;min-width:0;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--rad)}
.spi-rtp-item__thumb{display:block;aspect-ratio:3/2;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--bg-dark),#14456E 60%,var(--accent))}
.spi-rtp-item__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.spi-rtp-item__name{display:block;padding:.6rem .7rem;font-size:.85rem;font-weight:600}
.spi-rtp-tooltip{position:absolute;bottom:0;inset-inline:0;opacity:0;transition:opacity .2s;padding:.55rem .7rem;background:rgba(8,16,26,.93);color:var(--text-invert);font:600 .76rem/1.4 var(--font-mono)}
.spi-rtp-item:hover .spi-rtp-tooltip,.spi-rtp-item:focus-within .spi-rtp-tooltip{opacity:1}

/* ---------- CTA block (dark panel, accent edge) ---------- */
.spi-cta{background:var(--bg-dark);border-color:transparent;border-top:3px solid var(--accent);box-shadow:none;color:var(--text-invert)}
.spi-cta__inner{display:flex;flex-direction:column;gap:var(--sp-1);align-items:flex-start;text-align:left}
.spi-cta h2,.spi-cta h3{color:var(--text-invert)}
.spi-cta p{color:rgba(244,248,252,.82);margin:0}
.spi-cta .spi-eyebrow{color:var(--accent-2)}
.spi-cta .spi-fineprint{color:rgba(244,248,252,.65)}
.spi-cta .spi-actions{justify-content:flex-start}

/* ---------- sticky bottom nav (mobile) ---------- */
.spi-sticky-nav{display:none}
@media (max-width:767px){
  .spi-sticky-nav{display:flex;position:fixed;inset-inline:0;bottom:0;z-index:60;gap:.3rem;padding:.45rem .4rem;background:var(--bg-dark);border-top:1px solid var(--border-dark)}
  .spi-sticky-nav a{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.3rem .2rem;color:rgba(244,248,252,.82);text-decoration:none;font:700 .62rem/1.2 var(--font-head);letter-spacing:.06em;text-transform:uppercase;text-align:center}
  .spi-sticky-nav a:hover,.spi-sticky-nav a[aria-current="page"]{color:var(--accent-2)}
  .spi-sticky-nav .spi-icon{width:1.25rem;height:1.25rem}
  body:has(.spi-sticky-nav){padding-bottom:72px}
}

/* ---------- chat widget ---------- */
.spi-chat-btn{position:fixed;right:1rem;bottom:1rem;z-index:70;display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1rem;background:var(--accent);color:#05101B;border:0;border-radius:var(--rad);box-shadow:0 10px 26px -12px rgba(11,22,35,.6);cursor:pointer;font:800 .76rem/1 var(--font-head);letter-spacing:.09em;text-transform:uppercase}
.spi-chat-btn:hover{background:var(--accent-hi)}
.spi-chat{display:none;position:fixed;right:1rem;bottom:5rem;z-index:71;width:min(360px,calc(100% - 2rem));padding:1.1rem;background:var(--bg-card);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--rad);box-shadow:0 24px 50px -24px rgba(11,22,35,.55)}
.spi-chat.is-open{display:block}
.spi-chat__title{font:800 .8rem/1.2 var(--font-head);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.6rem}
.spi-chat p{font-size:.9rem}
@media (max-width:767px){
  .spi-chat-btn{bottom:5.5rem}
  .spi-chat{bottom:9.5rem}
}

/* ======================= FOOTER (dark bar) ======================= */
.spi-footer{margin-top:var(--sp-2);background:var(--bg-dark);border-top:3px solid var(--accent);color:rgba(244,248,252,.78)}
.spi-footer__top{display:grid;gap:clamp(1.5rem,3vw,2.5rem);padding-block:clamp(2.1rem,4vw,3.1rem)}
.spi-footer__top > *{min-width:0}
@media (min-width:760px){.spi-footer__top{grid-template-columns:1.5fr 1fr 1fr}}
.spi-footer__col{display:flex;flex-direction:column;gap:.8rem}
.spi-footer__title{font:800 .74rem/1.2 var(--font-head);letter-spacing:.15em;text-transform:uppercase;color:#fff}
.spi-footer__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.1rem}
.spi-footer__links a{display:inline-block;padding-block:.45rem}
.spi-footer a{color:rgba(244,248,252,.78);text-decoration:none;font-size:.94rem}
.spi-footer a:hover{color:#fff;text-decoration:underline}
.spi-footer__note{font-size:.88rem;line-height:1.7;margin:0}
.spi-footer__meta{font:600 .78rem/1.6 var(--font-mono);color:rgba(244,248,252,.6)}
.spi-footer__disclaimer{display:flex;flex-direction:column;gap:.8rem;padding-block:clamp(1.1rem,2vw,1.5rem);border-top:1px solid var(--border-dark);font-size:.84rem;line-height:1.7;color:rgba(244,248,252,.7)}
.spi-footer__rg{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;padding-block:clamp(1rem,2vw,1.3rem);border-top:1px solid var(--border-dark)}
.spi-age{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border:2px solid var(--accent-2);border-radius:var(--rad);color:var(--accent-2);font:700 .84rem/1 var(--font-mono)}
.spi-microline{margin:0;font:600 .82rem/1.6 var(--font-body);color:rgba(244,248,252,.86)}
.spi-footer__bottom{padding-block:1.1rem;border-top:1px solid var(--border-dark);font-size:.8rem;color:rgba(244,248,252,.58)}

/* ======================= RESPONSIVE SAFETY ======================= */
@media (max-width:620px){
  .spi-facts__row{flex-direction:column;align-items:flex-start;gap:.15rem}
  .spi-facts__row dd{text-align:start}
  .spi-feature__icon{width:40px;height:40px}
  .spi-feature__icon .spi-icon{width:1.25rem;height:1.25rem}
}
@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}
figure,blockquote,dl,dd,fieldset{margin:0}
/* sa-logo-chip */
.spi-footer .spi-logo__img{filter:none;background:transparent;padding:0}
.spi-footer .spi-footer__logo-chip{background:transparent;padding:0}
/* sa-logo-fit */
.spi-logo__img{object-fit:contain}
/* sa-ph-media */
.spi-page-header:has(.spi-hero__img){position:relative;overflow:hidden;isolation:isolate;min-height:clamp(200px,30vh,300px);display:flex;flex-direction:column;justify-content:center}
.spi-page-header:has(.spi-hero__img) .spi-hero__img{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;margin:0;z-index:0}
.spi-page-header:has(.spi-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(.spi-page-header:has(.spi-hero__img)>:not(.spi-hero__img)){position:relative}
.spi-page-header:has(.spi-hero__img)>:not(.spi-hero__img){z-index:2}
.spi-page-header:has(.spi-hero__img),.spi-page-header:has(.spi-hero__img) h1,.spi-page-header:has(.spi-hero__img) a,.spi-page-header:has(.spi-hero__img) p,.spi-page-header:has(.spi-hero__img) li,.spi-page-header:has(.spi-hero__img) span{color:#fff}
/* sa-hero-media */
.spi-hero:has(>.spi-hero__img){position:relative;isolation:isolate}
.spi-hero:has(>.spi-hero__img)>.spi-hero__img{z-index:0}
.spi-hero:has(>.spi-hero__img)::after{z-index:1}
:where(.spi-hero:has(>.spi-hero__img)>:not(.spi-hero__img)){position:relative}
.spi-hero:has(>.spi-hero__img)>:not(.spi-hero__img){z-index:2}
/* sa-rhythm v3 */
:where(.spi-table-wrap){margin-block:1.5rem}
:where(main) :where(ul,ol,table,.spi-table-wrap,.spi-qf,.spi-cats,.spi-features,.spi-stats,.spi-steps,.spi-cards)+p{margin-block-start:1rem}
main :is(ul,ol,table,.spi-table-wrap,.spi-rtp,.spi-steps,.spi-cards,.spi-features)+:is(.spi-actions,div:has(>.spi-btn),p:has(>.spi-btn)){margin-block-start:1.25rem}
/* sa-table-thead */
.spi-table-wrap thead th,.spi-table-wrap thead{position:static}
/* sa-slot-link v2 */
.spi-rtp-item,.spi-rtp-item:hover,.spi-rtp-item:focus{color:inherit;text-decoration:none;cursor:pointer}
:where(.spi-rtp-item){display:block}
/* sa-table-narrow: до 640px таблица раскладывается строками «заголовок → значение»
   (подпись колонки из data-label) — вместо горизонтального скролла, в котором
   обрезались шапка и caption, а строки распирало пустотой */
@media (max-width:640px){
  .spi-table-wrap{overflow-x:visible}
  .spi-table{min-width:0;display:flex;flex-direction:column;font-size:.92rem}
  .spi-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .spi-table tbody{display:block;order:0}
  .spi-table tbody tr{display:block;padding:.65rem .85rem;border-top:1px solid var(--border)}
  .spi-table tbody tr:first-child{border-top:0}
  .spi-table td{display:flex;gap:.75rem;align-items:baseline;padding:.3rem 0;border:0}
  .spi-table td::before{
    content:attr(data-label);flex:0 0 40%;
    font:800 .66rem/1.5 var(--font-head);letter-spacing:.09em;text-transform:uppercase;
    color:var(--text-muted);
  }
  .spi-pay__method{white-space:normal;align-items:flex-start}
  .spi-table caption{display:block;order:1;padding:.65rem .85rem}
}
/* sa-hero-overlay-mobile: на узком экране текст идёт во всю ширину — градиент
   из горизонтального становится вертикальным, иначе правый край почти прозрачный */
@media (max-width:899px){
  .spi-hero--inner:has(.spi-hero__img)::after,
  .spi-page-header:has(.spi-hero__img)::after{
    background:linear-gradient(180deg,rgba(8,16,26,.86) 0%,rgba(8,16,26,.76) 100%);
  }
}
/* sa-rtp-touch */
.spi-rtp-item__thumb{display:block}
@media (hover:none){.spi-rtp-item__thumb{aspect-ratio:auto;overflow:visible}.spi-rtp-item__thumb img{height:auto}.spi-rtp-tooltip{position:static;opacity:1;background:transparent;border-top:0;padding:.4rem .7rem 0;font-size:.74rem;line-height:1.35}.spi-rtp-item__name{padding-top:.35rem}}
