/*
 * Developed by A-Y
 * Frontend Development & Custom CSS
 * Email: ahmeddeveloper33@gmail.com
 */
:root{
  /* dark (hero + featured + footer) */
  --void:#0A0C10; --ash:#12151B; --coal:#181C24;
  --frost:#E7ECEF; --smoke:#9AA4AC; --steel:#8FA6B4;
  --ember:#C98A3E; --ember-2:#E0A85A;
  --line-d:rgba(231,236,239,.14);
  /* light (rest of page) */
  --paper:#F1F2EF; --paper-2:#F8F8F5; --paper-3:#E7E8E2;
  --ink:#14161A; --ink-2:#3B3F47; --mute:#6C7078;
  --bronze:#A9722C; --bronze-2:#C08A3E; --slate:#5E7788;
  --line:rgba(20,22,26,.13); --line-soft:rgba(20,22,26,.07);
  --disp:'Cinzel',Georgia,serif;
  --lit:'Cormorant Garamond',Georgia,serif;
  --ui:'Space Grotesk',system-ui,sans-serif;
  --sig:'Great Vibes',cursive;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:rgba(169,114,44,.24)}
::-webkit-scrollbar{width:9px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:#cfd0c9;border-radius:9px}

/* image placeholder so empty slots look intentional before images load */
.media{position:relative;background:linear-gradient(135deg,#e9eae4,#dfe0d9)}
.featured .media,.book3d .media{background:linear-gradient(135deg,#20242c,#12151b)}
.media img{width:100%;height:100%;object-fit:cover}

/* ---------- reveal (robust: visible if JS fails, animates when in view) ---------- */
.js .reveal{opacity:0;translate:0 28px;transition:opacity .9s var(--ease),translate .9s var(--ease)}
.reveal.in{opacity:1;translate:0 0}
.cards .card:nth-child(2){transition-delay:.09s}
.cards .card:nth-child(3){transition-delay:.18s}
.praise-grid .blurb:nth-child(2){transition-delay:.09s}
.praise-grid .blurb:nth-child(3){transition-delay:.18s}

/* ---------- NAV ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:70;display:flex;align-items:center;justify-content:space-between;
  padding:20px clamp(22px,5vw,64px);transition:padding .5s var(--ease),background .5s var(--ease),border-color .5s var(--ease);
  background:linear-gradient(180deg,rgba(10,12,16,.7),transparent);border-bottom:1px solid transparent}
.nav .brand{font-family:var(--disp);font-weight:500;font-size:15px;letter-spacing:.32em;color:var(--frost);transition:color .5s}
.nav .brand small{display:block;font-family:var(--ui);font-weight:300;font-size:9px;letter-spacing:.4em;color:var(--smoke);margin-top:5px;transition:color .5s}
.nav-links{display:flex;align-items:center;gap:clamp(14px,2.4vw,34px)}
.nav-links a{font-family:var(--ui);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(231,236,239,.72);transition:color .3s}
.nav-links a:hover{color:var(--frost)}
.nav-cta{border:1px solid var(--line-d);border-radius:100px;padding:10px 20px!important;color:var(--frost)!important}
.nav-cta:hover{border-color:var(--ember)!important;color:var(--ember)!important}
.nav-burger{display:none;background:transparent;font-family:var(--ui);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--frost);border:1px solid var(--line-d);border-radius:100px;padding:9px 16px;cursor:pointer}
.nav.light{background:rgba(241,242,239,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line-soft);padding-top:14px;padding-bottom:14px}
.nav.light .brand{color:var(--ink)} .nav.light .brand small{color:var(--mute)}
.nav.light .nav-links a{color:var(--ink-2)} .nav.light .nav-links a:hover{color:var(--ink)}
.nav.light .nav-cta{border-color:var(--line)!important;color:var(--ink)!important}
.nav.light .nav-cta:hover{border-color:var(--bronze)!important;color:var(--bronze)!important}
.nav.light .nav-burger{color:var(--ink);border-color:var(--line)}

/* ---------- type helpers ---------- */
.eyebrow{font-family:var(--ui);font-weight:400;font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--bronze)}
.sec-head h2{font-family:var(--disp);font-weight:600;line-height:1.04;letter-spacing:.01em;font-size:clamp(2rem,5vw,3.8rem);color:var(--ink);margin:16px 0 0}
.sec-head.center{text-align:center}
.sec-head.center .eyebrow{display:block}
.btn{display:inline-flex;align-items:center;gap:11px;font-family:var(--ui);font-weight:500;font-size:12.5px;letter-spacing:.08em;padding:16px 34px;border-radius:2px;transition:background .4s var(--ease),color .4s,border-color .4s;will-change:transform;cursor:pointer;border:0}
.btn-solid{background:var(--ember);color:#1a1206}
.btn-solid:hover{background:var(--ember-2)}
.btn-ghost{border:1px solid var(--line-d);color:var(--frost);background:transparent}
.btn-ghost:hover{border-color:var(--frost)}
.arw{width:16px;height:1px;background:currentColor;position:relative}
.arw::after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}

/* =====================================================
   HERO
===================================================== */
.hero{position:relative;height:100vh;height:100svh;width:100%;overflow:hidden;background:var(--void)}
.stage{position:absolute;inset:0;overflow:hidden}
.pano-track{position:absolute;top:0;left:0;height:100%;will-change:transform}
.pano{height:100%;width:auto;max-width:none;display:block;filter:saturate(1.02) contrast(1.03)}
.fog{position:absolute;top:0;height:100%;width:220%;pointer-events:none;will-change:transform;opacity:.5;mix-blend-mode:screen}
.fog-1{background:radial-gradient(60% 80% at 30% 60%,rgba(150,164,172,.16),transparent 60%),radial-gradient(50% 70% at 70% 40%,rgba(120,140,150,.12),transparent 60%);animation:drift1 34s ease-in-out infinite}
.fog-2{background:radial-gradient(45% 60% at 50% 70%,rgba(120,132,142,.14),transparent 60%),radial-gradient(40% 60% at 20% 30%,rgba(90,104,116,.1),transparent 60%);opacity:.4;animation:drift2 46s ease-in-out infinite}
@keyframes drift1{0%,100%{transform:translate(0,0)}50%{transform:translate(-3%,-1.5%)}}
@keyframes drift2{0%,100%{transform:translate(0,0)}50%{transform:translate(2.5%,1%)}}
.bloom{position:absolute;top:6%;right:8%;width:44vw;height:70vh;pointer-events:none;opacity:.5;background:radial-gradient(circle at 60% 30%,rgba(224,168,90,.28),rgba(201,138,62,.08) 30%,transparent 62%);mix-blend-mode:screen;filter:blur(6px)}
.moonglow{position:absolute;top:4%;left:6%;width:26vw;height:40vh;pointer-events:none;opacity:.45;background:radial-gradient(circle at 40% 40%,rgba(180,198,210,.3),transparent 60%);mix-blend-mode:screen}
.snow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
.grade{position:absolute;inset:0;pointer-events:none;z-index:4;background:radial-gradient(120% 90% at 50% 30%,transparent 40%,rgba(10,12,16,.55) 100%),linear-gradient(180deg,rgba(10,12,16,.5) 0%,transparent 24%,transparent 55%,rgba(10,12,16,.92) 100%)}
.filmgrain{position:absolute;inset:0;pointer-events:none;z-index:5;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.scenes{position:absolute;inset:0;z-index:6;pointer-events:none}
.scene{position:absolute;left:clamp(22px,7vw,110px);bottom:clamp(80px,17vh,170px);max-width:min(90vw,560px);opacity:0;will-change:transform,opacity,filter}
.scene.center{left:50%;bottom:auto;top:50%;transform:translate(-50%,-50%);text-align:center;max-width:min(92vw,720px)}
.scene .label{font-family:var(--ui);font-weight:400;font-size:11px;letter-spacing:.44em;text-transform:uppercase;color:var(--ember-2);margin-bottom:20px;display:flex;align-items:center;gap:14px}
.scene.center .label{justify-content:center}
.scene .label::before{content:"";width:34px;height:1px;background:var(--ember);opacity:.7}
.scene.center .label::after{content:"";width:34px;height:1px;background:var(--ember);opacity:.7}
.scene h2{margin:0;font-family:var(--disp);font-weight:600;line-height:1.02;letter-spacing:.01em;font-size:clamp(2.4rem,6vw,5.4rem);color:var(--frost);text-shadow:0 8px 40px rgba(0,0,0,.6)}
.scene .desc{margin:22px 0 0;font-family:var(--lit);font-size:clamp(1.1rem,1.7vw,1.5rem);line-height:1.55;color:rgba(231,236,239,.86);font-weight:400;max-width:46ch}
.scene.center .desc{margin-left:auto;margin-right:auto}
.scene .byline{font-family:var(--ui);font-weight:300;font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--smoke);margin-top:26px}
.finale-cta{margin-top:38px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;pointer-events:auto}
.cue{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:7;display:flex;flex-direction:column;align-items:center;gap:9px;color:var(--smoke);pointer-events:none}
.cue span{font-family:var(--ui);font-size:9.5px;letter-spacing:.4em;text-transform:uppercase}
.cue i{width:1px;height:40px;background:linear-gradient(var(--smoke),transparent);position:relative;overflow:hidden}
.cue i::after{content:"";position:absolute;top:0;left:0;width:1px;height:12px;background:var(--ember);animation:cue 2s var(--ease) infinite}
@keyframes cue{0%{transform:translateY(-12px);opacity:0}40%{opacity:1}100%{transform:translateY(40px);opacity:0}}

/* =====================================================
   BRIDGE
===================================================== */
.bridge{position:relative;background:linear-gradient(180deg,var(--void) 0%,var(--ash) 40%,#4a4842 78%,var(--paper) 100%);padding:clamp(120px,22vh,240px) clamp(22px,7vw,110px);text-align:center;overflow:hidden}
.bridge .hr-orn{width:1px;height:70px;margin:0 auto 22px;background:linear-gradient(var(--ember),transparent)}
.bridge .eyebrow{color:var(--ember-2)}
.bridge h3{margin:24px auto 0;font-family:var(--disp);font-weight:500;line-height:1.16;letter-spacing:.01em;font-size:clamp(1.8rem,4.4vw,3.2rem);max-width:20ch;color:var(--frost)}
.bridge p{margin:26px auto 0;max-width:54ch;font-family:var(--lit);font-size:clamp(1.15rem,1.6vw,1.45rem);line-height:1.65;color:rgba(231,236,239,.7)}

/* =====================================================
   AUTHOR
===================================================== */
.author{position:relative;padding:clamp(90px,15vh,180px) clamp(22px,7vw,110px);overflow:hidden}
.author .ghost{position:absolute;top:6%;left:50%;transform:translateX(-50%);font-family:var(--disp);font-weight:400;font-size:clamp(6rem,20vw,18rem);color:rgba(20,22,26,.035);letter-spacing:.04em;white-space:nowrap;pointer-events:none;z-index:0}
.author-inner{position:relative;z-index:1;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(30px,5vw,80px);align-items:center}
.author-portrait{position:relative;justify-self:center}
.author-portrait .ph{position:relative;width:min(78vw,400px);aspect-ratio:5/6;border-radius:6px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(20,22,26,.5)}
.author-portrait .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(20,22,26,.18))}
.author-portrait .tag{position:absolute;left:-18px;bottom:34px;background:var(--paper-2);border:1px solid var(--line);padding:14px 20px;box-shadow:0 20px 50px -20px rgba(20,22,26,.3)}
.author-portrait .tag .k{font-family:var(--disp);font-size:22px;color:var(--ink)}
.author-portrait .tag .l{font-family:var(--ui);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute);margin-top:4px}
.author-portrait .frame{position:absolute;inset:-14px;border:1px solid var(--line);pointer-events:none}
.author-body .eyebrow{margin-bottom:18px}
.author-body h2{margin:0;font-family:var(--disp);font-weight:600;line-height:1;letter-spacing:.01em;font-size:clamp(2.4rem,5.4vw,4.4rem);color:var(--ink)}
.author-body .lede{margin:26px 0 0;font-family:var(--lit);font-size:clamp(1.15rem,1.5vw,1.4rem);line-height:1.68;color:var(--ink-2);max-width:52ch}
.author-body .lede em{font-style:italic;color:var(--ink)}
.author-card{margin-top:30px;position:relative;background:linear-gradient(135deg,rgba(255,255,255,.7),rgba(255,255,255,.35));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.7);box-shadow:0 30px 70px -34px rgba(20,22,26,.4);padding:clamp(22px,3vw,34px);border-radius:4px}
.author-card .promise{margin:0;font-family:var(--lit);font-style:italic;font-size:clamp(1.2rem,1.9vw,1.6rem);line-height:1.42;color:var(--bronze)}
.author-card .sign{margin-top:18px;display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.author-card .sig{font-family:var(--sig);font-size:clamp(2.2rem,4vw,3rem);color:var(--ink);line-height:1}
.author-card .place{font-family:var(--ui);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}

/* =====================================================
   WORKS
===================================================== */
.works{padding:clamp(90px,14vh,170px) clamp(22px,7vw,110px);background:linear-gradient(180deg,var(--paper),var(--paper-3))}
.works .sec-head{max-width:1180px;margin:0 auto clamp(48px,7vh,90px)}
.works .sec-head p{margin:18px 0 0;font-family:var(--lit);font-size:clamp(1.1rem,1.4vw,1.35rem);color:var(--ink-2);max-width:46ch;line-height:1.6}
.cards{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,34px)}
.card{position:relative;background:var(--paper-2);border:1px solid var(--line-soft);border-radius:4px;padding:clamp(22px,2.6vw,32px);transition:box-shadow .5s var(--ease),border-color .5s,transform .45s var(--ease);will-change:transform;transform-style:preserve-3d}
.card:hover{box-shadow:0 40px 80px -40px rgba(20,22,26,.4);border-color:var(--line)}
.card .cov{position:relative;aspect-ratio:2/3;border-radius:3px;overflow:hidden;box-shadow:0 20px 44px -18px rgba(20,22,26,.5);margin-bottom:24px}
.card .cov img{transition:transform .8s var(--ease)}
.card:hover .cov img{transform:scale(1.05)}
.card .cov::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.35),transparent 44%);opacity:0;transition:opacity .5s}
.card:hover .cov::after{opacity:1}
.card .vol{font-family:var(--ui);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--bronze)}
.card h3{margin:10px 0 8px;font-family:var(--disp);font-weight:600;font-size:clamp(1.3rem,1.9vw,1.7rem);color:var(--ink);line-height:1.1}
.card p{margin:0 0 20px;font-family:var(--lit);font-size:1.08rem;line-height:1.55;color:var(--ink-2)}
.card .go{display:inline-flex;align-items:center;gap:10px;font-family:var(--ui);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:6px;transition:color .4s,border-color .4s}
.card .go:hover{color:var(--bronze);border-color:var(--bronze)}

