/* ══════════════════════════════════════════════════════════════════════════
   /casino-staffing-agency — page-isolated stylesheet
   AISHTMLNEWDESIGN-466

   VISUAL DIRECTION — "CLEARED TO THE FLOOR"

   The H1 is not about searching, briefing or reaching anybody: the people are
   already found, already licensed, already background-checked. What is left
   is the operator's problem — getting cleared bodies onto a floor, at every
   property, by a date. So the register here is the CLEARANCE RECORD a casino
   keeps on each badged person, and the floor plan of posts that record has to
   cover. Not a document, not a mandate, not a call sheet, not a market.

   Three materials, and they are chosen to be the ones nobody else took:

     · STOCK   — #f1f1f1 / #e5e5e5 / #ffffff, DEAD NEUTRAL grey card stock.
                 Every neighbouring page's paper is tinted — lavender, petrol
                 wash, cool blue, blue-white, warm stone, cold log blue,
                 drafting green, parchment. This one has no hue at all, which
                 is what a laminated credential is actually printed on.
     · CHARCOAL— #1b1e1f / #252929 / #131516, an ACHROMATIC deep plate. Every
                 neighbour's dark is hue-cast (indigo, petrol, slate-blue,
                 ink navy, mahogany, graphite-teal, plum). Used four times
                 only, as punctuation: the hero, the scale band, the two
                 compliance answers and the stories.
     · CLEARED — #0b6b3d, and it is the one hue on the page. Green is not a
                 decorative choice: it is the colour a clearance comes back
                 as. It reads at 5.8:1 on the stock and its light twin
                 #59cf90 at 8.6:1 on charcoal, so the signal is legible on
                 both grounds without a second accent family.

   Composition mark — THE CLEARANCE BAR. Every section opens on an
   INTERRUPTED rule: a heavy green block, a gap, then a hairline running out
   to the end of the column. The block is the credential, the gap is the
   check, the hairline is the floor beyond it. It is deliberately NOT a plain
   full-width rail, NOT a rule that breaks from solid into dots, NOT a
   cut-corner file tab, NOT a corner registration bracket, NOT a margin
   ordinal, NOT a two-digit token, NOT three inlaid diamonds, NOT a quadrant
   square and NOT an index numeral — those belong to eight other pages in this
   repo and not one of them is reused here. There is no dotted leader, no
   waterline split, no roster, no availability column, no word eyebrow on any
   section, no counting bar, no glass, no aurora and no corner-bracket arm.

   The mark recurs at cell scale, differently in each grid so no two sections
   are composed alike: a green stub under the credential cells, a green block
   over the post titles, a tinted head strip on the difference cells, a green
   footing on the property cells and a green square set ON the rule of the fee
   columns.

   Sections: centred charcoal hero, crumb strip, split credential plate,
   reading column, four-up credential set, two-up post grid, charcoal image
   band, single-column clearance record, lede + two-up tinted grid, sticky
   head + marked condition list, charcoal two-column answer, three-up property
   grid, lede + three fee columns, charcoal reading column, offset plate,
   disclosure FAQ, charcoal story rail, four-up address grid — no two repeat.

   Every rule is scoped to #page-casino-staffing-agency. The document reset
   (html,body{margin:0}) is owned by /assets/css/ais-layout.css and is NOT
   restated here (skill section 33). Element baselines below each repeat the
   wrapper id: writing "#page-x h1,h2,h3{margin:0}" applies the id to h1 only
   and collapses every h2/h3 margin in the document, which has shipped once.

   Design contract (frontend-design SKILL.md): rule 1 Inter · rule 2 nothing
   under 16px · rule 23 no slate-grey body copy on light · rule 24 image-free
   full-bleed hero, static gradient, ~900px column · rule 25 one CTA per
   section, every label unique · rule 26 no running animation (zero
   @keyframes, zero 'infinite'; transitions only, each a finite response to
   hover / focus-visible / active / details-open, plus a reduced-motion
   override) · rule 29 real intrinsic image sizes · rule 30 no hand-built
   enquiry control · rule 39A anything that paints a background owns its
   foreground at a specificity no prose rule in this sheet can beat.
   ══════════════════════════════════════════════════════════════════════════ */

