*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { font-family: var(--font-sans); }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font: inherit; cursor: pointer; }

:root {
  --font-serif: 'Newsreader', Georgia, serif;
  --font-sans: 'Nunito Sans', system-ui, sans-serif;
  --blue-primary: #2f6fe0;
  --blue-mid: #3f8bf5;
  --blue-light: #6ea2f6;
  --ink: #161a1e;
  --ink-soft: #5a636e;
  --surface-soft: #eef1f5;
  --surface-navy: #0e1b30;
}

.hero {
  position: relative;
  width: 100%;
  min-height: 900px;
  overflow: hidden;
  background: #2c8bf1 url('../assets/mountain-tall-1.jpg') center bottom / 122% auto no-repeat;
}

@keyframes ringShake {
  0%, 100% { transform: rotate(0); }
  18% { transform: rotate(-11deg); }
  36% { transform: rotate(10deg); }
  54% { transform: rotate(-7deg); }
  72% { transform: rotate(5deg); }
}
@keyframes phKnobPulse {
  0% { box-shadow: 0 0 0 0 rgba(52,199,89,.45); }
  70% { box-shadow: 0 0 0 18px rgba(52,199,89,0); }
  100% { box-shadow: 0 0 0 0 rgba(52,199,89,0); }
}
@keyframes phChev {
  0% { opacity: .2; } 50% { opacity: .9; } 100% { opacity: .2; }
}
@keyframes phTapCursor {
  0% { transform: translateX(-14px) translateY(70px) scale(1); }
  22% { transform: translateX(-14px) translateY(-73px) scale(1); }
  34% { transform: translateX(-14px) translateY(-73px) scale(.8); }
  44% { transform: translateX(-14px) translateY(-73px) scale(1); }
  56% { transform: translateX(-14px) translateY(-73px) scale(.8); }
  66% { transform: translateX(-14px) translateY(-73px) scale(1); }
  67% { transform: translateX(-14px) translateY(70px) scale(1); }
  100% { transform: translateX(-14px) translateY(70px) scale(1); }
}
@keyframes phSwipeCursor {
  0% { transform: translateX(0) scale(1); opacity: .5; }
  15% { transform: translateX(0) scale(.85); opacity: 1; }
  80% { transform: translateX(150px) scale(.85); opacity: 1; }
  100% { transform: translateX(150px) scale(1); opacity: 0; }
}
@keyframes avatarGlow {
  0%, 100% { box-shadow: 0 10px 26px rgba(20,40,90,.4), 0 0 0 0 rgba(110,162,246,.55); }
  50% { box-shadow: 0 10px 26px rgba(20,40,90,.4), 0 0 0 12px rgba(110,162,246,0); }
}

