:root{
--p:#FF1766;--p2:#FF922A;--g:#10B981;--b:#FF1766;
--ink:#0F172A;--ink2:#334155;--ink3:#64748B;--ink4:#94A3B8;
--bg:#fff;--bg2:#F8FAFC;--bg3:#F1F5F9;--bgp:#FFF1F2;--bgo:#FFF7ED;
--bd:#E2E8F0;--r:12px;--r2:16px;--r3:24px;
--font:'Plus Jakarta Sans','Open Sans',system-ui,sans-serif;--mx:1100px
}

/* ========================================= */
/* COOKIE CONSENT - Premium dark style       */
/* ========================================= */
.cc-window{border-radius:16px!important;padding:18px 20px!important;font-family:"Plus Jakarta Sans",system-ui,sans-serif!important;box-shadow:0 16px 48px rgba(0,0,0,.3)!important;border:1px solid rgba(255,255,255,.06)!important;margin:16px!important;max-width:380px!important}
.cc-message{font-size:.84rem!important;line-height:1.5!important;margin-bottom:12px!important;font-weight:500!important}
.cc-btn{border-radius:10px!important;padding:10px 24px!important;font-weight:700!important;font-size:.84rem!important;font-family:inherit!important;border:none!important;transition:all .2s!important;box-shadow:0 2px 8px rgba(255,23,102,.2)!important}
.cc-btn:hover{transform:translateY(-1px)!important;box-shadow:0 4px 16px rgba(255,23,102,.3)!important}
.cc-link{font-weight:600!important;text-decoration:underline!important}
.cc-link:hover{color:#FF1766!important}

/* ========================================= */
/* AGE VERIFICATION MODAL - Premium style    */
/* ========================================= */
#site-entry-approval-dialog .modal-content{border:none!important;border-radius:24px!important;overflow:hidden!important;box-shadow:0 24px 80px rgba(0,0,0,.25)!important}
#site-entry-approval-dialog .modal-dialog{max-width:420px!important}
.blurred{filter:blur(12px)!important;pointer-events:none!important;user-select:none!important}
.modal-backdrop.show{opacity:.6!important;backdrop-filter:blur(4px)!important}


body{background:var(--bg)!important;font-family:var(--font)!important;-webkit-font-smoothing:antialiased;overflow-x:hidden}

/* ========================================= */
/* NAVBAR - MUST be above everything         */
/* ========================================= */
.navbar{
  position:sticky!important;
  top:0!important;
  z-index:1030!important;
  background:rgba(255,255,255,.95)!important;
  backdrop-filter:blur(20px) saturate(180%)!important;
  -webkit-backdrop-filter:blur(20px) saturate(180%)!important;
  border-bottom:1px solid rgba(0,0,0,.06)!important;
  box-shadow:0 1px 3px rgba(0,0,0,.04)!important;
}

/* Override old footer styles */
footer.footer{background:var(--bg2)!important;border-top:1px solid var(--bd)!important}
footer.footer,footer.footer *{color:var(--ink3)!important}

/* ========================================= */
/* ANIMATIONS                                */
/* ========================================= */
[data-s]{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
[data-s].on{opacity:1;transform:none}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes pulse2{0%,100%{box-shadow:0 0 0 0 rgba(255,23,102,.4)}70%{box-shadow:0 0 0 10px rgba(255,23,102,0)}}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes countUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes glow{0%,100%{box-shadow:0 0 20px rgba(255,23,102,.15)}50%{box-shadow:0 0 40px rgba(255,23,102,.25)}}
@keyframes shine{0%{left:-100%}100%{left:200%}}

/* ========================================= */
/* LAYOUT                                    */
/* ========================================= */
.hw{max-width:var(--mx);margin:0 auto;padding:0 16px}
.hg{background:linear-gradient(135deg,var(--p),var(--p2));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hg2{background:linear-gradient(135deg,var(--g),#06B6D4);-webkit-background-clip:text;-webkit-text-fill-color:transparent}

/* ========================================= */
/* CTA BUTTONS                               */
/* ========================================= */
.cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:18px 36px;font-size:1.05rem;font-weight:800;font-family:var(--font);color:#fff;background:linear-gradient(135deg,var(--p),var(--p2));border-radius:var(--r2);border:none;cursor:pointer;text-decoration:none;position:relative;overflow:hidden;box-shadow:0 4px 20px rgba(255,23,102,.3);transition:all .3s cubic-bezier(.16,1,.3,1)}
.cta-btn:hover{transform:translateY(-3px);box-shadow:0 8px 32px rgba(255,23,102,.4);color:#fff;text-decoration:none}
.cta-btn:active{transform:scale(.97)}
.cta-btn::after{content:'';position:absolute;top:0;width:60px;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform:skewX(-20deg);animation:shine 3s infinite}
.cta-btn svg{width:20px;height:20px}
.cta-o{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 30px;font-size:.95rem;font-weight:700;font-family:var(--font);color:var(--ink2);background:var(--bg);border:2px solid var(--bd);border-radius:var(--r2);cursor:pointer;text-decoration:none;transition:all .3s}
.cta-o:hover{border-color:var(--p);color:var(--p);background:var(--bgp);text-decoration:none}
.cta-w{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:18px 36px;font-size:1.05rem;font-weight:800;font-family:var(--font);color:var(--p);background:#fff;border-radius:var(--r2);border:none;cursor:pointer;text-decoration:none;box-shadow:0 4px 20px rgba(0,0,0,.12);transition:all .3s}
.cta-w:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.16);color:var(--p);text-decoration:none}

/* Glass */
.glass{background:rgba(255,255,255,.7);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.8);border-radius:var(--r2);box-shadow:0 4px 16px rgba(0,0,0,.04)}

/* Marquee */
.marquee-wrap{overflow:hidden;white-space:nowrap;padding:20px 0}
.marquee-inner{display:inline-flex;gap:32px;animation:marquee 30s linear infinite}
.marquee-inner span{font-size:.82rem;font-weight:600;color:var(--ink4);display:inline-flex;align-items:center;gap:6px}

/* Phone mockup */
.phone{width:200px;height:400px;border-radius:28px;border:5px solid #1a1a2e;background:#000;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.2);flex-shrink:0;position:relative}
.phone video,.phone img{width:100%;height:100%;object-fit:cover}
.phone-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:80px;height:22px;background:#1a1a2e;border-radius:0 0 12px 12px;z-index:3}
.phone-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.7));padding:12px;z-index:2}

/* Stats */
.stat-num{font-size:2rem;font-weight:900;line-height:1;color:var(--ink)}
.stat-label{font-size:.72rem;font-weight:600;color:var(--ink4);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}

/* Feature pill */
.feat-pill{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--bg);border:1px solid var(--bd);border-radius:14px;transition:all .3s cubic-bezier(.16,1,.3,1)}
.feat-pill:hover{border-color:var(--p);box-shadow:0 4px 20px rgba(255,23,102,.06);transform:translateY(-2px)}
.feat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}

