/* /case-study/plinkoverse-plinko-platform-case-study — AISHTMLNEWDESIGN-549
   Page-owned styles. EVERY selector is scoped to #page-case-study-plinkoverse-plinko-platform-case-study or a
   cspp- 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 — PEG ROW
   A Plinko board read as a design system: a cool graphite board, a repeating
   row of small dots standing in for the peg field as a section-divider
   motif, and a single bright cyan "ball" accent for CTAs, numbering and
   stat figures. Distinct from PINFALL (brightplay-plinko-game-development —
   ink-plum board, vermilion accent, staggered peg-disc numbering): a
   different Plinko client gets a different board reading, not the same one
   recoloured. Motion is finite and user-initiated only (rule 26).

   CTA COLOUR RULE (the AISHTMLNEWDESIGN-501 lesson, applied up front this
   time instead of fixed after the fact): a button must never share the
   colour of the band it sits on. This page has exactly two backgrounds —
   ink (hero, results band) and light (white/tint, everything else) — and
   exactly two button fills to match: .cspp-btn--cyan for ink backgrounds,
   .cspp-btn--ink for light backgrounds. Never the reverse.

   CONTRAST, measured (WCAG): bright cyan (#29d3c9) is decorative-only on
   light backgrounds (1.65-1.87:1 there, well under the 3:1 floor) — used
   only as text/fill ON ink (9.26:1) or as a button fill paired with ink
   text (9.26:1). All cyan TEXT on white/tint uses the darkened
   --cspp-cyan-dp (#0c7a74): 5.18:1 on white, 4.57:1 on tint. ink/white
   17.28:1, muted/tint 6.01:1, text/tint 14.41:1. */

#page-case-study-plinkoverse-plinko-platform-case-study {
  --cspp-ink: #171b21;
  --cspp-ink-deep: #0f1216;
  --cspp-paper: #ffffff;
  --cspp-tint: #eef1f4;
  --cspp-text: #1c2027;
  --cspp-muted: #565b66;
  --cspp-line: #dfe3e8;

  --cspp-cyan: #29d3c9;
  --cspp-cyan-dp: #0c7a74;

  font-family: "Inter", -apple-system, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.65;
  color: var(--cspp-text);
  background: var(--cspp-paper);
  display: block;
}

#page-case-study-plinkoverse-plinko-platform-case-study .cspp-wrap { max-width: 1120px; margin: 0 auto; padding: 0 28px; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-section { padding: 74px 0; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-section--tint { background: var(--cspp-tint); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-link { color: var(--cspp-cyan-dp); text-decoration: underline; }

