:root{
  --pink:#ff1493;
  --pink-dark:#d40c7a;
  --yellow:#ffe600;
  --green:#0da27f;
  --green-dark:#0a6b55;
  --black:#101010;
  --white:#ffffff;
  --soft:#f7f7f5;
  --card:#ffffff;
  --shadow:0 18px 45px rgba(16,16,16,.12);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Montserrat',sans-serif;
  color:var(--black);
  background:linear-gradient(180deg,#fff 0%,#fcfcf6 100%);
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
.container{width:min(1120px,calc(100% - 32px));margin:0 auto}
.topbar{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(14px);
  background:rgba(255,255,255,.88);
  border-bottom:1px solid rgba(0,0,0,.06)
}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:58px;height:58px;border-radius:16px;object-fit:cover;box-shadow:var(--shadow)}
.brand strong{display:block;font-size:1.02rem}
.brand span{display:block;color:var(--green-dark);font-size:.9rem;font-weight:600}
.topbar-actions{display:flex;align-items:center;gap:14px}
.mini-contact{font-weight:700;color:var(--green-dark)}
.lang-switch{display:flex;gap:6px;background:#f1f1f1;padding:5px;border-radius:999px}
.lang-btn{border:none;background:transparent;padding:8px 12px;border-radius:999px;cursor:pointer;font-weight:700}
.lang-btn.active{background:var(--black);color:#fff}
.hero{position:relative;min-height:88vh;display:grid;place-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.05)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.70),rgba(0,0,0,.35) 50%,rgba(0,0,0,.18))}
.hero-content{position:relative;color:#fff;padding:90px 0 80px}
.eyebrow{display:inline-block;background:rgba(255,230,0,.95);color:#111;padding:10px 16px;border-radius:999px;font-weight:800;margin-bottom:18px}
.hero h1{font-size:clamp(2.2rem,5vw,4.8rem);line-height:1.04;max-width:820px;margin:0 0 16px}
.hero-text{max-width:720px;font-size:clamp(1rem,2vw,1.18rem);line-height:1.7;margin-bottom:26px}
.hero-buttons{display:flex;flex-wrap:wrap;gap:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;font-weight:800;transition:.25s ease;box-shadow:var(--shadow)}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--pink),#ff56b4);color:#fff}
.btn-secondary{background:#fff;color:#111}
.section{padding:86px 0}
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:center}
.section-tag{display:inline-block;background:#eaf8f4;color:var(--green-dark);padding:9px 14px;border-radius:999px;font-weight:800;margin-bottom:16px}
h2{font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.1;margin:0 0 16px}
p{line-height:1.78;font-size:1.02rem}
.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.info-card,.feature,.video-card,.social-card,.contact-form{
  background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow)
}
.info-card{padding:24px}
.info-card span{display:inline-flex;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;background:var(--yellow);font-weight:800;margin-bottom:14px}
.info-card h3,.feature h3{margin:0 0 10px;font-size:1.05rem}
.section-heading{max-width:700px;margin:0 auto 28px;text-align:center}
.section-heading.left{text-align:left;margin:0 0 18px}
.highlights{background:linear-gradient(135deg,#fffef8,#f8fff9)}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feature{padding:28px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gallery-item{padding:0;border:none;border-radius:22px;overflow:hidden;background:#ddd;cursor:pointer;box-shadow:var(--shadow);aspect-ratio:1/1}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.gallery-item:hover img{transform:scale(1.06)}
.media-layout,.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.video-card,.social-card{padding:24px}
.video-wrapper{position:relative;padding-top:56.25%;border-radius:20px;overflow:hidden;background:#111}
.video-wrapper iframe,.social-embed iframe{position:absolute;inset:0;width:100%;height:100%}
.social-actions{margin:10px 0 18px}
.social-embed{position:relative;min-height:560px;border-radius:20px;overflow:hidden;background:#f0f0f0}
.contact-section{background:linear-gradient(180deg,#fff 0%,#fffbf1 100%)}
.contact-copy{padding-top:16px}
.contact-list{display:grid;gap:12px;margin-top:22px}
.contact-list a,.contact-list span{background:#fff;padding:16px 18px;border-radius:18px;box-shadow:var(--shadow)}
.contact-form{padding:24px;display:grid;gap:14px}
.contact-form label span{display:block;font-weight:700;margin-bottom:7px}
.contact-form input,.contact-form textarea{width:100%;padding:15px 16px;border:1px solid #ddd;border-radius:16px;background:#fff}
.form-note{font-size:.92rem;color:#4b4b4b;margin:0}
.footer{background:#111;color:#fff;padding:24px 0}
.footer a{color:var(--yellow);font-weight:700}
.floating-whatsapp{
  position:fixed;right:18px;bottom:18px;z-index:60;
  width:62px;height:62px;border-radius:50%;display:grid;place-items:center;
  background:#25D366;color:#fff;box-shadow:0 18px 30px rgba(0,0,0,.2)
}
.floating-whatsapp svg{width:34px;height:34px;fill:currentColor}
.lightbox{
  position:fixed;inset:0;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;
  padding:24px;opacity:0;visibility:hidden;transition:.25s ease;z-index:100
}
.lightbox.active{opacity:1;visibility:visible}
.lightbox img{max-width:min(900px,100%);max-height:84vh;border-radius:20px;box-shadow:var(--shadow)}
.lightbox-close{position:absolute;top:18px;right:18px;border:none;background:#fff;color:#111;width:46px;height:46px;border-radius:50%;font-size:1.8rem;cursor:pointer}
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}
@media (max-width: 980px){
  .two-col,.media-layout,.contact-layout,.features-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 700px){
  .topbar-inner{flex-wrap:wrap}
  .brand{width:100%}
  .topbar-actions{width:100%;justify-content:space-between}
  .hero{min-height:84vh}
  .hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.62),rgba(0,0,0,.34))}
  .section{padding:70px 0}
  .card-grid,.gallery-grid{grid-template-columns:1fr}
  .social-embed{min-height:460px}
}
