/* /poker-app-for-sale — AISHTMLNEWDESIGN-369
   Page-owned styles. EVERY selector is scoped to #page-poker-app-for-sale or a
   pafs- 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.

   DIRECTION — CRATE MANIFEST.
   A finished poker app crated, sealed and handed over. Slate-blue ink bands,
   stencil vermilion, manila paper surfaces, batten hairlines across the top of
   every band, and compartment grids (1px gutters over a hairline ground)
   instead of floating cards. The register is inventory and handover:
   contents, provenance, packing list, keys, depots.

   Motion: transitions only, 140-200ms, on transform / opacity / colour, and
   only as a response to hover, focus, press or <details> open. No keyframes,
   no scroll-reveal, nothing self-starting (rule 26).

   NOTE on anchors: the page's inline baseline declares
   `#page-poker-app-for-sale a{color:inherit}` at ID specificity, which
   out-specifies any class-only anchor rule. Every anchor rule below therefore
   carries the wrapper id, or the link silently collapses to inherited colour. */

/* ── tokens + local reset ───────────────────────────────────────────────── */
#page-poker-app-for-sale{
  --pafs-ink:#111c26;
  --pafs-ink-2:#182835;
  --pafs-paper:#f5f2ec;
  --pafs-kraft:#e9e2d5;
  --pafs-line:#cdc4b3;
  --pafs-line-ink:#33454f;
  --pafs-stencil:#b0380f;
  --pafs-stencil-b:#c03d13;
  --pafs-stencil-i:#e2673e;
  --pafs-text:#16202a;
  --pafs-text-2:#3b4854;
  --pafs-on-ink:#eef3f7;
  --pafs-on-ink-2:#b3c3cf;

  font-family:"Inter",system-ui,sans-serif;
  font-size:17px;
  line-height:1.65;
  color:var(--pafs-text);
  background:var(--pafs-paper);
  -webkit-font-smoothing:antialiased;
}
#page-poker-app-for-sale,
#page-poker-app-for-sale *,
#page-poker-app-for-sale *::before,
#page-poker-app-for-sale *::after{box-sizing:border-box;}
#page-poker-app-for-sale img{max-width:100%;}
#page-poker-app-for-sale p{margin:0 0 1.05em;}
#page-poker-app-for-sale p:last-child{margin-bottom:0;}
#page-poker-app-for-sale ul,
#page-poker-app-for-sale ol{margin:0;padding:0;list-style:none;}
#page-poker-app-for-sale h1,
#page-poker-app-for-sale h2,
#page-poker-app-for-sale h3,
#page-poker-app-for-sale h4{margin:0;font-weight:800;letter-spacing:-0.01em;}
#page-poker-app-for-sale :focus-visible{outline:3px solid var(--pafs-stencil-i);outline-offset:3px;}

/* ── shells ─────────────────────────────────────────────────────────────── */
.pafs-wrap{max-width:1180px;margin-inline:auto;padding-inline:24px;}
.pafs-wrap--mid{max-width:960px;}
.pafs-wrap--narrow{max-width:840px;}

