/* 
 * Rinpoche Website Styles
 * Converted from Next.js/Tailwind to vanilla CSS
 */

/* ============================================
   GOOGLE FONTS
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700;900&family=Cormorant+Garamond:wght@300;400;500;600;700&family=Lora:wght@400;500;600;700&display=swap');

/* ============================================
   CUSTOM FONTS (Local)
   ============================================ */
@font-face {
    font-family: 'PapyrusCustom';
    src: url('/res/lkcr/fonts/PAPYRUS.TTF') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GoudosBoldCustom';
    src: url('/res/lkcr/fonts/GOUDOSB.TTF') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* ============================================
   CSS CUSTOM PROPERTIES (Design Tokens)
   ============================================ */
:root {
    /* Colors */
    --color-burgundy: #721c24;
    --color-burgundy-dark: #4a0e12;
    --color-saffron: #d97706;
    --color-gold-leaf: #c5a059;
    --color-midnight: #0f172a;
    --color-frost: #f1f5f9;
    --color-parchment: #f4f1ea;
    --color-sepia: #5c4d45;
    --color-black: #000;
    --color-white: #fff;

    /* Typography */
    --font-display: 'Cinzel Decorative', serif;
    --font-heading: 'Cormorant Garamond', serif;
    --font-body: 'Lora', serif;
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";

    /* Spacing */
    --spacing: 0.25rem;

    /* Sizing */
    --container-md: 28rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;

    /* Typography Scale */
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.875rem;
    --text-4xl: 2.25rem;
    --text-5xl: 3rem;
    --text-6xl: 3.75rem;
    --text-7xl: 4.5rem;
    --text-8xl: 6rem;

    /* Font Weights */
    --font-weight-light: 300;
    --font-weight-bold: 700;

    /* Letter Spacing */
    --tracking-wide: 0.025em;
    --tracking-wider: 0.05em;

    /* Line Height */
    --leading-tight: 1.25;
    --leading-relaxed: 1.625;

    /* Effects */
    --radius-sm: 0.25rem;
    --blur-3xl: 64px;
    --default-transition-duration: 0.15s;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============================================
   BASE RESET & STYLES
   ============================================ */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
}

html {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--font-sans);
    -webkit-tap-highlight-color: transparent;
}

body {
    background-color: var(--color-parchment);
    font-family: var(--font-body);
    color: var(--color-burgundy-dark);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img, video {
    max-width: 100%;
    height: auto;
    display: block;
    vertical-align: middle;
}

a {
    color: inherit;
    text-decoration: inherit;
}

button, input, select, textarea {
    font: inherit;
    color: inherit;
    background-color: transparent;
    border-radius: 0;
}

h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
}

/* ============================================
   UTILITY CLASSES
   ============================================ */

/* Display */
.block { display: block; }
.inline-block { display: inline-block; }
.flex { display: flex; }
.grid { display: grid; }
.hidden { display: none; }

/* Position */
.relative { position: relative; }
.absolute { position: absolute; }
.fixed { position: fixed; }
.inset-0 { inset: 0; }
.top-0 { top: 0; }
.right-0 { right: 0; }
.bottom-0 { bottom: 0; }
.left-0 { left: 0; }
.-top-12 { top: calc(var(--spacing) * -12); }
.-top-20 { top: calc(var(--spacing) * -20); }
.-right-8 { right: calc(var(--spacing) * -8); }
.-right-20 { right: calc(var(--spacing) * -20); }
.-bottom-16 { bottom: calc(var(--spacing) * -16); }
.-bottom-20 { bottom: calc(var(--spacing) * -20); }
.-left-8 { left: calc(var(--spacing) * -8); }
.-left-20 { left: calc(var(--spacing) * -20); }
.z-10 { z-index: 10; }

/* Flexbox */
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }

/* Grid */
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.gap-10 { gap: calc(var(--spacing) * 10); }
.gap-12 { gap: calc(var(--spacing) * 12); }

/* Sizing */
.w-full { width: 100%; }
.w-16 { width: calc(var(--spacing) * 16); }
.w-48 { width: calc(var(--spacing) * 48); }
.w-96 { width: calc(var(--spacing) * 96); }
.h-full { height: 100%; }
.h-1 { height: calc(var(--spacing) * 1); }
.h-32 { height: calc(var(--spacing) * 32); }
.h-48 { height: calc(var(--spacing) * 48); }
.h-96 { height: calc(var(--spacing) * 96); }
.min-h-screen { min-height: 100vh; }
.max-w-md { max-width: var(--container-md); }
.max-w-4xl { max-width: var(--container-4xl); }
.max-w-5xl { max-width: var(--container-5xl); }
.max-w-prose { max-width: 65ch; }
.max-w-\[300px\] { max-width: 300px; }

/* Margins */
.mx-auto { margin-inline: auto; }
.mt-12 { margin-top: calc(var(--spacing) * 12); }
.mt-\[-8px\] { margin-top: -8px; }
.mb-2 { margin-bottom: calc(var(--spacing) * 2); }
.mb-4 { margin-bottom: calc(var(--spacing) * 4); }
.mb-10 { margin-bottom: calc(var(--spacing) * 10); }

