/* /football-betting-software — AISHTMLNEWDESIGN-429
   Page-owned styles. EVERY selector is scoped to #page-football-betting-software or a
   fbs- prefixed class: this sheet must never style body, a bare
   element, #ais-header or #ais-footer. The document reset
   (html,body{margin:0}) is owned by the shared layout sheet.
   Font is Inter; no body/UI text below 16px.

   DIRECTION — "ADDED TIME": the fourth official's board and the ninety minutes of a
   fixture. Board-ink grounds, an amber signal, and minute-tick rules drawn entirely
   in repeating-linear-gradient (never an image, never in motion). Square corners,
   ruled matrices and hairline separators rather than rounded cards. No pitch green,
   no floodlight glow, no club or competition marks.

   Every anchor rule below carries the wrapper id, because the page's inline baseline
   `#page-football-betting-software a{color:inherit}` has id-level specificity and
   would otherwise out-rank a class-only anchor rule. */

#page-football-betting-software {
  --fbs-ink: #0b111a;
  --fbs-ink-2: #121b27;
  --fbs-ink-3: #1b2635;
  --fbs-paper: #f4f7fa;
  --fbs-white: #ffffff;
  --fbs-line: #dbe2ec;
  --fbs-line-onink: rgba(255, 255, 255, 0.14);
  --fbs-text: #111826;
  --fbs-text-2: #38445a;
  --fbs-onink: #eef3fa;
  --fbs-onink-2: #b8c6d8;
  --fbs-signal: #ffc21a;
  --fbs-signal-deep: #8a6100;

  font-family: "Inter", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--fbs-text);
  background: var(--fbs-white);
  -webkit-font-smoothing: antialiased;
}

/* No global box model exists in this document chain — own it, scoped. */
#page-football-betting-software,
#page-football-betting-software *,
#page-football-betting-software *::before,
#page-football-betting-software *::after { box-sizing: border-box; }

#page-football-betting-software .fbs-wrap {
  width: 100%;
  max-width: 1220px;
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 40px);
}

/* ── shared type ─────────────────────────────────────────────────────────── */
#page-football-betting-software .fbs-h2 {
  margin: 0 0 20px;
  font-size: clamp(30px, 3.5vw, 46px);
  line-height: 1.14;
  font-weight: 800;
  letter-spacing: -0.018em;
  color: var(--fbs-text);
}
#page-football-betting-software .fbs-h2.fbs-h2--onink { color: var(--fbs-onink); }

#page-football-betting-software .fbs-h3 {
  margin: 0 0 14px;
  font-size: clamp(19px, 1.6vw, 22px);
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: 0.07em;
  color: var(--fbs-onink);
}
#page-football-betting-software .fbs-h4 {
  margin: 0;
  font-size: clamp(18px, 1.5vw, 20px);
  line-height: 1.45;
  font-weight: 650;
  color: var(--fbs-onink);
}
#page-football-betting-software .fbs-h5 {
  margin: 0 0 12px;
  font-size: clamp(19px, 1.5vw, 22px);
  line-height: 1.3;
  font-weight: 750;
  letter-spacing: -0.005em;
  color: var(--fbs-text);
}
#page-football-betting-software .fbs-h5.fbs-h5--onink { color: var(--fbs-onink); }

/* the minute-tick mark: a ruled 90-minute strip closed by a signal block */
#page-football-betting-software .fbs-tick {
  display: block;
  position: relative;
  width: 104px;
  height: 12px;
  margin: 0 0 24px;
  background: repeating-linear-gradient(90deg,
              rgba(17, 24, 38, 0.55) 0 2px, transparent 2px 10px);
}
#page-football-betting-software .fbs-tick::after {
  content: "";
  position: absolute;
  top: 0;
  right: -18px;
  width: 12px;
  height: 12px;
  background: var(--fbs-signal);
}
#page-football-betting-software .fbs-tick.fbs-tick--onink {
  background: repeating-linear-gradient(90deg,
              rgba(255, 255, 255, 0.42) 0 2px, transparent 2px 10px);
}

