/* MANUcast.net Child v4.3.8 - connected featured layer. Typography untouched. */

html body .mnet-f02-hero {
  position: relative;
  width: 100vw !important;
  max-width: none !important;
  height: var(--mnet-f434-height) !important;
  min-height: 560px !important;
  margin: 0 calc(50% - 50vw) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background: #020403 !important;
  color: #fff !important;
  isolation: isolate;
  box-shadow: none !important;
}

html body .mnet-f02-stage,
html body .mnet-f02-slide,
html body .mnet-f02-slide-image {
  border-radius: 0 !important;
}

html body .mnet-f02-stage {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: #020403 !important;
}

html body .mnet-f02-slide {
  position: absolute !important;
  inset: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: none !important;
  transition: opacity var(--mnet-f02-transition, 1200ms) cubic-bezier(.2,.72,.18,1), visibility var(--mnet-f02-transition, 1200ms) ease !important;
  will-change: opacity;
}

html body .mnet-f02-slide.is-active {
  opacity: 1 !important;
  visibility: visible !important;
}

html body .mnet-f02-slide-image {
  position: absolute !important;
  inset: -8% !important;
  background-image: var(--mnet-f02-image) !important;
  background-position: center center !important;
  background-size: var(--mnet-f434-bg-size, cover) !important;
  background-repeat: var(--mnet-f434-bg-repeat, no-repeat) !important;
  filter: saturate(1.06) contrast(1.04) brightness(.99) !important;
  transform-origin: center center !important;
  transform: scale(1.045) translate3d(calc(var(--mnet-f434-camera-drift, 3%) * -0.62), .35%, 0) !important;
  image-rendering: auto !important;
  backface-visibility: hidden !important;
  will-change: transform;
}

html body .mnet-f02-motion-on .mnet-f02-slide.is-active .mnet-f02-slide-image,
html body .mnet-f02-effect-kenburns.mnet-f02-motion-on .mnet-f02-slide.is-active .mnet-f02-slide-image,
html body .mnet-f02-effect-fade.mnet-f02-motion-on .mnet-f02-slide.is-active .mnet-f02-slide-image,
html body .mnet-f02-effect-dissolve.mnet-f02-motion-on .mnet-f02-slide.is-active .mnet-f02-slide-image {
  animation: mnet438CinematicCamera var(--mnet-f434-camera-duration, 14500ms) cubic-bezier(.16,.72,.24,1) infinite alternate both !important;
}

@keyframes mnet438CinematicCamera {
  0%   { transform: scale(1.035) translate3d(calc(var(--mnet-f434-camera-drift, 4%) * -0.96), .55%, 0); }
  36%  { transform: scale(calc(var(--mnet-f434-camera-scale, 1.20) - .082)) translate3d(calc(var(--mnet-f434-camera-drift, 4%) * -0.18), -.62%, 0); }
  72%  { transform: scale(calc(var(--mnet-f434-camera-scale, 1.20) - .034)) translate3d(calc(var(--mnet-f434-camera-drift, 4%) * .56), -.46%, 0); }
  100% { transform: scale(var(--mnet-f434-camera-scale, 1.20)) translate3d(calc(var(--mnet-f434-camera-drift, 4%) * 1.12), .30%, 0); }
}

/* Final diffusion: full support on the left, focal under copy, very slow dissolve to the right. */
html body .mnet-f02-shade {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg, rgba(0,0,0,var(--mnet-f434-left-alpha)) 0%, rgba(0,0,0,calc(var(--mnet-f434-left-alpha) * .92)) 24%, rgba(0,0,0,calc(var(--mnet-f434-left-alpha) * .58)) 48%, rgba(0,0,0,var(--mnet-f434-mid-alpha)) 72%, rgba(0,0,0,var(--mnet-f434-soft-alpha)) 91%, rgba(0,0,0,0) 100%),
    radial-gradient(ellipse 96% 108% at 24% 56%, rgba(0,0,0,var(--mnet-f434-focal-alpha)) 0%, rgba(0,0,0,calc(var(--mnet-f434-focal-alpha) * .66)) 34%, rgba(0,0,0,var(--mnet-f434-mid-alpha)) 65%, rgba(0,0,0,var(--mnet-f434-soft-alpha)) 89%, rgba(0,0,0,0) 100%),
    linear-gradient(180deg, rgba(0,0,0,.04) 0%, rgba(0,0,0,.01) 42%, rgba(0,0,0,var(--mnet-f434-floor-alpha)) 100%) !important;
  filter: none !important;
}

