:root {
  --public-paper: #f3f0e9;
  --public-surface: #fffdf8;
  --public-ink: #10110f;
  --public-copy: #65635f;
  --public-muted: #77736d;
  --public-line: rgba(16, 17, 15, 0.11);
  --public-accent: #bf3410;
  /* The accent lifted for the dark mastheads, matching --bmk-accent-night on
     the homepage. #d56a4e was doing this job as a loose hex. */
  --public-accent-night: #e8734b;
  --public-night: #20201f;
  --public-night-surface: #2a2927;
  --public-night-copy: #f5f1e9;
  --public-page: 1240px;
  --public-gutter: clamp(22px, 5vw, 72px);
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
button, input { font: inherit; }
img { display: block; max-width: 100%; }
a { color: inherit; }
::selection { background: var(--public-accent); color: #fff; }

.utility-page {
  min-width: 320px;
  min-height: 100vh;
  overflow-x: clip;
  background: var(--public-paper);
  color: var(--public-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

.utility-page :is(h1, h2, h3, p, ul, ol) { margin: 0; }
.utility-page :is(h1, h2, h3) { text-wrap: balance; }
.utility-page :is(p, li) { text-wrap: pretty; overflow-wrap: anywhere; }
.utility-page :where(a, button, input, textarea, select) { box-sizing: border-box; max-width: 100%; }

.utility-skip {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 200;
  padding: 11px 16px;
  border-radius: 9px;
  background: var(--public-ink);
  color: #fff;
  text-decoration: none;
  transform: translateY(-150%);
  transition: transform 140ms ease;
}
.utility-skip:focus { transform: translateY(0); }

.utility-header {
  width: min(calc(100% - 40px), 980px);
  min-height: 66px;
  margin: 16px auto 0;
  padding: 0 12px 0 26px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  position: sticky;
  top: 16px;
  z-index: 80;
  border: 1px solid rgba(16, 17, 15, 0.07);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 14px 38px rgba(16, 17, 15, 0.08);
  -webkit-backdrop-filter: blur(20px) saturate(1.1);
  backdrop-filter: blur(20px) saturate(1.1);
}

.utility-brand,
.utility-footer-brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.utility-brand img { width: 116px; height: auto; }
.utility-footer-brand img { width: 124px; height: auto; }

.utility-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 3vw, 42px);
}
.utility-nav a,
.utility-header-signin {
  padding: 10px 0;
  border: 0;
  background: transparent;
  color: #43433f;
  font-size: 14px;
  text-decoration: none;
  transition: color 140ms ease;
}
.utility-nav a:hover,
.utility-header-signin:hover { color: var(--public-accent); }

.utility-header-actions { display: flex; align-items: center; gap: 18px; }
.utility-header-cta,
.utility-button {
  min-height: 46px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: var(--public-ink);
  color: #fff;
  font-size: 14px;
  font-weight: 550;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  transition: transform 140ms ease, background 140ms ease, border-color 140ms ease;
}
.utility-header-cta:hover,
.utility-button:hover { background: #2a2a28; transform: translateY(-1px); }
.utility-button:not(.is-signal) { border-color: var(--public-line); background: #ece9e2; color: var(--public-ink); }
.utility-button:not(.is-signal):hover { border-color: rgba(16, 17, 15, 0.22); background: #e2dfd8; }
.utility-button.is-signal { background: var(--public-ink); }

.utility-kicker,
.utility-meta,
.utility-status,
.utility-system-note,
.utility-toc strong,
.utility-toc a span,
.utility-prep-note > span {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.utility-legal-layout {
  width: min(calc(100% - 44px), var(--public-page));
  margin: 44px auto 90px;
  display: grid;
  grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr);
  align-items: start;
  gap: 22px;
}

.utility-legal-masthead {
  min-height: 660px;
  padding: clamp(34px, 4vw, 52px);
  display: flex;
  flex-direction: column;
  border-radius: 28px;
  background: var(--public-night);
  color: var(--public-night-copy);
}
.utility-kicker { color: var(--public-accent); }
.utility-legal-masthead .utility-kicker { color: var(--public-accent-night); }
.utility-legal-masthead h1 {
  max-width: 8ch;
  margin: 28px 0 22px;
  font-size: clamp(60px, 6.4vw, 94px);
  font-weight: 400;
  letter-spacing: -0.065em;
  line-height: 0.92;
}
.utility-legal-masthead h1 span,
.utility-success-hero h1 span,
.utility-error-hero h1 span,
.utility-period { color: var(--public-accent); }
.utility-legal-masthead > p { max-width: 34ch; color: rgba(245, 241, 233, 0.67); font-size: 17px; }
.utility-meta { margin-top: 22px; color: rgba(245, 241, 233, 0.62); }

.utility-toc {
  margin-top: auto;
  padding-top: 34px;
  display: grid;
  border-top: 1px solid rgba(245, 241, 233, 0.16);
}
.utility-toc strong { margin-bottom: 10px; color: rgba(245, 241, 233, 0.62); }
.utility-toc a {
  min-height: 38px;
  display: grid;
  grid-template-columns: 32px 1fr;
  align-items: center;
  border-bottom: 1px solid rgba(245, 241, 233, 0.09);
  color: rgba(245, 241, 233, 0.74);
  font-size: 13px;
  text-decoration: none;
}
.utility-toc a:hover { color: #fff; }
.utility-toc a span { color: var(--public-accent-night); }

.utility-legal-copy {
  padding: clamp(38px, 5vw, 68px);
  border: 1px solid rgba(16, 17, 15, 0.06);
  border-radius: 28px;
  background: rgba(255, 253, 248, 0.92);
  box-shadow: 0 20px 60px rgba(16, 17, 15, 0.055);
}
.utility-legal-section {
  padding: 42px 0 48px;
  scroll-margin-top: 104px;
  border-top: 1px solid var(--public-line);
}
.utility-legal-section:first-child { padding-top: 0; border-top: 0; }
.utility-legal-section:last-child { padding-bottom: 0; }
.utility-legal-section h2 {
  margin-bottom: 18px;
  font-size: clamp(26px, 2.8vw, 39px);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.05;
}
.utility-legal-section > p,
.utility-legal-section li { max-width: 66ch; color: var(--public-copy); font-size: 15px; line-height: 1.75; }
.utility-legal-section > p + p { margin-top: 16px; }
.utility-legal-section ul { max-width: 66ch; padding-left: 20px; display: grid; gap: 13px; }
.utility-legal-section li::marker { color: var(--public-accent); }
.utility-legal-section strong { color: var(--public-ink); }
.utility-legal-section a { color: var(--public-accent); text-underline-offset: 4px; }

.utility-legal-next {
  margin-top: 34px;
  padding: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border: 1px solid var(--public-line);
  border-radius: 16px;
  background: var(--public-paper);
}
.utility-legal-next p { color: var(--public-copy); font-size: 14px; }

.utility-success-layout,
.utility-error-main {
  width: min(calc(100% - 44px), var(--public-page));
  margin: 44px auto 90px;
  display: grid;
  grid-template-columns: minmax(340px, 0.9fr) minmax(0, 1.1fr);
  align-items: stretch;
  gap: 22px;
}
.utility-success-hero,
.utility-error-hero {
  min-height: 660px;
  padding: clamp(34px, 5vw, 64px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 28px;
  background: var(--public-night);
  color: var(--public-night-copy);
}
.utility-status {
  width: fit-content;
  padding: 8px 11px;
  border: 1px solid rgba(245, 241, 233, 0.14);
  border-radius: 999px;
  color: var(--public-accent-night);
}
.utility-success-hero h1,
.utility-error-hero h1 {
  max-width: 8ch;
  margin: 28px 0 24px;
  font-size: clamp(62px, 7vw, 106px);
  font-weight: 400;
  letter-spacing: -0.07em;
  line-height: 0.9;
}
.utility-success-hero > p,
.utility-error-hero > p { max-width: 40ch; color: rgba(245, 241, 233, 0.65); font-size: 17px; }
.utility-success-actions,
.utility-error-actions { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 10px; }
.utility-success-hero .utility-button.is-signal,
.utility-error-hero .utility-button.is-signal { background: #fff; color: var(--public-ink); }
.utility-success-hero .utility-button:not(.is-signal),
.utility-error-hero .utility-button:not(.is-signal) { border-color: rgba(245, 241, 233, 0.2); background: rgba(255, 255, 255, 0.06); color: #fff; }
.utility-system-note { margin-top: 22px; color: rgba(245, 241, 233, 0.62); }

.utility-success-content,
.utility-error-code {
  min-height: 660px;
  padding: clamp(34px, 5vw, 64px);
  border: 1px solid rgba(16, 17, 15, 0.06);
  border-radius: 28px;
  background: rgba(255, 253, 248, 0.92);
  box-shadow: 0 20px 60px rgba(16, 17, 15, 0.055);
}
.utility-success-content > .utility-kicker { display: block; margin-bottom: 22px; }
.utility-success-content > h2 {
  max-width: 11ch;
  margin-bottom: 20px;
  font-size: clamp(42px, 5vw, 68px);
  font-weight: 400;
  letter-spacing: -0.06em;
  line-height: 0.94;
}
.utility-success-content > p { max-width: 52ch; color: var(--public-copy); }

.utility-checklist { margin-top: 34px; padding: 0; display: grid; gap: 10px; list-style: none; counter-reset: setup; }
.utility-checklist li {
  padding: 20px;
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  border: 1px solid var(--public-line);
  border-radius: 16px;
  background: #fff;
  counter-increment: setup;
}
.utility-checklist li::before { content: counter(setup, decimal-leading-zero); color: var(--public-accent); font: 650 11px/1.4 "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: 0.1em; }
.utility-checklist h3 { margin-bottom: 6px; font-size: 17px; font-weight: 600; }
.utility-checklist p { color: var(--public-copy); font-size: 14px; }

.utility-prep-note {
  margin-top: 22px;
  padding: 20px;
  border-radius: 16px;
  background: var(--public-night);
  color: var(--public-night-copy);
}
.utility-prep-note > span { display: block; margin-bottom: 8px; color: #d88269; }
.utility-prep-note p { color: rgba(245, 241, 233, 0.67); font-size: 14px; }
.utility-support-note { margin-top: 20px !important; font-size: 14px; }
.utility-support-note a { color: var(--public-accent); }

.utility-error-code {
  display: grid;
  place-items: center;
  overflow: hidden;
  color: var(--public-accent);
  font-size: clamp(160px, 24vw, 390px);
  font-weight: 500;
  letter-spacing: -0.11em;
  line-height: 0.78;
}

.utility-footer {
  padding: 56px var(--public-gutter) 34px;
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  align-items: end;
  gap: 26px;
  background: var(--public-night);
  color: var(--public-night-copy);
}
.utility-footer p { max-width: 34ch; color: rgba(245, 241, 233, 0.54); font-size: 14px; }
.utility-footer nav { display: flex; justify-content: flex-end; gap: 22px; }
.utility-footer nav a { color: rgba(245, 241, 233, 0.67); font-size: 13px; text-decoration: none; }
.utility-footer nav a:hover,
.utility-footer nav a[aria-current="page"] { color: #fff; }
.utility-footer small { grid-column: 1 / -1; padding-top: 24px; border-top: 1px solid rgba(245, 241, 233, 0.11); color: rgba(245, 241, 233, 0.58); font: 600 10px/1.3 "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: 0.1em; text-transform: uppercase; }

.utility-page :where(a, button, input):focus-visible { outline: 3px solid var(--public-accent); outline-offset: 3px; }

@media (max-width: 900px) {
  .utility-header { width: min(calc(100% - 28px), 760px); }
  .utility-nav { display: none; }
  .utility-header { grid-template-columns: 1fr auto; }
  .utility-legal-layout,
  .utility-success-layout,
  .utility-error-main { grid-template-columns: 1fr; }
  .utility-legal-masthead { min-height: auto; }
  .utility-toc { margin-top: 64px; }
  .utility-success-hero,
  .utility-success-content,
  .utility-error-hero,
  .utility-error-code { min-height: auto; }
  .utility-error-code { min-height: 380px; }
}

@media (max-width: 620px) {
  .utility-header { min-height: 62px; padding: 0 8px 0 18px; top: 10px; grid-template-columns: minmax(0, 1fr) auto; }
  .utility-brand img { width: 104px; }
  .utility-header-signin { display: none; }
  .utility-header-actions { gap: 8px; }
  .utility-header-cta { min-height: 44px; padding-inline: 14px; font-size: 13px; }
  .utility-legal-layout,
  .utility-success-layout,
  .utility-error-main { width: min(calc(100% - 28px), var(--public-page)); margin-top: 28px; gap: 14px; }
  .utility-legal-masthead,
  .utility-legal-copy,
  .utility-success-hero,
  .utility-success-content,
  .utility-error-hero,
  .utility-error-code { padding: 30px 22px; border-radius: 22px; }
  .utility-legal-masthead h1 { font-size: clamp(55px, 18vw, 76px); }
  .utility-legal-section { padding-block: 34px 38px; }
  .utility-legal-section h2 { font-size: 28px; }
  .utility-legal-next { align-items: stretch; flex-direction: column; }
  .utility-success-hero h1,
  .utility-error-hero h1 { font-size: clamp(58px, 19vw, 82px); }
  .utility-success-actions,
  .utility-error-actions { flex-direction: column; }
  .utility-success-actions .utility-button,
  .utility-error-actions .utility-button { width: 100%; }
  .utility-checklist li { grid-template-columns: 1fr; }
  .utility-error-code { min-height: 280px; font-size: clamp(132px, 50vw, 220px); }
  .utility-footer { grid-template-columns: 1fr; align-items: start; padding: 46px 22px 30px; }
  .utility-footer nav { justify-content: flex-start; flex-wrap: wrap; }
  .utility-footer small { grid-column: auto; }
}

@media (max-width: 360px) {
  .utility-header { width: calc(100% - 20px); padding-left: 14px; }
  .utility-brand img { width: 96px; }
  .utility-header-cta { padding-inline: 10px; font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}

@media print {
  .utility-page { background: #fff; color: #111; }
  .utility-header,
  .utility-footer,
  .utility-toc,
  .utility-legal-next { display: none; }
  .utility-legal-layout { width: 100%; margin: 0; display: block; }
  .utility-legal-masthead { min-height: 0; padding: 0 0 24px; border-radius: 0; background: #fff; color: #111; }
  .utility-legal-masthead > p,
  .utility-meta { color: #444; }
  .utility-legal-copy { padding: 0; border: 0; box-shadow: none; }
  .utility-legal-section { break-inside: avoid; }
}

/* The app's design language (2026-09-30), as on the homepage: neutral
   greys (R = G = B), International Orange, Helvetica Neue with fixed-width
   digits rather than a monospaced face, and the app's dark values for the
   dark mastheads. */
:root {
  --public-paper: #F2F2F2;
  --public-surface: #FFFFFF;
  --public-ink: #0A0A0A;
  --public-copy: #4A4A4A;
  --public-muted: #666666;
  --public-line: rgba(10, 10, 10, 0.14);
  --public-accent: #BC2F00;
  --public-accent-night: #FF4200;
  --public-night: #0A0A0A;
  --public-night-surface: #141414;
  --public-night-copy: #EDEDED;
}
.utility-page { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-variant-numeric: tabular-nums; }
