/* ══════════════════════════════════════════════════════════════════════════
   /craps-software — page-isolated stylesheet
   AISHTMLNEWDESIGN-609

   Visual direction: "PIP & UMBER".

   A craps table is bone dice thrown across a printed layout of ruled bet
   boxes, so the page is built from exactly two materials and one signal:

     · UMBER  — a warm, near-black brown ground (#1b1410). Deliberately warm,
                so it cannot be mistaken for the cool obsidian/indigo grounds
                already used elsewhere in this repo.
     · CHALK  — a cool, high-key reading surface (#f3f4f6 / #ffffff), the
                printed side of the layout.
     · PIP    — one signal yellow (#ffd400), the colour of a lit dice pip. It
                is the page's only accent: no second hue, no gradient family.
                On light surfaces the AA-safe deep variant (#7a5500) carries
                the text and the pure pip is reserved for fills and rules.

   Composition motif: the DICE FACE and the ruled BET BOX. Every dice face on
   the page is drawn here in CSS as a real 3x3 pip grid — the preservation
   record recovered NO imagery for this page and instructs "use static
   animation in place of the original imagery", so nothing is a bitmap and
   nothing moves. Sections alternate between an offset "roll" staircase, a
   heavy-ruled 2x2 bet-box block, a dark banner, a duo of prose columns and a
   quote row, so no two sections are composed alike and there is no repeated
   three-card grid anywhere.

   Every rule is scoped to #page-craps-software, so this file can never touch
   the shared header/footer, which is owned by /assets/css/layout.css +
   /assets/js/site-layout.js.

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

#page-craps-software{
  /* ── palette ─────────────────────────────────────────────────────────── */
  --umber:#1b1410;         /* warm near-black ground            */
  --umber-2:#251c16;       /* raised surface on the ground      */
  --umber-3:#403126;       /* hairline on the ground            */
  --chalk:#f3f4f6;         /* cool reading surface              */
  --paper:#ffffff;
  --line:#d9dde3;
  --line-2:#c2c8d1;
  --body:#1e293b;          /* AA on paper and chalk             */
  --body-dark:#e6e1da;     /* AA on umber                       */
  --strong:#1b1410;
  --pip:#ffd400;           /* signal yellow — fills and rules   */
  --pip-deep:#7a5500;      /* the pip hue that passes AA on light */
  --pip-tint:#fff7d1;

  --wrap:1240px;
  --gut:clamp(20px,4vw,40px);
  --sec:clamp(58px,7vw,102px);
  --stair:clamp(0px,2.6vw,40px);
  --r:10px;

  font-family:"Inter",system-ui,sans-serif;
  font-size:16px;
  line-height:1.65;
  color:var(--body);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  overflow-wrap:break-word;
}

/* ── self-contained baseline: never inherit ambient globals ─────────────── */
#page-craps-software *,
#page-craps-software *::before,
#page-craps-software *::after{box-sizing:border-box;}
#page-craps-software h1,
#page-craps-software h2,
#page-craps-software h3,
#page-craps-software p,
#page-craps-software ul,
#page-craps-software ol,
#page-craps-software figure,
#page-craps-software blockquote{margin:0;}
#page-craps-software ul,
#page-craps-software ol{list-style:none;padding:0;}
#page-craps-software img{max-width:100%;height:auto;display:block;}
#page-craps-software h1,
#page-craps-software h2,
#page-craps-software h3{
  color:var(--strong);font-weight:800;letter-spacing:-.021em;line-height:1.16;
}
#page-craps-software :focus-visible{
  outline:3px solid var(--pip-deep);outline-offset:3px;border-radius:4px;
}

/* ── layout primitives ──────────────────────────────────────────────────── */
#page-craps-software .crp-wrap{
  width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut);
}
#page-craps-software .crp-sec{padding-block:var(--sec);}
#page-craps-software .crp-sec--paper{background:var(--paper);}
#page-craps-software .crp-sec--chalk{background:var(--chalk);}

/* ── the dice face — the page's signature mark ──────────────────────────────
   A real 3x3 pip grid, positioned per face. Entirely static: no transform
   beyond the two fixed tilts on the large pair, no animation of any kind. */
