/* ══════════════════════════════════════════════════════════════════════════
   /sports-betting-software-providers — page-isolated stylesheet
   AISHTMLNEWDESIGN-341

   Visual direction: "FLOODLIT BOARD".

   This page does not sell a night at a table — it sells the BOARD: markets,
   prices, risk controls, and a platform an operator can deploy in weeks. So
   the register is a night match seen from the trading side, built from two
   materials and one signal:

     · NIGHT  — floodlit navy (#081426 / #0e1e36), used for three bands as
                the page's structural punctuation. It is a true blue-black
                (hue 214), deliberately NOT the neutral graphite of
                /slot-machine-source-code nor the slate of
                /card-game-development, so the three are told apart at a
                glance rather than on inspection.
     · CHALK  — the pitch line: a 1px white hairline at 12–14% opacity. It
                is the page's only decorative device, used as a static
                repeating gradient on dark bands and as row rules on light
                ones. No glow, no shimmer, no gradient family.
     · LIVE   — one signal (#0b7a4b, white on it = 5.4:1). It is the only
                colour that ever carries an action. There is no second
                action hue and no accent gradient. Its light twin (#4ade9a)
                appears ONLY on night, never as a button on paper.

   Deliberately distinct from every sibling in this repo:
     /slot-machine-source-code   neutral graphite + brand indigo
     /card-game-development      card-stock linen + slate + violet
     /slot-machine-programming   baize green ground + brass
     /slot-machine-html-code     near-black + jackpot amber
     /casino-software-provider   dark petrol
   None pairs a floodlit navy ground with a single deep-green action colour,
   and none uses the board-row ledger as its composition motif.

   Composition motif: the BOARD ROW — a tabular-numeral index chip set against
   a hairline rule. It indexes the nine open-source benefits as a vertical
   ledger and the eight core advantages as a horizontal scoreboard, so the
   page's two eight-and-nine item blocks never read as the same grid. A third
   list (the customized features) drops the chip entirely for the record's own
   check icon. There is no three-up card grid anywhere on this page.

   Every rule is scoped to #page-sports-betting-software-providers, so this
   file can never touch the shared header/footer — those are owned by
   /assets/css/ais-*.css + /assets/js/ais-header.js / ais-footer.js. The UA
   body-margin reset is NOT restated here: /assets/css/ais-layout.css owns it
   (skill section 33), and restating it per page is how thirty copies drift.

   Design contract (frontend-design skill):
     · rule  1 — Inter is the primary family
     · rule  2 — nothing below 16px, anywhere, captions and labels included
     · rule 23 — no slate-gray body copy on light surfaces (#333f54 floor)
     · rule 24 — image-free full-bleed hero, static gradient, centred column
     · rule 25 — one CTA per section, every label unique page-wide
     · rule 26 — no running animation: zero @keyframes, zero 'infinite',
                 transitions only, each a finite response to hover/focus/click
   ══════════════════════════════════════════════════════════════════════════ */

#page-sports-betting-software-providers{
  /* ── night: the structural dark ─────────────────────────────────────── */
  --night:#081426;
  --night-2:#0e1e36;
  --night-3:#16294a;
  --chalk:rgba(255,255,255,.13);
  --chalk-2:rgba(255,255,255,.22);
  --on-night:#eef3fa;          /* 15.9:1 on night */
  --on-night-2:#a9b8cd;        /*  9.5:1 on night */

  /* ── paper: the reading surfaces ────────────────────────────────────── */
  --paper:#ffffff;
  --tint:#f1f5fa;
  --tint-2:#e3ebf4;
  --line:#d5dfea;
  --line-strong:#b8c6d6;

  /* ── text on light — both clear AA on paper AND on tint ─────────────── */
  --text:#101a2b;              /* 17.4:1 on paper */
  --text-2:#333f54;            /*  9.5:1 on paper, 8.7:1 on tint */

  /* ── pitch: the one green surface, used for a single band ───────────── */
  --pitch:#0a3b28;
  --pitch-2:#0d4a32;

  /* ── live: the ONLY action colour ───────────────────────────────────── */
  --live:#0b7a4b;              /* white on this = 5.4:1 */
  --live-d:#085c39;
  --live-l:#4ade9a;            /* on night only — 10.9:1 */

  --r:14px;
  --r-s:9px;

  font-family:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:16px;
  line-height:1.6;
  color:var(--text);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* ─── SELF-CONTAINED BASELINE ─────────────────────────────────────────────
   Declared again in the page's inline <style> (which validate-conversion.py
   reads); repeated here so the rule survives if the inline block is trimmed. */
