/* Start custom CSS */html { scroll-behavior: smooth; }
.elementor-location-footer { display: none; }
html, body { overflow-x: clip; }

/* Header alineado con la página y menú con más cuerpo, igual que en la propuesta de la Home */
@media (min-width: 1025px) {
  .elementor-location-header .elementor-element-18b6a47 { --content-width: 1320px; }
  .elementor-location-header .elementor-element-18b6a47 > .e-con-inner { max-width: min(100%, 1320px); }
  .elementor-location-header .elementor-element-379a112 { margin-inline-start: -33px; }
  .elementor-location-header .elementor-element-55dec58 { margin-inline-end: -30px; }
  .elementor-location-header .elementor-nav-menu--main a.elementor-item { font-size: 15px !important; font-weight: 500 !important; letter-spacing: 0.03em !important; color: #fff !important; }
  .elementor-location-header .elementor-nav-menu--main a.elementor-item::after { height: 1px !important; background-color: #fff !important; opacity: 1 !important; transform: scaleX(0); transform-origin: left; transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1) !important; }
  .elementor-location-header .elementor-nav-menu--main a.elementor-item:hover::after,
  .elementor-location-header .elementor-nav-menu--main a.elementor-item.highlighted::after,
  .elementor-location-header .elementor-nav-menu--main a.elementor-item.elementor-item-active::after { transform: scaleX(1); }
  .elementor-location-header .elementor-nav-menu--dropdown { animation: hpDrop 0.3s cubic-bezier(0.22, 1, 0.36, 1); }
  .elementor-location-header .elementor-nav-menu--dropdown a.elementor-sub-item { font-size: 15px !important; font-weight: 400 !important; color: #fff !important; background-color: transparent !important; transition: color 0.2s, background-color 0.2s; }
  .elementor-location-header .elementor-nav-menu--dropdown a.elementor-sub-item:hover { color: #C3E9FF !important; background-color: rgba(255, 255, 255, 0.07) !important; }
}
@media (max-width: 1400px) and (min-width: 1025px) {
  .elementor-location-header .elementor-element-18b6a47 { padding-inline: clamp(24px, 4vw, 60px); }
}
@keyframes hpDrop { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* Línea bajo el título: 1 px (el div-block traía alto mínimo) */
#ab-hero [data-interaction-id="11382657"], #ab-hero .elementor-element-11382657 { height: 1px !important; min-height: 0 !important; padding: 0 !important; }

/* La firma: la foto de Frank en IEFA (más chica, Ali 10/11) al lado del texto; en desktop se monta sobre el borde del hero */
#ab-firm-photo { padding: 0 !important; gap: 14px; }
#ab-firm-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; object-position: 45% 40%; }
#ab-firm-photo p { margin: 0; font-family: "Creato Display", sans-serif; font-size: 14px; line-height: 1.4; color: rgba(1, 0, 62, 0.6); }
#ab-firm-text { padding: 0 !important; gap: 32px; }
#ab-firm-text > div { flex-direction: column !important; gap: 20px !important; }
@media (min-width: 768px) {
  #ab-firm > div { flex-direction: row !important; align-items: flex-start; gap: clamp(40px, 6vw, 96px) !important; }
  #ab-firm-photo { flex: 0 0 42%; }
  #ab-firm-text { flex: 1 1 0; }
  #ab-firm-text h2 { font-size: clamp(30px, 2.8vw, 40px) !important; }
}
@media (min-width: 1025px) {
  #ab-hero { padding-bottom: 230px !important; }
  #ab-firm-photo { margin-top: -270px; position: relative; z-index: 1; }
  #ab-firm-text { padding-top: 8px !important; }
}

/* Una línea corta bajo cada título, que se dibuja al llegar */
[data-interaction-id="2c9f2d7c"], [data-interaction-id="7dfb48f3"], [data-interaction-id="216a81b6"], [data-interaction-id="5926ae92"] { display: block; }
[data-interaction-id="2c9f2d7c"]::after, [data-interaction-id="7dfb48f3"]::after, [data-interaction-id="216a81b6"]::after, [data-interaction-id="5926ae92"]::after { content: ""; display: block; width: 56px; height: 1px; margin-top: 20px; background-color: #2300FF; transform-origin: left; }

/* Bajo Vision, las mismas líneas que convergen de la Home (solo desktop, donde la columna queda corta) */
@media (min-width: 1025px) {
  [data-interaction-id="66dcecd0"]::after { content: ""; display: block; width: min(100%, 420px); aspect-ratio: 520 / 180; margin-top: 48px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 520 180' fill='none'%3E%3Cg stroke='%2301003E' stroke-opacity='.3' stroke-width='1'%3E%3Cpath d='M0 12C210 12 290 90 400 90'/%3E%3Cpath d='M0 38C210 38 290 90 400 90'/%3E%3Cpath d='M0 64C210 64 290 90 400 90'/%3E%3Cpath d='M0 90C210 90 290 90 400 90'/%3E%3Cpath d='M0 116C210 116 290 90 400 90'/%3E%3Cpath d='M0 142C210 142 290 90 400 90'/%3E%3Cpath d='M0 168C210 168 290 90 400 90'/%3E%3C/g%3E%3Cpath d='M400 90H520' stroke='%232300FF' stroke-width='1.5'/%3E%3Ccircle cx='400' cy='90' r='4.5' fill='%232300FF'/%3E%3C/svg%3E") left center / contain no-repeat; }
}

/* Values (opción 2, la que eligieron Michelle y Ali): lista grande que se enciende al scrollear */
#o2-section { width: 100%; padding: 112px max(24px, calc((100vw - 1320px) / 2)) !important; background: #fff; gap: 60px; align-items: flex-start; }
#o2-section * { font-family: "Creato Display", sans-serif; }
#o2-section h2 { font-size: 50px; font-weight: 400; letter-spacing: -0.02em; line-height: 1.1; margin: 0 0 20px; color: #01003E; }
#o2-left { flex: 1 1 0; flex-direction: column; padding: 0 !important; }
#o2-left p { margin: 0; color: #01003E; font-size: 20px; line-height: 1.5; }
#o2-list { flex: 1.25 1 0; flex-direction: column; padding: 0 !important; }
#o2-list p { margin: 0; color: #01003E; font-size: clamp(34px, 4.6vw, 66px); line-height: 1.18; letter-spacing: -0.025em; }
@media (max-width: 767px) {
  #o2-section { padding: 64px 24px !important; flex-direction: column; gap: 32px; }
  #o2-section h2 { font-size: 34px; }
  #o2-left p { font-size: 18px; }
  #o2-left, #o2-list { flex: 0 0 auto; width: 100%; }
  #o2-list p { font-size: 38px; }
}

/* Links del contacto: la línea se dibuja */
#contact .e-button-base { justify-self: start; display: inline-block; background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size 0.45s cubic-bezier(0.22, 1, 0.36, 1), color 0.2s; }
#contact .e-button-base:hover { background-size: 100% 1px; background-color: transparent; }
#contact a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* Movimiento: las líneas de los títulos y de Vision se dibujan y Values se enciende, todo atado al scroll */
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    [data-interaction-id="2c9f2d7c"]::after, [data-interaction-id="7dfb48f3"]::after, [data-interaction-id="216a81b6"]::after, [data-interaction-id="5926ae92"]::after { animation: hpLine linear both; animation-timeline: view(); animation-range: entry 0% cover 30%; }
    [data-interaction-id="66dcecd0"]::after { animation: hpReveal linear both; animation-timeline: view(); animation-range: entry 10% cover 35%; }
    #o2-list p { animation: hpLit linear both; animation-timeline: view(); }
  }
}
@keyframes hpLine { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes hpReveal { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes hpLit { 0%, 26% { opacity: 0.2; } 40%, 62% { opacity: 1; } 76%, 100% { opacity: 0.2; } }/* End custom CSS */