/* =====================================================
   FEATURED NOVEL
===================================================== */
.featured{position:relative;padding:clamp(100px,16vh,200px) clamp(22px,7vw,110px);background:linear-gradient(160deg,#20242c 0%,#171a21 55%,#0f1218 100%);color:var(--frost);overflow:hidden;background-image: url('../assets/images/back-img.webp');background-attachment: fixed;background-position: center;}
.featured::before{content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;background:radial-gradient(60% 80% at 78% 30%,rgba(201,138,62,.14),transparent 60%),radial-gradient(50% 70% at 15% 70%,rgba(94,119,136,.12),transparent 60%)}
.featured-inner{position:relative;z-index:1;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,7vw,110px);align-items:center}
.book-stage{perspective:2000px;display:flex;justify-content:center;align-items:center;min-height:min(74vw,520px)}
.book3d{position:relative;width:min(62vw,320px);aspect-ratio:2/3;transform-style:preserve-3d;transform:rotateY(-26deg) rotateX(6deg);transition:transform .2s ease-out;will-change:transform;animation:bookfloat 7s ease-in-out infinite}
@keyframes bookfloat{0%,100%{translate:0 -8px}50%{translate:0 8px}}
.book3d .face{position:absolute;inset:0;border-radius:2px 4px 4px 2px;overflow:hidden;backface-visibility:hidden}
.book3d .front{box-shadow:0 40px 90px -30px rgba(0,0,0,.8)}
.book3d .glare{position:absolute;inset:0;border-radius:2px 4px 4px 2px;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.34) 0%,rgba(255,255,255,0) 40%);mix-blend-mode:screen}
.book3d .spine{position:absolute;top:0;left:0;height:100%;width:38px;transform-origin:left center;transform:rotateY(90deg) translateX(-38px);background:linear-gradient(180deg,#2a2016,#4a3a24);display:flex;align-items:center;justify-content:center}
.book3d .spine span{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--disp);font-size:11px;letter-spacing:.18em;color:#d8c39a;white-space:nowrap}
.book3d .pages{position:absolute;top:2%;right:0;height:96%;width:38px;transform-origin:right center;transform:rotateY(-90deg) translateX(38px);background:repeating-linear-gradient(90deg,#efe9dc,#efe9dc 1px,#d9d2c2 2px,#efe9dc 3px);border-radius:0 3px 3px 0}
.book3d::after{content:"";position:absolute;left:6%;right:6%;bottom:-9%;height:14%;background:radial-gradient(50% 100% at 50% 0,rgba(0,0,0,.55),transparent 70%);filter:blur(9px);transform:translateZ(-40px)}
.featured-body .eyebrow{color:var(--ember-2);margin-bottom:18px}
.featured-body h2{margin:0;font-family:var(--disp);font-weight:600;line-height:1.02;font-size:clamp(2.2rem,5vw,4rem)}
.featured-body .sub{margin:14px 0 0;font-family:var(--lit);font-style:italic;font-size:clamp(1.2rem,1.9vw,1.6rem);color:var(--ember-2)}
.featured-body p{margin:24px 0 0;font-family:var(--lit);font-size:clamp(1.12rem,1.4vw,1.35rem);line-height:1.66;color:rgba(231,236,239,.82);max-width:50ch}
.spec{display:flex;flex-wrap:wrap;gap:14px 40px;margin:34px 0 0;padding-top:26px;border-top:1px solid var(--line-d)}
.spec .k{font-family:var(--disp);font-size:18px;color:var(--frost)}
.spec .l{font-family:var(--ui);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--smoke);margin-top:5px}
.buy{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.retail{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.retail a{font-family:var(--ui);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(231,236,239,.72);border:1px solid var(--line-d);border-radius:100px;padding:9px 16px;transition:border-color .4s,color .4s}
.retail a:hover{border-color:var(--ember-2);color:var(--frost)}

/* =====================================================
   CHAPTERS
===================================================== */
.chapters{padding:clamp(90px,15vh,180px) clamp(22px,7vw,110px)}
.chapters .sec-head{max-width:1180px;margin:0 auto clamp(44px,6vh,74px)}
.chapters .sec-head p{margin:16px auto 0;font-family:var(--lit);font-size:clamp(1.1rem,1.4vw,1.35rem);color:var(--ink-2);max-width:46ch;line-height:1.6}
.ch-wrap{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(20px,3vw,44px);align-items:start}
.ch-list{display:flex;flex-direction:column;gap:12px}
.ch-item{display:flex;align-items:center;gap:18px;text-align:left;background:var(--paper-2);border:1px solid var(--line-soft);border-left:2px solid transparent;border-radius:3px;padding:18px 20px;cursor:pointer;width:100%;transition:border-color .4s,background .4s,transform .4s,box-shadow .4s}
.ch-item:hover{transform:translateX(4px);box-shadow:0 20px 44px -30px rgba(20,22,26,.4)}
.ch-item .num{font-family:var(--disp);font-weight:600;font-size:22px;color:var(--mute);transition:color .4s;min-width:38px}
.ch-item .txt .t{font-family:var(--ui);font-weight:600;font-size:14px;letter-spacing:.02em;color:var(--ink)}
.ch-item .txt .s{font-family:var(--lit);font-size:1.05rem;color:var(--mute);margin-top:2px}
.ch-item .chev{margin-left:auto;width:9px;height:9px;border-right:1.5px solid var(--mute);border-bottom:1.5px solid var(--mute);transform:rotate(-45deg);transition:transform .4s,border-color .4s}
.ch-item.active{background:linear-gradient(135deg,#20242c,#12151b);border-left-color:var(--bronze);box-shadow:0 26px 54px -30px rgba(20,22,26,.6)}
.ch-item.active .num{color:var(--bronze-2)}
.ch-item.active .txt .t{color:var(--frost)} .ch-item.active .txt .s{color:rgba(231,236,239,.6)}
.ch-item.active .chev{transform:rotate(45deg);border-color:var(--bronze-2)}
.ch-detail{position:relative;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.4));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.7);box-shadow:0 40px 90px -46px rgba(20,22,26,.5);border-radius:4px;padding:clamp(28px,4vw,52px);min-height:clamp(320px,44vh,440px)}
.ch-detail .phase{font-family:var(--ui);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--bronze);display:inline-block;border:1px solid var(--line);border-radius:100px;padding:7px 14px}
.ch-detail h3{margin:22px 0 0;font-family:var(--disp);font-weight:600;font-size:clamp(1.9rem,3.4vw,2.8rem);color:var(--ink);line-height:1.05}
.ch-detail .body{margin:20px 0 0;font-family:var(--lit);font-size:clamp(1.15rem,1.5vw,1.4rem);line-height:1.66;color:var(--ink-2);max-width:52ch}
.ch-detail .quote{margin:28px 0 0;padding-left:22px;border-left:2px solid var(--bronze);font-family:var(--lit);font-style:italic;font-size:clamp(1.2rem,1.8vw,1.55rem);line-height:1.4;color:var(--ink)}
.ch-detail .beats{margin:28px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.ch-detail .beats span{font-family:var(--ui);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);border:1px solid var(--line);border-radius:100px;padding:8px 14px}

/* =====================================================
   PRAISE
===================================================== */
.praise{padding:clamp(90px,14vh,170px) clamp(22px,7vw,110px);background:linear-gradient(180deg,var(--paper-3),var(--paper));text-align:center}
.praise .eyebrow{margin-bottom:14px}
.praise h2{margin:0 auto clamp(44px,7vh,80px);font-family:var(--disp);font-weight:600;font-size:clamp(1.9rem,4.4vw,3.4rem);color:var(--ink);max-width:20ch}
.praise-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,30px)}
.blurb{background:var(--paper-2);border:1px solid var(--line-soft);border-radius:4px;padding:clamp(26px,3vw,38px);text-align:left;transition:transform .5s var(--ease),box-shadow .5s}
.blurb:hover{transform:translateY(-6px);box-shadow:0 40px 80px -46px rgba(20,22,26,.4)}
.blurb .stars{color:var(--bronze);letter-spacing:.2em;font-size:13px}
.blurb p{margin:16px 0 20px;font-family:var(--lit);font-size:clamp(1.15rem,1.5vw,1.4rem);line-height:1.44;color:var(--ink)}
.blurb .who{font-family:var(--ui);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}

/* =====================================================
   CONTACT (redesigned: info + form card)
===================================================== */
.contact{position:relative;padding:clamp(100px,16vh,200px) clamp(22px,7vw,110px);background:linear-gradient(180deg,var(--paper),var(--paper-3));overflow:hidden}
.contact-inner{position:relative;z-index:1;max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(36px,6vw,90px);align-items:center}
.contact-info .eyebrow{margin-bottom:16px}
.contact-info h2{margin:0;font-family:var(--disp);font-weight:600;line-height:1;font-size:clamp(2.4rem,5.4vw,4.2rem);color:var(--ink)}
.contact-info p{margin:22px 0 0;max-width:40ch;font-family:var(--lit);font-size:clamp(1.15rem,1.5vw,1.4rem);line-height:1.6;color:var(--ink-2)}
.contact-list{list-style:none;margin:34px 0 0;padding:0;display:flex;flex-direction:column;gap:0}
.contact-list li{display:flex;gap:20px;align-items:baseline;padding:16px 0;border-top:1px solid var(--line)}
.contact-list li:last-child{border-bottom:1px solid var(--line)}
.contact-list .cl-l{min-width:110px;font-family:var(--ui);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.contact-list a,.contact-list li>span:last-child{font-family:var(--lit);font-size:1.2rem;color:var(--ink)}
.contact-list a:hover{color:var(--bronze)}
.contact-card{position:relative;background:linear-gradient(135deg,rgba(255,255,255,.75),rgba(255,255,255,.42));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.7);box-shadow:0 44px 100px -50px rgba(20,22,26,.55);border-radius:5px;padding:clamp(26px,3.4vw,42px)}
.cc-form{display:flex;flex-direction:column;gap:16px}
.fld{display:flex;flex-direction:column;gap:8px}
.fld span{font-family:var(--ui);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.fld input,.fld textarea{font-family:var(--ui);font-size:15px;color:var(--ink);background:var(--paper-2);border:1px solid var(--line);border-radius:3px;padding:14px 16px;outline:none;transition:border-color .3s;resize:vertical}
.fld input:focus,.fld textarea:focus{border-color:var(--bronze)}
.fld input::placeholder,.fld textarea::placeholder{color:#a4a8ac}
.cc-form .btn-solid{background:var(--ink);color:var(--paper-2);margin-top:4px;justify-content:center}
.cc-form .btn-solid:hover{background:var(--bronze)}
.cc-note{font-family:var(--ui);font-size:11px;letter-spacing:.06em;color:var(--mute);min-height:14px;margin-top:4px}
.cc-divider{display:flex;align-items:center;gap:16px;margin:26px 0}
.cc-divider::before,.cc-divider::after{content:"";flex:1;height:1px;background:var(--line)}
.cc-divider span{font-family:var(--ui);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.cc-news{display:flex;gap:8px;flex-wrap:wrap}
.cc-news input{flex:1;min-width:180px;font-family:var(--ui);font-size:14px;color:var(--ink);background:var(--paper-2);border:1px solid var(--line);border-radius:3px;padding:13px 15px;outline:none;transition:border-color .3s}
.cc-news input:focus{border-color:var(--bronze)}
.cc-news .btn-ghost{border:1px solid var(--line);color:var(--ink);white-space:nowrap}
.cc-news .btn-ghost:hover{border-color:var(--bronze);color:var(--bronze)}

/* =====================================================
   FOOTER
===================================================== */
.foot{background:var(--void);color:var(--frost);padding:clamp(70px,10vh,120px) clamp(22px,7vw,110px) 44px}
.foot-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px}
.foot .brand{font-family:var(--disp);font-weight:500;font-size:17px;letter-spacing:.3em}
.foot .brand small{display:block;font-family:var(--ui);font-weight:300;font-size:9px;letter-spacing:.4em;color:var(--smoke);margin-top:8px}
.foot .tag{margin:22px 0 0;font-family:var(--lit);font-style:italic;font-size:1.2rem;line-height:1.5;color:rgba(231,236,239,.66);max-width:36ch}
.foot h4{font-family:var(--ui);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--smoke);margin:0 0 18px}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.foot ul a{font-family:var(--ui);font-size:13px;color:rgba(231,236,239,.78);transition:color .3s}
.foot ul a:hover{color:var(--ember-2)}
.foot-base{max-width:1180px;margin:clamp(50px,8vh,80px) auto 0;padding-top:26px;border-top:1px solid var(--line-d);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--ui);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--smoke)}

/* =====================================================
   RESPONSIVE
===================================================== */
@media (max-width:900px){
  .nav-links{display:none} .nav-burger{display:inline-block}
  .nav-links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:18px;padding:24px clamp(22px,5vw,64px);background:rgba(241,242,239,.98);border-bottom:1px solid var(--line)}
  .nav-links.open a{color:var(--ink-2)}
  .author-inner{grid-template-columns:1fr;gap:44px}
  .cards{grid-template-columns:1fr;max-width:420px}
  .featured-inner{grid-template-columns:1fr;gap:56px}
  .book-stage{min-height:auto;margin-bottom:8px}
  .ch-wrap{grid-template-columns:1fr;gap:22px}
  .ch-detail{order:2} .ch-list{order:1}
  .praise-grid{grid-template-columns:1fr;max-width:460px}
  .contact-inner{grid-template-columns:1fr;gap:44px}
  .foot-inner{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .foot-inner{grid-template-columns:1fr}
  .author-portrait .tag{left:0}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .cue{display:none} .book3d{animation:none}
  .js .reveal{opacity:1;translate:none}
}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
.hero a:focus-visible,.nav .brand:focus-visible{outline-color:var(--ember)}
