/* Casinos and Gaming uses the shared industry system from cpa-accounting-firms.css. */
.page-gaming-casinos{
  --hm-tight:28ch;
  --hm-wide:46ch;
  --head-gap:clamp(32px,4.3vw,56px);
  --story-gap:clamp(44px,4.2vw,64px);
  --divider-soft:rgba(15,24,34,.07);
}
.page-gaming-casinos main .section{scroll-margin-top:100px;}
.page-gaming-casinos main .section + .section:not(.alt){border-top:0;}
.page-gaming-casinos main .eyebrow{color:var(--green-ink);}
.page-gaming-casinos main .brand-mark{display:inline-flex;align-items:center;margin-right:9px;vertical-align:-3px;}
.page-gaming-casinos main .brand-mark img{display:block;width:auto;height:16.5px;}
.page-gaming-casinos main .h2{font-size:var(--type-h2);line-height:1.08;letter-spacing:-0.018em;}
.page-gaming-casinos main .h3{font-size:clamp(23px,max(calc(19.87px + .32vw),1.7vw),25px);line-height:1.15;letter-spacing:0;}
.page-gaming-casinos main .lead{font-size:clamp(18px,1.5vw,21px);line-height:1.55;color:var(--muted);}
.page-gaming-casinos main .body-copy{font-size:17px;line-height:1.6;color:var(--muted);}
.page-gaming-casinos main .industry-intro{display:block;margin-bottom:var(--head-gap);}
.page-gaming-casinos main .industry-intro--no-para{margin-bottom:clamp(36px,4vw,44px);}
.page-gaming-casinos main .industry-intro__col{width:80%;margin-inline:auto;text-align:center;}
.page-gaming-casinos main .industry-intro .h2{font-weight:400; width:100%;max-inline-size:none;margin-inline:auto;text-wrap:balance;word-break:normal;overflow-wrap:normal;hyphens:none;}
.page-gaming-casinos main .industry-intro p{width:100%;max-inline-size:none;margin:clamp(16px,1.6vw,20px) auto 0;color:var(--muted);font-size:clamp(17px,1.2vw,19px);font-weight:400;line-height:1.55;text-wrap:pretty;}
.page-gaming-casinos main .lucide{display:block;flex:none;fill:none;stroke:currentColor;stroke-width:var(--icon-stroke,1.75);stroke-linecap:round;stroke-linejoin:round;}
.page-gaming-casinos main .ico{display:flex;align-items:center;justify-content:center;width:41px;height:41px;flex:none;border:1px solid rgba(0,129,74,.08);border-radius:12px;background:linear-gradient(145deg,rgba(0,171,82,.075),rgba(172,212,0,.035)),#fff;box-shadow:inset 0 1px rgba(255,255,255,.85),0 8px 16px -14px rgba(0,129,74,.28);color:var(--green-ink);}
.page-gaming-casinos main .ico .lucide{width:20px;height:20px;--icon-stroke:1.75;}
.page-gaming-casinos main .m-visual-stage{position:relative;container:canvas / inline-size;padding:10px;border:1px solid rgba(0,129,74,.08);border-radius:16px;background:radial-gradient(circle at 12% 18%,rgba(0,171,82,.07),transparent 34%),radial-gradient(circle at 88% 82%,rgba(242,228,0,.05),transparent 32%),linear-gradient(135deg,#f1f8f4 0%,#f7faf8 48%,#fffceb 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.6);}

/* Hero logo row — larger than the shared industry default. The first four
   slots use the padded -trust images (logo fills ~59% of the height), so they
   get a bigger multiplier than the two tightly cropped images after them. */
.page-gaming-casinos main .industry-logos{--u:clamp(30px,calc(22px + 2vw),38px);}
@container logos (width >= 976px){.page-gaming-casinos main .industry-logos{--u:clamp(34px,calc(24px + 1.4vw),44px);}}
.page-gaming-casinos main .industry-logo--casino-pauma{--k:1.3;}
.page-gaming-casinos main .industry-logo--live-casino{--k:1.3;}
.page-gaming-casinos main .industry-logo--wilton-rancheria{--k:1.3;}
.page-gaming-casinos main .industry-logo--turning-stone{--k:1.3;}
.page-gaming-casinos main .industry-logo--grand-casino{--k:.95;}
.page-gaming-casinos main .industry-logo--downstream-casino{--k:.8;}
.page-gaming-casinos main .industry-logo--mohegan-sun{--k:.88;}
.page-gaming-casinos main .industry-card__accent--green{background:var(--green);}
.page-gaming-casinos main .industry-card__accent--lime{background:var(--lime);}
.page-gaming-casinos main .industry-card__accent--yellow{background:var(--yellow);}

.page-gaming-casinos main .m-testimonial__topline{position:absolute;top:0;right:0;left:0;z-index:1;height:2px;background:linear-gradient(90deg,rgba(242,228,0,0),rgba(242,228,0,.55) 20%,rgba(172,212,0,.55) 80%,rgba(172,212,0,0));}
.page-gaming-casinos main .m-testimonial__dots{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle at 1.5px 1.5px,rgba(255,255,255,.1) 1.5px,transparent 0);background-size:28px 28px;-webkit-mask-image:radial-gradient(65% 70% at 50% 30%,#000 10%,rgba(0,0,0,.3) 55%,transparent 88%);mask-image:radial-gradient(65% 70% at 50% 30%,#000 10%,rgba(0,0,0,.3) 55%,transparent 88%);}
.page-gaming-casinos main .m-testimonial__dots-side{position:absolute;top:0;right:0;bottom:0;left:33%;z-index:0;pointer-events:none;background-image:radial-gradient(circle at 1.5px 1.5px,rgba(255,255,255,.07) 1.5px,transparent 0);background-size:30px 30px;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 32%,#000 78%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 32%,#000 78%,transparent 100%);}
.page-gaming-casinos main .m-t-ribbon{position:absolute;right:-28px;bottom:-36px;z-index:0;width:21%;min-width:150px;max-width:270px;aspect-ratio:240/480;overflow:visible;pointer-events:none;}
.page-gaming-casinos main .m-t-ribbon__glow{position:absolute;inset:-45% -60% -20%;pointer-events:none;background:radial-gradient(circle at 92% 88%,rgba(172,212,0,.1),transparent 32%);}
.page-gaming-casinos main .m-t-ribbon__shape{position:relative;}

.page-gaming-casinos main .industry-stat:last-child{grid-column:auto;justify-self:stretch;}
@container stats (width >= 600px){
  .page-gaming-casinos main .industry-stats__rail{grid-template-columns:repeat(4,minmax(0,1fr));}
}

@media (max-width:767px){
  .page-gaming-casinos main .industry-intro__col{width:100%;}
}

/* CPA splits the shared step component at 760px; Gaming keeps the supplied 800px threshold. */
@container steps (760px <= width < 800px){
  .page-gaming-casinos main .industry-steps__line{display:none;}
}
@container step (760px <= width < 800px){
  .page-gaming-casinos main .industry-step__num{position:static;width:38px;height:38px;margin-bottom:18px;font-size:13.5px;}
  .page-gaming-casinos main .industry-step__grid,
  .page-gaming-casinos main .industry-step--flip .industry-step__grid{margin-left:0;grid-template-columns:minmax(0,1fr);gap:32px;}
  .page-gaming-casinos main .industry-step--flip .industry-step__visual{order:initial;}
  .page-gaming-casinos main .industry-step__grid > div:first-child{max-width:62ch;}
  .page-gaming-casinos main .m-visual-stage{border-radius:16px;padding:10px;}
}
@container step (width >= 800px){
  .page-gaming-casinos main .industry-step__grid{grid-template-columns:minmax(0,1fr) minmax(400px,1.22fr);}
  .page-gaming-casinos main .industry-step--flip .industry-step__grid{grid-template-columns:minmax(400px,1.22fr) minmax(0,1fr);}
}

.m-light-a{
  background:
    radial-gradient(72% 76% at 84% 4%, rgba(0,171,82,.09), transparent 62%),
    radial-gradient(48% 52% at 6% 96%, rgba(172,212,0,.04), transparent 68%),
    linear-gradient(180deg, #F7FBF8 0%, #FBFDFC 58%, #FFFFFF 100%);
}

.iris-bridge{
  position:relative;overflow:hidden;padding:clamp(40px,calc(28px + 2.6vw),56px) 0;
  background:
    radial-gradient(50% 120% at 4% 50%, rgba(0,171,82,.065), transparent 70%),
    radial-gradient(38% 110% at 98% 50%, rgba(172,212,0,.04), transparent 72%),
    linear-gradient(90deg, #F6FAF7 0%, #FAFCFA 54%, #FFFDF3 100%);
  box-shadow:
    inset 0 1px rgba(15,24,34,.035),
    inset 0 -1px rgba(15,24,34,.035);
}
.iris-bridge__shell{container:iris / inline-size;}
/* Compact: [icon + heading] on one line, supporting copy beneath. */
.iris-bridge__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:15px;align-items:center;}
.iris-bridge__head{display:flex;align-items:center;gap:12px;}
/* Same shared icon surface, one step larger as the proof mark. */
.iris-bridge__head .ico{width:43px;height:43px;border-radius:12px;}
.iris-bridge__head .ico .lucide{width:20px;height:20px;}
.iris-bridge h2{font-family:var(--serif);font-weight:400;font-size:clamp(23px,6.5cqi,26px);line-height:1.15;letter-spacing:0;margin:0;}
.iris-bridge__copy{font-size:17px;line-height:1.6;color:var(--muted);margin:0;}
/* Enough room: [icon + heading] | supporting copy, ~40/60. */
@container iris (width >= 700px){
  .iris-bridge__grid{grid-template-columns:minmax(0,40fr) minmax(0,60fr);gap:clamp(28px,4vw,56px);}
  .iris-bridge__head{gap:clamp(14px,1.8cqi,18px);}
  .iris-bridge__head .ico{width:clamp(46px,5.6cqi,54px);height:clamp(46px,5.6cqi,54px);border-radius:14px;}
  .iris-bridge__head .ico .lucide{width:clamp(21px,2.45cqi,24px);height:clamp(21px,2.45cqi,24px);}
  .iris-bridge h2{font-size:clamp(26px,2.2vw,30px);}
}

.wf{
  --warn:#6E5C00;--warn-ink:#B98900;   /* IRIS filing warning palette (product UI only) */
  --px:clamp(14px,4.4cqi,22px);
  background:var(--paper);border:1px solid rgba(15,24,34,.11);border-radius:11px;
  overflow:hidden;color:var(--ink);font-family:var(--sans);
  box-shadow:0 1px 0 rgba(15,24,34,.03);
}

/* Property navigation — shared by 01, 03 and 04 */
.wf-tabs{
  display:flex;flex-wrap:wrap;column-gap:clamp(14px,4cqi,24px);
  padding:0 var(--px);border-bottom:1px solid var(--line);
}
.wf-tab{
  font-size:13.5px;line-height:1.3;color:var(--muted);white-space:nowrap;
  padding:14px 0 11px;margin-bottom:-1px;border-bottom:2px solid transparent;
}
.wf-tab--active{color:var(--ink);font-weight:600;border-bottom-color:var(--green);}
.wf-tab--more{color:var(--muted-2);}
/* Narrow canvas: the navigation never scrolls and never wraps into a
   ragged second line. It recomposes as two deliberate tiers — the
   selected property (underlined) on its own line, the remaining
   properties as a quiet list beneath. Same items, same order in the
   DOM; only visual order changes. */
@container canvas (width < 480px){
  .wf-tabs::before{content:"";flex-basis:100%;height:0;order:0;}
  .wf-tab{order:1;font-size:13px;padding:8px 0 11px;}
  .wf-tab--active{order:-1;font-size:13.5px;padding:13px 0 8px;}
}
/* Smallest canvases: the overflow count moves up beside the selected
   property so the remaining names still fit on one quiet line. */
@container canvas (width < 300px){
  .wf-tab--more{order:-1;margin-left:auto;padding:13px 0 8px;}
}

/* Rows — one rhythm for tables, ledgers and record lists */
.wf-row{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:6px 16px;min-height:46px;padding:11px var(--px);
}
.wf-row + .wf-row{border-top:1px solid var(--line);}
.wf-row--head{
  min-height:0;padding-top:13px;padding-bottom:9px;
  font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted-2);
}
.wf-row--head + .wf-row{border-top-color:var(--line-2);}
.wf-name{font-size:15px;font-weight:500;color:var(--ink);white-space:nowrap;}

/* Status — text first, glyph second, no badges */
.wf-state{display:inline-flex;align-items:center;gap:7px;margin-left:auto;font-size:13.5px;font-weight:600;white-space:nowrap;}
.wf-state .lucide{width:15px;height:15px;--icon-stroke:2;}
.wf-state--ok{color:var(--green-ink);}
.wf-state--progress{color:var(--muted);font-weight:500;}
.wf-state--progress .lucide{color:var(--muted-2);}
.wf-state--active{color:var(--ink);font-weight:500;}
.wf-state--active .lucide{color:var(--green-ink);}
.wf-state--wait{color:var(--warn);}
.wf-state--wait .lucide{color:var(--warn-ink);}

/* 01 — completion rail: the final state of the same workflow */
.wf-rail{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;
  padding:13px var(--px);background:var(--green-deep);color:var(--on-dark);
}
.wf-rail b{font-size:14.5px;font-weight:600;letter-spacing:0;}
.wf-rail__state{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--on-dark);}
.wf-rail__tick{
  width:20px;height:20px;border-radius:999px;background:var(--green);color:var(--white);
  display:flex;align-items:center;justify-content:center;flex:none;
}
.wf-rail__tick .lucide{width:12px;height:12px;--icon-stroke:3;}

/* 03 — exception: one exceptional record inside the same ledger */
.wf-row--exception{
  background:linear-gradient(90deg,rgba(242,228,0,.075),rgba(242,228,0,.02) 70%);
  box-shadow:inset 2px 0 0 rgba(185,137,0,.55);
}
.wf-flag{display:inline-flex;align-items:center;gap:9px;}
.wf-flag .lucide{width:15px;height:15px;--icon-stroke:2;color:var(--warn-ink);}
.wf-count{font-size:13.5px;color:var(--muted);margin-left:auto;white-space:nowrap;}

/* 04 — document library: name, tax year, lightweight text action */
.wf--docs{container:docs / inline-size;}
.wf-doc{
  display:grid;grid-template-columns:minmax(0,1fr) 3.6em auto;
  grid-template-areas:"name year action";column-gap:16px;
}
.wf-doc .wf-name{grid-area:name;font-weight:600;}
.wf-year{grid-area:year;font-size:13px;color:var(--muted-2);font-variant-numeric:tabular-nums;}
.wf-action{
  grid-area:action;justify-self:end;
  display:inline-flex;align-items:center;gap:6px;
  font-size:13.5px;font-weight:600;color:var(--green-ink);white-space:nowrap;
}
.wf-action .lucide{width:17px;height:17px;--icon-stroke:2;}
/* Icon-only action; the label stays available to assistive tech. */
.wf-action__label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
/* Narrow document list: name + action on the first line, the tax year
   as quiet metadata beneath — the name never collides with the action. */
@container docs (width < 300px){
  .wf-doc{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name action" "year action";row-gap:1px;padding-top:9px;padding-bottom:9px;}
}

/* 02 — routing map. Horizontal: source | routes | filing lanes. The
   route lines carry the composition; lanes are endpoints, not cards. */
.wf--route{padding:clamp(18px,4.6cqi,28px) var(--px);}
.wf-route{display:grid;grid-template-columns:auto minmax(56px,1.1fr) minmax(0,1.2fr);align-items:center;}
.wf-route__src{
  display:flex;flex-direction:column;justify-content:center;gap:4px;
  padding:6px 0 6px 12px;border-left:3px solid var(--green-ink);
}
.wf-route__src b{font-size:17px;font-weight:600;line-height:1.25;color:var(--ink);white-space:nowrap;}
.wf-route__lines{width:calc(100% - 16px);height:168px;margin-left:16px;overflow:visible;}
.wf-route__lines path{fill:none;stroke-width:1.75;stroke-linecap:round;vector-effect:non-scaling-stroke;}
.wf-route__trunk{stroke:var(--green-ink);}
.wf-route__r1{stroke:var(--green);stroke-width:2;}
.wf-route__r2{stroke:var(--lime);}
.wf-route__r3{stroke:var(--muted-2);stroke-opacity:.55;}
.wf-route__lanes{list-style:none;margin:0;padding:0;}
.wf-lane{
  --route:var(--muted-2);
  position:relative;display:flex;align-items:center;gap:10px;height:56px;
  padding-left:16px;font-size:15.5px;font-weight:600;color:var(--ink);white-space:nowrap;
}
.wf-lane + .wf-lane{border-top:1px solid var(--line);}
.wf-lane i{position:absolute;left:-5px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:999px;background:var(--route);}
.wf-lane--federal{--route:var(--green);}
.wf-lane--cfsf{--route:var(--lime);}
.wf-lane--state i{background:var(--paper);box-shadow:inset 0 0 0 2px var(--muted-2);}
/* Narrow canvas: the same routing becomes a vertical tree — one trunk
   down from the source, three branches out to the filing lanes. */
@container canvas (width < 420px){
  .wf-route{display:block;}
  .wf-route__lines{display:none;}
  .wf-route__src{padding-bottom:10px;}
  .wf-route__lanes{position:relative;margin-left:1px;padding-left:24px;}
  .wf-route__lanes::before{
    content:"";position:absolute;left:0;top:0;bottom:28px;width:1.75px;background:var(--green-ink);
  }
  .wf-lane::before{
    content:"";position:absolute;left:-24px;top:50%;width:19px;height:1.75px;margin-top:-1px;background:var(--route);
  }
  .wf-lane--state::before{opacity:.55;}
}

.enterprise-fit .wrap{container:fit / inline-size;}
.enterprise-fit__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:start;}
.enterprise-fit__divider{width:100%;height:1px;background:var(--divider-soft);}
/* Side by side as soon as each concept keeps a ~290px measure. */
@container fit (width >= 640px){
  .enterprise-fit__grid{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:clamp(32px,4vw,56px);}
  .enterprise-fit__divider{width:1px;height:auto;align-self:stretch;}
}
.enterprise-fit h3{color:var(--ink);margin-top:20px;}
.enterprise-fit p{font-size:17px;line-height:1.6;color:var(--muted);margin-top:16px;}