.pafs-band{position:relative;padding:clamp(56px,7vw,104px) 0;}
/* batten: the strapping across the top of a crate face. Static gradient. */
.pafs-band::before{
  content:"";position:absolute;top:0;left:0;right:0;height:5px;
  background:repeating-linear-gradient(90deg,var(--pafs-line) 0 20px,transparent 20px 40px);
}
.pafs-band--paper{background:var(--pafs-paper);}
.pafs-band--kraft{background:var(--pafs-kraft);}
.pafs-band--ink{background:var(--pafs-ink);color:var(--pafs-on-ink);}
.pafs-band--ink::before{background:repeating-linear-gradient(90deg,var(--pafs-line-ink) 0 20px,transparent 20px 40px);}
.pafs-band--stencil{background:var(--pafs-stencil-b);color:#fff;}
.pafs-band--stencil::before{background:repeating-linear-gradient(90deg,rgba(255,255,255,.45) 0 20px,transparent 20px 40px);}

/* ── type primitives ────────────────────────────────────────────────────── */
.pafs-eyebrow{
  display:flex;align-items:center;gap:12px;
  margin:0 0 16px;font-size:16px;font-weight:800;
  letter-spacing:.2em;text-transform:uppercase;color:var(--pafs-stencil);
}
.pafs-eyebrow::before{
  content:"";width:26px;height:10px;background:currentColor;flex:none;
  clip-path:polygon(0 0,100% 0,78% 100%,0 100%);
}
.pafs-eyebrow--ink{color:var(--pafs-stencil-i);}
.pafs-band--stencil .pafs-eyebrow{color:#fff;}

.pafs-h1{font-size:clamp(38px,5.2vw,62px);line-height:1.05;letter-spacing:-0.022em;margin:0 0 22px;}
.pafs-h2{font-size:clamp(27px,3.3vw,42px);line-height:1.14;letter-spacing:-0.018em;}
.pafs-h2--ink{color:var(--pafs-on-ink);}
.pafs-h3{font-size:22px;line-height:1.3;margin:0 0 16px;}
.pafs-head{max-width:62ch;margin-bottom:clamp(28px,4vw,48px);}
.pafs-lead{margin:18px 0 0;font-size:18px;color:var(--pafs-text-2);}
.pafs-head--ink .pafs-lead{color:var(--pafs-on-ink-2);}
.pafs-note{max-width:70ch;margin:0 0 34px;color:var(--pafs-text-2);}
.pafs-prose p{color:var(--pafs-text-2);}
.pafs-band--ink .pafs-prose p{color:var(--pafs-on-ink-2);}
.pafs-more{margin:0;}

/* ── links ──────────────────────────────────────────────────────────────── */
#page-poker-app-for-sale .pafs-link{
  color:var(--pafs-stencil);font-weight:700;
  box-shadow:inset 0 -1px 0 0 currentColor;
  transition:color .16s ease,box-shadow .16s ease;
}
#page-poker-app-for-sale .pafs-link:hover,
#page-poker-app-for-sale .pafs-link:focus-visible{
  color:var(--pafs-text);box-shadow:inset 0 -2px 0 0 currentColor;
}
#page-poker-app-for-sale .pafs-link--ink{color:var(--pafs-stencil-i);}
#page-poker-app-for-sale .pafs-link--ink:hover,
#page-poker-app-for-sale .pafs-link--ink:focus-visible{color:var(--pafs-on-ink);}
#page-poker-app-for-sale .pafs-link--block{
  display:block;color:var(--pafs-text);box-shadow:none;
}
#page-poker-app-for-sale .pafs-link--block:hover,
#page-poker-app-for-sale .pafs-link--block:focus-visible{color:var(--pafs-stencil);box-shadow:none;}

