/* Built by scripts/landing-build.mjs from landing/index.html; do not edit. */
@font-face{font-family:"Inter";src:url("fonts/inter-variable-latin.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("fonts/jetbrains-mono-variable-latin.woff2") format("woff2");font-weight:100 800;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("fonts/ibm-plex-sans-regular.woff2") format("woff2");font-weight:400 500;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("fonts/ibm-plex-sans-semibold.woff2") format("woff2");font-weight:600 700;font-display:swap}

/* Layout: left-aligned thesis over a full-width animated product window; then an alternating
   step spine (copy | real screen), a comparison grid, a privacy ledger and a closing form.
   Single deliberate dark look: Flink Glass (DESIGN.md themes.flink-dark). */
:root {
  --bg: #070B14;
  --bg-2: #0D1322;
  --raised: #141C2F;
  --text: #EAF0FF;
  --muted: #9CA8C3;
  --hair: #26314A;
  --edge: rgba(255,255,255,.12);
  --glass: rgba(13,19,34,.72);
  --sb: rgba(10,15,27,.9);
  --codebg: #0A101D;
  --term: #060A12;
  --accent: #7EA6FF;
  --from: #2563EB;
  --to: #7C3AED;
  --pass: #4ADE9A;
  --crit: #FF7B86;
  --warn: #F5C451;
  --unk: #A3ACBD;
  --proven: #A5B4FF;
  --on-acc: #FFFFFF;

  --f-display: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
  --f-ui: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --ease: cubic-bezier(.2,.8,.2,1);
  --r-control: 8px;
  --r-card: 12px;
  color-scheme: dark;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font: 400 17px/1.6 var(--f-ui);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, svg { max-width: 100%; }
a { color: var(--accent); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 4px; }
h1, h2, h3 { font-family: var(--f-display); font-weight: 600; letter-spacing: -0.02em; margin: 0; text-wrap: balance; }
p { margin: 0; }

/* ambient field */
.field { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.field::before, .field::after {
  content: ""; position: absolute; width: 70vmax; height: 70vmax; border-radius: 50%;
  filter: blur(110px); opacity: .2;
}
.field::before { background: radial-gradient(circle, var(--from), transparent 65%); top: -30vmax; left: -20vmax; animation: drift 26s ease-in-out infinite alternate; }
.field::after { opacity: .12; background: radial-gradient(circle, var(--to), transparent 65%); bottom: -35vmax; right: -25vmax; animation: drift 32s ease-in-out infinite alternate-reverse; }
.grid-lines {
  position: absolute; inset: 0;
  background-image: linear-gradient(var(--hair) 1px, transparent 1px), linear-gradient(90deg, var(--hair) 1px, transparent 1px);
  background-size: 56px 56px; opacity: .22;
  mask-image: radial-gradient(ellipse 80% 55% at 50% 20%, #000 20%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse 80% 55% at 50% 20%, #000 20%, transparent 75%);
}
.grain { position: fixed; inset: 0; z-index: 30; pointer-events: none; opacity: .06; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: 16px; top: -60px; z-index: 40; padding: 10px 14px; border-radius: var(--r-control); background: var(--raised); color: var(--text); border: 1px solid var(--edge); transition: top 120ms var(--ease); }
.skip:focus { top: 12px; }
@keyframes drift { to { transform: translate(12vmax, 8vmax) scale(1.1); } }

.wrap { max-width: 1180px; margin: 0 auto; padding-inline: 20px; }

/* nav */
.nav {
  position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20;
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  background: rgba(7,11,20,.66); border-bottom: 1px solid var(--edge);
}
.nav .wrap { display: flex; align-items: center; gap: 28px; height: 64px; }
.wordmark { font: 600 22px/1 var(--f-display); color: var(--text); text-decoration: none; letter-spacing: 0; }
.nav-links { display: flex; gap: 24px; margin-left: auto; }
.nav-links a { color: var(--muted); text-decoration: none; font-size: 15px; transition: color 120ms var(--ease); }
.nav-links a:hover, .nav-links a.cur { color: var(--text); }
.nav-links a { position: relative; }
.nav-links a.cur::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px; border-radius: 2px; background: var(--accent); }
@media (max-width: 760px) { .nav-links { display: none; } .nav .btn { margin-left: auto; } }

/* buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 48px; padding: 0 22px; border-radius: var(--r-control); border: 0; cursor: pointer;
  font: 600 16px/1 var(--f-ui); text-decoration: none; white-space: nowrap;
  color: var(--on-acc); background: linear-gradient(100deg, var(--from), var(--to));
  box-shadow: 0 0 0 1px rgba(255,255,255,.12) inset, 0 6px 28px -6px rgba(99,102,241,.7);
  transition: transform 120ms var(--ease), box-shadow 120ms var(--ease);
}
.btn:hover { transform: translateY(-1px); box-shadow: 0 0 0 1px rgba(255,255,255,.2) inset, 0 10px 36px -6px rgba(124,58,237,.8); }
.btn:active { transform: translateY(0) scale(.98); }
.btn:disabled { opacity: .6; cursor: progress; transform: none; }
.nav .btn { height: 38px; padding: 0 16px; font-size: 14px; }

/* hero */
.hero { padding-block: 72px 32px; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 10px; font: 500 14px/1 var(--f-ui);
  color: var(--muted);
  padding: 8px 12px; border: 1px solid var(--edge); border-radius: 999px; background: var(--glass);
}
.eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: var(--pass); box-shadow: 0 0 10px var(--pass); animation: blink 2.4s ease-in-out infinite; }
@keyframes blink { 50% { opacity: .35; } }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 48px; align-items: end; margin-top: 26px; }
.hero h1 { font-size: clamp(44px, 7.4vw, 88px); line-height: .98; letter-spacing: -0.035em; }
.hero h1 .grad { color: var(--proven); }
.lede { font-size: 19px; color: var(--muted); max-width: 34em; }
.lede strong { color: var(--text); font-weight: 500; }
.hero-side { display: grid; gap: 20px; }
@media (max-width: 900px) { .hero-grid { grid-template-columns: 1fr; gap: 24px; } .hero { padding-block: 48px 24px; } }

/* waitlist form */
.wl { display: grid; gap: 10px; }
.wl-row { display: flex; gap: 8px; padding: 6px; border-radius: 12px; background: var(--glass); border: 1px solid var(--edge); }
.wl-row:focus-within { border-color: rgba(126,166,255,.6); box-shadow: 0 0 0 4px rgba(37,99,235,.18); }
.wl input[type=email] {
  flex: 1; min-width: 0; height: 48px; border: 0; background: transparent; color: var(--text);
  font: 400 16px var(--f-ui); padding: 0 12px; outline: none;
}
.wl input::placeholder { color: #7482A0; }
.wl .fine { font-size: 14px; color: var(--muted); }
.wl .msg { font-size: 15px; min-height: 1.4em; }
.wl .msg.err { color: var(--crit); }
.wl.done .wl-row, .wl.done .chips { display: none; }
.wl .ok { display: none; padding: 16px 18px; border-radius: 12px; border: 1px solid rgba(74,222,154,.4); background: rgba(74,222,154,.08); }
.wl.done .ok { display: block; }
.wl .ok b { display: block; font: 600 17px var(--f-display); margin-bottom: 2px; }
.wl .ok span { color: var(--muted); font-size: 15px; }
@media (max-width: 480px) { .wl-row { flex-direction: column; } .wl-row .btn { width: 100%; } }

.chips { display: flex; flex-wrap: wrap; gap: 8px; border: 0; margin: 0; padding: 0; }
.chips legend { font-size: 14px; color: var(--muted); margin-bottom: 8px; padding: 0; }
.chips label { cursor: pointer; }
.chips input { position: absolute; opacity: 0; pointer-events: none; }
.chips span {
  display: inline-block; padding: 7px 13px; border-radius: 999px; font-size: 14px;
  border: 1px solid var(--hair); color: var(--muted); background: var(--glass);
  transition: all 120ms var(--ease);
}
.chips label:hover span { border-color: rgba(126,166,255,.45); color: var(--text); }
.chips label:active span { transform: scale(.97); }
.chips input:checked + span { color: var(--text); border-color: var(--accent); background: rgba(37,99,235,.18); }
.chips input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }

.proofline { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 14px; color: var(--muted); }
.proofline span::before { content: "✓"; color: var(--pass); margin-right: 7px; }

/* stage + window */
.stage { margin-top: 56px; perspective: 1600px; }
.tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 14px; position: relative; }
.tab {
  position: relative; text-align: left; padding: 12px 14px 14px; cursor: pointer;
  border-radius: var(--r-control); border: 1px solid var(--edge); background: var(--glass);
  color: var(--muted); font: 500 14px/1.3 var(--f-ui); overflow: hidden;
  transition: color 240ms var(--ease), border-color 240ms var(--ease);
}
.tab b { display: block; font: 600 16px var(--f-display); color: var(--text); opacity: .7; }
.tab small { font: 500 11px var(--f-mono); letter-spacing: .08em; }
.tab .bar { position: absolute; left: 0; bottom: 0; height: 2px; width: 100%; background: linear-gradient(90deg, var(--from), var(--to)); transform: scaleX(0); transform-origin: left; }
.tab:hover { border-color: rgba(126,166,255,.3); color: var(--text); }
.tab:active { transform: scale(.98); }
.tab.on { color: var(--text); border-color: rgba(126,166,255,.45); }
.tab.on b { opacity: 1; }
.tab.on .bar { transform: scaleX(1); }
.stage.playing .tab.on .bar { animation: fill var(--dur, 6s) linear both; }
@keyframes fill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (max-width: 640px) { .tab { padding: 10px; } .tab span { display: none; } .tab b { font-size: 14px; } }

.window {
  border-radius: 14px; border: 1px solid var(--edge); overflow: hidden;
  background: var(--bg-2);
  box-shadow: 0 40px 120px -30px rgba(37,99,235,.45), 0 20px 60px -20px rgba(0,0,0,.8);
  animation: rise-in 1.1s var(--ease) both;
  transform-origin: 50% 0;
}
@keyframes rise-in { from { transform: rotateX(14deg) translateY(30px); opacity: .4; } to { transform: none; opacity: 1; } }
.chrome { display: flex; align-items: center; gap: 7px; height: 34px; padding: 0 14px; background: rgba(255,255,255,.03); border-bottom: 1px solid var(--edge); }
.chrome i { width: 11px; height: 11px; border-radius: 50%; background: #2A3450; }
.chrome i:nth-child(1) { background: #FF5F57; } .chrome i:nth-child(2) { background: #FEBC2E; } .chrome i:nth-child(3) { background: #28C840; }
.chrome span { margin-left: 10px; font: 500 12px var(--f-mono); color: var(--muted); }
.window svg { display: block; width: 100%; height: auto; }
.caption { margin-top: 14px; font-size: 14px; color: var(--muted); }

/* svg screen styling */
.sv text { font-family: var(--f-ui); }
.sv .h { font-family: var(--f-display); font-weight: 600; }
.sv .mono { font-family: var(--f-mono); }
.sv .b { font-weight: 600; }
.sv .md { font-weight: 500; }
.ft { fill: var(--text); } .fm { fill: var(--muted); } .fa { fill: var(--accent); }
.fp { fill: var(--pass); } .fc { fill: var(--crit); } .fw { fill: var(--warn); }
.fu { fill: var(--unk); } .fv { fill: var(--proven); } .fwh { fill: var(--on-acc); }
.card { fill: var(--glass); stroke: var(--edge); }
.card-solid { fill: var(--raised); stroke: var(--edge); }
.sb { fill: var(--sb); }
.code { fill: var(--codebg); stroke: var(--hair); }
.term { fill: var(--term); stroke: var(--hair); }
.ln { stroke: var(--hair); fill: none; }
.btn2 { fill: var(--raised); stroke: var(--hair); }
.acc { fill: url(#g-acc); }
.navon { fill: rgba(37,99,235,.22); }
.delbg { fill: rgba(255,123,134,.13); } .addbg { fill: rgba(74,222,154,.12); }
.s-crit { stroke: rgba(255,123,134,.55); } .s-pass { stroke: rgba(74,222,154,.5); }
.s-acc { stroke: rgba(126,166,255,.75); } .s-warn { stroke: rgba(245,196,81,.55); }
.s-proven { stroke: rgba(165,180,255,.6); }
.glow { filter: drop-shadow(0 0 8px rgba(124,58,237,.6)); }
.strike { stroke: var(--crit); stroke-width: 1.2; }
.pdot { fill: rgba(74,222,154,.85); }
.pdot-off { fill: none; stroke: var(--accent); stroke-dasharray: 3 3; }

/* scenes */
.scene { opacity: 0; transition: opacity 420ms var(--ease); pointer-events: none; }
.scene.on { opacity: 1; }
.scene.on .rise { animation: rise .5s var(--ease) both; animation-delay: var(--d, 0s); }
.scene.on .pop { animation: pop .42s var(--ease) both; animation-delay: var(--d, 0s); transform-box: fill-box; transform-origin: center; }
.scene.on .fade { animation: fade .4s linear both; animation-delay: var(--d, 0s); }
.scene.on .beam { animation: beam 2.2s var(--ease) .2s both; }
.scene.on .grow { animation: grow 4.6s linear .3s both; transform-box: fill-box; transform-origin: left; }
.scene.on .cursor { animation: cursor 2.4s var(--ease) .6s both; }
.scene.on .ripple { animation: ripple .7s ease-out 2.9s both; transform-box: fill-box; transform-origin: center; }
.scene.on .press { animation: press .9s var(--ease) 2.85s both; }
.spin { animation: spin 1.1s linear infinite; transform-box: fill-box; transform-origin: center; }
.pulse { animation: pulse 1.8s ease-in-out infinite; }
@keyframes rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes pop { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: none; } }
@keyframes fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes beam { from { transform: translateX(0); opacity: 1; } 90% { opacity: 1; } to { transform: translateX(1120px); opacity: 0; } }
@keyframes grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes cursor { from { transform: translate(560px, 520px); opacity: 0; } 15% { opacity: 1; } to { transform: translate(812px, 146px); opacity: 1; } }
@keyframes ripple { from { transform: scale(.2); opacity: .9; } to { transform: scale(2.6); opacity: 0; } }
@keyframes press { 0% { filter: none; } 30% { filter: drop-shadow(0 0 14px rgba(124,58,237,.95)); } 100% { filter: drop-shadow(0 0 8px rgba(124,58,237,.6)); } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes pulse { 50% { opacity: .35; } }

/* flow line under the hero */
.flow { margin-top: 36px; display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; align-items: center; gap: 14px; font: 500 13px var(--f-mono); color: var(--muted); }
.flow b { color: var(--text); font-weight: 500; white-space: nowrap; }
.flow .wire { position: relative; height: 1px; background: var(--hair); overflow: hidden; }
.flow .wire::after { content: ""; position: absolute; top: -1px; left: -30%; width: 30%; height: 3px; border-radius: 2px; background: linear-gradient(90deg, transparent, var(--accent), transparent); animation: packet 2.8s linear infinite; }
.flow .wire:nth-of-type(2)::after { animation-delay: .7s; } .flow .wire:nth-of-type(3)::after { animation-delay: 1.4s; }
@keyframes packet { to { left: 100%; } }
@media (max-width: 700px) { .flow { grid-template-columns: 1fr; gap: 6px; } .flow .wire { height: 16px; width: 1px; margin-left: 8px; } .flow .wire::after { display: none; } }

/* sections */
section { padding-block: 104px 120px; }
.sec-tight { padding-block: 16px 112px; }
.sec-flush { padding-top: 0; }
.sec-head.close { margin-bottom: 28px; }
.sub-small { font-size: 16px !important; }
.kicker { display: flex; align-items: center; gap: 10px; font: 500 15px var(--f-ui); color: var(--accent); margin-bottom: 16px; }
.kicker::before { content: ""; width: 18px; height: 2px; border-radius: 2px; background: var(--accent); }
.sec-head { max-width: 760px; margin-bottom: 52px; }
.sec-head h2 { font-size: clamp(34px, 4.6vw, 54px); line-height: 1.04; }
.sec-head p { margin-top: 18px; color: var(--muted); font-size: 19px; max-width: 36em; }
@media (max-width: 700px) { section { padding-block: 72px; } }

/* findings wall */
.wall { display: grid; grid-template-columns: minmax(0, 1.1fr) repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto; gap: 14px; }
.finding.hard { grid-row: span 2; padding: 30px; align-content: space-between; }
.finding.hard h3 { font-size: clamp(26px, 2.6vw, 34px); line-height: 1.1; letter-spacing: -0.02em; }
.finding.hard p { font-size: 17px; }
.finding.hard > div:first-child { display: grid; gap: 14px; }
.blocked { display: flex; align-items: center; gap: 10px; margin-top: 18px; padding: 12px 14px; border-radius: var(--r-control); background: rgba(255,123,134,.1); color: var(--crit); font: 500 14px var(--f-mono); }
.blocked i { width: 8px; height: 8px; border-radius: 50%; background: var(--crit); box-shadow: 0 0 10px var(--crit); animation: blink 2s ease-in-out infinite; }
.finding { position: relative; overflow: hidden; }
.finding::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity 240ms var(--ease);
  background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%), rgba(126,166,255,.12), transparent 70%); }
.finding:hover::before { opacity: 1; }
.finding { padding: 20px; border-radius: var(--r-card); background: var(--glass); border: 1px solid var(--edge); display: grid; gap: 8px; align-content: start; min-width: 0; }
.finding .sev { display: flex; justify-content: space-between; gap: 10px; font: 500 13px var(--f-mono); }
.finding .sev em { font-style: normal; color: var(--muted); overflow-wrap: anywhere; }
.finding h3 { font-size: 19px; line-height: 1.25; letter-spacing: -0.01em; }
.finding p { color: var(--muted); font-size: 15px; }
.c-crit { color: var(--crit); } .c-warn { color: var(--warn); } .c-pass { color: var(--pass); } .c-unk { color: var(--unk); } .c-proven { color: var(--proven); }
.finding.hard { border-color: rgba(255,123,134,.45); background: linear-gradient(180deg, rgba(255,123,134,.08), var(--glass)); }
@media (max-width: 960px) { .wall { grid-template-columns: repeat(2, minmax(0, 1fr)); } .finding.hard { grid-row: auto; grid-column: 1 / -1; } }
@media (max-width: 620px) { .wall { grid-template-columns: 1fr; } .finding.hard { grid-column: auto; } }
.wall-note { margin-top: 20px; color: var(--muted); font-size: 15px; }

/* steps spine */
.steps { display: grid; gap: 96px; counter-reset: step; }
.step { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 56px; align-items: center; }
.step:nth-child(even) .step-copy { order: 2; }
.step-copy { min-width: 0; }
.step-no { display: inline-flex; align-items: center; gap: 12px; font: 500 15px var(--f-ui); color: var(--muted); }
.step-no::before { counter-increment: step; content: "0" counter(step); display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(126,166,255,.5); color: var(--accent); background: rgba(37,99,235,.12); }
.step h3 { font-size: clamp(28px, 3.2vw, 38px); line-height: 1.1; margin-top: 18px; }
.step p { margin-top: 14px; color: var(--muted); }
.step ul { list-style: none; padding: 0; margin: 20px 0 0; display: grid; gap: 10px; font-size: 16px; }
.step li { display: flex; gap: 10px; }
.step li::before { content: "✓"; color: var(--pass); flex: none; }
.shot { min-width: 0; }
.shot .window { animation: none; }
@media (max-width: 900px) { .step { grid-template-columns: 1fr; gap: 28px; } .step:nth-child(even) .step-copy { order: 0; } .steps { gap: 72px; } }

/* comparison */
.compare { overflow-x: auto; border-radius: var(--r-card); border: 1px solid var(--edge); background: var(--glass); }
.compare table { width: 100%; border-collapse: collapse; min-width: 640px; font-size: 16px; }
.compare th, .compare td { padding: 16px 20px; text-align: left; border-bottom: 1px solid var(--hair); vertical-align: top; }
.compare thead th { font: 500 14px var(--f-ui); color: var(--muted); }
.compare thead th.us { color: var(--text); }
.compare td.us { background: rgba(37,99,235,.08); color: var(--text); }
.compare tbody tr:last-child td, .compare tbody tr:last-child th { border-bottom: 0; }
.compare tbody th { font-weight: 500; }
.compare .no { color: #6C7893; }
.compare .yes::before { content: "✓ "; color: var(--pass); }

/* privacy ledger */
.ledger { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.ledger > div { padding: 26px; border-radius: var(--r-card); border: 1px solid var(--edge); background: var(--glass); min-width: 0; }
.ledger h3 { font-size: 20px; margin-bottom: 14px; }
.ledger ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ledger li { display: grid; grid-template-columns: 22px 1fr; gap: 8px; color: var(--muted); }
.ledger li b { color: var(--text); font-weight: 500; }
.ledger .never li::before { content: "✕"; color: var(--crit); }
.ledger .keep li::before { content: "✓"; color: var(--pass); }
@media (max-width: 780px) { .ledger { grid-template-columns: 1fr; } }

.promises { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.promises { margin-top: 40px; gap: 28px; }
.promises div { padding-top: 18px; border-top: 1px solid var(--hair); min-width: 0; }
.promises b { display: block; font: 600 17px var(--f-display); margin-bottom: 6px; }
.promises span { color: var(--muted); font-size: 15px; }
@media (max-width: 960px) { .promises { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .promises { grid-template-columns: 1fr; } }

/* stacks */
.stacks { display: flex; flex-wrap: wrap; gap: 10px; }
.stacks span { padding: 10px 16px; border-radius: 999px; border: 1px solid var(--edge); background: var(--glass); font: 500 15px var(--f-mono); }
.stacks span.dim { color: var(--muted); }

/* faq */
.faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 56px; margin: 0; }
.faq div { min-width: 0; padding-top: 20px; border-top: 1px solid var(--hair); }
.faq dt { font: 600 19px/1.3 var(--f-display); margin-bottom: 10px; }
.faq dd { margin: 0; color: var(--muted); max-width: 34em; }
@media (max-width: 760px) { .faq { grid-template-columns: 1fr; gap: 28px; } }

/* final cta */
.final { position: relative; border-radius: 22px; border: 1px solid var(--edge); padding: clamp(28px, 6vw, 72px); overflow: hidden;
  background: radial-gradient(120% 140% at 0% 0%, rgba(37,99,235,.28), transparent 55%), radial-gradient(120% 140% at 100% 100%, rgba(124,58,237,.28), transparent 55%), var(--bg-2); }
.final-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.final h2 { font-size: clamp(36px, 5vw, 60px); line-height: 1.02; }
.final p.sub { margin-top: 16px; color: var(--muted); font-size: 18px; }
@media (max-width: 900px) { .final-grid { grid-template-columns: 1fr; gap: 28px; } }

footer { padding-block: 48px 64px; color: var(--muted); font-size: 14px; }
footer .wrap { display: flex; flex-wrap: wrap; gap: 16px 28px; align-items: center; }
footer .wordmark { font-size: 18px; }
footer .sp { margin-left: auto; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0s !important; animation-delay: 0s !important; transition-duration: 0s !important; scroll-behavior: auto !important; }
  .flow .wire::after, .field::before, .field::after { animation: none !important; }
  .spin, .pulse, .eyebrow i { animation: none !important; }
}

/* entrance animations slide elements in from the side; they must never
   widen the page (a horizontal scrollbar on tablets) */
html, body { overflow-x: clip; }

/* former inline style attributes */
[data-s="s0"]{stroke:var(--accent)}
[data-s="s1"]{--d:2.2s}
[data-s="s2"]{--d:.5s}
[data-s="s3"]{--d:.8s}
[data-s="s4"]{--d:1.1s}
[data-s="s5"]{--d:1.4s}
[data-s="s6"]{--d:1.7s}
[data-s="s7"]{--d:1.9s}
[data-s="s8"]{--d:.9s}
[data-s="s9"]{--d:1.2s}
[data-s="s10"]{--d:1.5s}
[data-s="s11"]{--d:1.8s}
[data-s="s12"]{--d:.2s}
[data-s="s13"]{--d:.4s}
[data-s="s14"]{--d:.7s}
[data-s="s15"]{--d:1.3s}
[data-s="s16"]{--d:1.6s}
[data-s="s17"]{transform:translate(812px,146px)}
[data-s="s18"]{fill:var(--bg-2)}
[data-s="s19"]{--d:.3s}
[data-s="s20"]{--d:1s}
[data-s="s21"]{--d:2.1s}
[data-s="s22"]{--d:2.7s}
[data-s="s23"]{--d:2.8s}
[data-s="s24"]{--d:3.4s}
[data-s="s25"]{--d:3.5s}
[data-s="s26"]{--d:.6s}
[data-s="s27"]{--d:3.2s}
[data-s="s28"]{fill:var(--hair)}
[data-s="s29"]{--d:.30s}
[data-s="s30"]{--d:.35s}
[data-s="s31"]{--d:.40s}
[data-s="s32"]{--d:.45s}
[data-s="s33"]{--d:.50s}
[data-s="s34"]{--d:.55s}
[data-s="s35"]{--d:.60s}
[data-s="s36"]{--d:.65s}
[data-s="s37"]{--d:.70s}
[data-s="s38"]{--d:.75s}
[data-s="s39"]{--d:.80s}
[data-s="s40"]{--d:.85s}
[data-s="s41"]{--d:.90s}
[data-s="s42"]{--d:.95s}
[data-s="s43"]{--d:1.00s}
[data-s="s44"]{--d:1.05s}
[data-s="s45"]{--d:1.10s}
[data-s="s46"]{--d:1.15s}
[data-s="s47"]{--d:1.20s}
[data-s="s48"]{--d:1.25s}
[data-s="s49"]{filter:drop-shadow(0 8px 20px rgba(0,0,0,.5))}