#page-sports-betting-software-providers a{text-decoration:none;color:inherit;}

/* BORDER-BOX — not optional. The hero is `width:100%` plus a 24px inline
   padding, so under the UA default content-box it measured viewport+48px and
   the whole document scrolled sideways: a full-bleed band that is WIDER than
   the viewport is just as broken as one that is narrower (skill section 33).
   Scoped to the wrapper so it cannot reach the shared header/footer. */
#page-sports-betting-software-providers,
#page-sports-betting-software-providers *,
#page-sports-betting-software-providers *::before,
#page-sports-betting-software-providers *::after{box-sizing:border-box;}

/* Element resets are wrapped in :where() so they carry ZERO specificity and
   can never beat a component rule — the failure mode that once flattened four
   centred H3s on /make-your-own-slot-machine. */
#page-sports-betting-software-providers :where(h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd,figure,blockquote){margin:0;}
#page-sports-betting-software-providers :where(ul,ol){padding:0;list-style:none;}
#page-sports-betting-software-providers :where(img){max-width:100%;height:auto;display:block;}
#page-sports-betting-software-providers :where(button){font:inherit;}
#page-sports-betting-software-providers :where(:focus-visible){
  outline:3px solid var(--live-l);outline-offset:3px;border-radius:4px;
}

/* ══ LAYOUT PRIMITIVES ═══════════════════════════════════════════════════ */
#page-sports-betting-software-providers .sbp-wrap{
  width:100%;max-width:1200px;margin-inline:auto;padding-inline:24px;
}
#page-sports-betting-software-providers .sbp-sec{
  padding-block:clamp(56px,6.5vw,104px);
}
#page-sports-betting-software-providers .sbp-sec--paper{background:var(--paper);}
#page-sports-betting-software-providers .sbp-sec--tint{background:var(--tint);}
#page-sports-betting-software-providers .sbp-sec--night{
  background:var(--night);color:var(--on-night-2);
  /* CHALK: a static pitch grid. No animation, no url(), no image. */
  background-image:
    repeating-linear-gradient(90deg,var(--chalk) 0 1px,transparent 1px 132px);
}
#page-sports-betting-software-providers .sbp-sec--night p{color:var(--on-night-2);}

#page-sports-betting-software-providers .sbp-head{
  max-width:820px;margin-bottom:clamp(32px,3.6vw,52px);
}
#page-sports-betting-software-providers .sbp-head--centre{
  margin-inline:auto;text-align:center;
}
#page-sports-betting-software-providers .sbp-eyebrow{
  font-size:16px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--live);margin-bottom:14px;
}
#page-sports-betting-software-providers .sbp-eyebrow--light{color:var(--live-l);}

#page-sports-betting-software-providers .sbp-h2{
  font-size:clamp(30px,3.5vw,46px);line-height:1.14;font-weight:800;
  letter-spacing:-.02em;color:var(--text);
}
#page-sports-betting-software-providers .sbp-h2--light{color:var(--on-night);}
#page-sports-betting-software-providers .sbp-h2--wide{max-width:18ch;}
#page-sports-betting-software-providers .sbp-head .sbp-h2--wide{max-width:none;}

#page-sports-betting-software-providers .sbp-link{
  color:var(--live);font-weight:600;
  border-bottom:1px solid rgba(11,122,75,.4);
  transition:border-color .18s ease,color .18s ease;
}
#page-sports-betting-software-providers .sbp-link:hover{color:var(--live-d);border-bottom-color:var(--live-d);}
#page-sports-betting-software-providers .sbp-link--light{
  color:var(--live-l);border-bottom-color:rgba(74,222,154,.45);
}
#page-sports-betting-software-providers .sbp-link--light:hover{color:#8df0bf;border-bottom-color:#8df0bf;}

/* ══ BUTTONS ═════════════════════════════════════════════════════════════
   Rule 13 — one shape, two grounds. There is no secondary variant sitting
   beside a primary anywhere on this page. */