/* ── the one button style, in three grounds ─────────────────────────────── */
.pafs-btn{
  display:inline-block;margin-top:clamp(30px,4vw,44px);
  font-family:inherit;font-size:17px;font-weight:800;
  letter-spacing:.07em;text-transform:uppercase;
  color:#fff;background:var(--pafs-stencil-b);border:0;
  padding:18px 34px 18px 28px;cursor:pointer;
  clip-path:polygon(0 0,100% 0,calc(100% - 16px) 100%,0 100%);
  transition:background .16s ease,transform .16s ease;
}
.pafs-btn:hover{background:#98300b;transform:translateY(-2px);}
/* item 5: every section's CTA is centred. The hero is already centred by
   .pafs-hero__inner; the Hire section is deliberately excluded (its CTA sits in
   a two-column layout beside the image and stays left-aligned, per request). */
.pafs-actions{text-align:center;grid-column:1/-1;}  /* span full width when the wrap is a grid (.pafs-open), else inert */
.pafs-actions .pafs-btn{margin-top:0;}
.pafs-band .pafs-actions{margin-top:clamp(30px,4vw,44px);}

.pafs-btn:active{transform:translateY(0);}
.pafs-btn--ink{background:var(--pafs-ink);color:var(--pafs-on-ink);}
.pafs-btn--ink:hover{background:#060d13;}
.pafs-btn--light{background:var(--pafs-paper);color:var(--pafs-ink);}
.pafs-btn--light:hover{background:#fff;}

/* ── hero (rule 24: full-bleed, image-free, static gradient, one CTA) ───── */
.pafs-hero{
  padding:clamp(84px,11vw,150px) 24px clamp(64px,8vw,110px);
  color:var(--pafs-on-ink);
  background:
    repeating-linear-gradient(115deg,rgba(226,103,62,.055) 0 2px,transparent 2px 13px),
    linear-gradient(152deg,#0b141c 0%,#13222f 46%,#1d3244 100%);
  border-bottom:5px solid var(--pafs-stencil-b);
}
/* item 2: the heading sat flush against the description — .pafs-h1 declares
   `margin:0 0 22px` but the sheet's own reset,
   `#page-poker-app-for-sale h1,h2,h3,h4{margin:0}`, is (1,0,1) and out-specifies
   a class rule at (0,1,0), so the 22px never applied. Re-asserted at id
   specificity. Same trap as the `#page-poker-app-for-sale p` rule noted at the
   top of this file; ~20 other class margins in this sheet are suppressed the
   same way and are NOT touched here. */
#page-poker-app-for-sale .pafs-h1{margin-bottom:22px;}
.pafs-hero__inner{max-width:900px;margin-inline:auto;text-align:center;}
.pafs-hero__inner .pafs-eyebrow{justify-content:center;}
.pafs-hero__lead{
  max-width:74ch;margin:0 auto;font-size:19px;line-height:1.62;
  color:var(--pafs-on-ink-2);
}

/* ── breadcrumb ─────────────────────────────────────────────────────────── */
.pafs-crumb{background:var(--pafs-ink-2);padding:14px 0;}
.pafs-crumb__row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:16px;}
#page-poker-app-for-sale .pafs-crumb__link{
  display:inline-flex;align-items:center;gap:9px;
  color:var(--pafs-on-ink-2);font-weight:600;transition:color .16s ease;
}
#page-poker-app-for-sale .pafs-crumb__link:hover,
#page-poker-app-for-sale .pafs-crumb__link:focus-visible{color:var(--pafs-stencil-i);}
.pafs-crumb__ico{width:16px;height:16px;}
.pafs-crumb__here{color:var(--pafs-on-ink);font-weight:700;}

/* ── opening block: contents plate + prose ──────────────────────────────── */
.pafs-open{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,56px);align-items:start;}
.pafs-plate{margin:0;position:relative;border:2px solid var(--pafs-text);background:#fff;padding:14px;}
.pafs-plate::after{
  content:"";position:absolute;inset:6px;border:1px solid var(--pafs-line);pointer-events:none;
}
.pafs-plate__img{display:block;width:100%;height:auto;}
.pafs-plate--ink{border-color:var(--pafs-on-ink-2);background:var(--pafs-ink-2);}
.pafs-plate--ink::after{border-color:var(--pafs-line-ink);}
.pafs-plate--flush{border-color:var(--pafs-line);}

/* ── two-column editorial prose ─────────────────────────────────────────── */
.pafs-cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(26px,3.4vw,54px);}
/* The first paragraph used to get a "lede" treatment — 19px, darker, with a
   3px stencil rule down its left edge — against 17px for the rest. Reported as
   an inconsistent font size twice (Cutting-Edge Features, then Partner), so the
   treatment is dropped rather than overridden per section: all three .pafs-cols2
   sections (feat1, upgrades, partner) now read at one size. This also retires
   the section-scoped override that previously fixed only feat1. */
.pafs-cols2 p{color:var(--pafs-text-2);}
.pafs-cols2--ink p{color:var(--pafs-on-ink-2);}

/* ── manifest rows: label column | description column ───────────────────── */
.pafs-manifest{border-top:1px solid var(--pafs-line);}
.pafs-manifest__row{
  display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);
  gap:6px clamp(20px,3vw,48px);
  padding:22px 0;border-bottom:1px solid var(--pafs-line);
  transition:background .16s ease;
}
.pafs-manifest__row:hover{background:rgba(176,56,15,.05);}
.pafs-manifest__t{font-size:19px;line-height:1.35;}
.pafs-manifest__d{margin:0;color:var(--pafs-text-2);}
.pafs-manifest--ink{border-top-color:var(--pafs-line-ink);}
.pafs-manifest--ink .pafs-manifest__row{border-bottom-color:var(--pafs-line-ink);}
.pafs-manifest--ink .pafs-manifest__row:hover{background:rgba(226,103,62,.08);}
.pafs-manifest--ink .pafs-manifest__d{color:var(--pafs-on-ink-2);}

/* ── stencil pitch band ─────────────────────────────────────────────────── */
.pafs-pitch{text-align:center;}
.pafs-pitch__line{
  margin:18px 0 0;font-size:clamp(19px,2.2vw,26px);font-weight:700;
  letter-spacing:.03em;color:rgba(255,255,255,.94);
}

/* ── tab labels + game compartments ─────────────────────────────────────── */
.pafs-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px;}
.pafs-tabs li{
  border:1px solid var(--pafs-line);background:#fff;
  padding:10px 16px;font-size:16px;font-weight:600;
}
/* Compartment grids draw their hairlines on the CELLS, not as grid gaps over a
   coloured ground: a short last row then ends in the band's own surface instead
   of a block of grey. */
