/* The private-beta homepage in the new visual identity (Nov 2026, Figma 5GNUGIiyttokMbhk8DFQpN,
   "Desktop" 227:345 and "Mobile" 227:346). Dark only. Plain CSS, no build step.
   Desktop (≥ 1200px) follows the 1600px frame: spacing scales with --u (1px at 1600px and wider),
   the text column on the left and the email card on the right, bleeding to the right edge of the
   window. Below 1200px it is one column, in the order of the mobile frame. Fonts are self-hosted
   (SIL OFL): Abhaya Libre for the display lines, Urbanist for everything else. */
@font-face {
  font-family: "Urbanist";
  src: url("/Urbanist-variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Abhaya Libre";
  src: url("/AbhayaLibre-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Abhaya Libre";
  src: url("/AbhayaLibre-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

:root {
  color-scheme: dark;
  --bg: #161616;
  --bg-from: #111111;
  --bg-to: #222222;
  --white: #ffffff;
  --text: rgba(255, 255, 255, 0.8);
  --soft: #eeeeee;
  /* footer, notes: low-contrast in the design (#4d4d4d), raised to ≥ 4.5:1 on the dark background */
  --quiet: #8c8c8c;
  --mint: #2ccea5;
  --ink: #222222;
  --card-from: rgba(51, 51, 51, 0.7);
  --card-to: rgba(17, 17, 17, 0.7);
  --card-line: #414141;
  --mail-text: #d8d8d8;
  --mail-label: #9a9a9a;
  --addr-bg: rgba(104, 104, 104, 0.44);
  --switch-bg: #2c2c2c;
  --switch-line: #5b5b5b;
  --field-bg: rgba(255, 255, 255, 0.06);
  --error: #ff9d9d;
  --scrim: rgba(0, 0, 0, 0.66);
  --sheet: #1b1b1b;
  /* tag colours (222:182): the category part, then the lighter subtype part */
  --person-c: #287216; --person-s: #579a46;
  --contact-c: #511192; --contact-s: #6b1eb8;
  --date-c: #1171b6; --date-s: #4aa4e4;
  --doc-c: #b65b11; --doc-s: #c69166;
  --company-c: #59215e; --company-s: #9949a0;
  --id-c: #010101; --id-s: #494949;
  --location-c: #881616; --location-s: #a04d4d;
  --payment-c: #3d1081; --payment-s: #693fa8;
  --finance-c: #1c1585; --finance-s: #3f49a8;
  --font: "Urbanist", Arial, sans-serif;
  --serif: "Abhaya Libre", Georgia, "Times New Roman", serif;
  /* layout */
  --u: min(1px, calc(100vw / 1600));
  --pad: calc(72 * var(--u));
  --mail-w: clamp(480px, 37vw, 592px);
  --h1-fit: 5.05; /* the widest line of the headline, in em ("layer for AI" + the mint bar) */
}
:root:lang(pt) { --h1-fit: 5.05; }
:root:lang(fr) { --h1-fit: 6.4; }  /* "confidentialité" */
:root:lang(es) { --h1-fit: 5.05; }

*, *::before, *::after { box-sizing: border-box; }
html { background: var(--bg); -webkit-text-size-adjust: 100%; }
[hidden] { display: none !important; }
body {
  margin: 0; background: var(--bg); color: var(--text);
  font-family: var(--font); font-size: 19px; line-height: 32px; letter-spacing: 0.04em;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
p { margin: 0; }

/* the page background: the dark gradient, the mint glow at the top left, the faint redaction pills at the bottom right */
.site {
  position: relative; overflow: clip; min-height: 100vh; isolation: isolate;
  background: linear-gradient(-45.43deg, var(--bg-from) 16.78%, var(--bg-to) 84.73%);
}
.site::before, .site::after { content: ""; position: absolute; z-index: -1; pointer-events: none; }
.site::before {
  left: calc(-325 * var(--u)); top: calc(154 * var(--u)); width: calc(952 * var(--u)); height: calc(952 * var(--u));
  border-radius: 50%; background: radial-gradient(closest-side, rgba(43, 206, 165, 0.2), rgba(43, 206, 165, 0));
}
.site::after {
  right: calc(-15 * var(--u)); bottom: calc(-230 * var(--u)); width: calc(866 * var(--u)); height: calc(829 * var(--u));
  background: url("/img/redaction-pills.svg") center / 100% 100% no-repeat; opacity: 0.02;
}

.page {
  position: relative; max-width: 1600px; margin: 0 auto;
  padding: calc(126 * var(--u)) 0 calc(46 * var(--u)) var(--pad);
  display: grid; grid-template-columns: minmax(0, 1fr) var(--mail-w); align-items: start;
  container-type: inline-size; container-name: page;
}
.page > * { grid-column: 1; min-width: 0; }
.page > footer { grid-column: 1 / -1; }

.brand { grid-column: 1 / -1; margin: 0 0 calc(231 * var(--u)) calc(-1 * var(--pad)); display: flex; justify-content: center; }
.logo { display: block; width: max(150px, calc(197 * var(--u))); height: auto; }

/* the headline, then the lead column */
.intro { grid-row: 2; }
h1 {
  margin: 0; color: var(--white); font-family: var(--serif); font-weight: 600;
  font-size: min(160px, 10vw, calc((100cqi - var(--mail-w) - 4px) / var(--h1-fit)));
  line-height: 0.9; letter-spacing: -0.02em;
}
/* the short mint bar after the headline, like a cursor */
h1::after {
  content: ""; display: inline-block; width: 0.325em; height: 0.131em; margin-left: 0.19em;
  border-radius: 999px; background: var(--mint); vertical-align: 0;
}
.lead, .claim, .label, .bullets { max-width: min(741px, calc(100% - 56px)); }
.lead { margin-top: calc(91 * var(--u)); }
.lead .prod {
  /* "Opami [Protect]": the product lockup from the design; the text stays for screen readers, search and copy */
  display: inline-block; width: 7.053em; height: 1.105em; vertical-align: -0.3em; overflow: hidden; white-space: nowrap;
  color: transparent; background: url("/img/opami-protect.svg") 0 0 / 100% 100% no-repeat;
}
.lead .prod .pb { color: transparent; }
.claim { margin-top: 32px; font-size: 21px; font-weight: 700; }
.label { margin-top: 32px; font-size: 15px; color: var(--mint); text-transform: uppercase; }
.bullets { list-style: none; margin: 0; padding: 0; }
.bullets li { position: relative; padding-left: 28px; }
.bullets li::before {
  content: ""; position: absolute; left: 0; top: calc(16px - 3.5px); width: 17px; height: 7px;
  border-radius: 999px; background: var(--mint);
}

/* the email card, on the right of the headline */
.visual { grid-column: 2; grid-row: 2; margin-top: calc(80 * var(--u)); display: flex; flex-direction: column; min-width: 0; }
.mail {
  position: relative; display: flex; flex-direction: column; min-height: 537px; /* the height of the protected version, so the switch never moves */
  margin-right: min(0px, calc((1600px - 100vw) / 2));
  background: linear-gradient(180deg, var(--card-from), var(--card-to));
  border: 1px solid var(--card-line); border-right: 0; border-radius: 20px 0 0 20px;
  color: var(--mail-text); font-size: 17px; line-height: 22px; letter-spacing: 0.04em;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.mail-head { display: flex; flex-direction: column; gap: 5px; padding: 14px 15px 15px 29px; border-bottom: 1px solid rgba(255, 255, 255, 0.05); }
.mail-row { display: flex; align-items: flex-start; font-size: 15px; line-height: 26px; }
.mail-k { flex: none; width: 50px; color: var(--mail-label); }
.mail-v { min-width: 0; }
.addr { padding: 0 12px; border-radius: 100px; background: var(--addr-bg); -webkit-box-decoration-break: clone; box-decoration-break: clone; transition: background-color .25s ease, padding .25s ease; }
.mail[data-masked="true"] .addr { background: transparent; padding: 0; }
.mail-head .pii.on { height: 26px; line-height: 26px; margin: 0 0.4em; }
.mail-head .pii.on:first-child { margin-left: 0; }
.mail-body { padding: 15px 15px 0 29px; }
.mail-subject { margin: 0 0 25px; font-size: 21px; line-height: 25px; font-weight: 600; }
.mail-text p { margin: 0 0 22px; }
.mail-text p:last-child { margin-bottom: 0; }
.mail-note { margin-top: auto; padding: 22px 15px 18px 29px; font-size: 13px; line-height: 18px; color: var(--mail-label); }

/* a detail of the email: plain text, then a "Category N · Subtype" tag */
.pii { transition: background-color .18s ease, color .18s ease; }
.pii.on {
  display: inline-flex; align-items: stretch; height: 24px; line-height: 24px; font-size: 15px; font-weight: 400;
  letter-spacing: 0.04em; color: var(--mail-text); white-space: nowrap; border-radius: 100px; overflow: hidden; cursor: help;
}
.pii.on .cat { padding: 0 0.55em 0 0.8em; background: var(--tc); }
.pii.on .sub { padding: 0 0.8em 0 0.6em; background: var(--ts); }
.pii.on:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
.pii.on.person { --tc: var(--person-c); --ts: var(--person-s); }
.pii.on.contact { --tc: var(--contact-c); --ts: var(--contact-s); }
.pii.on.date { --tc: var(--date-c); --ts: var(--date-s); }
.pii.on.doc { --tc: var(--doc-c); --ts: var(--doc-s); }
.pii.on.company { --tc: var(--company-c); --ts: var(--company-s); }
.pii.on.id { --tc: var(--id-c); --ts: var(--id-s); }
.pii.on.location { --tc: var(--location-c); --ts: var(--location-s); }
.pii.on.payment { --tc: var(--payment-c); --ts: var(--payment-s); }
.pii.on.finance { --tc: var(--finance-c); --ts: var(--finance-s); }
/* the original value, on hover or focus of a tag */
.tip {
  position: fixed; z-index: 40; pointer-events: none; transform: translate(-50%, calc(-100% - 8px));
  background: var(--white); color: var(--ink); font-family: var(--font); font-size: 13px; font-weight: 500; line-height: 1.3; letter-spacing: 0.02em;
  padding: 6px 10px; border-radius: 8px; box-shadow: 0 10px 24px -8px rgba(0, 0, 0, 0.6);
  white-space: nowrap; max-width: calc(100vw - 32px); overflow: hidden; text-overflow: ellipsis;
}
.tip .k { color: #137a60; font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; margin-right: 6px; }

/* Original email / What AI receives */
.switch {
  display: inline-flex; align-self: center; margin-top: 21px; max-width: 100%; padding: 2px;
  background: var(--switch-bg); border: 1px solid var(--switch-line); border-radius: 100px;
}
.seg {
  font: inherit; font-size: 14px; font-weight: 600; line-height: 26px; letter-spacing: 0.04em; white-space: nowrap;
  color: var(--white); background: transparent; border: 0; border-radius: 100px; padding: 0 12px; cursor: pointer;
  transition: background-color .25s ease, color .25s ease;
}
.seg[aria-pressed="true"] { background: var(--mint); color: var(--ink); }
.switch-note { align-self: center; margin-top: 8px; font-size: 13px; line-height: 20px; color: var(--quiet); text-align: center; }
.play { font: inherit; font-weight: 600; color: var(--mint); background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }

/* the results card and the next steps */
.lower {
  grid-column: 1 / -1; margin-top: calc(77 * var(--u));
  display: grid; grid-template-columns: minmax(0, 1012fr) minmax(0, 418fr); column-gap: calc(98 * var(--u)); align-items: start;
}
.results {
  position: relative; min-height: 217px; padding: 76px 45px 24px 24px; border-radius: 10px; background: var(--white); color: var(--ink);
  display: grid; grid-template-columns: minmax(0, 351px) minmax(0, 348px) minmax(0, 1fr); column-gap: 84px; align-items: start;
}
.results::before { content: ""; position: absolute; left: 27px; top: 26px; width: 32px; height: 13px; border-radius: 999px; background: var(--mint); }
.results .big { font-family: var(--serif); font-weight: 500; font-size: 49px; line-height: 0.9; letter-spacing: -0.02em; }
.results .hl { color: var(--mint); }
.results .body { margin-top: 14px; font-size: 19px; line-height: 23px; }
.results .foot { grid-column: 1 / -1; justify-self: end; margin-top: 11px; font-size: 15px; line-height: 18px; color: #737373; }

.next { display: flex; flex-direction: column; align-items: flex-start; padding-top: 20px; min-width: 0; }
.launch { font-size: 16px; line-height: 16px; color: var(--soft); margin-bottom: 25px; }
.next nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 28px; }
.cta {
  font: inherit; font-size: 19px; font-weight: 700; line-height: 23px; letter-spacing: 0.04em; white-space: nowrap;
  color: var(--ink); background: var(--mint); border: 0; border-radius: 999px; padding: 0 26px 0 24px; min-height: 64px; cursor: pointer;
  transition: background-color .2s ease, color .2s ease;
}
.cta:hover { background: #4fdcb8; }
.cta.dark { color: var(--white); background: #000000; }
.cta.dark:hover { background: #0c0c0c; color: var(--mint); }
.cta.go::before { content: "→"; margin-right: 0.3em; }
.cta:disabled { cursor: progress; opacity: 0.7; }

/* the two forms open under the buttons */
.panel {
  /* 460px wide, its right edge kept off the window edge: it grows to the left, under the results card, when the column is narrower */
  width: 460px; max-width: calc(100vw - 2 * var(--pad)); margin: 28px 0 0 min(0px, calc(100% - 460px - var(--pad))); padding: 22px 24px 24px;
  background: linear-gradient(180deg, #2a2a2a, #181818); border: 1px solid var(--card-line); border-radius: 20px;
}
.form { display: grid; gap: 14px; }
.form label { display: flex; flex-direction: column; gap: 6px; font-size: 15px; line-height: 20px; color: #c4c4c4; min-width: 0; }
.form input, .form select, .form textarea {
  font: inherit; font-size: 16px; line-height: 22px; letter-spacing: 0.02em; color: var(--white);
  background: var(--field-bg); border: 1px solid var(--switch-line); border-radius: 10px; padding: 11px 14px; min-width: 0;
}
.form select { color-scheme: dark; }
.form select option { background: #1f1f1f; color: var(--white); }
.form textarea { resize: vertical; min-height: 120px; }
.form ::placeholder { color: #969696; opacity: 1; }
.form [aria-invalid="true"] { border-color: var(--error); }
.form .check { flex-direction: row; align-items: flex-start; gap: 10px; color: var(--text); }
.form .check input { margin: 1px 0 0; width: 18px; height: 18px; flex: none; padding: 0; accent-color: var(--mint); }
.form .cta { justify-self: start; min-height: 52px; font-size: 17px; padding: 0 24px; }
.form .ts:empty { display: none; }
.err { color: var(--error); font-size: 15px; line-height: 21px; }
.done { color: var(--white); font-size: 17px; line-height: 26px; }
.done:focus { outline: none; }
/* honeypot: off screen, never announced */
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible, summary:focus-visible {
  outline: 2px solid var(--mint); outline-offset: 3px;
}

/* footer: centred, quiet; the language switcher sits at its end and opens upwards */
footer {
  margin: calc(175 * var(--u)) 0 0 calc(-1 * var(--pad));
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 22px;
  font-size: 15px; line-height: 20px; color: var(--quiet);
}
footer .link, footer a { font: inherit; letter-spacing: inherit; color: var(--quiet); background: none; border: 0; padding: 0; cursor: pointer; text-underline-offset: 3px; }
footer a { text-decoration: underline; }
footer .link { text-decoration: none; }
footer .link:hover, footer a:hover { color: var(--soft); text-decoration: underline; }
.lang--foot { font-family: var(--font); }
.lang--foot > summary { height: 28px; padding: 0 8px 0 7px; background: transparent; border-color: rgba(255, 255, 255, 0.14); }
.lang--foot > summary:hover, .lang--foot[open] > summary { background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.24); }
.lang--foot .lang__flag { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12); }
.lang--foot .lang__caret { border-top-color: var(--quiet); }
.lang--foot .lang__menu {
  top: auto; bottom: calc(100% + 8px); right: 0; left: auto;
  background: rgba(30, 30, 30, 0.96); border-color: rgba(255, 255, 255, 0.1); box-shadow: 0 14px 34px rgba(0, 0, 0, 0.5);
}
.lang--foot .lang__menu a { color: #e8e8e8; letter-spacing: 0.02em; }
.lang--foot .lang__menu a:hover { background: rgba(44, 206, 165, 0.14); }
.lang--foot .lang__menu a:focus-visible { outline-color: var(--mint); }
.lang--foot .lang__menu a[aria-current="true"]::after { border-color: var(--mint); }

/* "your email is confirmed", after the link in the confirmation email */
.notice {
  position: fixed; z-index: 45; top: max(12px, env(safe-area-inset-top, 0px)); left: 50%; transform: translateX(-50%);
  width: max-content; max-width: calc(100vw - 32px); display: flex; align-items: center; gap: 10px;
  background: var(--mint); color: #08352a; border-radius: 999px; padding: 8px 8px 8px 18px;
  font-size: 15px; line-height: 20px; font-weight: 600; box-shadow: 0 12px 30px -12px rgba(0, 0, 0, 0.6);
}
.notice-x { flex: none; width: 28px; height: 28px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, 0.45); color: #08352a; font: inherit; font-size: 18px; line-height: 1; cursor: pointer; }

/* privacy modal */
.modal {
  position: fixed; inset: 0; z-index: 50; background: var(--scrim); display: flex; align-items: center; justify-content: center;
  padding: max(16px, env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) max(16px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
}
.sheet {
  position: relative; width: min(680px, 100%); max-height: min(86vh, 900px); overflow: auto; padding: 28px 30px 30px;
  background: var(--sheet); color: var(--text); border: 1px solid var(--card-line); border-radius: 20px;
  box-shadow: 0 30px 80px -30px rgba(0, 0, 0, 0.8); font-size: 15px; line-height: 1.6; letter-spacing: 0.02em;
}
.sheet h2 { font-family: var(--serif); font-weight: 600; font-size: 34px; line-height: 1; letter-spacing: -0.01em; color: var(--white); margin: 0 48px 8px 0; }
.sheet h3 { font-size: 17px; color: var(--white); margin: 18px 0 4px; }
.sheet p, .sheet ul { margin: 0 0 6px; }
.sheet ul { padding-left: 20px; }
.sheet .updated { color: var(--mail-label); font-size: 14px; margin-bottom: 8px; }
.sheet .full { margin-top: 18px; }
.sheet .full a { font-weight: 600; color: var(--mint); text-underline-offset: 4px; }
.close {
  position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid var(--switch-line); background: var(--switch-bg); color: var(--white); font: inherit; font-size: 22px; line-height: 1; cursor: pointer;
}

/* cookie banner (vendor/cookie-banner): its colours come from the theme in teaser.js; these finish the dark theme */
.aiso-cb { font-family: var(--font); letter-spacing: 0.02em; }
.aiso-cb .aiso-cb__btn:hover { background: rgba(255, 255, 255, 0.08); }
.aiso-cb .aiso-cb__btn--primary:hover { background: #4fdcb8; }
.aiso-cb .aiso-cb__btn:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
.aiso-cb .aiso-cb__modal { background: var(--scrim); }
.aiso-cb .aiso-cb__toggle-slider { background: #555555; }
.aiso-cb .aiso-cb__toggle input:disabled + .aiso-cb__toggle-slider { opacity: 0.6; }

/* ------------------------------------------------------------------ */
/* One column: tablets and phones, in the order of the mobile frame    */
/* ------------------------------------------------------------------ */
@media (max-width: 1199px) {
  :root { --inset: 40px; --gutter: 20px; --pad: var(--inset); }
  .site::before { left: -320px; top: 60px; width: 952px; height: 952px; }
  .site::after { right: -60px; bottom: -40px; width: 671px; height: 642px; background-image: url("/img/redaction-pills-mobile.svg"); opacity: 0.04; }
  .page { grid-template-columns: minmax(0, 1fr); max-width: 760px; padding: 72px var(--inset) 44px; }
  .brand { margin: 0 0 96px; justify-content: flex-start; }
  .logo { width: 170px; }
  h1 { font-size: min(110px, calc(100cqi / var(--h1-fit))); }
  h1::after { width: 0.42em; height: 0.176em; margin-left: 0.17em; }
  .lead { margin-top: 56px; }
  .lead, .claim, .label, .bullets { max-width: none; }
  .visual { grid-column: 1; grid-row: auto; margin: 56px calc(var(--gutter) - var(--inset)) 0; }
  .mail { margin-right: 0; border-right: 1px solid var(--card-line); border-radius: 20px; min-height: 0; }
  .lower { grid-template-columns: minmax(0, 1fr); justify-items: center; row-gap: 55px; margin-top: 64px; }
  .results { width: 100%; max-width: 480px; grid-template-columns: minmax(0, 1fr); padding: 76px 24px 24px; }
  .results .body { margin-top: 56px; font-size: 18px; line-height: 26px; }
  .results .foot { justify-self: start; margin-top: 28px; }
  .next { align-items: center; padding-top: 0; width: 100%; }
  .next nav ul { align-items: center; }
  .panel { width: 100%; max-width: 520px; margin-left: 0; text-align: left; }
  footer { margin: 112px 0 0; gap: 10px 18px; font-size: 14px; }
  .lang--foot .lang__menu { right: auto; left: 50%; transform: translateX(-50%); animation: none; }
}
@media (max-width: 640px) {
  :root { --inset: 28px; --gutter: 16px; }
  body { font-size: 17px; line-height: 1.6; }
  .site::before { left: -400px; top: 40px; }
  .page { padding: 52px max(var(--inset), env(safe-area-inset-right, 0px)) 36px max(var(--inset), env(safe-area-inset-left, 0px)); }
  .brand { margin-bottom: 64px; }
  .logo { width: 150px; }
  h1 { font-size: clamp(40px, calc(100cqi / var(--h1-fit)), 85px); }
  .lead { margin-top: 40px; }
  .claim { margin-top: 26px; font-size: 18px; line-height: 1.5; }
  .label { margin-top: 26px; font-size: 14px; line-height: 1.6; }
  .bullets li { font-size: 16px; line-height: 1.6; padding-left: 26px; margin-top: 4px; }
  .bullets li::before { top: calc(0.8em - 3.5px); width: 16px; height: 6.5px; }
  .visual { margin-top: 44px; }
  .mail { font-size: 16px; line-height: 22px; }
  .mail-head { padding: 12px 14px 13px 16px; }
  .mail-row { font-size: 14px; }
  .mail-k { width: 44px; }
  .mail-body { padding: 14px 14px 0 16px; }
  .mail-subject { font-size: 19px; line-height: 24px; margin-bottom: 20px; }
  .mail-text p { margin-bottom: 18px; }
  .mail-note { padding: 18px 14px 16px 16px; }
  .pii.on { font-size: 14px; height: 23px; line-height: 23px; }
  .mail-head .pii.on { height: 24px; line-height: 24px; margin: 0 0.3em; }
  .lower { margin-top: 52px; row-gap: 48px; }
  .results { padding: 70px 22px 22px; }
  .results .big { font-size: clamp(36px, 10.6vw, 49px); }
  .results .body { margin-top: 40px; font-size: 17px; line-height: 25px; }
  .results .foot { margin-top: 24px; font-size: 14px; }
  .cta { font-size: 18px; min-height: 60px; }
  .panel { padding: 20px 18px 22px; }
  footer { margin-top: 96px; }
  .sheet { padding: 24px 20px; }
  .sheet h2 { font-size: 30px; }
  .notice { border-radius: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .pii, .seg, .addr, .cta { transition: none; }
}
@media (forced-colors: active) {
  .lead .prod, .lead .prod .pb { width: auto; height: auto; overflow: visible; background: none; color: CanvasText; }
  .pii.on .cat, .pii.on .sub { border: 1px solid CanvasText; }
}
