@font-face {
  font-family:Manrope;
  src:url('/assets/Manrope-Regular.ttf') format('truetype');
  font-weight:400;
  font-display:swap}

@font-face {
  font-family:Manrope;
  src:url('/assets/Manrope-SemiBold.ttf') format('truetype');
  font-weight:600;
  font-display:swap}

@font-face {
  font-family:Manrope;
  src:url('/assets/Manrope-Bold.ttf') format('truetype');
  font-weight:700;
  font-display:swap}

:root {
  --ink:#111;
  --muted:#535353;
  --line:#dedede;
  --soft:#f7f7f7;
  color-scheme:light;
  font-family:Manrope,system-ui,sans-serif;
  color:var(--ink);
  background:white}

* {
  box-sizing:border-box}
html {
  scroll-padding-top:28px}
body {
  margin:0;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased}
h1,h2,h3,p {
  margin:0}
a {
  color:inherit;
  text-underline-offset:4px}
img {
  display:block;
  max-width:100%;
  height:auto}
button,input,select {
  font:inherit}
button {
  cursor:pointer}
button:disabled {
  cursor:not-allowed}
[hidden] {
  display:none!important}
:focus-visible {
  outline:3px solid #111;
  outline-offset:4px}
.wrap {
  max-width:1168px;
  margin-inline:auto;
  padding-inline:24px}
.sr-only,.honeypot {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0}
.skip {
  position:absolute;
  left:20px;
  top:-100px;
  z-index:10;
  background:#111;
  color:white;
  padding:12px 20px;
  border-radius:12px}
.skip:focus {
  top:12px}
.site-header {
  border-bottom:1px solid var(--line)}
.header-row {
  min-height:88px;
  display:flex;
  align-items:center;
  gap:32px}
.brand {
  margin-right:auto;
  display:flex;
  align-items:center;
  min-height:44px}
.brand img {
  width:120px}
.section-nav {
  display:flex;
  align-items:center;
  gap:28px}
.section-nav a {
  font-size:14px;
  text-decoration:none;
  min-height:44px;
  display:flex;
  align-items:center}
.section-nav a:hover {
  text-decoration:underline}
.hero {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  padding-top:72px;
  padding-bottom:88px;
  align-items:start}
.hero-copy {
  padding-top:24px}
.eyebrow {
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--muted)}
.hero h1 {
  font-size:clamp(40px,4.5vw,60px);
  line-height:1.1;
  letter-spacing:-.045em;
  font-weight:600;
  margin-top:22px;
  text-wrap:balance}
.lede {
  color:var(--muted);
  font-size:18px;
  margin-top:24px;
  line-height:1.7}
.text-link {
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:44px;
  margin-top:24px}
.waitlist-panel {
  border:1px solid var(--line);
  border-radius:12px;
  padding:32px;
  background:#fff;
  scroll-margin-top:24px}
.waitlist-panel h2 {
  font-size:26px;
  letter-spacing:-.025em;
  line-height:1.25}
.waitlist-panel>p {
  font-size:14px;
  color:var(--muted);
  margin-top:8px}
form {
  margin-top:24px}
fieldset {
  margin:0;
  padding:0;
  border:0;
  min-width:0}
form label:not(.consent) {
  display:block;
  font-size:14px;
  font-weight:600;
  margin-bottom:7px}
form label:not(:first-of-type):not(.consent) {
  margin-top:16px}
.optional {
  font-weight:400;
  color:var(--muted);
  font-size:12px}
input:not([type=checkbox]),select {
  display:block;
  width:100%;
  min-height:48px;
  border:1px solid #9a9a9a;
  border-radius:12px;
  background:#fff;
  color:#111;
  padding:10px 12px}
input:disabled,select:disabled {
  background:var(--soft);
  opacity:1}
input[type=checkbox] {
  flex:none;
  width:20px;
  height:20px;
  accent-color:#111;
  margin:4px 0 0}
.consent {
  display:flex;
  align-items:flex-start;
  gap:12px;
  font-size:13px;
  line-height:1.65;
  margin-top:20px;
  cursor:pointer}
.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:48px;
  min-width:44px;
  border:1px solid #111;
  border-radius:12px;
  padding:12px 20px;
  background:#111;
  color:#fff;
  text-decoration:none;
  font-weight:600;
  font-size:14px}
