/* ============================================================
   /book page - SAM design-system reskin (visual layer only).
   Layers the SAM signatures (graph-paper texture, numbered
   eyebrows, orange rules, hard-offset shadows, Archivo display
   type, navy authority bands, squared print-card corners) onto
   the existing bc- and bp- classes. No copy, layout, or markup
   structure changes; loads LAST so it wins ties.
   Self-contained: tokens defined here (sam.css is not linked
   on this page), scoped to body.book which is unique to /book.
   ============================================================ */

body.book{
  --bks-navy:#0F2038;
  --bks-navy-2:#182E4E;
  --bks-navy-3:#0A1626;
  --bks-orange:#E07A3F;
  --bks-orange-2:#C9632B;
  --bks-cream:#FAF7F0;
  --bks-cream-2:#F1EBDE;
  --bks-ink:#232830;
  --bks-ink-soft:#4A5160;
  --bks-paper-line:rgba(15,32,56,.055);
  --bks-navy-line:rgba(250,247,240,.14);
  --bks-card-edge:rgba(15,32,56,.16);
  --bks-radius:6px;
  --bks-disp:"Archivo","Barlow Condensed",sans-serif;
  --bks-body:"Readex Pro",system-ui,sans-serif;

  background:var(--bks-cream);
  color:var(--bks-ink);
}
body.book main{background:var(--bks-cream)}

/* ---------- surfaces: graph paper on cream, flat on cream-2 ---------- */
body.book .bp-hero-book,
body.book .bp-inside,
body.book .bc-endorse{
  background-color:var(--bks-cream);
  background-image:linear-gradient(var(--bks-paper-line) 1px,transparent 1px),linear-gradient(90deg,var(--bks-paper-line) 1px,transparent 1px);
  background-size:28px 28px;
}
body.book .bp-workbook,
body.book .bp-author{background:var(--bks-cream-2)}

/* ---------- navy authority bands (collectors + thesis + final CTA) ---------- */
body.book .bp-collectors,
body.book .bc-manifesto-feature,
body.book .bp-book-cta{
  position:relative;
  background:linear-gradient(165deg,var(--bks-navy) 0%,var(--bks-navy-3) 100%);
  color:var(--bks-cream);
  border-left:none;
}
body.book .bp-collectors::before,
body.book .bc-manifesto-feature::before,
body.book .bp-book-cta::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--bks-navy-line) 1px,transparent 1px),linear-gradient(90deg,var(--bks-navy-line) 1px,transparent 1px);
  background-size:64px 64px;opacity:.18;
}
/* orange divider so the navy final CTA reads against the navy footer */
body.book .bp-book-cta{border-bottom:4px solid var(--bks-orange)}

/* ---------- stage strip: light SAM polish only ---------- */
body.book .bc-stage-strip{
  background:var(--bks-cream-2);
  border-bottom:1px solid var(--bks-card-edge);
}
body.book .bc-stage-strip-prefix{color:var(--bks-orange-2)}
body.book .bc-stage-strip-step.is-active{color:var(--bks-orange-2)}

/* ---------- display type: Archivo headers ---------- */
body.book main h1,
body.book main h2,
body.book main h3{
  font-family:var(--bks-disp);
  letter-spacing:-0.015em;
}
body.book .bp-collectors h2,
body.book .bp-inside h2,
body.book .bp-workbook h2,
body.book .bp-author h2,
body.book .bc-manifesto-feature h2{
  font-weight:800;text-transform:none;
  font-size:clamp(28px,3.4vw,42px);line-height:1.1;
}
body.book .bp-book-cta h2{
  font-weight:900;text-transform:none;
  font-size:clamp(36px,5.2vw,58px);line-height:1.06;
  color:var(--bks-cream);
}
/* the long two-column "inside" headline holds its first line together */
body.book .bp-inside h2{font-size:clamp(26px,2.9vw,36px)}
/* the Crimson-italic accent inside the collectors h2 joins the display face */
body.book .bp-collectors h2 .accent{
  font-family:inherit;font-style:normal;font-weight:inherit;
  letter-spacing:inherit;text-transform:none;
}

