/* ICSSA — Hero Premium v56 */
.hero-premium-v56{
  position:relative;
  min-height:calc(100svh - var(--header-height,104px));
  overflow:hidden;
  isolation:isolate;
  display:grid;
  padding:0;
  background:#dbe8f4;
}

.hero-premium-v56::before,
.hero-premium-v56::after{
  display:none!important;
  content:none!important;
}

.icssa-hero-v56__scene{
  position:absolute;
  z-index:0;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  background:#dbe8f4;
}

.icssa-hero-v56__svg{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
  pointer-events:none;
}

.icssa-hero-v56__background{
  opacity:1;
  filter:none;
}

.hero-premium-v56 .icssa-hero__content{
  position:relative;
  z-index:4;
  width:min(var(--container),calc(100% - 48px));
  min-height:inherit;
  display:grid;
  grid-template-columns:minmax(0,39%) minmax(0,61%);
  align-content:center;
  padding-top:calc(var(--header-height,104px) + 28px);
  padding-bottom:clamp(48px,7vh,82px);
  pointer-events:none;
}

.hero-premium-v56 .icssa-hero__content>*{
  grid-column:1;
  pointer-events:auto;
}

.hero-premium-v56 #hero-title{
  width:100%;
  max-width:520px;
  font-size:clamp(38px,3.35vw,48px);
  line-height:1.08;
}

.icssa-v56-flow,
.icssa-v56-mexico,
.icssa-v56-network{
  pointer-events:none;
}

.icssa-v56-flow__line{
  fill:none;
  stroke:url(#icssa-v56-flow);
  stroke-width:1.05;
  stroke-linecap:round;
  opacity:.14;
  vector-effect:non-scaling-stroke;
}

.icssa-v56-flow__line:nth-child(2n){opacity:.1}
.icssa-v56-flow__line--reverse{opacity:.12}

.icssa-v56-flow__signal{
  --icssa-flow-duration:11.6s;
  fill:none;
  stroke:#eafaff;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-dasharray:.075 .925;
  stroke-dashoffset:1;
  opacity:0;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 2.5px rgba(60,169,226,.58));
}

.icssa-v56-flow__signal--two{
  --icssa-flow-duration:13.4s;
  stroke:#91d9f8;
  stroke-dasharray:.095 .905;
}

.icssa-v56-flow__signal--reverse{
  --icssa-flow-duration:9.8s;
  stroke:#d9f6ff;
  stroke-dasharray:.065 .935;
}

.hero-premium-v56.is-flow-active .icssa-v56-flow__signal{
  animation:icssa-v56-flow-forward var(--icssa-flow-duration) linear 1 both;
}

.hero-premium-v56.is-flow-active .icssa-v56-flow__signal--two{animation-delay:.7s}
.hero-premium-v56.is-flow-active .icssa-v56-flow__signal--reverse{
  animation-name:icssa-v56-flow-reverse;
  animation-delay:1.4s;
}

.icssa-v56-mexico__glow,
.icssa-v56-mexico__contour{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
  transform-box:fill-box;
  transform-origin:center;
}

