
:root{
  --bg:#f8fbff;
  --text:#0f172a;
  --muted:#64748b;
  --line:#e5ebf5;
  --white:#fff;
  --blue:#2563eb;
  --blue2:#4f46e5;
  --purple:#7c3aed;
  --navy:#172554;
  --shadow:0 30px 90px rgba(30,64,175,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  overflow-x:hidden;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 15% -5%,rgba(191,219,254,.62),transparent 29%),
    radial-gradient(circle at 90% 3%,rgba(221,214,254,.58),transparent 25%),
    var(--bg);
}
a{color:inherit;text-decoration:none}
button{font:inherit}
.shell{width:min(1180px,calc(100% - 38px));margin-inline:auto}
.page-glow{position:fixed;z-index:-1;border-radius:999px;filter:blur(70px);pointer-events:none;opacity:.45}
.glow-a{width:340px;height:340px;background:#bfdbfe;top:20%;left:-140px}
.glow-b{width:300px;height:300px;background:#ddd6fe;right:-120px;top:55%}

.topbar{
  position:sticky;top:14px;z-index:100;
  width:min(1180px,calc(100% - 28px));
  margin:14px auto 0;
  min-height:66px;padding:10px 12px 10px 15px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  border:1px solid rgba(226,232,240,.9);border-radius:22px;
  background:rgba(255,255,255,.84);backdrop-filter:blur(20px);
  box-shadow:0 14px 40px rgba(15,23,42,.065)
}
.brand{display:inline-flex;align-items:center;gap:10px;font-size:20px;font-weight:950;letter-spacing:-.03em}
.brand-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;overflow:hidden;box-shadow:0 8px 20px rgba(79,70,229,.14)}
.brand img{width:100%;height:100%;object-fit:cover}
.nav-links{display:flex;align-items:center;gap:25px;font-size:13px;color:#475569;font-weight:750}
.nav-links a:hover{color:var(--blue)}
.nav-cta{padding:11px 16px;border-radius:14px;background:#0f172a;color:#fff;font-size:13px;font-weight:850}

.hero{
  min-height:820px;padding:78px 0 90px;
  display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:64px
}
.pill{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid #dbe7fb;border-radius:999px;background:rgba(255,255,255,.74);color:#31558f;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.pill-dot{width:7px;height:7px;border-radius:50%;background:#2563eb;box-shadow:0 0 0 6px rgba(37,99,235,.09)}
.hero h1{max-width:720px;margin:21px 0 0;font-size:clamp(58px,7.5vw,98px);line-height:.94;letter-spacing:-.07em}
.gradient-text{background:linear-gradient(90deg,#2563eb 0%,#6366f1 45%,#8b5cf6 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-lead{max-width:655px;margin:29px 0 0;font-size:18px;line-height:1.75;color:#475569;font-weight:540}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.button{min-height:55px;padding:0 21px;border-radius:17px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:14px;font-weight:900;transition:.2s ease}
.button-primary{background:#2563eb;color:#fff;box-shadow:0 16px 32px rgba(37,99,235,.25)}
.button-primary:hover{transform:translateY(-2px);background:#1d4ed8}
.button-ghost{border:1px solid var(--line);background:rgba(255,255,255,.84);color:#334155}
.is-disabled{cursor:default}
.micro-proof{display:flex;flex-wrap:wrap;gap:18px;margin-top:24px;color:#64748b;font-size:12px;font-weight:700}

.hero-stage{position:relative;min-height:640px;display:grid;place-items:center}
.orbit{position:absolute;border-radius:50%;border:1px solid rgba(99,102,241,.12)}
.orbit-one{width:520px;height:520px}
.orbit-two{width:620px;height:620px;border-color:rgba(37,99,235,.08)}
.phone-wrap{position:relative;z-index:10}
.floating{animation:float 5.5s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0) rotate(1.4deg)}50%{transform:translateY(-12px) rotate(-.5deg)}}
.phone{width:min(385px,82vw);min-height:595px;padding:17px;border-radius:44px;border:7px solid #101827;background:#fff;box-shadow:0 42px 110px rgba(15,23,42,.24)}
.phone-status{display:flex;justify-content:space-between;padding:4px 7px 17px;font-size:10px;color:#475569;font-weight:850}
.phone-header{display:flex;gap:11px;align-items:center;padding:4px 4px 17px}
.phone-header img{width:43px;height:43px;border-radius:13px}
.phone-header strong,.phone-header small{display:block}
.phone-header strong{font-size:15px}
.phone-header small{margin-top:3px;font-size:10px;color:#94a3b8}
.quick-card,.timeline,.memory-mini{border:1px solid #e6ecf5;border-radius:23px;background:#f8fbff}
.quick-card{padding:16px}
.tiny-label{font-size:9px;font-weight:950;letter-spacing:.13em;color:#64748b}
.quick-card p{min-height:56px;margin:12px 0 13px;font-size:14px;line-height:1.5;font-weight:730}
.quick-actions{display:flex;align-items:center;justify-content:space-between;color:#64748b;font-size:11px;font-weight:800}
.quick-actions button{border:0;border-radius:11px;background:#2563eb;color:white;padding:8px 13px;font-weight:900}
.timeline{margin-top:12px;padding:15px;background:#fff}
.timeline-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.timeline-head strong{font-size:13px}.timeline-head span{font-size:9px;color:#94a3b8;font-weight:800}
.timeline-item{display:flex;gap:10px;padding:11px 0;border-top:1px solid #f0f3f8}
.timeline-item .emoji{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:#eef4ff}
.timeline-item strong{font-size:11px}.timeline-item p{margin:3px 0 0;color:#64748b;font-size:9px;font-weight:650}
.memory-mini{margin-top:12px;padding:14px;background:linear-gradient(145deg,#eef2ff,#eff6ff)}
.memory-mini-title{font-size:12px;font-weight:900}.memory-question{margin-top:10px;font-size:10px;font-weight:800}.memory-answer{margin-top:8px;padding:10px;border-radius:13px;background:#fff;color:#475569;font-size:9px;font-weight:650}
.float-card{position:absolute;z-index:20;min-width:220px;display:flex;align-items:center;gap:10px;padding:13px 15px;border:1px solid #e2e8f0;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 18px 55px rgba(15,23,42,.13);animation:cardFloat 6s ease-in-out infinite}
.float-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:#eef4ff}
.float-card b,.float-card span{display:block}.float-card b{font-size:11px}.float-card span{margin-top:2px;color:#94a3b8;font-size:9px;font-weight:700}
.fc-one{top:88px;right:-26px}.fc-two{bottom:90px;left:-45px;animation-delay:1.1s}.fc-three{right:-48px;bottom:195px;animation-delay:2.1s}
@keyframes cardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

.statement{padding:135px 0;text-align:center}
.statement p{margin:0;color:#64748b;font-size:14px;font-weight:800;letter-spacing:.02em}
.statement h2{max-width:980px;margin:18px auto;font-size:clamp(42px,6vw,76px);line-height:1.02;letter-spacing:-.055em}
.statement-end{margin-top:25px!important;color:#2563eb!important}

.section-heading{max-width:760px;margin:0 auto 48px;text-align:center}
.eyebrow{color:#2563eb;font-size:11px;font-weight:950;letter-spacing:.13em;text-transform:uppercase}
.section-heading h2,.memory-copy h2,.privacy-panel h2,.final-copy h2{margin:12px 0 0;font-size:clamp(38px,5vw,62px);line-height:1.04;letter-spacing:-.047em}
.section-heading p{max-width:650px;margin:17px auto 0;color:#64748b;font-size:15px;line-height:1.7}

.demo-section{padding:85px 0 125px}
.demo-grid{display:grid;grid-template-columns:1.1fr .8fr 1.1fr;gap:17px}
.demo-card{min-height:300px;padding:26px;border-radius:29px;border:1px solid var(--line);background:rgba(255,255,255,.9);box-shadow:0 16px 44px rgba(15,23,42,.055)}
.demo-card-top{display:flex;gap:7px;margin-bottom:34px}.demo-dot{width:9px;height:9px;border-radius:50%}.red{background:#fda4af}.yellow{background:#fde68a}.green{background:#86efac}
.big-quote{margin:30px 0 0;font-size:27px;line-height:1.3;letter-spacing:-.03em;font-weight:900}
.demo-process{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#0f172a;color:#fff}
.process-icon{width:57px;height:57px;margin-bottom:16px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#2563eb,#7c3aed);font-size:25px}
.demo-process .tiny-label{color:#bfdbfe}.process-list{width:100%;display:grid;gap:9px;margin-top:22px}
.process-list span{display:flex;justify-content:space-between;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.07);font-size:11px;color:#cbd5e1}.process-list b{color:#fff}
.demo-output{display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#eef4ff,#f5f3ff)}
.notification-demo{margin-top:26px;padding:17px;border-radius:20px;background:rgba(255,255,255,.96);display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:start;box-shadow:0 18px 40px rgba(79,70,229,.12)}
.notification-demo img{width:39px;height:39px;border-radius:12px}.notification-demo b{font-size:11px}.notification-demo p{margin:4px 0 0;color:#64748b;font-size:10px;line-height:1.5}.notification-demo small{font-size:8px;color:#94a3b8}

.memory-section{padding:120px 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.memory-copy>p{color:#64748b;line-height:1.75;font-size:16px}
.clean-list{margin:30px 0 0;padding:0;list-style:none;display:grid;gap:13px}
.clean-list li{display:flex;gap:12px;align-items:center;color:#334155;font-size:14px;font-weight:800}
.clean-list span{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:#eef4ff;color:#2563eb;font-size:10px}
.memory-chat{padding:18px;border-radius:32px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.chat-top{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 4px 15px}.chat-top b,.chat-top small{display:block}.chat-top small{margin-top:3px;color:#94a3b8;font-size:10px}.chat-top>span{font-size:24px;color:#94a3b8}
.chat-space{min-height:355px;padding:18px;border-radius:23px;background:#f8fbff;border:1px solid #e8edf5}
.bubble{max-width:82%;margin-bottom:12px;padding:12px 14px;border-radius:17px;font-size:12px;line-height:1.55;font-weight:720}
.bubble.user{margin-left:auto;background:#2563eb;color:#fff;border-bottom-right-radius:5px}
.bubble.assistant{background:#eef2f7;color:#334155;border-bottom-left-radius:5px}
.chat-input{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:12px}.chat-input span{padding:15px;border-radius:16px;border:1px solid #e6ecf5;background:#f8fbff;color:#94a3b8;font-size:11px;font-weight:700}.chat-input button{border:0;padding:0 18px;border-radius:15px;background:#2563eb;color:#fff;font-size:11px;font-weight:900}

.features{padding:105px 0}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.feature{min-height:260px;padding:26px;border-radius:28px;border:1px solid var(--line);background:rgba(255,255,255,.9);box-shadow:0 15px 44px rgba(15,23,42,.05)}
.feature-wide{grid-column:1/-1;min-height:380px;display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;background:linear-gradient(145deg,#172554,#312e81);color:#fff}
.feature h3{margin:17px 0 0;font-size:22px;letter-spacing:-.025em}.feature p{color:#64748b;line-height:1.7;font-size:14px}.feature-wide p{color:#cbd5e1}.feature-icon{font-size:29px}
.night-card{padding:25px;border-radius:25px;background:#fff;color:#0f172a}.night-card small{font-size:9px;letter-spacing:.12em;font-weight:950;color:#64748b}.night-card h4{font-size:27px;margin:11px 0 17px}.night-card p{padding:11px 0;margin:0;border-top:1px solid #eef2f7;color:#334155;font-size:12px;font-weight:780}.night-card em{display:block;margin-top:13px;color:#64748b;font-size:11px}

.privacy-section{padding:110px 0}
.privacy-panel{padding:64px;border-radius:42px;background:linear-gradient(130deg,#172554,#1d4ed8 58%,#7c3aed);color:#fff;box-shadow:0 30px 80px rgba(37,99,235,.18)}
.privacy-lock{width:72px;height:72px;display:grid;place-items:center;margin-bottom:25px;border-radius:23px;background:rgba(255,255,255,.13);font-size:34px}
.light-kicker{color:#bfdbfe}.privacy-panel h2{max-width:780px}.privacy-panel p{max-width:760px;color:#dbeafe;font-size:16px;line-height:1.75}
.privacy-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:24px}.privacy-actions a{color:#fff;font-size:13px;font-weight:900;text-decoration:underline;text-underline-offset:4px}

.faq{padding:105px 0}
.faq-list{max-width:860px;margin:auto}
.faq details{border-bottom:1px solid #dfe6ef}
.faq summary{cursor:pointer;list-style:none;padding:24px 0;font-size:18px;font-weight:900}
.faq summary::-webkit-details-marker{display:none}
.faq details p{max-width:760px;margin:-2px 0 22px;color:#64748b;line-height:1.7;font-size:14px}

.final-cta{margin-top:25px;margin-bottom:70px;padding:60px 64px;border-radius:42px;display:flex;align-items:center;justify-content:space-between;gap:26px;background:#0f172a;color:#fff}
.final-copy>span{color:#93c5fd;font-size:11px;letter-spacing:.13em;font-weight:950}.final-copy p{color:#cbd5e1;font-size:16px}.button-light{background:#fff;color:#0f172a}
.footer{padding:32px 0 45px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;color:#64748b;font-size:12px}
.footer-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.contact-button{border:0;padding:0;background:none;color:#64748b;cursor:pointer;font-weight:700}.footer-links a:hover,.contact-button:hover{color:#2563eb}
.toast{position:fixed;right:22px;bottom:22px;z-index:200;min-width:220px;padding:14px 17px;border:1px solid #dce6f4;border-radius:17px;background:#fff;box-shadow:0 18px 55px rgba(15,23,42,.16);opacity:0;transform:translateY(15px);pointer-events:none;transition:.25s ease}.toast.show{opacity:1;transform:none}.toast strong,.toast span{display:block}.toast strong{font-size:12px}.toast span{margin-top:3px;color:#64748b;font-size:10px}

.reveal{opacity:0;transform:translateY(23px);transition:opacity .72s ease,transform .72s ease}.reveal.visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.18s}

@media(max-width:1000px){
  .nav-links{display:none}
  .hero{grid-template-columns:1fr;gap:30px}
  .hero-copy{text-align:center}.hero-lead{margin-left:auto;margin-right:auto}.hero-actions,.micro-proof{justify-content:center}
  .demo-grid{grid-template-columns:1fr}
  .memory-section{grid-template-columns:1fr}
  .feature-grid{grid-template-columns:1fr 1fr}.feature-wide{grid-column:1/-1}
}
@media(max-width:680px){
  .shell{width:min(100% - 28px,1180px)}
  .topbar{width:calc(100% - 20px);top:9px;margin-top:9px}.nav-cta{display:none}
  .hero{min-height:auto;padding:65px 0 55px}.hero h1{font-size:clamp(49px,15vw,68px)}.hero-lead{font-size:16px}
  .hero-actions{flex-direction:column}.button{width:100%}
  .hero-stage{min-height:610px}.phone{width:min(330px,88vw);min-height:555px}
  .orbit-one{width:400px;height:400px}.orbit-two{width:470px;height:470px}
  .fc-one{right:-4px}.fc-two{left:-3px}.fc-three{display:none}
  .statement{padding:95px 0}
  .demo-section,.memory-section,.features,.privacy-section,.faq{padding:80px 0}
  .feature-grid{grid-template-columns:1fr}.feature-wide{grid-template-columns:1fr;min-height:auto}
  .privacy-panel{padding:38px 27px}
  .final-cta{padding:39px 27px;flex-direction:column;align-items:flex-start}
  .footer{flex-direction:column;align-items:flex-start}.footer-links{gap:12px}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .floating,.float-card{animation:none!important}
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
}


.phone-video{
  overflow:hidden;
  padding:0!important;
  background:#000!important;
}
.phone-video video,
.real-video-wrap video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.real-video-wrap{
  width:min(390px,88vw);
  aspect-ratio:9/19.5;
  overflow:hidden;
  border:7px solid #101827;
  border-radius:44px;
  background:#000;
  box-shadow:0 42px 110px rgba(15,23,42,.24);
}


/* V7 — layout lock + clean notification showcase */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  overscroll-behavior-x:none;
  touch-action:pan-y;
}

img,
video{
  max-width:100%;
}

.notification-showcase{
  padding:105px 0;
}

.notification-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  align-items:start;
}

.notification-shot{
  min-width:0;
  padding:18px;
  border:1px solid var(--line,#e5ebf5);
  border-radius:28px;
  background:rgba(255,255,255,.9);
  box-shadow:0 16px 44px rgba(15,23,42,.055);
}

.notification-shot-label{
  margin:0 0 12px;
  color:#334155;
  font-size:13px;
  font-weight:900;
  text-align:center;
}

.notification-shot-frame{
  width:100%;
  max-width:300px;
  margin:0 auto;
  aspect-ratio:9/19.5;
  overflow:hidden;
  border-radius:22px;
  background:#111827;
  box-shadow:0 14px 34px rgba(15,23,42,.12);
}

.notification-shot-frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}

@media(max-width:1000px){
  .notification-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
  }
  .notification-shot{
    padding:12px;
  }
  .notification-shot-frame{
    max-width:230px;
  }
}

@media(max-width:760px){
  .notification-showcase{
    padding:80px 0;
  }
  .notification-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .notification-shot{
    width:min(100%,360px);
    margin:0 auto;
    padding:14px;
  }
  .notification-shot-frame{
    width:min(100%,250px);
    max-width:250px;
  }
}

@media(max-width:420px){
  .notification-shot-frame{
    max-width:220px;
  }
}


/* =========================
   V8 — HERO DESKTOP FIX
   Keeps the validated design, but puts the message above the fold.
   ========================= */

@media (min-width:1001px){
  .hero{
    min-height:auto;
    padding:38px 0 72px;
    align-items:start;
    gap:58px;
  }

  .hero-copy{
    padding-top:56px;
    align-self:start;
  }

  .hero-stage{
    min-height:620px;
    align-self:start;
    margin-top:0;
  }

  .phone{
    width:min(372px,30vw);
    min-height:0;
    aspect-ratio:9/19.5;
  }

  .phone-video{
    height:auto;
  }

  .phone-video video{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .hero h1{
    font-size:clamp(58px,6.2vw,88px);
  }

  .fc-one{
    top:58px;
    right:-20px;
  }

  .fc-two{
    bottom:78px;
    left:-32px;
  }

  .fc-three{
    right:-34px;
    bottom:185px;
  }
}

/* Short desktop/laptop screens: prioritize seeing the message immediately. */
@media (min-width:1001px) and (max-height:760px){
  .hero{
    padding-top:24px;
    padding-bottom:55px;
  }

  .hero-copy{
    padding-top:28px;
  }

  .hero h1{
    margin-top:16px;
    font-size:clamp(54px,5.8vw,78px);
  }

  .hero-lead{
    margin-top:20px;
    font-size:16px;
    line-height:1.62;
  }

  .hero-actions{
    margin-top:24px;
  }

  .micro-proof{
    margin-top:18px;
  }

  .hero-stage{
    min-height:545px;
  }

  .phone{
    width:min(335px,27vw);
  }

  .fc-one{
    top:42px;
  }

  .fc-two{
    bottom:56px;
  }

  .fc-three{
    bottom:150px;
  }
}

/* Keep the mobile layout exactly responsive and stable. */
@media (max-width:1000px){
  .hero{
    min-height:auto;
  }
}
