/* The annotated reading page. Loaded by the four editorial pages only.
   The original shared stylesheet remains unchanged for the legal pages. */
html.editorial-root { scroll-behavior: auto; }

body.editorial {
  --font-family: 'Inter', system-ui, sans-serif;
  --font-family-heading: 'Lora', Georgia, serif;
  --text-muted: #374151;
  --container-max: 70rem;
  --margin-width: 11rem;
  --reading-gap: 2.5rem;
  font-size: 1.125rem;
  line-height: 1.65;
}

.editorial .container { padding-inline: 2rem; }
.editorial .reading-layout,
.editorial .about-header {
  display: grid;
  grid-template-columns: var(--margin-width) minmax(0, 1fr);
  gap: var(--reading-gap);
  align-items: start;
}
.editorial .reading-content,
.editorial .about-content { min-width: 0; }
.editorial main { overflow-wrap: anywhere; }
.editorial .reading-offset,
.editorial .page-heading { grid-column: 2; }
.editorial p { max-width: 65ch; margin-bottom: 1.25rem; }
.editorial p:last-child { margin-bottom: 0; }
.editorial h1,
.editorial .hero h1 {
  font-family: var(--font-family-heading);
  font-weight: 600;
  font-size: 3rem;
  line-height: 1.12;
  max-width: 22ch;
  color: var(--navy);
  margin: 0 0 1.5rem;
  overflow-wrap: break-word;
}
.editorial h2 {
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 600;
  margin: 0 0 1.5rem;
}
.editorial h3 {
  font-family: var(--font-family);
  font-size: 1.1875rem;
  line-height: 1.35;
  font-weight: 600;
}
.editorial .section-title {
  margin: 0 0 1.5rem;
  padding: 0;
  text-align: left;
}
.editorial .section-title::after { content: none; }
.editorial .section-subtitle,
.editorial .method-intro { margin: 0 0 2.5rem; max-width: 65ch; color: var(--text-body); }
.editorial .section { padding: 2.5rem 0; background: white; }
.editorial .margin-heading h2 { margin: 0; width: calc(100% + 1.5rem); hyphens: auto; }
.editorial .margin-label {
  color: var(--navy);
  border-left: 3px solid var(--teal);
  padding-left: .75rem;
  font-size: .9375rem;
  line-height: 1.5;
  font-weight: 600;
  margin: 0 0 1.5rem;
}
.editorial .margin-heading { border-top: 3px solid var(--teal); padding-top: 1rem; }
.editorial a { text-underline-offset: .18em; transition: color 120ms ease; }
.editorial a:hover { color: var(--cta-blue-hover); }
.editorial :focus-visible {
  outline: 3px solid var(--navy);
  outline-offset: 4px;
}

