/* ==========================================================================
   NoticeRight — noticeright.ai
   Tokens are taken verbatim from brand/BRAND.md. Two rules from that file
   govern colour use here and must not be relaxed:
     1. Teal is a fill/border/large-display colour only — never small copy.
     2. Teal never carries "safe" or "resolved". Semantic status colours are
        deliberately outside the brand palette.
   ========================================================================== */

:root {
  /* Brand */
  --nr-navy:      #002756;
  --nr-indigo:    #00255E;
  --nr-blue:      #3D98EF;
  --nr-blue-mid:  #0193C6;
  --nr-teal:      #02B1B4;
  --nr-rule:      #DFEAF8;

  /* Text-safe blue. BRAND.md warns that the mid blue and the teal do not clear
     AA at body sizes on white, so small copy uses this darkened blue instead
     and the brand values stay on fills, borders, and large display type. */
  --nr-blue-text: #0A6B91;

  /* Semantic — outside the brand palette on purpose */
  --nr-critical:  #B3261E;
  --nr-warning:   #8A6B13;
  --nr-success:   #1F6F4A;
  --nr-neutral:   #4E605C;

  /* Surfaces & ink */
  --bg:           #FFFFFF;
  --bg-sunken:    #F5F8FC;
  --bg-raised:    #FFFFFF;
  --bg-invert:    #041B33;
  --ink:          #0B1B2E;
  --ink-soft:     #46586E;
  --ink-mute:     #59697E;
  --ink-invert:   #EAF1F9;
  --border:       #E1E9F3;
  --border-firm:  #CBD9EA;

  --gradient: linear-gradient(90deg, var(--nr-navy) 0%, var(--nr-blue) 55%, var(--nr-teal) 100%);

  --shadow-sm: 0 1px 2px rgba(11,27,46,.06), 0 1px 3px rgba(11,27,46,.04);
  --shadow-md: 0 4px 12px rgba(11,27,46,.06), 0 12px 28px rgba(11,27,46,.06);
  --shadow-lg: 0 8px 24px rgba(11,27,46,.08), 0 24px 56px rgba(11,27,46,.10);

  --radius:    12px;
  --radius-lg: 18px;
  --wrap:      1120px;

  --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
          "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
          "Liberation Mono", monospace;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg:          #071626;
    --bg-sunken:   #0B1E32;
    --bg-raised:   #0E2439;
    --bg-invert:   #030F1C;
    --ink:         #E9F1F9;
    --ink-soft:    #AFC2D6;
    --ink-mute:    #8598AE;
    --ink-invert:  #E9F1F9;
    --border:      #1B3450;
    --border-firm: #27476A;
    --nr-rule:     #16324D;

    --nr-critical: #F2B8B5;
    --nr-warning:  #D2AC4A;
    --nr-success:  #5CBE87;
    --nr-neutral:  #A0B0AC;

    --shadow-sm: 0 1px 2px rgba(0,0,0,.30);
    --shadow-md: 0 4px 12px rgba(0,0,0,.32), 0 12px 28px rgba(0,0,0,.26);
    --shadow-lg: 0 8px 24px rgba(0,0,0,.36), 0 24px 56px rgba(0,0,0,.30);
  }
}

/* Explicit dark choice — mirrors the media-query block so a data-theme
   stamp wins over the OS preference in both directions. */
:root[data-theme="dark"] {
    --bg:          #071626;
    --bg-sunken:   #0B1E32;
    --bg-raised:   #0E2439;
    --bg-invert:   #030F1C;
    --ink:         #E9F1F9;
    --ink-soft:    #AFC2D6;
    --ink-mute:    #8598AE;
    --ink-invert:  #E9F1F9;
    --border:      #1B3450;
    --border-firm: #27476A;
    --nr-rule:     #16324D;

    --nr-critical: #F2B8B5;
    --nr-warning:  #D2AC4A;
    --nr-success:  #5CBE87;
    --nr-neutral:  #A0B0AC;

    --shadow-sm: 0 1px 2px rgba(0,0,0,.30);
    --shadow-md: 0 4px 12px rgba(0,0,0,.32), 0 12px 28px rgba(0,0,0,.26);
    --shadow-lg: 0 8px 24px rgba(0,0,0,.36), 0 24px 56px rgba(0,0,0,.30);
  }


