/* V5 production refinements — the existing visual identity is deliberately preserved. */
:root { color-scheme: dark; }
html { scroll-padding-top: 98px; }
body { text-rendering: optimizeLegibility; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #d8a5ff; outline-offset: 3px; }
.button:focus-visible, .ref-play:focus-visible { outline-offset: 5px; }
.skip-link { position: fixed; z-index: 200; top: 10px; left: 12px; padding: 12px 16px; border-radius: 12px; color: #fff; background: #683bd4; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
/* Content is never invisible if JavaScript is disabled or fails. */
[data-reveal], [data-reveal]:not(.visible) { opacity: 1; transform: none; }
html.js-motion [data-reveal]:not(.visible) { opacity: 0; transform: translateY(16px); }
html.js-motion [data-reveal].visible { opacity: 1; transform: none; }
body.pause-motion *, body.pause-motion *::before, body.pause-motion *::after { animation-play-state: paused !important; }
.desktop-nav a { font-size: .83rem; }
.social { font-size: .78rem; }
.social-row .social { width: 34px; height: 34px; }
.site-footer a:hover { color: #edbbff; }
.site-footer .social:hover { color: #fff; }
.footer-legal { grid-column: 1 / -1; margin-top: 14px; color: #9ca7ba; font-size: .78rem; line-height: 1.6; }
.footer-legal a { color: #dbc1ff; text-decoration: underline; text-underline-offset: 3px; }
.footer-disclaimer { display: inline-block; max-width: 70ch; }
.eyebrow, .kicker, .episode-tag, .meta, .article-type, .team-grid article>span { letter-spacing: .075em; }
.ref-stat span { white-space: normal; font-size: .78rem; line-height: 1.4; }
.ref-copy > p { color: #c2c9da; }
.ref-episode-info p, .ref-guest-copy p, .ref-topic span { color: #b4bfd2; }
.ref-episode-info h3 { font-size: 1rem; line-height: 1.34; }
.ref-featured-copy p, .ref-featured-copy .episode-tag, .ref-episode-row .meta { font-size: .76rem; }
.ref-featured-copy h2 { font-size: 1.18rem; line-height: 1.3; }
.ref-topic { transition: transform .25s ease, border-color .25s ease, background-color .25s ease; }
.ref-topic:hover { transform: translateY(-3px); }
.ref-guest-copy p, .ref-about p, .ref-value span { font-size: .88rem; line-height: 1.7; }
.ref-guest-copy a, .ref-heading > a { font-size: .83rem; }
.ref-heading h2 { font-size: clamp(1.95rem, 3vw, 2.45rem); }
.ref-section { padding-block: 72px; }
.ref-episode-img img, .ref-featured-thumb img, .ref-guest img { object-position: center; }
.ref-wave { pointer-events: none; }
.ref-wave i { transform-origin: 50% 50%; will-change: transform; }
.ref-featured { isolation: isolate; }
.search-modal, .video-modal { overflow-y: auto; overscroll-behavior: contain; }
.search-panel, .video-modal-panel { margin-bottom: 24px; }
.search-panel { max-height: 86dvh; overflow-y: auto; }
.search-box:focus-within { border-color: #c899ff; box-shadow: 0 0 0 3px rgba(162, 103, 246, .18); }
.search-result:focus-visible { background: rgba(139, 92, 246, .2); }
.search-empty { margin: 14px; padding: 18px 12px; color: #c9d1e2; font-size: .9rem; }
.video-modal-panel { margin-top: max(7vh, 44px); }
.video-close { right: -6px; top: -6px; }
.video-frame { background: #090c1c; }
.video-fallback { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 7px 22px; padding: 14px 10px 2px; color: #abb8cd; font-size: .81rem; line-height: 1.5; }
.video-fallback p { margin: 0; flex: 1 1 250px; }
.video-fallback a { color: #e3c6ff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.video-modal .video-frame:has(.video-fallback) { overflow: visible; margin-bottom: 60px; }
.video-modal .video-frame .video-fallback { position: absolute; top: 100%; width: 100%; }
.detail-player .video-fallback { position: absolute; bottom: 0; left: 0; right: 0; z-index: 4; padding: 8px 14px; font-size: .72rem; color: #d7dcea; background: rgba(5,8,20,.8); backdrop-filter: blur(8px); }
.detail-player .video-fallback p { display: none; }
.detail-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.embed-poster { position: relative; display: grid; align-items: center; justify-items: center; width: 100%; height: 100%; min-height: 230px; isolation: isolate; overflow: hidden; }
.embed-poster img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.6); z-index: -1; }
.embed-poster::after { content: ''; z-index: -1; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,10,22,.2), rgba(8,10,22,.52)); }
.inline-embed-play { display: flex; align-items: center; gap: 10px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; padding: 14px 25px; background: linear-gradient(120deg,#8645ea,#da4aa7); color: white; font-weight: 750; box-shadow: 0 14px 40px rgba(39,12,71,.35); transition: transform .2s ease, box-shadow .2s ease; }
.inline-embed-play:hover { transform: scale(1.045); box-shadow: 0 15px 45px rgba(139,92,246,.4); }
.embed-caption { position: absolute; bottom: 18px; left: 18px; right: 18px; font-size: .79rem; line-height: 1.5; color: #edf0ff; text-align: center; }
.video-inline-link { margin: 12px 0 0; color: #afbcd0; font-size: .8rem; }
.video-inline-link a { color: #dec6ff; text-decoration: underline; text-underline-offset: 3px; }
.newsletter-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 13px; }
.newsletter-actions .button { width: auto; white-space: nowrap; }
.newsletter-actions .newsletter-hint { color: #aebad0; max-width: 250px; font-size: .84rem; line-height: 1.55; }
body.reference-home .newsletter-card { grid-template-columns: 1.1fr .9fr; }
.contact-form .form-note { display: block; font-size: .85rem; line-height: 1.5; }
.form-disclosure { grid-column: 1/-1; font-size: .82rem; color: #bac6d9; line-height: 1.55; }
.social-contact-row { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }
.article-card p { font-size: 1rem; }
.article-card .editorial-note { margin-bottom: 10px; color: #c3adf2; font-size: .81rem; font-weight: 700; }
.article-card a { color: #d8b8ff; }
.topic-detail p, .profile-card p { font-size: .96rem; }
.site-footer .footer-bottom { font-size: .8rem; }
.privacy-content { max-width: 840px; color: #bbc7d8; line-height: 1.8; }
.privacy-content h2 { margin-top: 28px; color: #fff; font-size: 1.5rem; }
.privacy-content a { color: #dab5ff; text-decoration: underline; }
.page-hero p { max-width: 70ch; }
@media (max-width:1180px) { .mobile-drawer aside { max-height: 100dvh; overflow-y: auto; } }
@media (max-width:900px) {
  .ref-section { padding-block: 56px; }
  .ref-hero-grid { gap: 4px; }
  .ref-copy > p { max-width: 660px; }
  body.reference-home .newsletter-card { grid-template-columns: 1fr; }
}
@media (max-width:620px) {
  .ref-heading { gap: 12px; }
  .ref-copy h1 { letter-spacing: -.047em; }
  .ref-copy > p { line-height: 1.8; font-size: .98rem; }
  .ref-visual { margin-top: 18px; }
  .ref-featured-copy h2 { font-size: .94rem; }
  .ref-featured-copy p { font-size: .73rem; -webkit-line-clamp: 2; }
  .ref-featured-copy .episode-tag { font-size: .66rem; }
  .ref-heading h2 { font-size: 1.92rem; }
  .ref-episode-row { grid-template-columns: 102px minmax(0,1fr) 32px; gap: 10px; }
  .ref-episode-info h3 { font-size: .9rem; line-height: 1.35; }
  .ref-episode-row .meta { font-size: .62rem; }
  .ref-topic { min-height: 138px; }
  .ref-topic strong { font-size: .86rem; }
  .ref-topic span { font-size: .78rem; line-height: 1.4; }
  .ref-guest { grid-template-columns: 112px minmax(0,1fr); }
  .ref-guest-copy { padding: 15px; }
  .ref-guest-copy p { font-size: .78rem; }
  .ref-stat span { font-size: .78rem; }
  .ref-wave i { animation-duration: 1.7s; }
  .ref-orbits i, .ref-visual::before, .ref-visual::after, .ref-micro-small, .ref-micro-circle, .ref-note { animation: none !important; }
  .ref-mic { animation-duration: 9s; }
  .site-footer .social { min-width: 40px; min-height: 40px; }
  .newsletter-actions .button { width: 100%; }
  .newsletter-actions .newsletter-hint { max-width: none; }
  .search-panel { margin-top: 5vh; }
  .search-title h2 { font-size: 1.42rem; }
  .search-result { padding: 15px 12px; }
  .video-modal-panel { margin-top: 16vh; }
  .embed-caption { font-size: .72rem; }
}
@media (max-width:360px) {
  .ref-episode-img { height: 78px; }
  .ref-episode-row { padding: 8px; grid-template-columns: 84px minmax(0,1fr) 30px; }
  .ref-featured { grid-template-columns: 94px minmax(0,1fr); }
  .ref-featured-thumb { height: 84px; }
  .ref-featured-copy h2 { font-size: .82rem; }
  .ref-featured-copy p { display:none; }
  .ref-stat { padding: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  html.js-motion [data-reveal]:not(.visible) { opacity: 1; transform: none; }
  .ref-mic, .ref-wave i { animation: none !important; }
}
/* Substantive editorial cues — small enough to keep cards scannable. */
.insight-label { margin: 22px 0 8px; color: #e3c5ff !important; font-size: .8rem !important; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.insight-bullets { margin: 0 0 24px; padding-left: 22px; display: grid; gap: 9px; color: #b4c0d5; font-size: .9rem; line-height: 1.55; }
.insight-bullets li::marker { color: #b881ff; }
@media (max-width:620px) { .insight-bullets { font-size: .9rem; } }
