/* Shared typography and locally served publisher screenshots. */
body, .article-body { font-size: 1rem; }
h1, h2, h3, .game-card h2, .game-brief h2 { letter-spacing: normal; }
.hero-lead, .article-header .hero-lead { font-size: 1rem; }
.main-nav, .button-small, .text-link, .breadcrumbs,
.hero-note p, .notice p, .section-heading p, .platform-tags > span,
.game-card > p:not(.eyebrow), .guide-card > p, .game-brief p,
.card-bottom > span, .compact-steps, .steps li, .faq-list summary, .faq-list p,
.sticky-box > .button, .sidebar-note, .contents li,
.trial-callout p:not(.eyebrow), .setup-card p, .referral-note p,
.health-summary, .health-state, .sources a,
.footer-grid p, .footer-grid nav { font-size: .875rem; }
.status, .eyebrow, .game-card > .eyebrow, .tag, .reading-time, .article-meta,
.game-brief small, .byline, .health-scope, .health-metrics dt,
.sources p, .footer-bottom, .preference-button, .brand-word small { font-size: .75rem; }
.game-hero.has-art { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 44px; }
.game-brief.has-art { min-width: 0; padding: 20px; }
.game-art { margin: 0 0 20px; width: 100%; }
.editorial-image { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; display: block; background: #102136; }
.game-art .editorial-image { border-radius: 15px; }
.game-art figcaption, .guide-art figcaption { color: #9cb1c5; font-size: .75rem; margin-top: 9px; line-height: 1.8; }
.card-art { display: block; margin: -24px -24px 22px; }
.card-art .editorial-image { border-radius: 0; }
.game-card:has(.card-art)::before { display: none; }
.guide-art { margin: 0 0 30px; }
.guide-art .editorial-image { border-radius: 18px; }
.screenshot-gallery { margin: 0 0 48px; }
.screenshot-gallery .section-heading { align-items: flex-end; }
.screenshot-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.screenshot-item { margin: 0; min-width: 0; border: 1px solid #2a4057; border-radius: 18px; overflow: hidden; background: #0c1a2a; }
.screenshot-item > a { display: block; overflow: hidden; }
.screenshot-link { position: relative; }
.screenshot-expand { position: absolute; inset-inline-end: 12px; bottom: 12px; padding: 3px 10px; border-radius: 8px; background: #061321e8; color: #e5f1fb; font-size: .75rem; }
.screenshot-kind { color: #75dacc; font-size: .75rem; }
.screenshot-item .editorial-image { transition: transform .2s ease; }
.screenshot-item > a:hover .editorial-image { transform: scale(1.025); }
.screenshot-item figcaption { padding: 15px 18px 18px; display: flex; flex-direction: column; gap: 8px; color: #bed0e0; font-size: .875rem; line-height: 1.9; }
.screenshot-credit { color: #91acbf; font-size: .75rem; }
.screenshot-credit a { color: var(--cyan); text-decoration: underline; text-underline-offset: 4px; }
.gallery-note { color: #92a9be; font-size: .75rem; margin-top: 16px; }
.image-source { display: block; color: var(--cyan); font-size: .75rem; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
@media (prefers-reduced-motion: reduce) {
  .screenshot-item .editorial-image { transition: none; }
  .screenshot-item > a:hover .editorial-image { transform: none; }
}
@media (max-width: 1050px) {
  .game-hero.has-art { gap: 28px; }
}
@media (max-width: 760px) {
  .screenshot-grid { gap: 16px; }
  .game-hero.has-art { grid-template-columns: 1fr; }
  .game-brief.has-art { display: flex; align-items: flex-start; gap: 0; padding: 18px; }
  .game-brief.has-art h2 { margin-bottom: 14px; }
  .game-brief.has-art p { margin-top: 14px; }
  .card-art { margin: -19px -19px 20px; }
  .main-nav { gap: 18px; flex-wrap: wrap; }
  .game-card .card-bottom { flex-direction: column; align-items: flex-start; }
  .card-bottom > span { max-width: 100%; }
  .game-card .text-link { font-size: .875rem; white-space: normal; }
}
@media (max-width: 480px) {
  .screenshot-grid { grid-template-columns: 1fr; }
  .card-art { margin: -24px -24px 20px; }
  .header-inner > .button { font-size: .75rem; }
}
