@font-face{font-family:"Jakarta";src:url(/fonts/jakarta.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Caveat";src:url(/fonts/caveat.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{--ink:#121318;--paper:#F8F3EE;--white:#FFFFFF;--line:#ECE3DA;--muted:#5B5F69;--orange:#EC5B2A;--peach:#FDE6DA;--dark:#15161B;--sans:"Jakarta",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--script:"Caveat","Segoe Print","Bradley Hand",cursive}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--sans);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,p{margin:0}
svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.wrap{max-width:1440px;margin:0 auto}

/* nav */
.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:40px;padding:14px max(24px,calc((100% - 1440px)/2 + 40px));background:rgba(248,243,238,.9);backdrop-filter:blur(10px)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo img{border-radius:12px}
.logo b{display:block;font-size:28px;font-weight:800;letter-spacing:-.8px;line-height:1}
.logo small{display:block;font-size:9.5px;letter-spacing:3.4px;font-weight:600;margin-top:2px}
.nav nav{display:flex;gap:30px;margin-left:60px}
.nav nav a{text-decoration:none;font-size:14.5px;font-weight:500;padding:6px 0;border-bottom:2px solid transparent}
.nav nav a.on,.nav nav a:hover{font-weight:700;border-color:var(--orange)}
.pill{margin-left:auto;display:inline-flex;align-items:center;gap:14px;padding:5px 5px 5px 22px;border-radius:999px;background:var(--ink);color:var(--orange);font-weight:700;font-size:14.5px;text-decoration:none}
.go{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--orange);color:#fff;font-size:18px}

/* hero */
.hero{position:relative;display:grid;grid-template-columns:minmax(360px,470px) 1fr minmax(250px,290px);gap:20px;min-height:440px;padding:18px max(24px,calc((100% - 1440px)/2 + 40px)) 30px}
.hero-photo{position:absolute;top:0;bottom:0;left:31%;right:max(150px,calc((100% - 1440px)/2 + 170px));background:url(/img/hero.webp) 30% 35%/cover}
.scrib{position:absolute;z-index:1;margin:0;font:700 clamp(26px,2.4vw,38px)/1.02 var(--script);color:#fff;text-shadow:0 2px 12px rgba(60,20,0,.35);transform:rotate(-8deg)}
.scrib::after{content:"";display:block;width:70%;height:4px;border-radius:4px;background:var(--orange);margin-top:6px}
.s1{left:46%;top:6%}.s2{left:56%;top:30%}
.hero-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,rgba(248,243,238,.6) 7%,transparent 20%,transparent 93%,var(--paper) 100%),linear-gradient(180deg,var(--paper) 0%,transparent 9%),linear-gradient(0deg,var(--paper) 0%,transparent 12%)}
.hero-copy{position:relative;z-index:2;padding-top:6px}
h1{font-size:clamp(40px,3.9vw,58px);font-weight:800;line-height:.98;letter-spacing:-2.4px;white-space:nowrap}
h1 em{font-style:normal;color:var(--orange)}
.hero-copy p{font-size:15px;max-width:340px;margin:18px 0 22px;color:#2C2F36}
.btn{display:inline-flex;align-items:center;gap:16px;min-height:56px;padding:0 26px;border-radius:999px;background:var(--ink);color:#fff;font-weight:700;font-size:16px;text-decoration:none;transition:transform .2s}
.btn:hover{transform:translateY(-2px)}
.arr{color:var(--orange);font-size:20px}
.btn.orange{background:var(--orange)}.btn.orange .arr{color:#fff}
.sub-links{display:flex;gap:18px;margin-top:18px}
.sub-links a{display:flex;align-items:center;gap:10px;text-decoration:none;padding-right:18px}
.sub-links a+a{border-left:1px solid #d8cfc5;padding-left:18px}
.sub-links svg{width:30px;height:30px}
.sub-links b{display:block;font-size:13px;font-weight:600}
.sub-links small{display:block;font-size:12.5px;color:var(--muted)}
.hero-phone{grid-column:3;position:relative;z-index:5;align-self:start}
.device{background:#0D0E12;border-radius:44px;padding:9px;box-shadow:0 30px 60px rgba(30,15,5,.35),inset 0 0 0 2px #34353d;transform:rotate(3deg) translateY(40px);margin-bottom:-160px}
.device img{border-radius:36px}

/* feature strip */
.strip{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0 max(24px,calc((100% - 1440px)/2 + 24px));background:var(--white);border-radius:22px;box-shadow:0 10px 30px rgba(60,30,10,.06);padding:22px 330px 22px 18px}
.strip article{display:flex;gap:16px;align-items:center;padding:4px 22px}
.strip article+article{border-left:1px solid var(--line)}
.strip i{flex:none;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--peach);color:var(--ink)}
.strip i svg{width:28px;height:28px}
.strip h3{font-size:15px;font-weight:700}
.strip p{font-size:13px;color:var(--muted);line-height:1.4;margin-top:2px}

/* dark + cream */
.duo{display:grid;grid-template-columns:2.1fr 1fr;margin-top:26px}
.dark{background:var(--dark);color:#F4EFE9;display:grid;grid-template-columns:1.25fr 1fr 1fr 1.15fr;gap:22px;align-items:center;padding:34px 30px 34px max(24px,calc((100% - 1440px)/2 + 40px));border-radius:0 22px 22px 0}
.dark h2{font-size:clamp(22px,2vw,28px);font-weight:800;letter-spacing:-.6px;line-height:1.1}
.dark-copy p{font-size:15px;color:#D9D3CC;margin-top:14px;line-height:1.45}
.pc{position:relative;margin:0;border-radius:14px;overflow:hidden;box-shadow:0 18px 30px rgba(0,0,0,.5);border:3px solid #2a2b32;aspect-ratio:4/3}
.pc img{width:100%;height:100%;object-fit:cover}
.pc figcaption{position:absolute;left:14px;right:10px;bottom:10px;font:700 21px/1.05 var(--script);color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6);transform:rotate(-5deg)}
.pc:nth-of-type(1){transform:rotate(-3deg)}.pc:nth-of-type(2){transform:rotate(2deg) translateY(4px)}
.voice{display:flex;flex-direction:column;gap:14px}
.vcard{display:flex;align-items:center;gap:10px;background:#fff;color:var(--ink);border-radius:14px;padding:12px 14px;transform:rotate(-3deg);box-shadow:0 14px 26px rgba(0,0,0,.4)}
.play{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;flex:none}
.wave{display:flex;align-items:center;gap:2px;flex:1;height:26px}
.wave i{flex:1;background:#2a2b30;border-radius:2px;height:40%}
.wave i:nth-child(3n){height:85%}.wave i:nth-child(4n+1){height:60%}.wave i:nth-child(5n){height:30%}.wave i:nth-child(7n){height:100%}
.t{font-weight:700;font-size:13px;line-height:1.1}.t small{display:block;font-weight:500;font-size:9px;color:var(--muted)}
.script{font:600 24px/1.15 var(--script);color:#F4EFE9;transform:rotate(-6deg);text-align:right}
.cream{display:flex;align-items:center;gap:18px;background:#F3EFE3;padding:20px max(24px,calc((100% - 1440px)/2 + 30px)) 20px 24px}
.cream img{width:56%}
.cream p{font-size:clamp(17px,1.45vw,20px);font-weight:700;line-height:1.25}
.line{display:block;width:90px;height:4px;border-radius:4px;background:var(--orange);margin-top:12px;transform:rotate(-4deg)}

/* how it works */
.how,.why{padding:64px max(24px,calc((100% - 1440px)/2 + 40px));text-align:center}
.how h2,.why h2{font-size:clamp(28px,2.6vw,38px);font-weight:800;letter-spacing:-.8px}
.sec-sub{color:var(--muted);margin-top:8px}
.how ol{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.how li{position:relative;display:flex;flex-direction:column;align-items:center;background:var(--white);border-radius:24px;padding:28px 20px 30px}
.how li:not(:last-child)::after{content:"";position:absolute;top:50%;right:-22px;width:16px;height:16px;border-top:2px solid var(--orange);border-right:2px solid var(--orange);transform:translateY(-50%) rotate(45deg)}
.how li img{width:100%;max-width:210px;aspect-ratio:9/16;object-fit:cover;object-position:top;border-radius:24px;border:7px solid #0D0E12;box-shadow:0 18px 34px rgba(0,0,0,.16)}
.how li b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--orange);color:#fff;font-size:15px;margin:22px 0 12px}
.how h3{font-size:18px;font-weight:700}
.how li p{font-size:14.5px;color:var(--muted);line-height:1.45;margin-top:6px;max-width:220px}
.why{background:var(--white);padding-top:56px;padding-bottom:64px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:32px}
.cards article{background:var(--paper);border-radius:22px;padding:34px 24px}
.cards svg{width:44px;height:44px;margin:0 auto 16px;color:var(--orange)}
.cards h3{font-size:17px;font-weight:700}
.cards p{font-size:14.5px;color:var(--muted);margin-top:6px;line-height:1.4}

/* faq */
.faq{max-width:860px;margin:0 auto;padding:10px 24px 40px}
.faq h2{font-size:21px;font-weight:800;margin-bottom:14px}
details{background:var(--white);border-radius:14px;padding:0 18px;margin-bottom:10px}
summary{cursor:pointer;font-weight:700;padding:15px 0}
details p{color:var(--muted);padding-bottom:15px}

/* beta */
.beta{position:relative;display:grid;grid-template-columns:1fr 1.3fr 1fr;align-items:center;gap:30px;min-height:300px;padding:40px max(24px,calc((100% - 1440px)/2 + 40px));color:#fff;background:linear-gradient(90deg,rgba(14,10,8,.82) 0%,rgba(14,10,8,.62) 55%,rgba(14,10,8,0) 80%),url(/img/beta.webp) right center/cover}
.beta .script{justify-self:center;font:700 clamp(34px,3.2vw,48px)/1 var(--script);transform:rotate(-6deg);margin:0}
.beta .script::after{content:"";display:block;width:150px;height:4px;border-radius:4px;background:var(--orange);margin-top:10px}
.beta h2{font-size:clamp(26px,2.4vw,34px);font-weight:800;letter-spacing:-.6px}
.beta-copy>p{color:#EADBD0;margin:6px 0 18px}
.beta-row{display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.qrbox{display:flex;align-items:center;gap:12px}
.qrbox img{width:84px;height:84px;background:#fff;border-radius:10px;padding:5px}
.qrbox b{display:block;font-size:14px}
.qrbox small{display:block;font-size:12.5px;color:#EADBD0}
.beta .ios{font-size:13px;color:#EADBD0;margin-top:14px}

footer{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;padding:22px max(24px,calc((100% - 1440px)/2 + 40px));font-size:14px;color:var(--muted)}
footer nav{display:flex;gap:20px;flex-wrap:wrap}

/* scroll-in (Chrome/Android); other browsers just show everything */
@supports (animation-timeline: view()){
  .strip article,.pc,.voice,.cream,.how li,.cards article,.qrbox{animation:rise linear both;animation-timeline:view();animation-range:entry 0% cover 25%}
  .device{animation:tilt linear both;animation-timeline:scroll();animation-range:0 500px}
  @keyframes rise{from{opacity:0;transform:translateY(40px)}}
  @keyframes tilt{to{transform:rotate(-1deg) translateY(70px)}}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* tablet & phone */
@media (max-width:1150px){
  .nav nav{display:none}
  .hero{grid-template-columns:1fr 280px}
  .hero-photo{left:0;right:0;opacity:.35}
  .hero-phone{grid-column:2}
  .strip{grid-template-columns:1fr 1fr;padding:18px;row-gap:16px}
  .strip article:nth-child(3){border-left:none}
  .duo{grid-template-columns:1fr}
  .dark{grid-template-columns:1fr 1fr;border-radius:0}
  .dark-copy{grid-column:1/-1}
  .voice{grid-column:1/-1}
  .how ol,.cards{grid-template-columns:1fr 1fr}
  .how li:nth-child(2)::after{display:none}
  .beta{grid-template-columns:1fr;background:linear-gradient(180deg,rgba(14,10,8,.55),rgba(14,10,8,.85)),url(/img/beta.webp) 80% center/cover}
  .device{margin-bottom:0}
}
@media (max-width:700px){
  .nav{gap:12px}.pill{font-size:13px;padding-left:14px}.logo b{font-size:24px}
  .hero{grid-template-columns:1fr;padding-top:10px}
  .hero-photo{position:relative;left:auto;right:auto;opacity:1;grid-row:2;height:250px;margin:10px -24px 0;border-radius:0}
  .hero-photo::before{background:linear-gradient(180deg,var(--paper) 0%,transparent 14%,transparent 86%,var(--paper) 100%)}
  .hero-phone{grid-column:1;grid-row:3;width:230px;margin:-60px auto 0}
  .hero-copy{grid-row:1}
  .strip{grid-template-columns:1fr;margin:20px 16px 0}
  .strip article+article{border-left:none;border-top:1px solid var(--line);padding-top:16px}
  .dark{grid-template-columns:1fr 1fr;padding:30px 20px}
  .cream{flex-direction:column;text-align:center;padding:30px 20px}.cream img{width:80%}.line{margin:12px auto 0}
  .how ol{grid-template-columns:1fr;gap:20px}
  .how li::after{display:none}
  .how li img{max-width:200px}
  .cards{grid-template-columns:1fr 1fr;gap:14px}
}