#page-sports-betting-software-providers .sbp-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:14px 30px;border-radius:999px;border:2px solid transparent;
  font-size:17px;font-weight:700;letter-spacing:.01em;cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .12s ease;
}
#page-sports-betting-software-providers .sbp-btn--live{background:var(--live);color:#ffffff;}
#page-sports-betting-software-providers .sbp-btn--live:hover{background:var(--live-d);}
#page-sports-betting-software-providers .sbp-btn--ink{background:var(--night);color:#ffffff;}
#page-sports-betting-software-providers .sbp-btn--ink:hover{background:var(--live);}
#page-sports-betting-software-providers .sbp-btn:active{transform:translateY(1px);}

#page-sports-betting-software-providers .sbp-cta-row{
  margin-top:clamp(30px,3.4vw,48px);display:flex;justify-content:center;
}
#page-sports-betting-software-providers .sbp-cta-row--left{justify-content:flex-start;}

/* ══ THE BOARD-ROW INDEX CHIP ════════════════════════════════════════════
   The page's one composition motif. Tabular numerals in a hairline pill. It
   is never interactive and never the sole carrier of meaning. */
#page-sports-betting-software-providers .sbp-idx{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:44px;height:32px;padding:0 10px;border-radius:6px;
  font-size:16px;font-weight:700;letter-spacing:.06em;
  font-variant-numeric:tabular-nums;
  border:1px solid var(--chalk-2);color:var(--live-l);background:rgba(255,255,255,.04);
}
#page-sports-betting-software-providers .sbp-idx--dark{
  border-color:var(--line);color:var(--live);background:var(--tint);
}
#page-sports-betting-software-providers .sbp-idx--light{
  border-color:var(--chalk-2);color:var(--live-l);background:rgba(255,255,255,.04);
}

/* ══ HERO ════════════════════════════════════════════════════════════════
   Rule 24 — full-bleed, image-free, STATIC gradient, centred readable column,
   exactly one CTA. Nothing here moves and nothing here loads. */
#page-sports-betting-software-providers .sbp-hero{
  width:100%;
  padding:clamp(72px,9vw,132px) 24px clamp(60px,7vw,96px);
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 148px),
    linear-gradient(168deg,#0a1830 0%,#081426 46%,#061019 100%);
  color:var(--on-night);
  border-bottom:1px solid var(--night-3);
}
#page-sports-betting-software-providers .sbp-hero__inner{
  max-width:900px;margin-inline:auto;text-align:center;
}
#page-sports-betting-software-providers .sbp-hero__tag{
  font-size:16px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--live-l);margin-bottom:20px;
}
#page-sports-betting-software-providers .sbp-hero h1{
  font-size:clamp(38px,5.2vw,64px);line-height:1.06;font-weight:900;
  letter-spacing:-.028em;color:#ffffff;margin-bottom:24px;
}
#page-sports-betting-software-providers .sbp-hero__copy{
  font-size:clamp(17px,1.25vw,19px);line-height:1.68;color:#cbd7e6;
  max-width:760px;margin-inline:auto;margin-bottom:34px;
}
#page-sports-betting-software-providers .sbp-hero__modes{
  display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;
  margin-top:38px;padding-top:30px;border-top:1px solid var(--chalk);
}
#page-sports-betting-software-providers .sbp-hero__modes li{
  display:flex;align-items:center;gap:12px;
  font-size:17px;font-weight:600;color:var(--on-night);
}
#page-sports-betting-software-providers .sbp-hero__note{
  margin-top:26px;font-size:16px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:#8fa2ba;
}
#page-sports-betting-software-providers .sbp-hero__facts{
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;
}
#page-sports-betting-software-providers .sbp-hero__facts li{
  font-size:16px;font-weight:600;color:var(--on-night-2);
  border:1px solid var(--chalk);border-radius:999px;padding:8px 18px;
}

/* ══ BREADCRUMB ══════════════════════════════════════════════════════════ */
#page-sports-betting-software-providers .sbp-crumbbar{
  background:var(--night-2);border-bottom:1px solid var(--night-3);
}
#page-sports-betting-software-providers .sbp-crumb{
  display:flex;align-items:center;gap:10px;padding-block:6px;
  font-size:16px;color:var(--on-night-2);
}
#page-sports-betting-software-providers .sbp-crumb img{width:16px;height:16px;filter:invert(1) opacity(.7);}
#page-sports-betting-software-providers .sbp-crumb a{
  display:inline-flex;align-items:center;min-height:44px;
  font-weight:600;color:var(--live-l);
}
#page-sports-betting-software-providers .sbp-crumb a:hover{color:#8df0bf;}
#page-sports-betting-software-providers .sbp-crumb [aria-current]{color:var(--on-night);}