/* Padding */
.px-4 { padding-inline: calc(var(--spacing) * 4); }
.px-6 { padding-inline: calc(var(--spacing) * 6); }
.px-8 { padding-inline: calc(var(--spacing) * 8); }
.py-2 { padding-block: calc(var(--spacing) * 2); }
.py-3 { padding-block: calc(var(--spacing) * 3); }
.py-8 { padding-block: calc(var(--spacing) * 8); }
.py-12 { padding-block: calc(var(--spacing) * 12); }
.py-20 { padding-block: calc(var(--spacing) * 20); }
.py-24 { padding-block: calc(var(--spacing) * 24); }
.pt-4 { padding-top: calc(var(--spacing) * 4); }
.pr-3 { padding-right: calc(var(--spacing) * 3); }

/* Spacing utilities */
.space-y-4 > :not(:last-child) { margin-bottom: calc(var(--spacing) * 4); }
.space-y-6 > :not(:last-child) { margin-bottom: calc(var(--spacing) * 6); }
.space-x-6 > :not(:last-child) { margin-right: calc(var(--spacing) * 6); }

/* Typography */
.font-body { font-family: var(--font-body); }
.font-display { font-family: var(--font-display); }
.font-heading { font-family: var(--font-heading); }
.font-papyrus { font-family: 'PapyrusCustom', var(--font-display), serif; }

.text-sm { font-size: var(--text-sm); line-height: 1.43; }
.text-base { font-size: var(--text-base); line-height: 1.5; }
.text-lg { font-size: var(--text-lg); line-height: 1.56; }
.text-xl { font-size: var(--text-xl); line-height: 1.4; }
.text-2xl { font-size: var(--text-2xl); line-height: 1.33; }
.text-3xl { font-size: var(--text-3xl); line-height: 1.2; }
.text-4xl { font-size: var(--text-4xl); line-height: 1.11; }
.text-5xl { font-size: var(--text-5xl); line-height: 1; }
.text-6xl { font-size: var(--text-6xl); line-height: 1; }
.text-7xl { font-size: var(--text-7xl); line-height: 1; }
.text-8xl { font-size: var(--text-8xl); line-height: 1; }

.font-light { font-weight: var(--font-weight-light); }
.font-bold { font-weight: var(--font-weight-bold); }

.leading-none { line-height: 1; }
.leading-tight { line-height: var(--leading-tight); }
.leading-relaxed { line-height: var(--leading-relaxed); }

.tracking-wide { letter-spacing: var(--tracking-wide); }
.tracking-wider { letter-spacing: var(--tracking-wider); }
.tracking-\[0\.3em\] { letter-spacing: 0.3em; }

.text-center { text-align: center; }
.text-justify { text-align: justify; }
.uppercase { text-transform: uppercase; }
.italic { font-style: italic; }
.not-italic { font-style: normal; }

/* Colors */
.text-burgundy { color: var(--color-burgundy); }
.text-burgundy-dark { color: var(--color-burgundy-dark); }
.text-burgundy-dark\/90 { color: rgba(74, 14, 18, 0.9); }
.text-gold-leaf { 
    background: linear-gradient(to bottom right, var(--color-saffron), var(--color-gold-leaf), var(--color-saffron));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.text-gold-leaf\/20 { color: rgba(197, 160, 89, 0.2); }
.text-gold-leaf\/30 { color: rgba(197, 160, 89, 0.3); }
.text-parchment { color: var(--color-parchment); }
.text-parchment\/70 { color: rgba(244, 241, 234, 0.7); }
.text-parchment\/90 { color: rgba(244, 241, 234, 0.9); }
.text-frost\/50 { color: rgba(241, 245, 249, 0.5); }
.text-frost\/80 { color: rgba(241, 245, 249, 0.8); }
.text-white { color: #ffffff; }
.text-white\/80 { color: rgba(255, 255, 255, 0.8); }
.text-white\/50 { color: rgba(255, 255, 255, 0.5); }

/* Override for non-gradient gold text where needed */
cite.text-gold-leaf,
blockquote .text-gold-leaf,
.quote-content .text-gold-leaf {
    background: none;
    -webkit-background-clip: unset;
    background-clip: unset;
    color: var(--color-gold-leaf);
}

.bg-parchment { background-color: var(--color-parchment); }
.bg-burgundy { background-color: var(--color-burgundy); }
.bg-burgundy-dark { background-color: var(--color-burgundy-dark); }
.bg-midnight { background-color: var(--color-midnight); }
.bg-gold-leaf { background-color: var(--color-gold-leaf); }
.bg-saffron { background-color: var(--color-saffron); }
.bg-sepia\/20 { background-color: rgba(92, 77, 69, 0.2); }
.bg-black\/50 { background-color: rgba(0, 0, 0, 0.5); }
.bg-black\/60 { background-color: rgba(0, 0, 0, 0.6); }
.bg-white { background-color: #ffffff; }
.bg-white\/10 { background-color: rgba(255, 255, 255, 0.1); }
.bg-white\/20 { background-color: rgba(255, 255, 255, 0.2); }

/* Gradient overlays */
.bg-gradient-to-b { background-image: linear-gradient(to bottom, var(--tw-gradient-stops)); }
.from-black\/50 { --tw-gradient-from: rgba(0, 0, 0, 0.5); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent); }
.via-black\/40 { --tw-gradient-via: rgba(0, 0, 0, 0.4); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, transparent); }
.to-black\/60 { --tw-gradient-to: rgba(0, 0, 0, 0.6); }

/* Image filters */
.brightness-75 { filter: brightness(0.75); }
.contrast-110 { filter: contrast(1.1); }
.sepia-\[\.15\] { filter: sepia(0.15); }

/* Border colors */
.border-white { border-color: #ffffff; }

.bg-parchment-texture {
    background-color: var(--color-parchment);
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");
}

/* Borders */
.border { border-width: 1px; border-style: solid; }
.border-4 { border-width: 4px; border-style: solid; }
.border-t { border-top-width: 1px; border-top-style: solid; }
.border-gold-leaf { border-color: var(--color-gold-leaf); }
.border-gold-leaf\/50 { border-color: rgba(197, 160, 89, 0.5); }
.border-white\/5 { border-color: rgba(255, 255, 255, 0.05); }
.border-white\/50 { border-color: rgba(255, 255, 255, 0.5); }
.border-white\/60 { border-color: rgba(255, 255, 255, 0.6); }
.rounded-sm { border-radius: var(--radius-sm); }
.rounded-lg { border-radius: 8px; }
.rounded-full { border-radius: 9999px; }

/* Gradients */
.bg-gradient-to-b {
    background-image: linear-gradient(to bottom, var(--tw-gradient-stops, transparent, transparent));
}
.bg-gradient-to-r {
    background-image: linear-gradient(to right, var(--tw-gradient-stops, transparent, transparent));
}
.bg-gradient-to-t {
    background-image: linear-gradient(to top, var(--tw-gradient-stops, transparent, transparent));
}
.bg-gradient-to-tr {
    background-image: linear-gradient(to top right, var(--tw-gradient-stops, transparent, transparent));
}

.from-midnight.to-burgundy-dark {
    background-image: linear-gradient(to bottom, var(--color-midnight), var(--color-burgundy-dark));
}
.from-saffron.to-gold-leaf {
    background-image: linear-gradient(to right, var(--color-saffron), var(--color-gold-leaf));
}
.from-black\/40.to-transparent {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.4), transparent);
}
.from-burgundy\/10.to-transparent {
    background-image: linear-gradient(to top right, rgba(114, 28, 36, 0.1), transparent);
}

