/* =========================================================
   SOAR · Páginas interiores con fondo claro (Nosotros, Contacto…)
   Se carga solo en las páginas que tienen el bloque <div id="soar-pg">.
   Todo va dentro de #soar-pg para que el tema no lo pise.
   ========================================================= */

#soar-pg {
  --soar-paper: #F4F6FA;
  --soar-white: #FFFFFF;
  --soar-ink: #0D1530;
  --soar-ink-soft: #27315A;
  --soar-muted: #4A5578;
  --soar-line: rgb(13 21 48 / .1);
  --soar-blue: #0A3D7E;
  --soar-blue-hover: #072C5C;
  --soar-blue-deep: #072C5C;
  --soar-blue-wash: rgb(10 61 126 / .08);
  --soar-on-blue: #F5F8FF;
  --soar-on-blue-muted: #D9E2FF;
  --soar-on-blue-line: rgb(245 248 255 / .38);

  --soar-font-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
  --soar-font-body: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;

  --soar-ease-out: cubic-bezier(.23, 1, .32, 1);
  --soar-ease-expo: cubic-bezier(.16, 1, .3, 1);

  --soar-gutter: clamp(16px, 4vw, 48px);
  --soar-nav-h: 72px;
  --soar-radius-pill: 999px;
  --soar-sheet-r: clamp(24px, 3vw, 40px);
  --soar-media-r: clamp(20px, 2.4vw, 32px);
}

/* ---------- Página ---------- */
html.soar-pg-html {
  background: #F4F6FA;
  overflow-x: clip;
  scrollbar-width: thin;
  scrollbar-color: #0A3D7E transparent;
}
body.soar-pg-page { margin: 0; background: #F4F6FA; }
@media (prefers-reduced-motion: no-preference) { html.soar-pg-html { scroll-behavior: smooth; } }

/* Barra de administrador de WordPress (solo la ves con sesión iniciada) */
body.admin-bar.soar-pg-page #soar-pg { --soar-top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { body.admin-bar.soar-pg-page #soar-pg { --soar-top: 0px; } }

/* ---------- Blocksy: sin título ni márgenes en estas páginas (el menú y el footer son los del sitio) ---------- */
body.soar-pg-page .hero-section,
body.soar-pg-page .entry-header,
body.soar-pg-page .ct-back-to-top { display: none !important; }
body.soar-pg-page [data-vertical-spacing] { padding-top: 0 !important; padding-bottom: 0 !important; }
body.soar-pg-page .entry-content { margin: 0 !important; padding: 0 !important; }

/* ---------- El bloque ocupa todo el ancho ---------- */
#soar-pg {
  position: relative;
  display: block;
  width: var(--soar-vw, 100vw) !important;
  max-width: none !important;
  margin: 0 calc(50% - var(--soar-vw, 100vw) / 2) !important;
  padding: 0 !important;
  background: var(--soar-paper);
  color: var(--soar-ink);
  font-family: var(--soar-font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: normal;
  text-align: left;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ---------- Base aislada del tema ---------- */
#soar-pg, #soar-pg *, #soar-pg *::before, #soar-pg *::after { box-sizing: border-box; }
#soar-pg :is(h1, h2, h3, p, figure, ul, ol, li, blockquote) { margin: 0; padding: 0; }
#soar-pg :is(header, nav, main, section, figure, article, blockquote) {
  max-width: none;
  background: none;
  border: 0;
  box-shadow: none;
}
#soar-pg :is(h1, h2, h3) { color: inherit; text-transform: none; font-size: inherit; line-height: inherit; font-weight: inherit; letter-spacing: inherit; }
#soar-pg blockquote { font: inherit; color: inherit; quotes: none; }
#soar-pg blockquote::before, #soar-pg blockquote::after { content: none; }
#soar-pg :is(ul, ol) { list-style: none; }
#soar-pg li::marker { content: none; }
#soar-pg img { display: block; max-width: 100%; height: auto; border: 0; border-radius: 0; box-shadow: none; }
#soar-pg a { color: inherit; text-decoration: none; box-shadow: none; }
#soar-pg button {
  -webkit-appearance: none;
  appearance: none;
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  margin: 0;
  padding: 0;
  min-height: 0;
  box-shadow: none;
  text-transform: none;
  letter-spacing: inherit;
  line-height: inherit;
}
#soar-pg svg { display: block; flex: none; }
#soar-pg .soar-ico { width: 20px; height: 20px; }
#soar-pg ::selection { background: var(--soar-blue); color: var(--soar-on-blue); }
#soar-pg :focus-visible { outline: 2px solid var(--soar-blue); outline-offset: 4px; border-radius: 8px; }
#soar-pg .soar-pg-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

#soar-pg .soar-pg-wrap { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 var(--soar-gutter); }

#soar-pg .soar-pg-h2 {
  font-family: var(--soar-font-display);
  font-optical-sizing: auto;
  font-weight: 720;
  font-size: clamp(2.2rem, 4.6vw, 3.75rem);
  line-height: .98;
  letter-spacing: -.038em;
  text-wrap: balance;
}

/* ---------- Botones ---------- */
#soar-pg .soar-pg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 52px;
  padding: 0 26px;
  border-radius: var(--soar-radius-pill);
  border: 1.5px solid transparent;
  font-weight: 560;
  font-size: 1rem;
  letter-spacing: -.005em;
  white-space: nowrap;
  transition: transform 160ms var(--soar-ease-out), background-color 200ms ease, color 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}
#soar-pg .soar-pg-btn:has(> .soar-ico) { padding-left: 20px; }
#soar-pg .soar-pg-btn:active { transform: scale(.97); }
#soar-pg .soar-pg-btn--sm { height: 42px; padding: 0 20px; font-size: .9375rem; }
#soar-pg .soar-pg-btn--blue { background: var(--soar-blue); color: var(--soar-on-blue); box-shadow: 0 12px 26px -14px rgb(10 61 126 / .8); }
#soar-pg .soar-pg-btn--ghost { color: var(--soar-ink); border-color: rgb(13 21 48 / .18); }
#soar-pg .soar-pg-btn--light { background: var(--soar-on-blue); color: var(--soar-blue-deep); box-shadow: 0 10px 26px -12px rgb(6 18 82 / .55); }
#soar-pg .soar-pg-btn--ghost-light { color: var(--soar-on-blue); border-color: var(--soar-on-blue-line); }
@media (hover: hover) and (pointer: fine) {
  #soar-pg .soar-pg-btn--blue:hover { background: var(--soar-blue-hover); }
  #soar-pg .soar-pg-btn--ghost:hover { border-color: var(--soar-ink); background: rgb(13 21 48 / .03); }
  #soar-pg .soar-pg-btn--light:hover { background: #fff; }
  #soar-pg .soar-pg-btn--ghost-light:hover { background: rgb(245 248 255 / .1); border-color: rgb(245 248 255 / .7); }
}

