:root {
    --navy: #101f2b;
    --navy-soft: #1a3141;
    --cream: #f4efe6;
    --paper: #fffdf9;
    --gold: #c9a75c;
    --gold-dark: #9f7b35;
    --ink: #17252e;
    --muted: #617079;
}

html { scroll-behavior: smooth; }
body { color: var(--ink); background: var(--paper); font-family: Montserrat, sans-serif; line-height: 1.75; }
h1, h2, h3, h4, h5, h6 { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 600; line-height: 1.02; }
h2 { font-size: clamp(2.5rem, 5vw, 4.25rem); }
h3 { font-size: 2rem; }
a { color: inherit; }
.display-1 { font-size: clamp(4rem, 8.5vw, 7.75rem); line-height: .86; }
.display-2 { font-size: clamp(3.5rem, 7vw, 6.5rem); line-height: .92; }
.display-3 { font-size: clamp(3rem, 6vw, 5rem); }
.display-4 { font-size: clamp(2.6rem, 5vw, 4.25rem); }
.text-gold { color: var(--gold) !important; }
.text-white-75 { color: rgba(255,255,255,.74); }
.bg-cream { background: var(--cream); }
.bg-navy { background: var(--navy); }
.section-pad { padding: clamp(5rem, 9vw, 8rem) 0; }
.min-vh-75 { min-height: 75vh; }
.shadow-soft { box-shadow: 0 24px 60px rgba(16,31,43,.12); }

.site-nav { background: rgba(16,31,43,.97); border-bottom: 1px solid rgba(255,255,255,.08); padding: .85rem 0; backdrop-filter: blur(10px); }
.brand { color: #fff; }
.monogram { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid var(--gold); color: var(--gold); font-family: "Cormorant Garamond", serif; font-size: 1.25rem; }
.brand-copy strong, .brand-copy small { display: block; }
.brand-copy strong { font-family: "Cormorant Garamond", serif; font-size: 1.3rem; line-height: 1; }
.brand-copy small { color: rgba(255,255,255,.64); font-size: .62rem; letter-spacing: .12em; margin-top: .35rem; text-transform: uppercase; }
.navbar .nav-link { color: rgba(255,255,255,.76); font-size: .78rem; font-weight: 600; letter-spacing: .08em; padding: .75rem !important; text-transform: uppercase; }
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--gold); }
.navbar-toggler { border-color: rgba(255,255,255,.25); }

