/* /gambling-software — AISHTMLNEWDESIGN-361
   Page-owned styles. EVERY selector is scoped to #page-gambling-software or a
   gs- 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.

   VISUAL DIRECTION — SHADOW BOARD.
   A workshop shadow board: one perforated panel on which every distinct module
   has its own outlined home, stencilled index and hanging tab. The organising
   idea is BREADTH COMPOSED — many differently sized modules, one board, nothing
   loose. Motifs: perforation dot-field, offset dashed "shadow" outlines behind
   each plate, stencil numerals, hanging tabs, punched corner eyelets.
   Palette: graphite ink, putty board, signal vermilion, zinc blue. No brass,
   no engraved rails, no baize, no gold. */

/* ── tokens + scoped box model (no global box model exists) ───────────── */
#page-gambling-software{
  --gs-ink:#12161c;
  --gs-ink-2:#1a212a;
  --gs-ink-3:#232c37;
  --gs-board:#ece7de;
  --gs-board-2:#f6f3ed;
  --gs-line:#c9c1b4;
  --gs-line-ink:rgba(236,231,222,.20);
  --gs-signal:#c43a21;
  --gs-signal-br:#e85a38;
  --gs-zinc:#35566e;
  --gs-on-board:#14181f;
  --gs-on-board-2:#3a424d;
  --gs-on-ink:#edeae4;
  --gs-on-ink-2:#a9a296;
  --gs-link-board:#b03318;
  --gs-link-ink:#ff9678;
  --gs-perf-ink:radial-gradient(circle at center,rgba(237,234,228,.075) 1.6px,transparent 1.7px);
  --gs-perf-board:radial-gradient(circle at center,rgba(20,24,31,.085) 1.6px,transparent 1.7px);
  --gs-r:3px;
  font-family:"Inter",system-ui,sans-serif;
  font-size:17px;
  line-height:1.62;
  color:var(--gs-on-board);
  background:var(--gs-board-2);
  -webkit-font-smoothing:antialiased;
}
#page-gambling-software *,
#page-gambling-software *::before,
#page-gambling-software *::after{box-sizing:border-box;}

/* ── band scaffolding ─────────────────────────────────────────────────── */
#page-gambling-software .gs-band{
  width:100%;
  padding:clamp(56px,7vw,104px) 0;
  position:relative;
}
#page-gambling-software .gs-band--ink{
  background:var(--gs-ink);
  background-image:var(--gs-perf-ink);
  background-size:24px 24px;
  color:var(--gs-on-ink);
}
#page-gambling-software .gs-band--board{
  background:var(--gs-board);
  background-image:var(--gs-perf-board);
  background-size:24px 24px;
}
#page-gambling-software .gs-band--paper{background:var(--gs-board-2);}
#page-gambling-software .gs-wrap{
  width:100%;
  max-width:1200px;
  margin-inline:auto;
  padding:0 24px;
}

/* ── typography ───────────────────────────────────────────────────────── */
#page-gambling-software .gs-h1{
  margin:0 0 22px;
  font-size:clamp(38px,5.1vw,64px);
  line-height:1.06;
  letter-spacing:-.022em;
  font-weight:800;
}
#page-gambling-software .gs-h2{
  margin:0 0 18px;
  font-size:clamp(30px,3.5vw,46px);
  line-height:1.14;
  letter-spacing:-.018em;
  font-weight:800;
}
#page-gambling-software .gs-h3{
  margin:0 0 12px;
  font-size:clamp(21px,2vw,25px);
  line-height:1.25;
  letter-spacing:-.01em;
  font-weight:700;
}
#page-gambling-software .gs-lead{
  margin:0;
  font-size:clamp(17px,1.35vw,19px);
  line-height:1.66;
}
#page-gambling-software .gs-p{margin:0 0 18px;font-size:17px;line-height:1.66;}
#page-gambling-software .gs-p:last-child{margin-bottom:0;}
#page-gambling-software .gs-band--board .gs-p,
#page-gambling-software .gs-band--paper .gs-p{color:var(--gs-on-board-2);}
#page-gambling-software .gs-band--ink .gs-p{color:var(--gs-on-ink-2);}

