/* Kalryn site v2 (dark) — Night / Deep Navy / Cobalt / Ice / Frost. Public pages only: home, founder, faq. */
:root {
  --cobalt: #315BFF;
  --cobalt-h: #4A6FFF;
  --ice: #BFEAFF;
  --navy: #101828;
  --night: #0A0F1C;
  --night-2: #0B1220;
  --frost: #F7FAFF;
  --text: #F7FAFF;
  --text-2: rgba(226, 236, 255, .68);
  --text-3: rgba(226, 236, 255, .44);
  --line: rgba(191, 234, 255, .10);
  --line-2: rgba(191, 234, 255, .16);
  --r: 8px;
  --r-card: 14px;
  --wrap: 1200px;
  --gut: clamp(20px, 4vw, 40px);
  --sec: clamp(88px, 11vw, 144px);
  --ease: cubic-bezier(.22, .7, .12, 1);
  --font: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 76px; background: var(--night); color-scheme: dark; }
body {
  margin: 0; background: var(--night); color: var(--text);
  font: 400 17px/1.55 var(--font); letter-spacing: -.011em;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'cv11', 'ss01', 'ss03'; overflow-x: clip;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4, p, figure, blockquote, dl, dd, ol, ul { margin: 0; padding: 0; }
ol, ul { list-style: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
:focus-visible { outline: 2px solid var(--cobalt); outline-offset: 3px; border-radius: 4px; }
::selection { background: var(--cobalt); color: #fff; }
.wrap { width: 100%; max-width: calc(var(--wrap) + var(--gut) * 2); margin: 0 auto; padding: 0 var(--gut); }
.skip { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--cobalt); color: #fff; padding: 10px 14px; border-radius: var(--r); }
.skip:focus { left: 8px; }

/* type */
.kicker { font-size: 13px; font-weight: 500; letter-spacing: .02em; color: var(--ice); margin-bottom: 20px; display: inline-flex; align-items: center; gap: 10px; }
.kicker::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--cobalt); box-shadow: 0 0 12px 2px rgba(49, 91, 255, .7); }
.h2 { font-size: clamp(34px, 4.4vw, 60px); line-height: 1.04; letter-spacing: -.042em; font-weight: 600; text-wrap: balance; max-width: 18ch; }
.lead { font-size: clamp(17px, 1.4vw, 19px); line-height: 1.55; color: var(--text-2); max-width: 44ch; text-wrap: pretty; }
.grad { background: linear-gradient(92deg, #6F8CFF 0%, var(--cobalt) 30%, #7FB0FF 70%, var(--ice) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.head { margin-bottom: clamp(40px, 5vw, 64px); }
.head-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px 64px; flex-wrap: wrap; }
.head-row .lead { padding-bottom: 6px; }

/* buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 46px; padding: 0 20px; border-radius: var(--r);
  background: var(--cobalt); color: #fff; font-size: 15px; font-weight: 500; letter-spacing: -.01em; white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 0 0 1px rgba(111, 140, 255, .6), 0 10px 30px -8px rgba(49, 91, 255, .75);
  transition: background .25s var(--ease), box-shadow .25s var(--ease);
}
.btn:hover { background: var(--cobalt-h); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 0 0 1px rgba(143, 168, 255, .8), 0 14px 40px -8px rgba(49, 91, 255, .9); }
.btn-lg { height: 52px; padding: 0 24px; font-size: 16px; }
.btn-ghost { background: rgba(255, 255, 255, .04); color: var(--text); box-shadow: inset 0 0 0 1px var(--line-2); }
.btn-ghost:hover { background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(191, 234, 255, .3); }
.link-arrow { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; }
.link-arrow::after { content: '→'; transition: transform .3s var(--ease); }
.link-arrow:hover::after { transform: translateX(4px); }

/* logo */
.wm { display: inline-flex; align-items: center; }
.logo { display: block; height: 24px; width: auto; fill: currentColor; }
.logo .logo-k { fill: var(--cobalt); }
.wm-lg .logo { height: 34px; }

/* nav */
.nav { position: fixed; inset: 0 0 auto; z-index: 50; color: var(--text); transition: background .4s var(--ease), box-shadow .4s var(--ease); }
.nav.is-solid { background: rgba(10, 15, 28, .72); backdrop-filter: saturate(1.5) blur(18px); -webkit-backdrop-filter: saturate(1.5) blur(18px); box-shadow: 0 1px 0 var(--line); }
.nav-in { max-width: calc(var(--wrap) + var(--gut) * 2); margin: 0 auto; padding: 0 var(--gut); height: 68px; display: flex; align-items: center; gap: 44px; }
.nav-links { display: flex; gap: 30px; font-size: 14px; }
.nav-links a { color: var(--text-2); transition: color .2s; }
.nav-links a:hover { color: var(--text); }
.nav-cta { margin-left: auto; display: flex; align-items: center; gap: 22px; font-size: 14px; }
.nav-mail { color: var(--text-2); }
.nav-mail:hover { color: var(--text); }
.nav-burger { display: none; width: 40px; height: 40px; position: relative; }
.nav-burger i { position: absolute; left: 10px; right: 10px; height: 1.5px; background: currentColor; transition: transform .3s var(--ease); }
.nav-burger i:first-child { top: 16px; } .nav-burger i:last-child { top: 23px; }
.nav.is-open .nav-burger i:first-child { transform: translateY(3.5px) rotate(45deg); }
.nav.is-open .nav-burger i:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.nav-sheet { display: none; }

/* reveal */
.js .rv { opacity: 0; transform: translateY(22px); transition: opacity 1s var(--ease), transform 1s var(--ease); }
.js .rv.in { opacity: 1; transform: none; }

/* sections */
.sec { padding: var(--sec) 0; position: relative; }
.sec + .sec { padding-top: 0; }

/* ---------- hero ---------- */
.hero { position: relative; overflow: hidden; isolation: isolate; padding: 132px 0 clamp(72px, 9vw, 112px); background: radial-gradient(120% 80% at 75% 10%, #111B3A 0%, var(--night-2) 45%, var(--night) 100%); }
.ribbon { position: absolute; z-index: 0; left: 22%; top: -10%; width: 96%; height: 120%; pointer-events: none; opacity: 0; transition: opacity 2s var(--ease); }
.ribbon.ready { opacity: .9; }
.hero-glow { position: absolute; z-index: 0; width: 900px; height: 900px; right: -200px; top: -260px; background: radial-gradient(closest-side, rgba(49, 91, 255, .22), transparent); pointer-events: none; }
.hero::after { content: ''; position: absolute; inset: auto 0 0; height: 160px; background: linear-gradient(transparent, var(--night)); z-index: 0; pointer-events: none; }
.hero-in { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 600px); gap: clamp(24px, 4vw, 56px); align-items: center; }
.hero-h { font-size: clamp(44px, 5.6vw, 80px); line-height: 1; letter-spacing: -.05em; font-weight: 600; max-width: 11.5ch; text-wrap: balance; }
.hero-sub { margin-top: 26px; font-size: clamp(17px, 1.45vw, 20px); color: var(--text-2); max-width: 40ch; }
.cta-row { margin-top: 36px; display: flex; flex-wrap: wrap; gap: 12px; }
.hero-facts { margin-top: 40px; display: flex; flex-wrap: wrap; gap: 10px 28px; font-size: 14px; color: var(--text-3); }
.hero-facts li { display: inline-flex; align-items: center; gap: 10px; }
.hero-facts li::before { content: ''; width: 14px; height: 1px; background: var(--cobalt); }

/* ---------- node flow ---------- */
.flow { position: relative; }
.flow-svg { display: block; width: 100%; height: auto; overflow: visible; font-family: var(--font); }
.fl-edges path { fill: none; stroke: rgba(191, 234, 255, .05); stroke-width: 1.5; stroke-linecap: round; }
.fl-edges path.dash, .fl-live path.dash { stroke-dasharray: 4 6; }
.fl-live path { fill: none; stroke-width: 1.5; stroke-linecap: round; }
.fl-sparks circle { fill: #fff; filter: drop-shadow(0 0 6px #7E9BFF) drop-shadow(0 0 2px #fff); }
.fl-dust circle { fill: var(--ice); }
.fl-node .box { fill: rgba(16, 24, 40, .82); stroke: rgba(191, 234, 255, .14); stroke-width: 1; transition: stroke .5s, fill .5s; }
.fl-node.on .box { stroke: rgba(111, 140, 255, .85); fill: rgba(22, 34, 72, .9); filter: drop-shadow(0 0 18px rgba(49, 91, 255, .38)); }
.fl-node.done .box { stroke: rgba(191, 234, 255, .22); fill: rgba(16, 24, 40, .86); filter: none; }
.fl-node .ic { fill: none; stroke: #8FA9FF; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.fl-node .t { fill: var(--text); font-size: 13.5px; font-weight: 500; letter-spacing: -.01em; }
.fl-node .t.c { text-anchor: middle; font-size: 12.5px; }
.fl-node .lbl { fill: var(--text-3); font-size: 11.5px; }
.fl-lead rect, .fl-stage rect, .fl-day rect { fill: rgba(191, 234, 255, .04); stroke: rgba(191, 234, 255, .1); }
.fl-lead circle { fill: var(--cobalt); }
.fl-lead .av { fill: #fff; font-size: 8.5px; font-weight: 600; text-anchor: middle; }
.fl-lead .lt { fill: #fff; font-size: 12px; font-weight: 500; }
.fl-lead .ls { fill: var(--text-3); font-size: 10.5px; }
.fl-stage .st { fill: var(--text-3); font-size: 11.5px; }
.fl-stage .sv { fill: var(--ice); font-size: 12px; font-weight: 500; text-anchor: end; }
.fl-node .timer { fill: #fff; font-size: 36px; font-weight: 500; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.fl-node .ok { fill: var(--ice); font-size: 12px; text-anchor: end; }
.fl-day text { fill: var(--text-2); font-size: 12px; text-anchor: middle; }
.fl-day.on rect { fill: rgba(49, 91, 255, .2); stroke: rgba(111, 140, 255, .6); }
.fl-day.on text { fill: #fff; }
.fl-ok rect { fill: rgba(49, 91, 255, .92); }
.fl-ok text { fill: #fff; font-size: 12px; font-weight: 500; text-anchor: middle; }

/* ---------- statement ---------- */
.statement-sec { padding: clamp(64px, 8vw, 104px) 0 var(--sec); }
.statement { font-size: clamp(30px, 4.2vw, 58px); line-height: 1.12; letter-spacing: -.04em; font-weight: 500; max-width: 20ch; text-wrap: balance; }
.js .statement[data-words] .w { color: rgba(226, 236, 255, .16); transition: color .4s; }
.js .statement[data-words] .w.on { color: var(--text); }

/* ---------- moves ---------- */
.moves { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.moves li { position: relative; padding: 32px 28px 36px; border-radius: var(--r-card); background: linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .01)); box-shadow: inset 0 0 0 1px var(--line); overflow: hidden; }
.moves li::before { content: ''; position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg, transparent, rgba(111, 140, 255, .7), transparent); }
.mv-n { font-size: 13px; color: var(--cobalt); font-variant-numeric: tabular-nums; font-weight: 500; }
.moves h3 { margin-top: 44px; font-size: 24px; letter-spacing: -.03em; font-weight: 600; }
.moves p { margin-top: 10px; color: var(--text-2); font-size: 16px; max-width: 30ch; }

/* ---------- gallery ---------- */
.industries { overflow: hidden; }
.gal { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.gal::-webkit-scrollbar { display: none; }
.gal-track { display: flex; gap: 16px; padding: 0 max(var(--gut), calc((100vw - var(--wrap)) / 2)); width: max-content; }
.shot { position: relative; flex: none; width: min(64vw, 900px); aspect-ratio: 16 / 9; border-radius: var(--r-card); overflow: hidden; background: var(--navy); scroll-snap-align: center; box-shadow: inset 0 0 0 1px var(--line); }
.shot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.03); transition: transform 1.6s var(--ease); }
.shot:hover img { transform: scale(1); }
.shot::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(10, 15, 28, .9)), linear-gradient(90deg, rgba(10, 15, 28, .45), transparent 55%); pointer-events: none; }
.shot-tx { position: absolute; z-index: 2; left: 0; bottom: 0; padding: clamp(22px, 3vw, 36px); max-width: 520px; }
.shot-tx span { font-size: 12px; color: var(--ice); font-variant-numeric: tabular-nums; letter-spacing: .08em; }
.shot h3 { margin-top: 8px; font-size: clamp(24px, 2.4vw, 34px); letter-spacing: -.035em; font-weight: 600; }
.shot p { margin-top: 6px; color: var(--text-2); font-size: 16px; }
.shot-end { width: min(40vw, 560px); background: radial-gradient(90% 90% at 80% 0%, rgba(49, 91, 255, .45), transparent 65%), var(--navy); }
.shot-end::after { display: none; }
.shot-end .btn { margin-top: 22px; }

/* ---------- pricing ---------- */
.plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.plan { position: relative; display: flex; flex-direction: column; padding: 32px 28px 28px; border-radius: var(--r-card); background: linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .01)); box-shadow: inset 0 0 0 1px var(--line); }
.plan-hi { background: radial-gradient(120% 60% at 50% 0%, rgba(49, 91, 255, .22), transparent 70%), linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .015)); box-shadow: inset 0 0 0 1px rgba(111, 140, 255, .5), 0 30px 80px -40px rgba(49, 91, 255, .6); }
.plan-tag { position: absolute; top: 32px; right: 28px; font-size: 12px; color: var(--ice); padding: 4px 10px; border-radius: 999px; box-shadow: inset 0 0 0 1px rgba(191, 234, 255, .3); }
.pk-name { font-size: 20px; font-weight: 600; letter-spacing: -.02em; }
.plan-for { margin-top: 6px; color: var(--text-2); font-size: 15px; }
.price { margin-top: 28px; font-size: 14px; color: var(--text-3); display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.price b { font-size: 44px; color: var(--text); font-weight: 600; letter-spacing: -.045em; line-height: 1; font-variant-numeric: tabular-nums; }
.price span { flex-basis: 100%; font-size: 17px; color: var(--text-2); font-weight: 500; letter-spacing: -.01em; }
.plan ul { margin: 26px 0 30px; padding-top: 22px; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 11px; font-size: 15px; flex: 1; }
.plan li { position: relative; padding-left: 24px; color: var(--text-2); }
.plan li::before { content: ''; position: absolute; left: 1px; top: .42em; width: 11px; height: 6px; border: solid var(--cobalt); border-width: 0 0 1.5px 1.5px; transform: rotate(-45deg); }
.plan .btn { width: 100%; }
.plans-note { margin-top: 28px; font-size: 15px; color: var(--text-3); text-align: center; }
.plans-note a { color: var(--text); border-bottom: 1px solid var(--line-2); margin-left: 4px; }
.plans-note a:hover { border-color: var(--cobalt); }

/* ---------- founder line ---------- */
.fline-in { display: flex; justify-content: space-between; align-items: center; gap: 20px 40px; flex-wrap: wrap; padding: 28px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--text-2); font-size: 16px; }
.fline b { color: var(--text); font-weight: 600; }
.fline nav { display: flex; gap: 28px; font-size: 15px; flex-wrap: wrap; }
.fline nav a { color: var(--text-2); }
.fline nav a:hover { color: var(--text); }

/* ---------- final cta ---------- */
.cta { position: relative; min-height: min(92svh, 860px); display: flex; align-items: flex-end; overflow: hidden; isolation: isolate; margin-top: var(--sec); }
.cta-media { position: absolute; inset: 0; z-index: -1; }
.cta-media img { width: 100%; height: 100%; object-fit: cover; object-position: 30% 50%; transform: scale(1.08); }
.cta-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, var(--night) 0%, rgba(10, 15, 28, .2) 30%, rgba(10, 15, 28, .55) 70%, var(--night) 100%), linear-gradient(90deg, rgba(10, 15, 28, .1), rgba(10, 15, 28, .75)); }
.cta-in { display: flex; flex-direction: column; align-items: flex-end; text-align: right; padding-bottom: clamp(72px, 10vw, 128px); }
.cta-h { font-size: clamp(40px, 5.6vw, 84px); line-height: 1; letter-spacing: -.05em; font-weight: 600; max-width: 13ch; text-wrap: balance; }
.cta-sub { margin-top: 22px; max-width: 40ch; color: var(--text-2); font-size: clamp(17px, 1.4vw, 19px); }
.cta .cta-row { justify-content: flex-end; }
.cta::after, .shot::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .07; mix-blend-mode: overlay; z-index: 1;
  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='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* ---------- footer ---------- */
.ft { position: relative; background: var(--night); color: var(--text-2); padding: 80px 0 0; overflow: hidden; border-top: 1px solid var(--line); }
.ft-top { display: grid; grid-template-columns: 1fr 2fr; gap: 64px; }
.ft-brand .wm { color: var(--text); }
.ft-brand p { margin: 18px 0 26px; max-width: 30ch; font-size: 15px; }
.ft-cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.ft-cols h4 { font-size: 13px; font-weight: 500; color: var(--text); margin-bottom: 16px; }
.ft-cols a { display: block; font-size: 14px; padding: 5px 0; color: var(--text-3); transition: color .2s; }
.ft-cols a:hover { color: var(--text); }
.ft-bot { margin-top: 72px; padding: 22px 0; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 16px; font-size: 13px; color: var(--text-3); flex-wrap: wrap; }
.ft-mark { max-width: 1400px; margin: 8px auto 0; padding: 0 var(--gut); transform: translateY(22%); }
.ft-mark .logo { width: 100%; height: auto; fill: rgba(191, 234, 255, .04); }
.ft-mark .logo .logo-k { fill: rgba(49, 91, 255, .14); }

