/**
 * about.css — Estilos de la página "About us" (page-about-us.php)
 * Cargado solo en /about-us/.
 *
 * El hero (.page-hero) y las cabeceras de sección (.section-eyebrow/
 * title/desc/header) son componentes compartidos y viven en main.css
 * (también los usa Contacto/Blog) — acá solo va lo específico de cada
 * sección de esta página. Las secciones marcadas 🌐 en sus propios
 * template-parts están pensadas para reutilizarse en Home tal cual —
 * si eso pasa, este bloque de CSS puntual se migra a main.css.
 */

/* style.css define un fondo gris claro global para <body>. En About
   us el body debe ser blanco de punta a punta — mismo criterio que
   Blog/Contacto. La clase 'page-about-us' la agrega page-about-us.php
   vía el filtro body_class (esta plantilla no trae una clase
   distinguible de fábrica). */
body.page-about-us {
    background-color: var(--color-blanco);
}

/* Franja de credibilidad (.trust-bar) — movida a main.css, ahora se
   reutiliza también en Home. */

/* ─────────────────────────────────────────────────────────
   QUIÉNES SOMOS
   ───────────────────────────────────────────────────────── */

.about-quienes { position: relative; overflow: hidden; background: var(--color-blanco); padding: 88px 0; }
.about-quienes::before {
    content: ""; position: absolute; top: -180px; right: -180px; width: 480px; height: 480px;
    border: 48px solid var(--color-primario); border-radius: 50%; opacity: 0.05; pointer-events: none;
}
.about-quienes__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 64px; align-items: start; }
.about-quienes__label { color: var(--color-acento); font-weight: 700; font-size: 13px; letter-spacing: 0.5px; text-transform: uppercase; }
.about-quienes__title { font-size: clamp(1.7rem, 3vw, 2.3rem); font-weight: 800; letter-spacing: -0.01em; color: var(--color-primario); margin: 10px 0 28px; line-height: 1.25; }
.about-quienes__desc { color: var(--color-texto-claro); line-height: 1.8; font-size: 15px; }
.about-quienes__desc p { margin: 0 0 20px; }
.about-quienes__desc p:last-child { margin-bottom: 0; }
.about-quienes__logo { max-width: un270px; height: auto; margin: 0 0 28px; }
.about-quienes__pillars { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.about-pillar { background: var(--color-fondo); border: 1px solid var(--color-borde); border-left: 4px solid var(--color-acento); border-radius: var(--radius-md); padding: 28px 24px; }
.about-quienes__pillars > .about-pillar:nth-child(2) { border-left-color: var(--color-primario); }
.about-quienes__pillars > .about-pillar:nth-child(3) { border-left-color: #29abe2; }
.about-quienes__pillars > .about-pillar:nth-child(4) { border-left-color: #009245; }
.about-pillar__num { display: block; font-size: 34px; font-weight: 800; line-height: 1; color: var(--color-primario); opacity: 0.15; margin-bottom: 10px; }
.about-pillar h3 { font-size: 17px; font-weight: 700; color: var(--color-primario); margin: 0; }
@media (max-width: 1024px) { .about-quienes__grid { grid-template-columns: 1fr; gap: 32px; } }
@media (max-width: 480px) { .about-quienes__pillars { grid-template-columns: 1fr; } }

/* ─────────────────────────────────────────────────────────
   MISIÓN Y VISIÓN
   ───────────────────────────────────────────────────────── */

.mv { background: var(--color-fondo); padding: 88px 0; }
.mv__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.mv__card { position: relative; background: var(--color-blanco); border-radius: var(--radius-md); padding: 40px 36px; border-top: 4px solid var(--color-primario); box-shadow: 0 12px 28px rgba(10,37,64,0.06); }
.mv__card--vision { border-top-color: var(--color-acento); }
.mv__label { display: block; font-size: 22px; font-weight: 800; color: var(--color-primario); margin-bottom: 18px; }
.mv__card--vision .mv__label { color: var(--color-acento); }
.mv__text { font-size: 16px; line-height: 1.8; color: var(--color-texto); margin: 0; }
@media (max-width: 1024px) { .mv__grid { grid-template-columns: 1fr; } }

/* ─────────────────────────────────────────────────────────
   VALORES CORPORATIVOS
   ───────────────────────────────────────────────────────── */

.valores { background: var(--color-blanco); padding: 88px 0; }
.valores__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.valor-item { border: 1px solid var(--color-borde); border-left-width: 4px; border-radius: var(--radius-md); padding: 22px 20px; background: var(--color-fondo); }
.valores__grid > .valor-item:nth-child(1) { border-left-color: var(--color-acento); }
.valores__grid > .valor-item:nth-child(2) { border-left-color: var(--color-primario); }
.valores__grid > .valor-item:nth-child(3) { border-left-color: #29abe2; }
.valores__grid > .valor-item:nth-child(4) { border-left-color: #009245; }
.valores__grid > .valor-item:nth-child(5) { border-left-color: #f15a24; }
.valores__grid > .valor-item:nth-child(6) { border-left-color: #7c3aed; }
.valores__grid > .valor-item:nth-child(7) { border-left-color: var(--color-acento); }
.valor-item__num { display: block; font-size: 13px; font-weight: 700; letter-spacing: 1px; color: var(--color-texto-claro); margin-bottom: 8px; }
.valor-item h3 { font-size: 15px; font-weight: 700; color: var(--color-primario); margin: 0 0 8px; }
.valor-item p { font-size: 13px; color: var(--color-texto-claro); line-height: 1.6; margin: 0; }
@media (max-width: 1024px) { .valores__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .valores__grid { grid-template-columns: 1fr; } }

/* Diferenciación (.diff) — movida a main.css, ahora se reutiliza
   también en Home. */

/* ─────────────────────────────────────────────────────────
   ADN / ESPÍRITU DE MARCA — intro fija + slider autoplay
   ───────────────────────────────────────────────────────── */

.adn { background: var(--color-blanco); padding: 88px 0; }
.adn__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.adn__grid > * { min-width: 0; }
.adn__intro-desc { font-size: 15px; color: var(--color-texto-claro); line-height: 1.8; margin: 0 0 28px; }
.adn__declaracion { display: inline-block; background: var(--color-fondo); border: 1px solid var(--color-borde); border-radius: var(--radius-md); padding: 16px 22px; color: var(--color-primario); font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }

.adn__slider { position: relative; min-width: 0; }
.adn__viewport { min-width: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none; border-radius: var(--radius-md); }
.adn__viewport::-webkit-scrollbar { display: none; }
.adn__track { display: flex; }
.adn-card { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; background: var(--color-fondo); border: 1px solid var(--color-borde); border-radius: var(--radius-md); padding: 48px 44px; min-height: 280px; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; }
.adn-card__num { font-size: 76px; font-weight: 800; line-height: 1; color: var(--color-primario); opacity: 0.08; position: absolute; top: 8px; right: 24px; }
.adn-card__title { position: relative; z-index: 1; font-size: clamp(1.3rem, 2.2vw, 1.6rem); font-weight: 800; color: var(--color-primario); margin: 0 0 14px; letter-spacing: -0.01em; }
.adn-card__desc { position: relative; z-index: 1; font-size: 15px; color: var(--color-texto-claro); line-height: 1.7; margin: 0; max-width: 440px; }
.adn__arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; background: var(--color-blanco); border: 1px solid var(--color-borde); box-shadow: 0 4px 12px rgba(0,0,0,0.1); cursor: pointer; font-size: 20px; color: var(--color-primario); z-index: 2; display: flex; align-items: center; justify-content: center; }
.adn__arrow--prev { left: -22px; }
.adn__arrow--next { right: -22px; }
.adn__arrow:hover { background: var(--color-primario); color: var(--color-blanco); }
.adn__dots { display: flex; justify-content: center; gap: 8px; margin-top: 20px; }
.adn__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--color-borde); border: none; padding: 0; cursor: pointer; }
.adn__dot.is-active { background: var(--color-primario); width: 22px; border-radius: 4px; transition: width 0.2s ease; }

@media (max-width: 1024px) {
    .adn__grid { grid-template-columns: 1fr; gap: 32px; }
    .adn-card { padding: 40px 32px; min-height: 240px; }
}
@media (max-width: 480px) {
    .adn__arrow { width: 32px; height: 32px; font-size: 15px; }
    .adn__arrow--prev { left: 4px; }
    .adn__arrow--next { right: 4px; }
    .adn-card { padding: 36px 24px; }
    .adn-card__num { font-size: 60px; }
}

/* ─────────────────────────────────────────────────────────
   TRUST FRAMEWORK
   ───────────────────────────────────────────────────────── */

.trust-fw { position: relative; overflow: hidden; background: var(--color-primario); color: var(--color-blanco); padding: 88px 0; }
.trust-fw::before {
    content: ""; position: absolute; bottom: -220px; left: -220px; width: 560px; height: 560px;
    border: 56px solid var(--color-blanco); border-radius: 50%; opacity: 0.04; pointer-events: none;
}
.trust-fw .section-title, .trust-fw .section-eyebrow { color: var(--color-blanco); }
.trust-fw .container { position: relative; z-index: 1; }
.trust-fw__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.trust-fw__item { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: var(--radius-sm); padding: 20px; }
.trust-fw__num { display: block; font-size: 30px; font-weight: 800; color: #7fa8d9; line-height: 1; margin-bottom: 12px; }
.trust-fw__item p { margin: 0; font-size: 14px; font-weight: 600; line-height: 1.4; }
@media (max-width: 1024px) { .trust-fw__grid { grid-template-columns: repeat(2, 1fr); } }

/* Testimonios: movido a main.css — es una sección "🌐 Global" que
   ahora se reutiliza también en Home, no solo en About us. */

/* ─────────────────────────────────────────────────────────
   CTA FINAL
   ───────────────────────────────────────────────────────── */

.cta-final { background: var(--color-acento); text-align: center; padding: 88px 0; }
.cta-final__title { font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; color: var(--color-blanco); margin: 0 0 14px; }
.cta-final__desc { font-size: 16px; color: rgba(255,255,255,0.85); max-width: 560px; margin: 0 auto 28px; line-height: 1.6; }
.cta-final .btn-white { display: inline-block; background: var(--color-blanco); color: var(--color-acento); padding: 14px 32px; border-radius: var(--radius-md); font-weight: 700; font-size: 14px; }

/* main.css define .site-footer con margin-top: 80px de forma global
   (necesario en otras páginas). Acá el CTA rojo debe quedar pegado al
   footer sin ese espacio — se anula solo en esta página. */
body.page-about-us .site-footer {
    margin-top: 0;
}