#page-casino-staffing-agency{
  /* ── palette ───────────────────────────────────────────────────────── */
  --sheet:#f1f1f1;            /* dead-neutral card stock — dominant ground  */
  --alt:#e5e5e5;              /* alternating band                          */
  --card:#ffffff;             /* cell faces on the tinted bands            */
  --line:#cdcdcd;             /* hairline on stock                         */
  --line-2:#aeaeae;           /* emphasised hairline / the mark's rule      */
  --dark:#1b1e1f;             /* charcoal plate                            */
  --dark-2:#252929;           /* raised charcoal                           */
  --dark-3:#131516;           /* recessed charcoal                         */
  --line-dk:rgba(255,255,255,.17);
  --line-dk-2:rgba(255,255,255,.34);
  --ink:#141617;              /* headings on stock — 16.1:1 on --sheet     */
  --body:#32373a;             /* body on stock — 10.7:1 on --sheet         */
  --body-dk:#d9dedd;          /* body on charcoal — 12.3:1 on --dark       */
  --clr:#0b6b3d;              /* CLEARED — 5.8:1 on --sheet, 6.6:1 on white*/
  --clr-2:#095733;            /* hover                                     */
  --clr-3:#07452a;            /* :active                                   */
  --clr-lt:#59cf90;           /* the same signal on charcoal — 8.6:1       */
  --clr-tint:#e0efe7;         /* the palest wash of it                     */

  --wrap:1180px;
  --gut:clamp(20px,4vw,40px);
  --sec:clamp(56px,6.4vw,96px);

  font-family:"Inter",system-ui,sans-serif;
  font-size:16px;
  line-height:1.62;
  color:var(--body);
  background:var(--sheet);
  -webkit-font-smoothing:antialiased;
}

/* The shared layout sheet sets no global box model, so the page sets its own,
   scoped to the wrapper and never on a bare universal selector. Without it
   every width:100% + horizontal-padding shell overflows a 390px viewport. */
#page-casino-staffing-agency,
#page-casino-staffing-agency *,
#page-casino-staffing-agency *::before,
#page-casino-staffing-agency *::after{ box-sizing:border-box; }

/* ── element baselines — the wrapper id repeated on EVERY selector ───────── */
#page-casino-staffing-agency h1{ margin:0 0 22px; font-size:clamp(33px,4.5vw,55px); line-height:1.09; font-weight:800; letter-spacing:-.022em; color:var(--ink); }
#page-casino-staffing-agency h2{ margin:0 0 18px; font-size:clamp(27px,3.1vw,40px); line-height:1.19; font-weight:800; letter-spacing:-.017em; color:var(--ink); }
#page-casino-staffing-agency h3{ margin:0 0 10px; font-size:clamp(19px,1.5vw,22px); line-height:1.32; font-weight:700; letter-spacing:-.004em; color:var(--ink); }
#page-casino-staffing-agency p{ margin:0 0 18px; font-size:17px; }
#page-casino-staffing-agency p:last-child{ margin-bottom:0; }
#page-casino-staffing-agency ul{ margin:0; padding:0; list-style:none; }
#page-casino-staffing-agency li{ font-size:17px; }
#page-casino-staffing-agency img{ max-width:100%; }
#page-casino-staffing-agency figure{ margin:0; }
#page-casino-staffing-agency blockquote{ margin:0; }

/* Keyboard focus is visible on both grounds. */
#page-casino-staffing-agency a:focus-visible,
#page-casino-staffing-agency button:focus-visible,
#page-casino-staffing-agency summary:focus-visible{
  outline:3px solid var(--clr);
  outline-offset:3px;
  border-radius:2px;
}
#page-casino-staffing-agency .csa-hero a:focus-visible,
#page-casino-staffing-agency .csa-hero button:focus-visible,
#page-casino-staffing-agency .csa-band--dark a:focus-visible,
#page-casino-staffing-agency .csa-band--dark button:focus-visible{
  outline-color:var(--clr-lt);
}