.button:hover:not(:disabled) {
  background:#333}
.button:disabled {
  background:#676767;
  border-color:#676767;
  color:#fff}
.submit {
  width:100%;
  margin-top:16px}
.form-status {
  font-size:14px;
  line-height:1.6;
  margin-top:14px;
  overflow-wrap:anywhere}
.form-status:empty {
  display:none}
.form-status[data-error=true] {
  font-weight:600}
.fine {
  font-size:12px;
  color:var(--muted);
  margin-top:10px}
#turnstile:not(:empty) {
  margin-top:16px;
  min-height:65px}
#turnstile {
  max-width:100%;
  overflow:hidden}
.section {
  padding-top:76px;
  padding-bottom:80px;
  border-top:1px solid var(--line)}
.section-head {
  max-width:680px;
  margin-inline:auto;
  text-align:center}
.section-head h2 {
  font-size:clamp(30px,3.5vw,42px);
  line-height:1.2;
  letter-spacing:-.035em;
  font-weight:600;
  margin-top:14px;
  text-wrap:balance}
.section-head>p:last-child {
  color:var(--muted);
  margin-top:18px}
.feature-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:40px}
.card {
  border:1px solid var(--line);
  border-radius:12px;
  padding:24px;
  min-width:0}
.card h3,.sector-group h3 {
  font-size:18px;
  line-height:1.4;
  font-weight:600;
  letter-spacing:-.02em}
.card ul {
  margin:18px 0 0;
  padding-left:18px}
.card li {
  font-size:14px;
  line-height:1.65;
  color:var(--muted);
  padding-left:3px}
.card li+li {
  margin-top:10px}
.sector-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px 40px;
  margin-top:48px}
.sector-group {
  padding-top:20px;
  border-top:1px solid var(--line);
  min-width:0}
.sector-group ul {
  list-style:none;
  padding:0;
  margin:16px 0 0}
.sector-group li {
  font-size:14px;
  color:var(--muted);
  line-height:1.8}
.sector-note {
  font-size:13px;
  line-height:1.6;
  color:var(--muted);
  margin-top:12px;
  padding-top:12px;
  border-top:1px dashed var(--line)}
.included {
  margin-top:56px;
  padding-top:40px;
  border-top:1px solid var(--line)}
.included>.eyebrow {
  text-align:center}
.included-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:36px 40px;
  margin-top:32px}
.included-group {
  min-width:0}
.included-group h3 {
  font-size:16px;
  line-height:1.4;
  font-weight:600;
  letter-spacing:-.015em;
  padding-bottom:12px;
  border-bottom:1px solid var(--line)}
.included-group dl {
  margin:14px 0 0}
.included-group dl>div+div {
  margin-top:12px}
.included-group dt {
  font-size:14px;
  font-weight:700;
  line-height:1.5}
.included-group dd {
  margin:2px 0 0;
  font-size:14px;
  line-height:1.6;
  color:var(--muted)}
.audience>.button {
  display:flex;
  width:fit-content;
  margin:44px auto 0}
.site-footer {
  border-top:1px solid var(--line);
  padding:32px 0}
.footer-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  font-size:12px;
  color:var(--muted)}
.footer-row>div {
  display:flex;
  gap:24px;
  align-items:center;
  flex-wrap:wrap}
.footer-row a {
  min-height:44px;
  display:inline-flex;
  align-items:center}
.prose {
  max-width:840px;
  padding-block:72px 96px}
.prose h1 {
  font-size:clamp(32px,4vw,48px);
  line-height:1.2;
  letter-spacing:-.035em}
.prose section {
  margin-top:36px}
.prose h2 {
  font-size:21px;
  line-height:1.4;
  margin-bottom:12px}
.prose section p {
  color:var(--muted);
  font-size:15px}
.prose .button {
  margin-top:24px}
.short-page {
  min-height:65vh}
.short-page>.text-link {
  margin-left:24px}

/* Result cards: waitlist success, confirm and remove states. Centered, same tokens as the form panel. */
.waitlist-panel.is-done {
  display:flex;
  flex-direction:column;
  justify-content:center}
.waitlist-panel.is-done>:not(.done-card) {
  display:none}
.done-card,.status-card {
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center}
.done-card {
  padding-block:8px}
