/* Book page refresh, under review (2 October 2026). Loaded after
   homepage-platform.css on the book page only (pageStylesheet front matter).
   Simon rejected the first pass at the curriculum and pricing sections; the
   pricing section is back to its original styles (nothing here touches it)
   and the curriculum follows the approved mockup below. The hero layout,
   wording, prices and links are unchanged. */

/* Hero: blue glow (as on the homepage) and a readable guarantee line. */
.book-landing.site-shell {
  background:
    radial-gradient(circle at 78% 36%, rgba(3, 105, 161, 0.30), transparent 31%),
    radial-gradient(circle at 18% 16%, rgba(62, 111, 168, 0.16), transparent 34%),
    linear-gradient(118deg, var(--night-1000) 0%, var(--night-950) 50%, #102733 100%);
}

.book-landing.site-shell::before {
  color: rgba(164, 200, 234, 0.025);
}

.book-landing .book-guarantee {
  color: #cbd5df;
  font-family: var(--font-body);
  font-size: .9375rem;
  font-weight: 500;
  letter-spacing: 0;
}

/* Curriculum (approved 2 October 2026), following Simon's chosen
   quiet_curriculum_layout.html: Part label column and module column, no
   dividing lines, rows that highlight softly on hover, the + turning into a
   x when a module is open, no chapter counts on the rows, and the three
   highlights in blue with dot separators. Site fonts are kept. The teal
   tokens are redirected inside this section only, so the pricing section
   keeps its own styles. */
.book-landing .book-curriculum-section {
  --teal: #0369a1;
  --teal-dark: #0369a1;
  --curriculum-rule: #e2e8f0;
  --curriculum-muted: #64748b;
  background: #ffffff;
  border-top-color: #e2e8f0;
}

.book-landing .book-curriculum-heading > p {
  color: #475569;
}

/* Highlights: blue, separated by dots instead of bars. */
.book-landing .curriculum-highlights {
  gap: .5rem;
}

.book-landing .curriculum-highlights li {
  color: #0369a1;
  font-size: .875rem;
  font-weight: 500;
}

/* "6 portfolio projects" links to /projects/. It looks like the other
   highlights; the underline and a darker blue appear on hover only. */
.book-landing .curriculum-highlights a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 3px;
}

.book-landing .curriculum-highlights a:hover,
.book-landing .curriculum-highlights a:focus-visible {
  color: #075985;
  text-decoration: underline;
}

.book-landing .curriculum-highlights li + li {
  padding-left: 0;
  border-left: 0;
}

.book-landing .curriculum-highlights li + li::before {
  content: "·";
  margin-right: .5rem;
  color: #cbd5e1;
}

/* Part labels: plain dark heading, no rule. */
.book-landing .curriculum-volume-intro {
  padding-top: .75rem;
  border-top: 0;
}

.book-landing .curriculum-volume-intro h3 {
  color: #0f172a;
  font-size: 1.125rem;
  font-weight: 700;
}

.book-landing .curriculum-volume-intro p {
  margin-top: .25rem;
  color: #64748b;
  font-size: .875rem;
}

/* Module rows: no lines; a soft rounded highlight on hover. */
.book-landing .book-curriculum-accordion {
  display: grid;
  gap: .5rem;
  border-top: 0;
}

.book-landing .curriculum-part {
  border-bottom: 0;
}

.book-landing .curriculum-part summary {
  min-height: 0;
  margin-inline: -.75rem;
  padding: .75rem;
  gap: 1rem;
  border-radius: 8px;
  transition: background-color 150ms ease;
}

.book-landing .curriculum-part summary:hover {
  background: #f8fafc;
}

.book-landing .curriculum-part-title,
.book-landing .curriculum-part[open] .curriculum-part-title,
.book-landing .curriculum-part summary:hover .curriculum-part-title {
  color: #0f172a;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.3;
}

.book-landing .curriculum-part-description {
  margin-top: .25rem;
  color: #64748b;
  font-size: .875rem;
  line-height: 1.4;
}

.book-landing .curriculum-part-meta {
  display: none;
}

/* The + rotates into a x when the module is open. */
.book-landing .curriculum-part-toggle {
  color: #0369a1;
  transition: transform 200ms ease;
}

.book-landing .curriculum-part[open] .curriculum-part-toggle {
  transform: rotate(45deg);
}

.book-landing .curriculum-part[open] .curriculum-part-toggle::after {
  transform: rotate(90deg);
}

/* Expanded chapter list on plain white (the tinted panel read as blue and
   lowered the contrast), with darker text. */