/* iGaming mosaic — structure/spacing/treatment replicated from the
   omaha-poker-software reference (.ops-mosaic/.ops-tile). The old grid forced
   every image into height:190px;object-fit:cover, which cropped away most of
   the portrait sources (bingo 400x510, slot 400x509). Per-tile --pafs-ar lets
   each keep its own aspect ratio; caption sits on a scrim, as on the reference. */
#page-poker-app-for-sale .pafs-mosaic{
  list-style:none;margin:26px 0 0;padding:0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start;
}
#page-poker-app-for-sale .pafs-mcol{display:flex;flex-direction:column;gap:22px;}
#page-poker-app-for-sale .pafs-tile{
  position:relative;display:block;overflow:hidden;border-radius:4px;
  border:1px solid var(--pafs-line);background:#fff;
  transition:border-color .16s ease,box-shadow .16s ease;
}
#page-poker-app-for-sale .pafs-tile img{
  display:block;width:100%;height:auto;aspect-ratio:var(--pafs-ar);object-fit:cover;
}
#page-poker-app-for-sale .pafs-tile__cap{
  position:absolute;left:0;right:0;bottom:0;margin:0;padding:16px;
  font-size:19px;line-height:1.3;font-weight:700;color:#fff;letter-spacing:normal;
  background:linear-gradient(180deg,rgba(17,28,38,0) 0%,rgba(17,28,38,.88) 58%);
}
#page-poker-app-for-sale .pafs-tile:hover,
#page-poker-app-for-sale .pafs-tile:focus-visible{
  border-color:var(--pafs-stencil-b);box-shadow:0 10px 22px -14px rgba(17,28,38,.5);
}

/* ── logo walls (providers, portfolio) ──────────────────────────────────── */
.pafs-wall{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  border-top:1px solid var(--pafs-line);border-left:1px solid var(--pafs-line);
  background:#fff;
}
.pafs-wall__cell{
  background:#fff;padding:20px 14px;min-height:126px;
  border-right:1px solid var(--pafs-line);border-bottom:1px solid var(--pafs-line);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  transition:background .16s ease;
}
.pafs-wall__cell:hover{background:#fffdf8;}
.pafs-wall__img{width:auto;max-width:118px;height:48px;object-fit:contain;}
.pafs-wall__t{font-size:16px;font-weight:700;text-align:center;letter-spacing:0;}
.pafs-wall--logos .pafs-wall__cell{min-height:104px;}
/* Live Game API lattice — .ops-logos treatment from the reference: hairline
   dark rules, 4px radius, larger marks. Scoped to --api so the five Portfolio
   walls that share .pafs-wall__cell keep their existing look. */
#page-poker-app-for-sale .pafs-wall--api{
  gap:1px;background:var(--pafs-line-ink);border:1px solid var(--pafs-line-ink);
  border-radius:4px;overflow:hidden;margin:34px 0 0;
}
#page-poker-app-for-sale .pafs-wall--api .pafs-wall__cell{
  border:0;padding:18px 14px;min-height:0;gap:10px;
}
#page-poker-app-for-sale .pafs-wall--api .pafs-wall__img{
  width:100%;max-width:170px;height:auto;object-fit:contain;
}
#page-poker-app-for-sale .pafs-wall--api .pafs-wall__t{font-weight:600;}
.pafs-group{margin-bottom:34px;}
.pafs-group__t{
  font-size:16px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  color:var(--pafs-stencil);margin:0 0 14px;
}

/* ── screenshot strip (user-scrolled; nothing moves on its own) ─────────── */
.pafs-strip{
  display:grid;grid-auto-flow:column;grid-auto-columns:clamp(280px,78vw,430px);
  gap:18px;overflow-x:auto;padding-bottom:20px;
  scroll-snap-type:x mandatory;
}
.pafs-strip__cell{scroll-snap-align:start;}
/* item 2: user-driven prev/next for the strip. Rule 26 holds — these are a
   finite response to a click; nothing moves on its own, no timer, no autoplay. */
.pafs-strip__nav{display:flex;gap:12px;justify-content:center;margin-top:18px;}
.pafs-strip__btn{
  width:52px;height:52px;flex:0 0 auto;cursor:pointer;
  font-family:inherit;font-size:26px;line-height:1;
  color:var(--pafs-on-ink);background:var(--pafs-ink-2);
  border:1px solid var(--pafs-line-ink);
  transition:background .16s ease,border-color .16s ease,opacity .16s ease;
}
.pafs-strip__btn:hover:not(:disabled){background:var(--pafs-stencil-b);border-color:var(--pafs-stencil-b);}
.pafs-strip__btn:disabled{opacity:.35;cursor:default;}
/* The sources are real 767x431 app screens. A fixed 206px plate height made a
   330x206 box (1.60) out of 1.78 art, so every screenshot was letterboxed into
   part of its own cell AND too small to read. The cell now carries the art's
   own ratio, which keeps the strip level because every source shares it. */
