/* Front page (book landing) styles — extracted from index.html */

:root {
    --navy:      #0D1B2A;
    --navy-mid:  #162336;
    --gold:      #E4C56C;
    --gold-lt:   #F0D78E;
    --gold-pale: #F5EDD5;
    --text:      #1C1C1C;
    --subtext:   #5A5A5A;
    --border:    #E5E5E5;
}
* { box-sizing:border-box; }
body { font-family:'Inter',sans-serif; background:#fff; color:#1C1C1C; -webkit-font-smoothing:antialiased; }
.serif { font-family:'Playfair Display',Georgia,serif; }

/* ── SCROLL REVEAL ── */
.reveal      { opacity:0; transform:translateY(44px);  transition:opacity .75s ease,transform .75s ease; }
.reveal-l    { opacity:0; transform:translateX(-52px); transition:opacity .75s ease,transform .75s ease; }
.reveal-r    { opacity:0; transform:translateX(52px);  transition:opacity .75s ease,transform .75s ease; }
.reveal-s    { opacity:0; transform:scale(.9);         transition:opacity .75s ease,transform .75s ease; }
.reveal.in,.reveal-l.in,.reveal-r.in,.reveal-s.in { opacity:1; transform:none; }
.d1{transition-delay:.10s}.d2{transition-delay:.20s}.d3{transition-delay:.30s}
.d4{transition-delay:.40s}.d5{transition-delay:.50s}.d6{transition-delay:.60s}
.d7{transition-delay:.70s}.d8{transition-delay:.80s}

/* ── BOOK COVER ── */
.book-shadow {
    filter:drop-shadow(0 28px 36px rgba(0,0,0,.55)) drop-shadow(6px 6px 16px rgba(0,0,0,.35));
    transition:filter .4s ease,transform .4s ease;
}
.book-shadow:hover {
    filter:drop-shadow(0 36px 48px rgba(0,0,0,.65)) drop-shadow(8px 8px 20px rgba(0,0,0,.4));
    transform:translateY(-8px) rotate(-1deg);
}

/* ── SECONDARY COVERS ── */
.sec-cover { filter:drop-shadow(0 16px 24px rgba(0,0,0,.5)); transition:filter .35s ease,transform .35s ease; }
.sec-card:hover .sec-cover { filter:drop-shadow(0 22px 32px rgba(0,0,0,.65)); transform:translateY(-6px); }

/* ── BUTTONS ── */
.btn-gold { background:var(--gold); color:var(--navy); font-weight:700; transition:background .25s,transform .15s; }
.btn-gold:hover { background:var(--gold-lt); transform:translateY(-2px); }
.btn-outline { border:2px solid rgba(255,255,255,.7); color:#fff; font-weight:600; transition:background .25s; }
.btn-outline:hover { background:rgba(255,255,255,.12); }
.btn-navy { background:var(--navy); color:#fff; font-weight:700; transition:background .25s,transform .15s; }
.btn-navy:hover { background:#1a2e45; transform:translateY(-2px); }

/* ── GOLD LINE ── */
.gold-line { width:56px; height:3px; background:var(--gold); border-radius:2px; }

/* ── FEATURE CARDS ── */
.feat-card { border-left:4px solid var(--gold); transition:transform .3s ease,box-shadow .3s ease; }
.feat-card:hover { transform:translateY(-4px); box-shadow:0 12px 28px rgba(13,27,42,.10); }

/* ── INSIDE-THE-BOOK ── */
.itb-row { border-bottom:1px solid #EEEEEE; transition:background .2s; }
.itb-row:last-child { border-bottom:none; }
.itb-row:hover { background:#FAFAFA; }

/* ── CAROUSEL ── */
#carousel-track { transition:opacity .55s ease; }
.c-dot { width:8px; height:8px; border-radius:50%; background:rgba(228,197,108,.3); cursor:pointer; transition:background .3s,transform .3s; }
.c-dot.active { background:var(--gold); transform:scale(1.3); }

/* ── WHO THIS IS FOR ── */
.for-card { border-left:4px solid var(--gold); transition:transform .3s ease,box-shadow .3s ease; }
.for-card:hover { transform:translateY(-4px); box-shadow:0 12px 28px rgba(13,27,42,.08); }

/* ── ENDORSEMENT CARDS ── */
.endorse-card { border-top:3px solid var(--gold); transition:transform .3s ease,box-shadow .3s ease; }
.endorse-card:hover { transform:translateY(-4px); box-shadow:0 16px 36px rgba(13,27,42,.12); }

/* ── FAQ ── */
.faq-item { border-bottom:1px solid #EEEEEE; }
.faq-item:last-child { border-bottom:none; }
.faq-answer { max-height:0; overflow:hidden; transition:max-height .4s ease, padding .4s ease; }
.faq-answer.open { max-height:300px; }

/* ── VIDEO FRAME ── */
.video-frame {
    box-shadow: 0 24px 64px rgba(0,0,0,.55), 0 8px 24px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.08);
    transition: transform .4s ease, box-shadow .4s ease;
}
.video-frame:hover {
    transform: translateY(-4px);
    box-shadow: 0 32px 72px rgba(0,0,0,.65), 0 12px 32px rgba(0,0,0,.40), inset 0 0 0 1px rgba(255,255,255,.10);
}

/* ── PROGRESS DOTS ── */
#progress-nav { position:fixed; right:20px; top:50%; transform:translateY(-50%); z-index:40; display:flex; flex-direction:column; gap:10px; }
.p-dot { width:9px; height:9px; border-radius:50%; border:2px solid rgba(228,197,108,.6); transition:all .3s; cursor:pointer; }
.p-dot.active { background:var(--gold); border-color:var(--gold); transform:scale(1.2); }
@media(max-width:1100px){ #progress-nav { display:none; } }

/* ── STICKY BUY BAR ── */
#sticky-bar {
    position:fixed; bottom:0; left:0; right:0; z-index:50;
    transform:translateY(100%); opacity:0;
    transition:transform .4s ease, opacity .4s ease;
}
#sticky-bar.visible { transform:translateY(0); opacity:1; }

/* ── HERO PATTERN ── */
.hero-pattern {
    background-image:repeating-linear-gradient(45deg,#E4C56C 0,#E4C56C 1px,transparent 0,transparent 50%);
    background-size:20px 20px;
}

/* ── NAV ── */
nav a { transition:color .2s; }
nav a:hover { color:var(--gold); }
