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; }

}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
: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;
}
/* Kill theme wrappers */
.site, .site-content, #content, #page, .hfeed,
.entry-content, .entry, article, .post,
#primary, #secondary, .content-area,
.container, .wp-site-blocks, .is-layout-flow {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── HEADER ── */
.about-header {
  background: var(--bone);
  border-bottom: 3px solid var(--ink);
  width: 100%;
  position: relative;
  overflow: hidden;
}
.about-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px solid var(--rule);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--soft);
  max-width: 1100px;
  margin: 0 auto;
  padding: 8px 40px;
}
.about-nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 28px 40px 24px;
  max-width: 1100px;
  margin: 0 auto;
}
.nav-links {
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.nav-links a { color: var(--ink); text-decoration: none; transition: color 0.15s; }
.nav-links a:hover { color: var(--red); }
.nav-sub {
  display: inline-block;
  background: var(--red);
  color: white;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 10px 22px;
  text-decoration: none;
  transition: background 0.15s;
}
.nav-sub:hover { background: #5e1722; }

/* Capitol photo in header */
.header-capitol {
  position: absolute;
  right: 0; top: 0; bottom: 0;
  width: 36%;
  pointer-events: none;
  overflow: hidden;
}
.header-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);
}
.header-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%);
}

/* ── HERO BANNER ── */
.about-hero {
  position: relative;
  overflow: hidden;
  min-height: 380px;
  display: flex;
  align-items: center;
}
.about-hero-bg {
  position: absolute; inset: 0;
  background: url('/wp-content/uploads/2026/03/ale72170404414.jpg') center 30%/cover no-repeat;
  filter: brightness(0.82) saturate(1.3) contrast(1.0) sepia(0.35) hue-rotate(-5deg);
}
.about-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(170deg, rgba(200,140,40,0.15) 0%, rgba(180,110,20,0.25) 40%, rgba(100,55,5,0.72) 100%);
}
.about-hero-glow {
  position: absolute; top: 15%; left: 0; right: 0; height: 260px;
  background: radial-gradient(ellipse 100% 100% at 50% 50%, rgba(255,200,80,0.28), transparent);
}
.about-hero-content {
  position: relative; z-index: 2;
  max-width: 1100px;
  margin: 0 auto;
  padding: 80px 40px;
  width: 100%;
}
.about-hero-eyebrow {
  font-size:11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  font-weight: 700;
  margin-bottom: 16px;
}
.about-hero-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(42px, 6vw, 72px);
  font-weight: 900;
  color: white;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin-bottom: 24px;
  max-width: 700px;
}
.about-hero-title em { color: #E8C96F; font-style: italic; }
.about-hero-rule {
  width: 60px; height: 2px;
  background: rgba(255,255,255,0.4);
  margin-bottom: 24px;
}
.about-hero-desc {
  font-size: 17px;
  line-height: 1.7;
  color: rgba(255,255,255,0.75);
  max-width: 580px;
  font-family: 'Playfair Display', serif;
  font-style: italic;
}

/* ── WRAP ── */
.about-wrap { max-width: 1100px; margin: 0 auto; padding: 0 40px; }

/* ── MISSION ── */
.mission-section {
  padding: 80px 0 72px;
  border-bottom: 1px solid var(--rule);
}
.mission-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1px;
  background: var(--rule);
  margin-top: 56px;
}
.mission-card {
  background: var(--bone);
  padding: 40px 36px;
}
.mission-card-label {
  font-size: 8px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--maroon);
  font-weight: 700;
  margin-bottom: 14px;
}
.mission-card-rule {
  width: 28px; height: 2px;
  background: var(--maroon);
  margin-bottom: 20px;
}
.mission-card-title {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 14px;
  line-height: 1.2;
}
.mission-card-body {
  font-size:15px;
  line-height: 1.75;
  color: var(--soft);
}
.section-eyebrow {
  font-size: 8px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--maroon);
  font-weight: 700;
  margin-bottom: 12px;
}
.section-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 900;
  color: var(--ink);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-bottom: 20px;
}
.section-title em { color: var(--maroon); font-style: italic; }
.section-body {
  font-size: 16px;
  line-height: 1.75;
  color: var(--soft);
  max-width: 640px;
  font-family: 'Playfair Display', serif;
  font-style: italic;
}

/* (legacy .founder-* CSS removed — unused theme-wide) */

