/* ══════════════════════════════════════════════════════════════════════════
   /sweepstakes-script — page-isolated stylesheet
   AISHTMLNEWDESIGN-574   (meta + JSON-LD from AISHTMLNEWDESIGN-188)

   Visual direction: "DEPLOY WINDOW".

   The page does not sell a game and it does not sell a service engagement —
   it sells a CODEBASE THAT IS ALREADY BUILT. The H1 is "Ready to Deploy".
   So the register is a release console, not a casino floor and not a ledger:

     · STAGE RAIL   — the repeating unit is a block with a hairline top rule
                      and a small uppercase mono tag sitting ON that rule, the
                      way a build stage is labelled. No drop-shadowed cards.
     · COOL METAL   — a light graphite paper (#f2f4f6) is the dominant ground.
                      Deep graphite (#12181d) is punctuation for four bands
                      only and is never the page's ground.
     · ONE SIGNAL   — teal (#0f766e) is the only hue that carries an action.
                      Amber (#b45309) appears ONLY as small mono ordinals and
                      tags, never as a surface and never as a button.

   Sibling avoidance — the six built sweepstakes pages are SWEEPS BUREAU
   (amber on near-black), TOKEN WINDOW (terracotta on brown), DISPATCH BOARD
   (cool paper + emerald, numbered LEFT GUTTER rows), MERIDIAN CONSOLE,
   CLEARING HOUSE and SIGNAL YARD. DISPATCH BOARD is the closest neighbour, so
   this page deliberately does NOT use its left-gutter numeral device: here the
   index sits inline on a top hairline as a stage tag, and the dominant repeat
   is a two-column ruled grid rather than a full-width manifest row.

   Composition: no two sections repeat a layout. Asymmetric prose+plate, a
   seven-cell stat rail, a three-column hairline grid, a game-tile grid, an
   18-mark provider wall, a five-group folio, a four-up screenshot grid, a
   two-column definition set, a 30-mark variant grid, spec plates, an
   icon+list channel set, a left-railed timeline, a flag manifest, a stack
   table and a <details> FAQ. There is no three-up icon-card grid anywhere.

   Everything is scoped to #page-sweepstakes-script, so this file can never
   reach the shared header/footer (owned by /assets/css/ais-*.css and
   /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).

   Design contract (.claude/skills/frontend-design/SKILL.md):
     · rule  1 — Inter is the primary family
     · rule  2 — nothing below 16px anywhere, including tags and captions
     · rule 23 — no slate-gray body copy on light surfaces (#3f4a52 floor)
     · rule 24 — image-free full-bleed hero, STATIC gradient, centred column
     · rule 25 — one CTA per section, every label unique page-wide. Seven:
                 Get Sweepstakes Script / Book a Free Consultation / Let's
                 Talk / Book a Call / Build Sweepstakes Script Fast / Get
                 Instant Sweepstakes Script Access / Launch Your Platform.
                 The record's "Learn More" and its three "Read More" links are
                 rendered as inline links, not buttons — duplicate CTA labels
                 are a WCAG 2.4.4 failure. The Try Our Demo actions are demo
                 destinations, one per repeated card, not conversion CTAs.
     · rule 26 — no running animation: zero @keyframes, zero 'infinite',
                 transitions only, each a finite response to hover/focus/click
     · rule 39A — every element that paints a background owns its foreground
                 on a tag-qualified, ancestor-scoped selector, never !important
   ══════════════════════════════════════════════════════════════════════════ */

#page-sweepstakes-script{
  /* ── palette ─────────────────────────────────────────────────────────── */
  --sw-ink:        #12181d;   /* deep graphite — band punctuation only       */
  --sw-ink-2:      #1b232a;   /* raised plate on the dark bands              */
  --sw-ground:     #f2f4f6;   /* light graphite paper — dominant ground      */
  --sw-paper:      #ffffff;
  --sw-signal:     #0f766e;   /* the ONLY action hue                         */
  --sw-signal-lit: #0d9488;
  --sw-amber:      #b45309;   /* mono ordinals + stage tags only             */
  --sw-text:       #131b21;
  --sw-text-2:     #3f4a52;   /* 8.1:1 on --sw-ground — rule 23 floor        */
  --sw-on-dark:    #e8edf0;
  --sw-on-dark-2:  #adbac3;   /* 8.4:1 on --sw-ink                           */
  --sw-line:       #d6dce1;
  --sw-line-dark:  #2b353d;

  --sw-wrap: 1220px;
  --sw-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

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

#page-sweepstakes-script *,
#page-sweepstakes-script *::before,
#page-sweepstakes-script *::after{ box-sizing: border-box; }

#page-sweepstakes-script img{ max-width: 100%; height: auto; }

#page-sweepstakes-script h1,
#page-sweepstakes-script h2,
#page-sweepstakes-script h3,
#page-sweepstakes-script h4{
  margin: 0 0 .5em;
  line-height: 1.2;
  letter-spacing: -.015em;
  color: var(--sw-text);
}
#page-sweepstakes-script h2{ font-size: clamp(28px, 3.2vw, 42px); font-weight: 800; }
#page-sweepstakes-script h3{ font-size: clamp(18px, 1.5vw, 21px); font-weight: 700; }
#page-sweepstakes-script h4{ font-size: clamp(22px, 2.4vw, 30px); font-weight: 800; }
#page-sweepstakes-script p{ margin: 0 0 1em; color: var(--sw-text-2); }
#page-sweepstakes-script ul,
#page-sweepstakes-script ol{ margin: 0; padding: 0; list-style: none; }

#page-sweepstakes-script .sws-wrap{
  max-width: var(--sw-wrap);
  margin-inline: auto;
  padding-inline: 24px;
}
#page-sweepstakes-script section{ padding-block: clamp(56px, 6vw, 92px); }

#page-sweepstakes-script .sws-lead{
  font-size: clamp(17px, 1.4vw, 19px);
  color: var(--sw-text);
}