/* ══ LEDE — asymmetric copy / plate spread ═══════════════════════════════ */
#page-sports-betting-software-providers .sbp-lede__grid{
  display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  gap:clamp(32px,4.4vw,68px);align-items:center;
}
#page-sports-betting-software-providers .sbp-lede__copy .sbp-h2{margin-bottom:22px;}
#page-sports-betting-software-providers .sbp-lede__copy p{
  font-size:17px;line-height:1.72;color:var(--text-2);
}
#page-sports-betting-software-providers .sbp-lede__copy p + p{margin-top:18px;}
#page-sports-betting-software-providers .sbp-plate{
  border-radius:var(--r);overflow:hidden;border:1px solid var(--line);
  background:var(--tint);
}
#page-sports-betting-software-providers .sbp-plate img{width:100%;}

/* ══ SPORT COVERAGE — a fixture board, not a card grid ═══════════════════ */
/* Each asset is a COMPLETE 214x120 white card carrying its own sport name as
   vector outlines — not a 48px glyph. Squeezing it into an icon box made the
   baked-in label illegible AND printed every name twice, once in the artwork
   and once in a caption beneath. So the tile IS the card: natural ratio, no
   added caption, and a centred flex wrap so the 13th card does not leave five
   dead cells in a fixed grid track. */
#page-sports-betting-software-providers .sbp-sports{
  display:flex;flex-wrap:wrap;justify-content:center;gap:16px;
}
#page-sports-betting-software-providers .sbp-sports li{
  flex:0 0 auto;width:clamp(150px,14vw,198px);
  border-radius:10px;overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease;
}
#page-sports-betting-software-providers .sbp-sports li:hover{
  transform:translateY(-4px);box-shadow:0 12px 26px rgba(0,0,0,.4);
}
#page-sports-betting-software-providers .sbp-sports img{width:100%;aspect-ratio:214/120;}

/* ══ COLLABORATE BAND — the page's one green surface ═════════════════════ */
#page-sports-betting-software-providers .sbp-band{
  background:linear-gradient(100deg,var(--pitch) 0%,var(--pitch-2) 100%);
  padding-block:clamp(48px,5.4vw,78px);color:#ffffff;
}
#page-sports-betting-software-providers .sbp-band__grid{
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(26px,3.4vw,52px);align-items:center;
}
#page-sports-betting-software-providers .sbp-band .sbp-eyebrow{color:#8df0bf;}
#page-sports-betting-software-providers .sbp-band .sbp-h2{color:#ffffff;}
#page-sports-betting-software-providers .sbp-band__sub{
  margin-top:14px;font-size:19px;font-weight:600;color:#c6ebd8;
}
#page-sports-betting-software-providers .sbp-band .sbp-btn--ink{background:#ffffff;color:var(--pitch);}
#page-sports-betting-software-providers .sbp-band .sbp-btn--ink:hover{background:#c6ebd8;color:var(--pitch);}

/* ══ BOARD LEDGER — the nine open-source benefits, read DOWN ═════════════ */
#page-sports-betting-software-providers .sbp-board{
  border-top:1px solid var(--line);
}
#page-sports-betting-software-providers .sbp-row{
  display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:clamp(18px,2.4vw,36px);align-items:start;
  padding-block:26px;border-bottom:1px solid var(--line);
  transition:background-color .18s ease;
}
#page-sports-betting-software-providers .sbp-row:hover{background:var(--tint);}
#page-sports-betting-software-providers .sbp-row h3{
  font-size:20px;font-weight:700;line-height:1.3;color:var(--text);margin-bottom:8px;
}
#page-sports-betting-software-providers .sbp-row p{font-size:17px;line-height:1.68;color:var(--text-2);}

