*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Montserrat,system-ui,sans-serif;color:#172D51;background:#fff;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:#2F5B7C}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #DFA62A;outline-offset:2px;border-radius:4px}img{max-width:100%;height:auto}
.skip{position:absolute;left:12px;top:-60px;background:#172D51;color:#fff;padding:12px 16px;border-radius:6px;font-weight:600;z-index:60}.skip:focus{top:12px}
.w{max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}
header.h{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);border-bottom:1px solid #EEF0F2}header.h .w{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}.logo{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:700;font-size:22px;letter-spacing:-.02em}.logo img{display:block}
nav.p ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}nav.p a{display:flex;align-items:center;min-height:44px;padding:0 12px;font-size:14px;font-weight:500;border-radius:999px}nav.p a[aria-current]{background:#EEF3F6;font-weight:600}
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;background:#DFA62A;color:#172D51;font-weight:700;font-size:15px}.btn:hover{background:#E8B850;color:#172D51}.btn.o{background:#fff;border:1.5px solid #172D51;font-weight:600}
header.h .btn{margin-left:auto}details.m{display:none}details.m summary{list-style:none;display:flex;align-items:center;min-height:44px;padding:0 16px;border:1.5px solid #172D51;border-radius:999px;font-weight:600;cursor:pointer}details.m summary::-webkit-details-marker{display:none}details.m ul{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid #E3E5E8;box-shadow:0 12px 24px rgba(23,45,81,.08);list-style:none;margin:0;padding:8px clamp(20px,4vw,48px) 16px}details.m li a{display:flex;align-items:center;min-height:52px;border-bottom:1px solid #EEF0F2;font-size:17px;font-weight:600}details.m li a[aria-current]{color:#2F5B7C}
nav.p ul{align-items:center}nav.p details.dd{position:relative}nav.p summary{list-style:none;display:flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;font-size:14px;font-weight:500;border-radius:999px;cursor:pointer}nav.p summary::-webkit-details-marker{display:none}nav.p summary span{font-size:10px}nav.p summary.cur{background:#EEF3F6;font-weight:600}nav.p details.dd ul{position:absolute;top:calc(100% + 8px);left:0;z-index:45;min-width:232px;flex-direction:column;align-items:stretch;gap:0;background:#fff;border:1px solid #EEF0F2;border-radius:12px;box-shadow:0 12px 24px rgba(23,45,81,.08);padding:8px}nav.p details.dd a{border-radius:8px}nav.p details.dd a:hover{background:#F6F8FA}details.m li.g{display:flex;align-items:center;min-height:44px;padding-top:8px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#4F7F7A}details.m li.s a{padding-left:16px;min-height:48px;font-size:16px;font-weight:500}header.h .btn{background:#172D51;color:#fff;font-weight:600}header.h .btn:hover{background:#2F5B7C;color:#fff}@media(max-width:1179px){nav.p{display:none}details.m{display:block}}@media(max-width:759px){header.h .btn{display:none}}@media(max-width:359px){.logo span{display:none}}
footer.f{background:#0E1C33;color:#C9DCE6;font-size:14px;line-height:1.6}footer.f .w{padding-top:48px;padding-bottom:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:28px}footer.f h2{margin:0 0 8px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#fff}footer.f ul{list-style:none;margin:0;padding:0}footer.f li{min-height:40px;display:flex;align-items:center}footer.f a{display:flex;align-items:center;min-height:40px}footer.f a:hover{color:#fff}footer.f p{margin:0}
.barra{display:none}@media(max-width:759px){.barra{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid #E3E5E8}.barra .btn{flex:1;min-height:48px;padding:0 14px}body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}}
.hero{background:#172D51;color:#fff}.hero .w{padding-top:clamp(32px,4.5vw,64px);padding-bottom:clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:14px}.hero h1{margin:0;font-size:clamp(32px,4.4vw,54px);line-height:1.06;font-weight:300;letter-spacing:-.03em;max-width:15em}.hero h1 strong{font-weight:700}.hero p{margin:0;color:#C9DCE6;font-size:clamp(16px,1.4vw,18px);line-height:1.6;max-width:56ch}
.ruta{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:#4A5568;margin:0;padding:0;list-style:none}.ruta li+li::before{content:"/";margin-right:8px}.hero .ruta{color:#C9DCE6}
.cats{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:6px 0 0;padding:0}.cats a{display:flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;border:1.5px solid rgba(255,255,255,.35);font-size:14px;font-weight:600}.cats a[aria-current]{background:#DFA62A;border-color:#DFA62A;color:#172D51}
.grid{list-style:none;margin:0;padding:clamp(32px,4.5vw,56px) 0 clamp(40px,5vw,72px);display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:32px 24px}.card{display:flex;flex-direction:column;gap:12px;height:100%}.card img{display:block;aspect-ratio:4/3;object-fit:cover;border-radius:8px;width:100%}.card h2,.card h3{margin:0;font-size:18px;line-height:1.3;font-weight:600}.card p{margin:0;font-size:14px;line-height:1.55;color:#4A5568}.card .meta{margin-top:auto;padding-top:10px;border-top:1px solid #E3E5E8;font-size:12px;color:#4A5568}
.pill{align-self:flex-start;display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
article.a header{max-width:820px;margin:0 auto;padding:clamp(28px,4vw,52px) clamp(20px,4vw,32px) 24px;display:flex;flex-direction:column;gap:16px}article.a h1{margin:0;font-size:clamp(30px,4.4vw,48px);line-height:1.1;font-weight:600;letter-spacing:-.02em}.bajada{margin:0;font-size:clamp(17px,1.6vw,20px);line-height:1.55;color:#4A5568}.firma{display:flex;flex-wrap:wrap;gap:6px 18px;padding-top:12px;border-top:1px solid #E3E5E8;font-size:13px;color:#4A5568}
article.a figure{max-width:1040px;margin:0 auto;padding:0 clamp(20px,4vw,32px)}article.a figure img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px}@media(max-width:759px){article.a figure img{aspect-ratio:4/3}}
.cuerpo{max-width:720px;margin:0 auto;padding:clamp(28px,4vw,48px) clamp(20px,4vw,32px);font-size:clamp(17px,1.3vw,18px);line-height:1.7;color:#2B3A52;overflow-wrap:anywhere}.cuerpo>*+*{margin-top:18px}.cuerpo h2{font-size:clamp(23px,2.4vw,28px);line-height:1.2;color:#172D51;margin-top:36px}.cuerpo h3{font-size:19px;color:#172D51;margin-top:24px}.cuerpo p,.cuerpo ul{margin-bottom:0}.cuerpo p a{color:#2F5B7C;font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#DFA62A}.cuerpo strong{color:#172D51;font-weight:600}
.nota{background:#FBEFD6;border-radius:10px;padding:16px 18px;font-size:16px;line-height:1.55;color:#172D51}.fuentes{border-top:1px solid #E3E5E8;padding-top:18px;font-size:14px;color:#4A5568}.fuentes h2{font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin:0}.fuentes ul{list-style:none;padding:0;margin:8px 0 0}.fuentes a{display:flex;align-items:center;min-height:40px;color:#2F5B7C;text-decoration:underline;text-underline-offset:3px}
.cta{max-width:720px;margin:0 auto 48px;padding:0 clamp(20px,4vw,32px)}.cta div{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;background:#172D51;color:#fff;border-radius:12px;padding:clamp(20px,3vw,28px)}
.rel{background:#F6F8FA}.rel h2{margin:0;padding-top:clamp(32px,4.5vw,56px);font-size:clamp(22px,2.4vw,28px)}
.bh{max-width:1280px;margin:0 auto;padding:clamp(48px,7vw,96px) clamp(20px,4vw,56px) 0}.bh .t{display:flex;justify-content:space-between;align-items:end;gap:16px 32px;flex-wrap:wrap}.bh span.k{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#4F7F7A}.bh h2{margin:10px 0 0;font-size:clamp(28px,3.4vw,40px);line-height:1.1;font-weight:300;letter-spacing:-.025em}.bh .t>a{display:flex;align-items:center;min-height:44px;font-weight:600;font-size:14px;color:#2F5B7C}
.e404{max-width:720px;margin:0 auto;padding:clamp(56px,9vw,120px) clamp(20px,4vw,32px);display:flex;flex-direction:column;gap:18px}.e404 h1{margin:0;font-size:clamp(32px,4.4vw,48px);font-weight:300;letter-spacing:-.03em}.e404 p{margin:0;font-size:17px;line-height:1.6;color:#4A5568}.e404 ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.e404 ul a{display:flex;align-items:center;min-height:44px;padding:0 16px;border:1.5px solid #C9DCE6;border-radius:999px;font-weight:600}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
a,button,summary{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}
[data-card]{transition:transform .28s ease,box-shadow .28s ease}
[data-card]:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(23,45,81,.09)}
.rv{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
details[data-dd][open]>div,nav.p details.dd[open]>ul,details.m[open]>ul,nav[aria-label="Principal móvil"],#menu-movil{animation:ddin .2s ease-out}
@keyframes ddin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.ban{position:relative;overflow:hidden;min-height:clamp(260px,30vw,460px);background:#E4ECF1}
.ban img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;animation:banz 1.8s cubic-bezier(.2,.7,.2,1) both}
@keyframes banz{from{opacity:0;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.ban img{animation:none}.rv{opacity:1;transform:none;transition:none}[data-card]:hover{transform:none}}

.vh{position:relative;overflow:hidden;background:#172D51;color:#FFFFFF;min-height:clamp(560px,86vh,880px);display:flex;align-items:center}
.vh-media{position:absolute;inset:0}
.vh-media img,.vh-media video{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover}
.vh-foto{object-position:62% 60%;transform-origin:58% 55%;animation:vhfade 1.2s ease-out both,vhmove 14s ease-in-out infinite alternate;will-change:transform}
@keyframes vhmove{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.16) translate(-2.5%,-2%)}}
@keyframes vhfade{from{opacity:0}to{opacity:1}}
.vh-vid{display:none}.vh-vid video{opacity:0;transition:opacity 1.2s ease}.vh-vid video.on{opacity:1}
.vh-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(23,45,81,.9) 0%,rgba(23,45,81,.74) 30%,rgba(23,45,81,.18) 56%,rgba(23,45,81,0) 72%),linear-gradient(0deg,rgba(23,45,81,.55) 0%,rgba(23,45,81,0) 30%)}
.vh-in{position:relative;z-index:2;width:100%;max-width:1280px;margin:0 auto;padding:clamp(56px,7vw,104px) clamp(20px,4vw,56px) clamp(96px,9vw,128px)}
.vh-in>div>*{animation:vhin .9s cubic-bezier(.2,.7,.2,1) both}.vh-in>div>*:nth-child(2){animation-delay:.12s}.vh-in>div>*:nth-child(3){animation-delay:.24s}.vh-in>div>*:nth-child(4){animation-delay:.36s}
.vh-k{color:#E9DCC4}.vh-h,.vh-p1{color:#FFFFFF}.vh-p2{color:#D5DEE7}
.vh-mark{color:#FFFFFF;position:relative;display:inline-block}.vh-mark::after{content:"";position:absolute;left:0;right:0;bottom:-.1em;height:max(3px,.07em);background:#DFA62A;border-radius:2px;transform:scaleX(0);transform-origin:left;animation:vhline .9s 1s cubic-bezier(.6,0,.2,1) forwards}
.vh-out{color:#FFFFFF;border-color:rgba(255,255,255,.85)}.vh-out:hover{background:#FFFFFF;color:#172D51}
.vh-addr{position:absolute;z-index:2;right:clamp(20px,4vw,56px);bottom:clamp(22px,3vw,34px)}
.vh-bajar{position:absolute;z-index:2;left:50%;bottom:22px;width:44px;height:44px;margin-left:-22px;display:grid;place-items:center;border-radius:50%;border:1.5px solid rgba(255,255,255,.6);color:#FFFFFF}.vh-bajar:hover{background:rgba(255,255,255,.14);color:#FFFFFF}.vh-bajar span{display:block;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);animation:vhbaja 1.6s 2.2s ease-in-out 2}
.vh-pausa{display:none}
@keyframes vhz{from{transform:scale(1.07)}to{transform:scale(1)}}
@keyframes vhin{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes vhline{to{transform:scaleX(1)}}
@keyframes vhbaja{50%{transform:translateY(3px) rotate(45deg)}}
@media (max-width:899px){
.vh{flex-direction:column;align-items:stretch;min-height:0;background:#FFFFFF;color:#172D51}
.vh-in{order:1;padding:36px 20px 32px}.vh-media{order:2;position:relative;inset:auto;aspect-ratio:4/5;max-height:78vh}
.vh-k{color:#4F7F7A}.vh-h,.vh-p1{color:#172D51}.vh-p2{color:#4A5568}.vh-mark{color:#172D51}
.vh-out{color:#172D51;border-color:#172D51}.vh-out:hover{background:#172D51;color:#FFFFFF}
.vh-foto{object-position:62% 50%}.vh-vid{display:block}
.vh-shade{background:linear-gradient(0deg,rgba(23,45,81,.6) 0%,rgba(23,45,81,0) 34%)}
.vh-addr{left:20px;right:auto;bottom:18px}.vh-bajar{display:none}
.vh-pausa{display:grid;place-items:center;position:absolute;z-index:3;right:12px;top:12px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(23,45,81,.6);color:#FFFFFF;font:600 13px Montserrat,sans-serif;cursor:pointer}
}
@media (prefers-reduced-motion:reduce){.vh-foto,.vh-in>div>*,.vh-bajar span{animation:none}.vh-mark::after{animation:none;transform:none}.vh-vid,.vh-pausa{display:none!important}}

.gal-i{opacity:0;transition:opacity 1.1s ease}.gal-i.on{opacity:1;animation:galz 5s ease-out both}video.gal-i.on{animation:none}
@keyframes galz{from{transform:scale(1.05)}to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.gal-i.on{animation:none}[data-pausa-gal]{display:none}}

.vh-s{opacity:0;transition:opacity 1.4s ease}.vh-s:not(.on){animation:none}.vh-s.on{opacity:1;animation:vhfade 1.8s ease-out both,vhz 9s ease-out both}
@media (max-width:899px){.vh-s:not(:first-child){display:none}}


.vh-s.kb2.on{animation:vhfade 1.6s ease-out both,kb2 8s ease-out both}.vh-s.kb3.on{animation:vhfade 1.6s ease-out both,kb3 8s ease-out both}
@keyframes kb2{from{transform:scale(1.12) translateX(3%)}to{transform:scale(1.04) translateX(-2%)}}
@keyframes kb3{from{transform:scale(1)}to{transform:scale(1.1)}}

.vh-int{min-height:clamp(440px,64vh,640px)}.vh-int .vh-in{padding-top:clamp(48px,6vw,88px);padding-bottom:clamp(48px,6vw,88px)}
.vh-der .vh-foto{object-position:30% 50%;transform-origin:25% 50%}
.vh-der .vh-shade{background:linear-gradient(270deg,rgba(23,45,81,.96) 0%,rgba(23,45,81,.9) 34%,rgba(23,45,81,.55) 52%,rgba(23,45,81,.12) 68%,rgba(23,45,81,0) 80%)}
@media (max-width:899px){.vh-int{min-height:0}.vh-int .vh-media{aspect-ratio:16/10;max-height:none}.vh-der .vh-in>div{margin-left:0}.vh-der .vh-shade{background:none}}

[data-card]:hover .cta-flecha{transform:translateX(5px)}[data-card]:hover .card-img{transform:scale(1.05)}
[data-rv].rv{transition-delay:calc(var(--i,0)*70ms)}
@media (prefers-reduced-motion:reduce){[data-card]:hover .cta-flecha,[data-card]:hover .card-img{transform:none}}

.vh-hero-vid{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:55% 50%;display:block}
@media (max-width:899px){.vh-hero-vid{display:none}}
@media (prefers-reduced-motion:reduce){.vh-hero-vid{display:none}}

.empeza{position:relative;animation:latido 2.4s ease-in-out infinite;scroll-margin-top:96px}.empeza:hover{background:#172D51!important;color:#FFFFFF!important;animation-play-state:paused}
.empeza::after{content:"";position:absolute;inset:0;border-radius:999px;box-shadow:0 0 0 0 rgba(223,166,42,.55);animation:onda 2.4s ease-out infinite;pointer-events:none}
#necesidades{scroll-margin-top:110px}
@keyframes latido{0%,100%{transform:scale(1)}12%{transform:scale(1.06)}24%{transform:scale(1)}36%{transform:scale(1.04)}48%{transform:scale(1)}}
@keyframes onda{0%{box-shadow:0 0 0 0 rgba(223,166,42,.55)}60%,100%{box-shadow:0 0 0 14px rgba(223,166,42,0)}}
@media (prefers-reduced-motion:reduce){.empeza,.empeza::after{animation:none}}

.vh-out-zoom .vh-foto{animation:vhfade 1.2s ease-out both,vhzoomout 10s ease-out both}
@keyframes vhzoomout{from{transform:scale(1.05)}to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.vh-out-zoom .vh-foto{animation:none}}

@media (min-width:900px){.vh-out-zoom{aspect-ratio:16/9;min-height:0;max-height:none}}
@media (max-width:899px){.vh-out-zoom .vh-media{aspect-ratio:16/9}}
.vh-out-zoom .vh-foto{object-position:50% 50%!important}