/* ── the one action control ──────────────────────────────────────────── */
#page-sweepstakes-script .sws-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 30px;
  border: 1px solid var(--sw-signal);
  border-radius: 4px;
  background: var(--sw-signal);
  color: #ffffff;
  font-family: inherit;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .01em;
  cursor: pointer;
  transition: background-color .16s ease, border-color .16s ease, transform .16s ease;
}
#page-sweepstakes-script .sws-btn:hover{
  background: var(--sw-signal-lit);
  border-color: var(--sw-signal-lit);
  transform: translateY(-1px);
}
#page-sweepstakes-script .sws-btn:focus-visible{
  outline: 3px solid var(--sw-amber);
  outline-offset: 3px;
}
#page-sweepstakes-script .sws-btn:active{ transform: translateY(0); }
/* on the dark bands the teal fill is kept but the ring changes, so the button
   never becomes the only light object on an otherwise dark plate */
#page-sweepstakes-script .sws-hero .sws-btn--lit,
#page-sweepstakes-script .sws-band .sws-btn--lit,
#page-sweepstakes-script .sws-final .sws-btn--lit{
  background: var(--sw-signal-lit);
  border-color: #2dd4bf;
  color: #04211f;
}
#page-sweepstakes-script .sws-hero .sws-btn--lit:hover,
#page-sweepstakes-script .sws-band .sws-btn--lit:hover,
#page-sweepstakes-script .sws-final .sws-btn--lit:hover{ background: #2dd4bf; }

#page-sweepstakes-script .sws-inline{
  color: var(--sw-signal);
  font-weight: 600;
  border-bottom: 1px solid currentColor;
}
#page-sweepstakes-script .sws-inline:hover{ color: var(--sw-signal-lit); }
#page-sweepstakes-script .sws-inline:focus-visible{ outline: 2px solid var(--sw-signal); outline-offset: 3px; }
#page-sweepstakes-script .sws-band p a.sws-inline--lit,
#page-sweepstakes-script .sws-final p a.sws-inline--lit{ color: #5eead4; }

/* ══ HERO — rule 24: full-bleed, STATIC gradient, image-free, one CTA ══ */
#page-sweepstakes-script .sws-hero{
  width: 100%;
  padding: clamp(72px, 8vw, 124px) 24px clamp(64px, 7vw, 104px);
  background: linear-gradient(152deg, #0b1013 0%, #12181d 46%, #0d3b39 100%);
  border-bottom: 1px solid var(--sw-line-dark);
}
#page-sweepstakes-script .sws-hero__inner{
  max-width: 900px;
  margin-inline: auto;
  text-align: center;
}
#page-sweepstakes-script .sws-hero p.sws-hero__eyebrow{
  margin: 0 0 18px;
  font-family: var(--sw-mono);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #f0a45c;                       /* 6.6:1 on the hero ground          */
}
#page-sweepstakes-script .sws-hero h1{
  font-size: clamp(36px, 5vw, 62px);
  font-weight: 900;
  line-height: 1.06;
  color: #ffffff;
}
#page-sweepstakes-script .sws-hero p.sws-hero__lede{
  margin: 22px auto 32px;
  max-width: 780px;
  font-size: clamp(17px, 1.5vw, 19px);
  color: var(--sw-on-dark);             /* NOT a muted grey — rule 23        */
}
#page-sweepstakes-script .sws-hero__trust{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 30px;
  margin-top: 34px;
}
#page-sweepstakes-script .sws-hero__trust li{
  position: relative;
  padding-left: 22px;
  font-size: 16px;
  color: var(--sw-on-dark-2);
}
#page-sweepstakes-script .sws-hero__trust li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .62em;
  width: 9px;
  height: 9px;
  border: 2px solid #2dd4bf;
  border-radius: 2px;
}

/* ══ BREADCRUMB ══ */
#page-sweepstakes-script .sws-crumb{
  padding-block: 18px;
  background: var(--sw-paper);
  border-bottom: 1px solid var(--sw-line);
}
#page-sweepstakes-script .sws-crumb ol{ display: flex; align-items: center; gap: 10px; }
#page-sweepstakes-script .sws-crumb li{ font-size: 16px; color: var(--sw-text-2); }
#page-sweepstakes-script .sws-crumb li + li::before{ content: "/"; margin-right: 10px; color: var(--sw-line); }
#page-sweepstakes-script .sws-crumb a{ display: inline-flex; align-items: center; gap: 8px; color: var(--sw-signal); font-weight: 600; }
#page-sweepstakes-script .sws-crumb a:hover{ color: var(--sw-signal-lit); }

/* ══ INTRO — asymmetric prose + product plate ══ */
#page-sweepstakes-script .sws-intro{ background: var(--sw-paper); }
#page-sweepstakes-script .sws-intro__grid{
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: clamp(32px, 5vw, 76px);
  align-items: center;
}
#page-sweepstakes-script .sws-intro__fig{ margin: 0; }
#page-sweepstakes-script .sws-intro__fig img{
  display: block;
  width: 100%;
  border: 1px solid var(--sw-line);
  border-radius: 6px;
}

/* ══ STATS — seven-cell rail on the first dark band ══ */
#page-sweepstakes-script .sws-stats{ background: var(--sw-ink); }
#page-sweepstakes-script .sws-stats h2{ color: #ffffff; max-width: 20ch; }
#page-sweepstakes-script .sws-stats__row{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1px;
  margin-top: 40px;
  background: var(--sw-ink);
}
#page-sweepstakes-script .sws-stats__row li{
  box-shadow: 0 0 0 1px var(--sw-line-dark);
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 26px 20px;
  background: var(--sw-ink-2);
}
#page-sweepstakes-script .sws-stats__n{
  font-family: var(--sw-mono);
  font-size: clamp(26px, 2.6vw, 34px);
  font-weight: 700;
  color: #2dd4bf;
}
#page-sweepstakes-script .sws-stats__l{ font-size: 16px; color: var(--sw-on-dark-2); }

