/* /best-online-casino-software-solutions — AISHTMLNEWDESIGN-458
   Page-owned styles. EVERY selector is scoped to #page-best-online-casino-software-solutions or a
   bocs- 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 — HIGH WATER.
   "Best" read as the highest mark a platform has reached, not as luxury. The
   whole page is built from ONE device applied at three scales: a hard-stop
   fill that stands at a level. A full-bleed band is filled to a level; a card
   is filled to a level; the section mark is a three-tread stair receding from
   that level. Levels differ deliberately from module to module — the page is a
   wall of marks at different heights, and hovering a card raises its own.
   Silhouette: shoulder radius (rounded top, square base) closed by a solid
   base rule, so every plate reads as a vessel standing on a datum.
   Palette: deep navy ink, tide blue, cool chalk paper, rose crest.
   No brass, no rails, no diamond node, no engraved or stencil numerals, no
   perforation field, no dashed shadow outline, no hanging tab, no eyelet,
   no baize, no gold. Nothing on this page counts or ranks in numerals. */

/* ── tokens + reset scoped to this page's own wrapper ───────────── */
#page-best-online-casino-software-solutions{
  --hw-ink:#0a1826;
  --hw-deep:#11314c;
  --hw-tide:#1d6b9e;
  --hw-tide2:#2f8fc4;
  --hw-wash:#d9e8f2;
  --hw-wash2:#edf4f9;
  --hw-paper:#f7fafc;
  --hw-white:#ffffff;
  --hw-line:#c6d7e3;
  --hw-line2:#dde8ef;
  --hw-crest:#d4365c;
  --hw-muted:#4a6377;
  --hw-onmuted:#a9c4d6;
  --hw-col:1200px;
  font-family:"Inter",system-ui,sans-serif;
  font-size:16px;
  line-height:1.6;
  color:var(--hw-ink);
  background:var(--hw-paper);
  -webkit-font-smoothing:antialiased;
}
#page-best-online-casino-software-solutions *,
#page-best-online-casino-software-solutions *::before,
#page-best-online-casino-software-solutions *::after{box-sizing:border-box;}

/* anchors — written with the wrapper id so they outrank the id-level
   a{color:inherit} baseline declared in the page head */
#page-best-online-casino-software-solutions a.bocs-inlink{
  color:var(--hw-tide);
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-thickness:1px;
  font-weight:600;
}
#page-best-online-casino-software-solutions a.bocs-inlink:hover,
#page-best-online-casino-software-solutions a.bocs-inlink:focus-visible{
  color:var(--hw-crest);
  text-decoration-thickness:2px;
}
#page-best-online-casino-software-solutions a.bocs-inlink--on{color:#8fd0f2;}
#page-best-online-casino-software-solutions a.bocs-inlink--on:hover,
#page-best-online-casino-software-solutions a.bocs-inlink--on:focus-visible{color:#ffb3c4;}
#page-best-online-casino-software-solutions a:focus-visible,
#page-best-online-casino-software-solutions button:focus-visible,
#page-best-online-casino-software-solutions summary:focus-visible{
  outline:3px solid var(--hw-crest);
  outline-offset:3px;
}

/* ── shared bones ───────────────────────────────────────────────── */
.bocs-wrap{max-width:var(--hw-col);margin:0 auto;padding:0 24px;}
.bocs-sec{padding:clamp(56px,7vw,104px) 0;}
.bocs-sec--paper{background:var(--hw-paper);}
.bocs-sec--wash{background:linear-gradient(to top,var(--hw-wash2) 0 58%,var(--hw-paper) 58% 100%);}
.bocs-sec--last{padding-bottom:clamp(64px,8vw,120px);}

/* the mark: a three-tread stair receding from the level */
.bocs-steps{position:relative;display:block;width:56px;height:9px;
  background:var(--hw-crest);margin-bottom:26px;}
.bocs-steps::before{content:"";position:absolute;left:0;top:9px;width:36px;height:6px;
  background:var(--hw-tide);}
