:root{
    --purple-deep:#1E0538;
    --purple:#5B21B6;
    --purple-dark:#3B0764;
    --purple-soft:#7C3AED;
    --white:#FFFFFF;
    --gold:#FACC15;
    --gold-deep:#EAB308;
    --lilac-tint:#F6F1FF;
    --ink:#1A0B2E;
    --ink-soft:#5B4A78;
    --radius-lg:26px;
    --radius-md:18px;
    --shadow-soft:0 20px 50px -20px rgba(30,5,56,.45);
    --ff-display:'Unbounded', sans-serif;
    --ff-body:'Plus Jakarta Sans', sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:var(--ff-body);background:var(--white);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased;}
  img{max-width:100%;display:block;}
  a{text-decoration:none;color:inherit;}
  button{font-family:inherit;cursor:pointer;border:none;}
  ul{list-style:none;}
  @media (prefers-reduced-motion: reduce){*{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}}

  .container{width:100%;max-width:1160px;margin:0 auto;padding:0 22px;}
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.16,1,.3,1);}
  .reveal.is-visible{opacity:1;transform:translateY(0);}

  /* ---------- top bar ---------- */
  .topbar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:rgba(21,3,41,.5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08);transition:padding .3s ease, background .3s ease;}
  .topbar.scrolled{padding:8px 20px;background:rgba(18,2,31,.9);}
  .topbar .brand{display:flex;align-items:center;gap:9px;}
  .topbar .brand img{height:30px;width:auto;border-radius:7px;}
  .topbar-cta{display:flex;align-items:center;gap:8px;background:var(--gold);color:var(--purple-dark);font-weight:700;font-size:.78rem;padding:8px 14px;border-radius:100px;box-shadow:0 6px 16px -4px rgba(250,204,21,.5);transition:transform .25s ease;white-space:nowrap;}
  .topbar-cta:active{transform:scale(.95);}

  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 26px;border-radius:100px;font-weight:700;font-size:.92rem;transition:transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease, filter .25s ease;}
  .btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold-deep));color:var(--purple-dark);box-shadow:0 14px 30px -10px rgba(250,204,21,.55);}
  .btn-primary:hover{transform:translateY(-3px) scale(1.02);filter:brightness(1.05);}
  .btn-primary:active{transform:translateY(0) scale(.97);}
  .btn-ghost{background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.35);color:var(--white);backdrop-filter:blur(6px);}
  .btn-ghost:hover{background:rgba(255,255,255,.16);transform:translateY(-3px);}
  .btn-dark{background:var(--purple);color:var(--white);box-shadow:0 14px 30px -12px rgba(91,33,182,.55);}
  .btn-dark:hover{transform:translateY(-3px);background:var(--purple-dark);}
  .btn-block{width:100%;}
  .btn-review{background:var(--ink);color:var(--gold);border:1.5px solid rgba(250,204,21,.4);}
  .btn-review:hover{background:#241143;transform:translateY(-3px);border-color:rgba(250,204,21,.7);}
  .btn-review:active{transform:translateY(0);}

  .drip{position:relative;line-height:0;width:100%;overflow:hidden;}
  .drip svg{display:block;width:100%;height:50px;}
  @media(min-width:768px){.drip svg{height:74px;}}

  /* ================= HERO w/ video bg ================= */
  .hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:#0F0220;padding-top:90px;}
  .hero-video-wrap{position:absolute;inset:0;z-index:0;}
  .hero-video-wrap video, .hero-video-wrap img{position:absolute;top:50%;left:50%;width:auto;height:auto;min-width:100%;min-height:100%;transform:translate(-50%,-50%);object-fit:cover;opacity:.55;}
  .hero-video-wrap::after{content:"";position:absolute;inset:0;background:
      radial-gradient(120% 90% at 20% 10%, rgba(91,33,182,.55), transparent 55%),
      linear-gradient(180deg, rgba(15,2,32,.55) 0%, rgba(15,2,32,.75) 45%, #0F0220 100%);
  }
  .hero-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;padding:36px 20px 8px;}
  .eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-body);font-weight:700;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);background:rgba(250,204,21,.1);border:1px solid rgba(250,204,21,.35);padding:7px 15px;border-radius:100px;margin-bottom:18px;}
  .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:pulse 1.8s ease-in-out infinite;}
  @keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}
  .hero h1{font-family:var(--ff-display);font-weight:800;color:var(--white);font-size:clamp(2.2rem,8.5vw,4rem);line-height:1.05;letter-spacing:-.01em;max-width:700px;}
  .hero h1 .accent{color:var(--gold);}
  .hero p.sub{margin-top:16px;max-width:440px;color:rgba(255,255,255,.8);font-size:clamp(.98rem,3.4vw,1.1rem);line-height:1.5;}
  .hero-ctas{display:flex;flex-direction:column;gap:12px;width:100%;max-width:340px;margin-top:26px;}
  @media(min-width:520px){.hero-ctas{flex-direction:row;max-width:none;}}
  .hero-trust{display:flex;align-items:center;gap:9px;margin-top:22px;color:rgba(255,255,255,.72);font-size:.82rem;}
  .hero-trust .stars{color:var(--gold);letter-spacing:2px;}
  .hero-visual{position:relative;z-index:1;margin-top:30px;width:100%;display:flex;justify-content:center;}
  .hero-visual .cup-wrap{position:relative;width:min(70%,300px);animation:floaty 5s ease-in-out infinite;}
  .hero-visual img{width:100%;border-radius:28px;box-shadow:0 40px 80px -20px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.05);}
  @keyframes floaty{0%,100%{transform:translateY(0px) rotate(-1deg);}50%{transform:translateY(-12px) rotate(1deg);}}

  /* ================= CLUBE (QR + benefícios + form combinado) ================= */
  .section-club{background:var(--purple-dark);padding:60px 0 70px;color:var(--white);position:relative;}
  .club-head{text-align:center;max-width:560px;margin:0 auto 40px;}
  .eyebrow-dark{display:inline-block;font-weight:700;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
  .club-head h2{font-family:var(--ff-display);font-size:clamp(1.55rem,5.6vw,2.3rem);font-weight:700;}
  .club-head p{margin-top:10px;color:rgba(255,255,255,.72);font-size:.95rem;line-height:1.55;}

  .club-left{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:22px;}
  .qr-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-soft);position:relative;display:flex;align-items:center;gap:18px;}
  .qr-card img{width:104px;height:104px;border-radius:12px;background:#fff;padding:8px;flex-shrink:0;}
  .qr-card .qr-text b{display:block;font-family:var(--ff-display);font-size:.95rem;margin-bottom:4px;}
  .qr-card .qr-text span{font-size:.8rem;color:rgba(255,255,255,.65);}
  .qr-card .badge{position:absolute;top:-12px;right:-10px;background:var(--gold);color:var(--purple-dark);font-weight:800;font-size:.65rem;letter-spacing:.05em;text-transform:uppercase;padding:6px 11px;border-radius:100px;transform:rotate(6deg);box-shadow:0 8px 16px -6px rgba(250,204,21,.6);}

  .mini-benefits{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  @media(min-width:640px){.mini-benefits{grid-template-columns:repeat(4,1fr);}}
  .mini-benefit{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:4px;}
  .mini-benefit .ic{font-size:1.15rem;}
  .mini-benefit b{font-size:.82rem;font-family:var(--ff-display);font-weight:600;}
  .mini-benefit span{font-size:.72rem;color:rgba(255,255,255,.6);line-height:1.4;}

  .coupon-tag{display:flex;align-items:center;gap:12px;background:rgba(250,204,21,.12);border:1.5px dashed rgba(250,204,21,.5);border-radius:14px;padding:14px 16px;}
  .coupon-tag .ic{font-size:1.4rem;flex-shrink:0;}
  .coupon-tag b{display:block;font-family:var(--ff-display);font-size:.88rem;color:var(--gold);margin-bottom:2px;}
  .coupon-tag span{font-size:.78rem;color:rgba(255,255,255,.75);line-height:1.4;}

  /* ================= SOBRE A DOCK ================= */
  .section-about{position:relative;padding:64px 0;color:var(--white);isolation:isolate;}
  .about-bg{position:absolute;inset:0;z-index:-1;background:#1E0538;}
  .about-bg img{width:100%;height:100%;object-fit:cover;opacity:.9;}
  .about-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(30,5,56,.55), rgba(18,2,31,.88));}
  .about-inner{max-width:620px;margin:0 auto;text-align:center;}
  .about-inner h2{font-family:var(--ff-display);font-size:clamp(1.5rem,5.4vw,2.2rem);font-weight:700;margin-bottom:8px;}
  .about-inner .sub{color:rgba(255,255,255,.75);font-size:.95rem;margin-bottom:26px;}
  .about-list{display:grid;grid-template-columns:1fr;gap:12px;text-align:left;margin-bottom:26px;}
  @media(min-width:640px){.about-list{grid-template-columns:1fr 1fr;}}
  .about-list li{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px 16px;font-size:.88rem;backdrop-filter:blur(6px);}
  .about-list li .ic{font-size:1.2rem;flex-shrink:0;}

  /* ================= PROVA SOCIAL (compacta) ================= */
  .section-social{background:var(--lilac-tint);padding:56px 0;}
  .stats-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:linear-gradient(135deg,var(--purple-dark),var(--purple));border-radius:var(--radius-lg);padding:28px 22px;color:var(--white);text-align:center;margin-bottom:32px;box-shadow:var(--shadow-soft);}
  .stat b{display:block;font-family:var(--ff-display);font-size:clamp(1.7rem,6.5vw,2.3rem);font-weight:800;color:var(--gold);}
  .stat span{font-size:.8rem;color:rgba(255,255,255,.8);}
  a.stat{transition:transform .2s ease, opacity .2s ease;}
  a.stat:hover{transform:translateY(-2px);opacity:.9;}
  .stars-line{letter-spacing:4px;color:var(--gold);font-size:1.2rem;}

  .testimonials{display:grid;grid-template-columns:1fr;gap:14px;}
  @media(min-width:700px){.testimonials{grid-template-columns:1fr 1fr;}}
  .testimonial{background:var(--white);border-radius:var(--radius-md);padding:22px;border:1px solid rgba(91,33,182,.08);box-shadow:0 14px 28px -18px rgba(59,7,100,.2);}
  .testimonial .stars-mini{color:var(--gold-deep);font-size:.85rem;letter-spacing:2px;margin-bottom:10px;}
  .testimonial p{font-size:.88rem;color:var(--ink);line-height:1.5;margin-bottom:14px;}
  .testimonial .who{display:flex;align-items:center;gap:10px;}
  .testimonial .avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--gold));display:flex;align-items:center;justify-content:center;color:var(--white);font-weight:700;font-size:.8rem;font-family:var(--ff-display);}
  .testimonial .who div span{display:block;font-size:.72rem;color:var(--ink-soft);}
  .testimonial .who div b{font-size:.85rem;}

  /* ================= GALERIA ================= */
  .section-gallery{background:var(--purple-deep);padding:60px 0 66px;}
  .section-head{text-align:center;max-width:560px;margin:0 auto 34px;}
  .section-head h2{font-family:var(--ff-display);font-size:clamp(1.5rem,5.2vw,2.2rem);font-weight:700;color:var(--white);}
  .section-gallery .eyebrow-dark{color:var(--gold);}
  .gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  @media(min-width:768px){.gallery-grid{grid-template-columns:repeat(4,1fr);gap:16px;}}
  .gallery-item{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 18px 36px -18px rgba(0,0,0,.55);}
  .gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1);}
  .gallery-item:hover img{transform:scale(1.08);}
  .gallery-item .overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%, rgba(20,3,40,.92) 100%);display:flex;align-items:flex-end;padding:14px;}
  .gallery-item .overlay span{color:var(--white);font-family:var(--ff-display);font-weight:600;font-size:.8rem;}

  .ig-highlight{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:linear-gradient(135deg,#405DE6,#5851DB,#833AB4,#C13584,#E1306C,#FD1D1D,#F56040,#F77737,#FCAF45,#FFDC80);border-radius:var(--radius-lg);padding:20px 24px;box-shadow:var(--shadow-soft);}
  .ig-highlight .ig-text{display:flex;align-items:center;gap:12px;color:var(--white);}
  .ig-highlight .ig-text .ic{font-size:1.8rem;}
  .ig-highlight .ig-text b{display:block;font-family:var(--ff-display);font-size:1rem;font-weight:700;}
  .ig-highlight .ig-text span{font-size:.82rem;color:rgba(255,255,255,.9);}
  .ig-highlight .btn{background:var(--white);color:#C13584;white-space:nowrap;}
  .ig-highlight .btn:hover{transform:translateY(-3px);filter:brightness(1.03);}

  /* ================= FOOTER (com endereço/mapa) ================= */
  footer{background:#12021F;color:rgba(255,255,255,.7);padding:50px 0 24px;}
  .footer-cta{display:flex;flex-direction:column;gap:14px;align-items:center;text-align:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:30px 24px;margin-bottom:40px;}
  .footer-mascot{width:96px;height:auto;border-radius:16px;margin-bottom:4px;}
  .footer-cta h3{font-family:var(--ff-display);color:var(--white);font-size:1.3rem;font-weight:700;}
  .footer-cta p{font-size:.88rem;max-width:380px;}
  .footer-top{display:flex;flex-direction:column;gap:30px;margin-bottom:30px;}
  @media(min-width:768px){.footer-top{flex-direction:row;justify-content:space-between;}}
  .footer-brand{display:flex;align-items:center;gap:12px;}
  .footer-brand img{height:36px;border-radius:8px;}
  .footer-brand span{font-family:var(--ff-display);font-weight:700;color:var(--white);}
  .footer-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  @media(min-width:768px){.footer-cols{grid-template-columns:repeat(3,1fr);gap:44px;}}
  .footer-col h4{font-family:var(--ff-display);font-size:.82rem;color:var(--white);margin-bottom:12px;letter-spacing:.02em;}
  .footer-col p, .footer-col a{display:block;font-size:.82rem;line-height:1.75;color:rgba(255,255,255,.65);}
  .footer-col a:hover{color:var(--gold);}
  .footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;font-size:.75rem;color:rgba(255,255,255,.45);display:flex;flex-direction:column;gap:8px;text-align:center;}
  @media(min-width:768px){.footer-bottom{flex-direction:row;justify-content:space-between;text-align:left;}}

  .fab-whats{position:fixed;bottom:20px;right:20px;z-index:90;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#25D366,#1EBE5B);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 24px -8px rgba(37,211,102,.6);font-size:1.5rem;animation:fabpulse 2.4s ease-in-out infinite;}
  @keyframes fabpulse{0%,100%{transform:scale(1);}50%{transform:scale(1.06);}}
