/* Fourth focused revision: discovery, reading rhythm and reusable casino results. */
.home-page .discovery-hero { grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr); gap:54px; align-items:center; padding-block:26px; }
.home-page .discovery-hero h1 { font-size:clamp(42px,4vw,58px); line-height:1.03; letter-spacing:-1px; margin:0; max-width:690px; }
.home-page .discovery-hero .hero-text { margin-top:12px; max-width:650px; line-height:1.6; }
.home-page .discovery-hero .hero-search { margin-top:14px; }
.explore-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; min-height:44px; padding:9px 16px; margin-top:10px; border:1px solid var(--cta); color:var(--cta); font-weight:750; font-size:15px; }
.explore-cta:hover { background:var(--cta); color:#fff; }
/* One compact comparison component, including its accessible inactive CTA. */
.bonus-card .profile-bonus { margin:0; }
.bonus-card .profile-bonus>p:last-child { margin:4px 0 0; }
/* Horizontal identity files keep the hub focused on choosing an individual casino. */
.hub-page .directory-hero { display:grid; grid-template-columns:1fr 1.1fr; gap:40px; align-items:center; padding:20px 24px; background:var(--paper-deep); border-left:4px solid var(--red); }
.hub-page .directory-hero h1 { font-size:42px; line-height:1.05; margin:8px 0; }
.hub-page .directory-hero .casino-finder { margin:0; max-width:none; }
.hub-browse-cue { display:flex; justify-content:space-between; min-height:44px; align-items:center; color:var(--cta); font-weight:750; font-size:15px; }
.hub-page .hub-directory { border-top:0; margin-top:10px; }
.hub-box-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.directory-box { display:grid; grid-template-columns:130px minmax(0,1fr); gap:18px; padding:18px; align-items:center; border:0; background:var(--paper-deep); }
.hub-card-image { display:flex; align-items:center; min-width:0; background:#fff; align-self:stretch; padding:8px; }
.directory-box .profile-logo-area { height:95px; border:0; }
.directory-box .profile-logo-area img { height:80px; width:100%; }
.hub-card-content { min-width:0; }
.directory-box h3 { font:750 23px/1.2 var(--sans); margin:0 0 3px; min-height:0; }
main .hub-card-label { font-size:14px!important; line-height:1.4; color:var(--muted); margin:0 0 9px; }
.directory-box-facts { display:flex; flex-wrap:wrap; gap:8px 20px; margin:0; }
.directory-box-facts>div { display:block; padding:0; border:0; }
.directory-box-facts dt { font-size:12px; }
.directory-box-facts dd { margin:2px 0 0; font-size:14px; }
.directory-box-action { width:max-content; max-width:100%; justify-content:space-between; gap:15px; margin-top:8px; padding:6px 0; border:0; background:transparent; color:var(--cta); font-size:15px; min-height:44px; }
.directory-box-action:hover { background:none; color:var(--cta-hover); text-decoration:underline; }
/* Casino identity and a coloured file panel replace the form-like overview. */
.casino-page h1 { font-size:48px; margin:8px 0 14px; }
.casino-page h1>span { border:0; }
.profile-connections { padding-block:24px; }
.profile-connections>.directory-section-heading h2 { font-size:34px; }
.profile-answer { margin-top:10px; border:0; border-left:3px solid var(--red); }
.relationship-empty { border:0; background:var(--paper-deep); }
.relationship-empty>span { color:var(--cta); }
/* Dark editorial signature; all author facts remain explicit placeholders. */
.author-box { border:0; background:var(--ink); color:#fffdfa; gap:24px; padding:22px; border-left:4px solid var(--red); }
.author-identity { width:95px; flex-shrink:0; }
main .author-tab { font-size:11px!important; line-height:1.4; color:#ffb49a; font-weight:750; letter-spacing:.7px; margin-bottom:10px; }
.author-avatar { border:1px dashed #aab6c8; background:#263d5b; width:64px; height:64px; border-radius:0; }
.author-avatar span { color:#fffdfa; }
.author-copy { align-self:center; }
.author-box h2 { color:#fffdfa; font:700 27px/1.2 var(--condensed); }
main .author-box .author-label { color:#ffb49a; font-size:11px!important; letter-spacing:.8px; font-weight:750; }
main .author-box .author-role,main .author-box .author-meta { color:#e1d8cb; }
main .author-box .author-bio { color:#fffdfa; }
/* A fully visible sticky contents list, bounded by the article's grid track. */
.reading-layout { grid-template-columns:230px minmax(0,1fr); gap:46px; align-items:start; }
.reading-column { min-width:0; }
.reading-toc { top:95px; position:sticky; }
.reading-toc summary { border:0; padding:8px 0; }
.reading-toc details>div { max-height:none; overflow:visible; }
.reading-toc a { min-height:0; border:0; border-left:2px solid transparent; padding:8px 10px; font-size:14px; line-height:1.4; }
.reading-toc a[aria-current=location] { border-left-color:var(--red); color:var(--cta); background:var(--paper-deep); font-weight:700; }
.reading-toc a:hover { background:var(--paper-deep); }
.reading-body { max-width:none; }
.reading-intro { max-width:74ch; }
.reading-body>.reading-section { padding:28px 0 0; margin:30px 0 0; border:0; scroll-margin-top:100px; }
.reading-section>header { margin-bottom:20px; }
.reading-body h3 { max-width:760px; font-size:34px; line-height:1.2; }
.reading-body h4 { margin:0 0 12px; font-size:22px; line-height:1.35; }
.reading-body p,.reading-body li { font-size:16px; line-height:1.8; }
.reading-group { max-width:74ch; }
.reading-subsection { margin-top:28px; }
.reading-section:nth-of-type(3n+2) { background:var(--paper-deep); padding:28px; }
.reading-section:nth-of-type(3n) .reading-subsection { padding-left:20px; background:linear-gradient(90deg,#f7f4ee 0 3px,transparent 3px); }
.editorial-visual { margin:0 0 24px; background:var(--paper-deep); padding:22px; }
.reading-section:nth-of-type(3n+2) .editorial-visual { background:#fff; }
.editorial-visual figcaption { color:var(--red-ink); font-size:11px; font-weight:750; letter-spacing:.7px; margin-bottom:16px; }
main .visual-caption { font-size:14px!important; line-height:1.6; margin-top:14px; }
.visual-safer { background:var(--ink)!important; color:#fffdfa; }
.visual-safer figcaption { color:#ffb49a; }
.article-references { margin-top:30px; background:var(--paper-deep); padding:18px; }
.article-references summary { font-size:15px; font-weight:700; cursor:pointer; min-height:32px; }
.article-references p,.article-references li { font-size:14px!important; line-height:1.6; }
.article-references ul { padding-left:20px; }
.article-references a { text-decoration:underline; text-underline-offset:3px; color:var(--cta); overflow-wrap:anywhere; }
@media(max-width:1100px) {
  .home-page .discovery-hero { gap:30px; grid-template-columns:1.2fr 1fr; }
  .home-page .discovery-hero h1 { font-size:44px; }
  .hub-page .directory-hero { gap:24px; }
  .directory-box { grid-template-columns:100px minmax(0,1fr); gap:14px; padding:14px; }
  .directory-box h3 { font-size:21px; }
  .reading-layout { grid-template-columns:205px minmax(0,1fr); gap:30px; }
  .reading-toc a { font-size:13px; padding-block:7px; }
}
@media(max-width:959px) {
  .home-page .discovery-hero { gap:20px; }
  .home-page .discovery-hero h1 { font-size:39px; }
  .hub-page .directory-hero h1 { font-size:36px; }
  .directory-box { grid-template-columns:80px minmax(0,1fr); gap:12px; padding:12px; }
  .directory-box h3 { font-size:19px; }
  .directory-box .profile-logo-area { height:75px; }
  .directory-box .profile-logo-area img { height:65px; }
  .casino-page h1 { font-size:39px; }
  .reading-layout { display:block; }
  .reading-toc { position:static; margin-bottom:24px; background:var(--paper-deep); padding:10px 14px; }
  .reading-toc details>div { max-height:none; overflow:visible; }
  .reading-toc a { font-size:15px; padding-block:9px; min-height:44px; }
}
@media(max-width:719px) {
  .home-page .discovery-hero { display:block; padding-block:18px; }
  .home-page .discovery-hero h1 { font-size:36px; max-width:500px; }
  .home-page .discovery-hero .hero-text { margin-top:10px; font-size:15px; line-height:1.5; }
  .home-page .discovery-hero .hero-search { margin-top:12px; }
  .explore-cta { display:flex; width:100%; margin-top:8px; }
  .casino-grid .casino-card.bonus-card { padding:6px; }
  .bonus-card .bonus-file { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .bonus-profile { margin:0; }
  .bonus-logo { height:34px; border:0; }
  .bonus-logo img { height:32px; }
  .bonus-profile h3 { font-size:15px; line-height:1.2; min-height:2.4em; margin:5px 0 3px; }
  .bonus-rating,.bonus-rating strong { font-size:14px; line-height:1.3; }
  .bonus-offer { padding:3px 4px; margin:4px 0; border-left-width:1px; }
  .bonus-offer>span { font-size:11px; line-height:1.3; }
  .bonus-offer>strong { margin-top:0; font-size:14px; line-height:1.3; }
  .bonus-facts { display:grid; grid-template-columns:1fr 1fr; gap:4px 6px; margin-top:3px; }
  .bonus-facts>div { padding:0; border:0; display:block; }
  .bonus-facts dt { font-size:11px; line-height:1.3; }
  .bonus-facts dd { font-size:14px; line-height:1.35; }
  .bonus-facts>div:last-child { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); padding-top:3px; }
  .bonus-payments { margin:5px 0; }
  .bonus-payments>span { font-size:11px; line-height:1.3; }
  .bonus-payments img { width:29px; height:18px; }
  .bonus-payments>div { gap:4px; margin-top:2px; }
  .bonus-card .profile-bonus>p:last-child { margin-top:3px; font-size:10px!important; }
  .bonus-card .bonus-button { font-size:15px; padding:7px 4px; min-height:44px; }
  .hub-page .directory-hero { display:block; padding:16px; }
  .hub-page .directory-hero h1 { font-size:34px; }
  .hub-finder-panel { margin-top:14px; }
  .hub-box-grid { grid-template-columns:1fr; gap:12px; }
  .directory-box { grid-template-columns:85px minmax(0,1fr); gap:14px; padding:12px; }
  .directory-box h3 { font-size:20px; }
  .directory-box-action { font-size:15px; }
  .casino-page h1 { font-size:34px; margin:8px 0; }
  .profile-connections>.directory-section-heading h2 { font-size:30px; }
  .author-box { gap:14px; padding:16px; }
  .author-identity { width:62px; }
  .author-avatar { width:52px; height:60px; }
  .author-box h2 { font-size:24px; }
  main .author-tab { font-size:10px!important; }
  .reading-body>.reading-section { padding-top:20px; margin-top:22px; }
  .reading-section:nth-of-type(3n+2) { padding:20px 14px; }
  .reading-body h3 { font-size:29px; }
  .reading-body h4 { font-size:21px; }
  .reading-section:nth-of-type(3n) .reading-subsection { padding-left:12px; }
  .editorial-visual { padding:16px 12px; }
}
@media(max-width:339px) {
  .bonus-profile h3 { min-height:0; }
  .directory-box { grid-template-columns:65px minmax(0,1fr); gap:10px; }
  .home-page .discovery-hero h1 { font-size:33px; }
}
/* Override the older global paragraph rule on dark editorial surfaces. */
main .author-box .author-tab { color:#ffb49a!important; }
/* The shared document already supplies 90px of scroll padding for its header. */
.reading-body>.reading-section { scroll-margin-top:16px; }
