/* ============================================================================
   Falah book landing page

   Every rule here came out of page 2607's post content, where 21 KB of CSS was
   living inside the page body. Nothing is redesigned: the selectors are verbatim
   apart from `#as-book` becoming `.fl-book`, and the cascade order of the six
   original <style> blocks is preserved, because the last one ("polish")
   deliberately overrode the first.

   This page is a bespoke design - cover flip, "Look Inside" modal, hero grid,
   chapter cards, download band - sharing no components with the long-form
   library, which is why it keeps its own stylesheet instead of being rebuilt out
   of .fl-* parts. The point of the migration is to get presentation out of post
   content, not to redraw a page that works.

   Colour: the page's own four tokens that have a Theme Options equivalent now
   read from it, so changing the content accent moves them. Everything else is
   this page's palette, the same way --fl-gold is a brand constant.
   ========================================================================= */

/* ---------- from <style id="as-theme-fixes"> ---------- */
/* overflow-x:clip, not hidden. With the theme's html,body{height:100%}, overflow-x:hidden computes overflow-y to auto and turns <body> into a scroll container: window.scrollTo stops working and sticky positioning breaks. clip clips horizontally without creating one. Same fix the reader already carries. */html,body{overflow-x:clip!important;overflow-y:visible!important;height:auto!important;min-height:0!important}.fl-book blockquote{border:0!important;background:none!important;padding-inline-start:0!important;padding-inline-end:0!important}

/* ---------- from <style id="as-fullbleed"> ---------- */
.fl-book{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;max-width:100vw!important}

/* ---------- from <style> ---------- */
/* ---- scope + tokens ---- */
.fl-book{
  --gold:var(--fl-gold,#C9A227); --gold-deep:#a9861a; --green:var(--fl-acc,#1B4332); --green-soft:#2d6a4f;
  --ivory:#fbf7ee; --cream:#f4ecdc; --sand:#e7dcc4; --ink:var(--fl-txt,#2b2620); --muted:var(--fl-meta,#6d6355);
  --line:#e4d9c2; --shadow:0 18px 50px -20px rgba(60,45,20,.45);
  --naskh:"Noto Naskh Arabic",serif;
  font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;
  color:var(--ink); background:var(--ivory);
  line-height:2.3; text-align:right; -webkit-font-smoothing:antialiased;
  margin:0 auto; overflow:hidden;
}
.fl-book *{box-sizing:border-box}
.fl-book .wrap{max-width:1080px;margin:0 auto;padding:0 22px}
.fl-book .nastaliq{font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;line-height:2.4}

/* ---- hero ---- */
.fl-book .hero{
  position:relative;padding:64px 0 72px;
  background:
    radial-gradient(1200px 500px at 80% -10%, rgba(201,162,39,.18), transparent 60%),
    radial-gradient(900px 500px at 10% 110%, rgba(27,67,50,.12), transparent 60%),
    linear-gradient(180deg,var(--cream),var(--ivory));
  border-bottom:1px solid var(--line);
}
.fl-book .hero-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:48px;align-items:center}
.fl-book .eyebrow{font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;color:var(--green-soft);font-size:20px;margin:0 0 6px}
.fl-book h1.title{
  font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;font-weight:700;
  font-size:clamp(46px,8vw,86px);line-height:1.9;margin:.1em 0 .15em;
  color:var(--gold-deep);
  text-shadow:0 1px 0 rgba(255,255,255,.6);
}
.fl-book .subtitle{
  font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;color:var(--green);
  font-size:clamp(22px,3.4vw,34px);line-height:2.2;margin:0 0 10px;
}
.fl-book .rule{width:120px;height:3px;margin:14px 0 18px;border-radius:3px;
  background:linear-gradient(90deg,var(--gold),transparent)}