/* Soft local cushion behind the text only: no visible shape. */
html body .mnet-f02-copy::before {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  top: clamp(-96px, -10vh, -58px) !important;
  right: clamp(-300px, -21vw, -150px) !important;
  bottom: clamp(-118px, -13vh, -70px) !important;
  left: clamp(-92px, -8vw, -46px) !important;
  pointer-events: none !important;
  clip-path: none !important;
  border-radius: 999px !important;
  opacity: .72 !important;
  filter: blur(58px) !important;
  background: radial-gradient(ellipse 88% 94% at 25% 53%, rgba(0,0,0,.44) 0%, rgba(0,0,0,.30) 42%, rgba(0,0,0,.105) 76%, rgba(0,0,0,0) 100%) !important;
}

html body .mnet-f02-inner {
  position: relative !important;
  z-index: 3 !important;
  width: min(calc(100% - 52px), 1640px) !important;
  max-width: none !important;
  height: 100% !important;
  margin-inline: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

html body .mnet-f02-copy {
  width: min(840px, 100%) !important;
  padding: clamp(70px, 8vh, 104px) 0 clamp(82px, 9vh, 118px) !important;
  margin-left: clamp(8px, 3.4vw, 64px) !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 4 !important;
}

html body .mnet-f02-copy > * {
  position: relative;
  z-index: 1;
}

html body .mnet-f02-copy .mnet-kicker {
  display: inline-flex !important;
  margin: 0 0 19px !important;
  color: var(--mnet-brand) !important;
  font-weight: 900 !important;
  letter-spacing: var(--mnet-f434-kicker-spacing, .13em) !important;
  text-shadow: 0 2px 18px rgba(0,0,0,.58) !important;
}

html body .mnet-f02-copy h1 {
  margin: 0 0 25px !important;
  font-family: var(--mnet-font-heading) !important;
  font-size: clamp(3.15rem, 5.75vw, 6.35rem) !important;
  font-weight: var(--mnet-heading-weight) !important;
  line-height: .94 !important;
  letter-spacing: var(--mnet-f434-title-spacing, -.05em) !important;
  color: #fff !important;
  max-width: 840px !important;
  text-shadow: 0 9px 42px rgba(0,0,0,.64), 0 2px 8px rgba(0,0,0,.56) !important;
}

html body .mnet-f02-copy p {
  max-width: 690px !important;
  color: rgba(255,255,255,.965) !important;
  font-family: var(--mnet-font-body) !important;
  font-size: clamp(1.03rem, 1.2vw, 1.18rem) !important;
  line-height: 1.64 !important;
  font-weight: 680 !important;
  text-shadow: 0 4px 26px rgba(0,0,0,.66), 0 1px 3px rgba(0,0,0,.48) !important;
}

html body .mnet-f02-copy .mnet-hero-badges { margin: 29px 0 32px !important; }
html body .mnet-f02-copy .mnet-hero-badges b {
  background: rgba(0,0,0,.24) !important;
  border-color: rgba(255,255,255,.22) !important;
  color: rgba(255,255,255,.96) !important;
  font-weight: 780 !important;
  backdrop-filter: blur(8px);
}

html body .mnet-f02-hero:not(.mnet-f02-animating) .mnet-f02-copy > *,
html body .mnet-f02-hero.mnet-f02-text-none .mnet-f02-copy > * {
  opacity: 1 !important;
  transform: translate3d(0,0,0) scale(1) !important;
  filter: blur(0) !important;
  clip-path: none !important;
  visibility: visible !important;
}

html body .mnet-f02-controls {
  position: absolute !important;
  z-index: 5 !important;
  right: max(28px, calc((100vw - 1640px) / 2 + 44px)) !important;
  left: auto !important;
  bottom: 34px !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 16px !important;
  pointer-events: none !important;
}

html body .mnet-f02-dots {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  pointer-events: auto !important;
}

html body .mnet-f02-dot {
  appearance: none !important;
  width: 38px !important;
  height: 2px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.40) !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: width .32s ease, background-color .32s ease, opacity .32s ease !important;
}
html body .mnet-f02-dot:hover { background: rgba(255,255,255,.75) !important; }
html body .mnet-f02-dot.is-active { width: 64px !important; background: var(--mnet-brand) !important; }

