/* ICSSA evolution-v31.6 — Hero map animation. */
.corporate-hero{
  --icssa-mexico-x:680.197683;
  --icssa-mexico-y:411.823938;
  background:#e9f1f8;
}
.corporate-hero::after{
  background:
    linear-gradient(90deg,rgba(249,252,255,.97) 0%,rgba(248,252,255,.88) 29%,rgba(241,248,253,.25) 52%,rgba(232,242,250,.02) 74%),
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(196,216,235,.1));
}
.icssa-hero-map__stage{
  top:50%;
  left:50%;
  width:100%;
  height:auto;
  aspect-ratio:1648/928;
  transform:translate(-50%,-50%);
}
.icssa-hero-map__stage::before{
  position:absolute;
  z-index:2;
  inset:7% 2% 12% 29%;
  content:"";
  pointer-events:none;
  opacity:.16;
  background:linear-gradient(119deg,transparent 17%,rgba(255,255,255,.16) 39%,transparent 57%);
  mix-blend-mode:screen;
  animation:icssa-v32-glass 14s ease-in-out infinite;
}
.icssa-hero-map__stage::after{
  z-index:2;
  inset:4% 0 3% 27%;
  opacity:.27;
  background:linear-gradient(134deg,rgba(255,255,255,.07),transparent 30% 73%,rgba(17,62,108,.055));
  mix-blend-mode:soft-light;
}
.icssa-hero-map__background{
  filter:saturate(.7) contrast(1.16) brightness(.86);
  transform:translateZ(0);
}
.icssa-hero-map__overlay{
  z-index:3;
  overflow:visible;
}
.icssa-global-route{
  fill:none;
  stroke:url(#icssa-route-light);
  stroke-width:.62;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
  opacity:.38;
  filter:none;
}
.icssa-global-route:nth-child(2n){opacity:.33}
.icssa-route-packet{
  fill:#eef9ff;
  opacity:0;
  will-change:transform,opacity;
}
.icssa-global-sparkle{
  fill:#f3fbff;
  opacity:.12;
  filter:none;
  animation:none;
  transform-box:fill-box;
  transform-origin:center;
  transition:opacity 380ms ease,transform 650ms ease;
}
.icssa-global-sparkle.is-flashing{
  opacity:.76;
  transform:scale(1.42);
}
.icssa-mexico-territory-light{
  fill:url(#icssa-mexico-light);
  opacity:.04;
  mix-blend-mode:screen;
  transform-box:fill-box;
  transform-origin:center;
  animation:none;
  will-change:transform,opacity;
}
.icssa-mexico-pearl{
  fill:#fff;
  stroke:rgba(48,205,255,.98);
  stroke-width:.82;
  opacity:.025;
  mix-blend-mode:screen;
  transform-box:fill-box;
  transform-origin:center;
  will-change:transform,opacity;
}
.icssa-mexico-origin__point{
  fill:#0a93df;
  stroke:#fff;
  stroke-width:1.85;
  opacity:.28;
  mix-blend-mode:screen;
  filter:none;
  transform-box:fill-box;
  transform-origin:center;
  animation:none;
  will-change:transform,opacity;
}
.icssa-mexico-origin__halo{
  fill:rgba(20,143,214,.28);
  stroke:rgba(104,210,255,.52);
  stroke-width:.85;
  opacity:.04;
  mix-blend-mode:screen;
  transform-box:fill-box;
  transform-origin:center;
  animation:none;
  will-change:transform,opacity;
}
.icssa-mexico-origin__pulse{
  fill:none;
  stroke:#65c9f2;
  stroke-width:.82;
  stroke-opacity:.52;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
  opacity:0;
  transform-box:fill-box;
  transform-origin:center;
  animation:none;
  will-change:transform,opacity;
}
@keyframes icssa-v32-glass{
  0%,100%{opacity:.12;transform:translate3d(-.25%,0,0)}
  50%{opacity:.2;transform:translate3d(.25%,0,0)}
}
.corporate-hero.is-animation-paused .icssa-hero-map__stage::before,
.corporate-hero.is-animation-paused .icssa-mexico-origin__pulse{
  animation-play-state:paused;
}

/* Header and language controls are preserved from V31.6b. */
.icssa-language-selector{gap:12px}
.icssa-language-selector__button,
.icssa-language-selector__button[aria-current="true"],
.icssa-language-selector__button--active{
  width:32px;
  min-width:32px;
  height:32px;
  min-height:32px;
  flex-basis:32px;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  outline:0;
  box-shadow:none;
}
.icssa-language-selector__button:focus-visible{
  outline:2px solid rgba(15,81,166,.74);
  outline-offset:3px;
}
.icssa-language-selector__flag,
.icssa-language-selector__button[aria-current="true"] .icssa-language-selector__flag,
.icssa-language-selector__button--active .icssa-language-selector__flag{
  display:block;
  width:26px;
  min-width:26px;
  height:20px;
  min-height:20px;
  overflow:visible;
  font-size:20px;
  line-height:20px;
  transform:none;
  opacity:1;
}
.icssa-language-selector__divider{width:1px;height:18px;background:#d6dee9}
.icssa-theme-toggle__icon{color:#09247a;font-size:28px;font-weight:400}

@media(max-width:1180px){
  :root{--header-height:140px;--header:var(--header-height)}
  .header-shell{
    height:var(--header-height);
    min-height:var(--header-height);
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-rows:82px 52px;
    align-content:center;
  }
  .brand{grid-column:1;grid-row:1}
  .icssa-mobile-menu{grid-column:3;grid-row:1}
  .header-actions{
    grid-column:1/-1;
    grid-row:2;
    width:100%;
    justify-self:stretch;
    justify-content:flex-end;
  }
  .header-contact{display:inline-flex}
  .primary-navigation{top:var(--header-height)}
  .icssa-hero__content{padding-top:calc(var(--header-height) + 38px)}
}
@media(max-width:900px){
  .corporate-hero::after{
    background:
      linear-gradient(90deg,rgba(249,252,255,.98) 0%,rgba(248,252,255,.91) 48%,rgba(241,248,253,.4) 76%,rgba(234,244,251,.1) 100%),
      linear-gradient(180deg,rgba(255,255,255,.03) 45%,rgba(245,250,254,.9) 92%);
  }
  .icssa-hero-map{opacity:.92}
  .icssa-hero-map__stage{width:170%;left:100%}
  .icssa-hero-map__background{object-position:center}
  .icssa-global-route{opacity:.31}
}
@media(max-width:600px){
  .header-shell{width:calc(100% - 20px);gap:6px}
  .header-actions{gap:8px;justify-content:center}
  .icssa-language-selector{gap:8px}
  .icssa-language-selector__button,
  .icssa-language-selector__button[aria-current="true"],
  .icssa-language-selector__button--active{
    width:30px;
    min-width:30px;
    flex-basis:30px;
  }
  .header-divider{display:block;height:22px}
  .icssa-theme-toggle{width:38px;min-width:38px;height:38px;min-height:38px}
  .header-contact{min-width:138px}
  .corporate-hero{min-height:760px}
  .icssa-hero-map{opacity:.72}
  .icssa-hero-map__stage{top:32%;width:220%;left:94%}
  .icssa-hero-map__background{object-position:center}
  .icssa-hero__content{padding-top:calc(var(--header-height) + 32px)}
  .icssa-global-route{stroke-width:.58;opacity:.27}
  .icssa-route-packet{display:none}
}
@media(max-width:380px){
  .header-shell{width:calc(100% - 14px)}
  .header-actions{gap:5px}
  .icssa-language-selector{gap:5px}
  .header-contact{min-width:124px;padding-inline:12px}
  .icssa-hero-map__stage{width:235%;left:96%}
}
@media(prefers-reduced-motion:reduce){
  .icssa-hero-map__stage::before,
  .icssa-mexico-territory-light,
  .icssa-mexico-pearl,
  .icssa-mexico-origin__point,
  .icssa-mexico-origin__halo,
  .icssa-mexico-origin__pulse{animation:none}
  .icssa-route-packet,
  .icssa-mexico-origin__pulse{display:none}
  .icssa-mexico-territory-light{opacity:.38}
  .icssa-mexico-pearl{opacity:.78;transform:none}
  .icssa-mexico-origin__point{opacity:1}
  .icssa-mexico-origin__halo{opacity:.58}
  .icssa-global-sparkle{transition:none}
}

/*
 * Evolution V37 — render fidelity.
 *
 * The approved artwork is the Hero's visual layer. It must be rendered with
 * its original color, contrast, light, shadows and highlights. The image
 * remains a real <img> element (not a CSS background) and is only scaled/cropped
 * to the Hero viewport.
 */
.corporate-hero{
  background:#c4d8ed;
  box-shadow:none;
}
.corporate-hero::before,
.corporate-hero::after,
.icssa-hero-map__stage::before,
.icssa-hero-map__stage::after,
.hero-transition{
  display:none;
  content:none;
  background:none;
  filter:none;
  backdrop-filter:none;
}
.icssa-hero-map{
  opacity:1;
  filter:none;
  mix-blend-mode:normal;
}
.icssa-hero-map__stage{
  inset:0;
  top:0;
  left:0;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  overflow:hidden;
  transform:none;
}
.icssa-hero-map__background{
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  opacity:1;
  object-fit:cover;
  object-position:center;
  filter:none;
  mix-blend-mode:normal;
  transform:none;
}
/* The source render already contains the approved routes, light points,
   Mexico glow and expansion waves; hiding the duplicate SVG preserves them
   pixel-for-pixel instead of redrawing them over the artwork. */
.icssa-hero-map__overlay{
  display:none;
}
.site-header:not(.is-scrolled),
.dark-mode .site-header:not(.is-scrolled){
  background:transparent;
  border-bottom-color:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.hero-actions .button--outline{
  background:transparent;
  backdrop-filter:none;
}

@media(max-width:900px){
  .corporate-hero::before,
  .corporate-hero::after,
  .hero-transition{
    display:none;
    background:none;
  }
  .icssa-hero-map{
    opacity:1;
  }
  .icssa-hero-map__stage{
    inset:0;
    top:0;
    left:0;
    width:100%;
    height:100%;
    transform:none;
  }
  .icssa-hero-map__background{
    opacity:1;
    object-fit:cover;
    object-position:center;
    filter:none;
  }
}

@media(max-width:600px){
  .icssa-hero-map{
    opacity:1;
  }
  .icssa-hero-map__stage{
    inset:0;
    top:0;
    left:0;
    width:100%;
    height:100%;
    transform:none;
  }
  .icssa-hero-map__background{
    opacity:1;
    object-fit:cover;
    object-position:center;
    filter:none;
  }
}

/* Evolution V38 — first Hero hierarchy adjustment only. */
.corporate-hero .hero-institutional-heading{
  max-width:520px;
  margin:0 0 20px;
  color:#112b78;
  background:none;
  background-clip:border-box;
  -webkit-background-clip:border-box;
  -webkit-text-fill-color:currentColor;
  font-size:clamp(16px,1.15vw,18px);
  font-weight:500;
  font-style:normal;
  letter-spacing:normal;
  line-height:1.65;
  text-transform:none;
  animation:none;
}

@media(max-width:820px){
  .corporate-hero .hero-institutional-heading{
    margin-bottom:16px;
  }
}

@media(max-width:600px){
  .corporate-hero .hero-institutional-heading{
    font-size:16px;
  }
}

/*
 * Evolution V38 — distribution adjustment from reference image 3.
 * Visual treatments, copy, buttons, navigation and animation are unchanged.
 */
.corporate-hero::after{
  position:absolute;
  z-index:2;
  inset:0 auto 0 0;
  width:46%;
  display:block;
  content:"";
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,.98) 0%,
    rgba(255,255,255,.95) 66%,
    rgba(255,255,255,.58) 84%,
    rgba(255,255,255,0) 100%
  );
  filter:none;
  backdrop-filter:none;
}
.icssa-hero-map{
  inset:0 0 0 40%;
  width:60%;
  height:100%;
  opacity:1;
  overflow:hidden;
  filter:none;
}
.icssa-hero-map__stage{
  inset:auto;
  top:58%;
  left:-16%;
  width:auto;
  height:86%;
  aspect-ratio:1672/941;
  overflow:visible;
  transform:translateY(-50%);
}
.icssa-hero-map__background{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:fill;
  object-position:center;
  filter:none;
  transform:none;
}
.icssa-hero__content{
  grid-template-columns:minmax(0,38%) minmax(0,62%);
}
.icssa-hero__content>*{
  grid-column:1;
}
.brand-logo{
  width:100%;
  height:auto;
  aspect-ratio:1860/845;
  object-fit:contain;
  background:transparent;
}

@media(max-width:900px) and (min-width:701px){
  .corporate-hero::after{
    width:48%;
  }
  .icssa-hero-map{
    inset:0 0 0 43%;
    width:57%;
    opacity:1;
  }
  .icssa-hero-map__stage{
    top:58%;
    left:-18%;
    width:auto;
    height:82%;
    transform:translateY(-50%);
  }
  .icssa-hero-map__background{
    object-fit:fill;
    object-position:center;
    filter:none;
  }
  .icssa-hero__content{
    grid-template-columns:minmax(0,38%) minmax(0,62%);
  }
}

@media(max-width:700px){
  .corporate-hero{
    min-height:0;
    display:flex;
    flex-direction:column;
    padding:0;
    background:#edf4fc;
  }
  .corporate-hero::after{
    display:none;
    content:none;
    background:none;
  }
  .icssa-hero__content{
    position:relative;
    order:1;
    width:min(100% - 32px,var(--container));
    height:auto;
    display:block;
    padding-top:calc(var(--header-height,140px) + 32px);
    padding-bottom:42px;
    background:linear-gradient(
      90deg,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.9) 72%,
      rgba(255,255,255,.46) 100%
    );
  }
  .icssa-hero-map{
    position:relative;
    order:2;
    inset:auto;
    width:100%;
    height:auto;
    aspect-ratio:1672/941;
    opacity:1;
  }
  .icssa-hero-map__stage{
    inset:0;
    top:0;
    left:0;
    width:100%;
    height:100%;
    aspect-ratio:1672/941;
    transform:none;
  }
  .icssa-hero-map__background{
    width:100%;
    height:100%;
    object-fit:fill;
    object-position:center;
    filter:none;
  }
}

/*
 * Evolution V42b — restrained Mexico animation.
 * Existing SVG elements are reused; composition, copy and controls are unchanged.
 */
.icssa-hero-map__overlay{
  z-index:3;
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
  opacity:1;
  pointer-events:none;
}
.icssa-global-routes,
.icssa-route-packets{
  display:none;
}
.icssa-global-sparkle{
  fill:#86d8ff;
  opacity:.1;
  mix-blend-mode:screen;
  filter:drop-shadow(0 0 4px rgba(59,164,231,.48));
  transform-box:fill-box;
  transform-origin:center;
  will-change:transform,opacity;
  animation:icssa-v42-world-sparkle 11.8s ease-in-out infinite;
}
.icssa-global-sparkle:nth-child(2){animation-duration:13.4s;animation-delay:-7.1s}
.icssa-global-sparkle:nth-child(3){animation-duration:10.6s;animation-delay:-3.8s}
.icssa-global-sparkle:nth-child(4){animation-duration:14.2s;animation-delay:-9.4s}
.icssa-global-sparkle:nth-child(5){animation-duration:12.7s;animation-delay:-5.6s}
.icssa-global-sparkle:nth-child(6){animation-duration:15.1s;animation-delay:-11.3s}
.icssa-mexico-territory-light{
  fill:url(#icssa-mexico-light);
  opacity:.38;
  mix-blend-mode:screen;
  filter:drop-shadow(0 0 8px rgba(38,151,222,.42));
  transform-box:fill-box;
  transform-origin:center;
  will-change:transform,opacity;
  animation:icssa-v42-mexico-breathe 3.8s ease-in-out infinite;
}
.icssa-mexico-pearl{
  fill:#bdeeff;
  stroke:rgba(63,178,235,.72);
  stroke-width:.7;
  opacity:.16;
  mix-blend-mode:screen;
}
.icssa-mexico-origin__halo{
  fill:rgba(35,157,224,.3);
  stroke:rgba(93,205,248,.56);
  stroke-width:.8;
  opacity:.4;
  mix-blend-mode:screen;
  filter:drop-shadow(0 0 6px rgba(42,164,228,.5));
  transform-box:fill-box;
  transform-origin:center;
  will-change:transform,opacity;
  animation:icssa-v42-mexico-halo 3.8s ease-in-out infinite;
}
.icssa-mexico-origin__point{
  fill:#36b9f1;
  stroke:#bcecff;
  stroke-width:1.35;
  opacity:.82;
  mix-blend-mode:screen;
  filter:drop-shadow(0 0 5px rgba(45,173,235,.7));
  transform-box:fill-box;
  transform-origin:center;
  will-change:transform,opacity;
  animation:icssa-v42-mexico-flash 5.6s ease-in-out infinite;
}
.icssa-mexico-origin__pulse{
  --icssa-wave-scale:6.4;
  --icssa-wave-opacity:.4;
  display:block;
  fill:none;
  stroke:#78d6fa;
  stroke-width:.8;
  stroke-opacity:1;
  vector-effect:non-scaling-stroke;
  opacity:0;
  mix-blend-mode:screen;
  filter:drop-shadow(0 0 3px rgba(65,183,235,.5));
  transform-box:fill-box;
  transform-origin:center;
  will-change:transform,opacity;
  animation:icssa-v42-mexico-wave 4.6s cubic-bezier(.2,.55,.35,1) infinite;
}
.icssa-mexico-origin__pulse:nth-child(2){
  --icssa-wave-opacity:.34;
  animation-delay:1.4s;
}
.icssa-mexico-origin__pulse:nth-child(3){
  --icssa-wave-opacity:.29;
  animation-delay:2.8s;
}
.icssa-mexico-origin__pulse:nth-child(n+4){
  display:none;
}
.corporate-hero.is-animation-paused .icssa-hero-map__overlay *{
  animation-play-state:paused;
}

@keyframes icssa-v42-mexico-breathe{
  0%,100%{opacity:.36;transform:scale(.97)}
  50%{opacity:.58;transform:scale(1.06)}
}
@keyframes icssa-v42-mexico-halo{
  0%,100%{opacity:.34;transform:scale(.92)}
  50%{opacity:.54;transform:scale(1.08)}
}
@keyframes icssa-v42-mexico-flash{
  0%,76%,100%{opacity:.8;transform:scale(1)}
  83%{opacity:1;transform:scale(1.18)}
  89%{opacity:.84;transform:scale(1.03)}
}
@keyframes icssa-v42-mexico-wave{
  0%{opacity:0;transform:scale(.55)}
  10%{opacity:var(--icssa-wave-opacity);transform:scale(.72)}
  72%{opacity:.14}
  100%{opacity:0;transform:scale(var(--icssa-wave-scale))}
}
@keyframes icssa-v42-world-sparkle{
  0%,34%,100%{opacity:.08;transform:scale(.92)}
  42%{opacity:.24;transform:scale(1.12)}
  48%{opacity:.12;transform:scale(1)}
  79%{opacity:.3;transform:scale(1.2)}
  86%{opacity:.1;transform:scale(.98)}
}

@media(max-width:900px){
  .icssa-mexico-origin__pulse{
    --icssa-wave-scale:5.5;
    stroke-width:.72;
  }
}
@media(max-width:700px){
  .icssa-mexico-origin__pulse{
    --icssa-wave-scale:4.8;
    stroke-width:.68;
  }
  .icssa-mexico-origin__pulse:nth-child(3){
    display:none;
  }
  .icssa-global-sparkle{
    opacity:.08;
  }
}
@media(prefers-reduced-motion:reduce){
  .icssa-hero-map__overlay *{
    animation:none!important;
  }
  .icssa-mexico-origin__pulse{
    display:none!important;
  }
  .icssa-mexico-territory-light{
    opacity:.46;
    transform:none;
  }
  .icssa-mexico-origin__halo{
    opacity:.42;
    transform:none;
  }
  .icssa-mexico-origin__point{
    opacity:.88;
    transform:none;
  }
  .icssa-mexico-pearl{
    opacity:.16;
    transform:none;
  }
  .icssa-global-sparkle{
    opacity:.12;
    transform:none;
  }
}

/*
 * Evolution V41 — seamless header-to-Hero transition.
 * The header remains a transparent layer over the existing composition; no
 * content or map positioning is changed.
 */
.corporate-hero{
  background:linear-gradient(
    90deg,
    #fff 0%,
    #fbfdff 28%,
    #f5f9fd 34%,
    #dce6f1 44%,
    #c0d2e7 60%,
    #a4bddb 78%,
    #87a4ca 100%
  );
}
.corporate-hero::before{
  position:absolute;
  z-index:1;
  inset:0;
  display:block;
  content:"";
  pointer-events:none;
  background:radial-gradient(
    ellipse 72% 38% at 12% 0%,
    rgba(255,255,255,.92) 0%,
    rgba(252,254,255,.7) 38%,
    rgba(248,252,255,.28) 68%,
    rgba(248,252,255,0) 100%
  );
  filter:none;
  backdrop-filter:none;
}
.icssa-hero-map__stage{
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 100%);
}
.site-header,
.site-header:not(.is-scrolled){
  background:transparent;
  border:0;
  border-bottom:0;
  box-shadow:none;
  backdrop-filter:none;
}
.site-header.is-scrolled{
  background:rgba(248,252,255,.9);
  border:0;
  border-bottom:0;
  box-shadow:none;
  backdrop-filter:blur(14px);
}
.dark-mode .site-header,
.dark-mode .site-header:not(.is-scrolled){
  border:0;
  border-bottom:0;
  box-shadow:none;
}

/*
 * Evolution V40b — continuous Hero composition.
 * The approved render remains an unfiltered image layer. Its full-bleed wrapper
 * and the progressive veil below prevent the map from reading as a second
 * rectangular column.
 */
.corporate-hero{
  background:#eef5fb;
}
.corporate-hero::after{
  position:absolute;
  z-index:2;
  inset:0;
  width:auto;
  display:block;
  content:"";
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,.99) 0%,
    rgba(255,255,255,.98) 27%,
    rgba(255,255,255,.91) 32%,
    rgba(255,255,255,.58) 37%,
    rgba(255,255,255,.18) 41%,
    rgba(255,255,255,0) 44%
  );
  filter:none;
  backdrop-filter:none;
}
.icssa-hero-map{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:1;
  overflow:hidden;
  background:transparent;
  border:0;
  filter:none;
}
.icssa-hero-map__stage{
  inset:auto;
  top:53.5%;
  right:calc(48.5vw - 115.9vh);
  left:auto;
  width:auto;
  height:93%;
  aspect-ratio:1672/941;
  overflow:visible;
  background:transparent;
  border:0;
  transform:translateY(-50%);
}
.icssa-hero-map__background{
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  opacity:1;
  object-fit:fill;
  object-position:center;
  filter:none;
  mix-blend-mode:normal;
  transform:none;
}
.icssa-hero__content{
  grid-template-columns:minmax(0,38%) minmax(0,62%);
}
.icssa-hero__content>*{
  grid-column:1;
}
.corporate-hero #hero-title{
  width:100%;
  max-width:520px;
  font-size:clamp(38px,3.35vw,48px);
  line-height:1.08;
}
.brand-logo{
  width:100%;
  height:auto;
  aspect-ratio:1860/845;
  object-fit:contain;
  background:transparent;
}