/* Wordmark and always-visible navigation. */
.editorial .site-header { position: static; }
.editorial .nav-wrapper {
  padding: 1.5rem 2rem;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.editorial .site-logo { letter-spacing: -.01em; line-height: 1.4; padding-block: .25rem; }
.editorial .nav-toggle,
.editorial .nav-toggle-label { display: none; }
.editorial .nav-menu,
.editorial .nav-toggle:checked ~ .nav-menu {
  display: flex;
  position: static;
  flex-direction: row;
  flex-wrap: wrap;
  gap: .5rem 1.5rem;
  padding: 0;
  background: white;
  border: 0;
  box-shadow: none;
}
.editorial .nav-menu li { padding: 0; border: 0; margin: 0; }
.editorial .nav-menu a {
  display: inline-block;
  padding-block: .375rem;
  color: var(--navy);
  font-size: 1rem;
  line-height: 1.4;
  text-decoration: underline !important;
}
.editorial .nav-menu a[aria-current="page"] { text-decoration-thickness: 2px !important; }
.editorial .nav-menu a:hover { color: var(--cta-blue-hover); }

/* Opening: the real book beside the first-person introduction. */
.editorial .hero,
.editorial .page-header {
  background: white;
  border: 0;
  color: var(--text-body);
  padding: 5.5rem 0 4rem;
}
.editorial .hero .lead,
.editorial .page-header .lead { color: var(--text-body); font-size: 1.125rem; line-height: 1.65; max-width: 65ch; margin: 0 0 2rem; }
.editorial .hero-cta { display: block; }
.editorial .hero-note { color: var(--text-body); font-size: .9375rem; margin: 1rem 0 0; }
.editorial .hero-note a { color: var(--cta-blue); }
.editorial .book-cover { display: block; width: 100%; max-width: 11rem; }
.editorial .book-cover img { width: 100%; height: auto; box-shadow: 0 3px 8px rgb(15 36 64 / 12%); }
.editorial .book-cover--small { max-width: 9rem; margin: 0 0 1.5rem; }
.editorial .hero + .section .container { border-top: 1px solid var(--border-light); padding-top: 2.5rem; }
.editorial .about-header { text-align: left; }
.editorial .about-photo { width: 10rem; height: 10rem; border: 0; border-radius: 0; background: none; }
.editorial .about-photo img { object-fit: cover; }
.editorial .about-content .role { color: var(--navy); font-size: 1.0625rem; font-weight: 500; margin-bottom: 1.5rem; }
.editorial .credentials-list { margin: 1.5rem 0; }
.editorial .credentials-list li { padding: 0; border: 0; margin: 0 0 .375rem; }
.editorial .credentials-list li::before { content: none; }
.editorial .trust-independence { font-size: .9375rem; line-height: 1.55; color: var(--text-body); margin-top: 1.5rem; }

/* CPR-D stays visible as four connected rows. */
.editorial #whats-inside .subhead { margin: 0 0 1rem; }
.editorial #whats-inside .method-steps + .subhead { margin-top: 2.5rem; }
.editorial .method-steps { display: block; margin: 0 0 2.5rem; padding: 0; list-style: none; }
.editorial .method-step {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  gap: 1rem;
  position: relative;
  border: 0;
  border-top: 1px solid var(--border-light);
  border-radius: 0;
  padding: 1.25rem 1rem;
  margin: 0;
  font-size: 1.125rem;
  color: var(--text-body);
  background: white;
}
.editorial .method-step:last-child { border-bottom: 1px solid var(--border-light); }
.editorial .method-step::before { content: none; }
.editorial .method-step-label { font-family: var(--font-family); font-size: 1.125rem; line-height: 1.65; margin: 0; }
.editorial .method-step--refine { background: var(--teal-light); border-left: 3px solid var(--teal); padding-left: calc(1rem - 3px); }
.editorial .refine-note {
  position: absolute;
  width: var(--margin-width);
  left: calc(-1 * (var(--margin-width) + var(--reading-gap)) - 3px);
  top: 1.25rem;
  font-size: .9375rem;
  line-height: 1.5;
  font-weight: 500;
  color: var(--navy);
  border-left: 3px solid var(--teal);
  padding-left: .75rem;
}
.editorial .activity-list { list-style: none; padding: 0; margin: 0; }
.editorial .activity-list > li { position: relative; padding: 1.5rem 0; border-bottom: 1px solid var(--border-light); margin: 0; }
.editorial .activity-list > li:first-child { border-top: 1px solid var(--border-light); }
.editorial .activity-list h3 { margin: 0 0 .375rem; }
.editorial .activity-list p { margin: 0; }
.editorial .activity-number {
  position: absolute;
  left: calc(-1 * (var(--margin-width) + var(--reading-gap)));
  top: 1.5rem;
  width: var(--margin-width);
  color: var(--navy);
  font-size: .9375rem;
  font-variant-numeric: tabular-nums;
  border-top: 1px solid var(--border-light);
  padding-top: .375rem;
}
.editorial .also-included { background: none; padding: 0; border-radius: 0; margin-top: 2rem; }
.editorial .also-included-title { font-family: var(--font-family); font-size: 1.1875rem; }
.editorial .also-included li { font-size: 1.125rem; margin-bottom: 1rem; }

/* Forms retain their original field names and submission behaviour. */
.editorial .lead-magnet { max-width: var(--container-max); }
.editorial .lead-magnet.reading-layout { padding-block: 2.5rem; border-block: 1px solid var(--navy); }
.editorial .lead-magnet h2,
.editorial .contact-section h2 { font-family: var(--font-family); font-size: 1.5rem; line-height: 1.35; }
.editorial .lead-capture-form,
.editorial .collection-notice,
.editorial .contact-form { width: 100%; max-width: 35rem; }
.editorial .contact-section { text-align: left; }
.editorial .contact-form { margin: 0; }
.editorial .form-group { margin-bottom: 1.25rem; }
.editorial .form-group label { font-size: 1rem; }
.editorial .form-group input,
.editorial .form-group textarea { background: white; border: 1px solid #6B7280; border-radius: 4px; line-height: 1.5; min-height: 3rem; transition: none; }
.editorial .form-group textarea { min-height: 10rem; }
.editorial .form-group input:focus,
.editorial .form-group textarea:focus { border-color: var(--navy); box-shadow: none; outline: 3px solid var(--navy); outline-offset: 3px; }
.editorial .collection-notice,
.editorial .buy-sub { font-size: .9375rem; line-height: 1.55; color: var(--text-body); }
.editorial .btn { font-family: var(--font-family); font-size: 1rem; line-height: 1.4; border-radius: 4px; padding: .875rem 1.5rem; max-width: 100%; white-space: normal; transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease; }
.editorial .btn--primary { color: white; background: var(--cta-blue); border-color: var(--cta-blue); }
.editorial .btn--primary:hover,
.editorial .btn--primary:active { color: white; background: var(--cta-blue-hover); border-color: var(--cta-blue-hover); }
.editorial .btn--primary:disabled { color: white; background: #536273; border-color: #536273; cursor: wait; }
.editorial .btn--outline-dark:hover { color: white; }

/* Purchase and native FAQ. */
.editorial .book-detail { grid-template-columns: minmax(0, 1fr) 15rem; gap: 2.5rem; }
.editorial .book-title { font-family: var(--font-family-heading); font-size: 1.75rem; line-height: 1.3; font-weight: 600; color: var(--navy); }
.editorial .book-title em { font-style: normal; }
.editorial .book-buy { background: none; border: 0; border-top: 1px solid var(--navy); border-radius: 0; padding: 1.5rem 0 0; text-align: left; }
.editorial .price-line { font-family: var(--font-family); font-size: 2.5rem; line-height: 1.2; font-weight: 600; margin-bottom: .75rem; }
.editorial .format-note { font-size: .9375rem; line-height: 1.55; }
.editorial .faq-list { max-width: none; }
.editorial .faq-item { border: 0; border-top: 1px solid var(--border-light); border-radius: 0; margin: 0; overflow: visible; }
.editorial .faq-item:last-child { border-bottom: 1px solid var(--border-light); }
.editorial .faq-item summary { display: list-item; list-style: disclosure-closed outside; font-family: var(--font-family); font-size: 1.125rem; line-height: 1.5; padding: 1.25rem .25rem; margin-left: 1.25rem; }
.editorial .faq-item[open] summary { list-style-type: disclosure-open; }
.editorial .faq-item summary::-webkit-details-marker { display: revert; }
.editorial .faq-item summary::marker { color: var(--navy); }
.editorial .faq-item summary::after { content: none; }
.editorial .faq-item summary:focus-visible { outline: 3px solid var(--navy); outline-offset: 3px; }
.editorial .faq-body { padding: 0 0 1.5rem 1.5rem; }
.editorial .faq-body p { font-size: 1.125rem; margin-bottom: 1.25rem; }
.editorial .faq-body p:last-child { margin-bottom: 0; }

/* Interior reading pages and retained notices. */
.editorial .use-case { border: 0; border-top: 1px solid var(--border-light); border-radius: 0; background: none; padding: 2rem 0 0; margin-bottom: 2.5rem; }
.editorial .use-case:last-child { margin-bottom: 0; }
.editorial .use-case .prompt-example { background: white; border-left: 3px solid var(--teal); border-radius: 0; padding: .5rem 0 .5rem 1.25rem; margin-block: 1.5rem; font-size: 1.0625rem; line-height: 1.6; }
.editorial .use-case .prompt-example strong { color: var(--navy); font-size: .9375rem; text-transform: none; letter-spacing: 0; }
.editorial .governance-block { margin: 0; }
.editorial .governance-highlight { background: none; border-radius: 0; border-left: 1px solid var(--border-light); margin: 0 0 2rem; padding: 0 0 0 1.25rem; }
.editorial .governance-highlight:last-child { margin-bottom: 0; }
.editorial .governance-block li { margin-bottom: 1.25rem; }
.editorial .cta-banner { background: white; color: var(--text-body); text-align: left; padding: 2.5rem 0; }
.editorial .cta-banner h2 { color: var(--navy); }
.editorial .cta-banner p { color: var(--text-body); }
.editorial .cta-banner em { font-family: var(--font-family-heading); font-style: normal; font-weight: 600; font-size: 1.75rem; line-height: 1.3; color: var(--navy); }
.editorial .exclusions { background: none; border-top: 1px solid var(--border-light); border-radius: 0; padding: 1.5rem 0; margin: 2.5rem 0 0 calc(var(--margin-width) + var(--reading-gap)); font-size: .9375rem; line-height: 1.55; color: var(--text-body); }
.editorial main { padding-bottom: 2.5rem; }
.editorial .site-footer { padding: 3rem 0 2rem; color: #DFE6ED; font-size: .9375rem; }
.editorial .footer-section a,
.editorial .footer-disclaimer a { color: #DFE6ED; font-size: .9375rem; text-decoration: underline; }
.editorial .footer-section a:hover,
.editorial .footer-disclaimer a:hover { color: white; }
.editorial .footer-heading { color: white; font-size: 1rem; }
.editorial .footer-acknowledgement,
.editorial .footer-disclaimer,
.editorial .footer-bottom { font-size: .9375rem; line-height: 1.55; color: #DFE6ED; }
.editorial .site-footer :focus-visible { outline-color: white; }
.editorial .footer-bottom { text-align: left; }

@media (max-width: 999px) {
  .editorial .book-detail { grid-template-columns: minmax(0, 1fr); }
  .editorial .book-buy { max-width: 25rem; }
}
@media (max-width: 799px) {
  body.editorial { font-size: 1.0625rem; line-height: 1.6; }
  .editorial .container { padding-inline: 1.25rem; }
  .editorial .reading-layout,
  .editorial .about-header { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .editorial .reading-offset,
  .editorial .page-heading { grid-column: auto; }
  .editorial .nav-wrapper { padding: 1.25rem; gap: .75rem; }
  .editorial .nav-menu { flex-basis: 100%; gap: .25rem 1.25rem; }
  .editorial h1,
  .editorial .hero h1 { font-size: 2.125rem; line-height: 1.18; }
  .editorial h2 { font-size: 1.6875rem; line-height: 1.25; }
  .editorial .margin-heading { max-width: 32rem; padding-top: .75rem; }
  .editorial .margin-heading h2 { width: auto; }
  .editorial .hero,
  .editorial .page-header { padding: 3rem 0 2.5rem; }
  .editorial .hero .lead,
  .editorial .page-header .lead { font-size: 1.0625rem; line-height: 1.6; }
  .editorial .hero-margin { width: 40%; }
  .editorial .hero-margin .book-cover { max-width: none; }
  .editorial .hero-margin .margin-label { margin-bottom: 1rem; }
  .editorial .section,
  .editorial .cta-banner { padding: 1.5rem 0; }
  .editorial .hero + .section .container { padding-top: 1.5rem; }
  .editorial .about-photo { width: 7rem; height: 7rem; }
  .editorial .about-content { text-align: left; }
  .editorial .method-step { display: flex; flex-direction: column; gap: .375rem; font-size: 1.0625rem; }
  .editorial .method-step-label { font-size: 1.0625rem; }
  .editorial .refine-note { position: static; width: auto; border: 0; padding: 0 0 .5rem; }
  .editorial .activity-list > li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .75rem; }
  .editorial .activity-number { position: static; width: auto; border: 0; padding: .125rem 0 0; }
  .editorial .also-included li,
  .editorial .faq-body p,
  .editorial .faq-item summary { font-size: 1.0625rem; }
  .editorial .lead-magnet.reading-layout { padding-block: 1.5rem; }
  .editorial .book-title { font-size: 1.6875rem; }
  .editorial .btn { width: auto; }
  .editorial .btn--full,
  .editorial .lead-capture-form .btn { width: 100%; }
  .editorial .exclusions { margin-left: 0; }
  .editorial .footer-content { flex-direction: column; gap: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .editorial *, .editorial *::before, .editorial *::after { transition: none !important; animation: none !important; }
}