/* ── PROGRAMMING ── */
.programming-section {
  padding: 80px 0 72px;
  border-bottom: 1px solid var(--rule);
}
.programming-intro {
  font-size: 16px;
  line-height: 1.75;
  color: var(--soft);
  font-family: 'Playfair Display', serif;
  font-style: italic;
  max-width: 640px;
  margin-bottom: 56px;
}
.programming-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--rule);
  margin-bottom: 48px;
}
.prog-card {
  background: white;
  padding: 44px 40px;
}
.prog-card-number {
  font-family: 'Playfair Display', serif;
  font-size: 72px;
  font-weight: 900;
  color: var(--maroon);
  opacity: 0.12;
  line-height: 1;
  margin-bottom: -20px;
}
.prog-card-label {
  font-size: 8px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--maroon);
  font-weight: 700;
  margin-bottom: 12px;
  position: relative;
}
.prog-card-title {
  font-family: 'Playfair Display', serif;
  font-size: 26px;
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 14px;
  line-height: 1.2;
}
.prog-card-body {
  font-size: 14px;
  line-height: 1.75;
  color: var(--soft);
}

/* Format section */
.format-section {
  margin-top: 48px;
  background: var(--ink);
  padding: 56px;
  position: relative;
  overflow: hidden;
}
.format-ghost {
  position: absolute;
  right: -20px; top: 50%;
  transform: translateY(-50%);
  font-family: 'Playfair Display', serif;
  font-size: 180px;
  font-weight: 900;
  font-style: italic;
  color: white;
  opacity: 0.04;
  line-height: 1;
  letter-spacing: -0.04em;
  pointer-events: none;
  white-space: nowrap;
  user-select: none;
}
.format-label {
  font-size: 8px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  font-weight: 700;
  margin-bottom: 20px;
}
.format-shows {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
  margin-top: 32px;
}
.format-show-title {
  font-family: 'Playfair Display', serif;
  font-size: 20px;
  font-weight: 800;
  color: white;
  margin-bottom: 10px;
}
.format-show-title em { color: #E8C96F; }
.format-show-body {
  font-size: 13px;
  line-height: 1.7;
  color: rgba(255,255,255,0.5);
}
.format-rule {
  height: 1px;
  background: linear-gradient(to right, rgba(255,255,255,0.15), transparent);
  margin: 28px 0;
}

/* ── FOOTER ── */
.about-footer {
  background: var(--ink);
  color: white;
  padding: 56px 0 32px;
  position:relative; overflow:hidden; isolation:isolate;
}
.about-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;}
.about-footer > *{position:relative;z-index:1;}
.about-footer-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
}
.footer-logo {
  font-family: 'Playfair Display', serif;
  font-size: 32px;
  font-weight: 900;
  color: white;
  margin-bottom: 12px;
}
.footer-desc { font-size: 13px; color: rgba(255,255,255,0.4); line-height: 1.6; }
.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;
}
.about-footer a { display: block; font-size: 13px; color: rgba(255,255,255,0.6); margin-bottom: 9px; text-decoration: none; transition: color 0.15s; }
.about-footer a:hover { color: white; }
.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: 1024px) {
  .staff-reporters-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@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; }
  .reporters-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  .staff-founders-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
  .staff-reporters-grid { grid-template-columns: 1fr !important; gap: 14px !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 === */
  @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; }
  
/* ── REPORTER PROFILE — matches interviews archive aesthetic ── */
.rp-hero{background:var(--maroon);padding:64px 0 56px;position:relative;overflow:hidden;border-bottom:none;}
.rp-hero-ghost{position:absolute;right:-40px;top:50%;transform:translateY(-50%);font-family:'Playfair Display',serif;font-size:clamp(180px,22vw,300px);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;z-index:0;}
.rp-hero-inner{max-width:1100px;margin:0 auto;padding:0 40px;position:relative;z-index:1;}
.rp-hero-grid{display:grid;grid-template-columns:240px 1fr;gap:56px;align-items:center;}
.rp-hero-grid.no-photo{grid-template-columns:1fr;}

/* Photo with credential frame */
.rp-photo-wrap{position:relative;}
.rp-photo{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:top;display:block;background:rgba(255,255,255,0.05);filter:grayscale(20%) contrast(1.05);}
.rp-photo-frame{position:absolute;inset:-6px;border:1px solid rgba(255,255,255,0.25);pointer-events:none;}
.rp-photo-stripe{position:absolute;left:-6px;top:-6px;width:4px;height:50px;background:rgba(255,220,120,0.9);}
.rp-photo-corner{position:absolute;bottom:-6px;right:-6px;width:50px;height:4px;background:rgba(255,220,120,0.9);}

