/* Frank Legacy — Enhanced Desktop Layouts v1
   Wide-screen museum composition only. Mobile and tablet behavior remains unchanged. */

@media (min-width:1180px){
  /* Let desktop breathe without turning paragraphs into ultra-wide text lines. */
  body[data-page] .site-header,
  body[data-page] .topbar{width:min(1500px,calc(100% - 2.5rem));margin-left:auto;margin-right:auto}
  body[data-page] main{width:min(1280px,calc(100% - 3rem));padding-top:1.25rem;padding-bottom:4rem}

  /* Larger editorial room openings. */
  body[data-page] :is(.hero-card,.hero){border-radius:38px}
  body[data-page] .hero-card{grid-template-columns:minmax(390px,.92fr) minmax(0,1.08fr);align-items:stretch}
  body[data-page] .hero-card .hero-copy{padding:clamp(2.1rem,3vw,3.25rem)}
  body[data-page] .hero-card :is(.hero-media,.hero-media img){min-height:39rem}
  body[data-page] .hero-card .hero-lede{max-width:62ch;font-size:clamp(1rem,1.1vw,1.16rem);line-height:1.65}

  /* Room panels should read as substantial museum displays on a wide screen. */
  body[data-page] section.panel{padding:1.55rem 1.65rem;margin:1.25rem 0;border-radius:29px}
  body[data-page] section.panel > :is(h2,.section-intro,.panel-lede){max-width:78ch}
  body[data-page] section.panel > h2{max-width:22ch}
  body[data-page] section.panel > :is(.section-intro,.panel-lede){font-size:1.02rem;line-height:1.65}
  body[data-page] section.panel > p:not([class]){max-width:82ch;line-height:1.68}

  /* Stronger grid rhythm: wide enough to compare objects, not so dense that it feels like a dashboard. */
  body[data-page] :is(.overview-grid,.feature-grid,.visual-grid,.source-grid,.next-links,.fact-grid,.honor-grid,.evidence-grid,.impact-grid,.method-grid,.journey-grid,.life-grid,.media-grid,.boundary-grid,.preserve-grid,.route-grid,.identity-grid,.status-grid,.representative-grid,.proof-map,.rule-grid){gap:1.05rem 1.1rem}
  body[data-page] :is(.source-grid,.evidence-grid,.representative-grid,.proof-map){grid-template-columns:repeat(auto-fit,minmax(275px,1fr))}
  body[data-page] :is(.fact-grid,.honor-grid,.status-grid,.method-grid){grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
  body[data-page] :is(.feature-grid,.impact-grid,.life-grid,.media-grid,.boundary-grid,.preserve-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-page] .visual-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body[data-page] .next-links{grid-template-columns:repeat(3,minmax(0,1fr))}

  /* Give photographs and archival objects more presence. */
  body[data-page] .visual-card img{height:20rem}
  body[data-page] .museum-figure img{max-height:46rem}
  body[data-page] :is(.visual-card,.museum-card,.feature-card,.story-card,.source-card,.honor-card,.fact-card,.life-card,.press-card,.journey-card,.evidence-card,.representative-card){border-radius:23px}

  /* Text blocks inside cards stay comfortably readable. */
  body[data-page] :is(.feature-card,.story-card,.source-card,.honor-card,.fact-card,.life-card,.press-card,.journey-card,.evidence-card,.representative-card,.museum-copy,.visual-copy){line-height:1.58}

  /* Press: make the thematic reputation layer read as a curated wall of six exhibits. */
  body[data-page="press-story"] .press-theme-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.05rem}
  body[data-page="press-story"] .press-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.05rem}
  body[data-page="press-story"] .press-theme-card{min-height:100%;padding:1.2rem}

  /* Voices: preserve the placard feel instead of squeezing quotes into too many columns. */
  body[data-page="voices-of-frank"] .quote-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem}
  body[data-page="voices-of-frank"] .quote-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
  body[data-page="voices-of-frank"] .quote-card{padding:1.4rem 1.45rem 1.35rem}
  body[data-page="voices-of-frank"] .quote-card blockquote{font-size:clamp(1.3rem,1.65vw,1.72rem);line-height:1.38}
  body[data-page="voices-of-frank"] .voice-browser{padding:1.55rem 1.65rem}

  /* Photo Gallery: three generous museum objects is stronger than a dense desktop catalog. */
  body[data-page="photo-gallery"] .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
  body[data-page="photo-gallery"] .museum-label{padding:1.15rem 1.2rem 1.25rem}

  /* Collectibles: the primary object becomes a true front/back object station. */
  body[data-page="cards-collectibles"] .museum-card.main-object{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);align-items:stretch}
  body[data-page="cards-collectibles"] .museum-card.main-object .museum-pair{align-self:stretch}
  body[data-page="cards-collectibles"] .museum-card.main-object .museum-copy{display:flex;flex-direction:column;justify-content:center;padding:1.45rem}

  /* Evidence room uses width for comparison rather than longer prose lines. */
  body[data-page="evidence-room"] :is(.source-grid,.proof-map,.representative-grid){grid-template-columns:repeat(3,minmax(0,1fr))}
  body[data-page="evidence-room"] .status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}

  /* Career room: a slightly wider timeline and stronger object row. */
  body[data-page="football-career"] .timeline{max-width:1060px}
  body[data-page="football-career"] .journey-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

  /* Awards benefits from comparison; cards remain large enough to preserve source boundaries. */
  body[data-page="awards-room"] .honor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}

  /* Narrative rooms use a wide but controlled comparison layout. */
  body[data-page="dubois-roots"] .identity-grid{grid-template-columns:1.22fr .78fr}
  body[data-page="kentucky-years"] .overview-grid,
  body[data-page="cardinals-years"] .overview-grid{grid-template-columns:1.18fr .82fr}

  /* Home is the lobby: slightly wider than an individual reading room. */
  body[data-page="home"] main{width:min(1380px,calc(100% - 3rem))}
}

