:root {
  color-scheme: dark;
  --ink: #f7f7f2;
  --paper: #0b0b0a;
  --bright: #141412;
  --deep: #1b1b18;
  --rule: #62625b;
  --muted: #b8b8ae;
  --field: #0b0b0a;
  --error: #ff7663;
  --focus: #76baff;
  --yellow: #ffd400;
  --blue: #246bfd;
  --red: #f04438;
  --sans: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --gutter: clamp(1.25rem, 5vw, 5.5rem);
  --max: 80rem;
  --tap: 2.75rem;
}

* { box-sizing: border-box; }
html { background: var(--paper); scroll-padding-top: 1rem; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  font-size: clamp(1rem, 1.05vw, 1.125rem);
  line-height: 1.58;
  letter-spacing: -.008em;
}
button { font: inherit; }
a { color: inherit; text-underline-offset: .22em; }
p { max-width: 42rem; }
h1, h2, h3 { margin: 0; line-height: 1.04; letter-spacing: -.028em; }
h1 {
  max-width: 64rem;
  font-size: clamp(2.5rem, 6vw, 5.75rem);
  line-height: .98;
  letter-spacing: -.035em;
}
h2 { font-size: clamp(2rem, 4vw, 3.75rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.875rem); }
.shell { width: min(100%, var(--max)); margin-inline: auto; padding-inline: var(--gutter); }
.skip {
  position: fixed;
  z-index: 50;
  left: 1rem;
  top: 1rem;
  padding: .75rem 1rem;
  background: var(--ink);
  color: var(--paper);
  transform: translateY(-200%);
}
.skip:focus { transform: none; }
.site-header { border-block: 1px solid var(--rule); background: var(--paper); }
.header-inner { min-height: 5.5rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.identity { font-weight: 650; text-decoration: none; }
.nav, .footer-nav { display: flex; gap: 1rem; align-items: center; }
.nav a, .footer-nav a { display: inline-flex; align-items: center; min-height: var(--tap); padding-inline: .5rem; }
.nav [aria-current="page"], .footer-nav [aria-current="page"] { text-decoration-thickness: 2px; }
.eyebrow, .status-label, .field-meta {
  font-size: .8125rem;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: .105em;
  text-transform: uppercase;
}
.prototype-status {
  padding-block: .65rem;
  border-bottom: 1px solid var(--rule);
  color: var(--muted);
  font-size: .8125rem;
  font-weight: 650;
  letter-spacing: .04em;
}
.hero { padding-block: clamp(3rem, 8vw, 7.5rem) clamp(5rem, 11vw, 10rem); }
.hero h1 { margin-block: 1rem 1.75rem; }
.lead { font-size: clamp(1.125rem, 1.45vw, 1.375rem); line-height: 1.5; }
.action {
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  padding: .75rem 1rem;
  border: 1px solid var(--ink);
  border-radius: 2px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-weight: 650;
  line-height: 1.35;
  text-decoration: none;
  transition: background 140ms, color 140ms;
}
.action:hover { background: var(--ink); color: var(--paper); }
.action:active { transform: translateY(1px); }
.action[disabled] { border-color: var(--rule); background: var(--deep); color: var(--muted); cursor: not-allowed; }
.section { padding-block: clamp(5rem, 11vw, 10rem); border-top: 1px solid var(--rule); }
.section h2 { max-width: 54rem; margin-bottom: 2rem; }
.two-field { display: grid; grid-template-columns: 1fr 1fr; margin-top: 3rem; }
.field-half { padding: 2rem 3rem 2rem 0; }
.field-half + .field-half { padding-left: 3rem; border-left: 1px solid var(--rule); }
.relationship-copy { margin-top: 2rem; }
.question-form { width: min(100%, 18rem); margin: 2.5rem 0 0 auto; }
.circle-svg { display: block; width: clamp(7.5rem, 12vw, 11rem); height: auto; margin-left: auto; overflow: visible; }
.circle-svg circle { fill: none; stroke-width: 1; vector-effect: non-scaling-stroke; }
.circle-business { stroke: var(--yellow); }
.circle-life { stroke: var(--blue); }
.circle-question { stroke: var(--red); }
.question-form figcaption { margin-top: 1.25rem; }
.circle-key { list-style: none; padding: 0; margin: 0; font-size: .8125rem; font-weight: 650; line-height: 1.4; }
.circle-key li { display: flex; align-items: center; gap: .6rem; margin-top: .5rem; }
.key-line { width: 1.5rem; height: 1px; flex: 0 0 auto; }
.key-business { background: var(--yellow); }
.key-life { background: var(--blue); }
.key-question { background: var(--red); }
.sequence { margin-top: 3rem; border-bottom: 1px solid var(--rule); }
.sequence-row { display: grid; grid-template-columns: .5fr 2.5fr 5fr; gap: 2rem; padding-block: 2rem; border-top: 1px solid var(--rule); }
.ordinal { font-size: .8125rem; font-weight: 650; letter-spacing: .105em; }
.sequence-row p { margin: 0; }
.fit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 8vw, 8rem); margin-top: 3rem; }
.dash-list { list-style: none; padding: 0; margin: 1.5rem 0; }
.dash-list li { position: relative; padding-left: 1.5rem; margin-block: 1rem; }
.dash-list li::before { content: ""; position: absolute; width: 10px; height: 1px; left: 0; top: .8em; background: var(--ink); }
.review-note {
  margin-top: 2rem;
  padding-left: 1rem;
  border-left: 2px solid var(--rule);
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.5;
}
.review-note p { margin: .4rem 0; }
.final-invite { padding-block: clamp(6rem, 13vw, 10rem); }
.final-invite p { font-size: clamp(1.125rem, 1.45vw, 1.375rem); }
.site-footer { padding-block: 4rem; border-top: 1px solid var(--rule); }
.footer-inner { display: flex; justify-content: space-between; gap: 3rem; }
.footer-title { font-weight: 650; }
.prototype-note { color: var(--muted); font-size: 1rem; }
.page-head { padding-block: clamp(3rem, 8vw, 6rem); }
.form-wrap { max-width: 42rem; padding-bottom: clamp(5rem, 10vw, 8rem); }
.field-group { margin-block: 2rem; }
.label-row { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .5rem; }
.label-row label { font-weight: 650; }
.field-meta { font-size: .6875rem; }
input, textarea {
  display: block;
  width: 100%;
  min-height: 52px;
  padding: 14px 16px;
  border: 1px solid var(--ink);
  border-radius: 2px;
  background: var(--bright);
  color: var(--ink);
  caret-color: var(--ink);
  font: inherit;
}
input:hover, textarea:hover { box-shadow: inset 0 0 0 1px var(--ink); }
textarea { min-height: 192px; resize: vertical; }
.help, .error-message { margin: .5rem 0 0; font-size: .875rem; line-height: 1.45; }
.error-message { color: var(--error); font-weight: 600; }
[aria-invalid="true"] { border: 2px solid var(--error); }
.error-summary { margin-block: 2rem; padding: 1rem 1.25rem; border: 2px solid var(--error); background: var(--bright); }
.error-summary h2 { margin: 0; font-size: 1.25rem; }
.error-summary ul { margin-bottom: 0; }
.privacy-note { margin-block: 2rem; }
.state-region { max-width: 42rem; margin-top: 2rem; padding-left: 1rem; border-left: 2px solid var(--rule); }
.state-region.is-active { padding: 1rem 1.25rem; border: 1px solid var(--rule); background: var(--bright); }
.state-region h2 { margin-bottom: .75rem; font-size: 1.5rem; }
.state-region p { margin-block: .5rem; }
.review-panel { margin-block: 3rem; padding-top: 1rem; border-top: 1px solid var(--rule); }
.review-panel summary { min-height: var(--tap); display: flex; align-items: center; font-weight: 650; cursor: pointer; }
.review-links { display: flex; flex-wrap: wrap; gap: .75rem; }
.review-links a { min-height: var(--tap); display: inline-flex; align-items: center; padding: .4rem .7rem; border: 1px solid var(--rule); background: var(--bright); }
.privacy-list { max-width: 52rem; margin-block: 3rem 6rem; }
.privacy-row { display: grid; grid-template-columns: minmax(12rem, 1fr) 2fr; gap: 2rem; padding-block: 1.5rem; border-top: 1px solid var(--rule); }
.privacy-row p { margin: 0; }
.privacy-row h2 { font-size: 1.25rem; }
.privacy-row:last-child { border-bottom: 1px solid var(--rule); }
:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--paper), 0 0 0 5px var(--focus);
}