/* Hero text */
.rp-credential{display:inline-flex;align-items:center;gap:10px;font-size: 10px;letter-spacing:0.32em;text-transform:uppercase;color:rgba(255,255,255,0.6);font-weight:700;margin-bottom:18px;border:1px solid rgba(255,255,255,0.25);padding:6px 13px;background:rgba(255,255,255,0.05);}
.rp-credential-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:rgba(255,220,120,0.95);}
.rp-name{font-family:'Playfair Display',serif;font-size:clamp(40px,5.5vw,72px);font-weight:900;line-height:1;letter-spacing:-0.03em;color:white;margin-bottom:14px;}
.rp-outlet{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(18px,1.6vw,22px);color:rgba(255,220,120,0.9);margin-bottom:18px;font-weight:400;}
.rp-rule{height:1px;background:linear-gradient(to right,rgba(255,255,255,0.3),transparent);margin-bottom:20px;}
.rp-bio{font-size:15px;line-height:1.7;color:rgba(255,255,255,0.7);max-width:580px;margin-bottom:22px;}
.rp-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.rp-cta{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:white;text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.4);padding-bottom:3px;transition:color 0.15s,border-color 0.15s;}
.rp-cta:hover{color:rgba(255,220,120,0.95);border-color:rgba(255,220,120,0.95);}
.rp-count{font-size:11px;color:rgba(255,255,255,0.5);letter-spacing:0.05em;}

/* Stories list — matches interview archive list style */
.rp-list-section{padding:56px 0 80px;background:var(--bone);}
.rp-wrap{max-width:1100px;margin:0 auto;padding:0 40px;}
.rp-list-label{font-size:10px;letter-spacing:0.32em;text-transform:uppercase;color:var(--maroon);font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:14px;}
.rp-list-label-line{flex:1;height:1px;background:var(--rule);}
.rp-list-hed{font-family:'Playfair Display',serif;font-size:clamp(28px,3.5vw,42px);font-weight:900;letter-spacing:-0.02em;line-height:1.05;margin-bottom:36px;color:var(--ink);}
.rp-list-hed em{font-style:italic;color:var(--maroon);}