/* ══ SCOREBOARD — the eight core advantages, read ACROSS ═════════════════ */
#page-sports-betting-software-providers .sbp-grid8{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;background:var(--chalk);
  border:1px solid var(--chalk);border-radius:var(--r);overflow:hidden;
}
#page-sports-betting-software-providers .sbp-grid8 li{
  background:var(--night);padding:30px 24px;
  transition:background-color .18s ease;
}
#page-sports-betting-software-providers .sbp-grid8 li:hover{background:var(--night-2);}
#page-sports-betting-software-providers .sbp-grid8 h3{
  margin:16px 0 10px;font-size:19px;font-weight:700;line-height:1.3;color:var(--on-night);
}
#page-sports-betting-software-providers .sbp-grid8 p{font-size:16px;line-height:1.65;}

/* ══ HANGING LABELS — custom development ════════════════════════════════ */
#page-sports-betting-software-providers .sbp-hang dt{
  font-size:22px;font-weight:700;line-height:1.3;color:var(--text);
  padding-top:26px;border-top:2px solid var(--night);
}
#page-sports-betting-software-providers .sbp-hang dt + dd{
  margin:12px 0 34px;font-size:17px;line-height:1.72;color:var(--text-2);max-width:74ch;
}
#page-sports-betting-software-providers .sbp-hang dd:last-child{margin-bottom:0;}

/* ══ PLATFORM TARGETS ═══════════════════════════════════════════════════ */
#page-sports-betting-software-providers .sbp-targets{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,30px);
}
/* The three tiles are DARK on a light section, and not for variety's sake:
   desktop-version.svg, web-version.svg and mobile-version.svg are pure
   fill="white" glyphs drawn for a dark card. On a white tile all three were
   rendered, sized and completely invisible — present in the layout, absent to
   the reader. A dark tile is what these assets were authored for. */
#page-sports-betting-software-providers .sbp-targets li{
  background:var(--night);border:1px solid var(--night-3);border-radius:var(--r);
  padding:34px 28px;text-align:center;color:var(--on-night-2);
  transition:border-color .18s ease,transform .18s ease;
}
#page-sports-betting-software-providers .sbp-targets li:hover{border-color:var(--live-l);transform:translateY(-4px);}
/* These three ARE plain glyphs (36x32, 36x37, 22x37) — very different
   aspects, so they are sized by HEIGHT with an auto width. A square box
   would stretch the 22x37 mobile glyph by two thirds. */
#page-sports-betting-software-providers .sbp-targets img{height:56px;width:auto;margin:0 auto 18px;}
#page-sports-betting-software-providers .sbp-targets h3{font-size:21px;font-weight:700;color:var(--on-night);margin-bottom:10px;}
#page-sports-betting-software-providers .sbp-targets p{font-size:17px;line-height:1.68;color:var(--on-night-2);}

/* ══ CHECKED FEATURE LIST — the third eight-item block, chip-free ═══════ */
#page-sports-betting-software-providers .sbp-feats{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:clamp(28px,3.6vw,60px);
}
#page-sports-betting-software-providers .sbp-feats li{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;
  padding-block:24px;border-bottom:1px solid var(--line);
}
#page-sports-betting-software-providers .sbp-feats img{width:23px;height:23px;margin-top:4px;}
#page-sports-betting-software-providers .sbp-feats h3{font-size:19px;font-weight:700;line-height:1.32;color:var(--text);margin-bottom:8px;}
#page-sports-betting-software-providers .sbp-feats p{font-size:17px;line-height:1.68;color:var(--text-2);}

/* ══ GAME OFFERINGS — plate beside a link index ═════════════════════════ */
#page-sports-betting-software-providers .sbp-offer__grid{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(32px,4.4vw,64px);align-items:start;
}
#page-sports-betting-software-providers .sbp-offer__copy .sbp-h2{margin-bottom:26px;}
#page-sports-betting-software-providers .sbp-plate--offer{background:var(--paper);}
#page-sports-betting-software-providers .sbp-chips{
  display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start;
}
#page-sports-betting-software-providers .sbp-chips a{
  display:inline-block;padding:11px 18px;border-radius:999px;
  background:var(--paper);border:1px solid var(--line);
  font-size:16px;font-weight:600;color:var(--text);line-height:1.35;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}
#page-sports-betting-software-providers .sbp-chips a:hover{background:var(--live);border-color:var(--live);color:#ffffff;}

