/* cyrillic-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpQ59CjCQ.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpS59CjCQ.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpT59CjCQ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpd59A.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpQ59CjCQ.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpS59CjCQ.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpT59CjCQ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpd59A.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpQ59CjCQ.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpS59CjCQ.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpT59CjCQ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpd59A.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpQ59CjCQ.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpS59CjCQ.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpT59CjCQ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpd59A.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpQ59CjCQ.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpS59CjCQ.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpT59CjCQ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/hk-ieVn2YZDLWuGJpnzaiwFXS9tYtpd59A.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ============================================================================
   AMF — funnel.css  ·  "All Messages Forwarded"
   Shared, self-contained stylesheet for the AMF customer funnel.
   Borrowed from Spaceship's system: a vivid SPS-style blue, a warm coral, a
   connected-mint, friendly rounded Hanken Grotesk, soft squircles & pills.
   Mobile-first, one flowing pitch per page. Link this one file from each page.
   Audience: local Indiana owners who can't — or would rather not — take the call.
   ============================================================================ */

/* ---- scroll-reveal ---- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease;}
.reveal.revealed{opacity:1;transform:none;}
.reveal.d1{transition-delay:.1s;}.reveal.d2{transition-delay:.2s;}.reveal.d3{transition-delay:.32s;}
@media(prefers-reduced-motion:reduce){.reveal,.reveal.revealed{opacity:1;transform:none;transition:none;}}

/* ---- pulsing phone ring ---- */
@keyframes amf-ring{0%,100%{box-shadow:0 0 0 0 rgba(44,61,240,.5);}60%{box-shadow:0 0 0 14px rgba(44,61,240,0);}}
.cta-ring{animation:amf-ring 2.2s ease-in-out infinite;}

:root{
  /* warm neutrals */
  --paper:#f8f5ef; --backdrop:#e7e3da; --ink:#191820; --ink-2:#514f5a; --muted:#605c68; --faint:#6e6a77;
  --line:#ebe7de; --line-2:#f2efe8; --card:#ffffff; --band:#f2ede3;
  /* SPS-style vivid blue — brand, action, trust */
  --blue:#2c3df0; --blue-press:#2330cf; --blue-deep:#1b2597; --blue-soft:#ecedfe;
  /* warm coral — money, energy, life */
  --coral:#ff6a45; --coral-deep:#e8512f; --coral-soft:#ffe7df;
  /* mint — answered / connected / yours */
  --mint:#12a86a; --mint-dot:#23c483; --mint-soft:#e4f5ec;
  /* error */
  --err-bg:#fdece7; --err-line:#f6c2b3; --err-ink:#b23a1d;

  --font:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --measure:500px;
  --shadow-card:0 1px 2px rgba(25,24,32,.05), 0 16px 38px -24px rgba(25,24,32,.42);
  --shadow-pop:0 30px 80px -40px rgba(25,24,32,.45);
}

*{box-sizing:border-box;}
html,body{margin:0;}
body{background:var(--backdrop); font-family:var(--font); font-size:18px; line-height:1.5; color:var(--ink); -webkit-font-smoothing:antialiased;}
img{max-width:100%; display:block;}
a{color:var(--blue);}

.page{max-width:var(--measure); margin:0 auto; background:var(--paper); box-shadow:var(--shadow-pop); overflow:hidden; min-height:100vh;}
.px{padding-left:22px; padding-right:22px;}

/* ---- header · amf.→ wordmark ---- */
.nav{display:flex; align-items:center; gap:10px; padding:22px 22px 0;}
.logo{display:flex; align-items:center; font-size:24px; font-weight:800; letter-spacing:-.03em; color:var(--ink); text-decoration:none;}
.logo .dot{color:var(--coral);}
.logo .fwd{display:inline-flex; color:var(--coral); margin-left:7px;}
.logo .fwd svg{width:20px; height:20px;}