/* orange rule under the section H2s */
body.book .bp-collectors h2::after,
body.book .bp-inside h2::after,
body.book .bp-workbook h2::after,
body.book .bp-author h2::after,
body.book .bc-manifesto-feature h2::after,
body.book .bp-book-cta h2::after{
  content:"";display:block;width:64px;height:4px;
  background:var(--bks-orange);margin-top:22px;
}
body.book .bp-collectors h2::after{margin-left:auto;margin-right:auto}

/* ---------- eyebrows: SAM numbered-ledger treatment ---------- */
body.book .bc-eyebrow{
  font-family:var(--bks-body);font-weight:600;font-size:13px;
  letter-spacing:.22em;text-transform:uppercase;color:var(--bks-orange-2);
  opacity:1;display:flex;align-items:center;margin-bottom:18px;
}
body.book .bc-eyebrow .num{
  font-family:var(--bks-disp);font-weight:800;color:var(--bks-navy);
  border:1.5px solid var(--bks-navy);border-radius:3px;
  padding:1px 7px;margin-right:12px;font-size:12px;letter-spacing:.05em;
  flex:none;
}
body.book .bp-collectors .bc-eyebrow,
body.book .bc-manifesto-feature .bc-eyebrow,
body.book .bp-book-cta .bc-eyebrow{color:var(--bks-orange)}
body.book .bp-collectors .bc-eyebrow .num,
body.book .bc-manifesto-feature .bc-eyebrow .num,
body.book .bp-book-cta .bc-eyebrow .num{
  color:var(--bks-cream);border-color:var(--bks-cream);
}
body.book .bp-collectors .bc-eyebrow{justify-content:center}

/* ---------- buttons: SAM action style, squared corners ---------- */
body.book .bc-btn{
  font-family:var(--bks-disp);font-weight:800;text-transform:none;
  letter-spacing:.01em;font-size:16px;
  padding:15px 28px;border-radius:var(--bks-radius);
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease,border-color .15s ease;
}
body.book .bc-btn--solid{
  background:var(--bks-orange);color:var(--bks-navy);
  border:1px solid var(--bks-orange);
  box-shadow:0 2px 0 var(--bks-orange-2);
}
body.book .bc-btn--solid:hover{
  background:var(--bks-orange);color:var(--bks-navy);border-color:var(--bks-orange);
  transform:translateY(-2px);box-shadow:0 5px 0 var(--bks-orange-2);
}
body.book .bc-btn--ghost{
  background:transparent;color:var(--bks-navy);
  border:1.5px solid rgba(15,32,56,.35);box-shadow:none;
}
body.book .bc-btn--ghost:hover{
  background:transparent;color:var(--bks-orange-2);border-color:var(--bks-orange);
  transform:translateY(-2px);
}
/* ghosts that sit on the navy final CTA band */
body.book .bp-book-cta .bc-btn--ghost{
  color:var(--bks-cream);border-color:var(--bks-navy-line);
}
body.book .bp-book-cta .bc-btn--ghost:hover{
  color:var(--bks-orange);border-color:var(--bks-orange);
}

/* ============================================================
   BLOCK 1 - HERO
   ============================================================ */
body.book .bp-hero-book h1{
  font-family:var(--bks-disp);font-weight:900;text-transform:none;
  font-size:clamp(36px,4.4vw,56px);line-height:1.05;letter-spacing:-0.015em;
  color:var(--bks-navy);
}
body.book .bp-hero-book h1 .accent{
  color:var(--bks-orange);
  background-image:linear-gradient(to top,rgba(224,122,63,.28) 0 .18em,transparent .18em);
}
body.book .bp-hero-book h1::after{
  content:"";display:block;width:64px;height:4px;
  background:var(--bks-orange);margin-top:26px;
}
/* kicker pill: bordered SAM treatment */
body.book .bp-hero-book-pill{
  font-family:var(--bks-body);font-weight:600;font-size:12.5px;
  letter-spacing:.18em;color:var(--bks-orange-2);
  border:1.5px solid rgba(224,122,63,.55);border-radius:3px;
  padding:6px 14px;background:rgba(224,122,63,.07);
}
body.book .bp-hero-book-sub{
  margin-top:24px;color:var(--bks-navy);opacity:.92;
}
body.book .bp-hero-book-byline{
  font-family:var(--bks-body);font-weight:600;font-size:12.5px;
  letter-spacing:.18em;color:var(--bks-ink-soft);opacity:1;
}
body.book .bp-hero-book-desc{
  font-family:var(--bks-body);color:var(--bks-ink);opacity:1;
}
body.book .bp-hero-book .bc-engagement-fit{
  font-family:var(--bks-body);font-style:normal;font-size:15.5px;
  color:var(--bks-ink-soft);opacity:1;
  border-bottom:1px dashed var(--bks-card-edge);
}
/* hard-offset shadow on the 3D cover (drop-shadow follows the alpha) */
body.book .bp-hero-book-cover{
  filter:drop-shadow(14px 14px 0 rgba(15,32,56,.16));
  transition:transform .35s ease;
}
body.book .bp-hero-book-cover:hover{transform:rotate(0)}

