.banner-section-content{ text-align: center; }
.banner-section-content h1{ font-family: 'Playfair Display', serif; font-size: 50px; text-transform: none !important; margin-bottom: 50px !important; line-height: 1.2; letter-spacing: 0 !important; color:#fff !important;}
.banner-section-outer .banner-section .banner-section-content{ padding-top:68px !important; }
.banner-section-outer .banner-section p{ padding-right: 0px !important;}
.antetitulo{text-transform: uppercase; font-size: 15px; }

.banner-section .btn_wrapper {
  font-size: 20px;
  line-height: 20px;
  font-weight: 400;
  padding: 14px 24px;
  text-align: center;
  background-color: #345359;
  color: var(--e-global-color-white);
  display: inline-block;
  border-radius: 25px 0 25px 0;
  transition: all 0.3s ease-in-out;
}

.banner-section .btn_wrapper .sub_span {
  color: #fff;
  margin-left: 8px;
}

@media screen and (max-width: 860px) {
	.banner-section-outer .banner-section{ height: auto; }
	.banner-section-content h1{ font-size: 30px; text-transform: none !important; margin-bottom: 20px !important;}	
	.banner-section-outer .banner-section .banner-section-content{ padding-top: 60px !important; }
}

/* ==========================================================
   ESPACIO CALMA · DISEÑO VISUAL + SEO + ACCESIBILIDAD AA
   ========================================================== */

:root {
    --liberum-text: #263238;
    --liberum-muted: #5f6f73;
    --liberum-calm-blue: #543458;
    --liberum-green: #345359;
    --liberum-mustard: #543458;
    --liberum-bg-soft: #f4f7ff;
    --liberum-white: #ffffff;
    --liberum-border: rgba(52, 83, 89, 0.14);
}

/* Texto oculto visualmente, accesible para lectores de pantalla */
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Foco visible AA */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 3px solid var(--liberum-mustard);
    outline-offset: 4px;
}

/* Base */
.calma_intro_section,
.calma_enfoque_section,
.calma_services_section,
.calma_results_section,
.calma_contact_section {
    overflow: hidden;
}

.calma_intro_content,
.calma_enfoque_content,
.calma_results_content,
.services_content,
.message_content {
    color: var(--liberum-text);
}

.calma_intro_content p,
.calma_enfoque_content p,
.calma_results_content p,
.services_content p,
.message_content p,
.services_box_lower_portion p,
.results_list li {
    color: var(--liberum-muted);
}

.antetitulo {
    text-transform: uppercase;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 2.4px;
    font-weight: 600;
    color: var(--liberum-calm-blue);
    margin-bottom: 14px;
}

/* Imágenes generales */
.calma_intro_image,
.calma_feature_image,
.calma_results_image,
.calma_contact_image {
    position: relative;
    overflow: hidden;
    border-radius: 58px 0 58px 0;
    box-shadow: 0 24px 70px rgba(38, 50, 56, 0.13);
    background: rgba(71, 129, 186, 0.08);
}

.calma_intro_image img,
.calma_feature_image img,
.calma_results_image img,
.calma_contact_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ==========================================================
   INTRO
   ========================================================== */

.calma_intro_section {
    padding: 110px 0 105px;
    background-color: var(--liberum-white);
}

.calma_intro_content {
    text-align: left;
    padding-right: 38px;
}

.calma_intro_content h2 {
    color: var(--liberum-text);
    margin-bottom: 24px;
}

.calma_intro_content p {
    padding: 0;
    margin-bottom: 22px;
    font-size: 20px;
    line-height: 1.6;
}

.calma_intro_image {
    height: 460px;
}

.calma_symptoms_row {
    margin-top: 58px;
}

.calma_symptoms_box {
    background: rgba(71, 129, 186, 0.08);
    border: 1px solid rgba(71, 129, 186, 0.18);
    border-radius: 42px 0 42px 0;
    padding: 36px 44px;
}

.calma_symptoms_box ul {
    columns: 2;
    column-gap: 60px;
    margin: 0;
    padding-left: 22px;
}

.calma_symptoms_box li {
    break-inside: avoid;
    color: var(--liberum-text);
    font-size: 18px;
    line-height: 1.55;
    margin-bottom: 12px;
}

.calma_symptoms_box li:last-child {
    margin-bottom: 0;
}

/* ==========================================================
   ENFOQUE
   ========================================================== */

.calma_enfoque_section {
    background: linear-gradient(135deg, rgba(244, 247, 255, 1), rgba(71, 129, 186, 0.08));
    padding: 110px 0;
}

.calma_feature_image {
    height: 420px;
}

.calma_enfoque_content {
    text-align: left;
    padding-left: 50px;
}

.calma_enfoque_content h2 {
    color: var(--liberum-text);
    margin-bottom: 22px;
}

.calma_enfoque_content p {
    padding: 0;
    font-size: 20px;
    line-height: 1.6;
    margin-bottom: 18px;
}

/* ==========================================================
   SERVICIOS
   ========================================================== */

.calma_services_section {
    padding: 110px 0 95px;
    background-color: var(--liberum-white);
}

.services_content {
    max-width: 980px;
    margin: 0 auto 30px;
    text-align: center;
}

