/* Color palette from logo: lila/malva con acentos oscuros */
:root{
  --primary:#9B6AA8; /* lila */
  --primary-600:#7D5388;
  --dark:#2C2C2C;
  --light:#ffffff;
  --bg:#faf7fb;
  --accent:#2e4a3f; /* verde olivo suave para combinar con decor */
}

*{box-sizing:border-box}
body{margin:0;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu; color:var(--dark); background:var(--light)}
img{max-width:100%;display:block;height:auto}
.container{width:min(1100px,92%);margin-inline:auto}

.site-header .nav{display:flex;align-items:center;justify-content:space-between;padding:0.8rem 0}
.brand{display:flex;align-items:baseline;gap:.5rem;text-decoration:none;color:var(--dark);font-weight:600}
.logo-mark{font-family:'Playfair Display',serif;color:var(--primary);font-size:1.8rem;letter-spacing:.5px}
.brand-text small{display:block;font-weight:400;font-size:.8rem;color:var(--primary-600)}
.menu{display:flex;gap:1rem;list-style:none;margin:0;padding:0}
.menu a{color:var(--dark);text-decoration:none;padding:.35rem .6rem;border-radius:999px}
.menu a:hover{background:var(--bg)}
.menu-toggle{display:none;background:none;border:none;font-size:1.5rem}

.hero{position:relative;isolation:isolate}
.hero img{width:100%;height:56vh;object-fit:cover;filter:brightness(.65)}
.hero-content{position:absolute;inset:0;display:grid;place-content:center;gap:1rem;text-align:center;color:#fff}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3.5vw,3rem);margin:0}
.btn,.btn-outline{display:inline-block;padding:.75rem 1.1rem;border-radius:12px;font-weight:600;text-decoration:none}
.btn{background:var(--primary);color:#fff}
.btn:hover{background:var(--primary-600)}
.btn-outline{border:2px solid var(--primary);color:var(--primary);background:transparent}
.btn-outline:hover{background:var(--primary);color:#fff}

.section{padding:3.2rem 0}
.section.bg{background:var(--bg)}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.card{background:#fff;border:1px solid #eee;border-radius:16px;overflow:hidden;box-shadow:0 6px 22px rgba(0,0,0,.05)}
.card h3{margin:.8rem 1rem 0}
.card p{margin:.5rem 1rem 1.2rem;color:#444}

.masonry{columns:1 280px;column-gap:1rem}
.masonry img{width:100%;margin:0 0 1rem;border-radius:14px}

.embed-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.embed-card{background:#fff;border-radius:16px;padding:1rem;border:1px solid #eee}
.ratio{position:relative;width:100%;padding-top:130%}
.ratio-16x9{padding-top:56.25%}
.ratio iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ig-preview{margin-top:1rem;border-radius:12px}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
label{display:block;font-size:.9rem;margin:.4rem 0}
input,textarea{width:100%;padding:.7rem;border-radius:12px;border:1px solid #ddd;font:inherit}
button.btn{cursor:pointer}
.form-note{font-size:.85rem;color:#555}
.contact-info{padding:1.2rem}

.site-footer{background:#111;color:#eee;padding:1.2rem 0}
.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.site-footer a{color:#fff;text-decoration:underline}

.wa-float{position:fixed;right:18px;bottom:18px;width:56px;height:56px;background:#25D366;color:#fff;border-radius:50%;display:grid;place-items:center;text-decoration:none;box-shadow:0 12px 24px rgba(0,0,0,.15);z-index:50}

.note{margin:0 0 .5rem;color:#555}

/* Responsive */
@media (max-width:900px){
  .grid-3,.embed-grid,.contact-grid{grid-template-columns:1fr}
  .hero img{height:48vh}
  .menu{display:none;position:absolute;top:64px;right:4%;flex-direction:column;background:#fff;border:1px solid #eee;border-radius:12px;padding:.6rem}
  .menu.show{display:flex}
  .menu-toggle{display:block}
}

.logo-img{height:54px;width:auto;display:block}