.bg-\[radial-gradient\(circle_at_50\%_50\%\,rgba\(114\,28\,36\,0\.15\)\,transparent_70\%\)\] {
    background-image: radial-gradient(circle at 50% 50%, rgba(114, 28, 36, 0.15), transparent 70%);
}

/* Effects */
.shadow-lg {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}
.shadow-md {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}
.shadow-xl {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}
.drop-shadow-lg {
    filter: drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1));
}
.drop-shadow-md {
    filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06));
}
.blur-3xl {
    filter: blur(var(--blur-3xl));
}
.opacity-5 { opacity: 0.05; }
.overflow-hidden { overflow: hidden; }
.object-cover { object-fit: cover; }
.pointer-events-none { pointer-events: none; }
.mix-blend-overlay { mix-blend-mode: overlay; }
.rotate-180 { transform: rotate(180deg); }
.float-left { float: left; }
.perspective-\[2000px\] { perspective: 2000px; }
.antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Transitions */
.transition {
    transition-property: color, background-color, border-color, opacity, box-shadow, transform;
    transition-timing-function: var(--default-transition-timing-function);
    transition-duration: var(--default-transition-duration);
}
.transition-all {
    transition-property: all;
    transition-timing-function: var(--default-transition-timing-function);
    transition-duration: var(--default-transition-duration);
}
.transition-colors {
    transition-property: color, background-color, border-color;
    transition-timing-function: var(--default-transition-timing-function);
    transition-duration: var(--default-transition-duration);
}
.duration-300 { transition-duration: 0.3s; }

/* Hover effects */
@media (hover: hover) {
    .hover\:scale-105:hover { transform: scale(1.05); }
    .hover\:bg-gold-leaf\/10:hover { background-color: rgba(197, 160, 89, 0.1); }
    .hover\:text-gold-leaf:hover { color: var(--color-gold-leaf); }
    .hover\:shadow-lg:hover {
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
    }
}

/* Container */
.container {
    width: 100%;
    margin-inline: auto;
    padding-inline: calc(var(--spacing) * 4);
}

@media (min-width: 640px) {
    .container { max-width: 640px; }
}
@media (min-width: 768px) {
    .container { max-width: 768px; }
}
@media (min-width: 1024px) {
    .container { max-width: 1024px; }
}
@media (min-width: 1280px) {
    .container { max-width: 1280px; }
}

/* ============================================
   RESPONSIVE BREAKPOINTS
   ============================================ */

/* SM: 640px */
@media (min-width: 640px) {
    .sm\:px-8 { padding-inline: calc(var(--spacing) * 8); }
    .sm\:px-12 { padding-inline: calc(var(--spacing) * 12); }
    .sm\:h-56 { height: calc(var(--spacing) * 56); }
    .sm\:w-56 { width: calc(var(--spacing) * 56); }
    .sm\:max-w-\[350px\] { max-width: 350px; }
    .sm\:text-lg { font-size: var(--text-lg); }
    .sm\:text-xl { font-size: var(--text-xl); }
    .sm\:text-2xl { font-size: var(--text-2xl); }
    .sm\:text-3xl { font-size: var(--text-3xl); }
    .sm\:text-5xl { font-size: var(--text-5xl); }
    .sm\:text-7xl { font-size: var(--text-7xl); }
    .sm\:text-left { text-align: left; }
    .sm\:flex-row { flex-direction: row; }
    .sm\:-left-8 { left: calc(var(--spacing) * -8); }
    .sm\:-right-8 { right: calc(var(--spacing) * -8); }
}