.bocs-steps::after{content:"";position:absolute;left:0;top:15px;width:18px;height:6px;
  background:var(--hw-line);}
.bocs-steps--on::after{background:rgba(255,255,255,.28);}

.bocs-head{margin-bottom:clamp(28px,3.5vw,46px);max-width:900px;}
.bocs-h1{font-size:clamp(38px,5.2vw,66px);line-height:1.04;font-weight:800;
  letter-spacing:-.02em;margin:0 0 22px;}
.bocs-h2{font-size:clamp(30px,3.9vw,50px);line-height:1.1;font-weight:800;
  letter-spacing:-.018em;margin:0;}
.bocs-h2--on{color:var(--hw-white);}
.bocs-h3{font-size:clamp(21px,2vw,26px);line-height:1.25;font-weight:700;margin:0 0 10px;}
.bocs-h3--sub{margin:34px 0 16px;}
.bocs-h4{font-size:20px;line-height:1.3;font-weight:700;margin:0 0 10px;}
.bocs-h4--on{color:var(--hw-white);}
.bocs-h5{font-size:18px;line-height:1.35;font-weight:700;margin:0;}
.bocs-p{font-size:17px;line-height:1.65;color:var(--hw-muted);margin:0 0 14px;}
.bocs-p:last-child{margin-bottom:0;}
.bocs-p--lead{font-size:18px;color:#26404f;}
.bocs-p--wide{max-width:960px;}
.bocs-t{font-size:19px;font-weight:700;color:var(--hw-ink);margin:0 0 8px;}

/* ── buttons ────────────────────────────────────────────────────── */
.bocs-act{margin-top:clamp(30px,4vw,46px);}
.bocs-btn{
  display:inline-block;font:inherit;font-size:17px;font-weight:700;
  padding:16px 32px;border:0;border-bottom:4px solid var(--hw-crest);
  border-radius:12px 12px 0 0;background:var(--hw-ink);color:var(--hw-white);
  cursor:pointer;letter-spacing:.005em;
  transition:transform .18s ease,background-color .18s ease;
}
.bocs-btn:hover{background:var(--hw-tide);transform:translateY(-2px);}
.bocs-btn:active{transform:translateY(0);}
.bocs-btn--crest{background:var(--hw-crest);border-bottom-color:var(--hw-white);}
.bocs-btn--crest:hover{background:#b82a4e;}

/* ── hero — rule 24: full-bleed, image-free, STATIC hard-stop fill ── */
.bocs-hero{
  position:relative;
  --hw-datum:92px;
  background:linear-gradient(to top,var(--hw-deep) 0 var(--hw-datum),var(--hw-ink) var(--hw-datum) 100%);
  padding:clamp(64px,9vw,124px) 24px calc(var(--hw-datum) + clamp(40px,5vw,64px));
  border-bottom:6px solid var(--hw-tide);
}
.bocs-hero::after{content:"";position:absolute;left:0;right:0;bottom:var(--hw-datum);height:3px;
  background:var(--hw-crest);}
.bocs-hero__col{max-width:900px;margin:0 auto;position:relative;z-index:1;}
.bocs-hero .bocs-h1{color:var(--hw-white);}
.bocs-hero__p{font-size:19px;line-height:1.68;color:#c7dced;margin:0 0 34px;max-width:820px;}
.bocs-hero__act{margin-top:8px;}

/* ── breadcrumb ─────────────────────────────────────────────────── */
.bocs-crumbsec{background:var(--hw-white);border-bottom:1px solid var(--hw-line2);
  padding:16px 0;}
.bocs-crumb{margin:0;font-size:16px;color:var(--hw-muted);}
#page-best-online-casino-software-solutions a.bocs-crumb__home{
  display:inline-flex;align-items:center;gap:9px;color:var(--hw-tide);font-weight:600;}
#page-best-online-casino-software-solutions a.bocs-crumb__home:hover{color:var(--hw-crest);}
.bocs-crumb__ico{width:16px;height:16px;display:block;}
.bocs-crumb__here{color:var(--hw-ink);font-weight:600;}

/* ── intro ──────────────────────────────────────────────────────── */
.bocs-intro{padding:clamp(52px,6.5vw,92px) 0;background:var(--hw-white);}
.bocs-intro__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(28px,4vw,60px);align-items:center;}
.bocs-intro__fig{border-radius:18px 18px 0 0;overflow:hidden;
  border:1px solid var(--hw-line);border-bottom:5px solid var(--hw-tide);
  background:var(--hw-wash2);}
.bocs-intro__img{display:block;width:100%;height:auto;}

/* ── lede band ──────────────────────────────────────────────────── */
.bocs-lede{padding:clamp(52px,6.5vw,92px) 0;background:var(--hw-paper);
  border-top:1px solid var(--hw-line2);}
.bocs-lede__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(24px,4vw,56px);align-items:start;}
.bocs-lede__h{max-width:15ch;}

