:root {
  --white: #ffffff;
  --lpblue-700: #002a50;
  --lpblue-600: #003c71;
  --lpblue-50: #eef3f8;
  --text: #1d2733;
  --muted: #55606c;
  --border: #d5dce3;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--white);
  color: var(--text);
  font: 17px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
header { background: var(--lpblue-600); color: var(--white); }
.wrap { max-width: 40rem; margin: 0 auto; padding: 0 16px; }
header .wrap { padding-top: 56px; padding-bottom: 56px; }
h1 { margin: 0 0 12px; font-size: 2.25rem; line-height: 1.15; letter-spacing: -0.01em; }
.tagline { margin: 0; font-size: 1.15rem; max-width: 34rem; }
main { padding: 40px 0 56px; }
main p { margin: 0 0 28px; }
.cta {
  display: inline-block;
  padding: 12px 22px;
  border-radius: 6px;
  background: var(--lpblue-600);
  color: var(--white);
  font-weight: 600;
  text-decoration: none;
}
.cta:hover { background: var(--lpblue-700); }
.cta:focus-visible { outline: 3px solid #b8691f; outline-offset: 2px; }
footer { border-top: 1px solid var(--border); padding: 20px 0; color: var(--muted); font-size: 0.9rem; }
footer a { color: inherit; text-decoration: underline; }
footer a:hover { color: var(--lpblue-700); }
.legal header .wrap { padding-top: 36px; padding-bottom: 36px; }
.legal h1 { font-size: 1.9rem; margin-bottom: 6px; }
.legal header p { margin: 0; font-size: 0.95rem; }
.legal header a { color: var(--white); }
.legal main p, .legal main li { margin: 0 0 14px; overflow-wrap: break-word; }
.legal main ul { margin: 0 0 14px; padding-left: 1.3rem; }
.legal main h2 { margin: 32px 0 10px; font-size: 1.2rem; line-height: 1.3; color: var(--lpblue-700); }
.legal main a { color: var(--lpblue-600); }