/* ===== NAV (desktop) ===== */
.nav { position: fixed; top: 0; left: 0; right: 0; z-index: 30; display: flex; justify-content: center; padding: 26px 40px 0; transition: padding .38s cubic-bezier(.4,0,.2,1); }
.nav__inner { display: flex; align-items: center; gap: 44px; width: 100%; max-width: 1400px; border-radius: 0; background: transparent; transition: max-width .38s cubic-bezier(.4,0,.2,1), padding .38s cubic-bezier(.4,0,.2,1), border-radius .38s cubic-bezier(.4,0,.2,1), background .38s ease, box-shadow .38s ease, backdrop-filter .38s ease; }
.nav__logo { display: flex; align-items: center; gap: 9px; font-weight: 800; font-size: 26px; letter-spacing: -.01em; color: #fff; margin-right: 8px; }
.nav__logo-ai { margin-left: 6px; }
.nav__link { font-weight: 700; font-size: 17px; color: #fff; }
.nav__link:hover { opacity: .85; }
.nav__link--faq { padding: 9px 15px; border: 1.5px solid rgba(255,255,255,.9); border-radius: 9px; text-decoration: underline; text-underline-offset: 3px; }
.nav__cta { margin-left: auto; transform: translate(-30px,-8px); display: inline-flex; align-items: center; gap: 11px; padding: 14px 25px; background: linear-gradient(180deg,#3f8bf5,#2f6fe0); color: #fff; font-weight: 800; font-size: 20px; border-radius: 13px; box-shadow: 0 8px 20px rgba(47,111,224,.35), inset 0 1px 0 rgba(255,255,255,.3); transition: transform .38s cubic-bezier(.4,0,.2,1); }
.nav__cta:hover { opacity: .85; }
.hero__spacer { height: 84px; }

.mnav { display: none; }

/* ===== HERO CONTENT ===== */
.hero__content { position: relative; z-index: 3; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 60px 24px 0; }
.hero__title { font-family: var(--font-serif); font-weight: 400; font-size: 104px; line-height: 1.02; letter-spacing: -.01em; color: #fff; margin: 0; text-shadow: 0 1px 24px rgba(60,110,170,.18); }
.hero__subtitle { font-weight: 700; font-size: 26px; line-height: 1.4; color: #fff; max-width: 720px; margin: 44px auto 0; text-shadow: 0 1px 12px rgba(60,110,170,.2); }
.hero__cta { position: relative; z-index: 3; display: inline-flex; align-items: center; gap: 12px; margin-top: 52px; padding: 18px 32px; background: linear-gradient(180deg,#3f8bf5,#2f6fe0); color: #fff; font-weight: 800; font-size: 20px; border-radius: 12px; box-shadow: 0 12px 30px rgba(47,111,224,.4), inset 0 1px 0 rgba(255,255,255,.3); }
.hero__cta:hover { opacity: .85; }
.hero__demo-heading { text-align: center; margin-top: 120px; }
.hero__demo-heading h2 { font-family: var(--font-serif); font-weight: 400; font-size: 60px; line-height: 1.05; letter-spacing: -.01em; color: #fff; margin: 0; text-shadow: 0 1px 18px rgba(60,110,170,.2); }
.hero__demo-heading p { font-weight: 700; font-size: 18px; color: rgba(255,255,255,.9); margin: 14px 0 0; text-shadow: 0 1px 10px rgba(60,110,170,.2); }
.hero__fade { position: absolute; left: 0; right: 0; bottom: 0; height: 220px; background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.5) 55%, #ffffff 100%); pointer-events: none; z-index: 2; }

/* ===== PHONE DEMO ===== */
.phone { position: relative; margin-top: 44px; margin-bottom: 60px; display: flex; justify-content: center; }
.phone__blur-bg { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 346px; height: 660px; border-radius: 58px; background: rgba(255,255,255,.14); backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); box-shadow: 0 30px 80px rgba(30,50,90,.25); z-index: 0; }
.phone__glow-bg { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 470px; height: 640px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,255,255,.45), rgba(255,255,255,0)); filter: blur(48px); z-index: 0; }
.phone__body { position: relative; z-index: 1; width: 300px; height: 614px; border-radius: 52px; background: #0a0a0c; padding: 12px; box-shadow: 0 40px 90px rgba(30,50,90,.35), 0 0 0 3px rgba(255,255,255,.14); }
.phone__screen { position: relative; width: 100%; height: 100%; border-radius: 42px; overflow: hidden; background: linear-gradient(180deg,#4a4038 0%,#3a3230 45%,#2b3550 100%); color: #fff; font-family: -apple-system, var(--font-sans); }
.phone__notch { position: absolute; top: 11px; left: 50%; transform: translateX(-50%); width: 90px; height: 22px; background: #0a0a0c; border-radius: 16px; z-index: 3; }
.phone__status-bar { display: flex; align-items: center; justify-content: space-between; padding: 15px 26px 0; font-size: 14px; font-weight: 600; }
.phone__status-icons { display: flex; align-items: center; gap: 5px; transform: translateX(9px); }
.phone__caller { text-align: center; margin-top: 46px; }
.phone__avatar { width: 92px; height: 92px; margin: 0 auto; border-radius: 50%; background: linear-gradient(155deg,#6ea2f6,#3f78e6); display: flex; align-items: center; justify-content: center; font-family: var(--font-serif); font-size: 38px; font-weight: 500; box-shadow: 0 10px 26px rgba(20,40,90,.4); }
.phone__screen[data-phase="ringing"] .phone__avatar { animation: ringShake 1.1s ease-in-out infinite; }
.phone__caller-name { font-size: 22px; font-weight: 500; letter-spacing: -.01em; margin-top: 16px; }
.phone__status-line { font-size: 17px; color: rgba(255,255,255,.7); margin-top: 6px; }

.phone__controls { position: absolute; bottom: 118px; left: 0; right: 0; display: none; grid-template-columns: repeat(3,1fr); row-gap: 38px; justify-items: center; padding: 0 20px; }
.phone__control-btn { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.phone__control-icon { width: 66px; height: 66px; border-radius: 50%; background: rgba(255,255,255,.18); display: flex; align-items: center; justify-content: center; }
.phone__control-btn span { font-size: 13px; }
.phone__end-call { position: absolute; bottom: 44px; left: 50%; transform: translateX(-50%); width: 66px; height: 66px; border-radius: 50%; background: #f5382e; border: none; display: none; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(245,56,46,.4); }

.phone__track { position: absolute; bottom: 52px; left: 22px; right: 22px; height: 70px; border-radius: 999px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.22); overflow: hidden; display: none; }
.phone__track-label { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 7px; font-size: 15px; font-weight: 600; color: rgba(255,255,255,.85); padding-left: 62px; pointer-events: none; }
.phone__chev { animation: phChev 1.2s ease-in-out infinite; }
.phone__knob { position: absolute; top: 4px; left: 4px; width: 62px; height: 62px; border-radius: 50%; background: #34c759; border: none; display: flex; align-items: center; justify-content: center; cursor: grab; touch-action: none; transform: translateX(0px); transition: transform .32s cubic-bezier(.34,1.4,.5,1); animation: phKnobPulse 1.8s ease-out infinite; }
.phone__knob.is-dragging { transition: none; }

.phone__home-indicator { position: absolute; bottom: 9px; left: 50%; transform: translateX(-50%); width: 130px; height: 5px; border-radius: 3px; background: rgba(255,255,255,.85); }

.phone__lock { position: absolute; inset: 0; border-radius: 42px; background: rgba(18,35,63,.34); backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px); display: flex; align-items: center; justify-content: center; padding: 18px; z-index: 6; }
.phone__lock-card { width: 100%; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.28); border-radius: 24px; box-shadow: 0 24px 60px rgba(12,30,70,.4); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); padding: 26px 22px; text-align: center; color: #fff; }
.phone__lock-badge { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #bcd8fb; background: rgba(255,255,255,.14); padding: 5px 12px; border-radius: 999px; }
.phone__lock-card h3 { font-family: var(--font-serif); font-weight: 500; font-size: 24px; line-height: 1.12; margin: 14px 0 0; }
.phone__lock-card p { font-size: 14px; line-height: 1.55; color: rgba(230,240,255,.86); margin: 11px 0 0; }
.phone__lock-start { margin-top: 20px; width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 14px; border: none; border-radius: 13px; background: linear-gradient(180deg,#3f8bf5,#2f6fe0); color: #fff; font-family: var(--font-sans); font-weight: 800; font-size: 15px; box-shadow: 0 12px 30px rgba(47,111,224,.45); }
.phone__tap-hint { position: absolute; left: 50%; bottom: 64px; transform: translateX(-14px); z-index: 8; pointer-events: none; animation: phTapCursor 2.4s ease-in-out infinite; }
.phone__swipe-hint { position: absolute; left: 34px; bottom: 64px; z-index: 8; pointer-events: none; display: none; animation: phSwipeCursor 1.9s ease-in-out infinite; }

/* phase visibility */
.phone__screen[data-phase="ringing"] .phone__track { display: block; }
.phone__screen[data-phase="live"] .phone__controls { display: grid; }
.phone__screen[data-phase="live"] .phone__end-call,
.phone__screen[data-phase="connecting"] .phone__end-call { display: flex; }
.phone:not(.phone--started) .phone__lock { display: flex; }
.phone.phone--started .phone__lock { display: none; }
.phone.phone--started.phone--drag-zero .phone__swipe-hint { display: block; }
.phone--agent-speaking .phone__avatar { animation: avatarGlow 1.2s ease-in-out infinite; }

/* ===== CALLS SECTION ===== */
.calls-section { width: 100%; background: linear-gradient(180deg,#ffffff 0%,#ffffff 82%,#f4f6fa 100%); padding: 96px 40px 110px; }
.calls-section__inner { max-width: 1440px; margin: 0 auto; }
.calls-section__heading { font-size: 60px; font-weight: 800; letter-spacing: -.025em; color: var(--ink); margin: 0 0 44px; text-wrap: balance; }
.calls-section__cards { display: flex; gap: 26px; align-items: stretch; flex-wrap: wrap; }

.call-card { flex: 1 1 440px; min-width: 0; display: flex; flex-direction: column; border-radius: 30px; padding: 44px 44px 40px; overflow: hidden; }
.call-card h3 { font-size: 29px; font-weight: 800; line-height: 1.22; letter-spacing: -.01em; margin: 0; }
.call-card p { font-size: 17px; line-height: 1.5; margin: 16px 0 0; max-width: 470px; }
.call-card__pill { display: inline-flex; align-items: center; gap: 7px; vertical-align: middle; padding: 5px 13px 5px 11px; border-radius: 999px; font-size: 24px; }

.call-card--answer { color: #fff; background: linear-gradient(155deg,#6ea2f6 0%,#4f86ee 55%,#4278e6 100%); box-shadow: 0 24px 60px rgba(60,110,220,.28); }
.call-card--answer p { color: rgba(255,255,255,.92); }
.call-card__pill--answer { background: rgba(255,255,255,.9); color: #2f6fe0; box-shadow: 0 4px 12px rgba(30,60,140,.2); }

.call-card--book { background: var(--surface-soft); border: 1px solid rgba(20,30,50,.06); box-shadow: 0 24px 60px rgba(40,60,100,.1); }
.call-card--book h3 { color: var(--ink); }
.call-card--book p { color: var(--ink-soft); }
.call-card__pill--book { background: #fff; color: var(--ink); box-shadow: 0 4px 12px rgba(30,40,70,.12); }

.call-card__timer { text-align: center; margin: 44px 0 6px; }
.call-card__timer-value { font-size: 56px; font-weight: 800; letter-spacing: .01em; color: rgba(255,255,255,.9); }
.call-card__timer-label { display: inline-flex; align-items: center; gap: 8px; font-size: 17px; font-weight: 700; color: rgba(255,255,255,.9); margin-top: 2px; }
.call-card__live-dot { width: 9px; height: 9px; border-radius: 50%; background: #ff5b52; }

.waveform { display: flex; align-items: flex-end; gap: 4px; height: 94px; margin: 10px 0 0; }
.waveform__bar { flex: none; width: 4px; border-radius: 2px; background: #fff; }

.call-card__panel { margin-top: auto; padding-top: 30px; }
.tabs { display: flex; flex-wrap: wrap; gap: 5px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.2); border-radius: 14px; padding: 5px; }
.tab { display: inline-flex; align-items: center; gap: 6px; padding: 8px 13px; border: none; border-radius: 9px; font-size: 13.5px; font-weight: 700; background: transparent; color: rgba(255,255,255,.82); }
.tab.is-active { background: rgba(255,255,255,.92); color: #2f6fe0; }
.tab-content { margin-top: 12px; border-radius: 16px; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.22); padding: 18px; min-height: 252px; color: #fff; }
.tab-panel { display: none; }
.tab-panel.is-active { display: block; }

.transcript { display: flex; flex-direction: column; gap: 9px; font-size: 13.5px; line-height: 1.42; }
.transcript__bubble { max-width: 86%; padding: 9px 13px; }
.transcript__bubble--in { align-self: flex-start; background: rgba(255,255,255,.18); border-radius: 14px 14px 14px 4px; }
.transcript__bubble--out { align-self: flex-end; background: #fff; color: #2f6fe0; font-weight: 600; border-radius: 14px 14px 4px 14px; }

.caller-info { display: grid; grid-template-columns: auto 1fr; gap: 12px 18px; font-size: 14px; align-items: baseline; }
.caller-info__label { opacity: .7; }
.caller-info__value { font-weight: 700; }

.sent-email { font-size: 13.5px; line-height: 1.5; }
.sent-email__header { display: flex; flex-direction: column; gap: 4px; border-bottom: 1px solid rgba(255,255,255,.22); padding-bottom: 11px; margin-bottom: 11px; }
.sent-email__label { opacity: .7; }
.sent-email__list { display: flex; flex-direction: column; gap: 5px; margin: 9px 0 11px; padding-left: 2px; }
.sent-email__recap-title { font-weight: 700; margin-bottom: 4px; }
.sent-email p { margin: 0 0 11px; font-size: inherit; }
.sent-email__attachment { display: inline-flex; align-items: center; gap: 7px; background: rgba(255,255,255,.18); padding: 6px 11px; border-radius: 8px; font-weight: 600; }

.recap { font-size: 14px; line-height: 1.5; }
.recap__title { font-weight: 700; margin-bottom: 8px; }
.recap p { margin: 0 0 12px; font-size: inherit; }
.recap__list { display: flex; flex-direction: column; gap: 6px; }
.recap__meta { opacity: .75; margin-top: 12px; font-size: 13px; }

.calendar { margin-top: 28px; border-radius: 16px; background: #fff; border: 1px solid rgba(20,30,50,.1); box-shadow: 0 10px 28px rgba(40,60,100,.1); overflow: hidden; color: #3c4450; }
.calendar__header { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border-bottom: 1px solid var(--surface-soft); }
.calendar__nav { display: flex; align-items: center; gap: 12px; }
.calendar__arrows { display: inline-flex; gap: 8px; font-size: 15px; color: #98a1af; }
.calendar__month { font-size: 15px; font-weight: 700; color: #1f2733; }
.calendar__view { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #d8dde5; border-radius: 8px; padding: 5px 11px; font-size: 12px; font-weight: 600; color: var(--ink-soft); }
.calendar__daynames { display: grid; grid-template-columns: 36px repeat(7,1fr); border-bottom: 1px solid var(--surface-soft); }
.calendar__dayname { text-align: center; padding: 7px 0; }
.calendar__dow { font-size: 9px; letter-spacing: .06em; color: #8a94a2; }
.calendar__date { font-size: 14px; font-weight: 600; color: #1f2733; }
.calendar__date--today { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: #2f6fe0; color: #fff; font-size: 13px; }
.calendar__grid { display: grid; grid-template-columns: 36px repeat(7,1fr); height: 248px; }
.calendar__hours { display: flex; flex-direction: column; justify-content: space-between; padding: 1px 5px 6px; font-size: 9px; color: #9aa4b2; text-align: right; }
.calendar__col { position: relative; border-left: 1px solid var(--surface-soft); background: repeating-linear-gradient(to bottom, transparent 0, transparent 30px, #f2f4f8 30px, #f2f4f8 31px); }
.calendar__event { position: absolute; left: 2px; right: 2px; height: 26px; border-radius: 5px; padding: 3px 5px; font-size: 9.5px; line-height: 1.15; overflow: hidden; background: #e6eefb; color: #2f6fe0; font-weight: 600; }
.calendar__event--highlight { background: #2f6fe0; color: #fff; box-shadow: 0 4px 10px rgba(47,111,224,.4); font-size: 10px; padding: 5px 7px; }
.calendar__event-title { font-weight: 700; }
.calendar__event--highlight > div { opacity: .92; }
.calendar__event--highlight > .calendar__event-title { opacity: 1; }

.calendar-mobile { display: none; }
.calendar-mobile__header { display: flex; align-items: center; justify-content: space-between; padding: 13px 15px; border-bottom: 1px solid var(--surface-soft); }
.calendar-mobile__day { font-size: 15px; font-weight: 700; color: #1f2733; }
.calendar-mobile__list { padding: 6px 0; }
.calendar-mobile__row { display: grid; grid-template-columns: 52px 1fr; align-items: center; padding: 9px 15px; gap: 12px; }
.calendar-mobile__time { font-size: 11px; color: #9aa4b2; text-align: right; }
.calendar-mobile__event { border-radius: 8px; padding: 8px 11px; background: #e6eefb; color: #2f6fe0; font-weight: 600; font-size: 13px; }
.calendar-mobile__event--highlight { border-radius: 9px; padding: 10px 12px; background: #2f6fe0; color: #fff; box-shadow: 0 6px 16px rgba(47,111,224,.4); font-weight: normal; }
.calendar-mobile__event--highlight .calendar__event-title { font-size: 13.5px; }
.calendar-mobile__event--highlight > div:last-child { opacity: .92; font-size: 12.5px; margin-top: 2px; }

.stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; background: rgba(20,30,50,.08); border-radius: 30px; overflow: hidden; border: 1px solid rgba(20,30,50,.06); box-shadow: 0 24px 60px rgba(40,60,100,.1); margin: 64px 0 0; }
.stat { background: var(--surface-soft); padding: 40px 44px; }
.stat__value { font-family: var(--font-serif); font-weight: 500; font-size: 66px; line-height: 1; letter-spacing: -.01em; color: #2f6fe0; }
.stat__caption { font-size: 17px; line-height: 1.45; color: var(--ink-soft); margin: 16px 0 0; max-width: 280px; }

/* ===== HOW WE WORK ===== */
.how-we-work { width: 100%; background: linear-gradient(180deg,#f4f6fa 0%,#f4f6fa 85%,#ffffff 100%); padding: 96px 40px 110px; }
.how-we-work__inner { max-width: 1440px; margin: 0 auto; display: grid; grid-template-columns: minmax(0,560px) 1fr; gap: 64px; align-items: center; }
.how-we-work__image { position: relative; width: 100%; aspect-ratio: 3/4; border-radius: 30px; overflow: hidden; box-shadow: 0 30px 70px rgba(40,60,100,.16); }
.how-we-work__image img { width: 100%; height: 100%; object-fit: cover; }
.how-we-work__eyebrow { display: inline-flex; align-items: center; gap: 8px; color: #2f6fe0; font-weight: 800; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; }
.how-we-work__content h2 { font-family: var(--font-serif); font-weight: 500; font-size: 64px; line-height: 1.06; letter-spacing: -.015em; color: var(--ink); margin: 14px 0 44px; text-wrap: balance; }
.step { display: flex; gap: 22px; }
.step__rail { display: flex; flex-direction: column; align-items: center; flex: none; }
.step__marker { width: 46px; height: 46px; border-radius: 50%; background: #fff; border: 1.5px solid rgba(20,30,50,.14); display: flex; align-items: center; justify-content: center; font-family: var(--font-serif); font-size: 20px; color: var(--ink-soft); }
.step__marker--active { background: #2f6fe0; border: none; color: #fff; box-shadow: 0 8px 20px rgba(47,111,224,.4); }
.step__line { flex: 1; width: 2px; background: rgba(20,30,50,.12); margin: 6px 0; }
.step__body { flex: 1; background: #fff; border: 1px solid rgba(20,30,50,.07); border-radius: 18px; padding: 22px 26px; box-shadow: 0 14px 34px rgba(40,60,100,.06); margin-bottom: 20px; }
.step__body--active { background: #eef3fd; border-color: rgba(47,111,224,.25); box-shadow: 0 14px 34px rgba(47,111,224,.1); margin-bottom: 0; }
.step__body h3 { font-size: 23px; font-weight: 800; letter-spacing: -.01em; color: var(--ink); margin: 0; }
.step__body p { font-size: 16.5px; line-height: 1.5; color: var(--ink-soft); margin: 8px 0 0; }

/* ===== FINAL CTA ===== */
.cta-final { width: 100%; background: #ffffff; padding: 40px 40px 96px; }
.cta-final__ring { max-width: 1440px; margin: 0 auto; border-radius: 34px; padding: 2px; background: linear-gradient(135deg,#7ba9f7 0%,#2f6fe0 50%,#12233f 100%); box-shadow: 0 24px 60px rgba(47,111,224,.18); }
.cta-final__inner { border-radius: 32px; background: linear-gradient(180deg,#eaf3ff 0%,#bcd8fb 42%,#7fb0f2 78%,#5b93ec 100%); padding: 86px 40px; text-align: center; }
.cta-final__inner h2 { font-family: var(--font-serif); font-weight: 400; font-size: 60px; line-height: 1.05; letter-spacing: -.015em; color: #12233f; margin: 0; text-wrap: balance; }
.cta-final__inner p { font-size: 20px; line-height: 1.5; color: rgba(18,35,63,.72); margin: 20px 0 0; text-wrap: balance; }
.cta-final__btn { display: inline-flex; align-items: center; gap: 10px; margin-top: 38px; padding: 19px 40px; border-radius: 999px; background: linear-gradient(180deg,#3f8bf5,#2f6fe0); color: #fff; font-size: 16px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; box-shadow: 0 14px 40px rgba(47,111,224,.4); }
.cta-final__btn:hover { opacity: .85; }

/* ===== FOOTER ===== */
.footer { width: 100%; background: #0e1b30; padding: 80px 40px 46px; }
.footer__inner { max-width: 1440px; margin: 0 auto; }
.footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 56px; }
.footer__logo { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; font-size: 24px; letter-spacing: -.01em; color: #fff; }
.footer__brand p { font-size: 16px; line-height: 1.6; color: rgba(200,214,238,.72); margin: 22px 0 0; max-width: 360px; }
.footer__col-title { font-size: 12.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #6ea2f6; }
.footer__col { display: flex; flex-direction: column; }
.footer__col a, .footer__col span { font-size: 16.5px; color: rgba(214,226,246,.9); margin-top: 20px; }
.footer__col a[href^="mailto"], .footer__col a[href^="https://calendly"] { color: #7fb0f2; }
.footer__bottom { margin-top: 64px; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.1); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 14px; font-size: 14px; color: rgba(180,196,224,.6); }
.footer__legal { display: flex; gap: 26px; }
.footer__legal a { color: rgba(180,196,224,.6); margin-top: 0; }

/* ===== FAQ PAGE ===== */
.faq-header { width: 100%; background: linear-gradient(180deg,#0e1b30 0%,#173d72 60%,#2f6fe0 130%); padding: 70px 40px 84px; }
.faq-header__inner { max-width: 900px; margin: 0 auto; text-align: center; }
.faq-header__eyebrow { font-size: 13px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #8fc0ff; }
.faq-header__title { font-family: var(--font-serif); font-weight: 400; font-size: 64px; line-height: 1.04; letter-spacing: -.015em; color: #fff; margin: 16px 0 0; text-wrap: balance; }
.faq-header__subtitle { font-size: 20px; line-height: 1.55; color: rgba(220,232,252,.82); margin: 18px auto 0; max-width: 560px; }

.faq-list-section { width: 100%; background: #f4f6fa; padding: 56px 40px 20px; }
.faq-list { max-width: 840px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
.faq-item { border-radius: 18px; background: #fff; border: 1px solid rgba(20,30,50,.08); box-shadow: 0 12px 30px rgba(40,60,100,.06); overflow: hidden; transition: border-color .25s ease; }
.faq-item.is-open { border-color: rgba(47,111,224,.35); }
.faq-item__question { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 28px; background: none; border: none; text-align: left; font-family: var(--font-sans); font-size: 20px; font-weight: 800; letter-spacing: -.01em; color: var(--ink); cursor: pointer; }
.faq-item__icon { flex: none; width: 32px; height: 32px; border-radius: 50%; background: #eef3fd; color: #2f6fe0; display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 700; transition: transform .25s ease, background .25s ease, color .25s ease; }
.faq-item.is-open .faq-item__icon { background: #2f6fe0; color: #fff; transform: rotate(45deg); }
.faq-item__answer { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.faq-item.is-open .faq-item__answer { max-height: 340px; }
.faq-item__answer p { font-size: 16.5px; line-height: 1.6; color: var(--ink-soft); margin: 0; padding: 0 28px 26px; }
@media (prefers-reduced-motion: reduce) {
  .faq-item__icon, .faq-item__answer, .faq-item { transition: none; }
}

.faq-cta-section { width: 100%; background: #f4f6fa; padding: 44px 40px 72px; }
.faq-cta { max-width: 840px; margin: 0 auto; border-radius: 26px; background: #eef1f5; border: 1px solid rgba(20,30,50,.07); padding: 52px 44px; text-align: center; }
.faq-cta h2 { font-size: 34px; font-weight: 800; letter-spacing: -.02em; color: var(--ink); margin: 0; text-wrap: balance; }
.faq-cta p { font-size: 17.5px; line-height: 1.5; color: var(--ink-soft); margin: 14px auto 0; max-width: 480px; }
.faq-cta__btn { display: inline-flex; align-items: center; gap: 9px; margin-top: 28px; padding: 16px 30px; border-radius: 999px; background: linear-gradient(180deg,#3f8bf5,#2f6fe0); color: #fff; font-size: 15px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; box-shadow: 0 14px 34px rgba(47,111,224,.35); }
.faq-cta__btn:hover { opacity: .85; }

/* ===== MOBILE (<=900px) — kept last so it wins the cascade over all base rules above ===== */
@media (max-width: 900px) {
  .nav { display: none; }
  .mnav { display: block; }
  .mnav__bar { position: fixed; top: 0; left: 0; right: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; background: #0e1b30; box-shadow: 0 8px 24px rgba(8,16,34,.28); }
  .mnav__logo { display: flex; align-items: center; gap: 7px; font-weight: 800; font-size: 19px; letter-spacing: -.01em; color: #fff; }
  .mnav__toggle { display: flex; flex-direction: column; justify-content: center; gap: 5px; width: 42px; height: 42px; padding: 0 10px; border: none; background: rgba(255,255,255,.16); border-radius: 11px; }
  .mnav__toggle span { height: 2px; background: #fff; border-radius: 2px; }
  .mnav__menu { position: fixed; top: 64px; left: 0; right: 0; z-index: 29; transform: translateY(-12px); opacity: 0; pointer-events: none; transition: transform .32s cubic-bezier(.4,0,.2,1), opacity .32s ease; display: flex; flex-direction: column; gap: 4px; background: rgba(14,27,48,.92); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-radius: 18px; margin: 0 18px; padding: 16px; box-shadow: 0 20px 50px rgba(8,16,34,.4); }
  .mnav__menu.is-open { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .mnav__item { padding: 13px 14px; border-radius: 11px; font-weight: 700; font-size: 17px; color: #eaf1fb; }
  .mnav__item--cta { margin-top: 6px; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 15px; background: linear-gradient(180deg,#3f8bf5,#2f6fe0); color: #fff; border-radius: 12px; }

  .hero { background-size: 165% auto; padding-bottom: 40px; }
  .hero__spacer { height: 88px; background: #0e1b30; }
  .hero__content { padding: 34px 22px 0; }
  .hero__title { font-size: 46px; line-height: 1.03; }
  .hero__subtitle { font-size: 17px; line-height: 1.45; margin-top: 22px; }
  .hero__cta { margin-top: 30px; padding: 16px 28px; font-size: 18px; }
  .hero__demo-heading { margin-top: 70px; }
  .hero__demo-heading h2 { font-size: 32px; }

  .hero__phone-outer { margin-top: 70px; height: 534px; display: flex; justify-content: center; align-items: flex-start; }
  .phone-wrap { transform: scale(.87); transform-origin: top center; }

  .calls-section { padding: 56px 20px 64px; }
  .calls-section__heading { font-size: 34px; margin: 0 0 28px; }
  .calls-section__cards { flex-direction: column; gap: 22px; }
  .call-card { flex: 1 1 auto; width: 100%; border-radius: 26px; padding: 30px 24px; }
  .call-card--answer { padding-bottom: 30px; }
  .call-card h3 { font-size: 24px; line-height: 1.24; }
  .call-card p { font-size: 15.5px; margin-top: 14px; }
  .call-card__pill { font-size: 20px; padding: 4px 11px 4px 9px; }
  .call-card__timer { margin: 30px 0 4px; }
  .call-card__timer-value { font-size: 46px; }
  .call-card__timer-label { font-size: 15px; }
  .waveform { gap: 3px; height: 76px; margin-top: 8px; }
  .waveform__bar { flex: 1 1 0; width: auto; }
  .call-card__panel { margin-top: 26px; padding-top: 0; }
  .tabs { gap: 4px; border-radius: 13px; padding: 4px; }
  .tab { padding: 7px 11px; font-size: 12.5px; border-radius: 8px; }
  .tab-content { margin-top: 10px; border-radius: 15px; padding: 16px; min-height: 240px; }
  .transcript { font-size: 13px; }
  .caller-info { font-size: 13.5px; gap: 11px 16px; }
  .sent-email, .recap { font-size: 13px; }

  .calendar { display: none; }
  .calendar-mobile { display: block; margin-top: 24px; border-radius: 15px; background: #fff; border: 1px solid rgba(20,30,50,.1); box-shadow: 0 10px 28px rgba(40,60,100,.1); overflow: hidden; color: #3c4450; }

  .stats { grid-template-columns: 1fr; gap: 2px; border-radius: 26px; margin-top: 34px; }
  .stat { padding: 28px 26px; }
  .stat__value { font-size: 52px; }
  .stat__caption { font-size: 15.5px; margin-top: 10px; }

  .how-we-work { padding: 56px 20px 64px; }
  .how-we-work__inner { grid-template-columns: 1fr; gap: 0; }
  .how-we-work__image { aspect-ratio: 4/5; margin-bottom: 34px; }
  .how-we-work__content h2 { font-size: 40px; margin: 12px 0 32px; }

  .cta-final { padding: 24px 20px 56px; }
  .cta-final__ring { border-radius: 28px; }
  .cta-final__inner { padding: 52px 24px; border-radius: 26px; }
  .cta-final__inner h2 { font-size: 38px; line-height: 1.08; }
  .cta-final__inner p { font-size: 16px; }
  .cta-final__btn { margin-top: 28px; padding: 16px 26px; font-size: 14px; }

  .footer { padding: 52px 22px 36px; }
  .footer__grid { grid-template-columns: 1fr; gap: 34px; }
  .footer__bottom { flex-direction: column; gap: 12px; }

  .faq-header { padding: 40px 20px 48px; }
  .faq-header__title { font-size: 40px; }
  .faq-header__subtitle { font-size: 17px; margin-top: 14px; }

  .faq-list-section { padding: 36px 20px 12px; }
  .faq-item__question { padding: 20px 20px; font-size: 18px; }
  .faq-item__answer p { padding: 0 20px 22px; font-size: 15.5px; }

  .faq-cta-section { padding: 28px 20px 52px; }
  .faq-cta { padding: 38px 26px; border-radius: 22px; }
  .faq-cta h2 { font-size: 27px; }
  .faq-cta p { font-size: 16px; }
}