.services_content h2 {
    color: var(--liberum-text);
    padding: 0;
    margin-bottom: 18px;
}

.services_content p {
    padding: 0;
    max-width: 760px;
    margin: 0 auto 50px;
    font-size: 20px;
    line-height: 1.55;
}

.calma_services_section .services_box_content {
    height: calc(100% - 35px);
    background: var(--liberum-white);
    border: 1px solid var(--liberum-border);
    border-radius: 42px 0 42px 0;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(38, 50, 56, 0.07);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    margin-bottom: 35px;
}

.calma_services_section .services_box_content:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 65px rgba(38, 50, 56, 0.12);
    border-color: rgba(71, 129, 186, 0.35);
}

.calma_services_section .services_box_content .services_box_upper_portion {
    height: 225px;
    margin-bottom: 0;
    background: rgba(71, 129, 186, 0.08);
    overflow: hidden;
}

.calma_services_section .services_box_content .services_box_upper_portion figure {
    height: 100%;
}

.calma_services_section .services_box_content .services_box_upper_portion img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease, opacity 0.35s ease;
}

.calma_services_section .services_box_content:hover .services_box_upper_portion img {
    opacity: 0.92;
    transform: scale(1.04);
}

.services_box_content .services_box_lower_portion {
    padding: 30px 28px 32px;
}

.services_box_content .services_box_lower_portion h3 {
    color: var(--liberum-text);
    margin-bottom: 14px;
    min-height: 58px;
}

.services_box_content .services_box_lower_portion p {
    font-size: 18px;
    line-height: 1.45;
    margin-bottom: 24px;
}

.services_box_content .services_box_lower_portion .btn_wrapper a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    min-height: 52px;
    border-radius: 18px 0 18px 0;
}

.services_box_content .services_box_lower_portion .btn_wrapper i {
    color: var(--liberum-white);
    background-color: var(--liberum-mustard);
    font-size: 22px;
    line-height: 22px;
    padding: 15px 17px;
    border-radius: 18px 0 18px 0;
    transition: background-color 0.25s ease, transform 0.25s ease;
}

.services_box_content:hover .services_box_lower_portion .btn_wrapper i {
    background-color: var(--liberum-green);
}

/* ==========================================================
   RESULTADOS
   ========================================================== */

.calma_results_section {
    padding: 105px 0;
    background: rgba(52, 83, 89, 0.08);
}

.calma_results_content {
    text-align: left;
    padding-right: 40px;
}

.calma_results_content h2 {
    color: var(--liberum-text);
    margin-bottom: 22px;
}

.calma_results_content p {
    padding: 0;
    font-size: 20px;
    line-height: 1.6;
    margin-bottom: 24px;
}

.calma_results_image {
    height: 460px;
}

.results_list {
    background-color: var(--liberum-white);
    border: 1px solid var(--liberum-border);
    border-radius: 36px 0 36px 0;
    padding: 30px 34px 30px 54px;
    margin: 20px 0 0;
    box-shadow: 0 16px 45px rgba(38, 50, 56, 0.06);
}

.results_list li {
    font-size: 18px;
    line-height: 1.55;
    margin-bottom: 12px;
}

.results_list li:last-child {
    margin-bottom: 0;
}

/* ==========================================================
   CONTACTO
   ========================================================== */

.calma_contact_section {
    padding: 110px 0 120px;
    background: linear-gradient(135deg, rgba(244, 247, 255, 1), rgba(52, 83, 89, 0.08));
}

.calma_contact_image {
    height: 560px;
}

.message_content {
    background-color: var(--liberum-white);
    border-radius: 50px 0 50px 0;
    padding: 54px 58px;
    box-shadow: 0 22px 70px rgba(38, 50, 56, 0.08);
}

.message_content h5 {
    color: var(--liberum-calm-blue);
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 2.4px;
}

.message_content h2 {
    color: var(--liberum-text);
}

.message_content p {
    padding-right: 0;
    max-width: 680px;
    font-size: 20px;
    line-height: 1.55;
}

.message_content input,
.message_content textarea {
    width: 100%;
    border: 1px solid rgba(52, 83, 89, 0.18);
    border-radius: 18px 0 18px 0;
    color: var(--liberum-text);
    background-color: #ffffff;
    box-shadow: 0 12px 35px rgba(38, 50, 56, 0.05);
}

.message_content input {
    padding: 22px 24px;
    margin-bottom: 22px;
}

.message_content textarea {
    padding: 20px 24px;
    margin-bottom: 34px;
}

.message_content .form_style {
    margin-left: 0;
}

.message_content input::placeholder,
.message_content textarea::placeholder {
    color: #6f7f83;
    opacity: 1;
}

.message_content .form-control:focus {
    border: 2px solid var(--liberum-calm-blue);
    outline: 3px solid rgba(71, 129, 186, 0.28);
    outline-offset: 2px;
    box-shadow: none;
}

.message_content button {
    color: var(--liberum-white);
    background-color: var(--liberum-mustard);
    border-radius: 34px 0 34px 0;
    border: 0;
    min-height: 58px;
}

.message_content button:hover,
.message_content button:focus-visible {
    color: var(--liberum-white);
    background-color: var(--liberum-green);
    transform: translateY(-4px);
}