/* ── shells ─────────────────────────────────────────────────────────────── */
#page-casino-staffing-agency .csa-wrap{
  width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut);
}
#page-casino-staffing-agency .csa-band{ padding:var(--sec) 0; }
#page-casino-staffing-agency .csa-band--sheet{ background:var(--sheet); }
#page-casino-staffing-agency .csa-band--alt{ background:var(--alt); }
#page-casino-staffing-agency .csa-band--card{ background:var(--card); }
#page-casino-staffing-agency .csa-band--dark{ background:var(--dark); color:var(--body-dk); }
#page-casino-staffing-agency .csa-band--dark p{ color:var(--body-dk); }

/* ══ THE CLEARANCE BAR ══════════════════════════════════════════════════
   heavy green block · gap · hairline. Static; drawn in CSS; never a divider
   for its own sake — it always sits immediately above the section's H2. */
#page-casino-staffing-agency .csa-mark{
  display:flex; align-items:center; gap:11px; margin:0 0 22px;
}
#page-casino-staffing-agency .csa-mark::before{
  content:""; flex:0 0 auto; width:38px; height:7px; background:var(--clr);
}
#page-casino-staffing-agency .csa-mark > i{
  display:block; flex:1 1 auto; height:1px; background:var(--line-2);
}
#page-casino-staffing-agency .csa-mark--dk::before{ background:var(--clr-lt); }
#page-casino-staffing-agency .csa-mark--dk > i{ background:var(--line-dk-2); }

#page-casino-staffing-agency .csa-h2{ max-width:22ch; }
#page-casino-staffing-agency .csa-h2--dk{ color:#ffffff; }

/* ══ BUTTONS ════════════════════════════════════════════════════════════
   Rule 39A: each variant paints a background, so it owns its foreground on a
   selector carrying the wrapper id + the tag + the class — (1,2,1) — which no
   prose rule in this sheet can reach. */
#page-casino-staffing-agency .csa-btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:52px; padding:14px 30px; border:0; cursor:pointer;
  font-family:inherit; font-size:17px; font-weight:700; letter-spacing:-.005em;
  line-height:1.2; text-align:center;
  transition:background-color .17s ease, transform .12s ease, box-shadow .17s ease;
}
#page-casino-staffing-agency button.csa-btn--clr{ background:var(--clr); color:#ffffff; }
#page-casino-staffing-agency button.csa-btn--clr:hover{ background:var(--clr-2); }
#page-casino-staffing-agency button.csa-btn--clr:active{ background:var(--clr-3); transform:translateY(1px); }
#page-casino-staffing-agency button.csa-btn--lt{ background:var(--clr-lt); color:#0d1211; }
#page-casino-staffing-agency button.csa-btn--lt:hover{ background:#7ee0ac; }
#page-casino-staffing-agency button.csa-btn--lt:active{ background:#46b87c; transform:translateY(1px); }

/* in-copy text links — never a second button (rule 25) */
#page-casino-staffing-agency .csa-link{
  color:var(--clr); font-weight:700; border-bottom:2px solid var(--clr);
  padding-bottom:1px; transition:color .17s ease, border-color .17s ease;
}
#page-casino-staffing-agency .csa-link:hover{ color:var(--clr-2); border-bottom-color:var(--clr-2); }
#page-casino-staffing-agency .csa-link--dk{ color:var(--clr-lt); border-bottom-color:var(--clr-lt); }
#page-casino-staffing-agency .csa-link--dk:hover{ color:#8fe8bd; border-bottom-color:#8fe8bd; }

/* ══ HERO — rule 24 ═════════════════════════════════════════════════════
   Full-bleed charcoal, one STATIC gradient, no image of any kind, content in
   a centred 900px reading column, exactly one CTA. */
