:root{
  --bg:#fffdfa;
  --text:#0d0d0d;
  --muted:#4d4d4d;
  --pink:#ff5577;
  --purple:#8a5cff;
  --cyan:#18d1d0;
  --orange:#ff9a45;
  --gold:#ffd15b;
  --black:#090909;
  --white:#ffffff;
  --radius:22px;
  --shadow:0 28px 60px rgba(0,0,0,0.12);
  font-family:'Inter', sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; background:linear-gradient(180deg, #fffdfa 0%, #f7f4ff 100%); color:var(--text);}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
button,input,textarea{font:inherit}
button{cursor:pointer}

.site-header{position:sticky; top:0; z-index:90; backdrop-filter:blur(18px); background:rgba(255,255,255,0.86); border-bottom:1px solid rgba(0,0,0,0.06);}
.top-bar{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 2rem;}
.brand{font-size:1rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--black);}
.lang-switch{display:flex; gap:0.5rem;}
.lang-switch button{border:0; background:transparent; font-weight:700; padding:0.65rem 0.9rem; color:var(--muted); border-radius:999px; transition:transform .25s ease, color .25s ease, background .25s ease;}
.lang-switch button.active{color:var(--black); background:rgba(255,255,255,0.95); box-shadow:0 10px 30px rgba(0,0,0,0.08);}
.navbar{display:flex; align-items:center; justify-content:center; gap:2rem; padding:0.75rem 2rem 1.25rem;}
.navbar a{font-weight:600; color:var(--muted); transition:color .25s ease;}
.navbar a:hover{color:var(--black);}

.whatsapp-float{position:fixed; right:1.5rem; bottom:1.5rem; z-index:100;}
.whatsapp-float a{display:inline-flex; align-items:center; justify-content:center; gap:0.5rem; background:linear-gradient(135deg, #25d366, #128c7e); color:#fff; padding:0.95rem 1.25rem; border-radius:999px; box-shadow:0 20px 40px rgba(0,0,0,0.16); border:2px solid rgba(255,255,255,0.4);}

.hero-section{position:relative; min-height:92vh; padding:0; display:flex; align-items:center; justify-content:center;}
.hero-section::before{content:''; position:absolute; inset:0; background:url('https://images.unsplash.com/photo-1524504388940-b1c1722653e1?auto=format&fit=crop&w=1500&q=80') center/cover no-repeat; filter:brightness(0.55);}
.hero-overlay{position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0.28), rgba(0,0,0,0.36));}
.hero-content{position:relative; z-index:1; max-width:920px; text-align:center; padding:0 2rem;}
.eyebrow{color:var(--gold); font-weight:700; text-transform:uppercase; letter-spacing:0.35em; margin-bottom:1rem;}
.hero-content h1{font-size:clamp(3rem, 6vw, 5.2rem); margin:0; letter-spacing:0.2em; line-height:0.9; color:#fff;}
.hero-copy{font-size:1.1rem; line-height:1.8; color:rgba(255,255,255,0.88); max-width:680px; margin:1.5rem auto 2rem;}
.hero-actions{display:flex; flex-wrap:wrap; justify-content:center; gap:1rem;}
.btn{display:inline-flex; align-items:center; justify-content:center; padding:1rem 1.75rem; border-radius:999px; font-weight:700; transition:transform .25s ease, box-shadow .25s ease, opacity .25s ease;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:linear-gradient(135deg, var(--pink), var(--orange)); color:#fff; box-shadow:0 20px 40px rgba(255,85,119,0.22);}
.btn-secondary{background:rgba(255,255,255,0.12); color:#fff; border:1px solid rgba(255,255,255,0.22);}

.section{padding:5rem 2rem;}
.section-intro{max-width:780px; margin:0 auto 2.5rem; text-align:center;}
.section-intro span{display:inline-flex; margin-bottom:1rem; text-transform:uppercase; letter-spacing:0.32em; font-weight:700; color:var(--pink);}
.section-intro h2{font-size:clamp(2rem, 3.5vw, 3.5rem); margin:0; line-height:1.05;}

.services-section{display:grid; gap:2.25rem; max-width:1200px; margin:0 auto;}
.service-card{border-radius:32px; padding:2rem; box-shadow:var(--shadow); background:rgba(255,255,255,0.92); border:1px solid rgba(247,245,255,0.92);}
.service-card .service-label{display:inline-flex; padding:0.85rem 1rem; border-radius:999px; font-weight:700; background:rgba(255,255,255,0.96); margin-bottom:1rem;}
.service-card p{margin:0 0 1.75rem; color:var(--muted); line-height:1.75;}
.service-grid{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0.85rem; margin-bottom:1.5rem;}
.service-grid::after{content:''; grid-column:1/-1; height:0;}
.service-grid div{aspect-ratio:1; border-radius:22px; background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(0,0,0,0.1)); box-shadow:inset 0 0 0 1px rgba(0,0,0,0.04);}
.btn-detail{background:rgba(13,13,13,0.96); color:#fff;}
.service-card.pink{border-color:rgba(255,85,119,0.24);}
.service-card.purple{border-color:rgba(138,92,255,0.24);}
.service-card.cyan{border-color:rgba(24,209,208,0.24);}
.service-card.orange{border-color:rgba(255,154,69,0.24);}
.service-card.gold{border-color:rgba(255,209,91,0.24);}

.testimonial-section .testimonials{display:grid; gap:1.5rem; max-width:1100px; margin:0 auto 2.5rem;}
.testimonial-card{padding:2rem; border-radius:28px; background:rgba(255,255,255,0.96); box-shadow:var(--shadow); border:1px solid rgba(0,0,0,0.04);}
.testimonial-card h4{margin:0 0 0.5rem; font-size:1.1rem;}
.testimonial-card p{margin:0.5rem 0 0; color:var(--muted); line-height:1.7;}
.rating{color:var(--gold); margin-bottom:1rem; display:flex; gap:0.25rem;}

.testimonial-form{max-width:720px; margin:0 auto; background:rgba(255,255,255,0.95); border-radius:32px; padding:2rem; box-shadow:var(--shadow);}
.testimonial-form h3{margin:0 0 1rem;}
.form-row{display:grid; grid-template-columns:1fr 0.75fr; gap:1rem; margin-bottom:1rem;}
.testimonial-form input, .testimonial-form select, .testimonial-form textarea{width:100%; border:1px solid rgba(0,0,0,0.12); border-radius:18px; padding:1rem 1.1rem; background:#fff;}
.form-message{margin-top:1rem; color:var(--muted);}

.calendar-panel{display:grid; grid-template-columns:1fr 1.4fr; gap:2rem; max-width:1100px; margin:0 auto;}
.calendar-grid{display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:0.85rem;}
.calendar-cell{padding:1.1rem; border-radius:20px; text-align:center; background:rgba(255,255,255,0.96); box-shadow:var(--shadow); border:1px solid rgba(0,0,0,0.06);}
.calendar-cell span{display:block; margin-top:0.5rem; color:var(--muted);}

.gallery-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; max-width:1200px; margin:0 auto;}
.gallery-item{position:relative; overflow:hidden; border-radius:26px; background:#000; height:260px; cursor:pointer;}
.gallery-item::after{content:'+'; position:absolute; inset:0; color:rgba(255,255,255,0.9); font-size:1.8rem; display:flex; align-items:center; justify-content:center; opacity:0; background:linear-gradient(180deg,transparent,rgba(0,0,0,0.35)); transition:opacity .3s ease;}
.gallery-item:hover::after{opacity:1;}

.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:2rem; max-width:1200px; margin:0 auto 2rem;}
.contact-card, .contact-form{background:rgba(255,255,255,0.96); border-radius:32px; padding:2rem; box-shadow:var(--shadow); border:1px solid rgba(0,0,0,0.06);}
.contact-card h3{margin-top:0;}
.contact-card p{margin:0.9rem 0; line-height:1.75; color:var(--muted);}
.contact-form input, .contact-form textarea{width:100%; border:1px solid rgba(0,0,0,0.12); border-radius:18px; padding:1rem 1.1rem; margin-bottom:1rem;}
.map-frame{border-radius:32px; overflow:hidden; box-shadow:var(--shadow);}
.map-frame iframe{width:100%; min-height:320px; border:0;}

.site-footer{padding:2rem 2rem 3rem; text-align:center; color:var(--muted); font-size:0.95rem;}

.lightbox{position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,0.85); z-index:200;}
.lightbox.active{display:flex;}
.lightbox img{max-width:85%; max-height:85%; border-radius:20px; box-shadow:0 30px 80px rgba(0,0,0,0.45);}
.close-lightbox, .prev-lightbox, .next-lightbox{position:absolute; background:rgba(255,255,255,0.1); color:#fff; border:none; width:3.2rem; height:3.2rem; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.6rem; backdrop-filter:blur(10px);}
.close-lightbox{top:2rem; right:2rem;}
.prev-lightbox{left:2rem;}
.next-lightbox{right:2rem;}

@media (max-width:1024px){
  .service-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .calendar-panel{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
}
@media (max-width:720px){
  .top-bar, .navbar{flex-direction:column; align-items:flex-start; gap:0.75rem;}
  .hero-content{padding:0 1.2rem;}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .btn{width:100%;}
  .hero-actions{flex-direction:column;}
  .form-row{grid-template-columns:1fr;}
}
@media (max-width:520px){
  .section{padding:3rem 1rem;}
  .hero-content h1{font-size:3rem;}
  .navbar{gap:1rem;}
  .gallery-grid{grid-template-columns:1fr;}
}