/* ── buttons ─────────────────────────────────────────────────────────────── */
#page-football-betting-software .fbs-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 14px 32px;
  border: 2px solid transparent;
  border-radius: 2px;
  font-family: inherit;
  font-size: 17px;
  font-weight: 750;
  letter-spacing: 0.01em;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: transform 160ms ease, background-color 160ms ease,
              color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
#page-football-betting-software .fbs-btn:active { transform: translateY(1px); }
#page-football-betting-software .fbs-btn:disabled { opacity: 0.55; cursor: not-allowed; }

#page-football-betting-software .fbs-btn.fbs-btn--signal {
  background: var(--fbs-signal);
  color: #14202f;
  border-color: var(--fbs-signal);
  box-shadow: 0 10px 26px rgba(255, 194, 26, 0.22);
}
#page-football-betting-software .fbs-btn.fbs-btn--signal:hover {
  background: #ffd257;
  border-color: #ffd257;
}
#page-football-betting-software .fbs-btn.fbs-btn--signal:focus-visible {
  outline: 3px solid var(--fbs-white);
  outline-offset: 3px;
}

#page-football-betting-software .fbs-btn.fbs-btn--outline {
  background: transparent;
  color: var(--fbs-signal);
  border-color: var(--fbs-signal);
}
#page-football-betting-software .fbs-btn.fbs-btn--outline:hover {
  background: var(--fbs-signal);
  color: #14202f;
}
#page-football-betting-software .fbs-btn.fbs-btn--outline:focus-visible {
  outline: 3px solid var(--fbs-onink);
  outline-offset: 3px;
}

#page-football-betting-software .fbs-btn.fbs-btn--ink,
#page-football-betting-software a.fbs-btn.fbs-btn--ink {
  background: var(--fbs-ink);
  color: var(--fbs-onink);
  border-color: var(--fbs-ink);
}
#page-football-betting-software .fbs-btn.fbs-btn--ink:hover,
#page-football-betting-software a.fbs-btn.fbs-btn--ink:hover {
  background: var(--fbs-ink-3);
  border-color: var(--fbs-ink-3);
  box-shadow: inset 0 -4px 0 0 var(--fbs-signal);
}
#page-football-betting-software .fbs-btn.fbs-btn--ink:focus-visible,
#page-football-betting-software a.fbs-btn.fbs-btn--ink:focus-visible {
  outline: 3px solid var(--fbs-signal);
  outline-offset: 3px;
}

/* in-copy links: never a second button */
#page-football-betting-software a.fbs-inlink {
  color: var(--fbs-signal-deep);
  font-weight: 650;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  transition: color 140ms ease, background-color 140ms ease;
}
#page-football-betting-software a.fbs-inlink:hover {
  color: var(--fbs-text);
  background: rgba(255, 194, 26, 0.28);
}
#page-football-betting-software a.fbs-inlink:focus-visible {
  outline: 2px solid var(--fbs-signal-deep);
  outline-offset: 2px;
}

/* ── hero — full-bleed, image-free, static ground, one CTA ───────────────── */
#page-football-betting-software .fbs-hero {
  position: relative;
  width: 100%;
  padding: clamp(72px, 9vw, 132px) 24px clamp(84px, 10vw, 140px);
  background:
    radial-gradient(120% 88% at 50% -8%, rgba(255, 194, 26, 0.13) 0%, rgba(255, 194, 26, 0) 58%),
    linear-gradient(168deg, #0b111a 0%, #131d2b 52%, #0a1019 100%);
}
#page-football-betting-software .fbs-hero__inner {
  max-width: 900px;
  margin-inline: auto;
  text-align: center;
}
#page-football-betting-software .fbs-hero__h1 {
  margin: 0 0 24px;
  font-size: clamp(38px, 5.2vw, 66px);
  line-height: 1.06;
  font-weight: 800;
  letter-spacing: -0.028em;
  color: var(--fbs-onink);
}
#page-football-betting-software .fbs-hero__lede {
  margin: 0 auto 34px;
  max-width: 800px;
  font-size: clamp(17px, 1.4vw, 19px);
  line-height: 1.72;
  color: var(--fbs-onink-2);
}
#page-football-betting-software .fbs-hero__rule {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 10px;
  background:
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.20) 0 1px, transparent 1px 13px),
    repeating-linear-gradient(90deg, var(--fbs-signal) 0 3px, transparent 3px 130px),
    var(--fbs-ink);
}

