/* Local review: preserve the original display hierarchy and device proportions. */
/* Reduce section headroom without compressing content spacing. */
.section { padding-top: clamp(64px, 7vw, 96px); }
body { font-size: 17.5px; }
.nav-links a, .button-small, .text-link { font-size: 13.5px; }
.button:not(.button-small) { font-size: 15.5px; }
.eyebrow, .availability small, .hero-footnote,
.path-steps li > span, .feature-index, .privacy-points span,
.android-note, .footer-meta { font-size: 12.5px; }
.availability strong, .order-pills span, .footer-links { font-size: 13.5px; }
.hero-footnote { letter-spacing: .08em; line-height: 1.5; }
.section-copy > p, .privacy-copy > p, .feature-card p, .cta-inner > p { font-size: 17.5px; }
.path-steps strong { font-size: 17.5px; }
.path-steps li { color: var(--muted); }
.path-steps li > span { color: inherit; }
.path-steps li:hover { color: var(--text); }
@media (prefers-reduced-motion: reduce) { .path-steps li { transition: none; } .path-steps li:hover { padding-left: 0; } }
.path-steps small { font-size: 16.5px; line-height: 1.55; }
.check-list, .privacy-points strong { font-size: 16.5px; line-height: 1.5; }
.check-list span { flex-shrink: 0; }
.footer-grid > div:first-child p { font-size: 16.5px; line-height: 1.5; }
.footer-grid { grid-template-columns: 1fr auto auto; gap: 32px; }
.footer-links { gap: 22px; }
/* HTML illustrations receive a proportional increase, not page-sized UI. */
.session-count, .mini-flashcard .meaning { font-size: 12.5px; }
.lane-pill { font-size: 10px; }
.app-bottom-nav small { font-size: 9px; }
.float-label, .float-streak > span:last-child,
.float-schedule div > span { font-size: 12.5px; }
.float-schedule strong { font-size: 13.5px; }
.float-streak { width: 160px; }
.float-schedule { width: 200px; }
.schedule-icon { flex-shrink: 0; }
.demo-card-face > small:last-child, .demo-lane,
.swipe-cue small, .demo-hint { font-size: 12.5px; letter-spacing: .07em; }
.feature-order .feature-content { align-self: stretch; text-align: left; }
/* Quiet deep-purple finish, with light text in either page theme. */
.cta-section { background: #281536; color: #f6e6fd; }
.cta-section .eyebrow.light { color: #cfaaed; }
.cta-section .cta-inner > p, .cta-section .android-note { color: #dacbe5; }
.cta-section .button-dark { background: #d8b6f5; color: #281536; box-shadow: none; }
.cta-section .button-dark:hover { background: #e5ccfa; }
.cta-section .cta-orb img { filter: none; opacity: .07; }
.cta-section::before { opacity: .12; background-image: linear-gradient(rgba(216,182,245,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(216,182,245,.16) 1px,transparent 1px); }
.demo-hint { text-align: center; }
.curve-label, .curve-axis-label { font-size: 9px; line-height: 1.2; letter-spacing: .01em; white-space: nowrap; }
@media (max-width: 820px) { .hero { overflow: clip; } }
/* Compact graph labels share clean rows rather than staggered tiers. */
.memory-curve { padding-top: 55px; padding-bottom: 40px; }
.curve-recall { top: 0; }
.learn-label { top: 28px; }
.review-one { top: 28px; transform: none; }
.review-two { top: 28px; }
.review-three { top: 28px; }
.curve-target-label { top: 69%; }
.interval-one { bottom: 25px; }
.interval-two { bottom: 25px; }
.interval-three { bottom: 25px; }
.curve-time { bottom: 25px; }
.window-brand, .window-title small, .dashboard-stats small,
.dashboard-stats span, .heatmap-panel > div:first-child small { font-size: 11px; }
.window-title > span, .chart-title span, .heatmap-panel strong,
.stat-float span { font-size: 12.5px; }
.window-title { flex-wrap: wrap; gap: 8px; }
.dashboard-stats > div { min-width: 0; }
.dashboard-stats small { letter-spacing: .04em; }
.dashboard-stats span { grid-column: 1 / -1; margin-top: 5px; }
.heatmap-panel > div:first-child { flex-wrap: wrap; gap: 8px; }
@media (max-width: 820px) {
  .nav-links a { font-size: 16.5px; }
  .nav-links:not(.open) { visibility: hidden; }
  .footer-grid { grid-template-columns: 1fr auto; }
}
@media (max-width: 580px) {
  .feature-large { min-height: 0; gap: 24px; align-content: start; }
  .feature-large .feature-content { padding-top: 12px; }
  .feature-large .memory-curve { margin: 0; align-self: start; }
  .hero-lede { font-size: 17.5px; }
  .float-streak { right: 0; width: 145px; }
  .float-schedule { left: 0; width: 185px; gap: 8px; }
  .hero-footnote { font-size: 12.5px; letter-spacing: .035em; }
  .footer-grid { grid-template-columns: 1fr; }
  .window-layout { grid-template-columns: 25px minmax(0, 1fr); }
  .window-content { padding: 14px 9px; min-width: 0; }
  .dashboard-stats { grid-template-columns: 1.15fr 1fr; gap: 6px; }
  .dashboard-stats > div { padding: 10px 7px; }
  .chart-panel, .heatmap-panel { padding: 11px; }
  .heatmap { grid-auto-columns: minmax(0, 1fr); }
  .curve-target-label { top: 67%; }
  .review-one { top: 28px; left: 14%; }
  .review-two { top: 28px; left: 44%; }
  .review-three { top: 28px; }
}
