/* Preview: hero fotográfico full-bleed con parallax en capas. */
.hero-v1{
  position:relative;
  min-height:clamp(610px,72vh,780px);
  overflow:hidden;
  isolation:isolate;
  background:#07152a;
  color:#fff;
}
.hero-v1 .hero-scene{
  position:relative;
  min-height:clamp(570px,68vh,735px);
  overflow:hidden;
  isolation:isolate;
  perspective:1200px;
}
.hero-v1 .hero-art{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  padding:0;
  margin:0;
}
.hero-v1 .hero-art::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(4,17,37,.97) 0%,
      rgba(5,20,43,.92) 24%,
      rgba(6,24,51,.70) 39%,
      rgba(7,27,56,.34) 54%,
      rgba(7,27,56,.08) 66%,
      transparent 76%),
    linear-gradient(0deg,rgba(3,14,31,.38),transparent 36%);
}
.hero-v1 .hero-main-photo{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:56% 50%;
  transform:translate3d(
    var(--hero-photo-x,0px),
    calc(var(--hero-scroll,0px) + var(--hero-photo-y,0px)),
    0
  ) scale(1.105);
  transform-origin:center;
  will-change:transform;
  transition:transform .18s cubic-bezier(.2,.7,.2,1);
}
.hero-v1 .hero-content{
  position:relative;
  z-index:2;
  padding-block:clamp(64px,8vh,92px) 54px;
  pointer-events:none;
}
.hero-v1 .hero-copy{
  max-width:680px;
  pointer-events:auto;
  transform:translate3d(
    var(--hero-copy-x,0px),
    calc(var(--hero-copy-y,0px) + var(--hero-copy-scroll,0px)),
    0
  );
  transform-origin:left center;
  will-change:transform;
  transition:transform .2s cubic-bezier(.2,.7,.2,1);
}
.hero-v1 .hero-eyebrow{color:rgba(255,255,255,.86);text-shadow:0 1px 18px rgba(0,0,0,.2)}
.hero-v1 h1{color:#fff;text-shadow:0 4px 28px rgba(0,0,0,.2)}
.hero-v1 .hero-description{color:rgba(255,255,255,.88);text-shadow:0 2px 20px rgba(0,0,0,.2)}
.hero-v1 .button-outline{
  color:#fff;
  border-color:rgba(255,255,255,.78);
  background:rgba(5,18,39,.18);
  backdrop-filter:blur(4px);
}
.hero-v1 .button-outline:hover{color:#fff;background:rgba(255,255,255,.12);border-color:#fff}
.hero-v1 .hero-foot{position:relative;z-index:2}
.hero-v1 .hero-foot>a{color:rgba(255,255,255,.9)}
.hero-v1.is-parallax-active .hero-main-photo,
.hero-v1.is-parallax-active .hero-copy{transition-duration:.1s}

@media(max-width:960px){
  .hero-v1{min-height:600px}
  .hero-v1 .hero-scene{min-height:555px}
  .hero-v1 .hero-art::after{
    background:linear-gradient(90deg,rgba(4,17,37,.96),rgba(5,20,43,.78) 48%,rgba(6,24,51,.25) 78%,transparent);
  }
  .hero-v1 .hero-copy{max-width:590px}
}
@media(max-width:760px){
  .hero-v1{min-height:0}
  .hero-v1 .hero-scene{min-height:620px;display:flex;justify-content:flex-end}
  .hero-v1 .hero-content{width:calc(100% - 48px);padding-block:90px 54px}
  .hero-v1 .hero-art{position:absolute;inset:0}
  .hero-v1 .hero-main-photo{
    object-position:52% 50%;
    transform:scale(1.08);
    transition:none;
  }
  .hero-v1 .hero-art::after{
    background:
      linear-gradient(90deg,rgba(4,17,37,.95),rgba(5,20,43,.72) 66%,rgba(6,24,51,.28)),
      linear-gradient(0deg,rgba(3,14,31,.72),transparent 70%);
  }
  .hero-v1 .hero-copy{transform:none;transition:none}
}
@media(prefers-reduced-motion:reduce){
  .hero-v1 .hero-main-photo{transform:scale(1.08)!important;transition:none!important;will-change:auto}
  .hero-v1 .hero-copy{transform:none!important;transition:none!important;will-change:auto}
}

/* Bloqueo de composición: prevalece sobre variantes históricas del tema. */
body.focus-native.fr-hero-v1 .hero.hero-v1{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:clamp(610px,72vh,780px)!important;
  overflow:hidden!important;
  background:#07152a!important;
  color:#fff!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-scene{
  position:relative!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  min-height:clamp(570px,68vh,735px)!important;
  width:100%!important;
  overflow:hidden!important;
  transform:none!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-art{
  position:absolute!important;
  inset:0!important;
  order:initial!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  aspect-ratio:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  z-index:0!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-art::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,
      rgba(4,17,37,.98) 0%,
      rgba(5,20,43,.94) 23%,
      rgba(6,24,51,.74) 39%,
      rgba(7,27,56,.36) 54%,
      rgba(7,27,56,.08) 67%,
      transparent 77%),
    linear-gradient(0deg,rgba(3,14,31,.36),transparent 38%)!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-main-photo{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:56% 50%!important;
  transform:translate3d(
    var(--hero-photo-x,0px),
    calc(var(--hero-scroll,0px) + var(--hero-photo-y,0px)),
    0
  ) scale(1.105)!important;
  transform-origin:center!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-content{
  position:relative!important;
  z-index:2!important;
  order:initial!important;
  flex:none!important;
  width:calc(100% - 112px)!important;
  max-width:1200px!important;
  margin-inline:auto!important;
  padding-block:clamp(64px,8vh,92px) 54px!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-copy{
  max-width:680px!important;
  color:#fff!important;
  transform:translate3d(
    var(--hero-copy-x,0px),
    calc(var(--hero-copy-y,0px) + var(--hero-copy-scroll,0px)),
    0
  )!important;
  translate:none!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-eyebrow{
  display:block!important;
  color:rgba(255,255,255,.88)!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.focus-native.fr-hero-v1 .hero-v1 h1,
body.focus-native.fr-hero-v1 .hero-v1 h1>span{
  color:#fff!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-description{
  color:rgba(255,255,255,.9)!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-actions{
  background:transparent!important;
  box-shadow:none!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .button-outline{
  color:#fff!important;
  border-color:rgba(255,255,255,.8)!important;
  background:rgba(5,18,39,.18)!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-foot{
  position:relative!important;
  z-index:2!important;
  order:initial!important;
  background:transparent!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-foot>a{color:rgba(255,255,255,.9)!important}

/* Revisión 2: encuadre fiel, altura one-page y movimiento sólo al scrollear. */
html{scroll-behavior:smooth}
body.focus-native.fr-hero-v1 .hero.hero-v1{
  height:calc(100svh - 100px)!important;
  min-height:680px!important;
  max-height:none!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-scene{
  height:100%!important;
  min-height:100%!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-content{
  display:flex!important;
  align-items:center!important;
  height:100%!important;
  padding-block:0 48px!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-main-photo{
  object-position:50% 50%!important;
  transform:translate3d(0,var(--hero-photo-scroll,0px),0) scale(1.055)!important;
  transition:none!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-copy{
  opacity:var(--hero-copy-opacity,1)!important;
  transform:translate3d(0,var(--hero-copy-scroll,0px),0)!important;
  transition:none!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-art::after{
  opacity:var(--hero-overlay-opacity,1);
  background:
    linear-gradient(90deg,
      rgba(3,17,37,.88) 0%,
      rgba(5,25,52,.82) 21%,
      rgba(8,37,70,.68) 38%,
      rgba(10,46,82,.36) 53%,
      rgba(10,46,82,.10) 66%,
      transparent 76%),
    linear-gradient(0deg,rgba(3,15,33,.22),transparent 42%)!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-foot{
  position:absolute!important;
  left:50%!important;
  bottom:20px!important;
  width:calc(100% - 112px)!important;
  max-width:1200px!important;
  transform:translateX(-50%)!important;
  padding:0!important;
}

/* Entrada editorial: la fotografía se revela y el contenido entra por capas. */
body.focus-native.fr-hero-v1 .hero-v1 .hero-art{
  animation:fr-hero-bg-in 1.25s cubic-bezier(.2,.75,.2,1) both;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-art::after{
  animation:fr-hero-overlay-in 1s .18s cubic-bezier(.2,.75,.2,1) both;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-eyebrow,
body.focus-native.fr-hero-v1 .hero-v1 h1,
body.focus-native.fr-hero-v1 .hero-v1 .hero-description,
body.focus-native.fr-hero-v1 .hero-v1 .hero-actions,
body.focus-native.fr-hero-v1 .hero-v1 .hero-foot{
  opacity:0;
  animation:fr-hero-item-in .82s cubic-bezier(.2,.75,.2,1) forwards;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-eyebrow{animation-delay:.28s}
body.focus-native.fr-hero-v1 .hero-v1 h1{animation-delay:.38s}
body.focus-native.fr-hero-v1 .hero-v1 .hero-description{animation-delay:.50s}
body.focus-native.fr-hero-v1 .hero-v1 .hero-actions{animation-delay:.62s}
body.focus-native.fr-hero-v1 .hero-v1 .hero-foot{animation-delay:.78s}

@keyframes fr-hero-bg-in{
  from{opacity:0;clip-path:inset(0 0 7% 0);filter:blur(4px) saturate(.82)}
  to{opacity:1;clip-path:inset(0);filter:none}
}
@keyframes fr-hero-overlay-in{
  from{opacity:0}
  to{opacity:var(--hero-overlay-opacity,1)}
}
@keyframes fr-hero-item-in{
  from{opacity:0;transform:translate3d(0,24px,0);filter:blur(3px)}
  to{opacity:1;transform:translate3d(0,0,0);filter:none}
}

/* Aparición suave de las grandes secciones para dar continuidad de una sola página. */
body.focus-native main>section.fr-section-motion{
  opacity:.18;
  filter:blur(3px);
  transition:opacity .8s cubic-bezier(.2,.75,.2,1),filter .8s cubic-bezier(.2,.75,.2,1);
}
body.focus-native main>section.fr-section-motion.fr-section-in{
  opacity:1;
  filter:none;
}

@media(max-width:960px){
  body.focus-native.fr-hero-v1 .hero.hero-v1{
    height:calc(100svh - 84px)!important;
    min-height:640px!important;
  }
}
@media(max-width:760px){
  body.focus-native.fr-hero-v1 .hero.hero-v1{
    height:calc(100svh - 76px)!important;
    min-height:620px!important;
  }
  body.focus-native.fr-hero-v1 .hero-v1 .hero-scene{
    height:100%!important;
    min-height:100%!important;
    display:flex!important;
    flex-direction:row!important;
    justify-content:flex-end!important;
  }
  body.focus-native.fr-hero-v1 .hero-v1 .hero-content{
    width:calc(100% - 48px)!important;
    height:100%!important;
    padding-block:72px 62px!important;
  }
  body.focus-native.fr-hero-v1 .hero-v1 .hero-art{position:absolute!important;inset:0!important;height:100%!important}
  body.focus-native.fr-hero-v1 .hero-v1 .hero-main-photo{
    object-position:48% 50%!important;
    transform:translate3d(0,var(--hero-photo-scroll,0px),0) scale(1.075)!important;
  }
  body.focus-native.fr-hero-v1 .hero-v1 .hero-copy{
    opacity:var(--hero-copy-opacity,1)!important;
    transform:translate3d(0,var(--hero-copy-scroll,0px),0)!important;
  }
  body.focus-native.fr-hero-v1 .hero-v1 .hero-foot{
    width:calc(100% - 48px)!important;
    bottom:16px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body.focus-native.fr-hero-v1 .hero-v1 .hero-art,
  body.focus-native.fr-hero-v1 .hero-v1 .hero-art::after,
  body.focus-native.fr-hero-v1 .hero-v1 .hero-eyebrow,
  body.focus-native.fr-hero-v1 .hero-v1 h1,
  body.focus-native.fr-hero-v1 .hero-v1 .hero-description,
  body.focus-native.fr-hero-v1 .hero-v1 .hero-actions,
  body.focus-native.fr-hero-v1 .hero-v1 .hero-foot{
    animation:none!important;
    opacity:1!important;
    clip-path:none!important;
    filter:none!important;
  }
  body.focus-native.fr-hero-v1 .hero-v1 .hero-main-photo{transform:scale(1.055)!important}
  body.focus-native.fr-hero-v1 .hero-v1 .hero-copy{opacity:1!important;transform:none!important}
  body.focus-native main>section.fr-section-motion{opacity:1!important;filter:none!important;transition:none!important}
}

/* Revisión 4: regreso al hero claro con fundido blanco. */
body.focus-native.fr-hero-v1 .hero.hero-v1{
  background:#fff!important;
  color:#07152a!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-art::after{
  opacity:var(--hero-overlay-opacity,1);
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.995) 0%,
      rgba(255,255,255,.985) 20%,
      rgba(255,255,255,.92) 35%,
      rgba(255,255,255,.68) 48%,
      rgba(255,255,255,.28) 60%,
      rgba(255,255,255,.06) 70%,
      transparent 78%),
    linear-gradient(0deg,
      #fff 0%,
      rgba(255,255,255,.97) 5%,
      rgba(255,255,255,.72) 14%,
      rgba(255,255,255,.22) 27%,
      transparent 42%)!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-eyebrow{
  color:#e40067!important;
  text-shadow:none!important;
}
body.focus-native.fr-hero-v1 .hero-v1 h1,
body.focus-native.fr-hero-v1 .hero-v1 h1>span{
  color:#07152a!important;
  text-shadow:none!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-description{
  color:#53627a!important;
  text-shadow:none!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .button-outline{
  color:#e40067!important;
  border-color:rgba(228,0,103,.48)!important;
  background:rgba(255,255,255,.42)!important;
  backdrop-filter:blur(5px);
}
body.focus-native.fr-hero-v1 .hero-v1 .button-outline:hover{
  color:#fff!important;
  border-color:#e40067!important;
  background:#e40067!important;
}
body.focus-native.fr-hero-v1 .hero-v1 .hero-foot>a{
  color:#07152a!important;
}
@media(max-width:760px){
  body.focus-native.fr-hero-v1 .hero-v1 .hero-art::after{
    background:
      linear-gradient(90deg,
        rgba(255,255,255,.98) 0%,
        rgba(255,255,255,.92) 42%,
        rgba(255,255,255,.64) 68%,
        rgba(255,255,255,.22) 88%),
      linear-gradient(0deg,#fff 0%,rgba(255,255,255,.86) 17%,transparent 48%)!important;
  }
}