/* ── breadcrumb ──────────────────────────────────────────────────────────── */
#page-football-betting-software .fbs-crumb {
  background: var(--fbs-white);
  border-bottom: 1px solid var(--fbs-line);
}
#page-football-betting-software .fbs-crumb__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding-block: 16px;
}
#page-football-betting-software a.fbs-crumb__back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--fbs-line);
  border-radius: 2px;
  transition: border-color 140ms ease, background-color 140ms ease;
}
#page-football-betting-software a.fbs-crumb__back:hover {
  border-color: var(--fbs-ink);
  background: var(--fbs-paper);
}
#page-football-betting-software a.fbs-crumb__back:focus-visible {
  outline: 2px solid var(--fbs-signal-deep);
  outline-offset: 2px;
}
#page-football-betting-software .fbs-crumb__back img { display: block; }
#page-football-betting-software a.fbs-crumb__link {
  font-size: 16px;
  font-weight: 600;
  color: var(--fbs-text-2);
  transition: color 140ms ease;
}
#page-football-betting-software a.fbs-crumb__link:hover { color: var(--fbs-signal-deep); }
#page-football-betting-software a.fbs-crumb__link:focus-visible {
  outline: 2px solid var(--fbs-signal-deep);
  outline-offset: 2px;
}
#page-football-betting-software .fbs-crumb__here {
  font-size: 16px;
  font-weight: 700;
  color: var(--fbs-text);
}

/* ── intro plate ─────────────────────────────────────────────────────────── */
#page-football-betting-software .fbs-intro {
  background: var(--fbs-paper);
  padding-block: clamp(52px, 7vw, 96px);
}
#page-football-betting-software .fbs-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  gap: clamp(30px, 4vw, 64px);
  align-items: center;
}
#page-football-betting-software .fbs-intro__plate {
  position: relative;
  padding: 0 clamp(0px, 3vw, 44px) clamp(34px, 5vw, 62px) 0;
}
#page-football-betting-software .fbs-intro__bg {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--fbs-line);
  border-top: 4px solid var(--fbs-signal);
  border-radius: 2px;
  background: var(--fbs-white);
}
#page-football-betting-software .fbs-intro__shot {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 46%;
  height: auto;
  border: 7px solid var(--fbs-white);
  border-radius: 2px;
  background: var(--fbs-white);
  box-shadow: 0 18px 44px rgba(11, 17, 26, 0.20);
}
#page-football-betting-software .fbs-intro__copy p {
  margin: 0;
  font-size: 17px;
  line-height: 1.78;
  color: var(--fbs-text-2);
}

/* ── collaborate band ────────────────────────────────────────────────────── */
#page-football-betting-software .fbs-collab {
  position: relative;
  background:
    linear-gradient(150deg, #101927 0%, #0c1320 62%, #131d2b 100%);
  padding-top: clamp(56px, 7.5vw, 104px);
}
/* 2026-09-12 — .fbs-collab__fig (the collaborate-bg.webp panel) was REMOVED AT THE
   REVIEWER'S REQUEST and its rules deleted with it. The band was a two-column grid
   whose right column held only that figure, so it is now a single column: the copy
   reflows to a readable measure instead of leaving a stranded half-band. Do not
   re-add — deliberate, not a conversion defect. */
