.book-page {
  min-height: 100vh;
  background: #050707;
  color: #f0f1ed;
}

.book-page .site-header {
  width: min(100% - 44px, 1180px);
  margin-inline: auto;
  border-bottom-color: rgba(240, 241, 237, 0.14);
  background: rgba(5, 7, 7, 0.88);
}

.book-page .site-header a { color: #f0f1ed; }
.book-page .brand-mark { border-color: rgba(42, 211, 189, 0.55); }

.book-page .header-cta {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(240, 241, 237, 0.27);
  border-radius: 999px;
  padding: 0 16px;
  background: rgba(255, 255, 255, 0.04) !important;
  box-shadow: none;
  color: #f0f1ed !important;
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: none;
}

.book-main { width: min(100% - 44px, 1120px); margin-inline: auto; }

.book-hero {
  display: grid;
  min-height: min(720px, calc(100vh - 92px));
  align-content: center;
  justify-items: start;
  padding: clamp(80px, 12vw, 156px) 0;
  border-bottom: 1px solid rgba(240, 241, 237, 0.14);
}

.book-kicker {
  margin: 0;
  color: #2ad3bd;
  font: 600 0.72rem / 1.3 var(--font-mono);
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.book-hero h1,
.book-expectations h2 {
  max-width: 900px;
  margin: 25px 0 0;
  color: #f7f7f2;
  font: 650 clamp(4rem, 10vw, 8.8rem) / 0.83 var(--font-display);
  letter-spacing: -0.045em;
}

.book-lead {
  max-width: 640px;
  margin: 34px 0 0;
  color: rgba(240, 241, 237, 0.7);
  font-size: clamp(1.08rem, 2vw, 1.45rem);
  line-height: 1.52;
}

.book-calendar-link {
  display: inline-flex;
  min-height: 60px;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin-top: 42px;
  border: 1px solid #2ad3bd;
  border-radius: 999px;
  padding: 0 25px;
  background: #2ad3bd;
  color: #071110;
  font: 700 0.78rem / 1.1 var(--font-mono);
  letter-spacing: 0.14em;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 180ms ease, background-color 180ms ease;
}

.book-calendar-link:hover,
.book-calendar-link:focus-visible { background: #7be8d8; outline: none; transform: translateY(-2px); }
.book-calendar-link span { font-size: 1.18rem; }

.book-fallback { margin: 18px 0 0; color: rgba(240, 241, 237, 0.52); font-size: 0.86rem; }
.book-fallback a { color: #f0f1ed; }

.book-expectations { padding: clamp(76px, 11vw, 144px) 0; }
.book-expectations h2 { max-width: 9ch; font-size: clamp(3.2rem, 7vw, 6.6rem); }
.book-expectations ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 54px 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(240, 241, 237, 0.16); }
.book-expectations li { min-height: 230px; padding: 27px 28px 24px 0; border-right: 1px solid rgba(240, 241, 237, 0.16); }
.book-expectations li + li { padding-left: 28px; }
.book-expectations li:last-child { border-right: 0; }
.book-expectations li > span { display: block; color: #2ad3bd; font: 600 0.74rem / 1 var(--font-mono); letter-spacing: 0.1em; }
.book-expectations strong { display: block; margin-top: 34px; color: #f0f1ed; font: 650 clamp(1.35rem, 2.5vw, 2rem) / 1 var(--font-display); }
.book-expectations p { margin: 15px 0 0; color: rgba(240, 241, 237, 0.62); font-size: 0.95rem; line-height: 1.55; }
.book-page .site-footer { color: rgba(240, 241, 237, 0.52); }

@media (max-width: 760px) {
  .book-page .site-header, .book-main { width: min(100% - 28px, 1120px); }
  .book-hero { min-height: auto; padding: 94px 0 78px; }
  .book-hero h1 { font-size: clamp(3.5rem, 16vw, 5.8rem); }
  .book-expectations ol { grid-template-columns: 1fr; margin-top: 38px; }
  .book-expectations li, .book-expectations li + li { min-height: 0; padding: 26px 0; border-right: 0; border-bottom: 1px solid rgba(240, 241, 237, 0.16); }
}

@media (prefers-reduced-motion: reduce) { .book-calendar-link { transition: none; } }
