/* Deep pages: episode.html and guest.html, plus the Wall and synopsis panels on index. */

/* topbar tabs as links */
.tabs a.tab{text-decoration:none;display:inline-block}

/* ---------- episode deep page ---------- */
.dp-hero{padding:var(--s8) 0 var(--s6);border-bottom:3px solid var(--fg)}
.dp-hero .eyebrow{margin-bottom:var(--s3)}
.dp-hero h1{font-size:clamp(2rem,5.5vw,4rem);margin:0 0 var(--s4)}
.dp-tagline{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--fg-muted);max-width:62ch;margin:0 0 var(--s5)}
.dp-meta{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center}
.badge{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;
  padding:4px 10px;border-radius:var(--r-pill);border:1.5px solid var(--fg);color:var(--fg)}
.badge.unpub{background:var(--down-bg);color:var(--down);border-color:transparent}
.badge.frag{background:var(--bg-muted);color:var(--fg-dim);border-color:transparent}
.dp-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--s8);align-items:start}
@media (max-width:960px){.dp-grid{grid-template-columns:1fr}}
.dp-side{position:sticky;top:84px;display:flex;flex-direction:column;gap:var(--s4)}
@media (max-width:960px){.dp-side{position:static}}
.dp-still{border:3px solid var(--fg);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-print)}
.dp-still img{width:100%;display:block}
.gmini{display:flex;gap:var(--s3);align-items:center;padding:var(--s3);border:1px solid var(--border);
  border-radius:var(--r-md);background:var(--surface);text-decoration:none;color:var(--fg);transition:var(--dur) var(--ease-spring)}
.gmini:hover{border-color:var(--fg);box-shadow:var(--shadow-print)}
.gmini img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:1.5px solid var(--fg);flex-shrink:0}
.gmini .who b{display:block;font-size:15px;line-height:1.2}
.gmini .who span{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-dim)}
.dp-section{margin:var(--s8) 0}
.dp-section>h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:0 0 var(--s4);display:flex;gap:var(--s3);align-items:center}
.dp-section>h2 img{width:30px;height:30px}
.dp-summary p{max-width:70ch;font-size:17.5px}
.taught{list-style:none;padding:0;margin:0;counter-reset:t;max-width:76ch}
.taught li{counter-increment:t;position:relative;padding:var(--s4) 0 var(--s4) 56px;border-bottom:1px solid var(--border)}
.taught li:last-child{border-bottom:0}
.taught li::before{content:counter(t,decimal-leading-zero);position:absolute;left:0;top:calc(var(--s4) + 4px);
  font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--accent)}
.taught b{display:block;font-size:1.05rem;margin-bottom:4px}
.taught p{margin:0;color:var(--fg-muted);font-size:15.5px;max-width:66ch}
.topics{display:flex;flex-direction:column;gap:var(--s3);max-width:80ch}
.topic{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:0 var(--r-md) var(--r-md) 0;
  background:var(--surface);padding:var(--s4) var(--s5)}
.topic h4{margin:0 0 6px;font-size:1rem}
.topic p{margin:0;font-size:15px;color:var(--fg-muted)}
.qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s4)}
.qcard{border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s5);background:var(--bg-muted)}
.qcard p{font-family:var(--font-display);font-size:1.25rem;line-height:1.35;margin:0 0 var(--s3)}
.qcard cite{font-family:var(--font-mono);font-size:10.5px;font-style:normal;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-dim)}
.mention-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--s4)}
.mg{border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s5);background:var(--surface)}
.mg h4{margin:0 0 var(--s3);font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--fg-dim)}
.mg ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.mg li{font-family:var(--font-mono);font-size:12px;padding:4px 9px;border-radius:var(--r-pill);background:var(--bg-muted);border:1px solid var(--border)}
.mg li a{text-decoration:none;color:inherit}
.dp-nav{display:flex;justify-content:space-between;gap:var(--s4);margin:var(--s8) 0 var(--s6);flex-wrap:wrap}
.dp-nav a{flex:1 1 240px;border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s4);text-decoration:none;color:var(--fg);background:var(--surface);transition:var(--dur) var(--ease-spring)}
.dp-nav a:hover{border-color:var(--fg);box-shadow:var(--shadow-print)}
.dp-nav .dir{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-dim);display:block;margin-bottom:4px}
.dp-nav .next{text-align:right}
.moment{border:1.5px solid var(--fg);border-radius:var(--r-lg);background:var(--bg-muted);padding:var(--s5);max-width:76ch;box-shadow:var(--shadow-print)}
.moment h4{margin:0 0 var(--s2);font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--accent)}
.moment p{margin:0;font-size:16.5px}