.pafs-strip__img{
  display:block;width:100%;height:auto;aspect-ratio:767/431;object-fit:contain;
  border:1px solid var(--pafs-line-ink);background:var(--pafs-ink-2);padding:8px;
  box-sizing:border-box;
}

/* ── compartment grids ─────────────────────────────────────────────────── */
.pafs-cells{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--pafs-line);border-left:1px solid var(--pafs-line);
}
.pafs-cells__cell{
  background:var(--pafs-paper);padding:30px 26px;
  border-right:1px solid var(--pafs-line);border-bottom:1px solid var(--pafs-line);
}
.pafs-cells__t{font-size:19px;margin:0 0 10px;}
.pafs-cells__t::before{
  content:"";display:block;width:22px;height:4px;
  background:var(--pafs-stencil-b);margin-bottom:14px;
}
.pafs-cells__d{margin:0;color:var(--pafs-text-2);}
.pafs-cells--ink{
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top-color:var(--pafs-line-ink);border-left-color:var(--pafs-line-ink);
  margin-top:clamp(30px,4vw,50px);
}
.pafs-cells--ink .pafs-cells__cell{
  background:var(--pafs-ink);
  border-right-color:var(--pafs-line-ink);border-bottom-color:var(--pafs-line-ink);
}
.pafs-cells--ink .pafs-cells__d{color:var(--pafs-on-ink-2);}
.pafs-cells--ink .pafs-cells__t::before{background:var(--pafs-stencil-i);}

/* Variant tiles — structure, sizing and spacing replicated from the
   omaha-poker-software reference (.ops-variants). The icons are 214x120
   landscape, so an 88x88 contain box letterboxes them to 88x49; the reference
   makes that read correctly by pairing each icon with a label inside a card,
   which is what this adopts. Colours use this page's own tokens because its
   band is light where the reference's is ink. */
.pafs-variants{
  display:grid;gap:12px;margin:0;padding:0;list-style:none;
  grid-template-columns:repeat(auto-fill,minmax(196px,1fr));
}
.pafs-variants__cell{
  background:#fff;border:1px solid var(--pafs-line);border-radius:4px;
  padding:16px 10px 14px;text-align:center;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.pafs-variants__cell:hover{
  border-color:var(--pafs-stencil-b);box-shadow:0 10px 22px -14px rgba(17,28,38,.5);
}
/* The marks are 214x120 LANDSCAPE. An 88x88 square box painted 88x49 of real
   picture and left the rest of the cell empty; the box now takes the art's own
   ratio. */
/* id-scoped: the sheet's own `#page-poker-app-for-sale img{max-width:100%}` is
   (1,0,1) and would outrank a class-only max-width here. */
#page-poker-app-for-sale .pafs-variants__img{
  width:100%;max-width:190px;height:auto;aspect-ratio:214/120;object-fit:contain;
  display:block;margin:0 auto 12px;
}
/* Labels come from each icon's alt text, which is lowercase. These are game
   names, so they are capitalised for display. Done in CSS rather than by
   editing the text so the alt attributes stay untouched. Note 6 of the 45
   labels begin with a digit ("3d slots", "5 card draw"), so a first-letter-
   only rule would have left those fully lowercase beside their neighbours. */
.pafs-variants__t{display:block;font-size:16px;line-height:1.35;color:var(--pafs-text-2);text-transform:capitalize;}

/* ── packing list (ticked two-up) ──────────────────────────────────────── */
.pafs-ticks{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:0 clamp(24px,4vw,64px);}
.pafs-ticks__item{padding:20px 0 20px 34px;position:relative;border-bottom:1px solid var(--pafs-line-ink);}
.pafs-ticks__item::before{
  content:"";position:absolute;left:0;top:27px;width:13px;height:13px;
  background:var(--pafs-stencil-i);
}
.pafs-ticks__t{font-size:18px;margin:0 0 6px;color:var(--pafs-on-ink);}
.pafs-ticks__d{margin:0;color:var(--pafs-on-ink-2);}