html body .mnet-f02-toggle {
  pointer-events: auto !important;
  appearance: none !important;
  position: relative !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  border-radius: 999px !important;
  background: rgba(3,7,5,.42) !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  backdrop-filter: blur(12px) saturate(1.08) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.22) !important;
  cursor: pointer !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
html body .mnet-f02-toggle::before,
html body .mnet-f02-toggle::after {
  content: "" !important;
  position: absolute !important;
  top: 11px !important;
  width: 3px !important;
  height: 15px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.94) !important;
  transition: transform .2s ease, opacity .2s ease, width .2s ease !important;
}
html body .mnet-f02-toggle::before { left: 14px !important; }
html body .mnet-f02-toggle::after { right: 14px !important; }
html body .mnet-f02-toggle:hover { background: rgba(5,14,10,.66) !important; border-color: rgba(255,255,255,.44) !important; transform: translateY(-1px) !important; }
html body .mnet-f02-paused .mnet-f02-toggle::before { left: 15px !important; top: 10px !important; width: 0 !important; height: 0 !important; border-radius: 0 !important; background: transparent !important; border-top: 8px solid transparent !important; border-bottom: 8px solid transparent !important; border-left: 12px solid rgba(255,255,255,.94) !important; }
html body .mnet-f02-paused .mnet-f02-toggle::after { opacity: 0 !important; }

@media (max-width: 1024px) {
  html body .mnet-f02-hero { height: max(var(--mnet-f434-height-mobile), 520px) !important; min-height: 500px !important; }
  html body .mnet-f02-inner { width: min(calc(100% - 48px), 980px) !important; }
  html body .mnet-f02-copy { margin-left: 0 !important; width: min(760px, 100%) !important; padding-top: 70px !important; padding-bottom: 104px !important; }
}

@media (max-width: 820px) {
  html body.mnet-patch-01 .mnet-p01-header-inner { display: flex !important; justify-content: flex-start !important; align-items: center !important; gap: 9px !important; }
  html body.mnet-patch-01 .mnet-menu-toggle { order: 0 !important; flex: 0 0 auto !important; margin: 0 !important; }
  html body.mnet-patch-01 .mnet-p01-logo-slot { order: 1 !important; flex: 0 1 auto !important; width: min(var(--mnet-p01-logo-width-mobile), 146px) !important; min-width: 0 !important; margin: 0 0 0 2px !important; justify-content: flex-start !important; }
  html body.mnet-patch-01 .mnet-p01-logo-slot .mnet-logo,
  html body.mnet-patch-01 .mnet-p01-logo-slot .mnet-custom-logo { justify-content: flex-start !important; margin: 0 !important; }
  html body.mnet-patch-01 .mnet-p01-search { order: 2 !important; flex: 0 0 auto !important; margin-left: auto !important; }
  html body.mnet-patch-01 .mnet-p01-cta { order: 3 !important; flex: 0 0 auto !important; }
}