/* stencil index — decorative, always a block so it never glues to prose */
#page-gambling-software .gs-num{
  font-size:16px;
  font-weight:800;
  letter-spacing:.26em;
  line-height:1;
  font-variant-numeric:tabular-nums;
  color:var(--gs-signal);
  margin:0 0 14px;
}
#page-gambling-software .gs-band--ink .gs-num{color:var(--gs-signal-br);}
#page-gambling-software .gs-kicker{
  display:inline-block;
  margin:0 0 18px;
  padding:7px 14px 6px;
  font-size:16px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  border:1px solid var(--gs-line-ink);
  border-radius:var(--gs-r);
  color:var(--gs-on-ink);
  background:rgba(237,234,228,.05);
}

/* ── in-copy links — the wrapper id is written into every anchor rule so
      it out-specifies the baseline '#page-gambling-software a{color:inherit}' */
#page-gambling-software a.gs-link{
  color:var(--gs-link-board);
  font-weight:600;
  border-bottom:1px solid rgba(176,51,24,.4);
  padding-bottom:1px;
  transition:color .16s ease,border-color .16s ease;
}
#page-gambling-software a.gs-link:hover,
#page-gambling-software a.gs-link:focus-visible{
  color:#8c2712;
  border-bottom-color:#8c2712;
}
#page-gambling-software .gs-band--ink a.gs-link{
  color:var(--gs-link-ink);
  border-bottom-color:rgba(255,150,120,.45);
}
#page-gambling-software .gs-band--ink a.gs-link:hover,
#page-gambling-software .gs-band--ink a.gs-link:focus-visible{
  color:#ffc4b1;
  border-bottom-color:#ffc4b1;
}
#page-gambling-software a:focus-visible,
#page-gambling-software button:focus-visible,
#page-gambling-software summary:focus-visible{
  outline:3px solid var(--gs-signal-br);
  outline-offset:3px;
  border-radius:2px;
}

/* ── CTA ──────────────────────────────────────────────────────────────── */
#page-gambling-software .gs-btn{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:52px;
  padding:14px 28px;
  border:0;
  border-radius:var(--gs-r);
  background:var(--gs-signal);
  color:#fff;
  font-family:inherit;
  font-size:17px;
  font-weight:700;
  letter-spacing:.005em;
  cursor:pointer;
  text-align:left;
  box-shadow:6px 6px 0 rgba(18,22,28,.22);
  transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease;
}
#page-gambling-software .gs-btn::after{
  content:"";
  width:20px;
  height:2px;
  background:currentColor;
  flex:0 0 auto;
}
#page-gambling-software .gs-btn:hover{
  background:#a92f19;
  transform:translate(2px,2px);
  box-shadow:4px 4px 0 rgba(18,22,28,.22);
}
#page-gambling-software .gs-btn:active{transform:translate(6px,6px);box-shadow:0 0 0 rgba(18,22,28,.22);}
#page-gambling-software .gs-band--ink .gs-btn{box-shadow:6px 6px 0 rgba(0,0,0,.5);}

/* ── hero — full-bleed, static gradient + perforation, centred column ── */
#page-gambling-software .gs-hero{
  width:100%;
  padding:clamp(64px,8.5vw,124px) 24px clamp(56px,7vw,96px);
  background:
    var(--gs-perf-ink),
    linear-gradient(168deg,#1c2530 0%,#12161c 46%,#0d1015 100%);
  background-size:24px 24px,auto;
  color:var(--gs-on-ink);
  border-bottom:1px solid rgba(237,234,228,.12);
}
#page-gambling-software .gs-hero__inner{
  max-width:900px;
  margin-inline:auto;
  text-align:center;
}
#page-gambling-software .gs-hero .gs-lead{
  color:var(--gs-on-ink-2);
  max-width:820px;
  margin-inline:auto;
}
#page-gambling-software .gs-hero__act{margin-top:34px;}
/* Section CTAs added on request: one per content section that had none, each
   uniquely named and centred. .gs-act--c is a NEW class -- the page has no shared
   act rule, each band carries its own (gs-hero__act, gs-vision__act, gs-hire__act),
   and those are deliberately untouched so the two split-layout bands keep their
   CTA beside the copy. grid-column:1/-1 lets the wrapper span a grid parent and is
   inert in the block parents. */
#page-gambling-software .gs-act{margin:clamp(26px,3vw,38px) 0 0;}
#page-gambling-software .gs-act--c{text-align:center;grid-column:1/-1;}
#page-gambling-software .gs-hero__rule{
  width:64px;
  height:4px;
  margin:26px auto 0;
  background:var(--gs-signal-br);
}