/* MD: 768px */
@media (min-width: 768px) {
    .md\:col-span-1 { grid-column: span 1 / span 1; }
    .md\:col-span-2 { grid-column: span 2 / span 2; }
    .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .md\:flex-row { flex-direction: row; }
    .md\:justify-end { justify-content: flex-end; }
    .md\:max-w-\[420px\] { max-width: 420px; }
    .md\:text-left { text-align: left; }
    .md\:text-3xl { font-size: var(--text-3xl); }
    .md\:text-8xl { font-size: var(--text-8xl); }
    .md\:space-y-0 > :not(:last-child) { margin-bottom: 0; }
}

/* LG: 1024px */
@media (min-width: 1024px) {
    .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lg\:items-start { align-items: flex-start; }
    .lg\:text-left { text-align: left; }
}

/* ============================================
   ANIMATIONS
   ============================================ */

/* Entrance animations for elements */
.hero-content,
.book-wrapper {
    opacity: 0;
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.hero-content {
    transform: translateX(-50px);
}

.book-wrapper {
    transform: translateX(50px) rotateY(15deg);
}

.hero-content {
    transform: translateX(-50px);
}

.book-wrapper {
    transform: translateX(50px) rotateY(15deg);
}

.hero-content.animate-in,
.book-wrapper.animate-in {
    opacity: 1;
    transform: translateX(0) translateY(0) rotateY(0);
}

/* View Transitions */
html {
    view-transition-name: page;
}

#synopsis {
    view-transition-name: synopsis;
}

::view-transition-old(synopsis),
::view-transition-new(synopsis) {
    animation-duration: 0.45s;
    animation-timing-function: ease;
}

@media (prefers-reduced-motion: reduce) {
    .hero-content,
    .book-wrapper,
    .synopsis-content,
    .quote-content,
    .about-content,
    .reveal-on-scroll {
        opacity: 1;
        transform: none;
        transition: none;
    }
    
    ::view-transition-old(synopsis),
    ::view-transition-new(synopsis) {
        animation: none;
    }
}

/* ============================================
   NEW SECTIONS - Questions, Themes, Signup, CTA
   ============================================ */

/* Scroll Reveal Animation */
.reveal-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.reveal-on-scroll.revealed {
    opacity: 1;
    transform: translateY(0);
}

/* Staggered delays for sequential reveals */
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

/* Questions Hook Section */
.questions-section {
    background-color: var(--color-frost);
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(197, 160, 89, 0.2);
}

.questions-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 50%, rgba(197, 160, 89, 0.08), transparent 60%);
    pointer-events: none;
}

.question-text {
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    font-style: italic;
    color: var(--color-burgundy-dark);
    text-align: center;
    line-height: var(--leading-relaxed);
    margin-bottom: calc(var(--spacing) * 6);
}

@media (min-width: 640px) {
    .question-text {
        font-size: var(--text-3xl);
    }
}

@media (min-width: 768px) {
    .question-text {
        font-size: var(--text-4xl);
    }
}

/* Themes Card Grid */
.themes-section {
    background: linear-gradient(to bottom, var(--color-burgundy-dark), var(--color-midnight));
    position: relative;
}

.themes-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(var(--spacing) * 8);
    max-width: var(--container-5xl);
    margin: 0 auto;
}

@media (min-width: 640px) {
    .themes-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .themes-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.theme-card {
    background: var(--color-white);
    border: 1px solid rgba(197, 160, 89, 0.3);
    border-radius: calc(var(--spacing) * 2);
    padding: calc(var(--spacing) * 6);
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    overflow: hidden;
}

.theme-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(to right, var(--color-saffron), var(--color-gold-leaf));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.theme-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(74, 14, 18, 0.15);
}

.theme-card:hover::before {
    opacity: 1;
}

.theme-icon {
    width: calc(var(--spacing) * 16);
    height: calc(var(--spacing) * 16);
    margin: 0 auto calc(var(--spacing) * 4);
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.1), rgba(197, 160, 89, 0.1));
    border-radius: 50%;
}

.theme-icon svg {
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
    color: var(--color-burgundy);
}

.theme-card h3 {
    font-family: var(--font-heading);
    font-size: var(--text-xl);
    font-weight: 600;
    color: var(--color-burgundy-dark);
    margin-bottom: calc(var(--spacing) * 3);
}

.theme-card p {
    font-family: var(--font-body);
    font-size: var(--text-base);
    color: rgba(74, 14, 18, 0.8);
    line-height: var(--leading-relaxed);
}

/* Author Credentials List */
.credentials-list {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 3);
    margin-top: calc(var(--spacing) * 6);
    margin-bottom: calc(var(--spacing) * 8);
}

.credential-item {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 3);
}

.credential-icon {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--color-saffron), var(--color-gold-leaf));
    border-radius: 50%;
}

.credential-icon svg {
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
    color: var(--color-white);
}

.credential-text {
    font-family: var(--font-body);
    font-size: var(--text-base);
    color: var(--color-burgundy-dark);
}

@media (min-width: 640px) {
    .credentials-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: calc(var(--spacing) * 4);
    }
}

/* Email Signup Section */
.email-signup-section {
    background: linear-gradient(135deg, var(--color-midnight) 0%, var(--color-burgundy-dark) 100%);
    position: relative;
    overflow: hidden;
}

.email-signup-section::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 600px;
    height: 600px;
    background: radial-gradient(ellipse, rgba(197, 160, 89, 0.08) 0%, transparent 70%);
    pointer-events: none;
}

