:root {
  --navy:#12355d; --navy-deep:#0e2744; --gold:#c9a96a; --gold-hover:#b89455;
  --beige:#eae1d6; --paper:#fff; --ink:#1a1a1a; --muted:#6b635c; --divider:#d6c9bd;
  --display:"Playfair Display", Georgia, serif;
  --nav:"Montserrat", sans-serif;
  --sans:"Lato", sans-serif;
  --script:"Allura", cursive;
}
* { box-sizing: border-box; }
html { -webkit-font-smoothing: antialiased; scroll-padding-top: 5.5rem; overflow-x: clip; }
body { margin:0; background:var(--beige); color:var(--ink); font-family:var(--sans); font-size:1.0625rem; line-height:1.6; text-align:left; overflow-x: clip; }
ul, ol { list-style:none; margin:0; padding:0; -webkit-padding-start:0; }
li { list-style:none; }
li::marker { content:none; }
img { max-width:100%; display:block; }
a { color:inherit; text-underline-offset:.18em; }
button { cursor:pointer; font:inherit; }
h1,h2,h3 { font-family:var(--display); letter-spacing:-.02em; line-height:1.12; font-weight:400; text-wrap:pretty; }
.wrap { max-width:72rem; margin:0 auto; padding-left: max(1.5rem, env(safe-area-inset-left)); padding-right: max(1.5rem, env(safe-area-inset-right)); }
@media (min-width:640px){ .wrap { padding-left: max(2rem, env(safe-area-inset-left)); padding-right: max(2rem, env(safe-area-inset-right)); } }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.site-header { position:sticky; top:0; z-index:40; background:rgba(255,255,255,.92); border-bottom:1px solid rgba(214,201,189,.7); backdrop-filter:blur(10px); }
.header-inner { display:flex; align-items:center; justify-content:space-between; height:4.5rem; gap:1rem; }
.wordmark { font-family:var(--display); font-size:1.2rem; letter-spacing:.04em; color:var(--navy); text-decoration:none; }
.nav-desk { display:none; gap:1.25rem; }
.nav-desk a { font-family:var(--nav); font-size:.65rem; font-weight:500; letter-spacing:.16em; text-transform:uppercase; text-decoration:none; color:var(--muted); }
.nav-desk a:hover, .nav-desk a.active { color:var(--navy); }
.nav-desk a.active { border-bottom:1px solid var(--gold); padding-bottom:.15rem; }
.menu-btn { background:none; border:0; font-family:var(--nav); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--navy); min-height:44px; }
.nav-mobile { display:none; border-top:1px solid var(--divider); background:var(--paper); padding:.5rem 1.25rem 1rem; flex-direction:column; }
.nav-mobile.is-open { display:flex; }
.nav-mobile a { min-height:48px; display:flex; align-items:center; font-family:var(--nav); font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; text-decoration:none; color:var(--navy); }
@media (min-width:1024px){ .nav-desk{display:flex;} .menu-btn,.nav-mobile{display:none !important;} }
.script { font-family:var(--script); color:var(--gold); font-size:2.5rem; margin:0; line-height:1; }
.gold { color:var(--gold); }
.kicker { font-family:var(--nav); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; margin:0; }
.rule { width:3rem; height:1px; background:var(--gold); margin:1.25rem 0 0; }
.muted { color:var(--muted); }
.paper { background:var(--paper); }
.beige { background:var(--beige); }
.navy { background:var(--navy); color:var(--paper); }
.hero { background:var(--paper); }
.hero-grid, .split { display:grid; gap:2.5rem; align-items:center; padding-top:3rem; padding-bottom:3rem; }
.hero-grid { align-items:start; gap:1.5rem; }
.hero-grid > *, .split > * { min-width:0; max-width:100%; }
@media (min-width:1024px){
  .hero-grid {
    grid-template-columns:1.05fr .95fr;
    grid-template-rows:auto 1fr;
    column-gap:4rem;
    row-gap:1rem;
    padding-top:4rem;
    padding-bottom:4rem;
  }
  .hero-grid h1 { grid-column:1; grid-row:1; }
  .hero-grid .photo { grid-column:2; grid-row:1 / span 2; height:35rem; }
  .hero-grid > div { grid-column:1; grid-row:2; }
  .split { grid-template-columns:1fr 1fr; }
  .split.cover { grid-template-columns:.85fr 1.15fr; }
}
.hero h1 { font-size:1.75rem; color:var(--navy); margin:0; }
.hero .deck { font-family:var(--display); font-size:1.5rem; color:var(--navy); margin:1.25rem 0 0; max-width:36rem; }
@media (min-width:640px){ .hero h1{font-size:1.85rem;} .hero .deck{font-size:1.75rem;} .script{font-size:3rem;} }
.photo { width:100%; object-fit:cover; object-position:top; }
.hero .photo { height:auto; object-position:top; }
@media (min-width:640px){ .hero .photo { height:auto; } }
.actions { display:flex; flex-direction:column; gap:.75rem; margin-top:2rem; }
@media (min-width:640px){ .actions { flex-direction:row; } }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 1.5rem; font-family:var(--nav); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; text-decoration:none; border:1px solid transparent; }
.btn-solid { background:var(--navy); color:var(--paper); }
.btn-solid:hover { background:var(--navy-deep); }
.btn-outline { border-color:var(--navy); color:var(--navy); background:transparent; }
.btn-outline:hover { background:var(--navy); color:var(--paper); }
.btn-gold { background:var(--gold); color:var(--navy); }
.btn-gold:hover { background:var(--gold-hover); }
.btn-inverse { border-color:rgba(255,255,255,.7); color:var(--paper); }
.btn-inverse:hover { background:var(--paper); color:var(--navy); }
.cover-img { width:100%; box-shadow:0 12px 32px rgb(18 53 93 / .12); }
.navy h2 { color:var(--paper); font-size:1.85rem; margin:.5rem 0 0; }
.section h2 { font-size:1.85rem; color:var(--navy); margin:0; }
@media (min-width:768px){ .section h2, .navy h2 { font-size:2.25rem; } }
.navy .tag { font-family:var(--display); font-size:1.25rem; font-style:italic; color:var(--gold); margin:.75rem 0 0; }
.section { padding:4rem 0; }
.cards-3 { display:grid; gap:2.5rem; margin-top:2.5rem; padding:0; list-style:none; }
.cards-2 { display:grid; gap:2rem; margin-top:2.5rem; padding:0; list-style:none; }
.cards-3 > li, .cards-2 > li { display:block; list-style:none; min-width:0; }
@media (min-width:768px){ .cards-3{grid-template-columns:1fr 1fr 1fr;} .cards-2{grid-template-columns:1fr 1fr;} }
.card { text-decoration:none; color:inherit; display:block; }
.card h3, .ep h3 { font-size:1.45rem; color:var(--navy); margin:.5rem 0 0; }
.card:hover h3, .ep:hover h3 { color:var(--gold); }
.card .photo, .ep .thumb { width:100%; object-fit:cover; }
.card .photo { height:12rem; object-position:top; }
.ep .thumb { aspect-ratio:1; }
.date { font-family:var(--nav); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--navy); margin:1rem 0 0; }
.more { font-family:var(--nav); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--navy); display:inline-block; margin-top:.75rem; text-decoration:none; }
.row-head { display:flex; flex-direction:column; gap:.75rem; }
@media (min-width:640px){ .row-head{flex-direction:row; align-items:flex-end; justify-content:space-between;} }
.ep-list { list-style:none; margin:2.5rem 0 0; padding:0; border-top:1px solid var(--divider); }
.ep-list li { border-bottom:1px solid var(--divider); padding:1.75rem 0; }
.ep-row { display:grid; gap:1.25rem; text-decoration:none; color:inherit; }
@media (min-width:640px){ .ep-row { grid-template-columns:6.5rem 1fr auto; align-items:start; } .ep-row .thumb { height:6rem; width:6rem; } }
.measures { display:grid; gap:1px; background:var(--divider); margin-top:2.5rem; }
@media (min-width:640px){ .measures { grid-template-columns:1fr 1fr; } }
@media (min-width:1024px){ .measures.four { grid-template-columns:repeat(4,1fr);} .measures.three { grid-template-columns:repeat(3,1fr);} }
.measures li { background:var(--paper); padding:2rem 1.5rem; list-style:none; }
.measures { padding:0; }
.listen { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.listen a { display:inline-flex; align-items:center; min-height:44px; padding:0 1rem; border:1px solid var(--navy); font-family:var(--nav); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; color:var(--navy); }
.listen a:hover { background:var(--navy); color:var(--paper); }
.notes { max-width:48rem; }
.notes a { color:var(--navy); }
audio { width:100%; margin-top:2rem; }
.signup { background:var(--beige); padding:4rem 0; }
.signup h2 { font-size:1.85rem; color:var(--navy); margin:.5rem 0 0; }
@media (min-width:768px){ .signup h2 { font-size:2.25rem; } }
.signup-form { display:flex; flex-direction:column; margin-top:1.5rem; max-width:32rem; }
@media (min-width:640px){ .signup-form { flex-direction:row; } }
.signup-form input { height:48px; flex:1; border:1px solid var(--divider); padding:0 1rem; font-size:.95rem; }
.signup-form button { height:48px; background:var(--navy); color:var(--paper); border:0; padding:0 1.5rem; font-family:var(--nav); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; margin:.75rem auto 0; }
@media (min-width:640px){ .signup-form button { margin:0; } }
.only-mobile { display:block; }
.only-desk { display:none; }
.home-actions { display:flex; justify-content:center; margin-top:2rem; }
@media (min-width:768px){
  .only-mobile { display:none !important; }
  .only-desk { display:block; }
  a.only-desk, .more.only-desk { display:inline-block; }
  .only-desk.actions { display:flex; }
  .home-actions { justify-content:flex-start; }
  .podcast-desk {
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:3rem;
    align-items:start;
    padding-top:5rem;
    padding-bottom:5rem;
  }
  .podcast-desk .cover { grid-column:1; grid-row:1 / span 6; max-width:24rem; }
  .podcast-desk .kicker { grid-column:2; }
  .podcast-desk h2 { grid-column:2; }
  .podcast-desk .copy { grid-column:2; }
}
.signup-form.on-navy input { border-color:transparent; }
.gold-btn { background:var(--gold) !important; color:var(--navy) !important; }
.site-footer { background:var(--navy); color:var(--paper); }
.footer-grid { display:grid; gap:2.5rem; padding:3rem 0; }
@media (min-width:1024px){ .footer-grid { grid-template-columns:1fr 1.2fr; } }
.wordmark-foot { font-family:var(--display); font-size:1.5rem; margin:0; }
.footer-nav { display:flex; flex-wrap:wrap; gap:.75rem 1.25rem; margin-top:1.25rem; }
.footer-nav a { font-family:var(--nav); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; text-decoration:none; color:rgba(255,255,255,.8); }
.footer-nav a:hover { color:var(--gold); }
.foot-copy { color:rgba(255,255,255,.75); font-size:.9rem; max-width:28rem; }
.footer-bottom { display:flex; justify-content:space-between; gap:1rem; padding:1rem 0; border-top:1px solid rgba(255,255,255,.1); font-size:.75rem; color:rgba(255,255,255,.55); }
.footer-bottom a { color:inherit; text-transform:uppercase; letter-spacing:.14em; text-decoration:none; }
.form { background:var(--beige); padding:2rem; }
.form label { display:block; font-family:var(--nav); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--navy); }
.form input, .form select, .form textarea { width:100%; margin:.5rem 0 1.1rem; border:1px solid var(--divider); background:var(--paper); padding:.75rem; font:inherit; }
.form input, .form select { height:48px; }
.quote { border-left:1px solid var(--gold); padding-left:1.25rem; font-family:var(--display); font-style:italic; font-size:1.25rem; color:var(--navy); }
.page-title { font-size:3rem; color:var(--navy); margin:.5rem 0 0; }
.identity { font-family:var(--display); font-size:1.35rem; color:var(--navy); margin:1rem 0 0; max-width:36rem; line-height:1.3; }
.status { font-family:var(--nav); font-size:.65rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin:1rem 0 0; }
.video { aspect-ratio:16/9; width:100%; background:#0e2744; margin-top:1.5rem; position:relative; }
.video iframe, .video img { width:100%; height:100%; border:0; object-fit:cover; display:block; }
.yt-poster { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; cursor:pointer; background:#0e2744; }
.yt-poster .play { position:absolute; left:50%; top:50%; width:3.5rem; height:3.5rem; margin:-1.75rem 0 0 -1.75rem; background:var(--gold); color:var(--navy); display:flex; align-items:center; justify-content:center; }
.yt-poster .play svg { width:1.5rem; height:1.5rem; margin-left:2px; }
.ig-embed { max-width:28rem; margin:1.5rem auto 0; }
.ig-embed iframe { width:100%; height:680px; border:0; }
.signup { scroll-margin-top:6rem; }
.line-clamp { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.stack { display:grid; gap:1.25rem; align-items:start; padding-top:3rem; padding-bottom:3rem; }
.stack > * { min-width:0; max-width:100%; }
@media (min-width:1024px){
  .stack { grid-template-columns:1fr 1fr; column-gap:3.5rem; padding-top:4rem; padding-bottom:4rem; align-items:start; }
  .stack > .kicker { grid-column:1; grid-row:1; }
  .stack > h1, .stack > h2, .stack > .page-title { grid-column:1; grid-row:2; }
  .stack > .stack-copy { grid-column:1; grid-row:3; }
  .stack > .stack-visual { grid-column:2; grid-row:1 / span 8; height:100%; min-height:28rem; object-fit:cover; }
  .stack.visual-left > .kicker,
  .stack.visual-left > h1,
  .stack.visual-left > h2,
  .stack.visual-left > .page-title,
  .stack.visual-left > .stack-copy { grid-column:2; }
  .stack.visual-left > .stack-visual { grid-column:1; }
}

/* Podcast responsive fixes — 2026-10-01 */
.podcast-trailer{margin:0}
.podcast-trailer .video{margin-top:0}
.responsive-youtube{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden}
.responsive-youtube iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:639px){
  .paper + .wrap{padding-top:1.25rem!important;padding-bottom:1.25rem!important}
  .section.beige{padding-top:2.25rem!important}
  .section.beige h2{margin-top:0}
  .ep-list{margin-top:1.25rem}
  .ep-row{grid-template-columns:88px minmax(0,1fr);gap:.9rem;align-items:start}
  .ep-row .thumb{display:block;width:88px;height:88px;object-fit:cover}
}
