/* ============================================================
   The Last Teleprompter — promo site
   Palette taken from the app: brand teal #3D7168, mint voice
   highlight, deep teal-black aurora background, rounded bold type.
   ============================================================ */

:root{
  --bg:        #081210;
  --bg-2:      #0b1a16;
  --ink:       #06100e;
  --teal:      #3D7168;
  --teal-2:    #5aa094;
  --mint:      #4ce0a3;
  --mint-2:    #2fd693;
  --mint-soft: rgba(76,224,163,.14);
  --cream:     #f3f1e7;
  --text:      #eaf2ef;
  --muted:     #92a8a1;
  --muted-2:   #6f867f;
  --line:      rgba(160,210,198,.12);
  --card:      rgba(255,255,255,.035);
  --card-hi:   rgba(255,255,255,.06);

  --rounded: ui-rounded, "SF Pro Rounded", "Nunito", system-ui, -apple-system, sans-serif;
  --sans: -apple-system, BlinkMacSystemFont, "Inter", system-ui, sans-serif;

  --maxw: 1180px;
  --r-lg: 28px;
  --r-md: 18px;

  --shadow: 0 30px 80px -30px rgba(0,0,0,.85);
  --glow-mint: 0 0 0 1px rgba(76,224,163,.35), 0 18px 60px -16px rgba(76,224,163,.35);
}

