:root {
  color-scheme: light dark;
  --serif: "Newsreader", "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, "Times New Roman", serif;
  --sans: "Public Sans", "Segoe UI Variable Text", "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", "Segoe UI Mono", "SF Mono", Menlo, Consolas, monospace;
  --measure: 100%;
  --paper: #fcfcfd;
  --raise: #ffffff;
  --ground: #f5f3f7;
  --ink: #191721;
  --ink-2: #3d3849;
  --ink-3: #6b6577;
  --rule-soft: #dfdce6;
  --rule: #d7d4de;
  --edge: #8b8597;
  --accent: #95268d;
  --accent-ink: #ffffff;
  --accent-quiet: #f7eff7;
  --confirmed: #0e6b58;
  --band-strong: #3d0f39;
  --band-established: #681964;
  --band-developing: #872881;
  --band-early: #9f4a98;
  --band-not-assessed: #8b8597;
  --band-not-assessed-text: #6b6577;
}
@media (prefers-color-scheme: dark) {
  :root {
    --paper: #100f14;
    --raise: #191721;
    --ground: #0a090d;
    --ink: #f2f0f6;
    --ink-2: #b7b2c2;
    --ink-3: #a09aac;
    --rule-soft: #322e3c;
    --rule: #3b3646;
    --edge: #8d8799;
    --accent: #d98fd1;
    --accent-ink: #191721;
    --accent-quiet: #241528;
    --confirmed: #4fb99f;
    --band-strong: #eddeef;
    --band-established: #d5b2db;
    --band-developing: #bd91c9;
    --band-early: #9873a7;
    --band-not-assessed: #6d6778;
    --band-not-assessed-text: #b7b2c2;
  }
}
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; }
a { color: inherit; text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 2px;
}
.lab {
  font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .16em;
  text-transform: uppercase; color: var(--ink-3); margin: 0;
}
.apparatus { font-family: var(--mono); font-size: 11.5px; letter-spacing: 0; color: var(--ink-3); }

.btn {
  display: inline-block; font-family: var(--sans); font-size: 15px; font-weight: 600;
  letter-spacing: .01em; text-decoration: none; border-radius: 3px;
  padding: 12px 22px; min-height: 44px; border: 1px solid var(--rule); color: var(--ink);
  background: var(--raise);
}
.btn:hover { border-color: var(--accent); color: var(--accent); }
.btn-go { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.btn-go:hover { background: var(--accent); color: var(--accent-ink); filter: brightness(1.08); }
.btn-sm { font-size: 14px; padding: 9px 16px; min-height: 40px; }
.btn-off { background: transparent; border-style: dashed; color: var(--ink-3); cursor: default; }

.top { border-bottom: 1px solid var(--rule-soft); padding: 18px 0 0; }
.crest { display: flex; align-items: center; justify-content: space-between; gap: 14px 20px; flex-wrap: wrap; }
.mark { display: flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; }
.mark img { height: 38px; width: auto; display: block; }
.mark .names { display: flex; flex-direction: column; line-height: 1.15; }
.mark .prod { font-family: var(--serif); font-size: 20px; font-weight: 500; letter-spacing: -.012em; color: var(--ink); }
.mark .org { font-family: var(--mono); font-size: 11px; letter-spacing: .04em; color: var(--ink-3); }
.mark .surface { color: var(--ink-3); font-weight: 400; letter-spacing: inherit; }
.mark .surface::before { content: " | "; color: var(--rule); }
@media (min-width: 1000px) {
  .mark { position: relative; }
  .mark picture, .mark > img { position: absolute; right: 100%; top: 50%; transform: translateY(-50%); margin-right: 14px; display: block; }
  .mark picture img { max-width: none; }
}
.crest-acts { display: flex; align-items: center; gap: 8px 16px; flex-wrap: wrap; }
.switch, .quiet-link { font-family: var(--sans); font-size: 13px; font-weight: 500; color: var(--ink-2); }
.switch:hover, .quiet-link:hover { color: var(--accent); }
.quiet-link[aria-disabled="true"] { color: var(--ink-3); text-decoration: line-through; cursor: default; }
.nav { margin: 0; padding: 14px 0 0; }
.nav ul { list-style: none; display: flex; flex-wrap: wrap; gap: 0 22px; margin: 0; padding: 0; }
.nav li { margin: 0; }
.nav a {
  font-family: var(--sans);
  display: inline-block; padding: 8px 0 10px; font-size: 15px; font-weight: 500;
  color: var(--ink-2); text-decoration: none; border-bottom: 2px solid transparent;
}
.nav a:hover { color: var(--ink); border-bottom-color: var(--rule); }
.nav a[aria-current="page"] { color: var(--ink); border-bottom-color: var(--accent); }

.paths { border-top: 1px solid var(--rule-soft); padding: 14px 0 2px; }
.paths .lab { margin-bottom: 10px; }
.paths ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 0; }
.paths li { margin: 0; }
.paths a { display: block; padding: 12px 16px 14px; text-decoration: none; border-left: 3px solid var(--rule-soft); }
.paths a:hover { border-left-color: var(--accent); }
.paths a[aria-current="true"] { border-left-color: var(--accent); background: var(--raise); }
.paths .side { display: block; font-family: var(--serif); font-size: 18px; font-weight: 500; letter-spacing: -.01em; color: var(--ink-2); }
.paths a[aria-current="true"] .side { color: var(--ink); }
.paths a:hover .side { color: var(--accent); }
.paths .who { display: block; font-size: 14px; line-height: 1.45; color: var(--ink-3); margin-top: 3px; max-width: var(--measure); }