.email-signup-card {
    position: relative;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(197, 160, 89, 0.2);
    border-radius: 12px;
    padding: calc(var(--spacing) * 10) calc(var(--spacing) * 8);
    backdrop-filter: blur(10px);
}

.email-signup-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 12px;
    padding: 1px;
    background: linear-gradient(135deg, rgba(197, 160, 89, 0.3), transparent 50%, rgba(197, 160, 89, 0.15));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

.email-signup-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto calc(var(--spacing) * 5);
    color: var(--color-gold-leaf);
    opacity: 0.7;
}

.email-signup-icon svg {
    width: 100%;
    height: 100%;
}

.email-signup-form {
    width: 100%;
}

.email-signup-input-group {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 3);
}

@media (min-width: 480px) {
    .email-signup-input-group {
        flex-direction: row;
        gap: 0;
    }
}

.email-signup-input {
    flex: 1;
    padding: calc(var(--spacing) * 4) calc(var(--spacing) * 5);
    background: rgba(244, 241, 234, 0.1);
    border: 1px solid rgba(197, 160, 89, 0.35);
    border-radius: 8px;
    color: var(--color-parchment);
    font-family: var(--font-body);
    font-size: var(--text-base);
    transition: all 0.3s ease;
}

@media (min-width: 480px) {
    .email-signup-input {
        border-radius: 8px 0 0 8px;
        border-right: none;
    }
}

.email-signup-input::placeholder {
    color: rgba(244, 241, 234, 0.6);
}

.email-signup-input:focus {
    outline: none;
    background: rgba(244, 241, 234, 0.12);
    border-color: var(--color-gold-leaf);
}

.email-signup-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 2);
    padding: calc(var(--spacing) * 4) calc(var(--spacing) * 6);
    background: linear-gradient(135deg, var(--color-saffron), var(--color-gold-leaf));
    border: none;
    border-radius: 8px;
    color: var(--color-burgundy-dark);
    font-family: var(--font-heading);
    font-size: var(--text-base);
    font-weight: 600;
    letter-spacing: 0.025em;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}

@media (min-width: 480px) {
    .email-signup-button {
        border-radius: 0 8px 8px 0;
    }
}

.email-signup-button:hover {
    background: linear-gradient(135deg, var(--color-gold-leaf), var(--color-saffron));
    transform: translateX(2px);
    box-shadow: 0 4px 20px rgba(197, 160, 89, 0.35);
}

.email-signup-button svg {
    transition: transform 0.3s ease;
}

.email-signup-button:hover svg {
    transform: translateX(3px);
}

.btn-gold {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 2);
    padding: calc(var(--spacing) * 4) calc(var(--spacing) * 8);
    background: linear-gradient(135deg, var(--color-saffron), var(--color-gold-leaf));
    border: none;
    border-radius: 8px;
    color: var(--color-burgundy-dark);
    font-family: var(--font-heading);
    font-size: var(--text-base);
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.btn-gold:hover {
    background: linear-gradient(135deg, var(--color-gold-leaf), var(--color-saffron));
    transform: scale(1.05);
    box-shadow: 0 4px 20px rgba(197, 160, 89, 0.35);
}

.btn-gold-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 2);
    padding: calc(var(--spacing) * 4) calc(var(--spacing) * 8);
    background: transparent;
    border: 2px solid var(--color-gold-leaf);
    border-radius: 8px;
    color: var(--color-gold-leaf);
    font-family: var(--font-heading);
    font-size: var(--text-base);
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.btn-gold-outline:hover {
    background: rgba(197, 160, 89, 0.15);
    transform: scale(1.05);
    box-shadow: 0 4px 20px rgba(197, 160, 89, 0.2);
}

.signup-section {
    background: linear-gradient(135deg, var(--color-midnight) 0%, var(--color-burgundy-dark) 100%);
    position: relative;
    overflow: hidden;
}

.signup-section::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 60%;
    height: 200%;
    background: radial-gradient(ellipse, rgba(197, 160, 89, 0.1), transparent 70%);
    pointer-events: none;
}

.signup-container {
    max-width: var(--container-4xl);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(var(--spacing) * 12);
    align-items: center;
}

@media (min-width: 768px) {
    .signup-container {
        grid-template-columns: 1fr 1fr;
    }
}

.signup-content h2 {
    font-family: var(--font-heading);
    font-size: var(--text-3xl);
    color: var(--color-gold-leaf);
    margin-bottom: calc(var(--spacing) * 2);
}

@media (min-width: 640px) {
    .signup-content h2 {
        font-size: var(--text-4xl);
    }
}

.signup-content h3 {
    font-family: var(--font-display);
    font-size: var(--text-xl);
    color: var(--color-parchment);
    margin-bottom: calc(var(--spacing) * 4);
}

@media (min-width: 640px) {
    .signup-content h3 {
        font-size: var(--text-2xl);
    }
}

.signup-content p {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    color: rgba(244, 241, 234, 0.8);
    line-height: var(--leading-relaxed);
}

.signup-form {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 4);
}

.form-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(var(--spacing) * 4);
}

@media (min-width: 640px) {
    .form-row {
        grid-template-columns: 1fr 1fr;
    }
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 2);
}

