:root{--bg:#0d0716;--bg2:#170c26;--ink:#fff3f8;--mut:#c9b4cf;--pink:#ff5fa2;--sun:#ffb347;--sea:#3fe0d0;--glass:rgba(255,255,255,.06);--line:rgba(255,255,255,.12);--grad:linear-gradient(120deg,var(--pink),var(--sun));--r:22px}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:400 17px/1.65 Outfit,system-ui,sans-serif;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
.wrap{width:min(1200px,92%);margin:auto}.narrow{width:min(860px,92%)}
h1,h2,.site-logo,.mc-name,.pl-p,.num{font-family:Unbounded,sans-serif;line-height:1.12;letter-spacing:-.02em}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.cursor-glow{position:fixed;width:520px;height:520px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(255,95,162,.18),transparent 60%);transform:translate(-50%,-50%);left:-999px}
.site{position:relative;z-index:1}
.site-header{position:fixed;inset:0 0 auto;z-index:50;transition:.3s}.site-header.scrolled{background:rgba(13,7,22,.72);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.header-in{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px}
.site-logo{font-size:18px;font-weight:700}.site-logo b,.logo-mark{color:var(--pink)}
.menu{display:flex;gap:28px;list-style:none}.menu a{color:var(--mut);font-weight:600;transition:.2s}.menu a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:999px;background:var(--grad);color:#1a0b14;font-weight:700;cursor:pointer;transition:transform .25s,box-shadow .25s;box-shadow:0 10px 30px -10px rgba(255,95,162,.7)}
.btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 18px 40px -10px rgba(255,95,162,.9)}
.btn-sm{padding:10px 20px;font-size:15px}.btn-xl{padding:18px 36px;font-size:18px}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}
.btn-glass{background:var(--glass);color:var(--ink);border:1px solid var(--line);box-shadow:none;backdrop-filter:blur(8px)}.btn-glass:hover{background:var(--grad);color:#1a0b14}
.pulse{animation:pulse 2.4s infinite}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,95,162,.6)}50%{box-shadow:0 0 0 18px rgba(255,95,162,0)}}
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:120px 0 80px;overflow:hidden}
.hero-bg{position:absolute;inset:-5%;background-size:cover;background-position:center;animation:kb 24s ease-in-out infinite alternate}
@keyframes kb{to{transform:scale(1.12) translate(-2%,-1%)}}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,7,22,.95) 10%,rgba(13,7,22,.55) 55%,rgba(13,7,22,.2)),linear-gradient(0deg,var(--bg),transparent 40%)}
.orbs i{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;animation:float 12s ease-in-out infinite}
.orbs i:nth-child(1){width:300px;height:300px;background:var(--pink);top:10%;left:-5%}.orbs i:nth-child(2){width:240px;height:240px;background:var(--sea);bottom:5%;left:40%;animation-delay:-4s}.orbs i:nth-child(3){width:200px;height:200px;background:var(--sun);top:20%;right:10%;animation-delay:-8s}
@keyframes float{50%{transform:translate(40px,-30px)}}
.hero-in{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.eyebrow{display:inline-block;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--glass);color:var(--sun);font-size:14px;font-weight:600;margin-bottom:22px}
h1{font-size:clamp(38px,5.4vw,72px);font-weight:900;margin-bottom:22px}
.lead{font-size:20px;color:var(--mut);max-width:560px;margin-bottom:34px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-stats{display:flex;gap:40px;margin-top:46px}.hero-stats b{font:700 30px Unbounded;display:block}.hero-stats span{color:var(--mut);font-size:14px}
.hero-stack{position:relative;height:560px}
.hs{position:absolute;width:260px;border-radius:var(--r);border:2px solid var(--line);box-shadow:0 30px 60px -20px #000;object-fit:cover;aspect-ratio:3/4;transition:transform .6s}
.hs.a{left:0;top:60px;transform:rotate(-9deg)}.hs.b{left:28%;top:0;z-index:2;width:290px}.hs.c{right:0;top:110px;transform:rotate(8deg)}
.hero-stack:hover .hs.a{transform:rotate(-14deg) translateX(-20px)}.hero-stack:hover .hs.c{transform:rotate(13deg) translateX(20px)}
.marquee{border-block:1px solid var(--line);background:var(--bg2);overflow:hidden;padding:18px 0}
.mq{display:flex;width:max-content;animation:mq 30s linear infinite;font:700 22px Unbounded;color:var(--mut)}.mq span{padding-right:20px;white-space:nowrap}
@keyframes mq{to{transform:translateX(-50%)}}
.sec{padding:110px 0;position:relative}
.sec-title,.story h2,.final h2{font-size:clamp(28px,3.6vw,48px);font-weight:700;margin-bottom:16px}
.sec-title{text-align:center}.sec-sub{text-align:center;color:var(--mut);max-width:620px;margin:0 auto 56px}
.model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}
.model-card{border-radius:var(--r);overflow:hidden;background:var(--bg2);border:1px solid var(--line);transition:transform .3s,box-shadow .3s;transform-style:preserve-3d}
.model-card:hover{box-shadow:0 30px 60px -20px rgba(255,95,162,.45)}
.mc-img{overflow:hidden;aspect-ratio:3/4}.mc-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.model-card:hover .mc-img img{transform:scale(1.08)}
.mc-body{padding:22px 24px 26px;margin-top:-80px;position:relative;background:linear-gradient(0deg,var(--bg2) 70%,transparent)}
.mc-name{font-size:24px;font-weight:700}.mc-name span{font-size:15px;color:var(--mut);font-family:Outfit}
.mc-tag{color:var(--pink);font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.08em}.mc-desc{color:var(--mut);margin:10px 0 18px;font-size:15px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:50px}
.step{padding:30px;border-radius:var(--r);background:var(--glass);border:1px solid var(--line);transition:.3s}.step:hover{transform:translateY(-8px);border-color:var(--pink)}
.num{font-size:40px;font-weight:900;background:var(--grad);-webkit-background-clip:text;color:transparent}.st-t{font-weight:700;font-size:20px;margin:10px 0 6px}.step p:last-child{color:var(--mut)}
.story-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.rev .story-in{grid-template-columns:1.1fr .9fr}
.story-img img{border-radius:var(--r);aspect-ratio:4/5;object-fit:cover;box-shadow:0 40px 80px -30px rgba(255,95,162,.5)}
.story-txt p{color:var(--mut);margin-bottom:18px;font-size:18px}
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:50px}
.bx{padding:32px;border-radius:var(--r);background:var(--glass);border:1px solid var(--line);position:relative;overflow:hidden}.bx::after{content:"";position:absolute;inset:auto -30% -60% auto;width:200px;height:200px;background:var(--grad);filter:blur(70px);opacity:.25}
.bx.big{grid-column:span 2;grid-row:span 2;background:linear-gradient(160deg,rgba(255,95,162,.25),rgba(63,224,208,.1))}.bx.wide{grid-column:span 2}
.bx-t{font:700 22px Unbounded;margin-bottom:10px}.bx p:last-child{color:var(--mut)}
.uses{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}
.use{display:flex;gap:16px;align-items:center;padding:24px;border-radius:18px;border:1px solid var(--line);background:var(--bg2)}.use span{font-size:30px}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}
.rv{padding:32px;border-radius:var(--r);background:var(--glass);border:1px solid var(--line);font-size:18px}.rv cite{display:block;margin-top:16px;color:var(--pink);font-style:normal;font-weight:600}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px;align-items:center}
.plan{padding:40px 32px;border-radius:var(--r);background:var(--bg2);border:1px solid var(--line);text-align:center}
.plan.hot{background:linear-gradient(170deg,rgba(255,95,162,.3),var(--bg2));border-color:var(--pink);transform:scale(1.05)}
.pl-n{color:var(--sun);font-weight:700;text-transform:uppercase;letter-spacing:.1em}.pl-p{font-size:46px;font-weight:900;margin:10px 0 20px}.pl-p small{font-size:16px;color:var(--mut)}
.plan ul{list-style:none;margin-bottom:28px;color:var(--mut)}.plan li{padding:8px 0;border-bottom:1px solid var(--line)}
.faq{margin-top:40px}.faq-item{border:1px solid var(--line);border-radius:16px;margin-bottom:14px;background:var(--glass);overflow:hidden}
.faq-item summary{padding:22px 26px;font-weight:600;font-size:18px;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.faq-item summary::after{content:"+";color:var(--pink);font-size:26px;transition:.3s}.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{padding:0 26px 22px;color:var(--mut)}
.final{padding:120px 0;text-align:center;background:radial-gradient(ellipse at center,rgba(255,95,162,.3),transparent 65%)}
.final p{color:var(--mut);font-size:20px;margin-bottom:34px}
.site-footer{border-top:1px solid var(--line);padding:50px 0;background:var(--bg2)}
.foot-in{display:grid;grid-template-columns:2fr 1fr;gap:20px}.foot-in p{color:var(--mut);margin-top:10px}.copy{grid-column:1/-1;font-size:14px}
.legal{padding:150px 0 90px}.lg-head h1{font-size:clamp(32px,4vw,52px)}
.lg-item{padding:22px 0;border-bottom:1px solid var(--line)}.lg-item h2{font-size:20px;margin-bottom:8px;color:var(--sun)}.lg-item p{color:var(--mut)}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}.reveal.in{opacity:1;transform:none}
@media(max-width:960px){.hero-in,.story-in,.rev .story-in,.foot-in{grid-template-columns:1fr}.hero-stack{height:440px}.model-grid,.reviews,.plans,.uses{grid-template-columns:1fr 1fr}.steps,.bento{grid-template-columns:1fr 1fr}.main-navigation{display:none}.plan.hot{transform:none}}
@media(max-width:600px){.model-grid,.reviews,.plans,.uses,.steps,.bento{grid-template-columns:1fr}.bx.big,.bx.wide{grid-column:auto}.hs{width:180px}.hs.b{width:200px}.hero-stats{gap:22px}.sec{padding:80px 0}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