.foot { border-top: 1px solid var(--rule-soft); padding: 26px 0 0; margin-top: 46px; }
.foot p { font-family: var(--mono); font-size: 12px; color: var(--ink-3); margin: 0 0 8px; max-width: var(--measure); }
.foot .entity { font-family: var(--sans); font-size: 13px; color: var(--ink-2); max-width: var(--measure); }
.routes { margin: 0 0 16px; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px 22px; }
.routes li { margin: 0; }
.routes a { font-family: var(--sans); font-size: 14px; font-weight: 500; color: var(--ink-2); text-decoration: none; padding: 6px 0; display: inline-block; }
.routes a:hover { color: var(--accent); text-decoration: underline; }
.routes a[aria-current="page"] { color: var(--ink); text-decoration: underline; }

@media (max-width: 620px) {
  .mark img { height: 32px; }
  .nav ul { gap: 0 16px; }
  .paths a { padding: 12px 14px; }
}
@media print {
  .switch, .nav, .paths, .crest-acts .btn, .quiet-link, .foot-nav { display: none; }
  .top, .foot { break-inside: avoid; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
html { background: var(--paper); }
body {
  margin: 0; padding: 0; background: var(--paper); color: var(--ink);
  font-family: var(--sans); font-size: 17px; line-height: 1.6;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  overflow-wrap: break-word;
}
.frame { max-width: 1040px; margin: 0 auto; padding: 0 20px; }
main.frame { padding-bottom: 40px; }
.skip {
  position: absolute; left: 12px; top: -60px; z-index: 50; padding: 10px 16px;
  background: var(--accent); color: var(--accent-ink); font-weight: 600; text-decoration: none; border-radius: 3px;
}
.skip:focus { top: 12px; }
section { border-bottom: 1px solid var(--rule-soft); padding: 46px 0; }
main section:last-child { border-bottom: 0; }
h2 { font-family: var(--serif); font-size: clamp(24px, 3.4vw, 31px); line-height: 1.2; font-weight: 500; letter-spacing: -.012em; margin: 0 0 18px; max-width: var(--measure); }
h3 { font-family: var(--serif); font-size: 21px; font-weight: 500; margin: 0 0 6px; letter-spacing: -.01em; }
p { margin: 0 0 15px; max-width: var(--measure); }
p:last-child { margin-bottom: 0; }

.hero { padding-top: 56px; }
.hero .lab { margin-bottom: 16px; }
.hero h1 {
  font-family: var(--serif); font-size: clamp(38px, 7vw, 68px); line-height: 1.04;
  font-weight: 500; letter-spacing: -.026em; margin: 0 0 20px; max-width: 16ch; text-wrap: balance;
}
.hero .sub { font-size: clamp(18px, 2.2vw, 21px); line-height: 1.55; color: var(--ink-2); max-width: var(--measure); }
.motto { margin-top: 22px; padding-left: 16px; border-left: 2px solid var(--accent); font-family: var(--serif); font-size: 20px; color: var(--ink); }

.lede { padding-top: 48px; }
.lede .lab { margin-bottom: 14px; }
.lede h1 { font-family: var(--serif); font-size: clamp(30px, 5vw, 48px); line-height: 1.1; font-weight: 500; letter-spacing: -.02em; margin: 0 0 16px; max-width: 24ch; text-wrap: balance; }
/* A heading of two sentences sets one per line, so it needs a measure that holds the longer of them
   -- 46ch carries the French "Les partenaires font fonctionner la securite." at 45. Narrower than
   that and the browser folds a clause in half, which is the accident this rule exists to stop. On a
   phone each sentence still wraps inside itself, which keeps the grouping without forcing overflow. */
.lede h1.lines { max-width: 46ch; text-wrap: pretty; }
.lede h1.lines .hl { display: block; }
.lede .sub { font-size: 19px; line-height: 1.55; color: var(--ink-2); max-width: var(--measure); }

.acts { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px 14px; margin: 26px 0 0; }
.off-why { flex-basis: 100%; font-size: 14px; color: var(--ink-3); margin: 2px 0 0; max-width: var(--measure); }

.pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 0 32px; margin-top: 22px; }
.pair > div { border-top: 2px solid var(--accent); padding: 18px 0 10px; }
.pair .role { font-family: var(--mono); font-size: 12px; color: var(--ink-3); display: block; margin-bottom: 10px; }
.path { margin-top: 22px; color: var(--ink-2); }

.who { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 0 32px; max-width: none; }
.who li { border-top: 1px solid var(--rule); padding: 18px 0 20px; }
.who .lab { margin-bottom: 8px; }
.who .said { font-family: var(--serif); font-size: 21px; line-height: 1.3; color: var(--ink); margin: 0 0 8px; }
.who .detail { font-size: 15px; color: var(--ink-2); margin: 0 0 10px; }
/* each card is four rows (label, question, description, button) that the three cards share, so the buttons line up
   whatever the text above them (founder, 2026-10-04: an extra row, all properly aligned). Where subgrid is
   unavailable the button is pinned to the foot of its card. */
.who > li { display: flex; flex-direction: column; }
.who > li .acts { margin-top: auto; padding-top: 14px; }
@supports (grid-template-rows: subgrid) {
  .who > li { display: grid; grid-template-rows: subgrid; grid-row: span 4; }
  .who > li .acts { margin-top: 0; }
}
/* and the buttons are one size: each fills its card and the row's height, its label centred, so a label that wraps to
   two lines makes all three buttons that tall instead of one of them. */
.who > li .acts { align-items: stretch; }
.who > li .btn { width: 100%; display: flex; align-items: center; justify-content: center; text-align: center; }
.who.secondary .said { font-size: 18px; }

.awards { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; max-width: none; }
.awards li { background: var(--raise); border: 1px solid var(--rule-soft); border-top: 3px solid var(--accent); padding: 16px 16px 18px; margin: 0; }
.awards .issuer { font-family: var(--mono); font-size: 12px; letter-spacing: .04em; color: var(--ink-3); display: block; margin-bottom: 6px; }
.awards .title { font-family: var(--serif); font-size: 18px; line-height: 1.3; color: var(--ink); display: block; }
.note { margin-top: 22px; font-size: 14px; color: var(--ink-3); max-width: var(--measure); }

.roster { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 16px; max-width: none; grid-auto-rows: 1fr; }
.roster li { border: 1px solid var(--rule); border-radius: 6px; padding: 22px 18px; min-height: 96px; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; }
.roster .pname { font-size: 19px; font-weight: 600; color: var(--ink); }
.roster .open { border-style: dashed; flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; }
.roster .open .pname { font-size: 15px; font-weight: 500; color: var(--ink-2); }
.roster .open a { font-size: 14px; }
.roster .logo { display: block; flex: none; width: 48px; height: 48px; background-color: var(--ink-2); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; }
.roster .logo-microsoft { -webkit-mask-image: url(/assets/partners/microsoft.png?v=bff2db12b9); mask-image: url(/assets/partners/microsoft.png?v=bff2db12b9); }
.roster .logo-google { -webkit-mask-image: url(/assets/partners/google.png?v=427e6b7393); mask-image: url(/assets/partners/google.png?v=427e6b7393); }
.roster .logo-anthropic { -webkit-mask-image: url(/assets/partners/anthropic.png?v=591ad924f8); mask-image: url(/assets/partners/anthropic.png?v=591ad924f8); }
.roster .logo-openai { -webkit-mask-image: url(/assets/partners/openai.png?v=ee11ccc681); mask-image: url(/assets/partners/openai.png?v=ee11ccc681); }
.roster .logo-redkyte { -webkit-mask-image: url(/assets/partners/redkyte.png?v=7d43a3956b); mask-image: url(/assets/partners/redkyte.png?v=7d43a3956b); }
.roster .logo-flare { -webkit-mask-image: url(/assets/partners/flare.png?v=ca6b74cdaf); mask-image: url(/assets/partners/flare.png?v=ca6b74cdaf); }
.roster .logo-spartadoc { -webkit-mask-image: url(/assets/partners/spartadoc.png?v=3b29238f07); mask-image: url(/assets/partners/spartadoc.png?v=3b29238f07); }
.cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 0 28px; margin-top: 24px; }
.cols > div { padding: 22px 0 24px; border-top: 1px solid var(--rule); }
.cols .promise { font-size: 15px; font-weight: 600; color: var(--ink); margin: 0 0 8px; }
.cols .detail { font-size: 15px; color: var(--ink-2); margin: 0; }
/* the three audiences on /sparta: each card's heading, question, description and button share a row across the
   columns (founder, 2026-10-04: the buttons must line up). Where subgrid is unavailable the button is pinned to
   the foot of its card, which gives the same alignment when the cards are of equal height. */
