

.hero__top p { font-size: clamp(19px, 1.55vw, 22px); line-height: 1.45; color: var(--on-chapter); max-width: 56ch; }

.destacados > .cortina__in { position: relative; z-index: 4; height: 100%; }
.destacados { position: relative; height: 100svh; min-height: 600px; overflow: hidden; padding: 0; isolation: isolate; }
.dest__bg { position: absolute; inset: 0; z-index: 0; background: var(--chapter); }
.dest__capa { position: absolute; inset: 0; opacity: 0; transition: opacity 400ms var(--ease-out); }
.dest__capa.is-prev { opacity: 1; z-index: 1; }
.dest__capa.is-on { opacity: 1; z-index: 2; }
.dest__capa img, .dest__capa video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, 50% 50%); }
.dest__capa video { opacity: 0; transition: opacity 400ms var(--ease-out); }
.dest__capa video.is-play { opacity: 1; }
@keyframes dest-lento { from { scale: 1; } to { scale: 1.12; } }
@media (prefers-reduced-motion: no-preference) {
  .dest__capa--foto.is-on img { animation: dest-lento 18s linear both; }
  .destacados.is-quieto .dest__capa--foto.is-on img { animation-play-state: paused; }
}
.dest__velo { position: absolute; inset: 0; z-index: 3; pointer-events: none; background: linear-gradient(180deg, #00335F 0%, rgba(0,51,95,.6) 18%, rgba(0,51,95,0) 40%), linear-gradient(90deg, rgba(0,51,95,.82) 0%, rgba(0,51,95,.55) 30%, rgba(0,51,95,0) 55%);   }
.dest__velo::before { content: ""; position: absolute; inset: 0; background: rgba(0,51,95,.35);  }
.dest__in { position: relative; z-index: 4; height: 100%; box-sizing: border-box; padding: calc(var(--nav-h, 64px) + clamp(16px, 4svh, 48px)) var(--m) clamp(56px, 8svh, 88px); display: flex; flex-direction: column; align-items: flex-start; }
.dest__in h2 { margin: 0; max-width: 8.5em; font-size: clamp(48px, min(8vw, 13svh), 128px); color: var(--on-chapter); }
.dest__lista { list-style: none; margin: clamp(20px, 4svh, 48px) 0 0; padding: 0; display: flex; flex-direction: column; align-items: flex-start; gap: clamp(2px, .6svh, 8px); }
.dest__btn { display: inline-block; padding: 4px 0; color: #fff; text-decoration: none; font-size: clamp(28px, min(4.4vw, 7.4svh), 64px); font-weight: 400; line-height: 1.08; transform-origin: 0 50%; transition: translate 250ms var(--ease-out), color 250ms ease; }
.dest__btn.is-act { color: var(--accent-on-azul, #2BA3FF); translate: 14px 0; }
.dest__btn:focus-visible { outline: 2px solid #fff; outline-offset: 6px; }
.dest__pausa { position: absolute; z-index: 4; right: var(--m); bottom: calc(var(--solape, 0px) + clamp(20px, 4svh, 40px)); margin: 0; }
.dest__pausa .textbtn { color: #fff; }
@media (max-width: 820px) {
  .destacados { min-height: 560px; }
  .dest__in { padding-top: calc(var(--nav-h, 64px) + 20px); padding-bottom: 72px; }
  .dest__in h2 { font-size: clamp(38px, 11.4vw, 56px); }
  .dest__btn { font-size: clamp(26px, 7.4vw, 32px); padding: 8px 0; min-height: 44px; }
  .dest__velo { background: linear-gradient(180deg, rgba(0,51,95,.78) 0%, rgba(0,51,95,.55) 55%, rgba(0,51,95,.2) 100%);  }
  .dest__pausa { left: var(--m); right: auto; }
}

.gal { padding: 24px var(--m) 8px; }
.gal h2#gal-t { margin: 0 0 clamp(40px, 4.5vw, 64px); font-size: var(--t2); }
.gal__rail { --gh: min(66svh, 640px); display: flex; gap: clamp(16px, 2vw, 28px); margin-inline: calc(-1 * var(--m)); padding: 0 var(--m) 20px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--m); scrollbar-width: thin; scrollbar-color: #004381 transparent; }
.gal__rail:focus-visible { outline: 2px solid var(--ink); outline-offset: -2px; }
.gal__f { --r: .75; flex: 0 0 calc(var(--gh) * var(--r)); margin: 0; scroll-snap-align: start; }
.gal__m { height: var(--gh); overflow: hidden; background: var(--bg-2); }
.gal__m img, .gal__m video { display: block; width: 100%; height: 100%; object-fit: cover; }
.gal__f figcaption { margin-top: 34px; font-size: var(--t5); font-weight: 500; line-height: 1.3; color: var(--text); }
.gal__f figcaption strong { font-weight: 500; color: var(--ink); margin-right: .35em; }
@media (prefers-reduced-motion: no-preference) { .js .gal__f.is-in .gal__m img { animation: perm-zoom 14s var(--ease-out) both; } }
.js .gal__f:not(.is-in) figcaption { visibility: hidden; }
.gal__nav { display: flex; gap: 12px; margin: 8px 0 0; }
.gal__nav button { width: 48px; height: 48px; border: 1.5px solid var(--ink); border-radius: 999px; background: transparent; color: var(--ink); cursor: pointer; display: grid; place-items: center; transition: background-color 180ms ease, color 180ms ease; }
.gal__nav svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; }
@media (hover: hover) and (pointer: fine) { .gal__nav button:hover { background: var(--ink); color: #fff; } }
html:not(.js) .gal__nav { display: none; }
@media (max-width: 820px) { .gal__rail { --gh: min(62svh, 480px); } .gal__f { flex-basis: calc(100vw - 2 * var(--m) - 28px); } .gal__m { height: auto; aspect-ratio: var(--r); } }

.proy-idx__mas { margin: 0; font-size: var(--t3); line-height: 1.25; font-weight: 500; color: var(--ink); text-wrap: balance; }
.proy-idx__mas a { color: var(--ink); }

.loc { padding: calc(var(--pausa) / 2) var(--m) 32px; }

.vl__m { aspect-ratio: 16 / 9; overflow: hidden; background: var(--bg-2); }
.vl__m video { display: block; width: 100%; height: 100%; object-fit: cover; }
.vl__f { margin: 0; }
.vl__f figcaption { margin-top: 30px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 14px; }
.vl__n { font-weight: 500; color: var(--ink); }
.vl__l { color: var(--text); }
.vl__rail { margin: clamp(28px, 3.4vw, 48px) calc(-1 * var(--m)) 0; padding: 0 var(--m) 20px; display: flex; gap: clamp(16px, 2vw, 28px); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--m); scrollbar-width: thin; scrollbar-color: #004381 transparent; }
.vl__rail:focus-visible { outline: 2px solid var(--ink); outline-offset: -2px; }
.vl__f--loc { flex: 0 0 calc((100vw - 2 * var(--m)) * .75); scroll-snap-align: start; }
.js .vl__f--loc:not(.is-in) figcaption { visibility: hidden; }
.vl__pausa { margin: 12px 0 0; font-size: var(--t5); font-weight: 500; }
.medida { padding: calc(var(--pausa) / 2) var(--m) calc(var(--pausa) / 2); }
.medida__p { margin: clamp(14px, 1.6vw, 24px) 0 0; max-width: 56ch; color: var(--on-chapter); }
.medida__par { margin-top: clamp(28px, 3.4vw, 48px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap); }
.medida .vl__n { color: var(--on-chapter); }
.medida .vl__l, .medida .vl__pausa .textbtn { color: var(--on-chapter-2); }
.medida .vl__pausa .textbtn { color: var(--on-chapter); }
@keyframes perm-zoom { from { scale: 1; } to { scale: 1.06; } }
@media (max-width: 820px) { .vl__f--loc { flex-basis: calc((100vw - 2 * var(--m)) * .92); } .medida__par { grid-template-columns: 1fr; } }

.marcas-az { padding: clamp(56px, 7vw, 88px) var(--m) 0; overflow: visible; }
.marcas-az .marcas__cinta { margin: clamp(32px, 4vw, 56px) calc(-1 * var(--m)) 0; overflow: hidden; }
.marcas-az .cinta--logos { padding: 20px var(--g) 20px 0; }
.marcas-az .cinta--logos img { filter: none; opacity: .9; transition: opacity var(--t-hover) linear; }
@media (hover: hover) and (pointer: fine) { .marcas-az .cinta--logos figure:hover img { opacity: 1; } }
.marcas-az .marcas__pausa { margin-top: 12px; font-size: var(--t5); font-weight: 500; }

.vl__full { flex-basis: 100%; margin-top: 6px; }