#page-craps-software .crp-die{
  display:inline-grid;
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:repeat(3,1fr);
  gap:3px;
  width:48px;height:48px;padding:6px;flex:none;
  border-radius:11px;
  background:linear-gradient(158deg,#31251c 0%,#1d1611 100%);
  border:1px solid var(--umber-3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 18px -12px rgba(27,20,16,.8);
}
#page-craps-software .crp-die i{
  display:block;width:100%;height:100%;border-radius:50%;
  background:var(--pip);
}
#page-craps-software .crp-die[data-face="1"] i:nth-child(1){grid-area:2 / 2;}
#page-craps-software .crp-die[data-face="2"] i:nth-child(1){grid-area:1 / 1;}
#page-craps-software .crp-die[data-face="2"] i:nth-child(2){grid-area:3 / 3;}
#page-craps-software .crp-die[data-face="3"] i:nth-child(1){grid-area:1 / 1;}
#page-craps-software .crp-die[data-face="3"] i:nth-child(2){grid-area:2 / 2;}
#page-craps-software .crp-die[data-face="3"] i:nth-child(3){grid-area:3 / 3;}
#page-craps-software .crp-die[data-face="4"] i:nth-child(1){grid-area:1 / 1;}
#page-craps-software .crp-die[data-face="4"] i:nth-child(2){grid-area:1 / 3;}
#page-craps-software .crp-die[data-face="4"] i:nth-child(3){grid-area:3 / 1;}
#page-craps-software .crp-die[data-face="4"] i:nth-child(4){grid-area:3 / 3;}
#page-craps-software .crp-die[data-face="5"] i:nth-child(1){grid-area:1 / 1;}
#page-craps-software .crp-die[data-face="5"] i:nth-child(2){grid-area:1 / 3;}
#page-craps-software .crp-die[data-face="5"] i:nth-child(3){grid-area:2 / 2;}
#page-craps-software .crp-die[data-face="5"] i:nth-child(4){grid-area:3 / 1;}
#page-craps-software .crp-die[data-face="5"] i:nth-child(5){grid-area:3 / 3;}
#page-craps-software .crp-die--xl{
  width:clamp(86px,11vw,116px);height:clamp(86px,11vw,116px);
  padding:clamp(12px,1.5vw,16px);gap:clamp(5px,.7vw,8px);
  border-radius:clamp(16px,2vw,24px);
}
#page-craps-software .crp-die--tilt-a{transform:rotate(-9deg);}
#page-craps-software .crp-die--tilt-b{transform:rotate(12deg);margin-top:clamp(24px,3.5vw,48px);}

/* ── type scale ─────────────────────────────────────────────────────────── */
#page-craps-software .crp-eyebrow{
  display:inline-flex;align-items:center;gap:11px;
  font-size:16px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--pip-deep);margin:0 0 16px;
}
#page-craps-software .crp-eyebrow::before{
  content:"";width:26px;height:3px;background:var(--pip);flex:none;
}
#page-craps-software .crp-h2{
  font-size:clamp(30px,3.8vw,48px);max-width:20ch;
}
#page-craps-software .crp-h2--wide{max-width:30ch;}
#page-craps-software .crp-lede-p{
  margin-top:18px;
  font-size:clamp(18px,1.7vw,21px);line-height:1.6;color:var(--body);max-width:60ch;
}
#page-craps-software .crp-head{margin-bottom:clamp(34px,4.5vw,60px);}
#page-craps-software .crp-head--centre{text-align:center;}
#page-craps-software .crp-head--centre .crp-eyebrow{justify-content:center;}
#page-craps-software .crp-head--centre .crp-h2{margin-inline:auto;}

/* inline body links — the second destination in a section is a text link,
   never a second button (skill rule 13) */
#page-craps-software .crp-link{
  color:var(--pip-deep);font-weight:700;
  border-bottom:2px solid rgba(122,85,0,.34);
  transition:color .18s ease,border-color .18s ease;
}
#page-craps-software .crp-link:hover,
#page-craps-software .crp-link:focus-visible{
  color:var(--strong);border-color:var(--pip);
}

