:root{
  --bg:#0f1410; --bg2:#17181d; --card:#1e1f26; --ink:#fff; --muted:#c9c6d6;
  --pink:#ff3ea5; --orange:#ff8a1f; --yellow:#ffd60a; --green:#5ee05a; --blue:#2fb5ff; --purple:#a855f7;
  --rainbow:linear-gradient(90deg,#ff3b3b,#ff8a1f,#ffd60a,#5ee05a,#2fb5ff,#a855f7,#ff3ea5);
  --r:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--yellow)}
h1,h2,h3{line-height:1.2;margin:0 0 .5em;font-family:"Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif}
h2{font-size:clamp(1.6rem,5vw,2.3rem)}
h2 .spark{background:var(--rainbow);-webkit-background-clip:text;background-clip:text;color:transparent}
.wrap{max-width:1100px;margin:0 auto;padding:0 18px}
section{padding:56px 0;position:relative}
section.alt{background:var(--bg2)}
.muted{color:var(--muted)}
.lead{font-size:1.1rem;color:var(--muted);max-width:60ch}

/* sparkles background */
.sparkles{background-image:
  radial-gradient(2px 2px at 20px 30px,#fff,transparent),
  radial-gradient(2px 2px at 140px 80px,var(--yellow),transparent),
  radial-gradient(1.5px 1.5px at 90px 150px,var(--pink),transparent),
  radial-gradient(2px 2px at 220px 40px,var(--blue),transparent),
  radial-gradient(1.5px 1.5px at 260px 170px,#fff,transparent),
  radial-gradient(2px 2px at 40px 210px,var(--green),transparent);
  background-size:300px 240px}
.rainbow-bar{height:6px;background:var(--rainbow)}

/* header */
header.top{position:sticky;top:0;z-index:50;background:rgba(15,20,16,.94);backdrop-filter:blur(8px);border-bottom:1px solid #26272e}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:62px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-weight:800}
.brand img{height:44px;width:auto;border-radius:8px}
.brand span{font-size:.95rem;line-height:1.1}
#nav-toggle{background:none;border:2px solid #3a3b44;color:#fff;border-radius:10px;padding:6px 12px;font-size:1rem}
nav#nav{position:absolute;top:62px;left:0;right:0;background:#121317;display:none;flex-direction:column;padding:10px 18px 18px;border-bottom:1px solid #26272e}
nav#nav.open{display:flex}
nav#nav a{color:#fff;text-decoration:none;padding:10px 0;border-bottom:1px solid #22232a;font-weight:600}
@media(min-width:900px){
  #nav-toggle{display:none}
  nav#nav{display:flex;position:static;flex-direction:row;background:none;padding:0;border:0;gap:18px}
  nav#nav a{border:0;padding:0;font-size:.92rem}
}

/* hero */
.hero{padding:34px 0 50px;text-align:center}
.hero .logo{width:min(420px,88%);margin:0 auto 10px;border-radius:24px}
.hero h1{font-size:clamp(1.7rem,6.2vw,3rem);max-width:22ch;margin:10px auto 14px}
.hero h1 .spark{background:var(--rainbow);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{margin:0 auto 22px}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;border-radius:999px;font-weight:800;text-decoration:none;color:#111;background:var(--yellow);border:0;font-size:1rem;cursor:pointer}
.btn.wa{background:#25d366;color:#062b14}
.btn.pink{background:var(--pink);color:#fff}
.btn.ghost{background:transparent;color:#fff;border:2px solid #4a4b55}
.btn.small{padding:8px 14px;font-size:.9rem}
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px;padding:0;list-style:none}
.trust li{background:#1d1e25;border:1px solid #2c2d36;border-radius:999px;padding:6px 14px;font-size:.88rem}

/* cards */
.grid{display:grid;gap:16px}
@media(min-width:640px){.grid.c2{grid-template-columns:1fr 1fr}.grid.c3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.grid.c3{grid-template-columns:repeat(3,1fr)}.grid.c4{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--card);border-radius:var(--r);padding:22px;border:1px solid #2b2c35;position:relative;overflow:hidden}
.card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--rainbow)}
.card .ico{font-size:2rem}
.card h3{font-size:1.2rem;margin-top:6px}
.card ul{padding-left:1.1em;margin:.4em 0 0;color:var(--muted)}
.price-tag{font-size:2rem;font-weight:900;color:var(--yellow)}
.badge{display:inline-block;background:var(--pink);color:#fff;font-size:.75rem;font-weight:800;border-radius:999px;padding:3px 10px;letter-spacing:.03em;text-transform:uppercase}

/* packages */
.price-tag small{font-size:1rem;color:var(--muted)}
.por{font-size:1.35rem;color:var(--pink)}
.small{font-size:.9rem}
.pkg-card h4{margin:14px 0 4px;font-size:.95rem;color:#fff}
.incl{list-style:none;padding:0!important;margin:0 0 16px!important}
.incl li{padding:4px 0 4px 26px;position:relative;font-size:.93rem}
.incl li::before{content:"✨";position:absolute;left:0}
.note{font-size:.85rem;color:var(--muted)}

/* booking builder */
.wiz{background:var(--card);border:2px solid #3a2a4a;border-radius:22px;padding:18px;max-width:760px;margin-top:22px;scroll-margin-top:80px;position:relative}
.wiz::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;border-radius:22px 22px 0 0;background:var(--rainbow)}
.wiz-head{margin-bottom:8px}
.steps{display:flex;gap:4px;list-style:none;padding:0;margin:4px 0 12px;counter-reset:s}
.steps li{flex:1}
.steps button{width:100%;background:none;border:0;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.72rem;padding:2px;cursor:pointer}
.steps b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#2a2b33;color:#fff;font-size:.9rem}
.steps li.done b{background:var(--green);color:#062b14}
.steps li.cur b{background:var(--pink)}
.steps li.cur span{color:#fff;font-weight:700}
.est-pill{background:#121317;border:1px dashed #4a3a5c;border-radius:999px;padding:8px 14px;text-align:center;font-size:.92rem}
.est-pill b{color:var(--yellow);font-size:1.1rem}
.est-pill small{color:var(--muted)}
.step{border:0;margin:0;padding:6px 0 0;min-width:0}
.step legend{font-size:1.3rem;font-weight:800;font-family:"Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif;margin-bottom:12px;padding:0}
.field{margin-bottom:18px}
.field .l{display:block;font-weight:700;margin-bottom:8px}
select,input[type=date],input[type=time],input[type=text],input[type=number],textarea{width:100%;padding:13px 12px;border-radius:12px;border:2px solid #34353f;background:#121317;color:#fff;font-size:1rem;font-family:inherit}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--pink)}
input::placeholder,textarea::placeholder{color:#7d7a8c}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts button,.pick button{background:#121317;border:2px solid #3a3b46;color:#fff;border-radius:999px;padding:10px 16px;font-size:.95rem;font-weight:700;cursor:pointer}
.opts button.on{background:var(--pink);border-color:var(--pink)}
.pick{margin-top:10px}
.chips.pick li{border:0;padding:0}
.pick button{padding:7px 13px;font-size:.85rem;font-weight:600}
.pick button.on{background:var(--yellow);border-color:var(--yellow);color:#111}
.stepper{display:flex;align-items:center;gap:12px}
.stepper button{width:46px;height:46px;border-radius:50%;border:2px solid #3a3b46;background:#121317;color:#fff;font-size:1.5rem;cursor:pointer}
.stepper button:disabled{opacity:.35;cursor:default}
.stepper output{font-size:1.2rem;font-weight:800;min-width:90px;text-align:center}
.tip{background:#2a2410;border-left:4px solid var(--yellow);border-radius:10px;padding:10px 12px;font-size:.92rem;margin:-6px 0 18px}
.inspo{background:#121317;border-radius:14px;padding:12px;margin-top:-4px}
.inspo h4{margin:0 0 8px}
.inspo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.inspo-grid figure{margin:0;position:relative;border-radius:10px;overflow:hidden;aspect-ratio:1/1}
.inspo-grid img{width:100%;height:100%;object-fit:cover}
.inspo-grid figcaption{position:absolute;left:0;right:0;bottom:0;font-size:.68rem;padding:3px 6px;background:linear-gradient(transparent,rgba(0,0,0,.85))}
.inspo .note{margin:8px 0 0}
.wiz-nav{display:flex;justify-content:space-between;gap:10px;margin-top:8px;border-top:1px solid #2b2c35;padding-top:14px}
.quote-box{background:linear-gradient(160deg,#2a1036,#13141a 70%);border:2px solid var(--pink);border-radius:16px;padding:16px}
.total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:8px 0}
.total b{font-size:2.1rem;color:var(--yellow)}
.total b.por{font-size:1.4rem;color:var(--pink)}
.sum-notes{list-style:none;padding:0;margin:8px 0 0;font-size:.92rem}
.sum-notes li{padding:4px 0}
.missing{color:var(--yellow);font-size:.9rem}
.preview{margin:14px 0}
.preview pre{white-space:pre-wrap;font:inherit;font-size:.88rem;color:#e8e6f0;background:#0c3b22;border-radius:12px;padding:12px;margin:10px 0 0}
.btn.big{width:100%;justify-content:center;font-size:1.1rem;padding:16px}

/* shop */
.shop-item{display:flex;flex-direction:column}
.shop-item img,.shop-ph{aspect-ratio:1/1;border-radius:12px;margin-bottom:12px;width:100%}
.shop-item h3{margin:0 0 2px}
.shop-price{color:var(--yellow);font-weight:800;margin:6px 0 12px}
.shop-item .btn{margin-top:auto;justify-content:center}
@media(max-width:639px){.grid.c4.shop{grid-template-columns:1fr 1fr;gap:10px}.shop-item{padding:12px}.shop-item h3{font-size:1rem}.shop-item .btn{font-size:.8rem;padding:8px 10px}}
@media(min-width:640px) and (max-width:899px){.grid.c4{grid-template-columns:1fr 1fr}}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:900px){.gallery{grid-template-columns:repeat(4,1fr)}}
.gallery figure{margin:0;border-radius:14px;overflow:hidden;background:#1d1e25;aspect-ratio:1/1;position:relative}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:6px 10px;font-size:.78rem;background:linear-gradient(transparent,rgba(0,0,0,.8))}
.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px;border:2px dashed #3a3b46;background:repeating-linear-gradient(45deg,#1b1c22,#1b1c22 10px,#202128 10px,#202128 20px)}
.ph b{font-size:1.8rem}
.ph span{font-size:.8rem;color:var(--muted)}

/* reviews */
blockquote{margin:0}
.review p{font-size:1.02rem}
.review footer{color:var(--muted);font-size:.88rem;margin-top:10px}
.stars{color:var(--yellow);letter-spacing:2px}

/* events */
.event{display:flex;flex-wrap:wrap;gap:16px;background:var(--card);border-radius:var(--r);padding:18px;border:1px solid #2b2c35;margin-bottom:14px}
.cal{flex:0 0 70px;height:76px;border-radius:14px;background:var(--rainbow);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#111}
.cal b{font-size:1.8rem;line-height:1}.cal span{font-weight:800;text-transform:uppercase;font-size:.8rem}
.event h3{margin-bottom:4px}.event p{margin:.3em 0}.when{color:var(--yellow);font-weight:700}.venue{color:var(--muted);font-size:.92rem}

/* areas */
.chips{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}
.chips li{border:1px solid #3a3b46;border-radius:999px;padding:6px 14px;font-size:.92rem}

/* faq */
details{background:var(--card);border-radius:14px;padding:14px 18px;margin-bottom:10px;border:1px solid #2b2c35}
summary{font-weight:700;cursor:pointer}
details p{color:var(--muted);margin:.6em 0 0}

/* footer */
footer.site{background:#0a0a0c;padding:40px 0 100px;font-size:.92rem;color:var(--muted)}
footer.site a{color:#fff}
.socials{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.privacy{border:1px solid #2b2c35;border-radius:14px;padding:16px;margin-top:20px}

/* sticky mobile bar */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;gap:8px;padding:10px;background:rgba(10,10,12,.95);border-top:1px solid #26272e}
.mbar .btn{flex:1;justify-content:center;padding:12px}
@media(min-width:900px){.mbar{display:none}footer.site{padding-bottom:40px}}

.event .poster{flex:0 0 100%;max-width:100%;border-radius:12px;aspect-ratio:1/1;object-fit:cover}
.event>div:last-child{flex:1;min-width:0}
@media(min-width:700px){.event{flex-wrap:nowrap}.event .poster{flex:0 0 170px;width:170px;height:170px}}

/* facebook links (plain links – no embeds, no cookies) */
.btn.fb{background:#1877f2;color:#fff}
.fb-ico{display:inline-grid;place-items:center;width:1.25em;height:1.25em;border-radius:50%;background:#fff;color:#1877f2;font-weight:900;font-family:Arial,sans-serif;font-size:.95em;line-height:1}
.fb-ico.big{width:56px;height:56px;font-size:2.2rem;margin-bottom:8px}
.hero-fb{margin:16px 0 0}
.hero-fb a{color:#fff;font-weight:700;text-decoration:none;border-bottom:2px solid #1877f2;padding-bottom:2px}
nav#nav a.nav-fb{color:#8fb8ff}
.follow-box{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#122038;border:1px solid #1d3a66;border-radius:16px;padding:14px 16px;margin-top:4px}
.follow-box p{margin:0;flex:1 1 100%}
@media(min-width:700px){.follow-box p{flex:1 1 0}}
.gallery figure.more{background:#122038;border:2px solid #1877f2}
.gallery figure.more a{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#fff;text-decoration:none;padding:10px}
.gallery figure.more span:last-child{font-size:.8rem;color:var(--muted)}
.avail{display:inline-block;background:#2a2410;border:1px solid #5a4a10;border-radius:14px;padding:6px 14px;font-weight:700;font-size:.92rem;color:var(--yellow);margin:0 0 10px}