#page-football-betting-software .fbs-collab__grid {
  display: block;
}
#page-football-betting-software .fbs-collab__copy {
  max-width: 900px;
}
#page-football-betting-software .fbs-collab__lede {
  margin: 0 0 30px;
  max-width: 62ch;
  font-size: clamp(17px, 1.4vw, 19px);
  line-height: 1.72;
  color: var(--fbs-onink-2);
}
#page-football-betting-software .fbs-band__rule {
  display: block;
  height: 10px;
  margin-top: clamp(48px, 6vw, 84px);
  background:
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.16) 0 1px, transparent 1px 13px),
    repeating-linear-gradient(90deg, var(--fbs-signal) 0 3px, transparent 3px 130px),
    var(--fbs-ink);
}

/* ── the edge matrix — ruled, not a card deck ────────────────────────────── */
#page-football-betting-software .fbs-edge {
  background: var(--fbs-paper);
  padding-block: clamp(60px, 8vw, 110px);
}
#page-football-betting-software .fbs-edge__title {
  max-width: 940px;
  margin-bottom: clamp(30px, 4vw, 52px);
}
#page-football-betting-software .fbs-edge__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 3px solid var(--fbs-ink);
  border-left: 1px solid var(--fbs-line);
}
#page-football-betting-software .fbs-slab {
  padding: clamp(26px, 3vw, 40px);
  border-right: 1px solid var(--fbs-line);
  border-bottom: 1px solid var(--fbs-line);
  background: var(--fbs-white);
  transition: box-shadow 170ms ease, background-color 170ms ease;
}
#page-football-betting-software .fbs-slab.fbs-slab--lead {
  grid-column: 1 / -1;
}
#page-football-betting-software .fbs-slab:hover {
  background: var(--fbs-white);
  box-shadow: inset 4px 0 0 0 var(--fbs-signal), 0 14px 34px rgba(11, 17, 26, 0.08);
}
#page-football-betting-software .fbs-slab__mark {
  display: block;
  width: 24px;
  height: 24px;
  margin-bottom: 18px;
}
#page-football-betting-software .fbs-slab p {
  margin: 0;
  font-size: 17px;
  line-height: 1.75;
  color: var(--fbs-text-2);
  max-width: 74ch;
}

/* ── integrate: the team-sheet rows ──────────────────────────────────────── */
#page-football-betting-software .fbs-integrate {
  background: linear-gradient(180deg, #0c1320 0%, #101827 100%);
  padding-block: clamp(60px, 8vw, 110px);
}
#page-football-betting-software .fbs-integrate__title {
  max-width: 960px;
  margin-bottom: clamp(26px, 3.5vw, 44px);
}
#page-football-betting-software .fbs-sheet {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--fbs-line-onink);
}
#page-football-betting-software .fbs-sheet__row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(18px, 3vw, 44px);
  padding: clamp(24px, 3.2vw, 40px) clamp(0px, 1.5vw, 20px);
  border-bottom: 1px solid var(--fbs-line-onink);
  transition: background-color 170ms ease;
}
#page-football-betting-software .fbs-sheet__row:hover {
  background: rgba(255, 255, 255, 0.035);
}
#page-football-betting-software .fbs-sheet__block {
  display: block;
  width: 14px;
  height: 46px;
  margin-top: 6px;
  background: var(--fbs-signal);
}
#page-football-betting-software .fbs-sheet__row:nth-child(even) .fbs-sheet__block {
  background: repeating-linear-gradient(180deg,
              var(--fbs-signal) 0 7px, transparent 7px 14px);
}
#page-football-betting-software .fbs-sheet__body p {
  margin: 0;
  font-size: 17px;
  line-height: 1.75;
  color: var(--fbs-onink-2);
  max-width: 82ch;
}