/* ══ THE STAGE-RAIL REPEAT — used by "why choose", services and hire ══ */
#page-sweepstakes-script .sws-rows{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 0 clamp(28px, 3vw, 52px);
  margin-top: 44px;
  counter-reset: sws-row;
}
#page-sweepstakes-script .sws-rows > li{
  counter-increment: sws-row;
  padding: 26px 0 24px;
  border-top: 1px solid var(--sw-line);
}
#page-sweepstakes-script .sws-rows > li::before{
  content: counter(sws-row, decimal-leading-zero);
  display: block;
  margin-bottom: 10px;
  font-family: var(--sw-mono);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--sw-amber);
}
#page-sweepstakes-script .sws-rows > li p{ margin: 0; }
#page-sweepstakes-script .sws-rows--tight > li{ padding: 20px 0 18px; }

#page-sweepstakes-script .sws-why{ background: var(--sw-ground); }
#page-sweepstakes-script .sws-serv{ background: var(--sw-paper); }

/* ══ CONSULT BAND — second dark punctuation ══ */
#page-sweepstakes-script .sws-band{
  background: linear-gradient(100deg, #12181d 0%, #10312f 100%);
}
#page-sweepstakes-script .sws-band__inner{ max-width: 900px; text-align: center; }
#page-sweepstakes-script .sws-band h2{ color: #ffffff; }
#page-sweepstakes-script .sws-band p{ color: var(--sw-on-dark); font-size: 18px; margin-bottom: 30px; }

/* ══ GAME SOLUTIONS + PROVIDER WALL ══ */
#page-sweepstakes-script .sws-games{ background: var(--sw-paper); }
#page-sweepstakes-script .sws-games h3.sws-sub{
  margin-top: 34px;
  font-family: var(--sw-mono);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sw-amber);
}
#page-sweepstakes-script .sws-chips{ display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
/* rule 39A — the chip paints a background, so it owns its foreground on a
   selector no prose rule in this sheet can outrank (0,3,1 vs 0,2,1). */
#page-sweepstakes-script .sws-games ul.sws-chips li{
  padding: 9px 16px;
  border: 1px solid var(--sw-line);
  border-radius: 3px;
  background: #eef6f5;
  color: #0b4f4a;
  font-size: 16px;
  font-weight: 600;
}
/* Six game tiles, laid out as 3 x 2 — a FIXED three-column track, not auto-fit.
   auto-fit sized the columns off the available width, which at desktop packed
   five tiles onto one row and orphaned Keno alone on the second. The count here
   is known and fixed at six, so the track count is declared rather than derived. */
#page-sweepstakes-script .sws-tiles{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 36px;
}
#page-sweepstakes-script .sws-tiles a{
  display: block;
  height: 100%;
  padding: 18px;
  border: 1px solid var(--sw-line);
  border-radius: 5px;
  background: var(--sw-paper);
  transition: border-color .16s ease, transform .16s ease;
}
#page-sweepstakes-script .sws-tiles a:hover{ border-color: var(--sw-signal); transform: translateY(-2px); }
#page-sweepstakes-script .sws-tiles img{
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;                  /* the six tile assets range 397x270 to
                                           397x506; without a shared box their
                                           headings sit on six baselines       */
  object-fit: cover;
  border-radius: 3px;
  background: var(--sw-ground);
}
#page-sweepstakes-script .sws-tiles h3{ margin: 14px 0 0; font-size: 18px; }
#page-sweepstakes-script .sws-wall{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 1px;
  margin-top: 34px;
  background: var(--sw-paper);
}
#page-sweepstakes-script .sws-wall li{
  box-shadow: 0 0 0 1px var(--sw-line);   /* ring, not a gap-fill — a ragged
                                             last row must not paint a slab   */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 12px;
  background: var(--sw-paper);
  text-align: center;
}
#page-sweepstakes-script .sws-wall img{ max-height: 46px; width: auto; object-fit: contain; }
#page-sweepstakes-script .sws-wall h3{ margin: 0; font-size: 16px; font-weight: 600; color: var(--sw-text-2); }
#page-sweepstakes-script .sws-games > .sws-wrap > .sws-btn{ margin-top: 40px; }

/* ══ PORTFOLIO — five manifest groups ══ */
#page-sweepstakes-script .sws-folio{ background: var(--sw-ground); }
#page-sweepstakes-script .sws-folio__set{ display: grid; gap: 34px; margin-top: 40px; }
#page-sweepstakes-script .sws-folio__grp{ padding: 0; border-top: 1px solid var(--sw-line); padding-top: 24px; }
#page-sweepstakes-script .sws-folio__grp h3{
  font-family: var(--sw-mono);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sw-amber);
}
#page-sweepstakes-script .sws-folio__grp ul{
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 18px;
}
#page-sweepstakes-script .sws-folio__grp li{
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 128px;
  min-height: 68px;
  padding: 10px 16px;
  background: var(--sw-paper);
  border: 1px solid var(--sw-line);
  border-radius: 4px;
}
#page-sweepstakes-script .sws-folio__grp img{ max-height: 42px; width: auto; object-fit: contain; }
#page-sweepstakes-script .sws-folio > .sws-wrap > .sws-btn{ margin-top: 40px; }

/* ══ SCREENSHOTS ══ */
#page-sweepstakes-script .sws-shots{ background: var(--sw-paper); }
#page-sweepstakes-script .sws-shots h2{ text-transform: none; }
#page-sweepstakes-script .sws-shots__grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 22px;
  margin-top: 40px;
}
#page-sweepstakes-script .sws-shots__grid img{
  display: block;
  width: 100%;
  border: 1px solid var(--sw-line);
  border-radius: 5px;
}

