/* Hero de las páginas interiores (body.v22). Va después de afr.css. */
/* --logo: the red of the logo itself (#fc0404). Every mark, line, icon and underline uses it; red body text and the button fill keep --red, which holds 4.5:1 with small type */
.v22{--logo:#fc0404}

.v22 .hz{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-start;background:var(--ink);color:#fff;overflow:hidden}
.v22 .hz-media{position:absolute;inset:0;z-index:-1;background:var(--ink)}
.v22 .hz-media img,.v22 .hz-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% 50%}
.v22 .hz-media video{opacity:0;transition:opacity 1.2s ease}
.v22 .hz-media video.is-playing{opacity:1}

.v22 .hz-media::after{content:"";position:absolute;inset:0;background:rgba(12,12,12,.56)}

.v22 .hz-run{position:relative;height:clamp(140px,40vw,210px);margin:40px 30px 68px}
.v22 .hz-run > svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.v22 .hz-run path,.v22 .hz-run line{fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}

.v22 .hz-run .hz-base,.v22 .hz-run .hz-tick{stroke:rgba(255,255,255,.4);stroke-width:1px}
.v22 .hz-run .hz-grid{stroke:rgba(255,255,255,.16);stroke-width:1px;stroke-dasharray:2 6}

.v22 .hz-run .hz-s{stroke-width:1.25px;stroke-dasharray:4 5}
.v22 .hz-run .hz-s-cv{stroke:var(--logo);opacity:.6}
.v22 .hz-run .hz-s-nm{stroke:rgba(255,255,255,.5)}
.v22 .hz-run .hz-cv{stroke:var(--logo);stroke-width:2px}
.v22 .hz-run .hz-nm{stroke:rgba(255,255,255,.8);stroke-width:1.25px}
.v22 .hz-ax{position:absolute;inset:0;font-size:10.5px;line-height:1;color:rgba(255,255,255,.55);font-variant-numeric:tabular-nums}
.v22 .hz-ax span{position:absolute;white-space:nowrap}

.v22 .hz-yl{left:-30px;width:25px;text-align:right;transform:translateY(-50%)}
.v22 .hz-yr{right:-30px;width:25px;text-align:left;transform:translateY(-50%)}
.v22 .hz-xl{top:calc(100% + 7px);transform:translateX(-50%)}
.v22 .hz-unit{color:rgba(255,255,255,.4)}
.v22 .hz-yl.hz-unit,.v22 .hz-yr.hz-unit{top:0}
.v22 .hz-xl.hz-unit{left:auto;right:-30px;width:25px;text-align:left;transform:none}
.v22 .hz-tag{position:absolute;margin:0;transform:translate(-50%,calc(-100% - 12px));white-space:nowrap;font-size:.8rem;line-height:1;color:rgba(255,255,255,.72)}
.v22 .hz-tag b{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums}
.v22 .hz-tag-cv{left:76.7%;top:1.1%}
.v22 .hz-tag-cv b{color:var(--logo)}
.v22 .hz-tag-nm{left:23.3%;top:19.8%}
.v22 .hz-run figcaption{position:absolute;left:-30px;right:-30px;top:calc(100% + 26px);font-size:.7rem;line-height:1.4;color:rgba(255,255,255,.62);text-align:right}
.v22 .hz-run figcaption a{color:#fff;text-underline-offset:3px;white-space:nowrap}

@keyframes hz-draw{from{clip-path:inset(-40px 100% -40px 0)}to{clip-path:inset(-40px 0 -40px 0)}}
@keyframes hz-in{from{opacity:0}to{opacity:1}}
.v22 .hz-l-axes{animation:hz-draw .55s cubic-bezier(.33,1,.68,1) .1s both}
.v22 .hz-ax{animation:hz-in .4s ease-out .3s both}
.v22 .hz-l-stock{animation:hz-draw .85s cubic-bezier(.33,1,.68,1) .4s both}
.v22 .hz-l-stage{animation:hz-draw 1.4s cubic-bezier(.33,1,.68,1) .9s both}
.v22 .hz-tag{animation:hz-in .35s ease-out .95s both}
.v22 .hz-run figcaption{animation:hz-in .4s ease-out 2.2s both}

.v22 .hz-copy{position:relative;padding-top:clamp(36px,10vw,56px);padding-bottom:32px}
.v22 .hz h1{margin:0;font-size:clamp(36px,10vw,52px);line-height:1;letter-spacing:-.035em;font-weight:650;color:#fff}
.v22 .hz h1 span{display:block}
.v22 .hz-lead{margin:0;max-width:44ch;font-size:clamp(15.5px,1.25vw,19px);line-height:1.5;color:rgba(255,255,255,.82)}
.v22 .hz-lead strong{color:#fff;font-weight:550}
.v22 .hz-cta{display:none}
.v22 .hz-facts{list-style:none;margin:18px 0 0;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.2);display:grid;gap:7px;font-size:.84rem;line-height:1.35;color:rgba(255,255,255,.74)}
.v22 .hz-facts b{color:#fff;font-weight:600}
.v22 .hz-facts a{color:inherit;text-decoration:none}
.v22 .hz-facts a b{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;text-decoration-color:var(--logo)}
@media (hover:hover){.v22 .hz-facts a:hover b{color:var(--logo)}}

@media (max-width:600px){.v22 .hz-more{display:none}}

@media (max-width:900px){
  .v22 .hz{min-height:calc(100svh - var(--header-h))}
  .v22 .hz-copy{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding-top:clamp(20px,4svh,36px);padding-bottom:clamp(20px,3.5svh,32px)}
  .v22 .hz-run{height:clamp(120px,min(46vw,21svh),230px);margin-top:clamp(28px,4svh,40px);margin-bottom:64px}
}
@media (max-width:374px){
  .v22 .hz-run figcaption{font-size:.64rem}
}
@media (max-width:640px){.v22 .hz{min-height:calc(100svh - var(--header-h) - 65px - env(safe-area-inset-bottom))}}

@media (max-width:640px) and (max-height:700px){
  .v22 .hz h1{font-size:clamp(32px,9vw,40px)}
  .v22 .hz-run{margin-top:20px;margin-bottom:60px}
  .v22 .hz-run figcaption{top:calc(100% + 24px)}
  .v22 .hz-facts{margin-top:12px;padding-top:10px;gap:4px}
}

@media (min-width:901px){
  .v22 .hz{min-height:clamp(640px,calc(100svh - var(--header-h)),900px);justify-content:center}
  .v22 .hz-media img,.v22 .hz-media video{object-position:50% 50%}
  .v22 .hz-media::after{background:rgba(12,12,12,.5)}
  .v22 .hz-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"title run" "lead run" "cta run" "facts facts";column-gap:clamp(40px,6vw,104px);align-items:center;padding-top:clamp(40px,6vh,72px)}
  .v22 .hz h1{grid-area:title;align-self:end}
  .v22 .hz-lead{grid-area:lead}
  .v22 .hz-cta{grid-area:cta;align-self:start}
  .v22 .hz-facts{grid-area:facts}
  .v22 .hz-run{grid-area:run;height:clamp(220px,22vw,320px);margin:40px 34px 56px}
  .v22 .hz-ax{font-size:11.5px}
  .v22 .hz-tag{font-size:.86rem}
  .v22 .hz-tag b{font-size:clamp(1.3rem,1.6vw,1.6rem)}
  .v22 .hz-copy{padding-bottom:clamp(40px,7vh,72px)}
  .v22 .hz h1{font-size:clamp(44px,4.1vw,68px)}
  .v22 .hz-lead{margin-top:20px}
  .v22 .hz-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
  .v22 .hz-cta .btn{min-height:52px;padding:14px 24px}
  .v22 .hz-facts{display:flex;flex-wrap:wrap;gap:10px 40px;margin-top:clamp(32px,5vh,56px);padding-top:18px;font-size:.88rem}
}

.v22 :focus-visible{outline-color:var(--logo)}
.v22 main h2:not(.h3)::before,.v22 main .section-dark h2:not(.h3)::before,
.v22 .nav-link::after,.v22 .nav-trigger::after,
.v22 .checklist li::before,.v22 .section-dark .checklist li::before,
.v22 .steps::after,.v22 .cs-caret{background:var(--logo)}
.v22 .mega a .icon,.v22 .footer-contact .icon,.v22 .mobile-bar a.primary .icon,
.v22 .contact-list .card-icon,.v22 .svc-ic,.v22 .svc-item:hover .svc-chev{color:var(--logo)}
.v22 .card-icon,.v22 .svc-item:hover .svc-ic{background:var(--logo);border-color:var(--logo)}
.v22 .faq details[open] summary::after{color:var(--logo);border-color:var(--logo)}
.v22 .social a:hover{border-color:var(--logo);color:var(--logo)}
.v22 .cc-banner{border-top-color:var(--logo)}
.v22 .dyno .c-cv,.v22 .dyno .peak .p-cv,.v22 .section-dark .dyno .c-cv{stroke:var(--logo)}
.v22 .dyno-legend .l-cv i,.v22 .section-dark .dyno-legend .l-cv i{border-color:var(--logo)}

@media (prefers-reduced-motion:reduce){.v22 .hz *{transition:none!important;animation:none!important}}

.v22 .hz .breadcrumbs{margin:0 0 clamp(14px,2.4svh,22px)}
@media (min-width:901px){
  .v22 .hz-copy{grid-template-areas:"crumbs run" "title run" "lead run" "cta run" "facts facts"}
  .v22 .hz .breadcrumbs{grid-area:crumbs;align-self:end;margin:0 0 18px}
}

@media (max-width:900px){.v22 .hz-run{margin-top:clamp(36px,4.5svh,44px)}}

@media (max-width:640px) and (max-height:700px){.v22 .hz .breadcrumbs{display:none}.v22 .hz-run{margin-top:36px}}

.v22 .hz-art{position:relative;margin:clamp(26px,3.5svh,40px) 0 clamp(18px,2.6svh,30px);height:clamp(150px,min(50vw,24svh),260px)}
.v22 .hz-art > svg{display:block;width:100%;height:100%;overflow:visible}
.v22 .hz-art > svg.clip{overflow:hidden}

.v22 .hz-art .k{fill:none;stroke:rgba(255,255,255,.8);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}
.v22 .hz-art .k2{fill:none;stroke:rgba(255,255,255,.28);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}
.v22 .hz-art .r{fill:none;stroke:var(--logo);stroke-width:6px;stroke-linecap:round;stroke-linejoin:round}
.v22 .hz-art .rf{fill:var(--logo);stroke:none}
.v22 .hz-art .pn{fill:rgba(255,255,255,.07)}
.v22 .hz-art .pn-solid{fill:#161616}
.v22 .hz-art .t{fill:rgba(255,255,255,.68);stroke:none;font-size:34px;font-weight:500;letter-spacing:.01em}
.v22 .hz-art .tb{fill:#fff;font-weight:600}
.v22 .hz-art .tr{fill:var(--logo);font-weight:600}
@media (min-width:901px){.v22 .hz-art .t{font-size:26px}}

@keyframes a-draw{to{stroke-dashoffset:0}}
.v22 .hz-art .dr{stroke-dasharray:1;stroke-dashoffset:1;animation:a-draw var(--d,.9s) cubic-bezier(.33,1,.68,1) var(--t,.1s) forwards}
.v22 .hz-art .fd{opacity:0;animation:hz-in .45s ease-out var(--t,.3s) forwards}
.v22 .hz-art .dr-w{transform-box:fill-box;transform-origin:0 50%;transform:scaleX(0);animation:w-grow .9s cubic-bezier(.33,1,.68,1) var(--t,.2s) forwards}
@keyframes w-grow{to{transform:scaleX(1)}}

.v22 .hz-art .bar-w{fill:rgba(255,255,255,.8)}
.v22 .m3-q{fill:rgba(18,18,18,.62);stroke:rgba(255,255,255,.4);stroke-width:1.6px;stroke-linejoin:round}
.v22 .m3-r{fill:var(--logo);stroke:rgba(255,255,255,.4);stroke-width:1.6px;stroke-linejoin:round;opacity:0;animation:m3-in .5s ease-out var(--t) forwards}
@keyframes m3-in{to{opacity:var(--o)}}
.v22 .eco-o{fill:rgba(255,255,255,.1)}
.v22 .eco-l,.v22 .eco-z{fill:rgba(255,255,255,.1);animation:eco-on .2s ease-out var(--t,.3s) forwards}
.v22 .eco-l{--on:rgba(255,255,255,.8)}
.v22 .eco-z{--on:var(--logo)}
@keyframes eco-on{to{fill:var(--on)}}
.v22 .ab2 > *{fill:none;stroke:var(--logo);stroke-linecap:round;stroke-linejoin:round;animation:ab2-off .8s ease 1.3s forwards}
.v22 .ab2 .ab2-f{fill:var(--logo);stroke:none;animation-name:ab2-off-f}
.v22 .ab2 .ab2-b{stroke-width:24px}
.v22 .ab2 .ab2-s{stroke-width:9px}
.v22 .ab2 .ab2-belt{stroke:#161616;stroke-width:8px;animation:none}
.v22 .ab2 .ab2-bag{stroke-width:10px}
@keyframes ab2-off{to{stroke:rgba(255,255,255,.8)}}
@keyframes ab2-off-f{to{fill:rgba(255,255,255,.8)}}
.v22 .hz-art .ab-txt{fill:var(--logo);font-weight:600;animation:ab-txt .8s ease 1.3s forwards}
@keyframes ab-txt{to{fill:rgba(255,255,255,.68)}}
.v22 .frm-ic > *{fill:none;stroke:rgba(255,255,255,.28);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;animation:frm-on .4s ease-out var(--t) forwards}
@keyframes frm-on{to{stroke:rgba(255,255,255,.8)}}
.v22 .lc-light{opacity:0;animation:lc-on .01s var(--t) forwards,lc-off .25s 2.25s forwards}
@keyframes lc-on{to{opacity:1}}
@keyframes lc-off{to{opacity:0}}
.v22 .hz-art .needle{transform-origin:0 0}
.v22 .hc-needle{transform:rotate(-135deg);animation:hc-sweep 2.6s cubic-bezier(.4,0,.2,1) .3s forwards}
@keyframes hc-sweep{0%{transform:rotate(-135deg)}45%{transform:rotate(84deg)}52%{transform:rotate(73deg)}59%{transform:rotate(84deg)}66%{transform:rotate(73deg)}73%{transform:rotate(84deg)}80%{transform:rotate(75deg)}88%{transform:rotate(84deg)}100%{transform:rotate(80deg)}}
.v22 .mp-r{fill:none;stroke:rgba(255,255,255,.2);stroke-width:14px;stroke-linecap:round}
.v22 .mp-big{fill:none;stroke:rgba(255,255,255,.28);stroke-width:22px;stroke-linecap:round}
.v22 .mp-rb{fill:none;stroke:rgba(255,255,255,.28);stroke-width:16px}
.v22 .mp-aj{fill:none;stroke:rgba(255,255,255,.8);stroke-width:16px;stroke-linecap:round}
.v22 .pin-eye{fill:#141414}

.v22 .hz-art-html{height:auto}
.v22 .hz-list{list-style:none;margin:0;padding:0;display:grid;gap:0;font-size:.92rem}
.v22 .hz-list li{display:flex;align-items:baseline;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.14);opacity:0;animation:hz-in .4s ease-out var(--t,.2s) forwards}
.v22 .hz-list li span{flex:1;color:rgba(255,255,255,.86)}
.v22 .hz-list li b{font-weight:600;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.v22 .hz-list li small{color:rgba(255,255,255,.55);font-size:.78rem}
.v22 .hz-list li a{color:inherit;text-decoration:none}
.v22 .hz-list li:first-child{border-top:2px solid var(--logo)}
.v22 .hz-list-note{margin:8px 0 0;font-size:.74rem;color:rgba(255,255,255,.55);text-align:right}

.v22 .hz-art:has(.hz-open){height:auto}
.v22 .hz-art:has(.hz-open) > svg{height:clamp(130px,min(42vw,20svh),220px)}
.v22 .hz-open{position:static;display:inline-block;margin:10px 0 0;padding:8px 12px;border-radius:var(--r);background:rgba(12,12,12,.72);font-size:.82rem;color:rgba(255,255,255,.86)}
.v22 .hz-open b{color:#fff;font-weight:600}
.v22 .hz-open small{display:block;margin:2px 0 0 16px;font-size:.78rem;color:rgba(255,255,255,.7)}
.v22 .hz-open i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;background:rgba(255,255,255,.4);vertical-align:1px}
.v22 .hz-open.is-open i{background:#25d366}

@media (min-width:901px){
  .v22 .hz-art{grid-area:run;height:clamp(260px,26vw,380px);margin:24px 0}
  .v22 .hz-art:has(.hz-open) > svg{height:clamp(220px,22vw,320px)}
  .v22 .hz-art-html{height:auto}
  .v22 .hz-list{font-size:1rem}
  .v22 .hz-list li{padding:12px 0}
}
@media (max-width:640px){.v22 .hz-list{font-size:.88rem}.v22 .hz-list li{padding:6px 0}.v22 .hz-list-note{margin-top:4px}}
@media (max-width:640px) and (max-height:700px){.v22 .hz-art{height:clamp(124px,20svh,160px);margin:18px 0 12px}.v22 .hz-list li{padding:4px 0}.v22 .hz-open small{display:none}}
@media (prefers-reduced-motion:reduce){
  .v22 .hz-art .dr{stroke-dashoffset:0}.v22 .hz-art .fd,.v22 .hz-list li{opacity:1}.v22 .hz-art .dr-w{transform:none}
  .v22 .m3-r{opacity:var(--o)}.v22 .eco-l{fill:rgba(255,255,255,.8)}.v22 .eco-z{fill:var(--logo)}
  .v22 .ab2 > *{stroke:rgba(255,255,255,.8)}.v22 .ab2 .ab2-f{fill:rgba(255,255,255,.8)}.v22 .ab2 .ab2-belt{stroke:#161616}.v22 .hz-art .ab-txt{fill:rgba(255,255,255,.68)}
  .v22 .frm-ic > *{stroke:rgba(255,255,255,.8)}.v22 .lc-light{opacity:0}.v22 .hc-needle{transform:rotate(80deg)}
}

.v22 .hz-cue{position:absolute;left:50%;bottom:0;z-index:1;display:flex;align-items:flex-start;justify-content:center;width:44px;height:17px;margin-left:-22px;color:rgba(255,255,255,.75);text-decoration:none}
.v22 .hz-cue .icon{width:18px;height:18px;margin-top:-3px;stroke:currentColor;animation:hz-nudge 1.4s ease-in-out 2.4s 3}
@keyframes hz-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
.v22 .hz-cta .btn .icon{margin:0 0 0 2px}
@media (min-width:901px){.v22 .hz-cue{display:none}}
@media (prefers-reduced-motion:reduce){.v22 .hz-cue .icon{animation:none}}
