
:root{--blue:#0061a0;--blue2:#003d68;--ink:#14212b;--muted:#5c6972;--soft:#eef6fb;--line:#d7e2e9;--white:#fff;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.65;background:#fff}a{color:var(--blue)}a:focus-visible,button:focus-visible{outline:3px solid #ffbf47;outline-offset:3px}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.7rem;z-index:99}
.topbar{background:var(--blue2);color:#fff;font-size:.92rem}.topbar .wrap{display:flex;justify-content:flex-end;gap:1.2rem;padding:.45rem 1rem}.topbar a{color:#fff;text-decoration:none}
header{position:sticky;top:0;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);z-index:20}.headerin{max-width:var(--max);margin:auto;padding:.8rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.logo{text-decoration:none;font-weight:800;font-size:1.25rem;color:var(--blue2)}.logo span{color:var(--blue)}
nav{display:flex;gap:1rem;flex-wrap:wrap}nav a{text-decoration:none;color:var(--ink);font-weight:700;font-size:.95rem}nav a:hover{color:var(--blue)}
main{max-width:var(--max);margin:auto;padding:0 1rem 4rem}.hero{display:grid;grid-template-columns:1.45fr .85fr;gap:3rem;align-items:center;padding:5rem 0 4rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-weight:800;font-size:.82rem}.hero h1,.pagehead h1{font-size:clamp(2.25rem,5vw,4.5rem);line-height:1.05;margin:.4rem 0 1rem;color:var(--blue2)}.lead{font-size:1.22rem;color:var(--muted);max-width:850px}.hero-panel{background:linear-gradient(145deg,var(--blue),var(--blue2));color:#fff;padding:2rem;border-radius:1rem;box-shadow:0 20px 50px #003d6833}.hero-panel a{color:#fff}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}.button{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;font-weight:800;padding:.8rem 1.15rem;border-radius:.45rem}.button.secondary{background:#fff;color:var(--blue);border:2px solid var(--blue)}.button.light{background:#fff;color:var(--blue2)}
section{padding:2.5rem 0}h2{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.2;color:var(--blue2)}h3{color:var(--blue2)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.card{border:1px solid var(--line);border-radius:.75rem;padding:1.35rem;background:#fff;box-shadow:0 8px 24px #0b35510d}.card a{font-weight:800;text-decoration:none}.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.split>div,.notice{background:var(--soft);padding:1.7rem;border-radius:.75rem}.cta{background:linear-gradient(135deg,var(--blue2),var(--blue));color:#fff;padding:2.5rem;border-radius:1rem;margin-top:2rem}.cta h2{color:#fff}.pagehead{padding:4.5rem 0 2rem;border-bottom:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.contact-grid article{padding:1.5rem;border:1px solid var(--line);border-radius:.75rem}.contact-link{font-size:1.12rem;font-weight:800;overflow-wrap:anywhere}.legaltext{max-width:900px}.legaltext h2{font-size:1.5rem;margin-top:2rem}.review{border-left:4px solid #d97706;background:#fff7ed;padding:1rem}
footer{background:#0c2435;color:#dce8ef}.footerin{max-width:var(--max);margin:auto;padding:3rem 1rem;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem}footer h2,footer h3{color:#fff}footer a{color:#fff}.copy{border-top:1px solid #ffffff24;text-align:center;padding:1rem;font-size:.9rem}
.cookie{position:fixed;left:1rem;right:1rem;bottom:1rem;max-width:900px;margin:auto;background:#fff;border:1px solid var(--line);box-shadow:0 15px 50px #0003;padding:1rem 1.2rem;border-radius:.7rem;z-index:50;display:flex;gap:1rem;align-items:center;justify-content:space-between}.cookie p{margin:0}.cookie button{border:0;background:var(--blue);color:#fff;padding:.65rem 1rem;border-radius:.4rem;font-weight:800;cursor:pointer}
@media(max-width:850px){.hero,.split,.footerin{grid-template-columns:1fr}.cards,.contact-grid{grid-template-columns:1fr 1fr}.headerin{align-items:flex-start;flex-direction:column}header{position:relative}}
@media(max-width:560px){.cards,.contact-grid{grid-template-columns:1fr}.topbar .wrap{justify-content:center;flex-wrap:wrap}.hero{padding-top:3rem}.cookie{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* WhatsApp con consentimiento previo */
.whatsapp-float{
  position:fixed; right:20px; bottom:20px; z-index:60;
  display:flex; align-items:center; justify-content:center;
  min-width:56px; height:56px; padding:0 18px;
  border-radius:999px; background:#087A3B; color:#fff;
  font-weight:800; text-decoration:none;
  box-shadow:0 8px 25px rgba(0,0,0,.20); border:0; cursor:pointer;
}
.whatsapp-float:hover{background:#075E54;transform:translateY(-2px)}
.wa-modal[hidden]{display:none}
.wa-modal{
  position:fixed; inset:0; z-index:1000;
  background:rgba(0,0,0,.55); display:flex; align-items:center; justify-content:center;
  padding:20px;
}
.wa-dialog{
  width:min(620px,100%); max-height:90vh; overflow:auto;
  background:#fff; border-radius:14px; padding:24px;
  box-shadow:0 20px 60px rgba(0,0,0,.30);
}
.wa-dialog h2{margin-top:0}
.wa-check{
  display:flex; gap:.75rem; align-items:flex-start;
  margin:1rem 0; padding:1rem; background:var(--soft); border-radius:.6rem;
}
.wa-check input{margin-top:.35rem; width:18px; height:18px; flex:0 0 auto}
.wa-actions{display:flex; gap:.75rem; justify-content:flex-end; flex-wrap:wrap; margin-top:1.25rem}
.wa-actions button{
  border:0; border-radius:.45rem; padding:.75rem 1rem; font-weight:800; cursor:pointer;
}
.wa-cancel{background:#e9eef2; color:var(--ink)}
.wa-continue{background:#087A3B; color:#fff}
.wa-continue:not(:disabled):hover{background:#075E54}
.wa-continue:disabled{opacity:.45; cursor:not-allowed}
@media(max-width:560px){
  .whatsapp-float{right:14px; bottom:14px; min-width:52px; height:52px; padding:0 14px}
  .wa-dialog{padding:18px}
}

.wa-check input{accent-color:#087A3B}

/* Optimización adicional de accesibilidad */
.cookie button,.wa-actions button{min-height:44px}
@media (forced-colors:active){.whatsapp-float,.wa-continue{border:2px solid ButtonText}}
