:root {
  --signal: #b5443e;
  --signal-bright: #ff8e82;
  --bone: #eee9df;
  --ash: #a8a39b;
  --steel: #22262a;
}

.book-page {
  background: #030405;
  color: var(--bone);
}
/* Mantém a proporção original das artes que possuem width/height no HTML.
   Os componentes que usam recorte (cards, galeria e dossiês) sobrescrevem
   esta altura mais abaixo com height: 100% + object-fit: cover. */
.book-page img { height: auto; }
.book-page::before { opacity: .24; }
.book-page .site-header { border-bottom-color: rgba(255,255,255,.05); }
.book-page .site-header.is-scrolled { background: rgba(2,3,4,.9); }
.book-page .brand__sigil { border-color: rgba(255,255,255,.65); }
.book-page .brand__name { color: var(--bone); }
.book-page .site-nav a::after { background: var(--signal-bright); }
.book-page .header-cta { border-color: rgba(255,255,255,.23); color: var(--bone); }
.book-page .header-cta:hover { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.55); }

.book-section { position: relative; padding: clamp(92px, 11vw, 160px) max(24px, calc((100vw - 1260px) / 2)); }
.book-eyebrow, .book-code, .profile-status, .faction-id {
  margin: 0 0 18px;
  color: rgba(255,255,255,.55);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .25em;
  text-transform: uppercase;
}
.book-code { color: var(--signal-bright); }
.book-section h2 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(44px, 6vw, 88px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.025em;
}
.book-section-heading { width: min(850px, 100%); margin: 0 auto 64px; text-align: center; }
.book-section-heading > p:last-child { max-width: 690px; margin: 22px auto 0; color: rgba(238,233,223,.64); }
.book-section__index {
  position: absolute;
  top: 100px;
  left: max(24px, calc((100vw - 1420px) / 2));
  width: 44px;
  display: grid;
  justify-items: center;
  gap: 14px;
  font-family: var(--mono);
  color: rgba(255,255,255,.32);
}
.book-section__index span { font-size: 11px; }
.book-section__index i { height: 90px; width: 1px; background: linear-gradient(transparent, rgba(255,255,255,.35), transparent); }
.book-section__index small { font-size: 8px; letter-spacing: .25em; writing-mode: vertical-rl; }

