:root{
  --bg:#212121; --fg:#fcfcfc; --muted:#a1a1a1;
  --surface:rgba(255,255,255,.04); --surface-2:rgba(255,255,255,.06);
  --border:rgba(255,255,255,.08); --border-2:rgba(255,255,255,.1);
  --primary:#f838a0; --primary-2:#ff5cb5;
  --grad:linear-gradient(135deg,#f838a0,#ff5cb5);
  --glow:0 20px 60px -20px rgba(248,56,160,.5);
  --shadow-card:0 10px 40px -10px rgba(0,0,0,.5);
  --font:"Roboto",system-ui,-apple-system,Segoe UI,sans-serif;
  --display:"Comfortaa",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none;margin:0;padding:0}
h1,h2,h3,h4{margin:0;letter-spacing:-.02em;font-weight:700}
p{margin:0}
button{font:inherit;cursor:pointer;background:none;border:0;color:inherit}

.container{max-width:1152px;margin:0 auto;padding:0 1.25rem}
.narrow-md{max-width:880px;margin:0 auto;padding:0 1.25rem}
.narrow-sm{max-width:720px;margin:0 auto;padding:0 1.25rem}
.center{text-align:center}
.narrow{max-width:640px;margin-left:auto;margin-right:auto}
.muted{color:var(--muted)}
.small{font-size:.875rem}
.accent{color:var(--primary)}
.underline{text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:6px}
.display{font-family:var(--display)}
.icon{width:1rem;height:1rem;flex-shrink:0}
.icon-xs{width:.875rem;height:.875rem}

/* Glass */
.glass,.card,.chip,.tabs-inner,.banner,.cta-box,.faq details,.tag{
  background:var(--surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid var(--border);
}
.glass-strong,.tabs-inner,.banner,.cta-box{background:var(--surface-2);border-color:var(--border-2);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}

/* Nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50}
.nav-inner{height:64px;display:flex;align-items:center;justify-content:space-between;background:var(--surface-2);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--border-2)}
.nav .container,.nav-inner{margin:0 auto;max-width:1152px;padding:0 1.25rem}
.nav-inner{padding-left:1.25rem;padding-right:1.25rem}
.logo{font-family:var(--display);font-weight:700;font-size:1.5rem;letter-spacing:-.02em}
.logo-lg{font-size:1.875rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:9999px;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:transform .2s, background .2s, opacity .2s;line-height:1}
.btn-lg{padding:.875rem 1.75rem;font-size:1rem}
.btn-primary{background:var(--grad);color:#fff;box-shadow:var(--glow)}
.btn-primary:hover{transform:scale(1.02);opacity:.95}
.btn-glass{background:var(--surface);border:1px solid var(--border);padding:.875rem 1.25rem}
.btn-glass:hover{background:rgba(255,255,255,.1)}
.btn-sm{padding:.5rem 1rem}

/* Chip */
.chip{display:inline-flex;align-items:center;gap:.5rem;border-radius:9999px;padding:.375rem 1rem;font-size:.75rem;font-weight:500;color:rgba(252,252,252,.8)}
.chip .chip-icon{color:var(--primary)}

/* Sections */
.section{padding:6rem 1.25rem;position:relative}
.divider{border-top:1px solid var(--border)}
.hero{padding-top:7rem;padding-bottom:5rem}
.hero-glow{position:absolute;inset:0;background:radial-gradient(ellipse at top,rgba(248,56,160,.25),transparent 60%);pointer-events:none}
.hero-inner{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2rem}

.h1{font-family:var(--display);font-size:clamp(2.75rem,7vw,4.5rem);line-height:1.05;max-width:48rem}
.h2{font-size:clamp(2rem,5vw,3rem)}
.h3{font-size:1.25rem;margin-bottom:.5rem}
.h3-lg{font-size:1.875rem;margin-bottom:1rem}
.lead{font-size:clamp(1.125rem,2vw,1.25rem);color:var(--muted);max-width:36rem}
.lead-sm{font-size:1.0625rem;line-height:1.7;margin-top:1rem}

/* CTA */
.cta-row{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%}
.cta-stores{display:flex;gap:.75rem}
.center-row{justify-content:center}
@media (min-width:640px){
  .cta-row{flex-direction:row;width:auto}
}

/* Phone mock */
.phone-wrap{position:relative;width:100%;max-width:28rem;margin:2rem auto 0}
.phone-glow{position:absolute;inset:-2.5rem;background:radial-gradient(ellipse at top,rgba(248,56,160,.25),transparent 60%);filter:blur(40px);pointer-events:none}
.phone{position:relative;width:260px;margin:0 auto}
@media (min-width:640px){.phone{width:300px}}
.phone img{width:100%;height:auto;-webkit-user-select:none;user-select:none;pointer-events:none}
.float{animation:float 6s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* Grid */
.grid{display:grid;gap:1.25rem;margin-top:3rem}
.grid-2{grid-template-columns:1fr}
@media (min-width:640px){.grid-2{grid-template-columns:1fr 1fr}}

.card{border-radius:1rem;padding:1.5rem;transition:background .2s}
.card:hover{background:rgba(255,255,255,.06)}
.card.big{border-radius:1.5rem;padding:2rem;margin-top:2.5rem}

.icon-badge{height:2.75rem;width:2.75rem;border-radius:.75rem;background:var(--grad);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:#fff}
.icon-badge .icon{width:1.25rem;height:1.25rem}

/* Pillars */
.pillars{margin-top:4rem;display:flex;flex-direction:column;gap:3rem}
.pillar{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center}
@media (min-width:768px){
  .pillar{grid-template-columns:1fr 1fr}
  .pillar.reverse > :first-child{order:2}
}
.pillar-card{background:var(--surface);border:1px solid var(--border);border-radius:1.5rem;padding:2rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.pillar-card .icon-badge{height:3rem;width:3rem}
.pillar-card .icon-badge .icon{width:1.5rem;height:1.5rem}
.pillar-card .h3{font-size:1.5rem;margin-bottom:.75rem}
.pillar-num{font-family:var(--display);font-weight:700;font-size:clamp(8rem,15vw,10rem);color:rgba(248,56,160,.1);line-height:1;text-align:center;user-select:none}

.banner{margin-top:4rem;border-radius:1rem;padding:1.5rem 2rem;text-align:center}
.banner p{font-size:clamp(1.25rem,2.5vw,1.5rem)}

/* Steps */
.steps{display:flex;flex-direction:column;gap:5rem}
.step{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}
@media (min-width:768px){.step{grid-template-columns:1fr 1fr}}
.step-n{font-family:var(--display);font-weight:700;font-size:3.75rem;color:var(--primary);line-height:1;margin-bottom:1rem}
.callout{margin-top:1.25rem;background:var(--surface);border:1px solid var(--border);border-left:2px solid var(--primary);border-radius:.75rem;padding:1rem;font-style:italic}
.tags{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.5rem}
.tag{display:inline-flex;align-items:center;gap:.5rem;border-radius:9999px;padding:.5rem 1rem;font-size:.875rem;transition:background .2s, border-color .2s}
.tag::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--primary)}
.tag:hover{background:rgba(255,255,255,.1);border-color:rgba(248,56,160,.4)}

/* Tabs */
.tabs{display:flex;justify-content:center;margin-top:2.5rem}
.tabs-inner{display:inline-flex;border-radius:9999px;padding:.25rem}
.tab{padding:.625rem 1.5rem;border-radius:9999px;font-size:.875rem;font-weight:500;color:var(--muted);transition:all .2s;text-transform:capitalize}
.tab:hover{color:var(--fg)}
.tab.active{background:var(--grad);color:#fff;box-shadow:var(--glow)}

.check-list li{display:flex;align-items:flex-start;gap:.75rem;font-size:1.125rem;margin-bottom:1rem}
.check-list li:last-child{margin-bottom:0}
.check{margin-top:.375rem;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--grad);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;position:relative}
.check::after{content:"";width:.625rem;height:.375rem;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}

/* FAQ */
.faq{display:flex;flex-direction:column;gap:.75rem}
.faq details{border-radius:1rem;overflow:hidden}
.faq summary{list-style:none;padding:1.25rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-weight:500;font-size:1rem;cursor:pointer;transition:background .2s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{background:rgba(255,255,255,.03)}
.caret{width:1.25rem;height:1.25rem;border-right:2px solid var(--primary);border-bottom:2px solid var(--primary);transform:rotate(45deg) translateY(-2px);transition:transform .25s;flex-shrink:0}
.faq details[open] .caret{transform:rotate(-135deg) translateX(-2px)}
.faq-body{padding:0 1.25rem 1.25rem;color:var(--muted);line-height:1.7}
@media (min-width:640px){.faq summary{font-size:1.125rem}}

/* CTA box */
.cta-box{position:relative;overflow:hidden;border-radius:1.5rem;padding:2.5rem;text-align:center}
@media (min-width:640px){.cta-box{padding:4rem}}
.cta-content{position:relative}
.cta-content .h2{max-width:36rem;margin:0 auto;line-height:1.15}
.cta-content .lead-sm{margin-top:1rem}
.cta-content .cta-stores{margin-top:2rem;flex-direction:column}
@media (min-width:640px){.cta-content .cta-stores{flex-direction:row}}

/* Footer */
.footer{border-top:1px solid var(--border);padding:4rem 1.25rem}
.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
@media (min-width:768px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.footer-brand{grid-column:span 2}
@media (min-width:768px){.footer-brand{grid-column:span 1}}
.footer-brand p{margin-top:.75rem;max-width:18rem}
.footer-loc{margin-top:1rem;display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--muted)}
.footer-loc::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--primary)}
.socials{margin-top:1.25rem;display:flex;gap:.5rem}
.socials a{height:2.25rem;width:2.25rem;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;color:rgba(252,252,252,.8);transition:all .2s}
.socials a:hover{color:var(--primary);background:rgba(255,255,255,.1)}
.socials svg{width:1rem;height:1rem}
.footer-title{font-family:var(--display);font-weight:600;font-size:1rem;margin-bottom:1rem}
.footer li{margin-bottom:.625rem}
.footer li a{font-size:.875rem;color:var(--muted);transition:color .2s}
.footer li a:hover{color:var(--primary)}
.footer-bottom{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.75rem;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--muted)}
@media (min-width:640px){.footer-bottom{flex-direction:row}}
.footer-bottom .logo{font-size:.875rem}