/* ── four-up benefits ──────────────────────────────────────────────────── */
.pafs-grid4{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--pafs-line);border-left:1px solid var(--pafs-line);
}
.pafs-grid4__cell{
  background:var(--pafs-paper);padding:26px 22px;
  border-right:1px solid var(--pafs-line);border-bottom:1px solid var(--pafs-line);
  transition:background .16s ease;
}
.pafs-grid4__cell:hover{background:#fff;}
.pafs-grid4__t{font-size:17px;margin:0 0 8px;}
.pafs-grid4__d{margin:0;font-size:16px;color:var(--pafs-text-2);}

/* ── wide icon rows ────────────────────────────────────────────────────── */
.pafs-rows{border-top:1px solid var(--pafs-line);}
.pafs-rows__row{
  display:grid;grid-template-columns:96px minmax(0,1fr);
  gap:clamp(18px,3vw,44px);align-items:start;
  padding:30px 0;border-bottom:1px solid var(--pafs-line);
}
.pafs-rows__ico{width:64px;height:64px;object-fit:contain;}
.pafs-rows__t{font-size:22px;margin:0 0 10px;}
.pafs-rows__d{margin:0;color:var(--pafs-text-2);max-width:80ch;}

/* ── label clouds ──────────────────────────────────────────────────────── */
.pafs-offer{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,56px);align-items:start;}
.pafs-cloud{display:flex;flex-wrap:wrap;gap:10px;}
#page-poker-app-for-sale .pafs-chip{
  display:inline-block;border:1px solid var(--pafs-line);
  padding:10px 15px;font-size:16px;font-weight:600;color:var(--pafs-text);
  background:#fff;transition:background .16s ease,color .16s ease,border-color .16s ease;
}
#page-poker-app-for-sale .pafs-chip:hover,
#page-poker-app-for-sale .pafs-chip:focus-visible{
  background:var(--pafs-stencil-b);border-color:var(--pafs-stencil-b);color:#fff;
}
#page-poker-app-for-sale .pafs-cloud--ink .pafs-chip{
  background:transparent;border-color:var(--pafs-line-ink);color:var(--pafs-on-ink-2);
}
#page-poker-app-for-sale .pafs-cloud--ink .pafs-chip:hover,
#page-poker-app-for-sale .pafs-cloud--ink .pafs-chip:focus-visible{
  background:var(--pafs-stencil-i);border-color:var(--pafs-stencil-i);color:#10171d;
}

/* ── handover route ────────────────────────────────────────────────────── */
.pafs-route{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--pafs-line);border-left:1px solid var(--pafs-line);
}
.pafs-route__stage{
  background:var(--pafs-paper);padding:30px 26px;
  border-right:1px solid var(--pafs-line);border-bottom:1px solid var(--pafs-line);
}
.pafs-route__ico{width:56px;height:56px;object-fit:contain;margin-bottom:18px;}
.pafs-route__t{font-size:20px;margin:0 0 14px;}
.pafs-route__list li{
  position:relative;padding-left:20px;margin-bottom:8px;
  font-size:16px;color:var(--pafs-text-2);
}
.pafs-route__list li::before{
  content:"";position:absolute;left:0;top:11px;width:9px;height:2px;background:var(--pafs-stencil-b);
}

/* ── spec plate table ──────────────────────────────────────────────────── */
.pafs-stack{width:100%;border-collapse:collapse;border:1px solid var(--pafs-line);background:#fff;}
.pafs-stack th,
.pafs-stack td{border:1px solid var(--pafs-line);padding:20px 22px;text-align:left;vertical-align:top;}
.pafs-stack th{
  width:28%;font-size:16px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--pafs-stencil);background:var(--pafs-kraft);
}
.pafs-stack td{color:var(--pafs-text-2);word-spacing:.06em;}

/* ── platform trio ─────────────────────────────────────────────────────── */
.pafs-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--pafs-line-ink);border-left:1px solid var(--pafs-line-ink);}
.pafs-trio__cell{background:var(--pafs-ink);padding:32px 28px;border-right:1px solid var(--pafs-line-ink);border-bottom:1px solid var(--pafs-line-ink);}
.pafs-trio__ico{width:60px;height:60px;object-fit:contain;margin-bottom:20px;}
.pafs-trio__t{font-size:20px;margin:0 0 10px;color:var(--pafs-on-ink);}
.pafs-trio__d{margin:0;color:var(--pafs-on-ink-2);}

/* ── hire ──────────────────────────────────────────────────────────────── */
.pafs-hire{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,56px);align-items:center;}

