/* Readability and shared patterns across the existing site. */
body .section { padding-block: clamp(3.5rem, 6vw, 6rem); }
body .research-block { margin-top: 2.5rem; }
body .research-block + .research-block { padding-top: 2.5rem; }
body .eyebrow, body .project-tag, body .rail-more, body .videos-more a,
body .reading-list-kicker, body .x-feature-expand, body .x-feature-open,
body .guide-note a, body .prose a, body .contact-intro a { color: #ef8278; }
body .video-date, body .guide-note, body .footer-links a { color: #bdb6b1; }
body .nav-links a { font-size: .75rem; color: #d2cbc6; letter-spacing: .08em; }
body .nav-links a:hover { color: #fff; }
body .about-copy h2 { max-width: none; }
body .hero-logo { max-width: 100%; }
body .start-section { background: linear-gradient(125deg,#120e11,#08080a); }
.start-intro { color: #c6bfba; max-width: 42rem; margin-bottom: 2rem; }
.starter-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; margin-bottom: 1.8rem; }
.starter-card { min-width: 0; padding: 1rem; background: #101011; border: 1px solid #393032; }
.starter-card .project-tag { margin: 0 0 .8rem; }
.starter-card h3 { font-size: 1.25rem; line-height: 1.25; margin: 1rem 0 .6rem; }
.starter-card > p:last-child { color: #beb7b2; font-size: .94rem; line-height: 1.6; }
.starter-card .video-media { display: block; aspect-ratio: 16/9; overflow: hidden; }
.starter-card .video-media img { width: 100%; height: 100%; object-fit: cover; }
.video-media iframe { width: 100%; height: 100%; border: 0; }
.text-link { display: inline-block; color: #ef8278; text-underline-offset: 4px; padding-block: .5rem; }
body .guide-section { background: #0c090e; }
body .guide-feature, body .guide-feature .guide-band { margin: 0; }
body .guide-copy > p { max-width: 60ch; }
body .rail-head { flex-wrap: wrap; gap: 1rem; }
.rail-controls { display: flex; gap: .5rem; }
.rail-controls[hidden] { display: none; }
.rail-controls button { min-width: 44px; min-height: 44px; border: 1px solid #9b5751; background: #171011; color: #f8eeeb; cursor: pointer; font-size: 1.3rem; }
.rail-controls button:disabled { opacity: .35; cursor: default; }
.rail-controls button:hover:not(:disabled) { background: #642724; }
body .rail-track { scrollbar-color: #b35d53 #171011; }
.rail-track:focus-visible, .rail-controls button:focus-visible, .curated-play:focus-visible { outline: 2px solid #f1aaa3; outline-offset: 4px; }
body .live-chat-cta { padding-block: 2.5rem; background: #100b0c; border-block: 1px solid #4b2726; }
.community-signal { display: flex; justify-content: center; align-items: center; gap: 1rem; color: #e88a80; font: 600 .7rem/1.5 ui-monospace,monospace; letter-spacing: .15em; margin-bottom: 1.2rem; }
.community-signal span { width: min(12vw,110px); height: 1px; background: #9d4c45; }
body .live-chat-copy h2 { font-size: clamp(1.5rem,3vw,2.2rem); }
body .live-chat-copy p { color: #c6bfba; }
body .live-chat-options { margin-top: 1.2rem; }
body .support-membership .patreon-band { grid-template-columns: minmax(0,1fr) 140px; padding: clamp(1.5rem,4vw,3rem); gap: 2rem; }
body .patreon-art { min-height: 0; padding: 0; }
body .patreon-art img { width: 110px; }
body .support-membership { margin-top: 2rem; }
body .site-common-nav { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: .65rem 1.2rem; }
body .site-common-nav a { display: inline-flex; align-items: center; min-height: 44px; color: #d8d0c9; font: 600 .75rem/1.3 ui-monospace,monospace; text-transform: uppercase; letter-spacing: .06em; text-decoration: none; }
body .site-common-nav a:hover { color: #fff; text-decoration: underline; text-underline-offset: 5px; }
.related-film, .free-source { display: block; margin-top: 1rem; color: #edaaa0; font-size: .9rem; text-underline-offset: 4px; line-height: 1.5; }
.resource-note { color: #bfb7ad; font-size: .9rem; }
@media(max-width: 760px) {
  .starter-grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .starter-card { padding: 1rem; }
  body .section { padding-block: 3rem; }
  body .rail-head .rail-more { margin-left: auto; }
  body .support-membership .patreon-band { grid-template-columns: 1fr; }
  body .patreon-art { display: none; }
  body header:has(> .site-common-nav), body header > div:has(> .site-common-nav) { flex-wrap: wrap; height: auto; }
  body .site-common-nav { width: 100%; justify-content: flex-start; gap: .2rem 1rem; }
  body .site-common-nav a { font-size: .7rem; }
  body header:has(.site-common-nav) { height: auto; min-height: 70px; }
}

/* Compact community artwork, preserving the complete image on phones. */
body .weekly-chat-art { display:block; width:min(100%, 780px); height:auto; margin:0 auto 1.4rem; border:1px solid #4b2726; border-radius:2px; }

/* Two distinct shows with equal visual weight. */
body .hero-releases { width: min(1080px, 100%); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2rem); align-items: start; }
.hero-feature { min-width: 0; text-align: left; }
body .hero-feature .hero-latest-label { text-align: left; min-height: 2.6rem; display: flex; flex-wrap: wrap; align-content: center; align-items: baseline; gap: .35rem .8rem; margin-bottom: .75rem; line-height: 1.6; font-size: .72rem; }
.hero-podcast .hero-latest-label span { color: #bdb6b1; font-size: .6rem; letter-spacing: .12em; }
body .hero-feature .hero-latest-card { text-align: left; }
body .hero-feature .video-title { font-size: clamp(1rem, 1.5vw, 1.18rem); line-height: 1.45; }
.hero-watch { font-size: .82rem; margin-top: .4rem; }
.hero-feature .video-media:focus-visible, .hero-watch:focus-visible { outline: 2px solid #f1aaa3; outline-offset: 4px; }
body .hero-feature .playing .video-media { transform: none; cursor: default; }
@media (max-width: 760px) {
  body .hero-releases { grid-template-columns: minmax(0, 1fr); max-width: 620px; gap: 2rem; }
  body .hero-feature .hero-latest-label { min-height: 0; }
}


/* Stable series covers introduce each show without repeating release thumbnails. */
.starter-card .series-cover .play-btn { top: auto; bottom: .75rem; left: .75rem; transform: none; width: 36px; height: 36px; }
.starter-card .series-cover .play-btn::after { border-width: 6px 0 6px 10px; }
.series-play-label { position: absolute; bottom: .8rem; left: 3.6rem; padding: .25rem .45rem; background: rgba(8,8,10,.85); color: #f5eee4; font: 500 .64rem/1.5 'IBM Plex Mono',monospace; letter-spacing: .03em; }
.series-cover:focus-visible { outline: 2px solid #f1aaa3; outline-offset: 4px; }