/* ---- pill chips ---- */
.chip{display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:600; border-radius:999px; padding:6px 13px; line-height:1; white-space:nowrap;}
.chip.loc{margin-left:auto; background:var(--mint-soft); color:var(--mint);}
.chip.loc .dot{width:7px; height:7px; border-radius:50%; background:var(--mint-dot);}
.chip.prep{background:var(--blue-soft); color:var(--blue);}

/* ---- hero photo ---- */
.hero-photo{margin:22px 22px 0;}
image-slot{display:block; width:100%; height:200px; border-radius:24px; overflow:hidden;}

/* ---- flow: one continuous pitch ---- */
.flow{padding-top:26px; padding-bottom:24px;}
/* Section bands: alternate a soft warm tint with the cream so the page reads as distinct
   sections rather than one long column. Full-bleed across the column; extra breathing room.
   The first child's top margin collapses oddly against the band padding, so neutralize it. */
.flow.band{background:var(--band); padding-top:44px; padding-bottom:44px; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.flow.band > :first-child{margin-top:0;}
h1{font-size:40px; line-height:1.08; letter-spacing:-.035em; font-weight:800; margin:0 0 22px; text-wrap:balance;}
h1 .money{color:var(--coral);}
.flow p{font-size:17.5px; line-height:1.6; color:var(--ink-2); margin:0 0 22px; text-wrap:pretty;}
.flow p b{color:var(--ink); font-weight:700;}
.lead{font-size:19px !important; color:var(--ink-2) !important;}

.beat{font-size:31px; line-height:1.12; letter-spacing:-.03em; font-weight:800; color:var(--ink); margin:38px 0 20px; text-wrap:balance;}
.beat em{font-style:normal; color:var(--blue);}
.beat .money{color:var(--coral);}
.beat .big{font-size:1.95em; letter-spacing:-.05em; color:var(--coral); line-height:.95;}

/* ---- CTA pill ---- */
.cta{display:inline-flex; align-items:center; justify-content:center; gap:11px; background:var(--blue); color:#fff;
  border:0; border-radius:999px; padding:17px 30px; font-family:inherit; font-size:17.5px; font-weight:700;
  letter-spacing:-.01em; text-decoration:none; cursor:pointer; white-space:nowrap;
  box-shadow:0 14px 28px -12px rgba(44,61,240,.6); transition:transform .14s ease, box-shadow .14s ease, gap .14s ease, background .14s ease;}
.cta:hover{transform:translateY(-2px); gap:15px; box-shadow:0 20px 36px -12px rgba(44,61,240,.7);}
.cta:active{transform:translateY(0); background:var(--blue-press);}
.cta svg{width:19px; height:19px;}
.cta.block{width:100%;}
.cta.cta-secondary{background:#fff;color:var(--blue);border:2px solid var(--blue);box-shadow:0 4px 12px -6px rgba(44,61,240,.25);}
.cta.cta-secondary:hover{background:var(--blue-soft);box-shadow:0 8px 20px -8px rgba(44,61,240,.35);}
.cta.cta-secondary:active{background:var(--blue-soft);}
.cta-wrap{margin:24px 0 0;}
/* Home hero: centered + brand-forward, to read as a homepage — distinct from the
   left-aligned, personalized "pitch letter" of the emailed /start/ sales pages. */
.hero-home{text-align:center;}
.hero-home .trust{justify-content:center;}
.hero-home .lead{max-width:32ch; margin-left:auto; margin-right:auto;}
.undertext{font-size:13px; font-weight:500; color:var(--muted); margin:14px 0 0;}

/* ---- trust chips ---- */
.trust{display:flex; flex-wrap:wrap; gap:9px; margin:22px 0 0; padding:0; list-style:none;}
.trust li{display:inline-flex; align-items:center; gap:7px; font-size:13.5px; font-weight:600; color:var(--ink-2);
  background:var(--card); border:1px solid var(--line); border-radius:999px; padding:8px 14px;}
.trust li svg{width:15px; height:15px; color:var(--mint);}

/* ---- the inbox moment ---- */
.lead-in{font-size:14.5px; font-weight:600; color:var(--muted); margin:38px 0 14px;}
.email{background:var(--card); border:1px solid var(--line); border-radius:22px; padding:22px 22px 24px; box-shadow:var(--shadow-card);}
.email-head{display:flex; align-items:center; gap:11px; margin:0 0 16px;}
.email-head .env{width:38px; height:38px; border-radius:12px; background:var(--mint-soft); color:var(--mint); display:grid; place-items:center; flex:none;}
.email-head .env svg{width:18px; height:18px;}
.email-head .meta{display:flex; flex-direction:column; line-height:1.35;}
.email-head .meta b{font-size:14px; font-weight:700; color:var(--ink);}
.email-head .meta span{font-size:12px; color:var(--faint); font-weight:500;}
.email-head .answered{margin-left:auto; font-size:11px; font-weight:700; letter-spacing:.02em; color:var(--mint); background:var(--mint-soft); border-radius:999px; padding:6px 12px; display:flex; align-items:center; gap:5px;}
.email-head .answered svg{width:12px; height:12px;}
.email-from{font-size:14px; font-weight:700; color:var(--ink); margin:0 0 8px;}
.email-quote{font-size:19px; line-height:1.45; letter-spacing:-.01em; color:var(--ink); font-weight:500; margin:0 0 18px;}
.email-back{display:inline-flex; align-items:center; gap:9px; font-size:14px; font-weight:700; color:var(--blue); text-decoration:none; background:var(--blue-soft); border-radius:999px; padding:9px 16px;}
.email-back svg{width:15px; height:15px;}
.cap{font-size:15.5px; color:var(--muted); margin:44px 0 0;}
.cap b{color:var(--mint); font-weight:700;}

/* ---- offer · friendly warm panel ---- */
.offer{margin:18px 22px 0; background:var(--coral-soft); border-radius:30px; padding:38px 26px;}
.offer .beat{margin:0 0 18px;}
.offer p{font-size:17px; line-height:1.6; color:var(--ink-2); margin:0 0 20px;}
.offer p b{color:var(--ink); font-weight:700;}
.risk{display:flex; align-items:flex-start; gap:11px; font-size:14.5px; line-height:1.5; color:var(--ink-2); margin:0; font-weight:500;}
.risk svg{width:18px; height:18px; color:var(--mint); flex:none; margin-top:1px;}

/* ---- forms (checkout / unsubscribe) ---- */
label{display:block; font-weight:700; font-size:16px; margin:0 0 9px;}
input[type=text],input[type=email],input[type=tel],textarea{
  width:100%; font-family:inherit; font-size:17px; padding:15px 16px; border:1.5px solid var(--line);
  border-radius:14px; background:var(--card); color:var(--ink); transition:border-color .14s ease, box-shadow .14s ease;}
input::placeholder{color:#bcb8c2;}
input:focus,textarea:focus{outline:none; border-color:var(--blue); box-shadow:0 0 0 4px var(--blue-soft);}
textarea{min-height:5rem; resize:vertical;}
.field{margin:0 0 18px;}

/* ---- numbered steps ---- */
.steps{counter-reset:s; list-style:none; padding:0; margin:22px 0 0;}
.steps li{counter-increment:s; position:relative; padding:0 0 18px 46px; font-size:16.5px; color:var(--ink-2);}
.steps li:last-child{padding-bottom:0;}
.steps li b{color:var(--ink); font-weight:700;}
.steps li::before{content:counter(s); position:absolute; left:0; top:-2px; width:30px; height:30px; border-radius:50%;
  background:var(--blue-soft); color:var(--blue); display:grid; place-items:center; font-weight:800; font-size:14px;}

/* ---- confirmation seal ---- */
.seal{width:84px; height:84px; border-radius:28px; background:var(--mint); color:#fff; display:grid; place-items:center;
  margin:6px 0 22px; box-shadow:0 18px 38px -16px rgba(18,168,106,.6);}
.seal svg{width:42px; height:42px;}

/* ---- soft note panel ---- */
.note{background:var(--blue-soft); border-radius:18px; padding:18px 20px; font-size:15px; line-height:1.55; color:var(--ink-2); margin:24px 0 0;}
.note b{color:var(--ink); font-weight:700;}

/* ---- error ---- */
.err{background:var(--err-bg); border:1px solid var(--err-line); color:var(--err-ink); border-radius:14px;
  padding:14px 16px; font-size:15px; font-weight:600; margin:0 0 18px;}

/* ---- footer ---- */
.foot{padding:38px 22px 46px; background:#f1ede5; margin-top:18px;}
.foot-wm{font-weight:800; font-size:15px; margin-bottom:14px; letter-spacing:-.01em;}
.foot-wm .tag{color:var(--muted); font-weight:600; font-size:12px; letter-spacing:.03em;}
.foot nav{display:flex; gap:20px; margin-bottom:14px; flex-wrap:wrap;}
.foot nav a{font-size:13px; color:var(--muted); text-decoration:none; font-weight:600;}
.foot nav a:hover{color:var(--ink);}
.foot p{font-size:12.5px; line-height:1.6; color:var(--faint); margin:0;}

@media (min-width:540px){ h1{font-size:44px;} }

/* ============================ MOTION & POLISH ============================ */
/* Hover micro-interactions (always on) */
.logo .fwd{transition:transform .2s ease;}
.logo:hover .fwd{transform:translateX(3px);}
.cta{position:relative; overflow:hidden;}
.trust li{transition:transform .14s ease, border-color .14s ease, box-shadow .14s ease;}
.trust li:hover{transform:translateY(-2px); border-color:var(--blue); box-shadow:0 8px 18px -10px rgba(44,61,240,.4);}
.email{transition:transform .2s ease, box-shadow .2s ease;}
.email:hover{transform:translateY(-2px); box-shadow:0 26px 54px -28px rgba(25,24,32,.5);}
.email-back{transition:background .14s ease, transform .14s ease;}
.email-back:hover{background:#dfe3ff; transform:translateX(2px);}
.chip.prep{transition:transform .14s ease;}
.chip.prep:hover{transform:translateY(-1px);}

@media (prefers-reduced-motion: no-preference){
  @keyframes amf-rise{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:none;}}
  @keyframes amf-pop{0%{opacity:0; transform:scale(.5);} 60%{transform:scale(1.1);} 100%{opacity:1; transform:scale(1);}}
  @keyframes amf-pulse{0%,100%{box-shadow:0 0 0 0 rgba(35,196,131,.5);} 70%{box-shadow:0 0 0 7px rgba(35,196,131,0);}}
  @keyframes amf-shine{0%{transform:translateX(-160%) skewX(-18deg);} 55%,100%{transform:translateX(360%) skewX(-18deg);}}

  /* staggered entrance */
  .hero-photo{animation:amf-rise .6s cubic-bezier(.2,.7,.2,1) both;}
  .flow > *{animation:amf-rise .55s cubic-bezier(.2,.7,.2,1) both;}
  .flow > *:nth-child(1){animation-delay:.04s;}
  .flow > *:nth-child(2){animation-delay:.10s;}
  .flow > *:nth-child(3){animation-delay:.16s;}
  .flow > *:nth-child(4){animation-delay:.22s;}
  .flow > *:nth-child(5){animation-delay:.28s;}
  .flow > *:nth-child(6){animation-delay:.34s;}
  .flow > *:nth-child(7){animation-delay:.40s;}
  .flow > *:nth-child(n+8){animation-delay:.46s;}
  .offer{animation:amf-rise .6s cubic-bezier(.2,.7,.2,1) both; animation-delay:.12s;}

  /* lively accents */
  .chip.loc .dot{animation:amf-pulse 2.4s ease-out infinite;}
  .email-head .answered{animation:amf-pop .5s ease-out both; animation-delay:.35s;}
  .seal{animation:amf-pop .6s cubic-bezier(.2,.8,.2,1) both; animation-delay:.1s;}
  .cta::after{content:""; position:absolute; top:0; left:0; width:36%; height:100%;
    background:linear-gradient(100deg, transparent, rgba(255,255,255,.4), transparent);
    transform:translateX(-160%) skewX(-18deg); animation:amf-shine 5s ease-in-out 1.4s infinite;}
}

/* ============================ HERO BRAND PANEL ============================ */

/* ============================ CONTENT / SEO PAGES ============================ */
/* Shared components for landing pages, FAQ, calculator, resources, trust blocks.
   Built on the same tokens as the funnel; mobile-first within the .page column. */

/* breadcrumbs */
.crumbs{font-size:12.5px; color:var(--muted); padding:14px 22px 0; display:flex; flex-wrap:wrap; gap:6px; align-items:center;}
.crumbs a{color:var(--muted); text-decoration:none; font-weight:600;}
.crumbs a:hover{color:var(--blue);}
.crumbs i{color:var(--faint); font-style:normal;}
.crumbs span{color:var(--ink-2); font-weight:700;}

/* tick / checklist lists */
.ticks{list-style:none; padding:0; margin:18px 0 0; display:flex; flex-direction:column; gap:12px;}
.ticks li{display:flex; align-items:flex-start; gap:11px; font-size:16.5px; color:var(--ink-2); line-height:1.45;}
.ticks li svg{width:20px; height:20px; color:var(--mint); flex:none; margin-top:2px;}

/* FAQ accordion */
.faqs{display:flex; flex-direction:column; gap:10px; margin-top:8px;}
.faqs details{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:0 18px; box-shadow:var(--shadow-card); transition:border-color .14s ease;}
.faqs details[open]{border-color:var(--blue);}
.faqs summary{display:flex; align-items:center; gap:11px; cursor:pointer; list-style:none; padding:16px 0; font-weight:700; font-size:16.5px; color:var(--ink);}
.faqs summary::-webkit-details-marker{display:none;}
.faqs summary svg{width:18px; height:18px; color:var(--blue); flex:none;}
.faqs summary span{flex:1;}
/* chevron expand indicator */
.faqs summary::after{content:''; display:block; width:18px; height:18px; flex:none;
  background:currentColor; color:var(--faint);
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .2s ease; opacity:.45;}
.faqs details[open] summary::after{transform:rotate(180deg); opacity:.7;}
.faqs details[open] summary{padding-bottom:4px; color:var(--blue);}
.faqs p{font-size:16px; color:var(--ink-2); margin:0 0 16px; line-height:1.55; padding-left:29px;}
.faqs p a{font-weight:600;}

/* pill links (internal linking) */
.linkpills{display:flex; flex-wrap:wrap; gap:9px; margin-top:16px;}
.linkpills a{display:inline-flex; align-items:center; gap:2px; font-size:14px; font-weight:700; color:var(--blue);
  background:var(--blue-soft); border-radius:999px; padding:9px 9px 9px 15px; text-decoration:none; transition:transform .14s ease, background .14s ease;}
.linkpills a svg{width:15px; height:15px;}
.linkpills a:hover{transform:translateY(-2px); background:#dfe3ff;}

/* hub grids (industries / areas) */
.hubgrid{display:grid; grid-template-columns:1fr 1fr; gap:11px;}
.hubgrid > .hubcard:last-child:nth-child(odd){grid-column:1 / -1;}
.hubcard{display:flex; flex-direction:column; gap:2px; background:var(--card); border:1px solid var(--line); border-radius:16px;
  padding:16px; text-decoration:none; color:var(--ink); box-shadow:var(--shadow-card);
  transition:transform .14s ease, border-color .14s ease, box-shadow .14s ease;}
.hubcard:hover{transform:translateY(-2px); border-color:var(--blue); box-shadow:0 14px 30px -18px rgba(44,61,240,.5);}
.hc-ico{width:34px; height:34px; border-radius:10px; background:var(--blue-soft); color:var(--blue); display:grid; place-items:center; margin-bottom:7px;}
.hc-ico svg{width:18px; height:18px;}
.hubcard b{font-size:15.5px; line-height:1.2;}
.hc-sub{font-size:12px; color:var(--muted); font-weight:600;}

/* resource post list */
.postlist{display:flex; flex-direction:column; gap:12px;}
.postcard{display:flex; flex-direction:column; gap:7px; background:var(--card); border:1px solid var(--line); border-radius:18px;
  padding:20px; text-decoration:none; color:var(--ink); box-shadow:var(--shadow-card);
  transition:transform .14s ease, border-color .14s ease, box-shadow .14s ease;}
.postcard:hover{transform:translateY(-2px); border-color:var(--blue); box-shadow:0 16px 34px -20px rgba(44,61,240,.5);}
.postcard b{font-size:18px; line-height:1.25; letter-spacing:-.01em;}
.pc-desc{font-size:14.5px; color:var(--ink-2); line-height:1.5;}
.pc-meta{display:flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:var(--blue);}
.pc-meta svg{width:14px; height:14px;}

/* article prose */
.prose .beat{font-size:23px; margin:30px 0 12px;}
.prose p{font-size:17px;}
.prose .chip{margin-bottom:18px;}
.prose .ticks{margin-top:8px;}

/* lead-capture form */
.leadform{background:var(--card); border:1px solid var(--line); border-radius:22px; padding:24px 22px; box-shadow:var(--shadow-card);}
.leadform .beat{font-size:23px; margin:0 0 8px;}
.leadform > p{font-size:16px; margin:0 0 16px;}
.leadform .cta.block{margin-top:8px;}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}

/* calculator */
.calc{background:var(--card); border:1px solid var(--line); border-radius:24px; padding:24px 22px; box-shadow:var(--shadow-card);}
.calc-field{margin-bottom:22px;}
.calc-field label{display:flex; justify-content:space-between; align-items:baseline; font-weight:700; font-size:15.5px; margin-bottom:11px; gap:12px;}
.calc-field output{color:var(--blue); font-weight:800; font-size:18px; font-variant-numeric:tabular-nums; white-space:nowrap;}
.calc-hint{display:block; font-size:12.5px; color:var(--muted); margin-top:8px;}
input[type=range]{width:100%; -webkit-appearance:none; appearance:none; height:6px; border-radius:999px; background:var(--blue-soft); outline:none; margin:0;}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none; width:26px; height:26px; border-radius:50%; background:var(--blue); cursor:pointer; box-shadow:0 4px 10px -2px rgba(44,61,240,.6); border:3px solid #fff;}
input[type=range]::-moz-range-thumb{width:22px; height:22px; border-radius:50%; background:var(--blue); cursor:pointer; border:3px solid #fff; box-shadow:0 4px 10px -2px rgba(44,61,240,.6);}
.calc-out{background:var(--coral-soft); border-radius:18px; padding:24px; text-align:center; margin-top:4px;}
.calc-lead{font-size:14px; font-weight:600; color:var(--ink-2); margin:0 0 5px !important;}
.calc-big{font-size:46px; font-weight:800; letter-spacing:-.04em; color:var(--coral-deep); line-height:1; margin:0 !important; font-variant-numeric:tabular-nums;}
.calc-big span{font-size:18px; font-weight:700; letter-spacing:-.01em;}
.calc-year{font-size:14.5px; color:var(--ink-2); margin:12px 0 0 !important;}
.calc-roi{margin-top:18px; font-size:15px; line-height:1.55; color:var(--ink-2); background:var(--mint-soft); border-radius:14px; padding:15px 18px;}
.calc-roi b{color:var(--ink);}

/* comparison table */
.cmp{width:100%; border-collapse:collapse; margin-top:20px; font-size:14px; background:var(--card);
  border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-card);}
.cmp th,.cmp td{padding:13px 10px; border-bottom:1px solid var(--line); text-align:center; vertical-align:middle;}
.cmp thead th{font-size:12px; font-weight:800; letter-spacing:.01em; color:var(--muted);}
.cmp thead th.amf{color:var(--blue);}
.cmp tbody th{text-align:left; font-weight:600; color:var(--ink-2); font-size:13px;}
@media(max-width:420px){.cmp th,.cmp td{padding:10px 7px;} .cmp tbody th{font-size:12px;}}
.cmp td.amf{background:var(--blue-soft); font-weight:700; color:var(--ink);}
.cmp .yes{color:var(--mint);} .cmp .no{color:var(--err-ink);}
.cmp svg{width:17px; height:17px; vertical-align:middle;}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:0;}

/* founder / trust card (.promise — distinct from /start's own .founder demo card) */
.promise{background:var(--card); border:1px solid var(--line); border-radius:22px; padding:24px 22px; box-shadow:var(--shadow-card);}
.promise .who{display:flex; align-items:center; gap:13px; margin-bottom:14px;}
.promise .ava{width:52px; height:52px; border-radius:50%; background:linear-gradient(135deg,var(--blue),var(--blue-deep));
  color:#fff; display:grid; place-items:center; font-weight:800; font-size:20px; flex:none; letter-spacing:-.02em;}
.promise .who b{font-size:16px; display:block;}
.promise .who span{font-size:13px; color:var(--muted); font-weight:600;}
.promise p{font-size:16.5px; color:var(--ink-2); line-height:1.55; margin:0 0 14px;}
.promise p:last-child{margin-bottom:0;}
.promise .guarantees{display:flex; flex-wrap:wrap; gap:8px; margin-top:4px;}
.promise .guarantees span{display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:var(--mint);
  background:var(--mint-soft); border-radius:999px; padding:7px 13px;}
.promise .guarantees svg{width:14px; height:14px;}

/* ============================ REFERRAL LOOP ============================ */
/* "first month free" banner on referred /start visits */
.refbanner{display:flex; align-items:center; gap:9px; justify-content:center; text-align:center;
  background:var(--mint-soft); color:#0c7a4d; border-bottom:1px solid #cfe6d8;
  font-size:14px; line-height:1.4; font-weight:600; padding:12px 18px;}
.refbanner b{color:#0a6b43; font-weight:800;}
.refbanner svg{width:18px; height:18px; flex:none; color:var(--mint);}

/* copy-link box */
.reflink{display:flex; gap:8px; margin:6px 0 16px;}
.reflink input{flex:1; font-family:ui-monospace,Menlo,monospace; font-size:14px; padding:13px 14px;
  border:1.5px solid var(--line); border-radius:12px; background:var(--line-2); color:var(--ink); min-width:0;}
.reflink .cta{padding:13px 20px; font-size:15px; box-shadow:none;}

/* share buttons */
.sharebtns{display:flex; gap:9px; flex-wrap:wrap;}
.sharebtns .sharebtn{flex:1; min-width:96px; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-size:14.5px; font-weight:700; text-decoration:none; border-radius:12px; padding:13px 10px; color:#fff;
  transition:transform .14s ease, filter .14s ease;}
.sharebtns .sharebtn:hover{transform:translateY(-2px); filter:brightness(1.05);}
.sharebtn svg{width:17px; height:17px;}
.sharebtn.sms{background:var(--mint);}
.sharebtn.fb{background:#1877f2;}
.sharebtn.mail{background:var(--ink);}

/* Constrain inline icons used in headings/chips on content pages (they have no intrinsic size). */
.beat svg{width:.9em; height:.9em; vertical-align:-2px;}
.chip svg{width:14px; height:14px; margin-right:1px; flex:none;}
.crumbs svg{width:13px; height:13px;}

/* payment-CTA card (replaces the old contact form as the conversion block) */
.ctacard{background:var(--card); border:1px solid var(--line); border-radius:22px; padding:26px 22px;
  box-shadow:var(--shadow-card); text-align:center;}
.ctacard .beat{font-size:24px;}
.ctacard > p:not(.undertext){font-size:16.5px; color:var(--ink-2); margin:0 0 4px;}
.ctacard .cta.block{margin-top:10px;}
.ctacard .undertext.sec{margin-top:14px;}
.ctacard .undertext svg{width:13px; height:13px; vertical-align:-2px; margin-right:3px;}
.undertext svg{width:14px; height:14px; vertical-align:-2px; margin-right:3px;}

/* affiliate / partners dashboard */
.affstats{display:flex; gap:11px;}
.affstats .as{flex:1; background:var(--card); border:1px solid var(--line); border-radius:16px; padding:18px 8px; text-align:center; box-shadow:var(--shadow-card);}
.affstats .as b{display:block; font-size:29px; font-weight:800; letter-spacing:-.03em; color:var(--ink); line-height:1;}
.affstats .as span{font-size:12px; color:var(--muted); font-weight:600;}
.affstats .as.money b{color:var(--coral-deep);}
.vlabel-2{font-size:13px; font-weight:700; color:var(--muted); margin:18px 0 7px;}
.kit{background:var(--card); border:1px solid var(--line); border-radius:12px; padding:14px 16px; font-size:15px; line-height:1.5; color:var(--ink-2); box-shadow:var(--shadow-card);}
.btn-kit{margin-top:8px; background:#fff; color:var(--blue); border:1px solid var(--blue); border-radius:10px; padding:9px 16px; font:inherit; font-weight:700; font-size:14px; cursor:pointer;}
.btn-kit:hover{background:var(--blue-soft);}

/* ---- home page close CTA ---- */
.close-cta{margin-top:32px; text-align:center; border-top:1px solid var(--line); padding-top:28px;}
.close-price{font-size:42px; font-weight:800; letter-spacing:-.03em; color:var(--ink); margin:0 0 4px; line-height:1;}
.close-price span{font-size:18px; font-weight:600; color:var(--muted); letter-spacing:0;}
.close-sub{font-size:13.5px; color:var(--muted); font-weight:600; margin:0 0 20px;}
.cta.block{display:flex; width:100%; box-sizing:border-box; justify-content:center;}

/* ---- home hero imagery ---- */
/* Blue-tinted background + dot grid texture — visually separates the hero from the rest of the page */
.hero-home{
  background-color:#eef0fe;
  background-image:radial-gradient(circle, rgba(44,61,240,.10) 1.5px, transparent 1.5px);
  background-size:28px 28px;
}
/* Email preview card — interactive: tap "Call back" to ring the demo line */
.hero-inbox{margin:26px auto 0; max-width:350px; text-align:left;}
.hero-inbox .email-quote{font-size:17px !important; margin-bottom:14px !important;}
.hero-inbox .email-back{transition:background .15s ease, transform .12s ease;}
.hero-inbox .email-back:active{transform:scale(.97);}
.hero-inbox-hint{display:flex; align-items:center; gap:5px; justify-content:center; font-size:12px; font-weight:600; color:var(--blue); margin:10px 0 0; opacity:.75;}
.hero-inbox-hint svg{width:13px; height:13px; transform:rotate(180deg);}

/* ---- flow visualization (band / steps section) ---- */
.flow-viz{display:flex; align-items:center; justify-content:center; gap:12px; margin:0 0 28px; flex-wrap:wrap;}
.fv-node{display:flex; flex-direction:column; align-items:center; gap:8px;}
.fv-icon{width:56px; height:56px; border-radius:20px; display:grid; place-items:center; flex:none; box-shadow:0 4px 14px -6px rgba(25,24,32,.15);}
.fv-icon svg{width:26px; height:26px;}
.fv-phone{background:var(--coral-soft); color:var(--coral-deep);}
.fv-ai{background:var(--blue-soft); color:var(--blue);}
.fv-mail{background:var(--mint-soft); color:var(--mint);}
.fv-node span{font-size:11.5px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.05em;}
.fv-arrow{color:var(--backdrop); display:flex; align-items:center; margin-bottom:24px;}
.fv-arrow svg{width:16px; height:16px;}