/* ── level plates (the core card) ───────────────────────────────── */
.bocs-levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(288px,1fr));
  gap:20px;}
.bocs-levels--3{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));}
.bocs-levels--4{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));}
.bocs-level{position:relative;overflow:hidden;padding:28px 26px 30px;
  background:var(--hw-white);border:1px solid var(--hw-line);
  border-bottom:4px solid var(--hw-tide);border-radius:16px 16px 0 0;}
.bocs-level::before{content:"";position:absolute;inset:0;background:var(--hw-wash);
  transform:scaleY(.26);transform-origin:bottom;transition:transform .2s ease;}
.bocs-level:nth-child(3n+2)::before{transform:scaleY(.38);}
.bocs-level:nth-child(3n+3)::before{transform:scaleY(.17);}
.bocs-level:nth-child(5n+4)::before{transform:scaleY(.46);}
.bocs-level:hover::before{transform:scaleY(.72);}
.bocs-level > *{position:relative;z-index:1;}
.bocs-level .bocs-p{color:#31506a;}

/* ── deep bands, each filled to its own level ───────────────────── */
.bocs-band{
  --hw-datum:96px;
  --hw-fill:var(--hw-deep);
  --hw-body:var(--hw-ink);
  padding:clamp(58px,7vw,110px) 0 calc(var(--hw-datum) + clamp(30px,4vw,52px));
  color:var(--hw-white);
  background:linear-gradient(to top,var(--hw-fill) 0 var(--hw-datum),
                             var(--hw-body) var(--hw-datum) 100%);
}
.bocs-band--a{--hw-datum:104px;}
.bocs-band--b{--hw-datum:132px;--hw-fill:var(--hw-tide);--hw-body:var(--hw-deep);}
.bocs-band--c{--hw-datum:72px;}
.bocs-band--d{--hw-datum:150px;--hw-fill:var(--hw-ink);--hw-body:var(--hw-deep);}
.bocs-band--e{--hw-datum:56px;--hw-fill:var(--hw-crest);}
.bocs-band--f{--hw-datum:120px;}
.bocs-band__col{max-width:900px;text-align:left;}
.bocs-band__p{font-size:18px;line-height:1.68;color:#c1d8e8;margin:20px 0 0;}
.bocs-band__more{margin:26px 0 0;font-size:17px;}
.bocs-head--on{color:var(--hw-white);}

/* ── games + providers ──────────────────────────────────────────── */
.bocs-games{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:20px;margin-top:34px;}
#page-best-online-casino-software-solutions a.bocs-game{
  display:block;background:var(--hw-white);border:1px solid var(--hw-line);
  border-bottom:4px solid var(--hw-tide);border-radius:16px 16px 0 0;overflow:hidden;
  transition:transform .18s ease,border-bottom-color .18s ease;}
#page-best-online-casino-software-solutions a.bocs-game:hover{
  transform:translateY(-3px);border-bottom-color:var(--hw-crest);}
.bocs-game__shot{display:block;background:var(--hw-wash2);}
.bocs-game__img{display:block;width:100%;height:210px;object-fit:cover;object-position:center;}
.bocs-game .bocs-h4{margin:0;padding:18px 20px 20px;}

