/* Original homepage, detail pass only: preserve composition, imagery and hierarchy. */
[hidden] { display: none !important; }
.mobile-login-hint, .mobile-login-arrow { display: none; }
.hero-button:focus-visible, .login:focus-visible, .subscribe:focus-visible {
  outline: 2px solid var(--red-dark);
  outline-offset: 4px;
}
.login, .subscribe { transition: background-color 180ms ease, border-color 180ms ease; }
.login:hover { background: #eeeee9; }
.subscribe:hover, .hero-button.primary:hover { background: #a32931; border-color: #a32931; }
.hero-button:active { transform: none; }
.motion-field[data-paused="true"] .track { animation-play-state: paused; }
.gallery-wall .card-copy p, .gallery-bottom .card-copy p { overflow-wrap: anywhere; }
.public-card-link { transform: none; }
.latest-wire-item time, .archive-folio { color: #696b6a; }
.latest-wire-label { color: #555b5e; }
.latest-wire-viewport { overflow-x: auto; scrollbar-width: thin; }
/* Reading ticker items must not require chasing a moving target. */
.trust-ledger .latest-wire-track { animation: none; transform: none; }
.latest-wire-set[aria-hidden="true"] { display: none; }
.latest-wire-title:focus-visible { outline: 2px solid var(--red-dark); outline-offset: 3px; }
a.latest-wire-title:hover { color: var(--red-dark); text-decoration: underline; text-underline-offset: 3px; }

@media (min-width: 1381px) {
  .gallery-bottom .card-inner { grid-template-columns: minmax(0, 54%) minmax(0, 1fr); }
  .gallery-bottom .module-card { min-height: 196px; }
  /* Same five columns; recover image space from the daily heading, not the weekly card. */
  .gallery-core .daily-card .card-number { display: inline-block; margin: 0 10px 0 0; font-size: 28px; vertical-align: -2px; }
  .gallery-core .daily-card .card-copy h3 { display: inline; font-size: 24px; }
  .gallery-split .card-inner { grid-template-columns: minmax(0, 1fr) minmax(76px, .46fr); }
  .gallery-split .module-card.compact .card-copy { padding: 12px; }
  .gallery-split .module-card.compact .card-copy h3 { font-size: 16px; white-space: normal; }
  .gallery-split .module-card.compact .card-copy p { font-size: 11px; line-height: 1.55; }
  .gallery-split .module-card.compact .card-rule { margin-block: 7px; }
}

@media (max-width: 1380px) {
  /* Below this breakpoint the original script flattens cards: target their actual parents. */
  .gallery-wall > .module-card .card-copy p { font-size: 13px; line-height: 1.65; }
  .gallery-wall > .module-card.compact .card-copy h3 { font-size: 20px; white-space: normal; }
  .gallery-wall > .module-card.compact .card-copy p { font-size: 13px; line-height: 1.65; }
  .gallery-wall > .module-card.daily-card { height: 320px !important; }
  .gallery-wall > .module-card .card-copy { flex: 0 0 auto; }
  .gallery-wall > .module-card .card-media { min-height: 110px; }
  .membership-pass-fact strong { font-size: 11px; }
}

@media (hover: none), (pointer: coarse) {
  .public-card-link { opacity: 1; pointer-events: auto; transform: none; min-height: 44px; }
}

@media (max-width: 820px) {
  /* Three equal, non-overlapping rails also on tablets and phones. */
  .motion-field { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 116px repeat(3, minmax(0, 1fr)) 92px; }
  .rail { position: relative; inset: auto; height: auto; min-height: 0; margin-left: 40vw; margin-right: -112vw; }
  .rail-policy { grid-column: 1; grid-row: 2; }
  .rail-fed { grid-column: 1; grid-row: 3; }
  .rail-market { grid-column: 1; grid-row: 4; }
}

@media (max-width: 620px) {
  .gallery-wall > .module-card.compact { height: 270px !important; }
  .gallery-wall > .module-card.daily-card { height: 290px !important; }
  .gallery-wall > .module-card .card-copy { padding: 19px 20px 13px; }
  .membership-pass-fact strong { font-size: 11px; white-space: normal; }
}

@media (max-width: 560px) {
  .hero-actions { display: grid; grid-template-columns: 1.12fr 1fr; gap: 8px 10px; }
  .hero-button { padding-inline: 10px; font-size: 11px; letter-spacing: .1em; white-space: nowrap; }
  .hero-button.member-login {
    grid-column: 1 / -1;
    justify-self: start;
    min-height: 44px;
    padding: 0;
    gap: 8px;
    border: 0;
    background: transparent;
    letter-spacing: .04em;
  }
  .hero-button.member-login:hover, .hero-button.member-login:focus-visible { transform: none; }
  .mobile-login-hint, .mobile-login-arrow { display: inline; }
  .mobile-login-hint { color: #697075; font-weight: 400; }
  .hero h1 { overflow-wrap: normal; }
  .support-line { letter-spacing: .035em; }
  .hero-copy { padding-bottom: 26px; }
  .rail { margin-left: 5vw; margin-right: -150vw; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-button:hover, .hero-button:focus-visible { transform: none; }
}

@media (max-width: 359px) {
  .gallery-wall > .module-card:not(.primary) { height: 290px !important; }
}