#page-casino-staffing-agency .csa-hero{
  width:100%;
  padding:clamp(72px,9vw,132px) var(--gut) clamp(60px,7vw,104px);
  background:linear-gradient(163deg,#131516 0%,#1e2223 54%,#102a1d 100%);
  color:var(--body-dk);
}
#page-casino-staffing-agency .csa-hero__in{
  max-width:900px; margin-inline:auto; text-align:center;
}
#page-casino-staffing-agency .csa-hero__in::before{
  content:""; display:block; width:66px; height:7px;
  background:var(--clr-lt); margin:0 auto 28px;
}
#page-casino-staffing-agency .csa-hero__h{ color:#ffffff; }
#page-casino-staffing-agency .csa-hero__p{
  color:var(--body-dk); font-size:clamp(17px,1.35vw,19px); line-height:1.68;
  margin:0 0 32px;
}
#page-casino-staffing-agency .csa-hero__alt{ margin:20px 0 0; font-size:17px; }

/* ══ BREADCRUMB — authored inside <main>, per the record ════════════════ */
#page-casino-staffing-agency .csa-crumb{
  background:var(--sheet); border-bottom:1px solid var(--line);
}
#page-casino-staffing-agency .csa-crumb__in{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  padding-block:16px;
}
#page-casino-staffing-agency .csa-crumb__back{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; background:var(--card); border:1px solid var(--line);
  transition:border-color .17s ease, background-color .17s ease;
}
#page-casino-staffing-agency .csa-crumb__back:hover{ border-color:var(--clr); background:var(--clr-tint); }
#page-casino-staffing-agency .csa-crumb__back img{ display:block; width:16px; height:16px; }
#page-casino-staffing-agency .csa-crumb__l{
  font-size:16px; font-weight:700; color:var(--clr);
  transition:color .17s ease;
}
#page-casino-staffing-agency .csa-crumb__l:hover{ color:var(--clr-2); }
#page-casino-staffing-agency .csa-crumb__now{ font-size:16px; color:var(--body); }

/* ══ 3 · SPLIT CREDENTIAL PLATE ═════════════════════════════════════════ */
#page-casino-staffing-agency .csa-open__in{
  display:grid; grid-template-columns:1fr minmax(0,480px); gap:clamp(28px,4vw,64px);
  align-items:center;
}
#page-casino-staffing-agency .csa-open__p{ margin:0 0 28px; max-width:52ch; }
#page-casino-staffing-agency .csa-plate{
  background:var(--sheet); border:1px solid var(--line); border-left:6px solid var(--clr);
  padding:16px;
}
#page-casino-staffing-agency .csa-plate__img{ display:block; width:100%; height:auto; }

/* ══ 4 · READING COLUMN ═════════════════════════════════════════════════ */
/* The reading columns cap their MEASURE, not the shell: capping the shell
   would recentre it inside the 1180px grid and leave the section's clearance
   bar starting further right than every other section's. */
#page-casino-staffing-agency .csa-def__lede{
  font-size:clamp(18px,1.4vw,20px); line-height:1.62; color:var(--ink); font-weight:500;
  margin:0 0 22px; max-width:76ch;
}
#page-casino-staffing-agency .csa-def__p{ margin:0; max-width:76ch; }

/* ══ 5 · THE CREDENTIAL SET — four up, per-cell borders ═════════════════
   Deliberately NOT a gap:1px grid over a coloured container: on a recent page
   that painted every vacant slot of an auto-fit grid as a solid rectangle. */
#page-casino-staffing-agency .csa-why__lede{ max-width:88ch; margin:0 0 34px; }
#page-casino-staffing-agency .csa-credset{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px;
  margin:0 0 34px;
}
#page-casino-staffing-agency .csa-cred{
  position:relative; background:var(--card); border:1px solid var(--line);
  padding:24px 22px 30px;
  transition:border-color .17s ease, box-shadow .17s ease;
}
#page-casino-staffing-agency .csa-cred::after{
  content:""; position:absolute; left:22px; bottom:0;
  width:30px; height:4px; background:var(--clr);
}
#page-casino-staffing-agency .csa-cred:hover{
  border-color:var(--line-2); box-shadow:0 2px 0 0 rgba(0,0,0,.05);
}
#page-casino-staffing-agency .csa-cred__i{
  display:block; width:70px; height:70px; margin:0 0 16px;
}
#page-casino-staffing-agency .csa-cred__h{ margin:0; font-size:19px; }
#page-casino-staffing-agency .csa-why__close{ max-width:88ch; margin:0; }