#page-case-study-plinkoverse-plinko-platform-case-study .cspp-h2 {
  margin: 0 0 10px;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.16;
  font-weight: 800;
  letter-spacing: -0.015em;
  color: var(--cspp-ink);
  max-width: 26ch;
}
/* the peg-row rule: a repeating dot row standing in for the peg field */
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-h2::after {
  content: "";
  display: block;
  width: 132px; height: 8px; margin: 16px 0 26px;
  background-image: radial-gradient(var(--cspp-cyan-dp) 2px, transparent 2.4px);
  background-size: 12px 8px;
  background-repeat: repeat-x;
}
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-h2--band { color: #fff; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-h2--band::after { background-image: radial-gradient(var(--cspp-cyan) 2px, transparent 2.4px); }

/* ---------- hero ---------- */
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-hero { background: var(--cspp-ink); padding: 84px 28px 76px; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-hero__inner { max-width: 900px; margin: 0 auto; text-align: center; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-eyebrow { margin: 0 0 18px; font-size: 16px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--cspp-cyan); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-hero__title { margin: 0 0 20px; font-size: clamp(36px, 4.4vw, 56px); line-height: 1.1; font-weight: 800; letter-spacing: -0.02em; color: #fff; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-hero__lede { margin: 0 auto 26px; color: #d7dbe1; max-width: 78ch; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-hero__techlabel { margin: 0 0 12px; font-size: 18px; font-weight: 800; color: #fff; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-tech { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-tech li { border: 2px solid rgba(215, 219, 225, 0.35); color: #d7dbe1; padding: 9px 16px; font-weight: 600; font-size: 16px; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-hero__ctarow { margin: 32px 0 0; }

/* ---------- CTA button ---------- */
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-btn {
  display: inline-block; border: 0; cursor: pointer; font-family: inherit;
  font-size: 16px; font-weight: 700; line-height: 1; letter-spacing: 0.01em;
  padding: 17px 30px; border-radius: 6px; min-height: 44px;
  transition: background-color 0.18s, color 0.18s, transform 0.18s;
}
/* ink backgrounds (hero, results band) ONLY */
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-btn--cyan { background: var(--cspp-cyan); color: var(--cspp-ink); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-btn--cyan:hover { background: #1fb8af; transform: translateY(-1px); }
/* light backgrounds (white, tint) ONLY -- never on .cspp-hero or .cspp-band */
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-btn--ink { background: var(--cspp-ink); color: #fff; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-btn--ink:hover { background: var(--cspp-ink-deep); transform: translateY(-1px); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-btn:active { transform: translateY(0); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-btn:focus-visible { outline: 3px solid var(--cspp-cyan); outline-offset: 3px; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-sec__ctarow { margin: 34px 0 0; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-band__ctarow { margin: 40px 0 0; }

/* ---------- breadcrumb ---------- */
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-breadcrumb { background: var(--cspp-paper); border-bottom: 1px solid var(--cspp-line); display: flex; align-items: center; gap: 10px; padding: 14px 28px; font-size: 16px; color: var(--cspp-muted); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-breadcrumb__back { display: inline-flex; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-breadcrumb__leg:hover { color: var(--cspp-cyan-dp); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-breadcrumb__now { color: var(--cspp-ink); font-weight: 600; }

/* ---------- contents ---------- */
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-toc { background: var(--cspp-paper); padding: 46px 0; border-bottom: 1px solid var(--cspp-line); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-toc__title { margin: 0 0 20px; font-size: 18px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cspp-muted); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-toc__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 40px; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-toc__list li { border-top: 1px solid var(--cspp-line); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-toc__list a { display: flex; align-items: baseline; gap: 14px; padding: 15px 2px; font-weight: 600; color: var(--cspp-ink); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-toc__list a:hover { color: var(--cspp-cyan-dp); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-toc__num { font-weight: 800; color: var(--cspp-cyan-dp); }

/* ---------- About ---------- */
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-lede { margin: 0; max-width: 80ch; color: var(--cspp-muted); }

/* ---------- Challenges: peg tiles ---------- */
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-chals { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-chal { background: var(--cspp-paper); border: 1px solid var(--cspp-line); padding: 24px 26px; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-chal:last-child { grid-column: 1 / -1; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-chal__t { margin: 0 0 6px; font-size: 1.14rem; font-weight: 800; color: var(--cspp-ink); display: flex; gap: 12px; align-items: center; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-chal__n { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; border-radius: 50%; background: var(--cspp-ink); color: var(--cspp-cyan); font-size: 16px; font-weight: 800; flex: none; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-chal__b { margin: 0; color: var(--cspp-muted); }

/* ---------- Solution: the mapping table ---------- */
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-tablewrap { overflow-x: auto; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-map { width: 100%; border-collapse: collapse; background: var(--cspp-paper); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-map th { background: var(--cspp-ink); color: #fff; text-align: left; font-weight: 800; font-size: 16px; letter-spacing: 0.04em; text-transform: uppercase; padding: 14px 18px; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-map td { border-top: 1px solid var(--cspp-line); padding: 16px 18px; vertical-align: top; color: var(--cspp-muted); font-size: 16px; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-map tbody tr:nth-child(odd) td { background: var(--cspp-tint); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-map td:last-child { color: var(--cspp-ink); font-weight: 600; }

/* ---------- Results: dark band, cyan stat figures ---------- */
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-band { background: var(--cspp-ink); padding: 74px 0; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-stat { border-radius: 10px; background: rgba(41, 211, 201, 0.08); border: 1px solid rgba(41, 211, 201, 0.35); padding: 24px 20px; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-stat__n { display: block; font-size: 2.4rem; font-weight: 800; line-height: 1; color: var(--cspp-cyan); margin-bottom: 10px; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-stat__b { display: block; color: #d7dbe1; font-size: 16px; }

/* ---------- Why ---------- */
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-whys { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-why { background: var(--cspp-paper); border: 1px solid var(--cspp-line); padding: 24px 26px; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-why__t { margin: 0 0 6px; font-size: 1.1rem; font-weight: 800; color: var(--cspp-ink); display: flex; gap: 12px; align-items: center; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-why__n { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 30px; border-radius: 50%; background: var(--cspp-tint); color: var(--cspp-cyan-dp); font-weight: 800; flex: none; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-why__b { margin: 0; color: var(--cspp-muted); }

/* ---------- Client quote ---------- */
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-quote { margin: 0; background: var(--cspp-tint); border-radius: 12px; padding: 30px 34px; max-width: 80ch; position: relative; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-quote::before { content: ""; position: absolute; top: -11px; left: 32px; width: 22px; height: 22px; border-radius: 50%; background: var(--cspp-cyan-dp); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-quote blockquote { margin: 0; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-quote p { margin: 0; font-size: 1.22rem; line-height: 1.55; font-weight: 600; color: var(--cspp-ink); }

/* ---------- Area We Serve ---------- */
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-regions { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-region { background: var(--cspp-paper); border: 1px solid var(--cspp-line); padding: 22px 24px; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-region__t { margin: 0 0 10px; font-size: 18px; font-weight: 800; letter-spacing: 0.08em; color: var(--cspp-ink); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-region__tel { margin: 0 0 10px; font-weight: 700; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-region__tel a { color: var(--cspp-cyan-dp); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-region__addr { margin: 0; color: var(--cspp-muted); font-size: 16px; }

/* ---------- CTA modal ---------- */
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-modal { display: none; position: fixed; inset: 0; z-index: 1000; padding: 20px; overflow-y: auto; background: rgba(23, 27, 33, 0.72); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-modal.is-open { display: flex; align-items: flex-start; justify-content: center; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-modal__box { position: relative; width: 100%; max-width: 620px; margin: auto; border-radius: 16px; background: #fff; box-shadow: 0 30px 80px -30px rgba(0, 0, 0, 0.7); overflow: hidden; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-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 var(--cspp-line); border-radius: 50%; background: #fff; color: var(--cspp-ink); cursor: pointer; transition: background-color 0.16s, color 0.16s; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-modal__x::before,
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-modal__x::after { content: ""; position: absolute; top: 50%; left: 50%; width: 16px; height: 2px; background: currentColor; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-modal__x::before { transform: translate(-50%, -50%) rotate(45deg); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-modal__x::after { transform: translate(-50%, -50%) rotate(-45deg); }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-modal__x:hover { background: var(--cspp-ink); color: #fff; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-modal__x:focus-visible { outline: 3px solid var(--cspp-cyan); outline-offset: 2px; }
#page-case-study-plinkoverse-plinko-platform-case-study .cspp-modal__frame { display: block; width: 100%; min-height: 860px; border: 0; }

/* ---------- responsive ---------- */
@media (max-width: 1020px) {
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-stats { grid-template-columns: repeat(2, 1fr); }
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-regions { grid-template-columns: repeat(2, 1fr); }
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-chals { grid-template-columns: 1fr; }
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-whys { grid-template-columns: 1fr; }
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-toc__list { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  #page-case-study-plinkoverse-plinko-platform-case-study { font-size: 16px; }
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-wrap { padding: 0 18px; }
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-section, #page-case-study-plinkoverse-plinko-platform-case-study .cspp-band { padding: 56px 0; }
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-hero { padding: 60px 18px 52px; }
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-breadcrumb { padding: 12px 18px; }
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-stats { grid-template-columns: 1fr; }
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-regions { grid-template-columns: 1fr; }
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-btn { width: 100%; text-align: center; padding: 16px 22px; }

  /* the mapping table reflows to labelled cards -- no sideways scrolling */
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-tablewrap { overflow-x: visible; }
  /* `clip` alone still lets the header row lay out at its natural width and
     push the page wider than the viewport at 375px. clip-path + zero box
     removes it from layout entirely while keeping it for screen readers. */
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-map thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-map, #page-case-study-plinkoverse-plinko-platform-case-study .cspp-map tbody, #page-case-study-plinkoverse-plinko-platform-case-study .cspp-map tr, #page-case-study-plinkoverse-plinko-platform-case-study .cspp-map td { display: block; box-sizing: border-box; max-width: 100%; }
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-map tr { border: 1px solid var(--cspp-line); border-top: 5px solid var(--cspp-ink); margin-bottom: 16px; background: var(--cspp-paper); }
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-map td { border-top: 0; padding: 14px 18px; }
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-map tbody tr:nth-child(odd) td { background: transparent; }
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-map td::before { content: attr(data-label); display: block; font-size: 16px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cspp-cyan-dp); margin-bottom: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  #page-case-study-plinkoverse-plinko-platform-case-study .cspp-btn, #page-case-study-plinkoverse-plinko-platform-case-study .cspp-btn:hover { transition: none; transform: none; }
}
