/* Paid landing pages. Uses the host site's chrome variables (--brand, --ink, --bg)
   so ComputePrep stays warm and Deduce stays navy. No webfonts: a late font swap
   is a layout shift, and these pages have a CLS budget. */

.lp { margin: 0; }
.lp-bar {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line, #e7e5e4);
  background: var(--bg, #fff);
}
.lp-bar img { display: block; width: 28px; height: 28px; }
.lp-word { font-weight: 800; letter-spacing: -0.02em; color: var(--ink, #1c1917); }
.lp-main { max-width: 680px; margin: 0 auto; padding: 28px 16px 48px; }
.lp h1 { font-size: 1.75rem; line-height: 1.15; letter-spacing: -0.03em; margin: 0 0 12px; color: var(--ink, #1c1917); }
.lp h2 { font-size: 1.25rem; line-height: 1.25; letter-spacing: -0.02em; margin: 36px 0 8px; color: var(--ink, #1c1917); }
.lp p { margin: 0 0 12px; }
.lp .lede { font-size: 1.05rem; color: var(--ink-soft, #444); }
.lp-btn {
  display: block; width: 100%; max-width: 420px;
  margin: 8px 0; padding: 14px 18px;
  border: 0; border-radius: 999px;
  background: var(--brand, #1d4e79); color: #fff;
  font: 700 16px/1.2 ui-sans-serif, system-ui, sans-serif;
  text-align: center; cursor: pointer;
  min-height: 48px;
}
.lp-btn-alt {
  background: transparent; color: var(--brand, #1d4e79);
  border: 2px solid var(--brand, #1d4e79);
}
.lp-note { color: var(--muted, #78716c); font-size: 0.9rem; }
.lp-card {
  border: 1px solid var(--line, #e7e5e4);
  border-radius: 14px; background: #fff;
  padding: 16px; margin: 12px 0;
}
.lp-card h3 { margin: 0 0 8px; font-size: 1rem; }
.lp-card ol, .lp-card ul { margin: 8px 0 0; padding-left: 1.2rem; }
.lp-card li { margin: 4px 0; }
.lp-kicker { font-size: 0.75rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: var(--brand, #1d4e79); margin: 0 0 6px; }
.lp-price { font-size: 1.75rem; font-weight: 800; letter-spacing: -0.03em; margin: 0; color: var(--ink, #1c1917); }
.lp-price span { font-size: 1rem; font-weight: 600; color: var(--muted, #78716c); }
.lp details { border-top: 1px solid var(--line, #e7e5e4); padding: 10px 0; }
.lp summary { cursor: pointer; font-weight: 700; }
.lp details p { margin: 8px 0 0; }
.lp-legal { margin-top: 28px; font-size: 0.85rem; color: var(--muted, #78716c); }
.lp-legal a { color: var(--muted, #78716c); }
.lp-sticky {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 20;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  background: var(--bg, #fff);
  border-top: 1px solid var(--line, #e7e5e4);
}
.lp-sticky .lp-btn { margin: 0 auto; }
.lp { padding-bottom: 84px; }
@media (min-width: 800px) {
  .lp { padding-bottom: 0; }
  .lp-sticky { display: none; }
  .lp h1 { font-size: 2.35rem; }
}
