 :root {
    --ink: #11110f;
    --ink-soft: #181815;
    --panel: #201f1a;
    --gold: #e4c34d;
    --gold-soft: #bda44b;
    --paper: #f0eee5;
    --muted: #a6a397;
    --line: rgba(239, 233, 211, .15);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: 'DM Sans', sans-serif; }
a { color: inherit; text-decoration: none; }
.site-nav { position: absolute; z-index: 10; top: 0; left: 0; right: 0; padding: 24px 0; border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(12,12,11,.22); backdrop-filter: blur(10px); }
.brand-mark, .footer-brand { color: var(--gold) !important; font-family: 'Playfair Display', serif; font-size: 1.25rem; font-weight: 800; letter-spacing: .075em; }
.brand-dot, .footer-brand span { color: var(--paper); }
.site-nav .nav-link { color: #d2d0c7; font-size: .82rem; }
.site-nav .nav-link:hover { color: var(--gold); }
.nav-book { border: 1px solid rgba(228,195,77,.55); padding: 10px 16px !important; color: var(--gold) !important; }
.hero-section { min-height: 760px; min-height: min(850px, 100svh); position: relative; display: flex; align-items: center; overflow: hidden; background: #171713; }
.hero-image, .hero-shade { position: absolute; inset: 0; }
.hero-image { background: url('https://images.unsplash.com/photo-1470252649378-9c29740c9fa8?auto=format&fit=crop&w=2200&q=85') center 48%/cover no-repeat; filter: saturate(.55); transform: scale(1.02); }
.hero-shade { background: linear-gradient(90deg, rgba(12,12,10,.92) 0%, rgba(12,12,10,.64) 48%, rgba(12,12,10,.16) 100%), linear-gradient(0deg, rgba(12,12,10,.65), transparent 45%); }
.hero-content { position: relative; z-index: 1; padding-top: 100px; }
.eyebrow { color: var(--gold); font-size: .68rem; font-weight: 700; letter-spacing: .22em; margin-bottom: 22px; }
.hero-content h1 { font-family: 'Playfair Display', serif; font-size: clamp(4.5rem, 10vw, 9.3rem); line-height: .94; letter-spacing: -.065em; font-weight: 800; margin: 0; color: var(--paper); }
.hero-content h1 span { color: var(--gold); }
.hero-slogan { font-size: clamp(1.15rem, 2vw, 1.55rem); margin: 28px 0 14px; letter-spacing: .015em; }
.hero-copy { color: #c2c0b6; line-height: 1.8; margin-bottom: 34px; }
.button-gold { display: inline-flex; align-items: center; gap: 30px; padding: 15px 20px; color: #17150e; background: var(--gold); font-size: .78rem; font-weight: 700; letter-spacing: .035em; transition: .2s ease; }
.button-gold:hover { background: #f0d66e; color: #111; transform: translateY(-2px); }
.hero-index { position: absolute; bottom: 35px; right: max(24px, calc((100vw - 1140px)/2)); color: rgba(255,255,255,.55); font-size: .65rem; letter-spacing: .18em; }
.section-pad { padding: 115px 0; }
.intro-section { background: var(--ink); }
.section-heading { font-family: 'Playfair Display', serif; font-weight: 700; font-size: clamp(2.8rem, 5vw, 5rem); line-height: 1.04; letter-spacing: -.045em; }
.section-heading em, .closing-content h2 em { color: var(--gold); font-style: normal; }
.intro-copy { color: #e6e2d6; font-family: 'Playfair Display', serif; font-size: clamp(1.35rem, 2.3vw, 1.9rem); line-height: 1.5; }
.muted-copy { color: var(--muted); font-size: .9rem; line-height: 1.85; }
.visual-interlude { height: 430px; position: relative; overflow: hidden; background: #29271e; }
.interlude-image { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,10,9,.62), rgba(10,10,9,.08)), url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=2000&q=85') center 55%/cover; filter: saturate(.55); }
.interlude-caption { position: absolute; bottom: 28px; left: max(24px, calc((100vw - 1140px)/2)); right: max(24px, calc((100vw - 1140px)/2)); display: flex; justify-content: space-between; color: #eee9d9; font-size: .65rem; letter-spacing: .2em; }
.sessions-section { background: #191916; overflow: hidden; }
.section-topline { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 46px; }
.section-aside { color: var(--muted); font-size: .83rem; line-height: 1.8; text-align: right; margin: 0 0 8px; }
.session-controls { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.session-controls .muted-copy { font-size: .75rem; }
.round-control { width: 42px; height: 42px; border: 1px solid var(--line); color: var(--gold); background: transparent; border-radius: 50%; font-size: 1.2rem; }
.round-control:hover { background: var(--gold); color: var(--ink); }
.session-track { display: flex; gap: 16px; overflow-x: auto; padding: 8px 3px 22px; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #6c6035 transparent; }
.session-card { flex: 0 0 min(350px, 84vw); min-height: 385px; padding: 25px; background: #24231e; border: 1px solid rgba(255,255,255,.07); scroll-snap-align: center; display: flex; flex-direction: column; }
.session-card.is-upcoming { border-top: 2px solid var(--gold); background: linear-gradient(145deg, #2a281f, #201f1a 70%); }
.session-card-top { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: .58rem; letter-spacing: .13em; }
.session-state { color: var(--gold); }
.session-date { color: var(--gold); font-family: 'Playfair Display', serif; font-size: 3.5rem; line-height: 1; margin: 30px 0 20px; }
.session-date span { display: block; color: #a9a497; font-family: 'DM Sans', sans-serif; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; margin-top: 7px; }
.session-card h3 { font-family: 'Playfair Display', serif; font-size: 1.55rem; margin-bottom: 12px; }
.session-description { color: #b6b3a8; font-size: .82rem; line-height: 1.7; white-space: normal; }
.session-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; border-top: 1px solid var(--line); padding-top: 15px; margin-top: auto; color: #999689; font-size: .68rem; }
.session-link, .session-closed, .session-archive { margin-top: 20px; color: var(--gold); font-size: .78rem; font-weight: 700; }
.session-link { display: flex; justify-content: space-between; }
.session-closed, .session-archive { color: #8e8a7e; font-weight: 400; }
.empty-state { padding: 55px 30px; border: 1px solid var(--line); text-align: center; max-width: 700px; margin: auto; }
.empty-mark { color: var(--gold); font-size: 2rem; }
.empty-state h3 { font: 700 1.8rem 'Playfair Display', serif; margin: 15px 0; }
.empty-state p { max-width: 480px; margin: 0 auto 20px; color: var(--muted); line-height: 1.8; font-size: .88rem; }
.text-link { color: var(--gold); font-size: .82rem; border-bottom: 1px solid rgba(228,195,77,.5); padding-bottom: 5px; }
.quote-section { padding: 110px 0; background: #d9cda8; color: #1b1a15; text-align: center; }
.quote-section .eyebrow { color: #75652e; }
.quote-section blockquote { max-width: 900px; margin: 0 auto 22px; font: 700 clamp(2rem, 4.5vw, 4rem)/1.2 'Playfair Display', serif; letter-spacing: -.035em; }
.quote-credit { color: #6d654f; font-size: .75rem; letter-spacing: .08em; }
.journal-section { background: var(--ink); }
.journal-disclosure { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.journal-disclosure summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; padding: 23px 0; color: var(--paper); font-family: 'Playfair Display', serif; font-size: 1.35rem; }
.journal-disclosure summary::-webkit-details-marker { display: none; }
.summary-icon { color: var(--gold); font-family: 'DM Sans', sans-serif; }
.journal-item { display: grid; grid-template-columns: 112px 1fr 25px; gap: 24px; align-items: center; padding: 22px 0; border-top: 1px solid var(--line); }
.journal-thumb { height: 90px; background: #26251f; display: grid; place-items: center; overflow: hidden; color: var(--gold); font: 700 1.5rem 'Playfair Display', serif; }
.journal-thumb img { width: 100%; height: 100%; object-fit: cover; }
.article-category { color: var(--gold); font-size: .6rem; letter-spacing: .15em; }
.journal-item h3 { font: 700 1.45rem 'Playfair Display', serif; margin: 7px 0; }
.journal-item p { color: var(--muted); font-size: .8rem; margin: 0; line-height: 1.6; }
.journal-arrow { color: var(--gold); font-size: 1.2rem; }
.journal-item:hover h3 { color: var(--gold); }
.journal-empty { color: var(--muted); padding: 25px 0; font-size: .9rem; }
.closing-section { min-height: 500px; position: relative; display: flex; align-items: center; overflow: hidden; background: #171713; }
.closing-bg { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,12,10,.94), rgba(12,12,10,.58)), url('https://images.unsplash.com/photo-1518837695005-2083093ee35b?auto=format&fit=crop&w=2000&q=85') center/cover; filter: saturate(.45); }
.closing-content { position: relative; padding-top: 75px; padding-bottom: 75px; }
.closing-content h2 { font: 700 clamp(3rem, 6vw, 6rem)/1.05 'Playfair Display', serif; letter-spacing: -.05em; margin-bottom: 35px; }
.site-footer { background: #0b0b0a; border-top: 1px solid var(--line); padding: 30px 0; color: #8e8b80; font-size: .72rem; }
.footer-brand { font-size: 1rem; }
.article-page { min-height: 75vh; padding-top: 150px; background: var(--ink); }
.article-container { max-width: 900px; }
.back-link { color: var(--gold); font-size: .78rem; }
.article-header { padding: 65px 0 40px; }
.article-header h1, .not-found h1 { font: 700 clamp(2.8rem, 6vw, 5.8rem)/1.05 'Playfair Display', serif; letter-spacing: -.045em; max-width: 900px; }
.article-excerpt { color: #b9b5a9; font: 1.25rem/1.7 'Playfair Display', serif; max-width: 720px; margin-top: 24px; }
.article-image { margin: 0 0 48px; }
.article-image img { display: block; width: 100%; max-height: 620px; object-fit: cover; }
.article-body { color: #d3d0c5; font-size: 1.03rem; line-height: 2.05; white-space: normal; overflow-wrap: anywhere; }
.article-image-secondary { margin-top: 50px; }
.article-media { margin-top: 50px; padding: 25px; background: #201f1a; }
.article-media audio { width: 100%; }
.article-media .eyebrow { margin-bottom: 15px; }
.media-note { color: var(--muted); font-size: .75rem; margin: 12px 0 0; }
.article-endnote { margin-top: 65px; padding-top: 25px; border-top: 1px solid var(--line); color: var(--gold); font: italic 1.1rem 'Playfair Display', serif; }
.not-found { padding: 100px 0; }
.not-found p:not(.eyebrow) { color: var(--muted); margin: 20px 0; }
@media (max-width: 767.98px) {
    .site-nav { padding: 16px 0; }
    .hero-section { min-height: 720px; }
    .hero-image { background-position: 58% center; }
    .hero-shade { background: linear-gradient(90deg, rgba(12,12,10,.86), rgba(12,12,10,.35)), linear-gradient(0deg, rgba(12,12,10,.65), transparent 60%); }
    .hero-content h1 { font-size: clamp(4rem, 17vw, 6.5rem); }
    .section-pad { padding: 78px 0; }
    .section-topline { display: block; margin-bottom: 30px; }
    .section-aside { text-align: left; margin-top: 20px; }
    .visual-interlude { height: 300px; }
    .interlude-caption { font-size: .52rem; letter-spacing: .12em; }
    .session-controls { align-items: end; }
    .session-controls .muted-copy { max-width: 190px; line-height: 1.5; }
    .journal-item { grid-template-columns: 78px 1fr 18px; gap: 13px; }
    .journal-thumb { height: 76px; }
    .journal-item h3 { font-size: 1.12rem; }
    .journal-item p { font-size: .72rem; }
    .site-footer { text-align: center; }
    .article-page { padding-top: 115px; }
    .article-header { padding: 45px 0 30px; }
    .article-body { font-size: .95rem; }
}