/* ══ 6 · THE POSTS — two up ═════════════════════════════════════════════ */
#page-casino-staffing-agency .csa-postset{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px;
}
#page-casino-staffing-agency .csa-post{
  background:var(--sheet); border:1px solid var(--line); padding:28px 30px 30px;
  transition:border-color .17s ease;
}
#page-casino-staffing-agency .csa-post:hover{ border-color:var(--clr); }
#page-casino-staffing-agency .csa-post__h{ margin:0 0 12px; }
#page-casino-staffing-agency .csa-post__h::before{
  content:""; display:block; width:28px; height:5px; background:var(--clr); margin:0 0 14px;
}
#page-casino-staffing-agency .csa-post__p{ margin:0; }

/* ══ 7 · CHARCOAL SCALE BAND ════════════════════════════════════════════ */
/* The clearance bar for this band is hoisted OUT of .csa-scale__say and sits on
   .csa-wrap, above the grid. Authored inside the copy column it computed to
   x=753 while every other section mark on the page sat at x=170 — the band is a
   reversed split, so the copy column starts more than half way across. Nothing
   static can see that; it is a computed position, not a property of the markup,
   and render-check.py --mark is what caught it. The split itself is unchanged:
   figure still leads, so the image stays on the left. */
#page-casino-staffing-agency .csa-scale__in{
  display:grid; grid-template-columns:minmax(0,520px) 1fr; gap:clamp(28px,4.4vw,72px);
  align-items:center; margin-top:26px;
}
#page-casino-staffing-agency .csa-scale__fig{
  background:var(--dark-2); border:1px solid var(--line-dk); padding:16px;
}
#page-casino-staffing-agency .csa-scale__img{ display:block; width:100%; height:auto; }
#page-casino-staffing-agency .csa-scale__p{ margin:0 0 28px; max-width:50ch; }
#page-casino-staffing-agency .csa-scale__more{ margin:20px 0 0; }

/* ══ 8 · THE CLEARANCE RECORD ═══════════════════════════════════════════ */
#page-casino-staffing-agency .csa-clearset{ display:grid; gap:14px; }
#page-casino-staffing-agency .csa-clear{
  display:flex; align-items:flex-start; gap:20px;
  background:var(--card); border:1px solid var(--line); border-left:6px solid var(--clr);
  padding:26px 28px;
}
#page-casino-staffing-agency .csa-clear__tick{
  flex:0 0 auto; display:block; width:24px; height:24px; margin-top:5px;
}
#page-casino-staffing-agency .csa-clear__body{ min-width:0; }
#page-casino-staffing-agency .csa-clear__h{ margin:0 0 8px; }
#page-casino-staffing-agency .csa-clear__p{ margin:0; max-width:92ch; }

/* ══ 9 · THE DIFFERENCE CELLS — tinted head strip ═══════════════════════ */
#page-casino-staffing-agency .csa-diffs__lede{ max-width:90ch; margin:0 0 34px; }
#page-casino-staffing-agency .csa-diffset{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px;
}
#page-casino-staffing-agency .csa-diff{
  background:var(--sheet); border:1px solid var(--line);
  display:flex; flex-direction:column;
}
/* (1,2,1) — the head strip paints a background, so it outranks the generic
   "#page-... h3" (1,0,1) rule above rather than tying with it. */
#page-casino-staffing-agency .csa-diff h3.csa-diff__h{
  margin:0; padding:14px 22px; background:var(--clr-tint); color:var(--ink);
  font-size:19px; border-bottom:1px solid var(--line);
}
#page-casino-staffing-agency .csa-diff__p{ margin:0; padding:20px 22px 24px; }

