/* Shared styles for all landing pages. Mobile-first, no web fonts, no images. */
:root {
  --ink: #16213a;
  --ink-soft: #46506a;
  --line: #dfe3ea;
  --paper: #ffffff;
  --tint: #f4f6f9;
  --action: #0f5c4a;
  --action-hover: #0b4a3b;
  --action-ink: #ffffff;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.55;
}
.wrap { max-width: 640px; margin: 0 auto; padding: 0 20px; }
.topbar { border-bottom: 1px solid var(--line); }
.topbar .wrap { padding-top: 14px; padding-bottom: 14px; font-weight: 700; font-size: 17px; letter-spacing: 0.01em; }
.hero { padding-top: 32px; padding-bottom: 8px; }
h1 { font-size: 30px; line-height: 1.2; margin: 0 0 12px; letter-spacing: -0.01em; }
.lede { color: var(--ink-soft); margin: 0 0 24px; font-size: 17px; }
p { margin: 0 0 16px; }
.plain { font-weight: 600; }
.price { font-size: 34px; font-weight: 800; margin: 28px 0 8px; letter-spacing: -0.01em; }
.after-price { color: var(--ink-soft); font-size: 17px; }
.btn {
  display: block; width: 100%;
  margin: 24px 0 8px; padding: 17px 20px;
  background: var(--action); color: var(--action-ink);
  text-align: center; text-decoration: none;
  font-size: 19px; font-weight: 700;
  border-radius: 10px;
}
.btn:hover, .btn:focus { background: var(--action-hover); }
.btn:focus-visible { outline: 3px solid #f2b705; outline-offset: 3px; }
.under-btn { text-align: center; color: var(--ink-soft); font-size: 15px; margin: 0 0 32px; }
.section { background: var(--tint); padding: 28px 0 8px; border-top: 1px solid var(--line); }
h2 { font-size: 21px; margin: 0 0 12px; }
ul.checks { margin: 0 0 28px; padding: 0; list-style: none; }
ul.checks li { padding: 10px 0 10px 30px; border-bottom: 1px solid var(--line); position: relative; }
ul.checks li:last-child { border-bottom: 0; }
ul.checks li::before { content: "✓"; position: absolute; left: 4px; top: 10px; color: var(--action); font-weight: 800; }
.towns { color: var(--ink-soft); font-size: 16px; margin-bottom: 8px; }
.section .btn { margin-top: 12px; margin-bottom: 32px; }
.notice { border-left: 4px solid var(--action); background: var(--tint); padding: 14px 16px; margin: 20px 0; }
footer { border-top: 1px solid var(--line); padding: 20px 0 40px; color: var(--ink-soft); font-size: 15px; }
footer a { color: var(--ink-soft); }
.doc h2 { margin-top: 28px; }
.doc { padding-top: 28px; padding-bottom: 16px; }
@media (min-width: 720px) {
  h1 { font-size: 38px; }
  .hero { padding-top: 48px; }
  .btn { display: inline-block; width: auto; min-width: 320px; }
  .under-btn { text-align: left; }
}