/* ---------- reset ---------- */
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--sans);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3{ font-family:var(--rounded); font-weight:900; letter-spacing:-.02em; line-height:1.04; }
::selection{ background:var(--mint); color:#04130d; }

/* ---------- aurora backdrop ---------- */
.aurora{ position:fixed; inset:0; z-index:-1; overflow:hidden; background:
   radial-gradient(120% 90% at 50% -10%, #0e221d 0%, var(--bg) 45%, var(--ink) 100%); }
.blob{ position:absolute; border-radius:50%; filter:blur(90px); opacity:.5; will-change:transform; }
.blob--teal{ width:55vw; height:55vw; left:-12vw; top:-8vw; background:radial-gradient(circle,#2f6c61,transparent 68%); animation:drift1 22s ease-in-out infinite; }
.blob--mint{ width:42vw; height:42vw; right:-8vw; top:18vh; background:radial-gradient(circle,#2bd391,transparent 66%); opacity:.28; animation:drift2 28s ease-in-out infinite; }
.blob--deep{ width:60vw; height:60vw; left:20vw; bottom:-30vw; background:radial-gradient(circle,#10453b,transparent 70%); animation:drift3 32s ease-in-out infinite; }
.grain{ position:absolute; inset:-50%; opacity:.5; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.045'/%3E%3C/svg%3E"); mix-blend-mode:overlay; }
@keyframes drift1{ 50%{ transform:translate(8vw,6vh) scale(1.1); } }
@keyframes drift2{ 50%{ transform:translate(-7vw,4vh) scale(1.15); } }
@keyframes drift3{ 50%{ transform:translate(-6vw,-5vh) scale(1.08); } }

/* ---------- shared ---------- */
.kicker{
  display:inline-block; font-family:var(--rounded); font-weight:800;
  font-size:.78rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--mint); margin-bottom:.9rem;
}
.kicker--center{ display:block; text-align:center; }
.section-head{ max-width:760px; margin:0 auto 3.2rem; text-align:center; }
.section-head h2{ font-size:clamp(2rem,4.6vw,3.3rem); }
.lead{ color:var(--muted); font-size:1.12rem; margin-top:1rem; }
.grad{ background:linear-gradient(100deg,var(--mint),var(--teal-2) 70%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.mint-word{ color:var(--mint); font-weight:600; }
em{ font-style:normal; color:var(--mint); }

section{ padding:clamp(4.5rem,9vw,8rem) clamp(1.2rem,5vw,2.5rem); max-width:var(--maxw); margin:0 auto; }

/* ---------- buttons ---------- */
.btn{ display:inline-flex; align-items:center; gap:.6rem; font-family:var(--rounded);
  font-weight:800; border-radius:100px; padding:.8rem 1.35rem; cursor:pointer;
  transition:transform .25s cubic-bezier(.2,.7,.3,1), box-shadow .25s, background .25s; white-space:nowrap; }
.btn:active{ transform:scale(.97); }
.btn--store{ background:var(--cream); color:#0b1714; box-shadow:0 10px 30px -10px rgba(243,241,231,.4); }
.btn--store:hover{ transform:translateY(-2px); box-shadow:0 16px 40px -12px rgba(243,241,231,.55); }
.btn--ghost{ background:rgba(255,255,255,.05); color:var(--text); border:1px solid var(--line); }
.btn--ghost:hover{ background:rgba(255,255,255,.1); transform:translateY(-2px); }
.btn--lg{ padding:.95rem 1.6rem; font-size:1.02rem; }
.btn--xl{ padding:1.1rem 2rem; font-size:1.1rem; }
.btn .apple{ width:1.1em; height:1.1em; flex:none; margin-top:-2px; }
.btn__stack{ display:flex; flex-direction:column; line-height:1.05; align-items:flex-start; }
.btn__stack small{ font-family:var(--sans); font-weight:600; font-size:.62em; opacity:.7; letter-spacing:.02em; }
.btn__stack b{ font-size:1.04em; }

/* ---------- nav ---------- */
.nav{ position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:1.5rem;
  padding:.85rem clamp(1rem,4vw,2.2rem); max-width:1320px; margin:0 auto;
  transition:background .3s, border-color .3s, backdrop-filter .3s; border-bottom:1px solid transparent; }
.nav.scrolled{ background:rgba(8,18,16,.72); backdrop-filter:blur(18px) saturate(150%);
  -webkit-backdrop-filter:blur(18px) saturate(150%); border-bottom-color:var(--line); }
.nav__brand{ display:flex; align-items:center; gap:.6rem; font-family:var(--rounded); font-weight:900; }
.nav__icon{ width:38px; height:38px; border-radius:10px; box-shadow:0 6px 16px -6px rgba(0,0,0,.6); }
.nav__name{ font-size:1.02rem; }
.nav__links{ display:flex; gap:1.6rem; margin-left:auto; font-weight:600; font-size:.95rem; color:var(--muted); }
.nav__links a{ position:relative; transition:color .2s; }
.nav__links a:hover{ color:var(--text); }
.nav__links a::after{ content:""; position:absolute; left:0; bottom:-4px; width:0; height:2px; background:var(--mint); transition:width .25s; border-radius:2px; }
.nav__links a:hover::after{ width:100%; }
.nav__cta{ padding:.6rem 1.1rem; font-size:.92rem; }

/* ---------- hero ---------- */
.hero{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4rem); align-items:center;
  padding-top:clamp(2.5rem,6vw,5rem); padding-bottom:clamp(3rem,7vw,6rem); min-height:88vh; }
.eyebrow{ display:inline-flex; align-items:center; gap:.55rem; font-family:var(--rounded); font-weight:700;
  font-size:.86rem; color:var(--teal-2); padding:.45rem .9rem; border:1px solid var(--line);
  border-radius:100px; background:rgba(76,224,163,.05); margin-bottom:1.6rem; }
.eyebrow .dot{ width:8px; height:8px; border-radius:50%; background:var(--mint); box-shadow:0 0 0 0 var(--mint); animation:pulse 2.2s infinite; }
@keyframes pulse{ 0%{ box-shadow:0 0 0 0 rgba(76,224,163,.6);} 70%{ box-shadow:0 0 0 9px rgba(76,224,163,0);} 100%{ box-shadow:0 0 0 0 rgba(76,224,163,0);} }
.hero__title{ font-size:clamp(2.6rem,6vw,4.7rem); }
.hero__sub{ color:var(--muted); font-size:1.18rem; max-width:36ch; margin:1.5rem 0 2rem; }
.hero__sub strong{ color:var(--text); font-weight:700; }
.hero__cta{ display:flex; gap:.9rem; flex-wrap:wrap; }
.hero__trust{ list-style:none; display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; margin-top:2rem; }
.hero__trust li{ display:flex; align-items:center; gap:.5rem; color:var(--muted); font-size:.95rem; font-weight:500; }
.hero__trust .i{ width:20px; height:20px; padding:3px; border-radius:50%; background:var(--mint-soft); color:var(--mint); fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }

/* hero stage / phones */
.hero__stage{ position:relative; display:flex; justify-content:center; align-items:center; min-height:560px; }
.price-tag{ position:absolute; top:-6px; right:4%; z-index:5; font-family:var(--rounded); font-weight:900;
  font-size:1.5rem; background:var(--mint); color:#04130d; padding:.55rem .9rem .5rem; border-radius:16px;
  box-shadow:0 16px 40px -12px rgba(76,224,163,.6); transform:rotate(6deg); line-height:1; }
.price-tag small{ display:block; font-size:.62rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; opacity:.7; margin-top:2px; }

/* phone frame */
.phone{ position:relative; width:300px; aspect-ratio:1284/2778; border-radius:46px; padding:11px;
  background:linear-gradient(155deg,#2a3633,#0c1512); box-shadow:var(--shadow), inset 0 0 0 1.5px rgba(255,255,255,.08);
  flex:none; }
.phone::after{ content:""; position:absolute; inset:0; border-radius:46px; box-shadow:inset 0 0 0 6px #050b09; pointer-events:none; }
.phone img{ width:100%; height:100%; object-fit:cover; border-radius:36px; }
.phone__island{ position:absolute; top:20px; left:50%; transform:translateX(-50%); width:86px; height:24px;
  background:#040908; border-radius:14px; z-index:6; }
.phone__screen{ width:100%; height:100%; border-radius:36px; overflow:hidden; position:relative; }

.phone--demo{ z-index:3; transform:rotate(-3deg); animation:floaty 6s ease-in-out infinite; }
.phone--peek{ position:absolute; right:1%; bottom:-4%; width:188px; z-index:1; transform:rotate(8deg);
  opacity:.9; animation:floaty2 7s ease-in-out infinite; }
@keyframes floaty{ 50%{ transform:rotate(-3deg) translateY(-14px); } }
@keyframes floaty2{ 50%{ transform:rotate(8deg) translateY(12px); } }

/* ---------- live teleprompter demo screen ---------- */
.tp{ background:#0a0f0e; font-family:var(--rounded); }
.tp__cam{ position:absolute; inset:0; background:
  radial-gradient(120% 80% at 50% 18%, #6b5848 0%, #3a2f29 38%, #15110f 78%),
  radial-gradient(60% 40% at 50% 26%, rgba(255,225,200,.35), transparent 60%);
}
.tp__cam::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.55) 100%); }
.tp__topbar{ position:absolute; top:42px; left:0; right:0; display:flex; justify-content:space-between;
  padding:0 18px; z-index:4; color:#fff; font-size:.72rem; font-weight:700; }
.tp__topbar .tp__x{ opacity:.85; }
.tp__timer{ color:#ff5b54; }
.tp__viewport{ position:absolute; left:0; right:0; top:34%; bottom:118px; overflow:hidden; z-index:3;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%, #000 22%, #000 78%, transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0%, #000 22%, #000 78%, transparent 100%); }
.tp__script{ padding:0 18px; font-size:1.18rem; font-weight:800; line-height:1.5; color:rgba(255,255,255,.96);
  text-shadow:0 2px 8px rgba(0,0,0,.85); will-change:transform; }
.tp__script .w{ transition:color .18s, opacity .18s; }
.tp__script .w.read{ color:rgba(255,255,255,.4); }
.tp__script .w.cur{ color:var(--mint); text-shadow:0 0 16px rgba(76,224,163,.55); }
/* reading-line bracket overlay (signature visual) */
.tp__readline{ position:absolute; left:14px; right:14px; top:48%; height:46px; z-index:4; pointer-events:none; }
.bk{ position:absolute; width:14px; height:14px; border:2.5px solid var(--mint); }
.bk.tl{ top:0; left:0; border-right:0; border-bottom:0; border-radius:5px 0 0 0; }
.bk.tr{ top:0; right:0; border-left:0; border-bottom:0; border-radius:0 5px 0 0; }
.bk.bl{ bottom:0; left:0; border-right:0; border-top:0; border-radius:0 0 0 5px; }
.bk.br{ bottom:0; right:0; border-left:0; border-top:0; border-radius:0 0 5px 0; }
.tp__readline::before{ content:""; position:absolute; left:0; right:0; top:50%; height:2px;
  background:linear-gradient(90deg,transparent,rgba(76,224,163,.55),transparent); box-shadow:0 0 12px rgba(76,224,163,.5); }
.tp__controls{ position:absolute; left:12px; right:12px; bottom:14px; z-index:5; text-align:center;
  background:rgba(18,24,22,.62); backdrop-filter:blur(12px); border-radius:22px; padding:12px 14px;
  border:1px solid rgba(255,255,255,.08); }
.tp__modes{ display:inline-flex; background:rgba(0,0,0,.4); border-radius:100px; padding:4px; gap:2px; }
.tp__modes .seg{ font-size:.72rem; font-weight:800; color:rgba(255,255,255,.7); padding:.32rem .85rem; border-radius:100px; }
.tp__modes .seg--on{ background:var(--cream); color:#0b1714; }
.tp__listen{ display:flex; align-items:center; justify-content:center; gap:.45rem; color:var(--mint);
  font-size:.72rem; font-weight:700; margin:10px 0 8px; }
.wave{ display:inline-flex; align-items:flex-end; gap:2px; height:13px; }
.wave i{ width:3px; background:var(--mint); border-radius:2px; animation:eq 1s ease-in-out infinite; }
.wave i:nth-child(1){ height:40%; animation-delay:0s;} .wave i:nth-child(2){ height:80%; animation-delay:.15s;}
.wave i:nth-child(3){ height:55%; animation-delay:.3s;} .wave i:nth-child(4){ height:95%; animation-delay:.1s;}
.wave i:nth-child(5){ height:50%; animation-delay:.25s;}
@keyframes eq{ 50%{ transform:scaleY(.35); } }
.tp__rec{ width:52px; height:52px; border-radius:50%; border:3px solid rgba(255,255,255,.85); margin:0 auto; display:grid; place-items:center; }
.rec-dot{ width:36px; height:36px; border-radius:50%; background:#ff453a; box-shadow:0 0 18px rgba(255,69,58,.5); }

/* ---------- marquee ---------- */
.marquee{ overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:1.1rem 0; mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.marquee__track{ display:inline-flex; gap:1.6rem; white-space:nowrap; font-family:var(--rounded);
  font-weight:800; font-size:1.5rem; color:var(--muted-2); animation:scrollx 38s linear infinite; }
.marquee__track .sep{ color:var(--mint); }
@keyframes scrollx{ to{ transform:translateX(-50%); } }

/* ---------- voice section ---------- */
.voice__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin-top:1rem; }
.vcard{ background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); padding:2rem 1.7rem;
  transition:transform .3s, border-color .3s, background .3s; }
.vcard:hover{ transform:translateY(-6px); border-color:rgba(76,224,163,.35); background:var(--card-hi); }
.vcard__icon{ width:54px; height:54px; border-radius:16px; display:grid; place-items:center;
  background:var(--mint-soft); margin-bottom:1.2rem; }
.vcard__icon svg{ width:28px; height:28px; fill:none; stroke:var(--mint); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.vcard h3{ font-size:1.3rem; margin-bottom:.5rem; }
.vcard p{ color:var(--muted); font-size:1rem; }
.voice__foot{ text-align:center; color:var(--muted); margin-top:2.6rem; font-size:1.05rem; }

/* ---------- split ---------- */
.split{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.split__media{ display:flex; justify-content:center; }
.split__media .phone{ width:290px; }
.split__copy h2{ font-size:clamp(1.9rem,4vw,2.9rem); margin:.3rem 0 1.2rem; }
.split__copy p{ color:var(--muted); font-size:1.1rem; margin-bottom:1rem; }
.ticks{ list-style:none; margin-top:1.6rem; display:grid; gap:.7rem; }
.ticks li{ position:relative; padding-left:2rem; font-weight:500; }
.ticks li::before{ content:""; position:absolute; left:0; top:.15em; width:20px; height:20px; border-radius:6px;
  background:var(--mint-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234ce0a3' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4 10-10'/%3E%3C/svg%3E") center/13px no-repeat; }

/* ---------- manifesto ---------- */
.manifesto{ text-align:center; }
.manifesto__title{ font-size:clamp(1.7rem,4.2vw,3rem); max-width:22ch; margin:0 auto; color:var(--text); text-wrap:balance; }
.nolist{ list-style:none; display:flex; flex-wrap:wrap; justify-content:center; gap:.9rem; margin:3rem auto 0; max-width:760px; }
.nolist li{ display:inline-flex; align-items:center; gap:.6rem; font-family:var(--rounded); font-weight:800;
  font-size:1.25rem; padding:.7rem 1.3rem; border:1px solid var(--line); border-radius:100px;
  background:var(--card); color:var(--text); transition:transform .3s, border-color .3s; }
.nolist li:hover{ transform:translateY(-4px) rotate(-1deg); border-color:rgba(76,224,163,.3); }
.nolist .x{ display:grid; place-items:center; width:24px; height:24px; border-radius:50%;
  background:var(--mint); color:#04130d; font-size:.8rem; font-weight:900; }
.manifesto__punch{ font-family:var(--rounded); font-weight:900; font-size:clamp(1.8rem,5vw,3.4rem);
  margin-top:3rem; letter-spacing:-.02em; }

/* ---------- features grid ---------- */
.fgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.feat{ background:var(--card); border:1px solid var(--line); border-radius:var(--r-md); padding:1.5rem 1.4rem;
  transition:transform .28s, border-color .28s, background .28s; }
.feat:hover{ transform:translateY(-5px); border-color:rgba(76,224,163,.3); background:var(--card-hi); }
.feat__ic{ width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:var(--mint-soft); margin-bottom:1rem; }
.feat__ic svg{ width:23px; height:23px; fill:none; stroke:var(--mint); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.feat h3{ font-size:1.05rem; margin-bottom:.3rem; }
.feat p{ color:var(--muted); font-size:.92rem; line-height:1.45; }

/* ---------- screens row ---------- */
.shots__row{ display:flex; gap:1.4rem; justify-content:center; flex-wrap:wrap; }
.shot{ text-align:center; }
.shot .phone{ width:230px; transition:transform .4s; }
.shot:hover .phone{ transform:translateY(-10px) scale(1.02); }
.shot figcaption{ margin-top:1rem; font-family:var(--rounded); font-weight:700; color:var(--muted); font-size:.95rem; }

/* ---------- privacy ---------- */
.privacy{ max-width:980px; }
.privacy__inner{ display:flex; gap:2rem; align-items:center; background:linear-gradient(120deg,rgba(76,224,163,.08),rgba(61,113,104,.05));
  border:1px solid rgba(76,224,163,.2); border-radius:var(--r-lg); padding:clamp(1.8rem,4vw,3rem); }
.privacy__badge{ flex:none; width:84px; height:84px; border-radius:24px; display:grid; place-items:center;
  background:var(--mint-soft); }
.privacy__badge svg{ width:46px; height:46px; fill:none; stroke:var(--mint); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.privacy h2{ font-size:clamp(1.6rem,3.5vw,2.4rem); margin-bottom:.6rem; }
.privacy p{ color:var(--muted); font-size:1.05rem; }
.privacy strong{ color:var(--text); }

/* ---------- use cases ---------- */
.chips{ display:flex; flex-wrap:wrap; justify-content:center; gap:.7rem; max-width:880px; margin:0 auto; }
.chips span{ font-family:var(--rounded); font-weight:700; padding:.7rem 1.2rem; border-radius:100px;
  background:var(--card); border:1px solid var(--line); color:var(--text); font-size:1rem;
  transition:transform .25s, background .25s, color .25s, border-color .25s; }
.chips span:hover{ background:var(--mint); color:#04130d; border-color:var(--mint); transform:translateY(-3px) scale(1.04); }

/* ---------- final CTA ---------- */
.cta{ max-width:920px; }
.cta__card{ position:relative; text-align:center; padding:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,5vw,3.5rem);
  border-radius:36px; background:radial-gradient(120% 120% at 50% 0%, rgba(76,224,163,.12), rgba(11,26,22,.6) 60%);
  border:1px solid rgba(76,224,163,.22); box-shadow:var(--shadow); overflow:hidden; }
.cta__card>.bk{ width:26px; height:26px; border-width:3px; }
.cta__card .bk.tl{ top:20px; left:20px; } .cta__card .bk.tr{ top:20px; right:20px; }
.cta__card .bk.bl{ bottom:20px; left:20px; } .cta__card .bk.br{ bottom:20px; right:20px; }
.cta__icon{ width:90px; height:90px; border-radius:22px; margin:0 auto 1.6rem; box-shadow:0 20px 50px -16px rgba(0,0,0,.7); }
.cta__card h2{ font-size:clamp(1.6rem,3.8vw,2.6rem); max-width:20ch; margin:0 auto 1.4rem; }
.cta__price{ margin-bottom:1.8rem; }
.cta__price .amt{ font-family:var(--rounded); font-weight:900; font-size:2.4rem; color:var(--mint); }
.cta__price .sub{ display:block; color:var(--muted); font-size:.98rem; margin-top:.2rem; }
.cta__card .btn--xl{ margin:0 auto; }
.cta__fine{ color:var(--muted-2); font-size:.85rem; margin-top:1.2rem; }

/* ---------- footer ---------- */
.foot{ max-width:var(--maxw); margin:0 auto; padding:3.5rem clamp(1.2rem,5vw,2.5rem) 4rem; text-align:center;
  border-top:1px solid var(--line); }
.foot__brand{ display:inline-flex; align-items:center; gap:.6rem; font-family:var(--rounded); font-weight:900; font-size:1.1rem; }
.foot__brand img{ border-radius:9px; }
.foot__tag{ color:var(--muted); max-width:52ch; margin:1rem auto 1.6rem; }
.foot__meta{ display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; color:var(--muted-2); font-size:.9rem; }
.foot__meta a{ color:var(--teal-2); } .foot__meta a:hover{ color:var(--mint); }

/* ---------- reveal animation ---------- */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1); }
.reveal[data-delay="1"]{ transition-delay:.08s; }
.reveal[data-delay="2"]{ transition-delay:.16s; }
.reveal[data-delay="3"]{ transition-delay:.24s; }
.reveal.in{ opacity:1; transform:none; }

/* ---------- responsive ---------- */
@media (max-width:960px){
  .fgrid{ grid-template-columns:repeat(2,1fr); }
  .voice__grid{ grid-template-columns:1fr; }
  .nav__links{ display:none; }
  .hero{ grid-template-columns:1fr; text-align:center; min-height:auto; }
  .hero__sub{ margin-left:auto; margin-right:auto; }
  .hero__cta, .hero__trust{ justify-content:center; }
  .eyebrow{ margin-inline:auto; }
  .split{ grid-template-columns:1fr; }
  .split__copy{ text-align:center; }
  .split__copy .kicker{ margin-inline:auto; }
  .ticks{ justify-items:start; display:inline-grid; text-align:left; }
  .privacy__inner{ flex-direction:column; text-align:center; }
  .privacy .kicker{ display:block; }
}
@media (max-width:560px){
  .fgrid{ grid-template-columns:1fr; }
  .phone--peek{ display:none; }
  .hero__stage{ min-height:600px; }
  .nolist li{ font-size:1.05rem; }
  .nav__name{ display:none; }
  .marquee__track{ font-size:1.2rem; }
}

@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001s !important; animation-iteration-count:1 !important; scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; }
  .phone--demo,.phone--peek{ transform:rotate(0); }
}
