
:root { --aire: clamp(64px, 7vw, 112px); }
.emp-year, .emp-hero h1 { margin: 0; }

.emp-hero .hero__top h1 { max-width: none; font-size: var(--t1); line-height: .98; letter-spacing: -.03em; color: var(--on-chapter); }
.emp-hero .hero__top .emp-hero__stmt { max-width: 36em; font-size: var(--t4); font-weight: 400; line-height: 1.5; color: var(--on-chapter); }
.emp-hero .hero__actions .button { min-height: 52px; padding-inline: 32px; }
.emp-chip { display: inline-flex; align-items: center; gap: 8px; }
.emp-hero .hero__foot { align-items: center; justify-content: flex-end; padding-bottom: clamp(24px, 3.4vw, 48px); }
.emp-hero .hero__meta { padding-bottom: 0; }
@media (max-width: 820px) { .emp-hero .hero__top h1 { letter-spacing: -.02em; line-height: 1.02; } .emp-hero .hero__foot { justify-content: flex-start; } }
@media (max-width: 599px) { .emp-hero .hero__top h1 { font-size: var(--t2); } }

.emp-year { font-variant-numeric: tabular-nums; color: #fff; line-height: .9; font-weight: 500; display: grid; justify-items: end; }
.emp-year > span { grid-area: 1 / 1; line-height: .9; }

.emp-year__n { display: none; }
.js .emp-year__n { display: block; }
.js .emp-year__n, .js .emp-year__h { transition: opacity 400ms var(--ease-out); }
.js .emp-year__h { opacity: 0; }
.js .emp-year.is-hoy .emp-year__h { opacity: 1; }
.js .emp-year.is-hoy .emp-year__n { opacity: 0; }
.emp-tray .pin { --yf: var(--t1); }
.emp-tray__stage { position: relative; z-index: 1; }
.emp-cota path { fill: none; stroke: #fff; stroke-width: 3; stroke-linecap: butt; stroke-linejoin: round; stroke-dasharray: 1; }

.emp-cota .s1 { stroke: var(--cian); stroke-dashoffset: calc(1 - var(--s1, 0)); opacity: min(1, calc(var(--s1, 0) * 1000)); }
.emp-cota .s2 { stroke: var(--magenta); stroke-dashoffset: calc(1 - var(--s2, 0)); opacity: min(1, calc(var(--s2, 0) * 1000)); }
.emp-cota .s3 { stroke: var(--amarillo); stroke-dashoffset: calc(1 - var(--s3, 0)); opacity: min(1, calc(var(--s3, 0) * 1000)); }
.emp-cota .sx { stroke-dashoffset: calc(1 - var(--ex, 0)); opacity: min(1, calc(var(--ex, 0) * 1000)); }
.emp-cota__f path { stroke-dasharray: none; stroke-linecap: round; stroke-linejoin: round; opacity: clamp(0, calc((var(--ex, 0) - .9) * 10), 1); }
.emp-rail { display: none; }
.emp-hitos { display: grid; align-items: start; }
.emp-hito { grid-area: 1 / 1; }
.emp-hito p { margin: 0; font-size: var(--t3); line-height: 1.35; color: var(--on-chapter-2); }
.emp-hito__r { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.emp-hito--hoy p { line-height: 1.3; color: #fff; font-weight: 400; }
.emp-acento { color: var(--accent-on-azul); --acento-base: #fff; }
@media (prefers-reduced-motion: no-preference) {
  .js .emp-tray .emp-acento { --acento-base: #fff; --enc: 0; transition: --enc 1.1s var(--ease-in-out) .5s; }
  .js .emp-tray .emp-hito.is-now .emp-acento { --enc: 1; }
}
.emp-tray__video { margin-top: clamp(20px, 4svh, 32px); }

.js .emp-tray .emp-hito__in > p, .js .emp-tray .emp-hito__in > .emp-tray__video { opacity: 0; transform: translateY(18px); transition: opacity 500ms var(--ease-out), transform 500ms var(--ease-out); }
.js .emp-tray .emp-hito.is-now { position: relative; z-index: 2; }
.js .emp-tray .emp-hito.is-now .emp-hito__in > p, .js .emp-tray .emp-hito.is-now .emp-hito__in > .emp-tray__video { opacity: 1; transform: none; }
.js .emp-tray .emp-hito.is-out .emp-hito__in > p, .js .emp-tray .emp-hito.is-out .emp-hito__in > .emp-tray__video { opacity: 0; transform: translateY(-12px); animation: emp-sale 500ms var(--ease-out) both; }
.js .emp-tray .emp-hito--hoy:not(.is-now) .emp-tray__video { visibility: hidden; }
@keyframes emp-sale { 0% { opacity: 1; transform: none; } 40% { opacity: .7; transform: translateY(-12px); } 100% { opacity: 0; transform: translateY(-12px); } }

.emp-mapa { position: absolute; z-index: 0; pointer-events: none; }
.emp-mapa svg { display: block; width: 100%; height: 100%; overflow: visible; }
.emp-mapa path, .emp-mapa__o { fill: none; stroke: #fff; stroke-opacity: .22; stroke-width: 1.5px; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.emp-mapa path { stroke-dasharray: 1; stroke-dashoffset: 1; }

.emp-mapa .m-pais { stroke-opacity: .34; stroke-width: 1px; stroke-linejoin: round; }
.emp-mapa .m-arg { stroke-opacity: .9; stroke-width: 1.8px; }
.emp-mapa__o { opacity: 0; }

.emp-mapa__pt { position: absolute; left: 72.9%; top: 70.1%; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: var(--cian); }
.emp-mapa__pt::before { content: ""; position: absolute; left: 50%; top: 50%; width: 48px; height: 48px; margin: -24px 0 0 -24px; border-radius: 50%; background: var(--cian); opacity: .4; }
.js .emp-mapa:not(.is-vivo) .emp-mapa__pt::before { opacity: 0; }
.js .emp-mapa.is-vivo .emp-mapa__pt::before { animation: emp-late 900ms var(--ease-out) both; }
@keyframes emp-late { 0% { transform: scale(.2); opacity: 0; } 55% { transform: scale(1.25); opacity: .4; } 100% { transform: scale(1); opacity: .4; } }
.emp-mapa__r { position: absolute; padding: 2px 8px; background: var(--chapter); color: #fff; font-size: var(--t5); font-weight: 500; line-height: 1.3; white-space: nowrap; }
.emp-mapa__r--2 { opacity: 0; transition: opacity 480ms var(--ease-out); }
.emp-mapa__r--2.is-on { opacity: 1; }
@media (min-width: 821px) {
  .emp-tray .pin { padding: calc(var(--nav-h) + 24px) var(--m) clamp(24px, 4svh, 48px); display: flex; flex-direction: column; justify-content: flex-start; }
  .emp-mapa { --mt: calc(var(--nav-h) + var(--yf) * .9 + 160px); right: var(--m); top: var(--mt); height: calc(100svh - var(--mt) - 3svh); aspect-ratio: 1; }
  .emp-mapa__r--1 { left: 72.9%; top: 70.1%; transform: translate(17px, -50%); }
  .emp-mapa__r--2 { left: 59.5%; top: 74.7%; transform: translate(-100%, -50%); }
  .emp-tray__stage { display: flex; flex-direction: column; gap: clamp(8px, 1.6svh, 20px); }
  .emp-tray h2 { margin: 0; }
  .emp-cota { position: relative; height: calc(var(--yf) * .9 + 68px); --W: 90%; }
  .emp-year { position: absolute; top: 0; left: calc(var(--lp, 0) * var(--W)); transform: translateX(calc(var(--lp, 0) * -100%)); font-size: var(--yf); margin: 0; white-space: nowrap; }
  .emp-cota__h { position: absolute; left: 0; width: 100%; top: calc(var(--yf) * .9 + 8px); height: 24px; overflow: visible; }
  .emp-cota__f { position: absolute; top: calc(var(--yf) * .9 + 8px); right: 0; width: 28px; height: 24px; overflow: visible; }
  .emp-tick { --tc: var(--cian); position: absolute; top: calc(var(--yf) * .9 + 8px - 6px); left: calc(var(--k) * var(--W)); margin-left: -1.5px; width: 0; height: 36px; border-left: 3px solid var(--tc); transform-origin: 50% 0; transform: scaleY(0); transition: transform 320ms var(--ease-out); }
  .emp-tick:nth-of-type(2) { --tc: var(--magenta); } .emp-tick:nth-of-type(3), .emp-tick:nth-of-type(4) { --tc: var(--amarillo); }
  .emp-tick.is-on { transform: scaleY(1); }
  .emp-tick b { position: absolute; top: 42px; left: -1px; font-size: var(--t4); font-weight: 500; line-height: 1; color: #fff; opacity: .75; transition: opacity 320ms var(--ease-out); }
  .emp-tick.is-on b { opacity: 1; }
  .emp-hitos { width: calc(100% * 6 / 12 - 12px); margin-top: clamp(4px, 1.2svh, 16px); }
}
@media (max-width: 820px) {
  .emp-tray .pin-wrap { --pin-alto: 300svh !important; }
  .js .emp-tray .pin-wrap { height: var(--pin-alto); }
  .js .emp-tray .pin { position: sticky; top: 0; height: 100svh; min-height: 0; overflow: hidden; }
  .emp-tray .pin { padding: calc(var(--nav-h) + 16px) var(--m) 0; }
  .emp-tray__stage { display: grid; grid-template-columns: 72px minmax(0, 1fr); grid-template-rows: auto auto minmax(46svh, auto); column-gap: 8px; }
  .emp-tray h2 { grid-column: 1 / -1; margin: 0 0 10px; }
  .emp-cota { display: contents; }
  .emp-year { grid-column: 1 / -1; margin: 0 0 24px; font-size: var(--t1); }
  .emp-cota__h, .emp-cota__f, .emp-tick { display: none; }
  .emp-rail { display: block; position: relative; grid-column: 1; grid-row: 3; }
  .emp-rail svg { filter: none; }
  .emp-cota__v { position: absolute; top: 0; left: -12px; width: 24px; height: 100%; overflow: visible; }
  .emp-rt { --tc: var(--cian); position: absolute; left: -1.5px; top: calc(var(--k) * 100%); width: 36px; height: 0; border-top: 3px solid var(--tc); transform-origin: left; transform: scaleX(0); transition: transform 320ms var(--ease-out); }
  .emp-rt:nth-of-type(2) { --tc: var(--magenta); } .emp-rt:nth-of-type(3), .emp-rt:nth-of-type(4) { --tc: var(--amarillo); }
  .emp-rt.is-on { transform: none; }
  .emp-rt b { position: absolute; left: 6px; bottom: 6px; font-size: var(--t5); font-weight: 500; line-height: 1; color: #fff; opacity: .75; transition: opacity 320ms var(--ease-out); }
  .emp-rt.is-on b { opacity: 1; }
  .emp-hitos { grid-column: 2; grid-row: 3; }
  .emp-hito--hoy p { line-height: 1.3; }
  .emp-tray__video { margin-top: 20px; }
  .emp-mapa { left: 10%; width: 80%; bottom: 3svh; aspect-ratio: 1; }
  .emp-mapa .m-pais { stroke-opacity: .2; } .emp-mapa .m-arg { stroke-opacity: .55; } .emp-mapa__o { stroke-opacity: .14; }
  .emp-mapa__r--1 { left: 72.9%; top: 70.1%; transform: translate(calc(-100% - 17px), -50%); }
  .emp-mapa__r--2 { left: 50%; top: 36%; transform: translate(-50%, -50%); }
}
@media (prefers-reduced-motion: reduce) {
  .emp-tray .pin-wrap { --s1: 1; --s2: 1; --s3: 1; --lp: 1; --ex: 1; }
  .emp-mapa path { stroke-dashoffset: 0; }
  .emp-mapa__r--2 { opacity: 1; transition: none; }
  .js .emp-tray .pin-wrap { height: auto; }
  .js .emp-tray .pin { position: relative; height: auto; min-height: 100svh; overflow: visible; padding-bottom: 64px; }
  .js .emp-year__n { display: none; }
  .js .emp-year__h { opacity: 1; transition: none; }
  .emp-hitos { display: flex; flex-direction: column; gap: 28px; }
  .js .emp-tray .emp-hito__in > p, .js .emp-tray .emp-hito__in > .emp-tray__video, .js .emp-tray .emp-hito.is-out .emp-hito__in > p, .js .emp-tray .emp-hito.is-out .emp-hito__in > .emp-tray__video { opacity: 1; transform: none; animation: none; transition: none; }
  .js .emp-tray .emp-hito--hoy:not(.is-now) .emp-tray__video { visibility: visible; }
  .emp-hito__r { position: static; width: auto; height: auto; clip-path: none; display: block; margin-bottom: 6px; }
  .emp-tick, .emp-rt { transition: none; }
  .emp-mapa__pt::before { animation: none !important; opacity: .4 !important; }
}
}

.emp-planta { padding: 0; }
.emp-esc--a { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--gap); padding: calc(var(--nav-h) + 28px) var(--m) var(--aire); }
.emp-planta__head { grid-area: 1 / 1 / 2 / 5; align-self: start; z-index: 2; }
.emp-planta__head h2 { margin: 0 0 clamp(10px, 2svh, 22px); }
.emp-planta__intro { margin: 0; max-width: 30ch; font-size: var(--t4); line-height: 1.5; color: var(--text); }
.emp-ring { position: relative; grid-area: 1 / 5 / 2 / 12; place-self: start center; --D: max(300px, min(520px, 66svh, 46vw)); width: var(--D); height: var(--D); margin-top: max(0px, calc(20svh - var(--nav-h) - 28px)); }
.emp-ring__fig { position: absolute; inset: 0; }
.emp-ring__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.emp-ring__base, .emp-ring__t, .emp-ring__pul, .emp-ring__ola { fill: none; stroke-width: 4px; }
.emp-ring__base { stroke: #DCE6F2; }
.emp-ring__t { stroke: var(--ink); stroke-linecap: butt; }
.emp-ring__pul { stroke-linecap: round; opacity: 0; }
.emp-ring__pul--c { stroke: var(--cian); } .emp-ring__pul--m { stroke: var(--magenta); } .emp-ring__pul--y { stroke: var(--amarillo); }
.emp-ring__ola { stroke: var(--cian); opacity: 0; transform-box: fill-box; transform-origin: center; }
.emp-ring__mk circle { fill: #fff; stroke: #C9D8EA; stroke-width: 3px; vector-effect: non-scaling-stroke; transition: fill 320ms var(--ease-out), stroke 320ms var(--ease-out); }
.emp-ring__mk.is-on circle { fill: var(--ink); stroke: var(--ink); }
.emp-est { list-style: none; margin: 0; padding: 0; }
.emp-est li { font-size: var(--t4); line-height: 1.2; font-weight: 500; color: #557699; transition: color 320ms var(--ease-out); }
.emp-est li.is-on { color: var(--ink); }
.emp-ring__fin, .emp-ring__nom { position: absolute; left: 50%; top: 50%; width: 70%; margin: 0; text-align: center; color: var(--ink); transform: translate(-50%, -50%); }
.emp-ring__nom { display: none; opacity: 0; transition: opacity 170ms var(--ease-out); }
.emp-ring__nom.is-on { opacity: 1; }
.js .emp-ring__fin { opacity: 0; transform: translate(-50%, calc(-50% + 14px)); transition: opacity 300ms var(--ease-out), transform 300ms var(--ease-out); }
.js .emp-ring__fin.is-on { opacity: 1; transform: translate(-50%, -50%); }
@media (min-width: 821px) {
  .emp-est li { position: absolute; left: calc(var(--x) * 1%); top: calc(var(--y) * 1%); white-space: nowrap; }
  .emp-est .is-t { transform: translate(-50%, calc(-100% - 40px)); }
  .emp-est .is-b { transform: translate(-50%, 40px); }
  .emp-est .is-r { transform: translate(42px, -50%); }
  .emp-est .is-l { transform: translate(calc(-100% - 42px), -50%); text-align: right; }
}

.emp-esc--b { --ink: var(--on-chapter); --text: var(--on-chapter-2); color: var(--on-chapter-2); background: var(--chapter); padding: var(--aire) var(--m); }
.emp-b__fila { position: relative; display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--gap); align-items: end; padding-bottom: 28px; }
.emp-cif { grid-column: 1 / 7; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; margin: 0; align-items: end; }
.emp-cif dt { margin: 0; font-size: var(--t1); font-weight: 400; line-height: .95; letter-spacing: -.02em; color: #fff; font-variant-numeric: tabular-nums; white-space: nowrap; }
.emp-cif dd { margin: 12px 0 0; font-size: var(--t4); line-height: 1.35; color: var(--on-chapter-2); }
.emp-zona__txt { grid-column: 7 / 12; display: flex; flex-direction: column; align-items: flex-start; gap: clamp(14px, 2.2svh, 22px); }
.emp-zona__dir { margin: 0; font-size: var(--t3); font-weight: 500; line-height: 1.25; color: #fff; }
.emp-zona__p { margin: 0; max-width: 42ch; font-size: var(--t4); line-height: 1.55; color: var(--on-chapter-2); }
.emp-planta .emp-esc--b .button { background: #fff; color: var(--brand); }
@media (hover: hover) and (pointer: fine) { .emp-planta .emp-esc--b .button:hover { background: #E3EDF8; } }

.emp-b__ancla { position: absolute; left: 0; right: 0; bottom: 0; height: 0; border-top: 3px solid #fff; }
.emp-pinx { position: absolute; right: 0; bottom: -4px; width: 40px; height: 56px; overflow: visible; }
.emp-pin__g path { fill: var(--accent); }
.emp-pin__g circle { fill: #fff; }
.emp-pin__o { fill: none; stroke: var(--accent); stroke-width: 3px; opacity: 0; transform-box: fill-box; transform-origin: center; vector-effect: non-scaling-stroke; }
.emp-ov { display: none; }
@keyframes emp-cae { 0% { opacity: 0; transform: translateY(-70px); } 40% { opacity: 1; } 100% { opacity: 1; transform: none; } }
@keyframes emp-aro { 0% { opacity: .85; transform: scale(.5); } 100% { opacity: 0; transform: scale(3.4); } }
@media (prefers-reduced-motion: no-preference) {
  .js .emp-planta .pin-wrap { height: var(--pin-alto, 460svh); }
  .js .emp-planta .pin { position: sticky; top: 0; height: 100svh; min-height: 0; overflow: hidden; }
  .js .emp-esc { position: absolute; inset: 0; pointer-events: none; }
  .js .emp-esc--b .button, .js .emp-esc--a .emp-ring, .js .emp-esc--a .emp-planta__head { pointer-events: auto; }
  .js .emp-esc--a { z-index: 2; }
  .js .emp-esc--b { z-index: 1; background: transparent; display: grid; align-content: center; padding: calc(var(--nav-h) + 24px) var(--m) 12svh; }
  .js .emp-b__ancla { border-top: 0; }

  .js .emp-ov { display: block; position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; visibility: hidden; overflow: visible; --lc: var(--ink); }
  .js .emp-planta[data-tono="azul"] .emp-ov { --lc: #fff; }
  .js .emp-planta.is-ov .emp-ov { visibility: visible; }
  .js .emp-planta.is-ov .emp-ring__svg { visibility: hidden; }
  .js .emp-ring { transition: visibility 0s linear 0s; }
  .js .emp-planta.is-ov .emp-ring { visibility: hidden; transition: visibility 0s linear 320ms; }
  .emp-ov__l { fill: none; stroke: var(--lc); stroke-width: 3px; stroke-linejoin: round; transition: stroke 320ms linear; }
  .emp-ov__t rect { fill: var(--lc); transition: fill 320ms linear; }

  .js .emp-est, .js .emp-planta__head { transition: opacity 250ms linear; }
  .js .emp-esc--a.is-desenrolla .emp-est, .js .emp-esc--a.is-desenrolla .emp-ring__fin, .js .emp-esc--a.is-desenrolla .emp-ring__nom { opacity: 0; }
  .js .emp-planta__head.is-quita { opacity: 0; }

  .js .emp-planta [data-z] { opacity: 0; transform: translateY(14px); visibility: hidden; transition: opacity 300ms var(--ease-out), transform 300ms var(--ease-out), visibility 0s linear 300ms; }
  .js .emp-planta [data-z].is-on { opacity: 1; transform: none; visibility: visible; transition: opacity 450ms var(--ease-out) 450ms, transform 450ms var(--ease-out) 450ms, visibility 0s linear 450ms; }
  .js .emp-pinx { visibility: hidden; }
  .js .emp-pinx.is-pin { visibility: visible; }
  .js .emp-pin__g { opacity: 0; }
  .js .emp-pinx.is-pin .emp-pin__g { animation: emp-cae 650ms cubic-bezier(.3, 1.4, .5, 1) 0ms both; }
  .js .emp-pinx.is-pin .emp-pin__o { animation: emp-aro 900ms ease-out 2 both; }
  .js .emp-pinx.is-pin .emp-pin__o--1 { animation-delay: 600ms; } .js .emp-pinx.is-pin .emp-pin__o--2 { animation-delay: 800ms; }
}
@media (max-width: 820px) {
  .emp-esc--a { display: block; padding: calc(var(--nav-h) + 16px) var(--m) 48px; }
  .emp-planta__intro { max-width: none; }
  .emp-ring { --D: min(320px, calc(100vw - 2 * var(--m) - 8px)); margin: 24px auto 0; }
  .emp-ring__mk circle { r: 11px; }
  .emp-est { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .emp-ring__nom { display: block; }
  .emp-ring__fin { width: 66%; font-size: var(--t4); line-height: 1.35; }
  .emp-ring__nom { font-size: var(--t3); font-weight: 500; }
  .emp-esc--b { padding: var(--aire) var(--m); }
  .emp-b__fila { display: flex; flex-direction: column; align-items: stretch; gap: 16px; padding: 0 0 0 40px; }
  .emp-cif { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .emp-cif dt { font-size: var(--t2); }
  .emp-cif dd { margin-top: 4px; font-size: var(--t5); line-height: 1.3; }
  .emp-zona__txt { gap: 14px; }
  .emp-zona__p { max-width: none; }
  .emp-b__ancla { right: auto; top: 0; bottom: 0; width: 0; height: auto; border-top: 0; border-left: 3px solid #fff; }
  .emp-pinx { right: auto; left: -20px; bottom: -4px; }
}
@media (max-width: 820px) and (prefers-reduced-motion: no-preference) {
  .js .emp-esc--b { display: flex; flex-direction: column; justify-content: flex-end; padding: calc(var(--nav-h) + 16px) var(--m) 24px; }
  .js .emp-b__ancla { border-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .js .emp-planta .pin-wrap { height: auto; }
  .js .emp-planta .pin { position: relative; height: auto; overflow: visible; }
  .emp-ring__nom { display: none; }
  .emp-ring__pul, .emp-ring__ola { display: none; }
  .emp-est li, .emp-ring__mk circle { transition: none; }
}

.emp-cult { padding: 0; }
.emp-cult .pin { display: flex; align-items: center; padding: calc(var(--nav-h) + 48px) 0 7vw; }
.emp-cult__in { margin-block: auto; }
.emp-cult__in { width: 100%; display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--gap); row-gap: clamp(24px, 5svh, 56px); padding: 0 var(--m); align-items: start; }
.emp-cult__head { grid-column: 1 / 5; grid-row: 1; display: flex; flex-direction: column; gap: 20px; }
.emp-cult__head h2 { margin: 0; }
.emp-cult__intro { margin: 0; max-width: 24ch; font-size: var(--t4); line-height: 1.5; color: var(--on-chapter-2); }

.emp-valores { grid-column: 5 / 13; grid-row: 1; list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 14px 12px; align-content: flex-start; }
.emp-cult__lema { grid-column: 1 / 10; grid-row: 2; margin: 0; color: #fff; }
.emp-cult__sint { grid-column: 1 / 8; grid-row: 3; margin: 0; max-width: 60ch; font-size: var(--t4); line-height: 1.5; color: #8FB3DA; }
.emp-val { --cb: #fff; --cf: #004381; display: inline-flex; align-items: center; gap: 12px; min-height: 56px; padding: 0 28px 0 20px; border-radius: 999px; background: var(--cb); color: var(--cf); font-size: var(--t3); font-weight: 500; line-height: 1.2; transition: transform 180ms var(--ease-out); }
.emp-val--cian { --cb: #2D82C9; --cf: #00142A; } .emp-val--magenta { --cb: #D33481; --cf: #fff; } .emp-val--amarillo { --cb: #FAD32C; --cf: #001A33; }
.emp-val--naranja { --cb: #F47F4F; --cf: #001A33; } .emp-val--celeste { --cb: #8FB3DA; --cf: #001A33; } .emp-val--acento { --cb: #0092FF; --cf: #001A33; } .emp-val--blanco { --cb: #fff; --cf: #004381; }
.emp-val__i { width: 22px; height: 22px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@media (hover: hover) and (pointer: fine) { .emp-val:hover { transform: translateY(-2px); } }
@keyframes emp-dib { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes emp-m-esc { from { opacity: 0; transform: scale(.9); } }
@keyframes emp-m-pop { from { opacity: 0; transform: scale(.6); } }
@keyframes emp-m-vel { from { opacity: 1; clip-path: inset(0 100% 0 0 round 999px); } to { opacity: 1; clip-path: inset(0 0 0 0 round 999px); } }
@keyframes emp-m-trazo { 0% { opacity: 0; clip-path: inset(0 calc(100% - 48px) 0 0 round 999px); } 10% { opacity: 1; } 60% { opacity: 1; clip-path: inset(0 calc(100% - 48px) 0 0 round 999px); } 100% { opacity: 1; clip-path: inset(0 0 0 0 round 999px); } }
@media (prefers-reduced-motion: no-preference) {
  .js .emp-val { opacity: 0; }
  .js .emp-val.is-on { opacity: 1; animation: var(--mv, emp-m-esc) 640ms var(--ease-out) var(--d, 0ms) both; }
  .js .emp-val[data-m="izq"] { --mv: emp-m-izq; } .js .emp-val[data-m="der"] { --mv: emp-m-der; } .js .emp-val[data-m="aba"] { --mv: emp-m-aba; } .js .emp-val[data-m="arr"] { --mv: emp-m-arr; }
  .js .emp-val[data-m="esc"] { --mv: emp-m-esc; } .js .emp-val[data-m="giro"] { --mv: emp-m-giro; } .js .emp-val[data-m="volt"] { --mv: emp-m-volt; transform-origin: 50% 0; }
  .js .emp-val[data-m="pop"].is-on { animation: emp-m-pop 600ms cubic-bezier(.34, 1.56, .64, 1) var(--d, 0ms) both; }
  .js .emp-val[data-m="vel"].is-on { animation: emp-m-vel 700ms var(--ease-out) var(--d, 0ms) both; }
  .js .emp-val[data-m="trazo"].is-on { animation: emp-m-trazo 1000ms var(--ease-out) var(--d, 0ms) both; }
  .js .emp-val__i * { stroke-dasharray: 1; stroke-dashoffset: 1; }
  .js .emp-val.is-on .emp-val__i * { animation: emp-dib 700ms var(--ease-out) calc(var(--d, 0ms) + 220ms) both; }
  .js .emp-val[data-m="trazo"].is-on .emp-val__i * { animation-delay: calc(var(--d, 0ms) + 120ms); }
  .js .emp-cult__lema, .js .emp-cult__sint { opacity: 0; transform: translateY(16px); transition: opacity 500ms var(--ease-out), transform 500ms var(--ease-out); }
  .js .emp-cult__lema.is-on, .js .emp-cult__sint.is-on { opacity: 1; transform: none; }
}
@media (max-width: 820px) {
  .js .emp-cult .pin-wrap { height: auto; }
  .js .emp-cult .pin { position: relative; height: auto; overflow: visible; display: block; padding: var(--aire) 0 40px; }
  .emp-cult__in { margin-block: 0; }
  .emp-cult__in { display: flex; flex-direction: column; row-gap: 28px; }
  .emp-cult__head { gap: 14px; }
  .emp-cult__intro { max-width: none; font-size: var(--t4); }
  .emp-valores { display: flex; flex-wrap: wrap; gap: 10px; }
  .emp-val { font-size: var(--t4); padding: 0 18px 0 12px; gap: 8px; min-height: 48px; }
  .emp-val__i { width: 20px; height: 20px; }
  .emp-cult__sint { max-width: none; }
  .emp-cult__lema { margin-top: var(--pausa); }
}
@media (prefers-reduced-motion: reduce) {
  .js .emp-cult .pin-wrap { height: auto; }
  .js .emp-cult .pin { position: relative; height: auto; overflow: visible; padding-block: var(--aire); }
}

.emp-cal { padding: clamp(72px, 9vw, 128px) 0; }
.emp-cal__in { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--gap); padding: 0 var(--m); align-items: end; }
.emp-dna { grid-column: 7 / 13; grid-row: 1; justify-self: end; position: relative; width: min(100%, calc(70svh * 500 / 560)); aspect-ratio: 500 / 560; }
.emp-dna svg { position: absolute; left: 0; top: -160px; display: block; width: 100%; height: calc(100% + 320px); overflow: visible; pointer-events: none;

  -webkit-mask-image: linear-gradient(to bottom, transparent 0, rgba(0, 0, 0, .3) 56px, #000 160px, #000 calc(100% - 160px), rgba(0, 0, 0, .3) calc(100% - 56px), transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0, rgba(0, 0, 0, .3) 56px, #000 160px, #000 calc(100% - 160px), rgba(0, 0, 0, .3) calc(100% - 56px), transparent 100%); }
.js .emp-dna__rl, .js .emp-dna__n { opacity: 0; transition: opacity 300ms var(--ease-out), stroke-opacity 320ms var(--ease-out); }
.js .emp-dna__rl.is-v, .js .emp-dna__n.is-v { opacity: 1; }
.js .emp-dna__l li { opacity: 0; transition: color 320ms var(--ease-out), opacity 300ms var(--ease-out); }
.js .emp-dna__l li.is-on { opacity: 1; }
.emp-dna__h, .emp-dna__rl { stroke: var(--ink); stroke-linecap: round; }
.emp-dna__n { fill: var(--ink); stroke: var(--ink); }
.emp-dna__n.is-lab { fill: #fff; }
.emp-dna__n.is-lab.is-on { fill: var(--accent); }
.emp-dna__rl { stroke-opacity: .6; transition: stroke-opacity 320ms var(--ease-out); }
.emp-dna__rl.c1 { stroke: var(--magenta); } .emp-dna__rl.c2 { stroke: #E9BC0A; }
.emp-dna__rl.is-lab.is-on { stroke-opacity: 1; }
.emp-dna__l { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; pointer-events: none; }
.emp-dna__l li { position: absolute; left: 59%; top: calc(var(--y) * 1%); transform: translateY(-50%); white-space: nowrap; color: #557699; transition: color 320ms var(--ease-out); }
.emp-dna__l li.is-on { color: var(--ink); }
.emp-cal__txt { grid-column: 1 / 7; grid-row: 1; display: flex; flex-direction: column; gap: clamp(16px, 2vw, 28px); }
.emp-cal__txt h2 { margin: 0; }
.emp-cal__stmt { margin: 0; font-weight: 400; line-height: 1.35; color: var(--ink); }
.emp-cal__fila { display: flex; flex-direction: column; gap: clamp(20px, 2.6vw, 36px); }
.emp-cal__p { margin: 0; max-width: 60ch; font-size: var(--t4); line-height: 1.55; color: var(--text); }
.emp-cal__iso { margin: 0; display: flex; flex-direction: row; align-items: flex-end; flex-wrap: wrap; gap: 12px clamp(20px, 2.4vw, 36px); }
.emp-cal__iso img { display: block; width: clamp(260px, 24vw, 340px); max-width: 100%; height: auto; }
.emp-cal__rot { font-size: var(--t3); font-weight: 500; line-height: 1; color: #004381; padding-bottom: 6px; }
@media (max-width: 820px) {
  .emp-cal { padding: max(var(--aire), var(--pausa)) 0 calc(var(--aire) * .6); }
  .emp-dna { grid-column: auto; grid-row: auto; justify-self: auto; margin-block: 104px; }
  .emp-cal__in { display: flex; flex-direction: column; row-gap: 32px; align-items: stretch; }
  .emp-cal__txt { display: contents; }
  .emp-cal__txt > h2 { order: 0; } .emp-cal__stmt { order: 1; } .emp-dna { width: min(100%, 420px); margin-inline: auto; order: 2; } .emp-cal__fila { order: 3; }
}

.emp-sust { padding: 0 0 clamp(72px, 9vw, 128px); }
.emp-sust__in { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--gap); padding: 0 var(--m); align-items: center; }
@media (min-width: 821px) { .emp-sust__in { min-height: min(100svh, 880px); } .emp-arb svg { height: 76svh; max-height: 780px; } }

@media (min-width: 821px) and (prefers-reduced-motion: no-preference) {
  .js .emp-sust .pin-wrap { height: var(--pin-alto, 140svh); }
  .js .emp-sust .pin { position: sticky; top: 0; height: 100svh; min-height: 0; overflow: hidden; display: flex; align-items: center; }
  .js .emp-sust__in { width: 100%; min-height: 0; padding-top: calc(var(--nav-h) * .6); }
}
.emp-sust__txt { grid-column: 1 / 7; display: flex; flex-direction: column; gap: clamp(18px, 2.2vw, 28px); }
.emp-sust__txt h2 { margin: 0; }
.emp-sust__stmt { margin: 0; font-weight: 400; line-height: 1.35; color: var(--ink); max-width: 24em; }
.emp-sust__txt p { margin: 0; max-width: 54ch; font-size: var(--t4); line-height: 1.55; color: var(--text); }
.emp-sust__txt p.t3 { font-size: var(--t3); }
.emp-arb { grid-column: 7 / 13; width: 100%; align-self: center; }
.emp-arb svg { display: block; width: 100%; height: auto; overflow: visible; }
.emp-arb path[data-a] { fill: none; stroke: var(--ink); stroke-width: var(--sw, 3); stroke-linecap: round; stroke-linejoin: round; }
.js .emp-arb path[data-a] { stroke-dasharray: 1; stroke-dashoffset: 1; }
.emp-hoja { fill: #2E8B57; }
.emp-hoja--l { fill: #6CC04A; }
.emp-hoja {  transform-box: fill-box; transform-origin: center; }
.js .emp-hoja { opacity: 0; transform: scale(.6); transition: opacity 300ms var(--ease-out), transform 380ms cubic-bezier(.34, 1.56, .64, 1); }
.js .emp-hoja.is-on { opacity: 1; transform: none; }
@media (max-width: 820px) {
  .emp-sust { padding-bottom: var(--aire); }
  .emp-sust__in { display: flex; flex-direction: column; row-gap: 28px; align-items: stretch; }
  .emp-sust__txt { display: contents; }
  .emp-sust__txt > h2 { order: 0; } .emp-sust__stmt { order: 1; } .emp-arb { order: 2; max-width: 440px; margin-inline: auto; } .emp-sust__txt > p:not(.emp-sust__stmt) { order: 3; }
}
@media (prefers-reduced-motion: reduce) { .js .emp-arb path[data-a] { stroke-dashoffset: 0; } .js .emp-hoja { opacity: 1; transform: none; transition: none; } .emp-dna__l li { transition: none; } }

.emp-equipo { padding: 0; background: var(--bg); }
.emp-eq__txt { position: absolute; z-index: 2; left: var(--m); top: 50%; transform: translateY(-50%); width: calc(52vw - var(--m) - 24px); }
.emp-eq__txt h2 { margin: 0 0 18px; }
.emp-equipo__p { margin: 0; max-width: 34ch; font-size: var(--t4); line-height: 1.55; color: var(--text); }
.emp-eq__cinta { position: absolute; left: 52vw; right: 0; top: 50%; height: 75svh; transform: translateY(-50%); overflow: hidden; }
.emp-eq__cinta .cfotos { --cf-w: 48vw; --cf-alto: 66svh; --cf-ar: 4 / 3; --cf-gap: var(--gap); --cf-pad: 0px; --cf-llega: .85; --cf-suave: 1; }
@media (prefers-reduced-motion: no-preference) {
  .js .emp-equipo .pin-wrap { height: var(--pin-alto, 270svh); }
  .js .emp-equipo .pin { position: sticky; top: 0; height: 100svh; min-height: 0; overflow: hidden; }
}
@media (max-width: 820px) {
  .emp-eq__txt { left: var(--m); right: var(--m); width: auto; top: calc(var(--nav-h) + 20px); transform: none; }
  .emp-eq__txt h2 { margin-bottom: 12px; }
  .emp-equipo__p { max-width: none; }
  .emp-eq__cinta { left: 0; top: auto; bottom: 6svh; height: 42svh; transform: none; }
  .emp-eq__cinta .cfotos { --cf-w: 100vw; --cf-alto: 37svh; }
}
@media (prefers-reduced-motion: reduce) {
  .js .emp-equipo .pin-wrap { height: auto; }
  .js .emp-equipo .pin { position: relative; height: auto; min-height: 0; overflow: visible; display: flex; flex-direction: column; padding: var(--aire) var(--m); }
  .emp-eq__txt { position: static; transform: none; width: auto; }
  .emp-eq__cinta { position: static; transform: none; height: auto; overflow: visible; margin-top: 32px; }
}

.emp-hero .mask { padding-top: .12em; margin-top: -.12em; padding-bottom: .3em; margin-bottom: -.3em; }