/* ── demo keys ─────────────────────────────────────────────────────────── */
.pafs-keys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--pafs-line-ink);border-left:1px solid var(--pafs-line-ink);}
.pafs-keys__card{background:var(--pafs-ink-2);padding:26px 24px 30px;border-right:1px solid var(--pafs-line-ink);border-bottom:1px solid var(--pafs-line-ink);display:flex;flex-direction:column;}
.pafs-keys__shot{margin:0 0 20px;}
.pafs-keys__img{display:block;width:170px;height:171px;max-width:100%;object-fit:cover;border:1px solid var(--pafs-line-ink);}
.pafs-keys__t{font-size:21px;color:var(--pafs-on-ink);margin:0 0 16px;}
.pafs-keys__sub{
  font-size:16px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--pafs-stencil-i);margin:22px 0 10px;
}
.pafs-keys__dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 16px;margin:0;font-size:16px;}
.pafs-keys__dl dt{color:var(--pafs-on-ink-2);}
.pafs-keys__dl dd{margin:0;color:var(--pafs-on-ink);font-weight:700;word-break:break-word;}
.pafs-keys__url{margin:14px 0 0;}
.pafs-keys__go{margin:18px 0 0;font-size:17px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;}
/* margin-top:auto pins the CTA to the card bottom so the three align across
   the row; text-align:center centres it. It previously sat 24px from the
   left against 188px on the right. */
#page-poker-app-for-sale .pafs-keys__go{margin-top:auto;text-align:center;}
#page-poker-app-for-sale .pafs-keys__go .pafs-link{
  display:inline-block;
  border:2px solid var(--pafs-stencil-i);
  padding:12px 26px;
  box-shadow:none;
  transition:background .16s ease,color .16s ease;
}
#page-poker-app-for-sale .pafs-keys__go .pafs-link:hover,
#page-poker-app-for-sale .pafs-keys__go .pafs-link:focus-visible{
  background:var(--pafs-stencil-i);color:var(--pafs-ink);box-shadow:none;
}

/* ── FAQ ───────────────────────────────────────────────────────────────── */
.pafs-faq{border-top:1px solid var(--pafs-line-ink);}
.pafs-faq__item{border-bottom:1px solid var(--pafs-line-ink);}
.pafs-faq__q{
  display:flex;align-items:flex-start;gap:16px;
  padding:20px 0;cursor:pointer;list-style:none;
  transition:color .16s ease;
}
.pafs-faq__q::-webkit-details-marker{display:none;}
.pafs-faq__q h3{font-size:18px;line-height:1.4;font-weight:700;color:var(--pafs-on-ink);}
.pafs-faq__q::before{
  content:"";flex:none;width:14px;height:14px;margin-top:6px;
  background:var(--pafs-stencil-i);
  clip-path:polygon(0 0,100% 50%,0 100%);
  transition:transform .18s ease;
}
.pafs-faq__item[open] .pafs-faq__q::before{transform:rotate(90deg);}
.pafs-faq__item[open] .pafs-faq__q h3{color:var(--pafs-stencil-i);}
.pafs-faq__a{padding:0 0 24px 30px;max-width:82ch;}
.pafs-faq__a p{margin:0;color:var(--pafs-on-ink-2);}

/* ── customer success stories ──────────────────────────────────────────── */
.pafs-stories{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(22px,3vw,40px);margin-bottom:30px;}
.pafs-stories__facade{
  display:block;position:relative;width:100%;padding:0;border:2px solid var(--pafs-text);
  background:var(--pafs-text);cursor:pointer;
  transition:transform .16s ease;
}
.pafs-stories__facade:hover{transform:translateY(-3px);}
.pafs-stories__img{display:block;width:100%;height:auto;opacity:.92;}
.pafs-stories__play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:0;height:0;border-style:solid;border-width:17px 0 17px 28px;
  border-color:transparent transparent transparent #fff;
  filter:drop-shadow(0 0 10px rgba(0,0,0,.55));
}
.pafs-stories__q{margin:18px 0 0;color:var(--pafs-text-2);}
.pafs-story__frame{width:100%;aspect-ratio:16/9;border:2px solid var(--pafs-text);display:block;}

/* ── depots ────────────────────────────────────────────────────────────── */
.pafs-area{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--pafs-line);border-left:1px solid var(--pafs-line);}
.pafs-area__cell{background:#fff;padding:26px 24px;border-right:1px solid var(--pafs-line);border-bottom:1px solid var(--pafs-line);}
.pafs-area__t{
  display:flex;align-items:center;gap:10px;
  font-size:16px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--pafs-stencil);margin:0 0 14px;
}
.pafs-area__ico{width:14px;height:20px;}
.pafs-area__tel{margin:0 0 10px;font-weight:700;}
.pafs-area__addr{font-style:normal;font-size:16px;color:var(--pafs-text-2);}

