@font-face{font-family:"Bricolage";src:url(/assets/fonts/bricolage.woff2) format("woff2");font-weight:200 800;font-stretch:75% 100%;font-display:swap}
:root{
  --bg:#07060b;--bg2:#0f0d16;--card:#14111d;--ink:#f7f4fb;--mute:#a7a1b6;--dim:#6f6a7c;
  --pink:#ff1ab3;--coral:#ff4f6d;--orange:#ff8a00;--violet:#8b5cf6;--cyan:#22d3ee;
  --grad:linear-gradient(100deg,#ff1ab3 0%,#ff4f6d 50%,#ff9a1a 100%);
  --line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.14);
  --r:22px;--max:1200px;--ease:cubic-bezier(.2,.8,.2,1);--spring:cubic-bezier(.34,1.56,.64,1);
  --display:"Bricolage",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--display);line-height:1.02;letter-spacing:-.03em;margin:0;font-weight:800}
h2{font-size:clamp(36px,5.6vw,72px)}
h3{font-size:20px;letter-spacing:-.01em;font-weight:700}
p{margin:0}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
.grain{position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 24px;border-radius:999px;background:var(--grad);color:#fff;font-weight:650;text-decoration:none;font-size:16px;box-shadow:0 10px 40px -10px rgba(255,26,179,.7),inset 0 1px 0 rgba(255,255,255,.3);transition:transform .3s var(--spring),box-shadow .3s;position:relative;overflow:hidden;white-space:nowrap}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 16px 50px -10px rgba(255,79,109,.8)}
.btn:hover::after{transform:translateX(120%)}
.btn svg{width:18px;height:18px;fill:currentColor;flex:none}
.btn.ghost{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--line2)}
.btn.ghost:hover{background:rgba(255,255,255,.1)}
.btn-sm{padding:9px 16px;font-size:14px}

