/* Efecto Wale V7.4 · Capas visuales y scroll con profundidad.
   Capa aislada: no altera contenido, SEO ni la lógica de datos vivos. */

.home-cover--layers {
  --layer-blue: #2e8bc4;
  --layer-yellow: #dfaa17;
  --layer-ink: #191b19;
  min-height: min(860px, 92svh);
}

.home-cover--layers .home-cover__grid {
  position: relative;
  z-index: 4;
}

.home-cover__ambient-layers {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.home-cover__ambient-plane {
  position: absolute;
  will-change: transform;
  transform: translate3d(0, var(--ew-layer-y, 0px), 0);
}

.home-cover__ambient-plane--sun {
  width: clamp(210px, 28vw, 430px);
  aspect-ratio: 1;
  left: -7vw;
  top: 8%;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, rgba(223, 170, 23, .22) 0 34%, rgba(223, 170, 23, .07) 35% 54%, transparent 55%);
}

.home-cover__ambient-plane--river {
  width: 118%;
  height: 290px;
  left: -8%;
  bottom: -155px;
  border: 1px solid rgba(46, 139, 196, .22);
  border-radius: 50% 48% 0 0 / 44% 62% 0 0;
  background: linear-gradient(180deg, rgba(46, 139, 196, .08), rgba(46, 139, 196, .02));
  box-shadow: 0 -38px 0 rgba(46, 139, 196, .035), 0 -78px 0 rgba(46, 139, 196, .025);
}

.home-cover__ambient-plane--line {
  width: clamp(360px, 52vw, 780px);
  height: 1px;
  right: -11%;
  top: 33%;
  background: linear-gradient(90deg, transparent, rgba(25, 27, 25, .16), transparent);
  transform-origin: center;
}

.home-cover--layers .home-cover__copy {
  transform: translate3d(0, var(--ew-layer-y, 0px), 0);
  will-change: transform;
}

.home-cover__visual--layers {
  min-height: clamp(500px, 52vw, 700px);
  padding: 0;
}

.home-cover__layer-stage {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: inherit;
  perspective: 1200px;
}

.home-cover__layer {
  position: absolute;
  will-change: transform;
  transform: translate3d(0, var(--ew-layer-y, 0px), 0);
}

.home-cover__layer--back {
  inset: 8% 2% 9% 11%;
  border: 1px solid rgba(25, 27, 25, .12);
  border-radius: 42% 8% 32% 10% / 34% 10% 25% 13%;
  background: rgba(255, 250, 241, .56);
  box-shadow: 0 34px 80px rgba(25, 27, 25, .07);
}

.home-cover__layer--main {
  inset: 3% 7% 19% 4%;
  overflow: hidden;
  border-radius: 43% 7% 29% 8% / 33% 8% 23% 11%;
  box-shadow: 0 34px 78px rgba(25, 27, 25, .18);
}

.home-cover__layer--main::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(145deg, transparent 48%, rgba(25, 27, 25, .25));
  pointer-events: none;
}

.home-cover__layer--main picture,
.home-cover__layer--main img,
.home-cover__layer--city img {
  display: block;
  width: 100%;
  height: 100%;
}

.home-cover__layer--main img,
.home-cover__layer--city img {
  object-fit: cover;
}

.home-cover__layer--city {
  z-index: 3;
  left: -1%;
  bottom: 2%;
  width: clamp(180px, 25vw, 320px);
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 8px solid var(--home-paper);
  border-radius: 18px 18px 46% 18px / 18px 18px 34% 18px;
  box-shadow: 0 24px 60px rgba(25, 27, 25, .19);
  transform: translate3d(0, var(--ew-layer-y, 0px), 0) rotate(-3.5deg);
}

.home-cover__layer--city img {
  object-position: center;
}

.home-cover__layer--mark {
  z-index: 4;
  right: 0;
  top: 6%;
  width: clamp(88px, 10vw, 142px);
  aspect-ratio: 1;
  filter: drop-shadow(0 18px 24px rgba(25, 27, 25, .16));
  transform: translate3d(0, var(--ew-layer-y, 0px), 0) rotate(6deg);
}

.home-cover__layer--mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.home-cover__caption--layers {
  z-index: 5;
  right: 1%;
  bottom: 4%;
  transform: translate3d(0, var(--ew-layer-y, 0px), 0);
  will-change: transform;
}

/* El rail se acerca al hero como una última capa, sin tapar contenido. */
.home-cover--layers .home-cover__rail {
  position: relative;
  z-index: 8;
  margin-top: -2px;
}

