:root{--bg:#fbf6f1;--card:#fff;--ink:#2b2523;--mut:#6b605b;--acc:#ca795f;--sage:#94a88c;--line:#eadfd7;--sh:0 24px 60px rgba(80,50,40,.2)}
@media(prefers-color-scheme:dark){:root{--bg:#1c1a1a;--card:#2b2827;--ink:#f3ece6;--mut:#b3a79f;--acc:#e29277;--sage:#a9bd9f;--line:#3d3836;--sh:0 24px 60px rgba(0,0,0,.5)}}
*{box-sizing:border-box}
html{scroll-snap-type:y proximity;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,sans-serif}
a{color:var(--acc)}h1,h2,h3{line-height:1.15;margin:0 0 .4em}
.hdr{position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;gap:18px;padding:10px 5vw;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);font-size:.92rem}
.hdr .brand{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ink);text-decoration:none}.hdr .brand img{width:26px;height:26px;border-radius:7px}
.hdr nav{display:flex;gap:16px;margin-left:auto}.hdr nav a{color:var(--mut);text-decoration:none}.hdr nav a:hover{color:var(--acc)}
.pill{background:var(--acc);color:#fff;border-radius:99px;padding:2px 10px;font-size:.78rem;font-weight:700;text-decoration:none}
@media(max-width:640px){.hdr nav a:not(.pill){display:none}.hdr nav{margin-left:auto}}
.stage{position:relative;height:100vh;height:100svh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:2rem;padding:70px 6vw 40px;overflow:hidden;scroll-snap-align:start}
.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;transition:transform 1.4s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.b1{width:46vmax;height:46vmax;background:var(--acc);left:-14vmax;top:-12vmax;transform:translate(var(--x1,0),var(--y1,0))}
.b2{width:40vmax;height:40vmax;background:var(--sage);right:-12vmax;bottom:-14vmax;transform:translate(var(--x2,0),var(--y2,0))}
.copy{position:relative;z-index:2;min-height:320px;max-width:560px}
.slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateY(40px);pointer-events:none;transition:opacity .7s,transform .9s cubic-bezier(.2,.8,.2,1)}
.slide.past{transform:translateY(-40px)}.slide.on{opacity:1;transform:none;pointer-events:auto}
.slide>.t{align-self:flex-start}.slide>*{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .8s cubic-bezier(.2,.8,.2,1)}
.slide.on>*{opacity:1;transform:none}.slide.on>:nth-child(2){transition-delay:.12s}.slide.on>:nth-child(3){transition-delay:.24s}.slide.on>:nth-child(4){transition-delay:.36s}
.slide h1,.slide h2{font-size:clamp(2rem,5vw,3.6rem);letter-spacing:-.02em}.slide p{font-size:1.15rem;color:var(--mut);margin:.2em 0 1em}
.btns{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-block;padding:10px 20px;border-radius:99px;background:var(--acc);color:#fff;text-decoration:none;font-weight:600}.btn.alt{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.phone{position:relative;z-index:2;justify-self:center;width:270px;height:560px;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}.phone iframe{width:100%;height:100%;border:0;pointer-events:none;background:transparent;color-scheme:normal}.lockov{position:absolute;inset:7px;border-radius:35px;background:var(--bg);display:grid;place-content:center;gap:6px;text-align:center;opacity:0;transition:opacity .6s;pointer-events:none}.lockov.on{opacity:1}
.screen{position:relative;height:100%;border-radius:36px;background:var(--bg);overflow:hidden}
.scr{position:absolute;inset:0;padding:40px 14px 14px;opacity:0;transform:scale(.96) translateY(10px);transition:opacity .6s,transform .8s cubic-bezier(.2,.8,.2,1)}.scr.on{opacity:1;transform:none}
.stage[data-step="1"] .phone{transform:rotate(-3deg)}.stage[data-step="2"] .phone{transform:rotate(2deg) translateY(-8px)}.stage[data-step="3"] .phone{transform:rotate(-2deg)}.stage[data-step="4"] .phone{transform:rotate(3deg) translateY(-6px)}.stage[data-step="5"] .phone{transform:scale(1.04)}
.dots{position:absolute;z-index:3;right:2.2vw;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;margin:0;padding:0}
.dots button{width:9px;height:9px;border-radius:50%;border:0;background:var(--line);cursor:pointer;padding:0;transition:.4s}.dots button.on{background:var(--acc);transform:scale(1.5)}
.cue{position:absolute;z-index:3;bottom:14px;left:50%;translate:-50% 0;border:0;background:none;color:var(--mut);font:inherit;font-size:.85rem;cursor:pointer;transition:opacity .5s}.stage:not([data-step="0"]) .cue{opacity:0;pointer-events:none}
@media(max-width:800px){.stage{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:0;padding-top:64px}.phone{order:-1;margin:0 0 -226px;transform-origin:top center;scale:.6}.copy{align-self:end;min-height:300px}.dots{right:10px}}
.mascot{flex:none;position:relative;width:96px;height:104px;border-radius:36px;background:linear-gradient(#eba58c,#c86c52);box-shadow:0 10px 24px rgba(200,108,82,.35);margin:0 auto 10px}
.mascot:before,.mascot:after{content:"";position:absolute;top:26px;width:14px;height:26px;border-radius:9px;background:#fff9f3;animation:blink 5s infinite}.mascot:before{left:27px}.mascot:after{right:27px}
.mascot svg{position:absolute;left:34px;bottom:12px;width:28px;height:32px;stroke:#fff9f3;fill:none;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
@keyframes blink{0%,94%,100%{height:26px}97%{height:4px}}
.c{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:8px 0;font-size:.82rem;line-height:1.35}.c b{display:block;font-size:.86rem}.h{font-weight:700;font-size:1.05rem;margin-bottom:6px}
.r{display:flex;align-items:center;gap:8px;justify-content:space-between}.t{display:inline-block;padding:2px 9px;border-radius:99px;background:color-mix(in srgb,var(--sage) 35%,transparent);font-size:.72rem}.call{background:var(--acc);color:#fff;border-radius:99px;padding:3px 10px;font-size:.74rem}
.tabbar{position:absolute;left:10px;right:10px;bottom:10px;display:flex;justify-content:space-around;font-size:.62rem;color:var(--mut);background:var(--card);border:1px solid var(--line);border-radius:18px;padding:7px 2px}.tabbar .on{color:var(--acc);font-weight:700}
.lock{text-align:center;padding-top:70px}.lock .big{font-size:3rem}
.sec{max-width:1040px;margin:0 auto;padding:96px 22px;scroll-snap-align:start}.sec h2{font-size:clamp(1.8rem,4vw,2.6rem)}.sec>p.lead{font-size:1.15rem;color:var(--mut);max-width:640px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:26px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px}.card h3{font-size:1.05rem;color:var(--acc)}.card p{margin:0;color:var(--mut);font-size:.95rem}
.note{background:var(--card);border:2px solid var(--acc);border-radius:24px;padding:clamp(22px,4vw,44px)}.note h2{color:var(--acc)}.note p{font-size:1.1rem}.note ul{padding-left:1.2rem}.note li{margin:6px 0}
.frame{display:flex;justify-content:center;margin-top:26px}.frame iframe{width:430px;height:900px;max-width:100%;border:0}
.ft{padding:40px 22px 60px;text-align:center;color:var(--mut);font-size:.9rem}.ft a{margin:0 8px}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation:none!important;scroll-behavior:auto!important}}
.vf{width:300px;aspect-ratio:393/852;border-radius:46px;background:#232020;padding:9px;box-shadow:var(--sh)}.vf video{width:100%;height:100%;object-fit:cover;border-radius:38px;display:block}
.shots{display:flex;gap:14px;overflow-x:auto;padding:26px 4px 6px;justify-content:safe center}.shots img{height:440px;width:auto;border-radius:30px;box-shadow:var(--sh);flex:none}
.phone{filter:drop-shadow(0 24px 28px rgba(60,30,20,.28))}.frame iframe{filter:drop-shadow(0 24px 28px rgba(60,30,20,.25))}