.form-group label {
    font-family: var(--font-heading);
    font-size: var(--text-sm);
    color: var(--color-gold-leaf);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.form-group input {
    padding: calc(var(--spacing) * 3) calc(var(--spacing) * 4);
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(197, 160, 89, 0.3);
    border-radius: var(--radius-sm);
    color: var(--color-parchment);
    font-family: var(--font-body);
    font-size: var(--text-base);
    transition: border-color 0.3s ease, background-color 0.3s ease;
}

.form-group input::placeholder {
    color: rgba(244, 241, 234, 0.5);
}

.form-group input:focus {
    outline: none;
    border-color: var(--color-gold-leaf);
    background: rgba(255, 255, 255, 0.15);
}

.signup-button {
    padding: calc(var(--spacing) * 4) calc(var(--spacing) * 8);
    background: linear-gradient(to right, var(--color-saffron), var(--color-gold-leaf));
    border: none;
    border-radius: var(--radius-sm);
    color: var(--color-burgundy-dark);
    font-family: var(--font-heading);
    font-size: var(--text-lg);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.signup-button:hover {
    transform: scale(1.02);
    box-shadow: 0 10px 30px rgba(197, 160, 89, 0.4);
}

.privacy-note {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    color: rgba(244, 241, 234, 0.5);
    text-align: center;
}

/* Final CTA Banner */
.cta-banner-section {
    background-color: var(--color-frost);
    border-top: 1px solid rgba(197, 160, 89, 0.2);
}

.cta-banner {
    background: linear-gradient(to right, var(--color-burgundy), var(--color-burgundy-dark));
    position: relative;
    text-align: center;
    overflow: hidden;
}

.cta-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.03'/%3E%3C/svg%3E");
    pointer-events: none;
}

.cta-banner h2 {
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    font-style: italic;
    color: var(--color-parchment);
    margin-bottom: calc(var(--spacing) * 8);
    position: relative;
}

@media (min-width: 640px) {
    .cta-banner h2 {
        font-size: var(--text-3xl);
    }
}

@media (min-width: 768px) {
    .cta-banner h2 {
        font-size: var(--text-4xl);
    }
}

.cta-buttons {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 4);
    justify-content: center;
    align-items: center;
    position: relative;
}

@media (min-width: 640px) {
    .cta-buttons {
        flex-direction: row;
    }
}

.cta-primary {
    padding: calc(var(--spacing) * 4) calc(var(--spacing) * 10);
    background: linear-gradient(to right, var(--color-saffron), var(--color-gold-leaf));
    border: none;
    border-radius: var(--radius-sm);
    color: var(--color-burgundy-dark);
    font-family: var(--font-heading);
    font-size: var(--text-lg);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-decoration: none;
}

.cta-primary:hover {
    transform: scale(1.05);
    box-shadow: 0 10px 30px rgba(197, 160, 89, 0.5);
}

.cta-secondary {
    padding: calc(var(--spacing) * 4) calc(var(--spacing) * 10);
    background: transparent;
    border: 2px solid var(--color-gold-leaf);
    border-radius: var(--radius-sm);
    color: var(--color-gold-leaf);
    font-family: var(--font-heading);
    font-size: var(--text-lg);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
    text-decoration: none;
}

.cta-secondary:hover {
    background: var(--color-gold-leaf);
    color: var(--color-burgundy-dark);
}

.cta-tagline {
    margin-top: calc(var(--spacing) * 6);
    font-family: var(--font-body);
    font-size: var(--text-base);
    font-style: italic;
    color: rgba(244, 241, 234, 0.6);
    position: relative;
}

/* ============================================
   SECTION BACKGROUNDS & SPACING FIXES
   ============================================ */

/* Synopsis Section - warm parchment background */
.synopsis-section {
    background-color: var(--color-parchment);
    position: relative;
    border-top: 1px solid rgba(114, 28, 36, 0.15);
}

.synopsis-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
    pointer-events: none;
}

/* About Section styling */
.about-section {
    background-color: var(--color-frost);
    border-top: 1px solid rgba(197, 160, 89, 0.15);
}

/* ============================================
   IMAGE-BASED THEME CARDS (Alternative Design)
   ============================================ */
.themes-section-images {
    background: var(--color-frost);
    position: relative;
    border-top: 1px solid rgba(114, 28, 36, 0.1);
}

.themes-grid-images {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(var(--spacing) * 6);
    max-width: var(--container-6xl);
    margin: 0 auto;
}

@media (min-width: 640px) {
    .themes-grid-images {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .themes-grid-images {
        grid-template-columns: repeat(4, 1fr);
    }
}

.theme-card-image {
    background: var(--color-white);
    border-radius: calc(var(--spacing) * 3);
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(74, 14, 18, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.theme-card-image:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 40px rgba(74, 14, 18, 0.15);
}

.theme-card-image-wrapper {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.theme-card-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.theme-card-image:hover .theme-card-image-wrapper img {
    transform: scale(1.08);
}

.theme-card-image-content {
    padding: calc(var(--spacing) * 5);
}

.theme-card-image-content h3 {
    font-family: var(--font-heading);
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--color-burgundy-dark);
    margin-bottom: calc(var(--spacing) * 2);
}

.theme-card-image-content p {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    color: rgba(74, 14, 18, 0.75);
    line-height: var(--leading-relaxed);
    margin-bottom: calc(var(--spacing) * 4);
}

.theme-card-link {
    display: inline-flex;
    align-items: center;
    gap: calc(var(--spacing) * 2);
    font-family: var(--font-heading);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-burgundy);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    transition: color 0.3s ease, gap 0.3s ease;
}

.theme-card-link:hover {
    color: var(--color-saffron);
    gap: calc(var(--spacing) * 3);
}

.theme-card-link svg {
    width: 16px;
    height: 16px;
    transition: transform 0.3s ease;
}

.theme-card-link:hover svg {
    transform: translateX(4px);
}

/* ============================================
   CONTACT / MEDIA INQUIRIES SECTION
   ============================================ */
.contact-section {
    background: linear-gradient(135deg, var(--color-midnight) 0%, var(--color-burgundy-dark) 100%);
    position: relative;
    overflow: hidden;
}

.contact-section::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: radial-gradient(ellipse at 80% 20%, rgba(197, 160, 89, 0.08) 0%, transparent 60%);
    pointer-events: none;
}

