/* Legal pages — long-form reading, not marketing.
   Deliberately quieter than site.css: a policy is read carefully by someone
   deciding whether to trust us, so it gets measure, hierarchy and air rather
   than accent colour. Nothing here is a card. */
.page-legal{background:var(--paper,var(--abc-white))}
.legal{max-width:760px;margin:0 auto;padding:104px 24px 24px}
.legal-inner{font-size:17px;line-height:1.68;color:var(--ink,var(--abc-charcoal))}
.legal-inner h1{font-size:clamp(30px,5vw,42px);line-height:1.08;letter-spacing:-.02em;margin:0 0 6px;text-wrap:balance}
.legal-inner h2{font-size:21px;line-height:1.25;margin:44px 0 2px;letter-spacing:-.01em}
.legal-inner h3{font-size:17px;margin:28px 0 2px}
.legal-inner p{margin:14px 0}
.legal-inner ul,.legal-inner ol{margin:14px 0;padding-left:22px}
.legal-inner li{margin:6px 0}
.legal-inner strong{font-weight:650}
.legal-inner a{color:inherit;text-underline-offset:3px}
.legal-inner hr{border:0;border-top:1px solid var(--line,var(--abc-neutral-200));margin:36px 0}
/* Tables carry the plan comparison — they must scroll, never squash the page. */
.legal-inner .tablewrap,.legal-inner table{display:block;overflow-x:auto}
.legal-inner table{border-collapse:collapse;width:100%;font-size:15px;margin:18px 0}
.legal-inner th,.legal-inner td{text-align:left;padding:10px 16px 10px 0;border-bottom:1px solid var(--line,var(--abc-neutral-200));vertical-align:top}
.legal-inner th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,var(--abc-neutral-600));font-weight:600}
.legal-inner td:last-child,.legal-inner th:last-child{padding-right:0}
.legal-inner code{font-size:.9em;background:var(--wash,var(--abc-neutral-50));padding:1px 5px;border-radius:4px}
.legal-more{max-width:760px;margin:56px auto 0;padding:20px 0 0;border-top:1px solid var(--line,var(--abc-neutral-200));display:flex;flex-wrap:wrap;gap:10px 26px;font-size:14px}
.legal-more a{color:var(--muted,var(--abc-neutral-600));text-decoration:none}
.legal-more a:hover,.legal-more a:focus-visible{color:var(--ink,var(--abc-charcoal));text-decoration:underline}
.legal-foot{max-width:760px;margin:0 auto;padding:40px 24px 72px;font-size:13.5px;color:var(--muted,var(--abc-neutral-600))}
.legal-foot p{margin:6px 0}
.legal-foot-links a{color:inherit}
.btn-sm{padding:8px 14px;font-size:14px}
@media (max-width:640px){.legal{padding-top:88px}.legal-inner{font-size:16.5px}}
/* Safe area (28 Sep 2026): the pages set viewport-fit=cover, so on a notched iPhone (and inside the
   app) the fixed top bar sits under the status bar unless it pads itself down. max() keeps the
   current 0 everywhere else. */
.page-legal .nav{padding-top:max(0px,env(safe-area-inset-top));height:calc(var(--nav-h) + max(0px,env(safe-area-inset-top)))}
.page-legal .legal{padding-top:calc(104px + max(0px,env(safe-area-inset-top)))}
