:root{
  --pink:#d87592; --pink-soft:#fff0f5; --blue:#214a9b; --violet:#7b5bc9;
  --gold:#c6a76a; --ink:#2d2730; --muted:#766f79; --white:#fff;
  --shadow:0 24px 70px rgba(70,45,80,.14); --radius:28px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Montserrat,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff,#fff7fb 45%,#fff);overflow-x:hidden} a{text-decoration:none;color:inherit}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 6vw;background:rgba(255,255,255,.82);backdrop-filter:blur(16px);border-bottom:1px solid rgba(216,117,146,.12)}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--blue)}.brand img{width:54px;height:54px;object-fit:contain;border-radius:50%}.brand span{font-family:'Great Vibes',cursive;font-size:30px;color:var(--pink)}
nav{display:flex;gap:22px;align-items:center;font-size:14px;font-weight:600}nav a{opacity:.82;transition:.25s}nav a:hover{color:var(--pink);transform:translateY(-2px)}.nav-pill{background:var(--pink-soft);padding:10px 16px;border-radius:999px;color:var(--pink)}.menu-btn{display:none;border:0;background:var(--pink-soft);border-radius:14px;padding:10px;font-size:22px;color:var(--pink)}
.hero{min-height:calc(100vh - 80px);padding:70px 6vw;display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;position:relative}.hero-copy h1{font-family:'Great Vibes',cursive;font-size:clamp(56px,8vw,112px);line-height:.92;margin:10px 0 22px;color:var(--pink);font-weight:400}.hero-copy p{font-size:18px;line-height:1.75;max-width:640px}.eyebrow,.section-title p{color:var(--blue);font-weight:700;text-transform:uppercase;letter-spacing:.18em;font-size:12px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin:30px 0}.btn{border:0;border-radius:999px;padding:14px 24px;font-weight:700;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;transition:.3s}.btn:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.primary{background:linear-gradient(135deg,var(--pink),#ef9bb1);color:white}.ghost{background:white;color:var(--blue);border:1px solid rgba(33,74,155,.14)}.full{width:100%}.mini-stats{display:flex;flex-wrap:wrap;gap:10px}.mini-stats span{background:white;border:1px solid rgba(198,167,106,.35);padding:10px 14px;border-radius:999px;font-size:13px;color:var(--muted)}
.hero-card{position:relative;min-height:480px;border-radius:44px;background:radial-gradient(circle at top,#fff 0,#fff0f5 54%,#eef2ff 100%);box-shadow:var(--shadow);display:grid;place-items:center;overflow:hidden}.hero-card img{width:min(78%,420px);border-radius:35px;filter:drop-shadow(0 18px 30px rgba(33,74,155,.12))}.glass-card{position:absolute;bottom:28px;left:28px;right:28px;padding:22px;border-radius:24px;background:rgba(255,255,255,.72);backdrop-filter:blur(16px);box-shadow:0 12px 35px rgba(0,0,0,.08);display:grid;gap:6px}.glass-card strong{color:var(--blue)}.glass-card span{color:var(--muted);font-size:14px}.hero-bg{position:absolute;font-size:44px;opacity:.28;animation:float 5s ease-in-out infinite}.butterfly-one{top:12%;left:50%}.butterfly-two{bottom:14%;left:5%;animation-delay:1.2s}@keyframes float{50%{transform:translateY(-18px) rotate(8deg)}}
.section{padding:82px 6vw}.soft{background:linear-gradient(135deg,#fff7fb,#f4f7ff)}.section-title{text-align:center;max-width:780px;margin:0 auto 38px}.section-title.left{text-align:left;margin:0}.section-title h2{font-size:clamp(30px,4vw,54px);line-height:1.05;margin:8px 0 14px;color:var(--ink)}.muted{color:var(--muted);line-height:1.7}.cards-grid,.products,.packages{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card,.product-card,.package-card,.booking-card,.apply-card,.panel-card,.cart,.job-card{background:white;border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);border:1px solid rgba(216,117,146,.10);transition:.35s}.service-card:hover,.product-card:hover,.package-card:hover,.job-card:hover{transform:translateY(-8px)}.icon{font-size:34px}.service-card h3,.product-card h3,.package-card h3{color:var(--blue);margin-bottom:8px}.service-card p,.product-card p,.package-card p,.job-card p{color:var(--muted);line-height:1.65}.price{color:var(--pink);font-weight:800;font-size:20px}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
form{display:grid;gap:16px}label{display:grid;gap:8px;font-weight:700;color:var(--blue);font-size:13px}input,select,textarea{width:100%;border:1px solid rgba(33,74,155,.15);border-radius:18px;padding:14px 15px;font:inherit;background:#fff;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--pink);box-shadow:0 0 0 4px rgba(216,117,146,.12)}textarea{min-height:100px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-note{font-size:13px;color:var(--muted);margin:0}.cart{margin-top:22px;display:grid;gap:14px}.cart-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #f1e6ee}.jobs-wrap{display:grid;grid-template-columns:1fr .9fr;gap:24px}.jobs{display:grid;gap:16px}.job-card strong{color:var(--pink)}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.tab{border:0;border-radius:999px;padding:10px 14px;background:var(--pink-soft);color:var(--pink);font-weight:700;cursor:pointer}.tab.active{background:var(--blue);color:white}.appointments{display:grid;gap:12px}.appointment{padding:15px;border-radius:18px;background:#fff7fb;border:1px solid rgba(216,117,146,.15);display:grid;gap:5px}.appointment strong{color:var(--blue)}.float-wa{position:fixed;right:22px;bottom:22px;z-index:30;background:#35c46a;color:#fff;font-weight:800;padding:14px 18px;border-radius:999px;box-shadow:0 12px 30px rgba(0,0,0,.18)}footer{padding:34px 6vw;text-align:center;display:grid;gap:5px;color:var(--muted)}footer strong{font-family:'Great Vibes',cursive;color:var(--pink);font-size:36px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}
@media(max-width:900px){.menu-btn{display:block}nav{position:absolute;top:76px;left:6vw;right:6vw;display:none;flex-direction:column;background:white;padding:20px;border-radius:24px;box-shadow:var(--shadow)}nav.open{display:flex}.hero,.split,.jobs-wrap{grid-template-columns:1fr}.hero{padding-top:38px}.hero-card{min-height:360px}.cards-grid,.products,.packages{grid-template-columns:1fr 1fr}.section{padding:60px 5vw}}
@media(max-width:620px){.brand span{font-size:24px}.hero-copy h1{font-size:58px}.hero-copy p{font-size:16px}.cards-grid,.products,.packages{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.float-wa{left:18px;right:18px;text-align:center}.section-title.left{text-align:center}}
.install-nav{border:0;background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(33,74,155,.18);transition:.25s}.install-nav:hover{transform:translateY(-2px)}
.install-float{position:fixed;left:22px;bottom:22px;z-index:31;border:0;background:linear-gradient(135deg,var(--pink),var(--violet));color:#fff;font-weight:900;padding:14px 18px;border-radius:999px;box-shadow:0 12px 30px rgba(0,0,0,.18);cursor:pointer;transition:.25s}.install-float:hover{transform:translateY(-3px)}
.pwa-toast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%) translateY(20px);z-index:50;max-width:min(92vw,420px);background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border:1px solid rgba(216,117,146,.18);border-radius:22px;padding:16px 18px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.35s;color:var(--ink);text-align:center}.pwa-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.pwa-toast strong{color:var(--pink)}
@media(max-width:620px){.install-float{bottom:76px;left:18px}.install-nav{width:100%}}


.install-box {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 18px;
  z-index: 9999;
  display: none;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 14px;
  border-radius: 20px;
  background: white;
  box-shadow: 0 18px 45px rgba(31, 23, 59, 0.2);
}

.install-box.show {
  display: flex;
}