.fl-book .author{font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;font-size:22px;color:var(--muted);margin:0 0 26px}
.fl-book .lede{font-size:21px;line-height:2.5;max-width:44ch;color:#453e33;margin:0 0 30px}
.fl-book .hero-pull{margin:1.3rem 0 .9rem;padding:0;border:0;font-family:"Jameel Noori Nastaleeq",'Noto Nastaliq Urdu',serif;font-size:clamp(1.7rem,4.8vw,2.8rem);line-height:2;color:#C9A227;font-weight:700}
.fl-book .lede-after{font-family:"Jameel Noori Nastaleeq",'Noto Nastaliq Urdu',serif;font-size:clamp(1.3rem,2.9vw,1.6rem);line-height:2;color:var(--green);opacity:1;margin:0 0 1.2rem}

/* ---- buttons ---- */
.fl-book .cta{display:flex;gap:14px;flex-wrap:wrap}
.fl-book .btn{
  display:inline-flex;align-items:center;gap:12px;cursor:pointer;
  font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;font-weight:600;font-size:22px;line-height:1.4;
  padding:14px 32px 20px;border-radius:14px;text-decoration:none;border:1px solid transparent;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
}
.fl-book .btn svg{width:22px;height:22px;flex:0 0 auto}
.fl-book .btn-primary{background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#3a2d07;
  box-shadow:0 12px 26px -10px rgba(169,134,26,.7)}
.fl-book .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 34px -12px rgba(169,134,26,.85)}
.fl-book .btn-ghost{background:#fff;color:var(--green);border-color:var(--line)}
.fl-book .btn-ghost:hover{transform:translateY(-2px);border-color:var(--green-soft)}
.fl-book .btn-ghost[aria-disabled="true"]{opacity:.55;cursor:default;transform:none;box-shadow:none}
.fl-book .soon{font-size:16px;background:var(--green);color:#fff;border-radius:999px;padding:1px 12px 5px;font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;line-height:1}
.fl-book .dlmeta{margin-top:14px;font-size:15px;color:var(--muted)}
.fl-book .dlmeta b{color:var(--green)}

/* ---- cover card ---- */
.fl-book .cover-wrap{width:100%}
.fl-book .cover-card{position:relative;width:100%;aspect-ratio:2/3;perspective:1700px;cursor:pointer}
.fl-book .cover-flip{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.2,.75,.2,1)}
.fl-book .cover-card:hover .cover-flip,.fl-book .cover-card:focus-visible .cover-flip{transform:rotateY(180deg)}
.fl-book .cover-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  border-radius:16px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(169,134,26,.35);
  background:linear-gradient(160deg,#173a2c,#0f2a20)}
.fl-book .cover-back{transform:rotateY(180deg)}
.fl-book .cover-face img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1}
@media(hover:none){/* touch: no flip, keep front */ .fl-book .cover-card:hover .cover-flip,.fl-book .cover-card:focus-visible .cover-flip{transform:none}}
.fl-book .cover-fallback{position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:26px;
  background:
    radial-gradient(120% 80% at 50% 8%, rgba(201,162,39,.28), transparent 55%),
    linear-gradient(160deg,#1c4636,#0e271e);
}
.fl-book .cover-fallback .ct{font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;color:var(--gold);font-size:44px;line-height:1.8;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.fl-book .cover-fallback .cs{font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;color:#efe7cf;font-size:22px;margin-top:8px}
.fl-book .cover-fallback .cdiv{width:70px;height:2px;background:var(--gold);opacity:.7;margin:14px 0}
.fl-book .cover-fallback .ca{font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;color:#cbb98f;font-size:18px;margin-top:auto}
.fl-book .cover-card{cursor:pointer}
.fl-book .cover-card:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.fl-book .look-badge{position:absolute;z-index:2;top:14px;right:14px;display:inline-flex;align-items:center;gap:8px;
  font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;font-size:18px;line-height:1;
  background:rgba(20,44,33,.9);color:#f6ecd0;padding:7px 15px 11px;border-radius:999px;
  border:1px solid rgba(201,162,39,.55);box-shadow:0 8px 20px -8px rgba(0,0,0,.55);backdrop-filter:blur(2px);
  transition:background .2s,color .2s,transform .2s}
.fl-book .look-badge svg{width:18px;height:18px}
.fl-book .cover-card:hover .look-badge,.fl-book .cover-card:focus-visible .look-badge{background:var(--gold);color:#3a2d07;transform:translateY(-1px)}
.fl-book .look-link{display:flex;align-items:center;gap:10px;width:fit-content;margin:18px auto 0;cursor:pointer;
  font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;font-size:20px;color:var(--green);
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 22px 14px;
  box-shadow:0 6px 16px -10px rgba(60,45,20,.4);transition:transform .15s ease,border-color .2s,box-shadow .2s,color .2s}
.fl-book .look-link svg{width:20px;height:20px;flex:0 0 auto}
.fl-book .look-link:hover{transform:translateY(-2px);color:var(--gold-deep);border-color:var(--gold);box-shadow:0 12px 24px -12px rgba(169,134,26,.5)}

/* ---- Look Inside modal ---- */
.fl-book .as-modal[hidden]{display:none}
.fl-book .as-modal{position:fixed;inset:0;z-index:99999;display:flex}
.fl-book .as-modal-backdrop{position:absolute;inset:0;background:rgba(18,14,8,.72);backdrop-filter:blur(3px)}
.fl-book .as-modal-panel{position:relative;margin:auto;width:min(860px,96vw);height:min(94vh,100%);
  background:var(--cream);border-radius:16px;box-shadow:0 40px 90px -25px rgba(0,0,0,.7);
  display:flex;flex-direction:column;overflow:hidden}
.fl-book .as-modal-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 18px;border-bottom:1px solid var(--line);background:#fff}
.fl-book .as-modal-title{font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;color:var(--green);font-size:24px;line-height:1}
.fl-book .as-head-actions{display:flex;align-items:center;gap:10px}
.fl-book .as-mini-dl{font-size:18px;padding:9px 18px 13px}
.fl-book .as-modal-close{border:none;background:var(--cream);color:var(--ink);width:42px;height:42px;border-radius:50%;
  font-size:26px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s,color .2s}
.fl-book .as-modal-close:hover{background:var(--gold);color:#3a2d07}
.fl-book .as-modal-scroll{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:22px 18px;background:var(--sand)}
.fl-book .as-page{display:block;width:min(660px,100%);margin:0 auto 16px;border-radius:6px;
  box-shadow:0 12px 32px -14px rgba(60,45,20,.55);background:#fff}
.fl-book .as-modal-cta{width:min(660px,100%);margin:6px auto 4px;text-align:center;padding:26px 22px;border-radius:14px;
  background:radial-gradient(600px 240px at 20% 0%,rgba(201,162,39,.22),transparent 60%),linear-gradient(160deg,#16382a,#0e271e);color:#f3ecda}
.fl-book .as-modal-cta p{font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;font-size:21px;margin:0 0 16px;color:var(--gold)}
@media(max-width:560px){.fl-book .as-mini-dl{display:none}.fl-book .as-modal-panel{width:100vw;height:100vh;border-radius:0}}

/* ---- sections ---- */
.fl-book section{padding:60px 0}
/* when a <section> also carries .wrap, .wrap's horizontal padding would
   override the vertical padding above; restore it with higher specificity */
.fl-book section.wrap{padding-top:60px;padding-bottom:60px}
.fl-book .sec-head{display:flex;align-items:center;justify-content:flex-start;gap:16px;margin:0 0 30px}
.fl-book .sec-head h2{font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;color:var(--green);
  font-size:clamp(30px,5vw,42px);margin:0;line-height:1.8}
.fl-book .sec-head .kicker{width:34px;height:34px;border-radius:9px;flex:0 0 auto;
  background:linear-gradient(180deg,var(--gold),var(--gold-deep));display:grid;place-items:center;color:#3a2d07}
.fl-book .sec-head .kicker svg{width:18px;height:18px}

/* intro */
.fl-book .intro{background:linear-gradient(180deg,#fff,var(--ivory));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fl-book .quote{
  font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;font-size:clamp(21px,3.2vw,28px);line-height:2.7;
  color:#3a3128;max-width:60ch;margin:0 auto;text-align:center;position:relative;padding:10px 0;
}
.fl-book .quote p{margin:0 0 .5em}
.fl-book .quote .em{color:var(--gold-deep)}
.fl-book .quote .em2{color:var(--green)}
.fl-book .quote cite{display:block;font-style:normal;font-size:17px;color:var(--muted);margin-top:20px}

/* chapters */
.fl-book .chapters{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fl-book .chap{
  display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:18px 20px;transition:transform .15s ease,box-shadow .2s ease,border-color .2s;
}
.fl-book .chap:hover{transform:translateY(-2px);box-shadow:0 14px 30px -18px rgba(60,45,20,.5);border-color:var(--gold)}
.fl-book .chap .num{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;font-size:20px;color:var(--green);
  background:var(--cream);border:1px solid var(--sand)}
.fl-book .chap .ct{font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;font-size:24px;color:var(--gold-deep);line-height:1.9;margin:0}
.fl-book .chap .cs{font-size:18px;color:var(--muted);margin:6px 0 0;line-height:2.2}
.fl-book .backmatter{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:860px;margin-left:auto;margin-right:auto}
.fl-book .pill{flex:0 0 calc(25% - 9px);font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;font-size:18px;color:var(--green);
  background:var(--cream);border:1px solid var(--sand);border-radius:999px;
  display:flex;align-items:center;justify-content:center;text-align:center;
  min-height:56px;padding:6px 14px 12px;line-height:1.6}
@media(max-width:760px){.fl-book .pill{flex-basis:calc(50% - 6px)}}

/* download band */
.fl-book .dl-band{background:
    radial-gradient(700px 300px at 15% 0%, rgba(201,162,39,.22), transparent 60%),
    linear-gradient(160deg,#16382a,#0e271e);color:#f3ecda;border-radius:22px;
  padding:46px;text-align:center;box-shadow:var(--shadow);margin:0 auto;max-width:900px}
.fl-book .dl-band h2{font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;color:var(--gold);font-size:clamp(28px,4.5vw,40px);margin:0 0 10px}
.fl-book .dl-band p{color:#d9cfb6;font-size:19px;line-height:2.4;margin:0 auto 26px;max-width:50ch}
.fl-book .dl-band .btn-primary{font-size:21px;padding:17px 40px}
.fl-book .counter{margin-top:22px;font-size:16px;color:#cbb98f}
.fl-book .counter b{color:var(--gold);font-size:20px}

/* footer note */
.fl-book .foot{padding:40px 0 66px;text-align:center;color:var(--muted);font-size:15px;
  font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;letter-spacing:.01em}
.fl-book .foot a{color:var(--green);text-decoration:none;border-bottom:1px solid var(--sand)}

/* responsive */
@media(max-width:860px){
  .fl-book .hero-grid{grid-template-columns:1fr;gap:34px}
  .fl-book .cover-wrap{max-width:300px;margin:0 auto;order:-1}
  .fl-book .lede{max-width:none}
  .fl-book .chapters{grid-template-columns:1fr}
}

/* ---------- from <style id="as-review-css"> ---------- */
.fl-book .as-review{max-width:1000px;margin:22px auto 0;padding:0 20px}
.fl-book .as-review-in{position:relative;overflow:hidden;background:linear-gradient(180deg,#fffdf6,#f6eeda);
  border:1px solid #e6d9b6;border-radius:16px;padding:18px 26px 20px;text-align:center;
  box-shadow:0 18px 44px -28px rgba(60,45,20,.5)}
.fl-book .as-review-in::before{content:"";position:absolute;top:0;bottom:0;right:0;width:6px;
  background:linear-gradient(180deg,#C9A227,#a9861a)}
.fl-book .as-review-badge{display:inline-block;font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;
  background:linear-gradient(180deg,#C9A227,#a9861a);color:#3a2d07;font-size:17px;line-height:1;
  border-radius:999px;padding:7px 18px 9px;margin:0 0 10px}
.fl-book .as-review-lead{font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;color:#1B4332;
  font-size:21px;line-height:2.15;margin:0 0 4px}
.fl-book .as-review-sub{font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;color:#5a5142;
  font-size:18px;line-height:2.15;margin:0 0 10px}
.fl-book .as-review-fb{font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu",serif;color:#2d6a4f;
  font-size:18px;line-height:1.8;margin:0 0 3px}
.fl-book .as-review-contact{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  direction:ltr;color:#6d6355;font-size:13.5px;line-height:1.6;margin:0}
@media(max-width:560px){.fl-book .as-review{margin-top:16px}
  .fl-book .as-review-lead{font-size:18px}.fl-book .as-review-sub{font-size:15.5px}.fl-book .as-review-fb{font-size:16px}}

/* ---------- from <style id="as-links"> ---------- */
.fl-book a.chap,.fl-book a.chap:hover,.fl-book a.pill,.fl-book a.pill:hover{text-decoration:none}.fl-book a.chap{color:inherit;cursor:pointer}.fl-book a.pill{cursor:pointer}

/* ---------- from <style id="as-polish"> ---------- */
/* ══════════ AESTHETIC POLISH ══════════ */
/* layered warm paper background + soft vignette */
.fl-book{background:
   radial-gradient(1200px 620px at 88% -8%, rgba(201,162,39,.10), transparent 62%),
   radial-gradient(1000px 560px at 6% 108%, rgba(27,67,50,.08), transparent 60%),
   linear-gradient(180deg,#fcf9f1,#f6efe1)!important}

/* more generous section rhythm */
.fl-book section{padding:76px 0}
.fl-book section.wrap{padding-top:76px;padding-bottom:76px}

/* centered section headers with a gold ornament rule */
.fl-book .sec-head{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;margin-bottom:46px}
.fl-book .sec-head .kicker{display:none}
.fl-book .sec-head h2{font-size:clamp(32px,5vw,46px)}
.fl-book .sec-head::after{content:"";display:block;width:236px;height:16px;margin-top:2px;
  background-repeat:no-repeat;background-position:center;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='236' height='16' viewBox='0 0 236 16'%3E%3Cline x1='8' y1='8' x2='98' y2='8' stroke='%23C9A227' stroke-width='1.3'/%3E%3Cline x1='138' y1='8' x2='228' y2='8' stroke='%23C9A227' stroke-width='1.3'/%3E%3Ccircle cx='103' cy='8' r='2.3' fill='%23a9861a'/%3E%3Ccircle cx='133' cy='8' r='2.3' fill='%23a9861a'/%3E%3Crect x='113' y='3' width='10' height='10' transform='rotate(45 118 8)' fill='%23C9A227'/%3E%3C/svg%3E")}

/* ---- hero polish ---- */
.fl-book .hero{padding:72px 0 88px}
.fl-book h1.title{text-shadow:0 1px 0 rgba(255,255,255,.6),0 3px 24px rgba(201,162,39,.16)}
.fl-book .rule{height:3px;width:132px;background:linear-gradient(90deg,var(--gold-deep),var(--gold),transparent)}
.fl-book .hero-pull{position:relative;padding-right:22px;margin-right:2px}
.fl-book .hero-pull::before{content:"";position:absolute;right:0;top:.35em;bottom:.35em;width:4px;border-radius:3px;
  background:linear-gradient(180deg,var(--gold),var(--gold-deep))}

/* ---- cover: pedestal shadow + deeper frame ---- */
.fl-book .cover-wrap{position:relative}
.fl-book .cover-wrap::after{content:"";position:absolute;left:10%;right:10%;bottom:-24px;height:30px;z-index:-1;
  background:radial-gradient(closest-side, rgba(60,45,20,.38), transparent 78%);filter:blur(4px)}
.fl-book .cover-face{box-shadow:0 34px 66px -26px rgba(60,45,20,.62),0 10px 22px -14px rgba(60,45,20,.45);
  border:1px solid rgba(201,162,39,.5)}

/* ---- buttons ---- */
.fl-book .btn-primary{box-shadow:0 14px 30px -12px rgba(169,134,26,.78)}
.fl-book .btn-primary:hover{box-shadow:0 20px 40px -14px rgba(169,134,26,.9)}

/* ---- intro quote: soft card + faded quote mark ---- */
.fl-book .intro{background:
   radial-gradient(700px 300px at 50% -20%, rgba(201,162,39,.08), transparent 60%),
   linear-gradient(180deg,#fffdf8,var(--ivory))}
.fl-book .quote{position:relative;padding-top:34px}
.fl-book .quote::before{content:"\201D";position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  font-family:Georgia,'Times New Roman',serif;color:rgba(201,162,39,.35);font-size:90px;line-height:1;height:44px;overflow:hidden}
.fl-book .quote cite{position:relative;padding-top:14px}
.fl-book .quote cite::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:52px;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent)}

/* ---- chapter cards: gold accent bar + refined number ---- */
.fl-book .chapters{gap:16px}
.fl-book .chap{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#fffdf7);
  border-color:#ece0c6;box-shadow:0 6px 18px -14px rgba(60,45,20,.4)}
.fl-book .chap::before{content:"";position:absolute;top:0;bottom:0;right:0;width:4px;transform:scaleY(0);transform-origin:top;
  background:linear-gradient(180deg,var(--gold),var(--gold-deep));transition:transform .25s ease}
.fl-book .chap:hover::before{transform:scaleY(1)}
.fl-book .chap:hover{border-color:var(--gold);box-shadow:0 18px 36px -20px rgba(60,45,20,.55)}
.fl-book .chap .num{background:radial-gradient(circle at 30% 25%,#fff,var(--cream));border:1px solid var(--gold);
  color:var(--gold-deep);font-weight:700;box-shadow:0 4px 10px -6px rgba(169,134,26,.6)}

/* ---- backmatter pills ---- */
.fl-book .pill{background:linear-gradient(180deg,#fff,var(--cream));border-color:#e7dcc4;
  box-shadow:0 4px 12px -10px rgba(60,45,20,.4);transition:transform .15s,border-color .2s,color .2s,box-shadow .2s}
.fl-book .pill:hover{transform:translateY(-2px);border-color:var(--gold);color:var(--gold-deep);
  box-shadow:0 10px 20px -12px rgba(169,134,26,.5)}

/* ---- download band: subtle geometric lattice + refined ---- */
.fl-book .dl-band{position:relative;overflow:hidden;padding:54px 46px;border:1px solid rgba(201,162,39,.28)}
.fl-book .dl-band::before{content:"";position:absolute;inset:0;opacity:.07;pointer-events:none;
  background-repeat:repeat;background-size:44px 44px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cpath d='M22 1L43 22L22 43L1 22Z' fill='none' stroke='%23C9A227' stroke-width='1'/%3E%3Ccircle cx='22' cy='22' r='2' fill='%23C9A227'/%3E%3C/svg%3E")}
.fl-book .dl-band>*{position:relative;z-index:1}

/* ---- review banner: warmer to match ---- */
.fl-book .as-review-in{background:linear-gradient(180deg,#fffdf6,#f4ead2);border-color:#e6d6ac}

/* ---- footer ---- */
.fl-book .foot{padding:46px 0 70px}