/* =========================================================
   PORTADA
   ========================================================= */
#soar-pg .soar-pg-hero { padding: clamp(40px, 6vw, 88px) 0 0; }
/* El título ocupa todo el ancho; el texto se acomoda junto a la segunda línea ("desde 2008.") */
#soar-pg .soar-pg-hero__top {
  --soar-h1: clamp(2.75rem, 7.2vw, 6rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: clamp(28px, 4vw, 72px);
}
#soar-pg .soar-pg-hero__title {
  grid-column: 1 / -1;
  font-family: var(--soar-font-display);
  font-optical-sizing: auto;
  font-weight: 740;
  font-size: var(--soar-h1);
  line-height: .94;
  letter-spacing: -.04em;
}
#soar-pg .soar-pg-line { display: block; overflow: clip; padding-bottom: .06em; margin-bottom: -.06em; }
#soar-pg .soar-pg-line > span { display: inline-block; }
#soar-pg .soar-pg-line + .soar-pg-line > span { color: var(--soar-blue); }
#soar-pg .soar-pg-hero__side { grid-column: 2; margin-top: calc(var(--soar-h1) * -.84); }
#soar-pg .soar-pg-hero__lead { max-width: 44ch; color: var(--soar-muted); font-size: clamp(1rem, 1.25vw, 1.125rem); line-height: 1.6; text-wrap: pretty; }
#soar-pg .soar-pg-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: clamp(22px, 2.4vw, 30px); }

#soar-pg .soar-pg-hero__media {
  --soar-pg-photo-pos: 50% 50%;
  position: relative;
  margin-top: clamp(40px, 5.4vw, 80px);
  aspect-ratio: 16 / 7;
  border-radius: var(--soar-media-r);
  overflow: hidden;
  isolation: isolate;
  background-color: var(--soar-blue);
  background-image:
    radial-gradient(70% 90% at 85% 10%, rgb(120 160 255 / .55), rgb(120 160 255 / 0) 70%),
    radial-gradient(60% 80% at 10% 100%, rgb(6 18 82 / .55), rgb(6 18 82 / 0) 70%);
  clip-path: inset(0 round var(--soar-media-r));
}
#soar-pg .soar-pg-hero__photo {
  position: absolute;
  left: 0;
  top: -6%;
  width: 100%;
  height: 112%;
  max-width: none;
  object-fit: cover;
  object-position: var(--soar-pg-photo-pos);
  transform: translate3d(0, var(--soar-py, 0%), 0) scale(var(--soar-ps, 1));
  will-change: transform;
}
#soar-pg .soar-pg-hero__photo:is([src=""], :not([src])) { display: none; }
#soar-pg .soar-pg-hero__empty { display: none; }
#soar-pg .soar-pg-hero__media:has(.soar-pg-hero__photo:is([src=""], :not([src]))) .soar-pg-hero__empty {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgb(245 248 255 / .3);
  background:
    radial-gradient(circle at 1px 1px, rgb(245 248 255 / .16) 1px, transparent 0) 0 0 / 28px 28px;
  -webkit-mask-image: radial-gradient(80% 90% at 50% 45%, #000 40%, transparent 100%);
          mask-image: radial-gradient(80% 90% at 50% 45%, #000 40%, transparent 100%);
}
#soar-pg .soar-pg-hero__empty .soar-ico { width: clamp(88px, 12vw, 168px); height: auto; aspect-ratio: 1; }

#soar-pg .soar-pg-hero__pin {
  position: absolute;
  z-index: 2;
  left: clamp(12px, 1.8vw, 24px);
  bottom: clamp(12px, 1.8vw, 24px);
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: calc(100% - 2 * clamp(12px, 1.8vw, 24px));
  padding: 8px 16px 8px 8px;
  border-radius: 20px;
  background: rgb(255 255 255 / .9);
  -webkit-backdrop-filter: blur(12px) saturate(160%);
          backdrop-filter: blur(12px) saturate(160%);
  color: var(--soar-ink);
  box-shadow: 0 14px 34px -18px rgb(6 18 82 / .55);
  transition: transform 160ms var(--soar-ease-out), background-color 200ms ease;
}
#soar-pg .soar-pg-hero__pin:active { transform: scale(.98); }
#soar-pg .soar-pg-hero__pin-ico { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; background: var(--soar-blue); color: var(--soar-on-blue); flex: none; }
#soar-pg .soar-pg-hero__pin-text { display: grid; line-height: 1.25; min-width: 0; }
#soar-pg .soar-pg-hero__pin-text strong { font-weight: 600; font-size: .9375rem; }
#soar-pg .soar-pg-hero__pin-text span { color: var(--soar-muted); font-size: .8125rem; }
#soar-pg .soar-pg-hero__pin-go { color: var(--soar-muted); transition: transform 220ms var(--soar-ease-out), color 200ms ease; }
#soar-pg .soar-pg-hero__pin-go .soar-ico { width: 18px; height: 18px; }
@media (hover: hover) and (pointer: fine) {
  #soar-pg .soar-pg-hero__pin:hover { background: #fff; }
  #soar-pg .soar-pg-hero__pin:hover .soar-pg-hero__pin-go { color: var(--soar-blue); transform: translate(2px, -2px); }
}

/* =========================================================
   HISTORIA
   ========================================================= */
/* Escritorio: título y línea de tiempo a la izquierda, texto a la derecha.
   Celular: título, texto y al final la línea de tiempo. */
#soar-pg .soar-pg-story { padding: clamp(80px, 9vw, 128px) 0 clamp(80px, 9vw, 128px); }
#soar-pg .soar-pg-story__inner {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  grid-template-areas: "head prose" "time prose";
  grid-template-rows: auto 1fr;
  column-gap: clamp(32px, 6vw, 112px);
  align-items: start;
}
#soar-pg .soar-pg-story__head { grid-area: head; }
#soar-pg .soar-pg-prose { grid-area: prose; }
#soar-pg .soar-pg-time { grid-area: time; }
#soar-pg .soar-pg-story__kicker { margin-top: 18px; max-width: 26ch; color: var(--soar-muted); font-size: clamp(1.0625rem, 1.4vw, 1.25rem); line-height: 1.45; }


#soar-pg .soar-pg-prose { max-width: 62ch; color: var(--soar-ink-soft); font-size: clamp(1rem, 1.2vw, 1.125rem); line-height: 1.7; text-wrap: pretty; }
#soar-pg .soar-pg-prose p + p { margin-top: 1.1em; }
#soar-pg .soar-pg-prose p:first-child {
  color: var(--soar-ink);
  font-family: var(--soar-font-display);
  font-weight: 560;
  font-size: clamp(1.375rem, 2.1vw, 1.875rem);
  line-height: 1.25;
  letter-spacing: -.02em;
  margin-bottom: 1.2em;
}
#soar-pg .soar-pg-prose p:first-child + p { margin-top: 0; }