/* ── hire band ───────────────────────────────────────────────────────────── */
#page-football-betting-software .fbs-lead {
  background: var(--fbs-white);
  padding-block: clamp(60px, 8vw, 110px);
}
#page-football-betting-software .fbs-lead__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: center;
}
#page-football-betting-software .fbs-lead__fig {
  position: relative;
  margin: 0 0 0 16px;
}
#page-football-betting-software .fbs-lead__fig::before {
  content: "";
  position: absolute;
  left: -16px;
  bottom: -16px;
  width: 46%;
  height: 62%;
  background: repeating-linear-gradient(135deg,
              rgba(255, 194, 26, 0.55) 0 2px, transparent 2px 9px);
}
#page-football-betting-software .fbs-lead__fig img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  border-radius: 2px;
}
#page-football-betting-software .fbs-lead__lede {
  margin: 0 0 30px;
  font-size: clamp(17px, 1.4vw, 19px);
  line-height: 1.72;
  color: var(--fbs-text-2);
}

/* ── why choose — editorial two-column ───────────────────────────────────── */
#page-football-betting-software .fbs-why {
  background: var(--fbs-paper);
  padding-block: clamp(60px, 8vw, 110px);
}
#page-football-betting-software .fbs-why__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.5fr);
  gap: clamp(26px, 4vw, 64px);
  border-top: 3px solid var(--fbs-ink);
  padding-top: clamp(28px, 3.5vw, 48px);
}
#page-football-betting-software .fbs-why__title { margin: 0; }
#page-football-betting-software .fbs-why__cols p {
  margin: 0 0 22px;
  font-size: 17px;
  line-height: 1.8;
  color: var(--fbs-text-2);
}
#page-football-betting-software .fbs-why__cta { margin-top: 12px; }

/* ── FAQ ─────────────────────────────────────────────────────────────────── */
#page-football-betting-software .fbs-faq {
  background: linear-gradient(180deg, #0b111a 0%, #101a28 100%);
  padding-block: clamp(60px, 8vw, 110px);
}
#page-football-betting-software .fbs-faq__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.7fr);
  gap: clamp(26px, 4vw, 64px);
}
#page-football-betting-software .fbs-faq__head { align-self: start; }
#page-football-betting-software .fbs-faq__list {
  border-top: 1px solid var(--fbs-line-onink);
}
#page-football-betting-software .fbs-q {
  border-bottom: 1px solid var(--fbs-line-onink);
}
#page-football-betting-software .fbs-q summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 22px 0;
  min-height: 44px;
  cursor: pointer;
  list-style: none;
}
#page-football-betting-software .fbs-q summary::-webkit-details-marker { display: none; }
#page-football-betting-software .fbs-q summary:hover .fbs-h4 { color: var(--fbs-signal); }
#page-football-betting-software .fbs-q summary:focus-visible {
  outline: 2px solid var(--fbs-signal);
  outline-offset: 2px;
}
#page-football-betting-software .fbs-q[open] summary .fbs-h4 { color: var(--fbs-signal); }
#page-football-betting-software .fbs-q__sign {
  position: relative;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
}
#page-football-betting-software .fbs-q__sign::before,
#page-football-betting-software .fbs-q__sign::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: var(--fbs-signal);
  transform: translate(-50%, -50%);
  transition: transform 180ms ease, opacity 180ms ease;
}
#page-football-betting-software .fbs-q__sign::before { width: 20px; height: 2px; }
#page-football-betting-software .fbs-q__sign::after { width: 2px; height: 20px; }
#page-football-betting-software .fbs-q[open] .fbs-q__sign::after {
  transform: translate(-50%, -50%) scaleY(0);
  opacity: 0;
}
#page-football-betting-software .fbs-q__a p {
  margin: 0 0 24px;
  font-size: 17px;
  line-height: 1.78;
  color: var(--fbs-onink-2);
  max-width: 78ch;
}