/* ══ CORE FEATURES — two-column ruled definition set ══ */
#page-sweepstakes-script .sws-feat{ background: var(--sw-ground); }
#page-sweepstakes-script .sws-feat__set{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 0 clamp(28px, 4vw, 64px);
  margin-top: 44px;
}
#page-sweepstakes-script .sws-feat__set > li{
  padding: 24px 0;
  border-bottom: 1px solid var(--sw-line);
}
#page-sweepstakes-script .sws-feat__set h3{ margin-bottom: 6px; }
#page-sweepstakes-script .sws-feat__set p{ margin: 0; }

/* ══ VARIANTS — 30-mark grid ══ */
#page-sweepstakes-script .sws-variants{ background: var(--sw-paper); }
#page-sweepstakes-script .sws-variants__grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 16px;
  margin-top: 40px;
}
#page-sweepstakes-script .sws-variants__grid li{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 16px 10px;
  border: 1px solid var(--sw-line);
  border-radius: 5px;
  background: var(--sw-paper);
  text-align: center;
  transition: border-color .16s ease;
}
#page-sweepstakes-script .sws-variants__grid li:hover{ border-color: var(--sw-signal); }
#page-sweepstakes-script .sws-variants__grid img{ width: 100%; max-width: 108px; border-radius: 4px; }
#page-sweepstakes-script .sws-variants__grid span{ font-size: 16px; color: var(--sw-text-2); }
#page-sweepstakes-script .sws-variants > .sws-wrap > .sws-btn{ margin-top: 40px; }

/* ══ SPEC PLATES — future-ready + explore ══ */
#page-sweepstakes-script .sws-plat{ background: var(--sw-ground); }
#page-sweepstakes-script .sws-explore{ background: var(--sw-ground); }
#page-sweepstakes-script .sws-plat__set,
#page-sweepstakes-script .sws-explore__set{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 22px;
  margin-top: 40px;
}
#page-sweepstakes-script .sws-plat__set article,
#page-sweepstakes-script .sws-explore__set article{
  padding: 26px 24px;
  background: var(--sw-paper);
  border: 1px solid var(--sw-line);
  border-top: 3px solid var(--sw-signal);
  border-radius: 0 0 5px 5px;
}
#page-sweepstakes-script .sws-plat__set ul li,
#page-sweepstakes-script .sws-explore__set ul li{
  position: relative;
  padding: 7px 0 7px 26px;
  font-size: 16px;
  color: var(--sw-text-2);
  border-top: 1px solid var(--sw-line);
}
#page-sweepstakes-script .sws-plat__set ul li:first-child,
#page-sweepstakes-script .sws-explore__set ul li:first-child{ border-top: 0; }
#page-sweepstakes-script .sws-explore__set ul li::before{
  content: "";
  position: absolute;
  left: 4px;
  top: 1.05em;
  width: 8px;
  height: 8px;
  border: 2px solid var(--sw-signal);
  border-radius: 50%;
}
#page-sweepstakes-script .sws-plat__set img.sws-tick{
  position: absolute;
  left: 2px;
  top: .85em;
  width: 14px;
  height: auto;
}

/* ══ MULTI-PLATFORM — icon + list channels ══ */
#page-sweepstakes-script .sws-multi{ background: var(--sw-paper); }
#page-sweepstakes-script .sws-multi__set{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 1px;
  margin-top: 40px;
  background: var(--sw-paper);
}
#page-sweepstakes-script .sws-multi__set article{
  padding: 28px 24px;
  background: var(--sw-paper);
  box-shadow: 0 0 0 1px var(--sw-line);
}
#page-sweepstakes-script .sws-multi__set img{ width: 48px; height: auto; margin-bottom: 14px; }
#page-sweepstakes-script .sws-multi__set ul{ margin-top: 14px; }
#page-sweepstakes-script .sws-multi__set ul li{
  padding: 6px 0 6px 20px;
  position: relative;
  font-size: 16px;
  color: var(--sw-text-2);
}
#page-sweepstakes-script .sws-multi__set ul li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 1.02em;
  width: 10px;
  height: 1px;
  background: var(--sw-amber);
}

/* ══ OTHER SOLUTIONS — link manifest + plate ══ */
#page-sweepstakes-script .sws-other{ background: var(--sw-ground); }
#page-sweepstakes-script .sws-other__grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .8fr);
  gap: clamp(32px, 5vw, 70px);
  align-items: center;
}
#page-sweepstakes-script .sws-other__list{ margin: 30px 0 34px; }
#page-sweepstakes-script .sws-other__list li{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 0;
  border-bottom: 1px solid var(--sw-line);
}
#page-sweepstakes-script .sws-other__list img.sws-tick{ margin-top: .35em; width: 14px; height: auto; flex: 0 0 auto; }
#page-sweepstakes-script .sws-other__list a{ font-size: 16px; font-weight: 600; color: var(--sw-text); }
#page-sweepstakes-script .sws-other__list a:hover{ color: var(--sw-signal); }
#page-sweepstakes-script .sws-other__fig{ margin: 0; }
#page-sweepstakes-script .sws-other__fig img{ display: block; width: 100%; border-radius: 6px; }

/* ══ APPROACH — nine stage blocks, each on its own rail.
   A single-column timeline left ~70% of a 1220px wrap empty at desktop, so the
   stages run as a responsive grid: the rail-and-tag device is kept per block,
   the vertical dead space is not. ══ */
#page-sweepstakes-script .sws-proc{ background: var(--sw-paper); }
#page-sweepstakes-script .sws-proc__set{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 26px clamp(24px, 3vw, 44px);
  margin-top: 44px;
  counter-reset: sws-stage;
}
#page-sweepstakes-script .sws-proc__set > li{
  counter-increment: sws-stage;
  padding: 0 0 4px 22px;
  border-left: 2px solid var(--sw-line);
}
#page-sweepstakes-script .sws-proc__set > li::before{
  content: "STAGE " counter(sws-stage, decimal-leading-zero);
  display: inline-block;
  margin-bottom: 14px;
  padding: 3px 10px;
  background: var(--sw-ink);
  color: #f5c07a;                       /* 7.2:1 on --sw-ink — rule 39A      */
  font-family: var(--sw-mono);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .1em;
  border-radius: 3px;
}
#page-sweepstakes-script .sws-proc__set h3{ margin-bottom: 10px; }
#page-sweepstakes-script .sws-proc__set ul li{
  padding: 5px 0 5px 18px;
  position: relative;
  font-size: 16px;
  color: var(--sw-text-2);
}
#page-sweepstakes-script .sws-proc__set ul li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .95em;
  width: 8px;
  height: 1px;
  background: var(--sw-signal);
}