/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, svg { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3, h4 { margin: 0; line-height: 1.18; letter-spacing: -.021em; font-weight: 700; }
p  { margin: 0; }
ul, ol { margin: 0; padding: 0; }

/* ---------- Layout ---------- */
.wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: 24px; }
.section { padding-block: 88px; }
.section--sunken { background: var(--bg-sunken); border-block: 1px solid var(--border); }
.section__head { max-width: 720px; margin-bottom: 48px; }

.eyebrow {
  font-size: 12.5px; font-weight: 700; letter-spacing: .13em;
  text-transform: uppercase; color: var(--nr-blue-text); margin-bottom: 14px;
}
h2.section__title { font-size: clamp(28px, 3.4vw, 40px); margin-bottom: 16px; }
.section__lede { font-size: 18.5px; color: var(--ink-soft); }

.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: var(--nr-navy); color: #fff; padding: 12px 20px; border-radius: 0 0 8px 0;
}
.skip-link:focus { left: 0; }

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--nr-blue); outline-offset: 2px; border-radius: 6px;
}

/* ---------- Header ---------- */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--border);
}
.site-header__inner { display: flex; align-items: center; gap: 28px; height: 68px; }
.site-header__logo img { height: 30px; width: auto; }
.site-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; }
.site-nav__links { display: contents; }
.site-nav a {
  font-size: 15px; font-weight: 550; color: var(--ink-soft);
  text-decoration: none; transition: color .15s;
}
.site-nav a:hover { color: var(--nr-navy); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .site-nav a:hover { color: var(--nr-blue); }
}
@media (max-width: 800px) { .site-nav__links { display: none; } }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  font-family: inherit; font-size: 15.5px; font-weight: 650; line-height: 1;
  padding: 14px 24px; border-radius: 10px; border: 1px solid transparent;
  text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: transform .12s ease, box-shadow .18s ease, background-color .18s ease;
}
.btn--primary { background: var(--nr-navy); color: #fff; box-shadow: var(--shadow-sm); }
.btn--primary:hover { background: #003a7d; transform: translateY(-1px); box-shadow: var(--shadow-md); }
.btn--ghost { background: transparent; color: var(--ink); border-color: var(--border-firm); }
.btn--ghost:hover { border-color: var(--nr-blue); color: var(--nr-navy); }
.btn--sm { padding: 10px 18px; font-size: 14.5px; }
.btn--block { width: 100%; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .btn--primary { background: var(--nr-blue); color: #04182B; }
  :root:not([data-theme="light"]) .btn--primary:hover { background: #63ACF3; }
  :root:not([data-theme="light"]) .btn--ghost:hover { color: var(--nr-blue); }
}

/* ---------- Hero ---------- */
.hero { position: relative; overflow: hidden; padding-block: 88px 96px; }
.hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(58ch 40ch at 78% 8%, color-mix(in srgb, var(--nr-teal) 11%, transparent), transparent 70%),
    radial-gradient(64ch 44ch at 8% 0%, color-mix(in srgb, var(--nr-blue) 13%, transparent), transparent 68%);
}
.hero__grid { display: grid; grid-template-columns: minmax(0,1.02fr) minmax(0,.98fr); gap: 64px; align-items: center; }
@media (max-width: 940px) { .hero__grid { grid-template-columns: 1fr; gap: 48px; } }

.status-pill {
  display: inline-flex; align-items: center; gap: 9px;
  font-size: 13px; font-weight: 600; letter-spacing: .01em;
  color: var(--ink-soft); background: var(--bg-raised);
  border: 1px solid var(--border-firm); border-radius: 999px;
  padding: 7px 15px 7px 11px; margin-bottom: 26px; box-shadow: var(--shadow-sm);
}
.status-pill__dot {
  width: 7px; height: 7px; border-radius: 50%; background: var(--nr-teal);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--nr-teal) 22%, transparent);
}

.hero h1 { font-size: clamp(34px, 5vw, 56px); letter-spacing: -.032em; margin-bottom: 22px; }
.hero h1 .grad {
  background: var(--gradient); -webkit-background-clip: text; background-clip: text;
  color: transparent;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .hero h1 .grad {
    background: linear-gradient(90deg, var(--nr-blue) 0%, var(--nr-blue-mid) 50%, var(--nr-teal) 100%);
    -webkit-background-clip: text; background-clip: text;
  }
}
.hero__lede { font-size: 19.5px; color: var(--ink-soft); max-width: 60ch; margin-bottom: 18px; }
.hero__sub  { font-size: 16.5px; color: var(--ink-mute); max-width: 58ch; margin-bottom: 32px; }
.hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 22px; }
.hero__note { font-size: 14px; color: var(--ink-mute); }

