
:root{
  --primary:#7b1fa2; /* morado del logo */
  --secondary:#00a6a6; /* turquesa del logo */
  --accent:#f5a623; /* acentos cálidos */
  --dark:#222;
  --light:#fff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial,'Noto Sans','Liberation Sans',sans-serif;color:var(--dark);background:#f8fafc}
img{max-width:100%;display:block;height:auto}
a{color:var(--primary);text-decoration:none}
.container{width:min(1120px, 92%);margin:0 auto}
.header{position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter: blur(6px);border-bottom:1px solid #eee;z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0}
.brand{display:flex;align-items:center;gap:.6rem}
.brand img{width:40px;height:40px;border-radius:50%}
.brand .title{font-weight:800;color:var(--primary)}
.menu{display:flex;gap:1rem;flex-wrap:wrap}
.menu a{padding:.5rem .75rem;border-radius:999px}
.menu a:hover{background:#f1f5f9}
.hero{position:relative}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;padding:2rem 0}
.hero h1{font-size:clamp(28px,3.2vw,44px);line-height:1.1;margin:0}
.badge{display:inline-block;background:var(--secondary);color:white;padding:.25rem .6rem;border-radius:999px;font-size:.825rem}
.cta{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap}
.btn{padding:.8rem 1rem;border-radius:12px;border:2px solid transparent;font-weight:700}
.btn.primary{background:var(--primary);color:white}
.btn.primary:hover{filter:brightness(.95)}
.btn.ghost{border-color:var(--primary);color:var(--primary);background:white}
.grid{display:grid;gap:1.25rem}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
.card{background:white;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.04)}
.card .p{padding:1rem 1.1rem}
.section{padding:2.5rem 0}
.section h2{font-size:clamp(22px,2.6vw,34px);margin:.25rem 0 1rem}
.kicker{letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#64748b;font-size:.8rem}
.gallery img{border-radius:14px}
.list{display:grid;gap:.6rem}
.list li{display:flex;gap:.6rem;align-items:flex-start}
.list li span{background:#e9d5ff;color:#4c1d95;border-radius:8px;font-weight:800;padding:.12rem .45rem;font-size:.8rem}
.footer{background:#0f172a;color:#e2e8f0;padding:2rem 0;margin-top:2rem}
.footer a{color:#93c5fd}
.footer .cols{display:grid;gap:1rem;grid-template-columns:1.2fr .8fr}
.whatsapp-float{
  position:fixed;right:18px;bottom:18px;width:58px;height:58px;border-radius:50%;
  background:#25D366;display:grid;place-items:center;color:white;font-size:26px;
  box-shadow:0 10px 30px rgba(37,211,102,.5);z-index:70
}
.whatsapp-float:hover{transform:translateY(-2px)}
.video-placeholder{aspect-ratio:16/9;background:#e2e8f0;border:2px dashed #cbd5e1;border-radius:16px;display:grid;place-items:center;color:#64748b}
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr;gap:1rem}
  .grid.cols-3{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .grid.cols-3{grid-template-columns:1fr}
  .grid.cols-2{grid-template-columns:1fr}
}
