/* One presentation standard for every format and all historical seasons.
 * Full originals remain uncropped; no editorial/scoring tier is changed. */
.rshof-season-profile[data-rshof-format-brand],
.rshof-show-profile[data-rshof-format-brand] {
  --rshof-format-color: var(--rshof-brand-deep);
  --rshof-format-accent: var(--rshof-brand-accent);
}
[data-rshof-format-brand] :is(.rshof-season-hero,.rshof-show-hero) {
  border: 1px solid var(--rshof-brand-accent); border-radius: 24px;
  background: linear-gradient(135deg,var(--rshof-brand-deep),#121723);
  color: #fff; padding: clamp(22px,4vw,52px); overflow: hidden;
}
[data-rshof-format-brand] :is(.rshof-season-hero,.rshof-show-hero) :is(h1,h2,p,dt,dd) { color: inherit; }
[data-rshof-format-brand] :is(.rshof-season-hero,.rshof-show-hero) :is(a,.rshof-eyebrow) { color: var(--rshof-brand-pale); }
[data-rshof-format-brand] .rshof-season-facts { background: #ffffff0e; border: 1px solid #ffffff28; border-radius: 18px; }
[data-rshof-format-brand] :is(.rshof-season-section,.rshof-show-section,.rshof-universal-news) {
  margin-block: 32px; padding: clamp(18px,3vw,32px); border: 1px solid #d9dee5;
  border-top: 4px solid var(--rshof-brand-accent); border-radius: 20px; background: #fff; color: #182131;
}
.rshof-universal-nav { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0; }
.rshof-universal-nav a { display:block; padding:12px 18px; border-radius:999px; background:var(--rshof-brand-deep,var(--rshof-a-color,#263550)); color:#fff; font-weight:700; text-decoration:none; }
.rshof-universal-nav a:hover { text-decoration:underline; text-underline-offset:4px; }
.rshof-universal-nav a:focus-visible { outline:3px solid #bd7500; outline-offset:3px; }
.rshof-universal-hero-image { margin:24px 0; overflow:hidden; border-radius:20px; background:#fff; }
.rshof-universal-hero-image img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; }
.rshof-universal-hero-image figcaption { padding:12px 18px; color:#182131; }
.rshof-universal-news__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.rshof-universal-news article { min-width:0; border:1px solid #dde1e6; border-radius:16px; overflow:hidden; }
.rshof-universal-news article img { display:block; width:100%; height:auto; }
.rshof-universal-news article :is(time,h3) { display:block; margin:14px 16px; }
.rshof-universal-news h3 { font-size:1.1rem; line-height:1.45; }
.rshof-universal-news a { color:inherit; }
[data-rshof-format-brand] .rshof-show-hero__image img { width:100%; height:auto; max-height:none; object-fit:contain; }
[data-rshof-format-brand] .rshof-season-cast__portrait img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
/* Large, full-photo cast cards replace the former compact B-format rows. */
.rshof-season-profile[data-rshof-format-brand] .rshof-season-cast {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; align-items:start;
}
.rshof-season-profile[data-rshof-format-brand] .rshof-season-cast > article {
  display:flex; flex-direction:column; align-items:stretch; gap:0; min-height:0; padding:0;
  overflow:hidden; border:1px solid #ffffff30; border-top:4px solid var(--rshof-brand-accent);
  border-radius:16px; background:var(--rshof-brand-deep); min-width:0;
}
.rshof-season-profile[data-rshof-format-brand] .rshof-season-cast > article > div { padding:18px; }
.rshof-season-profile[data-rshof-format-brand] .rshof-season-cast__portrait {
  width:100%; height:auto; max-height:none; border-radius:0; overflow:visible;
}
.rshof-season-profile[data-rshof-format-brand] .rshof-season-cast__portrait img {
  /* WordPress sizes=auto applies size containment with a 1500px fallback.
   * An explicit frame ratio prevents that fallback from becoming card height;
   * contain still displays the entire original, including landscape photos. */
  display:block; width:100%!important; height:auto!important; max-height:none; aspect-ratio:3/4!important; object-fit:contain!important;
  object-position:center!important;
  border-radius:0; margin:0;
}
.rshof-season-profile[data-rshof-format-brand] .rshof-season-cast__portrait .rshof-portrait-placeholder {
  width:100%; height:220px; border-radius:0;
}
.rshof-season-profile[data-rshof-format-brand] .rshof-season-cast h3 { font-size:1.15rem; line-height:1.4; }
.rshof-season-profile[data-rshof-format-brand] .rshof-season-cast__credit { font-size:.75rem; line-height:1.5; overflow-wrap:anywhere; }
.rshof-season-profile[data-rshof-format-brand] .rshof-season-cast__credit a { text-decoration:underline; }
.rshof-season-profile[data-rshof-format-brand] .rshof-season-cast > article > strong { margin:0 18px 18px; }
@media(max-width:1000px) { .rshof-season-profile[data-rshof-format-brand] .rshof-season-cast { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:700px) { .rshof-season-profile[data-rshof-format-brand] .rshof-season-cast { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } }
@media(max-width:420px) { .rshof-season-profile[data-rshof-format-brand] .rshof-season-cast { grid-template-columns:1fr; } }
@media(max-width:850px) { .rshof-universal-news__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px) {
  .rshof-universal-news__grid { grid-template-columns:1fr; }
  .rshof-universal-nav a { padding:10px 14px; font-size:.9rem; }
  [data-rshof-format-brand] :is(.rshof-season-hero,.rshof-show-hero) { padding:22px 16px; }
}
