:root {
  --ink: #17152b;
  --ink-soft: #2d2948;
  --paper: #f6f6fb;
  --white: #ffffff;
  --line: #d9d8e6;
  --muted: #66637a;
  --yellow: #ffd447;
  --blue: #8fdcff;
  --coral: #ff6b68;
  --green: #51d6a9;
  --violet: #7257ff;
  --shadow: 0 18px 48px rgba(23, 21, 43, .12);
  --radius: 22px;
  --content: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.68;
  text-rendering: optimizeLegibility;
}
body { transition: padding-bottom .35s ease; }
body.catfish-open { padding-bottom: 118px; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
:focus-visible { outline: 3px solid var(--yellow); outline-offset: 4px; }

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  transform: translateY(-180%);
  padding: .7rem 1rem;
  border-radius: 10px;
  background: var(--yellow);
  color: var(--ink);
  font-weight: 800;
}
.skip-link:focus { transform: translateY(0); }
.shell { width: min(var(--content), calc(100% - 40px)); margin-inline: auto; }

.site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .13);
  background: rgba(23, 21, 43, .96);
  backdrop-filter: blur(18px);
}
.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { flex: 0 0 auto; display: inline-flex; text-decoration: none; }
.brand img { width: 230px; height: auto; }
.nav-toggle {
  display: none;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 14px;
  background: transparent;
  color: var(--white);
  cursor: pointer;
}
.nav-toggle span, .nav-toggle::before, .nav-toggle::after {
  display: block;
  width: 20px;
  height: 2px;
  margin: 5px auto;
  background: currentColor;
  content: "";
}
.site-nav { display: flex; align-items: center; gap: 24px; }
.site-nav a { color: #ecebf7; font-size: .92rem; font-weight: 750; text-decoration: none; }
.site-nav a:hover { color: var(--yellow); }
.age-chip { padding: .32rem .62rem; border: 1px solid var(--coral); border-radius: 999px; color: #ffd5d4; font-size: .8rem; font-weight: 850; }

.hero {
  position: relative;
  overflow: hidden;
  padding: clamp(64px, 9vw, 118px) 0 70px;
  background:
    linear-gradient(rgba(143, 220, 255, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143, 220, 255, .08) 1px, transparent 1px),
    radial-gradient(circle at 78% 22%, rgba(114, 87, 255, .42), transparent 28%),
    var(--ink);
  background-size: 36px 36px, 36px 36px, auto, auto;
  color: var(--white);
}
.hero::after {
  position: absolute;
  right: -5vw;
  bottom: -240px;
  width: 520px;
  height: 520px;
  border: 78px solid rgba(255, 212, 71, .1);
  border-radius: 50%;
  content: "";
}
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, .55fr); gap: clamp(32px, 6vw, 72px); align-items: center; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 22px; color: var(--blue); font-size: .78rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow::before { width: 42px; height: 2px; background: var(--yellow); content: ""; }
h1, h2, h3 { margin: 0; line-height: 1.08; letter-spacing: -.035em; }
h1 { max-width: 820px; font-size: clamp(2rem, 2.45vw, 2.8rem); }
h1 .date-line { display: block; color: var(--yellow); }
.hero-copy { max-width: 790px; margin: 30px 0 0; color: #d9d7e9; font-size: clamp(1.05rem, 1.4vw, 1.23rem); }
.hero-copy strong { color: var(--white); }
.hero-copy + .hero-copy { margin-top: 20px; font-size: 1rem; color: #bcb9d0; }
.hero-cta { display: inline-flex; min-height: 50px; align-items: center; gap: 14px; margin-top: 24px; padding: .75rem 1.2rem; border-radius: 13px; background: var(--yellow); color: var(--ink); font-weight: 900; text-decoration: none; box-shadow: 0 10px 28px rgba(255,212,71,.16); transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.hero-cta:hover { transform: translateY(-2px); background: #ffe274; box-shadow: 0 14px 32px rgba(255,212,71,.22); }
.hero-cta span { font-size: 1.2rem; }
.hero-ledger { position: relative; padding: 22px; border: 1px solid rgba(255,255,255,.18); border-radius: 20px; background: rgba(10, 9, 29, .56); box-shadow: 0 22px 50px rgba(0,0,0,.2); }
.hero-ledger::before { position: absolute; top: -1px; left: 28px; width: 86px; height: 5px; border-radius: 0 0 5px 5px; background: linear-gradient(90deg, var(--yellow), var(--coral)); content: ""; }
.ledger-kicker { color: var(--yellow); font-size: .76rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.ledger-title { margin-top: 9px; font-size: 1.28rem; font-weight: 850; line-height: 1.15; letter-spacing: -.02em; }
.hero-ledger dl { margin: 16px 0 0; }
.hero-ledger dl > div { display: grid; grid-template-columns: 58px 1fr; gap: 12px; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.12); }
.hero-ledger dt { color: var(--blue); font-size: 1.12rem; font-weight: 900; }
.hero-ledger dd { margin: 0; color: #d7d4e6; font-size: .88rem; line-height: 1.45; }

.ranking-section { padding: 78px 0 96px; }
.section-heading { display: block; width: 100%; margin-bottom: 30px; }
h2 { font-size: clamp(1.8rem, 2.7vw, 2.85rem); }
.section-intro { width: 100%; margin: 18px 0 0; color: var(--muted); font-size: 1.05rem; }
.section-intro strong { color: var(--ink); }
.disclosure-bar { display: grid; grid-template-columns: auto 1fr; gap: 18px; margin: 30px 0; padding: 20px 22px; border: 1px solid #e1cc6d; border-radius: 16px; background: #fff9d9; }
.disclosure-icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: var(--yellow); font-weight: 950; }
.disclosure-bar p { margin: 0; font-size: .94rem; }

.casino-list { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; counter-reset: casino; }
.casino-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(230px, .9fr) minmax(320px, 1.8fr) minmax(180px, .7fr);
  min-height: 126px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--white);
  box-shadow: 0 8px 24px rgba(23,21,43,.045);
  counter-increment: casino;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.casino-card:hover { transform: translateY(-3px); border-color: #bdb9d1; box-shadow: var(--shadow); }
.casino-card::before { position: absolute; top: 0; left: 0; width: 7px; height: 100%; background: var(--accent, var(--yellow)); content: ""; }
.casino-zone { display: flex; min-width: 0; align-items: center; padding: 22px 24px; }
.casino-zone + .casino-zone { border-left: 1px solid var(--line); }
.brand-zone { gap: 16px; padding-left: 28px; }
.rank-badge { flex: 0 0 auto; color: var(--muted); font-size: .75rem; font-weight: 900; letter-spacing: .12em; }
.rank-badge::after { content: counter(casino, decimal-leading-zero); color: var(--ink); font-size: 1.55rem; letter-spacing: -.04em; }
.logo-panel { display: flex; width: 142px; height: 76px; align-items: center; justify-content: center; padding: 10px; border: 1px solid #dedce9; border-radius: 14px; background: #fff; box-shadow: inset 0 0 0 4px #f4f3f9; }
.logo-panel img { width: 120px; height: 54px; object-fit: contain; filter: drop-shadow(0 2px 3px rgba(23,21,43,.12)); }
.logo-panel img[src*="golden-panda"] { filter: contrast(1.8) saturate(1.7) brightness(.72) drop-shadow(0 2px 3px rgba(23,21,43,.16)); }
.access-zone { flex-direction: column; align-items: flex-start; justify-content: center; }
.zone-label { color: var(--muted); font-size: .75rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.access-value { margin-top: 7px; color: var(--ink); font-size: .98rem; font-weight: 820; line-height: 1.3; }
.access-detail { margin-top: 5px; color: var(--muted); font-size: .78rem; line-height: 1.35; }
.offer-zone { flex-direction: column; align-items: flex-start; justify-content: center; }
.offer-zone h3 { margin: 0; font-size: 1.14rem; letter-spacing: -.01em; }
.offer { margin-top: 7px; color: var(--ink-soft); font-size: .98rem; font-weight: 760; line-height: 1.45; }
.cta-zone { flex-direction: column; justify-content: center; }
.cta {
  display: inline-flex;
  min-height: 52px;
  width: 100%;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: var(--ink);
  color: var(--white);
  font-weight: 880;
  text-decoration: none;
  box-shadow: 0 9px 0 var(--accent, var(--yellow));
  transition: transform .16s ease, box-shadow .16s ease;
}
.cta:hover { transform: translateY(3px); box-shadow: 0 6px 0 var(--accent, var(--yellow)); }
.cta-note { margin-top: 14px; color: var(--muted); font-size: .75rem; line-height: 1.35; text-align: center; }

.section-block { padding: 96px 0; }
.section-block:nth-of-type(even) { background: var(--white); }
.section-block:nth-of-type(odd) { background: var(--paper); }
.section-header { display: block; width: 100%; margin-bottom: 48px; }
.section-header p, .copy p, .after-table, .after-list { margin: 0; color: var(--ink-soft); font-size: 1.03rem; }
.section-header > p { width: 100%; margin: 22px 0 0; }
.section-header p strong, .copy p strong, .after-table strong, .after-list strong { color: var(--ink); }
.subsection { margin-top: 64px; }
.subsection:first-of-type { margin-top: 0; }
.subsection h3 { margin-bottom: 22px; font-size: clamp(1.5rem, 2.15vw, 2.2rem); }
.copy { display: grid; gap: 22px; width: 100%; }
.callout {
  position: relative;
  margin: 30px 0;
  padding: 28px 30px 28px 34px;
  overflow: hidden;
  border: 1px solid #cfcbe2;
  border-radius: 20px;
  background: linear-gradient(135deg, #fff 0%, #f2efff 100%);
  box-shadow: 0 16px 38px rgba(54, 41, 121, .08);
}
.callout::before { position: absolute; inset: 0 auto 0 0; width: 7px; background: linear-gradient(var(--violet), var(--blue)); content: ""; }
.callout.warning { border-color: #f1c0bf; background: linear-gradient(135deg, #fff 0%, #fff0ef 100%); }
.callout.warning::before { background: linear-gradient(var(--coral), var(--yellow)); }
.callout-label { display: block; margin-bottom: 8px; color: var(--violet); font-size: .75rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.callout.warning .callout-label { color: #aa3532; }
.callout p { margin: 0; font-size: 1.05rem; }

.table-wrap { width: 100%; margin: 34px 0 22px; overflow-x: auto; border-radius: 20px; background: var(--white); box-shadow: var(--shadow); }
.data-table { width: 100%; min-width: 760px; border-collapse: collapse; text-align: left; }
.data-table caption { padding: 18px 22px; color: var(--ink); font-size: .88rem; font-weight: 850; letter-spacing: .03em; text-align: left; }
.data-table thead th { padding: 16px 20px; font-size: .75rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.data-table tbody th, .data-table tbody td { padding: 17px 20px; font-weight: 400; vertical-align: top; }
.data-table tbody tr:last-child > * { border-bottom: 0; }

.table-matrix { border: 1px solid #c9c4ea; background: #f7f5ff; }
.table-matrix caption { background: var(--ink); color: var(--white); }
.table-matrix thead th { background: var(--violet); color: var(--white); }
.table-matrix tbody tr > * { border-bottom: 1px solid #dcd8ef; }
.table-matrix tbody tr:nth-child(even) { background: #fff; }

.table-timeline { border: 1px solid #b9dbe9; background: #effaff; }
.table-timeline caption { border-bottom: 1px dashed #8dc8df; background: #dff5ff; }
.table-timeline thead th { background: #bcecff; color: #132634; }
.table-timeline tbody tr > * { border-bottom: 1px dashed #9fcfe1; }
.table-timeline tbody tr > *:first-child { border-left: 7px solid var(--blue); }

.table-signals { border: 1px solid #e1cd75; background: #fffcdf; }
.table-signals caption { background: var(--yellow); }
.table-signals thead th { border-bottom: 2px solid var(--ink); }
.table-signals tbody tr > * { border-bottom: 1px solid #e6d992; }
.table-signals tbody tr:hover { background: #fff6b8; }

.table-payments { border: 1px solid #b9e2d3; background: #f0fff9; }
.table-payments, .table-clauses { min-width: 1040px; }
.table-payments caption { border-bottom: 1px solid #a8d8c6; color: #0b6548; }
.table-payments thead th { background: #c9f7e7; color: #164c3c; }
.table-payments tbody tr > * { border-bottom: 1px solid #bfe6d7; }
.table-payments tbody td:nth-child(2) { background: rgba(81, 214, 169, .08); }

.table-clauses { border: 1px solid #efbfc0; background: #fff7f7; }
.table-clauses caption { background: #ffe0df; color: #7b2725; }
.table-clauses thead th { background: var(--coral); color: #2d1010; }
.table-clauses tbody tr > * { border-bottom: 1px solid #f0cccc; }
.table-clauses tbody tr:nth-child(odd) > *:first-child { background: #fff0ef; }

.table-controls { border: 1px solid #c5bcec; background: #f8f6ff; }
.table-controls caption { border-bottom: 4px double #8e80cf; }
.table-controls thead th { background: #2d2948; color: var(--white); }
.table-controls tbody tr > * { border-bottom: 1px dotted #aea4d7; }
.table-controls tbody tr > *:last-child { border-left: 3px solid #dcd5ff; }

.after-table, .after-list { margin-top: 20px; }
.feature-list, .signal-list, .checklist, .clause-list, .control-list, .steps-list { margin: 30px 0 0; padding: 0; list-style: none; }
.feature-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.feature-list li { min-height: 160px; padding: 22px; border: 1px solid #d8d4ec; border-radius: 18px; background: var(--white); }
.feature-list li::before { display: block; width: 36px; height: 5px; margin-bottom: 20px; border-radius: 9px; background: var(--accent, var(--violet)); content: ""; }
.feature-list strong, .signal-list strong, .checklist strong, .clause-list strong, .control-list strong, .steps-list strong { display: block; margin-bottom: 7px; color: var(--ink); }
.feature-list span, .signal-list span, .checklist span, .clause-list span, .control-list span, .steps-list span { color: var(--muted); }

.signal-list { display: grid; gap: 10px; counter-reset: signal; }
.signal-list li { display: grid; grid-template-columns: 60px 1fr; gap: 18px; padding: 20px 22px; border-radius: 15px; background: var(--ink); color: var(--white); counter-increment: signal; }
.signal-list li::before { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: var(--yellow); content: "0" counter(signal); font-weight: 900; }
.signal-list strong { color: var(--white); }
.signal-list span { color: #c8c5d8; }

.checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.checklist li { position: relative; padding: 20px 20px 20px 58px; border: 1px solid #bfe6d8; border-radius: 15px; background: #f0fff9; }
.checklist li::before { position: absolute; top: 20px; left: 20px; display: grid; width: 26px; height: 26px; place-items: center; border-radius: 8px; background: var(--green); color: #10382c; content: "✓"; font-weight: 950; }

.clause-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.clause-list li { padding: 22px; border-top: 5px solid var(--coral); border-radius: 8px 8px 18px 18px; background: #fff0ef; }
.control-list { display: grid; gap: 12px; }
.control-list li { display: grid; grid-template-columns: 14px 1fr; gap: 18px; padding: 19px 22px; border: 1px solid #d8d4ea; border-radius: 999px; background: var(--white); }
.control-list li::before { width: 14px; height: 14px; margin-top: 6px; border: 4px solid var(--violet); border-radius: 50%; content: ""; }
.steps-list { display: grid; gap: 0; counter-reset: steps; }
.steps-list li { position: relative; display: grid; grid-template-columns: 64px 1fr; gap: 18px; padding: 0 0 30px; counter-increment: steps; }
.steps-list li::before { position: relative; z-index: 1; display: grid; width: 52px; height: 52px; place-items: center; border-radius: 16px; background: var(--yellow); content: counter(steps, decimal-leading-zero); font-weight: 950; }
.steps-list li::after { position: absolute; top: 52px; bottom: 0; left: 25px; width: 2px; background: #d6d2e5; content: ""; }
.steps-list li:last-child::after { display: none; }

.faq-list { display: grid; gap: 12px; margin-top: 34px; }
.faq-item { border: 1px solid #d4d0e4; border-radius: 18px; background: var(--white); box-shadow: 0 6px 22px rgba(23,21,43,.04); }
.faq-item h3 { margin: 0; }
.faq-question { display: grid; grid-template-columns: 1fr 34px; width: 100%; gap: 18px; padding: 22px 24px; border: 0; background: transparent; color: var(--ink); font-weight: 850; text-align: left; cursor: pointer; }
.faq-question::after { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: var(--paper); content: "+"; font-size: 1.35rem; }
.faq-question[aria-expanded="true"]::after { content: "−"; }
.faq-answer { padding: 0 24px 24px; }
.faq-answer p { margin: 0; color: var(--muted); }
.faq-answer[hidden] { display: none; }

.site-footer { padding: 58px 0 28px; background: #0f0d20; color: #d4d1e2; }
.footer-grid { display: grid; grid-template-columns: minmax(230px, 1.2fr) minmax(160px, .55fr) minmax(280px, 1fr); gap: 42px; }
.footer-brand img { width: 230px; height: auto; margin-bottom: 20px; }
.footer-note { margin: 0; color: #aaa6be; font-size: .92rem; }
.footer-label { display: block; margin-bottom: 16px; color: var(--yellow); font-size: .76rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.footer-nav { display: grid; gap: 10px; }
.footer-nav a { color: #e9e7f2; text-decoration: none; }
.footer-nav a:hover { color: var(--yellow); }
.support-logos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.support-logos a { display: flex; min-height: 66px; align-items: center; justify-content: center; padding: 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; background: #41405d; box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.support-logos img { width: 100%; height: 42px; object-fit: contain; filter: drop-shadow(0 1px 1px rgba(255,255,255,.5)) drop-shadow(0 2px 3px rgba(0,0,0,.28)); }
.footer-assurance { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 34px; }
.footer-assurance div { padding: 18px 20px; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: rgba(255,255,255,.045); }
.footer-assurance strong { display: block; margin-bottom: 6px; color: var(--white); font-size: .92rem; }
.footer-assurance span { display: block; color: #aaa6be; font-size: .84rem; line-height: 1.55; }
.footer-bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: 42px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.11); color: #918da4; font-size: .82rem; }

.catfish {
  position: fixed;
  z-index: 200;
  right: 22px;
  bottom: 20px;
  left: 22px;
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 20px;
  width: min(940px, calc(100% - 44px));
  margin-inline: auto;
  align-items: center;
  padding: 12px 14px 12px 12px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 22px;
  background: radial-gradient(circle at 14% 0, rgba(114,87,255,.34), transparent 30%), linear-gradient(104deg, #151229 0%, #201a42 55%, #151229 100%);
  color: var(--white);
  box-shadow: 0 26px 76px rgba(9, 8, 22, .4), inset 0 1px 0 rgba(255,255,255,.08);
  opacity: 0;
  transform: translateY(36px) scale(.97);
  transform-origin: center bottom;
  pointer-events: none;
}
.catfish[hidden] { display: none; }
.catfish::before { position: absolute; inset: 0 auto 0 0; width: 7px; background: linear-gradient(var(--yellow), var(--coral)); content: ""; }
.catfish::after { position: absolute; right: 134px; bottom: -54px; width: 130px; height: 130px; border: 18px solid rgba(143,220,255,.08); border-radius: 50%; content: ""; pointer-events: none; }
.catfish.is-visible { animation: catfish-in .58s cubic-bezier(.18,.89,.24,1.18) forwards; pointer-events: auto; }
.catfish.is-closing { animation: catfish-out .36s cubic-bezier(.55,.06,.68,.19) forwards; pointer-events: none; }
.catfish-mark { display: grid; width: 66px; height: 66px; place-items: center; border-radius: 18px; background: linear-gradient(145deg, #ffe477, var(--yellow)); color: var(--ink); font-size: 1.18rem; font-weight: 950; line-height: 1; box-shadow: 0 10px 28px rgba(255,212,71,.18); }
.catfish-mark span { display: block; margin-bottom: -16px; font-size: .8rem; }
.catfish-copy { min-width: 0; }
.catfish-copy .catfish-kicker { display: block; margin-bottom: 3px; color: var(--blue); font-size: .68rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.catfish-copy strong { display: block; font-size: 1.05rem; line-height: 1.25; }
.catfish-copy strong em { color: var(--yellow); font-style: normal; }
.catfish-copy .catfish-terms { display: block; margin-top: 3px; color: #aaa6be; font-size: .72rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.catfish-cta { position: relative; z-index: 1; display: inline-flex; min-height: 48px; align-items: center; gap: 12px; padding: .74rem 1.08rem; border-radius: 13px; background: var(--yellow); color: var(--ink); font-weight: 900; text-decoration: none; white-space: nowrap; box-shadow: 0 8px 22px rgba(255,212,71,.16); transition: transform .18s ease, background .18s ease; }
.catfish-cta:hover { transform: translateY(-2px); background: #ffe274; }
.catfish-cta span:last-child { font-size: 1.2rem; }
.catfish-close { position: relative; z-index: 1; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; background: rgba(255,255,255,.08); color: var(--white); cursor: pointer; transition: transform .18s ease, background .18s ease; }
.catfish-close:hover { transform: rotate(8deg); background: rgba(255,255,255,.15); }

@keyframes catfish-in {
  0% { opacity: 0; transform: translateY(38px) scale(.96); }
  72% { opacity: 1; transform: translateY(-4px) scale(1.006); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes catfish-out {
  0% { opacity: 1; transform: translateY(0) scale(1); }
  100% { opacity: 0; transform: translateY(34px) scale(.96); }
}

@media (max-width: 980px) {
  .nav-toggle { display: block; }
  .site-nav { position: absolute; top: calc(100% + 1px); right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 12px 20px 20px; background: var(--ink); }
  .site-nav.is-open { display: flex; }
  .site-nav a { padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
  .age-chip { align-self: flex-start; margin-top: 12px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-ledger { max-width: 680px; }
  .casino-card { grid-template-columns: minmax(220px, .9fr) minmax(280px, 1.5fr); }
  .casino-zone + .casino-zone { border-left: 0; }
  .offer-zone { border-left: 1px solid var(--line) !important; }
  .cta-zone { grid-column: 1 / -1; border-top: 1px solid var(--line); }
  .feature-list, .clause-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-support { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .shell { width: min(100% - 28px, var(--content)); }
  .header-inner { min-height: 68px; }
  .brand img { width: 190px; }
  .hero { padding-top: 54px; }
  h1 { font-size: clamp(1.9rem, 8vw, 2.55rem); }
  .hero-ledger { padding: 22px; }
  .ranking-section { padding-top: 58px; }
  .casino-card { grid-template-columns: 1fr; }
  .casino-zone { padding: 20px; }
  .brand-zone, .offer-zone { border-bottom: 1px solid var(--line); }
  .offer-zone, .cta-zone { border-left: 0 !important; }
  .cta-zone { grid-column: auto; border-top: 0; }
  .logo-panel { width: 150px; }
  .cta-zone { padding-bottom: 28px; }
  .disclosure-bar { grid-template-columns: 1fr; }
  body.catfish-open { padding-bottom: 106px; }
  .catfish { grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; right: 8px; bottom: 8px; left: 8px; width: calc(100% - 16px); padding: 10px; border-radius: 17px; }
  .catfish-mark { display: none; }
  .catfish-copy strong { max-width: 145px; font-size: .83rem; }
  .catfish-copy .catfish-kicker { font-size: .58rem; }
  .catfish-copy .catfish-terms { max-width: 130px; }
  .catfish-cta { padding: .62rem .72rem; font-size: .78rem; text-align: center; }
  .catfish-cta span:last-child { display: none; }
  .catfish-close { width: 36px; height: 36px; }
  .section-block { padding: 72px 0; }
  .subsection { margin-top: 52px; }
  .feature-list, .checklist, .clause-list { grid-template-columns: 1fr; }
  .signal-list li { grid-template-columns: 52px 1fr; padding: 18px; }
  .control-list li { border-radius: 18px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-support { grid-column: auto; }
  .footer-assurance { grid-template-columns: 1fr; }
  .support-logos { grid-template-columns: repeat(2, 1fr); }
  .footer-bottom { flex-direction: column; }
}

@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; }
}
