:root {
  --bg:#f1f3eb; --surface:#fbfcf7; --surface-2:#dce5dc; --text:#243c36; --muted:#526b61;
  --accent:#28685e; --on-accent:#ffffff; --line:#bdcdc2; --link:#236359;
  --hero-text:#203e36; --hero-muted:#3d5c51; --hero-shade:none; --hero-position:52% center;
  --display:Manrope,sans-serif; --button-radius:30px; color-scheme:light;
}
button:focus-visible,a:focus-visible,input:focus-visible { outline-color:var(--link); }
.brand strong { font-weight:750; font-size:1.18rem; }
.hero { min-height:740px; background:#e4ebe1; }
.hero-layout { width:min(1000px,calc(100% - 64px)); display:block; text-align:center; padding:55px 0 50px; margin:0 auto; }
.hero-copy { max-width:830px; margin:auto; }
.hero h1 { font-size:clamp(3.1rem,5.4vw,4.8rem); font-weight:650; line-height:1.15; max-width:18ch; margin:auto; }
.hero .lead { max-width:52ch; margin:25px auto 0; }
.hero-actions { justify-content:center; }
.hero-story,.hero-bottom { display:none; }
.hero-media { position:relative; inset:auto; order:2; z-index:auto; width:calc(100% - 64px); height:300px; margin:0 auto 32px; }
.hero-media img { object-position:center 57%; }
.genre-strip { background:var(--bg); color:var(--link); font-size:.82rem; font-family:Manrope,sans-serif; border-bottom:1px solid var(--line); }
.station-identity { border-radius:50%; width:66px; height:66px; }
.station-card h2,.station-card h3 { font-size:1.3rem; font-weight:750; }
.section-head h2,.editorial-copy h2,.discover-section h2 { font-size:clamp(2rem,3.4vw,3rem); line-height:1.2; font-weight:650; }
.journal-card h2,.journal-card h3 { font-size:1.45rem; font-weight:700; }
.editorial-media { order:2; }
.editorial-copy { order:1; }
.site-footer strong { font-size:1.65rem; font-weight:700; }
.player-shell { background:#e3ebe1; }
@media(max-width:640px) {
  .brand strong { font-size:.9rem; }
  .hero { min-height:0; }
  .hero-layout { width:calc(100% - 40px); padding:43px 0 35px; }
  .hero h1 { font-size:clamp(2.1rem,9.2vw,3.4rem); }
  .hero .lead { font-size:.86rem; }
  .hero-actions { gap:12px; }
  .hero-media { width:calc(100% - 32px); height:260px; margin-bottom:16px; }
  .genre-strip { font-size:.74rem; }
  .station-identity { width:54px; height:54px; }
  .station-card h2,.station-card h3 { font-size:1.14rem; }
  .editorial-media { order:1; }
  .editorial-copy { order:2; }
}