/* Línea de tiempo: la línea azul se llena al bajar */
#soar-pg .soar-pg-time {
  --soar-tp: 1;
  position: relative;
  display: grid;
  gap: clamp(28px, 3.4vw, 44px);
  margin-top: clamp(40px, 4.4vw, 64px);
  padding-left: 44px;
}
#soar-pg .soar-pg-time::before,
#soar-pg .soar-pg-time::after {
  content: "";
  position: absolute;
  left: 9px;
  top: 10px;
  bottom: 10px;
  width: 2px;
  border-radius: 2px;
  background: var(--soar-line);
}
#soar-pg .soar-pg-time::after { background: var(--soar-blue); transform: scaleY(var(--soar-tp)); transform-origin: top; }
#soar-pg .soar-pg-time__item { position: relative; }
#soar-pg .soar-pg-time__item::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: -44px;
  top: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--soar-paper);
  box-shadow: inset 0 0 0 2px var(--soar-blue);
  transition: background-color 300ms ease, box-shadow 300ms ease;
}
#soar-pg .soar-pg-time__item.is-lit::before { background: var(--soar-blue); box-shadow: inset 0 0 0 2px var(--soar-blue), 0 0 0 6px var(--soar-blue-wash); }
/* Al bajar: cada punto se enciende cuando la línea azul lo alcanza */
html.soar-pg-anim #soar-pg .soar-pg-time__item::before { transform: scale(.8); transition: background-color 300ms ease, box-shadow 300ms ease, transform 400ms var(--soar-ease-out); }
html.soar-pg-anim #soar-pg .soar-pg-time__item.is-lit::before { transform: none; }
html.soar-pg-anim #soar-pg .soar-pg-time__item:not(.is-lit) .soar-pg-time__when { color: var(--soar-muted); }
#soar-pg .soar-pg-time__when { transition: color 300ms ease; }
#soar-pg .soar-pg-time__when {
  display: block;
  margin-bottom: 6px;
  font-family: var(--soar-font-display);
  font-weight: 700;
  font-size: clamp(1.25rem, 1.8vw, 1.5rem);
  line-height: 1.1;
  letter-spacing: -.02em;
  color: var(--soar-blue-deep);
}
#soar-pg .soar-pg-time__item p { max-width: 48ch; color: var(--soar-muted); line-height: 1.6; text-wrap: pretty; }

/* =========================================================
   A QUIÉN ATENDEMOS + MISIÓN Y VISIÓN (hoja blanca)
   ========================================================= */
#soar-pg .soar-pg-aud {
  position: relative;
  z-index: 1;
  padding: clamp(80px, 10vw, 140px) 0 clamp(72px, 9vw, 120px);
  border-radius: var(--soar-sheet-r) var(--soar-sheet-r) 0 0;
  background: var(--soar-white);
  box-shadow: 0 -24px 60px -40px rgb(13 21 48 / .25);
}
#soar-pg .soar-pg-aud__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: end;
  gap: 24px clamp(32px, 6vw, 112px);
  margin-bottom: clamp(36px, 4.6vw, 64px);
}
#soar-pg .soar-pg-aud__lead { max-width: 44ch; color: var(--soar-muted); font-size: clamp(1rem, 1.25vw, 1.125rem); line-height: 1.6; text-wrap: pretty; }

#soar-pg .soar-pg-aud__list { border-top: 1px solid var(--soar-line); }
#soar-pg .soar-pg-aud__list > li { border-bottom: 1px solid var(--soar-line); }
#soar-pg .soar-pg-aud__row {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(16px, 2.6vw, 36px);
  padding: clamp(20px, 2.4vw, 30px) clamp(8px, 1.4vw, 20px);
}
#soar-pg .soar-pg-aud__row::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 6px 0;
  border-radius: 20px;
  background: var(--soar-paper);
  opacity: 0;
  transform: scale(.985);
  transition: opacity 220ms ease, transform 300ms var(--soar-ease-out);
}
#soar-pg .soar-pg-aud__ico {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 18px;
  background: var(--soar-blue-wash);
  color: var(--soar-blue);
  transition: background-color 220ms ease, color 220ms ease;
}
#soar-pg .soar-pg-aud__ico .soar-ico { width: 26px; height: 26px; }
#soar-pg .soar-pg-aud__text { display: grid; gap: 6px; }
#soar-pg .soar-pg-aud__text strong {
  font-family: var(--soar-font-display);
  font-weight: 680;
  font-size: clamp(1.3125rem, 2vw, 1.75rem);
  line-height: 1.1;
  letter-spacing: -.025em;
  color: var(--soar-ink);
}
#soar-pg .soar-pg-aud__text span { max-width: 60ch; color: var(--soar-muted); line-height: 1.55; text-wrap: pretty; }
#soar-pg .soar-pg-aud__go {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  padding: 0 18px;
  border-radius: var(--soar-radius-pill);
  box-shadow: inset 0 0 0 1.5px rgb(10 61 126 / .25);
  color: var(--soar-blue-deep);
  font-weight: 560;
  font-size: .9375rem;
  white-space: nowrap;
  transition: background-color 220ms ease, color 220ms ease, box-shadow 220ms ease;
}
#soar-pg .soar-pg-aud__go .soar-ico { width: 18px; height: 18px; transition: transform 260ms var(--soar-ease-out); }
#soar-pg .soar-pg-aud__row:active .soar-pg-aud__go { transform: scale(.97); }
@media (hover: hover) and (pointer: fine) {
  #soar-pg .soar-pg-aud__row:hover::before { opacity: 1; transform: none; }
  #soar-pg .soar-pg-aud__row:hover .soar-pg-aud__ico { background: var(--soar-blue); color: var(--soar-on-blue); }
  #soar-pg .soar-pg-aud__row:hover .soar-pg-aud__go { background: var(--soar-blue); color: var(--soar-on-blue); box-shadow: inset 0 0 0 1.5px var(--soar-blue); }
  #soar-pg .soar-pg-aud__row:hover .soar-pg-aud__go .soar-ico { transform: translateX(3px); }
}

#soar-pg .soar-pg-mv { padding: 0 0 clamp(120px, 13vw, 190px); background: var(--soar-white); }
#soar-pg .soar-pg-mv__inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(40px, 6vw, 112px); }
#soar-pg .soar-pg-mv__item { padding-top: clamp(24px, 2.6vw, 32px); border-top: 2px solid var(--soar-ink); }
#soar-pg .soar-pg-mv__label {
  margin-bottom: clamp(16px, 2vw, 24px);
  font-family: var(--soar-font-display);
  font-weight: 700;
  font-size: clamp(1.125rem, 1.4vw, 1.25rem);
  line-height: 1.2;
  letter-spacing: -.01em;
  color: var(--soar-blue);
}
#soar-pg .soar-pg-mv__text {
  font-family: var(--soar-font-display);
  font-optical-sizing: auto;
  font-weight: 520;
  font-size: clamp(1.375rem, 2.2vw, 1.9375rem);
  line-height: 1.24;
  letter-spacing: -.022em;
  color: var(--soar-ink);
  text-wrap: pretty;
}