/* ══ 10 · TIME TO FILL — head column + marked conditions ════════════════ */
#page-casino-staffing-agency .csa-time__in{
  display:grid; grid-template-columns:minmax(0,340px) 1fr; gap:clamp(28px,4vw,64px);
  align-items:start;
}
#page-casino-staffing-agency .csa-time__head .csa-h2{ max-width:16ch; margin:0; }
#page-casino-staffing-agency .csa-time__lede{ margin:0 0 22px; }
#page-casino-staffing-agency .csa-tfset{ display:grid; gap:12px; }
#page-casino-staffing-agency .csa-tf{
  display:flex; align-items:flex-start; gap:16px;
  background:var(--card); border:1px solid var(--line); padding:20px 22px;
}
#page-casino-staffing-agency .csa-tf__dot{
  flex:0 0 auto; display:block; width:22px; height:22px; margin-top:4px;
}
#page-casino-staffing-agency .csa-tf__p{ margin:0; }

/* ══ 11 · CHARCOAL TWO-COLUMN ANSWER ════════════════════════════════════ */
#page-casino-staffing-agency .csa-term__cols{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(24px,3.4vw,54px);
  margin-top:8px;
}
#page-casino-staffing-agency .csa-term__p{ margin:0; }

/* ══ 12 · THE PROPERTIES — three up, green footing ══════════════════════ */
#page-casino-staffing-agency .csa-siteset{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;
}
#page-casino-staffing-agency .csa-site{
  background:var(--card); border:1px solid var(--line); border-bottom:5px solid var(--clr);
  padding:26px 24px 28px;
}
#page-casino-staffing-agency .csa-site__h{ margin:0 0 10px; }
#page-casino-staffing-agency .csa-site__p{ margin:0; }

/* ══ 13 · THE FEE COLUMNS — a green square set ON the rule ══════════════ */
#page-casino-staffing-agency .csa-cost__lede{ max-width:90ch; margin:0 0 40px; }
#page-casino-staffing-agency .csa-costset{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(22px,3vw,42px);
}
#page-casino-staffing-agency .csa-fee{
  position:relative; border-top:1px solid var(--line-2); padding:30px 0 0;
}
#page-casino-staffing-agency .csa-fee::before{
  content:""; position:absolute; top:-6px; left:0; width:13px; height:13px; background:var(--clr);
}
#page-casino-staffing-agency .csa-fee__p{ margin:0; }

/* ══ 14 · CHARCOAL COMPLIANCE COLUMN ════════════════════════════════════ */
#page-casino-staffing-agency .csa-comply__p{ margin:0 0 18px; max-width:86ch; }
#page-casino-staffing-agency .csa-comply__p:last-child{ margin-bottom:0; }

/* ══ 15 · SPECIALIST POSTS — offset plate ═══════════════════════════════ */
#page-casino-staffing-agency .csa-spec__in{
  display:grid; grid-template-columns:minmax(0,400px) 1fr; gap:clamp(26px,3.6vw,60px);
  align-items:start;
}
#page-casino-staffing-agency .csa-spec__head .csa-h2{ margin:0; max-width:18ch; }
#page-casino-staffing-agency .csa-spec__plate{
  background:var(--card); border:1px solid var(--line); border-top:6px solid var(--clr);
  padding:clamp(26px,3vw,40px);
}
#page-casino-staffing-agency .csa-spec__p{ margin:0 0 18px; }
#page-casino-staffing-agency .csa-spec__p:last-child{ margin-bottom:0; }