@media (max-width: 720px) {
  html body .mnet-f02-hero { height: var(--mnet-f434-height-mobile) !important; min-height: 450px !important; }
  html body .mnet-f02-inner { width: min(calc(100% - 42px), 570px) !important; align-items: center !important; justify-content: flex-start !important; text-align: left !important; }
  html body .mnet-f02-copy { width: min(100%, 530px) !important; padding: 54px 0 84px !important; margin: 0 !important; text-align: left !important; }
  html body .mnet-f02-shade { background:
    radial-gradient(ellipse 92% 84% at 34% 55%, rgba(0,0,0,var(--mnet-f434-focal-alpha)) 0%, rgba(0,0,0,calc(var(--mnet-f434-focal-alpha) * .72)) 43%, rgba(0,0,0,var(--mnet-f434-mid-alpha)) 67%, rgba(0,0,0,0) 100%),
    linear-gradient(90deg, rgba(0,0,0,var(--mnet-f434-left-alpha)) 0%, rgba(0,0,0,calc(var(--mnet-f434-left-alpha) * .78)) 56%, rgba(0,0,0,0) 100%),
    linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,var(--mnet-f434-floor-alpha)) 100%) !important; }
  html body .mnet-f02-copy::before { top: -48px !important; right: -82px !important; bottom: -66px !important; left: -34px !important; filter: blur(30px) !important; }
  html body .mnet-f02-copy .mnet-kicker { margin-bottom: 15px !important; }
  html body .mnet-f02-copy h1 { font-size: clamp(2.35rem, 11.8vw, 3.65rem) !important; line-height: .98 !important; margin-bottom: 20px !important; }
  html body .mnet-f02-copy p { max-width: 98% !important; font-size: 1rem !important; line-height: 1.58 !important; }
  html body .mnet-f02-copy .mnet-hero-badges { justify-content: flex-start !important; margin: 23px 0 27px !important; }
  html body .mnet-f02-controls { right: 20px !important; bottom: 20px !important; gap: 12px !important; }
  html body .mnet-f02-dot { width: 28px !important; }
  html body .mnet-f02-dot.is-active { width: 44px !important; }
  html body .mnet-f02-toggle { width: 36px !important; height: 36px !important; min-width: 36px !important; min-height: 36px !important; }
  html body .mnet-f02-toggle::before { left: 13px !important; top: 10px !important; }
  html body .mnet-f02-toggle::after { right: 13px !important; top: 10px !important; }
  html body .mnet-f02-motion-on .mnet-f02-slide.is-active .mnet-f02-slide-image { animation-duration: var(--mnet-f434-camera-duration, 14500ms) !important; }
}

@media (max-width: 480px) {
  html body.mnet-patch-01 .mnet-p01-logo-slot { width: min(var(--mnet-p01-logo-width-mobile), 128px) !important; }
  html body .mnet-f02-controls { right: 16px !important; bottom: 18px !important; }
  html body .mnet-f02-inner { width: calc(100% - 36px) !important; }
  html body .mnet-f02-copy { padding-top: 48px !important; }
  html body .mnet-f02-copy p { max-width: 100% !important; }
}

/* If the editor explicitly sets Movimiento cinematografico visible > 0, honor it.
   The control value is the opt-in. Set it to 0 to disable motion. */
@media (prefers-reduced-motion: reduce) {
  html body .mnet-f02-motion-off .mnet-f02-slide-image {
    animation: none !important;
    transform: scale(1.035) !important;
  }
}


/* 4.3.7: hard mobile header alignment. Logo must sit beside hamburger, never centered. */
@media (max-width: 820px) {
  html body.mnet-patch-01 .mnet-p01-header-inner,
  html body.mnet-patch-01 .mnet-header-inner.mnet-p01-header-inner {
    display: grid !important;
    grid-template-columns: 40px auto minmax(0, 1fr) 40px !important;
    align-items: center !important;
    justify-content: stretch !important;
    justify-items: start !important;
    gap: 7px !important;
  }
  html body.mnet-patch-01 .mnet-menu-toggle {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    order: initial !important;
    margin: 0 !important;
  }
  html body.mnet-patch-01 .mnet-p01-logo-slot {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    align-self: center !important;
    width: auto !important;
    max-width: 152px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    order: initial !important;
    flex: none !important;
    justify-content: flex-start !important;
    text-align: left !important;
  }
  html body.mnet-patch-01 .mnet-p01-logo-slot .mnet-logo,
  html body.mnet-patch-01 .mnet-p01-logo-slot .mnet-custom-logo,
  html body.mnet-patch-01 .mnet-p01-logo-slot a {
    justify-content: flex-start !important;
    margin: 0 !important;
    transform: none !important;
  }
  html body.mnet-patch-01 .mnet-p01-search {
    grid-column: 4 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    margin-left: 0 !important;
    order: initial !important;
  }
  html body.mnet-patch-01 .mnet-p01-cta { display: none !important; }
  html body.mnet-patch-01 .mnet-p01-nav {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }
}
@media (max-width: 480px) {
  html body.mnet-patch-01 .mnet-p01-header-inner,
  html body.mnet-patch-01 .mnet-header-inner.mnet-p01-header-inner {
    grid-template-columns: 38px auto minmax(0, 1fr) 38px !important;
    gap: 6px !important;
  }
  html body.mnet-patch-01 .mnet-p01-logo-slot { max-width: 138px !important; }
}