/* Hero */
.book-hero {
  min-height: max(780px, 100svh);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.book-hero__background {
  position: absolute;
  inset: 0;
  z-index: -5;
  background:
    linear-gradient(90deg, #020304 0%, rgba(2,3,4,.94) 35%, rgba(2,3,4,.46) 68%, rgba(2,3,4,.9) 100%),
    linear-gradient(0deg, #030405 0%, transparent 28%),
    url("assets/book/prologue-black-sun.webp") center 24% / cover;
  filter: contrast(1.18);
}
.book-hero__grid {
  position: absolute;
  inset: 0;
  z-index: -4;
  opacity: .2;
  background-image:
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 96px 96px;
  -webkit-mask-image: linear-gradient(to bottom, #000, transparent 85%);
  mask-image: linear-gradient(to bottom, #000, transparent 85%);
}
.book-hero__noise { position:absolute; inset:0; z-index:-3; background: radial-gradient(circle at 74% 22%, transparent 0 12%, rgba(0,0,0,.25) 35%, rgba(0,0,0,.9) 86%); }
.book-hero__inner {
  width: min(1260px, calc(100% - 48px));
  margin: 118px auto 70px;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .65fr);
  align-items: center;
  gap: clamp(38px, 7vw, 100px);
}
.book-kicker { margin: 12px 0; color: rgba(255,255,255,.65); font-family: var(--mono); font-size: 11px; letter-spacing: .28em; text-transform: uppercase; }
.book-hero h1 { margin: 0; font-family: var(--display); font-weight: 400; font-size: clamp(66px, 9vw, 132px); line-height: .75; text-transform: uppercase; }
.book-hero h1 span { display: block; color: rgba(255,255,255,.42); font-family: var(--mono); font-size: .22em; line-height: 2.7; letter-spacing: .46em; }
.book-hero__statement { max-width: 720px; margin: 38px 0 18px; font-family: var(--display); font-size: clamp(24px, 3vw, 42px); line-height: 1.15; }
.book-hero__description { max-width: 680px; margin: 0; color: rgba(238,233,223,.7); font-size: clamp(15px, 1.4vw, 18px); }
.book-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.book-button { min-width: 200px; padding: 14px 21px; border: 1px solid rgba(255,255,255,.28); display: inline-flex; justify-content: center; font-family: var(--mono); font-size: 10px; letter-spacing: .17em; text-transform: uppercase; transition: .25s ease; }
.book-button:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.7); }
.book-button--light { background: var(--bone); color: #060708; border-color: var(--bone); }
.book-button--light:hover { background: #fff; color: #000; }
.book-hero__metadata { display: flex; flex-wrap: wrap; gap: 28px 50px; margin: 44px 0 0; }
.book-hero__metadata div { position: relative; padding-left: 14px; border-left: 1px solid var(--signal); }
.book-hero__metadata dt { color: rgba(255,255,255,.42); font-family: var(--mono); font-size: 8px; letter-spacing: .2em; text-transform: uppercase; }
.book-hero__metadata dd { margin: 3px 0 0; font-family: var(--display); font-size: 17px; }
.book-hero__cover { position: relative; width: min(419.2px, 100%); justify-self: end; filter: drop-shadow(0 34px 58px rgba(0,0,0,.78)); }
.book-mockup {
  --book-w: 419.2px;
  --book-h: 606.438px;
  --book-d: 52.3052px;
  --book-perspective: 838.4px;
  --book-rot-y: 28deg;
  position: relative;
  width: 100%;
  aspect-ratio: 419.2 / 606.438;
  perspective: var(--book-perspective);
  perspective-origin: 50% 50%;
  /* Keep the book surface neutral on touch so it behaves like a normal image while scrolling. */
  touch-action: auto;
  -ms-touch-action: auto;
  cursor: grab;
  user-select: none;
}
.book-mockup.is-dragging { cursor: grabbing; }
.book-mockup__float {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
  will-change: transform;
  transform: translate3d(0,0,0);
}
.book-mockup.is-dragging .book-mockup__float {
  will-change: transform;
}
.book-mockup__volume {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
  transform-origin: 50% 50%;
  transform: rotateY(var(--book-rot-y));
  will-change: transform;
  transition: transform .18s var(--ease);
}
.book-mockup.is-dragging .book-mockup__volume { transition: none; }
.book-mockup__shadow {
  position: absolute;
  z-index: 0;
  left: 12%;
  right: 8%;
  bottom: -7%;
  height: 13%;
  background: radial-gradient(ellipse at center, rgba(0,0,0,.52) 0%, rgba(0,0,0,.2) 44%, rgba(0,0,0,0) 74%);
  filter: blur(14px);
  pointer-events: none;
  transform-origin: 50% 50%;
  transform: translate3d(0,0,0) scale(1);
}
.book-mockup.is-dragging .book-mockup__shadow {
  will-change: transform, opacity;
}
.book-face {
  position: absolute;
  margin: 0;
  overflow: hidden;
  background: #070809;
  border: 1px solid rgba(255,255,255,.14);
  backface-visibility: hidden;
  transform-style: preserve-3d;
}
.book-face__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
.book-face--front,
.book-face--back {
  width: var(--book-w);
  height: var(--book-h);
  left: 0;
  top: 0;
}
.book-face--front {
  transform: translateZ(calc(var(--book-d) / 2));
  box-shadow: 0 18px 36px rgba(0,0,0,.34);
}
.book-face--front::after,
.book-face--back::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.book-face--front::after { background: linear-gradient(105deg, rgba(255,255,255,.07), transparent 20%, transparent 78%, rgba(0,0,0,.1)); }
.book-face--back {
  transform: rotateY(180deg) translateZ(calc(var(--book-d) / 2));
}
.book-face--back::after { background: linear-gradient(255deg, rgba(255,255,255,.05), transparent 22%, rgba(0,0,0,.08)); }
.book-face--spine,
.book-face--fore-edge {
  width: var(--book-d);
  height: var(--book-h);
  top: 0;
  left: calc((var(--book-w) - var(--book-d)) / 2);
}
.book-face--spine {
  transform: rotateY(-90deg) translateZ(calc(var(--book-w) / 2));
  border-color: rgba(255,255,255,.1);
}
.book-face--fore-edge {
  transform: rotateY(90deg) translateZ(calc(var(--book-w) / 2));
  border: 0;
  background:
    repeating-linear-gradient(to right, rgba(214,210,202,.95) 0 1px, rgba(255,253,248,.98) 1px 2.5px),
    linear-gradient(to right, #e6e0d4 0%, #fffdf8 45%, #d4cec3 100%);
  box-shadow: inset 1px 0 2px rgba(0,0,0,.13), inset -1px 0 2px rgba(0,0,0,.1);
}
.book-face--top,
.book-face--bottom {
  width: var(--book-w);
  height: var(--book-d);
  left: 0;
  top: calc((var(--book-h) - var(--book-d)) / 2);
  border: 0;
  background:
    repeating-linear-gradient(to right, rgba(132,132,132,.12) 0 1px, rgba(249,247,240,.98) 1px 4px),
    linear-gradient(to bottom, #fffdf8, #d9d4ca);
}
.book-face--top { transform: rotateX(90deg) translateZ(calc(var(--book-h) / 2)); }
.book-face--bottom { transform: rotateX(-90deg) translateZ(calc(var(--book-h) / 2)); }
.book-mockup__hint {
  position: absolute;
  left: 14px;
  bottom: 16px;
  z-index: 6;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(6,8,10,.68);
  color: rgba(238,233,223,.78);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .18em;
  text-transform: uppercase;
  pointer-events: none;
}

@keyframes book-idle-float {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotateX(-0.15deg) rotateZ(-0.22deg);
  }
  18% {
    transform: translate3d(1.2px, -4px, 2px) rotateX(0.28deg) rotateZ(0.04deg);
  }
  42% {
    transform: translate3d(-1.6px, -10px, 7px) rotateX(0.62deg) rotateZ(0.42deg);
  }
  68% {
    transform: translate3d(1px, -7px, 4px) rotateX(0.18deg) rotateZ(0.10deg);
  }
  84% {
    transform: translate3d(-0.7px, -2.5px, 1px) rotateX(-0.32deg) rotateZ(-0.34deg);
  }
}

@keyframes book-idle-shadow {
  0%, 100% {
    opacity: .76;
    transform: translate3d(0, 0, 0) scaleX(1) scaleY(1);
  }
  18% {
    opacity: .69;
    transform: translate3d(-1px, 2px, 0) scaleX(.98) scaleY(.95);
  }
  42% {
    opacity: .48;
    transform: translate3d(2px, 7px, 0) scaleX(.90) scaleY(.82);
  }
  68% {
    opacity: .57;
    transform: translate3d(-1px, 5px, 0) scaleX(.94) scaleY(.88);
  }
  84% {
    opacity: .70;
    transform: translate3d(1px, 1.5px, 0) scaleX(.99) scaleY(.96);
  }
}

.cover-tag { position:absolute; z-index:3; right:-24px; bottom:38px; padding:8px 14px; background:#050607; border:1px solid rgba(255,255,255,.3); font-family:var(--mono); font-size:9px; letter-spacing:.3em; }
.book-hero__raven { position:absolute; right:4vw; bottom:-46px; width:200px; opacity:.14; filter:invert(1); }


/* Release status */
.book-release {
  width: 100%;
  position: relative;
  display: grid;
  grid-template-columns: minmax(210px, .62fr) minmax(0, 1.45fr) minmax(170px, .42fr) auto;
  align-items: center;
  gap: clamp(28px, 4vw, 64px);
  padding: clamp(42px, 5vw, 72px) max(24px, calc((100vw - 1260px) / 2));
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,.1);
  background:
    linear-gradient(90deg, rgba(181,68,62,.1), transparent 28%),
    #050607;
}
.book-release::before {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(255,255,255,.06);
  pointer-events: none;
}
.book-release__status { display: flex; align-items: center; gap: 16px; }
.book-release__signal {
  width: 11px;
  height: 11px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--signal-bright);
  box-shadow: 0 0 0 6px rgba(255,142,130,.08), 0 0 22px rgba(255,142,130,.55);
  animation: release-pulse 2.4s ease-in-out infinite;
}
@keyframes release-pulse {
  50% { opacity: .48; box-shadow: 0 0 0 11px rgba(255,142,130,0), 0 0 12px rgba(255,142,130,.25); }
}
.book-release__status small,
.book-release__date small {
  display: block;
  color: rgba(255,255,255,.38);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .2em;
}
.book-release__status strong {
  display: block;
  margin-top: 5px;
  color: var(--signal-bright);
  font-family: var(--display);
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 400;
}
.book-release__copy { max-width: 720px; }
.book-release__copy .book-eyebrow { margin-bottom: 10px; }
.book-release__copy h2 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(30px, 3.5vw, 52px);
  font-weight: 400;
  line-height: 1.02;
}
.book-release__copy > p:not(.book-eyebrow) { margin: 16px 0 0; color: rgba(238,233,223,.66); }
.book-release__copy > p strong { color: var(--bone); font-weight: 500; }
.book-release__copy .book-release__note { margin-top: 8px; color: rgba(255,255,255,.38); font-size: 12px; }
.book-release__date { padding-left: 24px; border-left: 1px solid rgba(255,255,255,.13); }
.book-release__date span {
  display: block;
  font-family: var(--display);
  font-size: clamp(48px, 5vw, 76px);
  line-height: .8;
}
.book-release__date strong {
  display: block;
  margin: 14px 0 7px;
  color: var(--signal-bright);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .19em;
}
.book-release__action { min-width: 190px; position: relative; z-index: 1; }
.metadata-status dd { color: var(--signal-bright); }



/* Purchase / sales hub */
.book-purchase {
  overflow: hidden;
  isolation: isolate;
  border-bottom: 1px solid rgba(255,255,255,.1);
  background:
    radial-gradient(circle at 50% 0%, rgba(181,68,62,.13), transparent 32%),
    linear-gradient(180deg,#070809 0%,#030405 100%);
}
.book-purchase__halo {
  position: absolute;
  z-index: -1;
  top: -360px;
  left: 50%;
  width: min(900px, 90vw);
  aspect-ratio: 1;
  transform: translateX(-50%);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
  box-shadow: 0 0 100px rgba(255,142,130,.06), inset 0 0 80px rgba(255,255,255,.025);
}
.book-purchase .book-section-heading { margin-bottom: 34px; }
.book-purchase .book-section-heading > p:last-child strong { color: var(--bone); font-weight: 500; }
.purchase-strip {
  width: min(1180px, 100%);
  margin: 0 auto 18px;
  padding: clamp(18px, 2.7vw, 28px);
  display: grid;
  grid-template-columns: minmax(220px, .55fr) minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
}
.purchase-strip__label span {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--signal-bright);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.purchase-strip__label strong {
  display: block;
  max-width: 320px;
  font-family: var(--display);
  font-size: clamp(23px, 2.4vw, 34px);
  font-weight: 400;
  line-height: 1.06;
}
.purchase-strip__badges {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.purchase-strip__badge {
  min-height: 112px;
  padding: 14px 16px;
  display: grid;
  align-content: center;
  gap: 12px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.22);
}
.purchase-strip__badge img {
  width: 100%;
  max-width: 250px;
  height: 44px;
  object-fit: contain;
  object-position: left center;
}
.purchase-strip__badge small {
  color: rgba(255,255,255,.42);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.purchase-grid {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}
.purchase-card {
  min-height: 460px;
  position: relative;
  display: flex;
  flex-direction: column;
  padding: clamp(26px,3.2vw,42px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  transition: transform .28s var(--ease), border-color .28s, background .28s;
}
.purchase-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 86px;
  height: 2px;
  background: var(--signal-bright);
  box-shadow: 0 0 24px rgba(255,142,130,.35);
}
.purchase-card:hover { transform: translateY(-5px); border-color: rgba(255,255,255,.32); background: linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.018)); }
.purchase-card--featured { border-color: rgba(255,142,130,.34); background: linear-gradient(145deg,rgba(181,68,62,.11),rgba(255,255,255,.018)); }
.purchase-card__number { position: absolute; right: 24px; top: 14px; color: rgba(255,255,255,.055); font-family: var(--display); font-size: clamp(80px,8vw,126px); line-height: 1; }
.purchase-card__store {
  position: relative;
  min-height: 72px;
  margin: 14px 46px 10px 0;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(0,0,0,.24);
}
.purchase-card__logo {
  width: 100%;
  max-width: 220px;
  height: 44px;
  object-fit: contain;
  object-position: left center;
}
.purchase-card__logo--wide { max-width: 270px; }
.purchase-card__tags {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
}
.purchase-card__tags span {
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.72);
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.purchase-card__format { margin: 0 0 22px; color: var(--signal-bright); font-family: var(--mono); font-size: 9px; letter-spacing: .22em; text-transform: uppercase; }
.purchase-card h3 { position: relative; margin: 0; font-family: var(--display); font-size: clamp(34px,3.2vw,48px); font-weight: 400; line-height: 1; }
.purchase-card > p:not(.purchase-card__format) { position: relative; margin: 20px 0 34px; color: rgba(238,233,223,.58); font-size: 14px; line-height: 1.72; }
.purchase-card > p strong { color: rgba(238,233,223,.84); font-weight: 500; }
.purchase-card__button {
  width: 100%;
  min-height: 64px;
  margin-top: auto;
  padding: 12px 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid rgba(255,255,255,.24);
  background: rgba(0,0,0,.3);
  color: var(--bone);
  cursor: pointer;
  text-align: left;
  transition: background .25s,border-color .25s,transform .25s;
}
.purchase-card__button:hover { background: var(--bone); color: #050607; border-color: var(--bone); transform: translateY(-2px); }
.purchase-card__button span { font-family: var(--mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.purchase-card__button small { color: var(--signal-bright); font-family: var(--mono); font-size: 7px; letter-spacing: .15em; white-space: nowrap; }
.purchase-card__button:hover small { color: #8d302c; }
.purchase-follow {
  width: min(1180px,100%);
  margin: 22px auto 0;
  padding: 28px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 32px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.025);
}
.purchase-follow h3 { margin: 0; font-family: var(--display); font-size: clamp(28px,3vw,42px); font-weight: 400; }
.purchase-follow > div:first-child > p:last-child { max-width: 650px; margin: 10px 0 0; color: rgba(238,233,223,.52); font-size: 13px; }
.book-socials { display: flex; flex-wrap: wrap; gap: 10px; }
.book-social {
  min-width: 245px;
  min-height: 68px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 13px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.22);
  transition: transform .25s,border-color .25s,background .25s;
}
.book-social:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.06); }
.book-social img { width: 23px; height: 23px; flex: 0 0 auto; object-fit: contain; opacity: .92; }
.book-social span { display: grid; gap: 3px; }
.book-social small { color: rgba(255,255,255,.4); font-family: var(--mono); font-size: 7px; letter-spacing: .18em; text-transform: uppercase; }
.book-social strong { font-family: var(--display); font-size: 17px; font-weight: 400; }

/* Purchase availability modal */
.purchase-modal { position: fixed; z-index: 300; inset: 0; display: none; place-items: center; padding: 24px; }
.purchase-modal.is-open { display: grid; }
.purchase-modal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.88); backdrop-filter: blur(12px); }
.purchase-modal__panel {
  width: min(590px,100%);
  position: relative;
  z-index: 1;
  padding: clamp(32px,5vw,58px);
  border: 1px solid rgba(255,255,255,.2);
  background:
    linear-gradient(145deg,rgba(181,68,62,.1),transparent 34%),
    #070809;
  box-shadow: 0 38px 100px #000;
}
.purchase-modal__panel::before { content:""; position:absolute; inset:12px; border:1px solid rgba(255,255,255,.055); pointer-events:none; }
.purchase-modal__store {
  margin: 8px 0 18px;
  padding: 12px 14px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.22);
}
.purchase-modal__store img {
  width: min(280px, 100%);
  height: 44px;
  object-fit: contain;
  object-position: left center;
}
.purchase-modal__panel h2 { margin: 0 42px 22px 0; font-family: var(--display); font-size: clamp(38px,5vw,60px); font-weight: 400; line-height: .98; }
.purchase-modal__panel > p:not(.book-eyebrow) { margin: 12px 0; color: rgba(238,233,223,.65); }
.purchase-modal__panel > p strong { color: var(--bone); }
.purchase-modal__close { position:absolute; z-index:2; top:16px; right:16px; width:42px; height:42px; border:1px solid rgba(255,255,255,.18); background:transparent; color:var(--bone); font-size:26px; cursor:pointer; }
.purchase-modal__close:hover { border-color:rgba(255,255,255,.55); background:rgba(255,255,255,.06); }
.purchase-modal__socials { margin-top: 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.purchase-modal__socials a { min-height: 50px; padding: 10px 14px; display:flex; align-items:center; justify-content:center; gap:10px; border:1px solid rgba(255,255,255,.18); font-family:var(--mono); font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
.purchase-modal__socials a:hover { background:var(--bone); color:#050607; border-color:var(--bone); }
.purchase-modal__socials img { width:20px; height:20px; object-fit:contain; }

/* Intro */
.book-intro { display:grid; grid-template-columns:minmax(320px,.85fr) minmax(0,1fr); gap:clamp(48px,8vw,120px); align-items:center; background:linear-gradient(110deg,#050607,#090b0d 65%,#050607); }
.book-intro__visual { position:relative; max-width:540px; justify-self:center; }
.book-intro__visual::before { content:""; position:absolute; inset:18px -18px -18px 18px; border:1px solid rgba(255,255,255,.12); }
.book-intro__visual img { position:relative; width:100%; height:auto; aspect-ratio:1054 / 1492; object-fit:contain; filter:contrast(1.08); }
.image-readout { position:absolute; left:-28px; bottom:34px; padding:14px 20px; background:rgba(3,4,5,.92); border-left:2px solid var(--signal); box-shadow:0 10px 40px #000; }
.image-readout span { display:block; color:var(--signal-bright); font-family:var(--mono); font-size:8px; letter-spacing:.25em; }
.image-readout strong { display:block; margin-top:4px; font-family:var(--display); font-weight:400; }
.book-intro__copy { max-width:680px; }
.book-lede { margin:30px 0 20px; color:var(--bone); font-family:var(--display); font-size:clamp(22px,2.5vw,34px); line-height:1.28; }
.book-intro__copy > p:not(.book-eyebrow):not(.book-lede) { color:rgba(238,233,223,.63); }
.book-intro blockquote { margin:34px 0; padding:18px 0 18px 24px; border-left:1px solid var(--signal); color:rgba(255,255,255,.9); font-family:var(--display); font-size:24px; font-style:italic; }
.synopsis-facts { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); }
.synopsis-facts div { padding:18px 14px; text-align:center; border-right:1px solid rgba(255,255,255,.1); }
.synopsis-facts div:last-child { border-right:0; }
.synopsis-facts span { display:block; color:var(--signal-bright); font-family:var(--display); font-size:35px; }
.synopsis-facts small { color:rgba(255,255,255,.4); font-family:var(--mono); font-size:8px; letter-spacing:.16em; text-transform:uppercase; }

/* Call */
.call-section { min-height:500px; display:grid; grid-template-columns:.65fr 1fr; gap:70px; align-items:center; overflow:hidden; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.08),transparent 35%),#020304; }
.call-section::after { content:""; position:absolute; inset:20px; border:1px solid rgba(255,255,255,.08); pointer-events:none; }
.call-section__disc { justify-self:center; width:min(300px,70%); filter:drop-shadow(0 0 35px rgba(255,255,255,.3)); animation:disc-float 5s ease-in-out infinite; }
@keyframes disc-float { 50% { transform:translateY(-14px); } }
.call-section__copy h2 { font-size:clamp(52px,7vw,100px); }
.call-message { max-width:700px; color:rgba(255,255,255,.75); font-family:var(--display); font-size:clamp(21px,2.3vw,32px); line-height:1.4; }
.call-section__coordinates { position:absolute; right:32px; bottom:28px; display:flex; gap:26px; color:rgba(255,255,255,.28); font-family:var(--mono); font-size:8px; letter-spacing:.18em; }

/* Characters */
.characters { background:#060708; }
.character-console { width:min(1180px,100%); margin:0 auto; display:grid; grid-template-columns:minmax(320px,.9fr) minmax(0,1fr); border:1px solid rgba(255,255,255,.16); background:#030405; box-shadow:0 36px 90px rgba(0,0,0,.55); }
.character-console__visual { position:relative; min-height:700px; overflow:hidden; border-right:1px solid rgba(255,255,255,.13); }
.character-scene { position:absolute; inset:0; margin:0; opacity:0; transform:scale(1.04); transition:opacity .55s ease,transform .8s ease; }
.character-scene.is-active { opacity:1; transform:scale(1); }
.character-scene img { width:100%; height:100%; object-fit:cover; object-position:center top; filter:contrast(1.12) brightness(.78); }
.character-console__visual::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#030405 0%,transparent 45%),linear-gradient(90deg,transparent 55%,rgba(0,0,0,.4)); }
.character-console__scan { position:absolute; z-index:3; inset:0; background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(255,255,255,.025) 5px); pointer-events:none; }
.character-console__label { position:absolute; z-index:4; left:26px; right:26px; bottom:28px; padding-top:18px; border-top:1px solid rgba(255,255,255,.3); }
.character-console__label span { display:block; color:var(--signal-bright); font-family:var(--mono); font-size:8px; letter-spacing:.24em; }
.character-console__label strong { display:block; margin-top:5px; font-family:var(--display); font-size:25px; font-weight:400; }
.character-console__panel { padding:clamp(26px,5vw,70px); display:flex; flex-direction:column; justify-content:center; }
.character-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin-bottom:54px; border-bottom:1px solid rgba(255,255,255,.13); }
.character-tabs button { padding:15px 4px; border:0; border-bottom:2px solid transparent; background:transparent; color:rgba(255,255,255,.35); cursor:pointer; font-family:var(--mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; transition:.25s; }
.character-tabs button span { display:block; margin-bottom:4px; font-size:8px; }
.character-tabs button:hover,.character-tabs button.is-active { color:var(--bone); border-bottom-color:var(--signal); }
.character-profile { display:none; }
.character-profile.is-active { display:block; animation:profile-in .4s ease both; }
@keyframes profile-in { from { opacity:0; transform:translateY(12px); } }
.character-profile h3 { margin:0 0 26px; font-family:var(--display); font-size:clamp(46px,5vw,74px); font-weight:400; line-height:.95; }
.character-profile > p:not(.profile-status) { color:rgba(238,233,223,.65); font-size:17px; }
.character-profile dl { margin:38px 0 0; border-top:1px solid rgba(255,255,255,.12); }
.character-profile dl div { display:grid; grid-template-columns:120px 1fr; gap:16px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.character-profile dt { color:rgba(255,255,255,.38); font-family:var(--mono); font-size:8px; letter-spacing:.17em; text-transform:uppercase; }
.character-profile dd { margin:0; font-family:var(--display); }

/* Factions */
.factions { background:linear-gradient(180deg,#080a0c,#030405); }
.faction-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.faction-card { min-height:680px; position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.14); background:#070809; }
.faction-card__image { position:absolute; inset:0; }
.faction-card__image img { width:100%; height:100%; object-fit:cover; filter:contrast(1.15) brightness(.5); transition:transform .8s var(--ease),filter .5s; }
.faction-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#030405 8%,rgba(3,4,5,.95) 30%,transparent 72%); }
.faction-card__content { position:absolute; z-index:2; left:28px; right:28px; bottom:30px; }
.faction-card h3 { margin:0 0 14px; font-family:var(--display); font-size:52px; font-weight:400; }
.faction-card p { margin:0; color:rgba(255,255,255,.58); font-size:14px; }
.faction-card strong { display:block; margin-top:25px; color:rgba(255,255,255,.75); font-family:var(--mono); font-size:8px; letter-spacing:.16em; }
.faction-card:hover .faction-card__image img { transform:scale(1.04); filter:contrast(1.18) brightness(.62); }
.faction-card--edos { border-top-color:var(--signal); }
.faction-card--amaterasu { border-top-color:rgba(255,255,255,.7); }
.faction-card--susanoo { border-top-color:#8f806a; }

/* Themes */
.themes { display:grid; grid-template-columns:.7fr 1fr .65fr; gap:clamp(35px,5vw,78px); align-items:center; overflow:hidden; }
.themes__copy h2 { font-size:clamp(44px,5.4vw,80px); }
.themes__copy > p:last-child { color:rgba(238,233,223,.58); }
.themes__list { border-top:1px solid rgba(255,255,255,.15); }
.themes__list article { position:relative; padding:20px 0 20px 55px; border-bottom:1px solid rgba(255,255,255,.1); }
.themes__list span { position:absolute; left:0; top:25px; color:var(--signal-bright); font-family:var(--mono); font-size:10px; }
.themes__list h3 { margin:0; font-family:var(--display); font-size:27px; font-weight:400; }
.themes__list p { margin:5px 0 0; color:rgba(255,255,255,.5); font-size:13px; }
.themes__image { position:relative; }
.themes__image img { width:100%; height:auto; max-height:660px; aspect-ratio:1054 / 1492; object-fit:contain; filter:contrast(1.18) brightness(.65); }
.themes__image span { position:absolute; left:-16px; bottom:24px; padding:9px 13px; background:#030405; border:1px solid var(--signal); color:var(--signal-bright); font-family:var(--mono); font-size:8px; letter-spacing:.14em; }

/* Gallery */
.gallery { background:#060708; }
.gallery-grid { width:min(1180px,100%); margin:auto; display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:260px; gap:14px; }
.gallery-item { position:relative; padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.12); background:#020304; cursor:zoom-in; }
.gallery-item img { width:100%; height:100%; object-fit:cover; filter:contrast(1.18) brightness(.73); transition:transform .65s var(--ease),filter .45s; }
.gallery-item::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.85),transparent 45%); }
.gallery-item span { position:absolute; z-index:2; left:16px; bottom:13px; color:rgba(255,255,255,.75); font-family:var(--mono); font-size:8px; letter-spacing:.17em; }
.gallery-item:hover img { transform:scale(1.05); filter:contrast(1.2) brightness(.9); }
.gallery-item--symbol img { object-fit:contain; padding:34px; filter:grayscale(1) contrast(1.08) brightness(1.12); }
.gallery-item--symbol:hover img { transform:scale(1.035); filter:grayscale(1) contrast(1.15) brightness(1.3); }
.gallery-item--wide { grid-column:span 2; }
.gallery-item--tall { grid-row:span 2; }
.lightbox { position:fixed; z-index:200; inset:0; display:none; place-items:center; padding:40px; background:rgba(0,0,0,.94); backdrop-filter:blur(15px); }
.lightbox.is-open { display:grid; }
.lightbox figure { max-width:min(860px,90vw); max-height:88vh; margin:0; display:grid; justify-items:center; gap:14px; }
.lightbox img { width:auto; height:auto; max-width:90vw; max-height:80vh; object-fit:contain; border:1px solid rgba(255,255,255,.25); }
.lightbox figcaption { color:rgba(255,255,255,.65); font-family:var(--mono); font-size:9px; letter-spacing:.17em; text-transform:uppercase; }
.lightbox__close { position:absolute; top:20px; right:26px; width:48px; height:48px; border:1px solid rgba(255,255,255,.3); background:transparent; font-size:30px; cursor:pointer; }

/* Excerpt */
.excerpt { min-height:850px; display:grid; place-items:center; isolation:isolate; overflow:hidden; }
.excerpt__background { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(2,3,4,.98) 0%,rgba(2,3,4,.77) 48%,rgba(2,3,4,.42)),url("assets/book/prologue-black-sun.webp") center 38% / cover; filter:contrast(1.12); }
.excerpt::after { content:""; position:absolute; inset:28px; z-index:-1; border:1px solid rgba(255,255,255,.13); }
.excerpt__content { width:min(780px,100%); margin-right:auto; }
.excerpt__content h2 { margin-bottom:38px; }
.excerpt__text { padding-left:28px; border-left:1px solid rgba(255,255,255,.35); }
.excerpt__text p { margin:0 0 14px; color:rgba(255,255,255,.68); font-family:var(--display); font-size:clamp(20px,2.1vw,30px); line-height:1.5; }
.excerpt__text .excerpt__emphasis { color:#fff; font-size:clamp(44px,6vw,82px); line-height:1; text-transform:uppercase; }
.excerpt__source { margin-top:30px; color:rgba(255,255,255,.35); font-family:var(--mono); font-size:8px; letter-spacing:.2em; }

/* CTA */
.book-cta { min-height:620px; display:grid; grid-template-columns:.8fr 1fr; align-items:center; gap:80px; background:#030405; border-top:1px solid rgba(255,255,255,.1); }
.book-cta__sun { width:min(420px,70vw); aspect-ratio:1; justify-self:center; position:relative; border-radius:50%; filter:drop-shadow(0 0 40px rgba(255,255,255,.35)); }
.book-cta__sun::before { content:""; position:absolute; inset:-9%; border-radius:50%; background:repeating-conic-gradient(from 0deg,#fff 0 1deg,transparent 1deg 5deg); -webkit-mask:radial-gradient(circle,transparent 0 54%,#000 58% 69%,transparent 72%); mask:radial-gradient(circle,transparent 0 54%,#000 58% 69%,transparent 72%); animation:book-orbit 46s linear infinite; }
.book-cta__sun span { position:absolute; inset:9%; border-radius:50%; background:#000; box-shadow:0 0 14px 4px #fff,0 0 65px rgba(255,255,255,.48),inset 0 0 70px #000; }
.book-cta__copy { max-width:680px; }
.book-cta__copy > p:not(.book-eyebrow):not(.form-status) { color:rgba(255,255,255,.58); }
.book-newsletter { margin-top:28px; }
.book-newsletter input { border-color:rgba(255,255,255,.2); }
.book-newsletter button { background:var(--bone); color:#050607; border-color:var(--bone); }
.book-footer { border-top-color:rgba(255,255,255,.12); }


.book-socials--cta { margin-top: 28px; }
.book-cta__shop { margin-top: 18px; }
.book-footer .footer-links { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 34px; }
.footer-social-link { display: inline-flex !important; align-items: center; gap: 8px; }
.footer-social-link img { width: 16px; height: 16px; object-fit: contain; opacity: .72; }

@media (max-width:1100px) {
  .book-section__index { display:none; }
  .purchase-strip { grid-template-columns:1fr; }
  .purchase-strip__badges { grid-template-columns:1fr; }
  .purchase-grid { grid-template-columns:1fr; max-width:760px; }
  .purchase-card { min-height:330px; }
  .purchase-card__store { margin-right: 0; }
  .purchase-follow { grid-template-columns:1fr; max-width:760px; }
  .book-footer .footer-links { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .book-hero__inner { grid-template-columns:1fr .55fr; }
  .book-release { grid-template-columns:minmax(180px,.55fr) 1fr minmax(150px,.35fr); }
  .book-release__action { grid-column:2 / -1; justify-self:start; }
  .book-intro { grid-template-columns:.8fr 1fr; }
  .character-console { grid-template-columns:.8fr 1fr; }
  .themes { grid-template-columns:1fr 1fr; }
  .themes__image { display:none; }
  .faction-grid { grid-template-columns:1fr; }
  .faction-card { min-height:520px; }
  .faction-card__content { max-width:620px; }
}

@media (max-width:820px) {
  .book-section { padding:88px 24px; }
  .purchase-card { min-height:320px; padding:28px 24px; }
  .purchase-strip__badge img,
  .purchase-card__logo,
  .purchase-card__logo--wide,
  .purchase-modal__store img { max-width: 100%; width: 100%; }
  .purchase-follow { padding:24px; }
  .book-socials { width:100%; }
  .book-social { min-width:0; width:100%; }
  .purchase-modal__socials { grid-template-columns:1fr; }
  .book-footer .footer-links { grid-template-columns:1fr 1fr; }
  .book-release { grid-template-columns:1fr 1fr; padding:52px 24px; }
  .book-release__copy { grid-column:1 / -1; grid-row:1; text-align:center; margin:auto; }
  .book-release__status { justify-content:center; }
  .book-release__date { text-align:center; }
  .book-release__action { grid-column:1 / -1; justify-self:center; }
  .book-hero { min-height:auto; }
  .book-hero__inner { margin-top:120px; grid-template-columns:1fr; }
  .book-hero__copy { text-align:center; }
  .book-hero__description,.book-hero__statement { margin-left:auto; margin-right:auto; }
  .book-hero__actions,.book-hero__metadata { justify-content:center; }
  .book-hero__cover { width:min(360px,82%); justify-self:center; margin:30px auto 70px; }
  .book-hero__raven { display:none; }
  .book-intro { grid-template-columns:1fr; }
  .book-intro__visual { width:min(500px,90%); }
  .call-section { grid-template-columns:1fr; text-align:center; gap:20px; }
  .call-section__coordinates { display:none; }
  .character-console { grid-template-columns:1fr; }
  .character-console__visual { min-height:600px; border-right:0; border-bottom:1px solid rgba(255,255,255,.13); }
  .themes { grid-template-columns:1fr; }
  .gallery-grid { grid-template-columns:1fr 1fr; grid-auto-rows:240px; }
  .gallery-item--wide { grid-column:span 2; }
  .book-cta { grid-template-columns:1fr; text-align:center; }
  .book-cta__copy { margin:auto; }
  .book-newsletter { margin-left:auto; margin-right:auto; }
}

@media (max-width:560px) {
  .book-hero h1 { font-size:58px; }
  .book-release { grid-template-columns:1fr; text-align:center; }
  .book-release__copy,.book-release__status,.book-release__date,.book-release__action { grid-column:auto; grid-row:auto; }
  .book-release__status { justify-content:center; }
  .book-release__date { padding:26px 0 0; border-left:0; border-top:1px solid rgba(255,255,255,.12); }
  .book-hero__metadata { display:grid; grid-template-columns:1fr; text-align:left; max-width:300px; margin-left:auto; margin-right:auto; }
  .book-section h2 { font-size:42px; }
  .synopsis-facts { grid-template-columns:1fr; }
  .synopsis-facts div { border-right:0; border-bottom:1px solid rgba(255,255,255,.08); }
  .character-console__visual { min-height:500px; }
  .character-console__panel { padding:26px 20px 38px; }
  .character-tabs { grid-template-columns:repeat(2,1fr); }
  .character-tabs button:last-child { grid-column:1 / -1; }
  .character-profile dl div { grid-template-columns:1fr; gap:4px; }
  .gallery-grid { grid-template-columns:1fr; grid-auto-rows:330px; }
  .gallery-item--wide { grid-column:auto; }
  .gallery-item--tall { grid-row:auto; }
  .excerpt { min-height:760px; }
  .excerpt__content { text-align:left; }
  .book-cta__sun { width:260px; }
  .lightbox { padding:18px; }
}

@media (prefers-reduced-motion:reduce) {
  .cover-orbit,.call-section__disc,.book-cta__sun::before,.book-release__signal,
  .book-mockup__float,.book-mockup__shadow { animation:none; }
}

/* Interactive book sample */
.book-reader {
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 8%, rgba(181, 68, 62, .12), transparent 28%),
    linear-gradient(180deg, #050607 0%, #090a0c 48%, #030405 100%);
  border-top: 1px solid rgba(255,255,255,.1);
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.book-reader::before {
  content: "";
  position: absolute;
  inset: 24px;
  border: 1px solid rgba(255,255,255,.06);
  pointer-events: none;
}
.book-reader__heading {
  width: min(1180px, 100%);
  margin: 0 auto 42px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr);
  gap: clamp(30px, 6vw, 90px);
  align-items: end;
}
.book-reader__heading h2 { margin-bottom: 0; }
.book-reader__heading > p {
  margin: 0;
  color: rgba(238,233,223,.62);
  font-size: 15px;
}
.book-reader__heading strong { color: var(--bone); font-weight: 500; }

.reader-shell {
  --paper: #070809;
  --paper-dark: #020304;
  --ink: #f1eee7;
  --paper-red: #ff8e82;
  --reader-sepia: #b9a27c;
  --reader-sepia-dark: #8b6f4d;
  width: min(1280px, 100%);
  margin: 0 auto;
  position: relative;
  padding: 18px;
  border: 1px solid rgba(58,38,20,.72);
  background:
    radial-gradient(circle at 50% -20%, rgba(255,246,215,.58), transparent 48%),
    repeating-linear-gradient(0deg, rgba(62,41,20,.035) 0 1px, transparent 1px 5px),
    linear-gradient(135deg, #c9b995 0%, var(--reader-sepia) 52%, #9d805b 100%);
  box-shadow: 0 45px 110px rgba(0,0,0,.7), inset 0 0 0 1px rgba(255,248,222,.22);
}
.reader-shell::before,
.reader-shell::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.reader-shell::before {
  inset: 7px;
  border: 1px solid rgba(67,43,23,.28);
}
.reader-shell::after {
  left: 12%;
  right: 12%;
  bottom: -28px;
  height: 45px;
  border-radius: 50%;
  background: rgba(0,0,0,.75);
  filter: blur(18px);
  z-index: -1;
}
.reader-toolbar {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: auto auto minmax(220px, 1fr) auto auto auto;
  gap: 8px;
  align-items: center;
  padding: 0 0 14px;
}
.reader-toolbar button,
.reader-toolbar select,
.reader-footer__arrow {
  min-height: 40px;
  border: 1px solid rgba(48,31,17,.72);
  background: rgba(19,16,13,.9);
  color: rgba(255,250,239,.82);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .13em;
  text-transform: uppercase;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035);
}
.reader-toolbar button {
  padding: 0 14px;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.reader-toolbar button:hover:not(:disabled),
.reader-toolbar button:focus-visible,
.reader-footer__arrow:hover:not(:disabled),
.reader-footer__arrow:focus-visible {
  border-color: rgba(255,255,255,.48);
  background: rgba(255,255,255,.08);
  color: #fff;
}
.reader-toolbar button:disabled,
.reader-footer__arrow:disabled { opacity: .28; cursor: default; }
.reader-toolbar__chapter {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.reader-toolbar__chapter span {
  color: rgba(44,29,17,.68);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.reader-toolbar select {
  width: 100%;
  padding: 0 34px 0 12px;
  color-scheme: dark;
  cursor: pointer;
}
.reader-stage {
  position: relative;
  padding: clamp(14px, 2vw, 28px);
  overflow: hidden;
  background:
    radial-gradient(ellipse at center, rgba(255,248,224,.72), transparent 60%),
    repeating-linear-gradient(90deg, rgba(72,47,24,.035) 0 1px, transparent 1px 48px),
    linear-gradient(180deg, #cdbc99, #ad926d);
  border: 1px solid rgba(57,37,19,.42);
  box-shadow: inset 0 0 54px rgba(61,39,19,.2);
}
.reader-book {
  width: min(1120px, 100%);
  aspect-ratio: 1.414 / 1;
  margin: auto;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  perspective: 2400px;
  outline: none;
  filter: drop-shadow(0 32px 32px rgba(0,0,0,.58));
  user-select: none;
  touch-action: pan-y;
}
.reader-book:focus-visible { box-shadow: 0 0 0 2px var(--signal-bright); }
.reader-page {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: var(--paper);
  color: var(--ink);
}
.reader-page--left {
  border-radius: 7px 1px 1px 7px;
  box-shadow: inset -28px 0 38px rgba(0,0,0,.92), inset 0 0 0 1px rgba(255,255,255,.08);
}
.reader-page--right {
  border-radius: 1px 7px 7px 1px;
  box-shadow: inset 28px 0 38px rgba(0,0,0,.92), inset 0 0 0 1px rgba(255,255,255,.08);
}
.reader-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  opacity: .32;
  mix-blend-mode: screen;
  background-image:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.055), transparent 24%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.016) 0 1px, transparent 1px 4px);
}
.reader-page.is-empty { opacity: .72; }
.reader-spine {
  position: absolute;
  z-index: 8;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 28px;
  transform: translateX(-50%);
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,.88) 42%, rgba(255,255,255,.09) 50%, rgba(0,0,0,.88) 58%, transparent);
  filter: blur(.2px);
}
.reader-paper {
  width: 100%;
  height: 100%;
  position: relative;
  box-sizing: border-box;
  padding: clamp(34px, 4vw, 58px) clamp(30px, 3.7vw, 54px) clamp(32px, 3.7vw, 50px);
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 12%, rgba(255,255,255,.035), transparent 38%),
    linear-gradient(105deg, rgba(255,255,255,.025), transparent 42%),
    var(--paper);
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
}
.reader-paper__chapter,
.reader-paper__number {
  position: absolute;
  z-index: 2;
  color: rgba(241,238,231,.44);
  font-family: var(--mono);
  font-size: clamp(6px, .62vw, 9px);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.reader-paper__chapter { top: clamp(18px, 2vw, 28px); left: clamp(30px, 3.7vw, 54px); right: clamp(30px, 3.7vw, 54px); }
.reader-paper__number { bottom: clamp(15px, 1.7vw, 24px); left: 50%; transform: translateX(-50%); }
.reader-paper__content {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.reader-copy {
  margin: 0 0 clamp(7px, .72vw, 11px);
  color: var(--ink);
  font-size: clamp(10px, .96vw, 14.5px);
  line-height: 1.42;
  text-align: justify;
  text-wrap: pretty;
  hyphens: auto;
}
.reader-copy--dropcap::first-letter {
  float: left;
  margin: .05em .1em 0 0;
  color: var(--paper-red);
  font-family: var(--display);
  font-size: 3.1em;
  line-height: .78;
}
.reader-copy--continued::first-letter,
.reader-copy--dialogue::first-letter,
.reader-copy--signal::first-letter,
.reader-copy--ai::first-letter { float: none; margin: 0; color: inherit; font: inherit; }
.reader-copy--dialogue { text-align: left; }
.reader-copy--signal {
  margin: 1.15em 0;
  color: #ff9d93;
  font-family: var(--mono);
  font-size: clamp(7px, .72vw, 10px);
  font-weight: 700;
  letter-spacing: .14em;
  text-align: center;
}
.reader-copy--ai {
  padding: .65em .8em;
  border-left: 2px solid rgba(255,142,130,.68);
  background: rgba(255,255,255,.045);
  color: rgba(241,238,231,.88);
  font-family: var(--mono);
  font-size: clamp(7px, .71vw, 10px);
  line-height: 1.55;
  text-align: left;
}

.reader-inline-image {
  float: left;
  width: min(31%, 132px);
  margin: .15em 1em .7em 0;
  padding: 6px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.025);
}
.reader-inline-image img {
  display: block;
  width: 100%;
  height: auto;
  filter: grayscale(1) contrast(1.08);
}
.reader-paper--cover { padding: 0; background: #050607; }
.reader-cover { position: absolute; inset: 0; overflow: hidden; }
.reader-cover img { width: 100%; height: 100%; object-fit: contain; background: #050607; }
.reader-cover__shade { position: absolute; inset: 0; box-shadow: inset 0 0 70px rgba(0,0,0,.72); background: linear-gradient(90deg, rgba(255,255,255,.08), transparent 22%, transparent 80%, rgba(0,0,0,.25)); }
.reader-cover__label {
  position: absolute;
  right: 18px;
  bottom: 18px;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(0,0,0,.68);
  color: rgba(255,255,255,.85);
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: .18em;
}
.reader-paper--frontispiece,
.reader-paper--end { background: var(--paper); }
.reader-frontispiece,
.reader-end {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.reader-frontispiece > span,
.reader-end > span {
  color: #ff8e82;
  font-family: var(--mono);
  font-size: clamp(7px, .72vw, 10px);
  letter-spacing: .26em;
}
.reader-frontispiece h3,
.reader-end h3 {
  margin: 18px 0 4px;
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(34px, 4.4vw, 66px);
  font-weight: 400;
  line-height: .92;
  text-transform: uppercase;
}
.reader-frontispiece p { margin: 8px 0; font-family: var(--display); font-size: clamp(17px, 1.7vw, 25px); }
.reader-frontispiece i {
  width: 78px;
  height: 78px;
  margin: clamp(18px, 3vw, 38px) 0;
  border: 1px solid #6f3930;
  border-radius: 50%;
  background: radial-gradient(circle, #141414 0 42%, transparent 44%), repeating-conic-gradient(#6f3930 0 3deg, transparent 3deg 14deg);
}
.reader-frontispiece small,
.reader-frontispiece strong { display: block; font-family: var(--mono); letter-spacing: .13em; }
.reader-frontispiece small { color: rgba(241,238,231,.52); font-size: 8px; }
.reader-frontispiece strong { margin-top: 24px; font-size: 9px; font-weight: 500; }

.reader-paper--note { background: var(--paper); }
.reader-note {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.reader-note > span {
  color: #ff8e82;
  font-family: var(--mono);
  font-size: clamp(7px, .72vw, 10px);
  letter-spacing: .22em;
}
.reader-note h3 {
  margin: 16px 0 24px;
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(30px, 3.6vw, 54px);
  font-weight: 400;
  line-height: .95;
}
.reader-note ol {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: sample-list;
  border-top: 1px solid rgba(255,255,255,.14);
}
.reader-note li {
  counter-increment: sample-list;
  position: relative;
  padding: 14px 0 14px 42px;
  border-bottom: 1px solid rgba(255,255,255,.1);
  color: rgba(241,238,231,.9);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(11px, 1vw, 15px);
}
.reader-note li::before {
  content: counter(sample-list, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 15px;
  color: #ff8e82;
  font-family: var(--mono);
  font-size: 8px;
}
.reader-note p {
  margin: 24px 0 0;
  color: rgba(241,238,231,.58);
  font-size: clamp(10px, .9vw, 13px);
  line-height: 1.55;
}

.reader-paper--chapter { padding: 0; background: #050607; }
.reader-chapter-opener { position: absolute; inset: 0; overflow: hidden; }
.reader-chapter-opener img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.12) brightness(.68); }
.reader-chapter-opener__veil { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.94), transparent 58%), linear-gradient(90deg, rgba(0,0,0,.18), transparent); }
.reader-chapter-opener__copy { position: absolute; left: 9%; right: 9%; bottom: 8%; color: #f1ecdf; }
.reader-chapter-opener__copy span { color: #d28c7c; font-family: var(--mono); font-size: clamp(7px, .7vw, 10px); letter-spacing: .2em; }
.reader-chapter-opener__copy h3 { margin: 10px 0 18px; font-family: var(--display); font-size: clamp(35px, 4.3vw, 64px); font-weight: 400; line-height: .92; }
.reader-chapter-opener__copy i { display: block; width: 88px; height: 1px; background: #d28c7c; }
.reader-end p { max-width: 330px; color: rgba(241,238,231,.7); font-size: clamp(12px, 1vw, 15px); }
.reader-end a {
  margin-top: 22px;
  padding: 12px 16px;
  border: 1px solid rgba(255,142,130,.72);
  color: #ffb0a7;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.reader-blank { height: 100%; display: grid; place-items: center; }
.reader-blank span { color: rgba(241,238,231,.12); font-family: var(--display); font-size: clamp(30px, 4vw, 56px); transform: rotate(-90deg); }

.reader-turn {
  position: absolute;
  z-index: 12;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  display: none;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  transform-origin: left center;
  pointer-events: none;
}
.reader-turn.is-active { display: block; }
.reader-turn.is-next.is-turning { animation: reader-turn-next .72s cubic-bezier(.45,.02,.18,1) forwards; }
.reader-turn.is-previous { left: 0; right: auto; transform-origin: right center; }
.reader-turn.is-previous.is-turning { animation: reader-turn-previous .72s cubic-bezier(.45,.02,.18,1) forwards; }
.reader-turn__face {
  position: absolute;
  inset: 0;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  background: var(--paper);
  box-shadow: 0 0 28px rgba(0,0,0,.35);
  will-change: transform;
}
.reader-turn__face > .reader-paper { position: absolute; inset: 0; }
.reader-turn__front {
  z-index: 2;
  transform: rotateY(0deg) translateZ(.2px);
  visibility: visible;
}
.reader-turn__back {
  z-index: 1;
  transform: rotateY(180deg) translateZ(.2px);
  visibility: visible;
}

/* Tema editorial escuro do exemplar virtual */
.reader-frontispiece p,
.reader-frontispiece strong,
.reader-note h3,
.reader-end h3 { color: var(--ink); }
.reader-frontispiece i {
  border-color: rgba(255,142,130,.72);
  background:
    radial-gradient(circle, #000 0 42%, transparent 44%),
    repeating-conic-gradient(rgba(255,142,130,.82) 0 3deg, transparent 3deg 14deg);
}
.reader-note ol { border-top-color: rgba(255,255,255,.14); }
.reader-end a:hover,
.reader-end a:focus-visible {
  background: rgba(255,142,130,.1);
  border-color: #ffb0a7;
  color: #fff;
}

/*
 * Não aplique filter no elemento que preserva o contexto 3D.
 * Em Chromium/WebKit, filter achata os descendentes e faz a face frontal
 * continuar visível pelo avesso, ocultando o verso correto da folha.
 */
@keyframes reader-turn-next {
  0% { transform: rotateY(0deg); }
  100% { transform: rotateY(-180deg); }
}
@keyframes reader-turn-previous {
  0% { transform: rotateY(0deg); }
  100% { transform: rotateY(180deg); }
}

.reader-footer {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  gap: 14px;
  align-items: center;
  padding: 14px 0 2px;
}
.reader-footer__arrow { width: 44px; padding: 0; cursor: pointer; }
.reader-footer__progress { display: grid; grid-template-columns: auto minmax(140px, 1fr); align-items: center; gap: 16px; }
.reader-footer__progress span { color: rgba(42,27,15,.76); font-family: var(--mono); font-size: 8px; letter-spacing: .1em; white-space: nowrap; }
.reader-footer input[type="range"] { width: 100%; accent-color: var(--signal-bright); cursor: pointer; }
.reader-help { margin: 10px 0 0; color: rgba(42,27,15,.62); font-family: var(--mono); font-size: 7px; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.reader-page--measure {
  position: fixed !important;
  z-index: -9999 !important;
  top: 0;
  left: -10000px;
  display: block !important;
  visibility: hidden;
  pointer-events: none;
}
.reader-shell:fullscreen {
  overflow: auto;
  padding: 24px;
  background: #030405;
}
.reader-shell:fullscreen .reader-book { width: min(1380px, calc(100vw - 80px)); }
.reader-shell:fullscreen .reader-stage { min-height: calc(100vh - 170px); display: grid; place-items: center; }

@media (max-width: 980px) {
  .reader-toolbar { grid-template-columns: repeat(4, auto) minmax(190px, 1fr); }
  .reader-toolbar__chapter { grid-column: 1 / -1; grid-row: 1; }
  .reader-toolbar button[data-reader-fullscreen] { grid-column: 5; grid-row: 2; }
  .reader-copy { font-size: clamp(9px, 1.2vw, 12px); line-height: 1.38; }
  .reader-paper { padding: 38px 34px 34px; }
  .reader-paper__chapter { left: 34px; right: 34px; }
}

@media (max-width: 760px) {
  .book-reader__heading { grid-template-columns: 1fr; text-align: center; }
  .reader-shell { padding: 10px; }
  .reader-toolbar {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 6px;
  }
  .reader-toolbar__chapter { grid-column: 1 / -1; }
  .reader-toolbar button[data-reader-first],
  .reader-toolbar button[data-reader-last] { display: none; }
  .reader-toolbar button[data-reader-fullscreen] { grid-column: auto; grid-row: auto; }
  .reader-toolbar button { padding: 0 8px; font-size: 7px; }
  .reader-stage { padding: 12px; }
  .reader-book {
    width: min(540px, 100%);
    aspect-ratio: .707 / 1;
    display: block;
  }
  .reader-book.is-single-page .reader-page--left,
  .reader-book.is-single-page .reader-spine { display: none; }
  .reader-book.is-single-page .reader-page--right { position: absolute; inset: 0; border-radius: 6px; }
  .reader-book.is-single-page .reader-turn { width: 100%; }
  .reader-book.is-single-page .reader-turn.is-previous { left: 0; }
  .reader-paper { padding: 46px 42px 40px; }
  .reader-paper__chapter { top: 24px; left: 42px; right: 42px; font-size: 7px; }
  .reader-paper__number { bottom: 19px; font-size: 7px; }
  .reader-copy { margin-bottom: 9px; font-size: clamp(11px, 2.55vw, 14px); line-height: 1.42; }
  .reader-copy--signal,
  .reader-copy--ai { font-size: clamp(8px, 2vw, 10px); }
  .reader-footer__progress { grid-template-columns: 1fr; gap: 7px; text-align: center; }
  .reader-footer__progress span { white-space: normal; }
}

@media (max-width: 460px) {
  .book-reader { padding-left: 12px; padding-right: 12px; }
  .reader-shell { padding: 7px; }
  .reader-toolbar { grid-template-columns: 1fr 1fr 1fr; }
  .reader-toolbar__chapter { display: block; }
  .reader-toolbar__chapter span { display: none; }
  .reader-toolbar select { min-height: 38px; }
  .reader-stage { padding: 6px; }
  .reader-paper { padding: 40px 30px 34px; }
  .reader-paper__chapter { top: 20px; left: 30px; right: 30px; }
  .reader-copy { font-size: clamp(10.5px, 3.1vw, 13px); line-height: 1.38; }
  .reader-help { line-height: 1.6; }
}

@media (prefers-reduced-motion: reduce) {
  .reader-turn.is-next.is-turning,
  .reader-turn.is-previous.is-turning { animation-duration: .01ms; }
}

/* Mobile viewport containment
   Evita o pequeno deslocamento horizontal ao voltar para o topo em navegadores
   móveis com overscroll elástico e barra de endereço dinâmica. */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  overscroll-behavior-x: none;
}

.book-page,
.book-page main {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.book-page .site-header {
  width: 100%;
  max-width: 100%;
}

@media (max-width: 820px) {
  .book-page {
    position: relative;
    /* v39: do not constrain the browser's gesture recognizer at page level. */
    touch-action: auto;
    -ms-touch-action: auto;
  }

  .book-page main,
  .book-page .book-hero,
  .book-page .book-release,
  .book-page .book-section,
  .book-page .book-reader,
  .book-page .site-footer {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
  }

  .book-hero__inner,
  .book-hero__copy,
  .book-release > *,
  .book-section > *,
  .reader-shell,
  .reader-toolbar,
  .reader-stage,
  .reader-book {
    min-width: 0;
  }

  /* Elementos decorativos que antes ultrapassavam alguns pixels do viewport. */
  .book-hero__cover {
    max-width: calc(100% - 28px);
  }

  .book-mockup__shadow {
    left: 8%;
    right: -2%;
  }

  .book-mockup__hint {
    left: 10px;
    bottom: 10px;
  }

  .cover-tag {
    right: 0;
  }

  .image-readout,
  .themes__image span {
    left: 0;
    max-width: 100%;
  }
}

/* Fallback para navegadores sem suporte a overflow: clip. */
@supports not (overflow: clip) {
  html,
  body,
  .book-page main {
    overflow-x: hidden;
  }

  @media (max-width: 820px) {
    .book-page .book-hero,
    .book-page .book-release,
    .book-page .book-section,
    .book-page .book-reader,
    .book-page .site-footer {
      overflow-x: hidden;
    }
  }
}

@media (max-width:560px) {
  .book-footer .footer-links { grid-template-columns:1fr; }
  .book-release__date span { font-size:62px; }
  .purchase-card__button { align-items:flex-start; flex-direction:column; gap:5px; }
}


/* v8 purchase card polish: logos act as the store heading */
.purchase-card { min-height: 390px; }
.purchase-card__store {
  min-height: 92px;
  margin: 6px 0 18px;
  padding: 0;
  border: 0;
  background: transparent;
}
.purchase-card__logo {
  max-width: 250px;
  height: 72px;
  object-fit: contain;
  object-position: left center;
}
.purchase-card__logo--wide { max-width: 300px; height: 76px; }
.purchase-card__logo--amazon { max-width: 320px; height: 112px; }
.purchase-card--amazon .purchase-card__store { min-height: 120px; margin-bottom: 8px; }
.purchase-card__tags { margin-bottom: 18px; }
.purchase-card__format { margin-bottom: 14px; }
.purchase-card > p:not(.purchase-card__format) { margin-top: 8px; }
.purchase-strip__badge { min-height: 126px; }
.purchase-strip__badge img { max-width: 270px; height: 62px; }
.purchase-strip__badge--live img { max-width: 285px; height: 82px; }
.purchase-modal__store {
  min-height: 96px;
  padding: 8px 12px;
  background: rgba(255,255,255,.02);
}
.purchase-modal__store img { width: min(320px,100%); height: 88px; }
@media (max-width:820px) {
  .purchase-card__logo--amazon { max-width: 290px; height: 98px; }
  .purchase-strip__badge--live img { height: 76px; }
}


/* v9 amazon logo refinement */
.purchase-card__logo--amazon {
  max-width: 334px;
  height: 118px;
  filter: drop-shadow(0 0 10px rgba(245,239,228,.08));
}
.purchase-strip__badge--live img {
  max-width: 294px;
  height: 86px;
  filter: drop-shadow(0 0 8px rgba(245,239,228,.06));
}
.purchase-modal__store img {
  width: min(334px,100%);
  height: 92px;
}
@media (max-width:820px) {
  .purchase-card__logo--amazon { max-width: 300px; height: 104px; }
  .purchase-strip__badge--live img { height: 78px; }
}


/* v10 hero 3D book refinements */
@media (max-width:560px) {
  .book-hero__cover { width:min(320px,86%); }
}


/* v11 interactive 3D book */
@media (max-width:560px) {
  .book-mockup__hint { font-size: 7px; letter-spacing: .14em; }
}


/* v12 geometry fix for interactive book */
.book-mockup__volume { transform-origin: center center; }
.book-face--front, .book-face--back { border-color: rgba(255,255,255,.20); }



/* v13 geometry correction: thinner attached page edge + aligned spine */


/* v14: restore thicker product-like depth based on user references */
/* v17: correct fore-edge page grain so page lines run vertically */


/* v15 geometry overhaul for product-like 3D book proportions */


/* v16 exact UICLAP-derived geometry */
@media (max-width: 820px) {
  .book-mockup { --book-rot-y: 22deg; }
}
@media (max-width: 560px) {
  .book-mockup { --book-rot-y: 18deg; }
  .book-mockup__hint { font-size: 7px; letter-spacing: .14em; }
}


/* v20: continuous organic idle is driven by requestAnimationFrame; no easing stops between keyframes */

/* v21 — mobile navigation refinement */
@media (max-width: 980px) {
  /* backdrop-filter on the fixed header can turn a fixed child into a header-sized
     containing block after scrolling. Disable it on mobile so the menu remains
     attached to the viewport at every scroll position. */
  .book-page .site-header.is-scrolled {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: rgba(5, 6, 7, .94);
  }

  .book-page .site-nav {
    min-height: 100svh;
    height: 100dvh;
    padding: max(92px, calc(env(safe-area-inset-top) + 76px)) 24px max(28px, env(safe-area-inset-bottom));
    justify-content: center;
    gap: clamp(10px, 1.7vh, 15px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .book-page .site-nav a {
    flex: 0 0 auto;
    padding: 7px 8px;
    font-size: clamp(21px, 5.8vw, 27px);
    line-height: 1.08;
    letter-spacing: .035em;
    text-align: center;
  }
}

@media (max-width: 560px), (max-height: 700px) {
  .book-page .site-nav {
    padding-top: max(82px, calc(env(safe-area-inset-top) + 68px));
    gap: clamp(7px, 1.25vh, 11px);
    justify-content: center;
  }

  .book-page .site-nav a {
    padding-block: 5px;
    font-size: clamp(18px, 5.2vw, 23px);
  }
}

@media (max-height: 560px) and (max-width: 980px) {
  .book-page .site-nav {
    justify-content: flex-start;
    gap: 5px;
  }

  .book-page .site-nav a {
    font-size: 18px;
    padding-block: 4px;
  }
}


/* v24 sales focus + Amazon pre-sale */
.header-cta--presale {
  position: relative;
  padding-left: 13px;
  border-color: rgba(255,184,92,.42);
  color: #ffe0b4;
  background: rgba(255,168,71,.055);
}
.header-cta--presale::before {
  content: none;
}
.header-cta--presale:hover {
  border-color: rgba(255,198,124,.78);
  background: rgba(255,168,71,.12);
}

.book-presale-chip {
  width: fit-content;
  margin: 14px 0 18px;
  padding: 10px 13px;
  display: inline-flex;
  align-items: center;
  gap: 11px;
  border: 1px solid rgba(246,173,85,.32);
  background: linear-gradient(90deg, rgba(246,173,85,.10), rgba(246,173,85,.025));
  color: var(--bone);
  text-decoration: none;
  transition: border-color .25s ease, background .25s ease, transform .25s ease;
}
.book-presale-chip:hover {
  transform: translateY(-2px);
  border-color: rgba(246,173,85,.65);
  background: linear-gradient(90deg, rgba(246,173,85,.17), rgba(246,173,85,.04));
}
.book-presale-chip span {
  color: #f6ad55;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .18em;
}
.book-presale-chip strong {
  padding-left: 11px;
  border-left: 1px solid rgba(255,255,255,.12);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .08em;
}

.book-button--amazon {
  min-width: 250px;
  min-height: 58px;
  padding: 11px 19px;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  border-color: rgba(246,173,85,.72);
  background: linear-gradient(135deg, #f7b75f 0%, #e59334 100%);
  color: #130d07;
  box-shadow: 0 10px 30px rgba(229,147,52,.12);
}
.book-button--amazon:hover {
  border-color: #ffc879;
  background: linear-gradient(135deg, #ffc879 0%, #efa241 100%);
  color: #090603;
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(229,147,52,.2);
}
.book-button--amazon > span {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.book-button--amazon > small {
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .17em;
  opacity: .72;
}
.book-hero__sample-link {
  display: inline-block;
  margin-top: 15px;
  color: rgba(238,233,223,.55);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .13em;
  text-transform: uppercase;
  transition: color .2s ease;
}
.book-hero__sample-link:hover { color: var(--bone); }

.book-countdown {
  width: min(610px, 100%);
  margin-top: 27px;
  padding: 13px 15px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: center;
  border-top: 1px solid rgba(255,255,255,.11);
  border-bottom: 1px solid rgba(255,255,255,.11);
  background: linear-gradient(90deg, rgba(255,255,255,.018), transparent);
}
.book-countdown__intro {
  min-width: 128px;
  padding-right: 18px;
  border-right: 1px solid rgba(255,255,255,.11);
}
.book-countdown__intro small,
.book-countdown__intro strong {
  display: block;
  font-family: var(--mono);
}
.book-countdown__intro small {
  color: rgba(255,255,255,.36);
  font-size: 7px;
  letter-spacing: .16em;
}
.book-countdown__intro strong {
  margin-top: 5px;
  color: #f6ad55;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .14em;
}
.book-countdown__units {
  display: grid;
  grid-template-columns: repeat(4, minmax(52px,1fr));
  gap: 7px;
}
.book-countdown__units > span {
  display: grid;
  justify-items: center;
  gap: 1px;
}
.book-countdown__units strong {
  font-family: var(--display);
  font-size: clamp(25px,2.5vw,34px);
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.book-countdown__units small {
  color: rgba(255,255,255,.36);
  font-family: var(--mono);
  font-size: 6px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.book-countdown.is-launched .book-countdown__units { opacity: .34; }

.book-release__action.book-button--amazon { min-width: 218px; }

.purchase-strip__badge {
  color: inherit;
  text-decoration: none;
}
.purchase-strip__badge--live {
  position: relative;
  border-color: rgba(246,173,85,.42);
  background: linear-gradient(145deg, rgba(246,173,85,.09), rgba(255,255,255,.018));
  cursor: pointer;
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}
.purchase-strip__badge--live:hover {
  transform: translateY(-3px);
  border-color: rgba(246,173,85,.72);
  background: linear-gradient(145deg, rgba(246,173,85,.14), rgba(255,255,255,.025));
}
.purchase-strip__badge--live small { color: #f6ad55; }

.purchase-card--live {
  border-color: rgba(246,173,85,.45);
  background:
    radial-gradient(circle at 75% 10%, rgba(246,173,85,.10), transparent 32%),
    linear-gradient(145deg,rgba(181,68,62,.08),rgba(255,255,255,.018));
  box-shadow: 0 24px 80px rgba(0,0,0,.18);
}
.purchase-card--live::before {
  width: 118px;
  background: #f6ad55;
  box-shadow: 0 0 26px rgba(246,173,85,.38);
}
.purchase-card__live {
  position: relative;
  z-index: 3;
  width: fit-content;
  margin: -2px 0 2px;
  padding: 7px 9px;
  border: 1px solid rgba(246,173,85,.35);
  background: rgba(246,173,85,.08);
  color: #f6ad55;
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: .18em;
}
.purchase-card--pending { opacity: .82; }
.purchase-card--pending:hover { opacity: 1; }
.purchase-card__store--link {
  cursor: pointer;
  text-decoration: none;
  transition: transform .22s ease, filter .22s ease;
}
.purchase-card__store--link:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
}
.purchase-card__button--live {
  border-color: rgba(246,173,85,.66);
  background: rgba(246,173,85,.09);
}
.purchase-card__button--live small { color: #f6ad55; }
.purchase-card__button--live:hover {
  background: #f6ad55;
  border-color: #f6ad55;
  color: #120c06;
}
.purchase-card__button--live:hover small { color: #4f2d0d; }

.book-mockup__hint {
  border-color: rgba(246,173,85,.27);
  color: rgba(255,225,183,.8);
}

@media (max-width: 820px) {
  .book-presale-chip { margin-left:auto; margin-right:auto; }
  .book-countdown { margin-left:auto; margin-right:auto; }
  .book-hero__sample-link { display:block; text-align:center; }
  .book-button--amazon { align-items:center; text-align:center; }
}

@media (max-width: 560px) {
  .book-presale-chip {
    width: 100%;
    justify-content:center;
    gap: 8px;
    padding: 9px 10px;
  }
  .book-presale-chip strong { font-size: 8px; }
  .book-hero__actions { display:grid; grid-template-columns:1fr; width:100%; }
  .book-hero__actions .book-button { width:100%; min-width:0; }
  .book-countdown {
    grid-template-columns:1fr;
    gap: 10px;
    padding: 12px 9px;
  }
  .book-countdown__intro {
    display:flex;
    justify-content:center;
    align-items:center;
    gap: 10px;
    padding: 0 0 9px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.1);
  }
  .book-countdown__intro strong { margin:0; }
  .book-countdown__units { gap:3px; }
  .book-countdown__units strong { font-size:27px; }
  .book-release__action.book-button--amazon { width:min(300px,100%); align-items:center; }
  .purchase-card--pending { opacity:.9; }
}


/* v25 conversion-first sales header */
.book-sales-bar {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1200;
  height: 58px;
  padding: 0 max(18px, calc((100vw - 1440px) / 2));
  display: grid;
  grid-template-columns: minmax(210px, .7fr) minmax(420px, 1fr) auto;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid rgba(246,173,85,.3);
  background:
    linear-gradient(90deg, rgba(246,173,85,.12), rgba(181,68,62,.07) 38%, rgba(3,4,5,.98) 75%),
    rgba(3,4,5,.97);
  box-shadow: 0 10px 30px rgba(0,0,0,.26);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.book-sales-bar__status {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--bone);
  text-decoration: none;
  white-space: nowrap;
}
.book-sales-bar__pulse {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: #f6ad55;
  box-shadow: 0 0 0 0 rgba(246,173,85,.55);
  animation: sales-pulse 1.8s ease-out infinite;
}
.book-sales-bar__status strong,
.book-sales-bar__status small {
  font-family: var(--mono);
  text-transform: uppercase;
}
.book-sales-bar__status strong {
  color: #ffc879;
  font-size: 9px;
  letter-spacing: .18em;
}
.book-sales-bar__status small {
  color: rgba(255,255,255,.58);
  font-size: 7px;
  letter-spacing: .12em;
}
.book-sales-bar__cta {
  min-height: 38px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid #f6ad55;
  background: linear-gradient(135deg, #ffc879, #e99a3b);
  color: #110a04;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 7px 20px rgba(229,147,52,.19);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.book-sales-bar__cta:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
  box-shadow: 0 10px 25px rgba(229,147,52,.28);
}
.book-sales-bar__cta span { font-size: 15px; line-height: 1; }
.book-sales-bar .book-countdown {
  width: 100%;
  margin: 0;
  padding: 0;
  grid-template-columns: auto 1fr;
  gap: 14px;
  border: 0;
  background: transparent;
}
.book-sales-bar .book-countdown__intro {
  min-width: 112px;
  padding-right: 14px;
}
.book-sales-bar .book-countdown__intro small { font-size: 6px; }
.book-sales-bar .book-countdown__intro strong { font-size: 9px; }
.book-sales-bar .book-countdown__units {
  grid-template-columns: repeat(4, minmax(42px, 1fr));
  gap: 2px;
}
.book-sales-bar .book-countdown__units strong {
  font-size: clamp(22px, 2vw, 30px);
}
.book-sales-bar .book-countdown__units small { font-size: 5px; }
.book-page .site-header {
  top: 58px;
}
.book-page .site-header.is-scrolled {
  top: 58px;
}
.book-hero__inner {
  margin-top: 164px;
}
.site-nav__buy {
  color: #ffc879 !important;
  font-weight: 700;
}
.site-nav__buy::after { background: #f6ad55 !important; }
.header-cta--presale {
  min-height: 40px;
  padding-right: 18px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  border-color: rgba(246,173,85,.62);
  background: rgba(246,173,85,.09);
}
.book-presale-chip {
  padding: 12px 15px;
  border-color: rgba(246,173,85,.5);
  background: linear-gradient(90deg, rgba(246,173,85,.16), rgba(246,173,85,.035));
  box-shadow: 0 8px 30px rgba(246,173,85,.05);
}
.book-presale-chip span { font-size: 9px; font-weight: 800; }
.book-presale-chip strong { font-size: 10px; }
.book-hero__sales-pitch {
  width: min(620px,100%);
  margin: 25px 0 8px;
  padding: 18px 20px 17px;
  border-left: 3px solid #f6ad55;
  background: linear-gradient(90deg, rgba(246,173,85,.11), rgba(246,173,85,.018));
}
.book-hero__sales-pitch > span {
  display: block;
  margin-bottom: 6px;
  color: #f6ad55;
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .2em;
}
.book-hero__sales-pitch > strong {
  display: block;
  font-family: var(--display);
  font-size: clamp(28px,3.3vw,46px);
  font-weight: 400;
  line-height: 1.02;
}
.book-hero__sales-pitch > p {
  margin: 8px 0 0;
  color: rgba(238,233,223,.7);
  font-size: 13px;
}
.book-hero__statement { margin-top: 23px; }
.book-hero__actions {
  gap: 14px;
  margin-top: 27px;
}
.book-button--amazon {
  min-width: 330px;
  min-height: 68px;
  padding: 13px 22px;
  border-width: 1px;
  box-shadow: 0 14px 38px rgba(229,147,52,.16);
}
.book-button--amazon > span {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .11em;
}
.book-button--amazon > small {
  font-size: 8px;
  letter-spacing: .14em;
}
.book-hero__actions > .book-button:not(.book-button--amazon) {
  min-height: 68px;
  align-items: center;
  font-size: 11px;
  font-weight: 700;
}
.purchase-card__button {
  min-height: 62px;
  padding: 14px 16px;
}
.purchase-card__button span {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .11em;
}
.purchase-card__button small {
  font-size: 8px;
  letter-spacing: .13em;
}
.purchase-card__button--live {
  min-height: 70px;
  background: linear-gradient(135deg, rgba(246,173,85,.16), rgba(246,173,85,.08));
  box-shadow: 0 10px 28px rgba(246,173,85,.07);
}
.purchase-card__button--live span { font-size: 12px; }
.purchase-card__live {
  font-size: 8px;
  font-weight: 800;
  padding: 8px 10px;
}
@keyframes sales-pulse {
  0% { box-shadow: 0 0 0 0 rgba(246,173,85,.55); }
  70% { box-shadow: 0 0 0 8px rgba(246,173,85,0); }
  100% { box-shadow: 0 0 0 0 rgba(246,173,85,0); }
}

@media (max-width: 980px) {
  .book-sales-bar {
    grid-template-columns: auto 1fr auto;
    gap: 13px;
    padding-inline: 14px;
  }
  .book-sales-bar__status small { display:none; }
  .book-sales-bar .book-countdown__intro { display:none; }
  .book-sales-bar__cta { padding-inline: 12px; font-size: 9px; }
}

@media (max-width: 720px) {
  .book-sales-bar {
    height: 64px;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    gap: 2px 10px;
    padding: 7px 10px 6px;
  }
  .book-sales-bar__status {
    grid-column: 1;
    grid-row: 1;
  }
  .book-sales-bar__status strong { font-size: 7px; }
  .book-sales-bar__countdown {
    grid-column: 1;
    grid-row: 2;
  }
  .book-sales-bar .book-countdown__units {
    grid-template-columns: repeat(4, auto);
    justify-content: start;
    gap: 11px;
  }
  .book-sales-bar .book-countdown__units > span {
    display: flex;
    align-items: baseline;
    gap: 3px;
  }
  .book-sales-bar .book-countdown__units strong { font-size: 18px; }
  .book-sales-bar .book-countdown__units small { font-size: 5px; }
  .book-sales-bar__cta {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: stretch;
    min-height: 48px;
    padding: 0 12px;
    font-size: 8px;
  }
  .book-page .site-header,
  .book-page .site-header.is-scrolled { top: 64px; }
  .book-hero__inner { margin-top: 172px; }
}

@media (max-width: 560px) {
  .book-sales-bar__cta { max-width: 122px; text-align:center; line-height:1.2; }
  .header-cta--presale { display:none; }
  .book-hero__sales-pitch {
    margin-left:auto;
    margin-right:auto;
    text-align:center;
    border-left:0;
    border-top:2px solid #f6ad55;
    padding:14px 12px;
  }
  .book-hero__actions .book-button--amazon { min-height:72px; }
  .book-button--amazon > span { font-size:11px; }
  .purchase-card__button span { font-size:10px; }
}

@media (prefers-reduced-motion: reduce) {
  .book-sales-bar__pulse { animation:none; }
}

/* v27 — spine artwork bleed: remove the tiny unfilled strip at the lower edge */
.book-face--spine .book-face__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 104%;
  max-width: none;
  object-fit: fill;
}


/* v28 — deliberately loud pre-sale conversion push */
.book-sales-bar {
  height: 92px;
  grid-template-columns: minmax(285px,.85fr) minmax(470px,1.1fr) minmax(230px,auto);
  align-items: start;
  padding-top: 11px;
  padding-bottom: 25px;
  gap: 28px;
  border-bottom-color: rgba(246,173,85,.58);
  background:
    radial-gradient(circle at 17% 25%, rgba(246,173,85,.19), transparent 31%),
    linear-gradient(90deg, rgba(246,173,85,.16), rgba(181,68,62,.10) 42%, rgba(3,4,5,.985) 78%),
    #030405;
  box-shadow: 0 12px 42px rgba(0,0,0,.38), 0 0 44px rgba(246,173,85,.065);
}
.book-sales-bar__status {
  align-self: center;
  gap: 13px;
}
.book-sales-bar__status-copy { display:grid; gap:4px; min-width:0; }
.book-sales-bar__status strong {
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .16em;
  color: #ffd08d;
  text-shadow: 0 0 20px rgba(246,173,85,.22);
}
.book-sales-bar__status small { font-size: 7px; letter-spacing:.13em; }
.book-sales-bar__pulse {
  width: 11px;
  height: 11px;
  flex-basis: 11px;
  animation: sales-pulse 1.35s ease-out infinite;
}
.book-sales-bar__cta {
  min-height: 52px;
  padding: 7px 20px;
  align-self: center;
  display: grid;
  gap: 2px;
  border-width: 2px;
  box-shadow: 0 9px 30px rgba(229,147,52,.32), 0 0 0 1px rgba(255,255,255,.06) inset;
  animation: presale-cta-breathe 2.8s ease-in-out infinite;
}
.book-sales-bar__cta strong {
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .1em;
}
.book-sales-bar__cta small {
  font-family: var(--mono);
  font-size: 6px;
  font-weight: 800;
  letter-spacing: .16em;
  opacity: .67;
}
.book-sales-bar .book-countdown { align-self:center; }
.book-sales-bar .book-countdown__intro { min-width:124px; }
.book-sales-bar .book-countdown__intro small { color:#f6ad55; font-size:7px; font-weight:800; }
.book-sales-bar .book-countdown__intro strong { font-size:10px; }
.book-sales-bar .book-countdown__units strong {
  font-size: clamp(30px,2.4vw,40px);
  color:#fff7eb;
  text-shadow: 0 0 18px rgba(246,173,85,.12);
}
.book-sales-bar .book-countdown__units small { font-size:6px; color:rgba(255,208,141,.66); }
.book-sales-bar__marquee {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:22px;
  overflow:hidden;
  border-top:1px solid rgba(246,173,85,.27);
  background:#f6ad55;
  color:#120c06;
  pointer-events:none;
}
.book-sales-bar__marquee-track {
  width:max-content;
  height:100%;
  display:flex;
  align-items:center;
  gap:18px;
  padding-left:18px;
  font-family:var(--mono);
  font-size:8px;
  font-weight:950;
  letter-spacing:.16em;
  white-space:nowrap;
  animation: presale-marquee 15s linear infinite;
}
.book-sales-bar__marquee-track i { font-style:normal; opacity:.58; }
.book-page .site-header,
.book-page .site-header.is-scrolled { top:92px; }
.book-hero__inner { margin-top:205px; }

.book-hero__mega-sale {
  position:relative;
  isolation:isolate;
  width:min(620px,100%);
  margin: 13px 0 17px;
  padding: clamp(16px,2vw,24px) clamp(18px,2.2vw,26px);
  display:grid;
  gap:8px;
  overflow:hidden;
  border:2px solid #f6ad55;
  background:
    linear-gradient(105deg, rgba(246,173,85,.18), rgba(246,173,85,.045) 50%, rgba(3,4,5,.72)),
    rgba(12,9,7,.73);
  color:var(--bone);
  text-decoration:none;
  box-shadow: 0 18px 60px rgba(0,0,0,.24), 0 0 32px rgba(246,173,85,.08);
  transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}
.book-hero__mega-sale::after {
  content:"COMPRE";
  position:absolute;
  z-index:-1;
  right:-9px;
  bottom:-22px;
  color:rgba(246,173,85,.065);
  font-family:var(--display);
  font-size:clamp(72px,9vw,138px);
  line-height:.8;
  letter-spacing:-.04em;
  pointer-events:none;
}
.book-hero__mega-sale:hover {
  transform:translateY(-3px) scale(1.008);
  background:linear-gradient(105deg, rgba(246,173,85,.25), rgba(246,173,85,.07) 50%, rgba(3,4,5,.72));
  box-shadow:0 22px 70px rgba(0,0,0,.3),0 0 42px rgba(246,173,85,.13);
}
.book-hero__mega-sale small,
.book-hero__mega-sale span { font-family:var(--mono); text-transform:uppercase; }
.book-hero__mega-sale small {
  color:#f6ad55;
  font-size:8px;
  font-weight:900;
  letter-spacing:.22em;
}
.book-hero__mega-sale strong {
  color:#fff7ec;
  font-family:var(--display);
  font-size:clamp(48px,6.2vw,86px);
  font-weight:400;
  letter-spacing:-.025em;
  line-height:.78;
  text-transform:uppercase;
}
.book-hero__mega-sale span {
  width:fit-content;
  margin-top:5px;
  padding:8px 10px;
  background:#f6ad55;
  color:#120c06;
  font-size:9px;
  font-weight:950;
  letter-spacing:.14em;
}
.book-presale-chip { margin-top:0; }
.book-hero__sales-pitch {
  border-left-width:5px;
  background:linear-gradient(90deg,rgba(246,173,85,.16),rgba(246,173,85,.022));
}
.book-hero__sales-pitch > span { font-size:9px; }
.book-hero__sales-pitch > strong { font-size:clamp(31px,3.6vw,52px); }
.book-button--amazon {
  min-width:370px;
  min-height:78px;
  padding:15px 24px;
  border-width:2px;
  box-shadow:0 16px 44px rgba(229,147,52,.24),0 0 30px rgba(246,173,85,.06);
}
.book-button--amazon > span { font-size:14px; font-weight:950; }
.book-button--amazon > small { font-size:8px; font-weight:800; opacity:.8; }
.book-hero__actions > .book-button:not(.book-button--amazon) { font-size:12px; }

.purchase-card--live {
  border-width:2px;
  box-shadow:0 28px 90px rgba(0,0,0,.23),0 0 45px rgba(246,173,85,.07);
}
.purchase-card__live {
  font-size:10px;
  padding:9px 12px;
  animation: presale-badge-breathe 2.6s ease-in-out infinite;
}
.purchase-card__button { min-height:68px; }
.purchase-card__button span { font-size:12px; }
.purchase-card__button--live {
  min-height:80px;
  border-width:2px;
  background:linear-gradient(135deg,#f7b75f,#e59334);
  color:#130d07;
  box-shadow:0 13px 34px rgba(229,147,52,.22);
}
.purchase-card__button--live span { font-size:14px; font-weight:950; }
.purchase-card__button--live small { color:#5b340f; font-weight:900; }

.book-floating-buy {
  position:fixed;
  z-index:1150;
  right:18px;
  bottom:18px;
  min-width:220px;
  min-height:64px;
  padding:10px 12px 10px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  border:2px solid #f6ad55;
  background:linear-gradient(135deg,#f6ad55,#e69133);
  color:#120c06;
  text-decoration:none;
  box-shadow:0 18px 48px rgba(0,0,0,.42),0 0 36px rgba(246,173,85,.16);
  transition:transform .2s ease,filter .2s ease;
  animation:floating-buy-breathe 3s ease-in-out infinite;
}
.book-floating-buy:hover { transform:translateY(-4px) scale(1.02); filter:brightness(1.07); }
.book-floating-buy span { display:grid; gap:3px; }
.book-floating-buy small,
.book-floating-buy strong { font-family:var(--mono); text-transform:uppercase; }
.book-floating-buy small { font-size:7px; font-weight:800; letter-spacing:.15em; opacity:.7; }
.book-floating-buy strong { font-size:11px; font-weight:950; letter-spacing:.11em; }
.book-floating-buy b {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(18,12,6,.35);
  font-family:var(--mono);
  font-size:20px;
}

@keyframes presale-marquee { to { transform:translateX(-50%); } }
@keyframes presale-cta-breathe {
  0%,100% { transform:translateY(0) scale(1); box-shadow:0 9px 30px rgba(229,147,52,.28); }
  50% { transform:translateY(-1px) scale(1.018); box-shadow:0 12px 38px rgba(229,147,52,.42); }
}
@keyframes presale-badge-breathe {
  0%,100% { border-color:rgba(246,173,85,.35); box-shadow:0 0 0 rgba(246,173,85,0); }
  50% { border-color:rgba(246,173,85,.8); box-shadow:0 0 26px rgba(246,173,85,.13); }
}
@keyframes floating-buy-breathe {
  0%,100% { box-shadow:0 18px 48px rgba(0,0,0,.42),0 0 30px rgba(246,173,85,.12); }
  50% { box-shadow:0 18px 48px rgba(0,0,0,.42),0 0 48px rgba(246,173,85,.25); }
}

@media (max-width:980px) {
  .book-sales-bar {
    height:94px;
    grid-template-columns:minmax(180px,.8fr) 1fr auto;
    gap:12px;
    padding:9px 12px 25px;
  }
  .book-sales-bar__status strong { font-size:10px; }
  .book-sales-bar__status small { display:none; }
  .book-sales-bar .book-countdown__units strong { font-size:28px; }
  .book-sales-bar__cta { min-width:160px; padding-inline:13px; }
  .book-sales-bar__cta strong { font-size:9px; }
  .book-page .site-header,.book-page .site-header.is-scrolled { top:94px; }
  .book-hero__inner { margin-top:205px; }
}

@media (max-width:720px) {
  .book-sales-bar {
    height:102px;
    grid-template-columns:1fr auto;
    grid-template-rows:auto auto;
    gap:2px 9px;
    padding:8px 9px 25px;
  }
  .book-sales-bar__status { grid-column:1;grid-row:1; }
  .book-sales-bar__status strong { font-size:8px; letter-spacing:.12em; }
  .book-sales-bar__countdown { grid-column:1;grid-row:2; }
  .book-sales-bar .book-countdown__units { gap:9px; }
  .book-sales-bar .book-countdown__units strong { font-size:20px; }
  .book-sales-bar__cta { grid-column:2;grid-row:1 / 3; min-width:128px; min-height:54px; }
  .book-sales-bar__cta strong { font-size:8px; line-height:1.2; }
  .book-sales-bar__cta small { font-size:5px; }
  .book-page .site-header,.book-page .site-header.is-scrolled { top:102px; }
  .book-hero__inner { margin-top:214px; }
  .book-hero__mega-sale { margin-inline:auto; text-align:center; }
  .book-hero__mega-sale small { font-size:7px; }
  .book-hero__mega-sale strong { font-size:clamp(46px,15vw,72px); }
  .book-hero__mega-sale span { margin-inline:auto; }
  .book-floating-buy { right:10px; bottom:10px; min-width:200px; min-height:58px; }
}

@media (max-width:560px) {
  .book-sales-bar { height:106px; }
  .book-page .site-header,.book-page .site-header.is-scrolled { top:106px; }
  .book-hero__inner { margin-top:220px; }
  .book-sales-bar__pulse { width:8px;height:8px;flex-basis:8px; }
  .book-sales-bar__status strong { font-size:7px; }
  .book-sales-bar .book-countdown__units { gap:6px; }
  .book-sales-bar .book-countdown__units strong { font-size:18px; }
  .book-sales-bar__cta { min-width:116px; padding-inline:8px; }
  .book-sales-bar__cta strong { font-size:7px; }
  .book-sales-bar__marquee-track { font-size:7px; gap:13px; }
  .book-hero__mega-sale { padding:15px 12px; }
  .book-hero__mega-sale strong { line-height:.84; }
  .book-hero__sales-pitch { margin-top:18px; }
  .book-hero__actions .book-button--amazon { min-height:82px; }
  .book-button--amazon > span { font-size:13px; }
  .purchase-card__button--live span { font-size:12px; }
  .book-floating-buy {
    left:10px;
    right:10px;
    bottom:9px;
    min-width:0;
    min-height:54px;
  }
  .book-floating-buy strong { font-size:10px; }
}

@media (prefers-reduced-motion: reduce) {
  .book-sales-bar__marquee-track,
  .book-sales-bar__cta,
  .purchase-card__live,
  .book-floating-buy { animation:none; }
}

/* v29 — mobile-first pre-sale hero cleanup */
.book-sales-bar {
  height: 64px;
  padding: 0 max(16px, calc((100vw - 1400px) / 2));
  grid-template-columns: minmax(180px,.72fr) minmax(330px,1fr) auto;
  align-items: center;
  gap: 20px;
  border-bottom: 1px solid rgba(246,173,85,.42);
  background:
    radial-gradient(circle at 12% 50%, rgba(246,173,85,.16), transparent 32%),
    linear-gradient(90deg, rgba(246,173,85,.1), rgba(3,4,5,.99) 62%);
  box-shadow: 0 10px 34px rgba(0,0,0,.36);
}
.book-sales-bar__status { align-self:center; gap:10px; }
.book-sales-bar__status-copy { display:grid; gap:2px; }
.book-sales-bar__status strong { font-size:10px; letter-spacing:.17em; }
.book-sales-bar__status small { font-size:6px; letter-spacing:.14em; }
.book-sales-bar__pulse { width:8px; height:8px; flex-basis:8px; }
.book-sales-bar__countdown { min-width:0; }
.book-sales-bar .book-countdown {
  display:block;
  width:auto;
  justify-self:center;
}
.book-sales-bar .book-countdown__units {
  display:grid;
  grid-template-columns:repeat(4,auto);
  gap:clamp(14px,2vw,30px);
}
.book-sales-bar .book-countdown__units > span {
  display:flex;
  align-items:baseline;
  gap:4px;
}
.book-sales-bar .book-countdown__units strong {
  font-size:clamp(22px,2vw,31px);
  line-height:1;
}
.book-sales-bar .book-countdown__units small {
  font-size:5px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.book-sales-bar__cta {
  min-height:42px;
  padding:5px 18px;
  display:grid;
  gap:2px;
  animation:none;
}
.book-sales-bar__cta strong { font-size:10px; letter-spacing:.12em; }
.book-sales-bar__cta small { font-size:5px; }
.book-sales-bar__marquee { display:none !important; }

.book-page .site-header,
.book-page .site-header.is-scrolled {
  top:64px;
  min-height:68px;
}
.book-header {
  grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-areas:"brand nav cta";
  gap:24px;
}
.book-header > .brand { grid-area:brand; }
.book-header > .site-nav { grid-area:nav; }
.book-header > .header-cta { grid-area:cta; }
.book-header > .menu-toggle { grid-area:menu; }
.book-header .brand__sigil { width:28px; }
.book-header .brand__name { font-size:10px; }
.header-cta--presale { min-height:36px; padding:8px 13px; font-size:8px; }

.book-hero { min-height:max(760px,100svh); }
.book-hero__inner {
  width:min(1180px,calc(100% - 48px));
  margin:158px auto 66px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(310px,.72fr);
  grid-template-areas:
    "copy cover"
    "conversion cover";
  align-items:center;
  column-gap:clamp(46px,7vw,96px);
  row-gap:28px;
}
.book-hero__copy { grid-area:copy; align-self:end; }
.book-hero__cover { grid-area:cover; align-self:center; justify-self:end; }
.book-hero__conversion { grid-area:conversion; align-self:start; max-width:650px; }

.book-hero__presale-label {
  width:fit-content;
  margin:0 0 20px;
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--bone);
  text-decoration:none;
  font-family:var(--mono);
  text-transform:uppercase;
}
.book-hero__presale-label span {
  padding:7px 10px;
  background:#f6ad55;
  color:#120c06;
  font-size:8px;
  font-weight:950;
  letter-spacing:.16em;
}
.book-hero__presale-label strong {
  color:rgba(255,255,255,.56);
  font-size:8px;
  font-weight:600;
  letter-spacing:.13em;
}
.book-hero h1 {
  margin:0;
  font-family:var(--display);
  font-weight:400;
  line-height:.82;
  text-transform:uppercase;
}
.book-hero h1 .book-title__series {
  display:block;
  color:#f2ede3;
  font-family:var(--display);
  font-size:clamp(72px,8.8vw,128px);
  line-height:.78;
  letter-spacing:-.035em;
}
.book-hero h1 .book-title__volume {
  display:block;
  margin-top:13px;
  color:rgba(242,237,227,.72);
  font-family:var(--display);
  font-size:clamp(36px,4.2vw,60px);
  line-height:.86;
  letter-spacing:.025em;
}
.book-hero__buy-kicker {
  margin:0 0 10px;
  color:#f6ad55;
  font-family:var(--mono);
  font-size:9px;
  font-weight:900;
  letter-spacing:.19em;
  text-transform:uppercase;
}
.book-hero__primary-buy {
  width:min(520px,100%);
  min-width:0;
  min-height:82px;
  justify-content:center;
  align-items:center;
  padding:15px 22px;
  background:linear-gradient(135deg,#ffc46f,#e69638);
  border:2px solid #ffd69a;
  color:#130d07;
  box-shadow:0 18px 48px rgba(229,147,52,.25),0 0 34px rgba(246,173,85,.08);
}
.book-hero__primary-buy:hover { color:#130d07; filter:brightness(1.06); }
.book-hero__primary-buy > span { font-size:14px; font-weight:950; }
.book-hero__primary-buy > small { color:#60380f; font-size:7px; font-weight:900; opacity:1; }
.book-hero__buy-note {
  max-width:530px;
  margin:12px 0 0;
  color:rgba(238,233,223,.64);
  font-size:12px;
}
.book-hero__buy-note strong { color:var(--bone); }
.book-hero__secondary-links {
  margin-top:16px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
}
.book-hero__secondary-links a {
  color:rgba(238,233,223,.56);
  font-family:var(--mono);
  font-size:8px;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
}
.book-hero__secondary-links a:hover { color:#f6ad55; }
.book-hero__metadata,
.book-hero__statement,
.book-hero__description,
.book-hero__sales-pitch,
.book-hero__mega-sale,
.book-presale-chip,
.book-code,
.book-kicker { display:none !important; }

@media (max-width:980px) {
  .book-sales-bar {
    grid-template-columns:auto 1fr auto;
    gap:12px;
    padding-inline:12px;
  }
  .book-sales-bar__status small { display:none; }
  .book-sales-bar .book-countdown__units { gap:12px; }
  .book-sales-bar .book-countdown__units strong { font-size:22px; }
  .book-sales-bar__cta { padding-inline:12px; }
  .book-page .site-header,
  .book-page .site-header.is-scrolled { min-height:64px; }
  .book-header {
    grid-template-columns:auto 1fr auto;
    grid-template-areas:"brand . menu";
    padding-inline:16px;
    gap:10px;
  }
  .book-header .works-switcher,
  .book-header .header-cta { display:none !important; }
  .book-header .menu-toggle { width:40px; height:40px; }
  .book-hero__inner {
    margin-top:154px;
    grid-template-columns:1fr minmax(270px,.62fr);
    column-gap:36px;
  }
  .book-hero h1 .book-title__series { font-size:clamp(66px,10vw,96px); }
  .book-hero h1 .book-title__volume { font-size:clamp(34px,5vw,48px); }
}

@media (max-width:720px) {
  .book-sales-bar {
    height:70px;
    grid-template-columns:1fr auto;
    grid-template-rows:auto auto;
    gap:1px 8px;
    padding:7px 8px;
  }
  .book-sales-bar__status { grid-column:1; grid-row:1; }
  .book-sales-bar__status strong { font-size:7px; }
  .book-sales-bar__countdown { grid-column:1; grid-row:2; justify-self:start !important; }
  .book-sales-bar .book-countdown__units { gap:7px; }
  .book-sales-bar .book-countdown__units strong { font-size:17px; }
  .book-sales-bar .book-countdown__units small { font-size:4px; }
  .book-sales-bar__cta {
    grid-column:2;
    grid-row:1 / 3;
    align-self:stretch;
    min-width:112px;
    min-height:0;
    padding:6px 9px;
  }
  .book-sales-bar__cta strong { font-size:7px; }
  .book-sales-bar__cta small { font-size:4px; }
  .book-page .site-header,
  .book-page .site-header.is-scrolled { top:70px; min-height:62px; }
  .book-header .brand__sigil { width:26px; }
  .book-header .brand__name { font-size:9px; }
  .book-header .menu-toggle { width:38px; height:38px; }
  .book-hero { min-height:0; padding-bottom:58px; }
  .book-hero__inner {
    width:min(100% - 28px,560px);
    margin:150px auto 42px;
    grid-template-columns:1fr;
    grid-template-areas:
      "copy"
      "cover"
      "conversion";
    gap:0;
    text-align:center;
  }
  .book-hero__copy { align-self:auto; }
  .book-hero__presale-label {
    margin:0 auto 17px;
    flex-direction:column;
    gap:7px;
  }
  .book-hero__presale-label span { font-size:7px; }
  .book-hero__presale-label strong { font-size:7px; }
  .book-hero h1 .book-title__series {
    font-size:clamp(58px,17vw,88px);
    line-height:.8;
  }
  .book-hero h1 .book-title__volume {
    margin-top:9px;
    font-size:clamp(34px,10.5vw,50px);
  }
  .book-hero__cover {
    width:min(270px,74vw);
    justify-self:center;
    margin:31px auto 27px;
  }
  .book-mockup__hint {
    left:50%;
    bottom:10px;
    width:max-content;
    max-width:calc(100vw - 42px);
    transform:translateX(-50%);
    padding:7px 9px;
    font-size:6px;
  }
  .book-hero__conversion {
    width:100%;
    max-width:480px;
    margin-inline:auto;
    text-align:center;
  }
  .book-hero__buy-kicker { font-size:8px; margin-bottom:9px; }
  .book-hero__primary-buy {
    width:100%;
    min-height:76px;
    flex-direction:column;
    gap:4px;
    text-align:center;
  }
  .book-hero__primary-buy > span { font-size:12px; }
  .book-hero__primary-buy > small { font-size:6px; }
  .book-hero__buy-note { margin:11px auto 0; font-size:11px; }
  .book-hero__secondary-links { justify-content:center; margin-top:14px; }
  .book-hero__secondary-links a { font-size:7px; }
}

@media (max-width:420px) {
  .book-sales-bar__pulse { display:none; }
  .book-sales-bar__status strong { letter-spacing:.1em; }
  .book-sales-bar .book-countdown__units { gap:5px; }
  .book-sales-bar .book-countdown__units > span { gap:2px; }
  .book-sales-bar .book-countdown__units strong { font-size:15px; }
  .book-sales-bar__cta { min-width:104px; padding-inline:7px; }
  .book-hero__inner { width:calc(100% - 24px); }
  .book-hero h1 .book-title__series { font-size:clamp(54px,16.5vw,70px); }
  .book-hero h1 .book-title__volume { font-size:clamp(31px,9.8vw,42px); }
  .book-hero__cover { width:min(252px,72vw); }
}


/* v37: mobile navigation-first interaction.
   The book itself is always a normal scroll surface; rotation uses a dedicated rail. */
.book-mobile-rotate { display: none; }

@media (hover: none) and (pointer: coarse), (max-width: 900px) {
  .book-mockup {
    touch-action: pan-y pinch-zoom !important;
    -ms-touch-action: pan-y !important;
    cursor: default;
  }

  .book-mockup__hint {
    display: none !important;
  }

  .book-mobile-rotate {
    display: grid;
    grid-template-columns: auto minmax(120px, 1fr);
    align-items: center;
    gap: 10px;
    width: min(310px, 86vw);
    margin: 4px auto 0;
    padding: 8px 10px;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(5,7,9,.74);
    box-shadow: 0 12px 34px rgba(0,0,0,.24);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .book-mobile-rotate__label {
    display: grid;
    gap: 2px;
    min-width: 72px;
    font-family: var(--mono);
    text-transform: uppercase;
    line-height: 1;
  }

  .book-mobile-rotate__label span {
    color: var(--bone);
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .14em;
  }

  .book-mobile-rotate__label small {
    color: rgba(238,233,223,.48);
    font-size: 5px;
    letter-spacing: .1em;
  }

  .book-mobile-rotate__range {
    width: 100%;
    min-width: 0;
    margin: 0;
    accent-color: var(--signal-bright);
    cursor: ew-resize;
    touch-action: none;
  }

  .book-mobile-rotate__range::-webkit-slider-runnable-track {
    height: 3px;
    background: linear-gradient(90deg, rgba(255,255,255,.16), rgba(255,255,255,.46), rgba(255,255,255,.16));
    border-radius: 99px;
  }

  .book-mobile-rotate__range::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 22px;
    height: 22px;
    margin-top: -9.5px;
    border: 1px solid rgba(255,255,255,.6);
    border-radius: 50%;
    background: var(--signal-bright);
    box-shadow: 0 0 0 4px rgba(255,255,255,.07), 0 4px 14px rgba(0,0,0,.35);
  }

  .book-mobile-rotate__range::-moz-range-track {
    height: 3px;
    background: rgba(255,255,255,.28);
    border-radius: 99px;
  }

  .book-mobile-rotate__range::-moz-range-thumb {
    width: 22px;
    height: 22px;
    border: 1px solid rgba(255,255,255,.6);
    border-radius: 50%;
    background: var(--signal-bright);
  }
}

@media (max-width: 420px) {
  .book-mobile-rotate {
    width: min(286px, 88vw);
    gap: 8px;
    padding: 7px 9px;
  }
}

/* v39: mobile book surface is completely inert.
   The book and every visual child are removed from hit testing. The surrounding
   cover area and page keep the browser's native, unrestricted gesture handling.
   Rotation on touch devices is available only through the dedicated slider. */
@media (hover: none) and (pointer: coarse) {
  .book-hero__cover {
    touch-action: auto !important;
    -ms-touch-action: auto !important;
  }

  .book-mockup,
  .book-mockup * {
    pointer-events: none !important;
    touch-action: auto !important;
    -ms-touch-action: auto !important;
  }

  .book-mockup {
    cursor: default !important;
    user-select: none;
    -webkit-user-select: none;
  }

  .book-mobile-rotate,
  .book-mobile-rotate * {
    pointer-events: auto !important;
  }
}

/* v40 — full-page typography normalization.
   Scale follows Google Material 3 roles (display/headline/title/body/label)
   and keeps font sizing relative so browser/user text scaling remains effective. */
.book-page {
  --type-display-xl: clamp(4.5rem, 8.8vw, 8rem);
  --type-display-lg: clamp(3rem, 5.4vw, 5.5rem);
  --type-display-md: clamp(2.25rem, 4.2vw, 3.75rem);
  --type-headline-lg: clamp(2rem, 3.4vw, 3.25rem);
  --type-headline-md: clamp(1.75rem, 2.7vw, 2.5rem);
  --type-headline-sm: clamp(1.5rem, 2.2vw, 2rem);
  --type-title-lg: 1.375rem;
  --type-title-md: 1rem;
  --type-title-sm: .875rem;
  --type-body-lg: 1rem;
  --type-body-md: .875rem;
  --type-body-sm: .75rem;
  --type-label-lg: .875rem;
  --type-label-md: .75rem;
  --type-label-sm: .6875rem;
  font-size: 1rem;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Shared page chrome */
.book-page .brand__name {
  font-size: var(--type-label-md);
  line-height: 1;
}
.book-page .site-nav a {
  font-size: var(--type-label-md);
  line-height: 1.25;
}
.book-page .header-cta,
.book-page .header-cta--presale {
  font-size: var(--type-label-md);
  line-height: 1.25;
}
.book-page .footer-brand p,
.book-page .footer-links a {
  font-size: var(--type-body-md);
  line-height: 1.5;
}
.book-page .footer-links strong {
  font-size: var(--type-label-md);
  line-height: 1.35;
}
.book-page .footer-bottom {
  font-size: var(--type-label-sm);
  line-height: 1.45;
}

/* Reusable labels and section copy */
.book-eyebrow,
.book-code,
.profile-status,
.faction-id,
.book-section__index span,
.book-section__index small,
.purchase-strip__label span,
.purchase-strip__badge small,
.purchase-card__tags span,
.purchase-card__format,
.purchase-card__live,
.image-readout span,
.synopsis-facts small,
.character-console__label span,
.character-tabs button,
.character-tabs button span,
.character-profile dt,
.faction-card strong,
.themes__list span,
.themes__image span,
.gallery-item span,
.lightbox figcaption,
.excerpt__source,
.book-social small,
.book-mobile-rotate__label span,
.book-mobile-rotate__label small {
  font-size: var(--type-label-sm);
  line-height: 1.45;
}
.book-eyebrow,
.book-code,
.profile-status,
.faction-id,
.purchase-card__format,
.character-tabs button {
  font-size: var(--type-label-md);
}

.book-section h2 { font-size: var(--type-display-lg); line-height: 1.04; }
.book-section-heading > p:last-child,
.book-release__copy > p:not(.book-eyebrow),
.book-intro__copy > p:not(.book-eyebrow):not(.book-lede),
.book-reader__heading > p,
.book-cta__copy > p:not(.book-eyebrow):not(.form-status),
.purchase-modal__panel > p:not(.book-eyebrow) {
  font-size: var(--type-body-lg);
  line-height: 1.6;
}

/* Pre-sale bar: readable labels without losing its compact sales role */
.book-sales-bar {
  height: 4.5rem;
}
.book-sales-bar__status strong {
  font-size: var(--type-label-md);
  line-height: 1.25;
}
.book-sales-bar__status small {
  font-size: var(--type-label-sm);
  line-height: 1.35;
}
.book-sales-bar .book-countdown__intro small,
.book-sales-bar .book-countdown__intro strong,
.book-sales-bar .book-countdown__units small {
  font-size: var(--type-label-sm);
  line-height: 1.35;
}
.book-sales-bar .book-countdown__units strong {
  font-size: clamp(1.625rem, 2vw, 2rem);
  line-height: 1;
}
.book-sales-bar__cta strong {
  font-size: var(--type-label-lg);
  line-height: 1.25;
}
.book-sales-bar__cta small,
.book-sales-bar__marquee-track {
  font-size: var(--type-label-sm);
  line-height: 1.35;
}
.book-page .site-header,
.book-page .site-header.is-scrolled { top: 4.5rem; }

/* Hero */
.book-hero__inner { margin-top: 10.375rem; }
.book-hero__presale-label span,
.book-hero__presale-label strong,
.book-hero__buy-kicker {
  font-size: var(--type-label-md);
  line-height: 1.4;
}
.book-hero h1 .book-title__series {
  font-size: var(--type-display-xl);
  line-height: .8;
}
.book-hero h1 .book-title__volume {
  font-size: var(--type-display-md);
  line-height: .92;
}
.book-hero__primary-buy > span,
.book-button--amazon > span,
.purchase-card__button span,
.purchase-card__button--live span {
  font-size: var(--type-label-lg);
  line-height: 1.3;
}
.book-hero__primary-buy > small,
.book-button--amazon > small,
.purchase-card__button small {
  font-size: var(--type-label-sm);
  line-height: 1.35;
}
.book-hero__buy-note {
  font-size: var(--type-body-md);
  line-height: 1.55;
}
.book-hero__secondary-links a {
  font-size: var(--type-label-md);
  line-height: 1.35;
}
.book-mockup__hint {
  font-size: var(--type-label-sm);
  line-height: 1.35;
}

/* Release and purchase */
.book-release__status small,
.book-release__date small,
.book-release__date strong {
  font-size: var(--type-label-md);
  line-height: 1.35;
}
.book-release__status strong { font-size: var(--type-title-lg); line-height: 1.27; }
.book-release__copy h2 { font-size: var(--type-headline-lg); line-height: 1.08; }
.book-release__copy .book-release__note { font-size: var(--type-body-md); line-height: 1.5; }
.book-release__date span { font-size: clamp(3.5rem, 5vw, 4.75rem); line-height: .95; }
.purchase-strip__label strong { font-size: var(--type-headline-sm); line-height: 1.15; }
.purchase-card h3 { font-size: var(--type-headline-lg); line-height: 1.05; }
.purchase-card > p:not(.purchase-card__format),
.purchase-follow > div:first-child > p:last-child {
  font-size: var(--type-body-md);
  line-height: 1.6;
}
.purchase-follow h3 { font-size: var(--type-headline-md); line-height: 1.12; }
.book-social strong { font-size: var(--type-title-md); line-height: 1.3; }
.purchase-modal__panel h2 { font-size: var(--type-headline-lg); line-height: 1.08; }
.purchase-modal__socials a { font-size: var(--type-label-md); line-height: 1.35; }

/* Story, characters, factions, themes, gallery */
.image-readout strong { font-size: var(--type-title-md); line-height: 1.35; }
.book-lede { font-size: var(--type-headline-sm); line-height: 1.35; }
.book-intro blockquote { font-size: var(--type-headline-sm); line-height: 1.4; }
.synopsis-facts span { font-size: var(--type-headline-lg); line-height: 1; }
.call-section__copy h2 { font-size: clamp(3.25rem, 7vw, 6.25rem); line-height: .98; }
.call-message { font-size: var(--type-headline-sm); line-height: 1.4; }
.call-section__coordinates { font-size: var(--type-label-sm); line-height: 1.45; }
.character-console__label strong { font-size: var(--type-title-lg); line-height: 1.2; }
.character-profile h3 { font-size: clamp(2.875rem, 5vw, 4.625rem); line-height: 1; }
.character-profile > p:not(.profile-status) { font-size: var(--type-body-lg); line-height: 1.6; }
.character-profile dd { font-size: var(--type-body-md); line-height: 1.45; }
.faction-card h3 { font-size: clamp(2.5rem, 4vw, 3.25rem); line-height: 1.05; }
.faction-card p { font-size: var(--type-body-md); line-height: 1.55; }
.themes__copy h2 { font-size: var(--type-display-lg); line-height: 1.04; }
.themes__list h3 { font-size: var(--type-title-lg); line-height: 1.25; }
.themes__list p { font-size: var(--type-body-md); line-height: 1.55; }
.excerpt__text p { font-size: var(--type-title-lg); line-height: 1.5; }
.excerpt__text .excerpt__emphasis { font-size: var(--type-display-lg); line-height: 1; }

/* Interactive reader: keep the simulated-page hierarchy, but remove 5–9px UI text. */
.reader-toolbar button,
.reader-toolbar select,
.reader-footer__arrow {
  font-size: var(--type-label-md);
  line-height: 1.35;
}
.reader-toolbar__chapter span,
.reader-paper__chapter,
.reader-paper__number,
.reader-frontispiece small,
.reader-frontispiece strong,
.reader-chapter-opener__copy span,
.reader-footer__progress span,
.reader-help {
  font-size: var(--type-label-sm);
  line-height: 1.45;
}
.reader-copy {
  font-size: clamp(.75rem, .96vw, .90625rem);
  line-height: 1.5;
}
.reader-copy--signal,
.reader-copy--ai {
  font-size: clamp(.6875rem, .72vw, .75rem);
  line-height: 1.55;
}
.reader-frontispiece p { font-size: clamp(1.0625rem, 1.7vw, 1.5625rem); line-height: 1.4; }
.reader-frontispiece h3,
.reader-chapter-opener__copy h3 { line-height: 1; }
.reader-end p { font-size: var(--type-body-md); line-height: 1.5; }

/* Mobile: preserve the same roles, not miniature desktop text. */
@media (max-width: 980px) {
  .book-page .site-nav a {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media (max-width: 720px) {
  .book-sales-bar {
    height: 5.125rem;
    gap: .125rem .625rem;
    padding: .5rem .625rem;
  }
  .book-sales-bar__status strong { font-size: var(--type-label-sm); }
  .book-sales-bar .book-countdown__units { gap: .5rem; }
  .book-sales-bar .book-countdown__units strong { font-size: 1.125rem; }
  .book-sales-bar .book-countdown__units small { font-size: var(--type-label-sm); }
  .book-sales-bar__cta {
    min-width: 7.5rem;
    padding: .5rem .625rem;
  }
  .book-sales-bar__cta strong { font-size: var(--type-label-md); }
  .book-sales-bar__cta small { font-size: var(--type-label-sm); }
  .book-page .site-header,
  .book-page .site-header.is-scrolled { top: 5.125rem; }
  .book-header .brand__name { font-size: var(--type-label-sm); }
  .book-hero__inner { margin-top: 10.5rem; }
  .book-hero__presale-label span,
  .book-hero__presale-label strong,
  .book-hero__buy-kicker { font-size: var(--type-label-sm); }
  .book-hero h1 .book-title__series {
    font-size: clamp(3.625rem, 17vw, 5.5rem);
  }
  .book-hero h1 .book-title__volume {
    font-size: clamp(2.125rem, 10.5vw, 3.125rem);
  }
  .book-hero__primary-buy > span { font-size: var(--type-label-lg); }
  .book-hero__primary-buy > small { font-size: var(--type-label-sm); }
  .book-hero__buy-note { font-size: var(--type-body-md); }
  .book-hero__secondary-links a { font-size: var(--type-label-md); }
  .book-section h2 { font-size: clamp(2.25rem, 11vw, 3.5rem); }
  .reader-copy { font-size: clamp(.8125rem, 2.8vw, .9375rem); line-height: 1.5; }
  .reader-copy--signal,
  .reader-copy--ai { font-size: var(--type-label-sm); }
  .reader-toolbar button { font-size: var(--type-label-md); }
}

@media (max-width: 420px) {
  .book-sales-bar { height: 5.25rem; }
  .book-page .site-header,
  .book-page .site-header.is-scrolled { top: 5.25rem; }
  .book-sales-bar__countdown { min-width: 0; }
  .book-sales-bar .book-countdown__units { gap: .35rem; }
  .book-sales-bar .book-countdown__units strong { font-size: 1rem; }
  .book-sales-bar__cta { min-width: 7rem; }
  .book-hero__inner { margin-top: 10.75rem; }
  .book-hero h1 .book-title__series { font-size: clamp(3.375rem, 16.5vw, 4.375rem); }
  .book-hero h1 .book-title__volume { font-size: clamp(1.9375rem, 9.8vw, 2.625rem); }
}
.book-floating-buy small {
  font-size: var(--type-label-sm);
  line-height: 1.35;
}
.book-floating-buy strong {
  font-size: var(--type-label-md);
  line-height: 1.3;
}

/* v43: remove unwanted yellow dot from header CTA */


/* v44 — mobile first-fold compression.
   Preserve typography; reduce only chrome, spacing and redundant mobile elements
   so the primary pre-sale CTA is visible in the first viewport. */
@media (max-width: 720px) {
  /* One compact sales row: countdown + buy. */
  .book-sales-bar {
    height: 3.25rem;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: 1fr;
    gap: .45rem;
    padding: .3rem .5rem;
  }
  .book-sales-bar__status {
    display: none !important;
  }
  .book-sales-bar__countdown {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start !important;
  }
  .book-sales-bar__cta {
    grid-column: 2;
    grid-row: 1;
    align-self: stretch;
    min-width: 7.15rem;
    min-height: 0;
    padding: .35rem .55rem;
  }

  /* Compact header without changing its typography. */
  .book-page .site-header,
  .book-page .site-header.is-scrolled {
    top: 3.25rem;
    min-height: 3.15rem;
  }
  .book-header {
    min-height: 3.15rem;
    padding-top: .2rem;
    padding-bottom: .2rem;
  }
  .book-header .menu-toggle {
    width: 2.25rem;
    height: 2.25rem;
  }

  /* Hero starts immediately after the two fixed bars. */
  .book-hero {
    min-height: 0;
    padding-bottom: 1.75rem;
  }
  .book-hero__inner {
    width: min(calc(100% - 1.25rem), 35rem);
    margin: 6.95rem auto 1.5rem;
  }

  /* Keep only the useful pre-sale signal above the title. */
  .book-hero__presale-label {
    margin: 0 auto .6rem;
    gap: 0;
  }
  .book-hero__presale-label strong {
    display: none;
  }

  /* The cover still dominates, but no longer consumes the entire first fold. */
  .book-hero__cover {
    width: min(12.75rem, 56vw);
    margin: .8rem auto .3rem;
  }

  /* Slider stays available, just with less vertical chrome. */
  .book-mobile-rotate {
    width: min(14.5rem, 72vw);
    margin: 0 auto .25rem;
    padding: .35rem .5rem;
    gap: .45rem;
  }
  .book-mobile-rotate__label small {
    display: none;
  }

  /* Conversion begins immediately after the book. */
  .book-hero__conversion {
    margin-top: .45rem;
  }
  .book-hero__buy-kicker,
  .book-hero__buy-note {
    display: none;
  }
  .book-hero__primary-buy {
    min-height: 4rem;
    padding-top: .6rem;
    padding-bottom: .6rem;
  }
  .book-hero__secondary-links {
    margin-top: .55rem;
  }
  .book-hero__secondary-links a[href="#comprar"] {
    display: none;
  }
}

@media (max-width: 420px) {
  .book-sales-bar {
    height: 3.15rem;
  }
  .book-page .site-header,
  .book-page .site-header.is-scrolled {
    top: 3.15rem;
    min-height: 3rem;
  }
  .book-header {
    min-height: 3rem;
  }
  .book-hero__inner {
    width: calc(100% - 1rem);
    margin-top: 6.55rem;
  }
  .book-hero__cover {
    width: min(12.25rem, 55vw);
    margin-top: .65rem;
  }
  .book-mobile-rotate {
    width: min(14rem, 74vw);
  }
}


/* v47 — physical edition proof, integrated with the purchase section */
.physical-edition-preview {
  width: min(1180px, 100%);
  margin: 18px auto 30px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(250px, 340px) minmax(0, 1fr);
  align-items: stretch;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 18% 50%, rgba(246,173,85,.095), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012));
  box-shadow: 0 28px 76px rgba(0,0,0,.22);
}
.physical-edition-preview__media {
  position: relative;
  min-width: 0;
  aspect-ratio: 9 / 16;
  overflow: hidden;
  background: #050607;
  border-right: 1px solid rgba(255,255,255,.12);
}
.physical-edition-preview__media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), inset 0 -90px 80px rgba(0,0,0,.22);
}
.physical-edition-preview__media video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  background: #050607;
}
.physical-edition-preview__copy {
  min-width: 0;
  padding: clamp(28px, 4.5vw, 62px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.physical-edition-preview__copy .book-eyebrow {
  margin-bottom: 14px;
}
.physical-edition-preview__copy h3 {
  max-width: 700px;
  margin: 0 0 22px;
  font-family: var(--display);
  font-size: clamp(2.35rem, 4.2vw, 4.4rem);
  font-weight: 400;
  line-height: .96;
}
.physical-edition-preview__copy > p:last-of-type {
  max-width: 680px;
  margin: 0;
  color: rgba(238,233,223,.7);
  font-size: var(--type-body-lg, 1rem);
  line-height: 1.72;
}
.physical-edition-preview__copy strong {
  color: var(--bone);
  font-weight: 600;
}
.physical-edition-preview__facts {
  width: 100%;
  max-width: 720px;
  margin-top: 30px;
  display: grid;
  grid-template-columns: minmax(140px,.72fr) minmax(220px,1.28fr);
  gap: 10px;
}
.physical-edition-preview__facts span {
  min-height: 76px;
  padding: 13px 15px;
  box-sizing: border-box;
  display: grid;
  align-content: center;
  gap: 5px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.24);
}
.physical-edition-preview__facts span:first-child {
  border-top-color: rgba(246,173,85,.7);
}
.physical-edition-preview__facts small {
  color: rgba(255,255,255,.42);
  font-family: var(--mono);
  font-size: var(--type-label-sm, .6875rem);
  letter-spacing: .13em;
  text-transform: uppercase;
}
.physical-edition-preview__facts strong {
  font-family: var(--mono);
  font-size: var(--type-label-lg, .875rem);
  line-height: 1.35;
  letter-spacing: .04em;
}

@media (max-width: 900px) {
  .physical-edition-preview {
    grid-template-columns: minmax(220px, 290px) minmax(0, 1fr);
  }
  .physical-edition-preview__copy {
    padding: 28px 26px;
  }
  .physical-edition-preview__copy h3 {
    font-size: clamp(2rem, 5vw, 3.2rem);
  }
  .physical-edition-preview__facts {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .physical-edition-preview {
    width: 100%;
    margin: 14px auto 22px;
    grid-template-columns: 1fr;
    overflow: visible;
    background: linear-gradient(180deg, rgba(255,255,255,.036), rgba(255,255,255,.012));
  }
  .physical-edition-preview__media {
    width: min(72vw, 280px);
    justify-self: center;
    border-right: 0;
    border: 1px solid rgba(255,255,255,.16);
    transform: translateY(16px);
    box-shadow: 0 22px 58px rgba(0,0,0,.36);
  }
  .physical-edition-preview__copy {
    padding: 34px 18px 20px;
    align-items: center;
    text-align: center;
  }
  .physical-edition-preview__copy .book-eyebrow {
    margin-bottom: 10px;
  }
  .physical-edition-preview__copy h3 {
    margin-bottom: 16px;
    font-size: clamp(2rem, 9vw, 2.8rem);
  }
  .physical-edition-preview__copy > p:last-of-type {
    font-size: var(--type-body-md, .875rem);
  }
  .physical-edition-preview__facts {
    margin-top: 20px;
    grid-template-columns: 1fr;
  }
  .physical-edition-preview__facts span {
    min-height: 66px;
    text-align: left;
  }
}


/* v49 — stable single-slide physical edition carousel */
.physical-edition-gallery {
  grid-column: 1 / -1;
  min-width: 0;
  padding: 26px 28px 28px;
  border-top: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.16);
}
.physical-edition-gallery__heading {
  margin-bottom: 18px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}
.physical-edition-gallery__heading .book-eyebrow { margin: 0 0 7px; }
.physical-edition-gallery__heading h4 {
  margin: 0;
  color: var(--bone);
  font-family: var(--display);
  font-size: clamp(1.8rem,3vw,2.8rem);
  font-weight: 400;
  line-height: 1;
}
.physical-edition-gallery__controls {
  display: flex;
  gap: 8px;
  flex: 0 0 auto;
}
.physical-edition-gallery__controls button {
  width: 46px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.025);
  color: var(--bone);
  font: 400 1.15rem/1 var(--mono);
  cursor: pointer;
  transition: background .2s ease,border-color .2s ease,color .2s ease;
}
.physical-edition-gallery__controls button:hover,
.physical-edition-gallery__controls button:focus-visible {
  border-color: rgba(246,173,85,.7);
  background: rgba(246,173,85,.1);
  color: #f6ad55;
}
.physical-edition-gallery__stage {
  position: relative;
  width: min(100%, 420px);
  aspect-ratio: 3 / 4;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  background: #050607;
  box-shadow: 0 22px 55px rgba(0,0,0,.25);
  touch-action: pan-y pinch-zoom;
}
.physical-edition-gallery__item {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transform: scale(.985);
  transition: opacity .28s ease,transform .38s ease,visibility 0s linear .3s;
}
.physical-edition-gallery__item.is-active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
  transition-delay: 0s;
}
.physical-edition-gallery__item::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg,transparent 70%,rgba(0,0,0,.64));
}
.physical-edition-gallery__item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.physical-edition-gallery__item figcaption {
  position: absolute;
  z-index: 2;
  left: 16px;
  right: 16px;
  bottom: 14px;
  color: rgba(255,255,255,.9);
  font-family: var(--mono);
  font-size: var(--type-label-sm,.6875rem);
  letter-spacing: .11em;
  text-transform: uppercase;
}
.physical-edition-gallery__footer {
  width: min(100%,420px);
  margin: 12px auto 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.physical-edition-gallery__dots {
  display: flex;
  align-items: center;
  gap: 8px;
}
.physical-edition-gallery__dots button {
  width: 24px;
  height: 4px;
  padding: 0;
  border: 0;
  background: rgba(255,255,255,.18);
  cursor: pointer;
  transition: width .2s ease,background .2s ease;
}
.physical-edition-gallery__dots button.is-active {
  width: 38px;
  background: #f6ad55;
}
.physical-edition-gallery__counter {
  color: rgba(255,255,255,.5);
  font-family: var(--mono);
  font-size: var(--type-label-sm,.6875rem);
  letter-spacing: .12em;
}
@media (max-width:680px) {
  .physical-edition-gallery { padding: 22px 14px 20px; }
  .physical-edition-gallery__heading { margin-bottom: 14px; align-items: center; }
  .physical-edition-gallery__heading h4 { font-size: clamp(1.65rem,7vw,2.15rem); }
  .physical-edition-gallery__controls button { width: 42px; height: 40px; }
  .physical-edition-gallery__stage { width: min(82vw,330px); }
  .physical-edition-gallery__footer { width: min(82vw,330px); }
}
@media (prefers-reduced-motion: reduce) {
  .physical-edition-gallery__item { transition: none; }
}

/* v50 — merge physical-edition video + photo carousel into one continuous card */
.physical-edition-preview {
  row-gap: 0;
}

.physical-edition-gallery {
  grid-column: 1 / -1;
  margin: 0;
  padding: 8px 28px 30px;
  border-top: 0;
  background: transparent;
}

.physical-edition-gallery__heading {
  padding-top: 0;
}

@media (min-width: 901px) {
  .physical-edition-preview__copy {
    padding-bottom: 34px;
  }
  .physical-edition-gallery {
    padding-top: 4px;
  }
}

@media (max-width: 680px) {
  .physical-edition-gallery {
    padding: 4px 14px 22px;
  }
  .physical-edition-preview__copy {
    padding-bottom: 16px;
  }
}

/* v55 — clean 360 panorama, no overlays */
.book-intro {
  align-items: start;
}

.book-intro__visual {
  width: min(100%, 760px);
  max-width: 760px;
}

.book-intro__visual::before {
  inset: 18px -18px -18px 18px;
}

.book-panorama {
  position: relative;
  isolation: isolate;
  width: 100%;
}

.book-panorama__meta {
  margin: 0 0 12px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  font-family: var(--mono);
  text-transform: uppercase;
}

.book-panorama__meta span {
  color: var(--signal-bright);
  font-size: 9px;
  letter-spacing: .23em;
}

.book-panorama__meta strong {
  color: rgba(238,233,223,.62);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .13em;
  text-align: right;
}

.book-panorama__viewport {
  position: relative;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 2 / 1;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.13);
  background: #050607 url('assets/book/first-morning-360.webp') center center / cover no-repeat;
  box-shadow: 0 24px 70px rgba(0,0,0,.42);
}

.book-panorama .pnlm-container,
.book-panorama .pnlm-render-container,
.book-panorama .pnlm-render-container canvas {
  width: 100% !important;
  height: 100% !important;
}

.book-panorama .pnlm-container {
  background: #050607;
}

.book-panorama .pnlm-load-box,
.book-panorama .pnlm-about-msg,
.book-panorama .pnlm-info-box,
.book-panorama .pnlm-error-msg,
.book-panorama .pnlm-controls-container,
.book-panorama .pnlm-panorama-info {
  display: none !important;
}

.book-panorama__caption {
  margin-top: 10px;
  color: rgba(238,233,223,.46);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .16em;
  line-height: 1.5;
  text-transform: uppercase;
}

.book-panorama noscript img {
  width: 100%;
  height: auto;
  display: block;
}

@media (max-width: 1024px) {
  .book-intro {
    gap: clamp(32px, 6vw, 60px);
  }

  .book-intro__visual {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .book-panorama__meta {
    margin-bottom: 9px;
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .book-panorama__meta span,
  .book-panorama__meta strong,
  .book-panorama__caption {
    font-size: 8px;
  }

  .book-panorama__meta strong {
    text-align: left;
  }

  .book-panorama__caption {
    margin-top: 8px;
  }
}


/* v57 — definitive post-launch state */
.book-sales-bar.book-sales-bar--released {
  height: 4.25rem;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: 1fr;
  gap: 1rem;
  padding: .45rem max(1rem, calc((100vw - 86rem) / 2));
}
.book-sales-bar--released .book-sales-bar__status {
  display: flex !important;
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  text-decoration: none;
  min-width: 0;
}
.book-sales-bar--released .book-sales-bar__status strong {
  color: #ffd08d;
}
.book-sales-bar--released .book-sales-bar__status small {
  display: block;
  color: rgba(255,255,255,.55);
}
.book-sales-bar--released .book-sales-bar__cta {
  grid-column: 2;
  grid-row: 1;
  align-self: stretch;
  min-height: 0;
  min-width: 11rem;
}
.book-sales-bar--released .book-sales-bar__pulse {
  display: block;
}

/* All three stores are live now. */
.purchase-card:not(.purchase-card--amazon) {
  opacity: 1;
}
.purchase-card:not(.purchase-card--amazon):hover {
  opacity: 1;
}
.purchase-card .purchase-card__live {
  color: #ffd08d;
}
.purchase-strip__badge--live {
  cursor: pointer;
}
.purchase-strip__badge--live:focus-visible,
.purchase-card__store--link:focus-visible,
.purchase-card__button:focus-visible {
  outline: 2px solid #f6ad55;
  outline-offset: 3px;
}

@media (max-width: 720px) {
  .book-sales-bar.book-sales-bar--released {
    height: 3.25rem;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: 1fr;
    gap: .45rem;
    padding: .3rem .5rem;
  }
  .book-sales-bar--released .book-sales-bar__status {
    display: flex !important;
  }
  .book-sales-bar--released .book-sales-bar__status small {
    display: none;
  }
  .book-sales-bar--released .book-sales-bar__status strong {
    font-size: var(--type-label-sm);
    letter-spacing: .1em;
  }
  .book-sales-bar--released .book-sales-bar__pulse {
    width: 8px;
    height: 8px;
    flex-basis: 8px;
  }
  .book-sales-bar--released .book-sales-bar__cta {
    min-width: 7.6rem;
    padding: .35rem .55rem;
  }
  .book-sales-bar--released .book-sales-bar__cta strong {
    font-size: var(--type-label-md);
  }
  .book-sales-bar--released .book-sales-bar__cta small {
    display: none;
  }
}

/* v58 — conversion-first post-launch UX */
.store-picker-trigger {
  appearance: none;
  cursor: pointer;
  font: inherit;
}

.book-sales-bar--released .book-sales-bar__cta,
.header-cta--presale {
  font-family: var(--mono);
}

.book-hero__hook {
  max-width: 610px;
  margin: 0 0 18px;
  color: rgba(242,237,227,.82);
  font-family: var(--display);
  font-size: clamp(22px,2.25vw,34px);
  line-height: 1.22;
}

.book-hero__conversion .book-hero__primary-buy {
  margin-top: 0;
}

.book-purchase {
  padding-top: clamp(72px,8vw,112px);
}

.book-purchase .book-section-heading {
  margin-bottom: 30px;
}

.purchase-grid + .physical-edition-preview {
  margin-top: clamp(26px,4vw,48px);
}

/* Short, conversion-oriented synopsis before the sample. */
.book-pitch {
  display: grid;
  grid-template-columns: minmax(280px,.78fr) minmax(0,1.22fr);
  gap: clamp(34px,6vw,90px);
  align-items: start;
  background:
    linear-gradient(120deg,rgba(246,173,85,.045),transparent 34%),
    linear-gradient(110deg,#050607,#090b0d 65%,#050607);
}
.book-pitch__lead {
  max-width: 590px;
}
.book-pitch__lead h2 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(42px,5vw,76px);
  font-weight: 400;
  line-height: .98;
}
.book-pitch__copy {
  max-width: 720px;
}
.book-pitch__copy .book-lede {
  margin-top: 0;
}
.book-pitch__copy > p:not(.book-lede) {
  color: rgba(238,233,223,.64);
  line-height: 1.78;
}
.book-pitch__actions {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 24px;
}
.book-pitch__actions .book-button {
  min-width: 220px;
}
.book-pitch__world-link {
  color: rgba(238,233,223,.72);
  font-family: var(--mono);
  font-size: var(--type-label-md);
  letter-spacing: .13em;
  text-transform: uppercase;
}
.book-pitch__world-link:hover {
  color: var(--signal-bright);
}

/* Reader is now part of the conversion funnel, so tighten its entrance. */
.book-pitch + .book-reader {
  padding-top: clamp(72px,8vw,108px);
}

/* 360 loads only when the section is near the viewport. */
.book-panorama__viewport {
  background: #050607;
}

/* Store chooser: direct purchase access from hero / header / mobile bar. */
.store-picker {
  position: fixed;
  z-index: 1900;
  inset: 0;
  display: none;
  place-items: center;
  padding: 24px;
}
.store-picker.is-open {
  display: grid;
}
.store-picker__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.84);
  backdrop-filter: blur(12px);
}
.store-picker__panel {
  position: relative;
  z-index: 1;
  width: min(720px,100%);
  padding: clamp(28px,4vw,46px);
  border: 1px solid rgba(255,255,255,.17);
  background:
    radial-gradient(circle at 12% 0%,rgba(246,173,85,.12),transparent 30%),
    #080a0b;
  box-shadow: 0 30px 110px rgba(0,0,0,.7);
}
.store-picker__panel h2 {
  margin: 0 50px 28px 0;
  font-family: var(--display);
  font-size: clamp(38px,5vw,62px);
  font-weight: 400;
  line-height: 1;
}
.store-picker__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.18);
  background: transparent;
  color: var(--bone);
  font-size: 26px;
  cursor: pointer;
}
.store-picker__stores {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
}
.store-picker__stores a {
  min-width: 0;
  min-height: 175px;
  padding: 20px 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.025);
  text-decoration: none;
  transition: transform .2s ease,border-color .2s ease,background .2s ease;
}
.store-picker__stores a:hover,
.store-picker__stores a:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(246,173,85,.65);
  background: rgba(246,173,85,.065);
  outline: none;
}
.store-picker__stores img {
  width: 100%;
  height: 64px;
  object-fit: contain;
  object-position: left center;
}
.store-picker__stores span {
  display: grid;
  gap: 6px;
}
.store-picker__stores strong {
  color: var(--bone);
  font-family: var(--display);
  font-size: 23px;
  font-weight: 400;
}
.store-picker__stores small {
  color: rgba(238,233,223,.48);
  font-family: var(--mono);
  font-size: var(--type-label-sm);
  letter-spacing: .1em;
  text-transform: uppercase;
  line-height: 1.45;
}
body.store-picker-open {
  overflow: hidden;
}

/* Compact persistent purchase affordance: mobile only, after hero. */
.mobile-buy-bar {
  display: none;
}

@media (max-width: 900px) {
  .book-pitch {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .book-pitch__lead,
  .book-pitch__copy {
    max-width: 760px;
    margin-inline: auto;
  }
}

@media (max-width: 720px) {
  .book-hero__hook {
    max-width: 31rem;
    margin: 0 auto .8rem;
    text-align: center;
    font-size: clamp(1.25rem,5.6vw,1.55rem);
  }

  .book-purchase {
    padding-top: 3.5rem;
  }
  .book-purchase .book-section-heading {
    margin-bottom: 1.5rem;
  }
  .purchase-grid + .physical-edition-preview {
    margin-top: 1rem;
  }

  .book-pitch {
    padding-top: 4.25rem;
    padding-bottom: 4.25rem;
  }
  .book-pitch__lead h2 {
    font-size: clamp(2.4rem,12vw,3.6rem);
  }
  .book-pitch__actions {
    margin-top: 1.25rem;
    align-items: stretch;
    flex-direction: column;
  }
  .book-pitch__actions .book-button {
    width: 100%;
  }
  .book-pitch__world-link {
    padding: .55rem 0;
    text-align: center;
  }

  .store-picker {
    align-items: end;
    padding: 0;
  }
  .store-picker__panel {
    width: 100%;
    max-height: min(84svh,720px);
    overflow-y: auto;
    padding: 28px 16px calc(18px + env(safe-area-inset-bottom));
    border-width: 1px 0 0;
  }
  .store-picker__panel h2 {
    margin-bottom: 20px;
    font-size: clamp(2.35rem,11vw,3.3rem);
  }
  .store-picker__stores {
    grid-template-columns: 1fr;
  }
  .store-picker__stores a {
    min-height: 88px;
    padding: 14px;
    display: grid;
    grid-template-columns: 112px minmax(0,1fr);
    align-items: center;
    gap: 14px;
  }
  .store-picker__stores img {
    height: 46px;
  }
  .store-picker__stores strong {
    font-size: 20px;
  }

  .mobile-buy-bar {
    position: fixed;
    z-index: 1250;
    left: 8px;
    right: 8px;
    bottom: max(8px, env(safe-area-inset-bottom));
    min-height: 56px;
    padding: 8px 8px 8px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid rgba(246,173,85,.5);
    background: rgba(7,8,9,.95);
    box-shadow: 0 16px 44px rgba(0,0,0,.52);
    transform: translateY(calc(100% + 24px));
    opacity: 0;
    pointer-events: none;
    transition: transform .24s ease,opacity .24s ease;
  }
  .mobile-buy-bar.is-visible {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
  .mobile-buy-bar span {
    min-width: 0;
    display: grid;
    gap: 1px;
  }
  .mobile-buy-bar small,
  .mobile-buy-bar strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .mobile-buy-bar small {
    color: var(--signal-bright);
    font-family: var(--mono);
    font-size: var(--type-label-sm);
    letter-spacing: .14em;
  }
  .mobile-buy-bar strong {
    color: var(--bone);
    font-family: var(--display);
    font-size: 18px;
    font-weight: 400;
  }
  .mobile-buy-bar button {
    min-width: 112px;
    min-height: 40px;
    padding: 8px 14px;
    border: 1px solid #ffd090;
    background: linear-gradient(135deg,#ffc46f,#e69638);
    color: #120c06;
    font-family: var(--mono);
    font-size: var(--type-label-md);
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    cursor: pointer;
  }

  .store-picker.is-open ~ .mobile-buy-bar,
  body.store-picker-open .mobile-buy-bar {
    opacity: 0;
    pointer-events: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .store-picker__stores a,
  .mobile-buy-bar {
    transition: none;
  }
}

@media (max-width: 420px) {
  /* Keep the primary purchase action in the first mobile fold even with the new sales hook. */
  .book-hero__cover {
    width: min(11.5rem, 52vw);
    margin-top: .45rem;
    margin-bottom: .1rem;
  }
  .book-hero__hook {
    margin-bottom: .55rem;
  }
  .book-hero__primary-buy {
    min-height: 3.75rem;
  }
}