/* ── breadcrumb ───────────────────────────────────────────────────────── */
#page-gambling-software .gs-crumb{
  background:var(--gs-ink-2);
  padding:14px 0;
  border-bottom:1px solid rgba(237,234,228,.10);
}
#page-gambling-software .gs-crumb ol{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0;
  padding:0;
  list-style:none;
  font-size:16px;
  color:var(--gs-on-ink-2);
}
#page-gambling-software .gs-crumb img{display:block;width:16px;height:16px;}
#page-gambling-software a.gs-crumb__home{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--gs-on-ink-2);
  transition:color .16s ease;
}
#page-gambling-software a.gs-crumb__home:hover,
#page-gambling-software a.gs-crumb__home:focus-visible{color:var(--gs-link-ink);}
#page-gambling-software .gs-crumb__here{color:var(--gs-on-ink);font-weight:600;}

/* ── plate: an image in its offset shadow outline ─────────────────────── */
#page-gambling-software .gs-plate{position:relative;margin:0;}
#page-gambling-software .gs-plate::before{
  content:"";
  position:absolute;
  inset:14px -14px -14px 14px;
  border:2px dashed var(--gs-line);
  border-radius:var(--gs-r);
  z-index:0;
}
#page-gambling-software .gs-band--ink .gs-plate::before{border-color:var(--gs-line-ink);}
#page-gambling-software .gs-plate img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:auto;
  border:1px solid var(--gs-line);
  border-radius:var(--gs-r);
  background:var(--gs-board-2);
}
#page-gambling-software .gs-band--ink .gs-plate img{border-color:var(--gs-line-ink);background:var(--gs-ink-2);}

/* ── intro band: plate + prose, asymmetric ────────────────────────────── */
#page-gambling-software .gs-intro{
  display:grid;
  grid-template-columns:minmax(0,0.86fr) minmax(0,1.14fr);
  gap:clamp(32px,5vw,72px);
  align-items:center;
}

/* ── vision band: prose + plate, reversed ─────────────────────────────── */
#page-gambling-software .gs-vision{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(32px,5vw,72px);
  align-items:center;
}
#page-gambling-software .gs-vision__act{margin-top:28px;}
#page-gambling-software .gs-vision .gs-plate img{
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:left center;
}

/* ── the board: five modules, deliberately unequal spans ──────────────── */
#page-gambling-software .gs-boardhead{
  max-width:860px;
  margin:0 0 clamp(34px,4vw,54px);
}
#page-gambling-software .gs-modules{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:clamp(20px,2.4vw,30px);
  margin:0;
  padding:0;
  list-style:none;
}
#page-gambling-software .gs-module{
  position:relative;
  grid-column:span 2;
  padding:30px 28px 30px;
  background:var(--gs-board-2);
  border:1px solid var(--gs-line);
  border-radius:var(--gs-r);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
#page-gambling-software .gs-module:nth-child(1){grid-column:span 3;}
#page-gambling-software .gs-module:nth-child(2){grid-column:span 3;}
#page-gambling-software .gs-module:hover{
  transform:translate(-3px,-3px);
  border-color:var(--gs-signal);
  box-shadow:6px 6px 0 rgba(20,24,31,.14);
}
/* hanging tab */
#page-gambling-software .gs-module::before{
  content:"";
  position:absolute;
  top:-1px;
  left:28px;
  width:52px;
  height:6px;
  background:var(--gs-signal);
  border-radius:0 0 var(--gs-r) var(--gs-r);
}
/* punched eyelet */
#page-gambling-software .gs-module::after{
  content:"";
  position:absolute;
  top:22px;
  right:22px;
  width:11px;
  height:11px;
  border-radius:50%;
  border:2px solid var(--gs-line);
}

/* ── slots: ready-to-launch, cards on their own dashed shadow ─────────── */
#page-gambling-software .gs-slots{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:clamp(24px,3vw,40px);
  margin:clamp(34px,4vw,54px) 0 0;
  padding:0;
  list-style:none;
}
#page-gambling-software .gs-slot{
  position:relative;
  padding:30px 28px;
  background:var(--gs-ink-2);
  border:1px solid var(--gs-line-ink);
  border-left:4px solid var(--gs-signal);
  border-radius:var(--gs-r);
  transition:background-color .16s ease,transform .16s ease;
}
#page-gambling-software .gs-slot:hover{background:var(--gs-ink-3);transform:translateY(-3px);}
#page-gambling-software .gs-slot__mark{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
}
#page-gambling-software .gs-slot__mark img{display:block;width:22px;height:22px;}
#page-gambling-software .gs-slot .gs-h3{color:var(--gs-on-ink);margin:0;}
#page-gambling-software .gs-slothead{max-width:900px;}

