.hero-podcast {display:inline-block; margin-top:12px; color:var(--brand); text-decoration:underline; text-underline-offset:5px}
.podcast-feature {border-bottom:1px solid var(--rule); background:#eee7f2}
.podcast-layout {display:grid; grid-template-columns:1.2fr 1fr; gap:8vw; align-items:end; margin-top:30px}
.podcast-layout h2 {font-size:clamp(44px,5.5vw,88px); max-width:650px; line-height:1.03}
.podcast-layout p {max-width:440px; font-size:16px; line-height:1.7; margin-bottom:24px}
.detail-page {min-height:70vh; padding-top:90px; padding-bottom:100px}
.detail-page>h1 {font-family:var(--serif); color:var(--brand); font-size:clamp(50px,8vw,120px); line-height:1.03; letter-spacing:-.045em; max-width:1100px; margin:28px 0 56px}
.detail-grid {display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.2fr); gap:8vw; align-items:start}
.detail-portrait {width:100%; height:auto; max-width:430px}
.prose {max-width:850px; font-size:17px; line-height:1.8; overflow-wrap:anywhere}
.prose h2 {font-size:clamp(28px,3vw,43px); line-height:1.2; color:var(--brand); margin:44px 0 18px}
.prose p {margin-bottom:24px}
.prose a:not(.button) {text-decoration:underline; text-underline-offset:4px}
.prose .button {margin:4px 0 16px; font-size:14px}
.detail-lead {font-size:clamp(23px,2.8vw,34px); line-height:1.5}
.resource-detail {border-top:1px solid var(--rule); padding:6px 0 10px}
.resource-detail h2 {margin-top:26px}
.footer-bottom {flex-wrap:wrap; gap:15px}
@media(max-width:700px) {
  .podcast-layout,.detail-grid {grid-template-columns:1fr; gap:32px}
  .podcast-layout p {font-size:14px}
  .detail-page {padding-top:50px; padding-bottom:60px}
  .detail-page>h1 {font-size:clamp(45px,13vw,70px); margin-bottom:35px}
  .detail-portrait {max-width:300px}
  .prose {font-size:16px}
}