/* ══ TECHNOLOGY STACK ══ */
#page-sweepstakes-script .sws-stack{ background: var(--sw-ground); }
#page-sweepstakes-script .sws-stack__set{
  margin-top: 36px;
  border: 1px solid var(--sw-line);
  background: var(--sw-paper);
}
#page-sweepstakes-script .sws-stack__set > div{
  display: grid;
  grid-template-columns: minmax(180px, 260px) 1fr;
  gap: 20px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--sw-line);
}
#page-sweepstakes-script .sws-stack__set > div:last-child{ border-bottom: 0; }
#page-sweepstakes-script .sws-stack__set dt{
  font-family: var(--sw-mono);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--sw-amber);
}
#page-sweepstakes-script .sws-stack__set dd{ margin: 0; font-size: 17px; color: var(--sw-text); }

/* ══ CASE STUDIES ══ */
#page-sweepstakes-script .sws-cases{ background: var(--sw-paper); }
#page-sweepstakes-script .sws-cases__set{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 22px;
  margin-top: 40px;
}
#page-sweepstakes-script .sws-cases__set li{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
  padding: 26px 24px;
  border: 1px solid var(--sw-line);
  border-left: 3px solid var(--sw-amber);
  border-radius: 0 5px 5px 0;
  background: var(--sw-paper);
}
#page-sweepstakes-script .sws-cases__set h3{ margin: 0; font-size: 18px; line-height: 1.45; }
#page-sweepstakes-script .sws-cases__set p{ margin: 0; }

/* ══ ENGAGEMENT MODELS ══ */
#page-sweepstakes-script .sws-models{ background: var(--sw-ground); }
#page-sweepstakes-script .sws-models__set{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 22px;
  margin-top: 40px;
}
#page-sweepstakes-script .sws-models__set article{
  padding: 28px 26px;
  background: var(--sw-paper);
  border: 1px solid var(--sw-line);
  border-radius: 5px;
}
#page-sweepstakes-script .sws-models__set img{ width: 48px; height: auto; margin-bottom: 16px; }
#page-sweepstakes-script .sws-models__set p{ margin: 0; }

/* ══ GLOBAL — jurisdiction manifest ══ */
#page-sweepstakes-script .sws-global{ background: var(--sw-paper); }
#page-sweepstakes-script .sws-global__set{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-top: 40px;
}
#page-sweepstakes-script .sws-global__set li{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border: 1px solid var(--sw-line);
  border-radius: 4px;
}
#page-sweepstakes-script .sws-global__set img{ width: 34px; height: auto; border-radius: 2px; }
#page-sweepstakes-script .sws-global__set span{ font-size: 16px; color: var(--sw-text); }

/* ══ HIRE ══ */
#page-sweepstakes-script .sws-hire{ background: var(--sw-ground); }
#page-sweepstakes-script .sws-hire__grid{
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
  gap: clamp(32px, 5vw, 70px);
  align-items: start;
}
#page-sweepstakes-script .sws-hire__grid > div > .sws-rows{ grid-template-columns: 1fr; }
#page-sweepstakes-script .sws-hire__fig{ margin: 0; position: sticky; top: 24px; }
#page-sweepstakes-script .sws-hire__fig img{ display: block; width: 100%; border-radius: 6px; }

/* ══ PRODUCT FAMILY ══ */
#page-sweepstakes-script .sws-family{ background: var(--sw-paper); }
#page-sweepstakes-script .sws-family__set{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1px;
  margin-top: 40px;
  background: var(--sw-paper);
}
#page-sweepstakes-script .sws-family__set li{
  padding: 26px 24px;
  background: var(--sw-paper);
  box-shadow: 0 0 0 1px var(--sw-line);
}
#page-sweepstakes-script .sws-family__set h3{ color: var(--sw-signal); }
#page-sweepstakes-script .sws-family__set p{ margin: 0; }

/* ══ FINAL CTA — fourth dark punctuation ══ */
#page-sweepstakes-script .sws-final{
  background: linear-gradient(120deg, #0b1013 0%, #12181d 50%, #0d3b39 100%);
}
#page-sweepstakes-script .sws-final__inner{ max-width: 900px; text-align: center; }
#page-sweepstakes-script .sws-final h2{ color: #ffffff; }
#page-sweepstakes-script .sws-final p{ color: var(--sw-on-dark); font-size: 18px; margin-bottom: 30px; }

/* ══ DEMO — one action per repeated card (rule 25 card exception) ══ */
#page-sweepstakes-script .sws-demo{ background: var(--sw-paper); }
#page-sweepstakes-script .sws-demo__set{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 22px;
  margin-top: 40px;
}
#page-sweepstakes-script .sws-demo__card{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 28px 26px;
  border: 1px solid var(--sw-line);
  border-radius: 5px;
  background: var(--sw-ground);
}
#page-sweepstakes-script .sws-demo__card img{ width: 48px; height: auto; }
#page-sweepstakes-script .sws-demo__card h3{ margin: 0; }
#page-sweepstakes-script .sws-demo__card dl{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px 16px;
  margin: 0;
  width: 100%;
}
#page-sweepstakes-script .sws-demo__card dt{
  font-family: var(--sw-mono);
  font-size: 16px;
  color: var(--sw-text-2);
}
#page-sweepstakes-script .sws-demo__card dd{
  margin: 0;
  font-family: var(--sw-mono);
  font-size: 16px;
  color: var(--sw-text);
  word-break: break-all;
}
#page-sweepstakes-script .sws-demo__go{
  margin-top: 6px;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 20px;
  border: 1px solid var(--sw-signal);
  border-radius: 4px;
  color: var(--sw-signal);
  font-size: 16px;
  font-weight: 700;
}
#page-sweepstakes-script .sws-demo__go:hover{ background: var(--sw-signal); color: #ffffff; }
#page-sweepstakes-script .sws-demo__go:focus-visible{ outline: 3px solid var(--sw-amber); outline-offset: 3px; }