.bocs-provs{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));
  gap:14px;margin-top:22px;}
.bocs-prov{display:flex;flex-direction:column;align-items:center;gap:12px;
  padding:20px 14px 18px;background:var(--hw-white);border:1px solid var(--hw-line2);
  border-bottom:3px solid var(--hw-line);border-radius:14px 14px 0 0;text-align:center;
  transition:border-bottom-color .18s ease;}
.bocs-prov:hover{border-bottom-color:var(--hw-tide);}
.bocs-prov__img{display:block;width:auto;max-width:100%;height:52px;object-fit:contain;}

/* ── tick lists ─────────────────────────────────────────────────── */
.bocs-ticks{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.bocs-ticks li{display:flex;align-items:flex-start;gap:12px;font-size:17px;
  line-height:1.5;color:#26404f;}
.bocs-ticks--sm{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));}
.bocs-tick__i{flex:0 0 auto;width:22px;height:22px;margin-top:3px;display:block;}

/* ── portfolio ──────────────────────────────────────────────────── */
.bocs-port{margin-top:34px;padding-top:26px;border-top:1px solid var(--hw-line);}
.bocs-port__h{margin-bottom:18px;}
.bocs-port__row{display:flex;flex-wrap:wrap;gap:14px;}
.bocs-port__cell{display:flex;align-items:center;justify-content:center;
  width:170px;height:96px;padding:14px;background:var(--hw-white);
  border:1px solid var(--hw-line2);border-bottom:3px solid var(--hw-wash);
  border-radius:12px 12px 0 0;transition:border-bottom-color .18s ease;}
.bocs-port__cell:hover{border-bottom-color:var(--hw-tide);}
.bocs-port__img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;
  object-fit:contain;}

/* ── app screenshots (767x431 landscape — declared true) ────────── */
.bocs-shots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.bocs-shot{margin:0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);
  border-bottom:4px solid var(--hw-crest);border-radius:14px 14px 0 0;overflow:hidden;}
.bocs-shot__img{display:block;width:100%;height:auto;}

/* ── feature rows ───────────────────────────────────────────────── */
.bocs-rows{display:grid;gap:0;border-top:2px solid var(--hw-ink);}
.bocs-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);
  gap:clamp(16px,3vw,44px);padding:24px 0 24px 20px;
  border-bottom:1px solid var(--hw-line);position:relative;}
.bocs-row::before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:5px;
  background:var(--hw-wash);transition:background-color .18s ease;}
.bocs-row:hover::before{background:var(--hw-crest);}
.bocs-row__h{margin:0;}

/* ── advantages ─────────────────────────────────────────────────── */
.bocs-adv{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:2px;background:var(--hw-line);border:2px solid var(--hw-ink);}
.bocs-adv__i{background:var(--hw-white);padding:26px 24px;}
.bocs-adv__i:hover{background:var(--hw-wash2);}

/* ── trio / devices ─────────────────────────────────────────────── */
.bocs-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;}
.bocs-trio__i{background:var(--hw-white);border:1px solid var(--hw-line);
  border-bottom:5px solid var(--hw-tide);border-radius:18px 18px 0 0;padding:30px 26px 32px;}
.bocs-trio__ico{display:flex;align-items:center;justify-content:center;
  width:74px;height:74px;margin-bottom:20px;background:var(--hw-wash);
  border-radius:14px 14px 0 0;border-bottom:3px solid var(--hw-crest);}
.bocs-ico{display:block;width:40px;height:auto;}
.bocs-ico--sm{width:30px;}
.bocs-ico--lg{width:56px;}

.bocs-dev{display:grid;gap:18px;}
.bocs-dev__i{display:grid;grid-template-columns:74px minmax(0,1fr);gap:22px;
  align-items:start;background:var(--hw-white);border:1px solid var(--hw-line);
  border-bottom:4px solid var(--hw-tide);border-radius:16px 16px 0 0;padding:26px 26px 28px;}
