.skip-link { position: absolute; top: 8px; left: 8px; z-index: 10; padding: 10px 16px; border-radius: 10px; color: white; background: var(--teal-950); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.notice h2 { margin: 8px 0 12px; font-size: 1.35rem; line-height: 1.35; }
.contents ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 36px; row-gap: 8px; margin-bottom: 0; }
.contents li + li { margin-top: 0; }
.contents a { text-underline-offset: 3px; }
section h2[id] { scroll-margin-top: 24px; }
.plan-options { display: grid; gap: 12px; }
.plan-options div { padding: 16px 18px; border: 1px solid var(--line); border-radius: 14px; background: #f5fbf9; }
.plan-options dt { color: var(--teal-950); font-weight: 800; }
.plan-options dd { margin: 3px 0 0; color: var(--muted); }
.plan-table { width: 100%; margin: 16px 0 12px; border-collapse: collapse; text-align: left; }
.plan-table caption { margin-bottom: 12px; color: var(--muted); font-size: .92rem; text-align: left; }
.plan-table th, .plan-table td { padding: 13px 16px; border-bottom: 1px solid var(--line); }
.plan-table thead { color: var(--teal-950); background: var(--teal-100); }
.plan-table th[scope="row"] { font-weight: 600; }
.small-print { color: var(--muted); font-size: .9rem; }
.updated { display: inline-block; }
main, .legal-card, .notice, footer { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .contents ol { grid-template-columns: minmax(0, 1fr); }
  .plan-table th, .plan-table td { padding: 12px 9px; }
  .updated { border-radius: 14px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