/* ── buttons ────────────────────────────────────────────────────────────── */
#page-craps-software .crp-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:14px 30px;border:2px solid transparent;border-radius:8px;
  font:inherit;font-size:17px;font-weight:700;letter-spacing:.01em;
  cursor:pointer;text-align:center;
  transition:transform .16s ease,background-color .18s ease,color .18s ease,
             border-color .18s ease,box-shadow .18s ease;
}
#page-craps-software .crp-btn--pip{
  background:var(--pip);color:var(--strong);border-color:var(--pip);
  box-shadow:0 14px 30px -16px rgba(255,212,0,.75);
}
#page-craps-software .crp-btn--pip:hover{
  background:#ffe25c;border-color:#ffe25c;transform:translateY(-2px);
}
#page-craps-software .crp-btn--pip:active{transform:translateY(0);}
#page-craps-software .crp-btn--ink{
  background:var(--umber);color:#fff;border-color:var(--umber);
}
#page-craps-software .crp-btn--ink:hover{
  background:var(--pip);color:var(--strong);border-color:var(--pip);transform:translateY(-2px);
}
#page-craps-software .crp-btn--ink:active{transform:translateY(0);}
#page-craps-software .crp-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;}
#page-craps-software .crp-cta-row{margin-top:clamp(28px,3.4vw,42px);text-align:center;}
#page-craps-software .crp-cta-row--left{text-align:left;}

/* ══ HERO — rule 24: full-bleed, static gradient, no media, one CTA ═══════ */
#page-craps-software .crp-hero{
  width:100%;
  padding:clamp(66px,8vw,124px) 24px clamp(56px,6.5vw,94px);
  background:
    radial-gradient(760px 380px at 50% -6%,rgba(255,212,0,.20),transparent 64%),
    radial-gradient(620px 320px at 88% 106%,rgba(255,212,0,.09),transparent 68%),
    linear-gradient(176deg,#241a13 0%,#1b1410 56%,#170f0b 100%);
  border-bottom:1px solid var(--umber-3);
  color:var(--body-dark);
  text-align:center;
}
#page-craps-software .crp-hero__inner{max-width:900px;margin-inline:auto;}
#page-craps-software .crp-hero__tag{
  display:inline-block;
  padding:9px 20px;border:1px solid rgba(255,212,0,.5);border-radius:999px;
  background:rgba(255,212,0,.08);
  font-size:16px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--pip);
}
#page-craps-software .crp-hero h1{
  margin-top:clamp(22px,2.6vw,30px);
  font-size:clamp(38px,5.2vw,66px);line-height:1.06;letter-spacing:-.028em;color:#fff;
}
#page-craps-software .crp-hero__copy{
  margin-top:clamp(20px,2.4vw,28px);
  font-size:clamp(17px,1.55vw,19px);line-height:1.68;color:var(--body-dark);
  max-width:76ch;margin-inline:auto;
}
#page-craps-software .crp-hero .crp-btn{margin-top:clamp(28px,3.2vw,40px);}
#page-craps-software .crp-hero__pips{
  margin-top:clamp(34px,4vw,52px);padding-top:clamp(24px,3vw,32px);
  border-top:1px solid var(--umber-3);
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:clamp(18px,3vw,44px);
}
#page-craps-software .crp-hero__pips li{
  display:flex;align-items:center;gap:13px;
  font-size:17px;font-weight:700;color:#fff;
}

/* ══ breadcrumb strip ════════════════════════════════════════════════════ */
#page-craps-software .crp-crumbbar{
  background:var(--umber-2);border-bottom:1px solid var(--umber-3);
}
#page-craps-software .crp-crumb{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding-block:15px;font-size:16px;color:var(--body-dark);
}
/* the shared arrow + pin icons ship as dark indigo; they are recoloured here
   so they read on this page's umber and chalk surfaces */
#page-craps-software .crp-crumb img{
  width:16px;height:16px;filter:brightness(0) invert(1);opacity:.7;
}
#page-craps-software .crp-crumb a{color:var(--pip);font-weight:700;}
#page-craps-software .crp-crumb a:hover{text-decoration:underline;}
#page-craps-software .crp-crumb [aria-current]{color:#fff;font-weight:600;}

/* ══ opening statement — one wide paragraph behind a thick pip rule ══════ */
#page-craps-software .crp-lede{
  background:var(--chalk);
  padding-block:clamp(46px,5.5vw,80px);
  border-bottom:1px solid var(--line);
}
#page-craps-software .crp-lede p{
  border-left:6px solid var(--pip);
  padding-left:clamp(20px,3vw,40px);
  font-size:clamp(19px,2vw,25px);line-height:1.55;color:var(--body);
  max-width:80ch;
}