.icssa-v56-mexico__glow{
  stroke:#32b8ff;
  stroke-width:7.5;
  opacity:.18;
  filter:url(#icssa-v56-contour-glow);
}

.icssa-v56-mexico__contour{
  stroke:#c7f3ff;
  stroke-width:1.35;
  opacity:.52;
  filter:drop-shadow(0 0 2px rgba(36,164,230,.8));
  vector-effect:non-scaling-stroke;
}

.hero-premium-v56.is-pulse-one .icssa-v56-mexico__glow{
  animation:icssa-v56-heart-one .62s cubic-bezier(.22,.74,.35,1) both;
}

.hero-premium-v56.is-pulse-one .icssa-v56-mexico__contour{
  animation:icssa-v56-contour-one .62s cubic-bezier(.22,.74,.35,1) both;
}

.hero-premium-v56.is-pulse-two .icssa-v56-mexico__glow{
  animation:icssa-v56-heart-two .86s cubic-bezier(.22,.68,.38,1) both;
}

.hero-premium-v56.is-pulse-two .icssa-v56-mexico__contour{
  animation:icssa-v56-contour-two .86s cubic-bezier(.22,.68,.38,1) both;
}

.icssa-v56-node__halo,
.icssa-v56-node__core,
.icssa-v56-destination{
  opacity:0;
  transform-box:fill-box;
  transform-origin:center;
  pointer-events:none;
}

.icssa-v56-node__halo{
  fill:url(#icssa-v56-node);
  filter:url(#icssa-v56-soft-glow);
}

.icssa-v56-node__core{
  fill:#f4fdff;
  stroke:#54c9f5;
  stroke-width:1.2;
  filter:drop-shadow(0 0 4px rgba(30,153,222,.72));
  vector-effect:non-scaling-stroke;
}

.hero-premium-v56.is-node-active .icssa-v56-node__halo{
  opacity:.58;
  animation:icssa-v56-node-breathe 2.8s ease-in-out infinite;
}

.hero-premium-v56.is-node-active .icssa-v56-node__core{
  opacity:.96;
  animation:icssa-v56-node-core 2.8s ease-in-out infinite;
}

.icssa-v56-route{
  --icssa-route-duration:3.2s;
  fill:none;
  stroke:url(#icssa-v56-route);
  stroke-width:1.1;
  stroke-linecap:round;
  stroke-dasharray:.19 .81;
  stroke-dashoffset:1;
  opacity:0;
  filter:drop-shadow(0 0 2.4px rgba(55,174,231,.68));
  vector-effect:non-scaling-stroke;
}

.icssa-v56-route.is-active{
  animation:icssa-v56-route-travel var(--icssa-route-duration) cubic-bezier(.28,.64,.38,1) 1 both;
}

.icssa-v56-destination{
  fill:#eefcff;
  stroke:#61cff7;
  stroke-width:.8;
  filter:drop-shadow(0 0 4px rgba(49,177,235,.78));
  vector-effect:non-scaling-stroke;
}

.icssa-v56-destination.is-flashing{
  animation:icssa-v56-destination-flash 1.18s ease-out 1 both;
}

.hero-premium-v56.is-animation-paused *,
.hero-premium-v56.is-animation-paused *::before,
.hero-premium-v56.is-animation-paused *::after{
  animation-play-state:paused!important;
}

@keyframes icssa-v56-heart-one{
  0%,100%{opacity:.18;stroke-width:7.5}
  38%{opacity:.58;stroke-width:10}
  68%{opacity:.29;stroke-width:8.5}
}

@keyframes icssa-v56-contour-one{
  0%,100%{opacity:.52}
  38%{opacity:1}
  70%{opacity:.64}
}

@keyframes icssa-v56-heart-two{
  0%,100%{opacity:.18;stroke-width:7.5}
  42%{opacity:.46;stroke-width:9}
  76%{opacity:.26;stroke-width:8.1}
}

@keyframes icssa-v56-contour-two{
  0%,100%{opacity:.52}
  42%{opacity:.88}
  76%{opacity:.6}
}

@keyframes icssa-v56-node-breathe{
  0%,100%{opacity:.42;transform:scale(.92)}
  50%{opacity:.66;transform:scale(1.08)}
}

@keyframes icssa-v56-node-core{
  0%,100%{opacity:.82;transform:scale(.94)}
  50%{opacity:1;transform:scale(1.08)}
}

@keyframes icssa-v56-route-travel{
  0%{opacity:0;stroke-dashoffset:1}
  14%{opacity:.8}
  78%{opacity:.72}
  100%{opacity:0;stroke-dashoffset:-.2}
}

@keyframes icssa-v56-destination-flash{
  0%{opacity:0;transform:scale(.55)}
  28%{opacity:1;transform:scale(1.55)}
  58%{opacity:.78;transform:scale(1)}
  100%{opacity:0;transform:scale(.78)}
}

@keyframes icssa-v56-flow-forward{
  0%{opacity:0;stroke-dashoffset:1}
  12%{opacity:.52}
  82%{opacity:.42}
  100%{opacity:0;stroke-dashoffset:-.12}
}

@keyframes icssa-v56-flow-reverse{
  0%{opacity:0;stroke-dashoffset:-.15}
  12%{opacity:.46}
  82%{opacity:.38}
  100%{opacity:0;stroke-dashoffset:1}
}

@media(max-width:1024px){
  .icssa-hero-v56__scene::after{
    position:absolute;
    z-index:2;
    inset:0;
    content:"";
    pointer-events:none;
    background:linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.82) 40%,rgba(255,255,255,.34) 56%,rgba(255,255,255,0) 72%);
  }
  .hero-premium-v56 .icssa-hero__content{
    grid-template-columns:minmax(0,45%) minmax(0,55%);
  }
  .hero-premium-v56 #hero-title{font-size:clamp(35px,4.4vw,44px)}
  .icssa-v56-flow__line{opacity:.1}
}

@media(max-width:768px){
  .icssa-hero-v56__scene::after{
    background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.92) 54%,rgba(255,255,255,.42) 72%,rgba(255,255,255,0) 88%);
  }
  .hero-premium-v56{
    min-height:max(820px,100svh);
  }
  .hero-premium-v56 .icssa-hero__content{
    width:calc(100% - 36px);
    grid-template-columns:minmax(0,58%) minmax(0,42%);
    padding-top:calc(var(--header-height,140px) + 26px);
    padding-bottom:48px;
    align-content:start;
  }
  .hero-premium-v56 #hero-title{font-size:clamp(34px,6.3vw,42px)}
  .icssa-v56-flow__line:nth-child(2n){display:none}
}