/* ---------- founder page ---------- */
.fp-hero { padding: 140px 0 var(--sec); background: radial-gradient(90% 70% at 80% 0%, #111B3A, var(--night) 70%); }
.fp-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 6vw, 88px); align-items: end; }
.page-h { font-size: clamp(48px, 7vw, 104px); line-height: .95; letter-spacing: -.055em; font-weight: 600; text-wrap: balance; }
.page-sub { margin-top: 24px; font-size: clamp(18px, 1.6vw, 21px); color: var(--text-2); max-width: 40ch; }
.fp-photo { aspect-ratio: 4 / 5; border-radius: var(--r-card); overflow: hidden; background: var(--navy); box-shadow: inset 0 0 0 1px var(--line); position: relative; }
.fp-photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.25) contrast(1.06) brightness(.92); }
.fp-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(10, 15, 28, .7)), radial-gradient(80% 60% at 100% 0%, rgba(49, 91, 255, .25), transparent); }
.facts { margin-top: 40px; display: flex; flex-wrap: wrap; gap: 10px 28px; font-size: 14px; color: var(--text-3); }
.facts li { display: inline-flex; align-items: center; gap: 10px; }
.facts li::before { content: ''; width: 14px; height: 1px; background: var(--cobalt); }
.chaps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.chap { padding: 32px 28px 36px; border-radius: var(--r-card); background: linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .01)); box-shadow: inset 0 0 0 1px var(--line); }
.chap-n { font-size: 13px; color: var(--cobalt); font-weight: 500; }
.chap h3 { margin-top: 36px; font-size: 22px; letter-spacing: -.03em; font-weight: 600; line-height: 1.2; }
.chap p { margin-top: 12px; color: var(--text-2); font-size: 16px; }
.fp-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: end; }
.fp-links { display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.fp-links a { display: flex; justify-content: space-between; padding: 18px 0; border-bottom: 1px solid var(--line); font-size: 17px; transition: color .2s, padding .3s var(--ease); }
.fp-links a span { color: var(--text-3); font-size: 14px; }
.fp-links a:hover { color: var(--ice); padding-left: 6px; }

/* ---------- faq page ---------- */
.fq-hero { padding: 140px 0 56px; background: radial-gradient(80% 90% at 85% 0%, #111B3A, var(--night) 70%); }
.fq-layout { display: grid; grid-template-columns: 240px 1fr; gap: clamp(32px, 6vw, 80px); align-items: start; }
.fq-side { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 2px; }
.fq-tab { display: flex; justify-content: space-between; align-items: center; text-align: left; padding: 9px 12px; border-radius: var(--r); font-size: 15px; color: var(--text-2); transition: background .2s, color .2s; }
.fq-tab i { font-style: normal; font-size: 12px; color: var(--text-3); font-variant-numeric: tabular-nums; }
.fq-tab:hover { background: rgba(255, 255, 255, .04); color: var(--text); }
.fq-tab[aria-pressed="true"] { background: rgba(49, 91, 255, .16); color: #fff; box-shadow: inset 0 0 0 1px rgba(111, 140, 255, .45); }
.fq-help { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); font-size: 14px; color: var(--text-3); }
.fq-help a { display: block; margin-top: 10px; color: var(--ice); }
.fq-list { border-top: 1px solid var(--line); }
.fq { border-bottom: 1px solid var(--line); }
.fq[hidden] { display: none; }
.fq summary { list-style: none; display: grid; grid-template-columns: 1fr 22px; gap: 16px; align-items: center; padding: 22px 0; cursor: pointer; }
.fq summary::-webkit-details-marker { display: none; }
.fq-n { display: none; }
.fq-q { font-size: clamp(17px, 1.5vw, 20px); letter-spacing: -.02em; font-weight: 500; }
.fq-x { position: relative; width: 14px; height: 14px; justify-self: end; }
.fq-x::before, .fq-x::after { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 1.5px; background: var(--text-2); transition: transform .35s var(--ease); }
.fq-x::after { transform: rotate(90deg); }
.fq[open] .fq-x::after { transform: rotate(0); }
.fq summary:hover .fq-q, .fq:target .fq-q { color: var(--ice); }
.fq-a { padding: 0 40px 26px 0; color: var(--text-2); max-width: 76ch; }
.fq-a p + p, .fq-a p + ul, .fq-a ul + p, .fq-a ol + p, .fq-a p + ol { margin-top: 12px; }
.fq-a ul, .fq-a ol { display: flex; flex-direction: column; gap: 8px; }
.fq-a ul li { position: relative; padding-left: 18px; }
.fq-a ul li::before { content: ''; position: absolute; left: 0; top: .7em; width: 6px; height: 6px; border-radius: 50%; background: var(--cobalt); }
.fq-a ol { counter-reset: n; }
.fq-a ol li { counter-increment: n; position: relative; padding-left: 24px; }
.fq-a ol li::before { content: counter(n) '.'; position: absolute; left: 0; color: var(--text-3); }
.fq-a b, .fq-a strong { color: var(--text); font-weight: 600; }
.fq-a a { color: var(--ice); border-bottom: 1px solid rgba(191, 234, 255, .3); }
.fq-cta { margin-top: var(--sec); padding: clamp(48px, 7vw, 80px) clamp(24px, 5vw, 64px); border-radius: var(--r-card); text-align: center; background: radial-gradient(70% 120% at 50% 0%, rgba(49, 91, 255, .35), transparent 70%), var(--navy); box-shadow: inset 0 0 0 1px var(--line); }
.fq-cta .h2 { margin: 0 auto; }
.fq-cta p { margin: 16px auto 0; color: var(--text-2); max-width: 44ch; }
.fq-cta .btn { margin-top: 28px; }

/* cookie banner (extra/consent.js) in the v2 palette */
html body .kxc { width: min(560px, calc(100% - 32px)); }
html body .kxc-in { border-radius: var(--r-card); background: rgba(16, 24, 40, .92); border: 1px solid var(--line-2); color: var(--text-2); font-family: var(--font); box-shadow: 0 30px 70px -20px rgba(0, 0, 0, .7); }
html body .kxc-in::before, html body .kxc-in::after { display: none; }
html body .kxc-ic { border-radius: 10px; background: rgba(49, 91, 255, .14); border-color: rgba(111, 140, 255, .4); color: var(--ice); box-shadow: none; }
html body .kxc-h { color: var(--text); font-family: var(--font); }
html body .kxc-btn { border-radius: var(--r); font-family: var(--font); }
html body .kxc-btn[data-c=granted] { background: var(--cobalt); border-color: var(--cobalt); color: #fff; box-shadow: 0 10px 30px -8px rgba(49, 91, 255, .75); }
html body .kxc-btn[data-c=granted]:hover { background: var(--cobalt-h); border-color: var(--cobalt-h); }
html body .kxc-btn[data-c=granted] i { border-color: #fff; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .nav-mail { display: none; }
  .hero-in { grid-template-columns: 1fr; }
  .flow { max-width: 640px; }
  .ribbon { left: -10%; top: 35%; width: 170%; height: 75%; }
}
@media (max-width: 900px) {
  .nav-links, .nav-cta .btn { display: none; }
  .nav-burger { display: block; }
  .nav-sheet:not([hidden]) { display: flex; flex-direction: column; padding: 4px var(--gut) 24px; background: rgba(10, 15, 28, .96); box-shadow: 0 1px 0 var(--line); }
  .nav.is-open { background: rgba(10, 15, 28, .96); }
  .nav-sheet a { padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 18px; color: var(--text-2); }
  .nav-sheet .btn { margin-top: 18px; border: 0; color: #fff; font-size: 16px; }
  .moves, .plans, .chaps { grid-template-columns: 1fr; }
  .moves h3, .chap h3 { margin-top: 24px; }
  .shot { width: 86vw; }
  .shot-end { width: 86vw; aspect-ratio: 4 / 3; }
  .ft-top { grid-template-columns: 1fr; gap: 44px; }
  .ft-cols { grid-template-columns: 1fr 1fr; gap: 28px 24px; }
  .fp-grid, .fp-contact { grid-template-columns: 1fr; }
  .fp-photo { max-width: 440px; }
  .fq-layout { grid-template-columns: 1fr; }
  .fq-side { position: static; flex-direction: row; flex-wrap: wrap; gap: 6px; }
  .fq-tab { box-shadow: inset 0 0 0 1px var(--line); font-size: 14px; gap: 8px; }
  .fq-help { display: none; }
  .fq-a { padding-right: 0; }
  .cta-in { align-items: flex-start; text-align: left; }
  .cta .cta-row { justify-content: flex-start; }
}
@media (max-width: 560px) {
  body { font-size: 16px; }
  .hero { padding-top: 108px; }
  .hero-h { font-size: clamp(40px, 11.5vw, 54px); }
  .cta-row .btn { width: 100%; }
  .hero-facts { gap: 8px 18px; font-size: 13px; }
  .price b { font-size: 40px; }
  .shot p { font-size: 14px; }
  .shot-tx { padding: 18px; }
  .shot h3 { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js .rv { opacity: 1; transform: none; }
  .js .statement[data-words] .w { color: var(--text); }
}

/* node pulse (flow.js) */
.fl-node.pulse .box { animation: npulse 1.4s var(--ease); }
@keyframes npulse { 35% { stroke: rgba(191, 234, 255, .9); filter: drop-shadow(0 0 16px rgba(111, 140, 255, .6)); } }

/* v2.2 fixes: gallery fits one screen when pinned, tighter gaps, calmer ribbon, smaller footer mark */
.sec.industries { padding: 104px 0 64px; min-height: 100svh; display: flex; flex-direction: column; justify-content: center; }
.industries .head { margin-bottom: 36px; }
.shot { width: auto; height: min(54svh, 560px); }
.shot-end { width: auto; height: min(54svh, 560px); aspect-ratio: 4 / 5; }
.ribbon.ready { opacity: .62; }
.cta { margin-top: 0; }
.fline { padding-bottom: clamp(48px, 6vw, 80px); }
.ft-mark { max-width: 760px; transform: translateY(30%); }
.ft { padding-top: 64px; }
.ft-bot { margin-top: 56px; }
@media (max-width: 900px) {
  .sec.industries { min-height: 0; padding: 72px 0 56px; }
  .shot { width: 86vw; height: auto; }
  .shot-end { width: 86vw; height: auto; aspect-ratio: 4 / 3; }
}
.cta { min-height: min(84svh, 780px); }
.cta-media img { filter: brightness(1.35) contrast(1.05); }
.cta-shade { background: linear-gradient(180deg, var(--night) 0%, rgba(10, 15, 28, 0) 18%, rgba(10, 15, 28, .1) 60%, var(--night) 100%), linear-gradient(90deg, rgba(10, 15, 28, 0) 30%, rgba(10, 15, 28, .7)); }
@media (max-width: 560px) {
  .flow { margin: 12px calc(var(--gut) * -1 + 4px) 0; }
  .statement-sec { padding-top: 32px; }
  .hero { padding-bottom: 40px; }
}

/* ================= v2.3: deeper, neutral dark (matches the photos), white primary, white logo ================= */
:root {
  --night: #050608; --night-2: #08090c; --navy: #0e1014;
  --text: #f2f4f7; --text-2: rgba(235, 239, 245, .62); --text-3: rgba(235, 239, 245, .40);
  --line: rgba(255, 255, 255, .08); --line-2: rgba(255, 255, 255, .14);
  --ice: #c9d3df; --steel: #8e99a8;
}
html, body { background: var(--night); }
.logo .logo-k { fill: currentColor; }
.btn { background: #f2f4f7; color: #050608; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .12), 0 10px 30px -12px rgba(255, 255, 255, .25); }
.btn:hover { background: #fff; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .12), 0 14px 36px -12px rgba(255, 255, 255, .35); }
.btn-ghost { background: rgba(255, 255, 255, .03); color: var(--text); box-shadow: inset 0 0 0 1px var(--line-2); }
.btn-ghost:hover { background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .24); }
.grad { background: linear-gradient(95deg, #ffffff 0%, #c9d1dc 45%, #7c8796 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero { background: radial-gradient(90% 70% at 78% 30%, #111318 0%, #08090c 55%, var(--night) 100%); }
.hero-glow { background: radial-gradient(closest-side, rgba(200, 212, 226, .06), transparent); }
.ribbon.ready { opacity: .5; }
.hero-facts li::before, .facts li::before { background: rgba(255, 255, 255, .3); }
.moves li::before { background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .22), transparent); }
.mv-n, .chap-n { color: var(--steel); }
.plan li::before { border-color: var(--text-2); }
.plan-hi { background: radial-gradient(120% 60% at 50% 0%, rgba(255, 255, 255, .07), transparent 70%), linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .012)); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2), 0 30px 80px -40px rgba(0, 0, 0, .9); }
.plan-tag { color: var(--text-2); box-shadow: inset 0 0 0 1px var(--line-2); }
.plans-note a:hover { border-color: var(--text-2); }
.shot-tx span { color: var(--steel); }
.shot-end { background: radial-gradient(90% 90% at 80% 0%, rgba(200, 212, 226, .12), transparent 65%), var(--navy); }
.fp-hero, .fq-hero { background: radial-gradient(80% 80% at 85% 0%, #111318, var(--night) 70%); }
.fp-photo::after { background: linear-gradient(180deg, transparent 55%, rgba(5, 6, 8, .75)); }
.fq-tab[aria-pressed="true"] { background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2); }
.fq-a ul li::before { background: var(--steel); }
.fq-help a, .fq-a a { color: var(--text); }
.fq-cta { background: radial-gradient(70% 120% at 50% 0%, rgba(200, 212, 226, .1), transparent 70%), var(--navy); }
.nav.is-solid { background: rgba(5, 6, 8, .74); }
.fp-links a:hover, .fq summary:hover .fq-q, .fq:target .fq-q { color: #fff; }
.ft { padding-bottom: 0; }
.ft-bot { margin-top: 56px; padding: 22px 0 28px; }
:focus-visible { outline-color: var(--ice); }
::selection { background: #e8ecf2; color: #050608; }
html body .kxc-in { background: rgba(14, 16, 20, .94); }
html body .kxc-ic { background: rgba(255, 255, 255, .06); border-color: var(--line-2); color: var(--text); }
html body .kxc-btn[data-c=granted] { background: #f2f4f7; border-color: #f2f4f7; color: #050608; box-shadow: none; }
html body .kxc-btn[data-c=granted]:hover { background: #fff; border-color: #fff; }
html body .kxc-btn[data-c=granted] i { border-color: #050608; }

/* hero phone (markup and motion from the old home page, phone.css recoloured at build) */
.hero-phone { position: relative; display: flex; justify-content: center; }
@media (max-width: 900px) { .hero-phone { margin-top: 24px; } }
/* phone size: container width picks the scale defined in kxp.css (≤460px → --ps 1.06) */
.hero { padding-top: 96px; }

/* ================= home v4: light, Stripe-like (only body.p-home; founder and faq stay dark) ================= */
.p-home {
  --text: #0a0d14; --text-2: rgba(16, 24, 40, .66); --text-3: rgba(16, 24, 40, .46);
  --line: rgba(16, 24, 40, .09); --line-2: rgba(16, 24, 40, .14);
  --bg: #ffffff; --soft: #f6f8fc; --cobalt: #315bff; --cobalt-h: #2449e0;
  background: var(--bg); color: var(--text); color-scheme: light;
}
html:has(body.p-home) { background: #fff; color-scheme: light; }
.p-home ::selection { background: var(--cobalt); color: #fff; }
.p-home :focus-visible { outline-color: var(--cobalt); }

/* nav + logo */
.p-home .nav { color: #000; }
.p-home .nav.is-solid { background: rgba(255, 255, 255, .82); box-shadow: 0 1px 0 var(--line); }
.p-home .logo, .p-home .logo .logo-k { fill: #000; }
.p-home .nav-links a, .p-home .nav-mail { color: rgba(10, 13, 20, .68); }
.p-home .nav-links a:hover, .p-home .nav-mail:hover { color: #000; }
.p-home .nav-sheet:not([hidden]), .p-home .nav.is-open { background: rgba(255, 255, 255, .97); }
.p-home .nav-sheet a { color: var(--text); }

/* buttons */
.p-home .btn { background: var(--cobalt); color: #fff; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 1px 2px rgba(16, 24, 40, .12), 0 8px 22px -10px rgba(49, 91, 255, .7); }
.p-home .btn:hover { background: var(--cobalt-h); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 1px 2px rgba(16, 24, 40, .12), 0 12px 28px -10px rgba(49, 91, 255, .8); }
.p-home .btn-ghost { background: #fff; color: var(--text); box-shadow: inset 0 0 0 1px var(--line-2), 0 1px 2px rgba(16, 24, 40, .05); }
.p-home .btn-ghost:hover { background: var(--soft); box-shadow: inset 0 0 0 1px rgba(16, 24, 40, .22), 0 1px 2px rgba(16, 24, 40, .06); }
.p-home .link-arrow:hover { color: var(--cobalt); }

/* hero */
.p-home .hero { background: linear-gradient(180deg, #fff 0%, #fff 70%, var(--soft) 100%); padding: 112px 0 64px; }
.p-home .hero::after { display: none; }
.p-home .hero-glow { display: none; }
.p-home .ribbon { left: 34%; top: -14%; width: 84%; height: 112%; }
.p-home .ribbon.ready { opacity: 1; }
.p-home .grad { background: linear-gradient(95deg, var(--cobalt) 0%, #4f6dff 45%, #7a8cff 75%, #8fb6ff 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.p-home .hero-h { color: var(--text); }
.p-home .hero-facts { color: var(--text-3); }
.p-home .hero-facts li::before { background: var(--cobalt); }
.p-home .hero-in { grid-template-columns: minmax(0, 1fr) minmax(0, 560px); gap: clamp(16px, 3vw, 48px); }
.hero-phone { position: relative; width: 100%; }
.hero-phone .kxp { width: 100%; max-width: 560px; min-height: 0 !important; margin: 0 auto; transform-origin: 50% 0; }

/* phone caption + rail on a light page (the phone itself stays dark) */
.p-home .kxp-shadow { background: radial-gradient(closest-side, rgba(16, 24, 40, .35), transparent); }
.p-home .kxp-halo { background: radial-gradient(closest-side, rgba(79, 116, 255, .22), rgba(191, 234, 255, .14) 55%, transparent 72%) !important; }
.p-home .kxp-cn { color: var(--cobalt) !important; }
.p-home .kxp-cap b { color: var(--text) !important; font-family: var(--font) !important; }
.p-home .kxp-cap p { color: var(--text-2) !important; }
.p-home .kxp-rail { background: rgba(255, 255, 255, .86) !important; border-color: var(--line) !important; box-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 12px 32px -18px rgba(16, 24, 40, .35); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.p-home .kxp-rail button { color: var(--text-3) !important; }
.p-home .kxp-rail button.done { color: rgba(49, 91, 255, .8) !important; }
.p-home .kxp-rail button.on { color: var(--text) !important; background: rgba(49, 91, 255, .07) !important; }
.p-home .kxp-rail .kxp-ri { color: var(--text-2) !important; background: #fff !important; border-color: var(--line-2) !important; }
.p-home .kxp-rail .on .kxp-ri { color: #fff !important; background: linear-gradient(180deg, #4f74ff, var(--cobalt)) !important; border-color: var(--cobalt) !important; }
.p-home .kxp-rail .kxp-rb { background: var(--cobalt) !important; }

/* sections */
.p-home .statement-sec { background: var(--soft); padding-top: clamp(80px, 9vw, 120px); }
.p-home .js .statement[data-words] .w, .js .p-home .statement[data-words] .w { color: rgba(16, 24, 40, .14); }
.js .p-home .statement[data-words] .w.on { color: var(--text); }
.p-home #system { background: var(--soft); }
.p-home .moves li { background: #fff; box-shadow: 0 0 0 1px var(--line), 0 1px 2px rgba(16, 24, 40, .04), 0 24px 48px -32px rgba(16, 24, 40, .25); }
.p-home .moves li::before { background: linear-gradient(90deg, var(--cobalt), #8fb6ff 60%, transparent); }
.p-home .mv-n { color: var(--cobalt); }
.p-home .moves p, .p-home .lead { color: var(--text-2); }
.p-home .sec.industries { background: #fff; }
.p-home .shot { box-shadow: 0 30px 60px -36px rgba(16, 24, 40, .55); }
.p-home .shot-tx { color: #f7faff; }
.p-home .shot p { color: rgba(235, 240, 248, .78); }
.p-home .shot-tx span { color: #bfeaff; }
.p-home .shot-end { background: radial-gradient(120% 90% at 85% 0%, #8fb6ff 0%, var(--cobalt) 45%, #1d36b8 100%); box-shadow: 0 30px 60px -30px rgba(49, 91, 255, .7); }
.p-home .shot-end .btn { background: #fff; color: var(--cobalt); box-shadow: 0 8px 24px -10px rgba(0, 0, 0, .45); }
.p-home #pricing { background: var(--soft); padding-top: var(--sec); }
.p-home .plan { background: #fff; box-shadow: 0 0 0 1px var(--line), 0 1px 2px rgba(16, 24, 40, .04); }
.p-home .plan-hi { background: #fff; box-shadow: 0 0 0 1.5px var(--cobalt), 0 30px 60px -30px rgba(49, 91, 255, .45); }
.p-home .plan-hi::before { content: ''; position: absolute; inset: 0 0 auto; height: 4px; border-radius: var(--r-card) var(--r-card) 0 0; background: linear-gradient(90deg, var(--cobalt), #8fb6ff); }
.p-home .plan-tag { color: #fff; background: var(--cobalt); box-shadow: none; }
.p-home .price { color: var(--text-3); }
.p-home .price b { color: var(--text); }
.p-home .price span, .p-home .plan-for { color: var(--text-2); }
.p-home .plan li { color: var(--text-2); }
.p-home .plan li::before { border-color: var(--cobalt); }
.p-home .plans-note { color: var(--text-3); }
.p-home .plans-note a { color: var(--text); border-color: var(--line-2); }
.p-home .plans-note a:hover { color: var(--cobalt); border-color: var(--cobalt); }
.p-home .fline { background: var(--soft); }
.p-home .fline-in { color: var(--text-2); border-color: var(--line); }
.p-home .fline b { color: var(--text); }
.p-home .fline nav a { color: var(--text-2); }
.p-home .fline nav a:hover { color: var(--cobalt); }

/* final CTA stays a dark photo band */
.p-home .cta { color: #f7faff; background: #050608; }
.p-home .cta-sub { color: rgba(235, 240, 248, .74); }
.p-home .cta-shade { background: linear-gradient(180deg, rgba(5, 6, 8, .35) 0%, rgba(5, 6, 8, .1) 40%, rgba(5, 6, 8, .78) 100%), linear-gradient(90deg, rgba(5, 6, 8, 0) 30%, rgba(5, 6, 8, .72)); }
.p-home .cta .btn-ghost { background: rgba(255, 255, 255, .08); color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28); }
.p-home .cta .btn-ghost:hover { background: rgba(255, 255, 255, .14); }

/* footer */
.p-home .ft { background: #fff; color: var(--text-2); border-top: 1px solid var(--line); }
.p-home .ft-brand .wm { color: #000; }
.p-home .ft-cols h4 { color: var(--text); }
.p-home .ft-cols a { color: var(--text-2); }
.p-home .ft-cols a:hover { color: var(--cobalt); }
.p-home .ft-bot { color: var(--text-3); border-color: var(--line); }

/* cookie banner on the light page */
.p-home .kxc-in { background: rgba(255, 255, 255, .96) !important; border-color: var(--line-2) !important; color: var(--text-2) !important; box-shadow: 0 30px 60px -24px rgba(16, 24, 40, .35) !important; }
.p-home .kxc-h { color: var(--text) !important; }
.p-home .kxc-p a { color: var(--text) !important; }
.p-home .kxc-ic { background: rgba(49, 91, 255, .08) !important; border-color: rgba(49, 91, 255, .25) !important; color: var(--cobalt) !important; }
.p-home .kxc-btn:not([data-c=granted]) { color: var(--text) !important; border-color: var(--line-2) !important; }
.p-home .kxc-btn[data-c=granted] { background: var(--cobalt) !important; border-color: var(--cobalt) !important; color: #fff !important; }
.p-home .kxc-btn[data-c=granted] i { border-color: #fff !important; }

/* sizes */
@media (min-width: 1600px) { .p-home { --wrap: 1320px; } .p-home .hero-h { font-size: 88px; } }
@media (max-width: 1280px) { .p-home .hero-in { grid-template-columns: minmax(0, 1fr) minmax(0, 500px); } }
@media (max-width: 1100px) and (min-width: 901px) {
  .p-home .hero-in { grid-template-columns: minmax(0, 1fr) minmax(0, 440px); }
  .p-home .hero-h { font-size: clamp(44px, 5.4vw, 60px); }
}
@media (max-width: 900px) {
  .p-home .hero-in { grid-template-columns: 1fr; }
  .p-home .hero-copy { max-width: 640px; }
  .p-home .ribbon { left: -20%; top: 30%; width: 160%; height: 80%; opacity: .9; }
  .hero-phone { margin-top: 32px; }
}
@media (max-width: 560px) {
  .p-home .hero { padding-top: 96px; }
  .p-home .shot-end { aspect-ratio: 4 / 3; }
}

/* ================= nav v5: one grid with the page, one baseline, compact CTA ================= */
.nav { --nav-h: 72px; }
.nav-in { height: var(--nav-h); gap: 0; }
.nav .wm { flex: none; height: 32px; margin-right: 52px; }
.nav .logo { height: 22px; transform: translateY(1.5px); }           /* optical centre: the "y" descender sits below */
.nav-links { gap: 4px; font-size: 14.5px; line-height: 1; }
.nav-links a { position: relative; display: inline-flex; align-items: center; height: 36px; padding: 0 12px; border-radius: 8px; font-weight: 500; letter-spacing: -.005em; transition: color .2s, background .2s; }
.nav-links a::after { content: ''; position: absolute; left: 12px; right: 12px; bottom: 6px; height: 1.5px; border-radius: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); }
.nav-links a:hover::after, .nav-links a[aria-current]::after { transform: scaleX(1); }
.nav-cta { gap: 8px; font-size: 14.5px; line-height: 1; }
.nav-mail { display: inline-flex; align-items: center; height: 36px; padding: 0 12px; font-weight: 500; border-radius: 8px; transition: color .2s, background .2s; }
.btn-nav { height: 38px; padding: 0 14px 0 16px; margin-left: 4px; font-size: 14.5px; gap: 8px; }
.btn-nav .chev { width: 10px; height: 10px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.btn-nav .chev path { transition: transform .3s var(--ease), opacity .3s; }
.btn-nav .chev-l { opacity: 0; transform: translateX(-2px); }
.btn-nav:hover .chev-l { opacity: 1; transform: none; }
.btn-nav:hover .chev path:last-child { transform: translateX(2px); }
.nav-burger { width: 44px; height: 44px; margin-right: -13px; border-radius: 10px; }
.nav-burger i { left: 13px; right: 13px; }
.nav-burger i:first-child { top: 18px; } .nav-burger i:last-child { top: 25px; }
.nav.is-open .nav-burger i:first-child { transform: translateY(3.5px) rotate(45deg); }
.nav.is-open .nav-burger i:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.nav.is-solid { box-shadow: 0 1px 0 var(--line); }
html.nav-lock, html.nav-lock body { overflow: hidden; }

/* light home */
.p-home .nav-links a { color: rgba(10, 13, 20, .72); }
.p-home .nav-links a:hover, .p-home .nav-links a[aria-current] { color: #000; }
.p-home .nav-links a::after { background: var(--cobalt); }
.p-home .nav-mail { color: rgba(10, 13, 20, .72); }
.p-home .nav-mail:hover { color: #000; background: rgba(16, 24, 40, .04); }
.p-home .nav-burger:hover { background: rgba(16, 24, 40, .05); }
.p-home .nav.is-solid { background: rgba(255, 255, 255, .78); backdrop-filter: saturate(1.8) blur(20px); -webkit-backdrop-filter: saturate(1.8) blur(20px); box-shadow: 0 1px 0 rgba(16, 24, 40, .07); }

/* sizes */
@media (max-width: 1240px) { .nav .wm { margin-right: 28px; } .nav-links a { padding: 0 10px; } }
@media (max-width: 1100px) { .nav-mail { display: none; } }
@media (max-width: 900px) {
  .nav { --nav-h: 64px; }
  .nav-links, .nav-cta .btn-nav { display: none; }
  .nav-cta { margin-left: auto; }
  .nav-burger { display: block; }
  .nav-sheet:not([hidden]) { position: fixed; inset: var(--nav-h) 0 0; display: flex; flex-direction: column; justify-content: space-between; padding: 8px var(--gut) calc(28px + env(safe-area-inset-bottom)); overflow-y: auto; box-shadow: none; }
  .nav-sheet nav { display: flex; flex-direction: column; }
  .nav-sheet nav a { display: flex; align-items: center; height: 60px; padding: 0; font-size: 22px; font-weight: 600; letter-spacing: -.02em; border-bottom: 1px solid var(--line); }
  .nav-sheet-foot { display: flex; flex-direction: column; gap: 16px; padding-top: 24px; }
  .nav-sheet-foot .btn { width: 100%; margin: 0; }
  .nav-sheet-mail { text-align: center; font-size: 15px; color: var(--text-2); }
  .nav-sheet a.btn { border-bottom: 0; }
  .p-home .nav-sheet:not([hidden]) { background: #fff; }
  .p-home .nav-sheet nav a { color: var(--text); }
}
/* mobile sheet: the solid nav has backdrop-filter, which makes it the containing block for fixed children,
   so the sheet hangs from the bar with an explicit height instead of inset: 0 */
@media (max-width: 900px) {
  .nav-sheet:not([hidden]) { position: absolute; top: 100%; left: 0; right: 0; bottom: auto; height: calc(100dvh - var(--nav-h)); }
  .nav.is-open, .p-home .nav.is-open { background: #fff; backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: 0 1px 0 var(--line); }
}
@media (max-width: 900px) {
  .nav-sheet .nav-sheet-foot a { border-bottom: 0; padding: 0; height: auto; font-size: inherit; }
  .nav-sheet .nav-sheet-foot .btn, .p-home .nav-sheet .nav-sheet-foot .btn { height: 52px; color: #fff; font-size: 16px; font-weight: 500; }
  .nav-sheet .nav-sheet-mail { color: var(--text-2); font-size: 15px; }
}

/* ================= nav v7: proportions of the live kalryn.com and Stripe. Logo 26 px, text 14 px,
   links centred in the bar, one baseline for logo and text (--ly, measured), 64 px bar. ================= */
.nav { --nav-h: 64px; --ly: -2.4px; }   /* lowercase of the wordmark centred on the lowercase of the text */
.nav-in { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.nav .wm { justify-self: start; height: 26px; margin: 0; display: flex; align-items: center; }
.nav .logo { height: 26px; transform: translateY(var(--ly)); }
.nav-links { justify-self: center; gap: 4px; font-size: 14px; }
.nav-links a, .nav-mail { height: 36px; padding: 0 12px; font-size: 14px; font-weight: 500; letter-spacing: -.006em; border-radius: 8px; }
.nav-links a::after { display: none; }
.nav-cta { justify-self: end; gap: 6px; font-size: 14px; }
.btn-nav { height: 36px; padding: 0 12px 0 15px; margin-left: 2px; font-size: 14px; font-weight: 500; gap: 7px; letter-spacing: -.006em; }
.btn-nav .chev { width: 10px; height: 10px; transform: translateY(.5px); }
.p-home .nav-links a, .p-home .nav-mail { color: #4b5565; }
.p-home .nav-links a:hover, .p-home .nav-mail:hover { color: #0a0d14; background: rgba(16, 24, 40, .045); }
.p-home .nav-links a[aria-current] { color: #0a0d14; }
@media (max-width: 1180px) { .nav-mail { display: none; } }
@media (max-width: 1000px) { .nav-links a { padding: 0 9px; } }
@media (max-width: 900px) { .nav { --nav-h: 60px; --ly: 1px; } .nav-in { display: flex; } .nav .wm, .nav .logo { height: 24px; } }   /* logo alone: optical centre of the mark */

/* ================= leaks (v13): Anatomy of a leak → The research → Four leaks. Four fixes. → Proven tools. Your accounts.
   No frame around a chapter: its head (title, one-line caption, toggle) sits on the section background and every
   piece below is its own card, the way Proven tools is built (white, radius 22, hairline + soft depth).
   Layout and motion come from extra/leak.css + st.css (recoloured in build.py); leaks.js keeps both toggles in one mode
   and pauses card animations off-screen. ================= */
.p-home .leaks, .p-home #system.leaks { --hl: rgba(16, 24, 40, .07); --card-sh: 0 0 0 1px rgba(16, 24, 40, .07), 0 1px 2px rgba(16, 24, 40, .04), 0 24px 48px -32px rgba(16, 24, 40, .22);
  background: var(--soft); padding: clamp(96px, 10vw, 136px) 0 clamp(88px, 9vw, 128px); }
.p-home .leaks .kl { gap: clamp(72px, 8vw, 112px); }
.kx-off, .kx-off *, .kx-off *::before, .kx-off *::after { animation-play-state: paused !important; }
/* section heads */
.p-home .leaks :is(.kl-head, .st-head) { max-width: 760px; margin: 0 auto; text-align: center; padding: 0; }
.p-home .leaks .st-head { margin-bottom: clamp(40px, 5vw, 64px); }
.p-home .leaks :is(.kl-h2, .st-h2) { margin: 0; font-size: clamp(38px, 5vw, 68px) !important; line-height: 1.02 !important; font-weight: 600 !important; letter-spacing: -.045em !important; color: var(--text) !important; text-wrap: balance; }
.p-home .leaks :is(.kl-grad, .st-grad) { display: block; background: linear-gradient(95deg, var(--cobalt) 0%, #4f6dff 45%, #7a8cff 75%, #8fb6ff 100%); -webkit-background-clip: text; background-clip: text; color: transparent !important; -webkit-text-fill-color: transparent; }
.p-home .leaks :is(.kl-lead, .st-lead) { max-width: 600px; margin: 20px auto 0; color: var(--text-2); font-size: 18px; line-height: 1.6; }
.p-home .leaks .st { margin-top: clamp(72px, 8vw, 112px); padding: 0 !important; }
.p-home .leaks :is(.st, .st-top, .st-grid) { max-width: none !important; width: 100%; margin-left: 0; margin-right: 0; }
.p-home .leaks .st-top, .p-home .leaks .st-grid { gap: 14px !important; }
.p-home .leaks .st-grid { margin-top: 14px !important; }
/* a chapter is not a card */
.p-home .leaks .kl-card { background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; overflow: visible !important; }
.p-home .leaks .kl-card::before, .p-home .leaks .kl-card::after { display: none !important; }
/* chapter heads: title, one-line caption, toggle on the right */
.p-home .leaks :is(.kl-map-top, .kl-pf-top, .kr-head) { display: flex !important; flex-direction: row !important; align-items: flex-end !important; justify-content: space-between !important; gap: 16px 32px !important; margin: 0 0 clamp(20px, 2.4vw, 28px) !important; padding: 0 !important; }
.p-home .leaks :is(.kl-map-t, .kl-pf-top > div:not(.kl-mode)) { flex: 1; min-width: 0; }
.p-home .leaks .kr-head { flex-direction: column !important; align-items: flex-start !important; gap: 0 !important; }
.p-home .leaks :is(.kl-map-t b, .kl-pf-top h3, .kr-k) { display: block; margin: 0; font-size: clamp(26px, 2.6vw, 34px) !important; line-height: 1.12 !important; font-weight: 600 !important; letter-spacing: -.032em !important; color: var(--text) !important; text-transform: none !important; background: none; padding: 0; border: 0; box-shadow: none; }
.p-home .leaks .kr-k::before, .p-home .leaks .kr-k::after, .p-home .leaks .kr-k i { display: none !important; }
.p-home .leaks :is(.kl-map-t small, .kl-pf-top p, .kr-head p) { display: block; max-width: none; margin: 8px 0 0 !important; color: var(--text-2); font-size: 16px; line-height: 1.5; }
.p-home .leaks .kl-map-t small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: opacity .22s; }   /* one line in both modes: nothing below moves */
.p-home .leaks .kl-mode { flex: none; display: inline-grid !important; background: #fff !important; border: 0 !important; box-shadow: var(--card-sh) !important; }
.p-home .leaks .kl-card[data-mode="off"] .kl-mode-pill { background: #e5484d !important; border-color: #e5484d !important; box-shadow: 0 6px 16px -8px rgba(229, 72, 77, .8) !important; }
.p-home .leaks .kl-card[data-mode="on"] .kl-mode-pill { background: var(--cobalt) !important; border-color: var(--cobalt) !important; }
.p-home .leaks .kl-card .kl-mode-b.is-on { color: #fff !important; }
/* every piece is its own card */
.p-home .leaks :is(.kl-kpi3 > div, .kl-stagewrap, .kr-feat, .kr-s, .kr-quote, .kl-sl, .kl-lc, .st-own-card, .st-p, .st-g) {
  background: #fff !important; border: 0 !important; border-radius: 22px !important; box-shadow: var(--card-sh) !important; }
.p-home .leaks :is(.kl-kpi3 > div, .kl-sl) { border-radius: 18px !important; padding: 18px 20px !important; }
.p-home .leaks .kl-kpi3 { gap: 14px !important; }
.p-home .leaks .kl-kpi3 b { font-size: clamp(30px, 3vw, 42px) !important; letter-spacing: -.04em !important; }
.p-home .leaks .kl-kpi3 .bad b { color: #e5484d; }
.p-home .leaks .kl-ratio { margin: 14px 4px 0; }
.p-home .leaks .kl-ratio i { box-shadow: none; }
.p-home .leaks .kl-stagewrap { margin-top: 14px; padding: clamp(16px, 2.4vw, 32px); }
.p-home .leaks .kl-bin { background: none !important; border: 0 !important; box-shadow: none !important; }
.p-home .leaks :is(.kl-swipe, .kl-model) { margin-top: 14px; }
.p-home .leaks .kr-grid { gap: 14px !important; }
.p-home .leaks :is(.kr-feat, .kr-s) { padding: 24px !important; }
.p-home .leaks .kr-s b { font-size: clamp(36px, 3.6vw, 52px) !important; letter-spacing: -.04em !important; }
.p-home .leaks .kr-quote { margin-top: 14px; padding: 24px 28px !important; }
.p-home .leaks .kr-quote b { color: var(--cobalt) !important; }
.p-home .leaks .kl-calc { gap: 14px !important; margin-bottom: 14px !important; }
.p-home .leaks .kl-total { border-radius: 18px !important; box-shadow: var(--card-sh) !important; border: 0 !important; }
.p-home .leaks .kl-total b { font-size: clamp(32px, 3.4vw, 46px) !important; letter-spacing: -.04em !important; }
.p-home .leaks .kl-cards { gap: 14px !important; }
.p-home .leaks .kl-lc { padding: 10px !important; }
.p-home .leaks .kl-lc-art { border-radius: 14px !important; border: 0 !important; box-shadow: none !important; }
.p-home .leaks .kl-lc-body { padding: 16px 10px 10px !important; }
.p-home .leaks :is(.kl-lc, .kr-s, .st-own-card, .st-p, .st-g) { transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.p-home .leaks :is(.kl-lc, .kr-s):hover { transform: translateY(-2px); box-shadow: 0 0 0 1px rgba(16, 24, 40, .09), 0 1px 2px rgba(16, 24, 40, .05), 0 28px 56px -30px rgba(16, 24, 40, .3) !important; }
/* logos: original brand app icons, edge to edge in their tile */
.p-home .leaks :is(.st-app, .kl-ic) { background: none !important; padding: 0 !important; overflow: hidden; border-radius: 25% !important; box-shadow: 0 0 0 1px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .06) !important; }
.p-home .leaks :is(.st-app, .kl-ic) img { width: 100% !important; height: 100% !important; filter: none !important; }
.p-home .leaks .kl-ic svg { stroke: var(--text) !important; }
.p-home .leaks .kl-ic:not(:has(img)) { background: #fff !important; }
/* one typeface on the whole home page */
.p-home, .p-home *:not(svg):not(svg *), html body.p-home .kxp *:not(svg):not(svg *) { font-family: var(--font) !important; }
@media (max-width: 1180px) {   /* toggle on its own row, so the caption keeps one full line */
  .p-home .leaks .st-top { grid-template-columns: 1fr !important; }
  .p-home .leaks :is(.kl-map-top, .kl-pf-top) { flex-wrap: wrap !important; align-items: flex-start !important; }
  .p-home .leaks :is(.kl-map-t, .kl-pf-top > div:not(.kl-mode)) { flex: 1 1 100%; }
}
@media (max-width: 900px) {
  .p-home .leaks .kl-mode { flex: 1 1 100%; }
  .p-home .leaks .kl-map-t small { white-space: normal; min-height: 4.5em; }   /* three lines reserved on phones: both captions fit */
  .p-home .leaks .kl-stagewrap { padding: 12px; }
}

/* ================= leaks (v16): "Leads don't vanish. They leak." rebuilt the way Stripe builds a product section.
   Ink headline that runs on into a slate sentence; a bento of white cards (radius 8, hairline + soft chromatic depth);
   every card shows a piece of Kalryn's own interface on a coloured field, bleeding off the card edge like Stripe's
   product shots. Colour is information: warm field = a leak, cool field = the fixed system. Card A is the one loud
   moment: its saturated field turns from warm to cool when "With Kalryn" is on. Motion: anatomy.js (springs, counters,
   dot stream, pointer tilt of the panels), CSS scroll-driven parallax where supported; transform/opacity only. ================= */
@font-face { font-family: 'Inter Var'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/inter-opsz-latin.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter Var'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/inter-opsz-latin-ext.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Geist Var'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/geist-latin.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Geist Var'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/geist-latin-ext.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
.p-home {
  --font: 'Geist Var', 'Inter Var', 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --text: #0b1a33; --text-2: #4b5a73; --text-3: #7d8aa1;
  --sh-card: 0 0 0 1px rgba(11, 26, 51, .06), 0 1px 1px rgba(11, 26, 51, .03), 0 6px 14px -6px rgba(50, 50, 93, .1);
  --sh-ui: 0 30px 60px -12px rgba(50, 50, 93, .25), 0 18px 36px -18px rgba(0, 0, 0, .3);
  --sh-ui-s: 0 13px 27px -5px rgba(50, 50, 93, .25), 0 8px 16px -8px rgba(0, 0, 0, .3);
  --spring: linear(0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 31.5%, .937 38.1%, .968 41.8%, .991 45.7%, 1.006 50.1%, 1.015 55%, 1.017 63.9%, 1.001 85.9%, 1);
  --out: cubic-bezier(.23, 1, .32, 1);
  font-optical-sizing: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.p-home .leaks, .p-home #system.leaks { background: #f6f9fc; }
.p-home .leaks .kl { gap: 18px; }

/* section heads: ink sentence that runs on in slate, left aligned on the grid */
.p-home .leaks :is(.kl-head, .st-head) { max-width: 1120px; margin: 0 0 clamp(36px, 4vw, 56px) !important; text-align: left; }
.p-home .leaks :is(.kl-h2, .st-h2) { font-size: clamp(30px, 3.2vw, 46px) !important; line-height: 1.1 !important; font-weight: 500 !important; letter-spacing: -.028em !important; color: var(--text) !important; text-wrap: pretty; }
.p-home .leaks :is(.kl-h2, .st-h2) > span { color: var(--text-3); }
.p-home .leaks .st { margin-top: clamp(96px, 10vw, 140px) !important; }

/* ---------- the bento ---------- */
.an { --an-r: 8px; --pad: 28px; --red: #e5484d; --hair: rgba(11, 26, 51, .07); display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 18px; }
.an-c { position: relative; display: flex; flex-direction: column; min-width: 0; border-radius: var(--an-r); background: #fff; box-shadow: var(--sh-card); overflow: clip; isolation: isolate; }
.an-a { grid-column: span 8; grid-row: span 2; }
.an-b, .an-chatc, .an-callc, .an-clockc, .an-sevenc, .an-missc { grid-column: span 4; }
.an-fu { grid-column: span 8; }
.an-t { position: relative; z-index: 2; padding: var(--pad) var(--pad) 0; }
.an-c h3 { margin: 0; max-width: 23ch; font-size: clamp(20px, 1.5vw, 23px); line-height: 1.22; font-weight: 500; letter-spacing: -.018em; color: var(--text); text-wrap: balance; }
.an-cite { margin: 10px 0 0; max-width: 46ch; font-size: 12.5px; line-height: 1.5; color: var(--text-3); text-wrap: pretty; }
.an-cite a { color: inherit; text-decoration: underline; text-decoration-color: rgba(11, 26, 51, .22); text-underline-offset: 2px; transition: color .15s ease; }
.an-cite a:hover { color: var(--cobalt); text-decoration-color: currentColor; }

/* coloured field + interface panel bleeding off the right and bottom edges */
.an-fld { position: relative; flex: 1; display: flex; flex-direction: column; min-height: 0; margin-top: 22px; padding: 44px 0 0 calc(var(--pad) + 8px); perspective: 1200px; }
.an-fld::before { content: ''; position: absolute; inset: 0; z-index: -1; clip-path: polygon(0 26%, 100% 0, 100% 100%, 0 100%); background: var(--fld); }
.an-fld.warm { --fld: linear-gradient(125deg, #ffd7bf 0%, #ffb1a9 38%, #f6a3c8 70%, #cdb9ff 100%); }
.an-fld.cool { --fld: linear-gradient(125deg, #cdeaff 0%, #a9c4ff 40%, #b3a9ff 74%, #dccfff 100%); }
.an-pw { position: relative; flex: 1; display: flex; flex-direction: column; margin: 0 -26px -26px 0; }
.an-pan { position: relative; flex: 1; display: flex; flex-direction: column; padding-bottom: 38px; border-radius: 6px 0 0 0; background: #fff; box-shadow: var(--sh-ui-s); transform-origin: 0 0;
  transition: transform .7s var(--spring), box-shadow .5s var(--out); will-change: transform; }
.an-pan > :not(.an-pnh) { margin: 16px 44px 0 18px; }
.an-pnh { display: flex; align-items: center; gap: 10px; height: 40px; padding: 0 44px 0 18px; border-bottom: 1px solid var(--hair); font-size: 12.5px; white-space: nowrap; }
.an-pnh b { font-weight: 600; color: var(--text); }
.an-pnh > span:last-child { margin-left: auto; color: var(--text-3); font-variant-numeric: tabular-nums; }
.an-c:hover .an-pan { box-shadow: var(--sh-ui); }
.an-leg { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; font-size: 12px; color: var(--text-2); }
.an-leg i { display: inline-block; width: 9px; height: 9px; margin-right: -10px; border-radius: 2px; background: rgba(11, 26, 51, .1); }
.an-leg i.r { background: var(--red); } .an-leg i.b { background: var(--cobalt); border-radius: 50%; } .an-leg i.g { background: rgba(11, 26, 51, .24); border-radius: 50%; }

/* entrance: card, then its panel a beat later (one sequence per card, by column) */
.an-c { opacity: 0; transform: translateY(22px); transition: opacity .9s var(--out), transform .9s var(--out); }
.an-c.is-in { opacity: 1; transform: none; }
.an-c:not(.is-in) .an-pw { opacity: 0; transform: translate(16px, 20px); }
.an-pw { transition: opacity .9s var(--out) .18s, transform 1.1s var(--spring) .18s; }
/* scroll-driven: each panel settles up into its card while the card crosses the viewport */
@supports (animation-timeline: view()) { @media (prefers-reduced-motion: no-preference) { .an-pan { animation: an-lift linear both; animation-timeline: view(); animation-range: entry 10% cover 60%; } } }
@keyframes an-lift { from { translate: 0 26px; } to { translate: 0 0; } }

/* ---------- A: Anatomy of a leak ---------- */
.an-h { position: relative; z-index: 2; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px 24px; padding: var(--pad) var(--pad) 0; }
.an-a h3 { max-width: none; font-size: clamp(24px, 2vw, 30px); letter-spacing: -.024em; }
.an-cap { position: relative; margin: 8px 0 0; height: 1.5em; font-size: 15px; line-height: 1.5; color: var(--text-2); white-space: nowrap; }
.an-cap span, .an-col small span, .an-l span, .an-lg span { transition: opacity .3s ease; }
.an-a[data-mode="off"] :is(.an-cap, .an-col small, .an-l) .on, .an-a[data-mode="on"] :is(.an-cap, .an-col small, .an-l) .off { position: absolute; left: 0; right: 0; opacity: 0; pointer-events: none; }
.an-big { margin-top: 26px; padding: 72px 0 0 64px; }
.an-big::before { display: none; }
.an-big > i { position: absolute; inset: 0; z-index: -1; clip-path: polygon(0 30%, 100% 2%, 100% 100%, 0 100%); }
.an-f0 { background: linear-gradient(118deg, #ffc27a 0%, #ff7d5c 26%, #f44b6c 52%, #c24bf2 80%, #7c62ff 100%); }
.an-f1 { background: linear-gradient(118deg, #a5e6ff 0%, #59a8ff 26%, #315bff 54%, #4a33e6 80%, #2b1fb5 100%); opacity: 0; transition: opacity 1.1s ease-in-out; }
.an-a[data-mode="on"] .an-f1 { opacity: 1; }
.an-lines { background: repeating-linear-gradient(118deg, rgba(255, 255, 255, .22) 0 1px, transparent 1px 9px) !important;
  -webkit-mask: linear-gradient(90deg, #000, transparent 55%); mask: linear-gradient(90deg, #000, transparent 55%); }
.an-win { border-radius: 6px 0 0 0; box-shadow: var(--sh-ui); }
.an-d3 { display: inline-flex; gap: 5px; margin-right: 4px; } .an-d3 i { width: 9px; height: 9px; border-radius: 50%; background: rgba(11, 26, 51, .12); }
.an-win > .an-wf { flex: 1; min-height: 0; display: grid; grid-template-columns: 172px minmax(0, 1fr); gap: 30px; margin: 20px 44px 0 18px; }
.an-win > .an-note { margin-top: 14px; font-size: 12px; color: var(--text-3); }
.an-src { display: flex; flex-direction: column; min-height: 0; }
.an-k { display: block; margin: 0 0 10px; font-size: 12.5px; font-weight: 600; color: var(--text); }
.an-src ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 2px; }
.an-src li { display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 10px; height: 36px; padding: 0 8px 0 6px; border-radius: 6px; font-size: 13.5px; color: var(--text); transition: background-color .25s ease; }
.an-src li.is-hit { background: rgba(49, 91, 255, .07); }
.an-src li b { font-weight: 500; color: var(--text-3); font-variant-numeric: tabular-nums; }
.an-ic { width: 22px; height: 22px; border-radius: 6px; overflow: hidden; display: grid; place-items: center; background: #fff; box-shadow: 0 0 0 1px var(--hair); }
.an-ic img { display: block; width: 100%; height: 100%; }
.an-ic svg { width: 13px; height: 13px; fill: none; stroke: var(--text); stroke-width: 1.8; }
.an-sum { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--hair); }
.an-sum small, .an-sum em { display: block; font-size: 12px; font-style: normal; color: var(--text-2); }
.an-sum b { display: block; margin: 4px 0 3px; font-size: 40px; font-weight: 500; letter-spacing: -.04em; line-height: 1; color: var(--red); font-variant-numeric: tabular-nums; transition: color .5s ease; }
.an-a[data-mode="on"] .an-sum b { color: var(--cobalt); }
.an-chart { position: relative; min-width: 0; min-height: 0; display: flex; flex-direction: column; }
.an-stream { position: absolute; left: 0; top: 0; width: 0; height: 0; z-index: 3; pointer-events: none; }
.an-rail { position: absolute; height: 0; border-top: 1px dashed rgba(11, 26, 51, .14); }
.an-rail s { position: absolute; top: -4px; width: 1px; height: 7px; background: rgba(11, 26, 51, .2); }
.an-stream i { position: absolute; left: -3.5px; top: -3.5px; width: 7px; height: 7px; border-radius: 50%; background: var(--cobalt); box-shadow: 0 0 0 3px rgba(49, 91, 255, .14); will-change: transform, opacity; }
.an-cols { position: relative; flex: 1; min-height: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; padding-top: 20px; }
.an-col { --p: var(--p0); --v: var(--v0); display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 0; min-height: 0; transition: opacity .25s ease; }
.an-a[data-mode="on"] .an-col { --p: var(--p1); --v: var(--v1); }
.an-cols:has(.an-col:hover) .an-col:not(:hover) { opacity: .4; }
.an-v { display: block; height: 30px; font-size: 24px; font-weight: 500; letter-spacing: -.035em; line-height: 30px; font-variant-numeric: tabular-nums; color: var(--text); }
.an-v span { display: inline-block; }
.an-end .an-v { color: var(--cobalt); }
.an-bar { position: relative; flex: 1 1 auto; min-height: 140px; width: min(58px, 76%); margin-top: 8px; border-radius: 4px; background: rgba(11, 26, 51, .04); overflow: hidden; }
.an-bar i { position: absolute; left: 0; right: 0; bottom: 0; height: 100%; transform-origin: bottom; transition: transform 1.2s var(--spring); }
.an-fill { background: linear-gradient(180deg, #5a76ff, var(--cobalt)); transform: scaleY(var(--v)); border-radius: 4px 4px 0 0; }
.an-lost { background: repeating-linear-gradient(135deg, rgba(229, 72, 77, .3) 0 4px, rgba(229, 72, 77, .12) 4px 8px); transform: scaleY(var(--p)); }
.an-col:nth-child(2) .an-bar i { transition-delay: .06s; } .an-col:nth-child(3) .an-bar i { transition-delay: .12s; } .an-col:nth-child(4) .an-bar i { transition-delay: .18s; } .an-col:nth-child(5) .an-bar i { transition-delay: .24s; }
.an-c:not(.is-in) .an-bar i { transform: scaleY(0); }
.an-l { position: relative; display: block; width: 100%; height: 18px; margin-top: 8px; font-size: 12px; font-weight: 600; font-style: normal; color: var(--red); font-variant-numeric: tabular-nums; }
.an-a[data-mode="on"] .an-l { color: var(--cobalt); }
.an-n { margin-top: 2px; font-size: 13px; font-weight: 600; color: var(--text); }
.an-col small { position: relative; display: block; width: 100%; min-height: 2.9em; margin-top: 2px; font-size: 12px; line-height: 1.45; color: var(--text-2); }
.an-col small span { display: block; }

/* toggles */
.p-home .leaks .kl-mode { flex: none; padding: 3px !important; border-radius: 8px !important; background: #f3f5f9 !important; border: 0 !important; box-shadow: inset 0 0 0 1px var(--hair, rgba(11, 26, 51, .07)) !important; }
.p-home .leaks .kl-mode-b { padding: 9px 16px !important; border-radius: 6px !important; font: 500 13px/1 var(--font) !important; color: var(--text-2) !important; transition: color .2s ease !important; }
.p-home .leaks .kl-mode-b:hover { color: var(--text) !important; }
.p-home .leaks .kl-mode-b.is-on { color: var(--text) !important; }
.p-home .leaks .kl-mode-pill { top: 3px !important; bottom: 3px !important; left: 3px !important; width: calc(50% - 3px) !important; border-radius: 6px !important; border: 0 !important; background: #fff !important;
  box-shadow: 0 0 0 1px rgba(11, 26, 51, .06), 0 2px 6px -1px rgba(50, 50, 93, .18) !important; transition: transform .55s var(--spring) !important; }
.p-home .leaks [data-mode="on"] > * > .kl-mode .kl-mode-pill, .p-home .leaks [data-mode="on"] .kl-mode-pill { transform: translateX(100%) !important; }
.p-home .leaks [data-mode="off"] .kl-mode-b.is-on::before, .p-home .leaks [data-mode="on"] .kl-mode-b.is-on::before { content: ''; display: inline-block; width: 7px; height: 7px; margin: 0 7px 1px 0; border-radius: 50%; background: var(--red, #e5484d); }
.p-home .leaks [data-mode="on"] .kl-mode-b.is-on::before { background: var(--cobalt); }
.p-home .leaks .kl-mode-b:active { scale: .97; }

/* ---------- B: silence is growing ---------- */
.an-sil-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.an-sil-n b { display: block; font-size: 40px; font-weight: 500; letter-spacing: -.04em; line-height: 1; color: var(--red); font-variant-numeric: tabular-nums; }
.an-sil-n small { display: block; margin-top: 6px; font-size: 12.5px; color: var(--text-2); }
.an-yr { display: inline-flex; padding: 3px; border-radius: 8px; background: #f3f5f9; box-shadow: inset 0 0 0 1px var(--hair); }
.an-yr button { height: 28px; padding: 0 11px; border-radius: 6px; font: 500 12.5px/1 var(--font); color: var(--text-2); background: none; border: 0; cursor: pointer; transition: background-color .2s ease, color .2s ease, box-shadow .2s ease; }
.an-yr button[aria-pressed="true"] { background: #fff; color: var(--text); box-shadow: 0 0 0 1px rgba(11, 26, 51, .06), 0 2px 6px -1px rgba(50, 50, 93, .18); }
.an-yr button:active { scale: .96; }
.an-waf { display: grid; grid-template-columns: repeat(20, minmax(0, 1fr)); gap: 3px; }
.an-waf i { aspect-ratio: 1; border-radius: 2px; background: rgba(11, 26, 51, .08); transition: background-color .22s ease, transform .5s var(--spring); transition-delay: calc(var(--i) * 6ms); }
.an-waf i.r { background: var(--red); }
.an-waf i.h { background: linear-gradient(90deg, var(--red) 50%, rgba(11, 26, 51, .08) 50%); }
.an-c:not(.is-in) .an-waf i { transform: scale(.3); }

/* ---------- C: 29 hours ---------- */
.an-chat { display: flex; flex-direction: column; }
.an-msg { max-width: 90%; padding: 10px 13px 11px; border-radius: 8px; background: #f3f5f9; }
.an-msg small { display: block; font-size: 11.5px; color: var(--text-3); }
.an-msg p { margin: 3px 0 0; font-size: 13.5px; line-height: 1.4; color: var(--text); }
.an-msg-out { align-self: flex-end; background: var(--cobalt); box-shadow: 0 8px 18px -10px rgba(49, 91, 255, .7); }
.an-msg-out small { color: rgba(255, 255, 255, .72); } .an-msg-out p { color: #fff; }
.an-gap { display: flex; align-items: center; gap: 10px; margin: 16px 0; }
.an-gap i { position: relative; flex: 1; height: 1px; background: repeating-linear-gradient(90deg, rgba(229, 72, 77, .4) 0 4px, transparent 4px 8px); }
.an-gap i s { position: absolute; inset: -.5px 0; background: var(--red); transform-origin: left; transform: scaleX(0); transition: transform 1.4s cubic-bezier(.65, 0, .35, 1) .5s; }
.an-gap i:last-child s { transform-origin: right; }
.an-c.is-in .an-gap i s { transform: scaleX(1); }
.an-gap b { padding: 4px 9px; border-radius: 6px; font-size: 12.5px; font-weight: 600; color: var(--red); background: rgba(229, 72, 77, .08); white-space: nowrap; font-variant-numeric: tabular-nums; }
.an-chat > * { transition: opacity .6s var(--out), transform .7s var(--spring); }
.an-c:not(.is-in) .an-chat > * { opacity: 0; transform: translateY(10px); }
.an-chat > :nth-child(2) { transition-delay: .5s; } .an-chat > :nth-child(3) { transition-delay: 1.9s; }

/* ---------- D: 0 of 114 ---------- */
.an-call { display: flex; flex-direction: column; gap: 16px; }
.an-call-top { display: flex; align-items: center; gap: 16px; }
.an-ring { position: relative; flex: none; width: 76px; height: 76px; display: grid; place-items: center; }
.an-ring svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.an-ring circle { fill: none; stroke: rgba(11, 26, 51, .07); stroke-width: 4; }
.an-ring .an-ring-fg { stroke: var(--red); stroke-linecap: round; stroke-dasharray: 176; stroke-dashoffset: 0; transition: stroke-dashoffset 3.2s linear .1s; }
.an-c.is-in .an-ring-fg { stroke-dashoffset: 176; }
.an-ring b { font-size: 17px; font-weight: 600; letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: var(--text); }
.an-call-t { margin: 0; font-size: 13px; line-height: 1.45; color: var(--text-2); }
.an-call-t b { display: block; margin-bottom: 4px; font-size: 34px; font-weight: 500; letter-spacing: -.04em; line-height: 1; color: var(--red); }
.an-dots { display: grid; grid-template-columns: repeat(19, minmax(0, 1fr)); gap: 4px; }
.an-dots i { aspect-ratio: 1; border-radius: 50%; background: rgba(11, 26, 51, .12); transition: background-color .25s ease, box-shadow .25s ease; }
.an-dots i.x { background: #fff; box-shadow: inset 0 0 0 1.5px rgba(229, 72, 77, .55); }

/* ---------- E: 24-hour dial ---------- */
.an-clock { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.an-dialw { position: relative; width: 172px; height: 172px; }
.an-dialw svg { width: 100%; height: 100%; overflow: visible; }
.an-ticks line { stroke: rgba(11, 26, 51, .16); stroke-width: 1.2; stroke-linecap: round; }
.an-ticks line.q { stroke: rgba(11, 26, 51, .34); stroke-width: 1.6; }
.an-office { fill: none; stroke: rgba(11, 26, 51, .07); stroke-width: 18; }
.an-bk circle { fill: var(--cobalt); transform-box: fill-box; transform-origin: center; transition: transform .55s var(--spring), opacity .25s ease; }
.an-bk circle.in9 { fill: rgba(11, 26, 51, .3); }
.an-bk circle:not(.on) { transform: scale(0); opacity: 0; }
.an-clock-t { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.an-clock-t b { font-size: 34px; font-weight: 500; letter-spacing: -.04em; line-height: 1; color: var(--cobalt); font-variant-numeric: tabular-nums; }
.an-clock-t small { margin-top: 4px; font-size: 11.5px; color: var(--text-2); }
.an-hl { position: absolute; transform: translate(-50%, -50%); font-size: 10.5px; font-weight: 600; color: var(--text-3); white-space: nowrap; }

/* ---------- F: 7x ---------- */
.an-seven { display: flex; align-items: flex-end; gap: 14px; }
.an-vb { flex: 1; max-width: 120px; display: flex; flex-direction: column; justify-content: flex-end; text-align: center; }
.an-vb b { font-size: 20px; font-weight: 500; letter-spacing: -.03em; color: var(--text-2); font-variant-numeric: tabular-nums; }
.an-vb i { height: 20px; margin-top: 8px; border-radius: 4px 4px 0 0; background: rgba(11, 26, 51, .09); transform-origin: bottom; transition: transform 1.2s var(--spring) .3s; }
.an-vb-hi b { font-size: 34px; letter-spacing: -.04em; color: var(--cobalt); }
.an-vb-hi i { height: 140px; background: linear-gradient(180deg, #6b86ff, var(--cobalt)); }
.an-c:not(.is-in) .an-vb i { transform: scaleY(0); }
.an-vb span { margin-top: 10px; font-size: 12px; color: var(--text-2); }

/* ---------- H: calls ---------- */
.an-log { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.an-log li { display: grid; grid-template-columns: 24px auto 1fr auto; column-gap: 10px; align-items: center; height: 40px; border-bottom: 1px solid var(--hair); transition: opacity .5s var(--out), transform .6s var(--spring); }
.an-log li:last-child { border-bottom: 0; }
.an-log li b { font-size: 13px; font-weight: 500; color: var(--text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.an-log li small { font-size: 12px; color: var(--text-3); }
.an-log li em { font-style: normal; font-size: 12px; color: var(--text-3); font-variant-numeric: tabular-nums; }
.an-ci { width: 24px; height: 24px; border-radius: 6px; background: rgba(49, 91, 255, .09) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23315bff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3l2 5-2.5 1.5a11 11 0 0 0 6 6L15 14l5 2v3a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E") center / 13px no-repeat; }
.an-log li.m small { color: var(--red); font-weight: 600; }
.an-log li.m .an-ci { background-color: rgba(229, 72, 77, .1); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e5484d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3l2 5-2.5 1.5a11 11 0 0 0 6 6L15 14l5 2v3a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3Cpath d='M16 3l5 5M21 3l-5 5'/%3E%3C/svg%3E"); }
.an-c:not(.is-in) .an-log li { opacity: 0; transform: translateY(8px); }
.an-log li:nth-child(2) { transition-delay: .35s; } .an-log li:nth-child(3) { transition-delay: .45s; } .an-log li:nth-child(4) { transition-delay: .55s; } .an-log li:nth-child(5) { transition-delay: .65s; }
.an-log li:first-child { transition-delay: .25s; }

/* ---------- G: follow-ups ---------- */
.an-seq { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.an-pan > :is(.an-log, .an-call, .an-clock, .an-chat) { flex: 1; justify-content: center; }
.an-pan > .an-seven { flex: 1; }
.an-row { display: grid; grid-template-columns: 128px 1fr; align-items: center; gap: 16px; }
.an-row + .an-row { margin-top: 14px; }
.an-who { font-size: 12.5px; font-weight: 600; color: var(--text-2); }
.an-row-k .an-who { color: var(--cobalt); }
.an-row ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.an-row li { height: 48px; display: grid; place-items: center; border-radius: 6px; font-size: 13px; font-weight: 500; background: #fff; box-shadow: 0 0 0 1px rgba(11, 26, 51, .08), 0 1px 2px rgba(11, 26, 51, .04); color: var(--text); white-space: nowrap; transition: opacity .45s var(--out), transform .6s var(--spring); }
.an-row li.stop { color: var(--red); box-shadow: 0 0 0 1px rgba(229, 72, 77, .35); background: rgba(229, 72, 77, .05); }
.an-row li.off { background: repeating-linear-gradient(135deg, rgba(11, 26, 51, .035) 0 4px, transparent 4px 8px); box-shadow: 0 0 0 1px rgba(11, 26, 51, .05); }
.an-row li.win { color: #fff; background: var(--cobalt); box-shadow: 0 8px 18px -10px rgba(49, 91, 255, .8); }
.an-c:not(.is-in) .an-row li { opacity: 0; transform: translateY(6px) scale(.96); }
.an-row li { transition-delay: calc(.3s + var(--k, 0) * .09s); }
.an-row li:nth-child(2) { --k: 1; } .an-row li:nth-child(3) { --k: 2; } .an-row li:nth-child(4) { --k: 3; } .an-row li:nth-child(5) { --k: 4; }
.an-row-k li { transition-delay: calc(.75s + var(--k, 0) * .11s); }
.an-track { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 14px 0 0 144px; padding-top: 10px; border-top: 1px solid var(--hair); font-size: 11.5px; color: var(--text-3); text-align: center; font-variant-numeric: tabular-nums; }

/* ---------- the calculator as a ledger ---------- */
.p-home .leaks .an-led { --hair: rgba(11, 26, 51, .07); display: block; padding: 0 !important; border-radius: 8px !important; background: #fff !important; box-shadow: var(--sh-card) !important; overflow: hidden !important; }
.an-led-h { padding: 28px 28px 24px; }
.an-led-h h3 { margin: 0; font-size: clamp(24px, 2vw, 30px); line-height: 1.15; font-weight: 500; letter-spacing: -.024em; color: var(--text); }
.an-led-h p { margin: 8px 0 0; max-width: 62ch; font-size: 15px; color: var(--text-2); }
.an-led-b { display: grid; grid-template-columns: minmax(280px, 340px) minmax(0, 1fr); border-top: 1px solid var(--hair); }
.an-led-in { display: flex; flex-direction: column; gap: 22px; padding: 26px 28px; background: #fafbfd; border-right: 1px solid var(--hair); }
.p-home .leaks .an-led .kl-sl { display: block; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
.p-home .leaks .an-led .kl-sl label { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; }
.p-home .leaks .an-led .kl-sl label span { font: 500 13.5px/1 var(--font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--text-2) !important; }
.p-home .leaks .an-led .kl-sl output { font: 500 17px/1 var(--font) !important; letter-spacing: -.01em; color: var(--text) !important; font-variant-numeric: tabular-nums; }
.p-home .leaks .an-led .kl-sl input { height: 4px !important; margin: 0 !important; background: linear-gradient(90deg, var(--cobalt) var(--p, 50%), rgba(11, 26, 51, .1) var(--p, 50%)) !important; }
.p-home .leaks .an-led .kl-sl input::-webkit-slider-thumb { width: 18px !important; height: 18px !important; border: 0 !important; background: #fff !important; box-shadow: 0 0 0 1px rgba(11, 26, 51, .12), 0 2px 6px rgba(50, 50, 93, .28) !important; transition: transform .2s ease !important; }
.p-home .leaks .an-led .kl-sl input::-moz-range-thumb { width: 18px; height: 18px; border: 0; background: #fff; box-shadow: 0 0 0 1px rgba(11, 26, 51, .12), 0 2px 6px rgba(50, 50, 93, .28); }
.p-home .leaks .an-led .kl-sl input:hover::-webkit-slider-thumb { transform: scale(1.1); }
.p-home .leaks .an-led .kl-sl input:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px rgba(49, 91, 255, .25), 0 2px 6px rgba(50, 50, 93, .28) !important; }
.an-tot { margin-top: auto; display: grid; gap: 14px; padding-top: 20px; border-top: 1px solid var(--hair); }
.an-tot small { display: block; font-size: 13px; font-weight: 500; }
.an-tot b { display: block; margin: 5px 0 3px; font-size: clamp(32px, 2.8vw, 40px); font-weight: 500; letter-spacing: -.04em; line-height: 1; color: var(--text); font-variant-numeric: tabular-nums; }
.an-tot span { display: block; font-size: 12.5px; color: var(--text-2); }
.an-tot-l small { color: var(--red); } .an-tot-k small { color: var(--cobalt); } .an-tot-k b { color: var(--cobalt); }
.an-led-t { display: flex; flex-direction: column; padding: 6px 28px 8px; }
.an-lr { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: center; min-height: 92px; border-bottom: 1px solid var(--hair); }
.an-lr:last-child { border-bottom: 0; }
.an-lh { min-height: 44px; font-size: 12.5px; font-weight: 500; color: var(--text-3); }
.an-lg b { font-size: 14.5px; font-weight: 600; color: var(--text); }
.an-lo, .an-lk { position: relative; display: flex; flex-direction: column; gap: 8px; }
.an-lo > span, .an-lk > span { font-size: 13px; line-height: 1.4; color: var(--text-2); }
.an-lo i, .an-lk i { position: relative; display: block; height: 3px; width: 100%; border-radius: 2px; background: rgba(11, 26, 51, .06); overflow: hidden; }
.an-lo i::after, .an-lk i::after { content: ''; position: absolute; inset: 0; border-radius: inherit; transform-origin: left; transform: scaleX(var(--w)); transition: transform 1.1s var(--spring); }
.an-lo i::after { background: var(--red); } .an-lk i::after { background: var(--cobalt); }
.an-led:not(.is-in) :is(.an-lo, .an-lk) i::after { transform: scaleX(0); }
.an-lk i::after { transition-delay: .25s; }
.an-lo p, .an-lk p { display: flex; align-items: baseline; gap: 10px; margin: 0; }
.an-lo b, .an-lk b { font-size: 22px; font-weight: 500; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.an-lo b { color: var(--red); } .an-lk b { color: var(--cobalt); }
.an-lo em, .an-lk em { font-style: normal; font-size: 13px; color: var(--text-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
.an-led-n { margin: 0; padding: 14px 28px 18px; border-top: 1px solid var(--hair); font-size: 12px; color: var(--text-3); }

/* ---------- Proven tools in the same tokens ---------- */
.p-home .leaks :is(.st-own-card, .st-p, .st-g) { box-shadow: var(--sh-card) !important; }
.p-home .leaks :is(.st-own-card, .st-p, .st-g) :is(b, h3, h4) { color: var(--text); }
.p-home .leaks .st-panel { box-shadow: var(--sh-ui-s) !important; border: 0 !important; background: #fff !important; }

/* ---------- fit ---------- */
@media (max-width: 1180px) {
  .an-a, .an-fu { grid-column: 1 / -1; grid-row: auto; }
  .an-b, .an-chatc, .an-callc, .an-clockc, .an-sevenc, .an-missc { grid-column: span 6; }
  .an-h { flex-wrap: wrap; } .an-h > div:first-child { flex: 1 1 100%; }
  .an-bar { flex: none; height: 240px; }
  .an-led-b { grid-template-columns: 1fr; } .an-led-in { border-right: 0; border-bottom: 1px solid var(--hair); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .an-tot { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .an-win > .an-wf { grid-template-columns: 1fr; gap: 20px; }
  .an-src ul { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
  .an-sum { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-top: 10px; } .an-sum b { order: -1; margin: 0; font-size: 28px; }
  .an-cap { white-space: normal; height: 3em; }
  .an-h .kl-mode { flex: 1 1 100%; }
  .an-led-in { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .an { grid-template-columns: 1fr; gap: 12px; --pad: 20px; }
  .an-c, .an-a, .an-fu, .an-b, .an-chatc, .an-callc, .an-clockc, .an-sevenc, .an-missc { grid-column: 1 / -1; }
  .an-c h3 { max-width: none; }
  .an-pan > :not(.an-pnh) { margin-right: 36px; margin-left: 14px; }
  .an-fld { padding: 32px 0 0 20px; } .an-big { padding: 48px 0 0 20px; }
  .an-pnh { padding-left: 14px; padding-right: 36px; }
  .an-cols { gap: 5px; } .an-bar { height: 170px; } .an-col small { display: none; } .an-n { font-size: 11.5px; } .an-v { font-size: 18px; }
  .an-src ul { grid-template-columns: 1fr 1fr; } .an-src li { font-size: 12.5px; gap: 7px; padding-left: 2px; }
  .an-row { grid-template-columns: 1fr; gap: 6px; } .an-row li { height: 36px; font-size: 11.5px; } .an-track { margin-left: 0; font-size: 10.5px; }
  .an-lr { grid-template-columns: 1fr 1fr; gap: 10px 16px; padding: 16px 0; } .an-lr .an-lg { grid-column: 1 / -1; } .an-lh { display: none; } .an-tot { grid-template-columns: 1fr; } .an-lo b, .an-lk b { font-size: 19px; } .an-lo em, .an-lk em { font-size: 12px; }
  .an-led-t { padding: 0 20px; } .an-led-in { padding: 22px 20px; } .an-led-h { padding: 22px 20px 20px; } .an-led-n { padding: 14px 20px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .an-c, .an-c *, .an-led * { transition: none !important; animation: none !important; }
  .an-c { opacity: 1; transform: none; }
}

/* headings with gradient text: room for descenders ("They") */
.p-home .leaks :is(.kl-grad, .st-grad) { padding-bottom: .12em; margin-bottom: -.12em; }

/* cookie banner on the light home: every button state set here, so no green glow from consent.js survives */
.p-home .kxc-btn[data-c=granted], .p-home .kxc-btn[data-c=granted]:hover, .p-home .kxc-btn[data-c=granted]:active {
  box-shadow: 0 1px 2px rgba(16, 24, 40, .12), 0 8px 22px -10px rgba(49, 91, 255, .7) !important; }
.p-home .kxc-btn[data-c=granted]:hover { background: var(--cobalt-h, #2449e0) !important; border-color: var(--cobalt-h, #2449e0) !important; }
.p-home .kxc-btn[data-c=granted]:focus-visible { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--cobalt) !important; }
.p-home .kxc-btn:not([data-c=granted]) { background: #fff !important; box-shadow: none !important; }
.p-home .kxc-btn:not([data-c=granted]):hover { background: rgba(16, 24, 40, .04) !important; border-color: rgba(16, 24, 40, .22) !important; }
.p-home .kxc-btn:not([data-c=granted]):focus-visible { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--cobalt) !important; }
.p-home .kxc-btn i { box-shadow: none !important; }

/* page scrollbar on the light home: thin rounded thumb, no arrows; cobalt on hover */
html:has(body.p-home)::-webkit-scrollbar { width: 12px; height: 12px; }
html:has(body.p-home)::-webkit-scrollbar-track { background: #f6f8fc; }
html:has(body.p-home)::-webkit-scrollbar-thumb { background: rgba(16, 24, 40, .22); border: 3.5px solid #f6f8fc; border-radius: 12px; min-height: 48px; }
html:has(body.p-home)::-webkit-scrollbar-thumb:hover { background: rgba(49, 91, 255, .75); }
html:has(body.p-home)::-webkit-scrollbar-thumb:active { background: var(--cobalt); }
html:has(body.p-home)::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
@supports not selector(::-webkit-scrollbar) { html:has(body.p-home) { scrollbar-width: thin; scrollbar-color: rgba(16, 24, 40, .25) transparent; } }

/* ================= home v17: the rest of the page in the v16 language (the 6-step phone is untouched).
   Pill buttons with Stripe's hover arrow, section heads as one ink sentence running on in slate, radius 8 cards with
   chromatic depth, live Kalryn notifications on the industry photos, a gradient-edged Core plan. ================= */
/* buttons: pill, arrow that slides on hover, press feedback */
.p-home .btn { border-radius: 999px; font-weight: 500; letter-spacing: -.005em; transition: background-color .2s ease, box-shadow .2s ease, color .2s ease, scale .12s ease; }
.p-home .btn:active { scale: .97; }
.p-home .btn:not(.btn-nav)::after { content: ''; flex: none; width: 9px; height: 10px; margin-left: -2px; background: currentColor; transition: translate .2s var(--out);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 10'%3E%3Cpath d='M1.5 1.5 5 5l-3.5 3.5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 10'%3E%3Cpath d='M1.5 1.5 5 5l-3.5 3.5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.p-home .btn:not(.btn-nav):hover::after { translate: 3px 0; }
.p-home .btn-nav { border-radius: 999px; }
.p-home .btn { box-shadow: 0 1px 2px rgba(11, 26, 51, .1), 0 6px 16px -8px rgba(49, 91, 255, .65); }
.p-home .btn:hover { box-shadow: 0 1px 2px rgba(11, 26, 51, .1), 0 10px 22px -8px rgba(49, 91, 255, .75); }
.p-home .btn-ghost { box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .12), 0 1px 2px rgba(11, 26, 51, .04); }
.p-home .btn-ghost:hover { background: #f6f9fc; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .2), 0 1px 2px rgba(11, 26, 51, .05); }
@media (prefers-reduced-motion: reduce) { .p-home .btn, .p-home .btn::after { transition: none; } }

/* hero copy: display cut, ink, tighter facts */
.p-home .hero-h { font-weight: 600; letter-spacing: -.045em; color: var(--text); }
.p-home .grad { background: linear-gradient(95deg, var(--cobalt) 0%, #5b5cff 55%, #8b6dff 100%); -webkit-background-clip: text; background-clip: text; }
.p-home .hero-sub { color: var(--text-2); }
.p-home .hero-facts { gap: 0 !important; }
.p-home .hero-facts li { display: inline-flex; align-items: center; gap: 8px; padding: 0 16px; color: var(--text-2); font-size: 14px; }
.p-home .hero-facts li:first-child { padding-left: 0; }
.p-home .hero-facts li + li { box-shadow: -1px 0 0 rgba(11, 26, 51, .12); }
.p-home .hero-facts li::before { content: ''; flex: none; width: 14px; height: 14px; border-radius: 50%; background: rgba(49, 91, 255, .12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='m4.2 7.2 1.9 1.9 3.8-4' fill='none' stroke='%23315bff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat !important; position: static !important; transform: none !important; }

/* section heads elsewhere: same as the leak section */
.p-home .head-run { display: block; max-width: 1120px; margin-bottom: clamp(36px, 4vw, 56px); }
.p-home .head-run .h2 { margin: 0; max-width: none; font-size: clamp(30px, 3.2vw, 46px); line-height: 1.1; font-weight: 500; letter-spacing: -.028em; color: var(--text); text-wrap: pretty; }
.p-home .head-run .h2 > span { color: var(--text-3); }

/* industries: radius 8, no fake numbering, a live Kalryn notification on every photo */
.p-home .sec.industries { background: #fff; }
.p-home .shot { border-radius: 8px; box-shadow: 0 30px 60px -30px rgba(50, 50, 93, .45), 0 18px 36px -18px rgba(0, 0, 0, .35); }
.p-home .shot-tx > span { display: none; }
.p-home .shot-tx h3 { font-weight: 500; letter-spacing: -.024em; }
.shot-ui { position: absolute; right: clamp(16px, 2.4vw, 32px); top: clamp(16px, 2.4vw, 32px); z-index: 3; display: flex; align-items: center; gap: 12px; min-width: 250px; padding: 12px 16px 12px 12px;
  border-radius: 8px; background: rgba(255, 255, 255, .94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: var(--sh-ui-s);
  opacity: 0; transform: translateY(-10px) scale(.97); transition: opacity .5s var(--out), transform .7s var(--spring); }
.shot-ui.is-on { opacity: 1; transform: none; }
.shot-ui b { display: block; font-size: 13.5px; font-weight: 600; color: var(--text); white-space: nowrap; }
.shot-ui small { position: relative; display: block; height: 1.4em; margin-top: 2px; font-size: 12.5px; white-space: nowrap; }
.shot-ui small span { position: absolute; left: 0; top: 0; transition: opacity .3s ease, transform .4s var(--out); }
.shot-ui .s0 { color: var(--text-3); }
.shot-ui .s1 { color: var(--cobalt); font-weight: 600; opacity: 0; transform: translateY(6px); }
.shot-ui.is-done .s0 { opacity: 0; transform: translateY(-6px); }
.shot-ui.is-done .s1 { opacity: 1; transform: none; }
.shot-ic { position: relative; flex: none; width: 32px; height: 32px; border-radius: 8px; background: rgba(49, 91, 255, .1) center / 16px no-repeat; transition: background-color .3s ease; }
.shot-ic::after { content: ''; position: absolute; right: -2px; top: -2px; width: 9px; height: 9px; border-radius: 50%; background: var(--red, #e5484d); box-shadow: 0 0 0 2px #fff; transition: background-color .3s ease, transform .4s var(--spring); }
.shot-ui.is-done .shot-ic::after { background: #16a34a; transform: scale(1.1); }
.shot-ic-miss { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23315bff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3l2 5-2.5 1.5a11 11 0 0 0 6 6L15 14l5 2v3a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E"); }
.shot-ic-form { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23315bff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M8 8h8M8 12h8M8 16h5'/%3E%3C/svg%3E"); }
.shot-ic-dm { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23315bff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3C/svg%3E"); }
.p-home .shot-end { border-radius: 8px; background: linear-gradient(118deg, #a5e6ff 0%, #59a8ff 26%, #315bff 54%, #4a33e6 80%, #2b1fb5 100%); box-shadow: 0 30px 60px -30px rgba(49, 91, 255, .6); }
.p-home .shot-end::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(118deg, rgba(255, 255, 255, .2) 0 1px, transparent 1px 9px); -webkit-mask: linear-gradient(90deg, #000, transparent 60%); mask: linear-gradient(90deg, #000, transparent 60%); pointer-events: none; }
.p-home .shot-end .btn { color: var(--text); }
@media (max-width: 700px) { .shot-ui { left: 12px; right: auto; top: 12px; min-width: 0; padding: 9px 12px 9px 9px; } .shot-ui b { font-size: 12.5px; } .shot-ic { width: 28px; height: 28px; } }
@media (prefers-reduced-motion: reduce) { .shot-ui, .shot-ui * { transition: none !important; } }

/* pricing */
.p-home #pricing { background: #f6f9fc; }
.p-home .plans { gap: 18px; }
.p-home .plan { border-radius: 8px; padding: 30px 28px 28px; background: #fff; box-shadow: var(--sh-card); }
.p-home .plan .pk-name { font-size: 15px; font-weight: 600; letter-spacing: -.01em; color: var(--text); }
.p-home .plan-for { font-size: 14px; }
.p-home .price b { font-size: clamp(40px, 3.4vw, 48px); font-weight: 500; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.p-home .plan li { font-size: 14px; }
.p-home .plan .btn { width: 100%; justify-content: center; }
.p-home .plan-hi { border: 1px solid transparent; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #59a8ff, #315bff 40%, #6e4bff 80%, #b14dff) border-box; box-shadow: 0 30px 60px -24px rgba(50, 50, 93, .28), 0 18px 36px -18px rgba(49, 91, 255, .35); }
.p-home .plan-hi::before { display: none; }
.p-home .plan-tag { top: 30px; right: 28px; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 500; color: var(--cobalt); background: rgba(49, 91, 255, .09); }
.p-home .plans-note { margin-top: 28px; }

/* founder line */
.p-home .fline { background: #f6f9fc; }
.p-home .fline-in { border-top: 1px solid rgba(11, 26, 51, .08); }
.p-home .fline-in p { display: flex; align-items: center; gap: 14px; margin: 0; }
.fline-av { flex: none; width: 40px; height: 40px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px rgba(11, 26, 51, .08), 0 4px 10px -4px rgba(50, 50, 93, .35); }

/* final call to action */
.p-home .cta-h { font-weight: 500; letter-spacing: -.035em; }
.p-home .cta .btn-ghost { background: rgba(255, 255, 255, .1); color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3); }

/* footer */
.p-home .ft { background: #fff; }
.p-home .ft-cols h4 { font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--text); }
.p-home .ft-cols a { font-size: 14px; transition: color .15s ease; }
.p-home .leaks .an-led .kl-total[hidden] { display: none !important; }
.an-led-t > .an-lr:not(.an-lh) { flex: 1; }
.p-home .leaks .an-tot-l small { color: var(--red) !important; } .p-home .leaks .an-tot-k small { color: var(--cobalt) !important; }
.p-home .shot-end p { color: rgba(255, 255, 255, .86); }
@media (max-width: 600px) { .p-home .hero-facts { flex-wrap: wrap; gap: 8px 16px !important; } .p-home .hero-facts li { padding: 0; font-size: 13px; } .p-home .hero-facts li + li { box-shadow: none; } }

/* ================= buttons and the phone's step rail: rectangular (radius ≤ 8, like the leak cards), never pills ================= */
.p-home .btn, .p-home .btn-nav { border-radius: 8px; }
.p-home .plan-tag, .p-home .an-gap b { border-radius: 6px; }
.p-home .kxp-rail { border-radius: 8px !important; }
.p-home .kxp-rail button { border-radius: 6px !important; }
.p-home .kxp-rail .kxp-ri { border-radius: 6px !important; }

/* ================= Proven tools. Your accounts. (v18): built from scratch on the bento language of the leak section.
   A: an Accounts table where every owner flips from "Kalryn, setup" to "You". B: what leaving looks like.
   C: what keeps running without us. D: one lead travels through six jobs; the wall of 15 tools lights the ones
   doing that job. Motion: tools.js (reveal, tilt, sequences); cards reuse .an-c / .an-fld / .an-pan. ================= */
.p-home .leaks .pt { margin-top: clamp(96px, 10vw, 140px); }
.pt-head { max-width: 1120px; margin: 0 0 clamp(36px, 4vw, 56px); }
.pt-h2 { margin: 0; font-size: clamp(30px, 3.2vw, 46px); line-height: 1.1; font-weight: 500; letter-spacing: -.028em; color: var(--text); text-wrap: pretty; }
.pt-h2 > span { color: var(--text-3); }
.pt-a { grid-column: span 8; grid-row: span 2; }
.pt-b, .pt-c { grid-column: span 4; }
.pt-d { grid-column: 1 / -1; }
.pt-lg { flex: none; width: 24px; height: 24px; border-radius: 6px; overflow: hidden; box-shadow: 0 0 0 1px rgba(11, 26, 51, .08); background: #fff; }
.pt-lg img { display: block; width: 100%; height: 100%; }

/* A: accounts table */
.pt-tbl { display: flex; flex-direction: column; margin-top: 6px !important; }
.pt-acc .pt-tbl { flex: 1; } .pt-acc .pt-tbl > .pt-tr:not(.pt-th) { flex: 1; }
.pt-tr { display: grid; grid-template-columns: 24px minmax(0, 1fr) minmax(0, 1fr) 132px 44px; align-items: center; column-gap: 12px; min-height: 46px; border-bottom: 1px solid var(--hair, rgba(11, 26, 51, .07)); font-size: 13.5px; }
.pt-tr b { font-weight: 500; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pt-cat { color: var(--text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pt-th { min-height: 34px; font-size: 12px; font-weight: 500; color: var(--text-3); }
.pt-th span:first-child { grid-column: 1 / 3; }
.pt-own { position: relative; height: 24px; }
.pt-own em { position: absolute; left: 0; top: 0; display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 8px; border-radius: 6px; font-style: normal; font-size: 12.5px; font-weight: 500; white-space: nowrap; transition: opacity .3s ease, transform .5s var(--spring); }
.pt-own .k { color: var(--text-3); background: rgba(11, 26, 51, .05); }
.pt-own .y { color: var(--cobalt); background: rgba(49, 91, 255, .09); opacity: 0; transform: translateY(6px); }
.pt-own .y i { display: grid; place-items: center; width: 16px; height: 16px; border-radius: 4px; font-style: normal; font-size: 8.5px; font-weight: 700; letter-spacing: .02em; color: #fff; background: var(--cobalt); }
.pt-tr.is-you .pt-own .k { opacity: 0; transform: translateY(-6px); }
.pt-tr.is-you .pt-own .y { opacity: 1; transform: none; }
.pt-sw { position: relative; width: 30px; height: 18px; border-radius: 9px; background: rgba(11, 26, 51, .12); transition: background-color .3s ease; }
.pt-sw i { position: absolute; left: 2px; top: 2px; width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(11, 26, 51, .25); transition: transform .45s var(--spring); }
.pt-tr.is-you .pt-sw { background: var(--cobalt); }
.pt-tr.is-you .pt-sw i { transform: translateX(12px); }
.pt-foot { display: flex; align-items: center; gap: 14px; margin-top: 16px !important; font-size: 13px; }
.pt-foot b { font-weight: 600; color: var(--text); white-space: nowrap; font-variant-numeric: tabular-nums; }
.pt-bar { position: relative; flex: 1; height: 4px; border-radius: 2px; background: rgba(11, 26, 51, .08); overflow: hidden; }
.pt-bar i { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(90deg, #59a8ff, var(--cobalt)); transform-origin: left; transform: scaleX(var(--p, 0)); transition: transform .5s var(--out); }

/* B: leaving, step by step */
.pt-tl { position: relative; margin: 0; padding: 0; list-style: none; }
.pt-tl::before { content: ''; position: absolute; left: 6px; top: 10px; bottom: 14px; width: 1px; background: rgba(11, 26, 51, .12); }
.pt-tl li { position: relative; padding: 0 0 14px 26px; transition: opacity .45s var(--out), transform .6s var(--spring); }
.pt-tl li:last-child { padding-bottom: 0; }
.pt-tl li::before { content: ''; position: absolute; left: 0; top: 4px; width: 13px; height: 13px; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1.5px rgba(11, 26, 51, .25); transition: background-color .3s ease, box-shadow .3s ease; }
.pt-tl li.on::before { background: var(--cobalt); box-shadow: inset 0 0 0 1.5px var(--cobalt), 0 0 0 3px rgba(49, 91, 255, .15); }
.pt-tl li.end.on::before { background: #16a34a; box-shadow: inset 0 0 0 1.5px #16a34a, 0 0 0 3px rgba(22, 163, 74, .15); }
.pt-tl b { display: block; font-size: 13.5px; font-weight: 500; color: var(--text); }
.pt-tl small { display: block; margin-top: 1px; font-size: 12px; color: var(--text-3); }
.an-c:not(.is-in) .pt-tl li { opacity: 0; transform: translateY(6px); }

/* C: what keeps running */
.pt-ck { margin: 0; padding: 0; list-style: none; }
.pt-ck li { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 42px; border-bottom: 1px solid var(--hair, rgba(11, 26, 51, .07)); font-size: 13.5px; color: var(--text); transition: opacity .45s var(--out), transform .6s var(--spring); }
.pt-ck li:last-child { border-bottom: 0; }
.pt-ck em { display: inline-flex; align-items: center; gap: 6px; flex: none; padding: 3px 8px; border-radius: 6px; font-style: normal; font-size: 12px; font-weight: 500; color: #15803d; background: rgba(22, 163, 74, .09); }
.pt-ck em::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #16a34a; box-shadow: 0 0 0 0 rgba(22, 163, 74, .5); animation: pt-pulse 2.4s ease-out infinite; }
.pt-ck li:nth-child(2) em::before { animation-delay: .6s; } .pt-ck li:nth-child(3) em::before { animation-delay: 1.2s; } .pt-ck li:nth-child(4) em::before { animation: none; }
@keyframes pt-pulse { 0% { box-shadow: 0 0 0 0 rgba(22, 163, 74, .45); } 70%, 100% { box-shadow: 0 0 0 6px rgba(22, 163, 74, 0); } }
.an-c:not(.is-in) .pt-ck li { opacity: 0; transform: translateY(6px); }
.pt-ck li:nth-child(2), .pt-tl li:nth-child(2) { transition-delay: .4s; } .pt-ck li:nth-child(3), .pt-tl li:nth-child(3) { transition-delay: .55s; } .pt-ck li:nth-child(4), .pt-tl li:nth-child(4) { transition-delay: .7s; }
.pt-ck li:nth-child(1), .pt-tl li:nth-child(1) { transition-delay: .25s; }

/* D: one lead through six jobs, over a wall of tools */
.pt-d .an-t { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px 40px; flex-wrap: wrap; }
.pt-d h3 { max-width: none; min-height: 0; }
.pt-d .an-cite { margin: 0; }
.pt-flow { position: relative; margin-top: 20px !important; }
.pt-rail { position: absolute; left: 0; right: 0; top: 20px; height: 1px; background: repeating-linear-gradient(90deg, rgba(11, 26, 51, .16) 0 4px, transparent 4px 8px); }
.pt-dot { position: absolute; left: 0; top: -4px; width: 9px; height: 9px; margin-left: -4.5px; border-radius: 50%; background: var(--cobalt); box-shadow: 0 0 0 4px rgba(49, 91, 255, .16); transform: translateX(var(--x, 0px)); transition: transform .9s var(--spring); }
.pt-steps { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.pt-step { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 0 0 4px; border: 0; background: none; cursor: pointer; font: 500 12.5px/1.3 var(--font); color: var(--text-3); text-align: center; transition: color .2s ease; }
.pt-step:hover { color: var(--text); }
.pt-si { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 8px; background: #fff; box-shadow: 0 0 0 1px rgba(11, 26, 51, .1), 0 1px 2px rgba(11, 26, 51, .05); transition: background-color .25s ease, box-shadow .25s ease, scale .4s var(--spring); }
.pt-si svg { width: 18px; height: 18px; fill: none; stroke: var(--text-2); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: stroke .25s ease; }
.pt-step[aria-pressed="true"] { color: var(--text); }
.pt-step[aria-pressed="true"] .pt-si { background: var(--cobalt); box-shadow: 0 8px 18px -8px rgba(49, 91, 255, .8); scale: 1.06; }
.pt-step[aria-pressed="true"] .pt-si svg { stroke: #fff; }
.pt-step:active .pt-si { scale: .96; }
.pt-desc { position: relative; height: 1.5em; margin: 14px 0 0; text-align: center; font-size: 13.5px; color: var(--text-2); }
.pt-desc span { position: absolute; left: 0; right: 0; opacity: 0; transform: translateY(4px); transition: opacity .3s ease, transform .4s var(--out); }
.pt-desc span.on { opacity: 1; transform: none; }
.pt-wall { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 18px !important; }
.pt-tile { display: grid; grid-template-columns: 32px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 10px; align-items: center; padding: 10px 12px; border-radius: 8px; background: #fff; box-shadow: 0 0 0 1px rgba(11, 26, 51, .08);
  transition: opacity .35s ease, box-shadow .35s ease, transform .5s var(--spring); }
.pt-tile .pt-lg { grid-row: 1 / 3; width: 32px; height: 32px; border-radius: 8px; }
.pt-tile b { font-size: 13.5px; font-weight: 500; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pt-tile small { font-size: 12px; color: var(--text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pt-wall.is-job .pt-tile { opacity: .38; }
.pt-wall.is-job .pt-tile.on { opacity: 1; transform: translateY(-2px); box-shadow: 0 0 0 1.5px var(--cobalt), 0 10px 22px -12px rgba(49, 91, 255, .6); }
.an-c:not(.is-in) .pt-tile { opacity: 0; transform: translateY(8px); }
.pt-tile { transition-delay: calc(var(--i, 0) * 30ms); }

@media (max-width: 1180px) {
  .pt-a, .pt-d { grid-column: 1 / -1; grid-row: auto; }
  .pt-b, .pt-c { grid-column: span 6; }
  .pt-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .pt-a, .pt-b, .pt-c, .pt-d { grid-column: 1 / -1; }
  .pt-tr { grid-template-columns: 24px minmax(0, 1fr) 112px 34px; column-gap: 8px; font-size: 12.5px; }
  .pt-cat, .pt-th span:nth-child(2) { display: none; }
  .pt-own em { padding: 0 6px; font-size: 11.5px; }
  .pt-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 14px; }
  .pt-rail { display: none; }
  .pt-desc { height: 3em; }
  .pt-wall { grid-template-columns: 1fr 1fr; }
  .pt-tile small { display: none; }
}
@media (prefers-reduced-motion: reduce) { .pt *, .pt *::before { transition: none !important; animation: none !important; } }

/* ================= v19 ================= */
/* toggle: both buttons carry the dot, so the pill never changes width when the mode flips */
.p-home .leaks .kl-mode-b::before { content: ''; display: inline-block; width: 7px; height: 7px; margin: 0 7px 1px 0; border-radius: 50%; background: rgba(11, 26, 51, .18); transition: background-color .25s ease; }
.p-home .leaks [data-mode="off"] .kl-mode-b[data-mode="off"]::before { background: var(--red, #e5484d); }
.p-home .leaks [data-mode="on"] .kl-mode-b[data-mode="on"]::before { background: var(--cobalt); }
.p-home .leaks .kl-mode { grid-template-columns: 1fr 1fr !important; }

/* nav button: the same chevron nudge as the page buttons, no arrow body */
.p-home .btn-nav .chev-l { display: none; }
.p-home .btn-nav .chev path:last-child { transition: transform .2s var(--out); }
.p-home .btn-nav:hover .chev path:last-child { transform: translateX(3px); }

/* hero: the promise shimmers (a periodic gradient that slides; off with reduced motion) */
.p-home .grad { background-image: linear-gradient(95deg, #315bff 0%, #6a58ff 18%, #9a7bff 32%, #59a8ff 50%, #315bff 68%, #6a58ff 84%, #315bff 100%); background-size: 200% 100%; background-repeat: repeat; animation: grad-flow 7s linear infinite; }
@keyframes grad-flow { from { background-position: 0% 50%; } to { background-position: 200% 50%; } }
@media (prefers-reduced-motion: reduce) { .p-home .grad { animation: none; } }

/* ---------- field backgrounds: one material, a motif per card that echoes what its panel shows ---------- */
.an-fld:not(.an-big) { overflow: clip; }
.an-fld:not(.an-big)::before { clip-path: none; background: none; }
.an-fld.warm { --c1: #ffb08a; --c2: #f2557a; --c3: #b48cff; }
.an-fld.cool { --c1: #8fd6ff; --c2: #4d73ff; --c3: #9a7dff; }
.an-fld::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.an-fld:not(.an-big)::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(75% 85% at 100% 100%, color-mix(in srgb, var(--c2) 42%, transparent), transparent 70%),
              radial-gradient(60% 75% at 0% 100%, color-mix(in srgb, var(--c1) 48%, transparent), transparent 72%),
              linear-gradient(180deg, transparent, color-mix(in srgb, var(--c3) 16%, transparent)); }
/* glow: soft light that breathes (chat, keeps running) */
.f-glow::before { animation: fld-breathe 12s ease-in-out infinite alternate; transform-origin: 70% 100%; }
@keyframes fld-breathe { to { transform: scale(1.08) translateY(-2%); } }
/* dots: a grid of points, like the 100 squares */
.f-dots::after { background: radial-gradient(circle, color-mix(in srgb, var(--c2) 62%, transparent) 1.1px, transparent 1.6px) 0 0 / 12px 12px;
  -webkit-mask: radial-gradient(90% 100% at 100% 100%, #000 15%, transparent 75%); mask: radial-gradient(90% 100% at 100% 100%, #000 15%, transparent 75%); }
/* rings: circles going out from the corner, like a ringing phone and a countdown */
.f-rings::after { background: repeating-radial-gradient(circle at 0% 100%, color-mix(in srgb, var(--c2) 46%, transparent) 0 1px, transparent 1.5px 20px); transform-origin: 0 100%; animation: fld-rings 5s ease-in-out infinite alternate;
  -webkit-mask: radial-gradient(130% 130% at 0% 100%, #000 25%, transparent 72%); mask: radial-gradient(130% 130% at 0% 100%, #000 25%, transparent 72%); }
@keyframes fld-rings { to { transform: scale(1.12); } }
/* rays: 24 hour rays from the corner, like a clock */
.f-rays::after { inset: -30%; background: repeating-conic-gradient(from 0deg at 100% 100%, color-mix(in srgb, var(--c2) 40%, transparent) 0deg .6deg, transparent .6deg 7.5deg); transform-origin: 100% 100%; animation: fld-rays 18s ease-in-out infinite alternate;
  -webkit-mask: radial-gradient(70% 70% at 100% 100%, #000 20%, transparent 70%); mask: radial-gradient(70% 70% at 100% 100%, #000 20%, transparent 70%); }
@keyframes fld-rays { to { transform: rotate(-6deg); } }
/* bars: vertical strokes rising from the bottom, like a bar chart */
.f-bars::after { background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--c2) 40%, transparent) 0 1px, transparent 1px 14px);
  -webkit-mask: linear-gradient(0deg, #000 5%, transparent 70%); mask: linear-gradient(0deg, #000 5%, transparent 70%); }
/* wave: a sound wave drifting sideways (calls) */
.f-wave::after { left: -400px; background: color-mix(in srgb, var(--c2) 46%, transparent); animation: fld-wave 9s linear infinite;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 120' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.2'%3E%3Cpath d='M0 60C50 30 150 90 200 60S350 30 400 60'/%3E%3Cpath d='M0 70C50 35 150 105 200 70S350 35 400 70'/%3E%3Cpath d='M0 80C50 42 150 118 200 80S350 42 400 80'/%3E%3Cpath d='M0 50C50 28 150 72 200 50S350 28 400 50'/%3E%3Cpath d='M0 90C50 60 150 120 200 90S350 60 400 90'/%3E%3C/g%3E%3C/svg%3E") 0 100% / 400px 80% repeat-x;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 120' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.2'%3E%3Cpath d='M0 60C50 30 150 90 200 60S350 30 400 60'/%3E%3Cpath d='M0 70C50 35 150 105 200 70S350 35 400 70'/%3E%3Cpath d='M0 80C50 42 150 118 200 80S350 42 400 80'/%3E%3Cpath d='M0 50C50 28 150 72 200 50S350 28 400 50'/%3E%3Cpath d='M0 90C50 60 150 120 200 90S350 60 400 90'/%3E%3C/g%3E%3C/svg%3E") 0 100% / 400px 80% repeat-x; }
@keyframes fld-wave { to { transform: translateX(400px); } }
/* lines: diagonal hairlines, like steps in a sequence */
.f-lines::after { background: repeating-linear-gradient(118deg, color-mix(in srgb, var(--c2) 38%, transparent) 0 1px, transparent 1px 10px);
  -webkit-mask: linear-gradient(270deg, #000, transparent 65%); mask: linear-gradient(270deg, #000, transparent 65%); }
/* rows: horizontal rules, like a table */
.f-rows::after { background: repeating-linear-gradient(180deg, color-mix(in srgb, var(--c2) 34%, transparent) 0 1px, transparent 1px 15px);
  -webkit-mask: linear-gradient(200deg, #000 10%, transparent 60%); mask: linear-gradient(200deg, #000 10%, transparent 60%); }
/* arc: wide arcs from the top corner, like a path being walked */
.f-arc::after { background: repeating-radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--c2) 40%, transparent) 0 1px, transparent 1.5px 26px);
  -webkit-mask: radial-gradient(110% 110% at 100% 0%, #000 20%, transparent 70%); mask: radial-gradient(110% 110% at 100% 0%, #000 20%, transparent 70%); }
/* grid: square cells, like the wall of tools */
.f-grid::after { background: linear-gradient(color-mix(in srgb, var(--c2) 30%, transparent) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(90deg, color-mix(in srgb, var(--c2) 30%, transparent) 1px, transparent 1px) 0 0 / 24px 24px;
  -webkit-mask: radial-gradient(70% 100% at 50% 100%, #000 20%, transparent 75%); mask: radial-gradient(70% 100% at 50% 100%, #000 20%, transparent 75%); }
@media (prefers-reduced-motion: reduce) { .an-fld::before, .an-fld::after { animation: none !important; } }

/* ---------- One lead, through tools you own: highlight and dot move together, no stagger, no jumps ---------- */
.pt-tile { transition: opacity .35s ease, box-shadow .35s ease !important; transition-delay: 0s !important; }
.pt-wall.is-job .pt-tile.on { transform: none; }
.an-c:not(.is-in) .pt-tile { opacity: 0; transform: none; }
.an-c.is-in .pt-tile { animation: pt-in .6s var(--out) both; animation-delay: calc(var(--i, 0) * 30ms); }
@keyframes pt-in { from { opacity: 0; translate: 0 8px; } }
.pt-dot { transition: transform .45s cubic-bezier(.65, 0, .35, 1); }
.pt-step .pt-si { transition: background-color .35s ease, box-shadow .35s ease; scale: 1 !important; }
.pt-d .an-pan { transform: none !important; }

/* ---------- Industries: dark and seamless with the photos ---------- */
.p-home .sec.industries { --ind-bg: #05090c; background: var(--ind-bg); color: #f2f5f9; padding: 0; min-height: 0; display: block; }
.ind-stick { padding: 120px 0 72px; }
.industries.is-held .ind-stick { position: sticky; top: 0; height: 100svh; min-height: 640px; padding: 96px 0 40px; display: flex; flex-direction: column; justify-content: center; overflow: hidden; }
.industries.is-held .gal { overflow: visible; }
.industries.css-drive.is-held { view-timeline: --ind block; }
.industries.css-drive.is-held .gal-track { animation: ind-x linear both; animation-timeline: --ind; animation-range: contain 0% contain 100%; }
@keyframes ind-x { to { transform: translate3d(calc(var(--dist, 0px) * -1), 0, 0); } }
.p-home .industries .head-run .h2 { color: #f2f5f9; }
.p-home .industries .head-run .h2 > span { color: rgba(226, 232, 242, .5); }
.p-home .industries .gal-track { gap: 0; will-change: transform; }
.p-home .industries .shot { border-radius: 0; box-shadow: none; background: var(--ind-bg); margin-right: -2px;
  -webkit-mask: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%), linear-gradient(180deg, transparent 0, #000 8%, #000 92%, transparent 100%); -webkit-mask-composite: source-in;
          mask: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%) intersect, linear-gradient(180deg, transparent 0, #000 8%, #000 92%, transparent 100%); }
.p-home .industries .shot::after { background: linear-gradient(90deg, rgba(5, 9, 12, .82) 0%, rgba(5, 9, 12, .35) 38%, transparent 60%), linear-gradient(0deg, rgba(5, 9, 12, .7), transparent 40%); }
.p-home .industries .shot img { transform: none; transition: none; }
.p-home .industries .shot-tx { left: 7%; padding: 0 0 clamp(28px, 4vh, 48px); max-width: 420px; }
.p-home .industries .shot h3 { color: #fff; font-size: clamp(26px, 2.4vw, 36px); }
.p-home .industries .shot p { color: rgba(226, 232, 242, .72); }
/* Lead activity: dark glass on the left, rows tick in */
.p-home .industries .shot-ui { left: 7%; right: auto; top: clamp(28px, 5vh, 56px); display: block; width: min(300px, 34%); min-width: 0; padding: 0; border-radius: 8px; overflow: hidden;
  background: rgba(14, 19, 28, .66); -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08), 0 30px 60px -20px rgba(0, 0, 0, .6); opacity: 0; transform: translateY(10px); }
.p-home .industries .shot-ui.is-on { opacity: 1; transform: none; }
.shot-ui-h { display: flex; align-items: center; gap: 10px; height: 44px; padding: 0 14px 0 10px; border-bottom: 1px solid rgba(255, 255, 255, .07); }
.shot-ui-h b { font-size: 13px; font-weight: 600; color: #fff; }
.shot-ui-h em { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-style: normal; font-size: 11.5px; color: rgba(226, 232, 242, .6); }
.shot-ui-h em::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 3px rgba(34, 197, 94, .18); }
.p-home .industries .shot-ic { width: 26px; height: 26px; border-radius: 6px; background-color: rgba(89, 168, 255, .16); background-size: 14px; }
.p-home .industries .shot-ic::after { display: none; }
.shot-ui ol { margin: 0; padding: 10px 14px 12px; list-style: none; }
.shot-ui li { position: relative; display: grid; grid-template-columns: 62px 1fr; gap: 10px; padding: 6px 0 6px 16px; font-size: 12.5px; color: rgba(226, 232, 242, .82); opacity: 0; transform: translateY(6px); transition: opacity .4s var(--out), transform .55s var(--spring); }
.shot-ui li::before { content: ''; position: absolute; left: 0; top: 11px; width: 7px; height: 7px; border-radius: 50%; background: rgba(226, 232, 242, .35); }
.shot-ui li:not(:last-child)::after { content: ''; position: absolute; left: 3px; top: 20px; bottom: -6px; width: 1px; background: rgba(226, 232, 242, .14); }
.shot-ui li:last-child::before { background: #59a8ff; box-shadow: 0 0 0 3px rgba(89, 168, 255, .22); }
.shot-ui li:last-child span { color: #fff; font-weight: 600; }
.shot-ui li time { color: rgba(226, 232, 242, .45); font-variant-numeric: tabular-nums; }
.shot-ui li.on { opacity: 1; transform: none; }
/* Not on the list?: the card that ends the row */
.p-home .industries .shot-end { -webkit-mask: none; mask: none; border-radius: 8px; margin: 0 0 0 24px; align-self: center; height: min(54svh, 560px); width: auto; aspect-ratio: 4 / 5; overflow: hidden;
  background: radial-gradient(90% 70% at 100% 0%, rgba(89, 168, 255, .45), transparent 60%), radial-gradient(80% 70% at 0% 100%, rgba(106, 88, 255, .5), transparent 65%), #0b1020;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08), 0 40px 80px -30px rgba(49, 91, 255, .45); }
.p-home .industries .shot-end::before { display: none; }
.p-home .industries .shot-end .shot-tx { left: 0; padding: clamp(24px, 3vw, 36px); max-width: none; }
.p-home .industries .shot-end p { color: rgba(226, 232, 242, .74); }
.p-home .industries .shot-end .btn { background: #fff; color: var(--text); }
.mq { position: absolute; left: 0; right: 0; top: clamp(24px, 3vw, 36px); display: grid; gap: 10px; -webkit-mask: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.mq-row { overflow: hidden; }
.mq-in { display: flex; gap: 8px; width: max-content; animation: mq 38s linear infinite; animation-play-state: paused; }
.mq-row:nth-child(2) .mq-in { animation-direction: reverse; animation-duration: 44s; }
.mq-row:nth-child(3) .mq-in { animation-duration: 34s; }
.mq.mq-run .mq-in { animation-play-state: running; }
.mq-in span { flex: none; padding: 8px 12px; border-radius: 6px; font-size: 13px; font-weight: 500; color: rgba(242, 245, 249, .9); background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .09); white-space: nowrap; }
.mq-row:nth-child(2) .mq-in span:nth-child(3n) { color: #fff; background: rgba(89, 168, 255, .2); box-shadow: inset 0 0 0 1px rgba(89, 168, 255, .35); }
@keyframes mq { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .mq-in { animation: none; } .shot-ui li { transition: none; } }
@media (max-width: 900px) {
  .ind-stick { padding: 80px 0 56px; }
  .p-home .industries .gal-track { gap: 12px; }
  .p-home .industries .shot { -webkit-mask: none; mask: none; border-radius: 8px; margin: 0; }
  .p-home .industries .shot-ui { left: 14px; top: 14px; width: min(260px, 70%); }
  .p-home .industries .shot-tx { left: 0; padding: 18px; }
  .p-home .industries .shot-end { margin: 0; height: auto; aspect-ratio: 4 / 5; width: 86vw; }
  .shot-ui li { grid-template-columns: 56px 1fr; font-size: 11.5px; }
}
.p-home .sec.industries { overflow: clip; }   /* .sec has overflow: hidden, which would stop the sticky hold */
/* nav over the dark industries section */
.p-home .nav { transition: background-color .3s ease, box-shadow .3s ease, color .3s ease; }
.p-home .nav.nav-dark, .p-home .nav.nav-dark.is-solid { background: rgba(5, 9, 12, .72); box-shadow: 0 1px 0 rgba(255, 255, 255, .06); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.p-home .nav.nav-dark .logo, .p-home .nav.nav-dark .logo .logo-k { fill: #fff; }
.p-home .nav.nav-dark .wm { color: #fff; }
.p-home .nav.nav-dark :is(.nav-links a, .nav-mail) { color: rgba(226, 232, 242, .72); }
.p-home .nav.nav-dark :is(.nav-links a, .nav-mail):hover, .p-home .nav.nav-dark .nav-links a[aria-current] { color: #fff; background: rgba(255, 255, 255, .06); }
.p-home .nav.nav-dark .nav-burger i { background: #fff; }
/* v19 fields, tuned: colour and motif sit where the field is visible (top band and left edge), not under the panel */
.an-fld:not(.an-big) { padding-top: 56px; padding-left: calc(var(--pad) + 14px); }
.an-fld:not(.an-big)::before {
  background: radial-gradient(70% 90% at 100% 0%, color-mix(in srgb, var(--c2) 62%, transparent), transparent 70%),
              radial-gradient(55% 110% at 0% 20%, color-mix(in srgb, var(--c1) 70%, transparent), transparent 72%),
              radial-gradient(50% 60% at 55% 0%, color-mix(in srgb, var(--c3) 45%, transparent), transparent 72%),
              linear-gradient(180deg, color-mix(in srgb, var(--c1) 18%, transparent), color-mix(in srgb, var(--c3) 22%, transparent)); }
.f-glow::before { transform-origin: 60% 0%; }
.f-dots::after { -webkit-mask: radial-gradient(80% 120% at 100% 0%, #000 25%, transparent 75%); mask: radial-gradient(80% 120% at 100% 0%, #000 25%, transparent 75%); }
.f-rings::after { background: repeating-radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--c2) 55%, transparent) 0 1px, transparent 1.5px 18px); transform-origin: 0 0;
  -webkit-mask: radial-gradient(120% 120% at 0% 0%, #000 30%, transparent 70%); mask: radial-gradient(120% 120% at 0% 0%, #000 30%, transparent 70%); }
.f-rays::after { background: repeating-conic-gradient(from 90deg at 100% 0%, color-mix(in srgb, var(--c2) 50%, transparent) 0deg .6deg, transparent .6deg 7.5deg); transform-origin: 100% 0;
  -webkit-mask: radial-gradient(75% 75% at 100% 0%, #000 25%, transparent 70%); mask: radial-gradient(75% 75% at 100% 0%, #000 25%, transparent 70%); }
.f-bars::after { background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--c2) 50%, transparent) 0 1px, transparent 1px 12px);
  -webkit-mask: linear-gradient(180deg, #000 10%, transparent 55%), linear-gradient(90deg, #000, #000); mask: linear-gradient(180deg, #000 10%, transparent 55%); }
.f-wave::after { -webkit-mask-position: 0 0; mask-position: 0 0; -webkit-mask-size: 400px 45%; mask-size: 400px 45%; background: color-mix(in srgb, var(--c2) 60%, transparent); }
.f-lines::after { background: repeating-linear-gradient(118deg, color-mix(in srgb, var(--c2) 50%, transparent) 0 1px, transparent 1px 9px); }
.f-rows::after { background: repeating-linear-gradient(180deg, color-mix(in srgb, var(--c2) 42%, transparent) 0 1px, transparent 1px 14px); }
.f-arc::after { background: repeating-radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--c2) 52%, transparent) 0 1px, transparent 1.5px 22px); }
.f-grid::after { -webkit-mask: radial-gradient(60% 110% at 50% 0%, #000 25%, transparent 75%); mask: radial-gradient(60% 110% at 50% 0%, #000 25%, transparent 75%);
  background: linear-gradient(color-mix(in srgb, var(--c2) 40%, transparent) 1px, transparent 1px) 0 0 / 22px 22px, linear-gradient(90deg, color-mix(in srgb, var(--c2) 40%, transparent) 1px, transparent 1px) 0 0 / 22px 22px; }
@media (max-width: 700px) { .an-fld:not(.an-big) { padding-top: 40px; padding-left: 26px; } }
.an-fld:not(.an-big)::before { -webkit-mask: linear-gradient(180deg, transparent 0, #000 56px); mask: linear-gradient(180deg, transparent 0, #000 56px); }
@supports (animation-timeline: view()) { @media (prefers-reduced-motion: no-preference) { .an-pan { animation-range: entry 0% cover 40%; } } }
@keyframes an-lift { from { translate: 0 16px; } to { translate: 0 0; } }

/* ================= v20 ================= */
/* buttons: soft and flat, like the first preview. No glow, no outline halo; a gentle lift in colour on hover. */
.p-home .btn { height: 44px; padding: 0 18px; border-radius: 8px; font-weight: 600; letter-spacing: -.008em; background: #3b5bff; color: #fff; box-shadow: none; }
.p-home .btn:hover { background: #4a68ff; box-shadow: none; }
.p-home .btn:active { background: #3352f0; }
.p-home .btn-lg { height: 50px; padding: 0 22px; font-size: 16px; }
.p-home .btn-ghost { background: #fff; color: var(--text); box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .1); }
.p-home .btn-ghost:hover { background: #f5f7fb; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .14); }
.p-home .btn-nav { height: 36px; padding: 0 14px; font-weight: 600; }
.p-home .cta .btn-ghost { background: rgba(255, 255, 255, .1); color: #fff; box-shadow: none; }
.p-home .cta .btn-ghost:hover { background: rgba(255, 255, 255, .16); }
.p-home .industries .shot-end .btn { background: #fff; color: var(--text); }
.p-home .industries .shot-end .btn:hover { background: #eef2ff; }
.p-home .btn:focus-visible { outline: 2px solid var(--cobalt); outline-offset: 2px; }

/* cookie banner in the house style: white card, hairline, chromatic depth, soft buttons */
.p-home .kxc-in { border-radius: 8px !important; padding: 18px 18px 18px 18px !important; gap: 14px !important; background: rgba(255, 255, 255, .97) !important; border: 0 !important;
  box-shadow: 0 0 0 1px rgba(11, 26, 51, .07), 0 30px 60px -12px rgba(50, 50, 93, .25), 0 18px 36px -18px rgba(0, 0, 0, .3) !important; color: var(--text-2) !important; font: 400 14px/1.55 var(--font) !important; }
.p-home .kxc-in::before, .p-home .kxc-in::after { display: none !important; }
.p-home .kxc-ic { width: 36px !important; height: 36px !important; border-radius: 8px !important; border: 0 !important; background: rgba(49, 91, 255, .08) !important; color: var(--cobalt) !important; box-shadow: none !important; }
.p-home .kxc-ic svg { width: 18px !important; height: 18px !important; }
.p-home .kxc-h { color: var(--text) !important; font: 600 15px/1.3 var(--font) !important; letter-spacing: -.01em; }
.p-home .kxc-p a { color: var(--text) !important; text-decoration-color: rgba(11, 26, 51, .25) !important; }
.p-home .kxc-b { gap: 8px !important; margin-top: 14px !important; }
.p-home .kxc-btn { height: 40px !important; border-radius: 8px !important; font: 600 14px/1 var(--font) !important; transition: background-color .15s ease !important; }
.p-home .kxc-btn[data-c=granted], .p-home .kxc-btn[data-c=granted]:hover, .p-home .kxc-btn[data-c=granted]:active { background: #3b5bff !important; border: 0 !important; color: #fff !important; box-shadow: none !important; }
.p-home .kxc-btn[data-c=granted]:hover { background: #4a68ff !important; }
.p-home .kxc-btn[data-c=granted] i { border-color: #fff !important; }
.p-home .kxc-btn:not([data-c=granted]), .p-home .kxc-btn:not([data-c=granted]):hover { background: #fff !important; border: 0 !important; color: var(--text) !important; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .1) !important; }
.p-home .kxc-btn:not([data-c=granted]):hover { background: #f5f7fb !important; }
.p-home .kxc-btn:focus-visible { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--cobalt) !important; }

/* Not on the list?: five dense rows of other industries; a bright band in the middle lights each chip as it passes */
.p-home .industries .shot-end .mq { top: 0; bottom: 42%; display: flex; flex-direction: column; justify-content: space-evenly; gap: 0; padding: 18px 0 8px;
  -webkit-mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent), linear-gradient(180deg, transparent, #000 14%, #000 82%, transparent); -webkit-mask-composite: source-in;
          mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent) intersect, linear-gradient(180deg, transparent, #000 14%, #000 82%, transparent); }
.p-home .industries .shot-end .mq::after { content: ''; position: absolute; top: 0; bottom: 0; left: 50%; width: 38%; translate: -50% 0; pointer-events: none;
  -webkit-backdrop-filter: brightness(1.7) saturate(1.4); backdrop-filter: brightness(1.7) saturate(1.4);
  -webkit-mask: linear-gradient(90deg, transparent, #000 35%, #000 65%, transparent); mask: linear-gradient(90deg, transparent, #000 35%, #000 65%, transparent); }
.p-home .industries .mq-in { gap: 8px; }
.p-home .industries .mq-in span { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px 7px 9px; border-radius: 6px; font-size: 13px; font-weight: 500; letter-spacing: -.005em;
  color: rgba(236, 241, 248, .78); background: rgba(255, 255, 255, .045); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
.p-home .industries .mq-in span i { width: 6px; height: 6px; border-radius: 2px; background: #59a8ff; }
.p-home .industries .mq-in .mq-v i { background: #9a7dff; } .p-home .industries .mq-in .mq-s i { background: #8fd6ff; }
.p-home .industries .mq-row:nth-child(2) .mq-in span:nth-child(3n) { color: rgba(236, 241, 248, .78); background: rgba(255, 255, 255, .045); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
.p-home .industries .mq-row:nth-child(1) .mq-in { animation-duration: 46s; }
.p-home .industries .mq-row:nth-child(2) .mq-in { animation-duration: 40s; animation-direction: reverse; }
.p-home .industries .mq-row:nth-child(3) .mq-in { animation-duration: 52s; }
.p-home .industries .mq-row:nth-child(4) .mq-in { animation-duration: 38s; animation-direction: reverse; }
.p-home .industries .mq-row:nth-child(5) .mq-in { animation-duration: 48s; }

/* ---------- Pricing: the product line at a glance ---------- */
.p-home .sec.pr { background: #f6f9fc; }
.pr-audit { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 32px; align-items: center; padding: 28px; border-radius: 8px; background: #fff; box-shadow: var(--sh-card); overflow: clip; position: relative; isolation: isolate; }
.pr-audit::before { content: ''; position: absolute; inset: 0 0 0 52%; z-index: -1; background: radial-gradient(70% 90% at 100% 0%, rgba(77, 115, 255, .28), transparent 70%), radial-gradient(60% 90% at 30% 100%, rgba(143, 214, 255, .35), transparent 70%), repeating-linear-gradient(118deg, rgba(77, 115, 255, .18) 0 1px, transparent 1px 9px);
  -webkit-mask: linear-gradient(90deg, transparent, #000 40%); mask: linear-gradient(90deg, transparent, #000 40%); }
.pr-au-t h3 { margin: 0; max-width: 26ch; font-size: clamp(22px, 1.9vw, 28px); line-height: 1.18; font-weight: 500; letter-spacing: -.024em; color: var(--text); text-wrap: balance; }
.pr-au-t p { margin: 10px 0 0; max-width: 56ch; font-size: 15px; line-height: 1.55; color: var(--text-2); }
.pr-au-cta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 18px; margin-top: 20px; }
.pr-au-cta small { font-size: 13px; color: var(--text-3); }
.pr-score { display: flex; align-items: center; gap: 20px; padding: 18px 20px; border-radius: 8px; background: #fff; box-shadow: var(--sh-ui-s); }
.pr-ring { position: relative; flex: none; width: 84px; height: 84px; display: grid; place-items: center; }
.pr-ring svg { position: absolute; inset: 0; transform: rotate(-90deg); }
.pr-ring circle { fill: none; stroke: rgba(11, 26, 51, .07); stroke-width: 5; }
.pr-ring .fg { stroke: #e5484d; stroke-linecap: round; stroke-dasharray: 38 100; stroke-dashoffset: 38; transition: stroke-dashoffset 1.4s var(--out) .2s; }
.pr-audit.is-in .pr-ring .fg { stroke-dashoffset: 0; }
.pr-ring b { font-size: 24px; font-weight: 500; letter-spacing: -.03em; color: var(--text); font-variant-numeric: tabular-nums; }
.pr-ring b small { font-size: 12px; color: var(--text-3); letter-spacing: 0; }
.pr-score ul { flex: 1; margin: 0; padding: 0; list-style: none; }
.pr-score li { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid rgba(11, 26, 51, .07); font-size: 13px; color: var(--text); }
.pr-score li:last-child { border-bottom: 0; }
.pr-score em { font-style: normal; font-weight: 600; color: #e5484d; white-space: nowrap; } .pr-score li.mid em { color: #b45309; }

.pr-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; margin: 44px 0 16px; }
.pr-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12.5px; color: var(--text-2); }
.pr-legend span { display: inline-flex; align-items: center; gap: 7px; }
.pr-legend i, .pr-lv i { display: block; border-radius: 2px; }
.pr-legend i { width: 14px; height: 6px; }
.pr-lv .rep, .pr-legend .rep { background: #315bff; } .pr-lv .web, .pr-legend .web { background: #59a8ff; } .pr-lv .fu, .pr-legend .fu { background: #6a58ff; }
.pr-lv .ai, .pr-legend .ai { background: #b14dff; } .pr-lv .loc, .pr-legend .loc { background: #0b1a33; }
.pr-bill { position: relative; display: inline-grid; grid-template-columns: 1fr 1fr; padding: 3px; border-radius: 8px; background: #eef1f6; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .06); }
.pr-bill button { position: relative; z-index: 1; height: 34px; padding: 0 16px; border: 0; border-radius: 6px; background: none; font: 500 13px/1 var(--font); color: var(--text-2); cursor: pointer; white-space: nowrap; transition: color .2s ease; }
.pr-bill button[aria-pressed="true"] { color: var(--text); }
.pr-bill-pill { position: absolute; top: 3px; bottom: 3px; left: 3px; width: calc(50% - 3px); border-radius: 6px; background: #fff; box-shadow: 0 0 0 1px rgba(11, 26, 51, .06), 0 2px 6px -1px rgba(50, 50, 93, .18); transition: transform .5s var(--spring); }
.pr-bar[data-bill="b"] .pr-bill-pill { transform: translateX(100%); }

.pr-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.pr-plan { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 20px 20px 20px; border-radius: 8px; background: #fff; box-shadow: var(--sh-card); transition: opacity .35s ease; }
.pr-hi { box-shadow: 0 0 0 1.5px #3b5bff, 0 30px 60px -28px rgba(50, 50, 93, .35), 0 18px 36px -20px rgba(49, 91, 255, .35); }
.pr-lv { display: grid; grid-template-rows: repeat(5, 6px); gap: 3px; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid rgba(11, 26, 51, .07); }
.pr-lv i { height: 6px; background: rgba(11, 26, 51, .06) !important; transform-origin: left; }
.pr-lv i.on.rep { background: #315bff !important; } .pr-lv i.on.web { background: #59a8ff !important; } .pr-lv i.on.fu { background: #6a58ff !important; } .pr-lv i.on.ai { background: #b14dff !important; } .pr-lv i.on.loc { background: #0b1a33 !important; }
.pr-lv { display: flex; flex-direction: column-reverse; }
.pr-plan .pr-lv i.on { animation: pr-grow .9s var(--out) both; }
.pr-plan .pr-lv i:nth-last-child(2).on, .pr-plan .pr-lv i:nth-child(2).on { animation-delay: .08s; }
.pr-plan .pr-lv i:nth-child(3).on { animation-delay: .16s; } .pr-plan .pr-lv i:nth-child(4).on { animation-delay: .24s; } .pr-plan .pr-lv i:nth-child(5).on { animation-delay: .32s; }
.pr-grid:not(.is-in) .pr-lv i.on { animation-play-state: paused; }
@keyframes pr-grow { from { transform: scaleX(0); } }
.pr-ph { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pr-ph h3 { margin: 0; font-size: 16px; font-weight: 600; letter-spacing: -.012em; color: var(--text); }
.pr-ph em { font-style: normal; font-size: 11.5px; font-weight: 500; color: var(--text-3); white-space: nowrap; }
.pr-hi .pr-ph em { padding: 3px 7px; border-radius: 6px; color: #3b5bff; background: rgba(59, 91, 255, .09); }
.pr-price { display: flex; align-items: baseline; gap: 6px; margin: 14px 0 0; }
.pr-price b { font-size: clamp(30px, 2.4vw, 38px); font-weight: 500; letter-spacing: -.045em; line-height: 1; color: var(--text); font-variant-numeric: tabular-nums; }
.pr-price span, .pr-from { font-size: 13px; color: var(--text-3); }
.pr-ret { margin: 6px 0 0; min-height: 1.5em; font-size: 13.5px; color: var(--text-2); font-variant-numeric: tabular-nums; }
.pr-grid[data-bill="b"] .pr-plan:not([data-z]) { opacity: .5; }
.pr-grid[data-bill="b"] .pr-plan[data-z] .pr-price b { color: #3b5bff; }
.pr-who { margin: 14px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--text); min-height: 3em; }
.pr-list { flex: 1; margin: 14px 0 0; padding: 14px 0 0; list-style: none; border-top: 1px solid rgba(11, 26, 51, .07); }
.pr-list li { position: relative; padding: 0 0 9px 22px; font-size: 13px; line-height: 1.45; color: var(--text-2); }
.pr-list li::before { content: ''; position: absolute; left: 0; top: 2px; width: 14px; height: 14px; border-radius: 4px; background: rgba(59, 91, 255, .1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='m4 7.2 2 2 4-4.2' fill='none' stroke='%233b5bff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat; }
.pr-list li.pr-inc { color: var(--text); font-weight: 500; }
.pr-list li.pr-inc::before { background: rgba(11, 26, 51, .06) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3.5 7h7M7 3.5v7' fill='none' stroke='%230b1a33' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center / 14px no-repeat; }
.pr-foot { margin-top: 10px; }
.pr-foot .btn { width: 100%; justify-content: center; height: 40px; font-size: 14px; }
.pr-foot small { display: block; margin-top: 10px; text-align: center; font-size: 12px; color: var(--text-3); }

.pr-cmp { margin-top: 12px; border-radius: 8px; background: #fff; box-shadow: var(--sh-card); overflow: clip; }
.pr-cr { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: 12px; padding: 0 20px; position: relative; }
.pr-cr + .pr-cr { border-top: 1px solid rgba(11, 26, 51, .07); }
.pr-cl { grid-column: 1 / -1; padding: 12px 0 2px; font-size: 12px; font-weight: 500; color: var(--text-3); }
.pr-cv { padding: 2px 0 12px; font-size: 13.5px; font-weight: 500; color: var(--text); font-variant-numeric: tabular-nums; }
.pr-cv small { display: none; }
.pr-na { color: rgba(11, 26, 51, .25); }

.pr-g { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: 44px; border-radius: 8px; background: #fff; box-shadow: var(--sh-card); }
.pr-gi { padding: 22px 22px 24px; }
.pr-gi + .pr-gi { box-shadow: -1px 0 0 rgba(11, 26, 51, .07); }
.pr-gic { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: rgba(59, 91, 255, .09); }
.pr-gic svg { width: 17px; height: 17px; fill: none; stroke: #3b5bff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pr-gi b { display: block; margin-top: 14px; font-size: 14.5px; font-weight: 600; line-height: 1.3; letter-spacing: -.01em; color: var(--text); }
.pr-gi p { margin: 6px 0 0; font-size: 13px; line-height: 1.5; color: var(--text-2); }

.pr-x { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 12px; margin-top: 12px; }
.pr-add, .pr-found { position: relative; padding: 22px; border-radius: 8px; background: #fff; box-shadow: var(--sh-card); overflow: clip; isolation: isolate; }
.pr-x h4 { margin: 0; font-size: 15px; font-weight: 600; color: var(--text); }
.pr-add ul { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; margin: 12px 0 0; padding: 0; list-style: none; }
.pr-add li { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid rgba(11, 26, 51, .07); font-size: 13px; color: var(--text); }
.pr-add li b { font-weight: 500; color: var(--text-2); white-space: nowrap; font-variant-numeric: tabular-nums; }
.pr-add p { margin: 12px 0 0; font-size: 13px; color: var(--text-2); }
.pr-found::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(80% 100% at 100% 0%, rgba(154, 125, 255, .3), transparent 70%), radial-gradient(60% 80% at 100% 100%, rgba(89, 168, 255, .3), transparent 70%); }
.pr-found p { margin: 8px 0 16px; max-width: 46ch; font-size: 13.5px; line-height: 1.55; color: var(--text-2); }
.pr-fine { margin: 20px 0 0; font-size: 12.5px; line-height: 1.6; color: var(--text-3); }
.pr-fine a { color: var(--text-2); text-decoration: underline; text-decoration-color: rgba(11, 26, 51, .2); text-underline-offset: 2px; }

@media (max-width: 1180px) {
  .pr-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pr-cmp { display: none; }
  .pr-g { grid-template-columns: 1fr 1fr; } .pr-gi:nth-child(3) { box-shadow: 0 -1px 0 rgba(11, 26, 51, .07); } .pr-gi:nth-child(4) { box-shadow: -1px 0 0 rgba(11, 26, 51, .07), 0 -1px 0 rgba(11, 26, 51, .07); }
}
@media (max-width: 900px) {
  .pr-audit { grid-template-columns: 1fr; } .pr-audit::before { inset: 45% 0 0 0; -webkit-mask: linear-gradient(180deg, transparent, #000 40%); mask: linear-gradient(180deg, transparent, #000 40%); }
  .pr-grid { grid-template-columns: 1fr 1fr; }
  .pr-x { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .pr-grid { grid-template-columns: 1fr; }
  .pr-g { grid-template-columns: 1fr; } .pr-gi + .pr-gi, .pr-gi:nth-child(3), .pr-gi:nth-child(4) { box-shadow: 0 -1px 0 rgba(11, 26, 51, .07); }
  .pr-add ul { grid-template-columns: 1fr; }
  .pr-bill { width: 100%; } .pr-bill button { padding: 0 8px; }
  .pr-score { flex-direction: column; align-items: stretch; } .pr-ring { align-self: center; }
}
@media (prefers-reduced-motion: reduce) { .pr-lv i.on { animation: none; } .pr-ring .fg { transition: none; } }

/* ================= v21 ================= */
.pr-g { margin-top: 12px; }   /* one gap between every pricing block */

/* buttons, as Stripe builds them (hds-button): flat fill, 4 px corners, and the hover arrow — the chevron slides 3 px
   and its shaft fades in (150 ms, ease-out-cubic). The arrow markup is added to every .btn by build.py. */
.btn, .p-home .btn { gap: 8px; border-radius: 4px; font-weight: 500; letter-spacing: -.005em; box-shadow: none; transition: background-color .15s cubic-bezier(.215, .61, .355, 1), color .15s cubic-bezier(.215, .61, .355, 1); }
.btn::after, .p-home .btn::after, .p-home .btn:not(.btn-nav)::after { content: none; display: none; }
.p-home .btn:active { scale: 1; }
.p-home .btn { background: #3b5bff; color: #fff; }
.p-home .btn:hover { background: #2c49e8; }
.p-home .btn-ghost { background: #fff; color: var(--text); box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .12); }
.p-home .btn-ghost:hover { background: #f6f8fc; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .18); }
.arw { position: relative; flex: none; display: inline-block; width: 9px; height: 8px; overflow: hidden; margin-right: -2px; }
.arw svg { position: absolute; left: 0; top: 0; width: 5px; height: 8px; overflow: visible; }
.arw .arrow-group { transition: transform .15s cubic-bezier(.215, .61, .355, 1); }
.arw .shaft { opacity: 0; transition: opacity .15s cubic-bezier(.215, .61, .355, 1); }
.btn:hover .arw .arrow-group, .btn:focus-visible .arw .arrow-group { transform: translateX(3px); }
.btn:hover .arw .shaft, .btn:focus-visible .arw .shaft { opacity: 1; }
.btn .btn-t { white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .arw .arrow-group, .arw .shaft { transition: none; } }

/* final CTA: dark like the industries, the photo large on the right and dissolving into the background, copy left */
.p-home .cta { --ind-bg: #05090c; background: var(--ind-bg); color: #f2f5f9; min-height: min(88svh, 840px); align-items: center; }
.p-home .cta::after { display: none; }
.p-home .cta-media { inset: 0 0 0 26%; }
.p-home .cta-media img { object-position: 60% 50%; transform: none; filter: brightness(1.25) contrast(1.05);
  -webkit-mask: linear-gradient(90deg, transparent 0, #000 42%), linear-gradient(180deg, transparent 0, #000 16%, #000 84%, transparent 100%); -webkit-mask-composite: source-in;
          mask: linear-gradient(90deg, transparent 0, #000 42%) intersect, linear-gradient(180deg, transparent 0, #000 16%, #000 84%, transparent 100%); }
.p-home .cta-shade { display: none; }
.p-home .cta-in { align-items: flex-start; text-align: left; padding: clamp(96px, 12vw, 140px) var(--gut); }
.p-home .cta .cta-row { justify-content: flex-start; }
.p-home .cta-h { max-width: 12ch; color: #fff; font-size: clamp(42px, 5.4vw, 80px); font-weight: 500; letter-spacing: -.04em; }
.p-home .cta-sub { max-width: 38ch; color: rgba(226, 232, 242, .72); }
@media (max-width: 900px) { .p-home .cta-media { inset: 0; } .p-home .cta-media img { -webkit-mask: linear-gradient(180deg, transparent 0, #000 20%, #000 55%, transparent 100%); mask: linear-gradient(180deg, transparent 0, #000 20%, #000 55%, transparent 100%); opacity: .55; } .p-home .cta { align-items: flex-end; } }

/* footer: dark, continuing the CTA; a newsletter field in place of the button */
.p-home .ft { background: #05090c; color: rgba(226, 232, 242, .62); border-top: 1px solid rgba(255, 255, 255, .06); }
.p-home .ft-brand .wm, .p-home .ft-brand .wm .logo { color: #fff; fill: #fff; }
.p-home .ft .logo, .p-home .ft .logo .logo-k { fill: #fff; }
.p-home .ft-brand p { color: rgba(226, 232, 242, .62); }
.p-home .ft-cols h4 { color: #fff; }
.p-home .ft-cols a { color: rgba(226, 232, 242, .6); }
.p-home .ft-cols a:hover { color: #fff; }
.p-home .ft-bot { color: rgba(226, 232, 242, .45); border-color: rgba(255, 255, 255, .07); }
.ft-news { max-width: 440px; margin-top: 4px; }
.ft-news label { display: block; margin-bottom: 10px; font-size: 14px; font-weight: 600; color: var(--text); }
.ft-news-row { display: flex; gap: 8px; }
.ft-news input { flex: 1; min-width: 0; height: 44px; padding: 0 14px; border-radius: 4px; border: 0; font: 400 15px/1 var(--font); color: #fff; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); transition: box-shadow .15s ease, background-color .15s ease; }
.ft-news input::placeholder { color: rgba(226, 232, 242, .42); }
.ft-news input:hover { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .24); }
.ft-news input:focus { outline: none; background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px #59a8ff, 0 0 0 3px rgba(89, 168, 255, .25); }
.ft-news .btn { height: 44px; padding: 0 18px; }
.ft-news p { margin: 12px 0 0; max-width: 46ch; font-size: 12.5px; line-height: 1.55; color: rgba(226, 232, 242, .5); }
.ft-news p a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.p-home .ft-news label { color: #fff; }
@media (max-width: 600px) { .ft-news-row { flex-direction: column; } .ft-news .btn { width: 100%; justify-content: center; } }

/* ================= v22 ================= */
/* hover like Stripe: the card grows a touch and a thin chrome ring lights up around the cursor (ring element and
   --mx/--my come from home.js; pointer devices only) */

/* nav by sections: links sit right after the logo (Stripe), contact and the button on the right */
.nav-in { grid-template-columns: auto 1fr auto; column-gap: 28px; }
.nav-links { justify-self: start; }
.p-home .nav-mail { color: #4b5565; }
@media (max-width: 1180px) { .nav-mail { display: inline-flex; } }
@media (max-width: 1000px) { .nav-mail { display: none; } }

/* comparison: a real table, plan names on top, labels on the left */
.pr-cmp { display: block; padding: 4px 20px 6px; }
.pr-tr { display: grid; grid-template-columns: minmax(150px, 1.15fr) repeat(5, minmax(0, 1fr)); column-gap: 16px; align-items: center; min-height: 46px; font-size: 13.5px; color: var(--text); font-variant-numeric: tabular-nums; }
.pr-tr + .pr-tr { border-top: 1px solid rgba(11, 26, 51, .07); }
.pr-tr > span:first-child { color: var(--text-2); }
.pr-th { min-height: 42px; font-size: 12.5px; font-weight: 600; color: var(--text); }
.pr-th > span:first-child { color: var(--text-3); font-weight: 500; }
.pr-tr .pr-na { color: rgba(11, 26, 51, .25); }
@media (max-width: 1180px) { .pr-cmp { display: block; overflow-x: auto; } .pr-tr { min-width: 760px; } }

/* Founding clients: a full-width bento card with a bright field and the founding prices */
.pr-x { grid-template-columns: 1fr; }
.pr-x .pr-found { order: -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); padding: 0; background: #fff; }
.pr-found::before { display: none; }
.pf-t { padding: 32px 28px; display: flex; flex-direction: column; align-items: flex-start; }
.pf-t h3 { margin: 0; font-size: clamp(24px, 2.2vw, 32px); line-height: 1.12; font-weight: 500; letter-spacing: -.028em; color: var(--text); text-wrap: balance; }
.pf-t p { margin: 12px 0 22px; max-width: 46ch; font-size: 15px; line-height: 1.55; color: var(--text-2); }
.pf-t small { margin-top: 12px; font-size: 12.5px; color: var(--text-3); }
.pf-fld { margin: 0; padding: 44px 0 0 44px !important; }
.pf-fld.an-fld:not(.an-big)::before { -webkit-mask: none; mask: none;
  background: radial-gradient(80% 90% at 100% 0%, rgba(154, 125, 255, .75), transparent 70%), radial-gradient(70% 90% at 0% 100%, rgba(89, 168, 255, .7), transparent 70%), radial-gradient(60% 70% at 40% 20%, rgba(242, 85, 122, .35), transparent 70%), linear-gradient(135deg, #dfe8ff, #efe3ff); }
.pf-fld::after { background: repeating-linear-gradient(118deg, rgba(255, 255, 255, .35) 0 1px, transparent 1px 9px); -webkit-mask: linear-gradient(90deg, #000, transparent 60%); mask: linear-gradient(90deg, #000, transparent 60%); }
.pf-tbl { margin-top: 8px !important; }
.pf-r { display: grid; grid-template-columns: .8fr 1fr 1.3fr; gap: 12px; align-items: baseline; min-height: 48px; padding: 12px 0; border-bottom: 1px solid rgba(11, 26, 51, .07); font-size: 14px; color: var(--text); font-variant-numeric: tabular-nums; }
.pf-r:last-child { border-bottom: 0; }
.pf-h { min-height: 0; padding: 4px 0 10px; font-size: 12px; font-weight: 500; color: var(--text-3); }
.pf-r b { font-weight: 600; }
.pf-r span { font-size: 18px; font-weight: 500; letter-spacing: -.02em; color: #3b5bff; }
.pf-h span { font-size: 12px; letter-spacing: 0; color: var(--text-3); }
.pf-r s { margin-right: 8px; font-size: 13px; font-weight: 400; letter-spacing: 0; color: var(--text-3); text-decoration-color: rgba(229, 72, 77, .7); }
.pf-r small { font-size: 12px; color: var(--text-3); }
.pr-add ul { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .pr-x .pr-found { grid-template-columns: 1fr; } .pr-add ul { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .pr-add ul { grid-template-columns: 1fr; } .pf-fld { padding: 32px 0 0 20px !important; } .pf-r span { font-size: 15px; } }

/* ================= legal pages (v22): the live text, verbatim, in the home's light style ================= */
.p-doc { background: #f6f9fc; }
.doc { padding: 120px 0 96px; }
.doc-h { max-width: 860px; margin-bottom: 40px; }
.doc-h .h2 { margin: 0; font-size: clamp(36px, 4vw, 56px); line-height: 1.05; font-weight: 500; letter-spacing: -.035em; color: var(--text); }
.doc-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 16px; font-size: 14px; color: var(--text-3); }
.doc-meta .lg-pdf { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 12px; border-radius: 4px; font-size: 13.5px; font-weight: 500; color: var(--text); background: #fff; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .12); transition: background-color .15s ease; }
.doc-meta .lg-pdf:hover { background: #eef2f8; }
.doc-grid { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 48px; align-items: start; }
.doc-toc { position: sticky; top: 88px; max-height: calc(100svh - 110px); overflow: auto; padding-right: 8px; font-size: 13px; scrollbar-width: thin; }
.doc-toc > b { display: block; margin-bottom: 10px; font-size: 12.5px; font-weight: 600; color: var(--text); }
.doc-toc .lg-toc { display: flex; flex-direction: column; gap: 1px; margin: 0; padding: 0; border: 0; background: none; }
.doc-toc a { display: block; padding: 6px 10px; border-radius: 4px; color: var(--text-2); line-height: 1.35; transition: background-color .15s ease, color .15s ease; }
.doc-toc a:hover { color: var(--text); background: rgba(11, 26, 51, .04); }
.doc-toc a.is-on { color: #3b5bff; background: rgba(59, 91, 255, .08); }
.doc-body { max-width: 760px; padding: 36px 40px 40px; border-radius: 8px; background: #fff; box-shadow: var(--sh-card); font-size: 15.5px; line-height: 1.7; color: var(--text-2); }
.doc-body h2 { scroll-margin-top: 96px; margin: 44px 0 12px; font-size: 22px; line-height: 1.25; font-weight: 600; letter-spacing: -.015em; color: var(--text); }
.doc-body h3 { margin: 26px 0 8px; font-size: 16.5px; font-weight: 600; color: var(--text); }
.doc-body p { margin: 12px 0; }
.doc-body b, .doc-body strong { color: var(--text); font-weight: 600; }
.doc-body ul { margin: 10px 0; padding-left: 20px; }
.doc-body li { margin: 6px 0; }
.doc-body li::marker { color: #3b5bff; }
.doc-body a { color: #3b5bff; text-decoration: underline; text-decoration-color: rgba(59, 91, 255, .3); text-underline-offset: 2px; }
.doc-body a:hover { text-decoration-color: currentColor; }
.doc-body .lg-sum { margin: 0 0 8px; padding: 20px 22px; border-radius: 6px; background: linear-gradient(135deg, rgba(143, 214, 255, .16), rgba(154, 125, 255, .14)); box-shadow: inset 0 0 0 1px rgba(59, 91, 255, .14); }
.doc-body .lg-sum > b { display: block; margin-bottom: 6px; font-size: 15px; }
.doc-body .lg-sum ul { margin: 0; }
.doc-body .lg-meta { font-size: 13.5px; color: var(--text-3); }
.doc-body .lg-cons { font-weight: 600; color: var(--text); }
.doc-body .lg-tw { margin: 14px 0; overflow-x: auto; }
.doc-body table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 14px; }
.doc-body th, .doc-body td { padding: 10px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(11, 26, 51, .08); }
.doc-body th { font-size: 12.5px; font-weight: 600; color: var(--text-3); }
.doc-body td:first-child { width: 32%; font-weight: 500; color: var(--text); }
@media (max-width: 900px) { .doc { padding: 96px 0 64px; } .doc-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; } .doc-toc { position: static; max-height: none; } .doc-toc .lg-toc { flex-direction: row; flex-wrap: wrap; } .doc-body { padding: 24px 20px; font-size: 15px; } }

/* ================= Apply (v22): the live form in the home's style; no modal anywhere ================= */
.p-apply { background: #f6f9fc; }
.p-apply .ap { padding: 112px 0 96px; }
.p-apply .ap-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 40px; align-items: start; max-width: calc(var(--wrap) + var(--gut) * 2); }
.ap-info { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 16px; }
.ap-info .h2 { margin: 0 0 8px; font-size: clamp(30px, 3.2vw, 44px); line-height: 1.1; font-weight: 500; letter-spacing: -.028em; color: var(--text); }
.ap-info .h2 > span { color: var(--text-3); }
.ap-steps-c .an-fld { margin-top: 0; }
.ap-steps { margin: 0; padding: 0; list-style: none; }
.ap-steps li { display: grid; grid-template-columns: 28px 1fr auto; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid rgba(11, 26, 51, .07); }
.ap-steps li:last-child { border-bottom: 0; }
.ap-n { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 6px; font-size: 12.5px; font-weight: 600; color: var(--text-2); background: rgba(11, 26, 51, .05); }
.ap-steps li.on .ap-n { color: #fff; background: #3b5bff; }
.ap-steps b { display: block; font-size: 14px; font-weight: 600; color: var(--text); }
.ap-steps small { font-size: 12.5px; color: var(--text-2); }
.ap-steps em { font-style: normal; font-size: 12px; font-weight: 500; color: #3b5bff; padding: 3px 8px; border-radius: 4px; background: rgba(59, 91, 255, .09); }
.ap-note { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 8px; background: #fff; box-shadow: var(--sh-card); }
.ap-note img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.ap-note p { margin: 0; font-size: 13px; line-height: 1.45; color: var(--text-2); }
.ap-note b { display: block; font-size: 14px; color: var(--text); }
.ap-alt { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; font-size: 13.5px; color: var(--text-3); }
.ap-alt a { color: var(--text); font-weight: 500; text-decoration: underline; text-decoration-color: rgba(11, 26, 51, .2); text-underline-offset: 2px; }
.ap-priv { margin: 0; font-size: 12.5px; color: var(--text-3); }
.ap-priv a { color: inherit; text-decoration: underline; }
@media (max-width: 900px) { .p-apply .ap-grid { grid-template-columns: 1fr; } .ap-info { position: static; } }
/* the live form, in house style */
html body.p-apply .apply-card { border-radius: 8px !important; border: 0 !important; background: #fff !important; box-shadow: var(--sh-card) !important; padding: 32px !important; }
html body.p-apply .apply-card::before, html body.p-apply .apply-card::after { display: none !important; }
html body.p-apply .form-title, html body.p-apply .form-title * { background: none !important; -webkit-text-fill-color: currentColor !important; color: var(--text) !important; font-weight: 500 !important; letter-spacing: -.024em !important; }
html body.p-apply .form-sub { color: var(--text-2) !important; }
html body.p-apply #apply-form :is(input, select, textarea) { background: #fff !important; border: 0 !important; border-radius: 4px !important; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .14) !important; color: var(--text) !important; font: 400 15px/1.4 var(--font) !important; transition: box-shadow .15s ease !important; }
html body.p-apply #apply-form :is(input, select, textarea):hover { box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .24) !important; }
html body.p-apply #apply-form :is(input, select, textarea):focus { outline: none !important; box-shadow: inset 0 0 0 1px #3b5bff, 0 0 0 3px rgba(59, 91, 255, .18) !important; }
html body.p-apply #apply-form label { color: var(--text) !important; font-weight: 500 !important; }
html body.p-apply .fx-chip { border-radius: 4px !important; background: #fff !important; border: 0 !important; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .14) !important; color: var(--text) !important; transform: none !important; }
html body.p-apply .fx-chip:hover { box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .28) !important; }
html body.p-apply .fx-chip.is-on { background: #3b5bff !important; color: #fff !important; box-shadow: none !important; }
html body.p-apply .btn-submit { width: 100%; height: 48px !important; justify-content: center; border-radius: 4px !important; box-shadow: none !important; }

/* ================= v23 ================= */
.kx-hv { position: relative; }
.an-c { border-radius: var(--an-r, 8px); }   /* cards outside a bento (founding, FAQ, apply) keep the same corners */
/* hover (v24): smooth on every card. The card only changes transform (scale on its own compositor layer, so it never
   re-rasterises mid-move) and its shadow; the chrome is a separate 1 px ring layer (.kx-ring, xor mask, no second mask)
   whose bright arc turns towards the cursor by changing one angle, so moving the mouse repaints a hairline, not the card. */
@property --kx-a { syntax: '<angle>'; inherits: true; initial-value: 0deg; }
.p-home .kx-hv { will-change: transform; transform-origin: 50% 50%; backface-visibility: hidden;
  transition: transform .6s cubic-bezier(.22, 1, .36, 1), box-shadow .5s cubic-bezier(.22, 1, .36, 1), opacity .9s cubic-bezier(.23, 1, .32, 1) !important; }
@media (hover: hover) and (pointer: fine) {
  .p-home .kx-hv.is-in:hover, .p-home .kx-hv:not(.an-c):hover { transform: scale(var(--kx-s, 1.012)) !important; z-index: 2; }
  .p-home .kx-hv:hover { box-shadow: 0 0 0 1px rgba(11, 26, 51, .04), 0 2px 4px rgba(11, 26, 51, .04), 0 26px 50px -22px rgba(50, 50, 93, .3) !important; }
}
.p-home :is(.an-a, .an-led, .pr-found, .pt-a, .pt-d, .an-fu, .fq2-cta, .pr-audit).kx-hv { --kx-s: 1.005; }
.kx-ring { position: absolute; inset: 0; z-index: 6; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .45s ease, --kx-a .5s cubic-bezier(.22, 1, .36, 1);
  padding: 1px; background: conic-gradient(from calc(var(--kx-a) - 70deg), transparent 0deg, #8fd6ff 25deg, #6a58ff 55deg, #b14dff 75deg, #f2557a 95deg, #ffb08a 118deg, transparent 150deg, transparent 360deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); }
@media (hover: hover) and (pointer: fine) { .kx-hv:hover > .kx-ring { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .p-home .kx-hv, .kx-ring { transition: none !important; } .p-home .kx-hv:hover { transform: none !important; } }

.p-home .shot-tx .btn span { font-size: inherit; color: inherit; letter-spacing: inherit; }

/* ---------- Apply, house style (v23): every piece of the live form redrawn; the old look is gone ---------- */
html body.p-apply { --ap-line: rgba(11, 26, 51, .12); --ap-line-2: rgba(11, 26, 51, .2); }
/* left column */
.p-apply .ap-steps-c { padding: 0; overflow: clip; }
.ap-sf { position: relative; padding: 20px; isolation: isolate; }
.ap-sf::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(70% 90% at 100% 0%, rgba(154, 125, 255, .4), transparent 70%), radial-gradient(60% 90% at 0% 100%, rgba(89, 168, 255, .4), transparent 70%), linear-gradient(135deg, #eef4ff, #f3eeff); }
.ap-sf::after { content: ''; position: absolute; inset: 0; z-index: -1; background: repeating-radial-gradient(circle at 100% 0%, rgba(77, 115, 255, .3) 0 1px, transparent 1.5px 22px); -webkit-mask: radial-gradient(100% 100% at 100% 0%, #000 20%, transparent 70%); mask: radial-gradient(100% 100% at 100% 0%, #000 20%, transparent 70%); }
.ap-pan { border-radius: 6px; background: #fff; box-shadow: var(--sh-ui-s); overflow: hidden; }
.ap-pan .ap-steps { padding: 4px 18px 6px; }
/* card */
html body.p-apply .apply-card { padding: 28px !important; }
html body.p-apply .fx-head { display: none !important; }
html body.p-apply #view-form > .eyebrow { display: none !important; }
html body.p-apply #apply-form.fx-split { display: block !important; }
html body.p-apply #apply-form .fx-l, html body.p-apply #apply-form .fx-r { display: block !important; width: auto !important; padding: 0 !important; border: 0 !important; }
html body.p-apply #apply-form .field-row { display: grid !important; grid-template-columns: 1fr 1fr; gap: 14px !important; }
html body.p-apply #apply-form .field { margin: 0 0 18px !important; }
html body.p-apply #apply-form label { display: flex; align-items: center; gap: 8px; margin: 0 0 8px !important; font: 500 13.5px/1.2 var(--font) !important; letter-spacing: 0 !important; text-transform: none !important; }
html body.p-apply #apply-form .opt { padding: 1px 6px !important; border-radius: 4px !important; font: 500 11px/1.5 var(--font) !important; color: var(--text-3) !important; background: rgba(11, 26, 51, .05) !important; border: 0 !important; }
html body.p-apply #apply-form :is(input:not([type=checkbox]):not([type=radio]), select, textarea) { height: 44px; padding: 0 14px !important; }
html body.p-apply #apply-form textarea { height: auto; min-height: 120px; padding: 12px 14px !important; resize: vertical; }
html body.p-apply #apply-form .field.fx-ok :is(input, textarea) { box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .16) !important; }   /* filled: quiet frame + a cobalt check (no green in the palette) */
html body.p-apply #apply-form .field.fx-ok input { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233b5bff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; background-size: 15px !important; }
html body.p-apply #apply-form .field.fx-ok :is(input, textarea):focus { box-shadow: inset 0 0 0 1px #3b5bff, 0 0 0 3px rgba(59, 91, 255, .18) !important; }
html body.p-apply #apply-form .field-err { font-size: 12.5px !important; color: #e5484d !important; }
html body.p-apply #apply-form .fx-count { font-size: 12px !important; color: var(--text-3) !important; }
html body.p-apply #apply-form .suggest { border-radius: 6px !important; background: #fff !important; border: 0 !important; box-shadow: var(--sh-ui-s) !important; }
/* choices */
html body.p-apply .fx-chips { gap: 8px !important; }
html body.p-apply .fx-chip { height: 38px !important; padding: 0 14px !important; font: 500 13.5px/1 var(--font) !important; transition: background-color .15s ease, box-shadow .15s ease, color .15s ease !important; }
html body.p-apply .fx-chip[aria-checked="true"], html body.p-apply .fx-chip.is-on { background: #3b5bff !important; color: #fff !important; box-shadow: none !important; }
html body.p-apply .fx-tags { gap: 6px !important; margin-bottom: 10px !important; }
html body.p-apply .fx-tag { height: 30px !important; padding: 0 10px !important; border-radius: 4px !important; border: 0 !important; background: rgba(11, 26, 51, .04) !important; box-shadow: none !important; font: 500 12.5px/1 var(--font) !important; color: var(--text-2) !important; transition: background-color .15s ease, color .15s ease !important; }
html body.p-apply .fx-tag:hover { background: rgba(11, 26, 51, .08) !important; color: var(--text) !important; }
html body.p-apply .fx-tag.is-on { background: rgba(59, 91, 255, .1) !important; color: #3b5bff !important; }
/* Discovery Call */
html body.p-apply #apply-form .kb { margin: 8px 0 18px !important; padding: 18px !important; border-radius: 6px !important; border: 0 !important; background: #f6f9fc !important; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .07) !important; }
html body.p-apply #apply-form .kb::before, html body.p-apply #apply-form .kb::after { display: none !important; }
html body.p-apply #apply-form .kb-head { gap: 12px !important; margin-bottom: 14px !important; }
html body.p-apply #apply-form .kb-head b { font: 600 15px/1.3 var(--font) !important; color: var(--text) !important; }
html body.p-apply #apply-form .kb-head small { font-size: 12.5px !important; color: var(--text-3) !important; }
html body.p-apply #apply-form .kb-ico { width: 36px !important; height: 36px !important; border-radius: 6px !important; border: 0 !important; background: rgba(59, 91, 255, .1) !important; color: #3b5bff !important; box-shadow: none !important; }
html body.p-apply #apply-form .kb-tz { margin-bottom: 12px !important; font-size: 12.5px !important; color: var(--text-3) !important; }
html body.p-apply #apply-form .kb-tzbtn { height: 32px !important; padding: 0 10px !important; border-radius: 4px !important; border: 0 !important; background: #fff !important; box-shadow: inset 0 0 0 1px var(--ap-line) !important; font: 500 12.5px/1 var(--font) !important; color: var(--text) !important; }
html body.p-apply #apply-form .kb-day { width: 64px !important; min-width: 64px !important; height: auto !important; padding: 9px 0 8px !important; border-radius: 6px !important; border: 0 !important; background: #fff !important; box-shadow: inset 0 0 0 1px var(--ap-line) !important; color: var(--text) !important; transition: box-shadow .15s ease, background-color .15s ease !important; }
html body.p-apply #apply-form .kb-day:hover { box-shadow: inset 0 0 0 1px var(--ap-line-2) !important; }
html body.p-apply #apply-form .kb-day small { font: 500 11px/1.3 var(--font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--text-3) !important; }
html body.p-apply #apply-form .kb-day b { font: 500 20px/1.2 var(--font) !important; letter-spacing: -.02em !important; color: var(--text) !important; }
html body.p-apply #apply-form .kb-day em { font: 500 11px/1.4 var(--font) !important; font-style: normal !important; color: #15803d !important; }
html body.p-apply #apply-form .kb-day.is-on { background: rgba(59, 91, 255, .06) !important; box-shadow: inset 0 0 0 1.5px #3b5bff !important; }
html body.p-apply #apply-form .kb-day.is-on b, html body.p-apply #apply-form .kb-day.is-on em { color: #3b5bff !important; }
html body.p-apply #apply-form .kbx-arr { width: 32px !important; height: 32px !important; border-radius: 6px !important; border: 0 !important; background: #fff !important; box-shadow: inset 0 0 0 1px var(--ap-line), 0 2px 6px -2px rgba(50, 50, 93, .25) !important; color: var(--text) !important; }
html body.p-apply #apply-form .kb-slots { gap: 6px !important; margin-top: 14px !important; }
html body.p-apply #apply-form .kbx-grp { font: 500 12px/1 var(--font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--text-3) !important; }
html body.p-apply #apply-form .kbx-grp em { color: var(--text-3) !important; background: none !important; }
html body.p-apply #apply-form .kb-slot { height: 36px !important; border-radius: 4px !important; border: 0 !important; background: #fff !important; box-shadow: inset 0 0 0 1px var(--ap-line) !important; font: 500 13.5px/1 var(--font) !important; color: var(--text) !important; transition: box-shadow .15s ease, background-color .15s ease, color .15s ease !important; }
html body.p-apply #apply-form .kb-slot:hover { box-shadow: inset 0 0 0 1px #3b5bff !important; color: #3b5bff !important; }
html body.p-apply #apply-form .kb-slot.is-on, html body.p-apply #apply-form .kb-slot[aria-pressed="true"] { background: #3b5bff !important; color: #fff !important; box-shadow: none !important; }
html body.p-apply #apply-form .kb-load i { border-radius: 4px !important; background: rgba(11, 26, 51, .06) !important; }
html body.p-apply #apply-form .kb-pick { margin-top: 12px !important; font-size: 13px !important; color: var(--text-2) !important; }
html body.p-apply #apply-form .kb-pick b { color: #3b5bff !important; }
html body.p-apply #apply-form .kb-note { font-size: 12.5px !important; color: var(--text-3) !important; }
html body.p-apply .tzp { border-radius: 8px !important; border: 0 !important; background: #fff !important; box-shadow: 0 0 0 1px rgba(11, 26, 51, .07), var(--sh-ui) !important; }
html body.p-apply .tzp-s { border-radius: 4px !important; }
html body.p-apply .tzp-it { border-radius: 4px !important; }
/* send: the live button fills as fields are completed; drawn flat */
html body.p-apply #apply-form .fx-foot { margin-top: 6px !important; }
html body.p-apply #apply-form .fx-sendwrap { border: 0 !important; background: none !important; padding: 0 !important; box-shadow: none !important; }
html body.p-apply #apply-form .btn-submit, html body.p-apply #apply-form .btn-submit.sb-on { position: relative; width: 100% !important; height: 48px !important; padding: 0 18px !important; border-radius: 4px !important; overflow: hidden; isolation: isolate;
  background: #eef1f6 !important; color: var(--text-2) !important; box-shadow: none !important; transform: none !important; font: 500 15px/1 var(--font) !important; }
html body.p-apply #apply-form .btn-submit::after { display: none !important; }
html body.p-apply #apply-form .sb-fill { background: rgba(59, 91, 255, .16) !important; }
html body.p-apply #apply-form.fx-ready .btn-submit, html body.p-apply #apply-form .fx-sendwrap:not(.is-locked) .btn-submit { background: #3b5bff !important; color: #fff !important; box-shadow: none !important; }
html body.p-apply #apply-form.fx-ready .btn-submit:hover { background: #2c49e8 !important; }
html body.p-apply #apply-form.fx-ready .sb-fill { background: transparent !important; }
html body.p-apply #apply-form .sb-line b { font: 500 15px/1.2 var(--font) !important; }
html body.p-apply #apply-form .sb-line small { color: inherit !important; opacity: .7; }
html body.p-apply #apply-form .sb-ico svg { stroke-width: 2 !important; }
html body.p-apply #apply-form .fx-hint { justify-content: center; margin-top: 10px !important; padding: 0 !important; border: 0 !important; background: none !important; font-size: 12.5px !important; color: var(--text-3) !important; }
html body.p-apply #apply-form .fx-hint b { color: var(--text) !important; }
html body.p-apply #apply-form .form-note { margin-top: 12px !important; text-align: center; font-size: 12.5px !important; color: var(--text-3) !important; }
html body.p-apply #apply-form .form-note a { color: var(--text-2) !important; }
/* result */
html body.p-apply #view-result .result-title { font: 500 28px/1.15 var(--font) !important; letter-spacing: -.025em !important; color: var(--text) !important; }
html body.p-apply #view-result .result-text, html body.p-apply #view-result .rs-help { color: var(--text-2) !important; }
html body.p-apply #view-result .rs-next { border-radius: 6px !important; border: 0 !important; background: #f6f9fc !important; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .07) !important; }
html body.p-apply #view-result .btn { border-radius: 4px !important; box-shadow: none !important; }
html body.p-apply #view-result .btn-primary { background: #3b5bff !important; color: #fff !important; }
@media (max-width: 600px) { html body.p-apply #apply-form .field-row { grid-template-columns: 1fr; gap: 0 !important; } html body.p-apply .apply-card { padding: 20px !important; } }

/* ================= FAQ (v23): light house style; tabs + search filter one white list; smooth answers ================= */
.p-faq2 { background: #f6f9fc; }
.fq2-hero { padding: 132px 0 28px; }
.fq2-hero .h2 { margin: 0; max-width: 1040px; font-size: clamp(32px, 3.6vw, 52px); line-height: 1.08; font-weight: 500; letter-spacing: -.03em; color: var(--text); text-wrap: pretty; }
.fq2-hero .h2 > span { color: var(--text-3); }
.fq2-search { position: relative; display: flex; align-items: center; max-width: 560px; height: 48px; margin-top: 28px; padding: 0 12px 0 44px; border-radius: 6px; background: #fff; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .12), 0 1px 2px rgba(11, 26, 51, .04); transition: box-shadow .15s ease; }
.fq2-search:focus-within { box-shadow: inset 0 0 0 1px #3b5bff, 0 0 0 3px rgba(59, 91, 255, .16); }
.fq2-search svg { position: absolute; left: 14px; width: 18px; height: 18px; fill: none; stroke: var(--text-3); stroke-width: 1.8; stroke-linecap: round; }
.fq2-search input { flex: 1; min-width: 0; height: 100%; border: 0; background: none; outline: none; font: 400 15px/1 var(--font); color: var(--text); }
.fq2-search input::placeholder { color: var(--text-3); }
.fq2-search input::-webkit-search-cancel-button { -webkit-appearance: none; }
.fq2-search kbd { padding: 2px 7px; border-radius: 4px; font: 500 12px/1.4 var(--font); color: var(--text-3); background: rgba(11, 26, 51, .05); box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .08); }
.p-faq2 .fq2 { padding: 36px 0 112px; background: none; }
.p-faq2 .fq-layout { grid-template-columns: 250px minmax(0, 1fr); gap: 40px; }
.p-faq2 .fq-side { top: 88px; gap: 16px; }
.fq2-tabs { display: flex; flex-direction: column; gap: 2px; }
.p-faq2 .fq-tab { width: 100%; height: 38px; padding: 0 12px; border: 0; border-radius: 4px; background: none; font: 500 14px/1 var(--font); color: var(--text-2); cursor: pointer; transition: background-color .15s ease, color .15s ease; }
.p-faq2 .fq-tab i { color: var(--text-3); transition: color .15s ease; }
.p-faq2 .fq-tab:hover { background: rgba(11, 26, 51, .045); color: var(--text); }
.p-faq2 .fq-tab[aria-pressed="true"] { background: #fff; color: var(--text); box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .08), 0 1px 2px rgba(11, 26, 51, .05); }
.p-faq2 .fq-tab[aria-pressed="true"] i { color: #3b5bff; }
.p-faq2 .fq-help { margin: 0; padding: 18px; border: 0; border-radius: 8px; background: #fff; box-shadow: var(--sh-card); font-size: 13.5px; line-height: 1.5; color: var(--text-2); }
.p-faq2 .fq-help b { display: block; margin-bottom: 4px; font-size: 14px; color: var(--text); }
.p-faq2 .fq-help p { margin: 0; }
.p-faq2 .fq-help a { display: inline-block; margin-top: 10px; font-weight: 500; color: #3b5bff; }
.fq2-main { min-width: 0; }
.p-faq2 .fq-list { border: 0; border-radius: 8px; background: #fff; box-shadow: var(--sh-card); overflow: clip; }
.p-faq2 .fq { border-bottom: 1px solid rgba(11, 26, 51, .07); }
.p-faq2 .fq:last-of-type { border-bottom: 0; }
.p-faq2 .fq summary { grid-template-columns: 1fr 28px; gap: 20px; padding: 20px 24px; transition: background-color .15s ease; }
.p-faq2 .fq summary:hover { background: #fafbfd; }
.p-faq2 .fq-q { font-size: 16.5px; line-height: 1.35; font-weight: 500; letter-spacing: -.012em; color: var(--text); transition: color .15s ease; }
.p-faq2 .fq summary:hover .fq-q, .p-faq2 .fq:target .fq-q { color: var(--text); }
.p-faq2 .fq[open] .fq-q { color: #3b5bff; }
.p-faq2 .fq-x { width: 28px; height: 28px; border-radius: 6px; background: rgba(11, 26, 51, .04); transition: background-color .2s ease, rotate .35s var(--out); }
.p-faq2 .fq-x::before, .p-faq2 .fq-x::after { left: 8px; right: 8px; height: 1.6px; margin-top: -.8px; background: var(--text-2); border-radius: 1px; }
.p-faq2 .fq[open]:not(.is-closing) .fq-x { background: rgba(59, 91, 255, .1); rotate: 180deg; }
.p-faq2 .fq[open]:not(.is-closing) .fq-x::before, .p-faq2 .fq[open]:not(.is-closing) .fq-x::after { background: #3b5bff; }
.p-faq2 .fq.is-closing .fq-x::after { transform: rotate(90deg); }
.p-faq2 .fq-a { overflow: clip; max-width: none; padding: 0 72px 22px 24px; font-size: 15px; line-height: 1.65; color: var(--text-2); }
.p-faq2 .fq-a a { color: #3b5bff; text-decoration: underline; text-decoration-color: rgba(59, 91, 255, .3); text-underline-offset: 2px; }
.p-faq2 .fq-a ul li::before { background: #3b5bff; }
.fq2-empty { margin: 0; padding: 28px 24px; border-radius: 8px; background: #fff; box-shadow: var(--sh-card); font-size: 15px; color: var(--text-2); }
.fq2-empty a { color: #3b5bff; }
.fq2-cta { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin-top: 48px; padding: 0; background: #fff; }
.fq2-cta-t { padding: 36px 32px; display: flex; flex-direction: column; align-items: flex-start; }
.fq2-cta-t h2 { margin: 0; font-size: clamp(26px, 2.4vw, 34px); line-height: 1.12; font-weight: 500; letter-spacing: -.028em; color: var(--text); }
.fq2-cta-t p { margin: 12px 0 22px; max-width: 42ch; font-size: 15px; line-height: 1.55; color: var(--text-2); }
.fq2-fld { margin: 0 !important; }
.fq2-au { margin: 0; padding: 0; list-style: none; }
.fq2-au li { display: flex; justify-content: space-between; align-items: center; min-height: 42px; border-bottom: 1px solid rgba(11, 26, 51, .07); font-size: 13.5px; color: var(--text); }
.fq2-au li:last-child { border-bottom: 0; }
.fq2-au em { font-style: normal; font-size: 12px; font-weight: 500; color: #15803d; padding: 2px 8px; border-radius: 4px; background: rgba(22, 163, 74, .09); }
.fq2-au b { font-weight: 600; color: #3b5bff; }
@media (max-width: 900px) {
  .p-faq2 .fq-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .p-faq2 .fq-side { position: static; }
  .fq2-tabs { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; gap: 6px; scrollbar-width: none; }
  .p-faq2 .fq-tab { width: auto; flex: none; gap: 8px; background: #fff; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .1); }
  .p-faq2 .fq-help { display: none; }
  .p-faq2 .fq summary { padding: 18px 16px; } .p-faq2 .fq-a { padding: 0 16px 18px; }
  .fq2-cta { grid-template-columns: 1fr; }
}
.p-faq2 .fq[open] summary, .p-faq2 .fq[open] summary:hover { background: none; }

/* ================= v24 ================= */
/* booking: the time-zone list opens in full, nothing clips it */
html body.p-apply .apply-card, html body.p-apply #apply-form, html body.p-apply #apply-form .kb { overflow: visible !important; }
html body.p-apply #apply-form .tzp { left: 0 !important; right: 0 !important; z-index: 60 !important; max-height: 380px !important; background: #fff !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
html body.p-apply #apply-form .tzp-top { padding: 10px !important; border-bottom: 1px solid rgba(11, 26, 51, .07) !important; }
html body.p-apply #apply-form .tzp-s { height: 40px !important; border: 0 !important; background: #f6f9fc !important; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .1) !important; }
html body.p-apply #apply-form .tzp-s input { color: var(--text) !important; caret-color: #3b5bff !important; font: 400 14.5px/1.2 var(--font) !important; }
html body.p-apply #apply-form .tzp-s input::placeholder { color: var(--text-3) !important; }
html body.p-apply #apply-form .tzp-list { padding: 6px !important; }
html body.p-apply #apply-form .tzp-g { padding: 12px 10px 6px !important; font: 600 12px/1 var(--font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--text-3) !important; }
html body.p-apply #apply-form .tzp-it { padding: 9px 10px !important; }
html body.p-apply #apply-form .tzp-it:hover, html body.p-apply #apply-form .tzp-it.is-act { background: #f3f5f9 !important; }
html body.p-apply #apply-form .tzp-it.is-on { background: rgba(59, 91, 255, .08) !important; }
html body.p-apply #apply-form .tzp-c b, html body.p-apply #apply-form .tzp-o em { color: var(--text) !important; font-family: var(--font) !important; }
html body.p-apply #apply-form .tzp-it.is-on .tzp-c b { color: #3b5bff !important; }

/* the form on one grid: equal-width choices, even gaps */
html body.p-apply #apply-form .fx-chips { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 8px !important; }
html body.p-apply #apply-form .fx-chip { width: 100% !important; justify-content: center !important; padding: 0 8px !important; white-space: nowrap; }
html body.p-apply #apply-form .fx-tags { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; margin: 0 0 10px !important; }
html body.p-apply #apply-form .fx-tag { width: 100% !important; height: 34px !important; justify-content: flex-start !important; padding: 0 12px !important; }
html body.p-apply #apply-form textarea { padding: 14px 16px !important; line-height: 1.55 !important; }
html body.p-apply #apply-form .field > label + :is(.fx-chips, .fx-tags, input, select, textarea) { margin-top: 0 !important; }
html body.p-apply #apply-form .fx-count { display: block; margin-top: 6px !important; text-align: right; }
@media (max-width: 600px) { html body.p-apply #apply-form .fx-chips { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } html body.p-apply #apply-form .fx-tags { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
/* FAQ: the audit card, built like the founding card */
.fq2-cta .pf-fld { padding: 44px 0 0 44px !important; }
.fq2-score { display: flex; align-items: center; gap: 22px; }
.fq2-score .pr-ring { width: 88px; height: 88px; }
.fq2-cta.is-in .pr-ring .fg { stroke-dashoffset: 0; }
.fq2-score .fq2-au { flex: 1; }
.fq2-au em.bad { color: #e5484d; background: rgba(229, 72, 77, .08); } .fq2-au em.mid { color: #b45309; background: rgba(180, 83, 9, .08); }
@media (max-width: 600px) { .fq2-score { flex-direction: column; align-items: stretch; } .fq2-score .pr-ring { align-self: center; } .fq2-cta .pf-fld { padding: 32px 0 0 20px !important; } }

/* ================= Founder (v24): the black portrait carries the hero; light sections below ================= */
.p-fp { background: #f6f9fc; }
.fp2-hero { --ind-bg: #000; position: relative; min-height: min(100svh, 900px); display: flex; align-items: center; overflow: clip; background: #000; color: #fff; isolation: isolate; }
.fp2-photo { position: absolute; inset: 0 0 0 38%; z-index: -1; margin: 0; }
.fp2-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%;
  -webkit-mask: linear-gradient(90deg, transparent 0, #000 36%, #000 88%, transparent 100%), linear-gradient(180deg, #000 70%, transparent 100%); -webkit-mask-composite: source-in;
          mask: linear-gradient(90deg, transparent 0, #000 36%, #000 88%, transparent 100%) intersect, linear-gradient(180deg, #000 70%, transparent 100%); }
.fp2-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(50% 60% at 78% 40%, rgba(89, 168, 255, .12), transparent 70%), radial-gradient(40% 50% at 100% 100%, rgba(106, 88, 255, .16), transparent 70%); }
.fp2-in { padding: 120px var(--gut) 96px; }
.fp2-h { margin: 0; max-width: 15ch; font-size: clamp(46px, 6vw, 92px); line-height: 1; font-weight: 500; letter-spacing: -.045em; color: #fff; }
.fp2-h span { display: block; max-width: 30ch; margin-top: 22px; font-size: clamp(18px, 1.6vw, 22px); line-height: 1.45; font-weight: 400; letter-spacing: -.01em; color: rgba(226, 232, 242, .68); }
.fp2-facts { display: flex; flex-wrap: wrap; gap: 10px; margin: 32px 0 0; padding: 0; list-style: none; }
.fp2-facts li { display: flex; flex-direction: column; gap: 2px; min-width: 150px; padding: 12px 16px; border-radius: 6px; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.fp2-facts b { font-size: 20px; font-weight: 500; letter-spacing: -.02em; color: #fff; }
.fp2-facts span { font-size: 13px; color: rgba(226, 232, 242, .6); }
.fp2-hero .cta-row { margin-top: 32px; }
.fp2-hero .fp2-h, .fp2-hero .fp2-facts li, .fp2-hero .cta-row { animation: fp2-in .9s cubic-bezier(.23, 1, .32, 1) both; }
.fp2-hero .fp2-facts li:nth-child(1) { animation-delay: .12s; } .fp2-hero .fp2-facts li:nth-child(2) { animation-delay: .18s; } .fp2-hero .fp2-facts li:nth-child(3) { animation-delay: .24s; } .fp2-hero .cta-row { animation-delay: .32s; }
.fp2-photo img { animation: fp2-photo 1.6s cubic-bezier(.23, 1, .32, 1) both; }
@keyframes fp2-in { from { opacity: 0; transform: translateY(16px); } }
@keyframes fp2-photo { from { opacity: 0; transform: scale(1.04); } }
.fp2-quote { padding: clamp(96px, 11vw, 150px) 0; background: #fff; }
.fp2-q { max-width: 20ch; margin: 0; font-size: clamp(34px, 4.6vw, 68px); line-height: 1.06; font-weight: 500; letter-spacing: -.04em; color: var(--text); text-wrap: balance; }
.fp2-path { padding: clamp(88px, 9vw, 120px) 0; }
.fp2-h2 { margin: 0 0 clamp(32px, 4vw, 48px); max-width: 1000px; font-size: clamp(30px, 3.2vw, 46px); line-height: 1.1; font-weight: 500; letter-spacing: -.028em; color: var(--text); }
.fp2-h2 > span { color: var(--text-3); }
.fp2-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fp2-c { grid-column: auto !important; }
.fp2-pt { font-size: 14.5px; line-height: 1.55; color: var(--text-2); }
.fp2-ck { margin: 12px 44px 0 18px !important; padding: 0; list-style: none; counter-reset: s; }
.fp2-ck li { position: relative; padding: 9px 0 9px 32px; border-bottom: 1px solid rgba(11, 26, 51, .07); font-size: 14px; color: var(--text); counter-increment: s; }
.fp2-ck li:last-child { border-bottom: 0; }
.fp2-ck li::before { content: counter(s); position: absolute; left: 0; top: 8px; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 6px; font-size: 12px; font-weight: 600; color: #fff; background: #3b5bff; }
.fp2-contact { padding: 0 0 clamp(96px, 10vw, 128px); }
.fp2-cc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 0; background: #fff; }
.fp2-cc-t { padding: 36px 32px; display: flex; flex-direction: column; align-items: flex-start; }
.fp2-cc-t h2 { margin: 0; max-width: 18ch; font-size: clamp(28px, 2.6vw, 38px); line-height: 1.1; font-weight: 500; letter-spacing: -.03em; color: var(--text); }
.fp2-cc-t p { margin: 12px 0 22px; font-size: 15px; color: var(--text-2); }
.fp2-links { display: flex; flex-direction: column; justify-content: center; padding: 20px 28px; border-left: 1px solid rgba(11, 26, 51, .07); background: #fafbfd; }
.fp2-links a { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 4px; border-bottom: 1px solid rgba(11, 26, 51, .07); transition: color .15s ease; }
.fp2-links a:last-child { border-bottom: 0; }
.fp2-links b { font-size: 15px; font-weight: 600; color: var(--text); }
.fp2-links span { font-size: 14px; color: var(--text-2); transition: color .15s ease, transform .2s cubic-bezier(.215, .61, .355, 1); }
.fp2-links a:hover span { color: #3b5bff; transform: translateX(-3px); }
@media (max-width: 900px) {
  .fp2-hero { min-height: 0; align-items: flex-end; }
  .fp2-photo { inset: 0; } .fp2-photo img { object-position: 60% 15%; opacity: .55; -webkit-mask: linear-gradient(180deg, #000 30%, transparent 95%); mask: linear-gradient(180deg, #000 30%, transparent 95%); }
  .fp2-in { padding-top: 260px; }
  .fp2-grid { grid-template-columns: 1fr; }
  .fp2-cc { grid-template-columns: 1fr; } .fp2-links { border-left: 0; border-top: 1px solid rgba(11, 26, 51, .07); }
}
@media (prefers-reduced-motion: reduce) { .fp2-hero *, .fp2-photo img { animation: none !important; } }

/* ================= v24: language switcher (footer) ================= */
/* A quiet globe button in the bottom row; the popover opens upwards as a white panel with every language,
   native name first, English name under it, the current one checked. */
.ft-bot { align-items: center; }
.lang { position: relative; margin-left: auto; }
.lang-btn { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 10px 0 9px; border: 0; border-radius: 4px; background: transparent; color: rgba(226, 232, 242, .72); font: 500 13.5px/1 var(--font); cursor: pointer; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); transition: background-color .15s ease, box-shadow .15s ease, color .15s ease; }
.lang-btn svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.25; }
.lang-btn .lang-chev { width: 10px; height: 10px; stroke-width: 1.5; transition: transform .2s cubic-bezier(.215, .61, .355, 1); }
.lang-btn:hover, .lang-btn[aria-expanded="true"] { color: #fff; background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22); }
.lang-btn[aria-expanded="false"] .lang-chev { transform: rotate(180deg); }
.lang-btn:focus-visible { outline: 2px solid #59a8ff; outline-offset: 2px; }
.lang-pop { position: absolute; right: 0; bottom: calc(100% + 10px); z-index: 30; width: 380px; max-width: calc(100vw - 32px); padding: 18px; border-radius: 8px; background: #fff; color: var(--text, #0b1a33); text-align: left;
  box-shadow: 0 0 0 1px rgba(11, 26, 51, .06), 0 30px 60px -12px rgba(11, 26, 51, .35), 0 18px 36px -18px rgba(0, 0, 0, .4);
  transform-origin: 100% 100%; animation: lang-in .2s cubic-bezier(.215, .61, .355, 1); }
.lang-pop[hidden] { display: none; }
@keyframes lang-in { from { opacity: 0; transform: translateY(6px) scale(.98); } }
.lang-h { margin: 0 0 12px; font: 600 14px/1.3 var(--font); color: #0b1a33; }
.lang-pop ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.lang-pop a { position: relative; display: grid; gap: 3px; padding: 10px 34px 10px 12px; border-radius: 6px; text-decoration: none; transition: background-color .15s ease; }
.lang-pop a b { font: 600 14px/1.2 var(--font); color: #0b1a33; }
.lang-pop a span { font: 400 12.5px/1.2 var(--font); color: #7d8aa1; }
.lang-pop a:hover { background: #f3f6fb; }
.lang-pop a:focus-visible { outline: 2px solid #3b5bff; outline-offset: -2px; }
.lang-pop a[aria-current] { background: #eef2ff; }
.lang-pop a[aria-current] b { color: #3b5bff; }
.lang-pop a[aria-current]::after { content: ''; position: absolute; right: 12px; top: 50%; width: 12px; height: 7px; margin-top: -5px; border: solid #3b5bff; border-width: 0 0 2px 2px; transform: rotate(-45deg); }
.lang-pop > p:not(.lang-h) { margin: 12px 2px 0; padding-top: 12px; border-top: 1px solid #edf0f5; font: 400 12px/1.5 var(--font); color: #7d8aa1; }
@media (max-width: 600px) { .lang { margin-left: 0; } .lang-pop { right: auto; left: 0; transform-origin: 0 100%; } }
@media (prefers-reduced-motion: reduce) { .lang-pop { animation: none; } .lang-btn .lang-chev { transition: none; } }

/* v24: translated pages run longer. The Anatomy caption may wrap (both captions share one grid cell, so the height
   follows the longer one), panel heads cut their note with an ellipsis, narrow step labels hyphenate. */
.an-h > div:first-child { min-width: 0; }
.p-home .an-cap { display: grid; height: auto; white-space: normal; text-wrap: balance; }
.p-home .an-a[data-mode] .an-cap span { position: static; grid-area: 1 / 1; }
.an-pnh b { flex: none; }
.an-pnh > span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.pt-step, .an-col small, .an-led-t [role="columnheader"] { hyphens: auto; overflow-wrap: break-word; }
.fq2-cta > *, .fp2-cc > *, .pr-audit > * { min-width: 0; }
@media (max-width: 600px) { .p-home .btn { max-width: 100%; white-space: normal; text-align: left; line-height: 1.25; } }

/* ================= v25 ================= */
/* What do you need? — the text sits inside the field with room above it */
html body.p-apply #apply-form #f-message { padding: 14px 16px !important; line-height: 1.55; }   /* beats the field rule for inputs (padding 0 14px) */
/* the phone screen is clipped by a path, not by overflow + radius: inside the 3D phone Chrome sometimes drops the
   rounded overflow clip for a frame (seen on Reply, bottom corners) */
.p-home .kxp-screen { clip-path: inset(0 round 36px); }
/* Not on the list: each row fades at its own edges (one simple mask per row, no composite masks, no backdrop lens
   over moving text), rows move on their own GPU layer with translate3d, so text no longer clips or shimmers. */
.p-home .industries .shot-end .mq { -webkit-mask: linear-gradient(180deg, transparent, #000 12%, #000 86%, transparent); mask: linear-gradient(180deg, transparent, #000 12%, #000 86%, transparent); }
.p-home .industries .shot-end .mq::after { content: none; }
.p-home .industries .mq-row { overflow: clip; -webkit-mask: linear-gradient(90deg, transparent, #000 16%, #000 84%, transparent); mask: linear-gradient(90deg, transparent, #000 16%, #000 84%, transparent); }
.p-home .industries .mq-in { will-change: transform; backface-visibility: hidden; animation-name: mq3; }
@keyframes mq3 { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-50%, 0, 0); } }
/* the comparison table and the guarantees row grow on hover like every other card (wide blocks, so less) */
.p-home :is(.pr-cmp, .pr-g).kx-hv { --kx-s: 1.006; }
/* the header changes colour over dark sections without lagging behind a fast scroll */
.p-home .nav { transition: background-color .15s linear, box-shadow .15s linear, color .15s linear; }
/* Stripe-style guides: on every light section, thin vertical lines run behind the content — solid at the edges of
   the content column only (no inner dashes). Drawn by one pseudo-element under the section's content
   (isolation keeps it above the section background and below everything in it). Dark sections have none. */
.p-home :is(.hero, .leaks, .pr, .fq2-hero, .fq2, .ap, .fp3-hero, .sp, .fp3-story, .fp2-quote, .fp2-path, .fp2-contact, .doc) { position: relative; isolation: isolate; }
.p-home :is(.hero, .leaks, .pr, .fq2-hero, .fq2, .ap, .fp3-hero, .sp, .fp3-story, .fp2-quote, .fp2-path, .fp2-contact, .doc)::before {
  content: ''; position: absolute; top: 0; bottom: 0; left: 50%; z-index: -1; pointer-events: none;
  width: min(var(--wrap) + 128px, 100% - 16px);   /* 64 px outside the content column, 8 px from the screen edge on phones */ translate: -50% 0;
  --g: rgba(11, 26, 51, .075); --gd: repeating-linear-gradient(180deg, rgba(11, 26, 51, .085) 0 4px, transparent 4px 10px);
  border-inline: 1px solid var(--g);
  }
/* section boundaries: one hairline across the whole page width, crossing the vertical guides (Stripe) */
.p-home :is(.leaks, .pr, .fq2, .fp3-story, .fp2-quote, .fp2-path, .fp2-contact) { box-shadow: inset 0 1px 0 rgba(11, 26, 51, .075); }

/* ================= v26: Founder ================= */
/* Light like every other page. Copy on the left; on the right the portrait sits in a dark framed card (the photo is
   shot on black, so the card is the same black and the photo has no edge), at a portrait size, not full screen.
   Under it, one white card with three facts split by hairlines, like the guarantees row. */
.fp3-hero { padding: calc(var(--nav-h, 64px) + clamp(48px, 7vw, 104px)) 0 clamp(56px, 7vw, 96px); background: #fff; }
.fp3-in { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.fp3-h { margin: 0; font-size: clamp(44px, 5.4vw, 80px); line-height: 1; font-weight: 500; letter-spacing: -.045em; color: var(--text); }
.fp3-h span { display: block; max-width: 30ch; margin-top: 24px; font-size: clamp(18px, 1.5vw, 21px); line-height: 1.5; font-weight: 400; letter-spacing: -.01em; color: var(--text-2); }
.fp3-copy .cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.fp3-card { position: relative; justify-self: end; width: min(100%, 440px); margin: 0; }
.fp3-ph { position: relative; aspect-ratio: 4 / 5; overflow: clip; border-radius: 8px; background: #030405;
  box-shadow: 0 0 0 1px rgba(11, 26, 51, .06), 0 50px 100px -30px rgba(50, 50, 93, .35), 0 30px 60px -30px rgba(0, 0, 0, .45); }
.fp3-ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; transform: scale(1.02); }
.fp3-ph::after { content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  background: radial-gradient(120% 70% at 85% 0%, rgba(59, 91, 255, .22), transparent 55%), linear-gradient(180deg, transparent 62%, rgba(3, 4, 5, .55)); }
.fp3-tag { position: absolute; left: -28px; bottom: 32px; display: grid; gap: 2px; padding: 14px 18px; border-radius: 6px; background: #fff;
  box-shadow: 0 0 0 1px rgba(11, 26, 51, .06), 0 18px 36px -14px rgba(50, 50, 93, .4); }
.fp3-tag b { font-size: 15px; font-weight: 600; letter-spacing: -.01em; color: var(--text); }
.fp3-tag span { font-size: 13px; color: var(--text-3); }
.fp3-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: clamp(48px, 6vw, 80px) 0 0; padding: 0; list-style: none;
  border-radius: 8px; background: #fff; box-shadow: var(--sh-card); }
.fp3-facts li { display: grid; gap: 4px; padding: 26px 28px; }
.fp3-facts li + li { box-shadow: -1px 0 0 rgba(11, 26, 51, .07); }
.fp3-facts b { font-size: clamp(24px, 2.4vw, 32px); font-weight: 500; letter-spacing: -.03em; color: var(--text); }
.fp3-facts span { font-size: 14px; color: var(--text-3); }
/* entrance: the copy rises, the portrait unveils from the bottom, the tag lands last */
.fp3-copy > *, .fp3-facts { animation: fp3-up .9s cubic-bezier(.16, 1, .3, 1) both; }
.fp3-copy .cta-row { animation-delay: .1s; } .fp3-facts { animation-delay: .3s; }
.fp3-ph { animation: fp3-unveil 1.2s cubic-bezier(.65, 0, .35, 1) .05s both; }
.fp3-ph img { animation: fp3-zoom 1.8s cubic-bezier(.16, 1, .3, 1) .05s both; }
.fp3-tag { animation: fp3-up .8s cubic-bezier(.16, 1, .3, 1) .7s both; }
@keyframes fp3-up { from { opacity: 0; transform: translateY(16px); } }
@keyframes fp3-unveil { from { clip-path: inset(100% 0 0 0 round 8px); } to { clip-path: inset(0 0 0 0 round 8px); } }
@keyframes fp3-zoom { from { transform: scale(1.12); } }
@media (max-width: 900px) {
  .fp3-in { grid-template-columns: 1fr; }
  .fp3-card { justify-self: start; width: min(100%, 380px); }
  .fp3-tag { left: 16px; bottom: 16px; }
  .fp3-facts li { padding: 16px 14px; } .fp3-facts b { font-size: 20px; } .fp3-facts span { font-size: 12px; line-height: 1.35; }
}
@media (prefers-reduced-motion: reduce) { .fp3-copy > *, .fp3-facts, .fp3-ph, .fp3-ph img, .fp3-tag { animation: none; } }

/* ================= v26: Book your Discovery Call ================= */
/* One card in the house style: white, hairline, 8 px. The time-zone button looks like a select; its list opens as a
   sheet inside the card, from under the button to the card's bottom (the live script sets its top), with a fixed
   search field, a list that scrolls on its own and fades at its edges, plain group labels, one highlight at a time
   (hover and keyboard share it) and a check on the chosen zone. Days and times: one selected state each, cobalt.
   The live scripts (booking.js, form-x.js) stay as they are; this only styles their markup. */
html body.p-apply #apply-form .kb { position: relative !important; padding: 20px !important; border-radius: 8px !important; background: #fff !important;
  box-shadow: 0 0 0 1px rgba(11, 26, 51, .08), 0 1px 2px rgba(11, 26, 51, .04) !important; }
html body.p-apply #apply-form .kb-head { align-items: center !important; margin-bottom: 18px !important; }
html body.p-apply #apply-form .kb-ico { display: grid !important; place-items: center !important; width: 40px !important; height: 40px !important; border-radius: 8px !important;
  background: linear-gradient(180deg, rgba(59, 91, 255, .12), rgba(59, 91, 255, .06)) !important; box-shadow: inset 0 0 0 1px rgba(59, 91, 255, .14) !important; }
html body.p-apply #apply-form .kb-ico svg { width: 20px !important; height: 20px !important; stroke: #3b5bff !important; }
html body.p-apply #apply-form .kb-head b { font: 600 16px/1.3 var(--font) !important; letter-spacing: -.01em !important; }
html body.p-apply #apply-form .kb-head small { display: block !important; margin-top: 2px !important; font-size: 13px !important; }
/* time zone: a select-like button with a chevron */
html body.p-apply #apply-form .kb-tz { display: flex !important; align-items: center !important; gap: 10px !important; flex-wrap: wrap !important; margin-bottom: 14px !important; }
html body.p-apply #apply-form .kb-tzbtn { position: relative !important; display: inline-flex !important; align-items: center !important; gap: 8px !important; height: 36px !important; padding: 0 34px 0 12px !important;
  border-radius: 6px !important; background: #fff !important; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .14), 0 1px 2px rgba(11, 26, 51, .05) !important;
  font: 500 13.5px/1 var(--font) !important; color: var(--text) !important; cursor: pointer !important; transition: box-shadow .15s ease !important; }
html body.p-apply #apply-form .kb-tzbtn::before { content: none !important; }
html body.p-apply #apply-form .kb-tzbtn::after { content: '' !important; position: absolute !important; right: 13px !important; top: 50% !important; width: 7px !important; height: 7px !important; margin-top: -6px !important;
  border: solid var(--text-3) !important; border-width: 0 1.5px 1.5px 0 !important; transform: rotate(45deg) !important; transition: transform .2s ease, margin .2s ease !important; background: none !important; }
html body.p-apply #apply-form .kb-tzbtn[aria-expanded="true"]::after { transform: rotate(-135deg) !important; margin-top: -2px !important; }
html body.p-apply #apply-form .kb-tzbtn:hover { box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .28), 0 1px 2px rgba(11, 26, 51, .05) !important; }
html body.p-apply #apply-form .kb-tzbtn[aria-expanded="true"], html body.p-apply #apply-form .kb-tzbtn:focus-visible { outline: none !important; box-shadow: inset 0 0 0 1px #3b5bff, 0 0 0 3px rgba(59, 91, 255, .18) !important; }
/* the sheet */
html body.p-apply #apply-form .tzp { position: absolute !important; left: 12px !important; right: 12px !important; bottom: 12px !important; max-height: none !important; z-index: 60 !important;
  display: flex !important; flex-direction: column !important; overflow: hidden !important; border-radius: 8px !important; background: #fff !important;
  box-shadow: 0 0 0 1px rgba(11, 26, 51, .08), 0 24px 48px -16px rgba(50, 50, 93, .35), 0 12px 24px -12px rgba(0, 0, 0, .18) !important;
  opacity: 0 !important; transform: translateY(-6px) !important; transform-origin: 50% 0 !important; transition: opacity .16s ease, transform .2s cubic-bezier(.16, 1, .3, 1) !important; }
html body.p-apply #apply-form .tzp[hidden] { display: none !important; }
html body.p-apply #apply-form .tzp.is-open { opacity: 1 !important; transform: none !important; }
html body.p-apply #apply-form .tzp-top { flex: none !important; padding: 10px !important; border-bottom: 1px solid rgba(11, 26, 51, .07) !important; background: #fff !important; }
html body.p-apply #apply-form .tzp-s { height: 40px !important; padding: 0 10px 0 12px !important; border: 0 !important; border-radius: 6px !important; background: #f6f8fb !important;
  box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .08) !important; transition: box-shadow .15s ease, background-color .15s ease !important; }
html body.p-apply #apply-form .tzp-s:focus-within { background: #fff !important; box-shadow: inset 0 0 0 1px #3b5bff, 0 0 0 3px rgba(59, 91, 255, .15) !important; }
html body.p-apply #apply-form .tzp-s svg { stroke: var(--text-3) !important; }
html body.p-apply #apply-form .tzp-s kbd { padding: 3px 6px !important; border-radius: 4px !important; border: 0 !important; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .12) !important; background: #fff !important; font: 500 11px/1 var(--font) !important; color: var(--text-3) !important; }
html body.p-apply #apply-form .tzp-list { flex: 1 1 auto !important; min-height: 0 !important; overflow-y: auto !important; overscroll-behavior: contain !important; padding: 6px !important; scroll-padding: 8px !important;
  -webkit-mask: linear-gradient(180deg, transparent, #000 10px, #000 calc(100% - 10px), transparent) !important; mask: linear-gradient(180deg, transparent, #000 10px, #000 calc(100% - 10px), transparent) !important;
  scrollbar-width: thin !important; scrollbar-color: rgba(11, 26, 51, .2) transparent !important; }
html body.p-apply #apply-form .tzp-list::-webkit-scrollbar { width: 10px; }
html body.p-apply #apply-form .tzp-list::-webkit-scrollbar-button { display: none; height: 0; }
html body.p-apply #apply-form .tzp-list::-webkit-scrollbar-track { background: transparent; }
html body.p-apply #apply-form .tzp-list::-webkit-scrollbar-thumb { border: 3px solid #fff; border-radius: 5px; background: rgba(11, 26, 51, .18); }
html body.p-apply #apply-form .tzp-list::-webkit-scrollbar-thumb:hover { background: rgba(11, 26, 51, .32); }
html body.p-apply #apply-form .tzp-g { position: static !important; margin: 6px 4px 0 !important; padding: 12px 8px 6px !important; border-top: 1px solid rgba(11, 26, 51, .06) !important; background: none !important;
  font: 600 12px/1 var(--font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--text-3) !important; }
html body.p-apply #apply-form .tzp-g:first-child { margin-top: 0 !important; border-top: 0 !important; padding-top: 8px !important; }
html body.p-apply #apply-form .tzp-it { display: flex !important; align-items: center !important; gap: 12px !important; width: 100% !important; min-height: 48px !important; margin: 0 !important; padding: 8px 10px !important;
  border-radius: 6px !important; background: transparent !important; box-shadow: none !important; transition: background-color .12s ease !important; }
html body.p-apply #apply-form .tzp-it.is-act { background: #f3f6fb !important; }
html body.p-apply #apply-form .tzp-it:hover:not(.is-act) { background: transparent !important; }
html body.p-apply #apply-form .tzp-it.is-on { background: rgba(59, 91, 255, .07) !important; }
html body.p-apply #apply-form .tzp-it.is-on.is-act { background: rgba(59, 91, 255, .11) !important; }
html body.p-apply #apply-form .tzp-c b { font: 500 14.5px/1.25 var(--font) !important; color: var(--text) !important; }
html body.p-apply #apply-form .tzp-c small { font: 400 12px/1.3 var(--font) !important; color: var(--text-3) !important; }
html body.p-apply #apply-form .tzp-o em { font: 500 13.5px/1.25 var(--font) !important; font-style: normal !important; color: var(--text) !important; }
html body.p-apply #apply-form .tzp-o i { font: 400 11.5px/1.3 var(--font) !important; font-style: normal !important; color: var(--text-3) !important; }
html body.p-apply #apply-form .tzp-it.is-on .tzp-c b { color: #3b5bff !important; }
html body.p-apply #apply-form .tzp-ck { width: 16px !important; height: 16px !important; stroke: #3b5bff !important; }
html body.p-apply #apply-form .tzp-empty { padding: 32px 16px !important; font: 400 14px/1.4 var(--font) !important; color: var(--text-3) !important; text-align: center !important; }
/* days */
html body.p-apply #apply-form .kb-days { gap: 8px !important; padding: 2px !important; scroll-snap-type: x proximity !important; }
html body.p-apply #apply-form .kb-day { width: 66px !important; min-width: 66px !important; padding: 10px 0 9px !important; border-radius: 6px !important; background: #fff !important; scroll-snap-align: start !important;
  box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .1) !important; transition: box-shadow .15s ease, background-color .15s ease !important; }
html body.p-apply #apply-form .kb-day:hover { box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .26) !important; }
html body.p-apply #apply-form .kb-day.is-on { background: #3b5bff !important; box-shadow: 0 6px 14px -6px rgba(59, 91, 255, .7) !important; }
html body.p-apply #apply-form .kb-day.is-on small, html body.p-apply #apply-form .kb-day.is-on b, html body.p-apply #apply-form .kb-day.is-on em { color: #fff !important; }
html body.p-apply #apply-form .kb-day.is-on em { opacity: .85 !important; }
html body.p-apply #apply-form .kb-day em { color: #3b5bff !important; }
html body.p-apply #apply-form .kbx-arr { width: 32px !important; height: 32px !important; border-radius: 6px !important; background: #fff !important;
  box-shadow: 0 0 0 1px rgba(11, 26, 51, .1), 0 4px 10px -4px rgba(50, 50, 93, .3) !important; }
html body.p-apply #apply-form .kbx-arr svg { stroke: var(--text) !important; }
/* times */
html body.p-apply #apply-form .kb-slots { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)) !important; gap: 8px !important; margin-top: 16px !important; }
html body.p-apply #apply-form .kbx-grp { grid-column: 1 / -1 !important; display: flex !important; align-items: center !important; gap: 8px !important; margin: 6px 0 0 !important; }
html body.p-apply #apply-form .kbx-grp:first-child { margin-top: 0 !important; }
html body.p-apply #apply-form .kbx-grp em { font-style: normal !important; font-size: 11.5px !important; }
html body.p-apply #apply-form .kb-slot { width: 100% !important; height: 40px !important; border-radius: 6px !important; background: #fff !important; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .12) !important;
  font: 500 14px/1 var(--font) !important; font-variant-numeric: tabular-nums !important; color: var(--text) !important; }
html body.p-apply #apply-form .kb-slot:hover { box-shadow: inset 0 0 0 1px #3b5bff !important; color: #3b5bff !important; }
html body.p-apply #apply-form .kb-slot.is-on, html body.p-apply #apply-form .kb-slot[aria-pressed="true"] { background: #3b5bff !important; color: #fff !important; box-shadow: 0 6px 14px -6px rgba(59, 91, 255, .7) !important; }
html body.p-apply #apply-form .kb-pick { display: flex !important; align-items: center !important; flex-wrap: wrap !important; gap: 6px 10px !important; margin-top: 14px !important; padding: 10px 12px !important;
  border-radius: 6px !important; background: rgba(59, 91, 255, .06) !important; box-shadow: inset 0 0 0 1px rgba(59, 91, 255, .14) !important; }
html body.p-apply #apply-form .kb-pick[hidden] { display: none !important; }
html body.p-apply #apply-form .kb-clear { margin-left: auto !important; padding: 4px 8px !important; border-radius: 4px !important; border: 0 !important; background: transparent !important; font: 500 12.5px/1 var(--font) !important; color: var(--text-2) !important; cursor: pointer !important; }
html body.p-apply #apply-form .kb-clear:hover { background: rgba(11, 26, 51, .06) !important; color: var(--text) !important; }
@media (max-width: 600px) {
  html body.p-apply #apply-form .kb { padding: 16px !important; }
  html body.p-apply #apply-form .tzp { left: 8px !important; right: 8px !important; bottom: 8px !important; }
  html body.p-apply #apply-form .kb-slots { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  html body.p-apply #apply-form .kb-tzbtn { max-width: 100% !important; }
}
@media (prefers-reduced-motion: reduce) { html body.p-apply #apply-form .tzp { transition: none !important; } }
/* search hides rows with [hidden]; the display rules above must not show them again */
html body.p-apply #apply-form .tzp-it[hidden], html body.p-apply #apply-form .tzp-g[hidden], html body.p-apply #apply-form .tzp-empty[hidden] { display: none !important; }
/* the day strip starts on the card's content edge (the live CSS pulled it 12 px outside) */
html body.p-apply #apply-form .kbx-rail { margin: 0 0 4px !important; }
html body.p-apply #apply-form .kb-days { margin: 0 -4px !important; padding: 4px !important; scroll-padding-inline: 4px !important; }

/* ================= v27: system tokens (Stripe-level) ================= */
/* One type family (Geist, a grotesque with more character than Inter) with tight display tracking; cards 12 px,
   inner panels 8 px, controls 6 px, buttons stay 4 px; deeper, layered, chromatic shadows. */
.p-home {
  --r-card: 12px; --r-in: 8px;
  --sh-card: 0 0 0 1px rgba(11, 26, 51, .05), 0 1px 2px rgba(11, 26, 51, .04), 0 10px 20px -10px rgba(50, 50, 93, .14), 0 30px 60px -30px rgba(50, 50, 93, .2);
  --sh-ui: 0 0 0 1px rgba(11, 26, 51, .04), 0 50px 100px -20px rgba(50, 50, 93, .28), 0 30px 60px -30px rgba(0, 0, 0, .32);
  --sh-ui-s: 0 0 0 1px rgba(11, 26, 51, .04), 0 18px 36px -10px rgba(50, 50, 93, .26), 0 10px 20px -10px rgba(0, 0, 0, .22);
  font-feature-settings: 'ss01' 0;
}
.p-home .an { --an-r: var(--r-card); }
.p-home :is(.an-c, .pr-plan, .pr-audit, .pr-add, .pr-found, .pr-cmp, .pr-g, .doc-body, .fq2-cta, .fp2-cc, .fp3-facts, .fp3-ph, .an-led, .lang-pop) { border-radius: var(--r-card); }
.p-home .an-pan { border-top-left-radius: var(--r-in); }
html body.p-apply #apply-form .kb, html body.p-apply .apply-card { border-radius: var(--r-card) !important; }
html body.p-apply #apply-form .tzp { border-radius: var(--r-in) !important; }
/* display type: tighter, heavier optical weight for headings; numbers tabular where they change */
.p-home :is(h1, h2, .h2, .fp3-h, .kl-h2) { letter-spacing: -.045em; font-weight: 500; }
.p-home h3 { letter-spacing: -.025em; }
.p-home :is(.an-big, .pr-price, .fp3-facts b, .an-tot b) { font-variant-numeric: tabular-nums; }
/* the research bento: A + two, three facts, the follow-up sequence across the full width (the 2011 "7×" card is gone:
   fewer, denser cards) */
.p-home .an-fu { grid-column: 1 / -1; }
@media (max-width: 1100px) { .p-home .an-missc { grid-column: 1 / -1; } }
/* premium fields: saturated mesh (three lights + a deep wash), fine film grain blended into it, motifs a touch
   stronger; panels get a bright top edge and a two-tone surface, like a lit screen */
.p-home .an-fld.warm { --c1: #ff9a62; --c2: #ff4f80; --c3: #a56bff; }
.p-home .an-fld.cool { --c1: #5fd0ff; --c2: #3b5bff; --c3: #8a63ff; }
.p-home .an-fld:not(.an-big)::before {
  background: 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='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .32 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E") 0 0 / 160px 160px,
    radial-gradient(70% 95% at 100% 0%, color-mix(in srgb, var(--c2) 78%, transparent), transparent 68%),
    radial-gradient(55% 120% at 0% 15%, color-mix(in srgb, var(--c1) 85%, transparent), transparent 70%),
    radial-gradient(48% 70% at 55% 0%, color-mix(in srgb, var(--c3) 62%, transparent), transparent 72%),
    linear-gradient(180deg, color-mix(in srgb, var(--c1) 26%, transparent), color-mix(in srgb, var(--c3) 30%, transparent));
  background-blend-mode: soft-light, normal, normal, normal, normal; }
.p-home .an-pan { background: linear-gradient(180deg, #fff 0, #fff 60%, #fbfcfe 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), var(--sh-ui-s); }
.p-home .an-c:hover .an-pan { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), var(--sh-ui); }
.p-home .an-pnh { background: linear-gradient(180deg, #fff, #fafbfd); }
.p-home .an-d3 i { background: rgba(11, 26, 51, .14); }
.kx-num { display: inline-block; font-variant-numeric: tabular-nums; }

/* ================= v27: One lead, through tools you own ================= */
/* No field, no curtain, no glow: the card's own white surface. A segmented control (6 px inner, 10 px outer = 6 + 4)
   with a white block that slides to the current job; a 2 px cobalt hairline inside it shows the time left. Under it one
   line of description, then the wall: the other tools dim and lose colour, this job's tools get a 1 px cobalt outline. */
.ol .ol-body { display: grid; gap: 16px; padding: 4px var(--pad) var(--pad); }
.ol-tabs { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; padding: 4px; border-radius: 10px; background: #f3f5f9; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .05); isolation: isolate; }
.ol-ind { position: absolute; left: 0; top: 0; z-index: 0; border-radius: 6px; background: #fff; overflow: hidden; opacity: 0; pointer-events: none;
  box-shadow: 0 0 0 1px rgba(11, 26, 51, .06), 0 1px 2px rgba(11, 26, 51, .06), 0 4px 10px -4px rgba(50, 50, 93, .18);
  transition: transform .42s cubic-bezier(.3, .7, .2, 1), width .42s cubic-bezier(.3, .7, .2, 1), opacity .3s ease; will-change: transform; }
.ol-on .ol-ind { opacity: 1; }
.ol-ind.no-anim { transition: opacity .3s ease; }
.ol-ind i { position: absolute; left: 12px; right: 12px; bottom: 5px; height: 2px; border-radius: 1px; background: var(--cobalt); transform-origin: 0 50%; transform: scaleX(0); opacity: .85; }
.ol-tab { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; height: 44px; padding: 0 10px 2px; border: 0; border-radius: 6px; background: none;
  font: 500 13px/1.2 var(--font); color: var(--text-3); cursor: pointer; transition: color .25s ease; }
.ol-tab svg { flex: none; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: stroke .25s ease; }
.ol-tab span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ol-tab:hover { color: var(--text); }
.ol-tab[aria-selected="true"] { color: var(--text); }
.ol-tab[aria-selected="true"] svg { stroke: var(--cobalt); }
.ol-tab:focus-visible { outline: 2px solid var(--cobalt); outline-offset: -2px; }
.ol-desc { position: relative; height: 1.5em; margin: 0; font-size: 14px; color: var(--text-2); }
.ol-desc span { position: absolute; left: 0; right: 0; opacity: 0; transform: translateY(4px); transition: opacity .25s ease, transform .35s cubic-bezier(.16, 1, .3, 1); }
.ol-desc span.on { opacity: 1; transform: none; transition-delay: .08s; }
.ol-wall { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.ol-tile { display: grid; grid-template-columns: 32px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 10px; align-items: center; padding: 10px 12px; border-radius: var(--r-in, 8px); background: #fff;
  box-shadow: 0 0 0 1px rgba(11, 26, 51, .08); transition: opacity .3s ease, box-shadow .3s ease, background-color .3s ease; transition-delay: calc(var(--k, 0) * 30ms); }
.ol-lg { grid-row: 1 / 3; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; box-shadow: 0 0 0 1px rgba(11, 26, 51, .08); background: #fff; overflow: hidden; transition: filter .3s ease; }
.ol-lg img { display: block; width: 100%; height: 100%; }
.ol-tile b { font-size: 13.5px; font-weight: 500; letter-spacing: -.01em; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ol-tile small { font-size: 12px; color: var(--text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ol-on .ol-tile:not(.on) { opacity: .45; transition-delay: 0s; }
.ol-on .ol-tile:not(.on) .ol-lg { filter: grayscale(1); }
.ol-on .ol-tile.on { background: rgba(59, 91, 255, .035); box-shadow: 0 0 0 1px var(--cobalt); }
.an-c:not(.is-in) .ol-tile { opacity: 0; }
.an-c.is-in .ol-tile { animation: pt-in .5s cubic-bezier(.16, 1, .3, 1) both; animation-delay: calc(var(--i, 0) * 25ms); }
@media (max-width: 1100px) { .ol-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .ol-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ol-tab { flex-direction: column; gap: 4px; height: 56px; font-size: 12px; }
  .ol-tab { padding: 0 4px 2px; }
  .ol-tab span { white-space: normal; text-align: center; line-height: 1.15; hyphens: auto; overflow-wrap: anywhere; font-size: 11.5px; }
  .ol-desc { height: 3em; }
  .ol-wall { grid-template-columns: 1fr 1fr; } .ol-tile small { display: none; }
}
@media (prefers-reduced-motion: reduce) { .ol-ind, .ol-tile, .ol-desc span, .ol-lg { transition: none !important; } .an-c.is-in .ol-tile { animation: none; } .ol-ind i { display: none; } }
/* Founder cards: every title reserves two lines, so the three fields and panels start on one line whatever wraps */
.p-fp .fp2-grid .an-t h3 { min-height: 2.4em; line-height: 1.2; display: flex; align-items: flex-end; }
@media (max-width: 900px) { .p-fp .fp2-grid .an-t h3 { min-height: 0; } }

/* ================= v27: status pages (404, payment received) ================= */
/* The Founder hero layout: copy left, one interface card right (the leak / the next steps), on the light page. */
.sp { padding: calc(var(--nav-h, 64px) + clamp(56px, 8vw, 120px)) 0 clamp(72px, 9vw, 128px); background: #fff; }
.sp-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.sp-h { margin: 0; font-size: clamp(40px, 5vw, 72px); line-height: 1.02; font-weight: 500; letter-spacing: -.045em; color: var(--text); }
.sp-h span { display: block; max-width: 34ch; margin-top: 22px; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.5; font-weight: 400; letter-spacing: -.01em; color: var(--text-2); }
.sp-copy .cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.sp-note { max-width: 52ch; margin: 28px 0 0; font-size: 13.5px; line-height: 1.6; color: var(--text-3); }
.sp-note a { color: var(--text-2); text-decoration: underline; text-underline-offset: 2px; }
.sp-card { min-height: 340px; }
.sp-card .an-fld { margin-top: 0; padding-top: 48px; }
.sp-log, .sp-steps { list-style: none; margin: 4px 44px 0 18px !important; padding: 0 !important; }
@media (max-width: 900px) { .sp-log, .sp-steps { margin-right: 36px !important; margin-left: 14px !important; } .sp-log li { grid-template-columns: 90px minmax(0, 1fr); } }
.sp-log li { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 12px; padding: 14px 0; border-bottom: 1px solid rgba(11, 26, 51, .06); font-size: 14px; }
.sp-log li:last-child { border: 0; }
.sp-log span { color: var(--text-3); }
.sp-log b { font-weight: 500; color: var(--text); overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.sp-log a { color: var(--cobalt); text-decoration: none; }
.sp-bad { color: #e5484d !important; }
.sp-steps li { position: relative; display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 12px; padding: 14px 0; border-bottom: 1px solid rgba(11, 26, 51, .06); }
.sp-steps li:last-child { border: 0; }
.sp-steps i { width: 14px; height: 14px; margin-top: 3px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px rgba(11, 26, 51, .2); background: #fff; }
.sp-steps .is-done i { background: var(--cobalt); box-shadow: inset 0 0 0 4px #e8edff; }
.sp-steps b { display: block; font-size: 14.5px; font-weight: 500; color: var(--text); }
.sp-steps span { display: block; margin-top: 3px; font-size: 13px; line-height: 1.45; color: var(--text-3); }
.sp-steps em { font-style: normal; font-size: 12.5px; font-weight: 500; color: var(--text-3); white-space: nowrap; }
.sp-steps .is-done em { color: var(--cobalt); }
.sp-copy > *, .sp-card { animation: fp3-up .9s cubic-bezier(.16, 1, .3, 1) both; }
.sp-copy .cta-row { animation-delay: .08s; } .sp-note { animation-delay: .14s; } .sp-card { animation-delay: .18s; }
@media (max-width: 900px) { .sp-in { grid-template-columns: 1fr; } .sp-card { min-height: 0; } }
@media (prefers-reduced-motion: reduce) { .sp-copy > *, .sp-card { animation: none; } }
/* footer newsletter on phones: the field keeps its 44 px height when the row stacks (flex: 1 made it collapse) */
@media (max-width: 600px) { .ft-news input { flex: none; width: 100%; } }

/* ================= v28 ================= */
/* Phone, Reply frame: the lock-screen layer used to leave by scaling to 1.05 and then stayed there invisible, a layer
   larger than the screen that Chrome sometimes painted past the rounded corners (the bottom rectangle flickered).
   Like every other frame it now only fades, and is hidden once faded. */
.p-home .kxp .krp-l.krp-on { transform: none !important; visibility: hidden; transition: opacity .45s ease, visibility 0s linear .45s !important; }
/* status pages (404, payment received): the page always fills the window, so the dark footer ends at the bottom
   edge with no white strip; the card on the right shows on load (it was waiting for a scroll) */
body.p-sp { display: flex; flex-direction: column; min-height: 100svh; }
body.p-sp > main { flex: 1 0 auto; display: flex; flex-direction: column; }
body.p-sp .sp { flex: 1 0 auto; display: flex; align-items: center; }
body.p-sp .sp > .wrap { width: 100%; }
html:has(body.p-sp) { background: #05090c; }
/* Founder, composed: three stats under the buttons (hairline-separated, no card); one section holds the quote (left,
   sticky on desktop) and the path as one card of three rows (right); then the contact card. */
.fp3-hero { padding-bottom: clamp(64px, 8vw, 104px); }
.fp3-stats { display: flex; flex-wrap: wrap; margin: 40px 0 0; padding: 0; list-style: none; }
.fp3-stats li { display: grid; gap: 4px; padding: 0 28px; box-shadow: -1px 0 0 rgba(11, 26, 51, .1); }
.fp3-stats li:first-child { padding-left: 0; box-shadow: none; }
.fp3-stats b { font-size: clamp(24px, 2.2vw, 30px); font-weight: 500; letter-spacing: -.03em; line-height: 1.1; color: var(--text); }
.fp3-stats li > span { font-size: 13.5px; color: var(--text-3); }
.fp3-stats .kx-num { font: inherit; color: inherit; letter-spacing: inherit; }
.fp3-copy > .fp3-stats { animation-delay: .16s; }
.fp3-story { padding: clamp(72px, 8vw, 112px) 0; background: #f6f8fc; }
.fp3-sg { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(32px, 6vw, 88px); align-items: start; }
.fp3-q { position: sticky; top: calc(var(--nav-h, 64px) + 40px); margin: 0; font-size: clamp(30px, 3.4vw, 46px) !important; line-height: 1.12; font-weight: 500; letter-spacing: -.04em; }
.fp3-tl { padding: 8px 0; }
.fp3-row { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; gap: 20px; padding: 24px 28px; }
.fp3-row + .fp3-row { box-shadow: inset 0 1px 0 rgba(11, 26, 51, .07); }
.fp3-when { padding-top: 3px; font-size: 13px; font-weight: 500; color: var(--cobalt); }
.fp3-row h3 { margin: 0; font-size: 19px; font-weight: 500; letter-spacing: -.02em; line-height: 1.3; color: var(--text); }
.fp3-row p { margin: 8px 0 0; font-size: 14.5px; line-height: 1.55; color: var(--text-2); }
.fp3-row em { padding-top: 4px; font-style: normal; font-size: 12.5px; color: var(--text-3); white-space: nowrap; }
.fp3-ck { display: grid; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; counter-reset: fp; }
.fp3-ck li { display: flex; align-items: center; gap: 10px; font-size: 14.5px; color: var(--text-2); counter-increment: fp; }
.fp3-ck li::before { content: counter(fp); display: grid; place-items: center; flex: none; width: 20px; height: 20px; border-radius: 5px; background: var(--cobalt); color: #fff; font-size: 11.5px; font-weight: 600; }
.p-fp .fp2-contact { padding-top: clamp(72px, 8vw, 112px); }
@media (max-width: 900px) {
  .fp3-sg { grid-template-columns: 1fr; }
  .fp3-q { position: static; }
  .fp3-row { grid-template-columns: 1fr; gap: 6px; padding: 20px; }
  .fp3-row em { display: none; }
  .fp3-stats li { padding: 0 16px; } .fp3-stats b { font-size: 22px; } .fp3-stats li > span { font-size: 12px; }
}
/* interface panels (Lead flow, Mystery shop, Inbox, …): a light rounding on the top corners again; the header's
   gradient follows the panel's corners instead of squaring them off */
.p-home .an-pan { border-radius: var(--r-in) var(--r-in) 0 0; }
.p-home .an-pnh { border-top-left-radius: inherit; border-top-right-radius: inherit; }

/* ================= v30: footer trust strip ================= */
/* our own guarantees (Terms s.12, Refund Policy s.5), the privacy facts, the payment processor: plain text, no seals */
.ft-trust { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 32px; margin-top: 56px; padding: 18px 0; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07); font-size: 12.5px; line-height: 1.4; }
.ft-trust + .ft-bot { margin-top: 0; }
.ft-tg, .ft-tf { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; }
.ft-trust a, .ft-trust span { color: rgba(226, 232, 242, .58); transition: color .15s ease; }
.ft-trust a:hover { color: #fff; }
.ft-tg a { display: inline-flex; align-items: center; gap: 8px; color: rgba(236, 240, 247, .82); font-weight: 500; }
.ft-tg svg { flex: none; width: 14px; height: 14px; fill: none; stroke: #7f97ff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ft-tf > * + *::before { content: ""; display: inline-block; width: 3px; height: 3px; margin: 0 12px 2px -12px; border-radius: 50%; background: rgba(226, 232, 242, .25); vertical-align: middle; }
.ft-tf { gap: 8px 24px; }
.ft-ypc-a { white-space: nowrap; }
.ft-ypc { display: inline-block; width: 30px; height: 14px; margin-left: 8px; vertical-align: -2px; overflow: visible; }
@media (max-width: 760px) { .ft-trust { flex-direction: column; margin-top: 40px; } .ft-tg, .ft-tf { flex-direction: column; align-items: flex-start; gap: 10px; } .ft-tf > * + *::before { display: none; } }

/* ================= v30: Your Privacy Choices (/privacy-choices) ================= */
.p-pc { background: #f6f9fc; }
.pc { padding: calc(var(--nav-h, 64px) + clamp(48px, 7vw, 96px)) 0 clamp(72px, 9vw, 112px); }
.pc-h { max-width: 760px; margin-bottom: 40px; }
.pc-h .h2 { margin: 0; font-size: clamp(36px, 4.4vw, 60px); line-height: 1.04; font-weight: 500; letter-spacing: -.045em; color: var(--text); }
.pc-h .h2 span { display: block; color: var(--text-3); }
.pc-h p { max-width: 62ch; margin: 20px 0 0; font-size: 17px; line-height: 1.6; color: var(--text-2); }
.pc-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.pc-c { padding: 32px; }
.pc-c h2 { margin: 0 0 10px; font-size: 22px; line-height: 1.25; font-weight: 500; letter-spacing: -.02em; color: var(--text); }
.pc-c > p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--text-2); }
.pc-c a { color: var(--cobalt, #3b5bff); }
.pc-c .cta-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.pc-st { display: flex; align-items: center; gap: 10px; margin-top: 22px; padding: 12px 14px; border-radius: var(--r-in, 8px); background: #f6f9fc; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .06); font-size: 14px; color: var(--text); }
.pc-st i { flex: none; width: 8px; height: 8px; border-radius: 50%; background: #16a34a; box-shadow: 0 0 0 3px rgba(22, 163, 74, .14); }
.pc-st[data-on="1"] i { background: #b45309; box-shadow: 0 0 0 3px rgba(180, 83, 9, .14); }
.pc-c .btn[disabled] { opacity: .45; pointer-events: none; }
.pc-f { display: grid; gap: 8px; margin-top: 22px; }
.pc-f > label, .pc-f legend { font-size: 13.5px; font-weight: 500; color: var(--text); }
.pc-f > label span { font-weight: 400; color: var(--text-3); }
.pc-f input[type=email], .pc-f textarea { width: 100%; margin-bottom: 10px; border: 0; border-radius: 4px; background: #fff; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .14); font: 400 15px/1.4 var(--font); color: var(--text); transition: box-shadow .15s ease; }
.pc-f input[type=email] { height: 44px; padding: 0 14px; }
.pc-f textarea { display: block; height: 120px; min-height: 120px; max-height: 240px; padding: 14px 16px; line-height: 1.55; resize: vertical; }   /* as What do you need? on /apply, but it stops growing */
.pc-f :is(input[type=email], textarea):hover { box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .24); }
.pc-f :is(input[type=email], textarea):focus { outline: 0; box-shadow: inset 0 0 0 1px #3b5bff, 0 0 0 3px rgba(59, 91, 255, .18); }
.pc-f ::placeholder { color: var(--text-3); }
.p-pc .an-c { opacity: 1; transform: none; }   /* the two cards are the page: shown at once, no reveal on scroll */
.p-pc .an-c .an-pw { opacity: 1; transform: none; }
.pc-f fieldset { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0 0 12px; padding: 0; border: 0; }
.pc-f legend { margin-bottom: 8px; padding: 0; }
.pc-f fieldset label { display: flex; align-items: center; gap: 9px; padding: 10px 12px; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .12); font-size: 14px; color: var(--text-2); cursor: pointer; transition: box-shadow .15s ease, background-color .15s ease; }
.pc-f fieldset label:has(input:checked) { color: var(--text); background: rgba(59, 91, 255, .05); box-shadow: inset 0 0 0 1px #3b5bff; }
.pc-f input[type=radio] { accent-color: #3b5bff; margin: 0; }
.pc-f .btn { justify-self: start; margin-top: 6px; }
.pc-err { margin: -4px 0 4px; font-size: 13px; color: #b91c1c; }
.pc-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 40px 0 0; padding: 0; list-style: none; box-shadow: inset 0 1px 0 rgba(11, 26, 51, .12); }
.pc-facts li { padding: 18px 24px 0 0; }
.pc-facts b { display: block; font-size: 22px; font-weight: 500; letter-spacing: -.02em; color: var(--text); font-variant-numeric: tabular-nums; }
.pc-facts span { display: block; margin-top: 4px; font-size: 13.5px; line-height: 1.45; color: var(--text-3); }
.pc-note { max-width: 78ch; margin: 28px 0 0; font-size: 13.5px; line-height: 1.6; color: var(--text-3); }
.pc-note a { color: var(--text-2); text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 900px) { .pc-grid, .pc-facts { grid-template-columns: 1fr; } .pc-c { padding: 24px 20px; } .pc-f fieldset { grid-template-columns: 1fr; } .pc-facts li { padding: 14px 0; box-shadow: inset 0 -1px 0 rgba(11, 26, 51, .06); } }

/* ================= v32: the card edge is a real border ================= */
/* One edge for every card: a 1.5 px border (the browser snaps it to whole device pixels, the same on all four sides and
   round the corners), painted outside the content clip, so nothing cuts it and a coloured field that runs to the edge
   stops inside it. The hover chrome is a conic layer in that same border box; it fades in by one number (--kx-o) and
   turns to the cursor by one angle (--kx-a). No mask, no extra layer, no inner line. The card is not pre-rendered as a
   bitmap (no will-change), so after the hover scale the browser draws the edge sharp at its new size. */
@property --kx-o { syntax: '<number>'; inherits: true; initial-value: 0; }
.p-home :is(.an-c, .pr-plan, .pr-audit, .an-led, .pr-add, .pr-cmp, .pr-g) {
  --kx-line: rgba(11, 26, 51, .12);
  isolation: isolate; border: 1.5px solid transparent !important; background-color: #fff;
  background: linear-gradient(#fff, #fff) padding-box,
    conic-gradient(from calc(var(--kx-a) - 70deg), rgb(143 214 255 / 0) 0deg, rgb(143 214 255 / var(--kx-o)) 25deg, rgb(106 88 255 / var(--kx-o)) 55deg,
      rgb(177 77 255 / var(--kx-o)) 75deg, rgb(242 85 122 / var(--kx-o)) 95deg, rgb(255 176 138 / var(--kx-o)) 118deg, rgb(255 176 138 / 0) 150deg, rgb(255 176 138 / 0) 360deg) border-box,
    linear-gradient(var(--kx-line), var(--kx-line)) border-box !important;
  box-shadow: 0 1px 2px rgba(11, 26, 51, .04), 0 10px 20px -10px rgba(50, 50, 93, .14), 0 30px 60px -30px rgba(50, 50, 93, .2) !important; }
.p-home .pr-hi { --kx-line: #3b5bff; box-shadow: 0 30px 60px -28px rgba(50, 50, 93, .35), 0 18px 36px -20px rgba(49, 91, 255, .35) !important; }
.p-home .kx-hv { will-change: auto !important; backface-visibility: visible !important;
  transition: transform .6s cubic-bezier(.22, 1, .36, 1), box-shadow .5s cubic-bezier(.22, 1, .36, 1), opacity .9s cubic-bezier(.23, 1, .32, 1),
    --kx-o .45s ease, --kx-a .5s cubic-bezier(.22, 1, .36, 1) !important; }
.kx-ring { display: none !important; }
@media (hover: hover) and (pointer: fine) {
  .p-home .kx-hv:hover { --kx-o: 1; --kx-line: rgba(11, 26, 51, .16);
    box-shadow: 0 2px 4px rgba(11, 26, 51, .04), 0 26px 50px -22px rgba(50, 50, 93, .3) !important; }
  .p-home .pr-hi.kx-hv:hover { --kx-line: #3b5bff; box-shadow: 0 34px 64px -28px rgba(50, 50, 93, .4), 0 20px 40px -20px rgba(49, 91, 255, .4) !important; }
}
@media (prefers-reduced-motion: reduce) { .p-home .kx-hv { transition: none !important; } }

/* ================= v34: One lead header ================= */
/* Title and note on one line, on one baseline, at the card's top padding; the note never wraps on desktop. */
.p-home .pt-d .an-t { align-items: baseline; flex-wrap: nowrap; gap: 8px 32px; padding-top: 26px; padding-bottom: 20px; }
.p-home .pt-d .an-t h3 { min-height: 0 !important; margin: 0 !important; padding: 0 !important; flex: none; }
.p-home .pt-d .an-cite { max-width: none !important; margin: 0 !important; white-space: nowrap; text-align: right; }
@media (max-width: 1100px) { .p-home .pt-d .an-t { flex-wrap: wrap; padding-top: 20px; padding-bottom: 16px; } .p-home .pt-d .an-cite { white-space: normal; text-align: left; } }

/* ================= apply: sending and "Application received" (site13) =================
   apply-fx.js stages the live form: .ap-busy while reserving/sending (progress hairline on the card), .ap-sent when the
   server said yes (button turns into "Sent"), .ok-on on the card once the result shows (.ok-err for errors).
   The result is one column: seal, title, text, next-steps tracker, call ticket, help, actions. */
html body.p-apply .apply-card { position: relative; }
.ap-prog { position: absolute; z-index: 5; left: 0; right: 0; top: 0; height: 2px; overflow: hidden; pointer-events: none; opacity: 0; transition: opacity .4s ease; }
.ap-prog i { position: absolute; inset: 0; background: linear-gradient(90deg, #8fd6ff, #3b5bff 55%, #9a7dff); transform-origin: left; transform: scaleX(var(--ap-p, 0)); transition: transform .9s cubic-bezier(.22, 1, .36, 1); }
.ap-prog i::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .9), transparent); transform: translateX(-100%); animation: ap-shine 1.1s ease-in-out infinite; }
.apply-card.ap-busy .ap-prog, .apply-card.ap-leaving .ap-prog { opacity: 1; }
.apply-card.ap-leaving .ap-prog { transition-delay: .5s; opacity: 0; }
@keyframes ap-shine { to { transform: translateX(100%); } }
html body.p-apply .apply-card.ap-busy :is(#apply-form .field, #apply-form [data-kb], #apply-form .form-note, #view-form .fx-head) { opacity: .5; pointer-events: none; transition: opacity .35s ease; }
html body.p-apply #apply-form > *, html body.p-apply #view-form > * { transition: opacity .35s ease; }
/* the button says "Sent" before the form leaves */
html body.p-apply #apply-form .btn-submit .ap-ok { position: absolute; inset: 0; z-index: 4; display: flex; align-items: center; justify-content: center; gap: 8px; color: #fff; background: #3b5bff; opacity: 0; transition: opacity .18s ease; pointer-events: none; }
html body.p-apply #apply-form .btn-submit .ap-ok > * { transform: translateY(5px); transition: transform .35s cubic-bezier(.22, 1, .36, 1); }
html body.p-apply .apply-card.ap-sent #apply-form .btn-submit .ap-ok > * { transform: none; }
html body.p-apply #apply-form .btn-submit .ap-ok b { font: 500 15px/1 var(--font); }
html body.p-apply #apply-form .btn-submit .ap-ok svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 24; stroke-dashoffset: 24; transition: stroke-dashoffset .4s ease .12s; }
html body.p-apply .apply-card.ap-sent #apply-form .btn-submit .ap-ok { opacity: 1; transform: none; }
html body.p-apply .apply-card.ap-sent #apply-form .btn-submit .ap-ok svg { stroke-dashoffset: 0; }

/* result: the old picture and its animations are gone */
html body.p-apply .apply-card.ok-on { overflow: clip !important; }
html body.p-apply #result { overflow-x: clip !important; overflow-y: visible !important; }
html body.p-apply .apply-card.is-ok, html body.p-apply .apply-card.is-bad, html body.p-apply .apply-card.is-ok::before, html body.p-apply .apply-card.is-bad::before, html body.p-apply .apply-card.is-ok::after, html body.p-apply .apply-card.is-bad::after { animation: none !important; }
html body.p-apply #view-result .rm, html body.p-apply #view-result .rs-aura, html body.p-apply #view-result .rs-ref { display: none !important; }
html body.p-apply #result, html body.p-apply #result * { animation: none !important; }
html body.p-apply #result.fx-res, html body.p-apply #result { position: relative; display: flex !important; flex-direction: column; align-items: center; gap: 0; padding: 8px 0 4px !important; text-align: center; background: none !important; border: 0 !important; box-shadow: none !important; }
html body.p-apply #result .fx-rl, html body.p-apply #result .fx-rr { display: contents !important; }
html body.p-apply #result > *:not(.ok-wash) { position: relative; z-index: 1; }
.ok-wash { position: absolute; z-index: 0; left: 50%; top: -120px; width: 760px; height: 420px; margin-left: -380px; pointer-events: none;
  background: radial-gradient(38% 46% at 34% 52%, rgba(143, 214, 255, .45), transparent 70%), radial-gradient(34% 44% at 66% 46%, rgba(154, 125, 255, .32), transparent 70%), radial-gradient(30% 40% at 50% 60%, rgba(59, 91, 255, .22), transparent 72%); filter: blur(4px); }
.ok-err .ok-wash { background: radial-gradient(36% 44% at 40% 52%, rgba(255, 170, 160, .4), transparent 70%), radial-gradient(32% 42% at 62% 48%, rgba(229, 72, 77, .18), transparent 72%); }
/* seal */
.ok-seal { position: relative; order: 1; width: 76px; height: 76px; margin: 16px 0 26px; }
.ok-disc { position: absolute; inset: 0; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(150deg, #6b86ff 0%, #3b5bff 48%, #2c49e8 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), inset 0 -6px 14px rgba(20, 30, 120, .25), 0 14px 30px -10px rgba(59, 91, 255, .7), 0 4px 10px -4px rgba(50, 50, 93, .35); }
.ok-disc svg { width: 40px; height: 40px; fill: none; stroke: #fff; stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; }
.ok-x { display: none; } .ok-err .ok-x { display: block; } .ok-err .ok-ck { display: none; }
.ok-err .ok-disc { background: linear-gradient(150deg, #ff8a8d 0%, #e5484d 52%, #c93a3f 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 14px 30px -10px rgba(229, 72, 77, .6), 0 4px 10px -4px rgba(50, 50, 93, .35); }
.ok-ring { position: absolute; inset: 0; border-radius: 50%; border: 1.5px solid rgba(59, 91, 255, .45); opacity: 0; }
.ok-err .ok-ring { border-color: rgba(229, 72, 77, .4); }
.ok-rays { position: absolute; inset: 0; }
.ok-rays i { position: absolute; left: 50%; top: 50%; width: 2px; height: 10px; margin: -5px 0 0 -1px; }
.ok-rays b { position: absolute; left: 0; right: 0; top: -50px; height: 10px; border-radius: 2px; background: linear-gradient(#8fd6ff, #3b5bff); opacity: 0; }
.ok-rays i:nth-child(even) b { background: linear-gradient(#c9b8ff, #9a7dff); }
.ok-rays i:nth-child(1) { transform: rotate(0deg); }
.ok-rays i:nth-child(2) { transform: rotate(30deg); }
.ok-rays i:nth-child(3) { transform: rotate(60deg); }
.ok-rays i:nth-child(4) { transform: rotate(90deg); }
.ok-rays i:nth-child(5) { transform: rotate(120deg); }
.ok-rays i:nth-child(6) { transform: rotate(150deg); }
.ok-rays i:nth-child(7) { transform: rotate(180deg); }
.ok-rays i:nth-child(8) { transform: rotate(210deg); }
.ok-rays i:nth-child(9) { transform: rotate(240deg); }
.ok-rays i:nth-child(10) { transform: rotate(270deg); }
.ok-rays i:nth-child(11) { transform: rotate(300deg); }
.ok-rays i:nth-child(12) { transform: rotate(330deg); }
/* text */
html body.p-apply #result .result-title { order: 2; margin: 0 !important; font: 500 32px/1.12 var(--font) !important; letter-spacing: -.035em !important; color: var(--text) !important; text-wrap: balance; }
html body.p-apply #result .result-title .rw { display: inline-block; }
html body.p-apply #result .result-text { order: 3; max-width: 46ch; margin: 12px auto 0 !important; font: 400 16px/1.6 var(--font) !important; color: var(--text-2) !important; text-wrap: pretty; }
/* next steps: a horizontal tracker on a quiet panel */
html body.p-apply #result .rs-next { order: 4; width: 100%; margin: 30px 0 0 !important; padding: 20px 22px 22px !important; border-radius: var(--r-in, 8px) !important; background: #f6f9fc !important; border: 0 !important; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .06) !important; text-align: left; }
html body.p-apply #result .rs-next-head { display: flex !important; justify-content: center; margin: 0 0 20px !important; padding: 0 !important; border: 0 !important; }
html body.p-apply #result .rs-next-head span { font: 500 13.5px/1.2 var(--font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--text-2) !important; }
html body.p-apply #result .rs-steps { position: relative; display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0 !important; padding: 0 !important; list-style: none; }
html body.p-apply #result .rs-line { position: absolute !important; left: calc(100% / 6 + 14px) !important; right: calc(100% / 6 + 14px) !important; top: 13px !important;   /* dot edge to dot edge, through the middle dot */ height: 2px !important; width: auto !important; margin: 0 !important; border-radius: 2px; background: rgba(11, 26, 51, .1) !important; }
html body.p-apply #result .rs-line i { position: absolute !important; inset: 0 50% 0 0 !important; width: auto !important; height: auto !important; border-radius: 2px; background: #3b5bff !important; transform-origin: left !important; }
html body.p-apply #result .rs-step { position: relative; display: flex !important; flex-direction: column; align-items: center; gap: 12px !important; margin: 0 !important; padding: 0 10px !important; text-align: center; }
html body.p-apply #result .rs-step::before, html body.p-apply #result .rs-step::after { display: none !important; }
html body.p-apply #result .rs-dot { position: relative !important; z-index: 1; flex: none; display: grid !important; place-items: center; width: 28px !important; height: 28px !important; margin: 0 !important; border-radius: 50% !important; background: #fff !important; box-shadow: inset 0 0 0 1.5px rgba(11, 26, 51, .16) !important; border: 0 !important; }
html body.p-apply #result .rs-step.is-done .rs-dot { background: #3b5bff !important; box-shadow: 0 6px 14px -6px rgba(59, 91, 255, .7) !important; }
html body.p-apply #result .rs-step.is-done .rs-dot svg { width: 14px !important; height: 14px !important; stroke: #fff !important; fill: none !important; stroke-width: 2.6 !important; }
html body.p-apply #result .rs-step.is-current .rs-dot { box-shadow: inset 0 0 0 1.5px #3b5bff, 0 0 0 5px rgba(59, 91, 255, .1) !important; }
html body.p-apply #result .rs-step.is-current .rs-dot { background: radial-gradient(circle closest-side at 50% 50%, #3b5bff 0 3.6px, #fff 4.4px) !important; }   /* inner dot drawn by the dot's own background: always concentric */
html body.p-apply #result .rs-step.is-current .rs-dot::after { display: none !important; }
html body.p-apply #result .rs-step.is-current .rs-dot::before { content: '' !important; display: block !important; position: absolute; inset: 0; border-radius: 50%; box-shadow: 0 0 0 1.5px #3b5bff; opacity: 0; animation: ok-ping 2.4s cubic-bezier(.22, 1, .36, 1) 1.6s infinite !important; }
@keyframes ok-ping { 0% { transform: scale(1); opacity: .6; } 70%, 100% { transform: scale(1.9); opacity: 0; } }
html body.p-apply #result .rs-step > div { display: flex; flex-direction: column; align-items: center; gap: 3px; width: 100%; min-width: 0; white-space: normal !important; }
html body.p-apply #result .rs-step small, html body.p-apply #result .rs-step b { white-space: normal !important; max-width: 100%; }
html body.p-apply #result .rs-step b { font: 500 14.5px/1.3 var(--font) !important; color: var(--text) !important; }
html body.p-apply #result .rs-step small, html body.p-apply #result .rs-step small * { font: 400 13px/1.45 var(--font) !important; color: var(--text-3) !important; overflow-wrap: anywhere; }
html body.p-apply #result .rs-step:has(.fx-booked) .rs-dot { background: #edf1ff !important; box-shadow: inset 0 0 0 1.5px #3b5bff !important; }
html body.p-apply #result .rs-step .fx-booked { display: none !important; margin-top: 4px; padding: 3px 8px; border-radius: 6px; font-weight: 500 !important; color: #2c49e8 !important; background: rgba(59, 91, 255, .08); }
/* the call ticket */
html body.p-apply #result .kb-done { order: 5; position: relative; width: 100%; display: grid !important; grid-template-columns: 64px minmax(0, 1fr); column-gap: 18px; margin: 14px 0 0 !important; padding: 18px !important; border-radius: var(--r-in, 8px) !important; background: #fff !important;
  border: 0 !important; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .1), 0 1px 2px rgba(11, 26, 51, .04), 0 12px 24px -16px rgba(50, 50, 93, .3) !important; text-align: left; }
html body.p-apply #result .kb-done::before, html body.p-apply #result .kb-done::after { display: none !important; }
.ok-cal { grid-row: 1 / span 3; display: flex; flex-direction: column; align-items: center; justify-content: center; align-self: start; width: 64px; height: 68px; border-radius: 8px; overflow: hidden; background: #fff; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .12); }
.ok-cal em { font-style: normal; align-self: stretch; padding: 4px 0 3px; font: 600 11px/1 var(--font); letter-spacing: .02em; text-transform: uppercase; text-align: center; color: #fff; background: #3b5bff; }
.ok-cal i { font-style: normal; flex: 1; display: grid; place-items: center; font: 500 28px/1 var(--font); letter-spacing: -.03em; color: var(--text); font-variant-numeric: tabular-nums; }
html body.p-apply #result .kb-done > small { grid-column: 2; margin: 0 !important; font: 500 13px/1.3 var(--font) !important; letter-spacing: 0 !important; text-transform: none !important; color: #2c49e8 !important; }
html body.p-apply #result .kb-done > small::before { display: none !important; }
html body.p-apply #result .kb-done > b { grid-column: 2; margin: 4px 0 0 !important; font: 500 18px/1.3 var(--font) !important; letter-spacing: -.02em !important; color: var(--text) !important; }
html body.p-apply #result .kb-done > p { grid-column: 2; margin: 2px 0 0 !important; font: 400 13.5px/1.5 var(--font) !important; color: var(--text-3) !important; }
html body.p-apply #result .kb-done-btns { grid-column: 1 / -1; display: flex !important; flex-wrap: wrap; align-items: center; gap: 10px 10px; margin: 16px 0 0 !important; padding: 16px 0 0 !important; border-top: 1px solid rgba(11, 26, 51, .08) !important; }
html body.p-apply #result .kb-done-btns a { display: inline-flex !important; align-items: center; justify-content: center; height: 38px !important; padding: 0 14px !important; border-radius: 4px !important; font: 500 14px/1 var(--font) !important; text-decoration: none !important; transition: background .15s ease, box-shadow .15s ease, transform .15s ease; flex: 0 0 auto !important; width: auto !important; }
html body.p-apply #result .kb-done-btns a:nth-child(1) { background: #3b5bff !important; color: #fff !important; border: 0 !important; box-shadow: none !important; }
html body.p-apply #result .kb-done-btns a:nth-child(1):hover { background: #2c49e8 !important; }
html body.p-apply #result .kb-done-btns a:nth-child(2) { background: #fff !important; color: var(--text) !important; border: 0 !important; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .16) !important; }
html body.p-apply #result .kb-done-btns a:nth-child(2):hover { box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .32) !important; }
html body.p-apply #result .kb-done-btns a:nth-child(3) { margin-left: auto; padding: 0 2px !important; height: auto !important; background: none !important; border: 0 !important; color: var(--text-2) !important; text-decoration: underline !important; text-decoration-color: rgba(11, 26, 51, .25) !important; text-underline-offset: 3px; box-shadow: none !important; }
html body.p-apply #result .kb-done-btns a:nth-child(3):hover { color: #2c49e8 !important; }
html body.p-apply #result .kb-done-btns a:active { transform: scale(.97); }
/* help and actions */
html body.p-apply #result .rs-help { order: 6; max-width: 48ch; margin: 22px auto 0 !important; font: 400 14px/1.6 var(--font) !important; color: var(--text-3) !important; }
html body.p-apply #result .rs-help a { color: var(--text) !important; }
html body.p-apply #result .result-actions { order: 7; display: flex !important; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 20px 0 0 !important; }
html body.p-apply #result .result-actions .btn { height: 44px !important; padding: 0 20px !important; border-radius: 4px !important; font: 500 15px/1 var(--font) !important; box-shadow: none !important; outline: none !important; }
html body.p-apply #result .result-actions .btn:focus-visible { box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(59, 91, 255, .45) !important; }
html body.p-apply #result .result-actions .btn-ghost { background: #fff !important; color: var(--text) !important; box-shadow: inset 0 0 0 1px rgba(11, 26, 51, .16) !important; }
/* reduced motion and no GSAP: the end state at once */
.ok-still .ok-disc, .ok-still .ok-ck, .ok-still .ok-x { opacity: 1; transform: none; stroke-dashoffset: 0; }
.ok-still .ok-ring, .ok-still .ok-rays { display: none; }
/* left column: "You apply" done */
html body.p-apply .ap-steps li.done .ap-n { background: #3b5bff !important; color: #fff !important; }
@media (max-width: 560px) {
  .ok-wash { width: 520px; margin-left: -260px; }
  html body.p-apply #result .result-title { font-size: 26px !important; }
  html body.p-apply #result .rs-steps { grid-template-columns: 1fr; gap: 16px 0; }
  html body.p-apply #result .rs-line { left: 13px !important; right: auto !important; top: 14px !important; bottom: var(--ok-lb, 14px) !important; width: 2px !important; height: auto !important; }
  html body.p-apply #result .rs-line i { inset: 0 0 50% 0 !important; transform-origin: top !important; }
  html body.p-apply #result .rs-step { flex-direction: row; align-items: flex-start; gap: 14px !important; padding: 0 !important; text-align: left; }
  html body.p-apply #result .rs-next-head { justify-content: flex-start; }
  html body.p-apply #result .rs-step > div { align-items: flex-start; }
  html body.p-apply #result .kb-done-btns a:nth-child(3) { margin-left: 0; }
  html body.p-apply #result .kb-done-btns a:nth-child(1), html body.p-apply #result .kb-done-btns a:nth-child(2) { flex: 1 1 140px !important; }
}
@media (prefers-reduced-motion: reduce) { .ap-prog i, .ap-prog i::after, html body.p-apply #result .rs-step.is-current .rs-dot::before { animation: none !important; transition: none !important; } }
/* the button while reserving/sending: stays solid cobalt; a lighter band fills with progress, a soft white shine runs over it */
html body.p-apply #apply-form .btn-submit.sb-busy, html body.p-apply #apply-form .btn-submit.sb-on:disabled, html body.p-apply .apply-card.ap-sent #apply-form .btn-submit { background: #3b5bff !important; color: #fff !important; opacity: 1 !important; filter: none !important; }
html body.p-apply #apply-form .btn-submit .sb-fill { z-index: 0 !important; background: transparent !important; transform: none !important; }   /* no hard-edged fill: progress shows on the card's top line */
html body.p-apply #apply-form .btn-submit .sb-txt, html body.p-apply #apply-form .btn-submit .sb-ico { z-index: 1; }
html body.p-apply #apply-form .btn-submit.sb-busy .sb-fill::after { background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, .22) 50%, transparent 100%) !important; animation-duration: 1.6s !important; }
html body.p-apply #apply-form .btn-submit.sb-busy .sb-line, html body.p-apply #apply-form .btn-submit.sb-busy .sb-ico { color: #fff !important; }
/* the button's icon slot sits at the right edge (it used to fall under the text and peek out at the bottom) */
html body.p-apply #apply-form .btn-submit .sb-ico { position: absolute !important; z-index: 2; right: 16px; top: 50%; width: 18px !important; height: 18px !important; margin-top: -9px; }
html body.p-apply #apply-form .btn-submit .sb-ico svg { width: 18px !important; height: 18px !important; }
html body.p-apply #apply-form .btn-submit:not(.sb-busy):not(.sb-done) .sb-ico { opacity: 0; }
html body.p-apply #apply-form .btn-submit .sb-arrow { display: none !important; }

/* ================= v35 ================= */
/* Logo: an inline SVG clips to its box by default; at 125-175 % display scaling the box ends inside a device pixel and
   the right stem of the "n" lost its last column. The mark is drawn inside its viewBox, so letting it paint is safe. */
.logo { overflow: visible; }
/* Card hover without the blur-and-click. A card scaled by transform is drawn from a bitmap while it moves and repainted
   when it stops: it went soft on the way back and then snapped sharp, and text switched its anti-aliasing as the layer
   came and went. Cards now lift instead of growing: translate only (no resampling, the 1.5 px edge stays exact), on a
   layer every card keeps for good (one anti-aliasing at rest, in motion and hovered), by whole device pixels
   (--kx-lift, set by home.js for the screen's pixel ratio). The deeper shadow and the chrome edge do the rest. */
.p-home .kx-hv { will-change: transform !important; backface-visibility: hidden !important;
  transition: transform .5s cubic-bezier(.22, 1, .36, 1), box-shadow .5s cubic-bezier(.22, 1, .36, 1), opacity .9s cubic-bezier(.23, 1, .32, 1),
    --kx-o .45s ease, --kx-a .5s cubic-bezier(.22, 1, .36, 1) !important; }
@media (hover: hover) and (pointer: fine) {
  .p-home .kx-hv.is-in:hover, .p-home .kx-hv:not(.an-c):hover { transform: translate3d(0, var(--kx-lift, -3px), 0) !important; }
  .p-home :is(.an-a, .an-led, .pr-found, .pt-a, .pt-d, .an-fu, .fq2-cta, .pr-audit, .pr-cmp, .pr-g).kx-hv:hover { transform: translate3d(0, var(--kx-lift-s, -2px), 0) !important; }
}
@media (prefers-reduced-motion: reduce) { .p-home .kx-hv:hover { transform: none !important; } }
/* Mystery shop: the half square (63.5 %) is a layer of its own that fades in with the same per-square delay as the
   full ones, so it lights up when the wave reaches it, not before (a background gradient switched instantly). */
.an-waf i { position: relative; }
.an-waf i.h { background: rgba(11, 26, 51, .08); }
.an-waf i::after { content: ''; position: absolute; inset: 0 50% 0 0; border-radius: 2px 0 0 2px; background: var(--red); opacity: 0;
  transition: opacity .22s ease; transition-delay: var(--wd, calc(var(--i) * 6ms)); }
.an-waf i.h::after { opacity: 1; }
.an-waf i { transition-delay: var(--wd, calc(var(--i) * 6ms)); }   /* --wd: when the counter passes this square (anatomy.js) */

/* site19: the Exit Kit card says what the client takes when they leave (Terms §17), not what keeps running */
.pt-ex li { min-height: 38px; }
.pt-ex em { color: #2c49e8; background: rgba(59, 91, 255, .08); }
.pt-ex em::before { background: #3b5bff; animation: none; box-shadow: none; }

/* site21: no 3D phone on phones (900 px and narrower): it is hidden and phone.js is not loaded (site.js) */
@media (max-width: 900px) { .p-home .hero-phone { display: none !important; } }
