/* ALO motion system · static first, progressive when the browser supports it. */
body.alo-public-site #ajax-content-wrap,
body.alo-public-site #ajax-content-wrap > .container-wrap,
body.alo-public-site #ajax-content-wrap .main-content > .row > .wpb_row {
  transition: background-color 560ms cubic-bezier(.2, .7, .2, 1), color 360ms ease;
}

/* Trazo de mirada: los microtitulos anuncian contexto antes de pedir accion. */
body.alo-public-site .alo-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
}

body.alo-public-site .alo-eyebrow::before {
  width: 22px;
  height: 1px;
  flex: 0 0 22px;
  content: "";
  background: currentColor;
  opacity: .62;
  transform-origin: left center;
}

/* Los controles responden; nunca saltan ni se convierten en espectaculo. */
body.alo-public-site .nectar-button {
  transition:
    color 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms cubic-bezier(.2, .7, .2, 1) !important;
}

body.alo-public-site .alo-footer-v1 { position: relative; overflow: clip; isolation: isolate; }
body.alo-public-site .alo-footer-v1__grid section a::before {
  display: inline-block;
  width: 0;
  height: 1px;
  margin-right: 0;
  content: "";
  vertical-align: middle;
  background: currentColor;
  transition: width 180ms ease, margin-right 180ms ease;
}

/* One editorial anchor: useful orientation, never a decorative trap. */
@media (min-width: 1001px) and (min-height: 720px) and (prefers-reduced-motion: no-preference) {
  body.alo-public-site .alo-what-faq > .row_col_wrap_12 { align-items: stretch; }
  body.alo-public-site .alo-what-faq__anchor { align-self: stretch; }
  body.alo-public-site .alo-what-faq__anchor .wpb_text_column {
    position: sticky;
    top: clamp(112px, 13vh, 156px);
  }
}

@media (hover: hover) {
  body.alo-public-site .nectar-button:hover,
  body.alo-public-site .nectar-button:focus-visible {
    box-shadow: 0 10px 24px rgba(43, 44, 48, .10);
    transform: translateY(-2px);
  }

  body.alo-public-site .alo-footer-v1__grid section a:hover::before,
  body.alo-public-site .alo-footer-v1__grid section a:focus-visible::before {
    width: 12px;
    margin-right: 7px;
  }
}

