
:root{
  --gold:#c6a34a;
  --black:#0a0a0a;
  --white:#ffffff;
  --gray:#f5f5f7;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial;background:#ffffff;color:#1a1a1a;scroll-behavior:smooth}
a{color:var(--gold);text-decoration:none}
.header{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  min-height:68vh;
  place-items:center;
  color:#fff;
  text-align:center;
  overflow:hidden;
  background:#000;
}
.header .bg{
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.7)), url('assets/img/portada.png') center/cover no-repeat;
  filter:contrast(1.05) saturate(1.05);
}
nav{
  position:fixed;top:0;left:0;right:0;z-index:20;
  backdrop-filter:saturate(180%) blur(10px);
  background:rgba(10,10,10,.6);
  border-bottom:1px solid rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 18px;color:#fff;
}
.logo{display:flex;align-items:center;gap:10px}
.logo img{height:36px;width:auto;border-radius:6px}
nav a{color:#fff;margin:0 8px;font-weight:600}
.cta{background:var(--gold);color:#111;padding:10px 14px;border-radius:999px;font-weight:700}
.hero{
  max-width:1100px;padding:120px 16px 40px;margin:auto;
}
.hero h1{font-size:clamp(28px,5vw,48px);margin:0 0 10px;line-height:1.1}
.hero p{font-size:clamp(16px,2.5vw,20px);opacity:.95}
.badges{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:16px}
.badge{background:rgba(198,163,74,.15);border:1px solid rgba(198,163,74,.35);color:#fff;padding:8px 12px;border-radius:999px;font-weight:600}

.section{padding:64px 16px;background:#fff}
.section.alt{background:var(--gray)}
.container{max-width:1100px;margin:auto}
.section h2{font-size:clamp(24px,4vw,36px);margin:0 0 10px;color:var(--black)}
.section p.lead{margin:0 0 24px;opacity:.9}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.grid-3{grid-template-columns:1fr}}

.card{
  background:#fff;border:1px solid #eee;border-radius:18px;overflow:hidden;
  box-shadow:0 6px 20px rgba(0,0,0,.05);
}
.card img{width:100%;height:220px;object-fit:cover;display:block}
.card .pad{padding:14px}
.card h3{margin:6px 0 4px}
.meta{display:flex;gap:10px;flex-wrap:wrap;font-size:14px;color:#555}

.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gallery img{width:100%;height:200px;object-fit:cover;border-radius:12px;cursor:pointer;transition:.2s transform}
.gallery img:hover{transform:scale(1.02)}
@media (max-width:1000px){.gallery{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.gallery{grid-template-columns:repeat(2,1fr)}}
@media (max-width:460px){.gallery{grid-template-columns:1fr}}

.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;place-items:center;z-index:50}
.lightbox img{max-width:92vw;max-height:86vh;border-radius:12px}
.lightbox.show{display:grid}
.lightbox .close{position:absolute;top:18px;right:22px;font-size:28px;color:#fff;cursor:pointer}

.embed-wrap{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:880px){.embed-wrap{grid-template-columns:1fr}}
.embed{background:#fff;border:1px solid #eee;border-radius:18px;overflow:hidden}
.embed header{background:#111;color:#fff;padding:10px 14px;font-weight:700}
.embed .body{padding:12px}

.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}
@media (max-width:960px){.contact{grid-template-columns:1fr}}
form{display:grid;gap:12px}
input,textarea{padding:12px 14px;border:1px solid #ddd;border-radius:10px;font-size:16px}
button{padding:12px 16px;border:none;border-radius:12px;background:var(--black);color:#fff;font-weight:700;cursor:pointer}
button:hover{opacity:.9}

.footer{background:#0b0b0b;color:#ddd;padding:28px 16px;margin-top:40px}
.footer a{color:var(--gold)}
.brand band{display:block}

#whatsapp-float{
 position:fixed;bottom:18px;right:18px;z-index:60;
 background:#25D366;color:white;border-radius:999px;padding:14px 16px;
 font-weight:800;display:flex;align-items:center;gap:10px;box-shadow:0 8px 22px rgba(0,0,0,.2)
}
#whatsapp-float img{height:22px;width:22px;border-radius:4px}
.audio{
  position:fixed;bottom:18px;left:18px;z-index:60;background:#fff;border:1px solid #eee;border-radius:12px;padding:6px 10px;
}
