/* Zeus Energy Solutions: blue-hour current. One design language for every page. */

@font-face {
  font-family: 'Saira';
  src: url('../fonts/saira.woff2') format('woff2');
  font-weight: 100 900;
  font-stretch: 50% 125%;
  font-display: swap;
}
@font-face {
  font-family: 'Instrument Sans';
  src: url('../fonts/instrument-sans.woff2') format('woff2');
  font-weight: 400 700;
  font-stretch: 75% 100%;
  font-display: swap;
}
@property --a {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}

:root {
  color-scheme: dark;
  --ink: #0a0c10;
  --ink-2: #0d1016;
  --surface: #12151d;
  --surface-2: #181c26;
  --line: rgba(233, 236, 242, .09);
  --line-2: rgba(233, 236, 242, .17);
  --text: #e9edf4;
  --muted: #a3acbd;
  --dim: #8a93a6;
  --violet: #8a4dff;
  --violet-text: #a57bff;
  --blue: #2e8bff;
  --cyan: #22c3ee;
  --gold: #ffc54d;
  --red: #ff6b7d;
  --current: linear-gradient(90deg, #8a4dff 0%, #3b6dff 52%, #22c3ee 100%);
  --current-v: linear-gradient(180deg, #8a4dff 0%, #3b6dff 52%, #22c3ee 100%);
  --chrome: linear-gradient(180deg, #ffffff 0%, #eef1f6 46%, #b3bbc9 100%);
  --display: 'Saira', 'Arial Narrow', sans-serif;
  --body: 'Instrument Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --r-card: 20px;
  --r-btn: 12px;
  --gutter: clamp(16px, 4.2vw, 56px);
  --max: 1240px;
  --nav-h: 76px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--nav-h) + 12px); }
body {
  margin: 0;
  background: var(--ink);
  color: var(--text);
  font-family: var(--body);
  font-size: 17px;
  line-height: 1.6;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
img, video, svg, picture { display: block; max-width: 100%; }
img, video { height: auto; }
a { color: inherit; }
p { margin: 0; }
h1, h2, h3, h4 { margin: 0; font-weight: 650; }
ul, ol { margin: 0; padding: 0; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; border-radius: 6px; }
::selection { background: rgba(46, 139, 255, .45); color: #fff; }
html[data-kit-modal] { overflow: hidden; }

.sr-only {
  position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}
.skip {
  position: absolute; left: 16px; top: -60px; z-index: 100; padding: 10px 16px; border-radius: 10px;
  background: #fff; color: var(--ink); font-weight: 600; text-decoration: none;
}
.skip:focus { top: 12px; }

.wrap { width: min(100% - 2 * var(--gutter), var(--max)); margin-inline: auto; }

/* ---------- type ---------- */
.h1, .h2, .h3, .num, .disp { font-family: var(--display); }
.h1, .h2, .h3 { text-wrap: balance; }
.h1 {
  font-stretch: 118%;
  font-weight: 680;
  font-size: clamp(30px, 4.25vw, 60px);
  line-height: 1.04;
  letter-spacing: -.012em;
}
.h2 {
  font-stretch: 116%;
  font-weight: 660;
  font-size: clamp(29px, 3.4vw, 48px);
  line-height: 1.07;
  letter-spacing: -.01em;
}
.h3 {
  font-stretch: 112%;
  font-weight: 640;
  font-size: clamp(19px, 1.6vw, 23px);
  line-height: 1.2;
}
.chrome {
  background: var(--chrome);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.cur {
  background: var(--current);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.lead { font-size: clamp(17px, 1.3vw, 19px); line-height: 1.6; color: var(--muted); max-width: 62ch; text-wrap: pretty; }
.lead strong, .muted strong { color: var(--text); font-weight: 600; }
.muted { color: var(--muted); }
.num { font-stretch: 112%; font-variant-numeric: tabular-nums; }

/* the logo's bottom rule: a line that is brightest at its middle */
.spark-line {
  position: relative; height: 1px; border: 0; margin: 0;
  background: linear-gradient(90deg, transparent, rgba(138, 77, 255, .55) 24%, rgba(255, 255, 255, .85) 50%, rgba(34, 195, 238, .55) 76%, transparent);
}
.spark-line::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 5px; height: 5px; margin: -2.5px;
  border-radius: 50%; background: #fff; box-shadow: 0 0 10px 3px rgba(70, 150, 255, .75);
}

/* ---------- buttons ---------- */
.btn {
  position: relative; isolation: isolate;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 54px; padding: 0 24px; border: 0; border-radius: var(--r-btn);
  font: 600 16px/1.1 var(--body); letter-spacing: .005em; text-decoration: none; text-align: center;
  cursor: pointer; transition: transform .18s ease, box-shadow .25s ease, background-color .25s ease;
}
.btn svg { width: 18px; height: 18px; flex: none; transition: transform .2s ease; }
.btn:hover svg { transform: translateX(3px); }
.btn-main {
  color: #0a0c10;
  background: linear-gradient(180deg, #ffffff 0%, #dfe4ec 100%);
  box-shadow: 0 14px 34px -14px rgba(46, 139, 255, .75), inset 0 -1px 0 rgba(10, 12, 16, .14);
}
/* a thin current runs round the main button */
.btn-main::before {
  content: ""; position: absolute; inset: -2px; z-index: -1; border-radius: calc(var(--r-btn) + 2px); padding: 2px;
  background: conic-gradient(from var(--a), #8a4dff, #2e8bff 18%, #22c3ee 30%, rgba(34, 195, 238, 0) 44%, rgba(138, 77, 255, 0) 78%, #8a4dff);
  -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);
  animation: current-ring 3.4s linear 2;
}
.btn-main:hover::before, .btn-main:focus-visible::before { animation: current-ring 3.4s linear infinite; }
.btn-main:hover { transform: translateY(-1px); box-shadow: 0 18px 40px -14px rgba(46, 139, 255, .95), inset 0 -1px 0 rgba(10, 12, 16, .14); }
.btn-main:active { transform: translateY(0); }
@keyframes current-ring { to { --a: 360deg; } }
.btn-ghost { color: var(--text); background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 1px var(--line-2); }
.btn-ghost:hover { background: rgba(255, 255, 255, .08); }
.btn-sm { min-height: 44px; padding: 0 16px; font-size: 14.5px; }
.btn-wide { width: 100%; }
.text-link {
  display: inline-flex; align-items: center; gap: 8px; color: #fff; font-weight: 600; text-decoration: none;
  background: linear-gradient(90deg, var(--violet), var(--cyan)) left bottom / 100% 1px no-repeat; padding-bottom: 3px;
}
.text-link svg { width: 16px; height: 16px; transition: transform .2s ease; }
.text-link:hover svg { transform: translateX(3px); }

/* ---------- glass, panels, chips ---------- */
.glass {
  background: rgba(15, 18, 26, .6);
  -webkit-backdrop-filter: blur(18px) saturate(1.5);
  backdrop-filter: blur(18px) saturate(1.5);
  border: 1px solid rgba(255, 255, 255, .13);
  box-shadow: 0 26px 60px -22px rgba(0, 0, 0, .75), inset 0 1px 0 rgba(255, 255, 255, .17);
  border-radius: 18px;
}
.panel {
  background: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .015));
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}
.chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px;
  font: 600 12px/1.4 var(--body); color: #dfe6f2; background: rgba(255, 255, 255, .07); border: 1px solid var(--line);
}
.chip.live { color: #bff1ff; background: rgba(34, 195, 238, .12); border-color: rgba(34, 195, 238, .35); }
.chip.live::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 8px var(--cyan); }
.ico {
  flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 11px; color: #fff;
  background: linear-gradient(135deg, rgba(138, 77, 255, .95), rgba(46, 139, 255, .95) 60%, rgba(34, 195, 238, .95));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 6px 16px -6px rgba(46, 139, 255, .8);
}
.ico svg { width: 20px; height: 20px; }
.stars { display: inline-flex; gap: 2px; color: var(--gold); }
.rs { background: linear-gradient(90deg, #f4a400 calc(var(--r, 5) / 5 * 100%), #c3cad6 calc(var(--r, 5) / 5 * 100%)); -webkit-background-clip: text; background-clip: text; color: transparent; letter-spacing: .5px; }
.stars svg { width: 13px; height: 13px; }

/* the small stop icon every moving picture has */
.stop {
  position: absolute; z-index: 6; display: grid; place-items: center; width: 40px; height: 40px; padding: 0;
  border-radius: 50%; border: 1px solid rgba(255, 255, 255, .2); background: rgba(10, 12, 16, .55); color: #fff; cursor: pointer;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: background .2s ease;
}
.stop:hover { background: rgba(10, 12, 16, .8); }
.stop svg { width: 14px; height: 14px; }
.stop .i-play { display: none; }
.stop[aria-pressed="true"] .i-pause { display: none; }
.stop[aria-pressed="true"] .i-play { display: block; }

/* ---------- navigation ---------- */
.nav {
  position: fixed; inset: 0 0 auto 0; z-index: 60; height: var(--nav-h);
  display: flex; align-items: center; border-bottom: 1px solid transparent;
  transition: background-color .3s ease, border-color .3s ease, backdrop-filter .3s ease;
}
.nav.is-solid { background: rgba(10, 12, 16, .84); border-color: var(--line); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.nav > .wrap { display: flex; align-items: center; gap: 28px; }
.nav-logo { display: block; flex: none; }
.nav-logo img { width: auto; height: 46px; }
.nav-links { display: flex; align-items: center; gap: 4px; margin-left: auto; list-style: none; }
.nav-links a {
  display: block; padding: 8px 12px; border-radius: 8px; color: #c7cfdd; text-decoration: none; font-size: 15px; font-weight: 500;
  transition: color .2s ease, background-color .2s ease;
}
.nav-links a:hover { color: #fff; background: rgba(255, 255, 255, .05); }
.nav-links a[aria-current="page"] { color: #fff; box-shadow: inset 0 -1px 0 rgba(34, 195, 238, .8); border-radius: 0; }
.nav-cta { flex: none; }
.nav-toggle {
  display: none; margin-left: auto; width: 46px; height: 46px; border-radius: 12px; border: 1px solid var(--line-2);
  background: rgba(255, 255, 255, .04); cursor: pointer; place-items: center; padding: 0;
}
.nav-toggle span { position: relative; display: block; width: 18px; height: 1.5px; background: #fff; }
.nav-toggle span::before, .nav-toggle span::after { content: ""; position: absolute; left: 0; width: 18px; height: 1.5px; background: #fff; transition: transform .25s ease; }
.nav-toggle span::before { top: -6px; }
.nav-toggle span::after { top: 6px; }
.nav-toggle[aria-expanded="true"] span { background: transparent; }
.nav-toggle[aria-expanded="true"] span::before { transform: translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span::after { transform: translateY(-6px) rotate(-45deg); }
.menu {
  position: fixed; inset: var(--nav-h) 0 0 0; z-index: 59; padding: 28px var(--gutter) 40px;
  background: radial-gradient(120% 70% at 50% 110%, rgba(59, 109, 255, .28), transparent 60%), rgba(10, 12, 16, .97);
  display: flex; flex-direction: column; gap: 6px; overflow-y: auto;
}
.menu[hidden] { display: none; }
.menu a:not(.btn) {
  display: flex; align-items: center; justify-content: space-between; padding: 16px 4px; border-bottom: 1px solid var(--line);
  font-family: var(--display); font-stretch: 115%; font-weight: 600; font-size: 22px; text-decoration: none; color: #fff;
}
.menu a:not(.btn) svg { width: 18px; height: 18px; color: var(--cyan); }
.menu .btn { margin-top: 22px; }
.menu .trust { justify-content: center; }

/* ---------- sections ---------- */
main { display: block; }
.section { position: relative; padding-block: clamp(84px, 10vw, 148px); }
.section.tight { padding-block: clamp(64px, 8vw, 110px); }
.head { display: grid; gap: 18px; max-width: 780px; margin-bottom: clamp(36px, 4.6vw, 60px); }
.head.center { margin-inline: auto; text-align: center; justify-items: center; }
.head .lead { max-width: 60ch; }
.cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: clamp(30px, 4vw, 44px); }
.cta-row.center { justify-content: center; }

.trust { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin: 0; padding: 0; list-style: none; font-size: 13.5px; color: var(--muted); }
.trust li { display: inline-flex; align-items: center; gap: 6px; }
.trust svg { width: 14px; height: 14px; color: var(--cyan); flex: none; }
.cta-row + .trust, .btn + .trust { margin-top: 14px; }
.trust.center, .cta-row.center + .trust { justify-content: center; }

/* ---------- the goal picker ---------- */
.picker { padding: 20px 20px 18px; width: 100%; max-width: 540px; }
.picker-q { margin-bottom: 12px; font-weight: 600; font-size: 15.5px; color: #fff; }
.picks { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 14px; }
/* each number is a way into the chat; the one the visit kept (or 20) is lit */
.pick {
  display: grid; place-items: center; height: 50px; border-radius: 10px;
  border: 1px solid var(--line-2); background: rgba(255, 255, 255, .035); text-decoration: none;
  font-family: var(--display); font-stretch: 114%; font-weight: 650; font-size: 18px; color: #dde3ee;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease, color .2s ease;
}
.pick:hover { border-color: rgba(255, 255, 255, .32); color: #fff; }
.pick.is-on {
  color: #fff; border-color: transparent;
  background: linear-gradient(#10141c, #10141c) padding-box, var(--current) border-box;
  border: 1.5px solid transparent; box-shadow: 0 0 0 4px rgba(46, 139, 255, .16), 0 8px 22px -10px rgba(46, 139, 255, .9);
}
.pick:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
.picker .trust { margin-top: 14px; justify-content: center; }
.picker .goal-note { margin: 10px 0 0; text-align: center; font-size: 13px; color: var(--dim); }

/* ---------- footer ---------- */
.foot { position: relative; padding: clamp(64px, 8vw, 96px) 0 34px; background: var(--ink-2); border-top: 1px solid var(--line); overflow: hidden; }
.foot::before {
  content: ""; position: absolute; left: 50%; top: -1px; width: min(900px, 90%); height: 1px; transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(138, 77, 255, .7), #fff, rgba(34, 195, 238, .7), transparent);
}
.foot-grid { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); gap: 40px; }
.foot-brand img { width: 168px; height: auto; margin: -18px 0 8px -16px; }
.foot-brand p { color: var(--muted); font-size: 15px; max-width: 34ch; margin-bottom: 20px; }
.foot h2 { font-family: var(--display); font-stretch: 125%; font-weight: 600; font-size: 11.5px; letter-spacing: .26em; text-transform: uppercase; color: #8f99ad; margin-bottom: 14px; }
.foot ul { list-style: none; display: grid; gap: 9px; }
.foot .foot-brand .trust { display: flex; gap: 6px 14px; margin-top: 12px; }
.foot a:not(.btn) { color: #cfd6e3; text-decoration: none; font-size: 15px; }
.foot a:not(.btn):hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.foot-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; margin-top: 56px; padding-top: 22px; border-top: 1px solid var(--line); font-size: 13.5px; color: var(--dim); }
.foot-bottom nav { display: flex; gap: 18px; }

/* ---------- the call bar on the phone ---------- */
.callbar {
  position: fixed; left: 10px; right: 10px; bottom: 10px; z-index: 55; display: flex; gap: 8px; padding: 8px;
  border-radius: 16px; background: rgba(13, 16, 22, .9); border: 1px solid var(--line-2);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); box-shadow: 0 18px 40px -12px rgba(0, 0, 0, .8);
  transform: translateY(130%); transition: transform .35s cubic-bezier(.2, .9, .3, 1.1);
}
.callbar[data-kit-on] { transform: translateY(0); }
.callbar .btn { min-height: 48px; font-size: 15px; }
.callbar .btn-main { flex: 1; }
.callbar .btn-ghost { flex: none; padding: 0 16px; }
@media (min-width: 900px) { .callbar { display: none; } }

/* ---------- the exit popup ---------- */
dialog.exit {
  margin: auto; padding: 0; border: 0; max-width: none; max-height: none; background: transparent; color: var(--text);
  width: min(560px, calc(100% - 32px)); overflow: visible;
}
dialog.exit:focus, dialog.exit:focus-visible { outline: none; }
dialog.exit::backdrop { background: rgba(5, 6, 9, .72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.exit-box {
  position: relative; overflow: hidden; padding: 34px 32px 28px; border-radius: 24px;
  background: radial-gradient(120% 90% at 100% 0%, rgba(59, 109, 255, .25), transparent 55%), radial-gradient(90% 80% at 0% 100%, rgba(138, 77, 255, .22), transparent 60%), #10131a;
  border: 1px solid var(--line-2); box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .9);
  transform: translateY(14px) scale(.98); opacity: 0; transition: transform .45s cubic-bezier(.2, .9, .3, 1.15), opacity .3s ease;
}
dialog.exit[data-kit-on] .exit-box { transform: none; opacity: 1; }
.exit-box .x {
  position: absolute; right: 14px; top: 14px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line-2);
  background: rgba(255, 255, 255, .04); cursor: pointer; display: grid; place-items: center; padding: 0;
}
.exit-box .x svg { width: 16px; height: 16px; }
.exit-box h2 { margin: 14px 0 10px; }
.exit-box .lead { font-size: 16.5px; margin-bottom: 20px; }
.exit-pick { margin: 0 0 4px; }
.exit-box .trust { margin-top: 14px; }
.exit-mini { margin: 4px 0 22px; padding: 12px 14px 10px; border-radius: 14px; background: rgba(255, 255, 255, .035); border: 1px solid var(--line); }
.em-cap { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 10px; font-size: 13.5px; color: var(--muted); }
.em-cap b { color: #fff; }
.em-bars { display: grid; grid-template-columns: repeat(12, 1fr); align-items: end; gap: 5px; height: 64px; }
.em-bars i { display: block; height: var(--h); border-radius: 4px 4px 2px 2px; background: var(--current-v); transform-origin: bottom; }
.em-bars i.setup { height: 100%; background: none; border: 1.5px dashed rgba(255, 255, 255, .28); border-radius: 4px; }
.em-axis { display: flex; justify-content: space-between; margin-top: 6px; font-size: 12.5px; color: var(--dim); }
@media (prefers-reduced-motion: no-preference) {
  dialog.exit[data-kit-on] .em-bars i:not(.setup) { animation: em-rise .7s cubic-bezier(.2, .9, .3, 1.05) both; }
  dialog.exit[data-kit-on] .em-bars i:nth-child(2) { animation-delay: 0.25s; } dialog.exit[data-kit-on] .em-bars i:nth-child(3) { animation-delay: 0.31s; } dialog.exit[data-kit-on] .em-bars i:nth-child(4) { animation-delay: 0.37s; } dialog.exit[data-kit-on] .em-bars i:nth-child(5) { animation-delay: 0.43s; } dialog.exit[data-kit-on] .em-bars i:nth-child(6) { animation-delay: 0.49s; } dialog.exit[data-kit-on] .em-bars i:nth-child(7) { animation-delay: 0.55s; } dialog.exit[data-kit-on] .em-bars i:nth-child(8) { animation-delay: 0.61s; } dialog.exit[data-kit-on] .em-bars i:nth-child(9) { animation-delay: 0.67s; } dialog.exit[data-kit-on] .em-bars i:nth-child(10) { animation-delay: 0.73s; } dialog.exit[data-kit-on] .em-bars i:nth-child(11) { animation-delay: 0.79s; } dialog.exit[data-kit-on] .em-bars i:nth-child(12) { animation-delay: 0.85s; }
}
@keyframes em-rise { from { transform: scaleY(0); } to { transform: scaleY(1); } }

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .btn-main::before { animation: none; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}

/* ---------- small screens ---------- */
@media (max-width: 1080px) {
  .nav-links { gap: 0; }
  .nav-links a { padding: 8px 9px; font-size: 14.5px; }
}
@media (max-width: 899px) {
  :root { --nav-h: 64px; }
  .nav-links, .nav-cta { display: none; }
  .nav-toggle { display: grid; }
  .nav-logo img { height: 38px; }
  .foot-grid { grid-template-columns: 1fr 1fr; gap: 34px 24px; }
  .foot-brand { grid-column: 1 / -1; }
  .foot { padding-bottom: 96px; }
}
@media (max-width: 560px) {
  body { font-size: 16.5px; }
  .picks { gap: 6px; }
  .pick { height: 48px; font-size: 17px; }
  .picker { padding: 16px 14px 14px; }
  .btn { min-height: 52px; }
}

/* =====================================================================
   HOME
   ===================================================================== */
.small { font-size: 14px; }

/* ---------- header: field footage, struck by the current ---------- */
.hero {
  position: relative; isolation: isolate; display: flex; align-items: center;
  min-height: max(680px, min(100svh, 960px)); padding: calc(var(--nav-h) + 36px) 0 76px;
  overflow: hidden; background: var(--ink);
}
.hero-slides { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.slide { position: absolute; inset: 0; margin: 0; visibility: hidden; overflow: hidden; }
.slide[data-kit-on] { visibility: visible; z-index: 2; opacity: var(--kit-move, 1); transform: translateX(calc((1 - var(--kit-move, 1)) * 4%)); }
/* the first picture is simply there when the page opens */
.hero-slides:not(:has(.slide[data-prev])) .slide[data-kit-on] { transform: none; opacity: 1; }
.slide[data-prev] { visibility: visible; z-index: 1; }
.slide video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, 50% 50%); background: #0c0f15; filter: brightness(1.06) saturate(1.06); }
.slide[data-kit-word="your business"] video { filter: brightness(1.12) saturate(1.06); }
.slide-shade {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(10, 12, 16, .9) 0%, rgba(10, 12, 16, .74) 28%, rgba(10, 12, 16, .3) 50%, rgba(10, 12, 16, 0) 66%),
    linear-gradient(0deg, var(--ink) 0%, rgba(10, 12, 16, 0) 20%),
    linear-gradient(180deg, rgba(10, 12, 16, .58) 0%, rgba(10, 12, 16, 0) 18%);
}
.strike { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 1; }
.strike path { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 100 100; stroke-dashoffset: calc(100 - 100 * min(1, var(--kit-in, 1) * 2.4)); }
.strike .bolt { stroke: #eef5ff; stroke-width: 1.7; }
.strike .bolt-glow { stroke: rgba(92, 140, 255, .75); stroke-width: 7; filter: blur(5px); }
.strike circle { fill: #fff; opacity: clamp(0, calc((var(--kit-in, 1) * 2.4 - var(--p, 1)) * 9), 1); }
.strike circle.halo { fill: rgba(70, 150, 255, .45); filter: blur(3px); }
.hcard {
  --e: clamp(0, calc((var(--kit-in, 1) - .36) * 1.75), 1.04);
  position: absolute; left: var(--cx); top: var(--cy); z-index: 2;
  display: flex; align-items: center; gap: 12px; width: max-content; max-width: 330px; padding: 13px 18px 13px 13px;
  transform-origin: 100% 0; transform: translateY(calc((1 - var(--e)) * 18px)) scale(calc(.86 + .14 * var(--e)));
  opacity: clamp(0, calc((var(--kit-in, 1) - .36) * 7), 1);
}
.hc-txt { display: grid; gap: 1px; }
.hc-txt b { display: flex; align-items: center; gap: 8px; font: 600 15.5px/1.3 var(--body); color: #fff; }
.hc-txt > span { font-size: 13px; color: #bcc5d5; }
.hero-grid { position: relative; z-index: 3; }
.hero-copy { display: grid; justify-items: start; gap: 22px; max-width: min(760px, 58vw); }
.hero .h1 { margin: 2px 0 0; text-wrap: wrap; } /* its field word changes; balanced lines would jump with it */
.hero .h1 .field {
  display: inline-block; white-space: nowrap; padding-bottom: .06em;
  /* the word never hides: as it changes, a white flash runs through it and it lights up for a moment */
  background-image: linear-gradient(100deg, transparent 0 40%, rgba(255, 255, 255, .7) 48% 52%, transparent 60% 100%), var(--current);
  background-size: 280% 100%, 100% 100%;
  background-repeat: no-repeat;
  background-position: calc(115% - var(--kit-swap, 0) * 130%) 0, 0 0;
  filter: drop-shadow(0 0 calc(var(--kit-swap, 0) * 10px) rgba(46, 139, 255, .5));
}
.hero-sub { max-width: 600px; text-shadow: 0 1px 14px rgba(10, 12, 16, .85); }
.hero-stop { right: var(--gutter); bottom: 26px; }

/* ---------- three steps: one track ---------- */
.steps { overflow: hidden; }
.steps-bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.steps-bg video { width: 100%; height: 100%; object-fit: cover; filter: brightness(1.05) saturate(1.05); }
/* on a wide screen the hands and the lit phone sit up behind the words, above the three cards */
@media (min-width: 900px) { .steps-bg video { position: absolute; left: 0; top: -20%; height: 80%; object-position: 50% 100%; } }
@media (max-width: 899px) { .steps-bg video { position: absolute; left: 0; top: 0; height: 560px; object-position: 36% 72%; filter: brightness(1) saturate(1); } }
.steps-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, var(--ink) 0%, rgba(10, 12, 16, .12) 24%, rgba(10, 12, 16, .15) 76%, var(--ink) 100%), radial-gradient(60% 50% at 50% 55%, rgba(59, 109, 255, .14), transparent 70%); }
.steps .wrap { position: relative; z-index: 1; }
/* a soft shade only behind the headline, so the footage stays bright around it */
.steps .head { position: relative; isolation: isolate; }
.steps .head::before { content: ""; position: absolute; inset: -46px -12%; z-index: -1; background: radial-gradient(closest-side, rgba(10, 12, 16, .78), rgba(10, 12, 16, .5) 55%, rgba(10, 12, 16, 0)); pointer-events: none; }
.steps .head .lead { text-shadow: 0 1px 12px rgba(10, 12, 16, .9); }
.track { position: relative; padding-top: 30px; }
.track-stop { right: 0; top: -58px; }
.track-wire { position: absolute; left: calc((100% - 44px) / 6); right: calc((100% - 44px) / 6); top: 7px; height: 2px; border-radius: 2px; background: rgba(255, 255, 255, .12); }
.track-run { position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--run, 0) * 100%); border-radius: 2px; background: var(--current); }
.track-spark { position: absolute; top: 50%; left: calc(var(--run, 0) * 100%); width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: #fff; box-shadow: 0 0 16px 5px rgba(46, 139, 255, .85); opacity: var(--spark, 1); }
.tcards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; list-style: none; }
.tcard { position: relative; display: flex; flex-direction: column; border-radius: 22px; background: rgba(13, 16, 22, .82); border: 1px solid var(--line); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.tcard::before { content: ""; position: absolute; left: 50%; top: -30px; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; background: #0c0f15; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .25); }
.tcard.is-on { border-color: rgba(34, 195, 238, .45); box-shadow: 0 0 0 1px rgba(34, 195, 238, .2), 0 34px 70px -34px rgba(46, 139, 255, .6); }
.tcard.is-on::before, .tcard.is-done::before { background: #fff; box-shadow: 0 0 0 4px rgba(46, 139, 255, .3); }
.tscreen { position: relative; height: 252px; padding: 18px 18px 0; overflow: hidden; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, 0)); border-radius: 22px 22px 0 0; }
.tscreen [data-in] { opacity: var(--in, 1); transform: translateY(calc((1 - var(--in, 1)) * 12px)); }
.tbody { display: grid; gap: 8px; padding: 20px 22px 24px; }
.tnum { display: inline-block; margin-right: .55em; font-stretch: 125%; font-weight: 700; font-size: .7em; letter-spacing: .06em; vertical-align: .1em; color: var(--cyan); }
.tbody p { font-size: 15.5px; color: var(--muted); }
.tchat .b { width: fit-content; max-width: 88%; margin: 0 0 8px; padding: 9px 12px; border-radius: 14px; font-size: 14.5px; line-height: 1.35; }
.tchat .bot { background: rgba(255, 255, 255, .09); border-bottom-left-radius: 4px; color: #e3e8f1; }
.tchat .me { margin-left: auto; background: linear-gradient(135deg, #6a43f5, #1f6fe0); color: #fff; border-bottom-right-radius: 4px; }
.tchat .me.ok { display: flex; align-items: center; gap: 6px; }
.tchat .me.ok svg { width: 14px; height: 14px; }
.tchat .b b { color: #fff; }
.b-chips { display: flex; gap: 6px; margin-bottom: 8px; }
.b-chips span { padding: 6px 13px; border-radius: 999px; border: 1px solid var(--line-2); font: 650 13px/1.2 var(--display); font-stretch: 110%; color: #dfe5ef; }
.b-chips span.on { background: #fff; color: var(--ink); border-color: #fff; }
.tplan { display: grid; gap: 12px; }
.tp-ready { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--muted); }
.tp-gap { display: grid; grid-template-columns: auto 1fr; gap: 4px 10px; padding: 12px; border-radius: 14px; background: rgba(255, 255, 255, .05); border: 1px solid var(--line); font-size: 12.5px; color: var(--muted); }
.tp-gap b { color: #fff; font-size: 14px; text-align: right; }
.tp-vs { grid-column: 1 / -1; display: grid; gap: 4px; }
.tp-vs i { display: block; height: 6px; border-radius: 4px; width: calc(var(--w) * var(--grow, 1)); background: #ff8a98; }
.tp-vs i.r { background: rgba(255, 255, 255, .25); }
.tp-n { grid-column: 1 / -1; text-align: right; color: #ffbcc4; font-weight: 600; }
.tp-bars { display: grid; grid-template-columns: repeat(12, 1fr); align-items: end; gap: 4px; height: 54px; }
.tp-bars i { display: block; height: calc(var(--h) * var(--grow, 1)); min-height: 2px; border-radius: 3px 3px 1px 1px; background: var(--current-v); }
.tp-pay, .tb-ok { display: flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 600; color: #bff1ff; }
.tp-pay svg, .tb-ok svg { width: 15px; height: 15px; color: var(--cyan); }
.tbook { display: grid; gap: 10px; }
.tb-note { display: flex; align-items: center; gap: 11px; padding: 12px; border-radius: 15px; background: rgba(255, 255, 255, .07); border: 1px solid var(--line-2); }
.tb-note .ico { width: 36px; height: 36px; border-radius: 10px; }
.tb-note .ico svg { width: 18px; height: 18px; }
.tb-note b { display: block; font-size: 14.5px; color: #fff; }
.tb-note span span { font-size: 13.5px; color: var(--muted); }

/* ---------- the calculator ---------- */
.worth-grid { display: grid; grid-template-columns: minmax(300px, .8fr) 1.5fr; gap: 22px; align-items: stretch; }
.worth-inputs { display: flex; flex-direction: column; gap: 30px; padding: 30px 28px 26px; }
.slider-top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.slider label { font-weight: 600; font-size: 15.5px; color: #fff; }
.slider output { font-family: var(--display); font-weight: 700; font-size: 26px; line-height: 1; color: #fff; }
.slider-scale { display: flex; justify-content: space-between; margin-top: 9px; font-size: 12.5px; color: var(--dim); }
.worth-tip { margin-top: auto; font-size: 14px; color: var(--dim); }
.ws-note { margin-top: 14px; font-size: 13.5px; color: #b3bccc; }
input[type="range"] { -webkit-appearance: none; appearance: none; width: 100%; height: 24px; margin: 0; background: transparent; cursor: pointer; }
input[type="range"]::-webkit-slider-runnable-track { height: 6px; border-radius: 6px; background: linear-gradient(90deg, #8a4dff, #2e8bff var(--kit-fill, 50%), rgba(255, 255, 255, .1) var(--kit-fill, 50%)); }
input[type="range"]::-moz-range-track { height: 6px; border-radius: 6px; background: rgba(255, 255, 255, .1); }
input[type="range"]::-moz-range-progress { height: 6px; border-radius: 6px; background: linear-gradient(90deg, #8a4dff, #2e8bff); }
input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 24px; height: 24px; margin-top: -9px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 5px rgba(46, 139, 255, .3), 0 4px 12px rgba(0, 0, 0, .5); }
input[type="range"]::-moz-range-thumb { width: 24px; height: 24px; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 0 0 5px rgba(46, 139, 255, .3), 0 4px 12px rgba(0, 0, 0, .5); }
input[type="range"]:focus-visible { outline: none; }
input[type="range"]:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 3px var(--ink), 0 0 0 5px var(--cyan); }
input[type="range"]:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 3px var(--ink), 0 0 0 5px var(--cyan); }
.worth-stage { position: relative; isolation: isolate; display: flex; flex-direction: column; min-height: 540px; padding: 28px 28px 24px; border-radius: var(--r-card); overflow: hidden; border: 1px solid var(--line); background: #0c0f15; }
.ws-bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.ws-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10, 12, 16, .5) 0%, rgba(10, 12, 16, .06) 42%, rgba(10, 12, 16, .72) 100%); }
.ws-stop { right: 18px; top: 18px; }
.ws-month { font-stretch: 125%; font-weight: 600; font-size: 12px; letter-spacing: .26em; text-transform: uppercase; color: var(--cyan); }
.ws-total { margin: 8px 0 4px; font-size: clamp(42px, 5vw, 66px); font-weight: 700; line-height: 1; background: var(--chrome); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ws-by { font-size: 14.5px; color: var(--muted); }
.ws-chart { position: relative; flex: 1; min-height: 210px; margin: 22px 4px 14px; }
.ws-chart svg { position: absolute; left: 0; right: 0; top: 0; bottom: 26px; width: 100%; height: calc(100% - 26px); overflow: visible; }
.ws-gridlines path { stroke: rgba(255, 255, 255, .08); stroke-width: 1; vector-effect: non-scaling-stroke; }
.ws-line { fill: none; stroke-width: 3; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.ws-nodes { position: absolute; left: 0; right: 0; top: 0; bottom: 26px; }
.ws-nodes i { position: absolute; left: calc(var(--n) / 12 * 100%); bottom: calc(var(--n) / 12 * 100%); width: 10px; height: 10px; margin: 0 0 -5px -5px; border-radius: 50%; background: #0c0f15; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .3); }
.ws-nodes i.on { background: #fff; box-shadow: 0 0 0 3px rgba(46, 139, 255, .35); }
.ws-tip { position: absolute; z-index: 2; left: calc(var(--hx, 1) * 100%); bottom: calc(var(--hy, 1) * (100% - 26px) + 40px); transform: translateX(var(--tx, -50%)); display: grid; padding: 8px 12px; border-radius: 12px; white-space: nowrap; }
.ws-tip b { font-family: var(--display); font-weight: 700; font-size: 17px; color: #fff; }
.ws-tip span { font-size: 12px; color: var(--muted); }
.ws-axis { position: absolute; left: 0; right: 0; bottom: 0; height: 18px; list-style: none; }
.ws-axis li { position: absolute; bottom: 0; transform: translateX(-50%); font: 600 12px/1 var(--display); color: var(--dim); }
.ws-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.ws-tiles > div { display: grid; gap: 3px; padding: 13px 14px; border-radius: 14px; background: rgba(15, 18, 26, .7); border: 1px solid var(--line); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.ws-tiles b { font-family: var(--display); font-weight: 700; font-size: 22px; line-height: 1.1; color: #fff; }
.ws-tiles span { font-size: 12.5px; color: var(--muted); }

/* ---------- one day of the owner ---------- */
.day-stage { position: relative; border-radius: 28px; overflow: hidden; border: 1px solid var(--line); background: #0c0f15; }
.day-tabs { position: relative; z-index: 4; display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--line); background: linear-gradient(90deg, rgba(34, 195, 238, .12) 0%, rgba(46, 139, 255, .1) 42%, rgba(138, 77, 255, .14) 76%, rgba(10, 12, 16, .5) 100%); }
.day-tab { position: relative; display: grid; gap: 2px; padding: 16px 22px 15px; border: 0; border-right: 1px solid var(--line); background: transparent; color: var(--muted); text-align: left; cursor: pointer; transition: background-color .2s ease, color .2s ease; }
.day-tab:last-child { border-right: 0; }
.day-tab:hover { color: #fff; }
.day-tab[aria-selected="true"] { color: #fff; background: rgba(255, 255, 255, .05); }
.dt-time { font-family: var(--display); font-stretch: 118%; font-weight: 700; font-size: 19px; line-height: 1.1; }
.dt-name { font-size: 14px; }
.dt-fill { position: absolute; left: 0; bottom: -1px; height: 2px; width: calc(var(--kit-fill, 0) * 100%); background: var(--current); }
.day-tab[aria-selected="true"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: rgba(255, 255, 255, .22); }
.day-panel { position: relative; height: clamp(540px, 50vw, 650px); outline-offset: -3px; }
.day-panel > video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* each hour of the day keeps its light: the dawn fog with depth, the dinner table warm and clear */
#day-p1 > video { filter: contrast(1.18) saturate(1.2) brightness(1); }
#day-p2 > video { filter: brightness(1.06) saturate(1.06); }
#day-p3 > video { filter: brightness(1.5) saturate(1.1); }
#day-p4 > video { filter: brightness(1.6) saturate(1.1); }
.day-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 12, 16, .38) 0%, rgba(10, 12, 16, 0) 42%), linear-gradient(0deg, rgba(10, 12, 16, .3), rgba(10, 12, 16, 0) 35%); }
@media (min-width: 900px) { .day-copy { padding: 20px 24px 22px; border-radius: 18px; background: rgba(10, 12, 16, .66); border: 1px solid rgba(255, 255, 255, .1); -webkit-backdrop-filter: blur(16px) saturate(1.2); backdrop-filter: blur(16px) saturate(1.2); } }
.day-copy { position: absolute; left: clamp(22px, 3vw, 40px); bottom: clamp(26px, 3vw, 40px); z-index: 2; display: grid; justify-items: start; gap: 10px; max-width: 430px; }
.day-copy p:not(.day-clock) { color: #c3cad8; }
.day-clock { font-stretch: 125%; font-weight: 700; font-size: clamp(46px, 5.6vw, 80px); line-height: .95; margin-bottom: 6px; background: var(--chrome); -webkit-background-clip: text; background-clip: text; color: transparent; }
.day-card { position: absolute; z-index: 2; right: clamp(20px, 3vw, 40px); top: clamp(22px, 3vw, 40px); width: min(390px, 44%); padding: 16px; }
.day-card.low { top: auto; bottom: clamp(22px, 3vw, 40px); }
.day-card [data-in] { opacity: var(--in, 1); transform: translateY(calc((1 - var(--in, 1)) * 12px)); max-height: calc(var(--in, 1) * 170px); overflow: hidden; }
.day-card .cc-b[data-in], .day-card .mp-row[data-in], .day-card .nt-n[data-in] { margin-bottom: calc(var(--in, 1) * 8px); }
.day-stop { right: 18px; bottom: 18px; }
.mp-search { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 999px; background: #fff; color: #1d2330; font-size: 14px; margin-bottom: 12px; }
.mp-search svg { width: 16px; height: 16px; color: #5f6878; }
.mp-q::after { content: ""; display: inline-block; width: 1.5px; height: 1em; margin-left: 2px; vertical-align: -2px; background: #2e8bff; opacity: var(--caret, 0); }
.mp-list { list-style: none; display: grid; gap: 8px; }
.day-card .nt-n:not([data-in]) { margin-bottom: 8px; }
.fd-av[style*="22c3ee"], .rv-av[style*="22c3ee"] { color: #03141b; }
.fd-av[style*="2e8bff"] { background: #1f6fe0 !important; }
.mp-row { display: flex; align-items: center; gap: 10px; padding: 10px 11px; border-radius: 13px; background: rgba(255, 255, 255, .93); color: #1d2330; }
.mp-row.you { box-shadow: 0 0 0 2px #2e8bff; }
.mp-n { flex: none; width: 22px; height: 22px; border-radius: 6px; display: grid; place-items: center; background: #e8edf5; font: 700 12px/1 var(--display); color: #42506a; }
.mp-row.you .mp-n { background: #2e8bff; color: #fff; }
.mp-name { flex: 1; display: grid; min-width: 0; }
.mp-name b { font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mp-name > span { font-size: 12px; color: #5b6475; }
.stars-t { font-style: normal; color: #7a4f00; font-weight: 600; letter-spacing: .5px; }
.mp-call { flex: none; padding: 5px 11px; border-radius: 999px; border: 1px solid #c9d3e3; font-size: 12px; font-weight: 600; color: #1a5fd0; }
.mp-row.you .mp-call { background: #2e8bff; border-color: #2e8bff; color: #fff; }
.mp-ring { display: flex; align-items: center; gap: 11px; margin-top: 12px; padding: 12px; border-radius: 14px; background: rgba(15, 18, 26, .88); border: 1px solid rgba(34, 195, 238, .4); }
.mp-ring .ico { width: 36px; height: 36px; }
.mp-ring b { display: block; font-size: 13.5px; color: #fff; }
.mp-ring span span { font-size: 12.5px; color: var(--muted); }
.cc-top { display: flex; align-items: center; gap: 11px; padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px solid var(--line); }
.cc-top b { display: block; font-size: 14px; color: #fff; }
.cc-state { font-size: 12.5px; color: var(--muted); }
.cc-wave { margin-left: auto; display: flex; align-items: center; gap: 2px; height: 26px; }
.cc-wave i { width: 3px; border-radius: 2px; background: var(--cyan); height: calc(4px + var(--a, 0) * 20px); }
.cc-b { width: fit-content; max-width: 88%; margin-bottom: 8px; padding: 9px 12px; border-radius: 14px; font-size: 13.5px; line-height: 1.4; }
.cc-b.them { background: rgba(255, 255, 255, .1); color: #e7ecf4; border-bottom-left-radius: 4px; }
.cc-b.ai { margin-left: auto; background: linear-gradient(135deg, #6a43f5, #1f6fe0); color: #fff; border-bottom-right-radius: 4px; }
.cc-done { display: flex; align-items: center; gap: 8px; margin-top: 4px; padding: 10px 12px; border-radius: 12px; background: rgba(34, 195, 238, .12); border: 1px solid rgba(34, 195, 238, .4); font-size: 13px; font-weight: 600; color: #c8f4ff; }
.cc-done svg { width: 15px; height: 15px; color: var(--cyan); flex: none; }
.rv-sms { padding: 11px 13px; border-radius: 14px; border-bottom-left-radius: 4px; background: rgba(255, 255, 255, .1); font-size: 13.5px; line-height: 1.45; color: #e3e8f1; margin-bottom: 10px; }
.rv-sms b { display: block; font-size: 12px; color: var(--cyan); margin-bottom: 2px; }
.rv-new { padding: 13px; border-radius: 14px; background: #fff; color: #1d2330; margin-bottom: 10px; }
.rv-head { display: flex; align-items: center; gap: 10px; margin-bottom: 7px; }
.rv-av { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #8a4dff; color: #fff; font-size: 12px; font-weight: 700; }
.rv-head > span:nth-child(2) { display: grid; font-size: 11.5px; color: #5f6878; }
.rv-head b { font-size: 13.5px; color: #1d2330; }
.rv-head .stars { margin-left: auto; color: #f4a400; }
.rv-text { font-size: 13.5px; line-height: 1.45; }
.rv-score { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 12px; background: rgba(15, 18, 26, .85); border: 1px solid var(--line-2); font-size: 12.5px; color: var(--muted); }
.rv-score b { font-family: var(--display); font-size: 22px; color: #fff; }
.rv-score em { font-style: normal; color: var(--cyan); font-weight: 600; }
.nightc { width: min(330px, 40%); padding: 26px 16px 16px; border-radius: 30px; background: linear-gradient(180deg, rgba(20, 24, 40, .7), rgba(10, 12, 16, .55)); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border: 1px solid rgba(255, 255, 255, .14); text-align: center; box-shadow: 0 30px 70px -26px rgba(0, 0, 0, .9); }
.nt-time { font-stretch: 112%; font-weight: 600; font-size: 52px; line-height: 1; color: #fff; }
.nt-date { font-size: 13px; color: var(--muted); margin: 4px 0 16px; }
.nt-n { display: flex; align-items: center; gap: 10px; margin-top: 0; padding: 11px; border-radius: 16px; text-align: left; }
.nt-n .ico { width: 34px; height: 34px; border-radius: 9px; }
.nt-n .ico svg { width: 17px; height: 17px; }
.nt-n b { display: block; font-size: 13px; color: #fff; }
.nt-n span span { font-size: 12px; color: var(--muted); }

/* ---------- report vs phone ---------- */
.cmp { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.cmp-stop { right: 16px; bottom: 16px; }
.cmp-side { position: relative; isolation: isolate; min-height: 540px; margin: 0; border-radius: 24px; overflow: hidden; border: 1px solid var(--line); background: #0c0f15; }
.cmp-side > img, .cmp-side > video { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.cmp-side.us > video { object-position: 78% 40%; filter: brightness(1.25) saturate(1.05); }
.cmp-side.us .feed { left: auto; right: 4%; top: auto; bottom: 6%; width: min(390px, 74%); transform: none; }
.cmp-shade { position: absolute; inset: 0; z-index: -1; background: radial-gradient(70% 60% at 50% 55%, rgba(10, 12, 16, 0), rgba(10, 12, 16, .32)); }
.cmp-label { position: absolute; left: 20px; top: 20px; margin: 0; padding: 7px 13px; border-radius: 999px; font-size: 13px; font-weight: 600; color: #cfd6e3; background: rgba(10, 12, 16, .7); border: 1px solid var(--line-2); }
.cmp-label.us { color: #fff; background: linear-gradient(#10141c, #10141c) padding-box, var(--current) border-box; border: 1.5px solid transparent; }
.report { position: absolute; left: 50%; top: 53%; width: min(370px, 84%); padding: 22px 22px 18px; border-radius: 6px; background: #f2f0e9; color: #2c2c2c; box-shadow: 0 34px 70px -24px rgba(0, 0, 0, .9); transform: translate(-50%, -50%) rotate(-2.2deg); }
.rp-title { font: 700 17px/1.2 var(--body); color: #1d1d1d; }
.rp-sub { font-size: 12.5px; color: #6f6c62; margin: 2px 0 14px; padding-bottom: 12px; border-bottom: 1px solid #d9d5c8; }
.rp-rows { list-style: none; display: grid; gap: 2px; }
.rp-rows li { position: relative; display: flex; justify-content: space-between; gap: 12px; padding: 9px 2px; border-bottom: 1px dashed #d9d5c8; font-size: 14px; }
.rp-rows b { font-weight: 700; color: #1d1d1d; }
.strike-x { position: absolute; left: -4px; right: -4px; top: 50%; height: 2px; margin-top: -1px; background: #d93b4b; border-radius: 2px; transform-origin: 0 50%; transform: scaleX(var(--x, 1)) rotate(-1deg); }
.rp-ask { margin-top: 14px; font: italic 600 16px/1.3 Georgia, 'Times New Roman', serif; color: #c2303f; transform: rotate(-1.5deg); opacity: var(--in, 1); }
.feed { position: absolute; left: 50%; top: 55%; width: min(390px, 86%); padding: 16px; transform: translate(-50%, -50%); }
.fd-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; font-size: 13.5px; font-weight: 600; color: #dfe5ef; }
.fd-title b { font-family: var(--display); font-size: 24px; color: #fff; }
.fd-rows { list-style: none; display: grid; gap: 0; }
.fd-rows li { position: relative; display: flex; align-items: center; gap: 10px; padding: calc(var(--in, 1) * 10px) 40px calc(var(--in, 1) * 10px) 10px; margin-bottom: calc(var(--in, 1) * 8px); max-height: calc(var(--in, 1) * 90px); overflow: hidden; border-radius: 13px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(233, 236, 242, calc(var(--in, 1) * .09)); opacity: var(--in, 1); transform: translateX(calc((1 - var(--in, 1)) * 18px)); }
.fd-av { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--c); color: #fff; font-size: 11.5px; font-weight: 700; }
.fd-av svg { width: 15px; height: 15px; }
.fd-rows li > span:nth-child(2) { display: grid; min-width: 0; }
.fd-rows b { font-size: 13.5px; color: #fff; }
.fd-rows li > span:nth-child(2) span { font-size: 12px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fd-src { margin-left: auto; flex: none; padding: 3px 8px; border-radius: 999px; font-size: 11px; font-weight: 600; color: #bff1ff; background: rgba(34, 195, 238, .12); border: 1px solid rgba(34, 195, 238, .3); }
.tick { position: absolute; right: 10px; top: 50%; width: 22px; height: 22px; margin-top: -11px; border-radius: 50%; display: grid; place-items: center; background: var(--cyan); color: #03141b; transform: scale(var(--tick, 1)); }
.tick svg { width: 13px; height: 13px; }

/* ---------- who we help: windows lighting up ---------- */
.windows { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 310px; gap: 14px; }
.win-stop { right: 0; top: -58px; }
.win { position: relative; isolation: isolate; display: block; overflow: hidden; border-radius: 20px; border: 1px solid var(--line); color: #fff; text-decoration: none; background: #0c0f15; --hover: 0; }
.win:hover, .win:focus-visible { --hover: 1; }
.win > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1 + .06 * var(--lit, 0))); filter: brightness(calc(1 + .06 * max(var(--lit, 0), var(--hover)))) saturate(calc(.94 + .1 * max(var(--lit, 0), var(--hover)))); transform: scale(calc(1.05 - .05 * max(var(--lit, 0), var(--hover)))); }
.win::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(10, 12, 16, .86) 0%, rgba(10, 12, 16, .26) 38%, rgba(10, 12, 16, 0) 60%); }
.win[data-lit] { border-color: rgba(34, 195, 238, .55); box-shadow: 0 0 0 1px rgba(34, 195, 238, .25), 0 24px 50px -24px rgba(46, 139, 255, .7); }
.win-copy { position: absolute; left: 18px; right: 18px; bottom: 16px; display: grid; gap: 4px; }
.win-copy .h3 { font-size: 20px; }
.win-copy > span { font-size: 14px; line-height: 1.4; color: #c9d1de; }
.win-more { grid-column: span 2; }
.win-more .win-copy { max-width: 420px; gap: 8px; }
.win-more .text-link { justify-self: start; margin-top: 4px; }

/* ---------- FAQ ---------- */
.faq-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(32px, 5vw, 72px); align-items: start; }
.faq-grid .head { margin-bottom: 0; position: sticky; top: calc(var(--nav-h) + 30px); }
.qa details { border-bottom: 1px solid var(--line); }
.qa details:first-child { border-top: 1px solid var(--line); }
.qa summary { position: relative; padding: 21px 52px 21px 0; list-style: none; cursor: pointer; font: 600 17.5px/1.4 var(--body); color: #fff; }
.qa summary::-webkit-details-marker { display: none; }
.qa summary::after { content: "+"; position: absolute; right: 2px; top: 50%; width: 32px; height: 32px; margin-top: -16px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--line-2); font: 400 20px/1 var(--body); color: var(--cyan); }
.qa details[open] summary::after { content: "–"; }
.qa summary:hover { color: #dff6ff; }
.qa details p { padding: 0 52px 22px 0; color: var(--muted); }

/* ---------- closing band ---------- */
.start { position: relative; isolation: isolate; padding: clamp(110px, 13vw, 180px) 0; overflow: hidden; }
.start-bg { position: absolute; inset: 0; z-index: -1; }
.start-bg video { width: 100%; height: 100%; object-fit: cover; filter: brightness(1.1) saturate(1.15) contrast(1.05); }
.start-grid > div:first-child .lead { text-shadow: 0 1px 14px rgba(10, 12, 16, .9); }
.start-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 12, 16, .8) 0%, rgba(10, 12, 16, .2) 50%, rgba(10, 12, 16, 0) 100%), linear-gradient(180deg, var(--ink) 0%, rgba(10, 12, 16, 0) 26%, rgba(10, 12, 16, 0) 74%, var(--ink) 100%); }
.start-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
.start-grid > div:first-child { display: grid; justify-items: start; gap: 18px; }
.start-title { font-size: clamp(54px, 8vw, 116px); line-height: .95; }
.start .picker { justify-self: end; position: relative; z-index: 2; box-shadow: 0 0 0 calc(var(--hit, 0) * 2px) rgba(140, 190, 255, .85), 0 0 calc(var(--hit, 0) * 60px) rgba(70, 150, 255, calc(var(--hit, 0) * .8)); }
.start .strike { z-index: 1; }
.start-stop { right: max(var(--gutter), calc((100% - var(--max)) / 2)); bottom: 26px; }

/* ---------- home: tablet and phone ---------- */
@media (max-width: 1100px) {
  .worth-grid { grid-template-columns: 1fr; }
  .windows { grid-template-columns: repeat(3, 1fr); }
  .win-more { grid-column: span 2; }
}
@media (max-width: 899px) {
  .hero { flex-direction: column; align-items: stretch; min-height: 0; padding: calc(var(--nav-h) + 22px) 0 10px; }
  .hero-grid { order: 1; }
  .hero-copy { max-width: none; gap: 18px; }
  .hero-slides { position: relative; inset: auto; order: 2; height: max(300px, 74vw); margin: 22px var(--gutter) 0; border-radius: 22px; overflow: hidden; border: 1px solid var(--line); }
  .slide-shade { background: linear-gradient(0deg, rgba(10, 12, 16, .45), rgba(10, 12, 16, 0) 40%), linear-gradient(180deg, rgba(10, 12, 16, .2), rgba(10, 12, 16, 0) 25%); }
  .hcard { left: 12px !important; right: 12px; top: auto !important; bottom: 12px; max-width: none; width: auto; padding-right: 60px; }
  /* the pause icon sits at the end of the card row, never over a face */
  .hero-stop { right: 20px; top: auto; bottom: 20px; }
  .slide video { object-position: var(--pos-m, var(--pos, 50% 50%)); }
  /* a slide whose people fill the bottom: its card sits up in the empty corner */
  .slide.m-card-top .hcard { left: 12px !important; right: auto; top: 12% !important; bottom: auto; width: auto; max-width: 66%; padding-right: 18px; }
  .hero-stop { z-index: 7; }
  .hero-sub { font-size: 16.5px; }
  .picker { max-width: none; }
  .track { padding-top: 0; padding-left: 34px; }
  .track-stop { top: -54px; right: 0; }
  .track-wire { left: 7px; right: auto; top: 30px; bottom: 30px; width: 2px; height: auto; }
  .track-run { width: auto; right: 0; height: calc(var(--run, 0) * 100%); }
  .track-spark { left: 50%; top: calc(var(--run, 0) * 100%); }
  .tcards { grid-template-columns: 1fr; gap: 18px; }
  .tcard::before { left: -34px; top: 26px; margin-left: 0; }
  .tscreen { height: 232px; }
  .day-tab { padding: 12px 6px; text-align: center; }
  .dt-time { font-size: 13.5px; white-space: nowrap; }
  .dt-name { display: none; }
  .day-panel { height: auto; display: flex; flex-direction: column; }
  .day-panel > video { position: relative; height: 380px; }
  .day-shade { height: 380px; background: linear-gradient(0deg, rgba(10, 12, 16, .4), rgba(10, 12, 16, 0) 45%); }
  .day-card, .day-card.low, .nightc { position: relative; order: 1; top: auto; bottom: auto; left: auto; right: auto; width: auto; margin: -84px 14px 0; z-index: 3; }
  .day-copy { order: 2; }
  .nightc { padding: 18px 12px 12px; border-radius: 24px; }
  .nt-time { font-size: 38px; }
  .nt-date { margin-bottom: 8px; }
  .day-copy { position: relative; left: auto; bottom: auto; max-width: none; padding: 22px 20px 26px; }
  .day-stop { top: auto; bottom: auto; right: 14px; }
  .cmp { grid-template-columns: 1fr; gap: 26px; }
  .cmp-side { min-height: 0; display: flex; flex-direction: column; overflow: visible; border: 0; background: none; }
  .cmp-side > img, .cmp-side > video { position: relative; inset: auto; z-index: 0; height: auto; aspect-ratio: 4 / 3; border-radius: 22px; border: 1px solid var(--line); }
  .cmp-shade { display: none; }
  .cmp-label { z-index: 2; }
  .report, .cmp-side.us .feed { position: relative; left: auto; right: auto; top: auto; bottom: auto; width: auto; margin: -64px 10px 0; z-index: 1; }
  .report { transform: rotate(-1.4deg); }
  .cmp-stop { top: -48px; right: 0; bottom: auto; }
  .fd-rows li > span:nth-child(2) span { white-space: normal; }
  .windows { grid-template-columns: 1fr 1fr; grid-auto-rows: 230px; gap: 10px; }
  .win-more { grid-column: span 2; }
  .win-copy { left: 14px; right: 14px; bottom: 12px; }
  .win-copy .h3 { font-size: 17px; }
  .win-copy > span { font-size: 12.5px; }
  .win-stop { top: -54px; right: 0; }
  .faq-grid { grid-template-columns: 1fr; }
  .faq-grid .head { position: static; }
  .start-grid { grid-template-columns: 1fr; }
  .start .picker { justify-self: stretch; }
}
@media (max-width: 560px) {
  .hero .h1 { font-size: min(30px, 7.25vw); }
  .hero-slides { height: 84vw; }
  .hcard { padding: 11px 12px; gap: 10px; }
  .hc-txt b { font-size: 14px; }
  .hc-txt > span { font-size: 12.5px; }
  .ws-tiles { grid-template-columns: 1fr 1fr; }
  .ws-tiles > div:last-child { grid-column: span 2; }
  .worth-stage { padding: 22px 18px 18px; min-height: 500px; }
  .worth-inputs { padding: 24px 20px; }
  .report { width: 88%; padding: 18px; }
  .feed, .cmp-side.us .feed { left: 5%; right: 5%; width: auto; padding: 12px; }
  .fd-src { display: none; }
}

/* =====================================================================
   INNER PAGES: shared header, closing band
   ===================================================================== */
.phead { position: relative; isolation: isolate; padding: calc(var(--nav-h) + clamp(36px, 6vw, 80px)) 0 clamp(64px, 8vw, 110px); overflow: hidden; }
.phead::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 70% at 85% 30%, rgba(59, 109, 255, .16), transparent 65%), radial-gradient(50% 60% at 10% 90%, rgba(138, 77, 255, .12), transparent 65%); }
.phead-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.phead-copy { display: grid; justify-items: start; gap: 20px; }
.phead-copy .cta-row { margin-top: 10px; }
.phead .h1 { font-size: clamp(32px, 4vw, 56px); }
/* services: a headline row over a full-width strip of footage */
.svc-head { padding-bottom: 0; }
.svc-intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 80px); align-items: end; margin-bottom: clamp(32px, 4vw, 56px); }
.svc-intro .h1 { font-size: clamp(36px, 5vw, 74px); }
.svc-side { display: grid; justify-items: start; gap: 18px; }
.svc-side .cta-row { margin-top: 2px; }
.svc-strip { position: relative; isolation: isolate; margin: 0; height: clamp(360px, 44vw, 640px); overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #0c0f15; }
.svc-strip > video { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.svc-strip .pill { left: auto; right: max(var(--gutter), calc((100% - var(--max)) / 2)); top: 34%; transform: none; height: 62px; padding: 0 24px 0 10px; gap: 12px; }
.svc-strip .pill .ps { font-size: 18px; }
.svc-strip .pill-ico { width: 42px; height: 42px; }
.svc-strip .pill-ico .pi { width: 20px; height: 20px; margin: -10px; }
.svc-strip .frame-stop { right: max(var(--gutter), calc((100% - var(--max)) / 2)); top: 22px; bottom: auto; }
.strip-groups { position: absolute; right: calc(max(var(--gutter), calc((100% - var(--max)) / 2)) + 54px); top: 22px; z-index: 2; display: flex; flex-wrap: wrap; justify-content: flex-end; max-width: 60%; gap: 8px; list-style: none; margin: 0; padding: 0; }
.strip-groups li { padding: 9px 15px; border-radius: 999px; font-size: 14px; font-weight: 600; color: rgba(233, 237, 244, calc(.62 + var(--g, 0) * .38)); background: rgba(10, 12, 16, calc(.55 + var(--g, 0) * .2)); border: 1px solid rgba(34, 195, 238, calc(var(--g, 0) * .6)); box-shadow: 0 0 calc(var(--g, 0) * 22px) rgba(34, 195, 238, calc(var(--g, 0) * .45)); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.phead-frame { position: relative; isolation: isolate; margin: 0; aspect-ratio: 4 / 4.6; max-height: 640px; width: 100%; border-radius: 26px; overflow: hidden; border: 1px solid var(--line); background: #0c0f15; box-shadow: 0 50px 100px -50px rgba(0, 0, 0, .95); }
.phead-frame > video, .phead-frame > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.frame-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10, 12, 16, .3) 0%, rgba(10, 12, 16, 0) 30%, rgba(10, 12, 16, 0) 70%, rgba(10, 12, 16, .3) 100%); }
.frame-stop { right: 16px; bottom: 16px; }

/* one shape that becomes every moment */
.pill {
  position: absolute; left: 50%; top: 22px; z-index: 2; display: flex; align-items: center; gap: 10px;
  height: 50px; width: calc(var(--pw, 260) * 1px); padding: 0 18px 0 8px; transform: translateX(-50%);
  border-radius: 999px; background: #0b0d12; color: #fff; overflow: hidden;
  box-shadow: 0 18px 40px -14px rgba(0, 0, 0, .9), inset 0 1px 0 rgba(255, 255, 255, .12), 0 0 0 1px rgba(255, 255, 255, .06);
}
.pill-ico { position: relative; flex: none; width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(135deg, #8a4dff, #2e8bff 60%, #22c3ee); }
.pill-ico .pi { position: absolute; left: 50%; top: 50%; width: 17px; height: 17px; margin: -8.5px; color: #fff; transform: scale(var(--s, 0)); opacity: var(--s, 0); }
.pill-txt { position: relative; flex: 1; height: 100%; overflow: hidden; }
.pill .ps { position: absolute; left: 0; top: 50%; display: flex; align-items: center; gap: 6px; white-space: nowrap; font-size: 15px; color: #c8d0de; transform: translateY(calc(-50% + var(--y, 0) * 1px)); opacity: var(--o, 0); }
.pill .ps b { color: #fff; font-weight: 600; }
.pill .stars svg { width: 14px; height: 14px; }

.close-band { position: relative; isolation: isolate; overflow: hidden; padding: clamp(90px, 11vw, 150px) 0; border-top: 1px solid var(--line); background: radial-gradient(60% 80% at 20% 50%, rgba(138, 77, 255, .16), transparent 60%), radial-gradient(50% 70% at 90% 40%, rgba(34, 195, 238, .1), transparent 60%), var(--ink-2); }
.close-grid { display: grid; grid-template-columns: minmax(200px, .55fr) 1fr; gap: clamp(32px, 6vw, 90px); align-items: center; }
.close-copy { display: grid; justify-items: start; gap: 18px; }
.close-art { position: relative; display: grid; place-items: center; }
.close-art img { width: min(260px, 100%); height: auto; filter: drop-shadow(0 0 40px rgba(70, 120, 255, .45)); }

/* =====================================================================
   SERVICES
   ===================================================================== */
/* the four groups: four large stages, all in view, each playing as it is reached */
.ggrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.gcard { display: flex; flex-direction: column; border-radius: 26px; border: 1px solid var(--line); background: #0c0f15; overflow: hidden; scroll-margin-top: calc(var(--nav-h) + 16px); }
.gcard .gscene { min-height: 620px; }
.gcard .gcopy { align-content: start; border-left: 0; border-top: 1px solid var(--line); padding: 26px 28px 30px; }
.gcard .gcopy .h2 { font-size: clamp(24px, 2.2vw, 32px); }
.gcard .svc-list { gap: 14px; }
.gt-n { display: inline-block; margin-right: .5em; font-size: .62em; font-weight: 700; font-stretch: 125%; letter-spacing: .06em; vertical-align: .16em; color: var(--cyan); }
.gscene { position: relative; isolation: isolate; overflow: hidden; min-height: 560px; }
.gscene > video { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.gscene-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10, 12, 16, .2), rgba(10, 12, 16, 0) 40%, rgba(10, 12, 16, .34)); }
.gscene-stop { right: 16px; bottom: 16px; }
.gcopy { display: grid; align-content: center; gap: 18px; padding: clamp(28px, 4vw, 52px); border-left: 1px solid var(--line); }
.gcopy .h2 { font-size: clamp(28px, 3vw, 40px); }
.svc-list { list-style: none; display: grid; gap: 16px; margin-top: 6px; }
.svc-list li { display: flex; gap: 14px; align-items: flex-start; }
.svc-list .ico { width: 38px; height: 38px; border-radius: 11px; }
.svc-list .ico svg { width: 18px; height: 18px; }
.svc-list b { display: block; color: #fff; font-weight: 600; font-size: 16px; margin-bottom: 2px; }
.svc-list li > span:last-child { font-size: 15px; color: var(--muted); line-height: 1.55; }
.gscene [data-in] { opacity: var(--in, 1); transform: translateY(calc((1 - var(--in, 1)) * 14px)) scale(calc(.97 + .03 * var(--in, 1))); }
/* the ranking climb */
.climb { position: absolute; left: 50%; top: 50%; width: min(460px, 86%); padding: 20px; transform: translate(-50%, calc(-50% + (1 - var(--in, 1)) * 16px)); opacity: var(--in, 1); }
.cl-q { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 11px 16px; border-radius: 999px; background: #fff; color: #1d2330; font-size: 14.5px; font-weight: 500; }
.cl-q svg { width: 16px; height: 16px; color: #5f6878; flex: none; }
.cl-vol { margin-left: auto; font-style: normal; font-size: 12px; font-weight: 600; color: #1a5fd0; }
.cl-chart { position: relative; height: 170px; margin: 18px 0 14px 34px; }
.cl-chart svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.cl-grid { stroke: rgba(255, 255, 255, .08); stroke-width: 1; fill: none; vector-effect: non-scaling-stroke; }
.cl-line { fill: none; stroke: #22c3ee; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 100 100; stroke-dashoffset: calc(100 - var(--draw, 1) * 100); vector-effect: non-scaling-stroke; }
.cl-y { position: absolute; left: -34px; top: 0; bottom: 0; display: flex; flex-direction: column; justify-content: space-between; list-style: none; font: 600 11.5px/1 var(--display); color: var(--dim); }
.cl-dot { position: absolute; left: calc(var(--dx, 100) * 1%); top: calc(var(--dy, 6) * 1%); width: 14px; height: 14px; margin: -7px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px rgba(34, 195, 238, .35), 0 0 18px 4px rgba(34, 195, 238, .7); }
.cl-big { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; font-size: 14px; color: #c5ccda; }
.cl-rank { font-stretch: 125%; font-weight: 800; font-size: 56px; line-height: 1; background: var(--chrome); -webkit-background-clip: text; background-clip: text; color: transparent; transform: scale(calc(.6 + .4 * var(--in, 1))); transform-origin: 0 60%; opacity: var(--in, 1); }
.cl-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.cl-chips .chip { opacity: calc(.45 + .55 * var(--on, 1)); }
.cl-chips .chip.on { color: #bff1ff; background: rgba(34, 195, 238, .12); border-color: rgba(34, 195, 238, .4); }
.chip-i { width: 12px; height: 12px; color: var(--cyan); }
/* the dark funnel */
.funnel { position: absolute; inset: 0; display: grid; place-items: center; }
.fn-serp { position: absolute; left: 7%; top: 9%; width: min(400px, 72%); padding: 16px; border-radius: 18px; background: #fff; color: #1d2330; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .8); }
.fn-q { display: flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; border: 1px solid #dfe4ec; font-size: 14px; margin-bottom: 12px; }
.fn-q svg { width: 15px; height: 15px; color: #5f6878; }
.fn-lsa { position: relative; padding: 12px 12px 12px; border-radius: 12px; border: 1px solid #e3e8f0; margin-bottom: 8px; }
.fn-lsa.ghost { opacity: .55; }
.fn-tag { font-size: 11.5px; color: #5f6878; margin-bottom: 4px; }
.fn-verified { display: inline-flex; align-items: center; gap: 4px; color: #137333; font-weight: 600; }
.fn-verified svg { width: 13px; height: 13px; }
.fn-name { padding-right: 62px; font-weight: 700; font-size: 14.5px; color: #1a3e8f; }
.fn-lsa.is-lit { box-shadow: 0 0 0 2px #1a73e8; }
.fn-meta { padding-right: 62px; font-size: 12.5px; color: #4d5566; }
.fn-meta em { font-style: normal; color: #7a4f00; font-weight: 600; }
.fn-call { position: absolute; right: 12px; top: 50%; margin-top: -15px; padding: 6px 14px; border-radius: 999px; background: #1a73e8; color: #fff; font-size: 12.5px; font-weight: 600; transform: scale(calc(1 - .08 * var(--press, 0))); }
.fn-cursor { position: absolute; left: calc(var(--cx, 80) * 1%); top: calc(var(--cy, 80) * 1%); width: 18px; height: 22px; background: #10141c; clip-path: polygon(0 0, 0 78%, 26% 60%, 46% 100%, 60% 94%, 40% 56%, 76% 56%); filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .4)); opacity: var(--co, 1); }
.fn-toast { position: absolute; right: 6%; top: 50%; display: flex; align-items: center; gap: 11px; padding: 12px 14px; border-radius: 16px; background: rgba(15, 18, 26, .9); border: 1px solid rgba(34, 195, 238, .4); box-shadow: 0 20px 40px -14px rgba(0, 0, 0, .85); }
.fn-toast .ico { width: 36px; height: 36px; }
.fn-toast b { display: block; font-size: 13.5px; color: #fff; }
.fn-toast span span { font-size: 12px; color: var(--muted); }
.fn-back { position: absolute; left: 9%; bottom: 25%; display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 16px; background: rgba(15, 18, 26, .9); border: 1px solid var(--line-2); }
.fn-back b { font-size: 26px; color: #fff; }
.fn-back span { font-size: 13px; color: var(--muted); }
.fn-book { position: absolute; left: 7%; right: 7%; bottom: 6%; display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; background: rgba(10, 12, 16, .86); border: 1px solid rgba(34, 195, 238, .4); }
.fn-book > span:last-child { display: grid; gap: 1px; }
.fn-book b { font-size: 14.5px; color: #fff; }
.fn-book > span:last-child span { font-size: 12.5px; color: var(--muted); }
.fn-pulse { position: relative; width: 12px; height: 12px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 calc(var(--ring, 0) * 10px) rgba(34, 195, 238, calc(.45 - .45 * var(--ring, 0))); }
/* reviews riding the line */
.peers { position: absolute; left: 50%; top: 50%; width: min(460px, 88%); padding: 18px; transform: translate(-50%, -50%); }
.pk-title { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; font-size: 14px; font-weight: 600; color: #fff; }
.pk-title em { margin-left: auto; font-style: normal; font-size: 12.5px; font-weight: 500; color: var(--muted); }
.pk-rows { list-style: none; display: grid; gap: 8px; margin: 0 0 12px; padding: 0; }
.pk-row { display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 14px; background: rgba(255, 255, 255, .05); border: 1px solid var(--line); }
.pk-row:not(.you) { opacity: .94; }
.pk-row.you { border-color: rgba(34, 195, 238, .35); }
.pk-row.you.is-lit { background: rgba(34, 195, 238, .1); border-color: rgba(34, 195, 238, .7); box-shadow: 0 0 0 4px rgba(34, 195, 238, .12); }
.pk-av { flex: none; width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; font-weight: 700; font-size: 13px; color: #fff; background: rgba(255, 255, 255, .1); }
.pk-row.you .pk-av { background: linear-gradient(135deg, #6a43f5, #1f6fe0); }
.pk-main { display: grid; gap: 2px; min-width: 0; }
.pk-main > b { font-size: 14.5px; color: #fff; }
.pk-meta { font-size: 13px; color: #c3cad8; }
.pk-meta b { font-size: 13.5px; color: #fff; }
.pk-news { position: relative; height: 58px; overflow: hidden; margin-bottom: 12px; border-radius: 12px; background: #fff; }
.pk-rev { position: absolute; left: 0; right: 0; top: 0; height: 100%; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; align-content: center; column-gap: 10px; padding: 0 14px; color: #1d2330; opacity: var(--o, 0); transform: translateX(calc(var(--x, 400) * 1px)); }
.pk-rev .rs { grid-row: 1 / span 2; font-size: 15px; align-self: center; }
.pk-rev > span:not(.rs) { font-size: 13.5px; font-weight: 600; }
.pk-rev em { font-style: normal; font-size: 12px; color: #5b6475; }
.pk-ask-ico { grid-row: 1 / span 2; align-self: center; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #fff4d6; color: #b07800; font-size: 15px; }
.rd-site { position: relative; }
.pk-cursor { z-index: 3; }
.rd-site { display: flex; align-items: center; gap: 12px; }
.rd-btn { white-space: nowrap; padding: 9px 16px; border-radius: 10px; background: #fff; color: #0a0c10; font-size: 13.5px; font-weight: 600; transform: scale(calc(1 - .07 * var(--press, 0))); }
.rd-sent { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: #bff1ff; opacity: var(--in, 1); }
.rd-sent svg { width: 15px; height: 15px; color: var(--cyan); }
/* the call that books itself */
.books { position: absolute; inset: 0; }
.bk-call { position: absolute; left: 5%; top: 7%; width: min(310px, 56%); padding: 16px; }
.bk-state { font-size: 12.5px; color: var(--muted); }
.bk-check { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin-top: 4px; }
.bk-check li { display: inline-flex; align-items: center; gap: 5px; padding: 5px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; color: var(--muted); background: rgba(255, 255, 255, .06); border: 1px solid var(--line); }
.bk-check li svg { width: 12px; height: 12px; color: var(--cyan); opacity: var(--tick, 0); }
.bk-check li.on { color: #fff; border-color: rgba(34, 195, 238, .4); }
.bk-week { position: absolute; right: 4%; bottom: 5%; width: min(320px, 56%); padding: 16px; }
.bk-w-title { display: flex; justify-content: space-between; font-size: 14px; font-weight: 600; color: #fff; margin-bottom: 10px; }
.bk-w-title span { font-weight: 500; font-size: 12px; color: var(--dim); }
.bk-days { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; margin-bottom: 6px; font-size: 11.5px; font-weight: 600; color: var(--dim); text-align: center; }
.bk-days .today { color: var(--cyan); }
.bk-slots { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); grid-template-rows: repeat(3, 36px); gap: 5px; }
.bk-slots i { grid-column: var(--c); grid-row: var(--r); display: flex; align-items: center; padding: 2px 6px; border-radius: 7px; font-style: normal; font-size: 11.5px; line-height: 1.15; font-weight: 600; color: #cfd6e3; background: rgba(255, 255, 255, .07); overflow: hidden; white-space: nowrap; }
.bk-slots .bk-new { color: #03141b; background: var(--cyan); box-shadow: 0 0 0 2px rgba(34, 195, 238, .3); transform: translateY(calc((1 - var(--in, 1)) * -40px)); opacity: var(--in, 1); }
.bk-log { display: flex; align-items: center; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.bk-log b { color: #fff; }
/* the 12-month plan */
.plan12 { position: relative; isolation: isolate; overflow: hidden; }
.plan12-bg { position: absolute; inset: 0; z-index: -1; }
.plan12-bg img { width: 100%; height: 100%; object-fit: cover; filter: blur(10px); transform: scale(1.08); }
.plan12-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, var(--ink) 0%, rgba(10, 12, 16, .25) 22%, rgba(10, 12, 16, .25) 78%, var(--ink) 100%); }
.circuit { position: relative; padding: clamp(20px, 3vw, 34px); border-radius: 24px; background: rgba(13, 16, 22, .78); }
.circuit-stop { right: 16px; top: 16px; }
.ci-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding-right: 52px; margin-bottom: 22px; }
.ci-title { display: flex; align-items: center; gap: 12px; font-family: var(--display); font-stretch: 115%; font-weight: 650; font-size: 20px; color: #fff; }
.ci-title .ico { width: 34px; height: 34px; border-radius: 10px; }
.ci-title .ico svg { width: 17px; height: 17px; }
.ci-goal { padding: 7px 13px; border-radius: 999px; background: rgba(255, 255, 255, .05); border: 1px solid var(--line); font-size: 13.5px; color: var(--muted); }
.ci-grid { position: relative; display: grid; gap: 10px; }
.ci-months, .ci-row { display: grid; grid-template-columns: minmax(150px, 230px) 1fr; align-items: center; gap: 16px; }
.ci-months { grid-template-columns: minmax(150px, 230px) repeat(12, 1fr); gap: 0 0; font: 600 12px/1 var(--display); color: var(--dim); text-align: center; }
.ci-months span:first-child { text-align: left; }
.ci-row p { font-size: 14.5px; font-weight: 600; color: #e3e8f1; }
.ci-wire { position: relative; height: 30px; border-radius: 9px; background: rgba(255, 255, 255, .035); }
.ci-wire::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: rgba(255, 255, 255, .1); }
.ci-seg { position: absolute; top: 3px; bottom: 3px; left: calc(var(--s) / 12 * 100% + 2px); width: calc(var(--l) / 12 * 100% - 4px); border-radius: 7px; background-color: transparent !important; background-image: linear-gradient(90deg, var(--sc) 0 calc(var(--rev, 1) * 100%), rgba(255, 255, 255, .06) calc(var(--rev, 1) * 100%)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sc) 55%, transparent); color: rgba(255, 255, 255, calc(.55 + var(--rev, 1) * .45)); display: flex; align-items: center; padding: 0 9px; font-size: 11.5px; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; }
.ci-seg.setup { --sc: #3b6dff; } .ci-seg.grow { --sc: #8a4dff; } .ci-seg.pay { --sc: #0e9f8a; } .ci-seg.less { --sc: #b5761b; } .ci-seg.run { --sc: #56657f; }
.ci-sweep { position: absolute; top: 18px; bottom: 0; left: calc(var(--off, 246px) + (100% - var(--off, 246px)) * var(--sw, 1)); width: 2px; margin-left: -1px; background: linear-gradient(180deg, transparent, #fff 20%, #fff 80%, transparent); box-shadow: 0 0 14px 3px rgba(46, 139, 255, .7); opacity: var(--swo, 0); }
.ci-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; list-style: none; margin: 18px 0 0; font-size: 13px; color: var(--muted); }
.ci-legend li { display: inline-flex; align-items: center; gap: 7px; }
.ci-legend i { width: 11px; height: 11px; border-radius: 3px; }
.ci-legend .setup { background: #3b6dff; } .ci-legend .grow { background: #8a4dff; } .ci-legend .pay { background: #0e9f8a; } .ci-legend .less { background: #b5761b; } .ci-legend .run { background: #4a5873; }
.ci-stats { display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: 12px 34px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.ci-stats p { display: flex; align-items: baseline; gap: 10px; font-size: 14px; color: var(--muted); }
.ci-stats p b { text-shadow: 0 0 calc(var(--glow, 0) * 18px) rgba(34, 195, 238, .8); }
.ci-stats b { font-size: 28px; color: #fff; }
.ci-note { justify-self: end; max-width: 330px; text-align: right; }

@media (max-width: 1100px) {
  .ggrid { grid-template-columns: 1fr; }
  .gcard .gscene { min-height: 600px; }
  #never-miss .gscene { min-height: 690px; }
  .pk-news { height: 66px; }
  .gcopy { border-left: 0; border-top: 1px solid var(--line); }
  .gscene { min-height: 520px; }
}
@media (max-width: 899px) {
  .phead-grid { grid-template-columns: 1fr; }
  .svc-intro { grid-template-columns: 1fr; align-items: start; gap: 18px; }
  .svc-strip { height: auto; aspect-ratio: 16 / 10; }
  .svc-strip > video { object-position: 50% 50%; }
  .svc-strip .pill { top: auto; bottom: 16px; right: auto; left: 50%; transform: translateX(-50%); }
  .svc-strip .frame-stop { top: 14px; bottom: auto; right: 14px; }
  .phead-frame { aspect-ratio: 4 / 4.4; max-height: none; }
  .close-grid { grid-template-columns: 1fr; }
  .close-art img { width: 150px; }
  .gscene { min-height: 600px; }
  .bk-check li { padding: 4px 8px; font-size: 11.5px; }
  .fn-serp { left: 4%; top: 4%; width: 92%; }
  .fn-toast { left: 4%; right: auto; top: auto; bottom: 150px; }
  .fn-back { left: auto; right: 4%; bottom: 88px; }
  .fn-book { left: 4%; right: 4%; bottom: 16px; }
  .bk-call { left: 4%; top: 4%; width: 88%; }
  .bk-week { right: 4%; bottom: 4%; width: 88%; }
  .strip-groups { display: none; }
  .ci-grid { overflow-x: auto; padding-bottom: 6px; }
  .ci-months, .ci-row { min-width: 640px; }
  .ci-stats { grid-template-columns: 1fr; }
  .ci-note { justify-self: start; text-align: left; }
}
@media (max-width: 640px) {
  /* each service's name sits above its own full-width wire, under one row of months */
  .ci-grid { overflow: visible; padding-bottom: 0; gap: 12px; }
  .ci-months, .ci-row { min-width: 0; }
  .ci-row { grid-template-columns: 1fr; gap: 6px; }
  .ci-row p { font-size: 13.5px; }
  .ci-months { grid-template-columns: repeat(12, 1fr); font-size: 10px; letter-spacing: -.02em; }
  .ci-months span:first-child { display: none; }
  .ci-wire { height: 26px; }
  .ci-seg { padding: 0 6px; font-size: 10.5px; }
  .ci-seg.short { color: transparent; }
  .ci-sweep { top: 14px; }
}
@media (max-width: 560px) {
  .pill { top: 14px; height: 46px; }
  .pill .ps { font-size: 13.5px; }
  .rd-thumb { width: 92px; }
  .rd-thumb img { height: 44px; }
  .fn-row b { font-size: 17px; }
}

/* =====================================================================
   HOW IT WORKS
   ===================================================================== */
.hiw { position: relative; padding: calc(var(--nav-h) + clamp(36px, 6vw, 80px)) 0 clamp(60px, 8vw, 110px); }
.hiw::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 900px; z-index: -1; background: radial-gradient(55% 60% at 80% 20%, rgba(59, 109, 255, .16), transparent 65%), radial-gradient(45% 50% at 5% 60%, rgba(138, 77, 255, .1), transparent 65%); }
.hiw-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .82fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.hiw-intro { display: grid; justify-items: start; gap: 20px; min-height: calc(100svh - var(--nav-h) - 120px); align-content: center; padding-bottom: 40px; }
.hiw-intro .h1 { font-size: clamp(32px, 4vw, 56px); }
.hiw-scroll { display: inline-flex; align-items: center; gap: 10px; margin-top: 24px; font-weight: 600; font-size: 14.5px; color: #bff1ff; }
.hiw-scroll svg { width: 18px; height: 18px; transform: rotate(90deg); color: var(--cyan); }
.hsteps { list-style: none; display: grid; padding-bottom: 14vh; }
.hstep { display: grid; align-content: center; gap: 14px; min-height: 76vh; padding: 40px 0; border-top: 1px solid var(--line); opacity: .42; transition: opacity .35s ease; }
.hstep.is-on { opacity: 1; }
.hs-n { display: inline-block; margin-right: .5em; font-size: .62em; font-weight: 700; font-stretch: 125%; letter-spacing: .06em; vertical-align: .16em; color: var(--cyan); }
.hs-tag { display: inline-flex; align-items: center; gap: 8px; justify-self: start; padding: 7px 13px 7px 10px; border-radius: 999px; background: rgba(255, 255, 255, .05); border: 1px solid var(--line); font-size: 13.5px; font-weight: 600; color: #dfe5ef; }
.hs-tag svg { width: 15px; height: 15px; color: var(--cyan); }
.hs-tag.live { background: rgba(34, 195, 238, .1); border-color: rgba(34, 195, 238, .35); color: #c8f4ff; }
.hstep .h2 { font-size: clamp(28px, 3vw, 42px); }
.hs-slot { display: none; }
.hiw-right { position: sticky; top: calc(var(--nav-h) + 20px); height: calc(100svh - var(--nav-h) - 40px); display: flex; align-items: center; justify-content: center; }
.device { position: relative; margin: 0; height: min(100%, 760px); aspect-ratio: var(--photo-ar, 4 / 5); max-width: 100%; border-radius: 28px; overflow: hidden; border: 1px solid var(--line); box-shadow: 0 50px 100px -50px rgba(0, 0, 0, .95); background: #0c0f15; }
.device-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.device-screen { position: absolute; left: var(--sx, 31%); top: var(--sy, 16%); width: var(--sw, 38%); height: var(--sh, 50%); border-radius: calc(var(--k, 1) * 28px); overflow: hidden; background: #0d1017; }
.device-screen .scr, .hs-slot .scr { position: absolute; left: 0; top: 0; width: 260px; height: 574px; transform: scale(var(--k, 1)); transform-origin: 0 0; }
.device .scr-stop { right: 14px; top: 14px; z-index: 4; }
.hs-slot .scr-stop { right: 10px; top: 10px; z-index: 4; width: 36px; height: 36px; }
.dots { position: absolute; right: -18px; top: 50%; display: grid; gap: 10px; list-style: none; transform: translateY(-50%); }
.dots li { width: 7px; height: 7px; border-radius: 50%; background: rgba(255, 255, 255, .2); transition: background-color .3s ease, transform .3s ease; }
.dots li.on { background: var(--cyan); transform: scale(1.35); box-shadow: 0 0 10px var(--cyan); }
/* screens, drawn at 260 x 574 */
.scr[hidden] { display: none; }
.scr { display: flex; flex-direction: column; background: linear-gradient(180deg, #121624, #0d1017 40%); color: var(--text); font-size: 14.5px; }
.scr .chip { font-size: 13px; }
.scr [data-in] { opacity: var(--in, 1); transform: translateY(calc((1 - var(--in, 1)) * 12px)); }
.scr-bar { display: flex; align-items: center; gap: 10px; padding: 46px 16px 14px; border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, .03); }
.scr-bar img { width: 26px; height: auto; }
.scr-bar > span { display: grid; }
.scr-bar b { font-size: 15.5px; color: #fff; }
.scr-bar span span { font-size: 12.5px; color: var(--muted); }
.scr-bar.plain { justify-content: space-between; font-size: 15px; }
.scr-body { flex: 1; display: flex; flex-direction: column; gap: 10px; padding: 16px; }
.sb { width: fit-content; max-width: 86%; padding: 11px 14px; border-radius: 17px; font-size: 15.5px; line-height: 1.35; }
.sb.bot { background: rgba(255, 255, 255, .09); border-bottom-left-radius: 5px; }
.sb.me { margin-left: auto; background: linear-gradient(135deg, #6a43f5, #1f6fe0); color: #fff; border-bottom-right-radius: 5px; }
.sb.me.ok::before { content: "✓ "; }
.sb-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.sb-chips span { padding: 7px 13px; border-radius: 999px; border: 1px solid var(--line-2); font: 650 14px/1.2 var(--display); }
.sb-chips span.on { background: #fff; color: var(--ink); border-color: #fff; }
.sb-prog { height: 6px; border-radius: 6px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.sb-prog i { display: block; height: 100%; width: calc(var(--p, 1) * 100%); background: var(--current); }
.sb-found { padding: 12px; border-radius: 14px; background: rgba(255, 255, 255, .05); border: 1px solid var(--line); }
.sf-title { font-weight: 600; color: #fff; margin-bottom: 8px; }
.sf-row { display: grid; grid-template-columns: 62px 1fr 16px; align-items: center; gap: 6px; padding: 7px 0; border-top: 1px solid var(--line); font-size: 13px; }
.sf-row span { color: var(--dim); }
.sf-row b { color: #e3e8f1; font-weight: 600; }
.sf-row svg { width: 14px; height: 14px; color: var(--cyan); opacity: 0; transform: scale(.4); transition: none; }
.sf-row.on svg { opacity: 1; transform: none; }
.gp-row { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 6px; padding: 10px 12px; border-radius: 12px; background: rgba(255, 255, 255, .045); font-size: 13.5px; color: var(--muted); }
.gp-row b { color: #fff; font-weight: 600; }
.gp-row em { font-style: normal; color: var(--dim); font-weight: 500; }
.gp-row i { grid-column: 1 / -1; position: relative; display: block; height: 5px; border-radius: 4px; background: rgba(255, 255, 255, .1); }
.gp-row i::before, .gp-row i::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; border-radius: 4px; }
.gp-row i::after { width: calc(var(--t) * var(--g, 1)); background: rgba(255, 255, 255, .28); }
.gp-row i::before { z-index: 1; width: calc(var(--y) * var(--g, 1)); background: #ff8a98; }
.gp-gap { margin-top: auto; padding: 11px 12px; border-radius: 12px; background: rgba(255, 107, 125, .12); border: 1px solid rgba(255, 107, 125, .35); font-size: 13px; color: #ffd2d8; }
.gp-gap b { color: #fff; }
.pl-label { font-size: 12px; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; }
.pl-bars { display: grid; grid-template-columns: repeat(12, 1fr); align-items: end; gap: 4px; height: 96px; padding-bottom: 4px; border-bottom: 1px solid var(--line); }
.pl-bars i { display: block; height: calc(var(--h) * var(--g, 1)); min-height: 3px; border-radius: 3px 3px 1px 1px; background: var(--current-v); }
.pl-split { display: flex; gap: 3px; height: 12px; border-radius: 6px; overflow: hidden; }
.pl-split i { display: block; width: calc(var(--w) * var(--g, 1)); height: 100%; border-radius: 3px; }
.pl-split i:nth-child(1) { background: #8a4dff; } .pl-split i:nth-child(2) { background: #3b6dff; } .pl-split i:nth-child(3) { background: #22c3ee; } .pl-split i:nth-child(4) { background: #8fa3c4; }
.pl-legend { list-style: none; display: grid; gap: 4px; font-size: 13.5px; color: var(--muted); }
.pl-legend li { display: flex; justify-content: space-between; }
.pl-legend b { color: #fff; }
.pl-pay { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: #bff1ff; }
.pl-pay svg { width: 14px; height: 14px; color: var(--cyan); }
.pl-btn { margin-top: auto; padding: 12px; border-radius: 12px; background: #fff; color: var(--ink); font-weight: 600; text-align: center; font-size: 14px; }
.nc-alert { display: flex; align-items: center; gap: 10px; margin: 44px 12px 4px; padding: 12px; border-radius: 16px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .16); }
.nc-alert .ico { width: 34px; height: 34px; border-radius: 10px; }
.nc-alert .ico svg { width: 17px; height: 17px; }
.nc-alert b { display: block; font-size: 13.5px; color: #fff; }
.nc-alert span span { font-size: 13px; color: var(--muted); }
.nc-title { display: flex; justify-content: space-between; align-items: center; font-weight: 600; color: #dfe5ef; }
.nc-title b { font-size: 26px; color: #fff; }
.nc-row { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 12px; background: rgba(255, 255, 255, .05); }
.nc-row > span:nth-child(2) { display: grid; flex: 1; min-width: 0; }
.nc-row b { font-size: 14px; color: #fff; }
.nc-row span span { font-size: 12.5px; color: var(--muted); }
.nc-row em { font-style: normal; font-size: 12.5px; font-weight: 700; color: #bff1ff; padding: 3px 7px; border-radius: 999px; background: rgba(34, 195, 238, .12); }
.nc-human { margin-top: auto; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px; border-radius: 12px; border: 1px solid var(--line-2); font-weight: 600; font-size: 14px; }
.nc-human svg { width: 16px; height: 16px; color: var(--cyan); }
.scr-body.chat { justify-content: flex-end; padding-bottom: 12px; }
.scr-type { display: flex; align-items: center; gap: 10px; margin: 0 12px 16px; padding: 7px 7px 7px 16px; border-radius: 999px; background: rgba(255, 255, 255, .06); border: 1px solid var(--line); font-size: 13.5px; color: var(--dim); }
.scr-type span { flex: 1; }
.scr-type i { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--current); }
.scr-type svg { width: 14px; height: 14px; color: #fff; }
.lv-row { display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 10px; padding: 11px 12px; border-radius: 12px; background: rgba(255, 255, 255, calc(.04 + var(--sw, 0) * .04)); font-size: 14.5px; color: rgba(233, 237, 244, calc(.6 + var(--sw, 0) * .4)); }
.lv-ico { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: rgba(255, 255, 255, .07); }
.lv-ico svg { width: 15px; height: 15px; color: rgba(34, 195, 238, calc(.45 + var(--sw, 0) * .55)); }
.lv-sw { position: relative; width: 40px; height: 24px; border-radius: 999px; background: rgba(255, 255, 255, .14); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
.lv-sw::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: #22c3ee; opacity: var(--sw, 0); }
.lv-sw::after { content: ""; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, .35); transform: translateX(calc(var(--sw, 0) * 16px)); }
.lv-next { margin-top: auto; display: flex; align-items: flex-start; gap: 10px; padding: 12px; border-radius: 12px; background: rgba(34, 195, 238, .1); border: 1px solid rgba(34, 195, 238, .32); font-size: 13px; line-height: 1.4; color: #c8f4ff; }
.lv-next svg { flex: none; width: 16px; height: 16px; margin-top: 1px; color: var(--cyan); }
.lv-next b { color: #fff; }

/* the plan on a laptop in a real place */
.fp-stage { position: relative; display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(250px, .62fr); gap: clamp(24px, 4vw, 48px); align-items: center; }
.fp-stop { right: 0; top: -54px; }
.fp-photo { position: relative; margin: 0; aspect-ratio: var(--photo-ar, 3 / 2); border-radius: 26px; overflow: hidden; border: 1px solid var(--line); box-shadow: 0 50px 100px -50px rgba(0, 0, 0, .95); }
.fp-photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fp-screen { position: absolute; left: 0; top: 0; width: 520px; height: 351px; transform-origin: 0 0; overflow: hidden; background: #f6f7fb; }
.fp-screen.lifted { width: 380px; height: 336px; border-radius: 14px; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .85), 0 0 0 1px rgba(255, 255, 255, .2); }
.fp-page { padding: 20px 24px; color: #1d2330; }
.fpp-head { display: flex; align-items: center; gap: 10px; padding-bottom: 12px; margin-bottom: 14px; border-bottom: 2px solid #e6e9f0; }
.fpp-head img { width: 24px; height: auto; filter: drop-shadow(0 0 2px rgba(0, 0, 0, .2)); }
.fpp-head > span { display: grid; }
.fpp-head b { font: 700 22px/1.1 var(--display); font-stretch: 112%; color: #10141c; }
.fpp-head span span { font-size: 14px; color: #5b6475; }
.fp-screen.lifted .fpp-vs { grid-template-columns: 104px 1fr 78px; }
.fpp-head em { margin-left: auto; padding: 5px 11px; border-radius: 999px; background: #e8f7fc; color: #0b7a96; font-style: normal; font-weight: 700; font-size: 13.5px; }
.fpp-block { padding: 14px 18px; border-radius: 14px; background: #fff; box-shadow: 0 3px 12px rgba(16, 20, 28, .07); margin-bottom: 14px; }
.fpp-h { font: 700 17px/1.2 var(--display); font-stretch: 110%; color: #10141c; margin-bottom: 10px; }
.fpp-vs { display: grid; grid-template-columns: 150px 1fr 100px; grid-template-rows: auto auto; align-items: center; column-gap: 12px; row-gap: 3px; padding: 5px 0; font-size: 14px; color: #4d5566; }
.fpp-vs span { grid-row: span 2; }
.fpp-vs i { display: block; height: 7px; border-radius: 6px; width: calc(var(--w) * var(--g, 1)); background: #ff7a8a; }
.fpp-vs i.r { grid-column: 2; background: #c9d1df; }
.fpp-vs b { grid-column: 3; grid-row: 1 / span 2; text-align: right; color: #10141c; font-size: 14px; }
.fpp-months { list-style: none; display: grid; gap: 5px; margin: 0; padding: 0; }
.fpp-months li { display: grid; grid-template-columns: 74px 1fr auto; align-items: center; gap: 10px; padding: 6px 0; border-top: 1px solid #edf0f5; font-size: 14px; color: #4d5566; }
.fpp-months li:first-child { border-top: 0; }
.fpp-months b { color: #10141c; font-size: 14px; }
.st { font-style: normal; padding: 3px 9px; border-radius: 999px; font-size: 12.5px; font-weight: 700; }
.st.setup { background: #e6edff; color: #2448b8; } .st.grow { background: #efe7ff; color: #5b2cc9; } .st.pay { background: #dff6f1; color: #0b6e5f; } .st.less { background: #fbeedd; color: #8a5208; } .st.run { background: #e9edf3; color: #3d4a63; }
.fpp-costs { list-style: none; display: grid; gap: 8px; margin: 0; padding: 0; }
.fpp-costs li { display: grid; grid-template-columns: 1fr 120px 42px; align-items: center; gap: 10px; font-size: 14px; color: #4d5566; }
.fpp-costs i { display: block; height: 8px; border-radius: 6px; background: linear-gradient(90deg, #6a43f5, #1f6fe0); width: var(--w); max-width: 100%; }
.fpp-costs b { text-align: right; color: #10141c; }
.fp-screen.lifted .fpp-months li { grid-template-columns: 64px 1fr; }
.fp-screen.lifted .fpp-months .st { display: none; }
.fp-screen.lifted .fpp-costs li { grid-template-columns: 1fr 70px 38px; }
.fpp-cap { margin-top: 8px; font-size: 14px; color: #5b6475; }
.fpp-split { display: flex; gap: 4px; height: 14px; border-radius: 8px; overflow: hidden; }
.fpp-split i { display: block; width: var(--w); height: 100%; }
.fpp-split i:nth-child(1) { background: #8a4dff; } .fpp-split i:nth-child(2) { background: #3b6dff; } .fpp-split i:nth-child(3) { background: #22c3ee; } .fpp-split i:nth-child(4) { background: #8fa3c4; }
.fp-caps { list-style: none; display: grid; gap: 10px; }
.fp-caps li { position: relative; display: grid; gap: 4px; padding: 18px 20px 18px 22px; border-radius: 18px; border: 1px solid var(--line); background: rgba(255, 255, 255, .02); color: var(--muted); font-size: 15px; transition: border-color .3s ease, background-color .3s ease; }
.fp-caps li b { color: #fff; font-size: 17px; font-weight: 600; }
.fp-caps li::before { content: ""; position: absolute; left: 0; top: 18px; bottom: 18px; width: 3px; border-radius: 3px; background: transparent; }
.fp-caps li.on { border-color: rgba(34, 195, 238, .4); background: rgba(34, 195, 238, .06); }
.fp-caps li.on::before { background: var(--current-v); }

/* the team */
.team-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 6vw, 90px); align-items: center; }
.team-photo { position: relative; isolation: isolate; margin: 0; aspect-ratio: 4 / 3.4; border-radius: 26px; overflow: hidden; border: 1px solid var(--line); }
.team-photo > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.team-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10, 12, 16, 0) 40%, rgba(10, 12, 16, .5) 100%); }
.team-stop { right: 16px; top: 16px; }
.log { position: absolute; left: 22px; right: 22px; bottom: 22px; padding: 16px; }
.log [data-in] { opacity: var(--in, 1); transform: translateY(calc((1 - var(--in, 1)) * 10px)); }
.log-title { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; color: #fff; margin-bottom: 10px; }
.log-row { display: grid; grid-template-columns: 76px 1fr; gap: 10px; padding: 9px 0; border-top: 1px solid var(--line); font-size: 14px; color: #dfe5ef; }
.log-row em { font-style: normal; font-weight: 600; color: var(--cyan); }
.team-copy { display: grid; justify-items: start; gap: 18px; }
.checks { list-style: none; display: grid; gap: 12px; margin: 4px 0 8px; }
.checks li { display: flex; align-items: center; gap: 12px; color: #dfe5ef; }
.checks svg { flex: none; width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: rgba(34, 195, 238, .14); color: var(--cyan); }

@media (max-width: 899px) {
  .fp-photo { overflow: visible; margin-bottom: var(--lift, 0px); }
  .hiw-grid { grid-template-columns: 1fr; gap: 0; }
  .hiw-left { display: contents; }
  .hiw-intro { order: 1; }
  .hiw-right { order: 2; position: relative; top: auto; height: auto; display: block; margin: 6px 0 10px; }
  .hsteps { order: 3; }
  .device { height: auto; width: min(330px, 84%); margin: 0 auto; }
  .dots { display: none; }
  .hstep[data-step="0"] .hs-slot { display: none; }
  .hiw-intro { min-height: 0; padding-bottom: 20px; }
  .hiw-scroll { display: none; }
  .hsteps { padding-bottom: 0; }
  .hstep { min-height: 0; opacity: 1; padding: 34px 0; }
  .hs-slot .scr { height: 502px; }
  .hs-slot { display: block; position: relative; width: min(300px, 78%); aspect-ratio: 260 / 502; margin: 10px auto 0; border-radius: 34px; overflow: hidden; background: #0d1017; box-shadow: 0 0 0 7px #1b2030, 0 0 0 8px rgba(255, 255, 255, .14), 0 40px 70px -30px rgba(0, 0, 0, .9); }
  .fp-stage { grid-template-columns: 1fr; }
  .fp-stop { top: -52px; }
  .team-grid { grid-template-columns: 1fr; }
  .team-photo { overflow: visible; aspect-ratio: auto; border: 0; border-radius: 0; }
  .team-photo > img { position: relative; inset: auto; z-index: 0; display: block; width: 100%; height: auto; aspect-ratio: 4 / 3.2; border-radius: 22px; border: 1px solid var(--line); }
  .team-photo .log { position: relative; left: auto; right: auto; bottom: auto; margin: -64px 12px 0; z-index: 1; }
}
@media (max-width: 560px) {
  .log { left: 12px; right: 12px; bottom: 12px; padding: 12px; }
  .log-row { grid-template-columns: 66px 1fr; font-size: 13px; }
}

/* =====================================================================
   WHO WE HELP
   ===================================================================== */
.whead { position: relative; isolation: isolate; padding: calc(var(--nav-h) + 16px) 0 clamp(36px, 5vw, 60px); }
.wframe { position: relative; isolation: isolate; height: clamp(580px, calc(100svh - var(--nav-h) - 36px), 860px); border-radius: 28px; overflow: hidden; border: 1px solid var(--line); background: #0c0f15; box-shadow: 0 50px 100px -50px rgba(0, 0, 0, .9); }
.wframe-media { position: absolute; inset: 0; z-index: -1; }
.wframe-media > video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.wframe-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10, 12, 16, .9) 0%, rgba(10, 12, 16, .52) 30%, rgba(10, 12, 16, 0) 55%), linear-gradient(90deg, rgba(10, 12, 16, .36), rgba(10, 12, 16, 0) 50%); }
.wframe-copy .lead { text-shadow: 0 1px 14px rgba(10, 12, 16, .85); }
/* a soft shade only behind the words; the picture stays bright around them */
@media (min-width: 900px) { .wframe-copy { isolation: isolate; } .wframe-copy::before { content: ""; position: absolute; inset: -60px -120px -30px -80px; z-index: -1; background: radial-gradient(closest-side, rgba(10, 12, 16, .86), rgba(10, 12, 16, .64) 55%, rgba(10, 12, 16, 0)); pointer-events: none; } }
.close-band .lead { text-shadow: 0 1px 14px rgba(10, 12, 16, .9); }
.cb-bg ~ .close-grid .close-copy { position: relative; isolation: isolate; }
.cb-bg ~ .close-grid .close-copy::before { content: ""; position: absolute; inset: -60px -90px; z-index: -1; background: radial-gradient(closest-side, rgba(10, 12, 16, .7), rgba(10, 12, 16, .46) 58%, rgba(10, 12, 16, 0)); pointer-events: none; }
.wframe-copy { position: absolute; left: clamp(24px, 4vw, 56px); bottom: calc(clamp(18px, 2.4vw, 30px) + 62px); width: min(640px, 60%); display: grid; justify-items: start; gap: 16px; }
.wframe-copy .h1 { font-size: clamp(34px, 4.3vw, 60px); }
.wframe-copy .lead { max-width: 54ch; color: #cdd4e0; }
.wframe-copy .cta-row { margin-top: 2px; }
.wkinds { position: absolute; left: clamp(24px, 4vw, 56px); right: clamp(24px, 4vw, 56px); bottom: clamp(18px, 2.4vw, 30px); display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.wkinds a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 15px; border-radius: 999px; font-size: 14px; font-weight: 600; color: #eef1f6; text-decoration: none; background: rgba(10, 12, 16, .6); border: 1px solid rgba(255, 255, 255, .18); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: border-color .2s ease, background-color .2s ease; }
.wkinds a:hover, .wkinds a:focus-visible { background: rgba(10, 12, 16, .85); border-color: rgba(34, 195, 238, .7); }
.wframe .band-card { left: auto; right: 76px; top: 22px; }
.wframe-stop { right: 18px; top: 22px; }
.bc-win { display: grid; overflow: hidden; min-width: 0; }
.bc-unit { grid-area: 1 / 1; display: flex; align-items: center; gap: 12px; opacity: var(--o, 1); transform: translateX(calc(var(--x, 0) * 1%)); }
.bc-unit .hc-txt > span { font-size: 13px; color: #bcc5d5; }
.bc-stars { color: #ffc54d; letter-spacing: -.5px; }
.kind { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: center; padding: clamp(36px, 5vw, 64px) 0; border-top: 1px solid var(--line); scroll-margin-top: calc(var(--nav-h) + 10px); }
.kind.flip .kind-pic { order: 2; }
.kind-pic { position: relative; isolation: isolate; margin: 0; aspect-ratio: 4 / 4.2; border-radius: 26px; overflow: hidden; border: 1px solid var(--line); background: #0c0f15; }
.kind-pic > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.kind-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10, 12, 16, .18), rgba(10, 12, 16, 0) 45%, rgba(10, 12, 16, .35)); }
.kind-stop { right: 14px; bottom: 14px; }
.kind-copy { display: grid; justify-items: start; gap: 14px; }
.kind-n { display: inline-block; margin-right: .5em; font-stretch: 125%; font-weight: 700; font-size: .6em; letter-spacing: .06em; vertical-align: .18em; color: var(--cyan); }
.kind-copy .h2 { font-size: clamp(28px, 3.2vw, 44px); color: #fff; }
.kind-fields { font-weight: 600; color: #cfd6e3; }
.kcard { position: absolute; left: 50%; top: 50%; width: min(360px, 84%); padding: 16px; transform: translate(-50%, -50%); }
.kcard [data-in] { opacity: var(--in, 1); transform: translateY(calc((1 - var(--in, 1)) * 12px)); }
/* the dentist leans over the patient: this card stays on her arm, clear of both faces */
.kcard.k-maps { left: 4%; top: auto; bottom: 5%; width: min(300px, 56%); transform: none; }
.kcard.k-call { left: 4%; top: auto; bottom: 5%; width: min(320px, 60%); transform: none; }
.kcard.k-social { left: auto; right: 3%; top: 4%; width: min(236px, 46%); transform: none; }
.kcard.k-ai { left: 4%; top: auto; bottom: 4%; width: min(310px, 56%); transform: none; }
.reserve { display: flow-root; }
.km-list { opacity: var(--dim, 1); }
.km-q { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 999px; background: #fff; color: #1d2330; font-size: 14px; margin-bottom: 10px; }
.km-q svg { width: 15px; height: 15px; color: #5f6878; }
.km-list { position: relative; list-style: none; display: grid; gap: 7px; }
.km-row { display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; background: rgba(255, 255, 255, .93); color: #1d2330; font-size: 13.5px; }
.km-row b { font-weight: 700; }
.km-row em { font-style: normal; font-size: 12.5px; color: #7a4f00; font-weight: 600; }
.km-n { width: 22px; height: 22px; border-radius: 6px; display: grid; place-items: center; background: #e8edf5; font: 700 12px/1 var(--display); color: #42506a; }
.km-row.you { box-shadow: 0 0 0 2px #2e8bff; }
.km-row.you .km-n { background: #2e8bff; color: #fff; }
.km-row:nth-child(1) { transform: translateY(calc(var(--down, 0) * 100% + var(--down, 0) * 7px)) translateY(calc((1 - var(--in, 1)) * 12px)); }
.km-row.you { transform: translateY(calc(var(--up, 0) * -100% - var(--up, 0) * 7px)) translateY(calc((1 - var(--in, 1)) * 12px)); }
.km-call { display: flex; align-items: center; gap: 8px; margin-top: 10px; padding: 10px 12px; border-radius: 12px; background: rgba(15, 18, 26, .9); border: 1px solid rgba(34, 195, 238, .4); font-size: 13.5px; font-weight: 600; color: #fff; }
.km-call svg, .kc-done svg, .kai-set svg, .kr-book svg { width: 15px; height: 15px; color: var(--cyan); flex: none; }
.ka-tag { font-size: 12px; font-weight: 600; color: var(--muted); }
.gad, .iga { border-radius: 18px; background: #fff; color: #1d2330; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .85); }
.gad { padding: 14px; }
.gad-q { display: flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; border: 1px solid #dfe4ec; font-size: 14px; margin-bottom: 12px; }
.gad-q svg { width: 15px; height: 15px; color: #5f6878; }
.gad-tag { font-size: 12.5px; font-weight: 700; color: #1d2330; margin-bottom: 6px; }
.gad-site { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.gad-fav { flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: #e8f0fe; color: #1a56db; font-weight: 700; font-size: 13px; }
.gad-site > span:last-child { display: grid; }
.gad-site b { font-size: 13.5px; }
.gad-site em { font-style: normal; font-size: 12.5px; color: #4d5566; }
.gad-h { font-size: 17px; line-height: 1.25; color: #1a0dab; margin-bottom: 4px; }
.gad-d { font-size: 13.5px; line-height: 1.45; color: #4d5566; margin-bottom: 12px; }
.gad .gad-btn { background: #1a56db; color: #fff; }
.iga { padding: 12px; }
.iga .ks-head b { color: #111827; }
.iga .ks-head span span { color: #6b7280; }
.iga-dots { margin-left: auto; font-style: normal; color: #6b7280; letter-spacing: 1px; }
.iga .ks-img { height: 100px; margin-bottom: 8px; }
.iga-cta { display: flex; align-items: center; justify-content: space-between; padding: 9px 11px; border-radius: 10px; background: #eef4ff; }
.iga-cta .ks-btn { padding: 0; background: none; color: #1a56db; font-size: 13.5px; }
.iga-cta i { font-style: normal; font-size: 18px; color: #1a56db; }
.ka-name { margin: 2px 0 4px; font-weight: 700; font-size: 16px; color: #fff; }
.ka-text { font-size: 13.5px; color: #c9d1de; margin-bottom: 12px; }
.ka-btn, .ks-btn { display: inline-block; padding: 9px 16px; border-radius: 10px; background: #fff; color: var(--ink); font-weight: 600; font-size: 13.5px; transform: scale(calc(1 - .07 * var(--press, 0))); }
.ka-lead { display: flex; align-items: center; gap: 10px; margin-top: 14px; padding: 11px; border-radius: 14px; background: rgba(15, 18, 26, .9); border: 1px solid rgba(34, 195, 238, .4); }
.ka-lead .ico { width: 34px; height: 34px; border-radius: 10px; }
.ka-lead .ico svg { width: 17px; height: 17px; }
.ka-lead b { display: block; font-size: 13.5px; color: #fff; }
.ka-lead span span { font-size: 12px; color: var(--muted); }
.kc-top { display: flex; align-items: center; gap: 10px; padding-bottom: 12px; margin-bottom: 10px; border-bottom: 1px solid var(--line); }
.kc-top .ico { width: 36px; height: 36px; }
.kc-top b { display: block; font-size: 14px; color: #fff; }
.kc-state { font-size: 12.5px; color: var(--muted); }
.kc-list { list-style: none; display: grid; gap: 7px; margin-bottom: 10px; }
.kc-list li { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 10px; background: rgba(255, 255, 255, .06); font-size: 13.5px; color: #e3e8f1; }
.kc-list svg { width: 14px; height: 14px; color: var(--cyan); }
.kc-done, .kai-set, .kr-book { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 12px; background: rgba(34, 195, 238, .12); border: 1px solid rgba(34, 195, 238, .4); font-size: 13.5px; font-weight: 600; color: #c8f4ff; }
.ks-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.ks-av { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, #8a4dff, #22c3ee); font-weight: 700; color: #fff; }
.ks-head > span:nth-child(2) { display: grid; }
.ks-head b { font-size: 13.5px; color: #fff; }
.ks-head span span { font-size: 11.5px; color: var(--muted); }
.ks-img { position: relative; height: 128px; border-radius: 12px; overflow: hidden; margin-bottom: 10px; }
.ks-img img { width: 100%; height: 100%; object-fit: cover; }
.ks-img span { position: absolute; left: 10px; bottom: 10px; padding: 5px 10px; border-radius: 8px; background: rgba(10, 12, 16, .75); font-size: 13px; font-weight: 600; color: #fff; }
/* the practice's own ad: a type creative in its clinic colors */
.ks-creative { display: grid; align-content: center; gap: 6px; padding: 14px 16px; background: radial-gradient(90% 120% at 100% 0%, #ffffff, #dff0ff 55%, #c6e2ff); }
.ks-creative b { font: 700 21px/1.05 var(--display); font-stretch: 112%; color: #0f2a4a; }
.ks-creative span { position: static; padding: 0; background: none; font-size: 13px; font-weight: 600; color: #2f5d8a; }
.ks-creative i { position: absolute; right: 14px; top: 10px; font-style: normal; font-size: 22px; color: #3b8be0; }
.ks-cal { display: flex; align-items: center; gap: 10px; margin-top: 12px; padding: 10px 12px; border-radius: 12px; background: rgba(15, 18, 26, .9); border: 1px solid rgba(34, 195, 238, .4); font-size: 13.5px; color: #fff; }
.ks-day { padding: 4px 8px; border-radius: 7px; background: var(--cyan); color: #03141b; font-weight: 700; font-size: 12px; }
.ks-slot { flex: 1; font-weight: 600; }
.ks-cal svg { width: 15px; height: 15px; color: var(--cyan); }
.kai-q { width: fit-content; max-width: 90%; margin-left: auto; margin-bottom: 10px; padding: 10px 13px; border-radius: 16px; border-bottom-right-radius: 5px; background: rgba(255, 255, 255, .12); font-size: 13.5px; color: #fff; }
.kai-a { padding: 12px 13px; border-radius: 14px; background: rgba(15, 18, 26, .88); border: 1px solid var(--line-2); margin-bottom: 10px; }
.kai-badge { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 6px; font-size: 11.5px; font-weight: 700; color: #bff1ff; text-transform: uppercase; letter-spacing: .08em; }
.kai-badge svg { width: 13px; height: 13px; color: var(--cyan); }
.kai-a p { min-height: 4.2em; font-size: 13.5px; line-height: 1.5; color: #dfe5ef; }
.kai-a b { color: #fff; }
.kr-sms { padding: 11px 13px; border-radius: 14px; border-bottom-left-radius: 5px; background: rgba(255, 255, 255, .1); font-size: 13.5px; line-height: 1.45; color: #e3e8f1; margin-bottom: 10px; }
.kr-new { padding: 12px; border-radius: 14px; background: #fff; color: #1d2330; font-size: 13.5px; line-height: 1.45; margin-bottom: 10px; }
.kr-head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.kr-head .stars { margin-left: auto; color: #f4a400; }
.more { border-top: 1px solid var(--line); }
.more-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(32px, 6vw, 90px); align-items: center; }
.more-tiles { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mt { position: relative; margin: 0; border-radius: 18px; overflow: hidden; border: 1px solid var(--line); }
.mt img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.more-stream { position: absolute; left: 0; right: 0; bottom: 16px; display: grid; gap: 8px; overflow: hidden; pointer-events: none; -webkit-mask: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.ms-row { display: flex; gap: 8px; width: max-content; list-style: none; margin: 0; padding: 0; will-change: transform; }
.ms-row li { padding: 9px 14px; border-radius: 999px; font-size: 14px; font-weight: 600; color: #fff; white-space: nowrap; background: rgba(10, 12, 16, .74); border: 1px solid rgba(255, 255, 255, .18); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.ms-row.rev li { border-color: rgba(34, 195, 238, .45); }
.more-stop { position: absolute; right: 10px; top: 10px; z-index: 3; }
.more-copy { display: grid; justify-items: start; gap: 18px; }
.more-note { color: var(--muted); }

@media (max-width: 899px) {
  .wframe { height: auto; display: flex; flex-direction: column; }
  .wframe-media { position: relative; inset: auto; z-index: 0; aspect-ratio: 4 / 3.7; }
  .wframe-media > video { object-position: 47% 30%; }
  .wframe-shade { background: linear-gradient(0deg, rgba(10, 12, 16, .7), rgba(10, 12, 16, 0) 45%); }
  .wframe .band-card { left: 12px !important; right: 12px; top: auto !important; bottom: 12px; max-width: none; width: auto; }
  .wframe-copy { position: static; width: auto; padding: 24px 20px 6px; }
  .wkinds { position: static; padding: 14px 20px 22px; }
  .wkinds a { min-height: 38px; padding: 0 13px; font-size: 13.5px; }
  .wframe-stop { top: 12px; right: 12px; }
  .kind { grid-template-columns: 1fr; gap: 64px; }
  .kind.flip .kind-pic { order: 0; }
  /* on a phone each card overlaps the photo's lower edge instead of covering the people in it */
  .kind-pic { overflow: visible; aspect-ratio: auto; border: 0; border-radius: 0; background: none; }
  .kind-pic > img { position: relative; inset: auto; z-index: 0; display: block; width: 100%; height: auto; aspect-ratio: 4 / 3.4; border-radius: 22px; border: 1px solid var(--line); }
  .kind-shade { display: none; }
  .kcard, .kcard.k-maps, .kcard.k-call, .kcard.k-social, .kcard.k-ai, .kcard.k-ad, .kcard.k-review { position: relative; left: auto; right: auto; top: auto; bottom: auto; width: auto; margin: -56px 12px 0; transform: none; z-index: 1; }
  .kind-stop { right: 4px; bottom: -50px; }
  .more-grid { grid-template-columns: 1fr; }
}

/* =====================================================================
   FAQ
   ===================================================================== */
.fhead { padding: calc(var(--nav-h) + clamp(26px, 4vw, 52px)) 0 0; }
.fband { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); align-items: center; gap: 24px; min-height: 520px; padding: clamp(28px, 4vw, 56px); border-radius: 28px; overflow: hidden; border: 1px solid var(--line); background: #0c0f15; }
.fband-img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 50% 32%; }
.fband-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(10, 12, 16, .88) 0%, rgba(10, 12, 16, .6) 40%, rgba(10, 12, 16, 0) 70%); }
.fband-copy { display: grid; justify-items: start; gap: 18px; }
.fband-copy .h1 { font-size: clamp(36px, 5vw, 70px); }
.fband-stop { right: 16px; bottom: 16px; }
.fchips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.fsearch { position: relative; justify-self: start; width: min(460px, 100%); margin-top: 8px; padding: 18px; display: grid; gap: 12px; }
.fs-label { font-size: 14px; font-weight: 600; color: #fff; }
.fs-box { position: relative; display: flex; align-items: center; gap: 10px; height: 52px; padding: 0 14px; border-radius: 14px; background: #fff; color: #1d2330; }
.fs-box svg { flex: none; width: 18px; height: 18px; color: #5f6878; }
.fs-box input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; font: inherit; font-size: 16px; color: #1d2330; }
.fs-box input::placeholder { color: #6b7280; }
.fs-box:focus-within { box-shadow: 0 0 0 3px rgba(34, 195, 238, .7); }
.fs-ghost { position: absolute; left: 42px; top: 50%; transform: translateY(-50%); font-size: 16px; color: #1d2330; pointer-events: none; }
.fs-ghost::after { content: ""; display: inline-block; width: 2px; height: 1.1em; margin-left: 2px; vertical-align: -3px; background: #1a56db; opacity: var(--caret, 0); }
.fsearch:not(.is-typing) .fs-box input::placeholder { color: transparent; }
.fs-hits { position: relative; height: 100px; overflow: hidden; border-radius: 14px; background: rgba(10, 12, 16, .66); border: 1px solid var(--line-2); }
.fs-hit { position: absolute; inset: 0; display: grid; gap: 4px; align-content: center; padding: 12px 14px; opacity: var(--o, 0); transform: translateX(calc(var(--x, 400) * 1px)); }
.fs-hit b { font-size: 14.5px; color: #fff; }
.fs-hit span { font-size: 13.5px; line-height: 1.4; color: #c9d1de; }
.fs-count { min-height: 1.3em; font-size: 13.5px; color: #c9d1de; }
.fsearch.is-typing .fs-ghost, .fsearch.is-typing .fs-hits, .fsearch.is-typing .fs-stop { display: none; }
.fs-stop { right: 14px; top: 12px; width: 34px; height: 34px; }
.fchips a { padding: 8px 14px; border-radius: 999px; font-size: 14px; font-weight: 600; color: #dfe5ef; text-decoration: none; background: rgba(255, 255, 255, .06); border: 1px solid var(--line-2); transition: background-color .2s ease, border-color .2s ease; }
.fchips a:hover { background: rgba(255, 255, 255, .12); border-color: rgba(34, 195, 238, .5); }
.fchat { justify-self: end; width: min(360px, 100%); padding: 16px; display: grid; gap: 8px; }
.fchat [data-in] { opacity: var(--in, 1); transform: translateY(calc((1 - var(--in, 1)) * 12px)); }
.fc-b { width: fit-content; max-width: 88%; padding: 10px 13px; border-radius: 16px; font-size: 14px; line-height: 1.4; }
.fc-b.q { margin-left: auto; background: rgba(255, 255, 255, .14); color: #fff; border-bottom-right-radius: 5px; }
.fc-b.a { background: linear-gradient(135deg, #6a43f5, #1f6fe0); color: #fff; border-bottom-left-radius: 5px; }
.fc-dots { display: flex; gap: 4px; width: fit-content; padding: 12px 14px; border-radius: 16px; background: rgba(255, 255, 255, .1); }
.fc-dots i { width: 6px; height: 6px; border-radius: 50%; background: #cfd6e3; }
.faqs-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(36px, 5vw, 64px) clamp(32px, 5vw, 72px); align-items: start; }
.qgroup { scroll-margin-top: calc(var(--nav-h) + 20px); }
.qgroup .h3 { margin-bottom: 14px; color: var(--cyan); font-size: 15px; font-stretch: 125%; letter-spacing: .14em; text-transform: uppercase; }
.qask { display: grid; gap: 14px; align-content: start; padding: 28px; }
.qask .h3 { color: #fff; }

/* =====================================================================
   CONTACT
   ===================================================================== */
.chead { position: relative; isolation: isolate; padding: calc(var(--nav-h) + clamp(24px, 3vw, 44px)) 0 clamp(70px, 9vw, 120px); }
.chead::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(50% 50% at 75% 30%, rgba(59, 109, 255, .14), transparent 70%), radial-gradient(40% 40% at 10% 70%, rgba(138, 77, 255, .1), transparent 70%); }
.chead-copy { display: grid; justify-items: start; gap: 14px; max-width: 760px; margin-bottom: clamp(22px, 3vw, 34px); }
.chead-copy .h1 { font-size: clamp(30px, 3.6vw, 50px); }
.cgrid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 20px; align-items: stretch; }
.cchat { position: relative; isolation: isolate; display: flex; flex-direction: column; gap: 18px; padding: 26px; border-radius: 26px; overflow: hidden; border: 1px solid var(--line); background: #0c0f15; }
.cchat-img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.cchat-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10, 12, 16, .84) 0%, rgba(10, 12, 16, .6) 22%, rgba(10, 12, 16, .14) 44%, rgba(10, 12, 16, .7) 100%); }
.cchat-top { display: grid; justify-items: start; gap: 10px; }
.cchat-top .h2 { font-size: clamp(26px, 2.6vw, 34px); }
.cchat-stop { right: 16px; top: 16px; }
.cmini { margin-top: auto; padding: 14px; display: grid; gap: 8px; }
.cmini [data-in] { opacity: var(--in, 1); transform: translateY(calc((1 - var(--in, 1)) * 10px)); }
.cm-b { width: fit-content; max-width: 88%; padding: 9px 12px; border-radius: 14px; font-size: 13.5px; line-height: 1.35; }
.cm-b.bot { background: rgba(255, 255, 255, .1); border-bottom-left-radius: 4px; color: #e7ecf4; }
.cm-b.me { margin-left: auto; background: linear-gradient(135deg, #6a43f5, #1f6fe0); color: #fff; border-bottom-right-radius: 4px; }
.cm-chips { display: flex; gap: 6px; }
.cm-chips span { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--line-2); font: 650 13px/1.2 var(--display); color: #dfe5ef; }
.cm-chips span.on { background: #fff; color: var(--ink); border-color: #fff; }
.cm-plan { display: grid; gap: 6px; padding: 12px; border-radius: 14px; background: rgba(10, 12, 16, .82); border: 1px solid rgba(34, 195, 238, .4); }
.cm-plan p { display: flex; justify-content: space-between; gap: 10px; font-size: 13.5px; color: var(--muted); }
.cm-plan p b { color: #fff; font-weight: 600; text-align: right; }
.cm-plan .cm-ready { justify-content: flex-start; gap: 8px; font-weight: 600; color: #bff1ff; }
.cm-ready svg { width: 15px; height: 15px; color: var(--cyan); }
.cform { padding: clamp(22px, 3vw, 34px); }
.cform form { display: grid; gap: 0; }
.cform-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.cform-head .h3 { color: #fff; }
.fmarks { display: flex; gap: 6px; list-style: none; font-size: 13px; color: var(--dim); }
.fmarks li { display: inline-flex; align-items: center; gap: 7px; padding: 5px 10px 5px 5px; border-radius: 999px; border: 1px solid var(--line); }
.fmarks i { width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 11.5px; font-weight: 700; background: rgba(255, 255, 255, .08); color: #cfd6e3; }
.fmarks li[aria-current="step"] { color: #fff; border-color: rgba(34, 195, 238, .5); }
.fmarks li[aria-current="step"] i { background: var(--cyan); color: #03141b; }
.fmarks li[data-kit-past] i { background: rgba(34, 195, 238, .25); color: #bff1ff; }
.cform fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.flegend { padding: 0; margin-bottom: 16px; font-family: var(--display); font-stretch: 114%; font-weight: 650; font-size: clamp(20px, 2vw, 25px); color: #fff; }
.choices { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.choice { position: relative; display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: 16px; border: 1px solid var(--line-2); background: rgba(255, 255, 255, .03); cursor: pointer; transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease; }
.choice:hover { border-color: rgba(255, 255, 255, .32); }
.choice input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.ch-txt { display: grid; gap: 1px; }
.ch-txt b { color: #fff; font-size: 15px; font-weight: 600; }
.ch-txt span { font-size: 13px; color: var(--muted); }
.choice[data-kit-on] { border-color: transparent; background: linear-gradient(#11151d, #11151d) padding-box, var(--current) border-box; border: 1.5px solid transparent; box-shadow: 0 0 0 4px rgba(46, 139, 255, .14); }
.choice:has(input:focus-visible) { outline: 2px solid var(--cyan); outline-offset: 2px; }
/* each need is shown by a small piece of what it brings */
.ch-pic { position: relative; flex: none; display: grid; place-items: center; align-content: center; gap: 4px; width: 78px; height: 60px; border-radius: 12px; overflow: hidden; background: rgba(255, 255, 255, .07); border: 1px solid var(--line); }
.ch-pic em { font-style: normal; font-size: 12px; font-weight: 600; color: #dfe5ef; }
.cp-rank { grid-template-columns: 18px 1fr; grid-template-rows: repeat(3, 8px); align-content: center; column-gap: 6px; row-gap: 6px; padding: 0 10px; }
.cp-pin { grid-row: 1 / span 3; display: grid; place-items: center; }
.cp-pin svg { width: 18px; height: 18px; color: #ff6b6b; }
.cp-l { display: block; height: 7px; border-radius: 4px; background: rgba(255, 255, 255, .55); }
.cp-l.s { background: rgba(255, 255, 255, .22); width: 80%; }
.cp-rank .cp-l:not(.s) { background: #2e8bff; }
.cp-ring { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #1f9d63; }
.cp-ring svg { width: 15px; height: 15px; color: #fff; }
.cp-stars b { font-size: 15px; letter-spacing: 0; color: #ffc54d; }
.cp-web { grid-template-rows: 8px 6px 6px auto; justify-items: start; align-content: center; gap: 4px; padding: 0 10px; }
.cp-web .cp-bar { width: 100%; height: 6px; border-radius: 3px; background: rgba(255, 255, 255, .3); }
.cp-web .cp-l { width: 90%; height: 5px; }
.cp-web b { padding: 3px 7px; border-radius: 5px; background: #fff; color: var(--ink); font-size: 11px; font-weight: 700; }
.cp-plan { display: flex; align-items: flex-end; gap: 3px; padding: 11px 12px; }
.cp-plan i { flex: 1; height: var(--h); border-radius: 2px 2px 1px 1px; background: var(--current-v); }
@media (prefers-reduced-motion: no-preference) {
  .choice[data-kit-on] .cp-ring { animation: cp-ring .9s ease-in-out 2; }
  .choice[data-kit-on] .cp-stars b { animation: cp-glint 1s ease-out 1; }
  .choice[data-kit-on] .cp-plan i { animation: cp-rise .6s cubic-bezier(.2, .9, .3, 1.1) both; }
  .choice[data-kit-on] .cp-plan i:nth-child(2) { animation-delay: .06s; } .choice[data-kit-on] .cp-plan i:nth-child(3) { animation-delay: .12s; } .choice[data-kit-on] .cp-plan i:nth-child(4) { animation-delay: .18s; } .choice[data-kit-on] .cp-plan i:nth-child(5) { animation-delay: .24s; }
  .choice[data-kit-on] .cp-pin svg { animation: cp-drop .5s cubic-bezier(.2, .9, .3, 1.2) 1; }
  .choice[data-kit-on] .cp-web b { animation: cp-glint 1s ease-out 1; }
}
@keyframes cp-ring { 0%, 100% { transform: rotate(0); } 20% { transform: rotate(-14deg); } 40% { transform: rotate(12deg); } 60% { transform: rotate(-8deg); } 80% { transform: rotate(5deg); } }
@keyframes cp-glint { 0% { filter: brightness(1); } 35% { filter: brightness(1.6) drop-shadow(0 0 6px rgba(255, 197, 77, .9)); } 100% { filter: brightness(1); } }
@keyframes cp-rise { from { transform: scaleY(.2); transform-origin: bottom; } to { transform: scaleY(1); transform-origin: bottom; } }
@keyframes cp-drop { from { transform: translateY(-10px); } to { transform: translateY(0); } }
.choice[data-kit-on] .ch-pic { border-color: rgba(34, 195, 238, .45); background: rgba(34, 195, 238, .1); }
.ferr { grid-column: 1 / -1; margin-top: 4px; font-size: 14px; font-weight: 600; color: #ffb3bd; }
.fnav { display: flex; justify-content: space-between; gap: 12px; margin-top: 22px; }
.fnav .btn-main { margin-left: auto; }
.fgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.ffield { display: grid; gap: 7px; }
.ffield.wide { grid-column: 1 / -1; }
.ffield label { font-size: 14.5px; font-weight: 600; color: #e3e8f1; }
.ffield .opt { font-weight: 500; color: var(--dim); }
.ffield input, .ffield textarea { width: 100%; padding: 13px 14px; border-radius: 12px; border: 1px solid var(--line-2); background: rgba(255, 255, 255, .04); color: #fff; font: 500 16px/1.4 var(--body); transition: border-color .2s ease, box-shadow .2s ease; }
.ffield input::placeholder { color: #7c8597; }
.ffield input:focus, .ffield textarea:focus { outline: none; border-color: rgba(34, 195, 238, .7); box-shadow: 0 0 0 4px rgba(34, 195, 238, .15); }
.ffield[data-kit-invalid] input, .ffield[data-kit-invalid] textarea { border-color: #ff6b7d; }
.ffield + .ffield { margin-top: 0; }
.fnote { margin-top: 14px; font-size: 13.5px; color: var(--dim); }
.fnote a { color: #cfd6e3; }
form[data-kit-sending] button[type="submit"] { opacity: .7; }

/* =====================================================================
   THANK YOU, LEGAL, 404
   ===================================================================== */
.thanks { position: relative; isolation: isolate; min-height: 100svh; display: flex; align-items: center; padding: calc(var(--nav-h) + 40px) 0 80px; }
.thanks-bg { position: absolute; inset: 0; z-index: -1; }
.thanks-bg img { width: 100%; height: 100%; object-fit: cover; }
.thanks-bg::after { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 60% at 50% 50%, rgba(10, 12, 16, .06), rgba(10, 12, 16, .5)); }
.thanks-card { position: relative; display: grid; justify-items: start; gap: 16px; max-width: 720px; margin-inline: auto; padding: clamp(28px, 5vw, 52px); border-radius: 26px; }
.thanks-card .h1 { font-size: clamp(30px, 3.8vw, 50px); }
.tk-check { width: 72px; height: 72px; }
.tk-ring { fill: none; stroke: rgba(34, 195, 238, .9); stroke-width: 3; stroke-dasharray: 100 100; stroke-dashoffset: 0; }
.tk-tick { fill: none; stroke: #fff; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 100 100; stroke-dashoffset: 0; }
@media (prefers-reduced-motion: no-preference) {
  .tk-ring { animation: tk-draw .8s cubic-bezier(.6, 0, .3, 1) .1s both; }
  .tk-tick { animation: tk-draw .5s cubic-bezier(.3, 0, .2, 1) .7s both; }
}
@keyframes tk-draw { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
.tk-note { color: var(--muted); }
.tk-note b { color: #fff; }
.legal { padding: calc(var(--nav-h) + clamp(36px, 5vw, 70px)) 0 clamp(70px, 9vw, 120px); }
.legal-wrap { max-width: 800px; display: grid; gap: 18px; }
.legal-wrap .h1 { font-size: clamp(32px, 4vw, 52px); }
.legal-note { padding: 16px 18px; border-radius: 14px; background: rgba(255, 197, 77, .1); border: 1px solid rgba(255, 197, 77, .45); color: #ffe2a3; font-size: 15px; }
.legal-note b { color: #fff3d6; }
.legal-body { display: grid; gap: 14px; color: #cfd6e3; }
.legal-body .h3 { margin-top: 18px; color: #fff; }
.lost { position: relative; isolation: isolate; min-height: 100svh; display: flex; align-items: center; padding: calc(var(--nav-h) + 40px) 0 80px; overflow: hidden; }
.lost-bg { position: absolute; inset: 0; z-index: -1; }
.lost-bg video { width: 100%; height: 100%; object-fit: cover; filter: brightness(1) saturate(1.1); }
.lost-stop { right: var(--gutter); bottom: 26px; z-index: 3; }
.lost-bg::after { content: ""; position: absolute; inset: 0; background: radial-gradient(46% 40% at 50% 50%, rgba(10, 12, 16, .8), rgba(10, 12, 16, .4) 70%, rgba(10, 12, 16, .25)); }
.lost-copy { display: grid; justify-items: center; gap: 18px; text-align: center; max-width: 820px; }
.lost-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 22px; margin-top: 18px; }
.lost-links a { color: #cfd6e3; text-decoration: none; font-weight: 600; }
.lost-links a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 899px) {
  /* on a phone the photo opens the band, and the words and the search follow under it */
  .fband { display: flex; flex-direction: column; align-items: stretch; min-height: 0; padding: 0; gap: 0; }
  .fband-img { position: relative; inset: auto; z-index: 0; height: 250px; object-position: 62% 30%; }
  .fband-shade { display: none; }
  .fband-copy { padding: 22px 18px 24px; }
  .fband-stop { top: 12px; right: 12px; bottom: auto; }
  .fsearch { justify-self: stretch; width: auto; }
  .faqs-grid { grid-template-columns: 1fr; }
  .cgrid { grid-template-columns: 1fr; }
  .cchat { min-height: 520px; }
}
@media (max-width: 560px) {
  .choices { grid-template-columns: 1fr; }
  .fgrid { grid-template-columns: 1fr; }
  .fmarks li { font-size: 0; padding: 4px; gap: 0; }
  .fmarks i { font-size: 11.5px; }
}

/* closing bands with their own pictures */
.close-band.cb-plan, .close-band.cb-chat { background: var(--ink-2); }
.cb-bg { position: absolute; inset: 0; z-index: -1; }
.cb-bg video { width: 100%; height: 100%; object-fit: cover; filter: brightness(1) saturate(1); }
.cb-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 12, 16, .88) 0%, rgba(10, 12, 16, .66) 38%, rgba(10, 12, 16, .2) 62%, rgba(10, 12, 16, 0) 100%), linear-gradient(180deg, rgba(10, 12, 16, .3), rgba(10, 12, 16, 0) 26%, rgba(10, 12, 16, 0) 74%, rgba(10, 12, 16, .4)); }
.cb-chat .cb-bg::after { background: linear-gradient(270deg, rgba(10, 12, 16, .88) 0%, rgba(10, 12, 16, .66) 38%, rgba(10, 12, 16, .2) 62%, rgba(10, 12, 16, 0) 100%), linear-gradient(180deg, rgba(10, 12, 16, .3), rgba(10, 12, 16, 0) 26%, rgba(10, 12, 16, 0) 74%, rgba(10, 12, 16, .4)); }
.cb-plan .close-grid { grid-template-columns: 1fr minmax(300px, 420px); }
.cb-chat .close-grid { grid-template-columns: minmax(300px, 440px) 1fr; }
.cb-stop { right: 18px; bottom: 18px; }
.mixcard { padding: 18px; transform: translateY(calc((1 - var(--in, 1)) * 18px)); }
.mixcard [data-in] { opacity: var(--in, 1); transform: translateY(calc((1 - var(--in, 1)) * 10px)); }
.mc-top { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.mc-top b { color: #fff; font-size: 16px; }
.mc-goal { margin-left: auto; font-size: 12.5px; color: var(--muted); }
.mc-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 14px; padding: 0; }
.mc-chips li { padding: 7px 11px; border-radius: 999px; font-size: 13px; font-weight: 600; color: #b9c1cf; background: rgba(255, 255, 255, .05); border: 1px solid var(--line); }
.mc-chips li.pk { color: rgba(255, 255, 255, calc(.7 + var(--on, 1) * .3)); background: rgba(34, 195, 238, calc(var(--on, 1) * .16)); border-color: rgba(34, 195, 238, calc(.15 + var(--on, 1) * .55)); box-shadow: 0 0 calc(var(--on, 1) * 16px) rgba(34, 195, 238, calc(var(--on, 1) * .35)); }
.mc-sep { width: 1px; height: 16px; background: var(--line-2); }
.mc-n b { font-size: 16px; color: #fff; }
.mc-pay { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 4px; font-size: 13.5px; font-weight: 600; color: #bff1ff; text-shadow: 0 0 calc(var(--glow, 0) * 14px) rgba(34, 195, 238, .7); }
.mc-pay > span { display: inline-flex; align-items: center; gap: 6px; }
.mc-pay svg { width: 15px; height: 15px; color: var(--cyan); }
.timecard { display: grid; grid-template-columns: 132px 1fr; gap: 18px; align-items: center; padding: 20px; }
.tc-ring { position: relative; display: grid; place-items: center; width: 132px; height: 132px; }
.tc-ring svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.tc-track { fill: none; stroke: rgba(255, 255, 255, .1); stroke-width: 7; }
.tc-fill { fill: none; stroke: #22c3ee; stroke-width: 7; stroke-linecap: round; stroke-dasharray: 100 100; }
.tc-time { position: relative; font-size: 30px; font-weight: 700; color: #fff; line-height: 1; margin-top: -10px; }
.tc-of { position: absolute; bottom: 36px; font-size: 11px; color: var(--muted); }
.tc-parts { display: grid; gap: 10px; }
.tc-p { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 13px; background: rgba(255, 255, 255, calc(.04 + var(--tick, 0) * .04)); border: 1px solid rgba(34, 195, 238, calc(var(--tick, 0) * .4)); }
.tc-p > span { display: grid; gap: 1px; }
.tc-p b { font-size: 14.5px; color: rgba(255, 255, 255, calc(.6 + var(--tick, 0) * .4)); }
.tc-p > span > span { font-size: 13px; color: var(--muted); }
.tc-tick { flex: none; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; border: 1.5px solid rgba(255, 255, 255, .25); background: rgba(34, 195, 238, var(--tick, 0)); }
.tc-tick svg { width: 14px; height: 14px; color: #03141b; opacity: var(--tick, 0); transform: scale(calc(.5 + var(--tick, 0) * .5)); }
.tc-ready[data-in] { opacity: var(--in, 1); transform: translateY(calc((1 - var(--in, 1)) * 8px)); }
.tc-ready { display: flex; align-items: center; gap: 7px; font-size: 13.5px; font-weight: 600; color: #bff1ff; }
.tc-ready svg { width: 15px; height: 15px; color: var(--cyan); }
@media (max-width: 899px) {
  .cb-plan .close-grid, .cb-chat .close-grid { grid-template-columns: 1fr; }
  .cb-chat .timecard { order: 2; }
}
@media (max-width: 560px) {
  .timecard { grid-template-columns: 1fr; justify-items: center; }
  .tc-parts { width: 100%; }
}

/* cards grow as their items land, so no card ever holds empty space */
.kcard [data-in], .fchat [data-in], .cmini [data-in], .tc-chat [data-in], .bk-call [data-in], .log [data-in] { max-height: calc(var(--in, 1) * 220px); overflow: hidden; }
.mc-list, .tc-chat, .cmini, .fchat { row-gap: 0; }
.mc-list li, .tc-chat > *, .cmini > *, .fchat > * { margin-bottom: calc(var(--in, 1) * 7px); }
.km-list { gap: 0; }
.km-row { margin-bottom: calc(var(--in, 1) * 7px); }
.bk-call .cc-b[data-in] { margin-bottom: calc(var(--in, 1) * 8px); }
@media (max-width: 560px) {
}

/* growing items: their padding grows with them too, so a waiting item leaves no strip */
.kcard [data-in], .day-card [data-in], .fchat [data-in], .cmini [data-in], .mc-list [data-in], .tc-chat [data-in], .bk-call [data-in], .log [data-in] {
  padding-top: calc(var(--in, 1) * var(--pt, 0px)); padding-bottom: calc(var(--in, 1) * var(--pb, 0px));
}
.km-q, .km-row, .km-call, .kc-done, .kai-set, .kr-book, .ks-cal, .mp-search, .mp-row, .cc-done, .rv-score, .mc-list li { --pt: 10px; --pb: 10px; }
.kc-list li { --pt: 8px; --pb: 8px; }
.kc-top, .cc-top { --pt: 0px; --pb: 12px; }
.ka-btn, .ks-btn { --pt: 9px; --pb: 9px; }
.ka-lead, .nt-n { --pt: 11px; --pb: 11px; }
.kai-q, .fc-b { --pt: 10px; --pb: 10px; }
.kai-a, .kr-new { --pt: 12px; --pb: 12px; }
.kr-sms, .rv-sms { --pt: 11px; --pb: 11px; }
.rv-new { --pt: 13px; --pb: 13px; }
.mp-ring { --pt: 12px; --pb: 12px; }
.cc-b, .cm-b { --pt: 9px; --pb: 9px; }
.tc-b { --pt: 8px; --pb: 8px; }
.fc-dots { --pt: 12px; --pb: 12px; }
.log-row { --pt: 9px; --pb: 9px; }
.kc-top, .cc-top { margin-bottom: calc(var(--in, 1) * 12px); }
.km-q { margin-bottom: calc(var(--in, 1) * 10px); }
.km-call, .ka-lead, .ks-cal, .mp-ring { margin-top: calc(var(--in, 1) * 12px); }
.kr-sms, .kr-new, .rv-sms, .rv-new, .kai-q, .kai-a { margin-bottom: calc(var(--in, 1) * 10px); }
.ks-img, .ks-head { margin-bottom: calc(var(--in, 1) * 10px); }
.ka-text { margin-bottom: calc(var(--in, 1) * 12px); }

/* words that wrap together */
.nw { white-space: nowrap; }
