/* CallInform — local font, intentional color, no remote dependencies. */
@font-face {
  font-family:Geist;
  src:url('/assets/fonts/GeistSans.woff2') format('woff2');
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}
:root {
  --navy:#0b1026;
  --navy-mid:#111735;
  --card-dark:#151b3d;
  --indigo:#4f46e5;
  --violet:#7c3aed;
  --cyan:#22d3ee;
  --amber:#fbbf24;
  --ink:#0f172a;
  --secondary:#475569;
  --muted-dark:#c7d2fe;
  --light:#eef2ff;
  --white:#fff;
  --line:#cbd5e1;
  --gradient:linear-gradient(115deg,#4f46e5,#7c3aed);
  --band:linear-gradient(115deg,#4338ca,#6d28d9 58%,#0e7490);
  --radius:20px;
  --shadow:0 16px 40px #1e1b4b12;
  color-scheme:light;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:100px;
  accent-color:var(--indigo);
}
body {
  margin:0;
  font-family:Geist,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--ink);
  background:var(--light);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,p,figure {
  margin:0;
}
h1,h2,h3 {
  line-height:1.13;
  letter-spacing:-.04em;
  text-wrap:balance;
}
h2 {
  font-size:clamp(32px,4vw,48px);
  font-weight:750;
}
h3 {
  font-size:22px;
  font-weight:700;
}
a {
  color:inherit;
  text-decoration:none;
}
a,button {
  -webkit-tap-highlight-color:transparent;
}
a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:3px solid #b45309;
  outline-offset:5px;
  border-radius:5px;
}
.site-header a:focus-visible,.hero a:focus-visible,.site-footer a:focus-visible,.final-cta a:focus-visible,.not-found a:focus-visible {
  outline-color:var(--amber);
}
a:hover {
  text-decoration:underline;
  text-underline-offset:5px;
}
.button:hover,.logo:hover {
  text-decoration:none;
}
svg {
  display:block;
  flex-shrink:0;
}
.icon {
  width:24px;
  height:24px;
}
img,svg {
  max-width:100%;
}
p,a,li {
  overflow-wrap:anywhere;
}
.container {
  width:min(1184px,calc(100% - 40px));
  margin-inline:auto;
}
.section {
  padding-block:76px;
}
section[id],h3[id] {
  scroll-margin-top:100px;
}
.skip-link {
  position:fixed;
  top:12px;
  left:12px;
  z-index:100;
  padding:12px 20px;
  background:#fff;
  color:#3730a3;
  border:3px solid var(--indigo);
  border-radius:8px;
  transform:translateY(-180%);
  font-weight:700;
}
.skip-link:focus {
  transform:translateY(0);
}
/* Shared navigation. */
.site-header {
  position:sticky;
  top:0;
  z-index:20;
  background:#0b1026f5;
  color:#fff;
  border-bottom:1px solid #ffffff18;
  backdrop-filter:blur(20px);
}
.nav {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  height:80px;
}
.logo {
  display:inline-flex;
  gap:10px;
  align-items:center;
  font-size:25px;
  font-weight:760;
  letter-spacing:-1px;
  flex-shrink:0;
  line-height:1;
}
.logo-mark {
  width:38px;
  height:38px;
  border-radius:11px;
  background:linear-gradient(135deg,#4f46e5 10%,#8b5cf6 65%,#22d3ee 150%);
  box-shadow:inset 0 1px 0 #ffffff66,0 4px 20px #6366f133;
  display:grid;
  place-items:center;
}
.logo-mark .icon {
  width:28px;
  height:28px;
}
.nav-menu,.sign-in {
  display:none;
}
.nav-actions {
  display:flex;
  align-items:center;
  gap:26px;
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:54px;
  padding:14px 23px;
  border:1px solid transparent;
  border-radius:10px;
  font-weight:700;
  font-size:15px;
  line-height:1.35;
  letter-spacing:-.02em;
  transition:transform .2s,box-shadow .2s,background .2s;
}
.button .icon {
  width:19px;
  height:19px;
}
.button-primary {
  color:#fff;
  background:var(--gradient);
  box-shadow:0 6px 24px #7c3aed40,inset 0 1px 0 #ffffff24;
}
.button-primary:hover {
  box-shadow:0 8px 32px #7c3aed66;
  transform:translateY(-2px);
}
.button-ghost {
  border-color:#c7d2fe66;
  color:white;
  background:#ffffff05;
}
.button-ghost:hover {
  background:#ffffff10;
  border-color:#c7d2fe;
}
.button-white {
  color:#3730a3;
  background:#fff;
  box-shadow:0 10px 24px #0b10262b;
}
.button-white:hover {
  background:#eef2ff;
  transform:translateY(-2px);
}
.nav .button {
  min-height:44px;
  padding:11px 15px;
  font-size:13px;
  gap:8px;
}
/* Hero: phone built entirely from HTML and CSS. */
.hero {
  position:relative;
  isolation:isolate;
  background:radial-gradient(ellipse at 78% 36%,#4338ca55,transparent 47%),radial-gradient(ellipse at 6% 10%,#7c3aed22,transparent 40%),var(--navy);
  color:#fff;
  overflow:hidden;
}
.hero:before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.22;
  background-image:radial-gradient(#a5b4fc80 .8px,transparent .8px);
  background-size:26px 26px;
  mask-image:linear-gradient(90deg,transparent,#000);
}
.hero-grid {
  display:grid;
  align-items:center;
  padding-top:54px;
  padding-bottom:30px;
  gap:30px;
}
.pill {
  display:inline-flex;
  gap:9px;
  align-items:center;
  font-size:11px;
  font-weight:600;
  border:1px solid #a5b4fc50;
  padding:7px 11px;
  border-radius:50px;
  background:#6366f118;
  color:#e0e7ff;
  letter-spacing:.015em;
}
.live-dot {
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 12px #22d3ee88;
  flex-shrink:0;
}
.hero h1 {
  font-size:clamp(40px,5.15vw,70px);
  letter-spacing:-.065em;
  line-height:1.04;
  font-weight:780;
  margin-top:26px;
}
.gradient-text {
  color:#67e8f9;
  background:linear-gradient(100deg,#a5b4fc,#c4b5fd 50%,#67e8f9);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}
.hero-lead {
  color:#cbd5e1;
  font-size:18px;
  line-height:1.75;
  max-width:530px;
  margin-top:25px;
}
.hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}
.hero-actions .button {
  min-height:56px;
}
.trust-chips {
  display:flex;
  gap:13px 19px;
  flex-wrap:wrap;
  list-style:none;
  margin:26px 0 0;
  padding:0;
  max-width:480px;
}
.trust-chips li {
  display:flex;
  gap:7px;
  align-items:center;
  font-size:12px;
  color:#c7d2fe;
}
.trust-chips .icon {
  width:15px;
  height:15px;
  color:#67e8f9;
}
.hero-art {
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  min-width:0;
  padding:28px 0 14px;
  min-height:600px;
}
.orbit {
  position:absolute;
  border:1px solid #a5b4fc20;
  border-radius:50%;
  pointer-events:none;
  width:420px;
  height:420px;
  background:radial-gradient(circle,#6366f11a,transparent 65%);
}
.orbit-two {
  width:540px;
  height:540px;
  background:none;
  border-style:dashed;
  transform:rotate(-20deg);
}
.phone-figure {
  position:relative;
  width:292px;
  max-width:100%;
  transform:rotate(3deg);
  z-index:2;
}
.phone {
  background:#f5f6fb;
  border:7px solid #282d47;
  box-shadow:0 0 0 1px #69709c,8px 25px 70px #0008,0 0 80px #6366f133;
  border-radius:43px;
  padding:0 11px 14px;
  color:var(--ink);
  position:relative;
}
.phone:before {
  content:'';
  position:absolute;
  right:-10px;
  top:115px;
  width:3px;
  height:50px;
  border-radius:0 3px 3px 0;
  background:#69709c;
}
.phone-status {
  height:42px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0 11px;
  font-size:11px;
  font-weight:750;
  position:relative;
}
.notch {
  position:absolute;
  left:50%;
  top:7px;
  transform:translateX(-50%);
  width:88px;
  height:22px;
  background:#121528;
  border-radius:20px;
}
.message-header {
  position:relative;
  display:flex;
  align-items:center;
  flex-direction:column;
  gap:3px;
  border-bottom:1px solid #d9deeb;
  padding:6px 0 12px;
  font-size:12px;
  line-height:1.4;
}
.back-chevron {
  position:absolute;
  left:6px;
  top:6px;
  font-size:35px;
  color:#4338ca;
  font-weight:300;
}
.message-avatar {
  width:39px;
  height:39px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--gradient);
  color:#fff;
}
.message-avatar .icon {
  width:25px;
  height:25px;
}
.message-subtitle {
  font-size:9px;
  color:#475569;
}
.phone-messages {
  padding:13px 2px 28px;
}
.message-time {
  text-align:center;
  font-size:9px;
  color:#475569;
  margin-bottom:14px;
}
.sms-bubble {
  white-space:pre-line;
  overflow-wrap:anywhere;
  line-height:1.65;
  font-size:12px;
  padding:15px 13px;
  border-radius:15px 15px 15px 4px;
  background:#e3e7f0;
  border:1px solid #d3d9e8;
  letter-spacing:-.015em;
}
.sms-bubble:first-line {
  font-weight:750;
}
.sms-link {
  color:#3730a3;
  text-decoration:underline;
}
.phone-compose {
  display:flex;
  align-items:center;
  gap:9px;
  color:#475569;
  font-size:10px;
  padding-bottom:13px;
}
.phone-compose>span:nth-child(2) {
  border:1px solid #b8c1d5;
  border-radius:20px;
  padding:6px 10px;
  flex:1;
}
.phone-compose>span:first-child {
  font-size:22px;
}
.phone-compose>span:last-child {
  border-radius:50%;
  background:#4f46e5;
  color:#fff;
  font-size:15px;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
}
.home-indicator {
  height:4px;
  width:85px;
  border-radius:20px;
  background:#1e293b;
  margin:0 auto;
}
.phone-figure figcaption {
  text-align:center;
  font-size:11px;
  color:#c7d2fe;
  padding-top:16px;
  transform:rotate(-3deg);
}
.floating-badge {
  position:absolute;
  z-index:3;
  display:flex;
  align-items:center;
  gap:10px;
  background:#1c2247;
  border:1px solid #a5b4fc50;
  box-shadow:0 12px 30px #0004;
  border-radius:12px;
  padding:12px 15px;
  color:#c7d2fe;
  font-size:10px;
  line-height:1.5;
  transform:rotate(-4deg);
}
.floating-badge strong {
  display:block;
  color:#fff;
  font-size:12px;
  font-weight:650;
}
.floating-badge .icon {
  width:25px;
  height:25px;
  color:var(--cyan);
}
.badge-answer {
  left:0;
  top:72px;
}
.badge-hot {
  bottom:60px;
  right:0;
  transform:rotate(3deg);
}
.badge-hot .icon {
  color:var(--amber);
}
.hero-bottom {
  border-top:1px solid #c7d2fe26;
  padding:22px 0 25px;
  display:flex;
  gap:15px;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
}
.hero-bottom>span {
  color:#c7d2fe;
  font-size:9px;
  font-weight:650;
  letter-spacing:.14em;
}
.hero-bottom p {
  color:#e0e7ff;
  font-size:12px;
  font-weight:550;
}
.hero-bottom p span {
  color:#818cf8;
  margin-inline:9px;
}
/* Clear alternating sections. */
.eyebrow {
  font-size:11px;
  letter-spacing:.15em;
  color:#4338ca;
  font-weight:750;
  margin-bottom:17px;
}
.section-heading {
  max-width:640px;
  margin-bottom:40px;
}
.section-heading>p:last-child {
  color:var(--secondary);
  margin-top:20px;
  font-size:17px;
  max-width:530px;
}
.ink-indigo {
  color:#4338ca;
}
.cyan-text {
  color:#67e8f9;
}
.how-section {
  background:var(--light);
  border-bottom:1px solid #c7d2fe;
}
.steps {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:20px;
  counter-reset:steps;
}
.step {
  padding:28px;
  border:1px solid #bac6ea;
  border-radius:var(--radius);
  background:linear-gradient(150deg,#fff,#f5f3ff);
  box-shadow:var(--shadow);
  position:relative;
}
.step-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:24px;
}
.step-number {
  display:grid;
  place-items:center;
  border-radius:14px;
  background:var(--gradient);
  color:#fff;
  font-size:24px;
  font-weight:750;
  width:54px;
  height:54px;
  box-shadow:0 5px 15px #6366f130;
}
.step-top>.icon {
  width:32px;
  height:32px;
  color:#4f46e5;
}
.step h3 {
  font-size:22px;
  margin-bottom:12px;
}
.step p {
  color:#475569;
  font-size:15px;
  line-height:1.8;
}
.features-section {
  background:radial-gradient(ellipse at 100% 0,#1e1b4b,transparent 60%),var(--navy);
  color:#fff;
}
.features-section .eyebrow {
  color:#a5b4fc;
}
.heading-split {
  max-width:none;
}
.heading-split>p:last-child {
  color:#cbd5e1;
}
.feature-grid {
  display:grid;
  gap:16px;
}
.feature-card {
  padding:29px;
  border-radius:var(--radius);
  background:var(--card-dark);
  border:1px solid #a5b4fc35;
  box-shadow:0 10px 25px #0002;
}
.icon-tile {
  width:48px;
  height:48px;
  border-radius:13px;
  display:inline-grid;
  place-items:center;
  border:1px solid #ffffff20;
  flex-shrink:0;
}
.icon-tile.indigo {
  background:#312e81;
  color:#c7d2fe;
}
.icon-tile.violet {
  background:#4c1d95;
  color:#ddd6fe;
}
.icon-tile.cyan {
  background:#164e63;
  color:#67e8f9;
}
.icon-tile.amber {
  background:#78350f;
  color:#fcd34d;
}
.icon-tile.emerald {
  background:#064e3b;
  color:#6ee7b7;
}
.feature-card h3 {
  font-size:20px;
  margin-top:24px;
  margin-bottom:13px;
  letter-spacing:-.025em;
}
.feature-card>p {
  font-size:15px;
  color:#cbd5e1;
  line-height:1.8;
}
.feature-card .emergency-note {
  margin-top:15px;
  font-size:12px;
  line-height:1.65;
  color:#fde68a;
  padding-top:13px;
  border-top:1px solid #fbbf2438;
}
.transparency-note {
  display:flex;
  gap:14px;
  align-items:flex-start;
  margin-top:28px;
  border:1px solid #a5b4fc35;
  background:#1e1b4b80;
  border-radius:12px;
  padding:20px 24px;
  color:#cbd5e1;
  font-size:13px;
}
.transparency-note>.icon {
  color:#a5b4fc;
}
.transparency-note strong {
  color:#fff;
}
.sms-section {
  background:linear-gradient(120deg,#f5f3ff,#eef2ff 70%,#ecfeff);
  border-bottom:1px solid #c7d2fe;
}
.two-column {
  display:grid;
  align-items:center;
  gap:40px;
}
.sms-copy>p:not(.eyebrow) {
  margin-top:20px;
  color:#475569;
  font-size:15px;
}
.sms-copy .section-lead {
  font-size:19px!important;
  color:#334155!important;
}
.sms-consent {
  margin-top:25px;
  border-left:3px solid #7c3aed;
  padding:4px 0 4px 18px;
  color:#334155;
  font-size:13px;
}
.sms-consent p+p {
  margin-top:10px;
}
.sms-consent a,.legal-body a {
  color:#4338ca;
  text-decoration:underline;
  text-underline-offset:3px;
}
.sms-consent a:hover,.legal-body a:hover {
  color:#5b21b6;
}
.anatomy {
  background:white;
  border:1px solid #b6bfe2;
  border-radius:var(--radius);
  padding:22px;
  box-shadow:0 20px 60px #4338ca1a;
  position:relative;
}
.anatomy-top {
  display:flex;
  gap:12px;
  align-items:center;
  padding-bottom:22px;
  border-bottom:1px solid #d6dcef;
  font-size:13px;
  font-weight:700;
  line-height:1.4;
}
.anatomy-top .icon-tile {
  width:40px;
  height:40px;
}
.anatomy-top small {
  display:block;
  font-size:8px;
  color:#475569;
  letter-spacing:.1em;
  margin-top:5px;
}
.sample-tag {
  font-size:8px;
  letter-spacing:.08em;
  color:#4338ca;
  background:#eef2ff;
  border:1px solid #c7d2fe;
  border-radius:5px;
  padding:4px 7px;
  margin-left:auto;
}
.anatomy-row {
  display:flex;
  gap:15px;
  padding:21px 0;
  border-bottom:1px solid #e2e8f0;
  align-items:flex-start;
}
.anatomy-number {
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  flex-shrink:0;
  font-size:10px;
  font-weight:700;
  border-radius:50%;
  background:#eef2ff;
  color:#4338ca;
  margin-top:3px;
}
.anatomy-label {
  font-size:9px;
  color:#475569;
  font-weight:750;
  letter-spacing:.12em;
}
.anatomy-row p {
  font-size:13px;
  line-height:1.8;
  margin-top:5px;
  font-weight:500;
}
.hot-tag {
  display:inline-block;
  border-radius:5px;
  padding:3px 7px;
  background:#fef3c7;
  color:#78350f;
  font-weight:750;
  font-size:11px;
  margin-right:6px;
}
.anatomy-foot {
  display:flex;
  gap:10px;
  align-items:center;
  font-size:12px;
  color:#4338ca;
  font-weight:600;
  padding-top:22px;
}
.anatomy-foot .icon {
  width:19px;
  height:19px;
}
.sample-caption {
  font-size:10px;
  color:#475569;
  margin:18px 0 0;
  text-align:center;
}
/* Pricing and closing bands. */
.pricing-section {
  background:radial-gradient(ellipse at 0 90%,#4338ca55,transparent 60%),linear-gradient(120deg,#111735,#1e1b4b);
  color:#fff;
  position:relative;
}
.pricing-layout {
  display:grid;
  align-items:center;
  gap:38px;
}
.pricing-copy .eyebrow {
  color:#a5b4fc;
}
.pricing-copy>p:not(.eyebrow) {
  color:#cbd5e1;
  margin-top:22px;
  max-width:470px;
  font-size:16px;
}
.pricing-copy .section-lead {
  font-size:20px!important;
}
.pricing-aside {
  display:flex;
  gap:9px;
  align-items:center;
  font-size:14px;
  color:#c7d2fe;
  margin-top:24px;
}
.pricing-aside .icon {
  width:18px;
  height:18px;
  color:#6ee7b7;
}
.price-card {
  position:relative;
  border-radius:24px;
  background:#fff;
  color:var(--ink);
  padding:29px;
  box-shadow:0 20px 80px #7c3aed44;
  border:2px solid #a5b4fc;
}
.price-card-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  font-size:20px;
  font-weight:750;
}
.flat-tag {
  border:1px solid #c7d2fe;
  background:#eef2ff;
  color:#4338ca;
  border-radius:5px;
  padding:5px 8px;
  font-size:8px;
  letter-spacing:.04em;
}
.price {
  display:flex;
  align-items:baseline;
  gap:10px;
  line-height:1.1;
  margin-top:25px;
  white-space:nowrap;
}
.price strong {
  font-size:76px;
  letter-spacing:-.07em;
  font-weight:780;
}
.price>span {
  font-size:17px;
  color:#475569;
}
.price-subline {
  color:#475569;
  font-size:13px;
  margin-top:10px;
}
.price-list {
  list-style:none;
  margin:25px 0;
  padding:23px 0 0;
  border-top:1px solid #cbd5e1;
  display:grid;
  gap:14px;
}
.price-list li {
  display:flex;
  gap:10px;
  align-items:center;
  font-size:13px;
  font-weight:500;
}
.price-list .icon {
  width:18px;
  height:18px;
  color:#4338ca;
}
.price-card .button {
  width:100%;
  font-size:16px;
}
.stripe-note {
  display:flex;
  gap:7px;
  justify-content:center;
  align-items:center;
  font-size:11px;
  color:#475569;
  margin-top:16px;
}
.stripe-note .icon {
  width:14px;
  height:14px;
}
.trust-strip {
  background:#e0e7ff;
  border-block:1px solid #b7c3ed;
}
.trust-strip ul {
  display:flex;
  list-style:none;
  padding-block:25px;
  gap:18px 30px;
  flex-wrap:wrap;
  justify-content:center;
}
.trust-strip li {
  display:flex;
  gap:9px;
  align-items:center;
  color:#312e81;
  font-size:11px;
  font-weight:650;
}
.trust-strip .icon {
  width:18px;
  height:18px;
  color:#4338ca;
}
.final-cta {
  background:var(--band);
  color:#fff;
  text-align:center;
  position:relative;
  overflow:hidden;
  padding:68px 0;
}
.final-cta:before,.final-cta:after {
  position:absolute;
  content:'';
  width:500px;
  height:500px;
  border:1px solid #ffffff14;
  border-radius:50%;
  left:-230px;
  top:20px;
  pointer-events:none;
}
.final-cta:after {
  left:auto;
  right:-220px;
  top:-240px;
  width:700px;
  height:700px;
}
.final-cta .container {
  position:relative;
  z-index:1;
}
.cta-wave {
  width:46px;
  height:46px;
  background:#ffffff17;
  border:1px solid #ffffff40;
  border-radius:13px;
  display:grid;
  place-items:center;
  margin:0 auto 24px;
}
.final-cta h2 {
  font-size:clamp(36px,4.3vw,58px);
  letter-spacing:-.05em;
}
.final-cta p {
  color:#ede9fe;
  margin-top:20px;
  font-size:16px;
}
.final-cta .button {
  margin-top:26px;
  min-width:190px;
}
.final-cta .cta-contact {
  font-size:12px;
  margin-top:21px;
}
.cta-contact a {
  color:#fff;
  text-decoration:underline;
  text-underline-offset:4px;
  font-weight:600;
}
/* Shared footer. */
.site-footer {
  background:var(--navy);
  color:#cbd5e1;
  padding-top:54px;
}
.footer-grid {
  display:grid;
  gap:35px 24px;
  grid-template-columns:1fr 1fr;
  padding-bottom:40px;
}
.footer-brand {
  grid-column:1/-1;
}
.site-footer .logo {
  color:#fff;
  font-size:25px;
}
.footer-brand>p {
  font-size:13px;
  line-height:1.8;
  max-width:290px;
  margin-top:20px;
}
.footer-brand .operator {
  font-size:11px;
  color:#c7d2fe;
  line-height:1.9;
  max-width:275px;
  margin-top:16px;
}
.footer-grid h2 {
  color:#fff;
  font-size:12px;
  line-height:1.4;
  letter-spacing:0;
  margin-bottom:18px;
}
.footer-grid nav>a,.footer-contact address>a {
  display:block;
  font-size:12px;
  margin-bottom:10px;
  width:fit-content;
}
.footer-contact {
  grid-column:1/-1;
}
.footer-contact address {
  font-style:normal;
}
.kentucky {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:11px;
  color:#c7d2fe;
  margin-top:22px;
}
.kentucky .icon {
  width:15px;
  height:15px;
  color:#a5b4fc;
}
.footer-bottom {
  border-top:1px solid #c7d2fe25;
  padding-block:22px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  font-size:10px;
  color:#c7d2fe;
  line-height:1.8;
}
/* Legal pages: unchanged legal copy, new presentation. */
.legal-page {
  background:#eef2ff;
}
.legal-breadcrumb {
  background:var(--navy);
  color:#c7d2fe;
  font-size:11px;
  padding-top:20px;
}
.legal-breadcrumb .container {
  display:flex;
  align-items:center;
  gap:10px;
}
.legal-band {
  background:radial-gradient(ellipse at 85% 90%,#4f46e570,transparent 65%),linear-gradient(110deg,#0b1026,#1e1b4b);
  color:#fff;
  border-bottom:1px solid #6366f1;
}
.legal-title {
  padding-block:48px 45px;
}
.legal-title .eyebrow {
  color:#a5b4fc;
  font-size:12px;
}
.legal-title h1 {
  font-size:clamp(38px,5vw,60px);
  font-weight:750;
  letter-spacing:-.05em;
}
.legal-title .date {
  color:#c7d2fe;
  font-size:13px;
  margin-top:17px;
}
.legal-layout {
  display:grid;
  gap:32px;
  align-items:start;
  padding-block:32px 70px;
}
.toc {
  background:#fff;
  border:1px solid #b5c1e5;
  border-radius:16px;
  box-shadow:var(--shadow);
  padding:22px;
}
.toc h2 {
  font-size:16px;
  letter-spacing:-.02em;
  border-bottom:1px solid #d5ddf0;
  padding-bottom:15px;
  margin-bottom:14px;
  color:#312e81;
}
.toc ol {
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:4px;
}
.toc a {
  display:block;
  color:#3730a3;
  font-size:12px;
  line-height:1.55;
  padding:7px 10px;
  border-radius:6px;
  border-left:2px solid #c7d2fe;
  background:#f5f3ff;
}
.toc a:hover {
  background:#e0e7ff;
  text-decoration:none;
  border-left-color:#4f46e5;
}
.legal-body {
  background:#fff;
  border:1px solid #b5c1e5;
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:28px 22px;
  color:#334155;
  font-size:17px;
  line-height:1.7;
  min-width:0;
  max-width:76ch;
}
.legal-body section+section {
  margin-top:37px;
  padding-top:34px;
  border-top:1px solid #dce2f0;
}
.legal-body h2 {
  color:#0f172a;
  font-size:25px;
  letter-spacing:-.035em;
  line-height:1.3;
  margin:0 0 18px;
}
.legal-body h2:before {
  content:'';
  display:block;
  width:36px;
  height:4px;
  border-radius:4px;
  background:var(--gradient);
  margin-bottom:13px;
}
.legal-body h3 {
  font-size:20px;
  line-height:1.4;
  color:#312e81;
  margin-top:28px;
  margin-bottom:12px;
}
.legal-body p+p,.legal-body ul {
  margin-top:17px;
}
.legal-body ul {
  padding-left:23px;
}
.legal-body li+li {
  margin-top:13px;
}
.legal-body .highlight,.legal-body section#sms {
  background:linear-gradient(120deg,#eef2ff,#f5f3ff);
  border:1px solid #a5b4fc;
  border-left:4px solid #6366f1;
  border-radius:12px;
  padding:24px;
  color:#312e81;
  box-shadow:0 8px 24px #4338ca0a;
}
.legal-body section#sms {
  margin-top:35px;
}
.legal-body .highlight {
  font-weight:550;
  font-size:16px;
}
.legal-body section#sms h2 {
  color:#312e81;
}
.legal-body section#sms p {
  font-size:16px;
}
.not-found {
  background:radial-gradient(ellipse at 70% 30%,#4f46e560,transparent 60%),var(--navy);
  text-align:center;
  color:#fff;
  padding-block:65px 80px;
}
.error-symbol {
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  border-radius:20px;
  background:var(--gradient);
  margin:0 auto 27px;
  box-shadow:0 8px 35px #6366f160;
}
.error-symbol .icon {
  width:30px;
  height:30px;
}
.not-found .eyebrow {
  color:#a5b4fc;
}
.not-found h1 {
  font-size:clamp(38px,5vw,64px);
  letter-spacing:-.05em;
}
.not-found p:not(.eyebrow) {
  color:#cbd5e1;
  margin-top:23px;
  font-size:16px;
}
.error-actions {
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:30px;
}
/* Responsive layouts. */
@media(min-width:640px) {
  .container {
    width:min(1184px,calc(100% - 64px));
  }
  .section {
    padding-block:92px;
  }
  .hero-art {
    min-height:650px;
  }
  .phone-figure {
    width:310px;
  }
  .sms-bubble {
    font-size:13px;
  }
  .badge-answer {
    left:calc(50% - 220px);
  }
  .badge-hot {
    right:calc(50% - 225px);
  }
  .trust-chips {
    gap:15px 24px;
  }
  .feature-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .legal-body {
    padding:40px;
  }
  .footer-contact {
    grid-column:auto;
  }
  .footer-brand {
    grid-column:auto;
  }
  .footer-grid {
    grid-template-columns:1.3fr 1fr;
  }
  .footer-bottom p:last-child {
    text-align:right;
  }
  .pill {
    font-size:12px;
  }
  .nav .button {
    font-size:14px;
    padding-inline:19px;
    min-height:46px;
  }
}
@media(min-width:1000px) {
  .nav-menu {
    display:flex;
    gap:25px;
    align-items:center;
    font-size:12px;
    color:#e0e7ff;
  }
  .sign-in {
    display:block;
    font-size:12px;
    font-weight:600;
  }
  .hero-grid {
    grid-template-columns:1.12fr 1fr;
    gap:20px;
    padding-top:40px;
    padding-bottom:35px;
    min-height:707px;
  }
  .hero-art {
    min-height:605px;
    padding-block:10px;
  }
  .phone-figure {
    width:300px;
  }
  .hero-copy {
    padding-bottom:10px;
  }
  .hero-lead {
    font-size:18px;
  }
  .hero-actions .button {
    font-size:14px;
    padding-inline:19px;
  }
  .badge-answer {
    left:0;
    top:65px;
  }
  .badge-hot {
    right:-5px;
    bottom:70px;
  }
  .hero-bottom p {
    font-size:13px;
  }
  .hero-bottom>span {
    font-size:10px;
  }
  .steps {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
  }
  .step {
    padding:29px;
  }
  .step:not(:last-child):after {
    content:'→';
    position:absolute;
    top:42px;
    right:-20px;
    z-index:1;
    background:#eef2ff;
    border:1px solid #c7d2fe;
    color:#4338ca;
    border-radius:50%;
    width:32px;
    height:32px;
    text-align:center;
    font-size:18px;
    line-height:30px;
  }
  .heading-split {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:40px;
  }
  .heading-split>p:last-child {
    max-width:290px;
    margin-bottom:3px;
  }
  .feature-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
  }
  .feature-card {
    padding:30px;
  }
  .two-column {
    grid-template-columns:1.05fr 1fr;
    gap:100px;
  }
  .anatomy {
    padding:30px;
  }
  .pricing-layout {
    grid-template-columns:1.1fr 1fr;
    gap:100px;
  }
  .price-card {
    padding:36px;
  }
  .pricing-copy h2 {
    font-size:46px;
  }
  .price-card-top {
    font-size:22px;
  }
  .flat-tag {
    font-size:9px;
  }
  .price-list li {
    font-size:14px;
  }
  .trust-strip ul {
    justify-content:space-between;
    gap:20px;
  }
  .trust-strip li {
    font-size:11px;
  }
  .final-cta {
    padding-block:80px;
  }
  .footer-grid {
    grid-template-columns:1.5fr .7fr .85fr 1.05fr;
    gap:45px;
    padding-bottom:50px;
  }
  .footer-grid nav>a,.footer-contact address>a {
    font-size:12px;
  }
  .site-footer {
    padding-top:65px;
  }
  .legal-layout {
    grid-template-columns:260px minmax(0,1fr);
    gap:36px;
    padding-block:48px 85px;
  }
  .toc {
    position:sticky;
    top:104px;
    max-height:calc(100dvh - 128px);
    overflow-y:auto;
    scrollbar-width:thin;
  }
  .legal-body {
    padding:42px 48px;
  }
  .legal-title {
    padding-block:58px 52px;
  }
  .not-found {
    padding-block:85px 100px;
  }
}
@media(max-width:639px) {
  .badge-hot {
    display:none;
  }
}
@media(max-width:399px) {
  .hero h1 {
    font-size:40px;
  }
  .hero-actions {
    flex-direction:column;
    align-items:stretch;
  }
  .hero-actions .button {
    font-size:14px;
  }
  .hero-art {
    min-height:605px;
    padding-top:45px;
  }
  .phone-figure {
    width:277px;
    transform:rotate(2deg);
  }
  .phone {
    border-width:6px;
  }
  .sms-bubble {
    font-size:11.5px;
  }
  .floating-badge {
    padding:10px 11px;
    gap:8px;
  }
  .badge-answer {
    top:18px;
    left:0;
  }
  .phone-figure figcaption {
    transform:rotate(-2deg);
  }
  .hero-bottom p span {
    margin-inline:5px;
  }
  .hero-bottom p {
    font-size:10px;
  }
  .anatomy {
    padding:20px;
  }
  .anatomy-top {
    gap:9px;
    font-size:12px;
  }
  .anatomy-top small {
    font-size:7px;
  }
  .price-card {
    padding:24px;
  }
  .price-card-top {
    font-size:19px;
  }
  .flat-tag {
    font-size:7px;
  }
  .trust-strip ul {
    justify-content:flex-start;
  }
  .legal-body section#sms,.legal-body .highlight {
    padding:20px;
  }
  .footer-grid {
    gap:30px 20px;
  }
  .nav {
    gap:10px;
    height:72px;
  }
  .logo {
    font-size:22px;
    gap:8px;
  }
  .logo-mark {
    width:34px;
    height:34px;
  }
  .nav .button {
    padding-inline:12px;
    font-size:12px;
  }
  .nav .button .icon {
    width:15px;
    height:15px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
  }
}


/* ---- v2.1: benefit-led hero headline + straight, high-contrast phone badges ---- */
.hero h1 { letter-spacing:-.05em; }
.hero h1 .hero-h-main { display:block; font-size:clamp(38px,4.6vw,64px); line-height:1.04; }
.hero h1 .hero-h-sub { display:block; margin-top:18px; font-size:clamp(21px,2.05vw,29px); line-height:1.28; letter-spacing:-.025em; font-weight:650; color:#e0e7ff; max-width:560px; }
.hero h1 .gradient-text { white-space:nowrap; }
.floating-badge, .badge-hot, .badge-answer { transform:none; }
.floating-badge {
  gap:14px; padding:14px 20px 14px 14px; border-radius:16px;
  background:#ffffff; border:1px solid #ffffff; color:#334155;
  font-size:13px; line-height:1.35; font-weight:500;
  box-shadow:0 22px 50px -12px rgba(2,6,23,.75), 0 0 0 4px rgba(99,102,241,.28);
}
.floating-badge strong { color:#0b1026; font-size:16px; font-weight:750; letter-spacing:-.01em; }
.floating-badge .icon {
  width:44px; height:44px; padding:10px; flex-shrink:0; border-radius:12px; color:#ffffff;
  background:linear-gradient(135deg,#4f46e5,#7c3aed); box-shadow:0 8px 18px -8px #4f46e5;
}
.badge-hot .icon { color:#ffffff; background:linear-gradient(135deg,#0e7490,#4f46e5); }
@media(min-width:1000px) {
  .badge-answer { left:-8px; top:40px; }
  .badge-hot { right:-12px; bottom:38px; }
}
@media(max-width:999px) {
  .hero-art { flex-direction:column; gap:14px; min-height:0; padding-top:20px; }
  .hero-art .floating-badge { position:static; align-self:center; }
  .hero-art .badge-answer { order:-1; }
  .hero-art .badge-hot { order:3; display:flex; }
}
@media(max-width:399px) {
  .hero h1 .hero-h-main { font-size:36px; }
  .hero h1 .hero-h-sub { font-size:20px; margin-top:14px; }
  .floating-badge { padding:12px 16px 12px 12px; }
  .floating-badge strong { font-size:15px; }
  .floating-badge .icon { width:40px; height:40px; padding:9px; }
}
@media(min-width:1000px) {
  .badge-hot { right:-28px; bottom:74px; }
}

/* ---- v2.2: clearly colored light sections (no near-white backgrounds) ---- */
body { background:#c7d2fe; }
.how-section { background:#c7d2fe; border-bottom:1px solid #a5b4fc; }
.sms-section { background:linear-gradient(120deg,#ddd6fe 0%,#c7d2fe 55%,#a5f3fc 100%); border-bottom:1px solid #a5b4fc; }
.trust-strip { background:#a5b4fc; border-block:1px solid #818cf8; }
.trust-strip li { color:#1e1b4b; }
.trust-strip .icon { color:#3730a3; }
.legal-page { background:#c7d2fe; }
.toc a { background:#eef2ff; }

/* ---- v2.3: single-line-of-thought H1 "Never lose a job to a missed call again!" ---- */
.hero h1 { font-size:clamp(34px,4.3vw,62px); line-height:1.06; max-width:640px; }
.hero h1 .gradient-text { white-space:nowrap; }
@media(max-width:399px) { .hero h1 { font-size:35px; } }

/* ---- fair use line on the pricing card ---- */
.price-usage { margin:-6px 0 20px; padding:12px 14px; border-radius:12px; background:#eef2ff; color:#334155; font-size:13px; line-height:1.55; }
.price-usage a { color:#4338ca; font-weight:650; text-decoration:underline; text-underline-offset:2px; white-space:nowrap; }

/* Pricing tagline emphasis (Oct 23, 2026) */
.pricing-copy .section-lead{font-weight:700;font-size:clamp(1.25rem,1.05rem + .7vw,1.6rem);line-height:1.35;color:#fff;letter-spacing:-.01em}

/* ---- Pricing v2: explain more (Oct 23, 2026) ---- */
.pricing-layout { align-items:start; }
.pricing-copy .section-lead { margin-bottom:6px; }
.pv-label { font-size:13px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; color:#a5f3fc; margin:30px 0 14px; }
.pv-get { list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.pv-get li { display:flex; gap:14px; align-items:flex-start; background:#ffffff0f; border:1px solid #a5b4fc33; border-radius:14px; padding:14px 16px; }
.pv-get h4 { font-size:15px; font-weight:700; color:#fff; margin:0 0 3px; line-height:1.3; }
.pv-get p { font-size:14px; line-height:1.5; color:#cbd5e1; margin:0; }
.pv-ico { flex:none; width:38px; height:38px; border-radius:11px; display:grid; place-items:center; color:#fff; }
.pv-ico .icon { width:20px; height:20px; }
.pv-ico.indigo { background:linear-gradient(135deg,#6366f1,#4338ca); }
.pv-ico.amber { background:linear-gradient(135deg,#f59e0b,#d97706); }
.pv-ico.cyan { background:linear-gradient(135deg,#22d3ee,#0891b2); }
.pv-ico.violet { background:linear-gradient(135deg,#a78bfa,#7c3aed); }
.pv-ico.emerald { background:linear-gradient(135deg,#34d399,#059669); }
.pv-ico.rose { background:linear-gradient(135deg,#fb7185,#e11d48); }
.pv-minutes { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:22px 0 16px; padding-top:20px; border-top:1px solid #cbd5e1; }
.pv-minutes div { background:linear-gradient(160deg,#eef2ff,#f5f3ff); border:1px solid #c7d2fe; border-radius:12px; padding:12px 10px; text-align:center; }
.pv-minutes strong { display:block; font-size:24px; font-weight:780; letter-spacing:-.03em; color:#4338ca; line-height:1.1; }
.pv-minutes span { display:block; font-size:12px; line-height:1.35; color:#334155; margin-top:4px; }
.price-card .price-usage { margin:0 0 18px; }
.pv-facts { list-style:none; margin:0 0 22px; padding:0; display:grid; gap:10px; }
.pv-facts li { display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.45; color:#334155; }
.pv-facts .icon { flex:none; width:20px; height:20px; padding:3px; border-radius:50%; background:#d1fae5; color:#047857; margin-top:1px; }
.pv-facts strong { color:#0f172a; font-weight:700; margin-right:6px; }
.pv-how { margin-top:64px; }
.pv-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:14px; position:relative; }
.pv-steps li { position:relative; background:#ffffff12; border:1px solid #a5b4fc40; border-radius:16px; padding:18px 16px 18px; }
.pv-steps li:not(:last-child)::after { content:""; position:absolute; top:34px; right:-14px; width:14px; height:2px; background:linear-gradient(90deg,#818cf8,#22d3ee); }
.pv-step-n { display:inline-grid; place-items:center; width:34px; height:34px; border-radius:50%; font-size:13px; font-weight:780; color:#0b1026; background:linear-gradient(135deg,#a5f3fc,#c4b5fd); margin-bottom:12px; }
.pv-steps h4 { font-size:15px; font-weight:700; color:#fff; margin:0 0 6px; line-height:1.3; }
.pv-steps p { font-size:13.5px; line-height:1.5; color:#cbd5e1; margin:0; }
.pv-faq { margin-top:56px; }
.pv-faq-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.pv-faq-item { background:#fff; color:#0f172a; border-radius:16px; padding:20px 22px; border-left:4px solid #818cf8; }
.pv-faq-item:nth-child(2) { border-left-color:#f59e0b; }
.pv-faq-item:nth-child(3) { border-left-color:#22d3ee; }
.pv-faq-item:nth-child(4) { border-left-color:#34d399; }
.pv-faq-item h4 { font-size:16px; font-weight:720; margin:0 0 6px; color:#0f172a; }
.pv-faq-item p { font-size:14.5px; line-height:1.55; color:#334155; margin:0; }
@media (max-width:999px) {
  .pv-steps { grid-template-columns:1fr; gap:12px; }
  .pv-steps li { display:grid; grid-template-columns:34px 1fr; column-gap:14px; padding:16px; }
  .pv-steps li .pv-step-n { grid-row:span 2; margin:0; }
  .pv-steps li:not(:last-child)::after { top:auto; bottom:-12px; left:32px; right:auto; width:2px; height:12px; background:linear-gradient(180deg,#818cf8,#22d3ee); }
  .pv-faq-grid { grid-template-columns:1fr; }
  .pv-how { margin-top:48px; } .pv-faq { margin-top:44px; }
}
@media (max-width:420px) {
  .pv-minutes { gap:6px; } .pv-minutes div { padding:10px 6px; } .pv-minutes strong { font-size:21px; } .pv-minutes span { font-size:11.5px; }
  .pv-get li { padding:13px 14px; gap:12px; }
}

/* ==== Home rework v3 (Oct 23, 2026): wordmark, section separation, step arrows ==== */
:root { --cut:clamp(30px,5vw,76px); --sec-pad:76px; }
@media(min-width:640px) { :root { --sec-pad:92px; } }

/* Wordmark: bigger C, two-tone, spaced "Inform" with a serif capital I so "llI" never reads as three bars. */
.wordmark { display:inline-flex; align-items:baseline; letter-spacing:-.025em; white-space:nowrap; }
.wm-call { color:#fff; }
.wm-c { font-size:1.2em; font-weight:820; line-height:.8; letter-spacing:-.01em; }
.wm-inform { margin-left:.14em; font-weight:800; background:linear-gradient(95deg,#a5b4fc 0%,#c4b5fd 45%,#67e8f9 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.wm-i { display:inline-block; font-family:Georgia,"Times New Roman",Times,serif; font-weight:700; font-size:1.1em; line-height:.8; letter-spacing:0; margin-inline:.02em .03em; }

/* Section separation: curved hero edge, angled dark bands. */
.hero { padding-bottom:var(--cut); }
.hero::after { content:''; position:absolute; left:0; right:0; bottom:-1px; height:calc(var(--cut) + 2px); z-index:2; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 80 L0 46 C 360 -4 760 0 1080 30 C 1250 46 1360 40 1440 22 L1440 80 Z' fill='%23c7d2fe'/%3E%3C/svg%3E") bottom/100% 100% no-repeat; }
.how-section { padding-bottom:calc(var(--sec-pad) + var(--cut)); border-bottom:0; }
.features-section { position:relative; z-index:1; margin-block:calc(-1 * var(--cut)); padding-block:calc(var(--sec-pad) + var(--cut));
  clip-path:polygon(0 var(--cut),100% 0,100% calc(100% - var(--cut)),0 100%); }
.sms-section { padding-block:calc(var(--sec-pad) + var(--cut)) calc(var(--sec-pad) + var(--cut)); border-bottom:0; }
.pricing-section { z-index:1; margin-top:calc(-1 * var(--cut)); padding-top:calc(var(--sec-pad) + var(--cut));
  clip-path:polygon(0 0,100% var(--cut),100% 100%,0 100%); }
/* Glowing accent rule where the pricing band ends. */
.pricing-section::after { content:''; position:absolute; left:0; right:0; bottom:0; height:4px; background:linear-gradient(90deg,#22d3ee,#818cf8,#c084fc); }

/* How it works: stakes line, detail chips, bold connecting arrows. */
.step-stakes { margin-top:12px; font-weight:700; color:#9f1239!important; font-size:15px; line-height:1.5!important; display:flex; gap:8px; align-items:center; }
.step-stakes::before { content:''; flex:none; width:8px; height:8px; border-radius:50%; background:#e11d48; box-shadow:0 0 0 4px #ffe4e6; }
.step-chips { list-style:none; display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:16px 0 0; }
.step-chips li { font-size:13px; font-weight:650; padding:6px 12px; border-radius:999px; border:1px solid; line-height:1.2; }
.step-chips li:nth-child(1) { background:#e0e7ff; border-color:#a5b4fc; color:#3730a3; }
.step-chips li:nth-child(2) { background:#cffafe; border-color:#67e8f9; color:#155e75; }
.step-chips li:nth-child(3) { background:#ede9fe; border-color:#c4b5fd; color:#5b21b6; }
.step-chips li:nth-child(4) { background:#fef3c7; border-color:#fcd34d; color:#92400e; }
.step:not(:last-child)::after { content:''!important; }
.step-arrow { display:none; }
.steps .step { position:relative; }
.step:not(:last-child)::after { position:absolute; z-index:2; display:block; width:52px!important; height:52px!important; border-radius:50%; border:3px solid #c7d2fe!important;
  background:var(--gradient) !important; box-shadow:0 8px 22px #4f46e555;
  -webkit-mask:none; }
.step:not(:last-child)::before { content:''; position:absolute; z-index:3; width:52px; height:52px; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center/24px no-repeat; }
@media(min-width:1000px) {
  .step:not(:last-child)::after,.step:not(:last-child)::before { top:50%; right:-39px; left:auto; bottom:auto; margin-top:-26px; }
}
@media(max-width:999px) {
  .steps { gap:44px; }
  .step:not(:last-child)::after,.step:not(:last-child)::before { left:50%; bottom:-49px; top:auto; right:auto; margin-left:-26px; transform:rotate(90deg); }
}

/* Pricing timeline: chevrons between steps instead of thin lines. */
.pv-steps li:not(:last-child)::after { content:''; width:30px; height:30px; border-radius:50%; top:50%; right:-22px; margin-top:-15px; z-index:2;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b1026' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center/16px no-repeat,linear-gradient(135deg,#a5f3fc,#c4b5fd);
  box-shadow:0 0 0 4px #1b1f4a; }
.pv-steps { gap:30px; }
@media (max-width:999px) {
  .pv-steps { gap:26px; }
  .pv-steps li:not(:last-child)::after { top:auto; bottom:-28px; left:50%; right:auto; margin:0 0 0 -15px; width:30px; height:30px; transform:rotate(90deg);
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b1026' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center/16px no-repeat,linear-gradient(135deg,#a5f3fc,#c4b5fd); }
}

/* Scroll-driven reveal (CSS only). Without support, or with reduced motion, everything is simply visible. */
@keyframes ci-rise { from { opacity:0; transform:translateY(34px); } to { opacity:1; transform:none; } }
@keyframes ci-pop { from { opacity:0; scale:.4; } 70% { scale:1.12; } to { opacity:1; scale:1; } }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .steps .step,.pv-steps li,.pv-faq-item,.feature-card,.price-card,.pv-get li { animation:ci-rise linear both; animation-timeline:view(); animation-range:entry 0% entry 70%; }
    .step:not(:last-child)::after,.step:not(:last-child)::before,.pv-steps li:not(:last-child)::after { animation:ci-pop linear both; animation-timeline:view(); animation-range:entry 40% cover 35%; }
  }
}

.step-chips-alt li:nth-child(1) { background:#e0e7ff; border-color:#a5b4fc; color:#3730a3; }
.step-chips-alt li:nth-child(2) { background:#cffafe; border-color:#67e8f9; color:#155e75; }
.step-chips-alt li:nth-child(3) { background:#d1fae5; border-color:#6ee7b7; color:#065f46; }
.step-chips-alt li:nth-child(4) { background:#ffe4e6; border-color:#fda4af; color:#9f1239; }

/* Distinct step cards: one accent per card, large numbered badge. */
.steps .step { border-width:2px; border-top-width:6px; background:#fff; padding-top:30px; }
.steps .step:nth-child(1) { --acc:#e11d48; --acc2:#f97316; --tint:#fff1f2; border-color:#fecdd3; border-top-color:#e11d48; }
.steps .step:nth-child(2) { --acc:#4f46e5; --acc2:#7c3aed; --tint:#eef2ff; border-color:#c7d2fe; border-top-color:#4f46e5; }
.steps .step:nth-child(3) { --acc:#0891b2; --acc2:#059669; --tint:#ecfeff; border-color:#a5f3fc; border-top-color:#0891b2; }
.steps .step { background:linear-gradient(180deg,var(--tint) 0%,#fff 55%); box-shadow:0 18px 44px #1e1b4b1f; }
.steps .step-number { width:68px; height:68px; border-radius:18px; font-size:30px; font-weight:820; background:linear-gradient(135deg,var(--acc),var(--acc2)); box-shadow:0 10px 24px color-mix(in srgb,var(--acc) 40%,transparent); }
.steps .step-top>.icon { width:38px; height:38px; color:var(--acc); }
.steps .step:nth-child(1)::after { background:linear-gradient(135deg,#e11d48,#4f46e5)!important; }
.steps .step:nth-child(2)::after { background:linear-gradient(135deg,#4f46e5,#0891b2)!important; }
@media(min-width:1000px) {
  .steps { gap:64px!important; }
  .step:not(:last-child)::after,.step:not(:last-child)::before { width:60px!important; height:60px!important; right:-62px!important; margin-top:-30px!important; }
  .step:not(:last-child)::before { background-size:28px!important; }
}
@media(max-width:999px) {
  .steps { gap:64px!important; }
  .step:not(:last-child)::after,.step:not(:last-child)::before { width:56px!important; height:56px!important; bottom:-62px!important; margin-left:-28px!important; }
}
@keyframes ci-nudge { 0%,100% { translate:0 0; } 50% { translate:5px 0; } }
@keyframes ci-nudge-v { 0%,100% { translate:0 0; } 50% { translate:0 5px; } }
@media (prefers-reduced-motion: no-preference) {
  .step:not(:last-child)::before { animation:ci-nudge 1.6s ease-in-out infinite; }
  @media(max-width:999px) { .step:not(:last-child)::before { animation-name:ci-nudge-v; } }
  @supports (animation-timeline: view()) {
    .step:not(:last-child)::after { animation:ci-pop linear both; animation-timeline:view(); animation-range:entry 40% cover 35%; }
    .step:not(:last-child)::before { animation:ci-pop linear both,ci-nudge 1.6s ease-in-out infinite; animation-timeline:view(),auto; animation-range:entry 40% cover 35%,normal; }
    @media(max-width:999px) { .step:not(:last-child)::before { animation-name:ci-pop,ci-nudge-v; } }
  }
}