.cols.aud-row > .aud { display: flex; flex-direction: column; }
.cols.aud-row > .aud .acts { margin-top: auto; padding-top: 22px; }
@supports (grid-template-rows: subgrid) {
  .cols.aud-row > .aud { display: grid; grid-template-rows: subgrid; grid-row: span 4; }
  .cols.aud-row > .aud .acts { margin-top: 0; padding-top: 22px; }
}

.facts { margin: 26px 0 0; padding: 0; max-width: 820px; }
.facts div { display: grid; grid-template-columns: minmax(120px, 200px) 1fr; gap: 6px 22px; padding: 14px 0; border-top: 1px solid var(--rule-soft); }
.facts dt { font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-3); padding-top: 4px; }
.facts dd { margin: 0; max-width: var(--measure); }
.listed { margin: 0; padding: 0; list-style: none; max-width: var(--measure); }
.listed li { padding: 11px 0 11px 20px; border-top: 1px solid var(--rule-soft); position: relative; font-size: 16px; color: var(--ink-2); }
.listed li::before { content: "\2014"; position: absolute; left: 0; color: var(--ink-3); }
.quote { margin: 12px 0 22px; padding: 18px 22px; background: var(--raise); border: 1px solid var(--rule-soft); border-left: 3px solid var(--accent); max-width: var(--measure); }
.quote p { font-size: 16px; color: var(--ink); }
.quote p + p { margin-top: 12px; }
.logos { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 18px; }
.logos a { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border: 1px solid var(--rule); border-radius: 3px; text-decoration: none; min-height: 44px; }
.logos img { height: 40px; width: auto; }