/* 4.3.8: direct motion fallback. This bypasses any text-animation timing conflict. */
html body [data-mnet-featured].mnet-f02-motion-on .mnet-f02-slide.is-active .mnet-f02-slide-image {
  animation-name: mnet438CinematicCamera !important;
  animation-duration: var(--mnet-f434-camera-duration, 14500ms) !important;
  animation-timing-function: cubic-bezier(.16,.72,.24,1) !important;
  animation-iteration-count: infinite !important;
  animation-direction: alternate !important;
  animation-fill-mode: both !important;
}
html body [data-mnet-featured].mnet-f02-motion-off .mnet-f02-slide-image {
  animation: none !important;
}

/* 4.3.9: entrypoint override marker and final mobile logo adjacency guard. */
@media (max-width: 820px) {
  html body.mnet-patch-01 .mnet-p01-header-inner,
  html body.mnet-patch-01 .mnet-header-inner.mnet-p01-header-inner {
    display: grid !important;
    grid-template-columns: 40px auto minmax(0, 1fr) 40px !important;
    align-items: center !important;
    justify-content: stretch !important;
    justify-items: start !important;
    column-gap: 7px !important;
  }
  html body.mnet-patch-01 .mnet-menu-toggle { grid-column: 1 !important; justify-self: start !important; margin: 0 !important; }
  html body.mnet-patch-01 .mnet-p01-logo-slot { grid-column: 2 !important; justify-self: start !important; margin: 0 !important; width: auto !important; max-width: 150px !important; text-align: left !important; }
  html body.mnet-patch-01 .mnet-p01-logo-slot > a { margin: 0 !important; justify-content: flex-start !important; transform: none !important; }
  html body.mnet-patch-01 .mnet-p01-search { grid-column: 4 !important; justify-self: end !important; margin-left: 0 !important; }
}

/* 4.4.0 runtime-motion support: Web Animations API now owns the camera move. */
html body [data-mnet-featured].mnet-f02-motion-on .mnet-f02-slide.is-active .mnet-f02-slide-image,
html body .mnet-f02-hero.mnet-f02-motion-on .mnet-f02-slide.is-active .mnet-f02-slide-image {
  animation: none !important;
  will-change: transform !important;
}

/* 4.4.0: mobile header is forced by both CSS and JS; logo stays next to hamburger. */
@media (max-width: 820px) {
  html body .mnet-header .mnet-p01-header-inner,
  html body .mnet-header .mnet-header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
  }
  html body .mnet-header .mnet-menu-toggle {
    order: 0 !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
  }
  html body .mnet-header .mnet-p01-logo-slot {
    order: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: min(var(--mnet-p01-logo-width-mobile, 142px), 152px) !important;
    flex: 0 1 auto !important;
    margin: 0 0 0 8px !important;
    margin-inline: 8px 0 !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }
  html body .mnet-header .mnet-p01-logo-slot img,
  html body .mnet-header .mnet-p01-logo-slot .custom-logo,
  html body .mnet-header .mnet-p01-logo-slot .mnet-logo,
  html body .mnet-header .mnet-p01-logo-slot .mnet-custom-logo {
    position: static !important;
    transform: none !important;
    margin: 0 !important;
  }
  html body .mnet-header .mnet-p01-search,
  html body .mnet-header .mnet-search {
    order: 2 !important;
    margin-left: auto !important;
    flex: 0 0 auto !important;
  }
}
