@import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&display=swap');

:root{
  --bg:#eceae6; --surface:#f8f8f6; --ink:#211f1b; --muted:#5f5a53; --line:#d6d0c8;
  --blue:#33526f; --blue-deep:#24405a; --coral:#ce7358; --done:#5dc4a0;
  --font:'Instrument Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --wrap:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--font);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(60vw 60vw at 8% 10%,rgba(120,150,190,.16),transparent 70%),
             radial-gradient(60vw 60vw at 95% 85%,rgba(130,180,160,.14),transparent 70%)}
h1,h2,h3,p,dl,dd,figure{margin:0}
a{color:inherit;text-underline-offset:4px}
img,video{display:block;max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}
.wrap{width:min(var(--wrap),calc(100% - 32px));margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;z-index:20}
.skip:focus{left:16px}

/* header */
.top{position:sticky;top:0;z-index:10;background:rgba(236,234,230,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(33,31,27,.08)}
.top-bar{display:flex;align-items:center;gap:28px;min-height:68px}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:19px;letter-spacing:-.03em;text-decoration:none}
.brand img{border-radius:7px}
.top-nav{display:flex;gap:26px;margin-left:auto;font-size:15px}
.top-nav a{text-decoration:none;color:var(--muted)}
.top-nav a:hover{color:var(--ink)}
.top-nav .nav-engine{display:inline-flex;align-items:center;gap:7px;color:var(--blue)}
.nav-mil-wrap{display:inline-flex;line-height:0;flex:none;animation:cel-pulse 2.8s ease-in-out infinite}
.nav-mil{display:block;width:22px;height:14px;background:var(--coral);-webkit-mask:url(check-engine.png) center/contain no-repeat;mask:url(check-engine.png) center/contain no-repeat}
@keyframes cel-pulse{0%,100%{opacity:.42}50%{opacity:1}}

/* buttons */
.store{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 20px 0 16px;border-radius:9px;
  background:#000;color:#fff;border:1px solid #a6a6a6;text-decoration:none;font-weight:600;font-size:17px;letter-spacing:-.02em;line-height:1;transition:background .2s}
.store svg{display:block;width:20px;height:20px;flex:none;margin-top:-2px}
.store:hover{background:#1a1a1a}
.store.small{min-height:40px;padding:0 14px 0 11px;font-size:14px;gap:8px;border-radius:8px}
.store.small svg{width:16px;height:16px}
.quiet-link{font-weight:600;color:var(--blue)}

/* type */
h1{font-size:clamp(44px,6vw,84px);line-height:.98;letter-spacing:-.045em;font-weight:700;max-width:12ch}
h2{font-size:clamp(32px,4vw,52px);line-height:1.04;letter-spacing:-.04em;font-weight:700}
h3{font-size:clamp(26px,2.6vw,34px);line-height:1.1;letter-spacing:-.03em;font-weight:700}
p{color:var(--muted)}
.lead{font-size:clamp(18px,1.6vw,21px);line-height:1.5;max-width:34em}
.lead.strong{color:var(--ink)}
.fine{font-size:14px}
.section-lead{font-size:18px;max-width:36em;margin-top:14px}

/* hero: demo visible on load */
.hero{position:relative;isolation:isolate;overflow:hidden;padding:28px 0 36px}
.hero::before{content:"";position:absolute;z-index:-1;inset:0 -10% 0 35%;pointer-events:none;border-radius:50%;filter:blur(34px);
  background:radial-gradient(ellipse at 40% 40%,rgba(189,205,221,.62) 0,transparent 55%),radial-gradient(ellipse at 66% 66%,rgba(197,217,201,.58) 0,transparent 52%);
  animation:atmosphere 16s ease-in-out infinite alternate}
@keyframes atmosphere{from{transform:translate(-14px,-12px) scale(.94);opacity:.65}to{transform:translate(14px,20px) scale(1.05);opacity:1}}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;min-height:calc(100svh - 68px - 64px);max-height:860px}
.hero-copy{display:grid;justify-items:start;gap:20px}
.hero h1{font-size:clamp(44px,5.4vw,76px);font-weight:600;line-height:1;letter-spacing:-.055em;max-width:11ch;text-wrap:balance}
.hero h1 .turn{color:var(--coral)}
.hero .lead{max-width:26em;color:var(--ink)}
.hero-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:rgba(248,248,246,.75);border:1px solid var(--line);font-size:14px;font-weight:500;color:var(--blue)}
.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--done);animation:gentle-pulse 3s ease-in-out infinite}
@keyframes gentle-pulse{0%,100%{box-shadow:0 0 0 0 rgba(93,196,160,0)}50%{opacity:.55;box-shadow:0 0 0 5px rgba(93,196,160,.14)}}
.hero-actions{display:flex;align-items:center;gap:24px;margin-top:4px;flex-wrap:wrap}

