html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#FFFFFF}
img,video{max-width:100%}
[hidden]{display:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7FD3F5;outline-offset:2px}

/* Botón flotante de WhatsApp */
.hm-wa{position:fixed;right:20px;bottom:20px;z-index:50;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.hm-wa svg{width:32px;height:32px;fill:#FFFFFF}

/* Ventanas emergentes (video y confirmaciones) */
.hm-modal{position:fixed;inset:0;z-index:100;background:rgba(6,18,31,.88);display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}
.hm-modal video{max-width:min(1100px,100%);max-height:86vh;border-radius:14px;background:#000}
.hm-modal .hm-x{position:absolute;top:16px;right:16px;width:48px;height:48px;border-radius:50%;border:0;background:#FFFFFF;color:#0B1F33;font-size:26px;font-weight:800;cursor:pointer;line-height:1}
.hm-card{position:relative;background:#FFFFFF;color:#0B1F33;border-radius:20px;width:100%;max-width:460px;max-height:90vh;overflow:auto;padding:32px 28px 28px;box-sizing:border-box;font-family:Manrope,system-ui,sans-serif;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.hm-card .hm-x{top:12px;right:12px;width:40px;height:40px;font-size:22px;background:#F2F6FA}
.hm-card h3{font-family:Sora,sans-serif;font-size:24px;line-height:1.2;margin:0 0 6px;padding-right:36px}
.hm-card p{margin:0;color:#4A5D70;line-height:1.5}
.hm-kpi{border-radius:14px;padding:18px;margin-top:14px}
.hm-kpi small{display:block;font-size:13px;font-weight:700;opacity:.85}
.hm-kpi strong{display:block;font-family:Sora,sans-serif;font-size:32px;letter-spacing:-.02em;margin-top:4px}
.hm-kpi span{display:block;font-size:13px;margin-top:2px;opacity:.85}
.hm-kpi.dark{background:#0B1F33;color:#FFFFFF}
.hm-kpi.ok{background:#E6F7EF;color:#0E5C3A}
.hm-kpi.soft{background:#F2F6FA}
.hm-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.hm-btn{display:block;text-align:center;padding:15px;border-radius:10px;font-weight:800;font-size:16px;border:0;cursor:pointer;font-family:inherit;text-decoration:none}
.hm-btn.wa{background:#25D366;color:#FFFFFF}
.hm-btn.close{background:#F2F6FA;color:#0B1F33}
.hm-note{font-size:12px!important;color:#7A8DA0!important;margin-top:14px!important}

.hm-sent{background:#1E8E5A!important;color:#FFFFFF!important}
.hm-burger{display:none}
.hm-menu-cta{display:none}

/* ---------- Celulares y tablets ---------- */
@media (max-width: 860px){
  /* Menú tipo hamburguesa */
  header > div{position:relative;flex-wrap:nowrap!important}
  header nav, header .hm-cta{display:none!important}
  .hm-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;padding:0 11px;box-sizing:border-box;border:1px solid #2A4867;border-radius:10px;background:transparent;cursor:pointer;flex:0 0 auto}
  .hm-burger span{display:block;height:2px;background:#FFFFFF;border-radius:2px;transition:transform .2s,opacity .2s}
  header.hm-open .hm-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  header.hm-open .hm-burger span:nth-child(2){opacity:0}
  header.hm-open .hm-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  header.hm-open nav{display:flex!important;flex-direction:column!important;gap:0!important;position:absolute;left:0;right:0;top:100%;z-index:60;background:#0B1F33;padding:8px 24px 20px;border-bottom:1px solid #1C3550;box-shadow:0 20px 40px rgba(0,0,0,.35)}
  header.hm-open nav a{display:block;padding:15px 0!important;font-size:18px!important;border-bottom:1px solid #1C3550!important}
  header.hm-open nav .hm-menu-cta{display:flex;flex-direction:column;gap:10px;margin-top:16px}
  header nav .hm-menu-cta a{border-bottom:0!important;text-align:center;border-radius:10px;font-weight:800;font-size:16px!important}
  header img{height:38px!important}
  header{position:sticky;top:0;z-index:55}
}
@media (max-width: 760px){
  h1{font-size:34px!important;line-height:1.12!important;letter-spacing:-.01em!important}
  h2{font-size:28px!important;line-height:1.18!important}
  h3{font-size:20px!important}
  [style*="font-size: 28px"],[style*="font-size: 30px"],[style*="font-size: 32px"]{font-size:22px!important;line-height:1.35!important}
  [style*="font-size: 34px"],[style*="font-size: 36px"]{font-size:26px!important}
  [style*="font-size: 22px; line-height"]{font-size:19px!important}

  /* Menos aire vertical en secciones */
  [style*="padding: 96px 24px"],[style*="padding: 88px 24px"],[style*="padding: 80px 24px"],[style*="padding: 72px 24px"]{padding-top:56px!important;padding-bottom:56px!important}
  [style*="padding: 56px 24px 88px"]{padding-bottom:56px!important}
  [style*="padding: 40px"],[style*="padding: 44px"],[style*="padding: 48px"]{padding:24px!important}
  [style*="padding: 32px;"]{padding:22px!important}

  /* Botones principales: mismo ancho y centrados */
  section a[style*="padding: 18px 28px"],section a[style*="padding: 18px 24px"],section a[style*="padding: 16px 26px"],section a[style*="padding: 16px 24px"],main a[style*="padding: 16px 26px"]{display:block!important;width:100%!important;box-sizing:border-box!important;text-align:center!important}

  /* Formularios en una sola columna */
  form[style*="grid"]{grid-template-columns:minmax(0,1fr)!important}
  form input,form select{min-width:0;max-width:100%;box-sizing:border-box}
  form[style*="grid"] > *{grid-column:1 / -1!important}
  form label{font-size:14px!important}
  input,select,textarea{font-size:16px!important}

  /* Textos largos justificados */
  section p:not([style*="font-size: 2"]):not([style*="font-size: 18px"]):not([style*="font-size: 19px"]),main p{text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto}
  [style*="font-size: 24px"],[style*="font-size: 26px"]{font-size:20px!important;line-height:1.4!important}

  table{display:block;overflow-x:auto;white-space:nowrap}
  .hm-wa{right:14px;bottom:14px;width:54px;height:54px}
}
@media (max-width: 760px){
  div:has(> #calc-giros){grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
