:root {
  color-scheme: light;
  --site-ink: #111111;
  --site-ivory: #f4ede1;
  --site-paper: #fffdf9;
  --site-blue: #2f6fa8;
  --site-line: #c9c1b6;
}

* { box-sizing: border-box; }
body {
  max-width: none;
  margin: 0;
  padding: 0;
  background: var(--site-ivory);
  color: var(--site-ink);
  font: 16px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a { text-underline-offset: .22em; }
a:focus-visible { outline: 3px solid var(--site-blue); outline-offset: 4px; }
.site-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }

.site-header { border-bottom: 1px solid var(--site-line); }
.site-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 84px;
}
.site-header .site-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--site-ink);
  font-size: 1.26rem;
  font-weight: 800;
  letter-spacing: -.05em;
  text-decoration: none;
}
.site-header .site-brand img { display: block; width: 44px; height: 44px; border-radius: 10px; }
.site-nav { display: flex; align-items: center; gap: 24px; font-size: .94rem; }
.site-nav a { color: var(--site-ink); text-decoration: none; }
.site-nav a:hover { text-decoration: underline; }

.site-footer { margin: 0; padding: 0; border: 0; background: var(--site-ink); color: #fff; }
.site-footer-inner {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding-block: 34px;
}
.site-footer p { margin: 0; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 12px 22px; font-size: .94rem; }
.site-footer a { color: #fff; text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }

.hero-logo {
  display: block;
  width: min(100%, 400px);
  margin-inline: auto;
  border-radius: 28px;
}

.content-main, .legal-main {
  width: min(760px, calc(100% - 48px));
  max-width: none;
  min-height: 60vh;
  margin: 0 auto;
  padding: 58px 0 86px;
}
.content-main .eyebrow, .legal-main .eyebrow { display: none; }
.content-main h1, .legal-main h1 {
  margin: 0 0 16px;
  color: var(--site-ink);
  font: 700 clamp(2.6rem, 5.5vw, 4rem)/1.08 Georgia, "Times New Roman", serif;
  letter-spacing: -.055em;
}
.content-main h2, .legal-main h2 {
  margin: 0 0 12px;
  color: var(--site-ink);
  font: 700 clamp(1.35rem, 3vw, 1.65rem)/1.2 Georgia, "Times New Roman", serif;
  letter-spacing: -.025em;
}
.content-main p, .legal-main p { margin: 0 0 16px; }
.content-main .intro { max-width: 58ch; color: #424242; font-size: 1.12rem; }
.content-main .card {
  margin-top: 20px;
  padding: 26px;
  border: 1px solid var(--site-line);
  border-radius: 16px;
  background: var(--site-paper);
  box-shadow: none;
}
.content-main .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 8px;
  background: var(--site-ink);
  color: #fff;
}
.content-main .button:hover { background: #303030; }
.content-main a:not(.button), .legal-main a { color: var(--site-blue); }
.content-main .note { color: #424242; }

.legal-main article > p:first-of-type:not(.eyebrow) { max-width: 68ch; }
.legal-main .legal-updated { color: #555; font-size: .9rem; margin-bottom: 36px; }
.legal-main section { border-top: 1px solid var(--site-line); padding-top: 28px; margin-top: 32px; }
.legal-main ul, .legal-main ol { padding-left: 24px; }
.legal-main li + li { margin-top: 10px; }

@media (max-width: 760px) {
  .site-shell { width: min(100% - 36px, 600px); }
  .site-header-inner { min-height: 72px; }
  .site-nav { gap: 16px; }
  .site-footer-inner { flex-direction: column; }
  .content-main, .legal-main { width: min(100% - 36px, 600px); padding-block: 48px 72px; }
  .content-main .card { padding: 22px; }
}
