
:root{
  --navy:#0b1e3a;
  --green:#2fd080;
  --text:#0f172a;
  --bg:#f7fafc;
  --muted:#64748b;
  --border:#e5e7eb;
  --card:#ffffff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:0 20px}

.header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800}
.brand-text{font-weight:800}
.logo-lg{height:56px;width:auto}
.logo.small{width:28px;height:28px}
.nav{display:flex;gap:18px;align-items:center}
.nav a{padding:10px 12px;border-radius:12px}
.nav a:hover{background:#f1f5f9}

.btn{display:inline-block;padding:10px 16px;border-radius:14px;border:1px solid var(--border);font-weight:600}
.btn.primary{background:var(--green);border-color:var(--green);color:#00351e}
.btn.secondary{background:#fff}
.btn.outline{background:transparent}

.hero{background:linear-gradient(180deg,#e6eef7,transparent)}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;padding:56px 0}
.hero h1{font-size:38px;line-height:1.12;margin:0 0 12px;color:var(--navy)}
.hero p{font-size:18px;color:#304560}
.cta{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap}
.hero-img{border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.08)}

.section{padding:56px 0}
.section.alt{background:#f2f6fb}
.bullets{padding-left:18px;line-height:1.8;color:#334155}

.carousel{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--border);border-radius:18px}
.car-track{display:flex;transition:transform .5s ease}
.car-slide{min-width:100%;display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:center;padding:16px}
.car-slide img{border-radius:12px}
.car-copy h3{margin:6px 0 4px}
.car-btn{position:absolute;top:50%;transform:translateY(-50%);background:#fff;border:1px solid var(--border);width:40px;height:40px;border-radius:20px;display:grid;place-items:center;cursor:pointer}
.car-btn:hover{background:#f8fafc}
.car-btn.prev{left:10px}
.car-btn.next{right:10px}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:16px;box-shadow:0 6px 20px rgba(0,0,0,.04)}
.card h3{margin:10px 0 6px}
.quote{background:#fff;border-left:4px solid var(--green);padding:16px;border-radius:12px}

.contact .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.form{background:#fff;border:1px solid var(--border);border-radius:18px;padding:16px;display:grid;gap:12px}
label{display:grid;gap:6px;font-weight:600}
input,textarea,select{padding:12px;border:1px solid var(--border);border-radius:12px;font:inherit}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-note{font-size:14px;color:var(--muted)}

.map-wrap{border:1px solid var(--border);border-radius:18px;overflow:hidden}
.map-wrap iframe{width:100%;height:360px;border:0}

.footer{border-top:1px solid var(--border);background:#fff}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 0}
.footer-nav{display:flex;gap:16px}

.wa-float{
  position:fixed;right:18px;bottom:18px;
  background:var(--green);color:#00351e;
  padding:12px 14px;border-radius:999px;
  font-weight:700;border:1px solid var(--green);
  box-shadow:0 8px 24px rgba(0,0,0,.18);z-index:60;
}
.wa-float:hover{filter:brightness(0.95)}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease, transform .5s ease}
.reveal.in-view{opacity:1;transform:none}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media (max-width:980px){
  .hero-inner{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr}
  .contact .contact-grid{grid-template-columns:1fr}
  .car-slide{grid-template-columns:1fr}
}

/* ===== ESTILOS PERSONALIZADOS AGREGADOS ===== */

/* Botones flotantes estilo calendario */
.floating-buttons {
  position: fixed;
  bottom: 20px;
  left: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 100;
}
.floating-buttons a {
  background: var(--green);
  color: #00351e;
  padding: 10px 14px;
  border-radius: 999px;
  box-shadow: 0 6px 14px rgba(0,0,0,0.15);
  font-weight: bold;
  text-decoration: none;
  border: 1px solid var(--green);
  transition: background 0.3s ease;
}
.floating-buttons a:hover {
  background: #25c46a;
}

/* Corrección logo en móvil */
@media (max-width: 768px) {
  .logo-lg {
    width: 120px !important;
    height: auto !important;
  }
}

/* Botones hover */
.btn:hover {
  filter: brightness(1.05);
}

/* Sección servicios detallados */
.servicios-detalle {
  background: #ffffff;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
  margin-top: 40px;
}
.servicios-detalle h2 {
  font-size: 24px;
  margin-bottom: 12px;
}
.servicios-detalle ul {
  padding-left: 20px;
  line-height: 1.8;
  color: #334155;
}