.book-landing .curriculum-chapter-list {
  padding-inline: 0;
  background: #ffffff;
  border-left: 0;
}

/* Chapter text one step below the module text, so the open list does not
   compete with its own module heading. */
.book-landing .curriculum-chapter-heading {
  color: #0f172a;
  font-size: .875rem;
}

.book-landing .curriculum-chapter-copy p {
  color: #475569;
  font-size: .8125rem;
  line-height: 1.6;
}

@media (prefers-reduced-motion: reduce) {
  .book-landing .curriculum-part-toggle,
  .book-landing .curriculum-part summary {
    transition: none;
  }
}

/* Wider screens: a contained ~1000px section with a Part column and a module
   column (about 230px and 760px), the homepage heading size and the mockup's
   spacing. Phones keep their stacked layout. */
@media (min-width: 761px) {
  .book-landing .book-curriculum {
    max-width: 1024px;
    padding-block: 72px 80px;
  }

  .book-landing .book-curriculum-heading h2 {
    font-size: clamp(2.25rem, 2.6vw, 3.25rem);
    line-height: 1.1;
  }

  .book-landing .book-curriculum-heading > p {
    font-size: 1.125rem;
  }

  .book-landing .curriculum-highlights {
    margin-top: 1.5rem;
  }

  .book-landing .curriculum-volumes {
    gap: 3rem;
    margin-top: 4rem;
  }

  .book-landing .curriculum-volume {
    grid-template-columns: 232px minmax(0, 1fr);
    gap: 2rem;
  }

  .book-landing .curriculum-part summary {
    grid-template-columns: minmax(0, 1fr) 24px;
  }

  .book-landing .curriculum-chapter-list {
    gap: 1rem;
  }
}

/* Pricing (approved 2 October 2026): colour only, plus equal card heights.
   Sizes, spacing, wording and order are unchanged. The cream card becomes
   white, the teal-green accents become the site blue, both buttons match
   the header's "Get the book" button, and the guarantee line is lighter. */
.book-landing .pricing-grid {
  align-items: stretch;
}

.book-landing .pricing-card {
  background: #ffffff;
  border-color: #e2e8f0;
}

.book-landing .pricing-card-complete {
  background: #102733;
  border-color: rgba(159, 191, 227, 0.28);
}

.book-landing .pricing-label {
  color: #0369a1;
}

.book-landing .pricing-card-complete .pricing-label {
  color: #9fb0bd;
}

.book-landing .pricing-badge {
  color: #ffffff;
  background: #0369a1;
}

.book-landing .part-choice {
  border-color: #cbd5e1;
}

.book-landing .part-choice:focus-within,
.book-landing .part-choice.is-selected {
  border-color: #0369a1;
  box-shadow: inset 0 0 0 1px #0369a1;
}

.book-landing .part-choice.is-selected .part-choice-radio {
  border-color: #0369a1;
}

.book-landing .pricing-includes {
  border-top-color: #e2e8f0;
}

.book-landing .pricing-card-complete .pricing-includes {
  border-top-color: rgba(177, 205, 213, 0.16);
}

.book-landing .pricing-check {
  color: #0369a1;
}

.book-landing .pricing-card-complete .pricing-check {
  color: #9fbfe3;
}

.book-landing .pricing-card > .button {
  color: #081019 !important;
  background: #9fbfe3;
  border-color: #9fbfe3;
}

.book-landing .pricing-card > .button:hover {
  background: #bdd3ea;
  border-color: #bdd3ea;
}

.book-landing .pricing-footnote {
  color: #c4d2dc;
}

.book-landing .pricing-footnote span::before {
  color: #9fbfe3;
}

/* Author note (approved 2 October 2026): a short signed letter from Simon,
   left-aligned in the reading column, instead of a centred quote. */
.book-landing .author-note {
  text-align: left;
}

.book-landing .author-note .author-label {
  margin: 0;
  color: #7fbcf2;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.book-landing .author-note p:not(.author-label):not(.author-signature):not(.author-role) {
  max-width: none;
  margin: 0.9rem 0 0;
  color: #cbd5df;
  font-size: 1.0625rem;
  line-height: 1.75;
  text-wrap: pretty;
}

.book-landing .author-note .author-sign {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 1.25rem;
}

.book-landing .author-note .author-sign img {
  flex: none;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
}

.book-landing .author-note .author-role {
  margin: 2px 0 0;
  color: #91a4b4;
  font-size: 0.875rem;
}

.book-landing .author-note .author-signature {
  margin: 0;
  color: #e6edf3;
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 500;
  letter-spacing: -0.01em;
}