/* ══ 16 · DISCLOSURE FAQ ════════════════════════════════════════════════ */
#page-casino-staffing-agency .csa-faqlist{ display:grid; gap:10px; max-width:980px; }
#page-casino-staffing-agency .csa-faq{
  background:var(--card); border:1px solid var(--line);
  transition:border-color .17s ease;
}
#page-casino-staffing-agency .csa-faq[open]{ border-color:var(--clr); }
#page-casino-staffing-agency .csa-faq__s{
  display:flex; align-items:flex-start; justify-content:space-between; gap:20px;
  padding:20px 22px; cursor:pointer; list-style:none;
}
#page-casino-staffing-agency .csa-faq__s::-webkit-details-marker{ display:none; }
#page-casino-staffing-agency .csa-faq__q{
  margin:0; font-size:18px; font-weight:700; line-height:1.42; color:var(--ink);
}
#page-casino-staffing-agency .csa-faq__m{
  position:relative; flex:0 0 auto; width:22px; height:22px; margin-top:2px;
}
#page-casino-staffing-agency .csa-faq__m::before,
#page-casino-staffing-agency .csa-faq__m::after{
  content:""; position:absolute; left:50%; top:50%; background:var(--clr);
  transform:translate(-50%,-50%);
}
#page-casino-staffing-agency .csa-faq__m::before{ width:16px; height:3px; }
#page-casino-staffing-agency .csa-faq__m::after{
  width:3px; height:16px; transition:transform .18s ease, opacity .18s ease;
}
#page-casino-staffing-agency .csa-faq[open] .csa-faq__m::after{
  transform:translate(-50%,-50%) scaleY(0); opacity:0;
}
#page-casino-staffing-agency .csa-faq__s:hover .csa-faq__q{ color:var(--clr-2); }
#page-casino-staffing-agency .csa-faq__a{
  margin:0 22px; padding:16px 0 22px; border-top:1px solid var(--line);
}
#page-casino-staffing-agency .csa-faq__a p{ margin:0; }

/* ══ 17 · CHARCOAL STORY RAIL — click-to-load facades ═══════════════════ */
#page-casino-staffing-agency .csa-news__sub{
  color:#ffffff; font-size:clamp(20px,1.7vw,24px); margin:0 0 30px;
}
#page-casino-staffing-agency .csa-storyset{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(20px,2.6vw,34px);
}
#page-casino-staffing-agency .csa-story{
  background:var(--dark-2); border:1px solid var(--line-dk); padding:14px;
}
#page-casino-staffing-agency .csa-vid{
  position:relative; display:block; width:100%; padding:0; border:0; cursor:pointer;
  background:var(--dark-3); line-height:0;
}
#page-casino-staffing-agency .csa-vid__img{ display:block; width:100%; height:auto; }
#page-casino-staffing-agency .csa-vid__play{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:58px; height:58px; background:var(--clr);
  transition:background-color .17s ease, transform .14s ease;
}
#page-casino-staffing-agency .csa-vid__play::before{
  content:""; position:absolute; left:52%; top:50%; transform:translate(-50%,-50%);
  border-style:solid; border-width:11px 0 11px 17px;
  border-color:transparent transparent transparent #ffffff;
}
#page-casino-staffing-agency .csa-vid:hover .csa-vid__play{ background:var(--clr-lt); }
#page-casino-staffing-agency .csa-vid:hover .csa-vid__play::before{
  border-left-color:#0d1211;
}
#page-casino-staffing-agency .csa-vid:active .csa-vid__play{ transform:translate(-50%,-50%) scale(.94); }
#page-casino-staffing-agency .csa-story__frame{
  display:block; width:100%; aspect-ratio:4/3; border:0;
}
#page-casino-staffing-agency .csa-story__q{ margin:18px 0 0; }
#page-casino-staffing-agency .csa-story__q p{ margin:0; color:var(--body-dk); font-size:16px; line-height:1.65; }
#page-casino-staffing-agency .csa-news__more{ margin:32px 0 0; }

/* ══ 18 · AREA WE SERVE — authored in <main>, never in shared chrome ════ */
#page-casino-staffing-agency .csa-serveset{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px;
}
#page-casino-staffing-agency .csa-serve{
  background:var(--sheet); border:1px solid var(--line); padding:24px 22px 26px;
}
#page-casino-staffing-agency .csa-serve__h{
  margin:0 0 14px; font-size:17px; font-weight:800; letter-spacing:.07em;
  text-transform:uppercase; color:var(--ink);
}
#page-casino-staffing-agency .csa-serve__h::after{
  content:""; display:block; width:26px; height:4px; background:var(--clr); margin-top:12px;
}
#page-casino-staffing-agency .csa-serve__tel{ margin:0 0 10px; font-size:17px; font-weight:700; }
#page-casino-staffing-agency .csa-serve__tel a{
  color:var(--clr); transition:color .17s ease;
}
#page-casino-staffing-agency .csa-serve__tel a:hover{ color:var(--clr-2); }
#page-casino-staffing-agency .csa-serve__a{ margin:0; font-size:16px; line-height:1.6; }

