:root {
  color-scheme: light;
  --night: #141c28;
  --graphite: #202b38;
  --ink: #1e2932;
  --muted: #61717b;
  --bone: #f0eee8;
  --paper: #faf9f5;
  --line: #cbd0ce;
  --steel: #8095a0;
  --coral: #bf4a3f;
  --coral-light: #e17b66;
  --lime: #d5e875;
  --serif: Georgia, "Times New Roman", serif;
  --sans: "Segoe UI", Arial, sans-serif;
  --content: 48rem;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body { margin: 0; color: var(--ink); background: var(--bone); font: 16px/1.72 var(--sans); text-rendering: optimizeLegibility; }
img { display: block; max-width: 100%; }
a { color: #89342f; text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: #5c2725; }
a:focus-visible { outline: 3px solid var(--coral); outline-offset: 4px; border-radius: 2px; }
h1, h2, h3 { font-family: var(--serif); font-weight: 500; }
.skip-link { position: absolute; z-index: 50; top: .75rem; left: 1rem; padding: .7rem 1rem; transform: translateY(-180%); color: var(--night); background: var(--paper); border: 2px solid var(--coral); }
.skip-link:focus { transform: translateY(0); }
.reading-progress { position: fixed; z-index: 40; inset: 0 0 auto; height: 4px; background: rgba(213, 232, 117, .18); }
.reading-progress[hidden] { display: none; }
.reading-progress span { display: block; width: 0; height: 100%; background: var(--lime); }
.site-header { min-height: 78px; padding: .75rem clamp(1rem, 4vw, 4.5rem); display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; color: #f6f5ee; background: var(--night); border-bottom: 1px solid rgba(240, 238, 232, .16); }
.brand { display: inline-flex; align-items: center; gap: .75rem; color: inherit; text-decoration: none; }
.brand img { width: 43px; height: 43px; }
.brand-copy { display: grid; gap: .18rem; line-height: 1.15; }
.brand-copy strong { font-size: .77rem; font-weight: 700; letter-spacing: .17em; }
.brand-copy strong b { color: var(--lime); font-weight: 700; }
.brand-copy small { color: #b8c4c9; font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.header-note { display: flex; align-items: center; gap: .6rem; margin: 0; color: #d6dcde; font-size: .74rem; letter-spacing: .025em; }
.status-dot, .footer-pip { width: .48rem; height: .48rem; flex: 0 0 auto; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 4px rgba(213, 232, 117, .13); }
main { overflow-x: clip; }
.hero { color: #f4f3ed; background: var(--night); }
.hero-grid { width: min(1320px, calc(100% - 3rem)); min-height: 595px; margin: 0 auto; padding: clamp(3.5rem, 7vw, 6.6rem) 0 3.25rem; display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(360px, .97fr); align-items: center; gap: clamp(2.5rem, 6vw, 6rem); }
.hero-copy { max-width: 650px; padding-bottom: 1.25rem; }
.kicker { display: flex; flex-wrap: wrap; gap: .6rem 1rem; margin: 0 0 1.5rem; color: var(--lime); font-size: .69rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.kicker span + span { color: #a9bbc4; }
h1 { max-width: 12ch; margin: 0; color: #fbfaf5; font-size: clamp(3rem, 6.1vw, 5.6rem); letter-spacing: -.055em; line-height: .99; }
.hero-lead { max-width: 41rem; margin: 1.55rem 0 0; color: #cbd4d8; font: 1.16rem/1.65 var(--serif); }
.hero-bottom { max-width: 465px; margin-top: 2rem; padding-top: 1rem; display: grid; grid-template-columns: 3.4rem 1fr; gap: .85rem; align-items: center; border-top: 1px solid rgba(240, 238, 232, .24); }
.hero-bottom p { margin: 0; color: #aab9c0; font-size: .8rem; line-height: 1.5; }
.hero-number { color: var(--lime); font: 1.65rem/1 var(--serif); }
.hero-number span { margin-left: .12rem; color: #83939b; font: .7rem var(--sans); }
.hero-image { position: relative; align-self: stretch; min-height: 430px; padding: 0 0 2rem 2rem; }
.hero-image::after { position: absolute; z-index: 0; top: 1.3rem; left: 0; width: 6rem; height: 6rem; content: ""; border-top: 2px solid var(--coral-light); border-left: 2px solid var(--coral-light); pointer-events: none; }
.hero-image img { width: 100%; height: min(100%, 540px); min-height: 400px; object-fit: cover; object-position: 42% center; filter: saturate(.82) contrast(1.03); }
.hero-image figcaption { max-width: 90%; margin-top: .7rem; color: #9baab1; font-size: .7rem; line-height: 1.45; }
.image-stamp { position: absolute; right: -.6rem; bottom: 4.5rem; z-index: 1; padding: .7rem .8rem; color: var(--night); background: var(--lime); font-size: .58rem; font-weight: 800; letter-spacing: .16em; line-height: 1.45; transform: rotate(4deg); }
.hero-rule { height: 1px; overflow: hidden; background: rgba(240, 238, 232, .14); }
.hero-rule span { display: block; width: min(45%, 580px); height: 100%; background: var(--coral); }
.hero-caution { width: min(1320px, calc(100% - 3rem)); margin: 0 auto; padding: 1.15rem 0 1.35rem; display: flex; align-items: center; gap: .8rem; }
.caution-mark { display: grid; flex: 0 0 1.35rem; width: 1.35rem; height: 1.35rem; place-items: center; border: 1px solid var(--coral-light); border-radius: 50%; color: #f0a293; font: 700 .75rem var(--sans); }
.hero-caution p { max-width: 900px; margin: 0; color: #b6c1c5; font-size: .77rem; line-height: 1.45; }
.chain-section { position: relative; padding: 3.15rem max(1.5rem, calc((100% - 1180px) / 2)) 3rem; background: var(--lime); }
.chain-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1.4rem; }
.micro-label { margin: 0; color: #475633; font-size: .64rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.chain-heading h2 { margin: 0; color: var(--night); font-size: clamp(1.65rem, 3vw, 2.2rem); letter-spacing: -.03em; }
.care-chain { position: relative; margin: 0; padding: .4rem 0 0; display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; }
.care-chain::before { position: absolute; top: 1.12rem; left: 5%; right: 5%; height: 1px; content: ""; background: rgba(32, 43, 56, .28); clip-path: inset(0 100% 0 0); transition: clip-path 280ms ease; }
.care-chain.is-lit::before { clip-path: inset(0); }
.care-chain li { position: relative; z-index: 1; padding-right: 1rem; display: grid; justify-items: start; gap: .45rem; }
.chain-node { display: grid; width: 1.55rem; height: 1.55rem; place-items: center; border: 1px solid var(--night); border-radius: 50%; color: var(--night); background: var(--lime); font-size: .56rem; font-weight: 800; transition: color .28s ease, background .28s ease, transform .28s ease; }
@media (hover: hover) and (pointer: fine) {
  .care-chain li:hover .chain-node { color: var(--paper); background: var(--night); transform: translateY(-2px); }
}
.care-chain strong { color: var(--night); font-size: .84rem; }
.care-chain small { color: #475633; font-size: .73rem; }
.chain-note { max-width: 760px; margin: 1.1rem 0 0; color: #475633; font-size: .72rem; }
.article-shell { width: min(1220px, calc(100% - 3rem)); margin: 0 auto; padding: 5rem 0 7rem; display: grid; grid-template-columns: minmax(180px, 230px) minmax(0, var(--content)); justify-content: space-between; align-items: start; gap: clamp(2.5rem, 6vw, 5.75rem); }
.side-index { position: sticky; top: 1.5rem; align-self: start; }
.side-index > .micro-label { margin-bottom: 1rem; color: #5d6b70; }
.number-card { padding: 1rem .95rem 1.1rem; border-top: 3px solid; background: var(--paper); }
.number-card + .number-card { margin-top: .8rem; }
.number-card-coral { border-color: var(--coral); }
.number-card-lime { border-color: #90a832; }
.number-card > span { display: block; margin-bottom: .15rem; color: var(--night); font: 2.65rem/.95 var(--serif); letter-spacing: -.05em; }
.number-card strong { display: block; max-width: 15rem; color: #34424a; font-size: .82rem; line-height: 1.35; }
.number-card a { display: inline-block; margin-top: .65rem; font-size: .7rem; }
.side-note { margin: 1rem 0 0; color: #65737a; font-size: .73rem; line-height: 1.55; }
.article-body { min-width: 0; max-width: var(--content); }
.article-body p { margin: 0 0 1.18rem; }
.article-body .article-lead { margin: 0 0 2.5rem; color: #29363d; font: 1.2rem/1.75 var(--serif); }
.article-body section { margin: 0 0 3.7rem; scroll-margin-top: 2rem; }
.article-body h2 { max-width: 22ch; margin: 0 0 1.3rem; color: var(--night); font-size: clamp(1.9rem, 3.6vw, 2.75rem); letter-spacing: -.04em; line-height: 1.1; }
.source-inline { margin-top: -.2rem !important; color: #5d6b70; font-size: .79rem; line-height: 1.55; }
.article-figure { width: calc(100% + 5rem); margin: .2rem -2.5rem 3.6rem; }
.article-figure img { width: 100%; max-height: 570px; aspect-ratio: 1.5; object-fit: cover; }
.article-figure figcaption, .inline-figure figcaption { margin-top: .65rem; color: #62717a; font-size: .71rem; line-height: 1.5; }
.figure-bleed img { aspect-ratio: 1.72; }
.figure-offset { width: calc(100% + 9rem); margin-left: -4.5rem; }
.figure-equipment img { object-position: center 46%; }
.split-section { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(220px, .82fr); gap: 2rem; align-items: start; }
.inline-figure { margin: .4rem 0 0; }
.inline-figure img { width: 100%; aspect-ratio: .92; object-fit: cover; }
.casino-section { margin: 4.5rem 0 3rem !important; padding: 2rem clamp(1.3rem, 4vw, 2.8rem) 2rem; color: #f3f1eb; background: var(--graphite); border-top: 4px solid var(--coral); }
.casino-section h2 { color: #f7f5ee; }
.casino-section p { color: #d0d7d9; }
.casino-section .source-inline { color: #aebcc1; }
.casino-section .source-inline a { color: var(--lime); }
.casino-heading { display: flex; gap: 1rem; align-items: start; margin-bottom: 1.2rem; }
.casino-heading .micro-label { margin-bottom: .45rem; color: var(--lime); }
.casino-heading h2 { margin-bottom: .3rem; }
.casino-mark { display: grid; flex: 0 0 2.4rem; width: 2.4rem; height: 2.4rem; place-items: center; border: 1px solid var(--coral-light); border-radius: 50%; color: #f1a094; font-size: 1.1rem; }
.figure-screen { width: calc(100% + 2rem); margin: 0 -1rem 3.5rem; }
.figure-screen img { aspect-ratio: 1.52; object-position: center; }
.closing-section { margin: 4.5rem 0 4rem !important; padding-top: 1.5rem; display: grid; grid-template-columns: 3.2rem 1fr; gap: 1.25rem; border-top: 1px solid var(--line); }
.closing-index { color: var(--coral); font: 2rem var(--serif); }
.closing-section h2 { margin-top: -.15rem; }
.sources { margin-top: 4rem !important; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.sources h2 { font-size: 1.85rem; }
.sources ul { margin: 0 0 1.1rem; padding-left: 1.2rem; }
.sources li { margin: 0 0 .7rem; padding-left: .3rem; }
.sources li, .sources li a { font-size: .81rem; line-height: 1.55; }
.source-note { color: #64727a; font-size: .75rem; }
.site-footer { min-height: 168px; padding: 2rem clamp(1.25rem, 5vw, 5.5rem); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem 2rem; color: #e4e8e7; background: var(--night); border-top: 1px solid rgba(240, 238, 232, .18); }
.footer-wordmark { display: flex; align-items: center; gap: .8rem; color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: .16em; }
.footer-pip { background: var(--coral-light); box-shadow: none; }
.site-footer p { flex: 1 1 100%; order: 3; margin: -.35rem 0 0; color: #9eacb2; font-size: .78rem; }
.site-footer small { color: #b4c0c4; font-size: .76rem; }
body.has-motion [data-reveal]:not(.is-visible) { opacity: 0; transform: translateY(16px); }
body.has-motion [data-reveal] { transition: opacity 280ms ease, transform 280ms cubic-bezier(.2, .75, .2, 1); }
body.has-motion [data-reveal].is-visible { opacity: 1; transform: translateY(0); }
@media (max-width: 920px) {
  .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr); gap: 2rem; }
  .article-shell { grid-template-columns: minmax(150px, 190px) minmax(0, 1fr); gap: 2.3rem; }
  .side-index { position: static; }
  .article-figure { width: calc(100% + 2.5rem); margin-left: -1.25rem; }
  .figure-offset { width: calc(100% + 4rem); margin-left: -2rem; }
}
@media (max-width: 700px) {
  body { font-size: 15.5px; }
  .site-header { min-height: 70px; padding: .75rem 1rem; }
  .brand img { width: 38px; height: 38px; }
  .brand-copy strong { font-size: .68rem; letter-spacing: .11em; }
  .brand-copy small { font-size: .55rem; letter-spacing: .06em; }
  .header-note { max-width: 120px; font-size: .64rem; line-height: 1.4; }
  .status-dot { width: .4rem; height: .4rem; }
  .hero-grid { width: calc(100% - 2rem); min-height: 0; padding: 3.2rem 0 2rem; grid-template-columns: 1fr; gap: 2rem; }
  .hero-copy { padding: 0; }
  .kicker { margin-bottom: 1rem; font-size: .61rem; }
  h1 { max-width: 11ch; font-size: clamp(2.9rem, 12vw, 4.6rem); }
  .hero-lead { margin-top: 1.1rem; font-size: 1.05rem; }
  .hero-bottom { margin-top: 1.4rem; }
  .hero-image { min-height: 0; padding: 0 0 1.3rem 1.2rem; }
  .hero-image img { min-height: 0; height: auto; aspect-ratio: 1.25; }
  .image-stamp { right: -.15rem; bottom: 3.4rem; }
  .hero-caution { width: calc(100% - 2rem); padding: .9rem 0 1.05rem; align-items: start; }
  .hero-caution p { font-size: .71rem; }
  .chain-section { padding: 2.1rem 1rem 2rem; }
  .chain-heading { display: block; margin-bottom: 1.35rem; }
  .chain-heading h2 { margin-top: .35rem; }
  .care-chain { grid-template-columns: 1fr 1fr; gap: 1.15rem .75rem; }
  .care-chain::before { display: none; }
  .care-chain li { padding: 0; gap: .32rem; }
  .chain-node { background: var(--lime); }
  .care-chain strong { font-size: .77rem; }
  .care-chain small { font-size: .68rem; }
  .article-shell { width: calc(100% - 2rem); padding: 2.8rem 0 4.2rem; grid-template-columns: 1fr; gap: 0; }
  .side-index { margin-bottom: 2.4rem; display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
  .side-index > .micro-label, .side-note { grid-column: 1 / -1; }
  .side-index > .micro-label { margin-bottom: .1rem; }
  .number-card { padding: .75rem; }
  .number-card + .number-card { margin-top: 0; }
  .number-card > span { font-size: 2.2rem; }
  .number-card strong { font-size: .72rem; }
  .number-card a { font-size: .64rem; }
  .side-note { margin-top: .25rem; }
  .article-body .article-lead { font-size: 1.08rem; }
  .article-body section { margin-bottom: 2.8rem; }
  .article-body h2 { font-size: 2.1rem; }
  .article-figure, .figure-offset, .figure-screen { width: 100%; margin: .2rem 0 2.7rem; }
  .article-figure img, .figure-bleed img { aspect-ratio: 1.25; }
  .split-section { grid-template-columns: 1fr; gap: .5rem; }
  .inline-figure { max-width: 420px; }
  .inline-figure img { aspect-ratio: 1.25; }
  .casino-section { margin: 3rem 0 2.6rem !important; padding: 1.35rem 1.05rem; }
  .casino-heading { gap: .7rem; }
  .casino-mark { flex-basis: 2rem; width: 2rem; height: 2rem; }
  .casino-heading h2 { font-size: 1.9rem; }
  .closing-section { grid-template-columns: 2.3rem 1fr; gap: .7rem; }
  .closing-index { font-size: 1.55rem; }
  .site-footer { min-height: 155px; padding: 1.6rem 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
