/* ================= Book landing page ================= */

/* ---- hero ---- */
.bk-hero{position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(135deg,var(--navy-ink) 0%,var(--navy-deep) 34%,var(--navy) 72%,var(--navy-2) 100%)}
.bk-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(860px 540px at 76% 46%,rgba(197,160,89,.17),transparent 62%),radial-gradient(640px 420px at 0% 100%,rgba(197,160,89,.06),transparent 60%)}
.bk-hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:72px 72px}
.fp .bk-hero{padding:clamp(2.5rem,6vw,4.25rem) 0 clamp(6rem,10vw,8.5rem)}
.bk-hero-in{position:relative;z-index:2;display:grid;gap:clamp(2.5rem,6vw,5rem);align-items:center;grid-template-columns:1fr}
@media(min-width:960px){.bk-hero-in{grid-template-columns:1.08fr .92fr}}

.bk-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,.5);margin-bottom:clamp(1.5rem,3vw,2.4rem)}
.bk-crumbs a{transition:color .2s}
.bk-crumbs a:hover{color:var(--gold-l)}
.bk-crumbs span{color:rgba(197,160,89,.65)}
.bk-hero .eyebrow{margin-bottom:1.1rem}
.bk-hero h1{color:#fff;font-size:clamp(2.5rem,5.4vw,4.3rem);line-height:1.04;margin:0 0 1.3rem;font-weight:600;max-width:17ch;text-wrap:balance}
.bk-hero h1 em{font-style:italic;font-weight:500;background:var(--gold-grad-h);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block;padding-right:.08em}
.bk-over-h .eyebrow,.bk-panel .eyebrow,.bk-final .eyebrow{background:var(--gold-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.bk-tag{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(1.25rem,2.3vw,1.6rem);line-height:1.45;color:rgba(255,255,255,.8);margin:0 0 1.6rem;max-width:36ch}
.bk-by{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--gold-l);margin:0 0 2.2rem}
.bk-by span{color:rgba(255,255,255,.3);margin:0 .6rem}
.bk-buy{border-top:1px solid rgba(255,255,255,.12);padding-top:1.8rem;max-width:540px}
.bk-price{font-family:'Cormorant Garamond',Georgia,serif;font-size:2.7rem;line-height:1;font-weight:600;margin:0 0 1.35rem;display:inline-block;
  background:var(--gold-grad-h);-webkit-background-clip:text;background-clip:text;color:transparent}
.bk-price s{font-size:1.25rem;font-weight:400;margin-right:.65rem;color:rgba(255,255,255,.4);-webkit-text-fill-color:rgba(255,255,255,.4)}
.bk-ctas{display:flex;flex-wrap:wrap;gap:.8rem}
.bk-ctas .btn{min-width:190px}
.bk-ctas .added_to_cart{display:none!important}
.bk-assure{list-style:none;margin:1.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.55rem 1.7rem;font-size:.8rem;color:rgba(255,255,255,.62)}
.bk-assure li{display:flex;align-items:center;gap:.55rem}
.bk-assure li::before{content:"";width:6px;height:6px;border:1px solid var(--gold);transform:rotate(45deg);flex:0 0 auto}
.bk-notices{padding-top:1.5rem}

/* ---- 3D book ---- */
.bk-visual{position:relative;display:flex;justify-content:center;align-items:center;min-height:clamp(360px,44vw,560px)}
.bk-visual::before{content:"";position:absolute;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(197,160,89,.2),transparent 66%)}
.b3d{position:relative;display:flex;justify-content:center;align-items:center;perspective:2200px}
.b3d::after{content:"";position:absolute;left:6%;right:-6%;bottom:-8%;height:10%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.6),transparent);filter:blur(6px);z-index:-1}
.b3d-book{--w:min(330px,62vw);--t:26px;position:relative;width:var(--w);aspect-ratio:460/651;transform-style:preserve-3d;
  transform:rotateY(-26deg) rotateX(3deg);transition:transform 1s cubic-bezier(.22,1,.36,1)}
.b3d:hover .b3d-book{transform:rotateY(-15deg) rotateX(2deg)}
.b3d-book img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:1px 3px 3px 1px;transform:translateZ(calc(var(--t) / 2))}
.b3d-book::after{content:"";position:absolute;inset:0;border-radius:1px 3px 3px 1px;pointer-events:none;transform:translateZ(calc(var(--t) / 2 + 1px));
  background:linear-gradient(90deg,rgba(255,255,255,.16) 0,rgba(255,255,255,.04) 2%,rgba(0,0,0,.3) 3.3%,rgba(255,255,255,.09) 4.8%,transparent 11%,transparent 80%,rgba(255,255,255,.07) 100%)}
