body{margin:0!important;padding:0!important;width:100%!important;max-width:100%!important;background:#f5f2ec!important;}#page,#wrapper,.site,.site-content,#content,.content-area,#primary,#secondary,.site-main,.page-content,.entry-content,article,.hentry,.post,.elementor,.elementor-section-wrap{margin:0!important;padding:0!important;max-width:100%!important;width:100%!important;} .custom-535-header{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;} .custom-535-header .header-topbar,.custom-535-header .header-main{box-sizing:border-box!important;} 
/* === MOBILE HEADER — IRONCLAD UNIFORM HEIGHT === */
@media (max-width: 768px) {
  .custom-535-header { min-height: auto !important; }
  .custom-535-header .header-topbar { padding: 8px 20px !important; }
  .custom-535-header .header-main {
    padding: 12px 20px !important;
    grid-template-columns: 1fr !important;
    row-gap: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    align-content: start !important;
  }
  /* Logo block: lock total reserved height across every page.
     The inline wrapper div sets a fixed pixel height (160px+) that
     overrides flex shrinkage — so we explicitly override it. */
  .custom-535-header .header-center { position: absolute !important; left: 50% !important; top: 50% !important; transform: translate(-50%, -50%) !important; padding: 0 !important; z-index: 1 !important; pointer-events: none !important; }
  .custom-535-header .header-center > div { height: 110px !important; min-height: 110px !important; max-height: 110px !important; justify-content: center !important; }
}
/* Phones: the header becomes a simple left-aligned column in normal
   flow — logo, then hamburger, then Subscribe. No absolute pinning. */
@media (max-width: 600px) {
  .header-nav-links, .arc-nav-links, .cnt-nav-links { display: none !important; }
  .custom-535-header .header-main, .custom-535-header .arc-nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    min-height: 0 !important;
    padding: 12px 20px 18px !important;
    position: relative !important;
  }
  .custom-535-header .header-main > *, .custom-535-header .arc-nav > * { order: 5; }
  .custom-535-header .header-center {
    position: static !important;
    left: auto !important; right: auto !important; top: auto !important;
    transform: none !important;
    order: 1 !important;
    width: auto !important;
    pointer-events: auto !important;
  }
  .custom-535-header .header-center > div {
    height: auto !important; min-height: 0 !important; max-height: none !important;
    justify-content: flex-start !important;
  }
  /* Only the clean logo on phones: the decorative ghost rings, ink
     washes, and echo layers are hidden (one of them was catching the
     date bar's border as a line through the mark). */
  .header-logo-main { height: 64px !important; max-height: 64px !important; width: auto !important; }
  .custom-535-header .header-center > div > div { display: none !important; }
  .custom-535-header .header-center img:not(.header-logo-main) { display: none !important; }

  /* Menu + Subscribe: compact, identical 150px, tight 8px rhythm,
     pinned to their own size (never stretched by the column). */
  .custom-535-header .header-main, .custom-535-header .arc-nav { gap: 6px !important; }
  .m535-burger, #m535-burger {
    width: 128px !important;
    min-width: 0 !important;
    max-width: 128px !important;
    justify-content: center !important;
    align-self: flex-start !important;
    margin: 0 !important;
    padding: 9px 12px !important;
    min-height: 40px !important;
  }
  .m535-burger .m535-burger-label { font-size: 10px !important; letter-spacing: 0.18em !important; }
  .header-sub-wrap { padding: 0 !important; margin: 0 !important; align-self: flex-start !important; }
  .header-sub-wrap .header-sub, a.header-sub {
    display: inline-block !important;
    width: 128px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    padding: 11px 0 !important;
    font-size: 10px !important;
    letter-spacing: 0.14em !important;
  }
  .custom-535-header .m535-burger { position: static !important; order: 2 !important; left: auto !important; top: auto !important; }
  .header-sub-wrap { position: static !important; order: 3 !important; margin: 0 !important; text-align: left !important; justify-self: start !important; }
}
@media (max-width: 768px) {
  .custom-535-header .header-center img { height: 110px !important; max-height: 110px !important; width: auto !important; }
  .custom-535-header .header-logo-main { height: 110px !important; max-height: 110px !important; width: auto !important; }
  /* Subscribe wrap: flush-left under the nav. */
  .custom-535-header .header-sub-wrap { text-align: left !important; margin-left: 0 !important; justify-self: start !important; padding-top: 12px !important; }
  .custom-535-header .header-nav-links { gap: 4px !important; font-size: 11px !important; letter-spacing: 0.12em !important; }
  .custom-535-header .header-nav-links a { line-height: 1.4 !important; }

}
.header-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1100px;
  margin: 0 auto;
  padding: 8px 40px;
  border-bottom: 1px solid var(--rule);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--soft);
  position: relative;
  z-index: 2;
}
.header-live {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--red);
  font-weight: 700;
  letter-spacing: 0.12em;
}
.header-live-dot {
  width: 5px; height: 5px;
  background: var(--red);
  border-radius: 50%;
  animation: blink 1.2s infinite;
}
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.2} }
.header-main {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
  padding: 28px 40px 24px;
  position: relative;
  z-index: 2;
}
.header-nav-links {
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink);
}
.header-nav-links a { color: var(--ink); transition: color 0.15s; }
.header-nav-links a:hover { color: var(--red); }
.header-center { text-align: center; padding: 0 36px; }
.header-center img { height: 88px; width: auto; display: block; margin: 0 auto; }
.header-tagline {
  font-family: 'Playfair Display', serif;
  font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--soft);
  font-style: italic;
  margin-top: 9px;
}
.header-sub {
  display: inline-block;
  background: var(--red);
  color: white;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 9px 20px;
  transition: background 0.15s;
}
.header-sub:hover { background: #5e1722; }

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
a[style*="background:#7a1f2e"]:hover,a[style*="background:var(--maroon)"]:hover,[class*="btn"]:hover,[class*="sub"]:hover{color:white!important;}
:root{--ink:#1a1a1a;--red:#7a1f2e;--maroon:#7a1f2e;--bone:#f5f2ec;--warm:#e8e3da;--soft:#8a7f72;--rule:#d4cfc7;}
body{background:var(--bone);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased;margin:0!important;padding:0!important;overflow-x:hidden;}
.site,.site-content,#content,#page,.hfeed,.entry-content,.entry,article,.post,#primary,#secondary,.content-area{max-width:100%!important;width:100%!important;margin:0!important;padding:0!important;}
/* HEADER */
.arc-header{background:var(--bone);border-bottom:3px solid var(--ink);width:100%;position:relative;overflow:hidden;}

.arc-capitol{position:absolute;right:0;top:0;bottom:0;width:36%;pointer-events:none;overflow:hidden;}
.arc-capitol img{width:100%;height:100%;object-fit:cover;object-position:center 20%;opacity:0.45;filter:grayscale(20%) contrast(1.05) brightness(1.1);}
.arc-capitol-fade{position:absolute;inset:0;background:linear-gradient(to right,var(--bone) 0%,rgba(245,242,236,0.4) 25%,rgba(245,242,236,0) 60%,transparent 100%);}
.arc-topbar{display:flex;align-items:center;justify-content:space-between;max-width:1100px;margin:0 auto;padding:8px 40px;border-bottom:1px solid var(--rule);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--soft);position:relative;z-index:2;}
.arc-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;max-width:1100px;margin:0 auto;padding:28px 40px 24px;position:relative;z-index:2;}
.arc-nav-links{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;}
.arc-nav-links a{color:var(--ink);text-decoration:none;transition:color 0.15s;}
.arc-nav-links a:hover,.arc-nav-links a.active{color:var(--red);}
.arc-sub{display:inline-block;background:var(--maroon);color:white;font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;padding:10px 22px;text-decoration:none;}
.arc-sub:hover{background:#5e1722;color:white!important;}
/* HERO */
.arc-hero{background:var(--maroon);padding:56px 0 48px;position:relative;overflow:hidden;}
.arc-hero-ghost{position:absolute;right:-20px;top:50%;transform:translateY(-50%);font-family:'Playfair Display',serif;font-size:220px;font-weight:900;font-style:italic;color:white;opacity:0.06;line-height:1;letter-spacing:-0.04em;user-select:none;pointer-events:none;white-space:nowrap;}
.arc-hero-inner{max-width:1100px;margin:0 auto;padding:0 40px;position:relative;z-index:1;}
.arc-eyebrow{font-size:8px;letter-spacing:0.28em;text-transform:uppercase;color:rgba(255,255,255,0.5);font-weight:700;margin-bottom:12px;}
.arc-title{font-family:'Playfair Display',serif;font-size:clamp(36px,5vw,64px);font-weight:900;color:white;line-height:1.05;letter-spacing:-0.02em;margin-bottom:16px;}
.arc-title em{color:#E8C96F;font-style:italic;font-weight:900;}
.arc-meta{font-size:13px;color:rgba(255,255,255,0.45);margin-bottom:28px;}
.arc-rule{height:1px;background:linear-gradient(to right,rgba(255,255,255,0.2),transparent);margin-bottom:28px;}
.arc-filters{display:flex;flex-wrap:wrap;gap:6px;}
.arc-filter{display:inline-block;padding:5px 14px;border:1px solid rgba(255,255,255,0.25);border-radius:20px;font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.7);text-decoration:none;transition:all 0.15s;}
.arc-filter:hover{border-color:rgba(255,255,255,0.7);color:white;}
.arc-filter-divider{width:1px;height:16px;background:rgba(255,255,255,0.15);align-self:center;}
/* STORY GRID — exact homepage style */
.arc-wrap{max-width:1100px;margin:0 auto;padding:0 40px;}
.story-grid{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid var(--rule);background:var(--bone);}
.story-card{padding:36px 32px;border-right:1px solid var(--rule);cursor:pointer;transition:background 0.2s;text-decoration:none;display:block;}
.story-card:last-child{border-right:none;}
.story-card:hover{background:rgba(255,255,255,0.6);}
.story-card:hover .sc-headline{color:var(--red);}
.sc-kicker{font-size:11px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--red);margin-bottom:10px;}
.sc-headline{font-family:'Playfair Display',serif;font-size:19px;font-weight:700;line-height:1.3;margin-bottom:10px;transition:color 0.15s;color:var(--ink);}
.sc-dek{font-size:13px;line-height:1.6;color:var(--soft);font-style:italic;font-family:'Playfair Display',serif;margin-bottom:14px;}
.sc-meta{font-size:11px;color:var(--soft);}
.sc-meta strong{color:var(--ink);font-weight:500;}
/* PAGINATION */
.arc-pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:48px 0;}
.arc-page-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--rule);font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;transition:all 0.15s;}
.arc-page-link:hover,.arc-page-link.current{background:var(--maroon);border-color:var(--maroon);color:white;}
/* FOOTER */
.arc-footer{background:var(--ink);color:white;padding:56px 0 32px;position:relative;overflow:hidden;isolation:isolate;}
.arc-footer::after{content:"";position:absolute;top:0;bottom:0;right:-2%;width:42%;background:url('/wp-content/uploads/2026/03/535_Crimson-2.png') no-repeat right center;background-size:auto 100%;opacity:.12;pointer-events:none;z-index:0;}
.arc-footer > *{position:relative;z-index:1;}
.arc-footer-inner{max-width:1100px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;}
.arc-footer-logo{display:block;margin-bottom:12px;line-height:0;}.arc-footer-logo img{display:block;height:60px;width:auto;max-width:180px;}
.arc-footer-desc{font-size:13px;color:rgba(255,255,255,0.4);line-height:1.6;}
.arc-footer-col-title{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.35);font-weight:700;margin-bottom:16px;}
.arc-footer a{display:block;font-size:13px;color:rgba(255,255,255,0.6);margin-bottom:9px;text-decoration:none;transition:color 0.15s;}
.arc-footer a:hover{color:white;}
.arc-footer-bottom{max-width:1100px;margin:40px auto 0;padding:20px 40px 0;border-top:1px solid rgba(255,255,255,0.08);display:flex;justify-content:space-between;font-size:11px;color:rgba(255,255,255,0.25);}