.contact-container {
    max-width: var(--container-6xl);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(var(--spacing) * 12);
}

@media (min-width: 1024px) {
    .contact-container {
        grid-template-columns: 1fr 1fr;
        gap: calc(var(--spacing) * 16);
    }
}

.contact-info {
    position: relative;
    z-index: 1;
}

.contact-info h2 {
    font-family: var(--font-heading);
    font-size: var(--text-3xl);
    color: var(--color-gold-leaf);
    margin-bottom: calc(var(--spacing) * 3);
}

@media (min-width: 640px) {
    .contact-info h2 {
        font-size: var(--text-4xl);
    }
}

.contact-info > p {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    color: var(--color-parchment);
    opacity: 0.85;
    margin-bottom: calc(var(--spacing) * 8);
    line-height: var(--leading-relaxed);
}

.contact-categories {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 6);
    margin-bottom: calc(var(--spacing) * 8);
}

.contact-category h3 {
    font-family: var(--font-heading);
    font-size: var(--text-lg);
    color: var(--color-gold-leaf);
    margin-bottom: calc(var(--spacing) * 2);
}

.contact-category p {
    font-family: var(--font-body);
    font-size: var(--text-base);
    color: var(--color-parchment);
    opacity: 0.75;
    line-height: var(--leading-relaxed);
}

.press-kit-info {
    padding: calc(var(--spacing) * 4);
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(197, 160, 89, 0.2);
    border-radius: calc(var(--spacing) * 2);
}

.press-kit-info strong {
    font-family: var(--font-heading);
    font-size: var(--text-sm);
    color: var(--color-gold-leaf);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.press-kit-info p {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    color: var(--color-parchment);
    opacity: 0.7;
    margin-top: calc(var(--spacing) * 2);
    line-height: var(--leading-relaxed);
}

/* Contact Form */
.contact-form-wrapper {
    position: relative;
    z-index: 1;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 5);
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 2);
}

.form-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(var(--spacing) * 5);
}

@media (min-width: 640px) {
    .form-row {
        grid-template-columns: 1fr 1fr;
    }
}

.form-label {
    font-family: var(--font-heading);
    font-size: var(--text-sm);
    color: var(--color-parchment);
    opacity: 0.9;
}

.form-label .required {
    color: var(--color-saffron);
}

.form-input,
.form-select,
.form-textarea {
    width: 100%;
    padding: calc(var(--spacing) * 3) calc(var(--spacing) * 4);
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(197, 160, 89, 0.25);
    border-radius: calc(var(--spacing) * 2);
    color: var(--color-parchment);
    font-family: var(--font-body);
    font-size: var(--text-base);
    transition: border-color 0.3s ease, background-color 0.3s ease;
}

.form-input::placeholder,
.form-textarea::placeholder {
    color: rgba(244, 241, 234, 0.4);
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
    outline: none;
    border-color: var(--color-gold-leaf);
    background: rgba(255, 255, 255, 0.08);
}

.form-select {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23c5a059'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 20px;
    padding-right: calc(var(--spacing) * 10);
}

.form-select option {
    background: var(--color-midnight);
    color: var(--color-parchment);
}

.form-textarea {
    min-height: 120px;
    resize: vertical;
}

.form-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 2);
    padding: calc(var(--spacing) * 4) calc(var(--spacing) * 8);
    background: linear-gradient(to right, var(--color-saffron), var(--color-gold-leaf));
    border: none;
    border-radius: calc(var(--spacing) * 2);
    color: var(--color-burgundy-dark);
    font-family: var(--font-heading);
    font-size: var(--text-base);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    align-self: flex-start;
}

.form-submit:hover {
    transform: scale(1.03);
    box-shadow: 0 8px 25px rgba(197, 160, 89, 0.4);
}

.form-submit svg {
    width: 18px;
    height: 18px;
}

/* ===================================
   TESTIMONIALS SECTION
   =================================== */
.testimonials-section {
    background: linear-gradient(135deg, var(--color-burgundy-dark) 0%, var(--color-midnight) 50%, var(--color-burgundy-dark) 100%);
    position: relative;
}

.testimonials-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 20%, rgba(197, 160, 89, 0.08) 0%, transparent 50%),
                radial-gradient(circle at 70% 80%, rgba(217, 119, 6, 0.06) 0%, transparent 50%);
    pointer-events: none;
}

.testimonials-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(var(--spacing) * 8);
}

@media (min-width: 768px) {
    .testimonials-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.testimonial-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(197, 160, 89, 0.15);
    border-radius: calc(var(--spacing) * 4);
    padding: calc(var(--spacing) * 8);
    position: relative;
    transition: transform 0.3s ease, border-color 0.3s ease;
}

