/* Portada inspirada en la composición aprobada por el cliente. */
.flight {
  padding: 24px clamp(18px, 3.4vw, 64px) 30px;
  background: #050a09;
}
.flight-stage {
  height: calc(100svh - var(--header) - 54px);
  min-height: 580px;
  border-radius: clamp(42px, 6vw, 96px);
  overflow: hidden;
  box-shadow: 0 22px 60px #0005;
}
.scrub-enabled .flight-stage {
  top: calc(var(--header) + 24px);
}
.flight-picture img,
.flight-picture video {
  object-position: 62% center;
}
.flight-scrim {
  background:
    linear-gradient(90deg, #062f2be5 0%, #062f2bb3 29%, #062f2b54 51%, transparent 75%),
    linear-gradient(0deg, #092d2b75 0%, transparent 35%);
}
.flight-hero-logo {
  position: absolute;
  z-index: 3;
  top: clamp(26px, 4vw, 48px);
  left: clamp(34px, 5.5vw, 88px);
  width: clamp(220px, 25vw, 355px);
  filter: drop-shadow(0 1px 6px #f7f5e786);
  pointer-events: none;
}
.flight-hero-logo img {
  width: 100%;
  height: auto;
}
.flight-band {
  left: clamp(34px, 5.5vw, 88px);
  top: clamp(160px, 27%, 240px);
  width: min(52%, 720px);
  max-width: none;
  transform: none;
}
.flight-band h1,
.flight-band h2 {
  font-size: clamp(31px, 3.65vw, 58px);
  line-height: 1.1;
  max-width: 19ch;
  text-wrap: balance;
}
.flight-band h1 .hero-gold {
  color: #ebd39a;
}
.flight-band h1 br {
  display: initial;
}
.flight-band p {
  max-width: 41ch;
  margin-top: clamp(17px, 2vw, 28px);
  font-size: clamp(16px, 1.3vw, 19px);
}
.flight-band .button {
  margin-top: clamp(22px, 2.5vw, 34px);
  background: #ddc68c;
  border-color: #ddc68c;
  color: #123c35;
  box-shadow: 0 6px 30px #071f1d3b;
}
.flight-route {
  top: clamp(36px, 4.5vw, 54px);
  right: clamp(34px, 5.5vw, 88px);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .11em;
}
.film-controls {
  left: clamp(34px, 5.5vw, 88px);
  right: clamp(34px, 5.5vw, 88px);
  bottom: 23px;
}
.flight-scroll-cue {
  bottom: 35px;
}
.flight-progress {
  left: clamp(34px, 5.5vw, 88px);
  right: clamp(34px, 5.5vw, 88px);
  bottom: 14px;
}
.flight-loader {
  top: 28px;
  left: clamp(34px, 5.5vw, 88px);
}

@media (max-width: 1024px) and (orientation: portrait) {
  .flight {
    padding: 14px 16px 18px;
  }
  .flight-stage {
    height: calc(100svh - var(--header) - 32px);
    min-height: 0;
    border-radius: clamp(28px, 5vw, 48px);
  }
  .scrub-enabled .flight-stage {
    top: calc(var(--header) + 14px);
  }
  .flight-picture img,
  .flight-picture video {
    height: clamp(260px, 48svh, 480px);
    object-position: 68% center;
  }
  .flight-scrim {
    background: linear-gradient(180deg, #103a3450 0%, #103a3410 24%, #123c3594 46%, #123c35 65%);
  }
  .flight-hero-logo {
    top: 26px;
    left: 25px;
    width: clamp(175px, 34vw, 265px);
  }
  .flight-band {
    left: 26px;
    right: 26px;
    top: clamp(230px, 37svh, 375px);
    width: auto;
    max-width: 760px;
  }
  .flight-band h1,
  .flight-band h2 {
    font-size: clamp(27px, 5.2vw, 45px);
    max-width: 27ch;
  }
  .flight-band p {
    max-width: 46ch;
  }
  .flight-route {
    top: 33px;
    right: 28px;
  }
  .film-controls {
    left: 26px;
    right: 26px;
    bottom: 21px;
  }
  .flight-progress {
    left: 26px;
    right: 26px;
    bottom: 11px;
  }
  .flight-scroll-cue {
    bottom: 74px;
  }
}

@media (max-width: 720px) and (orientation: portrait) {
  .flight {
    padding: 10px 10px 14px;
  }
  .flight-stage {
    height: calc(100svh - var(--header) - 24px);
    border-radius: 32px;
  }
  .scrub-enabled .flight-stage {
    top: 10px;
  }
  .flight-picture img,
  .flight-picture video {
    height: clamp(255px, 45svh, 375px);
    object-position: 65% center;
  }
  .flight-hero-logo {
    top: 24px;
    left: 22px;
    width: clamp(172px, 49vw, 215px);
  }
  .flight-route {
    top: 88px;
    right: auto;
    left: 24px;
    font-size: 10px;
  }
  .flight-band {
    left: 24px;
    right: 24px;
    top: clamp(245px, 36svh, 320px);
  }
  .flight-band h1,
  .flight-band h2 {
    font-size: clamp(26px, 7.4vw, 33px);
    line-height: 1.16;
  }
  .flight-band p {
    margin-top: 17px;
    font-size: 15px;
    line-height: 1.5;
  }
  .flight-band .button {
    margin-top: 21px;
    padding: 12px 16px;
    min-height: 48px;
    font-size: 14px;
  }
  .film-controls {
    left: 24px;
    right: 24px;
    bottom: 18px;
  }
  .flight-progress {
    left: 24px;
    right: 24px;
    bottom: 9px;
  }
  .flight-scroll-cue {
    display: none;
  }
}

@media (max-width: 420px) and (orientation: portrait) {
  .flight-band {
    top: clamp(236px, 35svh, 285px);
  }
  .flight-band h1,
  .flight-band h2 {
    font-size: clamp(25px, 7vw, 30px);
  }
  .flight-band p {
    font-size: 14px;
    line-height: 1.46;
  }
}

@media (orientation: landscape) and (max-height: 660px) {
  .flight {
    padding: 14px clamp(14px, 3vw, 42px) 16px;
  }
  .flight-stage {
    height: calc(100svh - var(--header) - 30px);
    min-height: 0;
    border-radius: clamp(30px, 5vw, 65px);
  }
  .scrub-enabled .flight-stage {
    top: calc(var(--header) + 14px);
  }
  .flight-hero-logo {
    top: 20px;
    left: 32px;
    width: clamp(170px, 21vw, 260px);
  }
  .flight-band {
    top: clamp(105px, 25%, 150px);
    left: 32px;
    width: 53%;
    max-width: 520px;
  }
  .flight-band h1,
  .flight-band h2 {
    font-size: clamp(26px, 3.5vw, 39px);
  }
  .flight-band p {
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.4;
  }
  .flight-band .button {
    min-height: 44px;
    margin-top: 14px;
    padding: 9px 14px;
    font-size: 13px;
  }
  .flight-route {
    top: 24px;
    right: 33px;
    font-size: 10px;
  }
  .film-controls {
    left: 32px;
    right: 32px;
    bottom: 15px;
  }
  .flight-scroll-cue {
    display: none;
  }
}

/* Nueva portada: la imagen de conexiones reemplaza el vuelo. */
.home-header .brand { width: 64px; }
.home-header .brand img { width: 100%; height: auto; }
.global-hero {
  height: auto;
  padding: 0;
  background: #123c35;
}
.global-hero .flight-stage {
  position: relative;
  top: auto;
  width: 100%;
  height: clamp(470px, 59svh, 650px);
  min-height: 0;
  border-radius: 0;
  box-shadow: none;
}
.global-hero .flight-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 55% center;
  mask-image: none;
  -webkit-mask-image: none;
}
.global-hero .flight-scrim {
  background:
    linear-gradient(90deg, #042f2bc9 0%, #04332dc0 31%, #07342d65 55%, transparent 82%),
    linear-gradient(0deg, #062d2980 0%, transparent 36%);
}
.global-hero .flight-hero-logo {
  top: clamp(25px, 3.6vw, 50px);
  left: clamp(32px, 5vw, 82px);
  width: clamp(220px, 24vw, 350px);
}
.global-hero-content {
  position: absolute;
  z-index: 3;
  top: 28%;
  left: clamp(32px, 5vw, 82px);
  width: min(55%, 735px);
  color: #f8f8f2;
  text-shadow: 0 2px 15px #042b276b;
}
.global-hero-content h1 {
  max-width: 21ch;
  font-size: clamp(37px, 4.1vw, 64px);
  line-height: 1.13;
  letter-spacing: -.04em;
}
.global-hero-content h1 br {
  display: none;
}
.global-hero-content .hero-gold {
  color: #ecd194;
}
.global-hero-content p {
  max-width: 54ch;
  margin-top: clamp(15px, 1.7vw, 23px);
  padding-left: 27px;
  border-left: 3px solid #d7b970;
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.52;
  color: #f5f3e9;
}
.global-hero-content .button {
  margin-top: clamp(20px, 2.2vw, 30px);
  background: #dfc78c;
  border-color: #dfc78c;
  color: #123c35;
  text-shadow: none;
  box-shadow: 0 10px 30px #061b1948;
}
.global-hero .flight-route {
  top: clamp(28px, 3.7vw, 54px);
  right: clamp(30px, 4.5vw, 72px);
  left: auto;
  font-size: clamp(10px, 1vw, 13px);
  letter-spacing: .12em;
}
.global-hero-content,
.global-hero .flight-hero-logo {
  animation: hero-reveal .75s cubic-bezier(.16,1,.3,1) both;
}
.global-hero-content { animation-delay: .12s; }
@keyframes hero-reveal {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (min-width: 721px) and (orientation: landscape) and (min-height: 661px) {
  html[lang^="es"] .global-hero .flight-stage {
    height: clamp(630px, 70svh, 700px);
  }
}

@media (max-width: 1024px) and (orientation: portrait) {
  .global-hero { padding: 0; }
  .global-hero .flight-stage {
    height: min(790px, calc(100svh - var(--header)));
    min-height: 690px;
    border-radius: 0;
  }
  .global-hero .flight-picture img {
    height: clamp(365px, 49svh, 525px);
    object-position: 67% center;
    mask-image: linear-gradient(#000 57%, #000e 69%, #0006 83%, transparent 100%);
    -webkit-mask-image: linear-gradient(#000 57%, #000e 69%, #0006 83%, transparent 100%);
  }
  .global-hero .flight-scrim {
    background: linear-gradient(180deg, #103a3440 0%, transparent 22%, #123c3530 40%, #123c35 67%);
  }
  .global-hero .flight-hero-logo {
    top: 27px;
    left: 31px;
    width: clamp(215px, 33vw, 300px);
  }
  .global-hero .flight-route {
    top: 33px;
    right: 30px;
    font-size: 10px;
  }
  .global-hero-content {
    top: clamp(360px, 43svh, 460px);
    left: 34px;
    right: 34px;
    width: auto;
    max-width: 720px;
  }
  .global-hero-content h1 { font-size: clamp(38px, 5.5vw, 50px); }
  .global-hero-content p { font-size: 18px; margin-top: 18px; }
}

@media (max-width: 720px) and (orientation: portrait) {
  .global-hero { padding: 0; }
  .home-header .brand { width: 48px; }
  .global-hero .flight-stage {
    height: max(620px, calc(100svh - var(--header) - 65px));
    min-height: 620px;
    border-radius: 0;
  }
  .global-hero .flight-picture img {
    height: clamp(285px, 46svh, 395px);
    object-position: 69% center;
  }
  .global-hero .flight-hero-logo {
    top: 23px;
    left: 23px;
    width: clamp(175px, 50vw, 230px);
  }
  .global-hero .flight-route {
    top: 86px;
    right: auto;
    left: 24px;
    font-size: 10px;
  }
  .global-hero-content {
    top: clamp(275px, 39svh, 344px);
    left: 25px;
    right: 25px;
  }
  .global-hero-content h1 {
    font-size: clamp(32px, 8vw, 40px);
    max-width: 24ch;
  }
  .global-hero-content p {
    max-width: 39ch;
    margin-top: 17px;
    padding-left: 15px;
    font-size: 16px;
    line-height: 1.47;
  }
  .global-hero-content .button {
    min-height: 48px;
    margin-top: 20px;
    padding: 11px 16px;
    font-size: 16px;
  }
}

@media (max-width: 420px) and (orientation: portrait) {
  .global-hero-content { top: clamp(265px, 38svh, 305px); }
  .global-hero-content h1 { font-size: clamp(31px, 8.2vw, 35px); }
  .global-hero-content p { font-size: 16px; }
}

@media (orientation: landscape) and (max-height: 660px) {
  .global-hero { padding: 0; }
  .global-hero .flight-stage {
    height: calc(100svh - var(--header));
    min-height: 405px;
    border-radius: 0;
  }
  .global-hero .flight-hero-logo { top: 20px; left: 32px; width: clamp(165px, 21vw, 250px); }
  .global-hero .flight-route { top: 24px; right: 33px; font-size: 10px; }
  .global-hero-content { top: 25%; left: 32px; width: min(56%, 545px); }
  .global-hero-content h1 { font-size: clamp(32px, 3.7vw, 43px); }
  .global-hero-content p { margin-top: 13px; font-size: 15px; line-height: 1.4; }
  .global-hero-content .button { min-height: 43px; margin-top: 14px; padding: 9px 14px; font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  .global-hero-content,
  .global-hero .flight-hero-logo { animation: none; }
}

html[lang="zh-CN"] .service-card .service-detail {
  width: max-content;
  white-space: nowrap;
}