/* ---------- Notice card (product illustration) ---------- */
.card-stack { position: relative; }
.notice-card {
  background: var(--bg-raised); border: 1px solid var(--border);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); overflow: hidden;
}
.notice-card__bar { height: 4px; background: var(--gradient); }
.notice-card__head {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 16px; padding: 20px 22px 16px; border-bottom: 1px solid var(--border);
}
.notice-card__id { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-mute); margin-bottom: 5px; }
.notice-card__title { font-size: 19px; font-weight: 700; }
.notice-card__sub { font-size: 13.5px; color: var(--ink-mute); margin-top: 3px; }

.tier {
  font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
  padding: 5px 10px; border-radius: 999px; white-space: nowrap;
  color: var(--nr-success); background: color-mix(in srgb, var(--nr-success) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--nr-success) 32%, transparent);
}
.notice-card__body { padding: 18px 22px 22px; }
.kv { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; margin-bottom: 18px; }
.kv__k { font-size: 11.5px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-mute); margin-bottom: 3px; }
.kv__v { font-size: 15.5px; font-weight: 600; }
.kv__v--mono { font-family: var(--mono); font-size: 14.5px; }

.deadline {
  border: 1px solid color-mix(in srgb, var(--nr-critical) 30%, transparent);
  background: color-mix(in srgb, var(--nr-critical) 7%, transparent);
  border-radius: var(--radius); padding: 14px 16px; margin-bottom: 16px;
}
.deadline__row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.deadline__label { font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--nr-critical); }
.deadline__date { font-size: 20px; font-weight: 750; color: var(--ink); }
.deadline__count { font-size: 13px; font-weight: 650; color: var(--nr-critical); }
.deadline__auth {
  font-size: 12.5px; line-height: 1.5; color: var(--ink-soft);
  margin-top: 8px; padding-top: 8px; border-top: 1px dashed color-mix(in srgb, var(--nr-critical) 26%, transparent);
}
.deadline__auth strong { color: var(--ink); font-weight: 650; }