/* ============================================================
   BLOCK 2 - BUY ON AMAZON (navy band)
   ============================================================ */
body.book .bp-collectors-package-img{
  filter:drop-shadow(14px 14px 0 rgba(0,0,0,.3));
}
body.book .bp-collectors-body{
  font-family:var(--bks-body);color:rgba(250,247,240,.85);opacity:1;
}
body.book .bp-collectors-foot{
  font-family:var(--bks-body);font-style:normal;font-size:14px;
  color:rgba(250,247,240,.6);opacity:1;
}

/* ============================================================
   BLOCK 3 - WHAT'S INSIDE (part print-cards)
   ============================================================ */
body.book .bp-inside-lede{
  font-family:var(--bks-body);font-style:normal;font-weight:300;
  font-size:clamp(17px,1.9vw,20px);line-height:1.6;
  color:var(--bks-ink-soft);opacity:1;
}
body.book .bp-parts{
  border-top:none;gap:18px;
}
body.book .bp-part{
  background:var(--bks-cream);
  border:1.5px solid var(--bks-card-edge);
  border-radius:8px;
  box-shadow:7px 7px 0 rgba(15,32,56,.08);
  padding:clamp(24px,3.4vw,36px) clamp(22px,3vw,32px);
  transition:transform .18s ease,box-shadow .18s ease;
}
body.book .bp-part:hover{
  padding-left:clamp(22px,3vw,32px);
  transform:translate(-2px,-2px);
  box-shadow:9px 9px 0 rgba(15,32,56,.12);
}
body.book .bp-part.is-featured{
  border-left:1.5px solid var(--bks-card-edge);
  border-top:5px solid var(--bks-orange);
  padding-left:clamp(22px,3vw,32px);
}
body.book .bp-part.is-featured:hover{padding-left:clamp(22px,3vw,32px)}
body.book .bp-part-num{
  font-family:var(--bks-disp);font-weight:900;font-size:13px;
  letter-spacing:.14em;color:var(--bks-orange-2);
}
body.book .bp-part-title{
  font-family:var(--bks-disp);font-weight:700;text-transform:none;
  letter-spacing:-0.01em;font-size:clamp(19px,2.1vw,24px);line-height:1.2;
  color:var(--bks-navy);
}
body.book .bp-part-chapters{
  font-family:var(--bks-body);font-size:15.5px;
  color:var(--bks-ink-soft);opacity:1;
}
body.book .bp-inside-foot{
  font-family:var(--bks-body);color:var(--bks-ink-soft);opacity:1;
}
body.book .bp-inside-foot a{
  color:var(--bks-orange-2);border-bottom:1px solid rgba(224,122,63,.5);
}
body.book .bp-inside-foot a:hover{color:var(--bks-orange);border-color:var(--bks-orange)}

/* ============================================================
   BLOCK 3c - THE WORKBOOK
   ============================================================ */
body.book .bp-workbook-cover{
  filter:drop-shadow(14px 14px 0 rgba(15,32,56,.16));
  transition:transform .35s ease;
}
body.book .bp-workbook-cover:hover{transform:translateY(-4px)}
body.book .bp-workbook-sub{
  font-family:var(--bks-disp);font-style:normal;font-weight:800;
  font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--bks-orange-2);opacity:1;
}
body.book .bp-workbook-text p{
  font-family:var(--bks-body);color:var(--bks-ink);opacity:1;
}

/* ============================================================
   OUR THESIS (navy manifesto band)
   ============================================================ */