@media (min-width:1280px){
  /* Integrate the sticky section rail into the desktop composition rather than shrinking the exhibit beside it. */
  body[data-room-contents="v1"] main:has(> .room-contents-desktop){
    width:min(1510px,calc(100% - 2.5rem));
    grid-template-columns:258px minmax(0,1fr);
    column-gap:1.7rem;
  }
  body[data-room-contents="v1"] .room-contents-desktop{top:5.4rem;padding:.95rem;border-radius:24px}
  body[data-room-contents="v1"] .room-contents-item a{padding:.46rem .48rem;font-size:.77rem;line-height:1.3}
}

@media (min-width:1480px){
  body[data-room-contents="v1"] main:has(> .room-contents-desktop){
    width:min(1580px,calc(100% - 3rem));
    grid-template-columns:270px minmax(0,1fr);
    column-gap:2rem;
  }
  body[data-page] section.panel{padding:1.75rem 1.9rem}
  body[data-page] .hero-card :is(.hero-media,.hero-media img){min-height:42rem}
  body[data-page] .hero-card .hero-copy{padding:3rem 3.35rem}
  body[data-page] .visual-card img{height:22rem}
}

@media (min-width:1760px){
  body[data-room-contents="v1"] main:has(> .room-contents-desktop){
    width:min(1660px,calc(100% - 4rem));
    grid-template-columns:280px minmax(0,1fr);
    column-gap:2.25rem;
  }
  body[data-page="home"] main{width:min(1500px,calc(100% - 4rem))}
  body[data-page] .site-header,
  body[data-page] .topbar{width:min(1640px,calc(100% - 4rem))}
}

@media (prefers-reduced-motion:reduce){
  body[data-desktop-layout="v1"] *{scroll-behavior:auto!important}
}