/* ── MOBILE RESPONSIVE ──────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .hero { grid-template-columns: 1fr !important; }
  .hero-img-wrap { min-height: 280px !important; }
  .hero-content { padding: 28px 20px !important; }
  .header-main, .arc-nav, .about-nav, .cnt-nav { padding: 16px 20px !important; grid-template-columns: 1fr !important; row-gap: 16px !important; min-height: 140px !important; align-content: center !important; }
  /* Logo on mobile: kept absolutely-centered over the nav but sized
     up to read like an actual logo. The inline markup wraps the logo
     image in <div style="height:160px"> with the image set to 140px —
     fixed pixel heights that ignore CSS rules on the image alone, so
     we must override the WRAPPER div height too or the header row
     stays tall. Descendant selectors below shrink the entire cluster
     in lockstep so the header collapses to one consistent height
     across every page. */
  .header-center { position:absolute !important; left:50% !important; transform:translateX(-50%) !important; z-index:1 !important; padding:0 !important; }
  .header-center > div { height: 100px !important; }
  .header-center img { height: 80px !important; max-height: 80px !important; }
  .header-logo-main { height: 80px !important; max-height: 80px !important; }
  .header-sub-wrap { text-align: left !important; margin-left: 0 !important; justify-self: start !important; }
  .header-topbar, .arc-topbar, .about-topbar, .cnt-topbar { padding: 8px 20px !important; }
  .header-nav-links, .arc-nav-links, .cnt-nav-links { gap: 5px !important; font-size: 11px !important; }
  .content-wrap, .arc-wrap, .about-wrap, .cnt-wrap { padding: 0 20px !important; }
  .story-grid, .arc-stories-grid { grid-template-columns: 1fr !important; }
  .mission-grid { grid-template-columns: 1fr !important; }
  .programming-grid { grid-template-columns: 1fr !important; }
  .format-shows { grid-template-columns: 1fr !important; gap: 24px !important; }
  .arc-footer-inner, .about-footer-inner, .cnt-footer-inner { grid-template-columns: 1fr 1fr !important; gap: 24px !important; padding: 0 20px !important; }
  .arc-footer-bottom, .about-footer-bottom, .cnt-footer-bottom { padding: 20px 20px 0 !important; flex-direction: column !important; gap: 8px !important; }
  .arc-hero-inner, .cnt-hero-inner, .about-hero-content { padding: 40px 20px !important; }
  .arc-interview-list .arc-row { grid-template-columns: 48px 1fr !important; }
  .arc-btn { display: none !important; }
  .cnt-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
  .about-hero-title { font-size: 36px !important; }
  .fc-row { grid-template-columns: 1fr !important; gap: 10px !important; }
  .header-capitol, .arc-header-capitol, .cnt-capitol, .about-header .header-capitol { width: 50% !important; }
  footer::after { display:none !important; }
  .arc-title { font-size: 36px !important; }
  .arc-filter-nav, .arc-filters { gap: 4px !important; }
  .arc-filter { font-size: 11px !important; padding: 5px 12px !important; }
  footer { padding: 40px 0 24px !important; }
  footer > div:first-child { grid-template-columns: 1fr 1fr !important; gap: 24px !important; padding: 0 20px !important; }
  .in-the-know-cols { grid-template-columns: 1fr !important; gap: 24px !important; }
  #hero-cover .bottom-bar { padding: 14px 16px !important; }
  .subscribe-strip { padding: 32px 20px !important; }
  .ss-form { flex-direction: column !important; gap: 12px !important; }
  .ss-form input { border-radius: 0 !important; }
}
@media (max-width: 480px) {
  .arc-footer-inner, .about-footer-inner, .cnt-footer-inner { grid-template-columns: 1fr !important; }
  .header-nav-links, .arc-nav-links, .cnt-nav-links { font-size: 10px !important; gap: 4px !important; }
  .arc-title, .about-hero-title { font-size: 28px !important; }
}