/* ── customer success stories ────────────────────────────────────────────── */
#page-football-betting-software .fbs-stories {
  background: var(--fbs-paper);
  padding-block: clamp(60px, 8vw, 110px);
}
#page-football-betting-software .fbs-stories__title { margin-bottom: clamp(26px, 3.5vw, 44px); }
#page-football-betting-software .fbs-stories__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 30px);
}
#page-football-betting-software .fbs-story {
  margin: 0;
  background: var(--fbs-white);
  border: 1px solid var(--fbs-line);
  border-top: 3px solid var(--fbs-ink);
  border-radius: 2px;
  overflow: hidden;
  transition: box-shadow 170ms ease, border-color 170ms ease;
}
#page-football-betting-software .fbs-story:hover {
  border-top-color: var(--fbs-signal);
  box-shadow: 0 16px 38px rgba(11, 17, 26, 0.10);
}
#page-football-betting-software .fbs-story__media { position: relative; }
#page-football-betting-software .fbs-vid {
  display: block;
  position: relative;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  line-height: 0;
  cursor: pointer;
}
#page-football-betting-software .fbs-vid img {
  display: block;
  width: 100%;
  height: auto;
}
#page-football-betting-software .fbs-vid__play {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 62px;
  height: 62px;
  margin: -31px 0 0 -31px;
  border-radius: 50%;
  background: var(--fbs-signal);
  box-shadow: 0 8px 22px rgba(11, 17, 26, 0.35);
  transition: transform 170ms ease, background-color 170ms ease;
}
#page-football-betting-software .fbs-vid__play::after {
  content: "";
  position: absolute;
  left: 25px;
  top: 20px;
  border-style: solid;
  border-width: 11px 0 11px 17px;
  border-color: transparent transparent transparent #14202f;
}
#page-football-betting-software .fbs-vid:hover .fbs-vid__play { transform: scale(1.08); }
#page-football-betting-software .fbs-vid:focus-visible {
  outline: 3px solid var(--fbs-signal-deep);
  outline-offset: -3px;
}
#page-football-betting-software .fbs-story__frame {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border: 0;
}
#page-football-betting-software .fbs-story__quote {
  margin: 0;
  padding: 24px clamp(20px, 2vw, 26px) 28px;
  border-left: 4px solid var(--fbs-signal);
}
#page-football-betting-software .fbs-story__quote p {
  margin: 0;
  font-size: 17px;
  line-height: 1.7;
  color: var(--fbs-text-2);
}
#page-football-betting-software .fbs-stories__more {
  margin: clamp(22px, 3vw, 32px) 0 0;
  font-size: 17px;
  font-weight: 650;
}

/* ── area we serve ───────────────────────────────────────────────────────── */
#page-football-betting-software .fbs-serve {
  background: linear-gradient(180deg, #101827 0%, #0a1018 100%);
  padding-block: clamp(60px, 8vw, 104px);
}
#page-football-betting-software .fbs-serve__title { margin-bottom: clamp(26px, 3.5vw, 44px); }
#page-football-betting-software .fbs-serve__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(20px, 2.6vw, 36px);
}
#page-football-betting-software .fbs-post {
  padding-top: 20px;
  border-top: 3px solid var(--fbs-signal);
}
#page-football-betting-software .fbs-post__tel { margin: 0 0 12px; }
#page-football-betting-software a[href^="tel:"] {
  font-size: 17px;
  font-weight: 750;
  color: var(--fbs-signal);
  transition: color 140ms ease;
}
#page-football-betting-software a[href^="tel:"]:hover { color: var(--fbs-white); }
#page-football-betting-software a[href^="tel:"]:focus-visible {
  outline: 2px solid var(--fbs-signal);
  outline-offset: 2px;
}
#page-football-betting-software .fbs-post__addr {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  font-size: 16px;
  line-height: 1.65;
  color: var(--fbs-onink-2);
}
#page-football-betting-software .fbs-post__addr img {
  flex: 0 0 auto;
  margin-top: 4px;
  filter: brightness(0) invert(1);
  opacity: 0.72;
}