/* =========================================================
   VALORES (hoja clara que sube sobre la blanca; las palabras se iluminan al bajar)
   ========================================================= */
#soar-pg .soar-pg-values {
  position: relative;
  z-index: 2;
  margin-top: calc(-1 * var(--soar-sheet-r));
  padding: clamp(88px, 11vw, 150px) 0 clamp(72px, 8vw, 110px);
  border-radius: var(--soar-sheet-r) var(--soar-sheet-r) 0 0;
  background: var(--soar-paper);
  box-shadow: 0 -24px 60px -40px rgb(13 21 48 / .25);
}
#soar-pg .soar-pg-values__title {
  margin-bottom: clamp(28px, 3.6vw, 48px);
  font-family: var(--soar-font-display);
  font-weight: 700;
  font-size: clamp(1.125rem, 1.4vw, 1.25rem);
  line-height: 1.2;
  color: var(--soar-blue);
}
#soar-pg .soar-pg-values__list {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .08em 0;
  font-family: var(--soar-font-display);
  font-optical-sizing: auto;
  font-weight: 720;
  font-size: clamp(2rem, 5.4vw, 4.75rem);
  line-height: 1.04;
  letter-spacing: -.038em;
  color: var(--soar-ink);
}
#soar-pg .soar-pg-values__list li {
  --soar-lit: 1;
  opacity: calc(.14 + .86 * var(--soar-lit));
  white-space: nowrap;
}
#soar-pg .soar-pg-values__list li:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: .2em;
  height: .2em;
  margin: 0 .42em;
  border-radius: 50%;
  background: var(--soar-blue);
  vertical-align: .14em;
}

/* =========================================================
   FILOSOFÍA (panel azul)
   ========================================================= */
#soar-pg .soar-pg-philo { position: relative; z-index: 2; padding: clamp(32px, 4vw, 56px) 0 clamp(96px, 11vw, 150px); }
#soar-pg .soar-pg-philo__panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(44px, 7vw, 112px) clamp(24px, 6vw, 96px);
  border-radius: var(--soar-sheet-r);
  background-color: var(--soar-blue);
  background-image:
    radial-gradient(60% 80% at 92% 0%, rgb(120 160 255 / .55), rgb(120 160 255 / 0) 70%),
    radial-gradient(55% 75% at 0% 100%, rgb(6 18 82 / .6), rgb(6 18 82 / 0) 70%);
  color: var(--soar-on-blue);
  box-shadow: 0 30px 60px -44px rgb(7 44 92 / .55);
}
#soar-pg .soar-pg-philo__panel::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: radial-gradient(circle at 1px 1px, rgb(245 248 255 / .18) 1px, transparent 0) 0 0 / 26px 26px;
  -webkit-mask-image: radial-gradient(55% 70% at 88% 18%, #000, transparent 75%);
          mask-image: radial-gradient(55% 70% at 88% 18%, #000, transparent 75%);
}
#soar-pg .soar-pg-philo__panel ::selection { background: var(--soar-on-blue); color: var(--soar-blue-deep); }
#soar-pg .soar-pg-philo__panel :focus-visible { outline-color: var(--soar-on-blue); }
#soar-pg .soar-pg-philo__title {
  margin-bottom: clamp(24px, 3vw, 36px);
  font-family: var(--soar-font-display);
  font-weight: 650;
  font-size: clamp(1.0625rem, 1.3vw, 1.1875rem);
  line-height: 1.2;
  color: var(--soar-on-blue-muted);
}
#soar-pg .soar-pg-philo__quote p {
  max-width: 19ch;
  font-family: var(--soar-font-display);
  font-optical-sizing: auto;
  font-weight: 720;
  font-size: clamp(2.1rem, 5.2vw, 4.5rem);
  line-height: 1.02;
  letter-spacing: -.038em;
  text-wrap: balance;
}
#soar-pg .soar-pg-philo__quote--second { margin-top: clamp(20px, 2.6vw, 32px); }
#soar-pg .soar-pg-philo__quote--second p {
  max-width: none;
  font-weight: 540;
  font-size: clamp(1.25rem, 2.1vw, 1.75rem);
  line-height: 1.25;
  letter-spacing: -.02em;
  color: var(--soar-on-blue-muted);
}
#soar-pg .soar-pg-philo__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: clamp(36px, 4.6vw, 60px); }
#soar-pg .soar-pg-w { display: inline-block; }

/* =========================================================
   MOVIMIENTO (solo si el JS cargó; sin JS todo se ve normal)
   ========================================================= */
html.soar-pg-anim #soar-pg .soar-pg-line > span { transform: translate3d(0, 104%, 0); }
html.soar-pg-anim #soar-pg .soar-pg-hero__side { opacity: 0; transform: translate3d(0, 16px, 0); }
html.soar-pg-anim #soar-pg .soar-pg-hero__media { clip-path: inset(9% 5% 0 5% round var(--soar-media-r)); }
html.soar-pg-anim #soar-pg .soar-pg-hero__photo,
html.soar-pg-anim #soar-pg .soar-pg-hero__empty { --soar-ps: 1.12; }
html.soar-pg-anim #soar-pg .soar-pg-hero__pin { opacity: 0; transform: translate3d(0, 12px, 0); }

#soar-pg .soar-pg-hero.is-in .soar-pg-line > span { transform: none; transition: transform 1100ms var(--soar-ease-expo); }
#soar-pg .soar-pg-hero.is-in .soar-pg-line + .soar-pg-line > span { transition-delay: 90ms; }
#soar-pg .soar-pg-hero.is-in .soar-pg-hero__side { opacity: 1; transform: none; transition: opacity 700ms ease 260ms, transform 1000ms var(--soar-ease-expo) 260ms; }
#soar-pg .soar-pg-hero.is-in .soar-pg-hero__media { clip-path: inset(0 round var(--soar-media-r)); transition: clip-path 1400ms var(--soar-ease-expo) 200ms; }
#soar-pg .soar-pg-hero.is-in .soar-pg-hero__photo { --soar-ps: 1; transition: --soar-ps 1600ms var(--soar-ease-expo) 200ms; }
#soar-pg .soar-pg-hero.is-in .soar-pg-hero__empty { --soar-ps: 1; }
#soar-pg .soar-pg-hero.is-in .soar-pg-hero__pin { opacity: 1; transform: none; transition: opacity 500ms ease 900ms, transform 800ms var(--soar-ease-expo) 900ms; }
#soar-pg .soar-pg-hero__empty .soar-ico { transform: scale(var(--soar-ps, 1)); transition: transform 1600ms var(--soar-ease-expo) 200ms; }
@property --soar-ps { syntax: "<number>"; inherits: true; initial-value: 1; }