.b3d-pages{position:absolute;top:1.3%;bottom:1.3%;left:calc(100% - var(--t) / 2 - 3px);width:var(--t);transform:rotateY(90deg);
  background:repeating-linear-gradient(90deg,#fbf8f0 0 1px,#e7dfcd 1px 2px);box-shadow:inset 0 0 14px rgba(0,0,0,.22)}
.b3d-back{position:absolute;inset:0;border-radius:1px 3px 3px 1px;background:#061428;transform:translateZ(calc(var(--t) / -2));
  box-shadow:34px 44px 80px -24px rgba(0,0,0,.85)}
.b3d.two{gap:0}
.b3d.two .b3d-book{--w:min(265px,42vw)}
.b3d.two .b3d-book:first-child{transform:translateY(-6%) translateZ(-60px) rotateY(-26deg) rotateX(3deg)}
.b3d.two .b3d-book:first-child img{opacity:.82}
.b3d.two .b3d-book + .b3d-book{margin-left:calc(var(--w) * -.48);transform:translateY(7%) rotateY(-26deg) rotateX(3deg)}
.b3d.two:hover .b3d-book:first-child{transform:translateX(-7%) translateY(-6%) translateZ(-60px) rotateY(-15deg) rotateX(2deg)}
.b3d.two:hover .b3d-book + .b3d-book{transform:translateX(5%) translateY(7%) rotateY(-15deg) rotateX(2deg)}

/* ---- facts card ---- */
.bk-facts-wrap{position:relative;z-index:5;margin-top:clamp(-4.75rem,-7vw,-3.25rem)}
.bk-facts{margin:0;background:#fff;border:1px solid var(--line);position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  box-shadow:0 34px 64px -38px rgba(10,35,66,.6)}
.bk-facts::after{content:"";position:absolute;inset:8px;border:1px solid rgba(197,160,89,.28);pointer-events:none}
.bk-fact{position:relative;padding:1.75rem 1.4rem 1.6rem;text-align:center}
.bk-fact + .bk-fact::before{content:"";position:absolute;left:0;top:26%;bottom:26%;width:1px;background:linear-gradient(180deg,transparent,rgba(197,160,89,.6),transparent)}
.bk-fact dt{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.bk-fact dd{margin:.5rem 0 0;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.3rem;line-height:1.25;color:var(--navy);font-weight:600}
.bk-facts.many .bk-fact{padding-left:.8rem;padding-right:.8rem}
.bk-facts.many .bk-fact dd{font-size:1.18rem}

/* ---- overview ---- */
.bk-over{display:grid;gap:clamp(1.25rem,4vw,4.5rem);grid-template-columns:1fr;align-items:start}
@media(min-width:900px){.bk-over{grid-template-columns:.75fr 1.4fr}.bk-over-h{position:sticky;top:130px}}
.bk-over-h h2{font-size:clamp(2.1rem,4.4vw,3.1rem);margin:0;line-height:1.08}
.orn.left{justify-content:flex-start;margin-left:0}
.orn.left i:first-child{display:none}
.bk-prose{max-width:64ch;font-size:1.06rem;line-height:1.85}
.bk-prose > p:first-child{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.35rem,2.3vw,1.65rem);line-height:1.5;color:var(--navy);font-weight:500;margin-top:0}
.bk-prose > p:first-child::first-letter{float:left;font-size:3.7em;line-height:.8;padding:.07em .12em 0 0;font-weight:600;color:var(--gold-d)}
.bk-prose h2,.bk-prose h3{margin:2.2rem 0 .8rem}
.bk-prose ul{padding-left:1.2rem}

/* ---- highlights ---- */
.bk-hl{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));column-gap:clamp(1.5rem,4vw,3.5rem);border-top:1px solid rgba(197,160,89,.4)}
.bk-hl > div{padding:2rem 0 2.1rem;border-bottom:1px solid var(--line)}
.bk-hl em{display:inline-block;margin-bottom:.55rem;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:500;font-size:1.9rem;line-height:1;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.bk-hl h4{font-size:1.4rem;margin:0 0 .45rem}
.bk-hl p{margin:0;font-size:.98rem;line-height:1.7}

/* ---- contents / audience ---- */
.bk-two{display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:1fr}
@media(min-width:900px){.bk-two.has2{grid-template-columns:1.3fr .7fr}}
.bk-panel{position:relative;background:#fff;border:1px solid var(--line);padding:clamp(1.75rem,4vw,2.8rem)}
.bk-panel::after{content:"";position:absolute;inset:9px;border:1px solid rgba(197,160,89,.3);pointer-events:none}
.bk-panel .eyebrow{margin-bottom:.7rem}
.bk-panel h3{font-size:clamp(1.6rem,3vw,2rem);margin:0 0 1.2rem}
.bk-toc{list-style:none;margin:0;padding:0}
.bk-toc li{display:flex;gap:1.2rem;align-items:baseline;padding:.8rem 0;border-bottom:1px solid var(--line);color:var(--ink);break-inside:avoid}
.bk-toc li:last-child{border-bottom:0}
.bk-toc .n{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:1.2rem;color:var(--gold-d);min-width:2rem;flex:0 0 auto}
.bk-toc li.part{display:block;padding:1.5rem 0 .55rem;border-bottom:1px solid rgba(197,160,89,.45);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--navy);break-after:avoid}
.bk-toc li.part:first-child{padding-top:.2rem}
@media(min-width:1100px){.bk-two:not(.has2) .bk-toc.long{columns:2;column-gap:3rem}}
.bk-aud{list-style:none;margin:0;padding:0}
.bk-aud li{position:relative;padding-left:1.6rem;margin:.8rem 0;color:var(--ink)}
.bk-aud li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border:1.5px solid var(--gold);transform:rotate(45deg)}

.bk-inc{max-width:640px;margin:0 auto;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.bk-more{max-width:960px;margin:0 auto}

/* ---- final call to action ---- */
.bk-final{background:radial-gradient(820px 300px at 50% 0%,rgba(197,160,89,.09),transparent 62%),linear-gradient(180deg,#FBFCFE,#F2F5F9);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bk-final-card{position:relative;max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--line);display:grid;gap:clamp(1.5rem,4vw,3.25rem);
  grid-template-columns:1fr;align-items:center;padding:clamp(2rem,5vw,3.4rem);box-shadow:0 30px 60px -40px rgba(10,35,66,.5)}
.bk-final-card::after{content:"";position:absolute;inset:10px;border:1px solid rgba(197,160,89,.3);pointer-events:none}
@media(min-width:760px){.bk-final-card{grid-template-columns:190px 1fr}}
.bk-final-card > img{position:relative;z-index:1;width:190px;max-width:52vw;margin:0 auto;box-shadow:0 26px 50px -22px rgba(10,35,66,.65),0 0 0 1px rgba(197,160,89,.3)}
.bk-final-card > div{position:relative;z-index:1}
.bk-final-card .eyebrow{margin-bottom:.8rem}
.bk-final-card h2{font-size:clamp(1.75rem,3.6vw,2.5rem);margin:0 0 .9rem;line-height:1.12}
.bk-final .bk-price{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--navy);font-size:2.3rem}
.bk-final .bk-price s{color:var(--muted);-webkit-text-fill-color:var(--muted)}
.bk-fine{margin:1.1rem 0 0;font-size:.85rem;color:var(--muted)}

/* ---- sticky buy bar ---- */
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:90;color:#fff;transform:translateY(110%);transition:transform .45s cubic-bezier(.22,1,.36,1);
  background:linear-gradient(135deg,var(--navy-ink),var(--navy) 60%,var(--navy-2));box-shadow:0 -16px 40px -22px rgba(0,0,0,.75);padding-bottom:env(safe-area-inset-bottom,0px)}
.buybar::before{content:"";position:absolute;left:0;right:0;top:0;height:1.5px;background:var(--gold-line)}
.buybar.show{transform:none}
.buybar-in{display:flex;align-items:center;gap:1rem;padding-top:.7rem;padding-bottom:.7rem}
.buybar img{width:34px;height:auto;flex:0 0 auto;box-shadow:0 0 0 1px rgba(197,160,89,.4)}
.buybar .bb-t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.buybar .bb-t b{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.12rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.buybar .bb-t span{font-size:.76rem;color:var(--gold-l);letter-spacing:.04em}
.buybar .btn{padding:.78rem 1.5rem;white-space:nowrap}
body.has-buybar #toast{bottom:92px}

/* ---- responsive ---- */
@media(max-width:959px){
  .bk-visual{order:-1;min-height:0;padding:.5rem 0 1rem}
  .bk-copy{text-align:center}
  .bk-crumbs,.bk-ctas,.bk-assure{justify-content:center}
  .bk-hero .eyebrow{justify-content:center}
  .bk-hero h1,.bk-tag,.bk-buy{margin-left:auto;margin-right:auto}
}
@media(max-width:600px){
  .fp .bk-hero{padding-top:1.75rem}
  .b3d-book{--w:min(220px,58vw);--t:18px}
  .b3d.two .b3d-book{--w:min(180px,42vw)}
  .bk-hero h1{font-size:clamp(2.1rem,9vw,2.6rem)}
  .bk-price{font-size:2.3rem}
  .bk-ctas .btn{flex:1 1 100%}
  .bk-assure{flex-direction:column;align-items:center;gap:.45rem}
  .bk-facts{grid-template-columns:1fr 1fr}
  .bk-fact{padding:1.25rem .8rem 1.15rem}
  .bk-fact:nth-child(odd)::before{display:none}
  .bk-fact:nth-child(n+3){border-top:1px solid var(--line)}
  .bk-fact:last-child:nth-child(odd){grid-column:1 / -1}
  .bk-fact dd{font-size:1.12rem}
  .buybar .bb-t span{display:none}
  .buybar .btn{padding:.72rem 1.1rem}
}
