/* WAC Signal: the audio briefing pages (/signal/). Uses the shared news styles for header, buttons and sections. */
.page-signal { --sg-navy: #0a1628; --sg-deep: #060d1a; --sg-blue: #2563eb; --sg-ice: #8fb4ff; }
.page-signal .c-ai { --c1: #1e3a8a; --c2: #2563eb; }
.page-signal .c-int { --c1: #0f4c4a; --c2: #0d9488; }
.page-signal .c-skill { --c1: #7a3d06; --c2: #d97706; }
.page-signal .c-assess { --c1: #3b1a78; --c2: #7c3aed; }

/* hero */
.sg-hero { position: relative; overflow: hidden; background: radial-gradient(120% 140% at 85% 100%, #13284d 0%, var(--sg-navy) 48%, var(--sg-deep) 100%); }
.sg-hero .news-hero-inner { position: relative; z-index: 1; }
.sg-rings { position: absolute; right: -260px; bottom: -420px; width: 900px; height: 900px; border-radius: 50%; pointer-events: none;
  background: repeating-radial-gradient(circle at center, rgba(143, 180, 255, 0) 0 62px, rgba(143, 180, 255, 0.16) 62px 64px); opacity: 0.9;
  -webkit-mask-image: radial-gradient(circle, #000 0%, #000 55%, transparent 72%); mask-image: radial-gradient(circle, #000 0%, #000 55%, transparent 72%); }
.sg-rings::after { content: ""; position: absolute; left: 50%; top: 50%; width: 22px; height: 22px; margin: -11px 0 0 -11px; border-radius: 50%; background: var(--sg-blue); box-shadow: 0 0 0 10px rgba(37, 99, 235, 0.18); }
.sg-ep-hero .sg-rings::after { background: var(--c2, var(--sg-blue)); }
.page-news .post-content h1.sg-title { font-family: 'Inter', var(--wn-font); font-size: clamp(3.2rem, 9vw, 6.5rem); font-weight: 800; letter-spacing: -0.045em; line-height: 0.95; margin: 0.6rem 0 1.2rem; color: #fff; text-transform: none; }
.page-news .post-content h1.sg-title span { display: block; font-size: 0.26em; font-weight: 700; letter-spacing: 0.42em; color: var(--sg-ice); margin-bottom: 0.35em; }
.sg-hero .news-lede { max-width: 36em; }
.sg-hero-btns, .sg-ep-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.6rem; }
.page-news .sg-hero .news-btn { background: #fff; color: #0a1628 !important; }
.page-news .sg-hero .news-btn.ghost { background: rgba(255, 255, 255, 0.1); color: #fff !important; border: 1px solid rgba(255, 255, 255, 0.45); }
.page-news .news-btn svg { width: 17px; height: 17px; flex: none; }
.sg-meta { display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; color: #c9d6ee; font-size: 0.95rem; margin: 0.8rem 0 0; }
.sg-meta span + span::before, .sg-meta time::before { content: ""; }
.sg-ep-hero .news-label { background: var(--c2, var(--sg-blue)); }

/* sections */
.page-news section.sg-section.alt { background: var(--wn-soft, #f6f8fb); }
.sg-kicker { display: block; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--sg-blue); margin-bottom: 0.5rem; }
.page-news .post-content .sg-h2 { font-family: var(--wn-font); font-size: clamp(1.5rem, 3vw, 2.1rem); font-weight: 800; line-height: 1.15; letter-spacing: -0.02em; margin: 0 0 0.8rem; text-transform: none; color: var(--wn-ink); }
.sg-head { margin-bottom: 1.6rem; max-width: 46em; }
.sg-head p { color: var(--wn-muted); margin: 0; }
.sg-two { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 3rem; align-items: start; }
.sg-narrow { max-width: 820px; }

/* player */
.sg-player { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 1.75rem; align-items: start; padding: 1.5rem; border-radius: 18px;
  background: linear-gradient(135deg, #0a1628 0%, #101f3c 100%); color: #fff; box-shadow: 0 24px 60px rgba(8, 20, 40, 0.25); }
.sg-player-cover { width: 100%; height: auto; border-radius: 12px; display: block; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4); }
.sg-player-kicker { margin: 0 0 0.35rem; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--sg-ice); }
.page-news .post-content .sg-player-title { font-family: var(--wn-font); font-size: clamp(1.35rem, 2.6vw, 1.9rem); font-weight: 800; line-height: 1.15; letter-spacing: -0.02em; margin: 0 0 1.1rem; color: #fff; text-transform: none; }
.sg-controls { display: flex; align-items: center; gap: 1rem; }
.sg-play { flex: none; width: 64px; height: 64px; border-radius: 50%; border: 0; background: #fff; color: #0a1628; cursor: pointer; display: grid; place-items: center; transition: transform 0.15s; }
.sg-play:hover { transform: scale(1.05); }
.sg-play svg { width: 28px; height: 28px; margin-left: 4px; }
.sg-pause { display: none; width: 20px; height: 22px; border-left: 7px solid #0a1628; border-right: 7px solid #0a1628; }
.sg-player.playing .sg-play svg { display: none; }
.sg-player.playing .sg-pause { display: block; }
.sg-track { flex: 1; min-width: 0; }
.sg-seek { width: 100%; accent-color: var(--c2, var(--sg-blue)); cursor: pointer; margin: 0; }
.sg-times { display: flex; justify-content: space-between; font-size: 0.82rem; color: #c9d6ee; font-variant-numeric: tabular-nums; margin-top: 0.25rem; }
.sg-speed { flex: none; min-width: 52px; height: 36px; border-radius: 18px; border: 1px solid rgba(255, 255, 255, 0.35); background: transparent; color: #fff; font-weight: 700; cursor: pointer; }
.sg-chapters { list-style: none; margin: 1.3rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 0.4rem 0.8rem; }
.sg-chapters button { width: 100%; text-align: left; display: flex; gap: 0.6rem; align-items: baseline; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.1); color: #e7eefb; border-radius: 8px; padding: 0.45rem 0.65rem; font: inherit; font-size: 0.9rem; cursor: pointer; }
.sg-chapters button span { color: var(--sg-ice); font-variant-numeric: tabular-nums; font-size: 0.8rem; min-width: 2.6em; }
.sg-chapters button:hover, .sg-chapters li.on button { background: rgba(143, 180, 255, 0.18); border-color: rgba(143, 180, 255, 0.45); }
.sg-latest-sum { max-width: 48em; color: var(--wn-muted); margin: 1.2rem 0 0; }

/* steps, channels, season, formats */
.sg-steps { list-style: none; margin: 0; padding: 0; counter-reset: s; display: grid; gap: 0.5rem; }
.sg-steps li { counter-increment: s; display: grid; grid-template-columns: 2.4rem 9.5rem minmax(0, 1fr); align-items: baseline; gap: 0.6rem; padding: 0.7rem 0.9rem; background: #fff; border: 1px solid var(--wn-line); border-radius: 10px; }
.sg-steps li::before { content: counter(s, decimal-leading-zero); font-weight: 800; color: var(--sg-blue); font-variant-numeric: tabular-nums; }
.sg-steps b { font-weight: 700; color: var(--wn-ink); }
.sg-steps span { color: var(--wn-muted); font-size: 0.95rem; }
.sg-channels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.page-news a.sg-channel { position: relative; display: block; padding: 1.4rem 1.3rem 1.3rem; border-radius: 14px; background: #fff; border: 1px solid var(--wn-line); color: var(--wn-ink); transition: box-shadow 0.2s, transform 0.2s; overflow: hidden; }
.page-news a.sg-channel:hover { box-shadow: 0 14px 34px rgba(16, 38, 73, 0.12); transform: translateY(-2px); }
.sg-channel-bar { position: absolute; left: 0; top: 0; right: 0; height: 5px; background: var(--c2); }
.page-news .post-content .sg-channel h3 { font-family: var(--wn-font); font-size: 1.2rem; font-weight: 800; margin: 0.3rem 0 0.5rem; text-transform: none; color: var(--c1); }
.sg-channel-lens { margin: 0 0 1rem; color: var(--wn-ink); }
.sg-channel-centre { margin: 0; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--c2); }
.sg-season { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem 1rem; }
.sg-ep { display: grid; grid-template-columns: 2.6rem minmax(0, 1fr) auto; align-items: center; gap: 0.9rem; padding: 0.85rem 1rem; background: #fff; border: 1px solid var(--wn-line); border-left: 4px solid var(--c2); border-radius: 10px; }
.sg-ep-n { font-weight: 800; font-size: 1.1rem; color: var(--c2); font-variant-numeric: tabular-nums; }
.page-news .post-content .sg-ep h3 { font-family: var(--wn-font); font-size: 1rem; font-weight: 700; line-height: 1.3; margin: 0 0 0.15rem; text-transform: none; }
.page-news .sg-ep h3 a { color: var(--wn-ink); }
.sg-ep p { margin: 0; font-size: 0.82rem; color: var(--wn-muted); }
.sg-ep-soon { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #8a94a3; }
.page-news a.sg-ep-go { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.85rem; font-weight: 700; color: var(--c1); white-space: nowrap; }
.sg-ep-go svg { width: 16px; height: 16px; }
.sg-ep.live { box-shadow: 0 8px 22px rgba(16, 38, 73, 0.08); }
.sg-formats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.sg-format { padding: 1.3rem; border-radius: 14px; border: 1px solid var(--wn-line); background: #fff; }
.page-news .post-content .sg-format h3 { font-family: var(--wn-font); font-size: 1.15rem; font-weight: 800; margin: 0 0 0.2rem; text-transform: none; }
.sg-format-len { margin: 0 0 0.6rem; font-size: 0.85rem; font-weight: 700; color: var(--sg-blue); }
.sg-format p:last-child { margin: 0; color: var(--wn-muted); }
.sg-made { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 1.5rem; margin: 2rem 0; padding: 1.5rem; border-radius: 14px; background: #eef3fb; border: 1px solid #d6e2f5; }
.sg-made p { margin: 0; color: var(--wn-ink); }
.sg-made-ep { grid-template-columns: 1fr; margin-bottom: 0; }
.page-news .post-content .sg-follow h3 { font-family: var(--wn-font); font-size: 1.1rem; font-weight: 800; margin: 0 0 0.3rem; text-transform: none; }
.sg-follow p { color: var(--wn-muted) !important; margin-bottom: 0.8rem !important; }

/* episode page */
.sg-ep-actions .news-btn.ghost { color: var(--wn-blue) !important; border: 1px solid var(--wn-line); background: #fff; }
.sg-points { margin: 0.8rem 0 0; padding-left: 1.2rem; }
.sg-points li { margin: 0.35rem 0; }
.sg-paper { padding: 1.4rem; border-radius: 14px; background: #fff; border: 1px solid var(--wn-line); border-top: 4px solid var(--c2, #7c3aed); }
.page-news .post-content .sg-paper h3 { font-family: var(--wn-font); font-size: 1.15rem; font-weight: 800; line-height: 1.3; margin: 0 0 0.5rem; text-transform: none; }
.page-news .sg-paper h3 a { color: var(--wn-ink); }
.sg-paper p { color: var(--wn-muted); font-size: 0.95rem; }
.sg-transcript summary { cursor: pointer; font-weight: 700; color: var(--wn-blue); margin-bottom: 1rem; }
.page-news .post-content .sg-transcript-body h3 { font-family: var(--wn-font); font-size: 1.05rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: var(--sg-blue); margin: 1.8rem 0 0.6rem; display: flex; align-items: center; gap: 0.6rem; }
.sg-jump { border: 1px solid var(--wn-line); background: #fff; border-radius: 6px; font-size: 0.75rem; padding: 0.1rem 0.45rem; color: var(--wn-muted); cursor: pointer; font-variant-numeric: tabular-nums; letter-spacing: 0; }
.sg-transcript-body p { line-height: 1.7; }
.sg-refs { padding-left: 1.4rem; font-size: 0.92rem; color: var(--wn-muted); }
.sg-refs li { margin: 0.45rem 0; }
.sg-refs span { color: var(--wn-ink); }

@media (max-width: 1000px) {
  .sg-channels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sg-two, .sg-made { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
}
@media (max-width: 760px) {
  .sg-player { grid-template-columns: minmax(0, 1fr); padding: 1.1rem; }
  .sg-player-cover { width: 140px; }
  .sg-season, .sg-formats { grid-template-columns: minmax(0, 1fr); }
  .sg-steps li { grid-template-columns: 2.2rem minmax(0, 1fr); }
  .sg-steps span { grid-column: 2; }
  .sg-rings { width: 560px; height: 560px; right: -260px; bottom: -300px; }
}
@media (max-width: 520px) {
  .sg-channels { grid-template-columns: minmax(0, 1fr); }
  .sg-ep { grid-template-columns: 2rem minmax(0, 1fr); }
  .sg-ep > :last-child { grid-column: 2; justify-self: start; }
  .sg-play { width: 54px; height: 54px; }
}

/* paragraph rhythm (the shared page styles remove paragraph margins) */
.page-news .post-content .sg-section .sg-two > div > p, .page-news .post-content .sg-section .sg-narrow > p { margin: 0 0 1rem; }
.page-news .post-content .sg-transcript-body p { margin: 0 0 1rem; line-height: 1.75; }
.page-news .post-content .sg-latest-sum { margin-top: 1.4rem; }
.page-news .post-content .sg-head .sg-h2 + p { margin-top: 0; }

/* Season 1 playlist: dark, like the player */
.page-news section.sg-section.sg-dark { background: radial-gradient(120% 160% at 90% 0%, #13284d 0%, #0a1628 50%, #060d1a 100%); }
.sg-dark .sg-kicker { color: var(--sg-ice); }
.page-news .post-content .sg-dark .sg-h2 { color: #fff; }
.sg-dark .sg-head p { color: #c9d6ee; }
.sg-dark .sg-ep { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-left: 4px solid var(--c2); }
.sg-dark .sg-ep.live { background: rgba(143, 180, 255, 0.12); border-color: rgba(143, 180, 255, 0.35); border-left-color: var(--c2); box-shadow: none; }
.page-news .post-content .sg-dark .sg-ep h3, .page-news .sg-dark .sg-ep h3 a { color: #fff; }
.sg-dark .sg-ep p { color: #9fb0cc; }
.sg-dark .sg-ep-n { color: color-mix(in srgb, var(--c2) 70%, #fff); }
.sg-dark .sg-ep-soon { color: #7f8ea8; }
.page-news .sg-dark a.sg-ep-go { color: #0a1628; background: #fff; padding: 0.4rem 0.75rem; border-radius: 999px; }

/* home page: WAC Signal section */
.wac-signal-home { position: relative; overflow: hidden; padding: 88px 0; color: #fff; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  background: radial-gradient(110% 140% at 0% 100%, #13284d 0%, #0a1628 45%, #060d1a 100%); }
.sgh-rings { position: absolute; left: -320px; bottom: -420px; width: 900px; height: 900px; border-radius: 50%; pointer-events: none;
  background: repeating-radial-gradient(circle at center, rgba(143, 180, 255, 0) 0 62px, rgba(143, 180, 255, 0.14) 62px 64px);
  -webkit-mask-image: radial-gradient(circle, #000 0%, #000 55%, transparent 72%); mask-image: radial-gradient(circle, #000 0%, #000 55%, transparent 72%); }
.sgh-wrap { position: relative; max-width: 1200px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.25fr); gap: 3.5rem; align-items: center; }
.sgh-kicker { display: inline-block; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #8fb4ff; }
.wac-signal-home h2.sgh-title { font-family: inherit; font-size: clamp(3rem, 7vw, 5rem); font-weight: 800; letter-spacing: -0.045em; line-height: 0.95; margin: 0.7rem 0 1rem; color: #fff; text-transform: none; }
.wac-signal-home h2.sgh-title span { display: block; font-size: 0.26em; font-weight: 700; letter-spacing: 0.42em; color: #8fb4ff; margin-bottom: 0.35em; }
.wac-signal-home .sgh-tag { font-size: 1.25rem; font-weight: 600; color: #e7eefb; margin: 0 0 0.7rem; line-height: 1.35; }
.wac-signal-home p { color: #c9d6ee; line-height: 1.6; margin: 0 0 1.4rem; }
.sgh-btns { display: flex; flex-wrap: wrap; gap: 0.7rem; }
.wac-signal-home a.sgh-btn { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.85rem 1.3rem; border-radius: 10px; background: #fff; color: #0a1628; font-weight: 700; text-decoration: none; }
.wac-signal-home a.sgh-btn.ghost { background: rgba(255, 255, 255, 0.08); color: #fff; border: 1px solid rgba(255, 255, 255, 0.4); }
.sgh-btn svg { width: 17px; height: 17px; flex: none; }
.sgh-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem; }
.wac-signal-home a.sgh-ep { position: relative; display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 0.9rem; align-items: center; padding: 0.8rem; border-radius: 14px; text-decoration: none; color: #fff;
  background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); transition: background 0.2s, transform 0.2s; }
.wac-signal-home a.sgh-ep:hover { background: rgba(143, 180, 255, 0.12); transform: translateY(-2px); }
.sgh-ep img { width: 84px; height: 84px; border-radius: 8px; display: block; }
.sgh-ep-txt { display: flex; flex-direction: column; gap: 0.25rem; min-width: 0; padding-right: 2.2rem; }
.sgh-ep-txt em { font-style: normal; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c2l, #8fb4ff); }
.sgh-ep.c-ai { --c2l: #60a5fa; } .sgh-ep.c-int { --c2l: #2dd4bf; } .sgh-ep.c-skill { --c2l: #fbbf24; } .sgh-ep.c-assess { --c2l: #a78bfa; }
.sgh-ep-txt strong { font-size: 0.98rem; line-height: 1.3; font-weight: 700; }
.sgh-ep-txt span { font-size: 0.8rem; color: #9fb0cc; }
.sgh-ep-play { position: absolute; right: 0.8rem; top: 50%; margin-top: -16px; width: 32px; height: 32px; border-radius: 50%; background: #fff; color: #0a1628; display: grid; place-items: center; }
.sgh-ep-play svg { width: 15px; height: 15px; margin-left: 2px; }
@media (max-width: 1000px) { .sgh-wrap { grid-template-columns: minmax(0, 1fr); gap: 2rem; } }
@media (max-width: 640px) { .wac-signal-home { padding: 60px 0; } .sgh-list { grid-template-columns: minmax(0, 1fr); } .sgh-wrap { padding: 0 16px; } }
/* keep the home section's big title on phones (the home page's mobile h2 rule is stronger) */
html body .wac-signal-home h2.sgh-title { font-size: clamp(3rem, 12vw, 5rem) !important; line-height: 0.95 !important; }
html body .wac-signal-home h2.sgh-title span { font-size: 0.26em !important; }
/* match the home page's section width: 90% of the window, at most 1192px (same as .spot-wrap / .news-wrap) */
html body .wac-signal-home .sgh-wrap { width: 90%; max-width: 1192px; padding: 0; margin: 0 auto; box-sizing: border-box; }
