
:root{
  --primary:#2f3b63; /* azul del logo */
  --accent:#bfd86a;  /* verde del logo */
  --light:#f7f9fc;
  --dark:#1a2338;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;color:var(--dark);background:#fff;scroll-behavior:smooth}
a{color:var(--primary);text-decoration:none}
.container{width:min(1100px, 94%);margin:auto}
.header{position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.7rem 0}
.logo{display:flex;align-items:center;gap:.6rem;font-weight:800;color:var(--primary)}
.logo img{height:36px;width:36px;border-radius:8px}
nav ul{display:flex;gap:1rem;list-style:none;margin:0;padding:0}
nav a{padding:.5rem .6rem;border-radius:10px;font-weight:600}
nav a:hover{background:var(--light)}
.btn{display:inline-block;padding:.9rem 1.2rem;border-radius:14px;font-weight:700}
.btn-primary{background:var(--accent);color:var(--dark)}
.btn-primary:hover{filter:brightness(0.95)}
.btn-outline{border:2px solid var(--primary);color:var(--primary)}
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:center;padding:2rem 0}
.hero h1{font-size:clamp(28px,4.5vw,48px);line-height:1.1;margin:.2rem 0 .6rem 0;color:var(--primary)}
.hero p{font-size:1.1rem;opacity:.9}
.hero img{width:100%;height:auto;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.badges{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}
.badge{background:var(--light);padding:.4rem .7rem;border-radius:999px;font-weight:700;color:var(--primary);font-size:.9rem}
.section{padding:3rem 0;border-top:1px solid #f0f1f5}
.section h2{font-size:clamp(24px,3.6vw,36px);margin:0 0 1rem;color:var(--primary)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.card{background:#fff;border:1px solid #eef0f6;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(31,41,55,.06)}
.card img{width:100%;display:block}
.card .p{padding:1rem 1.1rem}
.card h3{margin:.3rem 0;color:var(--primary)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}
.gallery img{width:100%;height:220px;object-fit:cover;border-radius:12px}
.cta{background:linear-gradient(135deg, var(--primary), #42528b);color:#fff;padding:2rem;border-radius:20px;display:flex;flex-wrap:wrap;align-items:center;gap:1rem;justify-content:space-between}
.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:1.3rem}
.form{display:grid;gap:.7rem}
.input, .textarea{width:100%;padding:.9rem;border-radius:12px;border:1px solid #dfe3ee;background:#fff}
.textarea{min-height:140px;resize:vertical}
.map{border:0;width:100%;height:320px;border-radius:16px}
.footer{padding:1.2rem 0;color:#4b5563}
.footer a{color:var(--accent);font-weight:700}
/* WhatsApp Floating */
.whatsapp{
 position:fixed;right:18px;bottom:18px;background:#25D366;color:#fff;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:0 10px 20px rgba(0,0,0,.2);z-index:60;font-size:28px
}
/* Responsive */
@media (max-width:980px){
 .hero{grid-template-columns:1fr}
 .grid-3{grid-template-columns:1fr 1fr}
 .contact{grid-template-columns:1fr}
 .gallery{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:520px){
 .grid-3{grid-template-columns:1fr}
 .gallery{grid-template-columns:1fr}
}