.bocs-dev__ico{display:flex;align-items:center;justify-content:center;width:74px;height:74px;
  background:var(--hw-wash);border-radius:14px 14px 0 0;border-bottom:3px solid var(--hw-crest);}

/* ── variants ───────────────────────────────────────────────────── */
.bocs-vars{list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:14px;}
.bocs-var{display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:16px 12px 18px;background:var(--hw-white);border:1px solid var(--hw-line2);
  border-bottom:3px solid var(--hw-wash);border-radius:14px 14px 0 0;text-align:center;
  transition:border-bottom-color .18s ease,transform .18s ease;}
.bocs-var:hover{border-bottom-color:var(--hw-crest);transform:translateY(-2px);}
.bocs-var__i{display:block;width:100%;max-width:132px;height:auto;}
.bocs-var__n{font-size:16px;font-weight:600;color:#26404f;line-height:1.35;}

/* ── broaden ────────────────────────────────────────────────────── */
.bocs-broad{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:clamp(24px,4vw,54px);align-items:start;}
.bocs-broad__fig{border:1px solid var(--hw-line);border-bottom:5px solid var(--hw-crest);
  border-radius:18px 18px 0 0;overflow:hidden;background:var(--hw-white);}
.bocs-broad__img{display:block;width:100%;height:auto;}
.bocs-broad .bocs-ticks{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;}

/* ── process ────────────────────────────────────────────────────── */
.bocs-proc{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;}
.bocs-step{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);
  border-bottom:4px solid var(--hw-tide2);border-radius:16px 16px 0 0;padding:28px 26px 30px;}
.bocs-step__ico{display:flex;align-items:center;justify-content:center;width:66px;height:66px;
  margin-bottom:18px;background:rgba(255,255,255,.1);border-radius:12px 12px 0 0;
  border-bottom:3px solid var(--hw-crest);}
.bocs-step__l{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.bocs-step__l li{position:relative;padding-left:20px;font-size:17px;line-height:1.5;
  color:var(--hw-onmuted);}
.bocs-step__l li::before{content:"";position:absolute;left:0;top:11px;width:10px;height:4px;
  background:var(--hw-tide2);}

/* ── technology stack table ─────────────────────────────────────── */
.bocs-stack{width:100%;border-collapse:collapse;background:var(--hw-white);
  border:2px solid var(--hw-ink);}
.bocs-stack th,
.bocs-stack td{text-align:left;padding:20px 22px;font-size:17px;line-height:1.55;
  border-bottom:1px solid var(--hw-line);vertical-align:top;}
.bocs-stack tr:last-child th,
.bocs-stack tr:last-child td{border-bottom:0;}
.bocs-stack th{width:34%;font-weight:700;color:var(--hw-ink);background:var(--hw-wash2);
  border-right:1px solid var(--hw-line);}
.bocs-stack td{color:var(--hw-muted);}

/* ── editorial two-column ───────────────────────────────────────── */
.bocs-ed{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);
  gap:clamp(24px,4vw,60px);align-items:start;}
.bocs-ed__h{max-width:16ch;}

/* ── hire ───────────────────────────────────────────────────────── */
.bocs-hire{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(26px,4vw,56px);align-items:start;}
.bocs-hire__fig{border:1px solid var(--hw-line);border-bottom:5px solid var(--hw-tide);
  border-radius:18px 18px 0 0;overflow:hidden;background:var(--hw-white);
  position:sticky;top:24px;}
.bocs-hire__img{display:block;width:100%;height:auto;}
.bocs-hire__i{padding:22px 0 0;margin-top:22px;border-top:1px solid var(--hw-line);}

/* ── demo cards ─────────────────────────────────────────────────── */
.bocs-demos{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;}
.bocs-demo{background:var(--hw-white);border:1px solid var(--hw-line);
  border-bottom:5px solid var(--hw-crest);border-radius:18px 18px 0 0;padding:30px 26px 30px;
  display:flex;flex-direction:column;align-items:flex-start;}