/* ══ ENQUIRY MODAL ══════════════════════════════════════════════════════ */
#page-casino-staffing-agency .csa-modal{
  position:fixed; inset:0; z-index:2147483000;
  display:none; align-items:flex-start; justify-content:center;
  padding: 100px 16px 24px 16px; overflow:auto; background:rgba(12,14,15,.72);
}
#page-casino-staffing-agency .csa-modal.is-open{ display:flex; }
#page-casino-staffing-agency .csa-modal__box{
  position:relative; width:100%; max-width:560px; background:#ffffff;
  border-top:6px solid var(--clr); box-shadow:0 22px 60px rgba(0,0,0,.4);
}
#page-casino-staffing-agency .csa-modal__x{
  position:absolute; top:10px; right:10px; z-index:2;
  width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center;
  background:var(--sheet); color:var(--ink); border:1px solid var(--line); cursor:pointer;
  transition:background-color .17s ease, color .17s ease;
}
#page-casino-staffing-agency .csa-modal__x:hover{ background:var(--clr); color:#ffffff; }
#page-casino-staffing-agency .csa-modal__box iframe{
  display:block; width:100%; min-height:860px; border:0;
}

/* ══ RESPONSIVE ═════════════════════════════════════════════════════════ */
@media (max-width:1080px){
  #page-casino-staffing-agency .csa-credset{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  #page-casino-staffing-agency .csa-serveset{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  #page-casino-staffing-agency .csa-siteset{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px){
  #page-casino-staffing-agency .csa-open__in,
  #page-casino-staffing-agency .csa-scale__in,
  #page-casino-staffing-agency .csa-time__in,
  #page-casino-staffing-agency .csa-spec__in{ grid-template-columns:1fr; }
  #page-casino-staffing-agency .csa-scale__in{ gap:30px; }
  #page-casino-staffing-agency .csa-time__head .csa-h2,
  #page-casino-staffing-agency .csa-spec__head .csa-h2{ max-width:22ch; }
  #page-casino-staffing-agency .csa-time__head{ margin-bottom:6px; }
  #page-casino-staffing-agency .csa-costset{ grid-template-columns:1fr; gap:34px; }
  #page-casino-staffing-agency .csa-storyset{ grid-template-columns:1fr; }
  #page-casino-staffing-agency .csa-story__frame{ aspect-ratio:16/9; }
}
@media (max-width:760px){
  #page-casino-staffing-agency .csa-postset,
  #page-casino-staffing-agency .csa-diffset,
  #page-casino-staffing-agency .csa-siteset,
  #page-casino-staffing-agency .csa-term__cols{ grid-template-columns:1fr; }
  #page-casino-staffing-agency .csa-clear{ padding:22px 20px; gap:14px; }
}
@media (max-width:560px){
  #page-casino-staffing-agency .csa-credset,
  #page-casino-staffing-agency .csa-serveset{ grid-template-columns:1fr; }
  #page-casino-staffing-agency .csa-btn{ width:100%; }
  #page-casino-staffing-agency .csa-hero__p{ font-size:17px; }
  #page-casino-staffing-agency .csa-faq__s{ padding:18px; gap:14px; }
  #page-casino-staffing-agency .csa-faq__a{ margin-inline:18px; padding-bottom:18px; }
  #page-casino-staffing-agency .csa-modal__box iframe{ min-height:900px; }
}

/* ══ REDUCED MOTION — the page has no @keyframes at all; this neutralises
      the remaining hover / focus / open transitions. ══════════════════ */
@media (prefers-reduced-motion:reduce){
  #page-casino-staffing-agency *,
  #page-casino-staffing-agency *::before,
  #page-casino-staffing-agency *::after{
    animation:none !important;
    transition-duration:.01ms !important;
  }
}