/* ══ CLOSING CTA BAND ═══════════════════════════════════════════════════ */
#page-sports-betting-software-providers .sbp-cta{
  padding-block:clamp(60px,7vw,108px);
  background:
    repeating-linear-gradient(90deg,var(--chalk) 0 1px,transparent 1px 132px),
    linear-gradient(180deg,var(--night-2) 0%,var(--night) 100%);
  color:var(--on-night);
}
#page-sports-betting-software-providers .sbp-cta__inner{max-width:840px;text-align:center;margin-inline:auto;}
#page-sports-betting-software-providers .sbp-cta__copy{
  margin-top:22px;font-size:18px;line-height:1.7;color:var(--on-night-2);
}
#page-sports-betting-software-providers .sbp-cta__sub{
  margin-top:26px;font-size:22px;font-weight:700;color:var(--live-l);
}
#page-sports-betting-software-providers .sbp-cta .sbp-cta-row{margin-top:26px;}
#page-sports-betting-software-providers .sbp-aside{margin-top:20px;font-size:17px;color:var(--on-night-2);}

/* ══ WHY CHOOSE — prose beside a key-benefit stack ══════════════════════ */
#page-sports-betting-software-providers .sbp-why__grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(32px,4.4vw,64px);align-items:start;
}
#page-sports-betting-software-providers .sbp-prose p{font-size:17px;line-height:1.75;color:var(--text-2);}
#page-sports-betting-software-providers .sbp-prose p + p{margin-top:18px;}
#page-sports-betting-software-providers .sbp-keys{
  background:var(--tint);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(24px,2.8vw,36px);
}
#page-sports-betting-software-providers .sbp-keys__h{
  font-size:20px;font-weight:800;color:var(--text);
  padding-bottom:16px;border-bottom:2px solid var(--live);margin-bottom:6px;
}
#page-sports-betting-software-providers .sbp-keys dt{padding-top:20px;}
#page-sports-betting-software-providers .sbp-keys dt h4{font-size:18px;font-weight:700;color:var(--text);}
#page-sports-betting-software-providers .sbp-keys dd{
  margin-top:7px;padding-bottom:20px;border-bottom:1px solid var(--line);
  font-size:16px;line-height:1.65;color:var(--text-2);
}
#page-sports-betting-software-providers .sbp-keys dd:last-child{border-bottom:0;padding-bottom:0;}

/* ══ FAQ — user-initiated disclosure only ═══════════════════════════════ */
#page-sports-betting-software-providers .sbp-faq{
  max-width:900px;margin-inline:auto;
  border-top:1px solid var(--line-strong);
}
#page-sports-betting-software-providers .sbp-faq details{border-bottom:1px solid var(--line-strong);}
#page-sports-betting-software-providers .sbp-faq summary{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;
  padding:22px 4px;cursor:pointer;list-style:none;
  transition:color .18s ease;
}
#page-sports-betting-software-providers .sbp-faq summary::-webkit-details-marker{display:none;}
#page-sports-betting-software-providers .sbp-faq summary h2{
  font-size:19px;font-weight:700;line-height:1.4;color:var(--text);
}
#page-sports-betting-software-providers .sbp-faq summary:hover h2{color:var(--live);}
#page-sports-betting-software-providers .sbp-faq__n{
  font-size:16px;font-weight:800;color:var(--live);
  font-variant-numeric:tabular-nums;min-width:34px;
}
#page-sports-betting-software-providers .sbp-faq__pm{
  position:relative;width:20px;height:20px;flex:none;
}
#page-sports-betting-software-providers .sbp-faq__pm::before,
#page-sports-betting-software-providers .sbp-faq__pm::after{
  content:"";position:absolute;left:50%;top:50%;background:var(--live);
  transform:translate(-50%,-50%);transition:opacity .18s ease;
}
#page-sports-betting-software-providers .sbp-faq__pm::before{width:16px;height:2px;}
#page-sports-betting-software-providers .sbp-faq__pm::after{width:2px;height:16px;}
#page-sports-betting-software-providers .sbp-faq details[open] .sbp-faq__pm::after{opacity:0;}
#page-sports-betting-software-providers .sbp-faq__a{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;
  padding:0 4px 24px 4px;
}
#page-sports-betting-software-providers .sbp-faq__ans{
  font-size:16px;font-weight:800;color:var(--text-2);min-width:34px;
}
#page-sports-betting-software-providers .sbp-faq__a p{font-size:17px;line-height:1.72;color:var(--text-2);}