.bocs-demo__ico{display:flex;align-items:center;justify-content:center;width:82px;height:82px;
  margin-bottom:18px;background:var(--hw-wash);border-radius:16px 16px 0 0;
  border-bottom:3px solid var(--hw-tide);}
.bocs-cred{margin:6px 0 22px;display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:6px 16px;font-size:16px;}
.bocs-cred dt{font-weight:600;color:var(--hw-muted);}
.bocs-cred dd{margin:0;font-weight:700;color:var(--hw-ink);word-break:break-word;}
#page-best-online-casino-software-solutions a.bocs-demo__go{
  margin-top:auto;display:inline-block;font-size:17px;font-weight:700;color:var(--hw-tide);
  padding-bottom:3px;border-bottom:2px solid var(--hw-tide);}
#page-best-online-casino-software-solutions a.bocs-demo__go:hover,
#page-best-online-casino-software-solutions a.bocs-demo__go:focus-visible{
  color:var(--hw-crest);border-bottom-color:var(--hw-crest);}

/* ── further reading ────────────────────────────────────────────── */
.bocs-reads{list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:2px;
  background:var(--hw-line);border:2px solid var(--hw-ink);}
#page-best-online-casino-software-solutions a.bocs-read{
  display:block;background:var(--hw-white);padding:20px 22px;font-size:17px;
  line-height:1.5;font-weight:600;color:var(--hw-ink);height:100%;
  border-left:5px solid transparent;transition:border-left-color .18s ease,background-color .18s ease;}
#page-best-online-casino-software-solutions a.bocs-read:hover,
#page-best-online-casino-software-solutions a.bocs-read:focus-visible{
  background:var(--hw-wash2);border-left-color:var(--hw-crest);}

/* ── FAQ ────────────────────────────────────────────────────────── */
.bocs-faqwrap{max-width:960px;}
.bocs-faqs{border-top:2px solid var(--hw-ink);}
.bocs-faq{border-bottom:1px solid var(--hw-line);background:var(--hw-white);}
.bocs-faq__s{display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:20px 22px;cursor:pointer;list-style:none;}
.bocs-faq__s::-webkit-details-marker{display:none;}
.bocs-faq__q{font-size:18px;font-weight:700;margin:0;}
.bocs-faq__m{position:relative;flex:0 0 auto;width:20px;height:20px;}
.bocs-faq__m::before,
.bocs-faq__m::after{content:"";position:absolute;background:var(--hw-crest);}
.bocs-faq__m::before{left:0;right:0;top:8px;height:4px;}
.bocs-faq__m::after{top:0;bottom:0;left:8px;width:4px;transition:transform .18s ease;}
.bocs-faq[open] .bocs-faq__m::after{transform:scaleY(0);}
.bocs-faq[open] .bocs-faq__s{background:var(--hw-wash2);}
.bocs-faq__a{padding:0 22px 22px;max-width:80ch;}

/* ── customer stories ───────────────────────────────────────────── */
.bocs-stories{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;}
.bocs-story{margin:0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);
  border-bottom:4px solid var(--hw-crest);border-radius:16px 16px 0 0;overflow:hidden;}
.bocs-vid{position:relative;display:block;width:100%;padding:0;border:0;background:#000;
  cursor:pointer;line-height:0;}
.bocs-story__img{display:block;width:100%;height:auto;opacity:.86;
  transition:opacity .18s ease;}
.bocs-vid:hover .bocs-story__img{opacity:1;}
.bocs-vid__p{position:absolute;left:50%;top:50%;width:64px;height:64px;
  transform:translate(-50%,-50%);background:var(--hw-crest);border-radius:14px 14px 0 0;}
.bocs-vid__p::after{content:"";position:absolute;left:26px;top:20px;
  border-left:16px solid #fff;border-top:12px solid transparent;
  border-bottom:12px solid transparent;}