/* Cards apiladas tipo ScrollCraft: sólo desktop. */
@media (min-width: 981px) {
  .home-decisions--stacked {
    position: relative;
    padding-bottom: clamp(110px, 14vw, 210px);
  }

  .home-decisions--stacked .shell {
    display: grid;
    grid-template-columns: minmax(250px, .52fr) minmax(0, 1.18fr);
    gap: clamp(38px, 6vw, 90px);
    align-items: start;
  }

  .home-decisions--stacked .home-decisions__head {
    position: sticky;
    top: 104px;
    z-index: 1;
    display: block;
    align-self: start;
    margin: 0;
  }

  .home-decisions--stacked .home-decisions__head p {
    margin-top: 20px;
  }

  .home-decisions--stacked .home-decisions__grid {
    display: block;
    position: relative;
    width: 100%;
    margin: 0;
  }

  .home-decisions--stacked .home-decision {
    --stack-i: 0;
    position: sticky;
    top: calc(116px + (var(--stack-i) * 16px));
    z-index: calc(10 + var(--stack-i));
    min-height: 330px;
    margin-bottom: 25vh;
    border-width: 2px;
    box-shadow: 0 25px 70px rgba(25, 27, 25, .13);
    transform: translate3d(0, var(--ew-stack-y, 0px), 0);
  }


  .home-decisions--stacked .home-decision:nth-child(1){--stack-i:0}
  .home-decisions--stacked .home-decision:nth-child(2){--stack-i:1}
  .home-decisions--stacked .home-decision:nth-child(3){--stack-i:2}
  .home-decisions--stacked .home-decision:nth-child(4){--stack-i:3}

  .home-decisions--stacked .home-decision:last-child {
    margin-bottom: 0;
  }

  .home-decisions--stacked .home-decision--today,
  .home-decisions--stacked .home-decision--carnival,
  .home-decisions--stacked .home-decision--stay {
    grid-column: auto;
    grid-row: auto;
  }

  .home-decisions--stacked .home-decision--photo {
    min-height: 380px;
  }

  .home-decisions--stacked .home-decisions__more {
    grid-column: 1 / -1;
    margin-top: 52px;
  }
}

/* Profundidad mínima también en los mosaicos reales de ciudad. */
.home-explore .home-place {
  transform: translate3d(0, var(--ew-layer-y, 0px), 0);
  will-change: transform;
}

/* La experiencia nunca depende del movimiento. */
@media (prefers-reduced-motion: reduce) {
  .home-cover__ambient-plane,
  .home-cover--layers .home-cover__copy,
  .home-cover__layer,
  .home-cover__caption--layers,
  .home-explore .home-place,
  .home-decisions--stacked .home-decision {
    transform: none;
    will-change: auto;
  }

  .home-cover__layer--city { transform: rotate(-3.5deg); }
  .home-cover__layer--mark { transform: rotate(6deg); }
}

@media (max-width: 980px) {
  .home-cover--layers {
    min-height: auto;
  }

  .home-cover__visual--layers {
    min-height: 520px;
  }

  .home-cover__layer--back { inset: 8% 2% 10% 8%; }
  .home-cover__layer--main { inset: 3% 6% 19% 3%; }
  .home-cover__layer--city { width: min(250px, 40vw); }
  .home-cover__layer--mark { right: 2%; }
}

@media (max-width: 600px) {
  .home-cover__ambient-plane--line { display: none; }
  .home-cover__ambient-plane--river { bottom: -205px; }

  .home-cover__visual--layers {
    min-height: 430px;
    margin-top: 4px;
  }

  .home-cover__layer--back { inset: 8% 0 12% 6%; }
  .home-cover__layer--main {
    inset: 2% 2% 21% 0;
    border-radius: 29% 6% 22% 7% / 28% 7% 20% 8%;
  }

  .home-cover__layer--city {
    left: 1%;
    bottom: 3%;
    width: 43vw;
    min-width: 148px;
    border-width: 5px;
  }

  .home-cover__layer--mark {
    top: 4%;
    right: 0;
    width: 78px;
  }

  .home-cover__caption--layers {
    width: min(260px, 68%);
    right: 0;
    bottom: 2%;
    padding: 12px 14px;
  }
}

/* Carnaval: la fotografía y el relato dejan de viajar como una sola placa. */
.carnival-cover-v47[data-layer-scene] .carnival-cover-v47__media {
  inset: -4%;
  will-change: transform;
  transform: translate3d(0, var(--ew-layer-y, 0px), 0);
}
.carnival-cover-v47[data-layer-scene] .carnival-cover-v47__media img {
  transform: scale(1.045);
}
.carnival-cover-v47[data-layer-scene] .carnival-cover-v47__inner {
  will-change: transform;
  transform: translate3d(0, var(--ew-layer-y, 0px), 0);
}

/* Planificador: texto, señal de clima y fondo responden por separado. */
.tools-hero--layers {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.tools-hero__layer {
  position: absolute;
  pointer-events: none;
  will-change: transform;
  transform: translate3d(0, var(--ew-layer-y, 0px), 0);
}
.tools-hero__layer--back {
  z-index: -1;
  width: clamp(260px, 34vw, 520px);
  aspect-ratio: 1;
  right: -8%;
  top: -58%;
  border: 1px solid rgba(46,139,196,.18);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(46,139,196,.08), transparent 68%);
  box-shadow: 0 0 0 42px rgba(223,170,23,.025), 0 0 0 88px rgba(46,139,196,.018);
}
.tools-hero--layers .tools-hero__grid > [data-layer-depth],
.tools-hero--layers .live-summary {
  will-change: transform;
  transform: translate3d(0, var(--ew-layer-y, 0px), 0);
}

@media (prefers-reduced-motion: reduce) {
  .carnival-cover-v47[data-layer-scene] .carnival-cover-v47__media,
  .carnival-cover-v47[data-layer-scene] .carnival-cover-v47__inner,
  .tools-hero__layer,
  .tools-hero--layers .tools-hero__grid > [data-layer-depth],
  .tools-hero--layers .live-summary {
    transform: none;
    will-change: auto;
  }
  .carnival-cover-v47[data-layer-scene] .carnival-cover-v47__media img {
    transform: scale(1.045);
  }
}