/* ══ STORIES — click-to-load video facades ══════════════════════════════ */
#page-sports-betting-software-providers .sbp-stories{
  padding-block:clamp(56px,6.5vw,100px);background:var(--night-2);color:var(--on-night-2);
}
#page-sports-betting-software-providers .sbp-storylist{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,30px);
}
#page-sports-betting-software-providers .sbp-story{
  display:flex;flex-direction:column;
  background:var(--night);border:1px solid var(--night-3);border-radius:var(--r);overflow:hidden;
}
#page-sports-betting-software-providers .sbp-vid{
  position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;
}
#page-sports-betting-software-providers .sbp-vid img{width:100%;aspect-ratio:3/2;object-fit:cover;}
#page-sports-betting-software-providers .sbp-vid__play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:62px;height:62px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--live);color:#ffffff;padding-left:4px;
  transition:background-color .18s ease;
}
#page-sports-betting-software-providers .sbp-vid:hover .sbp-vid__play{background:var(--live-d);}
#page-sports-betting-software-providers .sbp-story__frame{
  width:100%;aspect-ratio:3/2;border:0;display:block;
}
#page-sports-betting-software-providers .sbp-story blockquote{
  padding:22px 24px;font-size:17px;line-height:1.68;color:var(--on-night-2);
}
#page-sports-betting-software-providers .sbp-more{margin-top:30px;text-align:center;font-size:17px;font-weight:600;}

/* ══ LINK INDEX ═════════════════════════════════════════════════════════ */
#page-sports-betting-software-providers .sbp-links{
  columns:3;column-gap:clamp(24px,3vw,48px);
}
#page-sports-betting-software-providers .sbp-links li{
  break-inside:avoid;border-bottom:1px solid var(--line);
}
/* The padding lives on the ANCHOR, not the <li>: this is a standalone
   navigation list of sixty links, so the whole row must be the tap target.
   With padding on the li the hit area was the 20px text box (skill section 17
   / WCAG 2.5.8); block + padding takes each row past 44px. */
#page-sports-betting-software-providers .sbp-links a{
  display:block;padding-block:12px;
  font-size:16px;line-height:1.5;color:var(--text-2);font-weight:500;
  transition:color .18s ease;
}
#page-sports-betting-software-providers .sbp-links a:hover{color:var(--live);}

/* ══ AREA WE SERVE ══════════════════════════════════════════════════════ */
#page-sports-betting-software-providers .sbp-regions{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.4vw,28px);
}
#page-sports-betting-software-providers .sbp-region{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;
}
#page-sports-betting-software-providers .sbp-region h3{
  display:flex;align-items:center;gap:10px;
  font-size:17px;font-weight:800;letter-spacing:.08em;color:var(--text);margin-bottom:14px;
}
#page-sports-betting-software-providers .sbp-region h3 img{width:14px;height:20px;flex:none;}
/* A tel: link is the single most-tapped control in this section on a phone,
   so it gets a real target rather than a 27px text box (skill section 17). */
#page-sports-betting-software-providers .sbp-tel{
  display:inline-flex;align-items:center;min-height:44px;
  font-size:17px;font-weight:700;color:var(--live);margin-bottom:4px;
}
#page-sports-betting-software-providers .sbp-tel:hover{color:var(--live-d);}
#page-sports-betting-software-providers .sbp-region p{font-size:16px;line-height:1.62;color:var(--text-2);}

/* ══ CTA MODAL ══════════════════════════════════════════════════════════ */
#page-sports-betting-software-providers .sbp-modal{
  display:none;position:fixed;inset:0;z-index:9999;
  padding:20px;overflow-y:auto;background:rgba(4,10,20,.76);
}
#page-sports-betting-software-providers .sbp-modal.is-open{display:flex;align-items:flex-start;justify-content:center;}
#page-sports-betting-software-providers .sbp-modal__box{
  position:relative;width:100%;max-width:640px;margin:auto;
  background:var(--paper);border-radius:18px;overflow:hidden;
  box-shadow:0 30px 70px rgba(0,0,0,.5);
}
#page-sports-betting-software-providers .sbp-modal__x{
  position:absolute;top:12px;right:12px;z-index:2;
  width:38px;height:38px;border-radius:50%;border:1px solid var(--line);
  background:var(--paper);color:var(--text);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