html.soar-pg-anim #soar-pg [data-reveal]:not(.is-in) { opacity: 0; transform: translate3d(0, 28px, 0); }
#soar-pg [data-reveal].is-in { transition: opacity 800ms ease, transform 1100ms var(--soar-ease-expo); transition-delay: var(--soar-delay, 0ms); }

html.soar-pg-anim #soar-pg .soar-pg-philo__panel:not(.is-in) .soar-pg-w { opacity: 0; transform: translate3d(0, .35em, 0); }
#soar-pg .soar-pg-philo__panel.is-in .soar-pg-w { transition: opacity 600ms ease, transform 900ms var(--soar-ease-expo); transition-delay: calc(240ms + var(--i) * 45ms); }

@media (prefers-reduced-motion: reduce) {
  html.soar-pg-anim #soar-pg :is(.soar-pg-line > span, .soar-pg-hero__side, .soar-pg-hero__pin, [data-reveal], .soar-pg-w) { opacity: 1 !important; transform: none !important; }
  html.soar-pg-anim #soar-pg .soar-pg-hero__media { clip-path: inset(0 round var(--soar-media-r)); }
  #soar-pg .soar-pg-hero__photo { --soar-ps: 1 !important; --soar-py: 0% !important; }
  #soar-pg .soar-pg-values__list li { --soar-lit: 1 !important; }
  #soar-pg .soar-pg-time { --soar-tp: 1 !important; }
  html.soar-pg-anim #soar-pg .soar-pg-time__item::before { transform: none; background: var(--soar-blue); }
  html.soar-pg-anim #soar-pg .soar-pg-time__item .soar-pg-time__when { color: var(--soar-blue-deep); }
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1024px) {
  #soar-pg .soar-pg-hero__top { grid-template-columns: minmax(0, 1fr); }
  #soar-pg .soar-pg-hero__side { grid-column: 1; margin-top: clamp(20px, 3vw, 32px); }
  #soar-pg .soar-pg-hero__lead { max-width: 56ch; }
  #soar-pg .soar-pg-story__inner { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "prose" "time"; grid-template-rows: auto; }
  #soar-pg .soar-pg-story__head { margin-bottom: clamp(28px, 4vw, 40px); }
  #soar-pg .soar-pg-hero__media { aspect-ratio: 16 / 9; }
}
@media (max-width: 860px) {
  #soar-pg { --soar-nav-h: 64px; }
  #soar-pg .soar-pg-aud__head { grid-template-columns: minmax(0, 1fr); }
  #soar-pg .soar-pg-mv__inner { grid-template-columns: minmax(0, 1fr); gap: 48px; }
}
@media (max-width: 640px) {
  #soar-pg .soar-pg-btn { height: 50px; padding: 0 22px; }
  #soar-pg .soar-pg-hero__ctas .soar-pg-btn { flex: 1 1 auto; }
  #soar-pg .soar-pg-hero__media { aspect-ratio: 4 / 5; }
  #soar-pg .soar-pg-hero__pin { right: 12px; }
  #soar-pg .soar-pg-hero__pin-text { flex: 1; }
  #soar-pg .soar-pg-aud__row { grid-template-columns: 44px minmax(0, 1fr) 24px; align-items: start; gap: 14px; padding: 22px 4px; }
  #soar-pg .soar-pg-aud__ico { width: 44px; height: 44px; border-radius: 14px; }
  #soar-pg .soar-pg-aud__ico .soar-ico { width: 22px; height: 22px; }
  #soar-pg .soar-pg-aud__go { height: 44px; padding: 0; box-shadow: none; background: none; justify-content: center; }
  #soar-pg .soar-pg-aud__go > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  #soar-pg .soar-pg-aud__row::before { inset: 4px -8px; }
  #soar-pg .soar-pg-values__list { flex-direction: column; font-size: clamp(1.75rem, 8.4vw, 2.5rem); line-height: 1.12; }
  #soar-pg .soar-pg-values__list li { white-space: normal; }
  #soar-pg .soar-pg-values__list li::after { display: none !important; }
  #soar-pg .soar-pg-philo__ctas .soar-pg-btn { flex: 1 1 auto; }
}

/* =========================================================
   CONTACTO
   ========================================================= */
#soar-pg [hidden] { display: none !important; }
#soar-pg .soar-pg-hero--contact { padding-bottom: clamp(48px, 6vw, 88px); }

/* Aviso de horario: se calcula con la hora del centro de México */
#soar-pg .soar-pg-status { display: inline-flex; align-items: center; gap: 10px; margin-top: 20px; color: var(--soar-muted); font-size: .9375rem; }
#soar-pg .soar-pg-status strong { color: var(--soar-ink); font-weight: 600; }
#soar-pg .soar-pg-status__dot { width: 8px; height: 8px; border-radius: 50%; background: #8A93AE; box-shadow: 0 0 0 4px rgb(138 147 174 / .2); }
#soar-pg .soar-pg-status.is-open .soar-pg-status__dot { background: #16A34A; box-shadow: 0 0 0 4px rgb(22 163 74 / .16); }

/* Formulario a la izquierda, otros medios a la derecha */
#soar-pg .soar-pg-contact { padding: 0 0 clamp(80px, 9vw, 128px); }
#soar-pg .soar-pg-contact__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr);
  gap: clamp(32px, 5vw, 88px);
  align-items: start;
}
#soar-pg .soar-pg-form {
  scroll-margin-top: calc(var(--soar-top, 0px) + var(--soar-nav-h) + 24px);
  padding: clamp(24px, 4vw, 48px);
  border-radius: var(--soar-sheet-r);
  background: var(--soar-white);
  box-shadow: 0 0 0 1px var(--soar-line), 0 28px 56px -40px rgb(13 21 48 / .3);
}
#soar-pg .soar-pg-form__title {
  font-family: var(--soar-font-display);
  font-weight: 700;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.1;
  letter-spacing: -.03em;
}
#soar-pg .soar-pg-form__lead { margin: 8px 0 clamp(24px, 3vw, 32px); max-width: 52ch; color: var(--soar-muted); }