.testimonial-card:hover {
    transform: translateY(-4px);
    border-color: rgba(197, 160, 89, 0.3);
}

.testimonial-quote-icon {
    color: var(--color-gold-leaf);
    opacity: 0.5;
    margin-bottom: calc(var(--spacing) * 4);
}

.testimonial-text {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    font-style: italic;
    color: var(--color-parchment);
    line-height: var(--leading-relaxed);
    margin-bottom: calc(var(--spacing) * 6);
    opacity: 0.9;
}

.testimonial-author {
    font-family: var(--font-heading);
    font-size: var(--text-sm);
    color: var(--color-gold-leaf);
    letter-spacing: 0.05em;
}

/* ===================================
   FREE GUIDE / LEAD MAGNET SECTION
   =================================== */
.free-guide-section {
    background: var(--color-frost);
    position: relative;
}

.free-guide-container {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(var(--spacing) * 12);
    align-items: center;
}

@media (min-width: 768px) {
    .free-guide-container {
        grid-template-columns: 1fr 1fr;
    }
}

.free-guide-info {
    position: relative;
}

.free-guide-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, var(--color-saffron), var(--color-gold-leaf));
    border-radius: 50%;
    color: var(--color-burgundy-dark);
    margin-bottom: calc(var(--spacing) * 4);
}

.free-guide-form-wrapper {
    background: white;
    border-radius: calc(var(--spacing) * 4);
    padding: calc(var(--spacing) * 8);
    box-shadow: 0 10px 40px rgba(114, 28, 36, 0.08);
    border: 1px solid rgba(114, 28, 36, 0.08);
}

.free-guide-form {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 5);
}

.free-guide-form .form-label {
    color: var(--color-burgundy-dark);
    opacity: 0.8;
}

.free-guide-form .form-input {
    background: var(--color-frost);
    border-color: rgba(114, 28, 36, 0.15);
    color: var(--color-burgundy-dark);
}

.free-guide-form .form-input::placeholder {
    color: rgba(74, 14, 18, 0.4);
}

.free-guide-form .form-input:focus {
    border-color: var(--color-burgundy);
    background: white;
}

.input-with-icon {
    position: relative;
}

.input-with-icon svg {
    position: absolute;
    left: calc(var(--spacing) * 3);
    top: 50%;
    transform: translateY(-50%);
    color: var(--color-burgundy);
    opacity: 0.5;
}

.input-with-icon .form-input {
    padding-left: calc(var(--spacing) * 10);
}

.free-guide-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 2);
    width: 100%;
    padding: calc(var(--spacing) * 4) calc(var(--spacing) * 8);
    background: var(--color-burgundy);
    border: none;
    border-radius: calc(var(--spacing) * 2);
    color: var(--color-parchment);
    font-family: var(--font-heading);
    font-size: var(--text-base);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.free-guide-submit:hover {
    background: var(--color-burgundy-dark);
    transform: scale(1.02);
}

.free-guide-submit svg {
    transition: transform 0.3s ease;
}

.free-guide-submit:hover svg {
    transform: translateX(4px);
}

.free-guide-privacy {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    color: var(--color-burgundy-dark);
    opacity: 0.5;
    text-align: center;
    margin-top: calc(var(--spacing) * 4);
}

/* ============================================
   CHAPTER MODAL
   ============================================ */

.chapter-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.chapter-modal.active {
    opacity: 1;
    visibility: visible;
}

.chapter-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.9);
    backdrop-filter: blur(4px);
}

.chapter-modal-content {
    position: relative;
    width: 90%;
    max-width: 700px;
    max-height: 85vh;
    background: var(--color-parchment);
    border-radius: 12px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    transform: scale(0.95) translateY(20px);
    transition: transform 0.3s ease;
}

.chapter-modal.active .chapter-modal-content {
    transform: scale(1) translateY(0);
}

.chapter-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(74, 14, 18, 0.1);
    border: none;
    border-radius: 50%;
    color: var(--color-burgundy-dark);
    cursor: pointer;
    transition: all 0.2s ease;
    z-index: 10;
}

.chapter-modal-close:hover {
    background: var(--color-burgundy);
    color: var(--color-parchment);
}

.chapter-modal-body {
    padding: 48px 40px;
    max-height: 85vh;
    overflow-y: auto;
}

.chapter-title {
    font-family: var(--font-heading);
    font-size: var(--text-3xl);
    color: var(--color-burgundy-dark);
    text-align: center;
    margin-bottom: 8px;
}

.chapter-subtitle {
    font-family: var(--font-heading);
    font-size: var(--text-xl);
    color: var(--color-gold-leaf);
    font-style: italic;
    text-align: center;
    margin-bottom: 32px;
}

.chapter-text {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    line-height: 1.8;
    color: var(--color-burgundy-dark);
}

.chapter-text p {
    margin-bottom: 24px;
    text-indent: 2em;
}

.chapter-text p:first-child {
    text-indent: 0;
}

.chapter-text p:first-child::first-letter {
    font-family: var(--font-heading);
    font-size: 3.5em;
    float: left;
    line-height: 0.8;
    padding-right: 12px;
    color: var(--color-burgundy);
}

.chapter-continue {
    text-align: center;
    font-style: italic;
    color: var(--color-burgundy-dark);
    opacity: 0.7;
    margin-top: 40px;
    text-indent: 0 !important;
}

.chapter-cta {
    display: flex;
    justify-content: center;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid rgba(74, 14, 18, 0.1);
}