/* ══ TRUST ══ */
#page-sweepstakes-script .sws-trust{ background: var(--sw-ground); }
#page-sweepstakes-script .sws-trust__col{ max-width: 900px; }
#page-sweepstakes-script .sws-trust__list{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1px;
  margin-top: 30px;
  background: var(--sw-ground);
  counter-reset: sws-trust;
}
#page-sweepstakes-script .sws-trust__list li{
  box-shadow: 0 0 0 1px var(--sw-line);
  counter-increment: sws-trust;
  padding: 20px 22px;
  background: var(--sw-paper);
  font-size: 16px;
  font-weight: 600;
}
#page-sweepstakes-script .sws-trust__list li::before{
  content: counter(sws-trust) ".";
  margin-right: 8px;
  font-family: var(--sw-mono);
  color: var(--sw-amber);
}

/* ══ BLOG MANIFEST ══ */
#page-sweepstakes-script .sws-blog{ background: var(--sw-paper); }
#page-sweepstakes-script .sws-blog__set{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 0 clamp(28px, 4vw, 60px);
  margin-top: 36px;
}
#page-sweepstakes-script .sws-blog__set li{ border-bottom: 1px solid var(--sw-line); }
#page-sweepstakes-script .sws-blog__set a{
  display: block;
  padding: 16px 0;
  font-size: 17px;
  font-weight: 600;
  color: var(--sw-text);
}
#page-sweepstakes-script .sws-blog__set a:hover{ color: var(--sw-signal); }

/* ══ FAQ — numbered Q/Ans. ledger ═══════════════════════════════════════
   Operator 2026-09-08: number every question "Qn." and label every answer
   "Ans.", with the two markers sharing ONE gutter so they sit on a single
   vertical axis all the way down the list.

   Both markers are GENERATED CONTENT, not markup, and that is load-bearing
   here rather than a stylistic preference:

     · This page's FAQPage schema was repaired under AISHTMLNEWDESIGN-188 so
       each `Question.name` matches its visible text exactly — which is what
       Google requires of FAQ markup. Typing "Q1. " into the <h3> would break
       all five of those pairings the moment it shipped.
     · The numbering renumbers itself if a question is added, removed or
       reordered, so it cannot fall out of step with the list.

   The gutter is one variable read by both rules, so the two markers cannot
   drift apart: there is only one number to change.
   Ported from the pattern approved on /igaming-tracking-solution. */
#page-sweepstakes-script .sws-faq{
  background: var(--sw-ground);
  --sw-faq-gutter: 58px;          /* ONE source of truth for the Q/Ans. axis */
}
#page-sweepstakes-script .sws-faq__col{ max-width: 900px; }
#page-sweepstakes-script #sws-faqlist{
  counter-reset: sws-faq;
  margin-top: 34px;
  border-top: 1px solid var(--sw-line);
}
#page-sweepstakes-script #sws-faqlist details{
  counter-increment: sws-faq;
  border-bottom: 1px solid var(--sw-line);
  background: var(--sw-paper);
}
#page-sweepstakes-script #sws-faqlist summary{
  display: grid;
  grid-template-columns: var(--sw-faq-gutter) 1fr auto;
  align-items: start;
  gap: 0 12px;
  padding: 22px 24px;
  cursor: pointer;
  list-style: none;
  transition: background-color .16s ease;
}
#page-sweepstakes-script #sws-faqlist summary::-webkit-details-marker{ display: none; }
#page-sweepstakes-script #sws-faqlist summary:hover{ background: #eef6f5; }
/* Q marker — column 1, the same column the Ans. marker occupies below */
#page-sweepstakes-script #sws-faqlist summary::before{
  content: "Q" counter(sws-faq) ".";
  font-family: var(--sw-mono);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--sw-signal);
  font-variant-numeric: tabular-nums;   /* Q9. and Q10. keep the same axis */
}
#page-sweepstakes-script #sws-faqlist summary h3{
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
}
#page-sweepstakes-script #sws-faqlist summary::after{
  content: "+";
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid var(--sw-line);
  border-radius: 3px;
  background: var(--sw-paper);
  font-family: var(--sw-mono);
  font-size: 19px;
  line-height: 1;
  color: var(--sw-signal);
  transition: background-color .16s ease, color .16s ease;
}
#page-sweepstakes-script #sws-faqlist details[open] summary::after{
  content: "\2212";
  background: var(--sw-signal);
  color: #ffffff;
}
#page-sweepstakes-script #sws-faqlist summary:focus-visible{ outline: 3px solid var(--sw-signal); outline-offset: -3px; }
/* answer — the SAME gutter track, so "Ans." lands on the "Qn." axis */
#page-sweepstakes-script .sws-faq__a{
  display: grid;
  grid-template-columns: var(--sw-faq-gutter) 1fr;
  gap: 0 12px;
  padding: 0 24px 24px;
}
#page-sweepstakes-script .sws-faq__a::before{
  content: "Ans.";
  font-family: var(--sw-mono);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.65;
  color: var(--sw-amber);
}
#page-sweepstakes-script .sws-faq__a p{ margin: 0; font-size: 17px; }