body.book .bc-manifesto-cover{
  filter:drop-shadow(14px 14px 0 rgba(0,0,0,.3));
  transform:rotate(-1.4deg);transition:transform .35s ease;
}
body.book .bc-manifesto-cover:hover{transform:rotate(0)}
body.book .bc-manifesto-sub{
  font-family:var(--bks-body);font-style:normal;font-weight:300;
  font-size:clamp(16.5px,1.8vw,19px);line-height:1.6;
  color:rgba(250,247,240,.82);opacity:1;
}
body.book .bc-manifesto-epi{
  border-left:3px solid var(--bks-orange);color:var(--bks-orange);
}
body.book .bc-manifesto-foot{color:rgba(250,247,240,.65);opacity:1}

/* ============================================================
   ENDORSEMENT (print card on graph paper)
   ============================================================ */
/* Full-width horizontal pull-quote, matching the SAM sr-proof style
   (photo left, quote + cite right) so it fills the section instead of
   floating as a narrow boxed card. */
body.book .bc-endorse-card{
  max-width:none;
  flex-direction:row;flex-wrap:wrap;align-items:center;
  background:var(--bks-cream);
  border:1.5px solid var(--bks-card-edge);
  border-left:5px solid var(--bks-orange);
  border-radius:8px;
  box-shadow:10px 10px 0 rgba(15,32,56,.08);
  padding:clamp(28px,3.4vw,36px) clamp(26px,3.4vw,40px);
  gap:0;
}
body.book .bc-endorse-photo{
  flex:none;width:108px;height:108px;
  border:3px solid var(--bks-navy);filter:none;
  margin:0 32px 0 0;
}
body.book .bc-endorse-body{flex:1 1 420px;min-width:280px}
body.book .bc-endorse-quote{
  font-family:var(--bks-disp);font-style:normal;font-weight:600;
  font-size:clamp(18px,2.1vw,23px);line-height:1.42;color:var(--bks-navy);
  margin:0 0 16px;
}
/* drop the big serif curly quote-marks for the clean sr-proof read */
body.book .bc-endorse-quote::before,
body.book .bc-endorse-quote::after{content:none}
body.book .bc-endorse-cite{
  font-family:var(--bks-body);text-transform:none;letter-spacing:0;
}
body.book .bc-endorse-name{
  font-family:var(--bks-disp);font-weight:700;font-size:15.5px;color:var(--bks-navy);
}
body.book .bc-endorse-role{
  font-size:13.5px;letter-spacing:0;color:var(--bks-ink-soft);opacity:1;
}
@media(max-width:600px){
  body.book .bc-endorse-photo{margin:0 0 18px 0}
}

/* ============================================================
   BLOCK 4 - ABOUT THE AUTHOR (photo as print card)
   ============================================================ */
body.book .bp-author-photo{
  background:var(--bks-cream);
  border:1.5px solid var(--bks-card-edge);
  border-radius:8px;
  padding:14px;
  filter:none;
  box-shadow:14px 14px 0 rgba(15,32,56,.14);
  transform:rotate(-1.2deg);transition:transform .35s ease;
}
body.book .bp-author-photo:hover{transform:rotate(0)}
body.book .bp-author-text p{
  font-family:var(--bks-body);color:var(--bks-ink);opacity:1;
}

/* ============================================================
   BLOCK 6 - FINAL CTA (navy authority band)
   ============================================================ */
body.book .bp-book-cta-sub{
  font-family:var(--bks-body);font-style:normal;font-weight:300;
  font-size:clamp(17px,1.9vw,20px);line-height:1.6;
  color:rgba(250,247,240,.78);opacity:1;
}

/* ---------- small screens ---------- */
@media (max-width:480px){
  body.book .bp-part,
  body.book .bp-part.is-featured,
  body.book .bp-part:hover,
  body.book .bp-part.is-featured:hover{padding-left:20px}
  body.book .bp-part{padding-right:18px}
  body.book .bp-author-photo,
  body.book .bc-manifesto-cover{transform:rotate(0)}
  body.book .bp-hero-book-cover{
    filter:drop-shadow(9px 9px 0 rgba(15,32,56,.16));
  }
  body.book .bp-collectors-package-img,
  body.book .bp-workbook-cover,
  body.book .bc-manifesto-cover{
    filter:drop-shadow(9px 9px 0 rgba(0,0,0,.25));
  }
  body.book .bp-workbook-cover{filter:drop-shadow(9px 9px 0 rgba(15,32,56,.16))}
}
