/* Hitmen Radio — Nightly Show (homepage). Self-contained; remove this file + the #hitmanNightly section to revert. */
.hn { position: relative; padding-block: clamp(40px, 6vw, 80px); background:
  radial-gradient(120% 80% at 85% 0%, rgba(212,42,42,.10), transparent 55%),
  linear-gradient(180deg, #0b0c0f 0%, #121418 55%, #0a0b0d 100%); border-top: 1px solid rgba(255,255,255,.06); border-bottom: 1px solid rgba(255,255,255,.06); overflow: hidden; }
.hn::before { content: ""; position: absolute; inset: 0; background: var(--scratch); pointer-events: none; }
.hn-in { position: relative; max-width: var(--wrap); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 40px); align-items: center; }
.hn-head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.hn-mark { width: 36px; height: 36px; border-radius: 8px; padding: 4px; background: linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.18); }
.hn-brand { font-family: var(--f-ui); font-weight: 600; letter-spacing: .22em; text-transform: uppercase; font-size: 16px; color: #c9ced6; }
.hn-title { font-family: var(--f-head); font-weight: 400; font-size: clamp(34px, 4.6vw, 60px); line-height: .95; margin: 0 0 10px; letter-spacing: .01em; color: var(--bone); text-transform: uppercase; }
.hn-title em { font-style: normal; color: #9aa3ae; }
.hn-date { display: inline-flex; align-items: center; gap: 8px; font-family: var(--f-ui); font-size: 20px; letter-spacing: .14em; text-transform: uppercase; color: var(--bone); padding: 4px 12px 2px; border-radius: 999px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(8px); }
.hn-date i { width: 8px; height: 8px; border-radius: 50%; background: var(--red); box-shadow: 0 0 10px rgba(212,42,42,.7); }
.hn-copy p { color: var(--mute); margin: 16px 0 20px; max-width: 42ch; }
.hn-frame { position: relative; border-radius: 14px; padding: 10px; background: linear-gradient(155deg, rgba(255,255,255,.12), rgba(255,255,255,.02) 40%, rgba(255,255,255,.05)); border: 1px solid rgba(255,255,255,.12); box-shadow: 0 30px 60px -20px rgba(0,0,0,.8), 0 0 0 1px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.2); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.hn-video { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border-radius: 8px; background: #000; }
.hn-credit { margin: 10px 4px 0; font-size: 14px; color: #8d939b; letter-spacing: .02em; }
.hn-credit a { color: #c9ced6; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.2); }
.hn-credit a:hover { color: var(--bone); }
.hn-cta { display: inline-flex; align-items: center; gap: 10px; font-family: var(--f-ui); font-size: 20px; letter-spacing: .12em; text-transform: uppercase; color: var(--bone); text-decoration: none; padding: 10px 18px 8px; border-radius: 6px; background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.16); border-left: 3px solid var(--red); box-shadow: inset 0 1px 0 rgba(255,255,255,.15); transition: background .2s; }
.hn-cta:hover, .hn-cta:focus-visible { background: rgba(255,255,255,.14); }
@media (max-width: 860px) { .hn-in { grid-template-columns: 1fr; } .hn-copy { order: -1; } .hn-frame { padding: 6px; border-radius: 10px; } }
/* v2: data-driven headline + archive */
.hn { scroll-margin-top: 84px; } /* clears the 71px sticky .top menu */
.hn-headline { font-family: var(--f-ui); font-size: clamp(22px, 2.2vw, 28px); line-height: 1.05; letter-spacing: .03em; color: var(--bone); margin: 16px 0 0 !important; max-width: 30ch; }
.hn-headline + p { margin-top: 8px !important; }
.hn-ctas { display: flex; flex-wrap: wrap; gap: 10px; }
.hn-cta-ghost { border-left-color: rgba(255,255,255,.16); }
.hn-arch { position: relative; max-width: var(--wrap); margin: clamp(26px, 3.5vw, 44px) auto 0; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.08); }
.hn-arch-title { font-family: var(--f-ui); font-weight: 600; font-size: 22px; letter-spacing: .18em; text-transform: uppercase; color: #c9ced6; margin: 0 0 14px; }
.hn-week + .hn-week { margin-top: 16px; }
.hn-week-lbl { font-family: var(--f-ui); font-size: 15px; letter-spacing: .16em; text-transform: uppercase; color: #7f8690; margin: 0 0 8px; }
.hn-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.hn-ep { display: flex; gap: 10px; align-items: center; padding: 8px; border-radius: 10px; text-decoration: none; color: var(--bone); background: linear-gradient(160deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); border: 1px solid rgba(255,255,255,.10); box-shadow: inset 0 1px 0 rgba(255,255,255,.10); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: background .2s, border-color .2s; }
.hn-ep:hover, .hn-ep:focus-visible { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.22); }
.hn-ep[aria-current="true"] { border-color: rgba(212,42,42,.55); box-shadow: inset 3px 0 0 var(--red), inset 0 1px 0 rgba(255,255,255,.10); }
.hn-ep img { width: 104px; height: 58px; object-fit: cover; border-radius: 6px; flex: none; background: #000; }
.hn-ep b { display: block; font-family: var(--f-ui); font-weight: 600; font-size: 18px; letter-spacing: .1em; text-transform: uppercase; line-height: 1; }
.hn-ep small { display: block; color: var(--mute); font-size: 14px; line-height: 1.25; margin-top: 4px; }
.hn-more { margin-top: 14px; font-family: var(--f-ui); font-size: 18px; letter-spacing: .12em; text-transform: uppercase; color: var(--bone); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); border-radius: 6px; padding: 8px 16px 6px; cursor: pointer; }
@media (max-width: 860px) {
  .hn-row { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; padding-bottom: 6px; -webkit-overflow-scrolling: touch; }
  .hn-ep { flex: 0 0 78%; scroll-snap-align: start; }
}
.hn-audio { position: relative; max-width: var(--wrap); margin: 18px auto 0; font-size: 14px; color: #8d939b; }
.hn-audio b { font-family: var(--f-ui); font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #c9ced6; margin-right: 8px; }
.hn-audio a { color: #c9ced6; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.2); margin-right: 12px; }
.hn-audio a:hover { color: var(--bone); }
.hn-alias { display: block; height: 0; scroll-margin-top: 84px; }
/* v3: double feature — 2+ episodes featured the same day ("featured" in episodes.json). Side by side on desktop, stacked on phones (list order). */
.hn-dual { position: relative; max-width: var(--wrap); margin: 0 auto; }
.hn-dual-head { margin-bottom: clamp(16px, 2.2vw, 26px); }
.hn-dual-sub { margin: 0; font-family: var(--f-ui); font-size: 16px; letter-spacing: .18em; text-transform: uppercase; color: #7f8690; }
.hn-dual-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 2.6vw, 34px); align-items: start; }
.hn-card { scroll-margin-top: 84px; display: flex; flex-direction: column; gap: 14px; }
.hn-card-copy { padding: 0 4px; }
.hn-kind { margin: 0 0 6px; font-family: var(--f-ui); font-weight: 600; font-size: 15px; letter-spacing: .22em; text-transform: uppercase; color: #9aa3ae; }
.hn-card-recap .hn-kind { color: #b9c0c9; }
.hn-card-title { font-family: var(--f-head); font-weight: 400; font-size: clamp(24px, 2.4vw, 34px); line-height: 1; margin: 0 0 10px; text-transform: uppercase; color: var(--bone); letter-spacing: .01em; }
.hn-card .hn-headline { font-size: clamp(19px, 1.7vw, 23px); max-width: none; margin-top: 12px !important; }
.hn-desc { color: var(--mute); margin: 8px 0 0 !important; font-size: 15px; line-height: 1.4; max-width: 60ch; }
@media (max-width: 860px) { .hn-dual-grid { grid-template-columns: 1fr; gap: 28px; } }
.hn-solo .hn-dual-grid { grid-template-columns: minmax(0, 1fr); max-width: 980px; }
.hn-card-preview .hn-kind { color: #e8c15a; }
