:root{
  --ink:#2a1446; --ink2:#3d1f63; --paper:#fff8ef; --cream:#fdeedd;
  --pink:#ff3d8b; --teal:#14c3b8; --sun:#ffc531; --violet:#7b4dff; --orange:#ff7a3d; --wa:#1fae5b;
  --r:22px; --head:'Bricolage Grotesque',system-ui,sans-serif; --body:'DM Sans',system-ui,sans-serif; --hand:'Caveat',cursive;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.55;font-size:17px;overflow-x:hidden;padding-bottom:76px}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
svg{width:1.2em;height:1.2em;fill:currentColor;flex:none}
h1,h2,h3{font-family:var(--head);line-height:1.05;letter-spacing:-.02em}
.kicker{font-family:var(--hand);font-size:1.55rem;color:var(--pink);line-height:1;margin-bottom:.35rem}

/* header */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;background:rgba(255,248,239,.92);backdrop-filter:blur(8px);border-bottom:1px solid #f1dcc4}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo b{display:block;font-family:var(--head);font-weight:800;font-size:1.12rem;line-height:1}
.logo small{display:block;font-family:var(--hand);font-size:1.15rem;color:var(--violet);line-height:1}
.logo-mark{position:relative;width:34px;height:34px}
.logo-mark i{position:absolute;border-radius:50%}
.logo-mark i:nth-child(1){width:22px;height:22px;background:var(--pink);left:0;top:2px}
.logo-mark i:nth-child(2){width:18px;height:18px;background:var(--teal);right:0;top:0;mix-blend-mode:multiply}
.logo-mark i:nth-child(3){width:16px;height:16px;background:var(--sun);left:10px;bottom:0;mix-blend-mode:multiply}
.top-cta{display:inline-flex;align-items:center;gap:6px;background:var(--wa);color:#fff;text-decoration:none;font-weight:700;font-size:.92rem;padding:8px 13px;border-radius:999px}
.top-cta span{white-space:nowrap}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:38px 20px 44px;display:grid;gap:30px}
.splash{position:absolute;border-radius:46% 54% 60% 40%/50% 42% 58% 50%;filter:blur(2px);opacity:.9;pointer-events:none}
.s1{width:260px;height:230px;background:var(--pink);top:-90px;right:-80px;transform:rotate(18deg)}
.s2{width:180px;height:160px;background:var(--teal);bottom:30%;left:-110px;opacity:.75}
.s3{width:120px;height:110px;background:var(--sun);bottom:-50px;right:20%;opacity:.85}
.hero-txt{position:relative;z-index:1}
.hero .kicker{color:var(--sun)}
.hero h1{font-size:clamp(2.35rem,9.5vw,4.4rem);font-weight:800;margin:.1rem 0 1rem}
.hl-pink{color:var(--pink)} .hl-teal{color:var(--teal)}
.lead{font-size:1.08rem;color:#eadff7;max-width:34rem}
.btns{display:flex;flex-direction:column;gap:12px;margin-top:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 22px;border-radius:999px;text-decoration:none;font-weight:700;font-size:1.03rem;transition:transform .15s}
.btn:hover{transform:translateY(-2px)}
.btn-wa{background:var(--wa);color:#fff;box-shadow:0 8px 0 -2px #0d6b36}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55)}
.area-pill{display:flex;align-items:center;gap:8px;margin-top:16px;font-weight:700;font-size:.98rem;color:#fff;background:rgba(20,195,184,.22);border:1px solid rgba(20,195,184,.6);padding:8px 14px;border-radius:14px;width:fit-content;max-width:100%}
.area-pill svg{color:var(--teal)}
.agenda-pill{display:inline-flex;align-items:center;gap:6px;margin-top:20px;font-family:var(--hand);font-size:1.45rem;color:var(--sun)}
.hero-img{position:relative;z-index:1;margin:0 auto;max-width:420px;width:100%}
.hero-img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:28px;border:6px solid #fff;transform:rotate(-2deg);box-shadow:14px 14px 0 var(--pink)}
.hero-img figcaption{display:flex;align-items:center;gap:6px;justify-content:center;font-size:.86rem;color:#d9cbea;margin-top:16px}

/* sections */
.sec{padding:56px 20px;max-width:1120px;margin:0 auto}
.sec h2{font-size:clamp(1.9rem,6.5vw,3rem);font-weight:800;margin-bottom:1.4rem}

.ev-grid{list-style:none;display:grid;gap:14px}
.ev{position:relative;border-radius:var(--r);padding:22px 20px 20px;color:var(--ink);overflow:hidden}
.ev h3{font-size:1.4rem;margin-bottom:.3rem}
.ev p{font-size:.98rem}
.ev-n{position:absolute;right:16px;top:10px;font-family:var(--head);font-weight:800;font-size:2.4rem;opacity:.22}
.c-pink{background:#ffd3e4} .c-teal{background:#c9f2ee} .c-sun{background:#ffecb0} .c-violet{background:#e2d7ff}

.novidades{display:grid;gap:14px;margin-top:22px}
.nov{border-radius:var(--r);padding:24px 20px;color:#fff}
.nov h3{font-size:1.5rem;margin:.3rem 0 .5rem}
.tag{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.18)}
.neon{background:radial-gradient(circle at 85% 20%,rgba(20,195,184,.55),transparent 45%),radial-gradient(circle at 10% 90%,rgba(255,61,139,.6),transparent 50%),#170b2c}
.neon h3{color:#7ff7ee;text-shadow:0 0 14px rgba(20,195,184,.8)}
.halloween{background:linear-gradient(135deg,#3a1650,#5b1f4a 60%,#8a3416)}
.halloween h3{color:var(--sun)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:.3rem 0 .9rem}
.chips span{font-size:.85rem;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25)}
.small{font-size:.92rem;color:#f4e3d4}

/* galeria */
.gal{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.g{position:relative;border-radius:18px;overflow:hidden;background:var(--cream)}
.g img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.g-wide{grid-column:1/-1}
.g-wide img{aspect-ratio:16/7}
.g figcaption{position:absolute;left:10px;bottom:10px;background:#fff;color:var(--ink);font-weight:700;font-size:.8rem;padding:5px 10px;border-radius:999px}
.g:nth-child(2) figcaption{background:var(--sun)} .g:nth-child(3) figcaption{background:#ffd3e4} .g:nth-child(4) figcaption{background:#c9f2ee}
.note{font-size:.86rem;color:#6d5a80;margin-top:14px}

/* como funciona */
.como{background:var(--cream);max-width:none;border-radius:36px 36px 0 0}
.como>*{max-width:1080px;margin-left:auto;margin-right:auto}
.steps{list-style:none;display:grid;gap:14px}
.steps li{display:flex;gap:16px;align-items:flex-start;background:#fff;border-radius:var(--r);padding:20px}
.steps li>span{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-family:var(--head);font-weight:800;font-size:1.3rem;color:#fff;background:var(--pink)}
.steps li:nth-child(2)>span{background:var(--teal)} .steps li:nth-child(3)>span{background:var(--violet)}
.steps h3{font-size:1.2rem;margin-bottom:.2rem}
.steps p{font-size:.98rem}
.selos{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.selos li{font-size:.9rem;font-weight:500;padding:7px 14px;border-radius:999px;border:2px dashed var(--violet);color:var(--ink2)}

/* zona */
.zona{background:var(--cream);max-width:none;padding-top:0}
.zona-box{max-width:1080px;margin:0 auto;display:flex;gap:16px;align-items:flex-start;background:var(--ink);color:#fff;border-radius:var(--r);padding:26px 22px}
.zona-box h2{margin-bottom:.6rem}
.zona-box .kicker{color:var(--sun)}
.zona-box p{color:#eadff7}
.zona-ic{width:42px;height:42px;color:var(--teal);margin-top:6px}

/* contacto */
.ct-grid{display:grid;gap:10px}
.ct{display:flex;align-items:center;gap:14px;text-decoration:none;padding:16px 18px;border-radius:18px;background:#fff;border:2px solid #f0dcc6;transition:transform .15s,border-color .15s}
.ct:hover{transform:translateY(-2px);border-color:var(--ink)}
.ct svg{width:30px;height:30px}
.ct span{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere;font-size:.95rem}
.ct b{font-family:var(--head);font-size:1.12rem}
.ct-wa svg{color:var(--wa)} .ct-tel svg{color:var(--orange)} .ct-msg svg{color:var(--violet)} .ct-ig svg{color:var(--pink)} .ct-mail svg{color:var(--teal)}
.ct-wa{background:var(--wa);border-color:var(--wa);color:#fff} .ct-wa svg{color:#fff}

/* footer */
.foot{background:var(--ink);color:#d9cbea;text-align:center;padding:34px 20px 30px;font-size:.92rem}
.foot p+p{margin-top:6px}
.foot b{color:#fff}
.foot a{color:#fff}
.acessa{font-size:.8rem;opacity:.75;margin-top:14px!important}

/* sticky bar */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(42,20,70,.96);backdrop-filter:blur(8px)}
.bar a{display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;font-weight:700;font-size:.95rem;color:#fff;padding:12px 6px;border-radius:14px;background:rgba(255,255,255,.12)}
.bar .b-wa{background:var(--wa)}

/* tablet/desktop */
@media (min-width:640px){
  .btns{flex-direction:row;flex-wrap:wrap}
  .ev-grid{grid-template-columns:1fr 1fr}
  .novidades{grid-template-columns:1fr 1.4fr}
  .gal{grid-template-columns:repeat(4,1fr)}
  .g-wide{grid-column:span 4}
  .ct-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(3,1fr)}
  .steps li{flex-direction:column}
}
@media (min-width:960px){
  body{padding-bottom:0}
  .bar{display:none}
  .top{padding:14px 40px}
  .hero{grid-template-columns:1.15fr .85fr;align-items:center;padding:80px max(40px,calc((100vw - 1120px)/2)) 90px;gap:60px}
  .s1{width:420px;height:380px;top:-140px;right:-120px}
  .s2{width:300px;height:260px;left:-160px;bottom:10%}
  .s3{width:200px;height:180px;right:38%;bottom:-90px}
  .sec{padding:84px 40px}
  .ev-grid{grid-template-columns:repeat(4,1fr)}
  .ev{min-height:200px}
  .gal{grid-template-columns:repeat(6,1fr);grid-auto-rows:300px;gap:16px}
  .g{grid-column:span 2}
  .g img{aspect-ratio:auto}
  .g-wide{grid-column:span 4}
  .ev-n{font-size:1.8rem;top:12px}
  .ev h3{padding-right:2.4rem}
  .ct-grid{grid-template-columns:repeat(3,1fr)}
  .ct-wa{grid-column:span 1}
  .zona{padding-bottom:84px}
}