/* ---------- WPForms: el plugin pone los campos, aquí se les da el estilo de SOAR ---------- */
#soar-pg .soar-pg-form .wpforms-container {
  --wpforms-field-border-radius: 14px;
  --wpforms-field-border-size: 1px;
  --wpforms-field-border-color: rgb(13 21 48 / .14);
  --wpforms-field-background-color: var(--soar-paper);
  --wpforms-field-text-color: var(--soar-ink);
  --wpforms-field-size-input-height: 52px;
  --wpforms-field-size-font-size: 16px;
  --wpforms-field-size-padding-h: 16px;
  --wpforms-field-size-input-spacing: 8px;
  --wpforms-label-color: var(--soar-ink);
  --wpforms-label-sublabel-color: var(--soar-muted);
  --wpforms-label-error-color: #B42318;
  --wpforms-label-size-font-size: 15px;
  --wpforms-button-border-radius: 999px;
  --wpforms-button-border-size: 0px;
  --wpforms-button-background-color: var(--soar-blue);
  --wpforms-button-text-color: var(--soar-on-blue);
  --wpforms-button-size-height: 52px;
  --wpforms-button-size-font-size: 16px;
  --wpforms-button-size-padding-h: 28px;
  margin: 0 !important;
  padding: 0;
  max-width: none;
  font-family: var(--soar-font-body);
}
#soar-pg .soar-pg-form .wpforms-form { margin: 0; padding: 0; }
#soar-pg .soar-pg-form .wpforms-field-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 16px;
}
#soar-pg .soar-pg-form .wpforms-field { margin: 0; padding: 0 !important; float: none; clear: none; width: auto; max-width: none; }
/* Mensaje, casillas, avisos y nombres con dos partes ocupan todo el ancho */
#soar-pg .soar-pg-form .wpforms-field:is(.wpforms-field-textarea, .wpforms-field-richtext, .wpforms-field-checkbox, .wpforms-field-radio, .wpforms-field-gdpr-checkbox, .wpforms-field-html, .wpforms-field-content, .wpforms-field-divider, .wpforms-field-captcha, .wpforms-field-file-upload, .wpforms-field-address),
#soar-pg .soar-pg-form .wpforms-field:has(.wpforms-field-row) { grid-column: 1 / -1; }

#soar-pg .soar-pg-form .wpforms-field-label {
  display: block;
  margin: 0 0 8px;
  padding: 0;
  color: var(--soar-ink);
  font-family: var(--soar-font-body);
  font-size: .9375rem;
  font-weight: 560;
  line-height: 1.3;
}
#soar-pg .soar-pg-form .wpforms-required-label { color: var(--soar-blue); font-weight: 600; }
#soar-pg .soar-pg-form :is(.wpforms-field-sublabel, .wpforms-field-description, .wpforms-field-limit-text) { margin-top: 6px; color: var(--soar-muted); font-size: .8125rem; line-height: 1.45; }

#soar-pg .soar-pg-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="url"], input[type="date"], select, textarea) {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  max-width: 100% !important;
  height: 52px;
  margin: 0;
  padding: 0 16px;
  border: 1px solid rgb(13 21 48 / .14);
  border-radius: 14px;
  background: var(--soar-paper);
  color: var(--soar-ink);
  font: 400 16px/1.4 var(--soar-font-body);
  box-shadow: none;
  outline: none;
  transition: border-color 160ms ease, box-shadow 200ms ease, background-color 160ms ease;
}
#soar-pg .soar-pg-form textarea { height: auto; min-height: 168px; padding: 14px 16px; line-height: 1.55; resize: vertical; }
#soar-pg .soar-pg-form select { padding-right: 44px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%234A5578'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 18px; }
#soar-pg .soar-pg-form ::placeholder { color: #5F6A8C; opacity: 1; }
@media (hover: hover) and (pointer: fine) {
  #soar-pg .soar-pg-form :is(input, select, textarea):not(:focus):hover { border-color: rgb(13 21 48 / .28); }
}
#soar-pg .soar-pg-form :is(input, select, textarea):focus {
  border-color: var(--soar-blue);
  background-color: var(--soar-white);
  box-shadow: 0 0 0 4px rgb(10 61 126 / .14);
}
#soar-pg .soar-pg-form :is(input, select, textarea).wpforms-error { border-color: #B42318; box-shadow: 0 0 0 4px rgb(180 35 24 / .1); }
#soar-pg .soar-pg-form :is(em, label, div).wpforms-error:not(input) {
  display: block;
  margin-top: 6px;
  padding: 0;
  color: #B42318;
  font-size: .8125rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.4;
}
#soar-pg .soar-pg-form .wpforms-error-noscript { color: #B42318; }

/* Casillas y opciones */
#soar-pg .soar-pg-form .wpforms-field :is(ul, ol) { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
#soar-pg .soar-pg-form .wpforms-field li { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 0; }
#soar-pg .soar-pg-form :is(input[type="checkbox"], input[type="radio"]) { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--soar-blue); flex: none; }
#soar-pg .soar-pg-form .wpforms-field li label { color: var(--soar-ink-soft); font-size: .9375rem; }

/* Teléfono con bandera (intl-tel-input de WPForms) */
#soar-pg .soar-pg-form .iti { display: block; width: 100%; }
#soar-pg .soar-pg-form .iti__country-list { border: 0; border-radius: 14px; box-shadow: 0 18px 40px -16px rgb(13 21 48 / .35), 0 0 0 1px var(--soar-line); }

/* Botón de enviar */
#soar-pg .soar-pg-form .wpforms-submit-container { display: flex; align-items: center; gap: 16px; margin: clamp(24px, 3vw, 32px) 0 0; padding: 0 !important; }
#soar-pg .soar-pg-form :is(button, input).wpforms-submit {
  -webkit-appearance: none;
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  margin: 0;
  padding: 0 28px;
  border: 0;
  border-radius: var(--soar-radius-pill);
  background: var(--soar-blue);
  color: var(--soar-on-blue);
  font: 560 1rem/1 var(--soar-font-body);
  letter-spacing: -.005em;
  text-transform: none;
  cursor: pointer;
  box-shadow: 0 12px 26px -14px rgb(10 61 126 / .8);
  transition: transform 160ms var(--soar-ease-out), background-color 200ms ease, opacity 200ms ease;
}
#soar-pg .soar-pg-form :is(button, input).wpforms-submit:active { transform: scale(.97); }
#soar-pg .soar-pg-form :is(button, input).wpforms-submit:focus-visible { outline: 2px solid var(--soar-blue); outline-offset: 4px; }
#soar-pg .soar-pg-form :is(button, input).wpforms-submit:disabled { opacity: .6; cursor: progress; }
@media (hover: hover) and (pointer: fine) {
  #soar-pg .soar-pg-form :is(button, input).wpforms-submit:hover { background: var(--soar-blue-hover); }
}
#soar-pg .soar-pg-form .wpforms-submit-spinner { width: 24px; height: 24px; margin: 0; }

/* Mensaje de enviado */
#soar-pg .soar-pg-form .wpforms-confirmation-container-full {
  margin: 0;
  padding: 20px 22px;
  border: 0;
  border-radius: 18px;
  background: var(--soar-blue-wash);
  color: var(--soar-ink);
  font-size: 1rem;
}
#soar-pg .soar-pg-form .wpforms-confirmation-container-full p { margin: 0; }