.bocs-story__frame{display:block;width:100%;aspect-ratio:16/9;border:0;}
.bocs-story figcaption{padding:22px;}
.bocs-quote{margin:0 0 14px;font-size:17px;line-height:1.6;color:#cfe2ef;}
.bocs-story__n{margin:0;font-size:16px;font-weight:700;color:var(--hw-white);
  letter-spacing:.04em;text-transform:uppercase;}

/* ── area we serve ──────────────────────────────────────────────── */
.bocs-areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.bocs-area{position:relative;overflow:hidden;background:var(--hw-white);
  border:1px solid var(--hw-line);border-bottom:4px solid var(--hw-tide);
  border-radius:16px 16px 0 0;padding:26px 24px 28px;}
.bocs-area::before{content:"";position:absolute;inset:0;background:var(--hw-wash);
  transform:scaleY(.2);transform-origin:bottom;transition:transform .2s ease;}
.bocs-area:hover::before{transform:scaleY(.55);}
.bocs-area > *{position:relative;z-index:1;}
.bocs-area__t{margin:0 0 12px;font-size:17px;font-weight:700;}
.bocs-area__a{display:flex;gap:11px;align-items:flex-start;margin:0;
  font-size:16px;line-height:1.55;color:#31506a;}
.bocs-area__ico{flex:0 0 auto;width:14px;height:20px;margin-top:3px;display:block;}

/* ── CTA modal ──────────────────────────────────────────────────── */
.bocs-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,24,38,.72);overflow-y:auto;}
.bocs-modal.is-open{display:flex;}
.bocs-modal__box{position:relative;width:100%;max-width:640px;background:var(--hw-white);
  border-radius:18px 18px 0 0;border-bottom:6px solid var(--hw-crest);overflow:hidden;}
.bocs-modal__x{position:absolute;top:12px;right:12px;z-index:2;width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;border:0;border-radius:10px 10px 0 0;
  background:var(--hw-ink);color:var(--hw-white);cursor:pointer;
  transition:background-color .18s ease;}
.bocs-modal__x:hover{background:var(--hw-crest);}
.bocs-modal__box iframe{display:block;width:100%;min-height:640px;border:0;}

/* ── responsive ─────────────────────────────────────────────────── */
@media (max-width:960px){
  .bocs-intro__grid,.bocs-lede__grid,.bocs-ed,.bocs-hire,.bocs-broad{
    grid-template-columns:minmax(0,1fr);}
  .bocs-row{grid-template-columns:minmax(0,1fr);gap:10px;}
  .bocs-hire__fig{position:static;}
  .bocs-lede__h,.bocs-ed__h{max-width:none;}
}
@media (max-width:640px){
  .bocs-wrap{padding:0 18px;}
  .bocs-hero{padding-left:18px;padding-right:18px;}
  .bocs-dev__i{grid-template-columns:minmax(0,1fr);}
  .bocs-port__cell{width:calc(50% - 7px);}
  .bocs-vars{grid-template-columns:repeat(auto-fill,minmax(146px,1fr));}
  .bocs-shots{grid-template-columns:minmax(0,1fr);}
  .bocs-stack th,.bocs-stack td{padding:14px 16px;}
  .bocs-stack th{width:40%;}
  .bocs-btn{width:100%;text-align:center;}
}

/* rule 26 — the only motion on this page is a finite response to hover,
   focus, press or a details toggle. Nothing starts or repeats by itself. */
@media (prefers-reduced-motion:reduce){
  #page-best-online-casino-software-solutions *,
  #page-best-online-casino-software-solutions *::before,
  #page-best-online-casino-software-solutions *::after{
    animation:none !important;transition-duration:.01ms !important;}
}

/* The "Best Solutions for iGaming" description rendered larger than the body
   copy beneath it. Sized to this page's body text (16px) at the user's
   request, applied across every page carrying this section. Scoped to the
   section because .bocs-p is used elsewhere on this page. Line-height is
   left alone — it is unitless, so it tracks the new size. */
#page-best-online-casino-software-solutions [aria-labelledby="bocs-igaming"] .bocs-p{font-size:16px;}
