/* CiruLap Morelos — estilos */
:root{
  --bg:#0c1b2a;
  --ink:#0f172a;
  --brand:#3b82f6;
  --brand-2:#60a5fa;
  --muted:#64748b;
  --paper:#ffffff;
}

*{box-sizing: border-box}
html,body{margin:0}
body{font-family: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial;
  color:var(--ink); background:#f5f7fb; line-height:1.6}

img{max-width:100%; height:auto; display:block}

.container{width:min(1100px, 92%); margin-inline:auto}

.site-header{
  position:sticky; top:0; z-index:50; background:rgba(255,255,255,.9); backdrop-filter:saturate(1.2) blur(10px);
  border-bottom:1px solid #e5eaf1
}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:.6rem 0}
.brand{display:flex; gap:.6rem; align-items:center; color:inherit; text-decoration:none; font-weight:700; letter-spacing:.2px}
.brand-logo{width:36px; height:36px; border-radius:10px}
.brand-name{font-size:1.1rem}
.brand-name span{color:var(--brand)}

.nav a{margin-left:1rem; text-decoration:none; color:#0f172a; font-weight:600}
.nav a:hover{color:var(--brand)}

.hero{position:relative; display:grid; place-items:center; min-height:62vh; isolation:isolate}
.hero img{width:100%; height:62vh; object-fit:cover; object-position:center}
.hero-overlay{
  position:absolute; inset:0; display:grid; place-items:center; text-align:center; padding:1rem;
  background:linear-gradient(180deg, rgba(10,20,35,.55), rgba(10,20,35,.35) 50%, rgba(10,20,35,.55));
  color:#fff
}
.hero-overlay h1{font-size:clamp(1.6rem, 3.5vw + .8rem, 3rem); font-weight:800}
.accent{color:#fff}
.btn{display:inline-block; padding:.8rem 1.1rem; border-radius:14px; border:2px solid var(--brand); text-decoration:none; font-weight:700}
.btn.primary{background:var(--brand); color:white; border-color:var(--brand)}
.btn.primary:hover{filter:brightness(.95)}

.section{padding:3.2rem 0}
.section.alt{background:#ffffff}
.lead{color:var(--muted)}

.cards{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:1rem; margin-top:1rem}
.card{background:var(--paper); border-radius:18px; overflow:hidden; box-shadow:0 10px 24px rgba(10,20,35,.05)}
.card-body{padding:1rem}
.card h3{margin:.2rem 0 .4rem}

.grid-2{display:grid; grid-template-columns:1.2fr .9fr; gap:2rem; align-items:center}
@media (max-width: 900px){.grid-2{grid-template-columns:1fr}}

.checklist{padding-left:1.2rem}
.checklist li{margin:.4rem 0}

.gallery{display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem}
.gallery img{border-radius:14px; box-shadow:0 8px 18px rgba(10,20,35,.06)}

.video-placeholder{display:grid; place-items:center; min-height:220px; background:linear-gradient(90deg, #eff6ff, #e0f2fe); border-radius:16px; color:#0f172a; font-weight:600}

.fb-embed iframe{width:100%; max-width:500px; height:600px; border-radius:14px; background:#fff}

.contact-box{background:#fff; border-radius:16px; box-shadow:0 10px 24px rgba(10,20,35,.05); padding:1rem}
.contact-box form{display:grid; gap:.6rem}
label{display:grid; gap:.3rem; font-weight:600}
input,textarea{width:100%; padding:.7rem .8rem; border:1px solid #e5eaf1; border-radius:12px; font:inherit}
.address{margin-top:1rem; color:var(--muted)}

.contact-cta{display:grid; place-items:center; text-align:center; gap:.6rem; background:#fff; padding:2rem; border-radius:16px; box-shadow:0 10px 24px rgba(10,20,35,.05)}

.site-footer{background:#0b1220; color:#cbd5e1; padding:1.2rem 0; margin-top:2rem}
.footer-inner{display:flex; gap:1rem; align-items:center; justify-content:space-between}
.footer-inner a{color:#93c5fd; text-decoration:none}

.whatsapp-float{
  position:fixed; right:18px; bottom:18px; z-index:60; width:56px; height:56px; border-radius:50%;
  display:grid; place-items:center; background:#25d366; box-shadow:0 6px 20px rgba(0,0,0,.25)
}
.whatsapp-float svg{width:28px; height:28px; fill:white}