/* === HOMEPAGE HEADER CSS - INJECTED === */
.site-header {
  background: var(--bone);
  border-bottom: 3px solid var(--ink);
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: relative;
  overflow: hidden;
  display: block;
}
.header-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1100px;
  margin: 0 auto;
  padding: 8px 40px;
  border-bottom: 1px solid var(--rule);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--soft);
  position: relative;
  z-index: 2;
}
.header-live {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--red);
  font-weight: 700;
  letter-spacing: 0.12em;
}
.header-live-dot {
  width: 5px; height: 5px;
  background: var(--red);
  border-radius: 50%;
  animation: blink 1.2s infinite;
}
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.2} }
.header-main {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
  padding: 28px 40px 24px;
  position: relative;
  z-index: 2;
}
.header-nav-links {
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink);
}
.header-nav-links a { color: var(--ink); transition: color 0.15s; }
.header-nav-links a:hover { color: var(--red); }
.header-center { text-align: center; padding: 0 36px; }
.header-center img { height: 88px; width: auto; display: block; margin: 0 auto; }
.header-tagline {
  font-family: 'Playfair Display', serif;
  font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--soft);
  font-style: italic;
  margin-top: 9px;
}
.header-sub {
  display: inline-block;
  background: var(--red);
  color: white;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 9px 20px;
  transition: background 0.15s;
}
.header-sub:hover { background: #5e1722; }
/* === END HEADER CSS === */

/* === MOBILE HERO — UNIFORM HEIGHT === */
@media (max-width: 768px) {
  .arc-hero { padding: 56px 0 48px !important; min-height: 0 !important; display: block !important; }
  .arc-hero-inner { padding: 0 20px !important; max-width: 100% !important; }
}

/* === DESKTOP HERO — UNIFORM HEIGHT === */
.arc-hero {
  padding: 56px 0 48px !important;
  min-height: 0 !important;
  display: block !important;
  align-items: initial !important;
}
.arc-hero-inner {
  padding: 0 40px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}
  @keyframes logo-breathe {
    0%,100% { opacity:0.38; transform:scale(1); }
    50% { opacity:0.44; transform:scale(1.015); }
  }
  .header-logo-main { animation: logo-breathe 4s ease-in-out infinite; }
  
  .ev-main { background: var(--bone); padding: 24px 0 72px; }
  .ev-wrap { max-width: 960px; margin: 0 auto; padding: 0 40px; }
  .ev-card { background: #fff; border: 1px solid var(--rule); border-radius: 10px; overflow: hidden; box-shadow: 0 10px 30px rgba(26,22,20,0.07); margin-top: 40px; scroll-margin-top: 24px; }
  .ev-card-main { display: flex; flex-direction: column; }
  .ev-media { width: 100%; position: relative; background: #101010; aspect-ratio: 16/9; min-height: 220px; }
  .ev-cover { position: absolute; inset: 0; cursor: pointer; background: #101010; }
  .ev-cover-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
  .ev-cover-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 74px; height: 74px; border-radius: 50%; background: var(--maroon); display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 26px rgba(0,0,0,0.35); transition: transform 0.15s; }
  .ev-cover:hover .ev-cover-play { transform: translate(-50%,-50%) scale(1.06); }
  .ev-cover-play::after { content: ''; display: block; width: 0; height: 0; border-style: solid; border-width: 12px 0 12px 20px; border-color: transparent transparent transparent #fff; margin-left: 5px; }
  .ev-media iframe.ev-live-frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
  .ev-card-main > .ev-body { min-width: 0; display: flex; flex-direction: column; border-top: 1px solid var(--rule); }
  .ev-body-spacer { min-height: 12px; }
  /* The on-site RSVP is a real <button>; a global button style in the stack
     forces <button>s navy + rounded (the same one that hit the About-page
     scroller arrows). !important here so the theme's maroon square button
     wins for both the <button> (form) and the <a> (external link) variants. */
  @media (max-width: 900px) { .ev-striprow { padding: 16px 20px; } .ev-strip-watch { margin-left: 0; } }
  .ev-card:first-child { margin-top: 16px; }
  .ev-video { position: absolute; inset: 0; background: #111; }
  .ev-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
  .ev-body { padding: 26px 30px 24px; }
  .ev-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; margin-bottom: 12px; }
  .ev-date { font-size: 10px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--soft); font-weight: 700; }
  .ev-live { display: inline-flex; align-items: center; gap: 7px; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 700; color: #dc2626; }
  .ev-live-dot { width: 8px; height: 8px; border-radius: 50%; background: #dc2626; animation: ev-pulse 1.6s ease-in-out infinite; }
  @keyframes ev-pulse { 0%,100%{opacity:1;} 50%{opacity:0.35;} }
  .ev-rec-live { display: inline-flex; align-items: center; gap: 6px; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 700; color: #E8C96F; border: 1px solid #E8C96F; padding: 3px 9px; }
  .ev-title { font-family: 'Playfair Display', serif; font-size: clamp(28px, 3.4vw, 44px); font-weight: 900; color: var(--ink); line-height: 1.1; letter-spacing: -0.015em; margin: 0 0 16px; }
  .ev-title a { color: inherit; text-decoration: none; }
  .ev-title a:hover { color: var(--maroon); }
  .ev-detail { font-size: 15px; line-height: 1.8; color: var(--soft); max-width: 760px; }
  .ev-detail p { margin: 0 0 14px; }
  .ev-guests { display: flex; flex-wrap: wrap; gap: 12px 26px; margin: 20px 0 4px; }
  .ev-guest { display: flex; align-items: center; gap: 11px; text-decoration: none; }
  .ev-guest-photo { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; object-position: top; border: 2px solid var(--rule); background: var(--warm); display: block; }
  .ev-guest-photo--empty { display: flex; align-items: center; justify-content: center; font-family: 'Playfair Display', serif; font-weight: 900; color: var(--maroon); font-size: 17px; }
  .ev-guest-name { font-size: 13px; font-weight: 700; color: var(--ink); line-height: 1.25; }
  a.ev-guest:hover .ev-guest-name { color: var(--maroon); }
  .ev-guest-role { font-size: 11px; color: var(--soft); line-height: 1.3; }
  
  .ev-empty { text-align: center; padding: 90px 20px; font-family: 'Playfair Display', serif; font-style: italic; font-size: 19px; color: var(--soft); }
  .ev-group-label { display: flex; align-items: center; gap: 14px; margin: 56px 0 4px; }
  .ev-group-label:first-child { margin-top: 16px; }
  .ev-group-label span:first-child { font-size: 10px; letter-spacing: 0.32em; text-transform: uppercase; color: var(--maroon); font-weight: 700; }
  .ev-group-label span:last-child { flex: 1; height: 1px; background: var(--rule); }
  /* Headshot used as the frame photo: keep the face in view when a portrait
     is cropped into the landscape frame. */
  /* Upcoming/awaiting-recording plate — same anatomy as the "Still cutting"
     plate on interview pages: Capitol backdrop, maroon wash, gold status
     pill, two-tone headline, editorial footer with equalizer bars. */
  /* Small screens: the 16/9 media box is shorter than the placeholder's
     content (pill + headline + dek + footer), and because the plate is
     bottom-anchored with overflow:hidden the TOP gets clipped. When the
     media box holds a placeholder (no poster/video), drop the fixed
     ratio and let the plate flow at its natural height instead. */
  .ev-reported { margin-top: 14px; font-size: 13px; color: var(--soft); }
  .ev-reported a { color: var(--maroon); font-weight: 700; text-decoration: none; }
  .ev-reported a:hover { border-bottom: 1px solid var(--maroon); }
  /* Top-level "who's featured" strip only (session rows below keep the plain
     flex row — one guest per row, no wrap problem to solve). Guest badges get
     their own equal-width grid so names of very different lengths still line
     up into clean columns instead of a ragged flex-wrap. Auto-fit collapses
     to one column on narrow widths with no extra media query needed. */
  a.ev-strip-guest:hover .ev-strip-name { color: var(--maroon); }
  .ev-session { padding: 22px 32px 26px; border-top: 1px solid var(--rule); scroll-margin-top: 24px; }
  .ev-session:first-child { border-top: 0; }
  .ev-session-kicker { font-size: 10px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--maroon); font-weight: 700; margin-bottom: 8px; }
  .ev-session-title { font-family: 'Playfair Display', serif; font-size: 19px; font-weight: 900; color: var(--ink); line-height: 1.15; letter-spacing: -0.01em; margin: 0 0 8px; }
  .ev-session-video { position: relative; width: 100%; max-width: 640px; aspect-ratio: 16/9; background: #111; margin: 14px 0 6px; }
  .ev-session-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
  .ev-session .ev-detail { font-size: 14px; }
  .ev-session .ev-guests { margin-top: 14px; }
  .ev-session .ev-tags { margin-top: 14px; }
  @media (max-width: 700px) { .ev-wrap { padding: 0 20px; } .ev-body { padding: 22px 22px 26px; } .ev-session { padding: 20px 22px 24px; } }