.doors { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 0; max-width: none; }
.doors li { border-top: 1px solid var(--rule); }
.doors a { display: block; padding: 17px 0; text-decoration: none; }
.doors .door { font-family: var(--serif); font-size: 21px; font-weight: 500; display: block; margin-bottom: 2px; }
.doors .why { font-size: 15px; color: var(--ink-3); display: block; max-width: var(--measure); }
.doors a:hover .door { color: var(--accent); text-decoration: underline; }
.doors a[aria-current="page"] { border-left: 3px solid var(--accent); padding-left: 16px; }
.doors .at { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); display: block; margin-bottom: 4px; }

.fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px 26px; margin-top: 20px; max-width: 760px; }
.field { display: flex; flex-direction: column; min-width: 0; }
.field.wide { grid-column: 1 / -1; }
.field label { font-size: 13px; font-weight: 600; letter-spacing: .04em; margin-bottom: 6px; }
.field label .opt { font-family: var(--mono); font-size: 10px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); margin-left: 8px; }
.field .fh { font-size: 13px; color: var(--ink-3); margin: 0 0 6px; }
.block { margin-top: 30px; padding-top: 16px; border-top: 1px solid var(--rule-soft); }
.field input, .field textarea, .field select {
  font-family: var(--sans); font-size: 16px; line-height: 1.5; color: var(--ink);
  background: var(--raise); border: 1px solid var(--edge); border-radius: 3px;
  padding: 11px 12px; min-height: 44px; width: 100%; margin-top: auto;
}
.field textarea { min-height: 110px; resize: vertical; }
.group { border: 0; margin: 0; padding: 0; min-width: 0; }
.group legend { font-size: 13px; font-weight: 600; letter-spacing: .04em; padding: 0; margin-bottom: 2px; }
.group .fields { margin-top: 8px; max-width: none; }
.group .field input, .group .field select { margin-top: 0; }
.group .field { justify-content: flex-start; }
.field-error { font-size: 13px; font-weight: 600; color: var(--ink); margin: 6px 0 0; padding-left: 10px; border-left: 3px solid var(--accent); }
[aria-invalid="true"] { border-color: var(--accent); border-width: 2px; }
.suggested { font-family: var(--mono); font-size: 10px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); margin-left: 8px; }
.assist-live { font-size: 13px; color: var(--ink-3); margin: 6px 0 0; min-height: 0; }
.assist-live:empty { display: none; }
[hidden] { display: none !important; }
.trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.consent { grid-column: 1 / -1; display: grid; grid-template-columns: 22px 1fr; gap: 4px 12px; align-items: start; padding: 18px 20px; background: var(--raise); border: 1px solid var(--edge); border-left: 3px solid var(--accent); }
.consent input { width: 20px; height: 20px; margin: 3px 0 0; accent-color: var(--accent); }
.consent label { font-size: 15px; line-height: 1.5; margin: 0; cursor: pointer; }
.consent .fh { grid-column: 2; font-size: 13px; color: var(--ink-3); margin: 0; }
.send {
  margin-top: 26px; font-family: var(--sans); font-size: 16px; font-weight: 600; letter-spacing: .02em;
  color: var(--accent-ink); background: var(--accent); border: 1px solid var(--accent);
  border-radius: 3px; padding: 13px 30px; min-height: 48px; cursor: pointer;
}
.send:hover { filter: brightness(1.08); }
.banner { margin: 0 0 24px; padding: 14px 18px; border: 1px solid var(--accent); border-left-width: 3px; background: var(--raise); max-width: var(--measure); }
.banner b { display: block; font-size: 15px; margin-bottom: 3px; }
.banner p { font-size: 15px; color: var(--ink-2); margin: 0; }