/* ── hire band ────────────────────────────────────────────────────────── */
#page-gambling-software .gs-hire{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.85fr);
  gap:clamp(32px,5vw,68px);
  align-items:center;
}
#page-gambling-software .gs-hire__act{margin-top:28px;}

#page-gambling-software .gs-approach__cols{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:clamp(28px,3.4vw,48px);
  margin-top:clamp(30px,3.6vw,46px);
}
#page-gambling-software .gs-approach__col{
  border-top:3px solid var(--gs-signal);
  padding-top:22px;
}

/* ── FAQ ──────────────────────────────────────────────────────────────── */
#page-gambling-software .gs-faq{
  max-width:940px;
  margin:clamp(30px,3.6vw,46px) auto 0;
  border-top:1px solid var(--gs-line-ink);
}
#page-gambling-software .gs-faq details{border-bottom:1px solid var(--gs-line-ink);}
#page-gambling-software .gs-faq summary{
  display:flex;
  align-items:flex-start;
  gap:18px;
  padding:24px 0;
  cursor:pointer;
  list-style:none;
  min-height:44px;
}
#page-gambling-software .gs-faq summary::-webkit-details-marker{display:none;}
#page-gambling-software .gs-faq summary .gs-h3{
  margin:0;
  flex:1 1 auto;
  color:var(--gs-on-ink);
  font-size:clamp(19px,1.7vw,22px);
}
#page-gambling-software .gs-faq__mark{
  position:relative;
  flex:0 0 auto;
  width:26px;
  height:26px;
  margin-top:4px;
  border:2px solid var(--gs-signal-br);
  border-radius:var(--gs-r);
}
#page-gambling-software .gs-faq__mark::before,
#page-gambling-software .gs-faq__mark::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:12px;
  height:2px;
  margin:-1px 0 0 -6px;
  background:var(--gs-signal-br);
  transition:transform .18s ease;
}
#page-gambling-software .gs-faq__mark::after{transform:rotate(90deg);}
#page-gambling-software .gs-faq details[open] .gs-faq__mark::after{transform:rotate(0deg);}
#page-gambling-software .gs-faq__a{padding:0 0 26px 44px;}
#page-gambling-software .gs-faq__a .gs-p{color:var(--gs-on-ink-2);}

/* ── customer stories ─────────────────────────────────────────────────── */
#page-gambling-software .gs-stories{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:clamp(24px,3vw,38px);
  margin:clamp(30px,3.6vw,48px) 0 0;
  padding:0;
  list-style:none;
}
#page-gambling-software .gs-story{
  background:var(--gs-board-2);
  border:1px solid var(--gs-line);
  border-radius:var(--gs-r);
  overflow:hidden;
}
#page-gambling-software .gs-vid{
  position:relative;
  font:inherit;
  display:block;
  width:100%;
  padding:0;
  border:0;
  border-bottom:1px solid var(--gs-line);
  background:var(--gs-ink);
  cursor:pointer;
  line-height:0;
}
#page-gambling-software .gs-vid img{display:block;width:100%;height:auto;}
#page-gambling-software .gs-vid span{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(18,22,28,.32);
  transition:background-color .16s ease;
}
#page-gambling-software .gs-vid span i{
  display:flex;
  align-items:center;
  justify-content:center;
  width:60px;
  height:60px;
  border-radius:50%;
  background:var(--gs-signal);
  color:#fff;
  padding-left:4px;
  transition:transform .16s ease;
}
#page-gambling-software .gs-vid:hover span{background:rgba(18,22,28,.16);}
#page-gambling-software .gs-vid:hover span i{transform:scale(1.06);}
#page-gambling-software .gs-story__frame{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  border:0;
  border-bottom:1px solid var(--gs-line);
}
#page-gambling-software .gs-story blockquote{margin:0;padding:24px 26px 26px;}
#page-gambling-software .gs-stories__more{margin:clamp(24px,3vw,34px) 0 0;font-size:17px;}