@media (max-width: 767px) {
  :root { --gutter: 1.5rem; }
  .header-inner { display: block; padding-block: 1rem; }
  .identity { display: flex; min-height: var(--tap); align-items: center; }
  .nav { margin-top: .5rem; }
  .two-field, .fit-grid { grid-template-columns: 1fr; }
  .field-half { padding: 1.5rem 0; }
  .field-half + .field-half { padding: 2rem 0 1.5rem; border-top: 1px solid var(--rule); border-left: 0; }
  .question-form { width: min(100%, 17rem); margin: 1.5rem 0 0; }
  .circle-svg { width: 6.75rem; margin-left: 0; }
  .sequence-row { grid-template-columns: 3rem 1fr; gap: 1rem; }
  .sequence-row p { grid-column: 1 / -1; }
  .footer-inner { display: block; }
  .footer-nav { margin-top: 2rem; align-items: flex-start; flex-direction: column; gap: .75rem; }
  .privacy-row { grid-template-columns: 1fr; gap: .75rem; }
  textarea { min-height: 160px; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .circle-svg { width: 11rem; }
}

@media (max-width: 374px) {
  :root { --gutter: 1.25rem; }
  .nav { gap: .25rem; }
  .nav a { padding-inline: .25rem; }
  .label-row { display: block; }
  .field-meta { display: block; margin-top: .25rem; }
}

@media (min-width: 1024px) {
  .editorial-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(1.5rem, 2.2vw, 2rem); }
  .hero > .eyebrow { grid-column: 1 / 4; }
  .hero > h1 { grid-column: 1 / 10; }
  .hero > .lead, .hero > .hero-action { grid-column: 1 / 7; }
  .section-title { grid-column: 1 / 9; }
  .business-grid .two-field { grid-column: 1 / 10; grid-row: 2; }
  .business-grid .question-form { grid-column: 10 / 13; grid-row: 2; align-self: center; }
  .business-grid .circle-svg { width: min(100%, 16.25rem); }
  .business-grid .relationship-copy { grid-column: 1 / 8; grid-row: 3; }
  .sequence { grid-column: 1 / 12; }
  .relationship-copy { grid-column: 1 / 8; }
  .fit-grid { grid-column: 1 / 10; }
  .editorial-grid > .review-note { grid-column: 10 / 13; grid-row: 1 / 3; align-self: start; margin-top: 0; }
  .next-copy { grid-column: 1 / 8; }
  .next-step-grid > .review-note { grid-column: 9 / 13; grid-row: 1 / 3; }
  .page-head.editorial-grid > h1 { grid-column: 1 / 9; }
  .page-head.editorial-grid > .lead { grid-column: 1 / 8; }
  .form-wrap { max-width: none; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(1.5rem, 2.2vw, 2rem); }
  .form-wrap > form { grid-column: 1 / 8; }
  .form-wrap > .review-panel { grid-column: 9 / 13; align-self: start; margin-top: 2rem; }
  .privacy-list { max-width: none; }
  .privacy-row { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 2rem; }
  .privacy-row h2 { grid-column: 1 / 4; }
  .privacy-row p { grid-column: 4 / 9; }
}

@media (min-resolution: 2dppx) {
  .circle-svg circle { stroke-width: 1.5; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media print { .review-panel, .skip { display: none; } }
