:root {
  --ink: #111318;
  --muted: #50545d;
  --line: #dfe1e5;
  --soft: #f5f6f8;
  --blue: #075fc7;
  --blue-dark: #044a9d;
  --notice: #fff9df;
  --notice-line: #ead77b;
  --page-width: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  min-height: 100vh;
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: "Avenir Next", Avenir, "Century Gothic", sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }

.site-header {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 0 32px;
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--line);
}
.wordmark {
  font-family: Charter, "Bitstream Charter", Georgia, serif;
  font-size: 1.12rem;
  font-weight: 700;
  text-decoration: none;
}
nav { display: flex; align-items: center; gap: 30px; }
nav a { font-size: .78rem; text-decoration: none; }
nav a:hover, nav a[aria-current="page"] { color: var(--blue); }

.hero {
  min-height: 405px;
  display: grid;
  place-items: center;
  align-content: center;
  padding: 72px 24px 62px;
  text-align: center;
}
.hero-label {
  margin: 0 0 16px;
  color: var(--blue);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .17em;
}
h1 {
  max-width: 740px;
  margin: 0;
  font-family: Charter, "Bitstream Charter", Georgia, serif;
  font-size: clamp(2.6rem, 5vw, 4.35rem);
  line-height: .98;
  letter-spacing: -.035em;
}
.hero-copy {
  max-width: 620px;
  margin: 20px auto 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.65;
}
.hero-actions { display: flex; gap: 14px; margin-top: 30px; }
.button {
  min-width: 142px;
  padding: 13px 24px;
  border: 1px solid var(--line);
  border-radius: 5px;
  font-size: .85rem;
  font-weight: 700;
  text-decoration: none;
}
.button-primary { border-color: var(--blue); color: #fff; background: var(--blue); }
.button-primary:hover { background: var(--blue-dark); }
.button-secondary { color: var(--blue); background: #fff; }
.button-secondary:hover { border-color: #aeb2b9; background: var(--soft); }

.features { padding: 66px 24px 74px; background: var(--soft); }
.feature-grid {
  width: min(var(--page-width), 100%);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 72px;
  margin: 0 auto;
}
.feature-grid article span { color: #8b9099; font-size: .68rem; letter-spacing: .12em; }
.feature-grid h2 {
  margin: 16px 0 10px;
  font-family: Charter, "Bitstream Charter", Georgia, serif;
  font-size: 1.06rem;
}
.feature-grid p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.7; }

footer {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  border-top: 1px solid var(--line);
  color: #858a93;
  font-size: .7rem;
}
footer a { text-decoration: none; }
footer a:hover { color: var(--blue); }

.short-page { display: flex; flex-direction: column; }
.short-page main { flex: 1; }
.notice-main { min-height: 305px; display: grid; place-items: center; padding: 70px 24px; }
.notice {
  width: min(520px, 100%);
  padding: 22px 28px;
  border: 1px solid var(--notice-line);
  border-radius: 7px;
  background: var(--notice);
  text-align: center;
}
.notice strong { font-family: Charter, "Bitstream Charter", Georgia, serif; font-size: .9rem; }
.notice p { margin: 7px 0 0; color: #695b21; font-size: .78rem; line-height: 1.55; }
.contact-main { min-height: 305px; display: grid; place-content: center; gap: 8px; text-align: center; }
.contact-main p { margin: 0; color: #858a93; font-size: .72rem; text-transform: uppercase; letter-spacing: .14em; }
.contact-main a { font-family: Charter, "Bitstream Charter", Georgia, serif; font-size: 1.15rem; text-decoration: none; }
.contact-main a:hover { color: var(--blue); }

.legal-page {
  width: min(720px, calc(100% - 40px));
  margin: 0 auto;
  padding: 76px 0 92px;
}
.legal-page > header { margin-bottom: 38px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.legal-page > header p { margin: 0 0 10px; color: var(--blue); font-size: .68rem; font-weight: 700; letter-spacing: .17em; }
.legal-page h1 { font-size: clamp(2.4rem, 5vw, 3.6rem); }
.legal-page > p { margin: 0 0 42px; color: var(--muted); font-size: .94rem; line-height: 1.75; }
.legal-page section { margin-top: 30px; }
.legal-page h2 { margin: 0 0 9px; font-family: Charter, "Bitstream Charter", Georgia, serif; font-size: 1.08rem; }
.legal-page section p, .legal-page li { color: var(--muted); font-size: .84rem; line-height: 1.75; }
.legal-page section p { margin: 0; }
.legal-page ul { margin: 8px 0 0; padding-left: 20px; }
.legal-page li + li { margin-top: 5px; }

@media (max-width: 720px) {
  .site-header { align-items: flex-start; padding: 16px 20px; }
  nav { flex-wrap: wrap; justify-content: flex-end; gap: 10px 18px; }
  .hero { min-height: 470px; padding-top: 64px; }
  .hero-copy { font-size: .9rem; }
  .feature-grid { grid-template-columns: 1fr; gap: 42px; }
}

@media (max-width: 460px) {
  .site-header { display: grid; gap: 14px; }
  nav { justify-content: flex-start; }
  .hero-actions { width: 100%; flex-direction: column; }
  .button { width: 100%; }
}