/* ==========================================================
   REDUCCIÓN DE MOVIMIENTO
   ========================================================== */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }

    .services_box_content:hover,
    .message_content button:hover,
    .calma_services_section .services_box_content:hover .services_box_upper_portion img {
        transform: none !important;
    }
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media screen and (max-width: 991px) {
    .calma_intro_section,
    .calma_enfoque_section,
    .calma_services_section,
    .calma_results_section,
    .calma_contact_section {
        padding: 80px 0;
    }

    .calma_intro_content,
    .calma_enfoque_content,
    .calma_results_content {
        padding: 0;
        text-align: center;
    }

    .calma_intro_content {
        margin-bottom: 38px;
    }

    .calma_enfoque_content {
        margin-top: 38px;
    }

    .calma_results_content {
        margin-bottom: 38px;
    }

    .calma_intro_image,
    .calma_feature_image,
    .calma_results_image,
    .calma_contact_image {
        height: 420px;
    }

    .calma_symptoms_box ul {
        columns: 1;
    }

    .services_content h2,
    .achievement_content h2,
    .blog_posts_content h2,
    .message_content h2 {
        font-size: 38px;
    }

    .message_content {
        padding: 42px 36px;
        margin-top: 38px;
    }
}

@media screen and (max-width: 767px) {
    .calma_intro_section,
    .calma_enfoque_section,
    .calma_services_section,
    .calma_results_section,
    .calma_contact_section {
        padding: 64px 0;
    }

    .blog_posts_content h2,
    .services_content h2,
    .achievement_content h2,
    .message_content h2 {
        font-size: 31px;
        line-height: 1.22;
    }

    .calma_intro_content p,
    .calma_enfoque_content p,
    .services_content p,
    .calma_results_content p,
    .message_content p {
        font-size: 18px;
        line-height: 1.55;
    }

    .calma_intro_image,
    .calma_feature_image,
    .calma_results_image,
    .calma_contact_image {
        height: 320px;
        border-radius: 34px 0 34px 0;
    }

    .calma_symptoms_box {
        padding: 28px 24px;
        border-radius: 28px 0 28px 0;
    }

    .calma_services_section .services_box_content .services_box_upper_portion {
        height: 220px;
    }

    .services_box_content .services_box_lower_portion h3 {
        min-height: auto;
    }

    .results_list {
        padding: 28px 28px 28px 48px;
    }

    .message_content {
        padding: 34px 24px;
        border-radius: 34px 0 34px 0;
    }

    .message_content input,
    .message_content textarea {
        font-size: 17px;
    }
}

/* ==========================================================
   ESPACIO CONEXIÓN · SOLO SECCIÓN
   ========================================================== */

.conexion_intro_section,
.conexion_problems_section,
.conexion_enfoque_section,
.conexion_tools_section,
.conexion_services_section,
.conexion_results_section,
.conexion_contact_section {
    overflow: hidden;
}

/* Accesibilidad: labels ocultos solo dentro de esta sección */
.conexion_contact_section .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Foco visible solo dentro de Espacio Conexión */
.conexion_tools_section a:focus-visible,
.conexion_services_section a:focus-visible,
.conexion_contact_section button:focus-visible,
.conexion_contact_section input:focus-visible,
.conexion_contact_section textarea:focus-visible {
    outline: 3px solid #543458;
    outline-offset: 4px;
}

/* Antetítulos */
.conexion_intro_section .antetitulo,
.conexion_problems_section .antetitulo,
.conexion_enfoque_section .antetitulo,
.conexion_tools_section .antetitulo,
.conexion_services_section .antetitulo,
.conexion_results_section .antetitulo,
.conexion_contact_section .antetitulo {
    text-transform: uppercase;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 2.4px;
    font-weight: 600;
    color: #543458;
    margin-bottom: 14px;
}

/* ==========================================================
   INTRO
   ========================================================== */

.conexion_intro_section {
    padding: 110px 0 95px;
    background-color: #ffffff;
}

.conexion_intro_content {
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
}

.conexion_intro_content h2 {
    color: #263238;
    margin-bottom: 24px;
}

.conexion_intro_content p {
    max-width: 860px;
    padding: 0;
    margin: 0 auto 20px;
    font-size: 20px;
    line-height: 1.6;
    color: #5f6f73;
}

/* ==========================================================
   PROBLEMAS
   ========================================================== */

.conexion_problems_section {
    padding: 105px 0;
    background: linear-gradient(135deg, rgba(163, 120, 163, 0.10), rgba(244, 247, 255, 1));
}

.conexion_side_box {
    background-color: #ffffff;
    border: 1px solid rgba(163, 120, 163, 0.22);
    border-radius: 50px 0 50px 0;
    padding: 48px 44px;
    box-shadow: 0 22px 70px rgba(38, 50, 56, 0.08);
}

.conexion_side_box h2 {
    color: #263238;
    margin-bottom: 0;
}

.conexion_problems_list {
    background-color: #ffffff;
    border: 1px solid rgba(52, 83, 89, 0.12);
    border-radius: 44px 0 44px 0;
    padding: 40px 46px;
    box-shadow: 0 18px 55px rgba(38, 50, 56, 0.06);
}

.conexion_problems_list ul {
    margin: 0;
    padding-left: 22px;
}