/* ══ dark banner — asymmetric, carries its own single CTA ════════════════ */
#page-craps-software .crp-banner{
  padding-block:clamp(48px,6vw,84px);
  border-top:3px solid var(--pip);
  border-bottom:1px solid var(--umber-3);
  color:var(--body-dark);
  background-image:
    repeating-linear-gradient(135deg,rgba(255,212,0,.055) 0 2px,transparent 2px 17px),
    linear-gradient(100deg,#2a1e16 0%,#1b1410 62%);
}
#page-craps-software .crp-banner__grid{
  display:grid;grid-template-columns:minmax(0,1.5fr) auto;
  gap:clamp(26px,4vw,60px);align-items:center;
}
#page-craps-software .crp-banner .crp-eyebrow{color:var(--pip);}
#page-craps-software .crp-banner .crp-h2{color:#fff;}
#page-craps-software .crp-banner .crp-lede-p{color:var(--body-dark);}
#page-craps-software .crp-banner :focus-visible{outline-color:var(--pip);}

/* ══ the roll staircase — five offset ruled steps, each with a dice face ══ */
#page-craps-software .crp-stair{display:grid;}
#page-craps-software .crp-step{
  display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:clamp(18px,2.6vw,34px);align-items:start;
  padding-block:clamp(24px,3vw,36px);
  border-top:1px solid var(--line);
}
#page-craps-software .crp-step:last-child{border-bottom:1px solid var(--line);}
#page-craps-software .crp-step:nth-child(2){padding-left:var(--stair);}
#page-craps-software .crp-step:nth-child(3){padding-left:calc(var(--stair) * 2);}
#page-craps-software .crp-step:nth-child(4){padding-left:calc(var(--stair) * 3);}
#page-craps-software .crp-step:nth-child(5){padding-left:calc(var(--stair) * 4);}
#page-craps-software .crp-step__mark{padding-top:4px;}
#page-craps-software .crp-step__body h3{
  font-size:clamp(21px,2.1vw,27px);margin-bottom:12px;
}
#page-craps-software .crp-step__body p{
  font-size:17px;color:var(--body);max-width:78ch;
}

/* ══ bet boxes — the craps-layout motif: four heavy-ruled quadrants ══════ */
#page-craps-software .crp-boxes{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  border:2px solid var(--strong);background:var(--paper);
}
#page-craps-software .crp-box{
  padding:clamp(24px,3vw,42px);
  border-right:2px solid var(--strong);
  border-bottom:2px solid var(--strong);
  transition:background-color .18s ease;
}
#page-craps-software .crp-box:nth-child(2n){border-right:0;}
#page-craps-software .crp-box:nth-last-child(-n+2){border-bottom:0;}
#page-craps-software .crp-box:hover{background:var(--pip-tint);}
#page-craps-software .crp-box__idx{
  display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;margin-bottom:20px;
  background:var(--pip);color:var(--strong);
  font-size:18px;font-weight:800;letter-spacing:.02em;
}
#page-craps-software .crp-box h3{font-size:clamp(20px,2vw,25px);margin-bottom:12px;}
#page-craps-software .crp-box p{font-size:17px;color:var(--body);}

/* ══ hire band — copy against the static CSS dice pair (3 + 4) ═══════════ */
#page-craps-software .crp-hire{
  padding-block:var(--sec);
  color:var(--body-dark);
  background:
    radial-gradient(560px 300px at 84% 50%,rgba(255,212,0,.15),transparent 66%),
    linear-gradient(162deg,#241a13 0%,#1b1410 100%);
  border-block:1px solid var(--umber-3);
}
#page-craps-software .crp-hire__grid{
  display:grid;grid-template-columns:minmax(0,1.3fr) auto;
  gap:clamp(32px,5vw,80px);align-items:center;
}
#page-craps-software .crp-hire .crp-eyebrow{color:var(--pip);}
#page-craps-software .crp-hire .crp-h2{color:#fff;}
#page-craps-software .crp-hire .crp-lede-p{color:var(--body-dark);}
#page-craps-software .crp-hire :focus-visible{outline-color:var(--pip);}
#page-craps-software .crp-aside{margin-top:18px;font-size:17px;color:var(--body-dark);}
#page-craps-software .crp-hire .crp-link{
  color:var(--pip);border-bottom-color:rgba(255,212,0,.42);
}
#page-craps-software .crp-hire .crp-link:hover,
#page-craps-software .crp-hire .crp-link:focus-visible{color:#fff;border-color:#fff;}
#page-craps-software .crp-dicepair{
  display:flex;align-items:flex-start;justify-content:center;
  gap:clamp(16px,2.4vw,30px);
}

