/* Efecto Wale · Camino Wale v7.9.5
   Home narrative layer: native scroll, no scroll hijacking. */
:root{
  --wale-journey-ink:var(--wale-ink);
  --wale-journey-paper:var(--wale-surface);
  --wale-journey-yellow:var(--wale-gold);
  --wale-journey-blue:var(--wale-blue);
  --wale-journey-ease:cubic-bezier(.22,.61,.36,1);
}

body.home-chicago main#contenido{
  position:relative;
  isolation:isolate;
  overflow:clip;
}

body.home-chicago main#contenido > section{
  position:relative;
  z-index:2;
}

/* The route sits over section backgrounds but never receives pointer events. */
.wale-journey{
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:var(--wale-journey-height,100%);
  z-index:6;
  pointer-events:none;
  overflow:visible;
  contain:layout style;
}
.wale-journey__svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
}
.wale-journey__shadow{
  fill:none;
  stroke:rgba(23,26,24,.16);
  stroke-width:7;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:2 18;
}
.wale-journey__progress{
  fill:none;
  stroke:url(#waleJourneyGradient);
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.12));
}
.wale-journey__node{
  fill:var(--wale-journey-paper);
  stroke:var(--wale-journey-ink);
  stroke-width:2;
  transform-box:fill-box;
  transform-origin:center;
  transition:transform .32s var(--wale-journey-ease),fill .32s ease,stroke .32s ease;
}
.wale-journey__node.is-passed{
  fill:var(--wale-journey-yellow);
  stroke:var(--wale-journey-ink);
  transform:scale(1.35);
}
.wale-ant{
  position:absolute;
  left:0;
  top:0;
  width:34px;
  height:34px;
  margin:-17px 0 0 -17px;
  display:grid;
  place-items:center;
  transform:translate3d(var(--wale-ant-x,0),var(--wale-ant-y,0),0) rotate(var(--wale-ant-r,0deg));
  transform-origin:center;
  will-change:transform;
  filter:drop-shadow(0 3px 4px rgba(0,0,0,.28));
}
.wale-ant svg{width:100%;height:100%;overflow:visible}
.wale-ant .ant-body{fill:var(--wale-ink)}
.wale-ant .ant-accent{fill:var(--wale-gold-pale)}
.wale-ant .ant-leg{fill:none;stroke:var(--wale-ink);stroke-width:2.2;stroke-linecap:round}

/* Hero: cinematic depth without taking control of scroll. */
.cc-hero{
  perspective:1200px;
  transform-style:preserve-3d;
}
.cc-hero__media{
  transform:translate3d(0,var(--wale-hero-media-y,0px),-34px) scale(var(--wale-hero-media-scale,1.055));
  transform-origin:center;
  will-change:transform;
}
.cc-hero__overlay{
  transform:translateZ(4px);
}
.cc-hero__content{
  transform:translate3d(0,var(--wale-hero-copy-y,0px),54px);
  transform-style:preserve-3d;
  will-change:transform;
}
.cc-hero__signature{
  transform:translate3d(0,var(--wale-hero-sign-y,0px),72px) rotate(-5deg);
  will-change:transform;
}
.cc-hero::before,
.cc-hero::after{
  content:"";
  position:absolute;
  z-index:1;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.24);
  border-radius:50%;
  transform-style:preserve-3d;
}
.cc-hero::before{
  width:min(42vw,620px);
  aspect-ratio:1;
  right:-13vw;
  top:12%;
  transform:translate3d(0,var(--wale-hero-orbit-y,0px),10px) rotateX(66deg) rotateZ(-13deg);
}
.cc-hero::after{
  width:min(28vw,410px);
  aspect-ratio:1;
  right:7vw;
  top:32%;
  border-color:rgba(206,140,28,.42);
  transform:translate3d(0,var(--wale-hero-orbit-y2,0px),16px) rotateX(67deg) rotateZ(21deg);
}

/* Sections behave as stages. Values are fed by JS and reverse naturally on upward scroll. */
[data-wale-scene]{
  --wale-scene-y:0px;
  --wale-scene-rx:0deg;
  --wale-scene-scale:1;
  perspective:1200px;
  transform-style:preserve-3d;
}
[data-wale-scene] > .cc-shell,
[data-wale-scene] > .cc-plan__inner,
[data-wale-scene] > .cc-local__grid{
  transform:translate3d(0,var(--wale-scene-y),0) rotateX(var(--wale-scene-rx)) scale(var(--wale-scene-scale));
  transform-origin:center;
  will-change:transform;
}