/* stage: the product, floating */
.stage{position:relative;display:flex;justify-content:center;align-items:center;height:100%;min-height:560px}
.screen{position:relative;margin:0;background:#f0eeea;border:7px solid #fff;border-radius:30px;overflow:hidden;flex-shrink:0;
  box-shadow:0 26px 60px rgba(50,77,67,.16),0 0 0 1px #dce1db;animation:float-screen 9s ease-in-out infinite}
.film-screen{z-index:2;height:min(calc(100svh - 190px),640px);aspect-ratio:9/16;--tilt:-2.5deg}
.film-screen video{width:100%;height:100%;object-fit:cover;background:var(--bg)}
.side-screen{position:absolute;z-index:1;width:200px;right:0;top:12%;--tilt:4deg;animation-delay:-4s;opacity:.95}
.side-screen img{width:100%}
.screen-label{display:flex;align-items:center;gap:7px;padding:9px 11px 11px;background:#fff;font-size:11px;font-weight:600;color:var(--blue)}
.film-toggle{position:absolute;right:12px;top:12px;border:0;border-radius:999px;font:600 12px/1 var(--font);background:rgba(33,31,27,.66);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 12px}
@keyframes float-screen{0%,100%{transform:translateY(0) rotate(var(--tilt,-3deg))}50%{transform:translateY(-12px) rotate(var(--tilt,-3deg))}}
.floating-note{position:absolute;z-index:3;bottom:8%;left:0;display:flex;align-items:center;gap:10px;background:#fff;padding:12px 18px;border-radius:999px;
  box-shadow:0 8px 26px rgba(53,79,66,.12);color:#28664e;font-size:14px;font-weight:500;animation:float-screen 7s ease-in-out infinite;--tilt:-2deg}
.floating-note span{display:inline-grid;place-items:center;width:24px;height:24px;background:#e1efe7;border-radius:50%}

/* mission */
.mission{background:var(--ink);padding:110px 0 116px;text-align:center}
.mission-line{color:#fff;font-size:clamp(34px,4.6vw,62px);line-height:1.12;letter-spacing:-.045em;font-weight:600;text-wrap:balance}
.mission-line span{color:var(--coral)}
.mission-sub{margin:28px auto 0;max-width:30em;font-size:18px;color:rgba(255,255,255,.66)}

/* day */
.day{padding:104px 0 40px}
.moment{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center;padding:72px 0;border-top:1px solid var(--line)}
.day > h2 + .section-lead + .moment{margin-top:56px}
.moment.flip .moment-copy{order:2}
.moment-copy{display:grid;gap:16px;max-width:30em}
.time{font-weight:600;color:var(--blue);font-size:16px;font-variant-numeric:tabular-nums}
.shot{display:flex;justify-content:center;gap:18px}
.shot img{width:min(300px,100%);border-radius:30px;background:var(--surface);
  box-shadow:0 30px 60px -28px rgba(33,31,27,.35),0 0 0 1px rgba(33,31,27,.07)}
.shot.pair img{width:min(250px,48%)}
.shot.pair img:last-child{margin-top:48px}
.shot img{border:6px solid #fff;animation:float-screen 10s ease-in-out infinite;--tilt:0deg}
.moment .shot img{--tilt:-1.5deg}
.moment.flip .shot img:last-child{--tilt:2deg;animation-delay:-5s}
.moment:last-child .shot img{--tilt:1.5deg;animation-delay:-3s}

/* proof */
.proof{padding:96px 0;background:var(--surface);border-block:1px solid var(--line)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:48px}
.stats dt{font-size:clamp(40px,4.6vw,64px);font-weight:700;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.stats div:first-child dt{color:var(--blue)}
.stats dd{margin-top:14px;color:var(--muted);max-width:22em}
.proof-more{margin-top:40px;font-weight:600}
.proof-more a{color:var(--blue)}

/* refuse */
.refuse{padding:96px 0 40px}
.refuse p{font-size:clamp(24px,3vw,38px);line-height:1.2;letter-spacing:-.03em;font-weight:700;color:var(--ink)}
.refuse p span{color:var(--muted)}

/* pricing */
.pricing{padding:56px 0}
.price-card{display:grid;gap:16px;justify-items:start;max-width:640px;padding:44px;border-radius:28px;background:var(--surface);border:1px solid var(--line)}
.price{font-size:20px;color:var(--ink)}
.price strong{font-size:28px;letter-spacing:-.03em}
.price-card .store{margin-top:8px}

/* faq */
.faq{padding:56px 0 24px;max-width:760px}
.faq h2{margin-bottom:20px}
.faq details{border-top:1px solid var(--line);padding:18px 0}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:600;font-size:19px;letter-spacing:-.015em;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--muted);font-weight:500}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin-top:10px;max-width:40em}

/* motion control */
.motion-dock{position:sticky;bottom:0;z-index:20;display:flex;justify-content:flex-end;height:0;pointer-events:none;padding-right:20px}
.motion-toggle{pointer-events:auto;transform:translateY(-58px);border:1px solid var(--line);border-radius:999px;background:rgba(248,248,246,.94);
  box-shadow:0 3px 12px rgba(33,31,27,.06);color:var(--muted);font:500 12px/1 var(--font);padding:0 16px;height:36px;display:inline-flex;align-items:center;justify-content:center;text-align:center;cursor:pointer}
.motion-toggle:hover{color:var(--ink)}
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{animation-play-state:paused!important}

/* final + footer */
.final{display:grid;justify-items:center;gap:22px;text-align:center;padding:96px 0 104px}
.final-mark{border-radius:15px}
.foot{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0 40px;border-top:1px solid var(--line);font-size:14px}
.foot nav{display:flex;gap:22px;flex-wrap:wrap}
.foot nav a{text-decoration:none;color:var(--muted)}

@media (max-width:900px){
  .top-bar{flex-wrap:wrap;row-gap:0;padding-top:10px}
  .top-bar .store.small{margin-left:auto}
  .hero{padding:16px 0 28px}
  .hero::before{inset:20% -20% 0;filter:blur(24px)}
  .hero-grid{display:flex;flex-direction:column;align-items:center;gap:14px;min-height:0;max-height:none;text-align:center}
  .hero-copy{display:contents}
  .hero-chip{display:none}
  .hero h1{order:1;font-size:clamp(34px,9.6vw,52px);max-width:12ch}
  .stage{order:2;min-height:0;height:auto;width:100%;padding:6px 0 4px}
  .film-screen{height:min(56svh,520px);border-width:5px;border-radius:24px}
  .side-screen{width:30vw;max-width:150px;right:-2%;top:16%}
  .floating-note{left:2%;bottom:6%;font-size:12px;padding:8px 12px}
  .hero .lead{order:3;font-size:17px}
  .hero-actions{order:4;justify-content:center}
  .hero .fine{order:5}
  .motion-dock{display:none}
  .top-nav{order:3;width:100%;margin:0;justify-content:space-between;gap:10px;font-size:13px;padding:6px 0 10px}
  .moment,.moment.flip{grid-template-columns:1fr;gap:36px;padding:56px 0}
  .moment.flip .moment-copy{order:0}
  .stats{grid-template-columns:1fr;gap:32px}
  .price-card{padding:28px}
  .mission{padding:72px 0 78px}
}
@media (max-width:420px){
  .side-screen{display:none}
  .shot.pair img{width:47%}
  .shot.pair img:last-child{margin-top:28px}
}
/* proof + versus */
.review{max-width:30em;padding:14px 18px;border-left:3px solid var(--done);border-radius:0 14px 14px 0;background:rgba(248,248,246,.78)}
.review .stars{color:#d99a2b;letter-spacing:3px;font-size:15px;line-height:1}
.review blockquote{margin:8px 0 0;font-size:16px;line-height:1.45;color:var(--ink)}
.review figcaption{margin-top:8px;font-size:13px;color:var(--muted)}
.versus{padding:88px 0 72px}
.vs-grid{display:grid;gap:14px;margin-top:36px}
.vs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--surface)}
.vs p{padding:22px 26px;font-size:17px;line-height:1.45}
.vs b{display:block;margin-bottom:6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.vs .them{color:var(--muted);border-right:1px solid var(--line)}
.vs .us{color:var(--ink);font-weight:500}
.vs .us b{color:var(--blue)}
.price-kicker{font-size:15px;font-weight:600;letter-spacing:.02em;color:var(--blue)}
@media (max-width:900px){
  .review{order:5;text-align:left;margin-inline:auto}
  .hero .fine{order:6}
  .versus{padding:64px 0 48px}
}
@media (max-width:640px){
  .vs{grid-template-columns:1fr}
  .vs .them{border-right:0;border-bottom:1px solid var(--line)}
  .vs p{padding:18px 20px;font-size:16px}
}

.best{display:inline-block;margin-left:6px;padding:3px 10px;border-radius:999px;background:rgba(93,196,160,.16);color:#28664e;font-size:14px;font-weight:600;vertical-align:middle}
.hero .lead strong{font-weight:600}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important}.motion-toggle{display:none}}