#page-sports-betting-software-providers .sbp-modal__x:hover{background:var(--live);color:#ffffff;border-color:var(--live);}
/* Skill rule 20 — the GHL widget is a TWO-SLIDE survey whose slides differ in
   height and it never posts its own height (it emits only ["iframeLoaded"]),
   so any FIXED height either wastes space under slide 1 or clips slide 2's
   SUBMIT bar. The fix already landed on /blackjack-software-script
   (AISHTMLNEWDESIGN-326) is reused verbatim rather than re-derived: GHL's own
   form_embed.js starts their iFrameResizer and sizes the iframe per slide,
   and it is loaded on FIRST MODAL OPEN so no third-party JS reaches the
   critical path. The resizer overshoots the widget's own scrollHeight by
   exactly 5px; the negative margin cancels ONLY that, and the box's
   overflow:hidden clips it. Until the resizer initialises (or if the script
   is blocked) the iframe keeps a floor tall enough for the WORST slide and
   drops the negative margin, so a failed script degrades to "a little roomy",
   never to a clipped SUBMIT. Do NOT raise the negative margin. */
#page-sports-betting-software-providers .sbp-modal iframe{
  display:block;width:100%;border:0;margin-bottom:-5px;
}
#page-sports-betting-software-providers .sbp-modal iframe:not([data-iframe-resizer-initialized]){
  min-height:1290px;margin-bottom:0;
}

/* ══ RESPONSIVE ═════════════════════════════════════════════════════════ */
@media (max-width:1080px){
  #page-sports-betting-software-providers .sbp-grid8{grid-template-columns:repeat(2,minmax(0,1fr));}
  #page-sports-betting-software-providers .sbp-links{columns:2;}
  #page-sports-betting-software-providers .sbp-regions{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:900px){
  #page-sports-betting-software-providers .sbp-lede__grid,
  #page-sports-betting-software-providers .sbp-offer__grid,
  #page-sports-betting-software-providers .sbp-why__grid{grid-template-columns:minmax(0,1fr);}
  #page-sports-betting-software-providers .sbp-band__grid{grid-template-columns:minmax(0,1fr);}
  #page-sports-betting-software-providers .sbp-feats{grid-template-columns:minmax(0,1fr);}
  #page-sports-betting-software-providers .sbp-targets{grid-template-columns:minmax(0,1fr);}
  #page-sports-betting-software-providers .sbp-storylist{grid-template-columns:minmax(0,1fr);}
  #page-sports-betting-software-providers .sbp-h2--wide{max-width:none;}
}
@media (max-width:640px){
  #page-sports-betting-software-providers .sbp-wrap{padding-inline:18px;}
  #page-sports-betting-software-providers .sbp-hero{padding-inline:18px;}
  #page-sports-betting-software-providers .sbp-grid8{grid-template-columns:minmax(0,1fr);}
  #page-sports-betting-software-providers .sbp-links{columns:1;}
  #page-sports-betting-software-providers .sbp-regions{grid-template-columns:minmax(0,1fr);}
  #page-sports-betting-software-providers .sbp-sports li{width:calc(50% - 8px);}
  /* Single column: the index chip is a GRID ITEM, so without justify-self it
     stretches to the full track and reads as a full-width bar, not a chip. */
  #page-sports-betting-software-providers .sbp-row{grid-template-columns:minmax(0,1fr);gap:12px;}
  #page-sports-betting-software-providers .sbp-row .sbp-idx{justify-self:start;}
  #page-sports-betting-software-providers .sbp-btn{width:100%;}
  #page-sports-betting-software-providers .sbp-cta-row{justify-content:stretch;}
  #page-sports-betting-software-providers .sbp-hero__modes{flex-direction:column;align-items:center;}
}

/* Rule 26 — the transitions above are the page's ONLY motion, and each is a
   finite response to hover, focus, press or details-open. There is no
   @keyframes rule in this file and no 'animation' declaration. This block
   exists so that even those transitions stand down when asked. */
@media (prefers-reduced-motion:reduce){
  #page-sports-betting-software-providers *,
  #page-sports-betting-software-providers *::before,
  #page-sports-betting-software-providers *::after{
    transition-duration:.01ms !important;
    animation:none !important;
  }
}
