
:root{
  --primary:#0b1f5b; /* azul corporativo */
  --accent:#3c4656; /* gris azulado */
  --light:#f5f7fb;
  --dark:#0a0a0a;
  --radius:18px;
  --shadow:0 10px 30px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#222;background:#fff}
a{color:var(--primary);text-decoration:none}
.container{width:min(1100px,92%);margin:0 auto}
.site-header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #eef1f5}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0}
.brand{display:flex;gap:12px;align-items:center}
.logo{width:48px;height:48px;border-radius:12px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800}
.brand-text h1{font-size:1.15rem;line-height:1.1;margin:0;font-weight:800}
.brand-text h1 span{font-weight:800;color:var(--primary)}
.brand-text p{margin:.2rem 0 0;color:#4b5563;font-size:.9rem}
.cta-phone{padding:.55rem .9rem;border:2px solid var(--primary);border-radius:12px;font-weight:700}

.hero{position:relative;min-height:70vh;background-size:cover;background-position:center}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,31,91,.6),rgba(11,31,91,.75))}
.hero-content{position:relative;color:#fff;padding:18vh 0 8vh}
.hero h2{font-family:Fraunces,serif;font-weight:900;font-size:clamp(2rem,5vw,3rem);margin:0 0 12px}
.bullets{display:flex;gap:14px;flex-wrap:wrap;padding:0;margin:0 0 18px;list-style:none}
.btn{display:inline-block;padding:.9rem 1.1rem;border-radius:14px;font-weight:700;border:2px solid transparent;box-shadow:var(--shadow)}
.btn.primary{background:#18a957;color:#fff}
.btn.ghost{border-color:#fff;color:#fff;background:transparent}

.section{padding:64px 0}
.section.alt{background:var(--light)}
.section-title{font-family:Fraunces,serif;font-size:clamp(1.6rem,3vw,2rem);margin:0 0 24px;color:var(--primary)}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fff;border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.card h4{margin-top:0;color:var(--primary)}

.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.gallery img{width:100%;height:220px;object-fit:cover;border-radius:16px;cursor:pointer;box-shadow:var(--shadow)}

.social-embeds{display:grid;place-items:center}
.fb-embed{width:100%;max-width:500px;border-radius:16px;box-shadow:var(--shadow)}

.map-wrap{position:relative;padding-top:56%;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.map-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}
.contact-form{background:#fff;border-radius:16px;padding:18px;box-shadow:var(--shadow)}
.contact-form .row{display:flex;flex-direction:column;margin-bottom:12px}
.contact-form label{font-weight:700;margin-bottom:6px}
.contact-form input,.contact-form textarea{padding:.8rem;border:1.5px solid #e2e8f0;border-radius:12px;font:inherit}
.contact-form button{margin-top:6px}

.contact-info{background:#fff;border-radius:16px;padding:18px;box-shadow:var(--shadow)}

.wa-floating{
  position:fixed;right:16px;bottom:16px;width:58px;height:58px;border-radius:50%;
  background:#25D366 url('data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 32 32\'><path fill=\'%23fff\' d=\'M19.11 17.35c-.27-.13-1.59-.78-1.83-.87-.24-.09-.42-.13-.6.13-.18.27-.69.87-.85 1.05-.16.18-.31.2-.58.07-.27-.13-1.14-.42-2.17-1.35-.8-.71-1.34-1.59-1.5-1.86-.16-.27-.02-.42.12-.55.12-.12.27-.31.4-.47.13-.16.18-.27.27-.45.09-.18.04-.33-.02-.47-.07-.13-.6-1.44-.83-1.97-.22-.53-.45-.46-.6-.47l-.51-.01c-.16 0-.42.06-.64.31-.22.27-.85.82-.85 2 0 1.18.87 2.33.99 2.49.13.16 1.71 2.61 4.14 3.66 2.43 1.05 2.43.7 2.86.66.45-.04 1.47-.6 1.67-1.18.2-.58.2-1.08.13-1.18-.07-.11-.25-.18-.52-.31zM16 3C8.83 3 3 8.83 3 16c0 2.29.59 4.45 1.64 6.33L3 29l6.83-1.79A12.95 12.95 0 0 0 16 29c7.17 0 13-5.83 13-13S23.17 3 16 3z\'/></svg>') center/60% no-repeat;
  box-shadow:var(--shadow);border:3px solid #fff;
}

.site-footer{background:#0f1220;color:#c7cbd6;padding:28px 0;margin-top:32px}
.site-footer a{color:#fff;text-decoration:underline}

.lightbox{position:fixed;inset:0;background:rgba(15,18,32,.92);display:none;align-items:center;justify-content:center;z-index:50;padding:2rem}
.lightbox img{max-width:min(92vw,1200px);max-height:82vh;border-radius:16px;box-shadow:var(--shadow)}
.lightbox.show{display:flex}
.lightbox-close{position:fixed;top:16px;right:20px;width:44px;height:44px;border-radius:8px;border:none;background:#ffffff;cursor:pointer;font-size:26px;box-shadow:var(--shadow)}

@media (max-width:900px){
  .grid-3{grid-template-columns:1fr;gap:12px}
  .contact-grid{grid-template-columns:1fr}
  .hero{min-height:62vh}
}