@media(max-width:600px){
  .icssa-hero-v56__scene::after{
    background:
      linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.94) 50%,rgba(255,255,255,.72) 59%,rgba(255,255,255,.12) 73%,rgba(255,255,255,0) 82%),
      linear-gradient(90deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.5) 62%,rgba(255,255,255,0) 100%);
  }
  .hero-premium-v56{
    min-height:max(780px,100svh);
  }
  .hero-premium-v56 .icssa-hero__content{
    width:calc(100% - 32px);
    display:block;
    padding-top:calc(var(--header-height,140px) + 24px);
    padding-bottom:40px;
  }
  .hero-premium-v56 #hero-title{
    max-width:520px;
    font-size:clamp(32px,9vw,38px);
  }
  .hero-premium-v56 .hero-actions{display:grid;grid-template-columns:1fr}
  .hero-premium-v56 .hero-actions .button{width:100%}
  .icssa-v56-flow{opacity:.66}
  .icssa-v56-flow__line{stroke-width:.85}
  .icssa-v56-flow__signal{stroke-width:1.15}
  .icssa-v56-mexico__glow{opacity:.11;stroke-width:6}
  .icssa-v56-mexico__contour{opacity:.44;stroke-width:1.05}
  .icssa-v56-route{stroke-width:.82}
  .icssa-v56-node__halo{display:none}
}

@media(max-width:380px){
  .hero-premium-v56 .icssa-hero__content{width:calc(100% - 28px)}
  .hero-premium-v56 #hero-title{font-size:clamp(31px,9.7vw,36px)}
}

@media(prefers-reduced-motion:reduce){
  .hero-premium-v56 *,
  .hero-premium-v56 *::before,
  .hero-premium-v56 *::after{
    animation:none!important;
    transition:none!important;
  }
  .icssa-v56-flow__signal,
  .icssa-v56-route,
  .icssa-v56-destination,
  .icssa-v56-node__halo{
    display:none!important;
  }
  .icssa-v56-mexico__glow{opacity:.12;stroke-width:6}
  .icssa-v56-mexico__contour{opacity:.54}
  .icssa-v56-node__core{opacity:.24;transform:none}
}


/* V60.1 — acabado final: header transparente integrado al Hero */
body.home .site-header,
body.home .site-header:not(.is-scrolled){
  position:absolute;
  top:0;
  right:0;
  left:0;
  z-index:1000;
  background:linear-gradient(
    180deg,
    rgba(248,252,255,.18) 0%,
    rgba(248,252,255,.08) 58%,
    rgba(248,252,255,0) 100%
  );
  border-bottom-color:transparent;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

body.home .site-header.is-scrolled{
  position:fixed;
  background:rgba(248,252,255,.88);
  border-bottom:1px solid rgba(13,73,150,.10);
  box-shadow:0 8px 28px rgba(19,61,112,.08);
  -webkit-backdrop-filter:blur(14px) saturate(1.08);
  backdrop-filter:blur(14px) saturate(1.08);
}

body.home .hero-premium-v56{
  min-height:clamp(620px,100svh,820px);
}

body.home .hero-premium-v56 .icssa-hero__content{
  padding-top:calc(var(--header-height,104px) + clamp(42px,6vh,70px));
  padding-bottom:clamp(48px,7vh,82px);
}

body.home .icssa-hero-v56__svg{
  transform-origin:68% 50%;
  animation:icssa-v60-map-breathe 13s ease-in-out infinite;
}

@keyframes icssa-v60-map-breathe{
  0%,100%{transform:scale(1);filter:brightness(1)}
  50%{transform:scale(1.006);filter:brightness(1.018)}
}

.dark-mode body.home .site-header,
.dark-mode body.home .site-header:not(.is-scrolled){
  background:linear-gradient(180deg,rgba(5,22,43,.22),rgba(5,22,43,.06) 62%,transparent);
}

.dark-mode body.home .site-header.is-scrolled{
  background:rgba(5,22,43,.88);
  border-bottom-color:rgba(255,255,255,.12);
}

@media(max-width:900px){
  body.home .site-header,
  body.home .site-header:not(.is-scrolled){
    background:linear-gradient(180deg,rgba(248,252,255,.34),rgba(248,252,255,.10) 68%,transparent);
  }
  body.home .hero-premium-v56 .icssa-hero__content{
    padding-top:calc(var(--header-height,140px) + 30px);
  }
}

@media(max-width:600px){
  body.home .site-header,
  body.home .site-header:not(.is-scrolled){
    background:rgba(248,252,255,.76);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
  }
  body.home .hero-premium-v56{
    min-height:700px;
  }
  body.home .hero-premium-v56 .icssa-hero__content{
    padding-top:calc(var(--header-height,140px) + 24px);
    padding-bottom:36px;
  }
}

@media(prefers-reduced-motion:reduce){
  body.home .icssa-hero-v56__svg{animation:none!important}
}
/* v62.1 — prevent the obsolete standalone Mexico outline from reappearing.
   The source geometry uses a different projection than the raster world map. */
.hero-premium-v56 .icssa-v56-mexico{
  display:none!important;
}