/* Testimonial */
.testi{background:var(--bg);border:1px solid var(--bd);border-radius:var(--r2);padding:20px;position:relative}
.testi::before{content:'\201C';position:absolute;top:8px;left:16px;font-size:3rem;font-weight:900;color:var(--bgp);line-height:1}

/* Sticky CTA */
.hStk{position:fixed;bottom:0;left:0;right:0;z-index:1029;background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;padding:10px 16px;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 -4px 20px rgba(0,0,0,.15);transform:translateY(100%);transition:transform .4s cubic-bezier(.16,1,.3,1);padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
.hStk.on{transform:translateY(0)}

/* Range */
input[type=range]{-webkit-appearance:none;width:100%;height:6px;border-radius:3px;background:linear-gradient(to right,var(--p),var(--p2));outline:none;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--p);box-shadow:0 2px 8px rgba(255,23,102,.25);cursor:pointer}

/* FAQ */
.hFaq{border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;background:var(--bg);transition:border-color .3s,box-shadow .3s}
.hFaq.on{border-color:var(--p);box-shadow:0 2px 12px rgba(255,23,102,.05)}
.hFaq button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:none;border:none;font:inherit;font-weight:700;font-size:.88rem;color:var(--ink);text-align:left;cursor:pointer;transition:color .2s}
.hFaq.on button{color:var(--p)}
.hFaq.on button span{transform:rotate(45deg)}
.hFaq button span{transition:transform .3s;display:inline-block}
.hFaq-b{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.16,1,.3,1),padding .3s}
.hFaq.on .hFaq-b{max-height:300px;padding:0 16px 16px}
.hFaq-b p{color:var(--ink3);font-size:.84rem;line-height:1.6;margin:0}

