: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 { border-top:1px solid var(--divider); background:var(--paper); padding:.5rem 1.25rem 1rem; display:flex; flex-direction:column; }
.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 > *, .split > * { min-width:0; max-width:100%; }
@media (min-width:1024px){
  .hero-grid { grid-template-columns:1.05fr .95fr; padding-top:4rem; padding-bottom:4rem; }
  .split { grid-template-columns:1fr 1fr; }
  .split.cover { grid-template-columns:.85fr 1.15fr; }
}
.hero h1 { font-size:2.4rem; color:var(--navy); margin:.2rem 0 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:3rem;} .hero .deck{font-size:1.75rem;} .script{font-size:3rem;} }
.photo { width:100%; object-fit:cover; }
.hero .photo { height:20rem; object-position:center 12%; }
@media (min-width:640px){ .hero .photo { height:35rem; } }
.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%; max-width:24rem; margin:0 auto; box-shadow:0 12px 32px rgb(18 53 93 / .12); }
.navy h2 { color:var(--paper); font-size:2.4rem; margin:.5rem 0 0; }
.navy .tag { font-family:var(--display); font-size:1.25rem; font-style:italic; color:var(--gold); margin:.75rem 0 0; }
.section { padding:4rem 0; }
.section h2 { font-size:1.9rem; color:var(--navy); margin: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; }
.ep .thumb { aspect-ratio:1; }
.date { font-family:var(--nav); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); 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:2rem; color:var(--navy); margin:.5rem 0 0; }
.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; }
.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; }
.video iframe { width:100%; height:100%; border:0; }
.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; }