/* Cards gain physical depth, not just a hover translate. */
.cc-audience-card,
.cc-interest-card,
.cc-find-card,
.cc-feature-card,
.cc-season-card,
.cc-local__cards > a,
.cc-agenda{
  --ew-tilt-x:0deg;
  --ew-tilt-y:0deg;
  --ew-card-lift:0px;
  transform-style:preserve-3d;
  transform:perspective(950px) translate3d(0,var(--ew-card-lift),0) rotateX(var(--ew-tilt-x)) rotateY(var(--ew-tilt-y));
  transition:transform .28s var(--wale-journey-ease),box-shadow .28s ease,border-color .28s ease;
  will-change:transform;
}
.cc-audience-card img,
.cc-interest-card img,
.cc-find-card img,
.cc-feature-card > img,
.cc-season-card img,
.cc-local__cards img{
  transform:translateZ(14px) scale(1.025);
  will-change:transform;
}
.cc-audience-card > div,
.cc-find-card > div,
.cc-feature-card__copy,
.cc-season-card > div,
.cc-local__cards h3,
.cc-local__cards p,
.cc-interest-card > span,
.cc-interest-card > small{
  transform:translateZ(34px);
  transform-style:preserve-3d;
}

@media (hover:hover) and (pointer:fine){
  .cc-audience-card:hover,
  .cc-interest-card:hover,
  .cc-find-card:hover,
  .cc-feature-card:hover,
  .cc-season-card:hover,
  .cc-local__cards > a:hover,
  .cc-agenda:hover{
    --ew-card-lift:-7px;
    box-shadow:0 24px 54px rgba(18,22,20,.16);
  }
}

/* WALE Camera block gets stronger foreground/background separation. */
.cc-feature-pair__grid{
  perspective:1300px;
  transform-style:preserve-3d;
}
.cc-feature-card{transform-origin:70% 50%}
.cc-agenda{transform-origin:30% 50%}

/* A little ambient life only while the scene is on screen. */
[data-wale-scene].is-wale-active .cc-section-head h2,
[data-wale-scene].is-wale-active .cc-local__lead h2,
[data-wale-scene].is-wale-active .cc-plan h2{
  text-shadow:0 14px 34px rgba(23,26,24,.08);
}

@media(max-width:1220px){
  .wale-journey{opacity:.82}
  .wale-ant{width:30px;height:30px;margin:-15px 0 0 -15px}
}

@media(max-width:760px){
  .wale-journey{opacity:.64;z-index:5}
  .wale-journey__shadow{stroke-width:5;stroke-dasharray:2 14}
  .wale-journey__progress{stroke-width:3}
  .wale-ant{width:25px;height:25px;margin:-12.5px 0 0 -12.5px}
  .cc-hero::before{width:72vw;right:-38vw;top:17%}
  .cc-hero::after{width:52vw;right:-18vw;top:33%}
  [data-wale-scene] > .cc-shell,
  [data-wale-scene] > .cc-plan__inner,
  [data-wale-scene] > .cc-local__grid{transform:none}
  .cc-audience-card,
  .cc-interest-card,
  .cc-find-card,
  .cc-feature-card,
  .cc-season-card,
  .cc-local__cards > a,
  .cc-agenda{transform:none;will-change:auto}
  .cc-audience-card img,
  .cc-interest-card img,
  .cc-find-card img,
  .cc-feature-card > img,
  .cc-season-card img,
  .cc-local__cards img{transform:none}
  .cc-audience-card > div,
  .cc-find-card > div,
  .cc-feature-card__copy,
  .cc-season-card > div,
  .cc-local__cards h3,
  .cc-local__cards p,
  .cc-interest-card > span,
  .cc-interest-card > small{transform:none}
}

@media(prefers-reduced-motion:reduce){
  .wale-journey{display:none}
  .cc-hero__media,
  .cc-hero__content,
  .cc-hero__signature,
  [data-wale-scene] > .cc-shell,
  [data-wale-scene] > .cc-plan__inner,
  [data-wale-scene] > .cc-local__grid,
  .cc-audience-card,
  .cc-interest-card,
  .cc-find-card,
  .cc-feature-card,
  .cc-season-card,
  .cc-local__cards > a,
  .cc-agenda,
  .cc-audience-card img,
  .cc-interest-card img,
  .cc-find-card img,
  .cc-feature-card > img,
  .cc-season-card img,
  .cc-local__cards img{
    transform:none;
    transition:none;
    animation:none;
  }
  .cc-hero::before,.cc-hero::after{display:none}
}