.rp-list{display:flex;flex-direction:column;gap:1px;background:var(--rule);border:1px solid var(--rule);}
.rp-row{display:grid;grid-template-columns:80px 1fr auto;gap:24px;align-items:center;padding:20px 24px;background:white;transition:background 0.15s;text-decoration:none;color:inherit;}
.rp-row:hover{background:#faf9f7;}
.rp-row-photo{width:80px;height:80px;border-radius:50%;object-fit:cover;object-position:top;filter:grayscale(15%);display:block;flex-shrink:0;background:var(--warm);}
.rp-row-info{min-width:0;}
.rp-row-meta{font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--soft);font-weight:700;margin-bottom:5px;}
.rp-row-meta-type{color:var(--maroon);}
.rp-row-title{font-family:'Playfair Display',serif;font-size:19px;font-weight:800;color:var(--ink);margin-bottom:6px;line-height:1.2;letter-spacing:-0.01em;}
.rp-row-dek{font-size:13px;color:var(--soft);line-height:1.5;max-width:680px;margin-bottom:10px;}
.rp-row-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;}
.rp-tag{display:inline-block;padding:3px 10px;background:#ffffff;border:1px solid var(--maroon);font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--maroon);text-decoration:none;transition:all 0.15s;line-height:1.4;}
.rp-tag:hover{background:var(--maroon);color:#ffffff;}
.rp-tag.chamber{border-color:var(--maroon);color:var(--maroon);}
/* Re-state the chamber hover after the .chamber rule so the maroon text
   doesn't win on the maroon hover background (specificity tiebreak). */
.rp-tag.chamber:hover{background:var(--maroon);color:#ffffff;border-color:var(--maroon);}
/* Unlinked tag spans (synthetic chambers like "Outside Expert" with no
   matching taxonomy term) don't get the hover swap — not actionable. */
span.rp-tag:hover{background:#ffffff;color:var(--maroon);cursor:default;}
span.rp-tag.chamber:hover{background:#ffffff;color:var(--maroon);}
.rp-row-btn{font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:10px 18px;border:1px solid var(--ink);color:var(--ink);text-decoration:none;white-space:nowrap;flex-shrink:0;transition:all 0.15s;background:transparent;}
.rp-row-btn:hover{background:var(--ink);color:white;}

.rp-empty{padding:64px 0;text-align:center;}
.rp-empty-title{font-family:'Playfair Display',serif;font-size:22px;font-style:italic;color:var(--soft);}
.rp-empty-sub{font-size:13px;color:var(--soft);margin-top:8px;}

.rp-pagination{display:flex;justify-content:center;gap:8px;margin-top:48px;}
.rp-pagination a,.rp-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 12px;border:1px solid var(--rule);font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;transition:all 0.15s;background:white;}
.rp-pagination a:hover{border-color:var(--maroon);color:var(--maroon);}
.rp-pagination .current{background:var(--maroon);color:white;border-color:var(--maroon);}

@media (max-width: 900px) {
  .rp-hero{padding:48px 0;}
  .rp-hero-grid{grid-template-columns:1fr !important;gap:32px;text-align:left;}
  /* On mobile the grid drops to a single column, so .rp-photo-wrap
     (which is just position:relative with no width on it) stretches
     to fill the full column. That makes the gold frame, corner, and
     stripe trace a wide rectangle around the square photo. Lock the
     wrapper to a 200px square and width:max-content / display:inline-
     block so the absolute-positioned accent decorations all align to
     the photo's actual dimensions instead of the column's. */
  .rp-photo-wrap{display:inline-block;width:200px;}
  .rp-photo{width:200px;max-width:200px;}
  .rp-hero-inner,.rp-wrap{padding:0 24px;}
  .rp-row{grid-template-columns:60px 1fr;gap:16px;}
  .rp-row-photo{width:60px;height:60px;}
  .rp-row-btn{grid-column:1 / -1;justify-self:center;margin:8px auto 0;}
  .rp-list-section{padding:48px 0 64px;}
}

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

/* === DESKTOP HERO — UNIFORM HEIGHT === */
.rp-hero {
  padding: 56px 0 48px !important;
  min-height: 0 !important;
  display: block !important;
  align-items: initial !important;
}
.rp-hero-inner {
  padding: 0 40px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}
@keyframes pitch-pulse { 0%,100%{box-shadow:-3px 0 16px rgba(122,31,46,0.25);} 50%{box-shadow:-3px 0 24px rgba(122,31,46,0.5);} }
#pitch-bug { animation: pitch-pulse 3s ease-in-out infinite; }
#pitch-panel { position:fixed;right:-380px;top:50%;transform:translateY(-50%);z-index:9998;width:360px;background:var(--bone);box-shadow:-8px 0 48px rgba(0,0,0,0.18);transition:right 0.35s cubic-bezier(0.4,0,0.2,1);padding:40px 36px;font-family:'DM Sans',sans-serif; }
#pitch-panel.open { right:0; }
#pitch-panel .pitch-eyebrow { font-size:8px;letter-spacing:0.28em;text-transform:uppercase;color:var(--maroon);font-weight:700;margin-bottom:10px; }
#pitch-panel .pitch-title { font-family:'Playfair Display',serif;font-size:26px;font-weight:900;color:var(--ink);line-height:1.1;margin-bottom:8px; }
#pitch-panel .pitch-rule { width:28px;height:2px;background:var(--maroon);margin-bottom:16px; }
#pitch-panel .pitch-desc { font-size:13px;line-height:1.7;color:var(--soft);margin-bottom:24px; }
#pitch-panel .pitch-field { margin-bottom:14px; }
#pitch-panel .pitch-field label { display:block;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--soft);font-weight:700;margin-bottom:5px; }
#pitch-panel .pitch-field input,
#pitch-panel .pitch-field textarea { width:100%;border:1px solid var(--rule);padding:10px 12px;font-size:13px;font-family:'DM Sans',sans-serif;background:white;color:var(--ink);outline:none;transition:border-color 0.15s;resize:none; }
#pitch-panel .pitch-field input:focus,
#pitch-panel .pitch-field textarea:focus { border-color:var(--maroon); }
#pitch-panel .pitch-submit { width:100%;background:var(--maroon);color:white;border:none;padding:13px;font-size:11px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;font-family:'DM Sans',sans-serif;cursor:pointer;transition:background 0.15s; }
#pitch-panel .pitch-submit:hover { background:#5e1722; }
#pitch-panel .pitch-close { position:absolute;top:16px;right:16px;background:none;border:none;font-size:18px;color:var(--soft);cursor:pointer;line-height:1;padding:4px 8px; }
#pitch-panel .pitch-close:hover { color:var(--ink); }
#pitch-panel .pitch-success { display:none;text-align:center;padding:20px 0; }
#pitch-panel .pitch-success .ps-icon { font-size:32px;margin-bottom:12px; }
#pitch-panel .pitch-success .ps-title { font-family:'Playfair Display',serif;font-size:20px;font-weight:800;color:var(--ink);margin-bottom:8px; }
#pitch-panel .pitch-success .ps-desc { font-size:13px;color:var(--soft);line-height:1.6; }
#pitch-close-btn{position:fixed;right:64px;top:calc(50% - 60px);transform:translateY(-50%);z-index:9999;width:24px;height:24px;background:#1a1a1a;color:white;border:none;border-radius:50%;font-size:13px;line-height:24px;text-align:center;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,0.3);}@keyframes pitch-pulse2{0%,100%{box-shadow:-4px 0 20px rgba(122,31,46,0.6),0 0 0 1px #7a1f2e;}50%{box-shadow:-4px 0 32px rgba(122,31,46,0.85),0 0 0 1px #7a1f2e;}}#pitch-bug{animation:pitch-pulse2 3s ease-in-out infinite;}