@media (prefers-reduced-motion: no-preference) {
  /* Entrada de portada: primero la mirada, despues la propuesta y por ultimo la
     decision. Es un unico gesto, breve y no se repite en bucle. */
  body.alo-public-site.home #inicio.alo-hero .alo-eyebrow,
  body.alo-public-site.home #inicio.alo-hero h1,
  body.alo-public-site.home #inicio.alo-hero .alo-hero-decision,
  body.alo-public-site.home #inicio.alo-hero .alo-lead,
  body.alo-public-site.home #inicio.alo-hero .nectar-button,
  body.alo-public-site.home #inicio.alo-hero .alo-meta,
  body.alo-public-site .wpb_row.top-level.alo-page:not(.alo-hero) h1,
  body.alo-public-site .wpb_row.top-level.alo-page:not(.alo-hero) :is(.alo-visual, .img-with-aniamtion-wrap),
  body.alo-public-site header#top #logo img {
    animation: alo-first-look 560ms cubic-bezier(.2, .7, .2, 1) both;
  }

  body.alo-public-site.home #inicio.alo-hero h1 { animation-delay: 70ms; }
  body.alo-public-site.home #inicio.alo-hero .alo-hero-decision { animation-delay: 120ms; }
  body.alo-public-site.home #inicio.alo-hero .alo-lead { animation-delay: 170ms; }
  body.alo-public-site.home #inicio.alo-hero .nectar-button { animation-delay: 220ms; }
  body.alo-public-site.home #inicio.alo-hero .alo-meta { animation-delay: 270ms; }
  body.alo-public-site .wpb_row.top-level.alo-page:not(.alo-hero) :is(.alo-visual, .img-with-aniamtion-wrap) { animation-delay: 120ms; }
  body.alo-public-site header#top #logo img { animation-duration: 680ms; }

  @supports (animation-timeline: view()) {
    /* Las secciones llegan como hojas, no como tarjetas flotantes. Cada columna
       termina de aparecer antes de ocupar el centro del viewport. */
    body.alo-public-site :is(.wpb_row.alo-home, .wpb_row.alo-page):not(.top-level):not(.alo-hero):not(.alo-scenes-horizontal-row) > .row_col_wrap_12 > .wpb_column > .vc_column-inner {
      animation: alo-section-arrive 1ms cubic-bezier(.2, .7, .2, 1) both;
      animation-timeline: view();
      animation-range: entry 2% entry 44%;
    }

    body.alo-public-site :is(.wpb_row.alo-home, .wpb_row.alo-page):not(.top-level):not(.alo-hero):not(.alo-scenes-horizontal-row) > .row_col_wrap_12 > .wpb_column:nth-child(2) > .vc_column-inner {
      animation-range: entry 8% entry 50%;
    }

    body.alo-public-site :is(.wpb_row.alo-home, .wpb_row.alo-page):not(.top-level):not(.alo-hero):not(.alo-scenes-horizontal-row) > .row_col_wrap_12 > .wpb_column:nth-child(n + 3) > .vc_column-inner {
      animation-range: entry 14% entry 56%;
    }

    body.alo-public-site .alo-footer-v1__brand,
    body.alo-public-site .alo-footer-v1__manifesto,
    body.alo-public-site .alo-footer-v1__grid {
      animation: alo-footer-arrive 1ms cubic-bezier(.2, .7, .2, 1) both;
      animation-timeline: view();
      animation-range: entry 2% entry 54%;
    }
    body.alo-public-site .alo-footer-v1__manifesto { animation-range: entry 8% entry 58%; }
    body.alo-public-site .alo-footer-v1__grid { animation-range: entry 14% entry 64%; }
  }
}

@keyframes alo-first-look {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes alo-section-arrive {
  /* Nested sections keep full text contrast throughout the scroll gesture. */
  from { opacity: 1; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes alo-footer-arrive {
  from { opacity: 1; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none !important;
  }

  body.alo-public-site #ajax-content-wrap,
  body.alo-public-site #ajax-content-wrap > .container-wrap,
  body.alo-public-site #ajax-content-wrap .main-content > .row > .wpb_row,
  body.alo-public-site .alo-footer-v1__grid section a::before,
  body.alo-public-site .nectar-button { transition: none !important; }
  body.alo-public-site.home #inicio.alo-hero .alo-eyebrow,
  body.alo-public-site.home #inicio.alo-hero h1,
  body.alo-public-site.home #inicio.alo-hero .alo-hero-decision,
  body.alo-public-site.home #inicio.alo-hero .alo-lead,
  body.alo-public-site.home #inicio.alo-hero .nectar-button,
  body.alo-public-site.home #inicio.alo-hero .alo-meta,
  body.alo-public-site .wpb_row.top-level.alo-page:not(.alo-hero) h1,
  body.alo-public-site .wpb_row.top-level.alo-page:not(.alo-hero) :is(.alo-visual, .img-with-aniamtion-wrap),
  body.alo-public-site header#top #logo img,
  body.alo-public-site :is(.wpb_row.alo-home, .wpb_row.alo-page):not(.top-level):not(.alo-hero) > .row_col_wrap_12 > .wpb_column > .vc_column-inner {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  body.alo-public-site .alo-footer-v1__brand,
  body.alo-public-site .alo-footer-v1__manifesto,
  body.alo-public-site .alo-footer-v1__grid {
    animation: none !important;
    opacity: 1;
    transform: none;
  }
}