/* ── CTA modal ─────────────────────────────────────────────────────────── */
.pafs-modal{
  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(9,15,20,.78);
}
.pafs-modal.is-open{display:flex;}
.pafs-modal__box{
  position:relative;width:100%;max-width:640px;max-height:92vh;overflow:auto;
  background:var(--pafs-paper);border:2px solid var(--pafs-text);
  padding:44px 14px 14px;
}
.pafs-modal__x{
  position:absolute;top:10px;right:10px;width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  background:var(--pafs-stencil-b);color:#fff;border:0;cursor:pointer;
  transition:background .16s ease;
}
.pafs-modal__x:hover{background:#98300b;}
.pafs-modal__box iframe{display:block;width:100%;min-height:640px;border:0;}

/* ── responsive ────────────────────────────────────────────────────────── */
@media (max-width:1180px){
}
@media (max-width:1020px){
  .pafs-wall{grid-template-columns:repeat(4,minmax(0,1fr));}
  .pafs-grid4{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:900px){
  .pafs-open,
  .pafs-offer,
  .pafs-hire,
  .pafs-cols2{grid-template-columns:minmax(0,1fr);}
  .pafs-manifest__row{grid-template-columns:minmax(0,1fr);}
  .pafs-rows__row{grid-template-columns:64px minmax(0,1fr);}
  .pafs-stack th{width:34%;}
  .pafs-cells,
  .pafs-route,
  .pafs-trio,
  .pafs-keys{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pafs-grid4,
  .pafs-area{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pafs-wall{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:640px){
  .pafs-cells,
  .pafs-cells--ink,
  .pafs-route,
  .pafs-trio,
  .pafs-keys,
  .pafs-grid4,
  .pafs-area{grid-template-columns:minmax(0,1fr);}
  .pafs-wall{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pafs-ticks{grid-template-columns:minmax(0,1fr);}
  #page-poker-app-for-sale{font-size:16px;}
  .pafs-hero{padding-top:clamp(64px,14vw,96px);}
  .pafs-hero__lead{font-size:17px;}
  .pafs-btn{width:100%;text-align:center;padding-right:28px;clip-path:none;}
  .pafs-stack,
  .pafs-stack tbody,
  .pafs-stack tr,
  .pafs-stack th,
  .pafs-stack td{display:block;width:100%;}
  .pafs-stack tr{border-bottom:1px solid var(--pafs-line);}
  .pafs-stack th,
  .pafs-stack td{border:0;}
  .pafs-rows__row{grid-template-columns:minmax(0,1fr);}
  .pafs-faq__a{padding-left:0;}
}

/* Rule 26 — the only motion here is hover / focus / press / details-open.
   Honour a reduced-motion preference for what remains. */
@media (prefers-reduced-motion:reduce){
  #page-poker-app-for-sale *,
  #page-poker-app-for-sale *::before,
  #page-poker-app-for-sale *::after{
    transition-duration:.01ms !important;
  }
  #page-poker-app-for-sale .pafs-btn:hover,
  #page-poker-app-for-sale .pafs-stories__facade:hover{transform:none;}
}

/* Games We Provide: source had TWO tabs (Casino Originals, Live Game
   API); "Our diverse iGaming software We Provide" was the first line inside the
   first tab, not a third pill. Restored as two labelled groups; colour inherited
   rather than tokenised so it reads on whatever band this section sits on. */
.pafs-grp{margin:0 0 38px;}
.pafs-grp:last-of-type{margin-bottom:0;}
.pafs-grp > h4{margin:0 0 6px;padding-left:14px;position:relative;font-size:clamp(19px,1.6vw,22px);font-weight:700;line-height:1.3;letter-spacing:-.008em;}
.pafs-grp > h4::before{content:"";position:absolute;left:0;top:.34em;width:4px;height:1em;border-radius:2px;background:var(--pafs-stencil-b);}
.pafs-grp:nth-of-type(2) > h4::before{background:var(--pafs-line-ink);}
.pafs-grp > h5{margin:0 0 10px;padding-left:14px;font-size:16px;font-weight:600;letter-spacing:.01em;color:var(--pafs-text-2);}
.pafs-grp .pafs-note{padding-left:14px;}

/* mosaic breakpoints — same stops as the reference (.ops-mosaic) */
@media (max-width:900px){
  #page-poker-app-for-sale .pafs-mosaic{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  #page-poker-app-for-sale .pafs-mosaic{grid-template-columns:1fr;}
  #page-poker-app-for-sale .pafs-tile__cap{font-size:16px;padding:13px;}
}

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