:root {
  color-scheme: light;
  --ink: #173149;
  --ink-soft: #486172;
  --blue: #2d9ddd;
  --blue-deep: #117bb9;
  --paper: #f6fbff;
  --line: #dcebf4;
}

* { box-sizing: border-box; }

body {
  min-height: 100vh;
  margin: 0;
  color: var(--ink);
  background: radial-gradient(circle at 5% 0%, #e3f6ff 0, transparent 33rem), var(--paper);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
}

a { color: var(--blue-deep); }
a:hover { color: var(--blue); }

.site-header, footer {
  width: min(100% - 40px, 1080px);
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.site-header { padding: 25px 0; }
.brand { color: var(--ink); font-size: 20px; font-weight: 740; letter-spacing: -0.04em; text-decoration: none; }
.brand span { color: var(--blue-deep); }
nav { display: flex; gap: 20px; }
nav a { font-size: 14px; font-weight: 650; text-decoration: none; }
nav a[aria-current="page"] { color: var(--ink); }

.home, .legal { width: min(100% - 40px, 760px); margin: 0 auto; }
.home { min-height: calc(100vh - 172px); padding: clamp(70px, 13vw, 156px) 0 100px; }
.legal { padding: clamp(45px, 7vw, 85px) 0 90px; }
.eyebrow { margin: 0 0 14px; color: var(--blue-deep); font-size: 13px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
h1 { max-width: 700px; margin: 0; font-size: clamp(44px, 8vw, 76px); line-height: 1.02; letter-spacing: -0.062em; }
.legal h1 { font-size: clamp(40px, 7vw, 62px); }
.lead, .intro { max-width: 640px; margin: 26px 0 0; color: var(--ink-soft); font-size: clamp(19px, 2.4vw, 23px); line-height: 1.48; }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 36px; }
.button { display: inline-block; padding: 12px 18px; border-radius: 10px; color: white; background: var(--blue-deep); font-weight: 720; text-decoration: none; }
.button:hover { color: white; background: var(--blue); }
.text-link { font-weight: 700; text-decoration: none; }
.legal section { padding-top: 30px; }
.legal h2 { margin: 0 0 8px; font-size: 20px; line-height: 1.28; letter-spacing: -0.025em; }
.legal section p { margin: 0; color: var(--ink-soft); }
footer { padding: 25px 0 34px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: 13px; flex-wrap: wrap; }
footer a { color: var(--ink-soft); text-decoration: none; }

@media (max-width: 540px) {
  .site-header { padding-top: 20px; }
  nav { gap: 14px; }
  .home { min-height: calc(100vh - 160px); }
  footer { align-items: flex-start; flex-direction: column; gap: 8px; }
}