.gate { position: fixed; inset: auto 0 0 0; z-index: 40; background: var(--raise); border-top: 1px solid var(--edge); }
.gate-in { max-width: 1040px; margin: 0 auto; padding: 10px 20px; max-height: 62vh; overflow-y: auto; overflow-x: hidden; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; }
.gate-line { flex: 1 1 420px; margin: 0; font-size: 14px; line-height: 1.45; color: var(--ink-2); max-width: none; }
.gate-line b { color: var(--ink); }
.gate-more { flex: 0 0 auto; order: 1; }
.gate-more[open] { flex: 1 1 100%; order: 3; }
.gate .gate-in > .gate-acts { order: 2; }
.gate-more summary { font-size: 13px; color: var(--ink-3); cursor: pointer; }
.has-gate main { padding-bottom: 140px; }
.tg { list-style: none; margin: 14px 0 0; padding: 0; max-width: none; }
.tg li { border-top: 1px solid var(--rule-soft); padding: 13px 0; display: grid; grid-template-columns: 22px 1fr; gap: 2px 12px; align-items: start; }
.tg input { width: 20px; height: 20px; margin: 3px 0 0; accent-color: var(--accent); }
.tg label { font-size: 16px; font-weight: 600; cursor: pointer; }
.tg .fh { grid-column: 2; font-size: 14px; color: var(--ink-2); margin: 4px 0 0; }
.tg dl { grid-column: 2; margin: 10px 0 0; display: grid; grid-template-columns: minmax(96px, auto) 1fr; gap: 3px 16px; }
.tg dt { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.tg dd { margin: 0; font-family: var(--mono); font-size: 12px; color: var(--ink-2); overflow-wrap: anywhere; }
.gate-acts { display: flex; flex-wrap: wrap; gap: 10px 12px; margin: 18px 0 0; }
.gate-acts .btn { flex: 1 1 200px; text-align: center; cursor: pointer; font-family: var(--sans); }
.gate .gate-acts { margin: 0; flex: 0 0 auto; flex-wrap: nowrap; gap: 10px; }
.gate .gate-acts .btn { flex: 0 0 auto; padding: 8px 18px; font-size: 14px; min-height: 0; }
.gate-more .gate-acts { margin-top: 12px; }
@media (max-width: 560px) { .gate .gate-acts { flex: 1 1 100%; } .gate .gate-acts .btn { flex: 1 1 0; } }
.read { font-size: 13px; color: var(--ink-3); margin: 12px 0 0; }
/* the regional part of a consent request: which region it is made for, the others one link away */
.regime { margin: 10px 0 14px; max-width: var(--measure); }
.regime-tabs { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 4px 0 10px; font-size: 14px; }
.regime-tabs a[aria-current="true"] { color: var(--ink); font-weight: 600; text-decoration: underline; }
.state { margin: 18px 0 0; padding: 0; list-style: none; max-width: var(--measure); }
.state li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-top: 1px solid var(--rule-soft); font-size: 15px; }
.state li span { font-family: var(--mono); font-size: 13px; color: var(--ink-3); }
.essential { margin-top: 26px; padding: 20px 22px; background: var(--raise); border: 1px solid var(--rule-soft); }
.essential h3 { font-family: var(--sans); font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); margin: 0 0 10px; }
.essential p { font-size: 15px; color: var(--ink-2); margin: 0; }

.got { padding: 80px 0 40px; }
.got h1 { font-family: var(--serif); font-size: clamp(34px, 6vw, 56px); font-weight: 500; letter-spacing: -.022em; margin: 0 0 14px; }
.got p { font-size: 19px; color: var(--ink-2); }

@media (max-width: 620px) {
  body { font-size: 16px; }
  .frame { padding: 0 16px; }
  section { padding: 34px 0; }
  .acts .btn, .send { width: 100%; text-align: center; }
  .facts div { grid-template-columns: 1fr; }
  .fields { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
