html{scroll-behavior:smooth}
body{margin:0}
h1{overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}
:root{--accent:#3EA173;--accent-d:#2E7D5A;--accent-soft:#EAF5EF;--ink:#0B0F12}
@keyframes wapulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.45)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
::selection{background:#3EA173;color:#fff}
img{max-width:100%}
p{font-family:'Inter',sans-serif}
.input-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.submit-btn:hover{background:var(--accent-d)}
.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}

/* ---------- TABLET (≤1024px): apila bloques de dos columnas ---------- */
@media (max-width:1024px){
  [style*=".92fr 1.08fr"],
  [style*=".85fr 1.15fr"],
  [style*="1fr 1fr;gap:64px"]{ grid-template-columns:1fr !important; gap:40px !important; }
  h1{ font-size:52px !important; }
  [style*="padding:96px 0"],[style*="padding:92px 0"]{ padding-top:74px !important; padding-bottom:74px !important; }
}

/* ---------- NAV compacta (≤900px) ---------- */
@media (max-width:900px){
  nav a[href^="#"]:not([href="#contacto"]){ display:none !important; }
  nav{ gap:0 !important; }
}

/* ---------- MÓVIL (≤680px): una sola columna ---------- */
@media (max-width:680px){
  [style*="max-width:1200px"]{ padding-left:22px !important; padding-right:22px !important; }
  [style*="repeat(3,1fr)"],
  [style*="repeat(2,1fr)"],
  [style*="grid-template-columns:1fr 1fr"],
  [style*="1.4fr 1fr 1fr"]{ grid-template-columns:1fr !important; gap:18px !important; }
  /* limpia bordes laterales al apilar */
  [style*="1.4fr 1fr 1fr"] > div{ border-right:none !important; }
  h1{ font-size:26px !important; line-height:1.14 !important; }
  h2{ font-size:27px !important; }
  [style*="padding:96px 0"],[style*="padding:92px 0"],[style*="padding:88px 0"]{ padding-top:54px !important; padding-bottom:54px !important; }
  [style*="padding:80px 40px"]{ padding-top:56px !important; padding-bottom:48px !important; }
  [style*="padding:56px 0 36px"]{ padding-top:44px !important; }
  [style*="border-radius:16px;padding:36px"]{ padding:24px !important; }
  [style*="font-size:18px"]{ font-size:16.5px !important; }
}
