/* Portada inmersiva: cabecera transparente sobre fondo oscuro animado (solo en la portada) */
body.is-home header{position:fixed;left:0;right:0;top:0;transition:background-color .25s,box-shadow .25s,color .25s}
body.is-home header:not(.scrolled){background:transparent;box-shadow:none;color:#fff}
body.is-home header:not(.scrolled) nav a,body.is-home header:not(.scrolled) .menu-toggle{color:#fff}
body.is-home header:not(.scrolled) .brand-logo{filter:brightness(0) invert(1)}
body.is-home header:not(.scrolled) nav button{background:#ffffff1f;border:1px solid #ffffff59;color:#fff;box-shadow:none}
body.is-home header:not(.scrolled) nav button b{color:#fff}
body.is-home header:not(.scrolled) .customer-menu>button{background:transparent;border:0;border-left:1px solid #ffffff59;border-radius:0;color:#fff}
body.is-home header:not(.scrolled) .customer-menu>button span{color:#ffffffb8}
body.is-home header:not(.scrolled) .customer-menu>button b{color:#fff}
body.is-home #customer-dropdown{color:#123a31}
body.is-home #home-before{display:flex;flex-direction:column}
body.is-home #home-before>*{order:3}
body.is-home #home-before>.campaign-main{order:0}
body.is-home #home-before>.announcement{order:1}
body.is-home #home-before>.value-strip{order:2}
body.is-home .home-campaign.campaign-main{margin:0;border-radius:0;box-shadow:none;min-height:min(88vh,740px);padding-top:92px;position:relative;isolation:isolate;color:#fff;background:linear-gradient(160deg,#0b2823 0%,#134036 55%,#1d5a4c 100%);align-items:center}
body.is-home .campaign-main h1{color:#fff}
body.is-home .campaign-main .eyebrow{color:#ffffffb3}
body.is-home .campaign-main p{color:#ffffffcc}
body.is-home .campaign-main .campaign-cta{background:#fff;color:#123a31}
body.is-home .campaign-main>img{border-radius:16px;box-shadow:0 20px 50px #00000059;mix-blend-mode:normal;background:#ecebe6}
body.is-home .campaign-main::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px);background-size:56px 56px;animation:hi-pan 40s linear infinite}
@keyframes hi-pan{to{background-position:56px 56px}}
.hero-bp{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none;opacity:.55}
.hero-bp *{fill:none;stroke:#ffffff80;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.hero-bp .dim{stroke:#7fd1b8;stroke-width:1.2}
.hero-bp .draw{stroke-dasharray:1;stroke-dashoffset:1;animation:hi-draw 7s ease-in-out infinite alternate}
.hero-bp .draw:nth-child(2){animation-delay:.6s}.hero-bp .draw:nth-child(3){animation-delay:1.2s}.hero-bp .draw:nth-child(4){animation-delay:1.8s}.hero-bp .draw:nth-child(5){animation-delay:2.4s}
@keyframes hi-draw{to{stroke-dashoffset:0}}
@media(max-width:760px){body.is-home .home-campaign.campaign-main{padding-top:132px;min-height:0;padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){body.is-home .campaign-main::before{animation:none}.hero-bp .draw{animation:none;stroke-dashoffset:0}}
body.is-home .campaign-main>img{margin:0 4.5% 0 0;align-self:center}@media(max-width:760px){body.is-home .campaign-main>img{margin:12px 5% 0}}

/* Planos flotando hacia arriba en la primera pantalla */
.hero-float{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hf{position:absolute;top:0;bottom:0;left:var(--x);width:var(--w);display:flex;align-items:center;opacity:0;transform:translate3d(0,100%,0);will-change:transform,opacity;animation:hf-rise var(--d) linear var(--r) infinite}
.hf img{width:100%;height:auto;display:block}
@keyframes hf-rise{0%{opacity:0;transform:translate3d(0,100%,0)}4%{opacity:.4}34%{opacity:.4}40%,100%{opacity:0;transform:translate3d(0,-100%,0)}}
@media(max-width:760px){.hf{--w:56vw!important}.hf-1{left:-8%!important}.hf-2{left:54%!important}.hf-3{left:6%!important}.hf-4{left:40%!important}}
@media(prefers-reduced-motion:reduce){.hf{animation:none;opacity:.16;transform:none}}

/* Carrusel de la portada */
.hero-wrap{position:relative}
body.is-home #home-before>.hero-wrap{order:0}
.campaign-main .campaign-copy,.campaign-main>img{transition:opacity .32s ease,transform .32s ease}
.campaign-main.swapping .campaign-copy{opacity:0;transform:translateY(10px)}
.campaign-main.swapping>img{opacity:0;transform:translateX(16px)}
.hero-arrow{position:absolute;top:50%;margin-top:-22px;z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid #ffffff59;background:#ffffff14;color:#fff;display:grid;place-items:center;padding:0;backdrop-filter:blur(4px);transition:background-color .2s,transform .15s}
.hero-arrow:hover{background:#ffffff33}
.hero-arrow svg{width:20px;height:20px}
.hero-arrow.prev{left:1.2%}.hero-arrow.next{right:1.2%}
.hero-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px;align-items:center;z-index:3}
.hero-dot{width:8px;height:8px;border-radius:99px;border:0;padding:0;background:#ffffff73;transition:width .25s,background-color .25s}
.hero-dot[aria-current=true]{width:24px;background:#fff}
.hero-pause{border:0;background:none;color:#ffffffcc;font-size:12px;padding:4px 6px;margin-left:6px;border-radius:99px}
.hero-pause:hover{color:#fff}
@media(max-width:760px){.hero-arrow{top:auto;bottom:8px;margin-top:0;width:38px;height:38px}.hero-arrow.prev{left:4%}.hero-arrow.next{right:4%}.hero-dots{bottom:20px}}
@media(prefers-reduced-motion:reduce){.campaign-main .campaign-copy,.campaign-main>img{transition:none}}
@media(max-width:760px){body.is-home .hero-wrap .home-campaign.campaign-main{padding-bottom:72px}}
.hero-arrow{background:#0b2823a6;border-color:#ffffff80}
.hero-arrow:hover{background:#0b2823d9}
body.is-home .campaign-main>img{width:95.5%}
@media(max-width:760px){body.is-home .campaign-main>img{width:90%}}