.btn { border-radius: 0; font-size: .75rem; font-weight: 700; letter-spacing: .09em; padding: .9rem 1.45rem; text-transform: uppercase; }
.btn-gold { background: var(--gold); border-color: var(--gold); color: var(--navy); }
.btn-gold:hover, .btn-gold:focus { background: #ddc27e; border-color: #ddc27e; color: var(--navy); }
.btn-navy { background: var(--navy); border-color: var(--navy); color: #fff; }
.btn-navy:hover { background: var(--navy-soft); border-color: var(--navy-soft); color: #fff; }
.btn-outline-navy { border-color: var(--navy); color: var(--navy); }
.btn-outline-navy:hover { background: var(--navy); color: #fff; }
.btn-link-light { color: #fff; border-bottom: 1px solid rgba(255,255,255,.4); padding-inline: .2rem; }
.btn-link-light:hover { color: var(--gold); border-bottom-color: var(--gold); }

.hero-home { background: var(--navy) url('../../images/janet-banner.jpg') center/cover no-repeat; color: #fff; min-height: calc(100vh - 76px); position: relative; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,19,27,.95) 0%, rgba(8,19,27,.74) 50%, rgba(8,19,27,.1) 100%); }
.hero-lede, .page-lede { font-size: clamp(1.05rem, 2vw, 1.28rem); max-width: 720px; }
.hero-lede { color: rgba(255,255,255,.78); }
.eyebrow { color: var(--gold-dark); font-size: .73rem; font-weight: 700; letter-spacing: .18em; margin-bottom: 1rem; text-transform: uppercase; }
.portrait { width: 100%; max-height: 650px; object-fit: cover; }
.large-quote { border-left: 3px solid var(--gold); color: var(--navy); font-family: "Cormorant Garamond", serif; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.25; padding-left: 1.5rem; }
.arrow-link { color: var(--navy); display: inline-block; font-size: .8rem; font-weight: 700; letter-spacing: .08em; margin-top: 1rem; text-decoration: none; text-transform: uppercase; }
.arrow-link:hover { color: var(--gold-dark); }
.book-cover { max-height: 520px; max-width: min(100%, 360px); }
.book-cover-lg { max-height: 570px; max-width: min(100%, 390px); transform: rotate(1.5deg); }
.feature-video iframe, .media-card iframe { border: 0; }
.image-card, .media-card { overflow: hidden; }
.image-card img { aspect-ratio: 16/10; display: block; object-fit: cover; width: 100%; }
.cta-band { background: linear-gradient(135deg, var(--navy), var(--navy-soft)); padding: 3rem 0; }

.page-hero { background: var(--navy); color: #fff; overflow: hidden; position: relative; }
.page-hero::after { border: 1px solid rgba(201,167,92,.2); border-radius: 50%; content: ""; height: 480px; position: absolute; right: -180px; top: -240px; width: 480px; }
.page-hero .container { position: relative; z-index: 1; }
.page-hero em { color: var(--gold); }
.page-lede { color: rgba(255,255,255,.72); margin-top: 1.75rem; }
.page-portrait { aspect-ratio: 4/5; max-height: 520px; object-fit: cover; width: min(100%, 390px); }
.story-copy { font-size: 1.05rem; }
.story-copy p { margin-bottom: 1.5rem; }
.purchase-panel { background: #fff; border-top: 4px solid var(--gold); box-shadow: 0 20px 50px rgba(16,31,43,.1); padding: 2rem; top: 110px !important; }
.review { background: #fff; border-left: 3px solid var(--gold); font-family: "Cormorant Garamond", serif; font-size: 1.45rem; line-height: 1.35; margin: 1.5rem 0; padding: 1.5rem; }
.event-list { display: grid; gap: 1.5rem; }
.event-card { box-shadow: 0 16px 44px rgba(16,31,43,.08); }
.event-date { background: var(--navy); color: #fff; min-height: 180px; padding: 2rem; }
.event-date strong { color: var(--gold); font-family: "Cormorant Garamond", serif; font-size: 3.4rem; line-height: 1; }
.event-date span { border-left: 1px solid rgba(255,255,255,.25); line-height: 1.35; padding-left: 1rem; text-transform: uppercase; }
.media-card video { aspect-ratio: 16/9; background: #000; display: block; object-fit: cover; }
.platform-links { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; }
.platform-links a { color: var(--gold-dark); font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; }
.audio-card { background: var(--navy); color: #fff; }
.contact-card { background: #fff; border-top: 4px solid var(--gold); padding: 1rem 2rem; }
.contact-item { border-bottom: 1px solid #e6e0d6; padding: 1.4rem 0; }
.contact-item:last-child { border-bottom: 0; }
.contact-item span { color: var(--muted); display: block; font-size: .7rem; font-weight: 700; letter-spacing: .12em; margin-bottom: .35rem; text-transform: uppercase; }
.contact-item a { color: var(--navy); font-family: "Cormorant Garamond", serif; font-size: 1.35rem; font-weight: 600; overflow-wrap: anywhere; text-decoration-color: var(--gold); text-underline-offset: .25rem; }

.site-footer { background: #0b161e; color: rgba(255,255,255,.72); }
.footer-brand { color: #fff; }
.footer-quote { font-family: "Cormorant Garamond", serif; font-size: 1.4rem; }
.footer-links a { color: rgba(255,255,255,.72); font-size: .75rem; font-weight: 600; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.footer-links a:hover { color: var(--gold); }
.site-footer hr { border-color: rgba(255,255,255,.14); }
.skip-link { background: #fff; color: #000; padding: 1rem; position: fixed; z-index: 2000; }

@media (max-width: 991.98px) {
    .navbar-collapse { padding: 1rem 0 .5rem; }
    .nav-buy { margin-top: .75rem; }
    .hero-home { background-position: 62% center; }
    .hero-overlay { background: rgba(8,19,27,.76); }
    .book-cover-lg { max-height: 430px; }
    .purchase-panel { position: static !important; }
}

@media (max-width: 767.98px) {
    .brand-copy small { display: none; }
    .display-1 { font-size: clamp(3.5rem, 16vw, 5rem); }
    .event-date { justify-content: flex-start !important; min-height: auto; }
    .section-pad { padding: 4.5rem 0; }
}

