:root{--bg:#0d0716;--bg2:#160c25;--card:rgba(255,255,255,.05);--line:rgba(255,255,255,.1);--txt:#f6eefc;--mut:#b9a8c9;--pink:#ff4fa3;--coral:#ff8a5c;--cyan:#4fe3ff;--grad:linear-gradient(120deg,#ff4fa3 0%,#ff8a5c 50%,#ffc46b 100%);--r:22px;--ff:'Unbounded',sans-serif;--fb:'Manrope',sans-serif}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html.gate-open{overflow:hidden}
body{font-family:var(--fb);background:var(--bg);color:var(--txt);line-height:1.65;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;background:radial-gradient(60vw 50vw at 90% 10%,rgba(255,79,163,.14),transparent 60%),radial-gradient(50vw 40vw at 0% 80%,rgba(79,227,255,.09),transparent 60%);pointer-events:none;z-index:-1}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.container{width:min(1200px,92%);margin:0 auto}
h1,h2{font-family:var(--ff);line-height:1.12;letter-spacing:-.02em}
h1{font-size:clamp(2.1rem,4.4vw,3.7rem);font-weight:800}
h2{font-size:clamp(1.7rem,3.4vw,2.8rem);font-weight:700;margin-bottom:18px}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{display:inline-block;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--pink);font-weight:700;margin-bottom:14px}
.lead{color:var(--mut);font-size:1.1rem;max-width:640px}
section{padding:110px 0;position:relative}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 30px;border-radius:999px;font-weight:700;font-size:1rem;cursor:pointer;transition:.35s;border:0;position:relative;overflow:hidden}
.btn-primary{background:var(--grad);color:#1a0b14;box-shadow:0 10px 40px -10px rgba(255,79,163,.7)}
.btn-primary:after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transform:skewX(-20deg);animation:shine 3.5s infinite}
.btn-primary:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 18px 50px -10px rgba(255,79,163,.9)}
.btn-ghost{border:1px solid var(--line);color:var(--txt);background:rgba(255,255,255,.04);backdrop-filter:blur(8px)}
.btn-ghost:hover{border-color:var(--pink)}
@keyframes shine{0%{left:-120%}60%,100%{left:140%}}
/* header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;transition:.3s;padding:18px 0}
.site-header.is-scrolled{background:rgba(13,7,22,.78);backdrop-filter:blur(14px);padding:10px 0;border-bottom:1px solid var(--line)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:20px}
.site-branding{font-family:var(--ff);font-weight:800;font-size:1.25rem;display:flex;align-items:center;gap:10px}
.site-branding .dot{width:34px;height:34px;border-radius:50%;background:var(--grad);display:grid;place-items:center;color:#1a0b14;font-size:.9rem}
.main-navigation ul{display:flex;gap:28px;list-style:none}
.main-navigation a{color:var(--mut);font-weight:600;font-size:.95rem;transition:.2s}.main-navigation a:hover{color:var(--txt)}
.menu-toggle{display:none;background:none;border:0;color:var(--txt);font-size:1.6rem;cursor:pointer}
/* hero */
.hero{min-height:100vh;display:flex;align-items:center;padding:140px 0 80px;background:linear-gradient(180deg,rgba(13,7,22,.35),rgba(13,7,22,.6) 60%,var(--bg)),url(../../../../uploads/2026/11/hero-bg.webp) center/cover;overflow:hidden}
#sparkles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center;position:relative}
.hero p.lead{margin:24px 0 36px;color:#e9dcf3}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-badges{display:flex;gap:26px;margin-top:40px;color:#e9dcf3;font-size:.9rem;flex-wrap:wrap}
.hero-badges b{font-family:var(--ff);font-size:1.4rem;display:block;color:var(--txt)}
.hero-visual{position:relative;height:540px}
.hero-visual img{position:absolute;border-radius:28px;object-fit:cover;box-shadow:0 30px 80px -20px rgba(0,0,0,.7);border:2px solid rgba(255,255,255,.15)}
.hero-visual .a{width:62%;height:78%;right:0;top:0;animation:float 7s ease-in-out infinite}
.hero-visual .b{width:50%;height:62%;left:0;bottom:0;animation:float 8s ease-in-out infinite reverse}
.bubble{position:absolute;background:rgba(20,10,32,.8);backdrop-filter:blur(10px);border:1px solid var(--line);padding:12px 16px;border-radius:18px 18px 18px 4px;font-size:.88rem;max-width:220px;animation:float 6s ease-in-out infinite}
.bubble.one{left:8%;top:12%}.bubble.two{right:4%;bottom:6%;border-radius:18px 18px 4px 18px;background:var(--grad);color:#1a0b14;font-weight:600}
@keyframes float{50%{transform:translateY(-16px)}}
/* marquee */
.marquee{padding:22px 0;border-block:1px solid var(--line);overflow:hidden;background:rgba(255,79,163,.05)}
.marquee-track{display:flex;gap:60px;width:max-content;animation:mq 30s linear infinite;font-family:var(--ff);font-size:1.1rem;color:var(--mut);white-space:nowrap}
.marquee-track span:nth-child(odd){color:var(--pink)}
@keyframes mq{to{transform:translateX(-50%)}}
/* models */
.sec-head{text-align:center;margin:0 auto 60px;max-width:720px}.sec-head .lead{margin:0 auto}
.models-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.model-card{border-radius:var(--r);overflow:hidden;position:relative;aspect-ratio:3/4;background:var(--bg2);transition:transform .25s ease,box-shadow .3s;cursor:pointer;border:1px solid var(--line)}
.model-card:hover{box-shadow:0 30px 60px -20px rgba(255,79,163,.55)}
.model-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.model-card:hover img{transform:scale(1.07)}
.model-info{position:absolute;left:0;right:0;bottom:0;padding:26px;background:linear-gradient(transparent,rgba(13,7,22,.95) 55%)}
.model-info .name{font-family:var(--ff);font-size:1.4rem;font-weight:700}
.model-info .meta{color:var(--mut);font-size:.9rem;margin:4px 0 14px}
.tag{display:inline-block;font-size:.72rem;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.1);margin:0 6px 6px 0}
.online{position:absolute;top:16px;left:16px;background:rgba(13,7,22,.7);backdrop-filter:blur(6px);padding:6px 12px;border-radius:999px;font-size:.75rem;display:flex;gap:6px;align-items:center}
.online:before{content:"";width:8px;height:8px;border-radius:50%;background:#3dff9a;box-shadow:0 0 10px #3dff9a;animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.3}}
.chat-btn{display:inline-flex;padding:10px 18px;border-radius:999px;background:var(--grad);color:#1a0b14;font-weight:700;font-size:.85rem}
/* features */
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.feature{padding:34px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);transition:.35s;position:relative;overflow:hidden}
.feature:hover{transform:translateY(-6px);border-color:rgba(255,79,163,.5)}
.feature .ico{width:54px;height:54px;border-radius:16px;background:var(--grad);display:grid;place-items:center;font-size:1.5rem;margin-bottom:20px}
.feature strong{font-family:var(--ff);font-size:1.12rem;display:block;margin-bottom:10px}
.feature p{color:var(--mut);font-size:.96rem}
/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:s}
.step{padding:30px;border-radius:var(--r);border:1px dashed rgba(255,255,255,.18);counter-increment:s}
.step:before{content:"0" counter(s);font-family:var(--ff);font-size:2.6rem;font-weight:800;display:block;margin-bottom:12px;background:var(--grad);-webkit-background-clip:text;color:transparent}
.step strong{display:block;font-size:1.08rem;margin-bottom:8px}.step p{color:var(--mut);font-size:.94rem}
/* text block */
.text-block{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.text-block.rev{grid-template-columns:1.1fr .9fr}.text-block.rev .tb-img{order:2}
.tb-img{border-radius:30px;overflow:hidden;position:relative}
.tb-img:after{content:"";position:absolute;inset:0;border-radius:30px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
.tb-img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.prose p{color:#d7c9e4;margin-bottom:18px;font-size:1.04rem}
/* chat demo */
.chat-demo{max-width:620px;margin:0 auto;background:var(--bg2);border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:0 40px 100px -40px rgba(255,79,163,.5)}
.chat-top{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:20px}
.chat-top img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.chat-top small{color:#3dff9a;display:block}
.msg{max-width:80%;padding:12px 16px;border-radius:18px;margin-bottom:12px;font-size:.95rem;opacity:0;transform:translateY(10px);transition:.5s}
.chat-demo.in .msg{opacity:1;transform:none}
.chat-demo.in .msg:nth-child(2){transition-delay:.3s}.chat-demo.in .msg:nth-child(3){transition-delay:.9s}.chat-demo.in .msg:nth-child(4){transition-delay:1.5s}.chat-demo.in .msg:nth-child(5){transition-delay:2.1s}
.msg.her{background:rgba(255,255,255,.07);border-bottom-left-radius:4px}
.msg.me{background:var(--grad);color:#1a0b14;margin-left:auto;border-bottom-right-radius:4px;font-weight:600}
.typing{display:flex;gap:5px;padding:14px 16px;background:rgba(255,255,255,.07);width:max-content;border-radius:18px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--mut);animation:ty 1.2s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes ty{50%{transform:translateY(-5px);opacity:.4}}
/* moods */
.moods{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.mood{padding:16px 26px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-weight:600;transition:.3s}
.mood:hover{background:var(--grad);color:#1a0b14;transform:scale(1.06)}
/* stats + reviews */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:60px}
.stat{text-align:center;padding:30px;border-radius:var(--r);background:var(--card);border:1px solid var(--line)}
.stat .num{font-family:var(--ff);font-size:2.4rem;font-weight:800}
.stat span{color:var(--mut);font-size:.9rem}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.review{padding:30px;border-radius:var(--r);background:var(--card);border:1px solid var(--line)}
.review .stars{color:#ffc46b;letter-spacing:3px;margin-bottom:12px}
.review p{color:#d7c9e4;margin-bottom:16px}.review cite{font-style:normal;font-weight:700;font-size:.9rem}
/* compare */
.compare{width:100%;border-collapse:collapse;border-radius:var(--r);overflow:hidden;background:var(--card)}
.compare th,.compare td{padding:18px 22px;text-align:left;border-bottom:1px solid var(--line)}
.compare th{font-family:var(--ff);font-size:.95rem;background:rgba(255,79,163,.1)}
.compare td.y{color:#3dff9a;font-weight:700}.compare td.n{color:var(--mut)}
/* faq */
.faq{max-width:820px;margin:0 auto}
.faq details{border:1px solid var(--line);border-radius:18px;margin-bottom:14px;background:var(--card);transition:.3s}
.faq details[open]{border-color:rgba(255,79,163,.5)}
.faq summary{padding:22px 26px;cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font-size:1.4rem;color:var(--pink);transition:.3s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{padding:0 26px 22px;color:var(--mut)}
/* cta */
.final-cta{text-align:center;border-radius:36px;padding:90px 30px;background:linear-gradient(135deg,rgba(255,79,163,.25),rgba(255,138,92,.15)),url(../../../../uploads/2026/11/hero-bg.webp) center/cover;border:1px solid var(--line);overflow:hidden;position:relative}
.final-cta .lead{margin:0 auto 34px;color:#f0e4f7}
/* footer */
.site-footer{padding:60px 0 30px;border-top:1px solid var(--line);margin-top:40px}
.footer-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:30px}
.footer-grid p{color:var(--mut);max-width:420px;font-size:.92rem;margin-top:12px}
.footer-menu{list-style:none;display:flex;gap:24px;flex-wrap:wrap}
.footer-menu a{color:var(--mut)}.footer-menu a:hover{color:var(--pink)}
.site-info{color:var(--mut);font-size:.82rem;border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.badge18{display:inline-block;border:1px solid var(--pink);color:var(--pink);border-radius:8px;padding:2px 8px;font-weight:800;margin-right:8px}
/* age gate */
#age-gate{position:fixed;inset:0;z-index:999;display:grid;place-items:center;background:rgba(8,4,14,.75);backdrop-filter:blur(22px);transition:.5s;padding:20px}
#age-gate.is-hidden{opacity:0;pointer-events:none}
.gate-box{max-width:480px;width:100%;text-align:center;padding:44px 34px;border-radius:30px;background:linear-gradient(160deg,#1e1030,#120a1d);border:1px solid rgba(255,79,163,.35);box-shadow:0 40px 120px -30px rgba(255,79,163,.6);animation:pop .6s cubic-bezier(.2,1.4,.4,1)}
@keyframes pop{from{transform:scale(.85);opacity:0}}
.gate-box .big18{font-family:var(--ff);font-size:3.4rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;color:transparent;line-height:1}
.gate-box .gtitle{font-family:var(--ff);font-size:1.4rem;margin:14px 0 10px;font-weight:700}
.gate-box p{color:var(--mut);font-size:.93rem;margin-bottom:12px}
.gate-box .note{font-size:.78rem;background:rgba(255,255,255,.05);border-radius:12px;padding:12px;text-align:left}
.gate-actions{display:flex;gap:12px;justify-content:center;margin-top:22px;flex-wrap:wrap}
/* legal */
.legal-hero{padding:170px 0 50px;text-align:center}
.legal-hero p{color:var(--mut);margin-top:16px}
.legal-content{max-width:860px;margin:0 auto;padding:20px 0 80px}
.legal-content h2{font-size:1.35rem;margin:42px 0 12px;color:var(--txt)}
.legal-content p,.legal-content li{color:#d2c4df;margin-bottom:12px}
.legal-content ul{padding-left:22px}
.legal-content a{color:var(--pink)}
/* reveal */
.reveal{opacity:0;transform:translateY(40px);transition:1s cubic-bezier(.2,.8,.2,1)}.reveal.in{opacity:1;transform:none}
@media(max-width:980px){.hero-grid,.text-block,.text-block.rev{grid-template-columns:1fr}.text-block.rev .tb-img{order:0}.hero-visual{height:420px}.models-grid,.features-grid,.reviews{grid-template-columns:repeat(2,1fr)}.steps,.stats{grid-template-columns:repeat(2,1fr)}
.menu-toggle{display:block}.main-navigation{position:fixed;inset:70px 4% auto;background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:24px;display:none}.nav-open .main-navigation{display:block}.main-navigation ul{flex-direction:column;gap:16px}.header-cta{display:none}}
@media(max-width:620px){section{padding:80px 0}.models-grid,.features-grid,.reviews,.steps,.stats{grid-template-columns:1fr}.compare th,.compare td{padding:12px;font-size:.85rem}}