/* ---------- Otros medios ---------- */
#soar-pg .soar-pg-channels { display: grid; gap: clamp(32px, 3.6vw, 44px); padding-top: clamp(4px, 1vw, 12px); }
#soar-pg .soar-pg-channels__title {
  margin-bottom: 12px;
  font-family: var(--soar-font-display);
  font-weight: 680;
  font-size: 1.125rem;
  line-height: 1.2;
  letter-spacing: -.015em;
}
#soar-pg .soar-pg-wa { border-top: 1px solid var(--soar-line); }
#soar-pg .soar-pg-wa > li { border-bottom: 1px solid var(--soar-line); }
#soar-pg .soar-pg-wa__row {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 14px;
  padding: 12px 2px;
}
#soar-pg .soar-pg-wa__row::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 4px -10px;
  border-radius: 14px;
  background: var(--soar-white);
  opacity: 0;
  transform: scale(.98);
  transition: opacity 200ms ease, transform 260ms var(--soar-ease-out);
}
#soar-pg .soar-pg-wa__ico { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--soar-blue-wash); color: var(--soar-blue); transition: background-color 200ms ease, color 200ms ease; }
#soar-pg .soar-pg-wa__name { font-weight: 560; line-height: 1.3; }
#soar-pg .soar-pg-wa__go { color: var(--soar-muted); transition: transform 240ms var(--soar-ease-out), color 200ms ease; }
#soar-pg .soar-pg-wa__go .soar-ico { width: 18px; height: 18px; }
#soar-pg .soar-pg-wa__row:active { transform: scale(.99); }
@media (hover: hover) and (pointer: fine) {
  #soar-pg .soar-pg-wa__row:hover::before { opacity: 1; transform: none; }
  #soar-pg .soar-pg-wa__row:hover .soar-pg-wa__ico { background: var(--soar-blue); color: var(--soar-on-blue); }
  #soar-pg .soar-pg-wa__row:hover .soar-pg-wa__go { color: var(--soar-blue); transform: translateX(3px); }
}
#soar-pg .soar-pg-lines { display: grid; gap: 10px; }
#soar-pg .soar-pg-lines a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-weight: 560;
  font-size: 1.0625rem;
  overflow-wrap: anywhere;
  transition: color 180ms ease;
}
#soar-pg .soar-pg-lines .soar-ico { color: var(--soar-blue); }
@media (hover: hover) and (pointer: fine) {
  #soar-pg .soar-pg-lines a:hover { color: var(--soar-blue); }
}

/* ---------- Visítanos ---------- */
#soar-pg .soar-pg-visit { padding: 0 0 clamp(96px, 11vw, 150px); }
#soar-pg .soar-pg-visit__frame {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  height: clamp(440px, 40vw, 560px);
  border-radius: var(--soar-sheet-r);
  background: #E3E8F2;
  box-shadow: 0 0 0 1px var(--soar-line);
}
#soar-pg .soar-pg-visit__map { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
#soar-pg .soar-pg-visit__card {
  position: absolute;
  z-index: 1;
  left: clamp(16px, 2vw, 28px);
  bottom: clamp(16px, 2vw, 28px);
  width: min(380px, calc(100% - 32px));
  display: grid;
  gap: 12px;
  justify-items: start;
  padding: clamp(20px, 2.4vw, 28px);
  border-radius: 22px;
  background: var(--soar-white);
  box-shadow: 0 24px 50px -24px rgb(13 21 48 / .4), 0 0 0 1px var(--soar-line);
}
#soar-pg .soar-pg-visit__title { font-family: var(--soar-font-display); font-weight: 700; font-size: 1.5rem; line-height: 1.1; letter-spacing: -.03em; }
#soar-pg .soar-pg-visit__line { display: flex; align-items: flex-start; gap: 10px; color: var(--soar-muted); font-size: .9375rem; line-height: 1.5; }
#soar-pg .soar-pg-visit__line .soar-ico { margin-top: 1px; color: var(--soar-blue); }
#soar-pg .soar-pg-visit__card .soar-pg-btn { margin-top: 6px; }

@media (max-width: 1024px) {
  #soar-pg .soar-pg-contact__inner { grid-template-columns: minmax(0, 1fr); }
  #soar-pg .soar-pg-channels { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
  #soar-pg .soar-pg-channels__group:first-child { grid-row: span 2; }
}
@media (max-width: 640px) {
  #soar-pg .soar-pg-form { padding: 22px 18px 26px; border-radius: 24px; }
  #soar-pg .soar-pg-form .wpforms-field-container { grid-template-columns: minmax(0, 1fr); }
  #soar-pg .soar-pg-form :is(button, input).wpforms-submit { width: 100%; }
  #soar-pg .soar-pg-channels { grid-template-columns: minmax(0, 1fr); }
  #soar-pg .soar-pg-channels__group:first-child { grid-row: auto; }
  #soar-pg .soar-pg-visit__frame { display: flex; flex-direction: column; height: auto; }
  #soar-pg .soar-pg-visit__map { position: relative; inset: auto; height: 300px; flex: none; }
  #soar-pg .soar-pg-visit__card { position: static; width: auto; border-radius: 0; box-shadow: none; }
}

/* =========================================================
   TÉRMINOS Y AVISO DE PRIVACIDAD
   El texto se escribe en bloques normales de WordPress; el JS lo acomoda en .soar-pg-legal__body
   ========================================================= */
#soar-pg .soar-pg-hero--legal { padding-bottom: clamp(40px, 5vw, 72px); }
#soar-pg .soar-pg-hero--legal .soar-pg-hero__top { --soar-h1: clamp(2.5rem, 6vw, 5rem); }
#soar-pg .soar-pg-hero--legal .soar-pg-hero__side { grid-column: 1 / -1; margin-top: clamp(20px, 2.6vw, 32px); }
#soar-pg .soar-pg-hero--legal .soar-pg-hero__lead { max-width: 56ch; }
#soar-pg .soar-pg-legal__jump { display: flex; flex-wrap: wrap; gap: 10px; margin-top: clamp(20px, 2.4vw, 28px); }
#soar-pg .soar-pg-legal__date { margin-top: 16px; color: var(--soar-muted); font-size: .875rem; }

#soar-pg .soar-pg-legal { padding: 0 0 clamp(64px, 8vw, 112px); }
#soar-pg .soar-pg-legal__inner {
  display: grid;
  grid-template-columns: minmax(200px, 260px) minmax(0, 1fr);
  gap: clamp(32px, 6vw, 112px);
  align-items: start;
  padding-top: clamp(32px, 4vw, 56px);
  border-top: 1px solid var(--soar-line);
}
#soar-pg .soar-pg-legal__inner:not(:has(.soar-pg-toc:not([hidden]))) { grid-template-columns: minmax(0, 1fr); }