/* ── area we serve ────────────────────────────────────────────────────── */
#page-gambling-software .gs-regions{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:clamp(24px,3vw,36px);
  margin:clamp(30px,3.6vw,46px) 0 0;
  padding:0;
  list-style:none;
}
#page-gambling-software .gs-region{
  padding:26px 24px;
  background:var(--gs-ink-2);
  border:1px solid var(--gs-line-ink);
  border-top:3px solid var(--gs-zinc);
  border-radius:var(--gs-r);
}
#page-gambling-software .gs-region h3{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  font-size:18px;
  font-weight:800;
  letter-spacing:.09em;
  color:var(--gs-on-ink);
}
#page-gambling-software .gs-region h3 img{display:block;width:14px;height:20px;}
#page-gambling-software a.gs-region__tel{
  display:inline-block;
  margin-bottom:10px;
  font-size:17px;
  font-weight:700;
  color:var(--gs-link-ink);
  transition:color .16s ease;
}
#page-gambling-software a.gs-region__tel:hover,
#page-gambling-software a.gs-region__tel:focus-visible{color:#ffc4b1;}
#page-gambling-software .gs-region p{margin:0;font-size:16px;line-height:1.62;color:var(--gs-on-ink-2);}

/* ── modal ────────────────────────────────────────────────────────────── */
#page-gambling-software .gs-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:flex-start;
  justify-content:center;
  padding: 100px 16px 24px 16px;
  background:rgba(10,13,17,.72);
  overflow-y:auto;
}
#page-gambling-software .gs-modal.is-open{display:flex;}
#page-gambling-software .gs-modal__box{
  position:relative;
  width:100%;
  max-width:620px;
  margin:auto;
  background:var(--gs-board-2);
  border-radius:var(--gs-r);
  border-top:5px solid var(--gs-signal);
  overflow:hidden;
}
#page-gambling-software .gs-modal__x{
  position:absolute;
  font:inherit;
  top:12px;
  right:12px;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border:1px solid var(--gs-line);
  border-radius:var(--gs-r);
  background:var(--gs-board);
  color:var(--gs-on-board);
  cursor:pointer;
  transition:background-color .16s ease,color .16s ease;
}
#page-gambling-software .gs-modal__x:hover{background:var(--gs-signal);color:#fff;}
#page-gambling-software .gs-modal__box iframe{
  display:block;
  width:100%;
  min-height:820px;
  border:0;
}

/* ── responsive ───────────────────────────────────────────────────────── */
@media (max-width:1024px){
  #page-gambling-software .gs-modules{grid-template-columns:repeat(4,1fr);}
  #page-gambling-software .gs-module,
  #page-gambling-software .gs-module:nth-child(1),
  #page-gambling-software .gs-module:nth-child(2){grid-column:span 2;}
  #page-gambling-software .gs-module:nth-child(5){grid-column:span 4;}
}
@media (max-width:860px){
  #page-gambling-software .gs-intro,
  #page-gambling-software .gs-vision,
  #page-gambling-software .gs-hire{grid-template-columns:minmax(0,1fr);}
  #page-gambling-software .gs-intro .gs-plate,
  #page-gambling-software .gs-vision .gs-plate,
  #page-gambling-software .gs-hire .gs-plate{order:-1;margin-right:14px;}
  #page-gambling-software .gs-modules{grid-template-columns:minmax(0,1fr);}
  #page-gambling-software .gs-slots{grid-template-columns:minmax(0,1fr);}
  #page-gambling-software .gs-module,
  #page-gambling-software .gs-module:nth-child(1),
  #page-gambling-software .gs-module:nth-child(2),
  #page-gambling-software .gs-module:nth-child(5){grid-column:span 1;}
  #page-gambling-software .gs-btn{width:100%;justify-content:space-between;}
  #page-gambling-software .gs-modal__box iframe{min-height:880px;}
}
@media (max-width:480px){
  #page-gambling-software .gs-wrap{padding:0 18px;}
  #page-gambling-software .gs-hero{padding-left:18px;padding-right:18px;}
  #page-gambling-software .gs-module,
  #page-gambling-software .gs-slot,
  #page-gambling-software .gs-region{padding-left:20px;padding-right:20px;}
  #page-gambling-software .gs-faq__a{padding-left:0;}
  #page-gambling-software .gs-plate::before{inset:10px -10px -10px 10px;}
}

/* ── reduced motion ───────────────────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  #page-gambling-software *,
  #page-gambling-software *::before,
  #page-gambling-software *::after{transition-duration:.01ms !important;}
}

/* ── Built visuals replacing two stock images ─────────────────────────────
   collaborate-bg.webp (a generic "collaborate" backdrop, also used on other
   pages) and gambling-software-bg.webp (a decorative 1200x320 band) carried no
   information about the sections they sat in. Both are now static SVG built
   from this page's own custom properties, so they follow the theme instead of
   being a second source of truth. Static by intent — nothing to animate. */
#page-gambling-software .gs-art{ display:block; width:100%; height:auto; }
#page-gambling-software .gs-plate--art{ background:var(--gs-ink); }