/* ══ STORIES — facades; the iframe only exists after a click ══ */
#page-sweepstakes-script .sws-stories{ background: var(--sw-paper); }
#page-sweepstakes-script .sws-stories h4{ margin-bottom: 30px; }
#page-sweepstakes-script .sws-stories__set{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 26px;
}
#page-sweepstakes-script .sws-stories__set li{
  border: 1px solid var(--sw-line);
  border-radius: 5px;
  overflow: hidden;
  background: var(--sw-paper);
}
#page-sweepstakes-script .sws-vid{
  font: inherit;
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: var(--sw-ink);
  cursor: pointer;
}
#page-sweepstakes-script .sws-vid img{ display: block; width: 100%; }
#page-sweepstakes-script .sws-vid__play{
  position: absolute;
  inset: 0;
  margin: auto;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  padding-left: 5px;
  border-radius: 50%;
  background: rgba(15, 118, 110, .92);
  color: #ffffff;
  transition: background-color .16s ease, transform .16s ease;
}
#page-sweepstakes-script .sws-vid:hover .sws-vid__play{ background: var(--sw-signal-lit); transform: scale(1.06); }
#page-sweepstakes-script .sws-vid:focus-visible{ outline: 3px solid var(--sw-signal); outline-offset: -3px; }
#page-sweepstakes-script .sws-story__frame{ display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; }
#page-sweepstakes-script .sws-stories__set blockquote{ margin: 0; padding: 20px 22px; }
#page-sweepstakes-script .sws-stories__set blockquote p{ margin: 0; font-size: 16px; }
#page-sweepstakes-script .sws-stories__more{ margin: 28px 0 0; }

/* ══ AREA WE SERVE ══ */
#page-sweepstakes-script .sws-areas{ background: var(--sw-ink); }
#page-sweepstakes-script .sws-areas h2{ color: #ffffff; }
#page-sweepstakes-script .sws-areas__set{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1px;
  margin-top: 40px;
  background: var(--sw-ink);
}
#page-sweepstakes-script .sws-areas__set li{
  padding: 26px 24px;
  background: var(--sw-ink-2);
  box-shadow: 0 0 0 1px var(--sw-line-dark);
}
#page-sweepstakes-script .sws-areas__set h3{
  font-family: var(--sw-mono);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .12em;
  color: #f5c07a;
}
#page-sweepstakes-script .sws-areas__set p.sws-areas__tel{ margin: 12px 0 10px; }
#page-sweepstakes-script .sws-areas__set p.sws-areas__tel a{ color: #2dd4bf; font-size: 17px; font-weight: 700; }
#page-sweepstakes-script .sws-areas__set p.sws-areas__tel a:hover{ color: #5eead4; }
#page-sweepstakes-script .sws-areas__set address{
  font-style: normal;
  font-size: 16px;
  line-height: 1.6;
  color: var(--sw-on-dark-2);
}

/* ══ RESPONSIVE ══ */
@media (max-width: 1020px){
  #page-sweepstakes-script .sws-intro__grid,
  #page-sweepstakes-script .sws-other__grid,
  #page-sweepstakes-script .sws-hire__grid{ grid-template-columns: 1fr; }
  #page-sweepstakes-script .sws-hire__fig{ position: static; max-width: 460px; }
}
@media (max-width: 720px){
  #page-sweepstakes-script section{ padding-block: 48px; }
  #page-sweepstakes-script .sws-hero{ padding-block: 64px 56px; }
  #page-sweepstakes-script .sws-hero__trust{ flex-direction: column; align-items: flex-start; text-align: left; gap: 10px; }
  #page-sweepstakes-script .sws-hero__inner{ text-align: left; }
  #page-sweepstakes-script .sws-btn{ width: 100%; }
  /* 3 x 2 is the desktop intent; three tracks on a 375px screen leaves ~105px
     per tile, too small for the artwork to read. Two tracks below 720px. */
  #page-sweepstakes-script .sws-tiles{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  #page-sweepstakes-script .sws-stack__set > div{ grid-template-columns: 1fr; gap: 6px; }
  /* Narrower Q/Ans. gutter on small screens — 58px + the toggle left the
     question text under ~250px at 375px. Both markers still read the SAME
     variable, so they stay on one axis at every width. */
  #page-sweepstakes-script .sws-faq{ --sw-faq-gutter: 44px; }
  #page-sweepstakes-script #sws-faqlist summary{ padding: 20px 16px; gap: 0 8px; }
  #page-sweepstakes-script .sws-faq__a{ padding: 0 16px 20px; gap: 0 8px; }}

/* rule 26 — the only motion left is a finite response to a user action, and
   even that is stood down when the user has asked for reduced motion. */
@media (prefers-reduced-motion: reduce){
  #page-sweepstakes-script *,
  #page-sweepstakes-script *::before,
  #page-sweepstakes-script *::after{ transition-duration: .01ms !important; }
}

/* ── CTA modal — shared shell, identical on every CTA page ──────────────────
   Replicated from /case-study/dicemasters-backgammon-platform-case-study.
   Values were read off that page with design-clone's extract_design.py; do not
   re-tune them per page — the enquiry form must present the same on all URLs. */
#page-sweepstakes-script .sws-modal{
  color:#2c2419;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:17px;
  line-height:1.72;
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:flex-start;
  justify-content:center;
  padding: 100px 20px 20px 20px;
  overflow-y:auto;
  background:rgba(20,13,7,.72);
}
#page-sweepstakes-script .sws-modal.is-open{display:flex;}
#page-sweepstakes-script .sws-modal__box{
  /* Pinned so the panel does not inherit each page's own type scale or ink —
     the enquiry shell must present identically on every URL. */
  color:#2c2419;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:17px;
  line-height:1.72;
  position:relative;
  width:100%;
  max-width:620px;
  margin:auto;
  border-radius:16px;
  background:#fff;
  box-shadow:0 30px 80px -30px rgba(0,0,0,.7);
  /* hidden, not auto: this clips the embedded form's square-cornered white
     document to the panel radius, so all FOUR corners stay rounded. */
  overflow:hidden;
}
#page-sweepstakes-script .sws-modal__x{
  position:absolute;
  top:12px;right:12px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;height:44px;
  border:1px solid #ddd2ba;
  border-radius:50%;
  background:#fff;
  color:#1d1509;
  cursor:pointer;
  transition:background-color .16s ease,color .16s ease;
}
#page-sweepstakes-script .sws-modal__x:hover{background:#2b1c12;color:#fbf6ec;}
#page-sweepstakes-script .sws-modal iframe{
  display:block;
  width:100%;
  min-height:860px;
  border:0;
}
@media (max-width:640px){
  /* Keep the radius on phones too — the panel is a card at every width. */
  #page-sweepstakes-script .sws-modal{padding: 100px 12px 12px 12px;}
  #page-sweepstakes-script .sws-modal__box{max-width:none;border-radius:14px;}
}