/* nav */
.nav{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:50;width:min(calc(100% - 24px),var(--max));display:flex;align-items:center;gap:20px;padding:10px 10px 10px 18px;border-radius:999px;background:rgba(14,12,20,.55);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,box-shadow .3s}
.nav.scrolled{background:rgba(14,12,20,.82);box-shadow:inset 0 0 0 1px var(--line2),0 20px 40px -20px #000}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font:800 19px var(--display);letter-spacing:-.02em}
.brand img{width:30px;height:30px}
.nav nav{display:flex;gap:4px;margin:0 auto}
.nav nav a{text-decoration:none;color:var(--mute);font-size:15px;padding:8px 12px;border-radius:999px;transition:color .2s,background .2s}
.nav nav a:hover{color:var(--ink);background:rgba(255,255,255,.06)}
.nav-r{display:flex;align-items:center;gap:8px;margin-left:auto}
.lang{font-size:14px;color:var(--mute);text-decoration:none;padding:8px 10px}
.lang:hover{color:var(--ink)}
@media (max-width:900px){.nav nav{display:none}}
@media (max-width:520px){.nav .lang{display:none}.nav .btn-sm svg{display:none}.nav{gap:8px;padding-left:14px}.brand span{font-size:17px}.lang{padding:6px}}

/* hero */
.hero{position:relative;min-height:100svh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:40px;max-width:var(--max);margin:0 auto;padding:120px 24px 60px}
.aurora{position:absolute;inset:-10% -30%;z-index:-1;filter:blur(80px);opacity:.6;pointer-events:none;overflow:hidden}
.aurora i{position:absolute;border-radius:50%;mix-blend-mode:screen;animation:float 18s ease-in-out infinite}
.aurora i:nth-child(1){width:45vw;height:45vw;left:45%;top:5%;background:radial-gradient(circle,#ff1ab3 0,transparent 65%)}
.aurora i:nth-child(2){width:40vw;height:40vw;left:60%;top:35%;background:radial-gradient(circle,#ff8a00 0,transparent 65%);animation-delay:-6s;animation-duration:22s}
.aurora i:nth-child(3){width:38vw;height:38vw;left:25%;top:40%;background:radial-gradient(circle,#6d28d9 0,transparent 65%);animation-delay:-12s;animation-duration:26s}
@keyframes float{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(-8%,6%) scale(1.15)}66%{transform:translate(6%,-5%) scale(.9)}}
.kicker{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--mute);padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--line);margin-bottom:22px}
.kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 12px var(--orange);animation:pulse 1.2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35;transform:scale(.7)}}
h1{font-size:clamp(50px,7vw,98px);letter-spacing:-.045em;line-height:.92}
h1 .line{display:block}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}
h1 .grad{background-size:200% 100%}
h1 .grad.rise{animation:rise 1s var(--ease) forwards,shine 6s linear infinite;animation-delay:calc(var(--d)*.11s + .1s),0s}
@keyframes shine{to{background-position:-200% 0}}
.lead{font-size:clamp(18px,1.6vw,21px);color:var(--mute);max-width:33ch;margin:26px 0 32px}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.pills{list-style:none;padding:0;margin:30px 0 0;display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--mute);font-size:15px}
.pills li{display:flex;align-items:center;gap:7px}
.pills svg{width:18px;height:18px;fill:none;stroke:var(--orange);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.rise{opacity:0;transform:translateY(28px);filter:blur(8px);animation:rise 1s var(--ease) forwards;animation-delay:calc(var(--d)*.11s + .1s)}
@keyframes rise{to{opacity:1;transform:none;filter:none}}

/* devices */
.dev{margin:0;position:relative}
.iphone{background:#0b0a0f;border-radius:16% / 7.4%;padding:3.2%;box-shadow:0 0 0 1.5px #2b2833,0 0 0 4px #121016,0 50px 90px -30px rgba(0,0,0,.9),inset 0 0 0 1px rgba(255,255,255,.06)}
.iphone .screen{position:relative;border-radius:13.4% / 6.2%;overflow:hidden;background:#000;aspect-ratio:1206/2622}
.iphone .screen>img{width:100%;height:100%;object-fit:cover}
.ipad{background:#0b0a0f;border-radius:5.4% / 3.8%;padding:3%;box-shadow:0 0 0 1.5px #2b2833,0 0 0 4px #121016,0 60px 100px -30px rgba(0,0,0,.9)}
.ipad img{border-radius:3% / 2%;width:100%;aspect-ratio:1668/2420;object-fit:cover}

.hero-stage{position:relative;perspective:1600px;height:min(720px,82vh)}
.tilt{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .5s var(--ease)}
.hero-ipad{position:absolute;width:62%;right:0;top:4%;transform:translateZ(-120px) rotateY(-14deg) rotateZ(2deg);opacity:0;animation:ipadIn 1.4s .5s var(--ease) forwards}
@keyframes ipadIn{from{opacity:0;transform:translateZ(-300px) translateX(80px) rotateY(-30deg)}to{opacity:.92;transform:translateZ(-120px) rotateY(-14deg) rotateZ(2deg)}}
.hero-phone{position:absolute;width:42%;left:12%;top:8%;transform:translateZ(60px) rotateY(10deg) rotateZ(-3deg);opacity:0;animation:phoneIn 1.3s .25s var(--spring) forwards}
@keyframes phoneIn{from{opacity:0;transform:translateZ(-100px) translateY(120px) rotateX(20deg)}to{opacity:1;transform:translateZ(60px) rotateY(10deg) rotateZ(-3deg)}}
.live{container-type:size;position:absolute;left:19.65%;top:12.59%;width:60.7%;height:49.62%;overflow:hidden;background:#000}
.live img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.12)}
.live img.on{opacity:1;animation:kb 1.6s linear forwards}
.live img.in-zoom{animation:inZoom .35s var(--ease) forwards,kb 1.6s .35s linear forwards}
.live img.in-slide{animation:inSlide .35s var(--ease) forwards,kb 1.6s .35s linear forwards}
.live img.in-spin{animation:inSpin .4s var(--ease) forwards}
@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.14)}}
@keyframes inZoom{from{transform:scale(1.8);filter:blur(10px)}to{transform:scale(1.04);filter:none}}
@keyframes inSlide{from{transform:translateX(100%) scale(1.04)}to{transform:translateX(0) scale(1.04)}}
@keyframes inSpin{from{transform:rotate(-12deg) scale(1.5);filter:blur(6px)}to{transform:scale(1.04);filter:none}}
.flash{position:absolute;inset:0;z-index:3;background:#fff;opacity:0;pointer-events:none}
.flash.go{animation:flash .28s ease-out}
@keyframes flash{0%{opacity:.75}100%{opacity:0}}
.live-title{position:absolute;z-index:4;left:0;right:0;top:28%;text-align:center;font:900 11cqw/1 var(--body);white-space:nowrap;color:#fff;letter-spacing:-.01em;-webkit-text-stroke:1.2px #000;paint-order:stroke fill;text-shadow:0 3px 0 rgba(0,0,0,.6)}
.live-title.pop{animation:tpop .45s var(--spring)}
@keyframes tpop{0%{transform:scale(1.35) rotate(-3deg)}100%{transform:none}}
.live-cap{position:absolute;z-index:4;left:6%;right:6%;bottom:9%;text-align:center;font:800 6.4cqw/1.3 var(--body);color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.8)}
.live-cap .w{transition:color .15s,transform .15s;display:inline-block}
.live-cap .w.hot{color:#ffe14d;transform:scale(1.12)}
.chip{position:absolute;display:flex;align-items:center;gap:8px;padding:10px 15px;border-radius:14px;background:rgba(20,17,29,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px var(--line2),0 20px 40px -10px rgba(0,0,0,.7);font-size:14px;font-weight:600;white-space:nowrap;opacity:0;animation:chipIn .8s var(--spring) forwards,bob 6s ease-in-out infinite}
.chip svg{width:18px;height:18px;fill:none;stroke:var(--orange);stroke-width:1.8;stroke-linejoin:round}
.chip.c1{left:-2%;top:30%;transform:translateZ(120px);animation-delay:1.1s,1.9s}
.chip.c2{right:0;top:58%;transform:translateZ(140px);animation-delay:1.3s,2.6s}
.chip.c3{left:8%;bottom:20%;transform:translateZ(100px);animation-delay:1.5s,3.1s}
@keyframes chipIn{from{opacity:0;translate:0 20px;scale:.8}to{opacity:1;translate:0 0;scale:1}}
@keyframes bob{50%{translate:0 -8px}}
.beat{width:10px;height:10px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 0 rgba(255,26,179,.7)}
.beat.hit{animation:hit .5s ease-out}
@keyframes hit{0%{box-shadow:0 0 0 0 rgba(255,26,179,.8);transform:scale(1.5)}100%{box-shadow:0 0 0 14px rgba(255,26,179,0);transform:scale(1)}}

@media (max-width:900px){
  .hero{grid-template-columns:minmax(0,1fr);text-align:center;padding-top:110px;gap:10px}
  .hero-copy{display:flex;flex-direction:column;align-items:center}
  .lead{margin-left:auto;margin-right:auto}
  .ctas,.pills{justify-content:center}
  .hero-stage{height:auto;aspect-ratio:1/1.05;width:100%;max-width:520px;margin:0 auto}
}

/* film strip */
.strip{position:relative;padding:40px 0 30px;overflow:hidden;transform:rotate(-2deg);margin:20px -20px 0}
.strip-track{display:flex;width:max-content;animation:marquee 45s linear infinite}
.strip:hover .strip-track{animation-play-state:paused}
.strip-row{display:flex;gap:14px;padding-right:14px}
.strip-row img{width:190px;height:280px;object-fit:cover;border-radius:16px;filter:saturate(1.1);transition:transform .4s var(--spring)}
.strip-row img:hover{transform:scale(1.06) rotate(1deg)}
@keyframes marquee{to{transform:translateX(-50%)}}
.wave{display:flex;align-items:center;gap:3px;height:46px;margin:22px 20px 0;justify-content:center;opacity:.9}
.wave i{display:block;width:4px;border-radius:4px;background:var(--grad);height:calc(var(--h)*1%);transform-origin:center;animation:eq 1.2s ease-in-out infinite;animation-delay:calc(var(--i)*-.07s)}
.wave i.cut{background:#fff;box-shadow:0 0 10px #fff}
@keyframes eq{50%{transform:scaleY(.35)}}

/* sections */
.sec{max-width:var(--max);margin:0 auto;padding:130px 24px 40px;position:relative}
.sec-head{max-width:820px;margin:0 auto 60px;text-align:center}
.label{font:700 13px var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:16px}
.sub{font-size:clamp(17px,1.5vw,20px);color:var(--mute);margin-top:20px;max-width:60ch}
.sec-head .sub{margin-left:auto;margin-right:auto}
.note{color:var(--mute);text-align:center;max-width:60ch;margin:50px auto 0;font-size:16px}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d,0)*.1s)}
.reveal.in{opacity:1;transform:none}

/* magic */
.magic-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:center}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.step{display:grid;grid-template-columns:200px 1fr;grid-template-rows:auto 1fr;column-gap:26px;align-items:start;padding:22px;border-radius:var(--r);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .3s,transform .4s var(--spring)}
.step:hover{box-shadow:inset 0 0 0 1px rgba(255,79,109,.45);transform:translateY(-3px)}
.step h3{display:flex;align-items:baseline;gap:12px;margin-top:4px}
.step h3 em{font-style:normal;font:800 14px var(--display);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.step p{color:var(--mute);margin-top:8px;grid-column:2}
.step-viz{grid-row:1/3;height:120px;border-radius:14px;background:#0b0a10;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;position:relative}
.pick{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:10px;align-items:center}
.pick span{position:relative;aspect-ratio:3/4;border-radius:7px;overflow:hidden}
.pick img{width:100%;height:100%;object-fit:cover}
.pick b{position:absolute;right:4px;top:4px;width:18px;height:18px;border-radius:50%;background:var(--pink);font:700 11px/18px var(--body);text-align:center;transform:scale(0)}
.in .pick b{animation:badge .5s var(--spring) forwards;animation-delay:calc(var(--i)*.35s + .4s)}
.pick span:nth-child(1) b{--i:0}.pick span:nth-child(2) b{--i:1}.pick span:nth-child(3) b{--i:2}.pick span:nth-child(4) b{--i:3}
.in .pick span{animation:sel .5s var(--ease) forwards;animation-delay:calc(var(--i)*.35s + .4s)}
@keyframes badge{to{transform:scale(1)}}
@keyframes sel{to{box-shadow:0 0 0 2px var(--pink)}}
.styles{display:flex;flex-wrap:wrap;gap:6px;padding:12px;align-content:center;justify-content:center}
.styles span{font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--mute);transition:all .3s}
.styles span.on{background:var(--grad);color:#fff;transform:scale(1.08)}
.beats{display:flex;align-items:center;padding:0 12px}
.bars{display:flex;align-items:center;gap:2px;width:100%;height:70px}
.bars i{flex:1;border-radius:2px;background:rgba(255,255,255,.18);height:calc(var(--h)*1%)}
.bars i.k{background:var(--orange)}
.cuts{position:absolute;inset:0}
.cuts i{position:absolute;top:12px;bottom:12px;width:2px;background:#fff;box-shadow:0 0 10px var(--pink),0 0 2px #fff;opacity:0;transform:scaleY(0)}
.cuts i:nth-child(1){left:22%}.cuts i:nth-child(2){left:42%}.cuts i:nth-child(3){left:62%}.cuts i:nth-child(4){left:82%}
.in .cuts i{animation:cutIn .5s var(--spring) forwards}
.in .cuts i:nth-child(1){animation-delay:.6s}.in .cuts i:nth-child(2){animation-delay:.9s}.in .cuts i:nth-child(3){animation-delay:1.2s}.in .cuts i:nth-child(4){animation-delay:1.5s}
@keyframes cutIn{to{opacity:1;transform:none}}
.magic-phone{max-width:330px;justify-self:center;transform:rotate(3deg)}
.magic-phone.in{transform:rotate(3deg)}
@media (max-width:900px){.magic-grid{grid-template-columns:1fr}.magic-phone{max-width:280px}}
@media (max-width:600px){.step{grid-template-columns:1fr}.step-viz{grid-row:auto;margin-bottom:14px}.step p{grid-column:1}}

/* intro builder */
.intro-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:60px;align-items:center}
.try{display:block;margin:34px 0 10px;font-weight:600;font-size:15px}
.field{display:flex;gap:8px;max-width:420px}
.field input{flex:1;min-width:0;font:700 20px var(--display);color:var(--ink);background:#0f0d16;border:0;border-radius:14px;padding:14px 18px;box-shadow:inset 0 0 0 1px var(--line2);transition:box-shadow .2s}
.field input:focus{outline:0;box-shadow:inset 0 0 0 2px var(--pink),0 0 30px -5px rgba(255,26,179,.5)}
.field button{width:54px;border:0;border-radius:14px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px var(--line2)}
.field button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;margin:auto}
.field button:hover{background:rgba(255,255,255,.12)}
.tpls{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tpl{border:0;padding:9px 15px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--mute);font-size:14px;font-weight:600;box-shadow:inset 0 0 0 1px var(--line);transition:all .25s}
.tpl:hover{color:var(--ink)}
.tpl.on{background:var(--ink);color:#000}
.intro-stage{position:relative;padding-bottom:40px;padding-right:6%}
.preview .ititle,.preview .isub{margin-right:0}
.preview{container-type:inline-size;position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;perspective:900px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 40px 80px -30px rgba(0,0,0,.9),inset 0 0 0 1px var(--line2);transition:background .6s}
.ititle{font:800 10cqw/1 var(--display);letter-spacing:-.03em;text-align:center;transform-style:preserve-3d;white-space:nowrap;padding:0 4%}
.ititle span{display:inline-block;opacity:0;transform:translateZ(-400px) rotateX(-95deg) translateY(40px);animation:letter .9s var(--spring) forwards;animation-delay:calc(var(--i)*.055s + .15s)}
@keyframes letter{to{opacity:1;transform:none}}
.isub{margin-top:14px;font-size:2.2cqw;letter-spacing:.35em;text-transform:uppercase;opacity:0;animation:fadeup .7s .9s var(--ease) forwards}
@keyframes fadeup{from{opacity:0;transform:translateY(10px)}to{opacity:.85;transform:none}}
.ibar{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.1)}
.ibar i{display:block;height:100%;width:0;background:var(--grad);animation:prog 3s linear forwards}
@keyframes prog{to{width:100%}}
.grid3d,.sun{position:absolute;pointer-events:none;opacity:0;transition:opacity .5s}
.tpl-neon{background:radial-gradient(ellipse at 50% 110%,#5b21b6 0,#1a0b2e 45%,#07060b 80%)}
.tpl-neon .ititle{color:#fff;text-shadow:0 0 18px #c026d3,0 0 50px #7c3aed,0 4px 0 #4c1d95}
.tpl-sunset{background:linear-gradient(160deg,#ff1ab3,#ff4f6d 45%,#ff9a1a)}
.tpl-sunset .ititle{color:#fff;text-shadow:0 6px 0 rgba(0,0,0,.25)}
.tpl-retro{background:linear-gradient(180deg,#0a0420 0,#2a0a4a 55%,#ff2fa8 56%,#0a0420 57%)}
.tpl-retro .grid3d{opacity:1;left:-50%;right:-50%;bottom:-10%;height:55%;background:linear-gradient(transparent 0,transparent 96%,#ff2fa8 96%) 0 0/100% 34px,linear-gradient(90deg,transparent 0,transparent 97%,#ff2fa8 97%) 0 0/50px 100%;transform:rotateX(72deg);transform-origin:bottom;animation:gridmove 1.2s linear infinite}
@keyframes gridmove{to{background-position:0 34px,0 0}}
.tpl-retro .sun{opacity:1;width:26%;aspect-ratio:1;top:12%;border-radius:50%;background:repeating-linear-gradient(180deg,#ffd23f 0 9px,transparent 9px 13px),linear-gradient(#ffd23f,#ff2fa8);-webkit-mask:linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0)}
.tpl-retro .ititle{color:#fff;font-style:italic;text-shadow:3px 3px 0 #ff2fa8,6px 6px 0 #22d3ee}
.tpl-retro .isub{color:#22d3ee}
.tpl-clean{background:#f4f1ec}
.tpl-clean .ititle{color:#111;font-weight:700;letter-spacing:-.05em}
.tpl-clean .isub{color:#111}
.intro-phone{position:absolute;width:23%;right:-5%;bottom:-16%;transform:rotate(6deg)}
@media (max-width:900px){.intro-grid{grid-template-columns:1fr}.intro-phone{width:34%;right:-2%;bottom:-14%}.intro-stage{margin-bottom:60px}}

/* transitions */
.trans-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:60px;align-items:center}
.trans-grid>.iphone{max-width:320px;justify-self:center}
.tstage{position:relative;aspect-ratio:4/3;max-width:560px;margin:0 auto;perspective:1100px}
.tface{position:absolute;inset:0;border-radius:22px;overflow:hidden;backface-visibility:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.9)}
.tface img{width:100%;height:100%;object-fit:cover}
.tstage .a{z-index:2}
.tstage.cube .a{animation:cubeA 1.1s var(--ease) forwards;transform-origin:50% 50% -280px}
.tstage.cube .b{animation:cubeB 1.1s var(--ease) forwards;transform-origin:50% 50% -280px}
@keyframes cubeA{to{transform:rotateY(-90deg)}}
@keyframes cubeB{from{transform:rotateY(90deg)}to{transform:rotateY(0)}}
.tstage.flip .a{animation:flipA 1s var(--ease) forwards}
.tstage.flip .b{animation:flipB 1s var(--ease) forwards}
@keyframes flipA{to{transform:rotateY(180deg) scale(.85)}}
@keyframes flipB{from{transform:rotateY(-180deg) scale(.85)}to{transform:none}}
.tstage.door .a{animation:door 1.1s var(--ease) forwards;transform-origin:left center}
.tstage.door .b{animation:doorB 1.1s var(--ease) forwards}
@keyframes door{to{transform:rotateY(-105deg);opacity:.2}}
@keyframes doorB{from{transform:scale(.92);filter:brightness(.4)}to{transform:none;filter:none}}
.tstage.zoom .a{animation:zoomA .7s ease-in forwards}
.tstage.zoom .b{animation:zoomB .8s .25s var(--ease) both}
@keyframes zoomA{to{transform:scale(2.4);filter:blur(16px);opacity:0}}
@keyframes zoomB{from{transform:scale(.4);filter:blur(16px);opacity:0}to{transform:none;filter:none;opacity:1}}
.tbtns{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:30px}
.tbtns button{border:0;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--line);font-weight:600;font-size:15px;color:var(--mute);transition:all .25s}
.tbtns button.on{background:var(--grad);color:#fff;box-shadow:0 8px 30px -8px rgba(255,26,179,.7)}
@media (max-width:900px){.trans-grid{grid-template-columns:1fr}.trans-grid>.iphone{max-width:260px}}

/* studio */
.studio-devices{position:relative;display:flex;justify-content:center;align-items:flex-end;gap:0;margin-bottom:70px}
.big-ipad{width:min(560px,70%)}
.side-phone{width:min(250px,30%);margin-left:-8%;margin-bottom:-30px;transform:rotate(-4deg);z-index:2}
.timeline{position:relative;border-radius:var(--r);background:#0d0b13;box-shadow:inset 0 0 0 1px var(--line);padding:42px 18px 18px;overflow:hidden}
.ruler{position:absolute;left:96px;right:18px;top:14px;height:16px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.25) 0 1px,transparent 1px 10%),repeating-linear-gradient(90deg,rgba(255,255,255,.1) 0 1px,transparent 1px 2.5%);background-size:100% 100%,100% 50%;background-repeat:no-repeat;background-position:0 0,0 100%}
.trk{display:flex;align-items:center;gap:12px;height:52px;margin-top:8px}
.tl{width:66px;flex:none;font-size:12px;color:var(--dim);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.lane{position:relative;flex:1;height:100%}
.cl{position:absolute;top:4px;bottom:4px;left:calc(var(--x)*1%);width:calc(var(--w)*1%);border-radius:9px;overflow:hidden;font-size:12px;font-weight:650;display:flex;align-items:center;padding:0 10px;white-space:nowrap;transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.timeline.in .cl{transform:none}
.timeline.in .trk:nth-child(3) .cl{transition-delay:.15s}.timeline.in .trk:nth-child(4) .cl{transition-delay:.3s}.timeline.in .trk:nth-child(5) .cl{transition-delay:.45s}
.cl.v{padding:0;box-shadow:inset 0 0 0 2px rgba(255,255,255,.15)}
.cl.v img{width:100%;height:100%;object-fit:cover}
.cl.t{background:#f5a524;color:#2a1700}
.cl.f{background:#7c3aed}
.cl.m{background:#16a34a;padding:0}
.wv{display:block;width:100%;height:100%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.55) 0 2px,transparent 2px 5px);-webkit-mask:radial-gradient(ellipse 3% 60% at 50% 50%,#000 60%,transparent 62%) 0 0/4% 100%;mask:linear-gradient(#000,#000);opacity:.5}
.playhead{position:absolute;top:8px;bottom:8px;left:calc(96px + (100% - 114px)*var(--p,0));width:2px;background:#fff;box-shadow:0 0 12px rgba(255,255,255,.8);pointer-events:none}
.playhead::before{content:"";position:absolute;top:0;left:-6px;width:14px;height:14px;border-radius:4px;background:#fff}
.features{list-style:none;padding:0;margin:50px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.features li{padding:24px;border-radius:var(--r);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));box-shadow:inset 0 0 0 1px var(--line);position:relative;overflow:hidden}
.features li::before{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0),rgba(255,79,109,.16),transparent 40%);opacity:0;transition:opacity .3s}
.features li:hover::before{opacity:1}
.features p{color:var(--mute);margin-top:8px;font-size:16px}
@media (max-width:900px){.features{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.features{grid-template-columns:1fr}.tl{width:46px;font-size:10px}.ruler{left:76px}.playhead{left:calc(76px + (100% - 94px)*var(--p,0))}.cl{font-size:10px;padding:0 5px}}

/* captions */
.caps-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:70px;align-items:center}
.caps-grid>.iphone{max-width:320px;justify-self:center;transform:rotate(-3deg)}
.karaoke{margin-top:34px;font:800 clamp(30px,4vw,52px)/1.15 var(--display);letter-spacing:-.02em}
.karaoke .kw{display:inline-block;color:rgba(255,255,255,.22);transition:color .2s,transform .25s var(--spring)}
.karaoke .kw.on{color:#fff}
.karaoke .kw.hot{color:#ffe14d;transform:translateY(-6px) scale(1.08)}
.capstyles{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.capstyles span{font-size:13px;font-weight:600;padding:6px 12px;border-radius:8px;background:rgba(255,255,255,.06);color:var(--mute)}
@media (max-width:900px){.caps-grid{grid-template-columns:1fr;gap:40px}.caps-grid>.iphone{max-width:260px;order:2}}

/* promises */
.pgrid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pgrid li{padding:30px 24px;border-radius:var(--r);background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.pgrid strong{display:block;font:800 clamp(48px,5vw,68px)/1 var(--display);letter-spacing:-.04em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.pgrid span{display:block;font-weight:700;margin-top:6px;font-size:18px}
.pgrid p{color:var(--mute);margin-top:12px;font-size:15px}
@media (max-width:900px){.pgrid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pgrid{grid-template-columns:1fr}}

/* facts */
.facts dl{margin:0 auto;max-width:900px;border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.facts dl div{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:16px 24px;border-top:1px solid var(--line)}
.facts dl div:first-child{border-top:0}
.facts dt{color:var(--dim);font-weight:600;font-size:15px}
.facts dd{margin:0;font-size:16px}
@media (max-width:600px){.facts dl div{grid-template-columns:1fr;gap:2px}}

/* pricing */
.plans{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:880px;margin:0 auto}
.plan{position:relative;padding:34px;border-radius:26px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.plan.pro{background:linear-gradient(var(--card),var(--card)) padding-box,var(--grad) border-box;border:1.5px solid transparent;box-shadow:0 30px 80px -30px rgba(255,26,179,.5)}
.badge{position:absolute;top:-13px;right:26px;background:var(--grad);font-size:13px;font-weight:700;padding:5px 12px;border-radius:999px}
.amount{font:800 52px/1 var(--display);letter-spacing:-.04em;margin-top:16px}
.amount small{display:block;font:500 15px var(--body);color:var(--mute);letter-spacing:0;margin-top:8px}
.alt{color:var(--mute);font-size:15px;margin-top:4px}
.plan ul{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px}
.plan li{display:flex;gap:10px;font-size:16px}
.plan li::before{content:"";flex:none;width:20px;height:20px;margin-top:2px;border-radius:50%;background:rgba(255,138,0,.15) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23ff8a00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
@media (max-width:700px){.plans{grid-template-columns:1fr}}

/* faq */
.qs{max-width:820px;margin:0 auto;display:grid;gap:10px}
.q{border-radius:18px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .3s}
.q[open]{box-shadow:inset 0 0 0 1px var(--line2)}
.q summary{list-style:none;cursor:pointer;padding:20px 60px 20px 24px;font-weight:650;font-size:17px;position:relative}
.q summary::-webkit-details-marker{display:none}
.q summary::after{content:"";position:absolute;right:24px;top:50%;width:12px;height:12px;margin-top:-8px;border-right:2px solid var(--mute);border-bottom:2px solid var(--mute);transform:rotate(45deg);transition:transform .3s var(--ease)}
.q[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.q .a{padding:0 24px 22px;color:var(--mute)}

/* end */
.end{position:relative;overflow:hidden;text-align:center;padding:150px 24px 140px;margin-top:80px;display:flex;flex-direction:column;align-items:center}
.end .aurora{inset:0;opacity:.45}
.end-icon{border-radius:24px;box-shadow:0 20px 60px -10px rgba(255,26,179,.6);margin-bottom:30px}
.end h2{max-width:16ch}
.end p{color:var(--mute);font-size:19px;margin:20px 0 34px}

/* footer */
.foot{border-top:1px solid var(--line);padding:40px 24px}
.foot-in{max-width:var(--max);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:16px 30px}
.foot-in p{color:var(--mute);font-size:15px}
.foot-in nav{display:flex;gap:20px;margin-left:auto}
.foot-in nav a{color:var(--mute);text-decoration:none;font-size:15px}
.foot-in nav a:hover{color:var(--ink)}
.fine{max-width:var(--max);margin:22px auto 0;color:var(--dim);font-size:13px}

/* legal pages */
.legal{max-width:760px;margin:0 auto;padding:130px 24px 80px}
.legal h1{font-size:clamp(40px,6vw,64px);margin-bottom:30px}
.legal h2{font-size:24px;margin:40px 0 12px;letter-spacing:-.02em}
.legal h3{font-size:19px;margin:28px 0 10px}
.legal p,.legal li{color:#d6d1df}
.legal p{margin:12px 0}
.legal a{color:var(--orange)}
.legal code{font-size:.9em;background:rgba(255,255,255,.08);padding:1px 6px;border-radius:5px}
.back{display:inline-block;margin-top:40px;color:var(--mute)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal,.rise{opacity:1;transform:none;filter:none}
  .strip-track{animation:none}
}