@media(max-width:900px) and (min-width:701px){
  .corporate-hero::after{
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0) 43%,
        rgba(255,255,255,.94) 51%,
        rgba(255,255,255,.62) 61%,
        rgba(255,255,255,0) 73%
      ),
      linear-gradient(
        90deg,
        rgba(255,255,255,.99) 0%,
        rgba(255,255,255,.97) 31%,
        rgba(255,255,255,.78) 40%,
        rgba(255,255,255,.28) 47%,
        rgba(255,255,255,0) 53%
      );
  }
  .icssa-hero-map{
    inset:0;
    width:100%;
    height:100%;
  }
  .icssa-hero-map__stage{
    top:auto;
    right:-45vw;
    bottom:-2%;
    left:auto;
    width:115vw;
    height:auto;
    transform:none;
  }
  .icssa-hero__content{
    grid-template-columns:minmax(0,38%) minmax(0,62%);
  }
  .corporate-hero #hero-title{
    font-size:clamp(35px,5vw,42px);
  }
}

@media(max-width:700px){
  .corporate-hero{
    min-height:max(880px,100svh);
    display:grid;
    padding:0;
    background:#eef5fb;
  }
  .corporate-hero::after{
    inset:0;
    width:auto;
    display:block;
    content:"";
    background:linear-gradient(
      180deg,
      rgba(255,255,255,.99) 0%,
      rgba(255,255,255,.98) 48%,
      rgba(255,255,255,.84) 55%,
      rgba(255,255,255,.28) 65%,
      rgba(255,255,255,0) 73%
    );
  }
  .icssa-hero__content{
    position:relative;
    z-index:3;
    order:initial;
    width:min(100% - 32px,var(--container));
    height:auto;
    display:block;
    align-self:start;
    padding-top:calc(var(--header-height,140px) + 32px);
    padding-bottom:0;
    background:transparent;
  }
  .icssa-hero-map{
    position:absolute;
    order:initial;
    inset:0;
    width:100%;
    height:100%;
    aspect-ratio:auto;
    opacity:1;
  }
  .icssa-hero-map__stage{
    inset:auto;
    top:75%;
    right:calc(30vw - 87vh);
    bottom:auto;
    left:auto;
    width:auto;
    height:70%;
    aspect-ratio:1672/941;
    transform:translateY(-50%);
  }
  .icssa-hero-map__background{
    width:100%;
    height:100%;
    object-fit:fill;
    object-position:center;
    filter:none;
  }
  .corporate-hero #hero-title{
    width:100%;
    max-width:520px;
    font-size:clamp(32px,9vw,38px);
  }
}
