:root {
  --bmg-accent: #1769e0;
  --ink: #101725;
  --muted: #667085;
  --line: #e6e9ee;
  --surface: #f6f8fb;
  --white: #fff;
  --radius: 0px;
  --container: 1360px;
  --narrow: 820px;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif: Georgia, "Times New Roman", serif;
}
* { box-sizing: border-box; }
html { font-size: 16px; scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: #fff; font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; }
button, input { font: inherit; }
.site-container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.site-container-narrow { width: min(calc(100% - 48px), var(--narrow)); margin-inline: auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.site-header { border-bottom: 1px solid var(--line); background: rgba(255,255,255,.97); position: relative; z-index: 20; }
.header-inner { min-height: 86px; display: grid; grid-template-columns: 170px minmax(150px, 1fr) auto auto; align-items: center; gap: 24px; }
.brand-logo { width: 154px; max-height: 58px; object-fit: contain; object-position: left center; }
.header-tagline { margin: 0; max-width: 170px; color: #8b94a4; font-family: var(--serif); font-size: .88rem; line-height: 1.28; }
.main-nav { display: flex; gap: 24px; align-items: center; white-space: nowrap; }
.main-nav a { font-size: .84rem; font-weight: 700; }
.main-nav a:hover { color: var(--bmg-accent); }
.search-button { height: 42px; min-width: 122px; border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 0 16px; display:flex; align-items:center; gap:8px; cursor:pointer; color:#465064; }
.search-button svg { width:18px; fill:none; stroke:currentColor; stroke-width:2; }
.menu-button { display:none; border:0; background:none; width:42px; height:42px; padding:10px; cursor:pointer; }
.menu-button span { display:block; height:2px; background:var(--ink); margin:5px 0; }
.mobile-nav { display:none; padding-block: 0 18px; }
.mobile-nav a { display:block; padding:10px 0; font-weight:700; border-top:1px solid var(--line); }

.home-section { padding: 28px 0; }
.hero-section { padding-top: 28px; padding-bottom: 30px; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(360px,.88fr); gap:24px; align-items:stretch; }
.hero-story { position:relative; overflow:hidden; min-height:100%; height:100%; aspect-ratio:auto; background:#0b1220; }
.hero-media, .hero-media img, .hero-overlay { position:absolute; inset:0; width:100%; height:100%; }
.hero-media img { object-fit:cover; }
.hero-overlay { background: linear-gradient(180deg, rgba(8,14,24,.03) 14%, rgba(8,14,24,.22) 42%, rgba(8,14,24,.72) 74%, rgba(8,14,24,.92) 100%); }
.hero-copy { position:absolute; z-index:2; left:34px; right:34px; bottom:24px; max-width:590px; color:#fff; }
.eyebrow { display:inline-block; color: var(--bmg-accent); font-size:.7rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.hero-copy .eyebrow { color:#d9e8ff; }
.hero-copy h1 { font-family:var(--serif); font-size:clamp(2.1rem, 2.85vw, 3.2rem); line-height:1.02; letter-spacing:-.034em; margin:8px 0 10px; max-width:560px; }
.hero-copy p { font-family:var(--serif); font-size:.95rem; line-height:1.44; max-width:540px; margin:0 0 18px; color:#eef2f7; }
.button { display:inline-flex; align-items:center; gap:7px; border-radius:4px; padding:11px 16px; font-weight:800; font-size:.74rem; text-transform:uppercase; letter-spacing:.04em; }
.button-primary { background:var(--bmg-accent); color:#fff; }
.secondary-story { display:grid; grid-template-columns:170px minmax(0,1fr); gap:16px; align-items:stretch; min-height:0; height:100%; padding:0 0 14px; margin:0; border-bottom:1px solid var(--line); overflow:hidden; }
.secondary-story:last-child { border-bottom:0; margin-bottom:0; }
.secondary-media { overflow:hidden; border-radius:0; background:var(--surface); margin:0; min-height:0; height:100%; align-self:stretch; aspect-ratio:auto; }
.secondary-media img { width:100%; height:100%; object-fit:cover; display:block; }
.secondary-copy { min-width:0; align-self:start; }
.secondary-copy .eyebrow { display:block; margin:1px 0 6px; line-height:1; }
.secondary-copy h2 { font-family:var(--serif); font-size:1.14rem; line-height:1.08; margin:0 0 7px; letter-spacing:-.022em; }
.secondary-copy p { margin:0; color:var(--muted); font-size:.79rem; line-height:1.40; }

.section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:20px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.section-heading h2 { font-family:var(--serif); font-size:clamp(1.75rem, 2.4vw, 2.55rem); line-height:1; letter-spacing:-.035em; margin:0; }
.section-heading > a, .text-link { color:var(--bmg-accent); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

/* MYPM candidates are wrapped so JS can suppress homepage duplicates without
   changing the underlying Ghost taxonomy. */
.mypm-item { display: contents; }
.card-grid { display:grid; gap:20px; }
.four-up { grid-template-columns:repeat(4,minmax(0,1fr)); }
.three-up { grid-template-columns:repeat(3,minmax(0,1fr)); }
.card-media { display:block; aspect-ratio:16/9; overflow:hidden; border-radius:0; background:var(--surface); }
.card-media img { height:100%; object-fit:cover; transition:transform .25s ease; }
.landscape-card:hover .card-media img, .editorial-card:hover .card-media img { transform:scale(1.018); }
.card-body { padding-top:14px; }
.card-body h3 { font-family:var(--serif); font-size:1.2rem; line-height:1.18; margin:0 0 8px; letter-spacing:-.02em; }
.card-body p { color:var(--muted); font-size:.88rem; line-height:1.5; margin:0 0 14px; }
.card-meta { display:flex; gap:8px; color:#8992a0; font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.card-meta span + time:before { content:"·"; margin-right:8px; }

.deeper-dives-section { background:linear-gradient(#fff,#fbfcfe,#fff); }
.editorial-grid { gap:26px; }
.editorial-card { border:1px solid var(--line); border-radius:0; overflow:hidden; background:#fff; display:flex; flex-direction:column; }
.editorial-media { border-radius:0; aspect-ratio:16/9; }
.editorial-body { padding:20px 20px 20px; display:flex; flex-direction:column; flex:1; }
.editorial-body h3 { font-family:var(--serif); font-size:1.48rem; line-height:1.08; letter-spacing:-.03em; margin:0 0 10px; }
.editorial-body p { color:var(--muted); line-height:1.5; font-size:.86rem; margin:0 0 20px; }
.editorial-body .text-link { margin-top:auto; }

.bens-picks-section { padding-top:36px; padding-bottom:36px; }
.picks-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(320px,.85fr); gap:34px; padding:28px; border:1px solid var(--line); border-radius:0; background:#fff; }
.current-pick { display:grid; grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr); gap:30px; align-items:center; padding-right:34px; border-right:1px solid var(--line); }
.pick-poster { display:block; aspect-ratio:2/3; overflow:hidden; border-radius:0; background:var(--surface); }
.pick-poster img, .previous-poster img { height:100%; object-fit:cover; }
.pick-copy h3 { font-family:var(--serif); font-size:2.5rem; line-height:1.04; letter-spacing:-.04em; margin:8px 0 14px; }
.pick-copy p { font-family:var(--serif); color:#364152; font-size:1rem; line-height:1.65; margin:0 0 22px; }
.previous-picks { display:flex; flex-direction:column; }
.previous-pick { display:grid; grid-template-columns:86px 1fr; gap:16px; padding:0 0 18px; margin-bottom:18px; border-bottom:1px solid var(--line); }
.previous-pick:last-child { border-bottom:0; margin-bottom:0; padding-bottom:0; }
.previous-poster { aspect-ratio:2/3; overflow:hidden; border-radius:0; background:var(--surface); }
.previous-pick h3 { font-family:var(--serif); font-size:1.18rem; line-height:1.15; margin:5px 0 7px; }
.previous-pick p { color:var(--muted); font-size:.8rem; line-height:1.4; margin:0; }
.currentish-section { padding-top:36px; border-top:1px solid #f0f2f5; }

.image-placeholder { display:block; width:100%; height:100%; background:linear-gradient(135deg,#edf1f6,#dfe6ef); }
.image-placeholder.portrait { aspect-ratio:2/3; }
.setup-note { padding:22px; border:1px dashed #b8c2cf; border-radius:8px; color:#566174; background:#fafbfc; line-height:1.5; }
.setup-note code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; background:#eef2f6; padding:2px 5px; border-radius:4px; }
.full-span { grid-column:1/-1; }

.archive-page { padding:64px 0 96px; }
.archive-inner { max-width:1180px; }
.archive-header { max-width:760px; margin-bottom:42px; }
.archive-header h1 { font-family:var(--serif); font-size:clamp(2.6rem,5vw,4.7rem); line-height:1; margin:8px 0 16px; letter-spacing:-.045em; }
.archive-header p { color:var(--muted); font-family:var(--serif); font-size:1.15rem; line-height:1.6; }
.archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 24px; }
.pagination-wrap { margin-top:50px; }
.pagination { display:flex; justify-content:space-between; color:var(--bmg-accent); font-weight:700; }

.post-page { padding:72px 0 0; }
.post-header { text-align:center; }
.post-header h1 { font-family:var(--serif); font-size:clamp(2.6rem,5.2vw,5.2rem); line-height:.98; letter-spacing:-.05em; margin:10px 0 18px; }
.post-deck { font-family:var(--serif); color:#465064; font-size:1.25rem; line-height:1.6; margin:0 auto 16px; }
.post-meta { display:flex; justify-content:center; gap:8px; color:#8a94a3; font-size:.8rem; margin-top:16px; }
.post-feature { margin-top:42px; }
.post-feature img { max-height:760px; object-fit:cover; border-radius:0; }
.post-feature figcaption { color:#8a94a3; font-size:.75rem; margin-top:8px; text-align:center; }
.gh-content { font-family:var(--serif); font-size:1.16rem; line-height:1.78; padding-top:42px; }
.gh-content h2,.gh-content h3 { color:var(--ink); line-height:1.15; letter-spacing:-.025em; margin-top:2em; }
.gh-content h2 { font-size:2rem; }
.gh-content h3 { font-size:1.5rem; }
.gh-content a { color:var(--bmg-accent); text-decoration:underline; text-underline-offset:3px; }
.gh-content img { width:auto; max-width:100%; margin-inline:auto; }
.gh-content figure { margin:2.2em 0; }
.gh-content blockquote { border-left:3px solid var(--bmg-accent); margin:2em 0; padding-left:1.2em; color:#465064; }
.post-footer { padding:34px 0 56px; }
.post-tags a { display:inline-block; border:1px solid var(--line); border-radius:999px; padding:6px 10px; margin:4px; font-family:var(--sans); font-size:.72rem; color:#667085; }
.related-section { border-top:1px solid var(--line); }

/* Shared article ending: quiet editorial cards beneath every post type. */
.related-section.home-section { padding:38px 0 58px; }
.related-heading {
  align-items:center;
  justify-content:center;
  gap:22px;
  border:0;
  padding:0;
  margin:0 0 26px;
}
.related-heading::before,
.related-heading::after { content:""; height:1px; flex:1; background:var(--line); }
.related-heading h2 { flex:none; text-align:center; font-size:clamp(1.7rem, 2.5vw, 2.4rem); }
.related-grid { gap:24px; }
.related-grid .landscape-card { min-width:0; }
.related-grid .card-media { aspect-ratio:16 / 9; border-radius:5px; }
.related-grid .card-media img { display:block; width:100%; height:100%; object-fit:cover; }
.related-grid .card-body { padding-top:10px; }
.related-grid .card-body h3 { font-size:clamp(1.12rem, 1.5vw, 1.4rem); line-height:1.16; margin:0 0 7px; }
.related-grid .card-body h3 a { color:var(--ink); text-decoration:none; }
.related-grid .card-body h3 a:hover { color:var(--bmg-accent); }
.related-grid .card-body p { font-family:var(--serif); font-size:.95rem; line-height:1.4; margin:0; color:#465064;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.related-grid .card-meta { display:none; }
@media (max-width:680px) {
  .related-section.home-section { padding:30px 0 42px; }
  .related-heading { gap:12px; margin-bottom:20px; }
  .related-heading h2 { font-size:1.55rem; }
  .related-grid.three-up { grid-template-columns:1fr; gap:24px; }
  .related-grid .card-media { aspect-ratio:16 / 9; }
  .related-grid .card-body h3 { font-size:1.25rem; }
}

.site-footer { margin-top:36px; padding-top:48px; border-top:1px solid var(--line); background:#fafbfc; }
.footer-grid { display:grid; grid-template-columns:1.4fr .65fr .65fr 1.5fr; gap:40px; padding-bottom:48px; }
.footer-logo { width:150px; }
.footer-brand p, .newsletter-block p { color:var(--muted); font-size:.86rem; line-height:1.5; }
.footer-links { display:flex; flex-direction:column; gap:9px; }
.footer-links h3, .newsletter-block h3 { font-size:.82rem; margin:0 0 8px; }
.footer-links a { color:#566174; font-size:.82rem; }
.newsletter-form { display:grid; grid-template-columns:1fr auto; gap:8px; margin-top:16px; }
.newsletter-form input { min-width:0; height:42px; border:1px solid var(--line); border-radius:6px; padding:0 12px; }
.newsletter-form button { border:0; border-radius:6px; background:var(--bmg-accent); color:#fff; padding:0 16px; font-weight:800; cursor:pointer; }
.form-success,.form-error { display:none; grid-column:1/-1; }
.newsletter-form.success .form-success { display:block; }
.newsletter-form.error .form-error { display:block; }
.footer-bottom { border-top:1px solid var(--line); padding:20px 0; display:flex; justify-content:space-between; gap:20px; color:#8a94a3; font-size:.72rem; }
.error-page { padding:100px 0; text-align:center; }
.error-page h1 { font-family:var(--serif); font-size:3rem; }


/* Ghost editor wide/full-width cards */
.gh-content .kg-width-wide {
  width: min(1200px, calc(100vw - 64px));
  max-width: calc(100vw - 64px);
  margin-left: 50%;
  transform: translateX(-50%);
}
.gh-content .kg-width-full {
  width: 100vw;
  max-width: 100vw;
  margin-left: 50%;
  transform: translateX(-50%);
}

@media (min-width: 1181px) {
  .hero-secondary { display:grid; grid-template-rows:repeat(3, minmax(0,1fr)); gap:14px; height:100%; min-height:0; align-self:stretch; }
  .hero-story { aspect-ratio: 1.31 / 1; min-height: 0; }
}

@media (max-width: 1180px) {
  .header-inner { grid-template-columns:170px 1fr auto; }
  .header-tagline { display:none; }
  .main-nav { gap:18px; }
  .hero-grid { grid-template-columns:1.42fr .86fr; gap:22px; }
  .four-up { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .picks-layout { grid-template-columns:1fr; }
  .current-pick { border-right:0; border-bottom:1px solid var(--line); padding:0 0 30px; }
  .previous-picks { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .previous-pick { grid-template-columns:70px 1fr; border:0; margin:0; padding:0; }
  .archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .site-container, .site-container-narrow { width:min(calc(100% - 32px), var(--container)); }
  .header-inner { min-height:76px; grid-template-columns:1fr auto auto; gap:10px; }
  .brand-logo { width:150px; }
  .main-nav { display:none; }
  .menu-button { display:block; }
  .mobile-nav.is-open { display:block; }
  .search-button span { display:none; }
  .search-button { min-width:42px; width:42px; padding:0; justify-content:center; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-story { aspect-ratio: 1.36 / 1; min-height: 0; }
  .hero-secondary { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .secondary-story { grid-template-columns:1fr; gap:10px; align-items:start; border:0; margin:0; padding:0; }
  .three-up { grid-template-columns:1fr; }
  .editorial-card { display:grid; grid-template-columns:42% 1fr; }
  .editorial-media { height:100%; aspect-ratio:auto; }
  .current-pick { grid-template-columns:240px 1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 680px) {
  .home-section { padding:28px 0; }
  .hero-section { padding-top:24px; }
  .hero-story { aspect-ratio: 1.18 / 1; min-height: 0; }
  .hero-copy { left:22px; right:22px; bottom:20px; max-width:none; }
  .hero-copy h1 { font-size:2.1rem; max-width:none; }
  .hero-secondary { grid-template-columns:1fr; }
  .secondary-story { grid-template-columns:118px 1fr; align-items:start; padding-bottom:16px; border-bottom:1px solid var(--line); }
  .four-up, .archive-grid { grid-template-columns:1fr; }
  .editorial-card { display:block; }
  .section-heading { align-items:center; }
  .section-heading h2 { font-size:1.8rem; }
  .section-heading > a { font-size:.63rem; }
  .picks-layout { padding:18px; }
  .current-pick { grid-template-columns:1fr; }
  .pick-poster { max-width:290px; }
  .previous-picks { grid-template-columns:1fr; }
  .previous-pick { grid-template-columns:82px 1fr; padding-bottom:16px; border-bottom:1px solid var(--line); }
  .currentish-section { padding-top:32px; }
  .footer-grid { grid-template-columns:1fr; }
  .newsletter-form { grid-template-columns:1fr; }
  .newsletter-form button { height:42px; }
  .footer-bottom { flex-direction:column; }
}

/* Editorial titles: quoted movie/show names render in italics via main.js */
.format-title em { font-style: italic; }

.format-excerpt em { font-style: italic; }

@media (min-width: 1181px) {
  .secondary-story__body,
  .secondary-story > div {
    min-width: 0;
    min-height: 0;
    align-self: start;
  }
  .hero-secondary .secondary-story:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }
}

@media (min-width: 1181px) {
  .hero-secondary {
    height: 100%;
    align-self: stretch;
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }

  .hero-secondary .secondary-story {
    height: 100%;
    min-height: 0;
    align-self: stretch;
    overflow: hidden;
  }

  .hero-secondary .secondary-story img {
    width: 170px;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto !important;
    object-fit: cover;
    align-self: stretch;
  }
}

@media (min-width: 1181px) {
  .hero-secondary .secondary-story {
    padding-bottom: 0;
  }

  .hero-secondary .secondary-media {
    height: 100%;
    min-height: 0;
    align-self: stretch;
    aspect-ratio: auto !important;
  }

  .hero-secondary .secondary-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}












/* v0.1.23 — manual slogan controls */
@media (min-width: 1181px) {
  .site-header {
    min-height: 82px;
    background: #fff;
    border-bottom: 1px solid #e5e8ed;
  }

  .header-inner {
    min-height: 82px;
    display: grid;
    grid-template-columns: 318px max-content 1fr 32px;
    align-items: center;
    column-gap: 24px;
  }

  .brand {
    width: 318px;
    height: 52px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-self: start;
    align-self: center;
    position: relative;
  }

  .brand-logo {
    width: 318px;
    max-width: none;
    max-height: none;
    height: auto;
    display: block;
    /* Positive Header logo vertical offset values move the artwork DOWN. */
    transform: translateY(calc(-12px + var(--logo-y, 10px)));
    transform-origin: left top;
  }

  .header-slogan {
    margin: 0 0 0 -20px;
    align-self: center;
    color: #172238;
    font-family: var(--sans);
    font-size: 18px;
    line-height: 1;
    font-style: normal;
    font-weight: 500;
    letter-spacing: -0.015em;
    white-space: nowrap;
    transform: translate(
      calc(var(--slogan-x, 25px) - 6px),
      calc(1px + var(--slogan-y, -2.5px))
    );
  }

  .main-nav {
    display: flex;
    align-items: center;
    justify-self: end;
    gap: 24px;
    white-space: nowrap;
  }

  .main-nav a {
    font-size: 13px;
    line-height: 1;
    font-weight: 650;
  }

  .search-button {
    width: 32px;
    min-width: 32px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #0f1f3a;
    box-shadow: none;
    justify-content: flex-end;
    margin: 0 0 0 -8px;
  }

  .search-button svg {
    width: 21px;
    height: 21px;
    flex: 0 0 21px;
    stroke-width: 2;
    transform: translateY(-2px);
  }

  .hero-section {
    padding-top: 20px;
  }
}

@media (max-width: 1180px) and (min-width: 981px) {
  .site-header {
    min-height: 78px;
    background: #fff;
    border-bottom: 1px solid #e5e8ed;
  }

  .header-inner {
    min-height: 78px;
    display: grid;
    grid-template-columns: 296px 1fr 32px;
    align-items: center;
    column-gap: 20px;
  }

  .brand {
    width: 296px;
    height: 50px;
    overflow: hidden;
    display: flex;
    align-items: center;
  }

  .brand-logo {
    width: 296px;
    max-width: none;
    max-height: none;
    height: auto;
    display: block;
    transform: translateY(calc(-11px + var(--logo-y, 10px)));
  }

  .header-slogan {
    display: none;
  }

  .main-nav {
    display: flex;
    align-items: center;
    justify-self: end;
    gap: 18px;
    white-space: nowrap;
  }

  .main-nav a {
    font-size: 12.5px;
    line-height: 1;
    font-weight: 650;
  }

  .search-button {
    width: 32px;
    min-width: 32px;
    height: 36px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #0f1f3a;
    box-shadow: none;
    justify-content: flex-end;
    margin-left: -6px;
  }

  .search-button svg {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    transform: translateY(-2px);
  }

  .hero-section {
    padding-top: 18px;
  }
}

@media (max-width: 980px) {
  .header-slogan {
    display: none;
  }

  .search-button {
    width: 32px;
    min-width: 32px;
    height: 36px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .search-button svg {
    transform: translateY(-2px);
  }
}







/* v0.1.27 — corrected hero View All placement */
@media (min-width: 1181px) {
  .hero-secondary {
    position: relative;
  }

  .hero-view-all {
    position: absolute;
    right: -2px;
    bottom: 0;
    display: flex;
    justify-content: flex-end;
    padding: 0;
    margin: 0;
    z-index: 4;
    background: #fff;
    padding-left: 10px;
  }

  .hero-view-all a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--bmg-accent);
    font-size: 0.72rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .hero-view-all a:hover {
    color: var(--ink);
  }
}

@media (max-width: 1180px) {
  .hero-view-all {
    position: static;
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    padding-top: 10px;
    margin: 0;
  }

  .hero-view-all a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--bmg-accent);
    font-size: 0.72rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .hero-view-all a:hover {
    color: var(--ink);
  }
}


/* v0.1.30 — MYPM */
.mypm-item .card-meta {
  display: none;
}


/* v0.1.31 — Latest "new since last visit" notification */
.latest-nav-link {
  position: relative;
}

.latest-notification {
  position: absolute;
  top: -9px;
  right: -12px;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  display: none;
  align-items: center;
  justify-content: center;
  background: #e3262e;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  line-height: 1;
  font-weight: 800;
  box-shadow: 0 0 0 2px #fff;
  pointer-events: none;
}

.latest-nav-link.has-new .latest-notification {
  display: flex;
}

.mobile-nav .latest-nav-link {
  width: max-content;
  padding-right: 20px;
}

.mobile-nav .latest-notification {
  top: 1px;
  right: 0;
}


/* v0.1.37 — cleaner Current-ish cards */
.currentish-section .card-meta {
  display: none;
}

.currentish-section .card-body p {
  margin-bottom: 0;
}




/* v0.1.42 — explicit MYPM bottom rule + tighter MYPM/Deeper Dives spacing */
.mypm-section {
  padding-bottom: 10px;
}

.mypm-bottom-rule {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 10px;
  background: var(--line);
}

.mypm-section + .deeper-dives-section {
  padding-top: 22px;
}

@media (max-width: 900px) {
  .mypm-section {
    padding-bottom: 8px;
  }

  .mypm-bottom-rule {
    margin-top: 10px;
  }

  .mypm-section + .deeper-dives-section {
    padding-top: 20px;
  }
}


/* v0.1.45 — redesigned footer brand block */
.site-footer {
  background: #fff;
}

.footer-grid {
  grid-template-columns: 1.55fr .62fr .62fr 1.45fr;
  gap: 44px;
  align-items: start;
}

.footer-brand {
  max-width: 310px;
}

.footer-logo {
  width: 245px;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 0 14px;
}

.footer-brand .footer-slogan {
  margin: 0;
  max-width: 270px;
  color: #53627a;
  font-family: var(--serif);
  font-size: 1rem;
  line-height: 1.35;
  font-style: italic;
  font-weight: 500;
}

.footer-bottom {
  justify-content: flex-start;
}

@media (max-width: 1180px) {
  .footer-grid {
    grid-template-columns: 1.35fr .7fr .7fr 1.35fr;
    gap: 30px;
  }

  .footer-logo {
    width: 220px;
  }
}

@media (max-width: 900px) {
  .footer-brand {
    max-width: 290px;
  }

  .footer-logo {
    width: 230px;
  }

  .footer-brand .footer-slogan {
    font-size: .98rem;
  }
}


/* v0.1.49 — cleaner Latest cards */
.latest-page .card-meta {
  display: none;
}

.latest-page .card-body p {
  margin-bottom: 0;
}


/* v0.1.50 — Latest page redesign with future ad gutters */
.latest-page {
  padding: 40px 0 56px;
}

.latest-layout-shell {
  width: min(calc(100% - 48px), 1380px);
  margin-inline: auto;
}

.latest-page-grid {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) minmax(0, 920px) minmax(90px, 1fr);
  column-gap: 32px;
  align-items: start;
}

.latest-center-column {
  min-width: 0;
}

.latest-header {
  margin: 6px 0 34px;
}

.latest-header .eyebrow {
  display: inline-block;
  margin-bottom: 12px;
}

.latest-header h1 {
  margin: 0 0 18px;
  font-family: var(--serif);
  font-size: clamp(3.3rem, 5.8vw, 4.6rem);
  line-height: .94;
  letter-spacing: -.045em;
}

.latest-header p {
  margin: 0;
  font-family: var(--serif);
  font-size: 1.12rem;
  color: #6e7686;
}

.latest-rail {
  min-height: 100%;
}

.latest-feed-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.latest-feed-item {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  padding: 0 0 26px;
  margin-bottom: 26px;
  border-bottom: 1px solid var(--line);
}

.latest-feed-item:last-child {
  margin-bottom: 0;
  border-bottom: 0;
  padding-bottom: 0;
}

.latest-feed-media {
  display: block;
  background: #eef2f7;
  overflow: hidden;
}

.latest-feed-media img,
.latest-feed-media .image-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.latest-feed-copy {
  min-width: 0;
  padding-top: 2px;
}

.latest-feed-copy .eyebrow {
  display: inline-block;
  margin-bottom: 10px;
}

.latest-feed-copy h2 {
  margin: 0 0 12px;
  font-family: var(--serif);
  font-size: clamp(1.9rem, 2.4vw, 2.25rem);
  line-height: .98;
  letter-spacing: -.03em;
}

.latest-feed-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 1.03rem;
  line-height: 1.62;
}

.latest-page .card-meta {
  display: none !important;
}

/* Optional future ad-gutter visibility on very wide screens */
@media (min-width: 1400px) {
  .latest-rail {
    position: relative;
  }
}

/* Large tablets / smaller desktops */
@media (max-width: 1180px) {
  .latest-page-grid {
    grid-template-columns: 1fr minmax(0, 920px) 1fr;
    column-gap: 20px;
  }

  .latest-feed-item {
    grid-template-columns: 290px minmax(0, 1fr);
    gap: 22px;
  }

  .latest-feed-copy h2 {
    font-size: 1.72rem;
  }

  .latest-feed-copy p {
    font-size: .98rem;
    line-height: 1.56;
  }
}

/* Tablet */
@media (max-width: 980px) {
  .latest-page {
    padding: 28px 0 44px;
  }

  .latest-page-grid {
    grid-template-columns: 1fr;
  }

  .latest-rail {
    display: none;
  }

  .latest-header {
    margin-bottom: 28px;
  }

  .latest-feed-item {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-bottom: 22px;
    margin-bottom: 24px;
  }

  .latest-feed-copy h2 {
    font-size: 1.7rem;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .latest-layout-shell {
    width: min(calc(100% - 32px), 1380px);
  }

  .latest-header h1 {
    font-size: 3rem;
    margin-bottom: 14px;
  }

  .latest-header p {
    font-size: 1rem;
  }

  .latest-feed-copy h2 {
    font-size: 1.45rem;
    line-height: 1.04;
  }

  .latest-feed-copy p {
    font-size: .95rem;
    line-height: 1.52;
  }
}


/* v0.1.51 — reusable ad-ready archive system */
.archive-system-page {
  padding: 42px 0 72px;
}

.archive-system-shell {
  width: min(calc(100% - 48px), 1360px);
  margin-inline: auto;
}

.archive-system-grid {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(0, 900px) minmax(160px, 1fr);
  gap: 28px;
  align-items: start;
}

.archive-system-main {
  min-width: 0;
}

.archive-system-header {
  max-width: 760px;
  margin: 4px 0 34px;
}

.archive-system-header .eyebrow {
  margin-bottom: 10px;
}

.archive-system-header h1 {
  margin: 0 0 16px;
  font-family: var(--serif);
  font-size: clamp(3.2rem, 5.6vw, 4.7rem);
  line-height: .95;
  letter-spacing: -.045em;
}

.archive-system-header p {
  margin: 0;
  color: var(--muted);
  font-family: var(--serif);
  font-size: 1.12rem;
  line-height: 1.55;
}

.archive-ad-rail {
  min-width: 0;
}

.archive-ad-slot {
  width: min(160px, 100%);
  min-height: 1px;
  margin-inline: auto;
}

/* These hooks are intentionally empty now. An ad provider can later inject
   160x600 / 160x300 rail units without changing the archive layout. */
@media (min-width: 1280px) {
  .archive-ad-slot {
    position: sticky;
    top: 110px;
  }
}

.archive-feed-list {
  display: flex;
  flex-direction: column;
}

.archive-feed-item {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 26px;
  align-items: start;
  padding: 0 0 25px;
  margin: 0 0 25px;
  border-bottom: 1px solid var(--line);
}

.archive-feed-item:last-child {
  margin-bottom: 0;
}

.archive-feed-media {
  display: block;
  overflow: hidden;
  background: var(--surface);
}

.archive-feed-media img,
.archive-feed-media .image-placeholder {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}

.archive-feed-copy {
  min-width: 0;
  padding-top: 2px;
}

.archive-feed-copy .eyebrow {
  display: inline-block;
  margin: 0 0 8px;
}

.archive-feed-copy h2 {
  margin: 0 0 10px;
  font-family: var(--serif);
  font-size: clamp(1.75rem, 2.3vw, 2.15rem);
  line-height: 1.02;
  letter-spacing: -.03em;
}

.archive-feed-copy p {
  margin: 0;
  color: var(--muted);
  font-size: .98rem;
  line-height: 1.56;
}

.archive-feed-item--poster {
  grid-template-columns: 180px minmax(0, 1fr);
}

.archive-feed-item--poster .archive-feed-media img,
.archive-feed-item--poster .archive-feed-media .image-placeholder {
  aspect-ratio: 2 / 3;
  object-fit: cover;
}

.archive-pagination {
  margin-top: 38px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

.archive-pagination .pagination {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
  color: var(--bmg-accent);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.archive-pagination .pagination .page-number {
  grid-column: 2;
  color: #7b8492;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.archive-pagination .pagination .older-posts {
  justify-self: end;
}

.archive-pagination .pagination .newer-posts {
  justify-self: start;
}

/* Remove legacy Latest card-grid rules from influencing the new feed */
.latest-page .archive-grid,
.tag-archive-page .archive-grid {
  display: block;
}

/* Rails collapse before they become too narrow to be useful for ads. */
@media (max-width: 1240px) {
  .archive-system-grid {
    grid-template-columns: 1fr minmax(0, 900px) 1fr;
    gap: 18px;
  }

  .archive-ad-rail {
    visibility: hidden;
  }

  .archive-feed-item {
    grid-template-columns: 290px minmax(0, 1fr);
    gap: 22px;
  }

  .archive-feed-item--poster {
    grid-template-columns: 170px minmax(0, 1fr);
  }
}

@media (max-width: 1040px) {
  .archive-system-grid {
    grid-template-columns: minmax(0, 900px);
    justify-content: center;
  }

  .archive-ad-rail {
    display: none;
  }
}

@media (max-width: 760px) {
  .archive-system-page {
    padding: 30px 0 52px;
  }

  .archive-system-shell {
    width: min(calc(100% - 32px), 1360px);
  }

  .archive-system-header {
    margin-bottom: 28px;
  }

  .archive-system-header h1 {
    font-size: 3rem;
  }

  .archive-system-header p {
    font-size: 1rem;
  }

  .archive-feed-item,
  .archive-feed-item--poster {
    grid-template-columns: 1fr;
    gap: 16px;
    padding-bottom: 22px;
    margin-bottom: 24px;
  }

  .archive-feed-item--poster .archive-feed-media {
    max-width: 220px;
  }

  .archive-feed-copy h2 {
    font-size: 1.55rem;
  }

  .archive-pagination .pagination {
    grid-template-columns: 1fr 1fr;
  }

  .archive-pagination .pagination .page-number {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-self: center;
  }

  .archive-pagination .pagination .newer-posts {
    grid-column: 1;
    grid-row: 2;
  }

  .archive-pagination .pagination .older-posts {
    grid-column: 2;
    grid-row: 2;
  }
}


/* v0.1.52 — Deep Dives destination */
.deep-dives-header {
  max-width: 820px;
  padding-bottom: 24px;
  margin-bottom: 30px;
  border-bottom: 1px solid var(--line);
}

.deep-dives-header h1 {
  font-size: clamp(3.5rem, 6vw, 5.25rem);
  margin-bottom: 18px;
}

.deep-dives-header p {
  max-width: 720px;
  font-size: 1.18rem;
  line-height: 1.55;
}

.deep-dive-lead {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .9fr);
  gap: 30px;
  align-items: center;
  padding-bottom: 34px;
  margin-bottom: 30px;
  border-bottom: 1px solid var(--line);
}

.deep-dive-lead-media {
  display: block;
  overflow: hidden;
  background: var(--surface);
}

.deep-dive-lead-media img,
.deep-dive-lead-media .image-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.deep-dive-lead-copy .eyebrow {
  display: inline-block;
  margin-bottom: 10px;
}

.deep-dive-lead-copy h2 {
  margin: 0 0 14px;
  font-family: var(--serif);
  font-size: clamp(2rem, 3vw, 2.8rem);
  line-height: .99;
  letter-spacing: -.035em;
}

.deep-dive-lead-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.58;
}

@media (max-width: 900px) {
  .deep-dive-lead {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .deep-dives-header h1 {
    font-size: 3.4rem;
  }
}

@media (max-width: 640px) {
  .deep-dives-header {
    padding-bottom: 20px;
    margin-bottom: 24px;
  }

  .deep-dives-header h1 {
    font-size: 3rem;
  }

  .deep-dives-header p {
    font-size: 1rem;
  }

  .deep-dive-lead-copy h2 {
    font-size: 1.8rem;
  }
}

/* v0.1.53 — destination archives */
.destination-header {
  max-width: 820px;
  padding-bottom: 24px;
  margin-bottom: 30px;
  border-bottom: 1px solid var(--line);
}

.destination-header h1 {
  font-size: clamp(3.5rem, 6vw, 5.25rem);
  margin-bottom: 18px;
}

.destination-header p {
  max-width: 760px;
  font-size: 1.18rem;
  line-height: 1.55;
}

.destination-lead {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .9fr);
  gap: 30px;
  align-items: center;
  padding-bottom: 34px;
  margin-bottom: 30px;
  border-bottom: 1px solid var(--line);
}

.destination-lead-media {
  display: block;
  overflow: hidden;
  background: var(--surface);
}

.destination-lead-media img,
.destination-lead-media .image-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.destination-lead-copy .eyebrow {
  display: inline-block;
  margin-bottom: 10px;
}

.destination-lead-copy h2 {
  margin: 0 0 14px;
  font-family: var(--serif);
  font-size: clamp(2rem, 3vw, 2.8rem);
  line-height: .99;
  letter-spacing: -.035em;
}

.destination-lead-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.58;
}

@media (max-width: 900px) {
  .destination-lead {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .destination-header h1 {
    font-size: 3.4rem;
  }
}

@media (max-width: 640px) {
  .destination-header {
    padding-bottom: 20px;
    margin-bottom: 24px;
  }

  .destination-header h1 {
    font-size: 3rem;
  }

  .destination-header p {
    font-size: 1rem;
  }

  .destination-lead-copy h2 {
    font-size: 1.8rem;
  }
}


/* v0.1.54 — Ben's Picks poster convention */
/* Gallery cards are hidden article-asset packaging. Aspect ratio determines each image’s role. */
.post-content .kg-gallery-card {
  display: none !important;
}

/* v0.1.55 — Ben's Picks archive lead uses the poster, only larger */
.bens-picks-archive-page .bens-pick-lead {
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 38px;
  align-items: center;
}

.bens-picks-archive-page .bens-pick-lead-poster {
  width: 300px;
  max-width: 100%;
  justify-self: start;
}

.bens-picks-archive-page .bens-pick-lead-poster img,
.bens-picks-archive-page .bens-pick-lead-poster .image-placeholder {
  width: 100%;
  aspect-ratio: 2 / 3;
  object-fit: cover;
}

@media (max-width: 900px) {
  .bens-picks-archive-page .bens-pick-lead {
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 28px;
  }

  .bens-picks-archive-page .bens-pick-lead-poster {
    width: 260px;
  }
}

@media (max-width: 680px) {
  .bens-picks-archive-page .bens-pick-lead {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .bens-picks-archive-page .bens-pick-lead-poster {
    width: 280px;
    max-width: 82vw;
  }
}

/* Taxonomy still drives the site internally; it no longer appears as pills
   at the bottom of dedicated articles. */
.post-footer,
.post-tags {
  display: none !important;
}

/* Gallery is reserved for article artwork metadata and is never article body content. */
.post-content .kg-gallery-card {
  display: none !important;
}


/* v0.1.64 — cleaner verdict pages, centered quote card, neutral rating panel */
.post-structured-data { display: none !important; }
.bmg-rating[hidden] { display: none !important; }

/* A verdict tag turns a normal article lead into the editorial title-page lead.
   The lead uses the same 1040px measure as the article so title, image and body align. */
.has-bmg-verdict.post-page { padding-top: 42px; }
.has-bmg-verdict .post-lead {
  width: min(calc(100% - 72px), 1040px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(340px, .86fr) minmax(0, 1.14fr);
  gap: 42px;
  align-items: center;
}
.has-bmg-verdict .post-header {
  width: auto;
  margin: 0;
  text-align: left;
}
.has-bmg-verdict .post-header .eyebrow {
  margin-bottom: 8px;
  font-size: .74rem;
  letter-spacing: .16em;
}
.has-bmg-verdict .post-header h1 {
  margin: 8px 0 14px;
  font-size: clamp(2.6rem, 3.9vw, 4rem);
  line-height: 1.08;
  letter-spacing: -.025em;
}
.has-bmg-verdict .post-deck {
  max-width: 500px;
  margin: 0 0 14px;
  color: #25334a;
  font-size: clamp(1.08rem, 1.35vw, 1.27rem);
  line-height: 1.46;
}
.has-bmg-verdict .post-meta {
  justify-content: flex-start;
  margin-top: 12px;
  color: #60718a;
}
.has-bmg-verdict .post-feature {
  width: auto;
  margin: 0;
}
.has-bmg-verdict .post-feature img {
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: none;
  object-fit: cover;
  border-radius: 7px;
}
.has-bmg-verdict .post-feature figcaption { text-align: left; }
.has-bmg-verdict .post-content.site-container-narrow {
  width: min(calc(100% - 72px), 760px);
  padding-top: 22px;
  font-size: 1.12rem;
  line-height: 1.64;
}

/* Ben's Take publishing convention:
   one Callout = full-width Take; two consecutive Callouts = Take + Watch It.
   Both live inside one continuous light-blue panel. */
.bmg-take-shell {
  width: min(calc(100vw - 72px), 1040px);
  margin: 26px 0 34px 50%;
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: 1fr;
  overflow: hidden;
  border: 1px solid #d8e7f6;
  border-left: 7px solid var(--bmg-accent);
  border-radius: 8px;
  background: linear-gradient(100deg, #eef7ff 0%, #eaf4fe 100%);
  box-shadow: 0 10px 28px rgba(16, 42, 78, .05);
}
.bmg-take-shell.has-watch {
  grid-template-columns: minmax(0, 1.7fr) minmax(285px, .95fr);
}
.gh-content .bmg-take-card,
.gh-content .bmg-take-watch-callout {
  width: auto;
  max-width: none;
  margin: 0;
  transform: none;
}
.bmg-take-card.kg-callout-card,
.bmg-take-watch-callout.kg-callout-card {
  display: block;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
}
.bmg-take-card.kg-callout-card { padding: 33px 36px 34px; }
.bmg-take-card .kg-callout-emoji,
.bmg-take-watch-callout .kg-callout-emoji { display: none !important; }
.bmg-take-card .kg-callout-text {
  color: #13223a;
  font-family: var(--serif);
  font-size: 1.08rem;
  line-height: 1.55;
}
.bmg-take-label,
.bmg-watch-label {
  display: block;
  margin-bottom: 13px;
  color: var(--bmg-accent);
  font-family: var(--sans);
  font-size: .72rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.bmg-take-card .kg-callout-text > strong:first-of-type,
.bmg-take-card .kg-callout-text > p:first-of-type strong:first-child {
  display: block;
  margin-bottom: 12px;
  color: #0e1b31;
  font-family: var(--serif);
  font-size: clamp(1.85rem, 3vw, 2.75rem);
  line-height: 1.02;
  letter-spacing: -.035em;
}
.bmg-take-watch-callout.kg-callout-card {
  align-self: stretch;
  display: flex;
  align-items: center;
  padding: 31px 30px;
  border-left: 1px solid #ccdef1;
}
.bmg-take-watch-callout .kg-callout-text {
  width: 100%;
  color: #13223a;
  font-family: var(--sans);
  font-size: .94rem;
  line-height: 1.4;
}
.bmg-take-watch-callout .kg-callout-text p {
  margin: 0;
}
.bmg-watch-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 48px;
  margin: 9px 0 0;
  padding: 11px 14px;
  border: 1px solid #c7d8ec;
  border-radius: 7px;
  background: rgba(255,255,255,.86);
  color: #10213b !important;
  font-family: var(--sans);
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none !important;
  box-shadow: 0 3px 10px rgba(20, 57, 100, .04);
}
.bmg-watch-link::after {
  content: "↗";
  color: var(--bmg-accent);
  font-size: 1.05rem;
  font-weight: 800;
}
.bmg-watch-link:hover {
  border-color: #9fc0e5;
  background: #fff;
  transform: translateY(-1px);
}
.bmg-watch-note {
  display: block;
  margin-top: 12px;
  color: #64758c;
  font-family: var(--sans);
  font-size: .68rem;
  line-height: 1.35;
}

/* Proprietary BMG recommendation rail. A continuous rail sits behind the four
   choices; the selected verdict is one uninterrupted highlight bubble. */
.bmg-rating {
  width: min(calc(100% - 72px), 1040px);
  margin: 33px auto 56px;
  padding: 22px 24px 24px;
  border: 1px solid rgba(12, 97, 231, .18);
  border-radius: 14px;
  background: linear-gradient(135deg, #0c61e7 0%, #1a75ff 100%);
  box-shadow: 0 14px 34px rgba(18, 105, 239, .18);
  --rating-blue: #0f53c6;
  --rating-navy: #0f1d34;
  --rating-highlight: #ffd21f;
  --rating-line: rgba(255, 255, 255, .42);
}
.bmg-rating-heading {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 28px;
  align-items: center;
  margin-bottom: 22px;
}
.bmg-rating-heading span { height: 1px; background: rgba(255,255,255,.58); }
.bmg-rating-heading strong {
  color: #ffffff;
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .25em;
  text-transform: uppercase;
  white-space: nowrap;
}
.bmg-rating-rail {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  padding: 3px 3px 0;
}
.bmg-rating-rail::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0 0 auto;
  height: 72px;
  border: 1px solid rgba(15, 29, 52, .08);
  border-radius: 999px;
  background: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 2px 6px rgba(9, 42, 101, .08);
}
.bmg-rating-option {
  position: relative;
  z-index: 1;
  min-width: 0;
  text-align: center;
}
.bmg-rating-pill {
  min-height: 66px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #12223d;
  font-family: var(--sans);
  font-size: .86rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .01em;
}
.bmg-rating-icon {
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #58769c;
}
.bmg-rating-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.bmg-rating-option p {
  max-width: 200px;
  min-height: 34px;
  margin: 11px auto 0;
  color: rgba(255,255,255,.96);
  font-family: var(--serif);
  font-size: .94rem;
  line-height: 1.3;
}
.bmg-rating-option.is-selected .bmg-rating-pill {
  position: relative;
  z-index: 2;
  background: linear-gradient(180deg, #ffd94e 0%, var(--rating-highlight) 100%);
  color: #0f1d34;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.35), 0 10px 24px rgba(8, 44, 109, .16);
  transform: scale(1.02);
}
.bmg-rating-option.is-selected .bmg-rating-icon { color: #0f1d34; }
.bmg-rating-option.is-selected .bmg-rating-icon svg { fill: currentColor; }
.bmg-rating-option.is-selected p { color: #ffffff; font-weight: 700; }

.has-bmg-verdict .related-section { margin-top: 0; }

/* Headline-led editorial pages use a body image, leaving the featured image
   available for homepage and archive thumbnails. */
.has-bmg-editorial.post-page { padding-top: 54px; }
.has-bmg-editorial .post-lead { width: min(calc(100% - 48px), 1040px); margin-inline: auto; }
.has-bmg-editorial .post-header { width: min(100%, 800px); }
.has-bmg-editorial .post-header h1 { font-size: clamp(2.7rem, 5vw, 4.8rem); }
.has-bmg-editorial .post-feature { display: none; }
.has-bmg-editorial .bmg-editorial-hero { margin: 30px 0 0; width: 100%; }
.has-bmg-editorial .bmg-editorial-hero img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 1;
  object-fit: cover;
  border-radius: 5px;
}
.has-bmg-editorial .bmg-editorial-hero figcaption { text-align: center; color: var(--muted); font-size: .76rem; margin-top: 8px; }
.has-bmg-editorial .post-content.site-container-narrow {
  width: min(calc(100% - 48px), 760px);
  padding-top: 28px;
  font-size: 1.12rem;
  line-height: 1.64;
}
/* Film details are driven by public metadata tags. Legacy data-bmg-film cards
   remain hidden as a backward-compatibility source for older posts. */
.post-content [data-bmg-film] { display: none !important; }
.bmg-film-runtime {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  color: var(--ink);
  font-family: var(--sans);
  line-height: 1.4;
}
.bmg-film-runtime-label {
  color: var(--bmg-accent);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.bmg-film-runtime-value { font-size: .95rem; font-weight: 600; }
.bmg-film-content-rating {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  color: var(--ink);
  font-family: var(--sans);
  line-height: 1.4;
}
.bmg-film-content-rating-label {
  color: var(--bmg-accent);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.bmg-film-content-rating-value { font-size: .95rem; font-weight: 600; }
.has-bmg-verdict .post-header > .bmg-film-runtime { margin-top: 4px; }
.bmg-film-footer {
  width: min(calc(100% - 48px), 760px);
  margin: 56px auto 22px;
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 14px;
  row-gap: 8px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
}
.bmg-film-identity {
  min-width: 0;
  overflow-wrap: anywhere;
  color: inherit;
  text-decoration: none;
}
a.bmg-film-identity:hover em { text-decoration: underline; text-underline-offset: 3px; }
.bmg-film-year { color: #60718a; font-size: .92em; }
.bmg-film-separator { color: var(--bmg-accent); }
.bmg-film-page-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--bmg-accent) !important;
  font-family: var(--sans);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.4;
  text-decoration: none !important;
  text-transform: uppercase;
  white-space: nowrap;
}
.bmg-film-page-link::after {
  content: "→";
  font-size: 1.05em;
  letter-spacing: 0;
  transition: transform .16s ease;
}
.bmg-film-page-link:hover { text-decoration: underline !important; text-underline-offset: 3px; }
.bmg-film-page-link:hover::after { transform: translateX(2px); }
.has-bmg-editorial .bmg-film-footer + .bmg-rating { margin-top: 0; }
@media (max-width: 680px) {
  .bmg-film-footer { margin-top: 46px; font-size: .95rem; column-gap: 10px; }
}
@media (max-width: 430px) {
  .bmg-film-footer { column-gap: 8px; row-gap: 7px; }
  .bmg-film-identity { flex-basis: 100%; }
  .bmg-film-page-link { flex-basis: 100%; justify-content: center; }
  .bmg-film-separator { display: none; }
}

/* Shared trailer size and balanced space before Ben's verdict. */
:is(.has-bmg-editorial, .has-bmg-verdict) .post-content > .kg-embed-card {
  width: 75% !important;
  max-width: 570px;
  margin: 56px auto !important;
}
:is(.has-bmg-editorial, .has-bmg-verdict) .post-content > .kg-embed-card iframe {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  border: 0;
}
:is(.has-bmg-editorial, .has-bmg-verdict) .bmg-take-shell {
  /* Midpoint between the 1040px photo and 760px reading column. */
  width: min(calc(100vw - 48px), calc(50vw + 356px), 900px);
  margin-top: 44px;
  margin-bottom: 20px;
}
:is(.has-bmg-editorial, .has-bmg-verdict) .bmg-take-shell.has-title-meta {
  grid-template-columns: minmax(0, 1fr) 124px;
}
/* #title-only quick metadata: ONE compact box at far right. Rating and Runtime
   stack inside it, centered. The box does not establish a minimum height, so
   the Ben's Take content continues to determine the panel's overall height. */
.bmg-title-meta {
  display: flex;
  min-width: 0;
  min-height: 0;
  height: 100%;
  padding: 0;
  border-left: 1px solid #cddff3;
  background: #e2efff;
  color: #13223a;
  flex-direction: column;
  align-items: stretch;
  justify-content: stretch;
  text-align: center;
}
.bmg-title-meta-item {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex: 1 1 50%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 6px 8px;
}
.bmg-title-meta-item + .bmg-title-meta-item {
  margin-top: 0;
  padding-top: 6px;
  border-top: 1px solid #c5dbee;
}
.bmg-title-meta-label {
  color: #1458b8;
  font-family: var(--sans);
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .15em;
  line-height: 1;
  text-transform: uppercase;
}
.bmg-title-meta-value {
  font-family: var(--serif);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1;
  white-space: nowrap;
}
.bmg-title-meta-value.is-rating { font-size: 1.02rem; }
.bmg-title-meta-value.is-runtime { font-size: 1.02rem; }
.bmg-title-meta-value.is-seasons { font-size: 1.42rem; }
.bmg-title-meta-value.is-run { font-size: .96rem; }
:is(.has-bmg-editorial, .has-bmg-verdict) .bmg-take-card.kg-callout-card { padding: 26px 31px 28px; }
:is(.has-bmg-editorial, .has-bmg-verdict) .bmg-take-label { margin-bottom: 10px; }
:is(.has-bmg-editorial, .has-bmg-verdict) .bmg-take-card .kg-callout-text {
  font-size: clamp(1.2rem, 1.8vw, 1.42rem);
  line-height: 1.35;
  font-weight: 400;
  letter-spacing: -.018em;
}
:is(.has-bmg-editorial, .has-bmg-verdict) .bmg-take-card .kg-callout-text p { margin: 0; }
:is(.has-bmg-editorial, .has-bmg-verdict) .bmg-take-card .kg-callout-text > strong:first-of-type,
:is(.has-bmg-editorial, .has-bmg-verdict) .bmg-take-card .kg-callout-text > p:first-of-type strong:first-child {
  font: inherit;
  letter-spacing: inherit;
  margin: 0;
}
.has-bmg-editorial .bmg-rating { margin-top: 56px; }
@media (max-width: 680px) {
  .has-bmg-editorial.post-page { padding-top: 30px; }
  .has-bmg-editorial .post-lead,
  .has-bmg-editorial .post-content.site-container-narrow { width: min(calc(100% - 32px), 760px); }
  .has-bmg-editorial .bmg-editorial-hero { margin-top: 23px; }
  .has-bmg-editorial .bmg-editorial-hero img { aspect-ratio: 16 / 9; }
  :is(.has-bmg-editorial, .has-bmg-verdict) .post-content > .kg-embed-card {
    width: 100% !important;
    margin-block: 46px !important;
  }
  :is(.has-bmg-editorial, .has-bmg-verdict) .bmg-take-shell { width: calc(100% - 32px); }
  :is(.has-bmg-editorial, .has-bmg-verdict) .bmg-take-shell.has-title-meta { grid-template-columns: minmax(0, 1fr) 96px; }
  :is(.has-bmg-editorial, .has-bmg-verdict) .bmg-take-card.kg-callout-card { padding: 21px 22px 23px; }
  :is(.has-bmg-editorial, .has-bmg-verdict) .bmg-take-card .kg-callout-text { font-size: 1.12rem; }
  .bmg-title-meta { padding: 0; }
  .bmg-title-meta-item + .bmg-title-meta-item { margin-top: 0; padding-top: 5px; }
  .bmg-title-meta-label { font-size: .52rem; }
  .bmg-title-meta-value.is-rating { font-size: .88rem; }
  .bmg-title-meta-value.is-runtime { font-size: .88rem; }
  .bmg-title-meta-value.is-seasons { font-size: 1.26rem; }
  .bmg-title-meta-value.is-run { font-size: .84rem; }
  .has-bmg-editorial .bmg-rating { margin-top: 46px; }
}

@media (max-width: 980px) {
  .has-bmg-verdict .post-lead {
    width: min(calc(100% - 48px), 920px);
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .has-bmg-verdict .post-header { max-width: 760px; }
  .has-bmg-verdict .post-feature { order: 2; }
  .has-bmg-verdict .post-content.site-container-narrow { width: min(calc(100% - 48px), 760px); }
  .bmg-take-shell,
  .bmg-rating { width: min(calc(100vw - 48px), 920px); }
  .bmg-take-shell.has-watch { grid-template-columns: 1.35fr .85fr; }
  .bmg-rating-pill { min-height: 64px; padding: 11px 9px; gap: 7px; font-size: .72rem; }
  .bmg-rating-icon { width: 23px; height: 23px; flex-basis: 23px; }
}

@media (max-width: 720px) {
  .has-bmg-verdict.post-page { padding-top: 28px; }
  .has-bmg-verdict .post-lead,
  .has-bmg-verdict .post-content.site-container-narrow,
  .bmg-take-shell,
  .bmg-rating { width: min(calc(100% - 32px), 900px); }
  .has-bmg-verdict .post-header h1 { font-size: clamp(2.3rem, 10vw, 3.5rem); }
  .has-bmg-verdict .post-deck { font-size: 1.08rem; }
  .has-bmg-verdict .post-content.site-container-narrow { padding-top: 18px; font-size: 1.06rem; line-height: 1.6; }
  .has-bmg-editorial .post-content.site-container-narrow { font-size: 1.06rem; line-height: 1.6; }
  .bmg-take-shell.has-watch { grid-template-columns: 1fr; }
  .bmg-take-watch-callout.kg-callout-card {
    padding: 24px;
    border-left: 0;
    border-top: 1px solid #ccdef1;
  }
  .bmg-take-card.kg-callout-card { padding: 24px 24px 26px; }
  .bmg-rating { margin-top: 27px; margin-bottom: 46px; }
  .bmg-rating-heading { gap: 12px; }
  .bmg-rating-heading strong { font-size: .83rem; letter-spacing: .16em; white-space: normal; text-align: center; }
  .bmg-rating-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0; }
  .bmg-rating-rail::before { display: none; }
  .bmg-rating-pill {
    min-height: 60px;
    padding: 10px 9px;
    border: 1px solid var(--rating-line);
    background: rgba(255,255,255,.34);
  }
  .bmg-rating-option p { min-height: 0; margin-top: 7px; font-size: .82rem; }
  .bmg-rating-option.is-selected .bmg-rating-pill { border-color: var(--rating-blue); transform: none; }
}

@media (max-width: 460px) {
  .bmg-rating-rail { grid-template-columns: 1fr; gap: 11px; }
  .bmg-rating-option p { display: none; }
  .bmg-rating-pill { min-height: 58px; }
}


/* v0.1.74 — reusable BMG list-article system.
   Authoring convention inside a post tagged `list`:
   H2 movie title -> optional H3 genre -> image -> Callout -> prose ->
   paragraph `BMG Rating: Worth Renting` (or another verdict).
   JavaScript groups and decorates each entry; the Ghost editor remains simple. */
.has-bmg-list.post-page {
  padding-top: 54px;
}
.has-bmg-list .post-lead {
  margin-bottom: 0;
}
.has-bmg-list .post-header {
  max-width: 900px;
}
.has-bmg-list .post-header h1 {
  font-size: clamp(2.8rem, 5vw, 4.8rem);
}
.has-bmg-list .post-deck {
  max-width: 780px;
}
.has-bmg-list .post-content.site-container-narrow {
  width: min(calc(100% - 72px), 900px);
  padding-top: 28px;
  font-size: 1.08rem;
  line-height: 1.66;
}
.has-bmg-list .bmg-list-intro {
  width: min(100%, 820px);
  margin: 0 auto 28px;
}
.has-bmg-list .bmg-list-intro > :first-child { margin-top: 0; }
.has-bmg-list .bmg-list-intro > :last-child { margin-bottom: 0; }

.bmg-list-item {
  padding: 34px 0 42px;
  border-top: 1px solid var(--line);
}
.bmg-list-item:last-child {
  padding-bottom: 22px;
}
.bmg-list-lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 30px;
  align-items: center;
  margin-bottom: 18px;
}
.bmg-list-info { min-width: 0; }
.bmg-list-number {
  display: block;
  width: max-content;
  margin: 0 0 12px;
  padding-bottom: 4px;
  border-bottom: 2px solid rgba(23,105,224,.55);
  color: var(--bmg-accent);
  font-family: var(--serif);
  font-size: clamp(3.25rem, 5.2vw, 4.45rem);
  font-weight: 700;
  line-height: .82;
  letter-spacing: -.055em;
}
.gh-content .bmg-list-title {
  margin: 0 0 7px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(2rem, 3.2vw, 3rem);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -.042em;
}
.gh-content .bmg-list-genre {
  margin: 0;
  color: #344054;
  font-family: var(--serif);
  font-size: 1.08rem;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0;
}
.bmg-list-image.kg-image-card,
.gh-content .bmg-list-image {
  width: 100%;
  max-width: none;
  margin: 0;
  transform: none;
}
.bmg-list-image img,
.gh-content .bmg-list-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2.2 / 1;
  object-fit: cover;
  margin: 0;
  border-radius: 0;
}
.bmg-list-image figcaption {
  margin-top: 7px;
  color: #7b8798;
  font-family: var(--sans);
  font-size: .7rem;
  line-height: 1.35;
  text-align: left;
}

/* Each list Callout is the entry's quick verdict. */
.gh-content .bmg-list-take.kg-callout-card {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0 0 20px;
  padding: 18px 24px 19px;
  transform: none;
  border: 0;
  border-left: 5px solid var(--bmg-accent);
  border-radius: 0;
  background: linear-gradient(100deg, #eef7ff 0%, #eaf4fe 100%) !important;
  box-shadow: none;
}
.bmg-list-take .kg-callout-emoji { display: none !important; }
.bmg-list-take .kg-callout-text {
  color: #17243a;
  font-family: var(--serif);
  font-size: 1.28rem;
  font-style: italic;
  line-height: 1.48;
}
.bmg-list-take .kg-callout-text p { margin: 0; }
.bmg-list-take-label {
  display: block;
  margin-bottom: 9px;
  color: var(--bmg-accent);
  font-family: var(--sans);
  font-size: .7rem;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.bmg-list-body > p {
  width: min(100%, 900px);
}
.bmg-list-body > p:first-child { margin-top: 0; }

/* Compact version of the site rating scale for repeated list entries. */
.bmg-list-entry-rating {
  margin-top: 24px;
}
.bmg-list-entry-rating-label {
  display: block;
  margin-bottom: 9px;
  color: #152239;
  font-family: var(--sans);
  font-size: .7rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.bmg-list-entry-rating-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}
.bmg-list-entry-rating-option {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  border: 1px solid #e4eaf2;
  border-radius: 4px;
  background: #f1f5fa;
  color: #162238;
  font-family: var(--sans);
  font-size: .74rem;
  font-weight: 850;
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
}
.bmg-list-entry-rating-option.is-selected {
  border-color: #1262d4;
  background: linear-gradient(180deg, #1472eb 0%, #0f62ce 100%);
  color: #fff;
  box-shadow: 0 4px 12px rgba(17, 99, 211, .16);
}

/* The article header and repeated entries form a single editorial column. */
.has-bmg-list .post-header .eyebrow { color: var(--bmg-accent); letter-spacing: .16em; }
.has-bmg-list .post-header h1 { margin-top: 13px; margin-bottom: 16px; }
.has-bmg-list .post-deck { line-height: 1.35; }
.has-bmg-list .post-meta { margin-top: 13px; }
.has-bmg-list .bmg-list-body { font-size: 1.06rem; line-height: 1.42; }
.has-bmg-list .bmg-list-body > p { margin: 0 0 13px; }
.has-bmg-list .bmg-list-entry-rating { margin-top: 15px; }
.has-bmg-list .bmg-list-item { padding-top: 24px; padding-bottom: 26px; }
.has-bmg-list .bmg-list-lead { margin-bottom: 30px; }
.has-bmg-list .bmg-list-take.kg-callout-card { margin-bottom: 13px; }

@media (max-width: 900px) {
  .has-bmg-list .post-content.site-container-narrow {
    width: min(calc(100% - 48px), 900px);
  }
  .bmg-list-lead {
    grid-template-columns: minmax(240px, .78fr) minmax(360px, 1.22fr);
    gap: 28px;
  }
  .gh-content .bmg-list-title { font-size: clamp(1.8rem, 4vw, 2.45rem); }
}

@media (max-width: 720px) {
  .has-bmg-list.post-page { padding-top: 32px; }
  .has-bmg-list .post-content.site-container-narrow {
    width: min(calc(100% - 32px), 900px);
    padding-top: 22px;
    font-size: 1.04rem;
    line-height: 1.6;
  }
  .has-bmg-list .post-header h1 {
    font-size: clamp(2.5rem, 11vw, 3.7rem);
  }
  .bmg-list-item { padding: 28px 0 34px; }
  .bmg-list-lead {
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: start;
  }
  .bmg-list-number {
    margin-bottom: 10px;
    font-size: 3.25rem;
  }
  .gh-content .bmg-list-title {
    font-size: clamp(2rem, 8.7vw, 2.7rem);
  }
  .bmg-list-image { order: 2; }
  .gh-content .bmg-list-take.kg-callout-card {
    padding: 17px 19px 18px;
  }
  .bmg-list-entry-rating-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 430px) {
  .bmg-list-entry-rating-rail { grid-template-columns: 1fr; }
  .bmg-list-entry-rating-option { min-height: 39px; }
}


/* v0.1.106 — preserve dedicated 5:6 editorial thumbnails at every viewport.
   The media box now owns the same 5:6 ratio as the recommended 1000x1200
   Gallery asset, so object-fit: cover scales the image without cropping it. */
.secondary-media {
  aspect-ratio: 5 / 6;
  height: auto;
  align-self: start;
}

.secondary-media img,
.hero-secondary .secondary-story img,
.hero-secondary .secondary-media img {
  width: 100%;
  height: 100%;
  aspect-ratio: auto !important;
  object-fit: cover;
  display: block;
}

@media (min-width: 1181px) {
  .hero-secondary .secondary-media {
    height: auto;
    min-height: 0;
    align-self: start;
    aspect-ratio: 5 / 6 !important;
  }
}


/* v0.1.107 — dedicated Gallery thumbnails fully replace the Featured Image.
   The media frame is explicitly isolated so no fallback image can show through. */
.hero-secondary .secondary-media.has-gallery-thumbnail {
  background: transparent;
}
.hero-secondary .secondary-media.has-gallery-thumbnail > img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}


/* v0.1.108 — stop the featured hero from bleeding into the secondary-story column.
   The previous desktop hero rule combined height:100% with an aspect-ratio. In the
   stretched CSS-grid row, that can make the hero derive a width from its height and
   overflow its own grid track into the 24px gap beside the 5:6 thumbnails. Constrain
   the hero to its grid track and let the shared grid-row height determine its height. */
@media (min-width: 1181px) {
  .hero-primary {
    min-width: 0;
    overflow: hidden;
  }

  .hero-primary .hero-story {
    width: 100%;
    max-width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    aspect-ratio: auto !important;
  }
}


/* v0.1.116 — deterministic editorial homepage artwork.
   Desktop featured hero = 6:5 (recommended Gallery image #2: 1500x1250).
   The three secondary stories stretch to exactly the same total height, so
   their stack remains flush with the hero at both the top and bottom. */
@media (min-width: 1181px) {
  .hero-grid {
    align-items: stretch;
  }

  .hero-primary {
    width: 100%;
    min-width: 0;
    aspect-ratio: 6 / 5;
    overflow: hidden;
  }

  .hero-primary .hero-story {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    aspect-ratio: auto !important;
  }

  .hero-secondary {
    height: 100%;
    min-height: 0;
    align-self: stretch;
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }

  .hero-secondary .secondary-story {
    height: 100%;
    min-height: 0;
    align-self: stretch;
  }
}

/* Gallery image #2 fully replaces the Featured Image when supplied. */
.hero-media.has-gallery-featured-hero > img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

/* v0.1.121 — homepage main-stream continuation and revised section order */
.latest-continuation-section {
  padding-top: 0;
  padding-bottom: 38px;
}

.latest-continuation-item,
.currentish-item,
.hidden-gem-item {
  min-width: 0;
}

.latest-continuation-item .editorial-card {
  height: 100%;
}

/* v0.1.124 — continuation cards are intentionally more compact than standard editorial cards. */
.latest-continuation-item .editorial-card-compact .editorial-body {
  padding-bottom: 14px;
}

.latest-continuation-item .editorial-card-compact .editorial-body p {
  margin-bottom: 0;
}

.currentish-section .card-body > .eyebrow,
.hidden-gems-section .card-body > .eyebrow,
.bens-radar-section .card-body > .eyebrow,
.editorial-body > .eyebrow {
  margin-bottom: 8px;
}

.currentish-section {
  padding-top: 36px;
  border-top: 1px solid #f0f2f5;
}

.hidden-gems-section {
  padding-top: 36px;
  border-top: 1px solid #f0f2f5;
}

@media (max-width: 680px) {
  .latest-continuation-section {
    padding-top: 0;
    padding-bottom: 32px;
  }

  .hidden-gems-section {
    padding-top: 32px;
  }
}

/* v0.1.125 — public Movie:/TV Show: tags become title hubs. */
[data-bmg-standard-tag-archive] .destination-header h1 {
  font-size: clamp(2.55rem, 4.4vw, 3.8rem);
  line-height: 1;
}

.archive-system-page.is-title-hub-page {
  padding-top: 22px;
}

.title-hub[hidden] { display: none !important; }
.title-hub-shell {
  width: min(calc(100% - 48px), 1180px);
  margin-inline: auto;
}

.title-hub-hero {
  margin: 0 0 34px;
  overflow: hidden;
  background: var(--surface);
}

.title-hub-hero img,
.title-hub-hero .image-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 1;
  object-fit: cover;
}

.title-hub-header {
  max-width: 900px;
  margin: 0 0 30px;
}

.title-hub-header > .eyebrow {
  display: inline-block;
  margin-bottom: 9px;
}

.title-hub-header h1 {
  margin: 0 0 12px;
  font-family: var(--serif);
  font-size: clamp(2.75rem, 5vw, 4rem);
  line-height: .98;
  letter-spacing: -.04em;
}

.title-hub-description {
  max-width: 760px;
  margin: 0 0 16px;
  color: var(--muted);
  font-family: var(--serif);
  font-size: 1.12rem;
  line-height: 1.52;
}

.title-hub-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 18px;
}

.title-hub-meta[hidden] { display: none !important; }

.title-hub-meta-item {
  display: inline-flex;
  align-items: baseline;
  gap: 9px;
  padding: 0 22px;
  border-left: 1px solid var(--line);
}

.title-hub-meta-item:first-child {
  padding-left: 0;
  border-left: 0;
}

.title-hub-meta-label {
  color: #778397;
  font-family: var(--sans);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.title-hub-meta-value {
  color: var(--ink);
  font-family: var(--sans);
  font-size: .94rem;
  font-weight: 850;
}

.title-hub-title-page {
  max-width: 1040px;
  padding-bottom: 44px;
}

.title-hub-take-slot:empty { display: none; }

.title-hub-take-shell.bmg-take-shell {
  width: 100%;
  margin: 0 0 30px;
  transform: none;
}

.title-hub-content.gh-content {
  width: min(100%, 760px);
  margin: 0;
  color: var(--ink);
  font-size: 1.08rem;
  line-height: 1.66;
}

.title-hub-content .kg-gallery-card {
  display: none !important;
}

.title-hub-content > .kg-embed-card {
  width: min(100%, 760px);
  margin: 34px 0 0;
}

.title-hub-content > .kg-embed-card iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
}

.title-hub-rating.bmg-rating {
  width: min(100%, 1040px);
  margin: 36px 0 0;
}

.title-hub-more {
  padding-top: 34px;
  border-top: 1px solid var(--line);
}

.title-hub-more[hidden] { display: none !important; }

.title-hub-more-heading {
  margin-bottom: 22px;
}

.title-hub-more-heading .eyebrow {
  display: inline-block;
  margin-bottom: 9px;
}

.title-hub-more-heading h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(2rem, 3.5vw, 2.8rem);
  line-height: 1;
  letter-spacing: -.035em;
}

.title-hub-more-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.title-hub-more-card {
  min-width: 0;
}

.title-hub-more-media {
  display: block;
  overflow: hidden;
  margin-bottom: 14px;
  background: var(--surface);
}

.title-hub-more-media img,
.title-hub-more-media .image-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.title-hub-more-copy .eyebrow {
  display: inline-block;
  margin-bottom: 7px;
}

.title-hub-more-copy h3 {
  margin: 0 0 9px;
  font-family: var(--serif);
  font-size: clamp(1.45rem, 2vw, 1.8rem);
  line-height: 1.04;
  letter-spacing: -.025em;
}

.title-hub-more-copy p {
  margin: 0;
  color: var(--muted);
  font-size: .94rem;
  line-height: 1.52;
}

@media (max-width: 900px) {
  .title-hub-more-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .archive-system-page.is-title-hub-page {
    padding-top: 14px;
  }

  .title-hub-shell {
    width: min(calc(100% - 32px), 1180px);
  }

  .title-hub-hero {
    margin-bottom: 26px;
  }

  .title-hub-header {
    margin-bottom: 24px;
  }

  .title-hub-header h1 {
    font-size: clamp(2.35rem, 11vw, 3.1rem);
  }

  .title-hub-description {
    font-size: 1rem;
  }

  .title-hub-meta-item {
    padding: 0 14px;
  }

  .title-hub-title-page {
    padding-bottom: 34px;
  }

  .title-hub-take-shell.bmg-take-shell {
    width: 100%;
    margin-bottom: 24px;
  }

  .title-hub-content.gh-content {
    width: 100%;
    font-size: 1.03rem;
  }

  .title-hub-rating.bmg-rating {
    width: 100%;
  }

  .title-hub-more-grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }
}

.title-hub-take-shell .bmg-take-card {
  width: auto;
  max-width: none;
  margin: 0;
  transform: none;
}

/* v0.1.126: compact movie/show destinations, separate from article layouts. */
.archive-system-page.is-title-hub-page { padding-top: 0; overflow: clip; }
.title-hub-shell { width: min(calc(100% - 48px), 1220px); }
.title-hub-hero { width: 100vw; margin: 0 0 26px; margin-left: calc(50% - 50vw); }
.title-hub-hero img { aspect-ratio: auto; height: auto; object-fit: contain; }
.title-hub-header { max-width: none; margin-bottom: 24px; }
.title-hub-header h1 { line-height: 1.08; }
.title-hub-description { max-width: 1000px; }
.title-hub-meta { margin-top: 14px; }
.title-hub-meta-item { align-items: center; }
.title-hub-meta-value { padding: 5px 14px; border-radius: 20px; background: #f0f3f7; }
.title-hub-title-page { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; max-width: none; align-items: start; padding-bottom: 28px; }
.title-hub-title-page.has-poster { grid-template-columns: minmax(160px, .65fr) minmax(0, 1.2fr); }
.title-hub-title-page.has-trailer { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.title-hub-title-page.has-poster.has-trailer { grid-template-columns: minmax(160px, .65fr) minmax(0, 1.2fr) minmax(0, 1fr); }
.title-hub-poster { margin: 0; }
.title-hub-poster img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: contain; border-radius: 3px; }
.title-hub-summary { min-width: 0; }
.title-hub-take-slot { padding: 20px; background: #f4f7fa; border: 1px solid #e9eef5; border-radius: 4px; }
.title-hub-take-shell.bmg-take-shell { display: block; margin: 0; background: none; border: 0; box-shadow: none; }
.title-hub-take-shell .bmg-take-card.kg-callout-card { display: block; padding: 0; background: none; border: 0; box-shadow: none; }
.title-hub-take-shell .kg-callout-text { font-family: var(--serif); font-size: 1.2rem; line-height: 1.36; font-weight: 400; }
.title-hub-take-shell .kg-callout-text p { margin: 0; }
.title-hub-take-shell .bmg-take-label { display: block; margin-bottom: 12px; color: var(--bmg-accent); }
.title-hub-review-link { display: block; margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--line); color: var(--bmg-accent); font-family: var(--serif); }
.title-hub-rating.bmg-rating { width: 100%; margin: 14px 0 0; padding: 16px; color: var(--ink); background: #f4f7fa; border-radius: 4px; box-shadow: none; transform: none; }
.title-hub-rating .bmg-rating-heading { display: block; margin-bottom: 12px; }
.title-hub-rating .bmg-rating-heading strong { color: var(--ink); font-size: .65rem; letter-spacing: .08em; text-align: left; white-space: normal; }
.title-hub-rating .bmg-rating-heading > span { display: none; }
.title-hub-rating .bmg-rating-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; padding: 0; }
.title-hub-rating .bmg-rating-rail::before { display: none; }
.title-hub-rating .bmg-rating-option { padding: 0; min-width: 0; }
.title-hub-rating .bmg-rating-pill { display: flex; flex-direction: column; justify-content: center; gap: 9px; min-height: 92px; height: 100%; padding: 10px 4px; border: 0; border-radius: 4px; background: #fafbfd; color: #7f8ba0; font-size: .61rem; line-height: 1.3; white-space: normal; box-shadow: none; text-align: center; }
.title-hub-rating .bmg-rating-option.is-selected .bmg-rating-pill { background: #dce8ff; color: #092f78; border: 0; box-shadow: none; }
.title-hub-rating .bmg-rating-icon { width: 25px; height: 25px; flex-basis: 25px; }
.title-hub-rating .bmg-rating-option.is-selected .bmg-rating-icon { color: var(--bmg-accent); }
.title-hub-rating .bmg-rating-option p { display: none; }
.title-hub-trailer { min-width: 0; }
.title-hub-trailer > h2 { margin: 0 0 10px; font-size: .8rem; }
.title-hub-trailer .kg-embed-card { display: block; width: 100%; margin: 0; }
.title-hub-trailer .kg-embed-card > div { width: 100%; }
.title-hub-trailer iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
.title-hub-more { padding-top: 22px; }
.title-hub-more-heading > .eyebrow { display: none; }
.title-hub-more-heading h2 { font-size: clamp(1.65rem, 2.5vw, 2.1rem); line-height: 1.15; }
.title-hub-more-card { display: block; min-width: 0; }
.title-hub-coverage-grid .editorial-card { display: flex; flex-direction: column; }
.title-hub-coverage-grid .editorial-media { height: auto; aspect-ratio: 16 / 9; }
.title-hub-recommendations { margin-top: 38px; }
.title-hub-more-media { margin: 0; }
.title-hub-more-copy h3 { font-size: 1.08rem; line-height: 1.15; }
.title-hub-more-copy p { font-size: .8rem; line-height: 1.45; }
.title-hub-more-copy .eyebrow { font-size: .6rem; }
@media (max-width: 1000px) {
  .title-hub-title-page.has-poster.has-trailer { grid-template-columns: minmax(150px, .6fr) minmax(0, 1.4fr); }
  .title-hub-title-page.has-poster .title-hub-trailer { grid-column: 2; }
  .title-hub-more-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .title-hub-shell { width: calc(100% - 32px); }
  .title-hub-header h1 { font-size: clamp(2rem, 9vw, 3rem); }
  .title-hub-title-page.has-poster.has-trailer,
  .title-hub-title-page.has-poster,
  .title-hub-title-page.has-trailer { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .title-hub-title-page.has-poster .title-hub-trailer { grid-column: auto; }
  .title-hub-poster { width: 160px; justify-self: center; }
  .title-hub-take-shell .kg-callout-text { font-size: 1.12rem; }
  .title-hub-more-grid { grid-template-columns: minmax(0, 1fr); }
}


/* v0.1.138 — stacked content type + custom eyebrow on section/archive cards */
.content-type-label {
  display:block;
  margin:0 0 5px;
  color:#8b95a5;
  font-size:.62rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.card-body > .content-type-label,
.editorial-body > .content-type-label,
.archive-feed-copy > .content-type-label,
.destination-lead-copy > .content-type-label,
.pick-copy > .content-type-label,
.previous-pick > div > .content-type-label {
  margin-bottom:6px;
}

.card-body > .content-type-label + .eyebrow,
.editorial-body > .content-type-label + .eyebrow,
.archive-feed-copy > .content-type-label + .eyebrow,
.destination-lead-copy > .content-type-label + .eyebrow,
.pick-copy > .content-type-label + .eyebrow,
.previous-pick > div > .content-type-label + .eyebrow {
  display:block;
}

/* v0.1.141 — keep continuation copy below the image on phones. */
@media (max-width: 680px) {
  .latest-continuation-item .editorial-card {
    display: flex;
    flex-direction: column;
    height: auto;
  }
  .latest-continuation-item .editorial-media {
    height: auto;
    aspect-ratio: 16 / 9;
    flex-shrink: 0;
  }
}


/* v0.1.144 — editorial destination headers for top-level menu pages */
.destination-archive-page .destination-header {
  max-width: 820px;
  margin: 2px 0 34px;
  padding-bottom: 34px;
  border-bottom: 1px solid var(--line);
}

.destination-archive-page .destination-header .destination-section-eyebrow {
  display: block;
  margin: 0 0 12px;
  color: var(--bmg-accent);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1;
  text-transform: uppercase;
}

.destination-archive-page .destination-header h1 {
  margin: 0 0 14px;
  font-family: var(--serif);
  font-size: clamp(3rem, 4.8vw, 4.25rem);
  line-height: .96;
  letter-spacing: -.045em;
}

.destination-archive-page .destination-header p {
  max-width: 680px;
  margin: 0;
  color: var(--muted);
  font-family: var(--serif);
  font-size: 1.12rem;
  line-height: 1.5;
}

.destination-archive-page .destination-header::after {
  content: "";
  display: block;
  width: 72px;
  height: 4px;
  margin-top: 18px;
  background: var(--bmg-accent);
}

@media (max-width: 760px) {
  .destination-archive-page .destination-header {
    margin-bottom: 26px;
    padding-bottom: 26px;
  }

  .destination-archive-page .destination-header .destination-section-eyebrow {
    margin-bottom: 10px;
    font-size: .68rem;
  }

  .destination-archive-page .destination-header h1 {
    font-size: 2.7rem;
    margin-bottom: 12px;
  }

  .destination-archive-page .destination-header p {
    font-size: 1rem;
    line-height: 1.48;
  }

  .destination-archive-page .destination-header::after {
    width: 58px;
    height: 3px;
    margin-top: 16px;
  }
}

/* v0.1.146 — mobile hero: headline over artwork, summary below. */
@media (max-width: 680px) {
  .header-inner { min-height: 68px; grid-template-columns: minmax(0, 1fr) 32px 42px; gap: 12px; }
  .header-inner .brand { min-width: 0; width: 100%; }
  .header-inner .brand-logo { width: 240px; max-width: 100%; height: auto; max-height: 52px; }
  .homepage .hero-section { padding-top: 0; }
  .homepage .hero-grid { width: 100%; gap: 14px; }
  .homepage .hero-primary .hero-story {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    height: auto;
    min-height: 0;
    aspect-ratio: auto;
    background: #fff;
  }
  .homepage .hero-media {
    position: relative;
    grid-column: 1;
    grid-row: 1;
    aspect-ratio: 1.65 / 1;
    height: auto;
    min-height: 100%;
  }
  .homepage .hero-overlay { background: linear-gradient(180deg, transparent 30%, rgba(5, 10, 18, .82) 100%); }
  .homepage .hero-copy { display: contents; }
  .homepage .hero-headline {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    z-index: 2;
    padding: 64px 20px 16px;
    color: #fff;
    pointer-events: none;
  }
  .homepage .hero-headline a { pointer-events: auto; }
  .homepage .hero-copy h1 { font-size: clamp(1.65rem, 6.4vw, 2.5rem); line-height: 1.04; margin: 8px 0 0; }
  .homepage .hero-summary { grid-column: 1; grid-row: 2; padding: 14px 20px 14px; background: #fff; }
  .homepage .hero-summary p { font-family: var(--sans); font-size: .95rem; line-height: 1.45; color: var(--muted); margin: 0 0 14px; }
  .homepage .hero-secondary { margin-inline: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
}

/* v0.1.147 — original stacked artwork, framed tightly for mobile. */
.brand-mobile-stacked { display: none; }
@media (max-width: 680px) {
  .header-inner { min-height: 80px; }
  .header-inner .brand { display: flex; align-items: center; overflow: visible; }
  .header-inner .brand > .brand-logo { display: none; }
  .header-inner .brand-mobile-stacked {
    display: block;
    position: relative;
    overflow: hidden;
    width: 160px;
    max-width: 100%;
    aspect-ratio: 1450 / 540;
  }
  .header-inner .brand-mobile-stacked img {
    position: absolute;
    width: 141.2414%;
    max-width: none;
    height: auto;
    left: -20.6897%;
    top: -12.963%;
  }
}

/* v0.1.149 — reliable Movie:/TV Show: title hubs.
   The tag template now fetches its canonical #title-only post explicitly.
   These overrides match the approved title-hub composition and prevent a
   fallback 16:9 Gallery image from expanding the banner vertically. */
.archive-system-page.is-title-hub-page {
  padding-top: 0;
  overflow: clip;
}

.title-hub-shell {
  width: min(calc(100% - 48px), 1220px);
  margin-inline: auto;
}

.title-hub-hero {
  width: 100vw;
  aspect-ratio: 3 / 1;
  margin: 0 0 26px;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  background: #e9edf2;
}

.title-hub-hero img,
.title-hub-hero .image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 1;
  object-fit: cover;
  object-position: center;
}

.title-hub-header {
  max-width: none;
  margin: 0 0 24px;
}

.title-hub-header > .eyebrow {
  margin-bottom: 8px;
}

.title-hub-header h1 {
  margin-bottom: 8px;
  font-size: clamp(2.7rem, 4.6vw, 4.25rem);
  line-height: 1.02;
}

.title-hub-description {
  max-width: 980px;
  margin-bottom: 12px;
  font-size: 1.08rem;
  line-height: 1.45;
}

.title-hub-meta {
  margin-top: 13px;
}

.title-hub-meta-item {
  align-items: center;
}

.title-hub-meta-value {
  padding: 5px 14px;
  border-radius: 999px;
  background: #f0f3f7;
}

.title-hub-title-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 28px;
  max-width: none;
  align-items: start;
  padding-bottom: 30px;
}

.title-hub-title-page.has-poster {
  grid-template-columns: minmax(175px, .68fr) minmax(0, 1.25fr);
}

.title-hub-title-page.has-trailer {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
}

.title-hub-title-page.has-poster.has-trailer {
  grid-template-columns: minmax(175px, .65fr) minmax(0, 1.2fr) minmax(0, 1fr);
}

.title-hub-poster {
  margin: 0;
}

.title-hub-poster img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  border-radius: 3px;
}

.title-hub-summary {
  min-width: 0;
}

.title-hub-take-slot {
  padding: 20px;
  background: #f4f7fa;
  border: 1px solid #e9eef5;
  border-radius: 4px;
}

.title-hub-take-shell.bmg-take-shell {
  display: block;
  margin: 0;
  background: none;
  border: 0;
  box-shadow: none;
}

.title-hub-take-shell .bmg-take-card.kg-callout-card {
  display: block;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
}

.title-hub-take-shell .kg-callout-text {
  font-family: var(--serif);
  font-size: 1.18rem;
  line-height: 1.34;
  font-weight: 400;
}

.title-hub-take-shell .bmg-take-label {
  display: block;
  margin-bottom: 10px;
  color: var(--bmg-accent);
}

.title-hub-review-link {
  display: block;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  color: var(--bmg-accent);
  font-family: var(--serif);
}

.title-hub-rating.bmg-rating {
  width: 100%;
  margin: 14px 0 0;
  padding: 16px;
  color: var(--ink);
  background: #f4f7fa;
  border-radius: 4px;
  box-shadow: none;
  transform: none;
}

.title-hub-trailer {
  min-width: 0;
}

.title-hub-trailer > h2 {
  margin: 0 0 10px;
  font-size: .8rem;
}

.title-hub-trailer .kg-embed-card,
.title-hub-trailer .kg-embed-card > div {
  display: block;
  width: 100%;
  margin: 0;
}

.title-hub-trailer iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border: 0;
}

.title-hub-more {
  padding-top: 22px;
  border-top: 1px solid var(--line);
}

.title-hub-more-heading > .eyebrow {
  display: none;
}

.title-hub-more-heading h2 {
  font-size: clamp(1.65rem, 2.5vw, 2.1rem);
  line-height: 1.15;
}

.title-hub-coverage-grid {
  margin-top: 16px;
}

.title-hub-more-card {
  min-width: 0;
}

.title-hub-coverage-grid .editorial-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.title-hub-coverage-grid .editorial-media {
  height: auto;
  aspect-ratio: 16 / 9;
}

@media (max-width: 1000px) {
  .title-hub-title-page.has-poster.has-trailer {
    grid-template-columns: minmax(150px, .6fr) minmax(0, 1.4fr);
  }

  .title-hub-title-page.has-poster .title-hub-trailer {
    grid-column: 2;
  }
}

@media (max-width: 680px) {
  .title-hub-shell {
    width: calc(100% - 32px);
  }

  .title-hub-hero {
    margin-bottom: 20px;
  }

  .title-hub-header h1 {
    font-size: clamp(2rem, 9vw, 3rem);
  }

  .title-hub-description {
    font-size: 1rem;
  }

  .title-hub-title-page.has-poster.has-trailer,
  .title-hub-title-page.has-poster,
  .title-hub-title-page.has-trailer {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .title-hub-title-page.has-poster .title-hub-trailer {
    grid-column: auto;
  }

  .title-hub-poster {
    width: min(190px, 55vw);
    justify-self: center;
  }

  .title-hub-take-shell .kg-callout-text {
    font-size: 1.1rem;
  }
}


/* v0.1.151 — title-hub related coverage scales to the actual article count.
   One article becomes an intentional wide feature, two become equal columns,
   and three or more retain the established compact grid treatment. */
.title-hub-coverage-grid.is-single {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.title-hub-coverage-grid.is-single .title-hub-more-card .editorial-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: 280px;
  align-items: stretch;
}

.title-hub-coverage-grid.is-single .editorial-media {
  height: 100%;
  min-height: 280px;
  aspect-ratio: auto;
}

.title-hub-coverage-grid.is-single .editorial-body {
  justify-content: center;
  padding: 28px 32px;
}

.title-hub-coverage-grid.is-single .editorial-body h3 {
  font-size: clamp(1.55rem, 2.25vw, 2rem);
  line-height: 1.08;
}

.title-hub-coverage-grid.is-single .editorial-body p {
  font-size: .95rem;
  line-height: 1.5;
  margin-bottom: 22px;
}

.title-hub-coverage-grid.is-pair {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.title-hub-coverage-grid.is-pair .editorial-card {
  height: 100%;
}

.title-hub-coverage-grid.is-pair .editorial-body {
  padding: 20px 22px 22px;
}

.title-hub-coverage-grid.is-pair .editorial-body h3 {
  font-size: clamp(1.35rem, 1.8vw, 1.65rem);
}

/* Preserve the existing 3+ coverage-card feel even though the shared partial
   now includes its normal read link for the single/two-card layouts. */
.title-hub-coverage-grid.is-multi .editorial-body .text-link {
  display: none;
}

.title-hub-coverage-grid.is-multi .editorial-body p {
  margin-bottom: 0;
}

@media (max-width: 760px) {
  .title-hub-coverage-grid.is-single .title-hub-more-card .editorial-card,
  .title-hub-coverage-grid.is-pair {
    grid-template-columns: minmax(0, 1fr);
  }

  .title-hub-coverage-grid.is-single .editorial-media {
    min-height: 0;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .title-hub-coverage-grid.is-single .editorial-body {
    padding: 20px;
  }
}


/* v0.1.153 — replace newsletter signup with footer question */
.footer-question {
  align-self: start;
  padding-top: 20px;
}

.footer-question p {
  margin: 0;
  max-width: 390px;
  color: #111;
  font-family: var(--sans);
  font-size: 2.35rem;
  line-height: 1.12;
  font-style: normal;
  font-weight: 400;
  letter-spacing: -0.025em;
}

@media (max-width: 1180px) {
  .footer-question p {
    font-size: 2.1rem;
  }
}

@media (max-width: 900px) {
  .footer-question {
    padding-top: 0;
  }

  .footer-question p {
    max-width: 360px;
    font-size: 2rem;
  }
}

@media (max-width: 680px) {
  .footer-question p {
    font-size: 1.9rem;
  }
}

/* v0.1.154 — New on Ben’s Radar: three vertical 4:5 editorial cards. */
.bens-radar-section { padding-top:36px; padding-bottom:36px; }
.bens-radar-grid { gap:26px; }
.bens-radar-section .radar-card .card-media { aspect-ratio:4 / 5; }
.bens-radar-section .radar-card .card-media img,
.bens-radar-section .radar-card .card-media .image-placeholder { width:100%; height:100%; object-fit:cover; }

@media (max-width: 900px) {
  .bens-radar-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 640px) {
  .bens-radar-grid { grid-template-columns:1fr; }
}

/* v0.1.162 — Ben’s Radar cards: overlay eyebrow, title, and excerpt on the 4:5 image. */
.bens-radar-item { min-width:0; }
.bens-radar-section .radar-card {
  position:relative;
  overflow:hidden;
  background:#0b1220;
}
.bens-radar-section .radar-card .card-media {
  position:relative;
  aspect-ratio:4 / 5;
}
.bens-radar-section .radar-card .card-media::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    rgba(5,10,18,0) 38%,
    rgba(5,10,18,.12) 52%,
    rgba(5,10,18,.60) 72%,
    rgba(5,10,18,.93) 100%
  );
}
.bens-radar-section .radar-card .card-body {
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:0;
  padding:0 20px 20px;
  color:#fff;
  pointer-events:none;
}
.bens-radar-section .radar-card .card-body > .eyebrow {
  display:block;
  margin:0 0 8px;
  color:#63a2ff;
  text-shadow:0 1px 8px rgba(0,0,0,.38);
}
.bens-radar-section .radar-card .card-body h3 {
  margin:0 0 8px;
  color:#fff;
  font-size:1.25rem;
  line-height:1.12;
  letter-spacing:-.025em;
  text-shadow:0 1px 10px rgba(0,0,0,.45);
}
.bens-radar-section .radar-card .card-body h3 a {
  color:#fff;
  pointer-events:auto;
}
.bens-radar-section .radar-card .card-body h3 a:hover {
  color:#fff;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.bens-radar-section .radar-card .card-body p {
  margin:0;
  color:rgba(255,255,255,.88);
  font-size:.84rem;
  line-height:1.42;
  text-shadow:0 1px 8px rgba(0,0,0,.38);
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}

@media (max-width:900px) {
  .bens-radar-section .radar-card .card-body { padding:0 22px 22px; }
  .bens-radar-section .radar-card .card-body h3 { font-size:1.32rem; }
  .bens-radar-section .radar-card .card-body p { font-size:.88rem; }
}

@media (max-width:640px) {
  .bens-radar-section .radar-card .card-body { padding:0 20px 20px; }
  .bens-radar-section .radar-card .card-body h3 { font-size:1.36rem; }
}



/* v0.1.163 — concise homepage section explainers beside section titles. */
.section-heading-title {
  display:flex;
  align-items:baseline;
  min-width:0;
  gap:16px;
}
.section-description {
  display:inline-flex;
  align-items:center;
  color:var(--muted);
  font-family:var(--sans);
  font-size:.84rem;
  font-weight:400;
  line-height:1.25;
  letter-spacing:0;
  white-space:nowrap;
}
.section-description::before {
  content:"";
  width:1px;
  height:1.15em;
  margin-right:16px;
  background:var(--line);
  flex:0 0 auto;
}

@media (max-width:900px) {
  .section-heading-title {
    flex-wrap:wrap;
    column-gap:12px;
    row-gap:6px;
  }
  .section-description {
    font-size:.8rem;
  }
  .section-description::before {
    margin-right:12px;
  }
}

@media (max-width:680px) {
  .section-heading {
    align-items:flex-start;
  }
  .section-heading-title {
    display:block;
  }
  .section-description {
    display:block;
    margin-top:6px;
    white-space:normal;
    font-size:.76rem;
    line-height:1.35;
  }
  .section-description::before {
    display:none;
  }
}

/* v0.1.168 — center the top editorial View All in the whitespace between the feature rows. */
@media (min-width: 1181px) {
  .hero-view-all {
    top: calc(100% + 15px);
    bottom: auto;
    transform: translateY(-50%);
  }
}