.steps-mini { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.steps-mini__item {
  font-size: 11.5px; font-weight: 650; padding: 5px 9px; border-radius: 6px;
  background: var(--nr-rule); color: var(--nr-navy);
}
.steps-mini__item--done { background: color-mix(in srgb, var(--nr-teal) 15%, transparent); color: var(--nr-indigo); }
.steps-mini__item--now  { background: var(--nr-navy); color: #fff; }
.steps-mini__item--todo { background: transparent; color: var(--ink-mute); border: 1px dashed var(--border-firm); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .steps-mini__item { background: #16324D; color: var(--ink); }
  :root:not([data-theme="light"]) .steps-mini__item--now { background: var(--nr-blue); color: #04182B; }
  :root:not([data-theme="light"]) .steps-mini__item--done { color: var(--ink); }
}
.notice-card__foot {
  font-size: 12.5px; color: var(--ink-mute); padding: 13px 22px;
  border-top: 1px solid var(--border); background: var(--bg-sunken);
  display: flex; align-items: center; gap: 8px;
}
.caption { font-size: 13px; color: var(--ink-mute); text-align: center; margin-top: 14px; font-style: italic; }

/* ---------- Generic cards / grids ---------- */
.grid { display: grid; gap: 22px; }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 900px) { .grid--3 { grid-template-columns: 1fr; } .grid--2 { grid-template-columns: 1fr; } }

.card {
  background: var(--bg-raised); border: 1px solid var(--border);
  border-radius: var(--radius-lg); padding: 26px 24px; box-shadow: var(--shadow-sm);
}
.card h3 { font-size: 18.5px; margin-bottom: 9px; }
.card p { font-size: 15.5px; color: var(--ink-soft); }
.card__icon {
  width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center;
  background: var(--nr-rule); color: var(--nr-navy); margin-bottom: 16px;
}
.card__icon svg { width: 20px; height: 20px; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .card__icon { background: #16324D; color: var(--nr-blue); }
}

/* ---------- Problem list ---------- */
.problem { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 40px; }
@media (max-width: 820px) { .problem { grid-template-columns: 1fr; } }
.problem li {
  list-style: none; display: flex; gap: 13px; align-items: flex-start;
  padding: 13px 0; border-bottom: 1px solid var(--border); font-size: 16px; color: var(--ink-soft);
}
.problem li::before {
  content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%;
  background: var(--nr-warning); margin-top: 10px;
}

/* ---------- How it works ---------- */
.flow { display: grid; gap: 0; }
.flow__item {
  display: grid; grid-template-columns: 82px 1fr; gap: 26px;
  padding: 26px 0; border-top: 1px solid var(--border);
}
.flow__item:last-child { border-bottom: 1px solid var(--border); }
@media (max-width: 720px) { .flow__item { grid-template-columns: 56px 1fr; gap: 18px; } }
.flow__num {
  font-family: var(--mono); font-size: 13px; font-weight: 700; letter-spacing: .06em;
  color: var(--nr-blue-text); padding-top: 4px;
}
.flow__title { font-size: 20px; margin-bottom: 7px; }
.flow__desc { font-size: 16px; color: var(--ink-soft); margin-bottom: 10px; }
.flow__rule {
  font-size: 14px; color: var(--ink-mute); padding-left: 14px;
  border-left: 2px solid var(--nr-teal);
}
.flow__rule strong { color: var(--ink-soft); font-weight: 650; }

/* ---------- Difference / moat ---------- */
.moat { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
@media (max-width: 880px) { .moat { grid-template-columns: 1fr; } }
.moat__card {
  border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 28px 26px 28px 30px; background: var(--bg-raised); box-shadow: var(--shadow-sm);
  position: relative; overflow: hidden;
}
.moat__card::before {
  content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--gradient);
}
.moat__card h3 { font-size: 19px; margin-bottom: 10px; }
.moat__card p { font-size: 15.5px; color: var(--ink-soft); }
.moat__card p + p { margin-top: 10px; }

.math {
  font-family: var(--mono); font-size: 13.5px; line-height: 1.9;
  background: var(--bg-sunken); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 14px 16px; margin-top: 16px; color: var(--ink-soft);
  overflow-x: auto;
}
.math b { color: var(--ink); font-weight: 700; }

/* ---------- Constraints ---------- */
.constraints { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 44px; }
@media (max-width: 880px) { .constraints { grid-template-columns: 1fr; } }
.constraints li {
  list-style: none; display: grid; grid-template-columns: 22px 1fr; gap: 14px;
  padding: 16px 0; border-bottom: 1px solid var(--border); align-items: start;
}
.constraints svg { width: 20px; height: 20px; color: var(--nr-teal); margin-top: 2px; flex: none; }
.constraints strong { display: block; font-size: 16px; font-weight: 650; margin-bottom: 3px; }
.constraints span { font-size: 14.5px; color: var(--ink-soft); }

/* ---------- Coverage ---------- */
.chain { display: grid; gap: 14px; }
.chain__row {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 15px 18px; border: 1px solid var(--border); border-radius: var(--radius);
  background: var(--bg-raised);
}
.chain__label { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-mute); width: 100%; margin-bottom: 2px; }
.chip {
  font-family: var(--mono); font-size: 13px; font-weight: 600;
  padding: 6px 11px; border-radius: 7px; background: var(--nr-rule); color: var(--nr-navy);
}
.chain__arrow { color: var(--ink-mute); font-size: 14px; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .chip { background: #16324D; color: var(--ink); }
}

/* ---------- Partner ---------- */
.partner { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
@media (max-width: 880px) { .partner { grid-template-columns: 1fr; } }
.partner__col { border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 28px 26px; background: var(--bg-raised); }
.partner__col h3 { font-size: 18px; margin-bottom: 16px; }
.partner__col li {
  list-style: none; display: flex; gap: 11px; font-size: 15.5px; color: var(--ink-soft);
  padding: 9px 0; border-bottom: 1px solid var(--border);
}
.partner__col li:last-child { border-bottom: 0; }
.partner__col li::before { content: "—"; color: var(--nr-blue-text); flex: none; }

/* ---------- FAQ ---------- */
.faq { max-width: 820px; }
.faq details { border-bottom: 1px solid var(--border); }
.faq summary {
  cursor: pointer; list-style: none; padding: 20px 40px 20px 0; position: relative;
  font-size: 17.5px; font-weight: 650;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: ""; position: absolute; right: 6px; top: 50%; width: 10px; height: 10px;
  border-right: 2px solid var(--ink-mute); border-bottom: 2px solid var(--ink-mute);
  transform: translateY(-70%) rotate(45deg); transition: transform .2s;
}
.faq details[open] summary::after { transform: translateY(-25%) rotate(225deg); }
.faq__a { padding: 0 0 22px; font-size: 16px; color: var(--ink-soft); max-width: 68ch; }
.faq__a p + p { margin-top: 12px; }

/* ---------- Form ---------- */
.form-band { background: var(--bg-invert); color: var(--ink-invert); }
.form-band .eyebrow { color: var(--nr-teal); }
.form-band h2 { color: #fff; }
.form-band .section__lede { color: #B9CCE0; }
.form-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 56px; align-items: start; }
@media (max-width: 940px) { .form-grid { grid-template-columns: 1fr; gap: 36px; } }
.form-aside li {
  list-style: none; display: flex; gap: 11px; font-size: 15.5px; color: #C3D4E6;
  padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.10);
}
.form-aside li::before { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--nr-teal); margin-top: 9px; }

.form {
  background: var(--bg-raised); color: var(--ink);
  border-radius: var(--radius-lg); padding: 30px 28px; box-shadow: var(--shadow-lg);
}
.field { margin-bottom: 17px; }
.field--split { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
@media (max-width: 560px) { .field--split { grid-template-columns: 1fr; } }
.field label {
  display: block; font-size: 13.5px; font-weight: 650; margin-bottom: 6px; color: var(--ink);
}
.field .req { color: var(--nr-critical); }
.field input, .field select, .field textarea {
  width: 100%; font-family: inherit; font-size: 15.5px; color: var(--ink);
  background: var(--bg); border: 1px solid var(--border-firm); border-radius: 9px;
  padding: 11px 13px; transition: border-color .15s, box-shadow .15s;
}
.field textarea { resize: vertical; min-height: 88px; }
.field input:focus, .field select:focus, .field textarea:focus {
  outline: none; border-color: var(--nr-blue);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--nr-blue) 22%, transparent);
}
.field input:user-invalid, .field select:user-invalid { border-color: var(--nr-critical); }
.form__legal { font-size: 13px; color: var(--ink-mute); margin-top: 14px; line-height: 1.55; }
.form__legal a { color: var(--nr-blue-text); }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.form__status { font-size: 15px; font-weight: 600; margin-top: 14px; display: none; }
.form__status--ok   { display: block; color: var(--nr-success); }
.form__status--err  { display: block; color: var(--nr-critical); }
.form__done { text-align: center; padding: 28px 10px; }
.form__done h3 { font-size: 21px; margin-bottom: 10px; color: var(--nr-success); }
.form__done p { font-size: 15.5px; color: var(--ink-soft); }

/* ---------- Footer ---------- */
.site-footer { background: var(--bg-invert); color: #A9BED4; padding-block: 52px 34px; border-top: 1px solid rgba(255,255,255,.09); }
.site-footer__top { display: flex; flex-wrap: wrap; gap: 32px; justify-content: space-between; align-items: flex-start; padding-bottom: 30px; border-bottom: 1px solid rgba(255,255,255,.10); }
.site-footer img { height: 30px; width: auto; margin-bottom: 14px; }
.site-footer__blurb { font-size: 15px; max-width: 42ch; color: #A9BED4; }
.site-footer__links { display: flex; gap: 30px; flex-wrap: wrap; }
.site-footer__links a { font-size: 15px; color: #C3D4E6; text-decoration: none; }
.site-footer__links a:hover { color: #fff; text-decoration: underline; }
.site-footer__legal { font-size: 13px; line-height: 1.65; color: #7E96AF; padding-top: 26px; max-width: 92ch; }
.site-footer__legal p + p { margin-top: 10px; }
.site-footer__legal a { color: #A9BED4; }

/* ---------- Legal page ---------- */
.legal { padding-block: 64px 88px; }
.legal__wrap { max-width: 760px; }
.legal h1 { font-size: clamp(30px, 4vw, 42px); margin-bottom: 12px; }
.legal__meta { font-size: 14.5px; color: var(--ink-mute); margin-bottom: 40px; padding-bottom: 24px; border-bottom: 1px solid var(--border); }
.legal h2 { font-size: 22px; margin: 40px 0 14px; }
.legal h3 { font-size: 17.5px; margin: 26px 0 10px; }
.legal p { font-size: 16.5px; color: var(--ink-soft); margin-bottom: 14px; }
.legal ul { margin: 0 0 16px 0; padding-left: 22px; }
.legal li { font-size: 16.5px; color: var(--ink-soft); margin-bottom: 8px; }
.legal strong { color: var(--ink); font-weight: 650; }
.legal a { color: var(--nr-blue-text); }
.legal__callout {
  border: 1px solid var(--border-firm); border-left: 3px solid var(--nr-teal);
  background: var(--bg-sunken); border-radius: var(--radius);
  padding: 18px 20px; margin: 24px 0;
}
.legal__callout p:last-child { margin-bottom: 0; }
