:root{--bg:#1C1917;--fg:#F6EFE8;--mut:#BDB2A8;--sig:#FF6A1A;--sigtx:#1A120C;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font-family:'Geist',system-ui,sans-serif}
a{text-decoration:none;color:inherit}
nav{position:fixed;z-index:20;top:0;left:0;right:0;padding-top:env(safe-area-inset-top,0px);height:calc(64px + env(safe-area-inset-top,0px));display:flex;align-items:center;justify-content:space-between;padding-left:clamp(18px,4vw,48px);padding-right:clamp(18px,4vw,48px);background:rgba(28,25,23,.5);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.07)}
.logo{font-family:'Saira Semi Condensed',sans-serif;font-size:23px}.logo b{font-weight:600}.logo span{font-weight:300;color:var(--mut)}
.btn{display:inline-block;background:var(--sig);color:var(--sigtx);font-weight:500;border-radius:14px;padding:11px 20px;font-size:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 26px rgba(255,106,26,.35)}
.btn.lg{padding:15px 30px;font-size:17px}.lnk{font-weight:500;font-size:17px}
.scene{position:relative;height:240vh}
.stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.vid,.stick>img.full{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.stick>img.kit{position:absolute}
.scrim{position:absolute;inset:0}
.ov{position:absolute;inset:0;background:radial-gradient(circle at var(--bx) var(--by),transparent calc(var(--br)*.45),rgba(28,25,23,.97) var(--br))}
.cone{position:absolute;left:0;top:0;width:100%;height:var(--by);mix-blend-mode:screen;filter:blur(16px);background:linear-gradient(transparent 5%,rgba(255,205,150,.34));clip-path:polygon(calc(var(--bx) - var(--br)*.95) 0,calc(var(--bx) + var(--br)*.95) 0,calc(var(--bx) + 2%) 100%,calc(var(--bx) - 2%) 100%)}
.src{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle at var(--bx) calc(var(--by) + 3%),rgba(255,226,190,.55),transparent 7vh)}
.txt{position:absolute;left:0;right:0;text-align:center;padding:0 24px;text-shadow:0 2px 24px rgba(0,0,0,.65)}
h1,h2{margin:0;font-family:'Saira Semi Condensed',sans-serif;font-weight:300;line-height:1.04;letter-spacing:-.02em;font-size:clamp(44px,8.5vw,112px)}
h2.m{font-size:clamp(34px,6vw,72px)}
.txt p{margin:12px auto 0;max-width:540px;font-size:clamp(17px,2vw,22px);line-height:1.4;color:var(--mut)}
.row{display:flex;gap:26px;justify-content:center;align-items:center;margin-top:20px;flex-wrap:wrap}
.f1{opacity:clamp(0,calc(var(--p)*5),1)}.f2{opacity:clamp(0,calc((var(--p) - .4)*5),1)}
.on{opacity:1}
.hint{position:absolute;left:0;right:0;bottom:calc(14px + env(safe-area-inset-bottom,0px));text-align:center;font-size:13px;color:var(--mut);opacity:clamp(0,calc(1 - var(--p)*6),1)}
@media (prefers-reduced-motion:reduce){.scene{height:auto}.stick{position:relative}}
.stage{position:absolute;left:50%;top:0;transform:translateX(-50%);width:min(100vw,62svh);height:100%;overflow:hidden}
.top{position:absolute;left:0;right:0;top:0;height:60%;overflow:hidden}
.bot{position:absolute;left:0;right:0;bottom:0;height:40%;overflow:hidden;-webkit-mask-image:linear-gradient(transparent,black 18%);mask-image:linear-gradient(transparent,black 18%)}
.phone{position:relative;height:min(64svh,calc(88vw*1.735));aspect-ratio:588/1020;border-radius:34px;overflow:hidden;border:1px solid rgba(255,255,255,.18);box-shadow:0 40px 90px rgba(0,0,0,.55),0 0 80px rgba(255,150,80,.12)}
.sh{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s}.sh.on{opacity:1}
.cap{height:1.2em;position:relative;width:100%;text-align:center;font-size:clamp(28px,4.4vw,52px)}
.c{position:absolute;left:0;right:0;opacity:0;transition:opacity .5s}.c.on{opacity:1}
.fr{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.09);transition:opacity .9s,transform 5s}.fr.on{opacity:1;transform:scale(1)}
.lcap{position:absolute;left:0;right:0;bottom:calc(11vh + env(safe-area-inset-bottom,0px));height:1.3em;text-align:center;font-family:'Saira Semi Condensed',sans-serif;font-weight:300;font-size:clamp(32px,5.4vw,68px);text-shadow:0 2px 24px rgba(0,0,0,.7)}
.lcap .c{position:absolute;left:0;right:0;padding:0 20px}
.startwrap{position:absolute;left:0;right:0;bottom:calc(8vh + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:16px}
.startwrap p{margin:0;font-size:15px;color:var(--mut);text-shadow:0 2px 16px rgba(0,0,0,.7);text-align:center;padding:0 20px}
.start{position:relative;width:128px;height:128px;border-radius:50%;border:0;cursor:pointer;color:var(--fg);font-family:'Geist',sans-serif;background:radial-gradient(circle at 35% 28%,#443b36,#171312 72%);box-shadow:0 22px 56px rgba(0,0,0,.65),inset 0 2px 0 rgba(255,255,255,.14);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;animation:tryst 7s infinite;-webkit-tap-highlight-color:transparent}
.start span{font-weight:500;font-size:17px;letter-spacing:.2em;padding-left:.2em}.start small{font-size:9.5px;letter-spacing:.16em;color:var(--mut)}
.start::before{content:'';position:absolute;inset:8px;border-radius:50%;border:2px solid var(--sig);opacity:.4;box-shadow:0 0 14px rgba(255,106,26,.55),inset 0 0 12px rgba(255,106,26,.3);animation:breathe 3.2s ease-in-out infinite}
.start:focus-visible{outline:2px solid var(--fg);outline-offset:6px}
.start.crank{animation:none}.start.crank::before{animation:flick .2s steps(2) infinite}
.start.run{animation:idle .12s linear infinite}.start.run::before{animation:none;opacity:1;box-shadow:0 0 30px rgba(255,106,26,.95),inset 0 0 20px rgba(255,106,26,.6)}
@keyframes breathe{0%,100%{opacity:.28}50%{opacity:.7}}
@keyframes tryst{0%,86%,100%{transform:none}88%{transform:translateX(-2px)}90%{transform:translateX(2px)}92%{transform:translateX(-1px)}94%{transform:none}}
@keyframes flick{0%{opacity:.25}100%{opacity:1}}
@keyframes idle{0%{transform:translate(.5px,.4px)}50%{transform:translate(-.5px,-.3px)}100%{transform:translate(.4px,-.4px)}}
@media (prefers-reduced-motion:reduce){.start,.start::before{animation:none!important}.fr{transition:opacity .3s}}
.nr{display:flex;align-items:center;gap:12px}
.more{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 14px;border-radius:14px;background:transparent;color:var(--fg);border:1px solid rgba(255,255,255,.2);font:500 14px 'Geist',sans-serif;cursor:pointer}
.more i{display:block;width:16px;height:8px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
.more:hover,.more[aria-expanded=true]{background:rgba(255,255,255,.08)}
.more:focus-visible,.menu a:focus-visible,.menu button:focus-visible,.pclose:focus-visible{outline:2px solid var(--fg);outline-offset:2px}
.menu{position:fixed;z-index:30;top:calc(72px + env(safe-area-inset-top,0px));right:clamp(18px,4vw,48px);width:min(280px,calc(100vw - 36px));padding:8px;border-radius:20px;background:rgba(38,33,30,.94);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 70px rgba(0,0,0,.55);opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .18s,transform .18s}
.menu.open{opacity:1;transform:none;pointer-events:auto}
.menu a,.menu button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 14px;border-radius:12px;color:var(--fg);background:none;border:0;font:500 16px 'Geist',sans-serif;cursor:pointer;text-align:left}
.menu a:hover,.menu button:hover{background:rgba(255,255,255,.07)}
.menu em{font-style:normal;color:var(--mut);font-size:14px}
.menu hr{border:0;border-top:1px solid rgba(255,255,255,.1);margin:6px 8px}
.back{position:fixed;inset:0;z-index:40;background:rgba(10,8,7,.62);opacity:0;pointer-events:none;transition:opacity .25s}.back.open{opacity:1;pointer-events:auto}
.panel{position:fixed;z-index:50;top:0;right:0;bottom:0;width:min(560px,100vw);background:#211D1A;border-left:1px solid rgba(255,255,255,.1);box-shadow:-30px 0 80px rgba(0,0,0,.5);transform:translateX(104%);transition:transform .38s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;visibility:hidden}
.panel.open{transform:none;visibility:visible}
.pscroll{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:calc(20px + env(safe-area-inset-top,0px)) clamp(22px,5vw,40px) 28px}
.pclose{position:sticky;top:0;float:right;z-index:2;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(33,29,26,.9);color:var(--fg);font-size:20px;cursor:pointer;margin:0 0 8px 12px}
.panel h2{font-size:clamp(40px,7vw,56px);margin:8px 0 10px}
.pintro{margin:0 0 22px;color:var(--mut);font-size:17px;line-height:1.5}
.pimg{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:18px;display:block;margin-bottom:12px}
.feat{padding:26px 0;border-top:1px solid rgba(255,255,255,.1)}
.feat small{display:block;font-size:12px;letter-spacing:.14em;color:var(--sig);font-weight:500;margin-bottom:10px}
.feat h3{margin:0 0 10px;font:300 clamp(26px,4.4vw,32px)/1.1 'Saira Semi Condensed',sans-serif;letter-spacing:-.01em}
.feat p{margin:0;color:var(--mut);font-size:16px;line-height:1.6}
.inc{margin:6px 0 0;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.1)}
.inc h3{font:300 28px 'Saira Semi Condensed',sans-serif;margin:0 0 12px}
.inc ul{list-style:none;margin:0;padding:0}.inc li{position:relative;padding:8px 0 8px 26px;color:var(--mut);font-size:15px;line-height:1.5}.inc li::before{content:'\2713';position:absolute;left:0;color:var(--sig)}
.inc .fn{font-size:13px;margin-top:10px;color:var(--mut);opacity:.85}
.pfoot{padding:16px clamp(22px,5vw,40px) calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(255,255,255,.1);background:#211D1A;display:flex;align-items:center;justify-content:space-between;gap:16px}
.pfoot b{display:block;font:500 22px 'Geist',sans-serif}.pfoot span{font-size:13px;color:var(--mut)}
.lock{overflow:hidden}
@media (max-width:520px){.more span{display:none}.more{width:42px;padding:0;justify-content:center}.nr{gap:8px}.btn{padding:11px 16px}}
@media (prefers-reduced-motion:reduce){.panel,.menu,.back{transition:none}}
.more{position:fixed;z-index:25;left:clamp(16px,3vw,32px);bottom:calc(18px + env(safe-area-inset-bottom,0px));width:40px;height:40px;padding:0;gap:0;justify-content:center;border:0;border-radius:50%;background:rgba(255,255,255,.07);color:rgba(246,239,232,.55);opacity:.8;transition:opacity .2s,background .2s,color .2s}
.more:hover,.more:focus-visible,.more[aria-expanded=true]{opacity:1;color:var(--fg);background:rgba(255,255,255,.14)}
.more span{display:none}
.menu{top:auto;right:auto;left:clamp(16px,3vw,32px);bottom:calc(68px + env(safe-area-inset-bottom,0px));transform:translateY(6px)}
.menu.open{transform:none}
.pphone{display:block;width:min(210px,56%);aspect-ratio:588/1020;object-fit:cover;border-radius:26px;border:1px solid rgba(255,255,255,.18);margin:6px auto 22px;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.sec{margin:26px 0 4px;font:500 12px 'Geist',sans-serif;letter-spacing:.16em;color:var(--sig)}
.cdet{list-style:none;margin:0 0 8px;padding:0}.cdet li{border-top:1px solid rgba(255,255,255,.1)}.cdet a,.cdet div{display:block;padding:15px 0;color:var(--fg);font-size:18px;line-height:1.35}.cdet small{display:block;font-size:12px;letter-spacing:.14em;color:var(--mut);margin-bottom:4px}
.cform{margin-top:6px}.cform label{display:block;margin:0 0 14px;font-size:13px;color:var(--mut)}
.cform input,.cform textarea{display:block;width:100%;margin-top:6px;padding:14px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:var(--fg);font:400 16px 'Geist',sans-serif}
.cform textarea{min-height:110px;resize:vertical}.cform input:focus,.cform textarea:focus{outline:2px solid var(--sig);outline-offset:1px}
.cform .btn{width:100%;border:0;cursor:pointer;text-align:center;margin-top:4px}
#cmsg{min-height:1.4em;margin:12px 0 0;font-size:14px;color:var(--mut)}
.alink{display:inline-block;margin-top:6px;color:var(--fg);font-weight:500;background:none;border:0;padding:0;font-size:16px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.legal{margin:6px 0 0;padding:0;list-style:none}.legal li{padding:7px 0}.legal a{color:var(--mut);font-size:14px;text-decoration:underline;text-underline-offset:3px}.legal h4{margin:14px 0 2px;font:500 12px 'Geist',sans-serif;letter-spacing:.14em;color:var(--mut)}