/* ══ trusted-partner prose — two columns over a pip rule ═════════════════ */
#page-craps-software .crp-prose{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(24px,4vw,60px);
  border-top:3px solid var(--pip);padding-top:clamp(26px,3vw,42px);
}
#page-craps-software .crp-prose p{font-size:17px;color:var(--body);}

/* ══ FAQ accordion — motion is user-initiated (rule 26) ═════════════════ */
#page-craps-software .crp-faq{
  display:grid;gap:12px;max-width:1000px;margin-inline:auto;
}
#page-craps-software .crp-faq details{
  border:1px solid var(--line-2);border-radius:var(--r);background:var(--paper);
  transition:border-color .18s ease,box-shadow .18s ease;
}
#page-craps-software .crp-faq details[open]{
  border-color:var(--pip-deep);box-shadow:0 16px 34px -26px rgba(27,20,16,.65);
}
#page-craps-software .crp-faq summary{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:clamp(18px,2vw,24px);cursor:pointer;list-style:none;min-height:52px;
}
#page-craps-software .crp-faq summary::-webkit-details-marker{display:none;}
#page-craps-software .crp-faq summary h2{
  font-size:clamp(17px,1.7vw,20px);font-weight:700;line-height:1.4;max-width:none;
  transition:color .18s ease;
}
#page-craps-software .crp-faq summary:hover h2{color:var(--pip-deep);}
#page-craps-software .crp-faq summary i{
  flex:none;width:34px;height:34px;position:relative;
  border:2px solid var(--strong);
  transition:background-color .18s ease,border-color .18s ease;
}
#page-craps-software .crp-faq summary i::before,
#page-craps-software .crp-faq summary i::after{
  content:"";position:absolute;left:50%;top:50%;background:var(--strong);
  transform:translate(-50%,-50%);
  transition:opacity .18s ease,background-color .18s ease;
}
#page-craps-software .crp-faq summary i::before{width:14px;height:3px;}
#page-craps-software .crp-faq summary i::after{width:3px;height:14px;}
#page-craps-software .crp-faq details[open] summary i{background:var(--pip);border-color:var(--strong);}
#page-craps-software .crp-faq details[open] summary i::after{opacity:0;}
#page-craps-software .crp-faq__a{padding:0 clamp(18px,2vw,24px) clamp(20px,2.2vw,26px);}
#page-craps-software .crp-faq__a p{font-size:17px;color:var(--body);}

/* ══ customer stories — quote-led, no fabricated portrait or name ════════ */
#page-craps-software .crp-stories{
  padding-block:var(--sec);
  color:var(--body-dark);
  background:linear-gradient(180deg,#1b1410 0%,#241a13 100%);
  border-block:1px solid var(--umber-3);
}
#page-craps-software .crp-stories .crp-eyebrow{color:var(--pip);}
#page-craps-software .crp-stories .crp-h2{color:#fff;}
#page-craps-software .crp-stories :focus-visible{outline-color:var(--pip);}
#page-craps-software .crp-storylist{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,2.4vw,30px);
}
#page-craps-software .crp-story{
  display:flex;flex-direction:column;justify-content:space-between;
  background:var(--umber-2);border:1px solid var(--umber-3);border-radius:var(--r);
  padding:clamp(20px,2.2vw,28px);
}
#page-craps-software .crp-story blockquote::before{
  content:"\201C";display:block;
  font-size:56px;line-height:.72;color:var(--pip);margin-bottom:10px;
}
#page-craps-software .crp-story blockquote p{font-size:17px;color:var(--body-dark);}
#page-craps-software .crp-play{
  display:flex;align-items:center;gap:13px;width:100%;margin-top:22px;
  min-height:52px;padding:9px 14px;
  background:transparent;border:1px solid var(--umber-3);border-radius:8px;
  color:var(--pip);font:inherit;cursor:pointer;text-align:left;
  transition:background-color .18s ease,border-color .18s ease;
}
#page-craps-software .crp-play:hover{background:rgba(255,212,0,.09);border-color:var(--pip);}
#page-craps-software .crp-play__disc{
  flex:none;width:34px;height:34px;border-radius:50%;
  background:var(--pip);color:var(--strong);
  display:inline-flex;align-items:center;justify-content:center;
}
#page-craps-software .crp-play__txt{font-size:17px;font-weight:700;}
#page-craps-software .crp-story__frame{
  width:100%;aspect-ratio:16/9;margin-top:22px;border:0;border-radius:8px;display:block;
}
#page-craps-software .crp-more{
  margin-top:clamp(26px,3vw,40px);text-align:center;font-size:17px;
}
#page-craps-software .crp-more .crp-link{
  color:var(--pip);border-bottom-color:rgba(255,212,0,.42);
}
#page-craps-software .crp-more .crp-link:hover,
#page-craps-software .crp-more .crp-link:focus-visible{color:#fff;border-color:#fff;}

