 /* HEADER ─────────────────────────────────── */
 .ep-header {
     padding-top: 140px;
     padding-bottom: 4rem;
     border-bottom: 1px solid var(--border);
 }

 .ep-header-inner {
     display: flex;
     flex-direction: column;
     gap: 1.5rem;
 }

 @media (min-width: 768px) {
     .ep-header-inner {
         flex-direction: row;
         align-items: flex-end;
         justify-content: space-between;
     }
 }

 .ep-page-label {
     font-family: var(--font-mono);
     font-size: 0.75rem;
     text-transform: uppercase;
     letter-spacing: 0.12em;
     color: var(--red);
     display: block;
     margin-bottom: 1rem;
 }

 .ep-page-title {
     font-family: 'Anton', sans-serif;
     font-size: clamp(3rem, 8vw, 6.5rem);
     font-weight: 400;
     line-height: 0.9;
     text-transform: uppercase;
     color: var(--cream);
     letter-spacing: -0.01em;
 }

 .ep-page-title span {
     -webkit-text-stroke: 2px var(--red);
     color: transparent;
 }

 .ep-page-desc {
     font-size: 1rem;
     color: var(--muted);
     max-width: 32ch;
     line-height: 1.65;
     margin-top: 1rem;
 }

 /* ── SEASON BADGE ────────────────────────────────── */
 .season-badge {
     display: inline-block;
     padding: 0.5rem 1.25rem;
     font-family: var(--font-mono);
     font-size: 0.75rem;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     border: 1px solid var(--border);
     color: var(--muted);
     align-self: flex-start;
 }

 /* ── SECTION DIVIDER ─────────────────────────────── */
 .section-divider {
     display: flex;
     align-items: center;
     gap: 1.5rem;
     margin-bottom: 2.5rem;
 }

 .section-divider-label {
     font-family: var(--font-mono);
     font-size: 0.75rem;
     text-transform: uppercase;
     letter-spacing: 0.12em;
     color: var(--red);
     flex-shrink: 0;
 }

 .section-divider-line {
     flex: 1;
     height: 1px;
     background: var(--border);
 }

 .section-divider-count {
     font-family: var(--font-mono);
     font-size: 0.7rem;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     color: var(--muted);
     flex-shrink: 0;
 }

 /* ── EPISODES SECTION ────────────────────────────── */
 .episodes-section {
     padding: 5rem 0 3rem;
 }

 .season-group {
     margin-bottom: 5rem;
 }

 /* ── EPISODE CARD ────────────────────────────────── */
 .ep-card {
     background: var(--card);
     border: 1px solid var(--border);
     display: grid;
     grid-template-columns: 1fr;
     cursor: pointer;
     transition: border-color 0.2s;
 }

 @media (min-width: 900px) {
     .ep-card {
         grid-template-columns: 1fr 1fr;
     }
 }

 .ep-card:hover {
     border-color: rgba(240, 237, 230, 0.2);
 }

 .ep-card:hover .ep-thumb img {
     transform: scale(1.03);
 }

 .ep-card:hover .ep-card-overlay {
     opacity: 1;
 }

 /* Thumbnail */
 .ep-thumb {
     position: relative;
     aspect-ratio: 16/9;
     overflow: hidden;
     background: #111;
 }

 .ep-thumb img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
     transition: transform 0.4s ease;
 }

 /* Play overlay */
 .ep-card-overlay {
     position: absolute;
     inset: 0;
     background: rgba(8, 8, 8, 0.5);
     display: flex;
     align-items: center;
     justify-content: center;
     opacity: 0;
     transition: opacity 0.25s;
 }

 .play-btn {
     width: 64px;
     height: 64px;
     border: 2px solid var(--cream);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: background 0.2s, border-color 0.2s;
 }

 .ep-card:hover .play-btn {
     background: var(--red);
     border-color: var(--red);
 }

 .play-btn svg {
     width: 22px;
     height: 22px;
     fill: var(--cream);
     margin-left: 4px;
 }

 /* Badges on thumbnail */
 .ep-num-badge {
     position: absolute;
     top: 1rem;
     left: 1rem;
     font-family: var(--font-mono);
     font-size: 0.65rem;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     padding: 0.2rem 0.6rem;
     background: var(--red);
     color: var(--cream);
 }

 .ep-duration-badge {
     position: absolute;
     bottom: 1rem;
     right: 1rem;
     font-family: var(--font-mono);
     font-size: 0.65rem;
     letter-spacing: 0.05em;
     padding: 0.2rem 0.6rem;
     background: rgba(8, 8, 8, 0.85);
     color: var(--cream);
 }

 /* Card info side */
 .ep-info {
     padding: 2rem 2rem 2rem;
     display: flex;
     flex-direction: column;
     justify-content: space-between;
     gap: 1.5rem;
     border-left: 1px solid var(--border);
 }

 @media (max-width: 899px) {
     .ep-info {
         border-left: none;
         border-top: 1px solid var(--border);
     }
 }

 .ep-meta-row {
     display: flex;
     align-items: center;
     gap: 0.75rem;
     margin-bottom: 0.75rem;
 }

 .ep-college {
     font-family: var(--font-mono);
     font-size: 0.7rem;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     color: var(--red);
 }

 .ep-meta-dot {
     width: 3px;
     height: 3px;
     border-radius: 50%;
     background: var(--muted);
 }

 .ep-date {
     font-family: var(--font-mono);
     font-size: 0.7rem;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     color: var(--muted);
 }

 .ep-title {
     font-family: 'Anton', sans-serif;
     font-size: clamp(1.5rem, 2.5vw, 2rem);
     font-weight: 400;
     text-transform: uppercase;
     letter-spacing: 0.01em;
     color: var(--cream);
     line-height: 1.1;
     margin-bottom: 0.75rem;
 }

 .ep-desc {
     font-size: 0.9rem;
     line-height: 1.7;
     color: var(--muted);
 }

 .ep-card-footer {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding-top: 1.25rem;
     border-top: 1px solid var(--border);
 }

 .ep-speaker {
     display: flex;
     align-items: center;
     gap: 0.6rem;
 }

 .ep-speaker-initials {
     width: 32px;
     height: 32px;
     border-radius: 50%;
     background: #1a1a1a;
     border: 1px solid var(--border);
     display: flex;
     align-items: center;
     justify-content: center;
     font-family: var(--font-mono);
     font-size: 0.6rem;
     color: var(--muted);
     flex-shrink: 0;
 }

 .ep-speaker-name {
     font-family: var(--font-mono);
     font-size: 0.7rem;
     text-transform: uppercase;
     letter-spacing: 0.08em;
     color: var(--muted);
 }

 .ep-watch-cta {
     font-family: var(--font-mono);
     font-size: 0.7rem;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     color: var(--cream);
     display: flex;
     align-items: center;
     gap: 0.4rem;
 }

 .ep-watch-cta svg {
     width: 12px;
     height: 12px;
     stroke: currentColor;
     fill: none;
     transition: transform 0.2s;
 }

 .ep-card:hover .ep-watch-cta svg {
     transform: translateX(3px);
 }

 /* ── VIDEO MODAL ─────────────────────────────────── */
 .ep-modal-backdrop {
     position: fixed;
     inset: 0;
     background: rgba(8, 8, 8, 0.94);
     z-index: 200;
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 1.5rem;
     opacity: 0;
     pointer-events: none;
     transition: opacity 0.25s;
 }

 .ep-modal-backdrop.open {
     opacity: 1;
     pointer-events: auto;
 }

 .ep-modal {
     width: 100%;
     max-width: 960px;
     background: var(--card);
     border: 1px solid var(--border);
 }

 .ep-modal-video {
     width: 100%;
     aspect-ratio: 16/9;
     background: #000;
 }

 .ep-modal-video iframe {
     width: 100%;
     height: 100%;
     display: block;
 }

 .ep-modal-bar {
     padding: 1.25rem 1.75rem;
     border-top: 1px solid var(--border);
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 1rem;
 }

 .ep-modal-title {
     font-family: 'Anton', sans-serif;
     font-size: 1.25rem;
     font-weight: 400;
     text-transform: uppercase;
     color: var(--cream);
     letter-spacing: 0.02em;
 }

 .ep-modal-sub {
     font-family: var(--font-mono);
     font-size: 0.7rem;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     color: var(--muted);
     margin-top: 0.2rem;
 }

 .ep-modal-close {
     width: 36px;
     height: 36px;
     border: 1px solid var(--border);
     background: none;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     flex-shrink: 0;
     transition: border-color 0.2s;
 }

 .ep-modal-close:hover {
     border-color: var(--cream);
 }

 .ep-modal-close svg {
     width: 16px;
     height: 16px;
     stroke: var(--cream);
     fill: none;
 }

 /* ── MEDIA SECTION (photos + short clip) ─────────── */
 .media-section {
     padding: 0 0 8rem;
 }

 /* Photos grid */
 .photo-grid {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 1px;
     background: var(--border);
     border: 1px solid var(--border);
     margin-bottom: 1px;
 }

 @media (min-width: 768px) {
     .photo-grid {
         grid-template-columns: repeat(4, 1fr);
     }
 }

 .photo-item {
     aspect-ratio: 4/3;
     overflow: hidden;
     background: #111;
     position: relative;
 }

 .photo-item img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
     transition: transform 0.4s ease, filter 0.3s;
     filter: saturate(0.85);
 }

 .photo-item:hover img {
     transform: scale(1.05);
     filter: saturate(1.1);
 }

 /* Short video clip */
 .clip-row {
     background: var(--border);
     padding: 1px;
 }

 .clip-inner {
     background: var(--card);
     display: grid;
     grid-template-columns: 1fr;
 }

 @media (min-width: 768px) {
     .clip-inner {
         grid-template-columns: 1fr 1fr;
     }
 }

 .clip-video-wrap {
     aspect-ratio: 16/9;
     background: #000;
     overflow: hidden;
     position: relative;
 }

 .clip-video-wrap video {
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
 }

 /* Custom play for clip */
 .clip-play-overlay {
     position: absolute;
     inset: 0;
     background: rgba(8, 8, 8, 0.5);
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     transition: opacity 0.2s;
 }

 .clip-play-overlay.hidden {
     opacity: 0;
     pointer-events: none;
 }

 .clip-info {
     padding: 2rem;
     display: flex;
     flex-direction: column;
     justify-content: center;
     gap: 0.75rem;
     border-left: 1px solid var(--border);
 }

 @media (max-width: 767px) {
     .clip-info {
         border-left: none;
         border-top: 1px solid var(--border);
     }
 }

 .clip-tag {
     font-family: var(--font-mono);
     font-size: 0.65rem;
     text-transform: uppercase;
     letter-spacing: 0.12em;
     color: var(--red);
 }

 .clip-title {
     font-family: 'Anton', sans-serif;
     font-size: 1.35rem;
     font-weight: 400;
     text-transform: uppercase;
     color: var(--cream);
     letter-spacing: 0.01em;
     line-height: 1.15;
 }

 .clip-desc {
     font-size: 0.875rem;
     line-height: 1.65;
     color: var(--muted);
 }