.blob{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0}

/* ========================================= */
/* HERO section z-index fix                  */
/* ========================================= */
section[style*="min-height:100vh"]{
  position:relative;
  z-index:1;
}

/* ========================================= */
/* MOBILE < 600px                            */
/* ========================================= */

/* ========================================= */
/* HEADER: hide desktop nav on mobile        */
/* ========================================= */
@media(max-width:767px){
  .stf-desktop-nav{display:none!important}
  .stf-mobile-only{display:flex!important}
}
@media(min-width:768px){
  .stf-mobile-only{display:none!important}
  .stf-desktop-nav{display:flex!important}
}

/* ========================================= */
/* MOBILE < 600px                            */
/* ========================================= */
@media(max-width:599px){
  /* HERO: exact padding from user spec */
  section[style*="min-height:100vh"]{
    min-height:100svh!important;
    padding:20px!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .hero-flex{flex-direction:column!important;text-align:center}
  .hero-phones{display:flex!important;justify-content:center!important;margin-top:16px}
  .phone{width:120px!important;height:240px!important;border-radius:18px!important;border-width:3px!important}
  .phone-notch{width:50px!important;height:14px!important;border-radius:0 0 7px 7px!important}
  .phone-overlay{padding:6px!important}
  .phone-overlay span{font-size:6px!important}
  .phone-overlay div{margin-bottom:1px!important}

  .g3,.gi,.gf{grid-template-columns:1fr!important}
  .g2{grid-template-columns:1fr!important}
  .g4{grid-template-columns:repeat(2,1fr)!important}
  .cta-btn,.cta-o,.cta-w{width:100%;justify-content:center;padding:14px 24px!important;font-size:.92rem!important}
  .hw{padding:0 14px}
  .stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}
  .stat-num{font-size:1.5rem!important}
  .marquee-inner span{font-size:.72rem}
  h1{font-size:clamp(1.6rem,8vw,2.4rem)!important}
  section[style*="min-height:100vh"] p{font-size:.86rem!important}
  section{padding-top:28px!important;padding-bottom:28px!important}
  .hFaq button{padding:12px 14px!important;font-size:.84rem!important}
  .hFaq-b p{font-size:.82rem!important}
  .testi{padding:16px!important}
  .footer-grid{grid-template-columns:1fr!important;gap:24px!important}
  .footer-bottom{justify-content:center!important;text-align:center;flex-direction:column!important}
}

/* ========================================= */
/* TABLET 600-899px                          */
/* ========================================= */
@media(min-width:600px) and (max-width:899px){
  section[style*="min-height:100vh"]{min-height:100svh!important;padding:40px 20px!important}
  .g3{grid-template-columns:repeat(2,1fr)!important}
  .g4{grid-template-columns:repeat(2,1fr)!important}
  .phone{width:160px!important;height:320px!important}
  .footer-grid{grid-template-columns:1fr 1fr!important;gap:28px!important}
}

/* ========================================= */
/* Desktop: larger hero content              */
/* ========================================= */
@media(min-width:900px){
  .phone{width:260px!important;height:520px!important;border-radius:34px!important}
}

/* ========================================= */
/* Large screens                             */
/* ========================================= */
@media(min-width:1200px){
  .hw{max-width:1200px}
}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