/* ══ area we serve ══════════════════════════════════════════════════════ */
#page-craps-software .crp-regions{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.4vw,34px);
}
#page-craps-software .crp-region{border-top:4px solid var(--strong);padding-top:20px;}
#page-craps-software .crp-region:nth-child(2){border-top-color:var(--pip);}
#page-craps-software .crp-region h3{
  display:flex;align-items:center;gap:9px;
  font-size:17px;letter-spacing:.11em;text-transform:uppercase;margin-bottom:12px;
}
#page-craps-software .crp-region h3 img{width:14px;height:20px;filter:brightness(0);opacity:.85;}
#page-craps-software .crp-tel{
  display:inline-block;margin-bottom:10px;
  font-size:18px;font-weight:800;color:var(--pip-deep);
}
#page-craps-software .crp-tel:hover{color:var(--strong);text-decoration:underline;}
#page-craps-software .crp-region p{font-size:16px;color:var(--body);}

/* ══ CTA modal — opens only on a click (rule 26) ════════════════════════ */
#page-craps-software .crp-modal{
  position:fixed;inset:0;z-index:9999;display:none;
  align-items:flex-start;justify-content:center;
  padding: 100px clamp(16px,4vw,48px) clamp(16px,4vw,48px) clamp(16px,4vw,48px);overflow-y:auto;
  background:rgba(15,10,7,.84);
}
#page-craps-software .crp-modal.is-open{display:flex;}
#page-craps-software .crp-modal__box{
  position:relative;width:100%;max-width:620px;background:#fff;border-radius:16px;
  padding:56px 18px 18px;box-shadow:0 40px 90px -30px rgba(0,0,0,.7);
}
#page-craps-software .crp-modal__x{
  position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;
  background:var(--chalk);border:1px solid var(--line-2);color:var(--strong);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
#page-craps-software .crp-modal__x:hover{
  background:var(--pip);color:var(--strong);border-color:var(--pip);
}
#page-craps-software .crp-modal iframe{
  width:100%;min-height:860px;border:0;display:block;border-radius:10px;
}

/* ══ responsive ═════════════════════════════════════════════════════════ */
@media (max-width:1080px){
  #page-craps-software .crp-storylist{grid-template-columns:repeat(2,minmax(0,1fr));}
  #page-craps-software .crp-regions{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:860px){
  #page-craps-software{--stair:0px;}
  #page-craps-software .crp-banner__grid,
  #page-craps-software .crp-hire__grid,
  #page-craps-software .crp-prose,
  #page-craps-software .crp-boxes{grid-template-columns:minmax(0,1fr);}
  #page-craps-software .crp-h2,
  #page-craps-software .crp-h2--wide{max-width:none;}
  #page-craps-software .crp-box{border-right:0;}
  #page-craps-software .crp-box:nth-last-child(-n+2){border-bottom:2px solid var(--strong);}
  #page-craps-software .crp-box:last-child{border-bottom:0;}
  #page-craps-software .crp-hero__pips{flex-direction:column;align-items:flex-start;text-align:left;}
  #page-craps-software .crp-dicepair{justify-content:flex-start;}
  #page-craps-software .crp-cta-row{text-align:left;}
}
@media (max-width:640px){
  #page-craps-software .crp-storylist,
  #page-craps-software .crp-regions{grid-template-columns:minmax(0,1fr);}
  #page-craps-software .crp-step{grid-template-columns:minmax(0,1fr);gap:16px;}
  #page-craps-software .crp-btn{width:100%;}
  #page-craps-software .crp-modal iframe{min-height:900px;}
}

/* rule 26 — reduced-motion reset for the finite transitions that remain */
@media (prefers-reduced-motion:reduce){
  #page-craps-software *,
  #page-craps-software *::before,
  #page-craps-software *::after{
    animation:none!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}