.conexion_problems_list li {
    color: #263238;
    font-size: 18px;
    line-height: 1.55;
    margin-bottom: 13px;
}

.conexion_problems_list li:last-child {
    margin-bottom: 0;
}

/* ==========================================================
   ENFOQUE
   ========================================================== */

.conexion_enfoque_section {
    padding: 105px 0;
    background-color: #ffffff;
}

.conexion_enfoque_content {
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
}

.conexion_enfoque_content h2 {
    color: #263238;
    margin-bottom: 22px;
}

.conexion_enfoque_content p {
    max-width: 880px;
    padding: 0;
    margin: 0 auto;
    font-size: 20px;
    line-height: 1.6;
    color: #5f6f73;
}

/* ==========================================================
   HERRAMIENTAS
   ========================================================== */

.conexion_tools_section {
    padding: 110px 0 85px;
    background: rgba(52, 83, 89, 0.06);
}

.conexion_tools_heading {
    max-width: 980px;
    margin: 0 auto 50px;
    text-align: center;
}

.conexion_tools_heading h2 {
    color: #263238;
    margin-bottom: 18px;
}

.conexion_tools_heading p {
    max-width: 780px;
    padding: 0;
    margin: 0 auto;
    font-size: 20px;
    line-height: 1.55;
    color: #5f6f73;
}

