/* Shared reading layout. Keep the content, controls and source links prominent. */
body { background-image: none; }
body::before { background: var(--color-accent); }
.display-xl { font-size: clamp(2.15rem, 4.6vw, 3.4rem); line-height: 1.12; font-weight: 500; }
.display-lg { font-size: clamp(1.6rem, 3vw, 2.1rem); line-height: 1.2; }
.hero-title .accent { font-style: normal; }
.section { padding-block: 3rem; }
.section-tight { padding-block: 1.1rem; }
.home-intro { padding-block: 3.5rem; }
.hero-grid { align-items: start; gap: 3rem; }
.lead { margin-top: 1.25rem; max-width: 42rem; font-size: 1.12rem; line-height: 1.7; }
.section > p { max-width: 46rem; margin-block: 1rem; }
.btn, .nav-link, .section-label { text-transform: none; letter-spacing: 0; }
.btn, .btn:hover, .card { box-shadow: none; }
.btn { min-height: 44px; border-radius: 4px; }
.eyebrow { letter-spacing: .05em; }
.action-row { margin-block: 1.4rem; gap: 1rem; }
.product-outline { border: 1px solid var(--color-line); border-top: 3px solid var(--color-accent); padding: 1.5rem; background: #fffefa; }
.product-outline h2 { font: 600 1.1rem/1.4 var(--font-body); }
.product-outline p { margin: .75rem 0; color: var(--color-ink-2); }
.product-outline ul { list-style: none; margin: 1.2rem 0; padding: 0; }
.product-outline li { border-top: 1px solid var(--color-line); padding-block: .7rem; }
.product-outline li a { color: var(--color-ink); display: flex; justify-content: space-between; text-decoration: none; }
.product-outline li a:hover { text-decoration: underline; }
.tool-list { margin-top: 1.6rem; }
.tool-row { display: flex; justify-content: space-between; align-items: baseline; gap: 1.5rem; padding: 1.2rem 0; border-top: 1px solid var(--color-line); }
.tool-row h3 { font: 600 1.1rem/1.5 var(--font-body); }
.tool-row h3 a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.tool-row p { margin-top: .4rem; color: var(--color-ink-2); }
.tool-price { flex-shrink: 0; font-variant-numeric: tabular-nums; }
.tool-price span { display: block; font-size: .8rem; color: var(--color-muted); }
.access-list article { border-top: 1px solid var(--color-line); padding-block: 1.25rem; max-width: 46rem; }
.access-list h3 { font: 600 1.15rem/1.4 var(--font-body); }
.access-list p { margin: .65rem 0; }
.pricing-table { width: 100%; max-width: 40rem; border-collapse: collapse; margin: 1.5rem 0; }
.pricing-table th, .pricing-table td { text-align: left; border-bottom: 1px solid var(--color-line); padding: .75rem; }
.pricing-table td:last-child { font-variant-numeric: tabular-nums; }
.offer-note, .theme-scope { color: var(--color-ink-2); font-size: .92rem; }
.theme-heading { max-width: 50rem; }
.theme-heading .hero-title { max-width: 22ch; }
.theme-heading + section { max-width: 50rem; }
.prose { max-width: 46rem; }
.prose h2 { font: 600 1.25rem/1.4 var(--font-body); margin: 2rem 0 .8rem; }
.prose > p:first-child { font-size: 1.08rem; line-height: 1.7; }
.prose li { margin-bottom: .6rem; }
.theme-cta { max-width: 47rem; margin-inline: auto; border: 0; border-top: 1px solid var(--color-line); padding: 1.5rem 0; background: transparent; }
.theme-cta p { margin-top: .7rem; }
[data-thema-section] .ledger-row { grid-template-columns: 1fr; padding-block: 1rem; }
[data-thema-section] .ledger-num { display: none; }
[data-thema-section] .row-body { font-size: .95rem; max-width: 52rem; }
[data-thema-section] h3 { font: 600 1.15rem/1.4 var(--font-body); }
.breadcrumb { flex-wrap: wrap; }
@media (max-width: 640px) {
  .section, .home-intro { padding-block: 2rem; }
  .hero-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .product-outline { padding: 1.2rem; }
  .tool-row { gap: .75rem; }
  .action-row { align-items: stretch; }
  .action-row .btn { text-align: center; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.reveal { opacity:1; transform:none; animation:none; }