/* ══════════════════════════════════════════════════════════════════════════
   "AIS Technolabs Brings To You The Best iGaming Solutions" — game mosaic
   Rebuilt to the live reference (/online-sweepstakes-platform-provider).

   The six marks carry THREE aspect ratios (397x388 / 398x270 / 397x506). The
   previous grid forced them into one fixed box, so portrait and landscape
   marks were scaled to the same dimensions — letterboxed, ragged along the
   bottom edge. This is a 3-column MASONRY: the name is overlaid on the photo
   over a gradient scrim instead of captioned beneath it.

   The aspect-ratio is assigned per POSITION, not per image, chosen so all
   three columns total the same height and end flush: col1 388+388, col2
   270+506, col3 506+270 — 776 units each. Verified: the six games appear in
   the same DOM order on all five pages, so the per-position ratios transfer.
   object-fit:cover crops to the cell rather than distorting.
   ══════════════════════════════════════════════════════════════════════════ */
#page-sweepstakes-script .sws-tiles{
  display: block;                 /* override the base grid/flex */
  columns: 3;
  column-gap: 24px;
  margin: 26px 0 30px;
  grid-template-columns: none;
  gap: normal;
}
#page-sweepstakes-script .sws-tiles > li{
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  margin: 0 0 24px;
  padding: 0;
  border: 0;
  background: none;
}
#page-sweepstakes-script .sws-tiles > li:nth-child(1){ aspect-ratio: 376 / 388; }
#page-sweepstakes-script .sws-tiles > li:nth-child(2){ aspect-ratio: 376 / 388; }
#page-sweepstakes-script .sws-tiles > li:nth-child(3){ aspect-ratio: 376 / 270; }
#page-sweepstakes-script .sws-tiles > li:nth-child(4){ aspect-ratio: 376 / 506; }
#page-sweepstakes-script .sws-tiles > li:nth-child(5){ aspect-ratio: 376 / 506; }
#page-sweepstakes-script .sws-tiles > li:nth-child(6){ aspect-ratio: 376 / 270; }
#page-sweepstakes-script .sws-tiles > li > a{
  position: relative;
  display: block;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: 10px;
  overflow: hidden;
  background: #0d0d12;
  transition: transform .16s ease, box-shadow .16s ease;
}
#page-sweepstakes-script .sws-tiles > li > a::after{   /* scrim — the label owns its contrast */
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 58%;
  background: linear-gradient(180deg, rgba(8,8,12,0) 0%, rgba(8,8,12,.82) 78%, rgba(8,8,12,.92) 100%);
  pointer-events: none;
}
#page-sweepstakes-script .sws-tiles > li > a:hover{
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(8,8,12,.22);
}
#page-sweepstakes-script .sws-tiles > li > a:focus-visible{ outline: 3px solid currentColor; outline-offset: 3px; }
#page-sweepstakes-script .sws-tiles img{
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  display: block;
  border-radius: 0;
  object-fit: cover;              /* crop to the cell, never distort */
  object-position: center;
}
#page-sweepstakes-script .sws-tiles h3{
  position: absolute;
  left: 18px; right: 18px; bottom: 14px;
  z-index: 1;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: clamp(18px, 1.5vw, 22px);
  font-weight: 800;
  line-height: 1.25;
  text-align: left;
  color: #ffffff;                 /* owns its foreground over the scrim */
  text-shadow: 0 1px 12px rgba(0,0,0,.55);
}
@media (max-width: 900px){ #page-sweepstakes-script .sws-tiles{ columns: 2; } }
@media (max-width: 560px){ #page-sweepstakes-script .sws-tiles{ columns: 1; } }

/* ── provider wall ─────────────────────────────────────────────────────────
   Same hairline-grid language as the reference, but with an explicit column
   count instead of auto-fit. There are exactly 18 marks; 18 divides by 6, 3
   and 2, so every row stays full at every breakpoint. The reference uses
   auto-fit + a gap-fill background, which leaves 3 empty cells in the last row
   painted in the line colour — a visible slab. The ring below is the technique
   three of these five pages already use to avoid exactly that. ─────────────*/
#page-sweepstakes-script .sws-wall{
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1px;
  margin: 28px 0 30px;
  background: transparent;
  border: 0;
}
#page-sweepstakes-script .sws-wall li{
  box-shadow: 0 0 0 1px var(--sw-line);   /* ring, not a gap-fill: a short last
                                          row must never paint a slab */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 14px;
  margin: 0;
  border: 0;
  background: var(--sw-paper);
  text-align: center;
  transition: background-color .16s ease;
}
#page-sweepstakes-script .sws-wall li:hover{ background: #faf7f9; }
#page-sweepstakes-script .sws-wall img{ height: 42px; max-height: 42px; width: auto; object-fit: contain; margin: 0; }
#page-sweepstakes-script .sws-wall h3{ margin: 0; font-size: 16px; font-weight: 600; text-align: center; }
@media (max-width: 1000px){ #page-sweepstakes-script .sws-wall{ grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 620px){ #page-sweepstakes-script .sws-wall{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
