@font-face{font-family:'Red Hat Display';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/red-hat-display.woff2) format('woff2')}
@font-face{font-family:'Red Hat Display';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/red-hat-display.woff2) format('woff2')}
@font-face{font-family:'Red Hat Display';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/red-hat-display.woff2) format('woff2')}
@font-face{font-family:'Red Hat Display';font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/red-hat-display.woff2) format('woff2')}
:root{--azul-oscuro:#003257;--coral:#FF977A;--verde:#EDF9ED;--celeste:#8ED9D9;--azul:#017BA0;--gris:#5b6b78}
*{box-sizing:border-box;margin:0;padding:0}
:focus-visible{outline:3px solid var(--azul);outline-offset:2px;border-radius:2px}
.skip-link{position:absolute;left:-999px;top:4px;z-index:200;background:var(--azul-oscuro);color:#fff;padding:8px 16px;border-radius:8px;font-weight:700;font-size:14px;text-decoration:none}
.skip-link:focus{left:12px}
.scroll-top{position:fixed;right:20px;z-index:80;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--azul-oscuro);border:1.5px solid #e1ebe6;box-shadow:0 8px 20px rgba(0,50,87,.15);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease,transform .18s ease;padding:0;font-family:inherit}
.scroll-top.visible{opacity:1;visibility:visible}
.scroll-top:hover{transform:translateY(-2px)}
.scroll-top svg{width:18px;height:18px;fill:currentColor}
.float-back{position:fixed;left:20px;bottom:20px;z-index:80;background:#fff;color:var(--azul-oscuro);font-weight:900;padding:14px 20px;border-radius:999px;box-shadow:0 10px 28px rgba(0,50,87,.18);display:inline-flex;align-items:center;gap:8px;border:1.5px solid #e1ebe6;transition:transform .18s ease}
.float-back:hover{transform:translateY(-2px)}
.float-back .ar{font-size:18px;line-height:1}
@media(max-width:560px){.float-back .t{display:none}.float-back{padding:15px;border-radius:50%}}
.tt{position:relative;display:inline-block;cursor:help;border-bottom:1.5px dotted currentColor;vertical-align:baseline}
.tt-body{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#003257;color:#fff;font-size:12px;font-weight:400;line-height:1.5;padding:10px 14px;border-radius:10px;width:240px;z-index:200;box-shadow:0 8px 20px rgba(0,50,87,.25);pointer-events:none;white-space:normal;text-transform:none;letter-spacing:0;font-family:inherit}
.tt-body::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#003257}
.tt:hover .tt-body,.tt:focus .tt-body,.tt.open .tt-body{display:block}
.btn.coral{background:var(--coral);color:var(--azul-oscuro);box-shadow:0 8px 20px rgba(255,151,122,.28)}
.btn.coral:hover{box-shadow:0 12px 26px rgba(255,151,122,.4)}
.wa-ico{width:18px;height:18px;fill:currentColor;flex-shrink:0}
.avenc-inner{display:flex;align-items:center;gap:10px;padding-top:8px;padding-bottom:8px}
.avenc-txt{flex:1;font-weight:500}
.avenc-cta{color:var(--coral);font-weight:700;white-space:nowrap;font-size:13px}
.avenc-cta:hover{text-decoration:underline}
.avenc-close{background:none;border:none;cursor:pointer;color:var(--gris);font-size:16px;padding:14px;border-radius:4px;line-height:1;flex-shrink:0}
.avenc-close:hover{background:rgba(0,50,87,.06)}
.avenc-ico{width:16px;height:16px;flex-shrink:0;color:var(--azul)}
/* scroll-reveal: FAIL-OPEN. Engages only where scroll-driven animations are supported and
   motion is allowed; in every other case (old browsers, reduced motion, no JS) content is fully visible. */
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .reveal{opacity:0;animation:rise .8s cubic-bezier(.2,.7,.2,1) both;animation-timeline:view();animation-range:entry 4% cover 26%}
    @keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
  }
}