/* ---------- guest page ---------- */
.gp-hero{display:grid;grid-template-columns:150px minmax(0,1fr);gap:var(--s6);align-items:center;padding:var(--s8) 0 var(--s6);border-bottom:3px solid var(--fg)}
@media (max-width:640px){.gp-hero{grid-template-columns:96px 1fr;gap:var(--s4)}}
.gp-hero .avatar{width:150px;height:150px;border-radius:50%;object-fit:cover;border:3px solid var(--fg);box-shadow:var(--shadow-print)}
@media (max-width:640px){.gp-hero .avatar{width:96px;height:96px}}
.gp-hero h1{font-size:clamp(2rem,5vw,3.6rem);margin:0 0 var(--s2)}
.gp-firm{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 var(--s3)}
.gp-links{display:flex;gap:var(--s2);flex-wrap:wrap}
.gp-bio{max-width:70ch;font-size:17.5px}
.known{display:flex;flex-wrap:wrap;gap:8px;margin:var(--s4) 0 0;padding:0;list-style:none}
.known li{font-family:var(--font-mono);font-size:12px;padding:5px 12px;border-radius:var(--r-pill);border:1.5px solid var(--fg)}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--s4);margin-top:var(--s5)}
.gitem{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--surface);cursor:zoom-in;transition:var(--dur) var(--ease-spring);display:flex;flex-direction:column}
.gitem:hover{border-color:var(--fg);box-shadow:var(--shadow-print);transform:translateY(-2px)}
.gitem img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--bg-muted)}
.gitem figcaption{padding:var(--s3) var(--s4)}
.gitem figcaption b{display:block;font-size:14px;line-height:1.3}
.gitem figcaption span{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-dim)}
.gitem figcaption p{margin:6px 0 0;font-size:13px;color:var(--fg-muted)}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:100;background:color-mix(in srgb,var(--blossom-black) 88%,transparent);
  display:flex;align-items:center;justify-content:center;padding:var(--s6)}
.lightbox[hidden]{display:none}
.lightbox figure{margin:0;max-width:min(1100px,94vw);max-height:88vh;display:flex;flex-direction:column;gap:var(--s3)}
.lightbox img{max-width:100%;max-height:76vh;object-fit:contain;border-radius:var(--r-md)}
.lightbox figcaption{color:var(--blossom-white);font-size:14px;text-align:center}
.lb-close{position:fixed;top:18px;right:22px;font-size:34px;line-height:1;background:none;border:0;color:var(--blossom-white);cursor:pointer}

/* ---------- index additions: synopsis panels, wall, avatars ---------- */
.ep h4 a{color:inherit;text-decoration:none}
.ep h4 a:hover{color:var(--accent)}
.syn-toggle{margin-top:var(--s2)}
.syn{display:none;grid-column:1 / -1;border-top:1px dashed var(--border);margin-top:var(--s3);padding-top:var(--s3)}
.ep.open .syn{display:block}
.syn h5{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--fg-dim);margin:var(--s3) 0 var(--s2)}
.syn p,.syn li{font-size:14.5px;color:var(--fg-muted)}
.syn ul{margin:0;padding-left:1.2em}
.gcard .gc-head{display:flex;gap:var(--s3);align-items:center;margin-bottom:var(--s3)}
.gcard .gc-head img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:1.5px solid var(--fg);flex-shrink:0}
.gcard .gc-head h4{margin:0}
.gcard .gc-head .firm{margin:2px 0 0}
.wall{columns:5 220px;column-gap:var(--s3);margin-top:var(--s5)}
.wall a{display:block;margin-bottom:var(--s3);break-inside:avoid;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--border);position:relative}
.wall a:hover{border-color:var(--fg);box-shadow:var(--shadow-print)}
.wall img{width:100%;display:block}
.wall .who{position:absolute;left:0;right:0;bottom:0;padding:18px var(--s3) var(--s2);
  background:linear-gradient(transparent,rgba(13,13,13,.82));color:#fff;font-family:var(--font-mono);
  font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;opacity:0;transition:var(--dur)}
.wall a:hover .who{opacity:1}

/* lessons panel */
.lgroup{margin:0 0 var(--s7);max-width:80ch}
.lgroup h3{display:flex;gap:var(--s3);align-items:baseline;flex-wrap:wrap;margin:0 0 var(--s2);
  padding-bottom:var(--s2);border-bottom:1.5px solid var(--fg);font-size:1.15rem}
.lgroup h3 a{color:inherit;text-decoration:none}
.lgroup h3 a:hover{color:var(--accent)}
.lgroup h3 span{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;
  letter-spacing:var(--tracking-label);color:var(--fg-dim);font-weight:400}

/* related episode cards */
a.card.rel{display:block;text-decoration:none;color:var(--fg)}
a.card.rel h4{margin:0 0 var(--s2)}
a.card.rel p{margin:0 0 var(--s3)}
.dp-meta .pill.th{text-decoration:none}

/* citable: lesson anchors, per lesson link and cite, the citation box */
.taught li{scroll-margin-top:96px}
.taught li:target,.taught li.is-target{background:var(--bg-muted);box-shadow:inset 3px 0 0 var(--accent)}
.taught b a.lh{color:inherit;text-decoration:none}
.taught b a.lh:hover{color:var(--accent)}
.lacts{display:flex;gap:var(--s3);margin-top:var(--s2);font-family:var(--font-mono);font-size:10.5px;
  text-transform:uppercase;letter-spacing:.06em;opacity:.55;transition:opacity var(--dur)}
.taught li:hover .lacts,.taught li:target .lacts,.taught li.is-target .lacts,.lacts:focus-within{opacity:1}
.lacts a,.lacts button{color:var(--fg-dim);text-decoration:none;background:none;border:0;padding:0;font:inherit;
  letter-spacing:inherit;text-transform:inherit;cursor:pointer}
.lacts a:hover,.lacts button:hover{color:var(--accent)}
.cite-box{margin:var(--s8) 0 var(--s4);padding:var(--s5);border:1.5px solid var(--fg);border-radius:var(--r-md);max-width:80ch}
.cite-box h4{margin:0 0 var(--s2);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;
  letter-spacing:var(--tracking-label);color:var(--fg-dim);font-weight:400}
.cite-box p{margin:0 0 var(--s3);font-size:15px;overflow-wrap:anywhere}
.cite-box .lnk{margin-right:var(--s2)}
.cite-box .note{margin:var(--s3) 0 0}