/* Índice: se queda fijo a un lado y marca en qué parte vas */
#soar-pg .soar-pg-toc { position: sticky; top: calc(var(--soar-top, 0px) + var(--soar-nav-h) + 32px); max-height: calc(100svh - var(--soar-nav-h) - 64px); overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; }
#soar-pg .soar-pg-toc__title { margin-bottom: 14px; font-family: var(--soar-font-display); font-weight: 680; font-size: 1rem; color: var(--soar-ink); }
#soar-pg .soar-pg-toc__list { display: grid; gap: 2px; border-left: 1.5px solid var(--soar-line); }
#soar-pg .soar-pg-toc__list a {
  position: relative;
  display: block;
  margin-left: -1.5px;
  padding: 7px 0 7px 16px;
  border-left: 1.5px solid transparent;
  color: var(--soar-muted);
  font-size: .9375rem;
  line-height: 1.35;
  transition: color 180ms ease, border-color 180ms ease;
}
#soar-pg .soar-pg-toc__list .is-sub a { padding-left: 28px; font-size: .875rem; }
#soar-pg .soar-pg-toc__list a[aria-current="true"] { color: var(--soar-ink); font-weight: 560; border-left-color: var(--soar-blue); }
@media (hover: hover) and (pointer: fine) {
  #soar-pg .soar-pg-toc__list a:hover { color: var(--soar-ink); }
}

/* Texto legal: cómodo para leer */
#soar-pg .soar-pg-legal__body { max-width: 72ch; color: var(--soar-ink-soft); font-size: 1rem; line-height: 1.75; }
#soar-pg .soar-pg-legal__body > * + * { margin-top: 1em; }
#soar-pg .soar-pg-legal__body :is(h2, h3, h4) { color: var(--soar-ink); font-family: var(--soar-font-display); text-wrap: balance; scroll-margin-top: calc(var(--soar-top, 0px) + var(--soar-nav-h) + 24px); }
#soar-pg .soar-pg-legal__body h2 { font-weight: 720; font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.05; letter-spacing: -.035em; }
#soar-pg .soar-pg-legal__body h2:not(:first-child) { margin-top: clamp(56px, 7vw, 96px); padding-top: clamp(40px, 5vw, 64px); border-top: 1px solid var(--soar-line); }
#soar-pg .soar-pg-legal__body h2 + * { margin-top: 20px; }
#soar-pg .soar-pg-legal__body h3 { margin-top: 2.2em; font-weight: 660; font-size: clamp(1.1875rem, 1.6vw, 1.375rem); line-height: 1.25; letter-spacing: -.015em; }
#soar-pg .soar-pg-legal__body h4 { margin-top: 1.8em; font-weight: 640; font-size: 1.0625rem; }
#soar-pg .soar-pg-legal__body h5 { margin-top: 1.6em; color: var(--soar-blue-deep); font-family: var(--soar-font-display); font-weight: 650; font-size: 1rem; letter-spacing: -.01em; }
#soar-pg .soar-pg-legal__body h5 + * { margin-top: .5em; }
#soar-pg .soar-pg-legal__body h4 + h4 { margin-top: 1em; }
#soar-pg .soar-pg-legal__body :is(h3, h4) + * { margin-top: .6em; }
/* Partes guardadas pero ocultas (grupo con la clase soar-pg-oculto): no se ven, con o sin JS */
.entry-content .soar-pg-oculto, #soar-pg .soar-pg-oculto { display: none !important; }
#soar-pg .soar-pg-legal__body p { margin-bottom: 0; text-wrap: pretty; }
#soar-pg .soar-pg-legal__body strong, #soar-pg .soar-pg-legal__body b { color: var(--soar-ink); font-weight: 600; }
#soar-pg .soar-pg-legal__body a { color: var(--soar-blue-deep); text-decoration: underline; text-decoration-color: rgb(10 61 126 / .35); text-underline-offset: 3px; overflow-wrap: anywhere; transition: text-decoration-color 180ms ease; }
@media (hover: hover) and (pointer: fine) { #soar-pg .soar-pg-legal__body a:hover { text-decoration-color: currentColor; } }
#soar-pg .soar-pg-legal__body :is(ul, ol) { padding-left: 1.4em; }
#soar-pg .soar-pg-legal__body ul { list-style: disc; }
#soar-pg .soar-pg-legal__body ol { list-style: decimal; }
#soar-pg .soar-pg-legal__body li { padding-left: .2em; }
#soar-pg .soar-pg-legal__body li + li { margin-top: .45em; }
#soar-pg .soar-pg-legal__body li::marker { content: normal; color: var(--soar-blue); }
#soar-pg .soar-pg-legal__body :is(ul, ol) :is(ul, ol) { margin-top: .45em; }
#soar-pg .soar-pg-legal__body hr { height: 1px; border: 0; background: var(--soar-line); margin: 2.5em 0; }
#soar-pg .soar-pg-legal__body table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
#soar-pg .soar-pg-legal__body :is(th, td) { padding: 10px 12px; border-bottom: 1px solid var(--soar-line); text-align: left; vertical-align: top; }
#soar-pg .soar-pg-legal__body th { color: var(--soar-ink); font-weight: 600; }
#soar-pg .soar-pg-legal__body .wp-block-table { overflow-x: auto; }
#soar-pg .soar-pg-legal__body blockquote { padding: 16px 20px; border-radius: 14px; background: var(--soar-white); box-shadow: 0 0 0 1px var(--soar-line); }

/* ¿Dudas? */
#soar-pg .soar-pg-legal-help { padding: 0 0 clamp(96px, 11vw, 150px); }
#soar-pg .soar-pg-legal-help__card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px 32px;
  padding: clamp(24px, 3.4vw, 40px);
  border-radius: var(--soar-sheet-r);
  background: var(--soar-white);
  box-shadow: 0 0 0 1px var(--soar-line), 0 28px 56px -44px rgb(13 21 48 / .3);
}
#soar-pg .soar-pg-legal-help__title { font-family: var(--soar-font-display); font-weight: 700; font-size: clamp(1.375rem, 2.2vw, 1.75rem); line-height: 1.15; letter-spacing: -.025em; text-wrap: balance; }
#soar-pg .soar-pg-legal-help__text { margin-top: 6px; color: var(--soar-muted); }
#soar-pg .soar-pg-legal-help__ctas { display: flex; flex-wrap: wrap; gap: 10px; }

@media (max-width: 1024px) {
  #soar-pg .soar-pg-legal__inner { grid-template-columns: minmax(0, 1fr); }
  #soar-pg .soar-pg-toc { display: none; }
}
@media (max-width: 640px) {
  #soar-pg .soar-pg-legal__jump .soar-pg-btn { flex: 1 1 auto; }
  #soar-pg .soar-pg-legal-help__ctas, #soar-pg .soar-pg-legal-help__ctas .soar-pg-btn { width: 100%; }
  #soar-pg .soar-pg-legal-help__ctas .soar-pg-btn span { overflow: hidden; text-overflow: ellipsis; }
}