/* ── CTA modal ───────────────────────────────────────────────────────────── */
#page-football-betting-software .fbs-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 99999;
  padding: 100px 20px 20px 20px;
  background: rgba(6, 10, 16, 0.74);
  overflow-y: auto;
}
#page-football-betting-software .fbs-modal.is-open {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
#page-football-betting-software .fbs-modal__box {
  position: relative;
  width: 100%;
  max-width: 640px;
  margin: auto;
  padding: 52px 16px 18px;
  background: var(--fbs-white);
  border-radius: 4px;
  border-top: 5px solid var(--fbs-signal);
  box-shadow: 0 30px 80px rgba(6, 10, 16, 0.5);
}
#page-football-betting-software .fbs-modal__x {
  position: absolute;
  top: 10px;
  right: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--fbs-line);
  border-radius: 2px;
  background: var(--fbs-white);
  color: var(--fbs-text);
  cursor: pointer;
  transition: background-color 140ms ease, border-color 140ms ease;
}
#page-football-betting-software .fbs-modal__x:hover {
  background: var(--fbs-paper);
  border-color: var(--fbs-ink);
}
#page-football-betting-software .fbs-modal__x:focus-visible {
  outline: 3px solid var(--fbs-signal-deep);
  outline-offset: 2px;
}
#page-football-betting-software .fbs-modal__frame iframe { display: block; }

/* ── responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  #page-football-betting-software .fbs-faq__grid,
  #page-football-betting-software .fbs-why__grid { grid-template-columns: minmax(0, 1fr); }
  #page-football-betting-software .fbs-serve__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #page-football-betting-software .fbs-stories__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
  #page-football-betting-software .fbs-intro__grid,
  #page-football-betting-software .fbs-lead__grid { grid-template-columns: minmax(0, 1fr); }
  #page-football-betting-software .fbs-lead__fig { order: 2; margin-left: 0; }
  #page-football-betting-software .fbs-lead__copy { order: 1; }
  #page-football-betting-software .fbs-edge__grid { grid-template-columns: minmax(0, 1fr); }
  #page-football-betting-software .fbs-intro__plate { padding: 0 0 clamp(28px, 8vw, 48px); }
  #page-football-betting-software .fbs-intro__shot { width: 52%; }
}

@media (max-width: 640px) {
  #page-football-betting-software .fbs-stories__grid,
  #page-football-betting-software .fbs-serve__grid { grid-template-columns: minmax(0, 1fr); }
  #page-football-betting-software .fbs-sheet__row {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  #page-football-betting-software .fbs-sheet__block { width: 46px; height: 12px; margin-top: 0; }
  #page-football-betting-software .fbs-sheet__row:nth-child(even) .fbs-sheet__block {
    background: repeating-linear-gradient(90deg,
                var(--fbs-signal) 0 7px, transparent 7px 14px);
  }
  #page-football-betting-software .fbs-btn { width: 100%; }
  #page-football-betting-software .fbs-intro__shot {
    position: static;
    display: block;
    width: 62%;
    margin: -14% 0 0 auto;
  }
  #page-football-betting-software .fbs-modal__box { padding: 52px 10px 12px; }
}

@media (max-width: 400px) {
  #page-football-betting-software .fbs-hero { padding-inline: 18px; }
  #page-football-betting-software .fbs-q summary { gap: 14px; }
}

/* Rule 26: the only motion on this page is a finite response to hover, focus,
   press or an accordion toggle. Honour the user's preference anyway. */
@media (prefers-reduced-motion: reduce) {
  #page-football-betting-software *,
  #page-football-betting-software *::before,
  #page-football-betting-software *::after {
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
}