.conexion_tool_card {
    height: calc(100% - 30px);
    background-color: #ffffff;
    border: 1px solid rgba(163, 120, 163, 0.22);
    border-radius: 40px 0 40px 0;
    padding: 36px 34px;
    margin-bottom: 30px;
    box-shadow: 0 16px 45px rgba(38, 50, 56, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.conexion_tool_card:hover {
    transform: translateY(-7px);
    box-shadow: 0 24px 65px rgba(38, 50, 56, 0.11);
    border-color: rgba(163, 120, 163, 0.42);
}

.conexion_tool_card h3 {
    color: #263238;
    margin-bottom: 14px;
}

.conexion_tool_card p {
    color: #5f6f73;
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 0;
}

/* ==========================================================
   SERVICIOS
   ========================================================== */

.conexion_services_section {
    padding: 110px 0 85px;
    background-color: #ffffff;
}

.conexion_services_heading {
    max-width: 980px;
    margin: 0 auto 50px;
    text-align: center;
}

.conexion_services_heading h2 {
    color: #263238;
    margin-bottom: 18px;
}

.conexion_services_heading p {
    max-width: 820px;
    padding: 0;
    margin: 0 auto;
    font-size: 20px;
    line-height: 1.55;
    color: #5f6f73;
}

.conexion_service_box {
    height: calc(100% - 30px);
    background: linear-gradient(135deg, #ffffff, rgba(163, 120, 163, 0.08));
    border: 1px solid rgba(52, 83, 89, 0.14);
    border-radius: 42px 0 42px 0;
    padding: 38px 36px;
    margin-bottom: 30px;
    box-shadow: 0 18px 50px rgba(38, 50, 56, 0.06);
}

.conexion_service_box h3 {
    color: #263238;
    margin-bottom: 14px;
	margin-top: 20px;
}

.conexion_service_box p {
    color: #5f6f73;
    font-size: 18px;
    line-height: 1.52;
    margin-bottom: 0;
}

/* ==========================================================
   RESULTADOS
   ========================================================== */

.conexion_results_section {
    padding: 105px 0;
    background: linear-gradient(135deg, rgba(244, 247, 255, 1), rgba(163, 120, 163, 0.10));
}

.conexion_results_content {
    max-width: 900px;
    margin: 0 auto 30px;
    text-align: center;
}

.conexion_results_content h2 {
    color: #263238;
    margin-bottom: 20px;
}

.conexion_results_content p {
    max-width: 760px;
    padding: 0;
    margin: 0 auto;
    font-size: 20px;
    line-height: 1.6;
    color: #5f6f73;
}

.conexion_results_list {
    background-color: #ffffff;
    border: 1px solid rgba(163, 120, 163, 0.22);
    border-radius: 36px 0 36px 0;
    padding: 32px 36px 32px 56px;
    margin: 20px 0 0;
    box-shadow: 0 16px 45px rgba(38, 50, 56, 0.06);
}

.conexion_results_list li {
    color: #5f6f73;
    font-size: 18px;
    line-height: 1.55;
    margin-bottom: 12px;
}

.conexion_results_list li:last-child {
    margin-bottom: 0;
}

/* ==========================================================
   CONTACTO
   ========================================================== */

.conexion_contact_section {
    padding: 110px 0 120px;
    background-color: #ffffff;
}

.conexion_contact_box {
    max-width: 920px;
    margin: 0 auto;
    background-color: #ffffff;
    border: 1px solid rgba(163, 120, 163, 0.22);
    border-radius: 50px 0 50px 0;
    padding: 56px 58px;
    box-shadow: 0 22px 70px rgba(38, 50, 56, 0.08);
}

.conexion_contact_box h2 {
    color: #263238;
    margin-bottom: 18px;
}

.conexion_contact_box p {
    max-width: 720px;
    padding: 0;
    margin-bottom: 36px;
    font-size: 20px;
    line-height: 1.55;
    color: #5f6f73;
}

.conexion_contact_box input,
.conexion_contact_box textarea {
    width: 100%;
    border: 1px solid rgba(52, 83, 89, 0.18);
    border-radius: 18px 0 18px 0;
    color: #263238;
    background-color: #ffffff;
    box-shadow: 0 12px 35px rgba(38, 50, 56, 0.05);
}

.conexion_contact_box input {
    padding: 22px 24px;
    margin-bottom: 22px;
}

.conexion_contact_box textarea {
    padding: 20px 24px;
    margin-bottom: 34px;
}

.conexion_contact_box input::placeholder,
.conexion_contact_box textarea::placeholder {
    color: #6f7f83;
    opacity: 1;
}

.conexion_contact_box .form-control:focus {
    border: 2px solid #543458;
    outline: 3px solid rgba(163, 120, 163, 0.28);
    outline-offset: 2px;
    box-shadow: none;
}

.conexion_contact_box button {
    color: #ffffff;
    background-color: #543458;
    border-radius: 34px 0 34px 0;
    border: 0;
    min-height: 58px;
    padding: 18px 38px;
    font-size: 20px;
    line-height: 1.2;
    transition: background-color 0.25s ease, transform 0.25s ease;
}

.conexion_contact_box button:hover,
.conexion_contact_box button:focus-visible {
    color: #ffffff;
    background-color: #345359;
    transform: translateY(-4px);
}

/* ==========================================================
   REDUCCIÓN DE MOVIMIENTO SOLO SECCIÓN
   ========================================================== */

@media (prefers-reduced-motion: reduce) {
    .conexion_intro_section *,
    .conexion_problems_section *,
    .conexion_enfoque_section *,
    .conexion_tools_section *,
    .conexion_services_section *,
    .conexion_results_section *,
    .conexion_contact_section * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .conexion_tool_card:hover,
    .conexion_contact_box button:hover {
        transform: none !important;
    }
}

/* ==========================================================
   RESPONSIVE SOLO SECCIÓN
   ========================================================== */

@media screen and (max-width: 991px) {
    .conexion_intro_section,
    .conexion_problems_section,
    .conexion_enfoque_section,
    .conexion_tools_section,
    .conexion_services_section,
    .conexion_results_section,
    .conexion_contact_section {
        padding: 80px 0;
    }

    .conexion_side_box {
        margin-bottom: 34px;
    }

    .conexion_intro_section h2,
    .conexion_problems_section h2,
    .conexion_enfoque_section h2,
    .conexion_tools_section h2,
    .conexion_services_section h2,
    .conexion_results_section h2,
    .conexion_contact_section h2 {
        font-size: 38px;
    }

    .conexion_contact_box {
        padding: 42px 36px;
    }
}

@media screen and (max-width: 767px) {
    .conexion_intro_section,
    .conexion_problems_section,
    .conexion_enfoque_section,
    .conexion_tools_section,
    .conexion_services_section,
    .conexion_results_section,
    .conexion_contact_section {
        padding: 64px 0;
    }

    .conexion_intro_section h2,
    .conexion_problems_section h2,
    .conexion_enfoque_section h2,
    .conexion_tools_section h2,
    .conexion_services_section h2,
    .conexion_results_section h2,
    .conexion_contact_section h2 {
        font-size: 31px;
        line-height: 1.22;
    }

    .conexion_intro_content p,
    .conexion_enfoque_content p,
    .conexion_tools_heading p,
    .conexion_services_heading p,
    .conexion_results_content p,
    .conexion_contact_box p {
        font-size: 18px;
        line-height: 1.55;
    }

    .conexion_side_box,
    .conexion_problems_list,
    .conexion_tool_card,
    .conexion_service_box,
    .conexion_contact_box {
        border-radius: 32px 0 32px 0;
    }

    .conexion_side_box,
    .conexion_problems_list,
    .conexion_contact_box {
        padding: 32px 26px;
    }

    .conexion_tool_card,
    .conexion_service_box {
        padding: 32px 28px;
    }

    .conexion_results_list {
        padding: 28px 28px 28px 48px;
    }

    .conexion_contact_box input,
    .conexion_contact_box textarea {
        font-size: 17px;
    }
}

/* ==========================================================
   ESPACIO CONEXIÓN · IMÁGENES INTEGRADAS
   ========================================================== */

.conexion_intro_image,
.conexion_enfoque_image,
.conexion_wide_image,
.conexion_results_image,
.conexion_contact_image,
.conexion_service_image {
    position: relative;
    overflow: hidden;
    background: rgba(163, 120, 163, 0.08);
    box-shadow: 0 22px 60px rgba(38, 50, 56, 0.10);
}

.conexion_intro_image,
.conexion_enfoque_image,
.conexion_results_image,
.conexion_contact_image {
    height: 430px;
    border-radius: 50px 0 50px 0;
}

.conexion_wide_image {
    height: 360px;
    border-radius: 50px 0 50px 0;
    margin-top: 58px;
}

.conexion_service_image {
    height: 245px;
    border-radius: 42px 0 0 0;
    margin: -38px -36px 28px;
    box-shadow: none;
}

.conexion_intro_image img,
.conexion_enfoque_image img,
.conexion_wide_image img,
.conexion_results_image img,
.conexion_contact_image img,
.conexion_service_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Ajustes para bloques con imagen */
.conexion_intro_content {
    text-align: left;
    max-width: none;
    margin: 0;
    padding-right: 40px;
}

.conexion_intro_content p {
    margin-left: 0;
    margin-right: 0;
}

.conexion_enfoque_content {
    text-align: left;
    max-width: none;
    padding-left: 44px;
}

.conexion_enfoque_content p {
    margin-left: 0;
    margin-right: 0;
}

.conexion_results_content {
    text-align: left;
    margin-left: 0;
}

.conexion_results_content p {
    margin-left: 0;
    margin-right: 0;
}

/* Tarjetas de servicios con imagen */
.conexion_service_box {
    overflow: hidden;
}

.conexion_service_text {
    display: block;
}

.conexion_service_box:hover .conexion_service_image img {
    transform: scale(1.04);
}

.conexion_service_image img {
    transition: transform 0.35s ease, opacity 0.35s ease;
}

/* Responsive */
@media screen and (max-width: 991px) {
    .conexion_intro_content,
    .conexion_enfoque_content,
    .conexion_results_content {
        text-align: center;
        padding: 0;
        margin-bottom: 34px;
    }

    .conexion_intro_image,
    .conexion_enfoque_image,
    .conexion_results_image,
    .conexion_contact_image {
        height: 390px;
        margin-top: 34px;
    }

    .conexion_wide_image {
        height: 300px;
    }

    .conexion_contact_image {
        margin-bottom: 34px;
    }
}

@media screen and (max-width: 767px) {
    .conexion_intro_image,
    .conexion_enfoque_image,
    .conexion_results_image,
    .conexion_contact_image,
    .conexion_wide_image {
        height: 300px;
        border-radius: 32px 0 32px 0;
    }

    .conexion_service_image {
        height: 220px;
    }
}


/* ==========================================================
   ESPACIO CAMBIO · SOLO SECCIÓN
   ========================================================== */

.cambio_intro_section,
.cambio_problems_section,
.cambio_enfoque_section,
.cambio_tools_section,
.cambio_services_section,
.cambio_results_section,
.cambio_contact_section {
    overflow: hidden;
}

.cambio_contact_section .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.cambio_tools_section a:focus-visible,
.cambio_services_section a:focus-visible,
.cambio_contact_section button:focus-visible,
.cambio_contact_section input:focus-visible,
.cambio_contact_section textarea:focus-visible {
    outline: 3px solid #543458;
    outline-offset: 4px;
}

.cambio_intro_section .antetitulo,
.cambio_problems_section .antetitulo,
.cambio_enfoque_section .antetitulo,
.cambio_tools_section .antetitulo,
.cambio_services_section .antetitulo,
.cambio_results_section .antetitulo,
.cambio_contact_section .antetitulo {
    text-transform: uppercase;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 2.4px;
    font-weight: 600;
    color: #543458;
    margin-bottom: 14px;
}

/* INTRO */

.cambio_intro_section {
    padding: 110px 0 95px;
    background-color: #ffffff;
}

.cambio_intro_content {
    text-align: left;
    max-width: none;
    margin: 0;
    padding-right: 40px;
}

.cambio_intro_content h2 {
    color: #263238;
    margin-bottom: 24px;
}

.cambio_intro_content p {
    max-width: 860px;
    padding: 0;
    margin: 0 0 20px;
    font-size: 20px;
    line-height: 1.6;
    color: #5f6f73;
}

/* PROBLEMAS */

.cambio_problems_section {
    padding: 105px 0;
    background: linear-gradient(135deg, rgba(71, 129, 186, 0.10), rgba(244, 247, 255, 1));
}

.cambio_side_box {
    background-color: #ffffff;
    border: 1px solid rgba(71, 129, 186, 0.22);
    border-radius: 50px 0 50px 0;
    padding: 48px 44px;
    box-shadow: 0 22px 70px rgba(38, 50, 56, 0.08);
}

.cambio_side_box h2 {
    color: #263238;
    margin-bottom: 0;
}

.cambio_problems_list {
    background-color: #ffffff;
    border: 1px solid rgba(52, 83, 89, 0.12);
    border-radius: 44px 0 44px 0;
    padding: 40px 46px;
    box-shadow: 0 18px 55px rgba(38, 50, 56, 0.06);
}

.cambio_problems_list ul {
    margin: 0;
    padding-left: 22px;
}

.cambio_problems_list li {
    color: #263238;
    font-size: 18px;
    line-height: 1.55;
    margin-bottom: 13px;
}

.cambio_problems_list li:last-child {
    margin-bottom: 0;
}

/* ENFOQUE */

.cambio_enfoque_section {
    padding: 105px 0;
    background-color: #ffffff;
}

.cambio_enfoque_content {
    text-align: left;
    max-width: none;
    padding-left: 44px;
}

.cambio_enfoque_content h2 {
    color: #263238;
    margin-bottom: 22px;
}

.cambio_enfoque_content p {
    max-width: 880px;
    padding: 0;
    margin: 0 0 20px;
    font-size: 20px;
    line-height: 1.6;
    color: #5f6f73;
}

/* HERRAMIENTAS */

.cambio_tools_section {
    padding: 110px 0 85px;
    background: rgba(52, 83, 89, 0.06);
}

.cambio_tools_heading {
    max-width: 980px;
    margin: 0 auto 50px;
    text-align: center;
}

.cambio_tools_heading h2 {
    color: #263238;
    margin-bottom: 18px;
}

.cambio_tools_heading p {
    max-width: 780px;
    padding: 0;
    margin: 0 auto;
    font-size: 20px;
    line-height: 1.55;
    color: #5f6f73;
}

.cambio_tool_card {
    height: calc(100% - 30px);
    background-color: #ffffff;
    border: 1px solid rgba(71, 129, 186, 0.22);
    border-radius: 40px 0 40px 0;
    padding: 36px 34px;
    margin-bottom: 30px;
    box-shadow: 0 16px 45px rgba(38, 50, 56, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.cambio_tool_card:hover {
    transform: translateY(-7px);
    box-shadow: 0 24px 65px rgba(38, 50, 56, 0.11);
    border-color: rgba(71, 129, 186, 0.42);
}

.cambio_tool_card h3 {
    color: #263238;
    margin-bottom: 14px;
}

.cambio_tool_card p {
    color: #5f6f73;
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 0;
}

/* SERVICIOS */

.cambio_services_section {
    padding: 110px 0 85px;
    background-color: #ffffff;
}

.cambio_services_heading {
    max-width: 980px;
    margin: 0 auto 50px;
    text-align: center;
}

.cambio_services_heading h2 {
    color: #263238;
    margin-bottom: 18px;
}

.cambio_services_heading p {
    max-width: 820px;
    padding: 0;
    margin: 0 auto;
    font-size: 20px;
    line-height: 1.55;
    color: #5f6f73;
}

.cambio_service_box {
    height: calc(100% - 30px);
    overflow: hidden;
    background: linear-gradient(135deg, #ffffff, rgba(71, 129, 186, 0.08));
    border: 1px solid rgba(52, 83, 89, 0.14);
    border-radius: 42px 0 42px 0;
    padding: 38px 36px;
    margin-bottom: 30px;
    box-shadow: 0 18px 50px rgba(38, 50, 56, 0.06);
}

.cambio_service_image {
    height: 245px;
    border-radius: 42px 0 0 0;
    margin: -38px -36px 28px;
    overflow: hidden;
    box-shadow: none;
    background: rgba(71, 129, 186, 0.08);
}

.cambio_service_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease, opacity 0.35s ease;
}

.cambio_service_box:hover .cambio_service_image img {
    transform: scale(1.04);
}

.cambio_service_box h3 {
    color: #263238;
    margin-bottom: 14px;
	margin-top: 20px;
}

.cambio_service_box p {
    color: #5f6f73;
    font-size: 18px;
    line-height: 1.52;
    margin-bottom: 0;
}

/* RESULTADOS */

.cambio_results_section {
    padding: 105px 0;
    background: linear-gradient(135deg, rgba(244, 247, 255, 1), rgba(71, 129, 186, 0.10));
}

.cambio_results_content {
    text-align: left;
    margin-left: 0;
}

.cambio_results_content h2 {
    color: #263238;
    margin-bottom: 20px;
}

.cambio_results_content p {
    max-width: 760px;
    padding: 0;
    margin: 0;
    font-size: 20px;
    line-height: 1.6;
    color: #5f6f73;
}

.cambio_results_list {
    background-color: #ffffff;
    border: 1px solid rgba(71, 129, 186, 0.22);
    border-radius: 36px 0 36px 0;
    padding: 32px 36px 32px 56px;
    margin: 20px 0 0;
    box-shadow: 0 16px 45px rgba(38, 50, 56, 0.06);
}

.cambio_results_list li {
    color: #5f6f73;
    font-size: 18px;
    line-height: 1.55;
    margin-bottom: 12px;
}

.cambio_results_list li:last-child {
    margin-bottom: 0;
}

/* CONTACTO */

.cambio_contact_section {
    padding: 110px 0 120px;
    background-color: #ffffff;
}

.cambio_contact_box {
    max-width: 920px;
    margin: 0 auto;
    background-color: #ffffff;
    border: 1px solid rgba(71, 129, 186, 0.22);
    border-radius: 50px 0 50px 0;
    padding: 56px 58px;
    box-shadow: 0 22px 70px rgba(38, 50, 56, 0.08);
}

.cambio_contact_box h2 {
    color: #263238;
    margin-bottom: 18px;
}

.cambio_contact_box p {
    max-width: 720px;
    padding: 0;
    margin-bottom: 36px;
    font-size: 20px;
    line-height: 1.55;
    color: #5f6f73;
}

.cambio_contact_box input,
.cambio_contact_box textarea {
    width: 100%;
    border: 1px solid rgba(52, 83, 89, 0.18);
    border-radius: 18px 0 18px 0;
    color: #263238;
    background-color: #ffffff;
    box-shadow: 0 12px 35px rgba(38, 50, 56, 0.05);
}

.cambio_contact_box input {
    padding: 22px 24px;
    margin-bottom: 22px;
}

.cambio_contact_box textarea {
    padding: 20px 24px;
    margin-bottom: 34px;
}

.cambio_contact_box input::placeholder,
.cambio_contact_box textarea::placeholder {
    color: #6f7f83;
    opacity: 1;
}

.cambio_contact_box .form-control:focus {
    border: 2px solid #543458;
    outline: 3px solid rgba(71, 129, 186, 0.28);
    outline-offset: 2px;
    box-shadow: none;
}

.cambio_contact_box button {
    color: #ffffff;
    background-color: #543458;
    border-radius: 34px 0 34px 0;
    border: 0;
    min-height: 58px;
    padding: 18px 38px;
    font-size: 20px;
    line-height: 1.2;
    transition: background-color 0.25s ease, transform 0.25s ease;
}

.cambio_contact_box button:hover,
.cambio_contact_box button:focus-visible {
    color: #ffffff;
    background-color: #345359;
    transform: translateY(-4px);
}

/* IMÁGENES INTEGRADAS */

.cambio_intro_image,
.cambio_enfoque_image,
.cambio_wide_image,
.cambio_results_image,
.cambio_contact_image {
    position: relative;
    overflow: hidden;
    background: rgba(71, 129, 186, 0.08);
    box-shadow: 0 22px 60px rgba(38, 50, 56, 0.10);
}

.cambio_intro_image,
.cambio_enfoque_image,
.cambio_results_image,
.cambio_contact_image {
    height: 430px;
    border-radius: 50px 0 50px 0;
}

.cambio_wide_image {
    height: 360px;
    border-radius: 50px 0 50px 0;
    margin-top: 58px;
}

.cambio_intro_image img,
.cambio_enfoque_image img,
.cambio_wide_image img,
.cambio_results_image img,
.cambio_contact_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* REDUCCIÓN DE MOVIMIENTO */

@media (prefers-reduced-motion: reduce) {
    .cambio_intro_section *,
    .cambio_problems_section *,
    .cambio_enfoque_section *,
    .cambio_tools_section *,
    .cambio_services_section *,
    .cambio_results_section *,
    .cambio_contact_section * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .cambio_tool_card:hover,
    .cambio_contact_box button:hover {
        transform: none !important;
    }
}

/* RESPONSIVE */

@media screen and (max-width: 991px) {
    .cambio_intro_section,
    .cambio_problems_section,
    .cambio_enfoque_section,
    .cambio_tools_section,
    .cambio_services_section,
    .cambio_results_section,
    .cambio_contact_section {
        padding: 80px 0;
    }

    .cambio_intro_content,
    .cambio_enfoque_content,
    .cambio_results_content {
        text-align: center;
        padding: 0;
        margin-bottom: 34px;
    }

    .cambio_side_box {
        margin-bottom: 34px;
    }

    .cambio_intro_section h2,
    .cambio_problems_section h2,
    .cambio_enfoque_section h2,
    .cambio_tools_section h2,
    .cambio_services_section h2,
    .cambio_results_section h2,
    .cambio_contact_section h2 {
        font-size: 38px;
    }

    .cambio_contact_box {
        padding: 42px 36px;
    }

    .cambio_intro_image,
    .cambio_enfoque_image,
    .cambio_results_image,
    .cambio_contact_image {
        height: 390px;
        margin-top: 34px;
    }

    .cambio_wide_image {
        height: 300px;
    }

    .cambio_contact_image {
        margin-bottom: 34px;
    }
}

@media screen and (max-width: 767px) {
    .cambio_intro_section,
    .cambio_problems_section,
    .cambio_enfoque_section,
    .cambio_tools_section,
    .cambio_services_section,
    .cambio_results_section,
    .cambio_contact_section {
        padding: 64px 0;
    }

    .cambio_intro_section h2,
    .cambio_problems_section h2,
    .cambio_enfoque_section h2,
    .cambio_tools_section h2,
    .cambio_services_section h2,
    .cambio_results_section h2,
    .cambio_contact_section h2 {
        font-size: 31px;
        line-height: 1.22;
    }

    .cambio_intro_content p,
    .cambio_enfoque_content p,
    .cambio_tools_heading p,
    .cambio_services_heading p,
    .cambio_results_content p,
    .cambio_contact_box p {
        font-size: 18px;
        line-height: 1.55;
    }

    .cambio_side_box,
    .cambio_problems_list,
    .cambio_tool_card,
    .cambio_service_box,
    .cambio_contact_box,
    .cambio_intro_image,
    .cambio_enfoque_image,
    .cambio_results_image,
    .cambio_contact_image,
    .cambio_wide_image {
        border-radius: 32px 0 32px 0;
    }

    .cambio_side_box,
    .cambio_problems_list,
    .cambio_contact_box {
        padding: 32px 26px;
    }

    .cambio_tool_card,
    .cambio_service_box {
        padding: 32px 28px;
    }

    .cambio_service_image {
        height: 220px;
        margin: -32px -28px 28px;
    }

    .cambio_results_list {
        padding: 28px 28px 28px 48px;
    }

    .cambio_contact_box input,
    .cambio_contact_box textarea {
        font-size: 17px;
    }

    .cambio_intro_image,
    .cambio_enfoque_image,
    .cambio_results_image,
    .cambio_contact_image,
    .cambio_wide_image {
        height: 300px;
    }
}