.status-card {
  max-width:600px;
  margin-inline:auto;
  border:1px solid var(--line);
  border-radius:12px;
  padding:48px 40px;
  background:#fff}
.state-icon {
  display:block;
  flex:none;
  width:48px;
  height:48px;
  margin-bottom:24px}
.done-card h2,.status-card h1,.status-card h2 {
  font-size:26px;
  letter-spacing:-.025em;
  line-height:1.25;
  margin:0}
.status-card h1 {
  font-size:clamp(28px,3.2vw,34px)}
.done-card h2,.status-card h1,.status-card h2 {
  text-wrap:balance}
.done-card p,.status-card p,.prose .status-card p {
  color:var(--muted);
  font-size:15px;
  line-height:1.65;
  margin-top:12px;
  max-width:42ch}
.done-card strong {
  display:inline-block;
  max-width:100%;
  color:var(--ink);
  font-weight:600;
  overflow-wrap:anywhere}
.done-card p,.status-card p {
  text-wrap:pretty}
.done-card .fine,.status-card .fine,.prose .status-card .fine {
  font-size:13px;
  margin-top:24px}
.status-card .button,.prose .status-card .button {
  margin-top:28px}
.status-card .form-status {
  color:var(--ink)}
.status-card a:not(.button) {
  color:var(--ink);
  font-weight:600}
#waitlist-title:focus,.status-card h1:focus,.status-card h2:focus {
  outline:none}
.text-button {
  min-height:44px;
  margin-top:4px;
  padding:8px 12px;
  border:0;
  background:none;
  color:var(--ink);
  font-weight:600;
  font-size:14px;
  text-decoration:underline;
  text-underline-offset:4px}
.text-button:hover {
  text-decoration-thickness:2px}
.manage-page {
  padding-block:88px 96px}
.prose .status-card {
  margin-top:40px}

@media(max-width:1000px) {
  .hero {
  gap:32px}
.hero h1 {
  font-size:44px}
.waitlist-panel {
  padding:24px}
.feature-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))}
.included-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))}
.footer-row {
  align-items:flex-start;
  flex-direction:column;
  gap:8px}
}

@media(max-width:700px) {
  .wrap {
  padding-inline:20px}
.header-row {
  min-height:72px;
  gap:16px}
.brand img {
  width:112px}
.section-nav {
  display:none}
.hero {
  grid-template-columns:1fr;
  gap:36px;
  padding-top:44px;
  padding-bottom:56px}
.hero-copy {
  padding-top:0}
.hero h1 {
  font-size:40px;
  max-width:520px;
  letter-spacing:-.04em}
.hero .lede {
  font-size:16px;
  margin-top:20px}
.eyebrow {
  font-size:11px}
.waitlist-panel {
  padding:24px 20px}
.waitlist-panel h2 {
  font-size:24px}
.section {
  padding-top:52px;
  padding-bottom:56px}
.feature-grid {
  grid-template-columns:1fr;
  gap:16px;
  margin-top:28px}
.card {
  padding:22px}
.included {
  margin-top:40px;
  padding-top:32px}
.included>.eyebrow {
  text-align:left}
.included-grid {
  grid-template-columns:1fr;
  gap:28px;
  margin-top:20px}
.sector-grid {
  grid-template-columns:1fr;
  gap:24px;
  margin-top:32px}
.section-head {
  text-align:left}
.section-head h2 {
  font-size:32px}
.section-head>p:last-child {
  font-size:15px}
.sector-group ul {
  columns:2;
  column-gap:20px}
.sector-group li {
  break-inside:avoid;
  margin-bottom:5px;
  line-height:1.6}
.sector-group h3 {
  font-size:18px}
.footer-row>div {
  gap:4px 20px}
.prose {
  padding-top:44px}
.prose .lede {
  font-size:16px}
.prose section {
  margin-top:28px}
.status-card {
  padding:36px 20px}
.manage-page {
  padding-block:44px 64px}
.short-page>.text-link {
  margin-left:0;
  display:flex;
  width:fit-content}
}

@media(max-width:360px) {
  .hero h1 {
  font-size:36px}
.waitlist-panel {
  padding:20px 16px}
.consent {
  font-size:13px}
.sector-group ul {
  columns:1}
}

@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
  scroll-behavior:auto!important;
  animation:none!important;
  transition:none!important}
}
.sector-group li a {
  text-decoration:underline;
  text-underline-offset:3px}
.sector-cta-note {
  color:var(--muted);
  font-size:14px;
  margin-top:12px}
.hero-copy>.button {
  display:inline-flex;
  margin-top:28px}
.faq .included-grid {
  grid-template-columns:minmax(0,720px);
  justify-content:center}
.sector-links {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:4px 28px;
  margin-top:20px}

.sector-group h3 a {
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px}
