@font-face{font-family:'Sora';font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/sora-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Sora';font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/sora-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Sora';font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/sora-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Sora';font-weight:800;font-style:normal;font-display:swap;src:url(../fonts/sora-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/inter-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/inter-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/inter-latin-600-normal.woff2) format('woff2')}

body{margin:0;font-family:'Inter',system-ui,sans-serif;background:#FFFFFF;color:#0C1F33}
a{color:inherit;text-decoration:none}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes sway{0%,100%{transform:rotate(-1.6deg)}50%{transform:rotate(1.6deg)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}
@keyframes drift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes glow{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.r1{animation:rise .9s .05s cubic-bezier(.2,.7,.2,1) both}
.r2{animation:rise .9s .2s cubic-bezier(.2,.7,.2,1) both}
.r3{animation:rise .9s .35s cubic-bezier(.2,.7,.2,1) both}
.r4{animation:rise .9s .5s cubic-bezier(.2,.7,.2,1) both}
.fl{transform-box:fill-box;transform-origin:50% 100%;animation:grow 1s cubic-bezier(.2,.7,.2,1) both}
.f1{animation-delay:.3s}.f2{animation-delay:.6s}.f3{animation-delay:.9s}.f4{animation-delay:1.2s}.f5{animation-delay:1.5s}.f6{animation-delay:1.8s}
.jib{transform-box:view-box;transform-origin:430px 60px;animation:sway 7s ease-in-out infinite}
.carga{animation:bob 4s ease-in-out infinite}
.win{animation:glow 3.6s ease-in-out infinite}
.mq{display:flex;width:max-content;animation:drift 38s linear infinite}
.btn-p{transition:transform .2s,box-shadow .2s}
.btn-p:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(77,184,240,.35);color:#0A2038}
.btn-s{transition:background .2s,border-color .2s}
.btn-s:hover{background:rgba(255,255,255,.1);border-color:#FFFFFF;color:#FFFFFF}
.card{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
.card:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(5,43,55,.14);border-color:#2B86C5}
.zoom svg{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.zoom:hover svg{transform:scale(1.06)}
.navl{position:relative;padding:6px 0}
.navl:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:#2B86C5;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.navl:hover:after{transform:scaleX(1)}
.navl:hover{color:#1E4A73}
.lk:hover{color:#2B86C5}
@supports (animation-timeline: view()){
  .rv{animation:rise linear both;animation-timeline:view();animation-range:entry 5% entry 45%}
  .ln{transform-origin:left;animation:line linear both;animation-timeline:view();animation-range:entry 10% cover 40%}
}
@keyframes ken{from{transform:scale(1.02)}to{transform:scale(1.12)}}
@keyframes bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.ph{overflow:hidden;position:relative;background:#0F2A44}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.ph:hover img{transform:scale(1.06)}
.kb img{animation:ken 18s ease-in-out infinite alternate}
.prog{position:fixed;top:0;left:0;right:0;height:3px;background:#4DB8F0;transform-origin:left;transform:scaleX(0);z-index:100;animation:bar linear both;animation-timeline:scroll(root)}
.faq{border-bottom:1px solid #D5E1EE}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;font-family:'Sora',sans-serif;font-weight:700;font-size:19px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:#1E4A73}
.faq .pl{flex:none;width:32px;height:32px;border:1px solid #9DB1CB;display:flex;align-items:center;justify-content:center;transition:transform .3s,background .3s}
.faq[open] .pl{transform:rotate(45deg);background:#1E4A73;color:#fff;border-color:#1E4A73}
.faq p{margin:0 0 28px;max-width:760px;font-size:17px;line-height:1.7;color:#475C75}
.wa{position:fixed;right:24px;bottom:24px;z-index:60;display:flex;align-items:center;gap:10px;padding:15px 22px;background:#0B8F5B;color:#fff;font-weight:700;font-size:15px;box-shadow:0 14px 32px rgba(2,24,32,.35);transition:transform .2s}
.wa:hover{transform:translateY(-3px)}
@media (prefers-reduced-motion:reduce){
  .kb img,.prog{animation:none !important}
  .r1,.r2,.r3,.r4,.fl,.jib,.carga,.win,.mq,.rv,.ln{animation:none !important}
}

html{scroll-behavior:smooth;scroll-padding-top:90px}
:focus-visible{outline:3px solid #4DB8F0;outline-offset:3px}
input:focus,textarea:focus{outline:3px solid #4DB8F0;outline-offset:0;border-color:#1E4A73 !important}
.sr{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.est{margin:0;font-size:15px;line-height:1.5;min-height:22px}
.est.ok{color:#0B6B43;font-weight:600}.est.err{color:#A32020;font-weight:600}
button[disabled]{opacity:.6;cursor:wait}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media (max-width:640px){
  #contacto-form{padding:24px !important}
  header > div{flex-direction:column !important;align-items:center !important;justify-content:center !important;gap:10px !important;padding-top:14px !important;padding-bottom:14px !important}
  header nav{justify-content:center !important;gap:4px 22px !important}
  .card{padding:28px !important}
  .card .ph{margin:-28px -28px 24px !important;height:200px !important}
  .wa{right:14px;bottom:14px;padding:14px}
  .wa{font-size:0;gap:0}
  .wa svg{width:22px;height:22px}
  section [style*="left:-28px"]{left:0 !important}
}
