/* =========================================================
   RESET
========================================================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --hero-max-width: 1600px;
    --white: #ffffff;
    --primary-blue: #16256c;
    --footer-blue: #0f1e57;
    --light-gray: #f3f3f3;
    --text-dark: #333333;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: "Montserrat", Arial, Helvetica, sans-serif;
    overflow-x: hidden;
    background: #ffffff;
}

/* =========================================================
   WHATSAPP FLOTANTE
========================================================= */
.whatsapp-float {
    position: fixed;
    right: 20px;
    bottom: 20px;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: linear-gradient(135deg, #25d366, #18b957);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
    z-index: 9999;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.whatsapp-float:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.35);
}

/* =========================================================
   HERO
========================================================= */
.cx-hero {
    position: relative;
    min-height: clamp(700px, 88svh, 840px);
    background-image: url("../img/Fondo.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    overflow: hidden;
}

.cx-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(39, 31, 96, 0.42) 0%, rgba(64, 52, 122, 0.32) 48%, rgba(29, 31, 95, 0.16) 100%);
    z-index: 1;
}

.cx-hero-stage {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: var(--hero-max-width);
    min-height: clamp(700px, 88svh, 840px);
    margin: 0 auto;
}

/* Header */
.cx-header {
    position: relative;
    z-index: 8;
    padding: 26px 64px 0 64px;
}

.cx-header-inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.cx-logo-link {
    display: inline-block;
    line-height: 0;
}

.cx-logo {
    width: 270px;
    height: auto;
    display: block;
}

.cx-nav {
    display: flex;
    align-items: center;
    gap: 40px;
    padding-top: 12px;
}

.cx-nav a {
    color: var(--white);
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    transition: opacity 0.3s ease;
}

.cx-nav a:hover {
    opacity: 0.84;
}

.cx-nav-bold {
    font-weight: 800 !important;
}

.cx-menu-toggle {
    display: none;
    width: 46px;
    height: 46px;
    border: none;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    cursor: pointer;
    padding: 10px;
    z-index: 20;
}

.cx-menu-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    background: #ffffff;
    margin: 6px 0;
    border-radius: 10px;
}

/* Inner hero */
.cx-hero-inner {
    position: relative;
    min-height: calc(clamp(700px, 88svh, 840px) - 92px);
    padding: 0 54px 0 84px;
}

.cx-hero-content {
    position: relative;
    z-index: 5;
    width: min(730px, 52%);
    max-width: 730px;
    padding-top: 108px;
}

.cx-hero-toptext {
    margin: 0 0 4px 0;
    color: #ffffff;
    font-size: 54px;
    font-weight: 300;
    line-height: 1.02;
    letter-spacing: -0.035em;
}

.cx-hero-title {
    margin: 0 0 78px 0;
    color: #ffffff;
    font-size: 66px;
    line-height: 0.98;
    font-weight: 800;
    letter-spacing: -0.045em;
}

.cx-hero-subtitle {
    margin: 0 0 34px 0;
    color: #ffffff;
    font-size: 60px;
    line-height: 0.98;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: -0.045em;
}

.cx-hero-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.cx-hero-btn {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 340px;
    height: 72px;
    padding: 0 28px;
    border: none;
    border-radius: 999px;
    background: linear-gradient(180deg, #f3910b 0%, #ef8600 100%);
    color: #ffffff;
    font-size: 19px;
    font-weight: 800;
    text-decoration: none;
    line-height: 1;
    box-shadow: 0 14px 28px rgba(239, 134, 0, 0.30);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cx-hero-btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.28), transparent);
    transition: left 0.75s ease;
}

.cx-hero-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 34px rgba(239, 134, 0, 0.38);
}

.cx-hero-btn:hover::before {
    left: 120%;
}

.cx-hero-badge-row {
    width: min(730px, 100%);
    display: flex;
    justify-content: flex-end;
    padding-right: 10px;
    margin-top: 120px;
}

.cx-hero-avalado {
    width: 235px;
    line-height: 0;
}

.cx-hero-avalado img {
    width: 100%;
    height: auto;
    display: block;
}

/* People */
.cx-hero-people {
    position: absolute;
    right: 22px;
    bottom: 0;
    width: 650px;
    max-width: 44vw;
    height: 100%;
    z-index: 4;
    pointer-events: none;
}

.cx-hero-mujer {
    position: absolute;
    bottom: 0;
    right: 228px;
    width: 325px;
    height: auto;
    z-index: 2;
}

.cx-hero-hombre {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 345px;
    height: auto;
    z-index: 3;
}

/* =========================================================
   SEGUNDA SECCIÓN
========================================================= */
.cx-diferencia-exacta {
    background: var(--light-gray);
    padding: 44px 20px 52px;
}

.cx-diferencia-exacta__container {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
}

.cx-diferencia-exacta__titulo {
    margin-bottom: 28px;
}

.cx-diferencia-exacta__titulo h2 {
    margin: 0;
    font-size: 1rem;
    line-height: 1;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.cx-diferencia-exacta__titulo .titulo-naranja {
    font-size: 2.05rem;
    font-weight: 800;
    color: #e88909;
    letter-spacing: -0.03em;
}

.cx-diferencia-exacta__titulo .titulo-script {
    font-family: "Caveat", cursive;
    font-size: 2.7rem;
    line-height: 0.95;
    font-weight: 700;
    color: #2f2f2f;
    transform: translateY(2px);
}

.cx-diferencia-exacta__titulo .titulo-linea {
    width: 86px;
    height: 4px;
    background: #3190ff;
    border-radius: 50px;
    margin: 8px auto 0;
}

.cx-diferencia-exacta__intro {
    max-width: 930px;
    margin: 0 auto 20px;
}

.cx-diferencia-exacta__intro p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.7;
    font-weight: 400;
    color: #4a4a4a;
}

.cx-diferencia-exacta__intro strong {
    font-weight: 700;
    color: #333333;
}

.cx-diferencia-exacta__destacado {
    max-width: 960px;
    margin: 0 auto 18px;
}

.cx-diferencia-exacta__destacado h3 {
    margin: 0;
    font-size: 1.12rem;
    line-height: 1.32;
    font-weight: 800;
    color: #4a4a4a;
    letter-spacing: -0.02em;
}

.cx-diferencia-exacta__destacado h3 span {
    color: #0c5b7a;
}

.cx-diferencia-exacta__logo {
    margin: 14px 0 34px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.cx-diferencia-exacta__logo img {
    width: 100%;
    max-width: 205px;
    height: auto;
    object-fit: contain;
}

.cx-diferencia-exacta__texto-final {
    max-width: 980px;
    margin: 0 auto;
}

.cx-diferencia-exacta__texto-final p {
    margin: 0 0 18px;
    font-size: 0.9rem;
    line-height: 1.65;
    font-weight: 400;
    color: #4b4b4b;
}

.cx-diferencia-exacta__texto-final p:last-child {
    margin-bottom: 0;
}

.cx-diferencia-exacta__texto-final strong {
    font-weight: 700;
    color: #333333;
}

/* =========================================================
   PLACEHOLDERS
========================================================= */
.placeholder-section {
    padding: 90px 20px;
    background: #ffffff;
    border-top: 1px solid #ececec;
}

.placeholder-container {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}

.placeholder-container h3 {
    font-size: 2rem;
    font-weight: 800;
    color: #13235f;
    margin-bottom: 12px;
}

.placeholder-container p {
    font-size: 1rem;
    color: #555555;
}

/* =========================================================
   FOOTER
========================================================= */
.cx-footer {
    background: var(--footer-blue);
    color: #ffffff;
    padding: 40px 20px;
}

.cx-footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

.cx-footer-logo img {
    width: 170px;
    max-width: 100%;
    margin: 0 auto 18px;
    display: block;
}

.cx-footer-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 18px;
    margin-bottom: 18px;
}

.cx-footer-links a {
    color: #ffffff;
    text-decoration: none;
    font-size: 0.95rem;
}

.cx-footer-copy p {
    font-size: 0.9rem;
    opacity: 0.85;
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media (max-width: 1500px) {
    .cx-header {
        padding: 24px 52px 0 52px;
    }

    .cx-hero-inner {
        padding: 0 44px 0 68px;
    }

    .cx-hero-content {
        width: min(670px, 53%);
        padding-top: 100px;
    }

    .cx-hero-toptext {
        font-size: 48px;
    }

    .cx-hero-title {
        font-size: 59px;
        margin-bottom: 72px;
    }

    .cx-hero-subtitle {
        font-size: 54px;
    }

    .cx-hero-badge-row {
        width: min(670px, 100%);
        padding-right: 56px;
    }

    .cx-hero-people {
        width: 600px;
    }

    .cx-hero-mujer {
        width: 302px;
        right: 214px;
    }

    .cx-hero-hombre {
        width: 322px;
    }
}

@media (max-width: 1280px) {
    .cx-logo {
        width: 238px;
    }

    .cx-nav {
        gap: 28px;
        padding-top: 10px;
    }

    .cx-nav a {
        font-size: 15px;
    }

    .cx-hero {
        min-height: clamp(640px, 82svh, 760px);
    }

    .cx-hero-stage {
        min-height: clamp(640px, 82svh, 760px);
    }

    .cx-hero-inner {
        min-height: calc(clamp(640px, 82svh, 760px) - 88px);
    }

    .cx-hero-content {
        width: min(600px, 55%);
        padding-top: 92px;
    }

    .cx-hero-toptext {
        font-size: 41px;
    }

    .cx-hero-title {
        font-size: 52px;
        margin-bottom: 62px;
    }

    .cx-hero-subtitle {
        font-size: 47px;
        margin-bottom: 30px;
    }

    .cx-hero-btn {
        width: 310px;
        height: 66px;
        font-size: 18px;
    }

    .cx-hero-badge-row {
        width: min(600px, 100%);
        padding-right: 32px;
        margin-top: 24px;
    }

    .cx-hero-avalado {
        width: 215px;
    }

    .cx-hero-people {
        width: 520px;
        max-width: 43vw;
    }

    .cx-hero-mujer {
        width: 268px;
        right: 184px;
    }

    .cx-hero-hombre {
        width: 286px;
    }
}

@media (max-width: 1024px) {
    .cx-menu-toggle {
        display: block;
    }

    .cx-nav {
        display: none;
        position: absolute;
        right: 0;
        top: 62px;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        background: rgba(17, 18, 50, 0.95);
        padding: 20px;
        border-radius: 16px;
        min-width: 240px;
        box-shadow: 0 16px 28px rgba(0, 0, 0, 0.22);
    }

    .cx-nav.cx-nav-open {
        display: flex;
    }

    .cx-hero,
    .cx-hero-stage {
        min-height: auto;
    }

    .cx-header {
        padding: 22px 22px 0 22px;
    }

    .cx-header-inner {
        align-items: center;
    }

    .cx-logo {
        width: 205px;
    }

    .cx-hero-inner {
        min-height: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 10px 24px 0 24px;
        text-align: center;
    }

    .cx-hero-content {
        width: 100%;
        max-width: 760px;
        padding-top: 24px;
        order: 2;
    }

    .cx-hero-toptext {
        font-size: 38px;
    }

    .cx-hero-title {
        font-size: 48px;
        margin-bottom: 28px;
    }

    .cx-hero-subtitle {
        font-size: 44px;
        margin-bottom: 24px;
    }

    .cx-hero-actions {
        justify-content: center;
    }

    .cx-hero-btn {
        width: 310px;
        height: 62px;
        font-size: 17px;
    }

    .cx-hero-badge-row {
        width: 100%;
        justify-content: center;
        padding-right: 0;
        margin-top: 22px;
        margin-bottom: 10px;
    }

    .cx-hero-avalado {
        width: 215px;
    }

    .cx-hero-people {
        position: relative;
        order: 1;
        right: auto;
        bottom: auto;
        width: 100%;
        max-width: 590px;
        height: 510px;
        margin-top: 8px;
    }

    .cx-hero-mujer {
        width: 245px;
        right: 50%;
        transform: translateX(22px);
    }

    .cx-hero-hombre {
        width: 266px;
        right: calc(50% - 210px);
    }
}

@media (max-width: 768px) {
    .cx-header {
        padding: 18px 18px 0 18px;
    }

    .cx-logo {
        width: 172px;
    }

    .cx-nav {
        top: 56px;
        right: 0;
        min-width: 220px;
    }

    .cx-hero-inner {
        padding: 4px 18px 0 18px;
    }

    .cx-hero-content {
        padding-top: 14px;
    }

    .cx-hero-toptext {
        font-size: 28px;
    }

    .cx-hero-title {
        font-size: 38px;
        margin-bottom: 18px;
    }

    .cx-hero-subtitle {
        font-size: 33px;
        line-height: 1.02;
        margin-bottom: 20px;
    }

    .cx-hero-btn {
        width: min(100%, 320px);
        height: 56px;
        font-size: 15px;
        padding: 0 18px;
    }

    .cx-hero-badge-row {
        margin-top: 18px;
    }

    .cx-hero-avalado {
        width: 186px;
    }

    .cx-hero-people {
        height: 410px;
        max-width: 420px;
    }

    .cx-hero-mujer {
        width: 198px;
        transform: translateX(8px);
    }

    .cx-hero-hombre {
        width: 212px;
        right: calc(50% - 160px);
    }

    .cx-diferencia-exacta {
        padding: 38px 18px 44px;
    }

    .cx-diferencia-exacta__titulo {
        margin-bottom: 22px;
    }

    .cx-diferencia-exacta__titulo h2 {
        gap: 6px;
    }

    .cx-diferencia-exacta__titulo .titulo-naranja {
        font-size: 1.65rem;
    }

    .cx-diferencia-exacta__titulo .titulo-script {
        font-size: 2.2rem;
    }

    .cx-diferencia-exacta__titulo .titulo-linea {
        width: 72px;
        height: 3px;
    }

    .cx-diferencia-exacta__intro p,
    .cx-diferencia-exacta__texto-final p {
        font-size: 0.92rem;
        line-height: 1.65;
    }

    .cx-diferencia-exacta__destacado h3 {
        font-size: 1rem;
        line-height: 1.35;
    }

    .cx-diferencia-exacta__logo img {
        max-width: 180px;
    }

    .whatsapp-float {
        width: 56px;
        height: 56px;
        right: 16px;
        bottom: 16px;
    }
}

@media (max-width: 480px) {
    .cx-logo {
        width: 148px;
    }

    .cx-hero-toptext {
        font-size: 24px;
    }

    .cx-hero-title {
        font-size: 31px;
    }

    .cx-hero-subtitle {
        font-size: 27px;
    }

    .cx-hero-avalado {
        width: 170px;
    }

    .cx-hero-people {
        height: 350px;
        max-width: 350px;
    }

    .cx-hero-mujer {
        width: 172px;
        transform: translateX(6px);
    }

    .cx-hero-hombre {
        width: 184px;
        right: calc(50% - 136px);
    }

    .cx-diferencia-exacta__titulo .titulo-naranja {
        font-size: 1.42rem;
    }

    .cx-diferencia-exacta__titulo .titulo-script {
        font-size: 1.9rem;
    }

    .cx-diferencia-exacta__intro p,
    .cx-diferencia-exacta__texto-final p {
        font-size: 0.88rem;
    }

    .cx-diferencia-exacta__destacado h3 {
        font-size: 0.94rem;
    }

    .cx-diferencia-exacta__logo img {
        max-width: 165px;
    }
}

/* =========================================================
   SEGUNDA SECCIÓN - LA DIFERENCIA HACE LA EXCELENCIA
========================================================= */
.cx-diferencia-section {
    background: #f2f2f2;
    padding: 42px 20px 48px;
}

.cx-diferencia-container {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    text-align: center;
}

/* TÍTULO */
.cx-diferencia-heading {
    margin-bottom: 30px;
}

.cx-diferencia-heading h2 {
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    line-height: 1;
}

.cx-heading-orange {
    font-size: 3rem;
    font-weight: 600;
    color: #e88909;
    letter-spacing: -0.04em;
}

.cx-heading-script {
    font-family: "Caveat", cursive;
    font-size: 3.15rem;
    font-weight: 700;
    color: #2f2f2f;
    line-height: 0.92;
    transform: translateY(1px);
}

.cx-heading-line {
    display: block;
    width: 126px;
    height: 4px;
    border-radius: 999px;
    background: #3392ff;
    margin: 10px auto 0;
}

/* INTRO */
.cx-diferencia-intro {
    max-width: 980px;
    margin: 0 auto 22px;
}

.cx-diferencia-intro p {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.72;
    font-weight: 400;
    color: #4c4c4c;
}

.cx-diferencia-intro strong {
    font-weight: 700;
    color: #333333;
}

/* BLOQUE DESTACADO */
.cx-diferencia-highlight {
    max-width: 980px;
    margin: 0 auto 24px;
}

.cx-diferencia-highlight h3 {
    margin: 0;
    font-size: 1.06rem;
    line-height: 1.35;
    font-weight: 800;
    color: #4a4a4a;
    letter-spacing: -0.015em;
}

.cx-diferencia-highlight h3 span {
    color: #0c5f80;
}

/* LOGO OLC */
.cx-diferencia-logo {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 14px 0 42px;
}

.cx-diferencia-logo img {
    width: 100%;
    max-width: 250px;
    height: auto;
    object-fit: contain;
    display: block;
}

/* PÁRRAFOS INFERIORES */
.cx-diferencia-bottom {
    max-width: 980px;
    margin: 0 auto;
}

.cx-diferencia-bottom p {
    margin: 0 0 20px;
    font-size: 0.98rem;
    line-height: 1.72;
    font-weight: 400;
    color: #4c4c4c;
}

.cx-diferencia-bottom p:last-child {
    margin-bottom: 0;
}

.cx-diferencia-bottom strong {
    font-weight: 700;
    color: #333333;
}

/* =========================================================
   RESPONSIVE - TABLET
========================================================= */
@media (max-width: 1024px) {
    .cx-diferencia-section {
        padding: 40px 24px 46px;
    }

    .cx-heading-orange {
        font-size: 2.55rem;
    }

    .cx-heading-script {
        font-size: 2.8rem;
    }

    .cx-heading-line {
        width: 110px;
    }

    .cx-diferencia-intro p,
    .cx-diferencia-bottom p {
        font-size: 0.95rem;
        line-height: 1.68;
    }

    .cx-diferencia-highlight h3 {
        font-size: 0.98rem;
    }

    .cx-diferencia-logo img {
        max-width: 228px;
    }
}

/* =========================================================
   RESPONSIVE - MÓVIL
========================================================= */
@media (max-width: 768px) {
    .cx-diferencia-section {
        padding: 34px 18px 40px;
    }

    .cx-diferencia-heading {
        margin-bottom: 24px;
    }

    .cx-diferencia-heading h2 {
        gap: 6px;
    }

    .cx-heading-orange {
        font-size: 1.95rem;
    }

    .cx-heading-script {
        font-size: 2.3rem;
    }

    .cx-heading-line {
        width: 90px;
        height: 3px;
        margin-top: 8px;
    }

    .cx-diferencia-intro {
        margin-bottom: 18px;
    }

    .cx-diferencia-intro p,
    .cx-diferencia-bottom p {
        font-size: 0.9rem;
        line-height: 1.65;
    }

    .cx-diferencia-highlight {
        margin-bottom: 20px;
    }

    .cx-diferencia-highlight h3 {
        font-size: 0.94rem;
        line-height: 1.35;
    }

    .cx-diferencia-logo {
        margin: 12px 0 30px;
    }

    .cx-diferencia-logo img {
        max-width: 210px;
    }
}

/* =========================================================
   RESPONSIVE - MÓVIL PEQUEÑO
========================================================= */
@media (max-width: 480px) {
    .cx-heading-orange {
        font-size: 1.62rem;
    }

    .cx-heading-script {
        font-size: 2rem;
    }

    .cx-diferencia-intro p,
    .cx-diferencia-bottom p {
        font-size: 0.86rem;
    }

    .cx-diferencia-highlight h3 {
        font-size: 0.9rem;
    }

    .cx-diferencia-logo img {
        max-width: 190px;
    }
}

/* =========================================================
   SECCIÓN 3 - FLORIDA INSTITUTE OF MANAGEMENT
========================================================= */
.cx-fim-section {
    width: 100%;
}

.cx-fim-grid {
    display: grid;
    grid-template-columns: 39% 61%;
    min-height: 640px;
}

.cx-fim-left {
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 40px;
}

.cx-fim-logo-wrap {
    width: 100%;
    max-width: 330px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cx-fim-logo {
    width: 100%;
    max-width: 285px;
    height: auto;
    display: block;
    object-fit: contain;
}

.cx-fim-right {
    background: #dfe4ea;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 56px 52px;
}

.cx-fim-content {
    width: 100%;
    max-width: 690px;
    text-align: center;
}

.cx-fim-content h2 {
    margin: 0 0 44px;
    font-size: 1.28rem;
    line-height: 1.28;
    font-weight: 800;
    color: #555555;
    letter-spacing: -0.02em;
}

.cx-fim-content p {
    margin: 0 0 26px;
    font-size: 0.98rem;
    line-height: 1.72;
    font-weight: 400;
    color: #555555;
}

.cx-fim-content p:last-child {
    margin-bottom: 0;
}

.cx-fim-content strong {
    font-weight: 800;
    color: #4b4b4b;
}

/* =========================================================
   RESPONSIVE - LAPTOP
========================================================= */
@media (max-width: 1280px) {
    .cx-fim-grid {
        grid-template-columns: 38% 62%;
        min-height: 600px;
    }

    .cx-fim-left {
        padding: 50px 32px;
    }

    .cx-fim-right {
        padding: 48px 38px;
    }

    .cx-fim-logo {
        max-width: 255px;
    }

    .cx-fim-content h2 {
        font-size: 1.18rem;
        margin-bottom: 34px;
    }

    .cx-fim-content p {
        font-size: 0.93rem;
        line-height: 1.68;
        margin-bottom: 22px;
    }
}

/* =========================================================
   RESPONSIVE - TABLET
========================================================= */
@media (max-width: 992px) {
    .cx-fim-grid {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .cx-fim-left {
        padding: 42px 24px 26px;
    }

    .cx-fim-logo-wrap {
        max-width: 260px;
    }

    .cx-fim-logo {
        max-width: 220px;
    }

    .cx-fim-right {
        padding: 34px 24px 44px;
    }

    .cx-fim-content {
        max-width: 760px;
    }

    .cx-fim-content h2 {
        font-size: 1.15rem;
        margin-bottom: 26px;
    }

    .cx-fim-content p {
        font-size: 0.93rem;
        line-height: 1.65;
        margin-bottom: 20px;
    }
}

/* =========================================================
   RESPONSIVE - MÓVIL
========================================================= */
@media (max-width: 768px) {
    .cx-fim-left {
        padding: 34px 20px 20px;
    }

    .cx-fim-logo-wrap {
        max-width: 210px;
    }

    .cx-fim-logo {
        max-width: 180px;
    }

    .cx-fim-right {
        padding: 28px 20px 38px;
    }

    .cx-fim-content h2 {
        font-size: 1.02rem;
        line-height: 1.32;
        margin-bottom: 22px;
    }

    .cx-fim-content p {
        font-size: 0.88rem;
        line-height: 1.62;
        margin-bottom: 18px;
    }
}

/* =========================================================
   RESPONSIVE - MÓVIL PEQUEÑO
========================================================= */
@media (max-width: 480px) {
    .cx-fim-logo-wrap {
        max-width: 180px;
    }

    .cx-fim-logo {
        max-width: 155px;
    }

    .cx-fim-content h2 {
        font-size: 0.96rem;
    }

    .cx-fim-content p {
        font-size: 0.84rem;
        line-height: 1.58;
    }
}
/* =========================================================
   SECCIÓN 4 - ALCANZA TU MEJOR VERSIÓN PROFESIONAL
========================================================= */
.cx-version-pro-section {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 78%, rgba(31, 110, 255, 0.14) 0%, rgba(31, 110, 255, 0) 28%),
        radial-gradient(circle at 50% 92%, rgba(0, 150, 255, 0.08) 0%, rgba(0, 150, 255, 0) 25%),
        linear-gradient(180deg, #00132d 0%, #003e7b 52%, #00132d 100%);
    padding: 54px 20px 72px;
}

.cx-version-pro-section::before,
.cx-version-pro-section::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    pointer-events: none;
    z-index: 1;
}

.cx-version-pro-section::before {
    bottom: 182px;
    height: 110px;
    background: radial-gradient(circle at center, rgba(0, 128, 255, 0.14) 0%, rgba(0, 128, 255, 0) 60%);
    filter: blur(20px);
}

.cx-version-pro-section::after {
    bottom: 36px;
    height: 120px;
    background: radial-gradient(circle at center, rgba(0, 128, 255, 0.16) 0%, rgba(0, 128, 255, 0) 62%);
    filter: blur(24px);
}

.cx-version-pro-container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}

.cx-version-pro-heading {
    text-align: center;
    margin-bottom: 44px;
}

.cx-version-pro-heading h2 {
    margin: 0;
    color: #ffffff;
    font-size: 2.45rem;
    line-height: 1.12;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.cx-version-pro-line {
    display: block;
    width: 128px;
    height: 4px;
    border-radius: 999px;
    background: #f3a127;
    margin: 12px auto 0;
}

/* CONTENEDOR GENERAL */
.cx-version-pro-diagram {
    position: relative;
    min-height: 650px;
    display: grid;
    grid-template-columns: 360px 560px;
    justify-content: center;
    align-items: center;
    column-gap: 84px;
}

/* HILOS */
/* HILOS - zona de conexión entre círculo y cápsulas */
.cx-version-pro-lines {
    position: absolute;
    left: 345px;
    top: 40px;
    width: 560px;
    height: 430px;
    z-index: 1;
    pointer-events: none;
}

.cx-version-pro-lines path {
    fill: none;
    stroke-width: 3.2;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: 1;
}

.cx-version-pro-lines .line-1 { stroke: #c84fd7; }
.cx-version-pro-lines .line-2 { stroke: #10b8ff; }
.cx-version-pro-lines .line-3 { stroke: #49d6ba; }
.cx-version-pro-lines .line-4 { stroke: #ffbd19; }
.cx-version-pro-lines .line-5 { stroke: #ff5b70; }

/* LOGO */
.cx-version-pro-logo-side {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(0px); /* baja el círculo */
}

.cx-version-pro-logo-circle {
    width: 208px;
    height: 208px;
    border-radius: 50%;
    background: #f2f2f2;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow:
        0 22px 48px rgba(0, 0, 0, 0.16),
        inset 0 0 0 1px rgba(255, 255, 255, 0.15);
}

.cx-version-pro-logo-circle img {
    width: 72%;
    height: auto;
    display: block;
    object-fit: contain;
}

/* LISTA */
.cx-version-pro-list {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 560px; /* más anchas */
    display: grid;
    gap: 18px;
}

/* CÁPSULAS */
.cx-version-card {
    display: grid;
    grid-template-columns: 116px 1fr 58px;
    align-items: center;
    min-height: 100px;
    background: #f3f3f3;
    border-radius: 999px;
    overflow: hidden;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.10);
}

.cx-version-card-number {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.38rem;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: -0.03em;
}

.cx-version-card-text {
    padding: 16px 12px;
    font-size: 0.92rem;
    line-height: 1.15;
    font-weight: 500;
    color: #1f1f1f;
    max-width: 100%;
}

.cx-version-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #bbbbbb;
    padding-right: 12px;
}

.cx-version-card-icon svg {
    width: 25px;
    height: 25px;
    display: block;
}

/* COLORES */
.card-1 .cx-version-card-number {
    background: #aa58c8;
}

.card-2 .cx-version-card-number {
    background: #2eb2e7;
}

.card-3 .cx-version-card-number {
    background: #4fd2b3;
}

.card-4 .cx-version-card-number {
    background: #f7bf29;
}

.card-5 .cx-version-card-number {
    background: #ef556c;
}

/* =========================================================
   RESPONSIVE - LAPTOP
========================================================= */
@media (max-width: 1280px) {
    .cx-version-pro-container {
        max-width: 1180px;
    }

    .cx-version-pro-heading h2 {
        font-size: 2.15rem;
    }

    .cx-version-pro-diagram {
        grid-template-columns: 320px 520px;
        column-gap: 64px;
        min-height: 620px;
    }

    .cx-version-pro-logo-side {
        transform: translateY(26px);
    }

    .cx-version-pro-logo-circle {
        width: 188px;
        height: 188px;
    }

    .cx-version-pro-list {
        max-width: 520px;
    }

    .cx-version-card {
        grid-template-columns: 108px 1fr 54px;
        min-height: 94px;
    }

    .cx-version-card-number {
        font-size: 1.28rem;
    }

    .cx-version-card-text {
        font-size: 0.88rem;
    }

    .cx-version-pro-lines {
    left: 305px;
    top: 145px;
    width: 520px;
    height: 410px;
}

    .cx-version-pro-lines path {
        stroke-width: 3;
    }
}

/* =========================================================
   RESPONSIVE - TABLET
========================================================= */
@media (max-width: 992px) {
    .cx-version-pro-section {
        padding: 46px 18px 58px;
    }

    .cx-version-pro-heading {
        margin-bottom: 30px;
    }

    .cx-version-pro-heading h2 {
        font-size: 1.9rem;
    }

    .cx-version-pro-line {
        width: 110px;
        margin-top: 10px;
    }

    .cx-version-pro-diagram {
        grid-template-columns: 1fr;
        min-height: auto;
        gap: 30px;
    }

    .cx-version-pro-lines {
        display: none;
    }

    .cx-version-pro-logo-side {
        transform: none;
    }

    .cx-version-pro-logo-circle {
        width: 180px;
        height: 180px;
    }

    .cx-version-pro-list {
        max-width: 760px;
        width: 100%;
        margin: 0 auto;
        gap: 16px;
    }

    .cx-version-card {
        grid-template-columns: 110px 1fr 56px;
        min-height: 86px;
    }

    .cx-version-card-text {
        font-size: 0.92rem;
        line-height: 1.2;
    }
}

/* =========================================================
   RESPONSIVE - MÓVIL
========================================================= */
@media (max-width: 768px) {
    .cx-version-pro-section {
        padding: 40px 16px 50px;
    }

    .cx-version-pro-heading h2 {
        font-size: 1.55rem;
        line-height: 1.2;
    }

    .cx-version-pro-line {
        width: 86px;
        height: 3px;
    }

    .cx-version-pro-logo-circle {
        width: 155px;
        height: 155px;
    }

    .cx-version-pro-list {
        gap: 14px;
    }

    .cx-version-card {
        grid-template-columns: 92px 1fr 48px;
        min-height: 76px;
        border-radius: 26px;
    }

    .cx-version-card-number {
        font-size: 1.2rem;
    }

    .cx-version-card-text {
        padding: 14px 10px;
        font-size: 0.84rem;
        line-height: 1.18;
    }

    .cx-version-card-icon {
        padding-right: 10px;
    }

    .cx-version-card-icon svg {
        width: 22px;
        height: 22px;
    }
}

/* =========================================================
   RESPONSIVE - MÓVIL PEQUEÑO
========================================================= */
@media (max-width: 480px) {
    .cx-version-pro-heading h2 {
        font-size: 1.32rem;
    }

    .cx-version-pro-logo-circle {
        width: 140px;
        height: 140px;
    }

    .cx-version-card {
        grid-template-columns: 82px 1fr 42px;
        min-height: 70px;
    }

    .cx-version-card-number {
        font-size: 1.05rem;
    }

    .cx-version-card-text {
        font-size: 0.78rem;
        line-height: 1.16;
    }

    .cx-version-card-icon svg {
        width: 20px;
        height: 20px;
    }
}


/* =========================================================
   SECCIÓN 6 - CLAUDIA SECAIDA
========================================================= */
.cx-claudia-section {
    position: relative;
    overflow: hidden;
    background-image: url("../img/FondoMiami2.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    min-height: 760px;
    padding: 10px 20px 0;
}

.cx-claudia-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.18) 0%,
            rgba(255, 255, 255, 0.09) 42%,
            rgba(255, 255, 255, 0.03) 100%
        );
    pointer-events: none;
    z-index: 1;
}

.cx-claudia-container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1440px;
    min-height: 750px;
    margin: 0 auto;
}

.cx-claudia-scene {
    position: relative;
    min-height: 560px;
}

/* Persona */
.cx-claudia-persona {
    position: absolute;
    left: 50%;
    transform: translateX(-52%);
    top: -50px;
    width: 100%;
    max-width: 455px;
    height: auto;
    display: block;
    object-fit: contain;
    z-index: 3;
}

/* Badge */
.cx-claudia-badge {
    position: absolute;
    right: 23%;
    top: 215px;
    width: 100%;
    max-width: 128px;
    height: auto;
    display: block;
    object-fit: contain;
    z-index: 2;
}

/* Caja inferior */
.cx-claudia-quote-box {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: min(60%, 980px);
    background: linear-gradient(180deg, #012b68 0%, #011c47 100%);
    border-radius: 30px 30px 0 0;
    padding: 18px 28px 14px;
    text-align: center;
    box-shadow: 0 -10px 24px rgba(1, 24, 64, 0.16);
    z-index: 1;
}

.cx-claudia-quote {
    margin: 0 0 10px;
    color: #ffffff;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.68rem;
    line-height: 1.02;
    font-style: italic;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.cx-claudia-author {
    margin: 0;
    color: #ffffff;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.22rem;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.01em;
}

/* =========================================================
   LAPTOP
========================================================= */
@media (max-width: 1280px) {
    .cx-claudia-section {
        min-height: 700px;
        padding-top: 8px;
    }

    .cx-claudia-container {
        min-height: 690px;
    }

    .cx-claudia-scene {
        min-height: 510px;
    }

    .cx-claudia-persona {
        max-width: 415px;
        top: -12px;
    }

    .cx-claudia-badge {
        right: 19%;
        top: 198px;
        max-width: 118px;
    }

    .cx-claudia-quote-box {
        width: min(66%, 900px);
        padding: 16px 24px 12px;
    }

    .cx-claudia-quote {
        font-size: 1.5rem;
    }

    .cx-claudia-author {
        font-size: 1.08rem;
    }
}

/* =========================================================
   TABLET
========================================================= */
@media (max-width: 992px) {
    .cx-claudia-section {
        min-height: auto;
        padding: 24px 18px 0;
        background-position: center top;
    }

    .cx-claudia-container {
        min-height: auto;
    }

    .cx-claudia-scene {
        min-height: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 18px;
        padding-bottom: 18px;
    }

    .cx-claudia-persona,
    .cx-claudia-badge {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        transform: none;
        max-width: none;
    }

    .cx-claudia-persona {
        width: min(100%, 325px);
        margin-bottom: -10px;
    }

    .cx-claudia-badge {
        width: min(100%, 118px);
        margin-top: -8px;
    }

    .cx-claudia-quote-box {
        position: relative;
        left: auto;
        bottom: auto;
        transform: none;
        width: 100%;
        max-width: 860px;
        border-radius: 24px 24px 0 0;
        padding: 18px 18px 14px;
    }

    .cx-claudia-quote {
        font-size: 1.28rem;
        line-height: 1.08;
    }

    .cx-claudia-author {
        font-size: 1rem;
        line-height: 1.12;
    }
}

/* =========================================================
   MÓVIL
========================================================= */
@media (max-width: 768px) {
    .cx-claudia-section {
        padding: 18px 16px 0;
    }

    .cx-claudia-scene {
        gap: 14px;
        padding-bottom: 14px;
    }

    .cx-claudia-persona {
        width: min(100%, 270px);
        margin-bottom: -8px;
    }

    .cx-claudia-badge {
        width: min(100%, 104px);
        margin-top: -4px;
    }

    .cx-claudia-quote-box {
        padding: 16px 14px 12px;
        border-radius: 18px 18px 0 0;
    }

    .cx-claudia-quote {
        font-size: 1rem;
        line-height: 1.14;
    }

    .cx-claudia-author {
        font-size: 0.9rem;
        line-height: 1.12;
    }
}

/* =========================================================
   MÓVIL PEQUEÑO
========================================================= */
@media (max-width: 480px) {
    .cx-claudia-persona {
        width: min(100%, 240px);
    }

    .cx-claudia-badge {
        width: min(100%, 94px);
    }

    .cx-claudia-quote {
        font-size: 0.92rem;
    }

    .cx-claudia-author {
        font-size: 0.84rem;
    }
}



/* =========================================================
   SECCIÓN 7 - BENEFICIOS VISUALES
========================================================= */
.cx-beneficios-visual-section {
    background: #f2f2f2;
    padding: 34px 20px 78px;
}

.cx-beneficios-visual-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}

/* Título */
.cx-beneficios-visual-heading {
    text-align: center;
    margin-bottom: 24px;
}

.cx-beneficios-visual-heading h2 {
    margin: 0;
    font-size: 1.08rem;
    line-height: 1.4;
    font-weight: 500;
    color: #424242;
    letter-spacing: -0.01em;
}

.cx-beneficios-visual-heading h2 span {
    color: #0b98d4;
    font-weight: 700;
}

/* Caja principal */
.cx-beneficios-visual-box {
    border: 4px solid #121b77;
    border-radius: 24px;
    padding: 28px 22px 34px;
    background: transparent;
}

/* Filas */
.cx-beneficios-row {
    display: grid;
    justify-content: center;
    align-items: start;
}

.cx-beneficios-row.row-top {
    grid-template-columns: repeat(3, minmax(0, 230px));
    gap: 34px 44px;
    margin-bottom: 44px;
}

.cx-beneficios-row.row-bottom {
    grid-template-columns: repeat(4, minmax(0, 210px));
    gap: 28px 26px;
}

/* Item */
.cx-beneficio-item {
    text-align: center;
}

.cx-beneficio-circle {
    position: relative;
    width: 100%;
    max-width: 226px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto 18px;
    border: 6px solid #f08c10;
    background: #ffffff;
    box-shadow: 0 14px 28px rgba(18, 27, 119, 0.10);
    animation: cxCircleFloat 7.8s ease-in-out infinite;
    transform-origin: center;
    will-change: transform;
    transition: transform 0.45s ease, box-shadow 0.45s ease, border-color 0.45s ease;
}

.cx-beneficio-circle::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: linear-gradient(120deg, transparent 18%, rgba(255,255,255,0.28) 42%, transparent 64%);
    transform: translateX(-130%) rotate(18deg);
    opacity: 0;
    pointer-events: none;
}

.cx-beneficio-circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.01);
    transition: transform 0.65s ease, filter 0.65s ease;
}

.cx-beneficio-item:hover .cx-beneficio-circle {
    transform: translateY(-10px) scale(1.035);
    box-shadow: 0 22px 42px rgba(18, 27, 119, 0.20);
    border-color: #ffae28;
}

.cx-beneficio-item:hover .cx-beneficio-circle img {
    transform: scale(1.085);
    filter: saturate(1.08) contrast(1.04);
}

.cx-beneficio-item:hover .cx-beneficio-circle::after {
    animation: cxCircleShine 0.95s ease forwards;
}

.cx-beneficio-item:nth-child(2) .cx-beneficio-circle { animation-delay: -1.2s; }
.cx-beneficio-item:nth-child(3) .cx-beneficio-circle { animation-delay: -2.4s; }
.cx-beneficio-item:nth-child(4) .cx-beneficio-circle { animation-delay: -3.6s; }
.cx-beneficio-item:nth-child(5) .cx-beneficio-circle { animation-delay: -4.8s; }
.cx-beneficio-item:nth-child(6) .cx-beneficio-circle { animation-delay: -6s; }
.cx-beneficio-item:nth-child(7) .cx-beneficio-circle { animation-delay: -7.2s; }

@keyframes cxCircleFloat {
    0%, 100% {
        transform: translateY(0) scale(1);
    }
    50% {
        transform: translateY(-7px) scale(1.015);
    }
}

@keyframes cxCircleShine {
    0% {
        opacity: 0;
        transform: translateX(-130%) rotate(18deg);
    }
    25% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        transform: translateX(130%) rotate(18deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .cx-beneficio-circle {
        animation: none;
        transition: none;
    }

    .cx-beneficio-circle img,
    .cx-beneficio-circle::after {
        animation: none !important;
        transition: none;
    }
}

.cx-beneficio-item h3 {
    margin: 0;
    font-size: 1rem;
    line-height: 1.08;
    font-weight: 800;
    color: #121b77;
    letter-spacing: -0.02em;
}

/* =========================================================
   LAPTOP
========================================================= */
@media (max-width: 1200px) {
    .cx-beneficios-visual-box {
        padding: 26px 18px 30px;
    }

    .cx-beneficios-row.row-top {
        grid-template-columns: repeat(3, minmax(0, 210px));
        gap: 28px 30px;
        margin-bottom: 34px;
    }

    .cx-beneficios-row.row-bottom {
        grid-template-columns: repeat(4, minmax(0, 190px));
        gap: 24px 18px;
    }

    .cx-beneficio-circle {
        max-width: 208px;
    }

    .cx-beneficio-item h3 {
        font-size: 0.95rem;
    }
}

/* =========================================================
   TABLET
========================================================= */
@media (max-width: 992px) {
    .cx-beneficios-visual-section {
        padding: 30px 18px 58px;
    }

    .cx-beneficios-visual-box {
        border-width: 3px;
        border-radius: 20px;
        padding: 24px 18px 28px;
    }

    .cx-beneficios-row.row-top,
    .cx-beneficios-row.row-bottom {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 26px 20px;
        margin-bottom: 26px;
    }

    .cx-beneficios-row.row-bottom {
        margin-bottom: 0;
    }

    .cx-beneficio-circle {
        max-width: 210px;
        margin-bottom: 14px;
    }

    .cx-beneficio-item h3 {
        font-size: 0.94rem;
    }
}

/* =========================================================
   MÓVIL
========================================================= */
@media (max-width: 768px) {
    .cx-beneficios-visual-section {
        padding: 26px 16px 46px;
    }

    .cx-beneficios-visual-heading {
        margin-bottom: 18px;
    }

    .cx-beneficios-visual-heading h2 {
        font-size: 0.98rem;
        line-height: 1.5;
    }

    .cx-beneficios-visual-box {
        border-width: 3px;
        border-radius: 18px;
        padding: 20px 14px 24px;
    }

    .cx-beneficios-row.row-top,
    .cx-beneficios-row.row-bottom {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-bottom: 24px;
    }

    .cx-beneficio-circle {
        max-width: 210px;
        border-width: 5px;
        margin-bottom: 12px;
    }

    .cx-beneficio-item h3 {
        font-size: 0.92rem;
        line-height: 1.1;
    }
}

/* =========================================================
   SECCIÓN 8 - PROGRAMAS
========================================================= */
.cx-programas-section {
    background: #f1f1f1;
    padding: 26px 20px 40px;
}

.cx-programas-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}

.cx-programas-heading {
    text-align: center;
    margin-bottom: 24px;
}

.cx-programas-heading h2 {
    margin: 0;
    color: #121b77;
    font-size: 2.4rem;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.cx-programas-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 42px 38px;
}

.cx-programa-card {
    background: #f08c08;
    border-radius: 22px;
    padding: 14px 14px 10px;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.06);
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.cx-programa-img {
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    background: #ffffff;
    margin-bottom: 10px;
}

.cx-programa-img img {
    width: 100%;
    height: 152px;
    object-fit: cover;
    display: block;
}

.cx-programa-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 0 6px 0;
}

.cx-programa-body h3 {
    margin: 0 0 12px;
    color: #ffffff;
    font-size: 1.18rem;
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.cx-programa-body p {
    margin: 0 0 18px;
    color: #ffffff;
    font-size: 0.93rem;
    line-height: 1.18;
    font-weight: 400;
    flex: 1;
}

.cx-programa-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 34px;
    padding: 0 10px 0 14px;
    width: min(100%, 215px);
    background: #ffffff;
    color: #121b77;
    border-radius: 999px;
    text-decoration: none;
    font-size: 0.82rem;
    font-weight: 700;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cx-programa-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 7px 14px rgba(0, 0, 0, 0.12);
}

.cx-programa-btn-icon {
    font-size: 2rem;
    line-height: 1;
    font-weight: 400;
    margin-top: -3px;
}

/* =========================================================
   LAPTOP
========================================================= */
@media (max-width: 1200px) {
    .cx-programas-grid {
        gap: 30px 24px;
    }

    .cx-programa-body h3 {
        font-size: 1.08rem;
    }

    .cx-programa-body p {
        font-size: 0.88rem;
    }
}

/* =========================================================
   TABLET
========================================================= */
@media (max-width: 992px) {
    .cx-programas-section {
        padding: 24px 18px 34px;
    }

    .cx-programas-heading h2 {
        font-size: 2rem;
    }

    .cx-programas-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 20px;
    }

    .cx-programa-img img {
        height: 170px;
    }
}

/* =========================================================
   MÓVIL
========================================================= */
@media (max-width: 768px) {
    .cx-programas-section {
        padding: 22px 16px 30px;
    }

    .cx-programas-heading {
        margin-bottom: 18px;
    }

    .cx-programas-heading h2 {
        font-size: 1.7rem;
    }

    .cx-programas-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .cx-programa-card {
        border-radius: 18px;
        padding: 12px 12px 10px;
    }

    .cx-programa-img {
        border-radius: 14px;
    }

    .cx-programa-img img {
        height: 180px;
    }

    .cx-programa-body h3 {
        font-size: 1.06rem;
    }

    .cx-programa-body p {
        font-size: 0.9rem;
        line-height: 1.24;
    }

    .cx-programa-btn {
        width: 100%;
        max-width: 220px;
        font-size: 0.8rem;
    }
}

/* =========================================================
   SECCIÓN - BOOTCAMPS EJECUTIVOS EXACTA
========================================================= */
.cx-bootcamp-exact-section {
    background: #f1f1f1;
    padding: 20px 20px 42px;
    position: relative;
}

.cx-bootcamp-exact-wrap {
    position: relative;
    width: 100%;
    max-width: 1160px;
    height: 640px;
    margin: 0 auto;
    border-radius: 32px;
    overflow: hidden;
    background: linear-gradient(135deg, #239ee3 0%, #39acf0 48%, #2aa6ec 100%);
    box-shadow: 0 10px 24px rgba(12, 49, 104, 0.08);
}

/* curvas de fondo */
.cx-bootcamp-exact-wrap::before,
.cx-bootcamp-exact-wrap::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 1;
}

.cx-bootcamp-exact-wrap::before {
    width: 900px;
    height: 240px;
    left: -120px;
    top: -60px;
    border-radius: 0 0 320px 320px;
    background: rgba(255, 255, 255, 0.10);
    transform: rotate(-2deg);
}

.cx-bootcamp-exact-wrap::after {
    width: 700px;
    height: 200px;
    right: -120px;
    bottom: -48px;
    border-radius: 300px 300px 0 0;
    background: rgba(255, 255, 255, 0.08);
    transform: rotate(-4deg);
}

/* onda suave inferior */
.cx-bootcamp-exact-wave {
    position: absolute;
    left: 225px;
    bottom: 118px;
    width: 450px;
    height: 110px;
    border-radius: 120px;
    border: 3px solid rgba(255, 255, 255, 0.32);
    border-color: rgba(255, 255, 255, 0.32) transparent transparent transparent;
    transform: rotate(-2deg);
    pointer-events: none;
    z-index: 2;
}

/* figura izquierda */
.cx-bootcamp-exact-figure {
    position: absolute;
    left: -38px;
    bottom: -14px;
    width: 100%;
    max-width: 435px;
    z-index: 3;
}

.cx-bootcamp-exact-figure img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

/* tarjeta blanca */
.cx-bootcamp-exact-card {
    position: absolute;
    top: 30px;
    right: 34px;
    width: calc(100% - 335px);
    height: 586px;
    background: #f5f5f5;
    border-radius: 32px;
    padding: 18px 28px 72px;
    z-index: 4;
    box-shadow: 0 10px 24px rgba(8, 27, 67, 0.08);
    overflow: hidden;
}

.cx-bootcamp-exact-card h2 {
    margin: 0 0 16px;
    color: #121b77;
    text-align: center;
    font-size: 1.55rem;
    line-height: 1.12;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.cx-bootcamp-exact-card h3 {
    margin: 20px 0 6px;
    color: #121b77;
    font-size: 0.98rem;
    line-height: 1.18;
    font-weight: 800;
}

.cx-bootcamp-exact-card p {
    margin: 0 0 7px;
    color: #454545;
    font-size: 0.92rem;
    line-height: 1.5;
    font-weight: 400;
}

.cx-bootcamp-exact-card p strong {
    font-weight: 800;
    color: #383838;
}

.cx-bootcamp-exact-actions {
    position: absolute;
    left: 50%;
    bottom: 3px;
    transform: translateX(-50%);
}

.cx-bootcamp-exact-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 292px;
    min-height: 46px;
    padding: 0 28px;
    border-radius: 999px;
    background: linear-gradient(180deg, #031a4a 0%, #021437 100%);
    color: #ffffff;
    text-decoration: none;
    font-size: 0.96rem;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(2, 20, 55, 0.22);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cx-bootcamp-exact-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(2, 20, 55, 0.28);
}

/* =========================================================
   LAPTOP
========================================================= */
@media (max-width: 1280px) {
    .cx-bootcamp-exact-wrap {
        height: 610px;
    }

    .cx-bootcamp-exact-wave {
        left: 205px;
        bottom: 108px;
        width: 400px;
    }

    .cx-bootcamp-exact-figure {
        left: 42px;
        bottom: -10px;
        max-width: 305px;
    }

    .cx-bootcamp-exact-card {
        right: 24px;
        width: calc(100% - 315px);
        height: 555px;
        padding: 18px 24px 68px;
    }

    .cx-bootcamp-exact-actions {
        bottom: 10px;
    }

    .cx-bootcamp-exact-card h2 {
        font-size: 1.42rem;
    }

    .cx-bootcamp-exact-card h3 {
        font-size: 0.95rem;
    }

    .cx-bootcamp-exact-card p {
        font-size: 0.89rem;
        line-height: 1.46;
    }
}

/* =========================================================
   TABLET
========================================================= */
@media (max-width: 992px) {
    .cx-bootcamp-exact-section {
        padding: 18px 18px 38px;
    }

    .cx-bootcamp-exact-wrap {
        height: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 24px 18px 26px;
        border-radius: 24px;
    }

    .cx-bootcamp-exact-wrap::before,
    .cx-bootcamp-exact-wrap::after,
    .cx-bootcamp-exact-wave {
        display: none;
    }

    .cx-bootcamp-exact-figure {
        position: relative;
        left: auto;
        bottom: auto;
        width: min(100%, 300px);
        max-width: 300px;
        margin-bottom: 10px;
    }

    .cx-bootcamp-exact-card {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        height: auto;
        padding: 22px 20px 74px;
        border-radius: 24px;
    }

    .cx-bootcamp-exact-card h2 {
        font-size: 1.38rem;
    }

    .cx-bootcamp-exact-card h3 {
        font-size: 0.98rem;
    }

    .cx-bootcamp-exact-card p {
        font-size: 0.92rem;
        line-height: 1.54;
    }

    .cx-bootcamp-exact-actions {
        bottom: 18px;
    }
}

/* =========================================================
   MÓVIL
========================================================= */
@media (max-width: 768px) {
    .cx-bootcamp-exact-section {
        padding: 16px 16px 34px;
    }

    .cx-bootcamp-exact-wrap {
        padding: 18px 14px 22px;
        border-radius: 20px;
    }

    .cx-bootcamp-exact-figure {
        width: min(100%, 255px);
        margin-bottom: 8px;
    }

    .cx-bootcamp-exact-card {
        padding: 18px 14px 68px;
        border-radius: 20px;
    }

    .cx-bootcamp-exact-card h2 {
        font-size: 1.2rem;
        margin-bottom: 14px;
    }

    .cx-bootcamp-exact-card h3 {
        font-size: 0.92rem;
        margin-top: 18px;
    }

    .cx-bootcamp-exact-card p {
        font-size: 0.88rem;
        line-height: 1.5;
    }

    .cx-bootcamp-exact-btn {
        min-width: 240px;
        min-height: 44px;
        font-size: 0.9rem;
        padding: 0 20px;
    }
}


/* =========================================================
   SECCIÓN 10 - CERTIFICACIONES INTERNACIONALES
========================================================= */
.cx-certificaciones-section {
    background: #f1f1f1;
    padding: 18px 20px 46px;
    position: relative;
}

.cx-certificaciones-wrap {
    position: relative;
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
    min-height: 565px;
    border-radius: 30px;
    overflow: hidden;
    background: linear-gradient(135deg, #d67900 0%, #f08a00 46%, #ff9a08 100%);
    box-shadow: 0 10px 24px rgba(104, 52, 8, 0.08);
}

.cx-certificaciones-wrap::before,
.cx-certificaciones-wrap::after {
    content: "";
    position: absolute;
    pointer-events: none;
    opacity: 0.18;
}

.cx-certificaciones-wrap::before {
    width: 820px;
    height: 260px;
    left: -120px;
    top: -40px;
    border-radius: 0 0 260px 260px;
    background: rgba(255, 255, 255, 0.16);
    transform: rotate(-2deg);
}

.cx-certificaciones-wrap::after {
    width: 540px;
    height: 280px;
    right: -120px;
    bottom: -40px;
    border-radius: 260px 260px 0 0;
    background: rgba(255, 255, 255, 0.12);
    transform: rotate(-3deg);
}

/* Imagen izquierda */
.cx-certificaciones-figure {
    position: absolute;
    left: 8px;
    bottom: 0;
    width: 40%;
    max-width: 470px;
    z-index: 2;
}

.cx-certificaciones-figure img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

/* Tarjeta blanca */
.cx-certificaciones-card {
    position: absolute;
    top: 24px;
    right: 34px;
    width: calc(100% - 520px);
    min-height: 494px;
    background: #f5f5f5;
    border-radius: 28px;
    padding: 18px 38px 24px;
    z-index: 3;
    box-shadow: 0 10px 24px rgba(73, 38, 6, 0.08);
}

.cx-certificaciones-card h2 {
    margin: 0 0 18px;
    color: #121b77;
    text-align: center;
    font-size: 1.55rem;
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.cx-certificaciones-card p {
    margin: 0 0 18px;
    color: #444444;
    font-size: 0.96rem;
    line-height: 1.6;
    font-weight: 400;
}

.cx-certificaciones-card p strong {
    font-weight: 800;
    color: #353535;
}

/* Lista */
.cx-certificaciones-list {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

.cx-cert-row {
    background: #3c3c3c;
    border-radius: 4px;
    min-height: 44px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 0 8px 0 14px;
}

.cx-cert-row-title {
    color: #ffffff;
    font-size: 0.88rem;
    line-height: 1.18;
    font-weight: 700;
}

.cx-cert-pdf-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    background: linear-gradient(180deg, #10bcff 0%, #03a8ee 100%);
    color: #001e4c;
    text-decoration: none;
    font-size: 0.76rem;
    font-weight: 800;
    white-space: nowrap;
    box-shadow: 0 4px 10px rgba(2, 168, 238, 0.18);
}

.cx-cert-pdf-icon {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cx-cert-pdf-icon svg {
    width: 18px;
    height: 18px;
    display: block;
}

/* CTA */
.cx-certificaciones-actions {
    display: flex;
    justify-content: center;
    margin-top: 16px;
}

.cx-certificaciones-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 265px;
    min-height: 48px;
    padding: 0 28px;
    border-radius: 999px;
    background: linear-gradient(180deg, #031a4a 0%, #021437 100%);
    color: #ffffff;
    text-decoration: none;
    font-size: 0.98rem;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(2, 20, 55, 0.22);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cx-certificaciones-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(2, 20, 55, 0.28);
}

/* =========================================================
   LAPTOP
========================================================= */
@media (max-width: 1280px) {
    .cx-certificaciones-wrap {
        min-height: 540px;
    }

    .cx-certificaciones-figure {
        width: 39%;
        max-width: 420px;
    }

    .cx-certificaciones-card {
        right: 24px;
        width: calc(100% - 470px);
        min-height: 470px;
        padding: 18px 28px 22px;
    }

    .cx-certificaciones-card h2 {
        font-size: 1.42rem;
    }

    .cx-certificaciones-card p {
        font-size: 0.92rem;
        line-height: 1.55;
    }

    .cx-cert-row-title {
        font-size: 0.84rem;
    }
}

/* =========================================================
   TABLET
========================================================= */
@media (max-width: 992px) {
    .cx-certificaciones-section {
        padding: 18px 18px 38px;
    }

    .cx-certificaciones-wrap {
        min-height: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 24px 18px 24px;
        border-radius: 24px;
    }

    .cx-certificaciones-figure {
        position: relative;
        left: auto;
        bottom: auto;
        width: min(100%, 310px);
        max-width: 310px;
        margin-bottom: 18px;
    }

    .cx-certificaciones-card {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        min-height: auto;
        padding: 22px 18px 22px;
        border-radius: 24px;
    }

    .cx-certificaciones-card h2 {
        font-size: 1.34rem;
    }

    .cx-certificaciones-card p {
        font-size: 0.92rem;
        line-height: 1.56;
    }

    .cx-cert-row {
        grid-template-columns: 1fr;
        padding: 12px;
    }

    .cx-cert-pdf-btn {
        justify-self: start;
    }

    .cx-certificaciones-actions {
        margin-top: 18px;
    }
}

/* =========================================================
   MÓVIL
========================================================= */
@media (max-width: 768px) {
    .cx-certificaciones-section {
        padding: 16px 16px 34px;
    }

    .cx-certificaciones-wrap {
        padding: 18px 14px 20px;
        border-radius: 20px;
    }

    .cx-certificaciones-figure {
        width: min(100%, 255px);
        margin-bottom: 12px;
    }

    .cx-certificaciones-card {
        padding: 18px 14px 18px;
        border-radius: 20px;
    }

    .cx-certificaciones-card h2 {
        font-size: 1.18rem;
        margin-bottom: 14px;
    }

    .cx-certificaciones-card p {
        font-size: 0.88rem;
        line-height: 1.52;
        margin-bottom: 14px;
    }

    .cx-cert-row-title {
        font-size: 0.82rem;
    }

    .cx-cert-pdf-btn {
        font-size: 0.72rem;
        min-height: 28px;
        padding: 0 10px;
    }

    .cx-certificaciones-btn {
        min-width: 235px;
        min-height: 44px;
        font-size: 0.9rem;
        padding: 0 20px;
    }
}

/* =========================================================
   SECCIÓN 12 - MASTER EN CX/UX
========================================================= */
.cx-master-cxux-section {
    background: #f1f1f1;
    padding: 18px 20px 46px;
    position: relative;
}

.cx-master-cxux-wrap {
    position: relative;
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
    min-height: 490px;
    border-radius: 30px;
    overflow: hidden;
    background: linear-gradient(135deg, #d67900 0%, #f08a00 46%, #ff9a08 100%);
    box-shadow: 0 10px 24px rgba(104, 52, 8, 0.08);
}

.cx-master-cxux-wrap::before,
.cx-master-cxux-wrap::after {
    content: "";
    position: absolute;
    pointer-events: none;
    opacity: 0.18;
}

.cx-master-cxux-wrap::before {
    width: 820px;
    height: 240px;
    left: -120px;
    top: -34px;
    border-radius: 0 0 260px 260px;
    background: rgba(255, 255, 255, 0.14);
    transform: rotate(-2deg);
}

.cx-master-cxux-wrap::after {
    width: 540px;
    height: 250px;
    right: -110px;
    bottom: -36px;
    border-radius: 260px 260px 0 0;
    background: rgba(255, 255, 255, 0.10);
    transform: rotate(-3deg);
}

/* Imagen izquierda */
.cx-master-cxux-figure {
    position: absolute;
    left: 40px;
    bottom: 0;
    width: 100%;
    max-width: 580px;
    z-index: 2;
}

.cx-master-cxux-figure img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

/* Tarjeta blanca */
.cx-master-cxux-card {
    position: absolute;
    top: 24px;
    right: 34px;
    width: calc(100% - 560px);
    min-height: 382px;
    background: #f5f5f5;
    border-radius: 28px;
    padding: 18px 38px 26px;
    z-index: 3;
    box-shadow: 0 10px 24px rgba(73, 38, 6, 0.08);
}

.cx-master-cxux-card h2 {
    margin: 0 0 18px;
    color: #121b77;
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.cx-master-cxux-card p {
    margin: 0 0 14px;
    color: #444444;
    font-size: 0.96rem;
    line-height: 1.58;
    font-weight: 400;
}

.cx-master-cxux-card p strong {
    font-weight: 800;
    color: #353535;
}

.cx-master-cxux-actions {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.cx-master-cxux-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 290px;
    min-height: 48px;
    padding: 0 28px;
    border-radius: 999px;
    background: linear-gradient(180deg, #031a4a 0%, #021437 100%);
    color: #ffffff;
    text-decoration: none;
    font-size: 0.98rem;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(2, 20, 55, 0.22);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cx-master-cxux-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(2, 20, 55, 0.28);
}

/* =========================================================
   LAPTOP
========================================================= */
@media (max-width: 1280px) {
    .cx-master-cxux-wrap {
        min-height: 445px;
    }

    .cx-master-cxux-figure {
        left: 95px;
        max-width: 300px;
    }

    .cx-master-cxux-card {
        right: 24px;
        width: calc(100% - 500px);
        min-height: 365px;
        padding: 18px 28px 22px;
    }

    .cx-master-cxux-card h2 {
        font-size: 1.45rem;
    }

    .cx-master-cxux-card p {
        font-size: 0.92rem;
        line-height: 1.54;
        margin-bottom: 12px;
    }
}

/* =========================================================
   TABLET
========================================================= */
@media (max-width: 992px) {
    .cx-master-cxux-section {
        padding: 18px 18px 38px;
    }

    .cx-master-cxux-wrap {
        min-height: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 24px 18px 24px;
        border-radius: 24px;
    }

    .cx-master-cxux-figure {
        position: relative;
        left: auto;
        bottom: auto;
        width: min(100%, 300px);
        max-width: 300px;
        margin-bottom: 14px;
    }

    .cx-master-cxux-card {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        min-height: auto;
        padding: 22px 18px 22px;
        border-radius: 24px;
    }

    .cx-master-cxux-card h2 {
        font-size: 1.34rem;
        margin-bottom: 18px;
    }

    .cx-master-cxux-card p {
        font-size: 0.92rem;
        line-height: 1.56;
    }

    .cx-master-cxux-actions {
        margin-top: 22px;
    }
}

/* =========================================================
   MÓVIL
========================================================= */
@media (max-width: 768px) {
    .cx-master-cxux-section {
        padding: 16px 16px 34px;
    }

    .cx-master-cxux-wrap {
        padding: 18px 14px 20px;
        border-radius: 20px;
    }

    .cx-master-cxux-figure {
        width: min(100%, 250px);
        margin-bottom: 10px;
    }

    .cx-master-cxux-card {
        padding: 18px 14px 18px;
        border-radius: 20px;
    }

    .cx-master-cxux-card h2 {
        font-size: 1.18rem;
        margin-bottom: 14px;
    }

    .cx-master-cxux-card p {
        font-size: 0.88rem;
        line-height: 1.52;
        margin-bottom: 12px;
    }

    .cx-master-cxux-btn {
        min-width: 235px;
        min-height: 44px;
        font-size: 0.9rem;
        padding: 0 20px;
    }
}

/* =========================================================
   SECCIÓN 11 - PDG
========================================================= */
.cx-pdg-section {
    background: #f1f1f1;
    padding: 18px 20px 46px;
    position: relative;
}

.cx-pdg-wrap {
    position: relative;
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
    min-height: 465px;
    border-radius: 30px;
    overflow: hidden;
    background: linear-gradient(135deg, #d67900 0%, #f08a00 46%, #ff9a08 100%);
    box-shadow: 0 10px 24px rgba(104, 52, 8, 0.08);
}

.cx-pdg-wrap::before,
.cx-pdg-wrap::after {
    content: "";
    position: absolute;
    pointer-events: none;
    opacity: 0.18;
}

.cx-pdg-wrap::before {
    width: 820px;
    height: 240px;
    left: -120px;
    top: -34px;
    border-radius: 0 0 260px 260px;
    background: rgba(255, 255, 255, 0.14);
    transform: rotate(-2deg);
}

.cx-pdg-wrap::after {
    width: 540px;
    height: 250px;
    right: -110px;
    bottom: -36px;
    border-radius: 260px 260px 0 0;
    background: rgba(255, 255, 255, 0.10);
    transform: rotate(-3deg);
}

/* Imagen izquierda */
.cx-pdg-figure {
    position: absolute;
    left: 40px;
    bottom: 0;
    width: 100%;
    max-width: 430px;
    z-index: 2;
}

.cx-pdg-figure img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

/* Tarjeta blanca */
.cx-pdg-card {
    position: absolute;
    top: 24px;
    right: 34px;
    width: calc(100% - 560px);
    min-height: 382px;
    background: #f5f5f5;
    border-radius: 28px;
    padding: 18px 38px 26px;
    z-index: 3;
    box-shadow: 0 10px 24px rgba(73, 38, 6, 0.08);
}

.cx-pdg-card h2 {
    margin: 0 0 24px;
    color: #121b77;
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.cx-pdg-card p {
    margin: 0 0 18px;
    color: #444444;
    font-size: 0.96rem;
    line-height: 1.62;
    font-weight: 400;
}

.cx-pdg-card p strong {
    font-weight: 800;
    color: #353535;
}

.cx-pdg-actions {
    display: flex;
    justify-content: center;
    margin-top: 30px;
}

.cx-pdg-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 290px;
    min-height: 48px;
    padding: 0 28px;
    border-radius: 999px;
    background: linear-gradient(180deg, #031a4a 0%, #021437 100%);
    color: #ffffff;
    text-decoration: none;
    font-size: 0.98rem;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(2, 20, 55, 0.22);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cx-pdg-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(2, 20, 55, 0.28);
}

/* =========================================================
   LAPTOP
========================================================= */
@media (max-width: 1280px) {
    .cx-pdg-wrap {
        min-height: 445px;
    }

    .cx-pdg-figure {
        left: 90px;
        max-width: 265px;
    }

    .cx-pdg-card {
        right: 24px;
        width: calc(100% - 500px);
        min-height: 365px;
        padding: 18px 28px 22px;
    }

    .cx-pdg-card h2 {
        font-size: 1.45rem;
        margin-bottom: 20px;
    }

    .cx-pdg-card p {
        font-size: 0.92rem;
        line-height: 1.56;
        margin-bottom: 16px;
    }
}

/* =========================================================
   TABLET
========================================================= */
@media (max-width: 992px) {
    .cx-pdg-section {
        padding: 18px 18px 38px;
    }

    .cx-pdg-wrap {
        min-height: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 24px 18px 24px;
        border-radius: 24px;
    }

    .cx-pdg-figure {
        position: relative;
        left: auto;
        bottom: auto;
        width: min(100%, 290px);
        max-width: 290px;
        margin-bottom: 14px;
    }

    .cx-pdg-card {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        min-height: auto;
        padding: 22px 18px 22px;
        border-radius: 24px;
    }

    .cx-pdg-card h2 {
        font-size: 1.34rem;
        margin-bottom: 18px;
    }

    .cx-pdg-card p {
        font-size: 0.92rem;
        line-height: 1.56;
    }

    .cx-pdg-actions {
        margin-top: 22px;
    }
}

/* =========================================================
   MÓVIL
========================================================= */
@media (max-width: 768px) {
    .cx-pdg-section {
        padding: 16px 16px 34px;
    }

    .cx-pdg-wrap {
        padding: 18px 14px 20px;
        border-radius: 20px;
    }

    .cx-pdg-figure {
        width: min(100%, 250px);
        margin-bottom: 10px;
    }

    .cx-pdg-card {
        padding: 18px 14px 18px;
        border-radius: 20px;
    }

    .cx-pdg-card h2 {
        font-size: 1.18rem;
        margin-bottom: 14px;
    }

    .cx-pdg-card p {
        font-size: 0.88rem;
        line-height: 1.52;
        margin-bottom: 14px;
    }

    .cx-pdg-btn {
        min-width: 235px;
        min-height: 44px;
        font-size: 0.9rem;
        padding: 0 20px;
    }
}

/* =========================================================
   SECCIÓN 13 - MASTER EN GX & HOSPITALITY MANAGEMENT
========================================================= */
.cx-master-gx-section {
    background: #f1f1f1;
    padding: 18px 20px 46px;
    position: relative;
}

.cx-master-gx-wrap {
    position: relative;
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
    min-height: 565px;
    border-radius: 30px;
    overflow: hidden;
    background: linear-gradient(135deg, #d67900 0%, #f08a00 46%, #ff9a08 100%);
    box-shadow: 0 10px 24px rgba(104, 52, 8, 0.08);
}

.cx-master-gx-wrap::before,
.cx-master-gx-wrap::after {
    content: "";
    position: absolute;
    pointer-events: none;
    opacity: 0.18;
}

.cx-master-gx-wrap::before {
    width: 820px;
    height: 240px;
    left: -120px;
    top: -34px;
    border-radius: 0 0 260px 260px;
    background: rgba(255, 255, 255, 0.14);
    transform: rotate(-2deg);
}

.cx-master-gx-wrap::after {
    width: 540px;
    height: 250px;
    right: -110px;
    bottom: -36px;
    border-radius: 260px 260px 0 0;
    background: rgba(255, 255, 255, 0.10);
    transform: rotate(-3deg);
}

/* Imagen izquierda */
.cx-master-gx-figure {
    position: absolute;
    left: 40px;
    bottom: 0;
    width: 100%;
    max-width: 400px;
    z-index: 2;
}

.cx-master-gx-figure img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

/* Tarjeta blanca */
.cx-master-gx-card {
    position: absolute;
    top: 24px;
    right: 34px;
    width: calc(100% - 560px);
    min-height: 386px;
    background: #f5f5f5;
    border-radius: 28px;
    padding: 18px 38px 26px;
    z-index: 3;
    box-shadow: 0 10px 24px rgba(73, 38, 6, 0.08);
}

.cx-master-gx-card h2 {
    margin: 0 0 14px;
    color: #121b77;
    text-align: center;
    font-size: 1.58rem;
    line-height: 1.18;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.cx-master-gx-card p {
    margin: 0 0 12px;
    color: #444444;
    font-size: 0.96rem;
    line-height: 1.58;
    font-weight: 400;
}

.cx-master-gx-card p strong {
    font-weight: 800;
    color: #353535;
}

.cx-master-gx-actions {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.cx-master-gx-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 290px;
    min-height: 48px;
    padding: 0 28px;
    border-radius: 999px;
    background: linear-gradient(180deg, #031a4a 0%, #021437 100%);
    color: #ffffff;
    text-decoration: none;
    font-size: 0.98rem;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(2, 20, 55, 0.22);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cx-master-gx-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(2, 20, 55, 0.28);
}

/* =========================================================
   LAPTOP
========================================================= */
@media (max-width: 1280px) {
    .cx-master-gx-wrap {
        min-height: 445px;
    }

    .cx-master-gx-figure {
        left: 95px;
        max-width: 275px;
    }

    .cx-master-gx-card {
        right: 24px;
        width: calc(100% - 500px);
        min-height: 365px;
        padding: 18px 28px 22px;
    }

    .cx-master-gx-card h2 {
        font-size: 1.42rem;
    }

    .cx-master-gx-card p {
        font-size: 0.92rem;
        line-height: 1.54;
        margin-bottom: 10px;
    }
}

/* =========================================================
   TABLET
========================================================= */
@media (max-width: 992px) {
    .cx-master-gx-section {
        padding: 18px 18px 38px;
    }

    .cx-master-gx-wrap {
        min-height: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 24px 18px 24px;
        border-radius: 24px;
    }

    .cx-master-gx-figure {
        position: relative;
        left: auto;
        bottom: auto;
        width: min(100%, 285px);
        max-width: 285px;
        margin-bottom: 14px;
    }

    .cx-master-gx-card {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        min-height: auto;
        padding: 22px 18px 22px;
        border-radius: 24px;
    }

    .cx-master-gx-card h2 {
        font-size: 1.3rem;
        margin-bottom: 18px;
    }

    .cx-master-gx-card p {
        font-size: 0.92rem;
        line-height: 1.56;
    }

    .cx-master-gx-actions {
        margin-top: 22px;
    }
}

/* =========================================================
   MÓVIL
========================================================= */
@media (max-width: 768px) {
    .cx-master-gx-section {
        padding: 16px 16px 34px;
    }

    .cx-master-gx-wrap {
        padding: 18px 14px 20px;
        border-radius: 20px;
    }

    .cx-master-gx-figure {
        width: min(100%, 245px);
        margin-bottom: 10px;
    }

    .cx-master-gx-card {
        padding: 18px 14px 18px;
        border-radius: 20px;
    }

    .cx-master-gx-card h2 {
        font-size: 1.16rem;
        margin-bottom: 14px;
    }

    .cx-master-gx-card p {
        font-size: 0.88rem;
        line-height: 1.52;
        margin-bottom: 12px;
    }

    .cx-master-gx-btn {
        min-width: 235px;
        min-height: 44px;
        font-size: 0.9rem;
        padding: 0 20px;
    }
}

/* =========================================================
   SECCIÓN 14 - PROGRAMAS DE BIU
========================================================= */
.cx-biu-section {
    background: #f1f1f1;
    padding: 18px 20px 46px;
    position: relative;
}

.cx-biu-wrap {
    position: relative;
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
    min-height: 498px;
    border-radius: 30px;
    overflow: hidden;
    background: linear-gradient(135deg, #d67900 0%, #f08a00 46%, #ff9a08 100%);
    box-shadow: 0 10px 24px rgba(104, 52, 8, 0.08);
}

.cx-biu-wrap::before,
.cx-biu-wrap::after {
    content: "";
    position: absolute;
    pointer-events: none;
    opacity: 0.18;
}

.cx-biu-wrap::before {
    width: 820px;
    height: 240px;
    left: -120px;
    top: -34px;
    border-radius: 0 0 260px 260px;
    background: rgba(255, 255, 255, 0.14);
    transform: rotate(-2deg);
}

.cx-biu-wrap::after {
    width: 540px;
    height: 250px;
    right: -110px;
    bottom: -36px;
    border-radius: 260px 260px 0 0;
    background: rgba(255, 255, 255, 0.10);
    transform: rotate(-3deg);
}

/* Imagen izquierda */
.cx-biu-figure {
    position: absolute;
    left: 34px;
    top: 24px;
    width: 100%;
    max-width: 415px;
    z-index: 2;
}

.cx-biu-figure img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 24px;
}

/* Tarjeta blanca */
.cx-biu-card {
    position: absolute;
    top: 24px;
    right: 34px;
    width: calc(100% - 520px);
    min-height: 382px;
    background: #f5f5f5;
    border-radius: 28px;
    padding: 20px 38px 26px;
    z-index: 3;
    box-shadow: 0 10px 24px rgba(73, 38, 6, 0.08);
}

.cx-biu-header {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 18px;
}

.cx-biu-logo-box {
    width: 118px;
    flex: 0 0 118px;
}

.cx-biu-logo-box img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

.cx-biu-card h2 {
    margin: 0;
    color: #121b77;
    font-size: 1.55rem;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.cx-biu-card p {
    margin: 0 0 18px;
    color: #444444;
    font-size: 0.96rem;
    line-height: 1.6;
    font-weight: 400;
}

.cx-biu-card p strong {
    font-weight: 800;
    color: #353535;
}

.cx-biu-actions {
    display: flex;
    justify-content: center;
    margin-top: 24px;
}

.cx-biu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 290px;
    min-height: 48px;
    padding: 0 28px;
    border-radius: 999px;
    background: linear-gradient(180deg, #031a4a 0%, #021437 100%);
    color: #ffffff;
    text-decoration: none;
    font-size: 0.98rem;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(2, 20, 55, 0.22);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cx-biu-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(2, 20, 55, 0.28);
}

/* =========================================================
   LAPTOP
========================================================= */
@media (max-width: 1280px) {
    .cx-biu-wrap {
        min-height: 450px;
    }

    .cx-biu-figure {
        left: 24px;
        max-width: 390px;
    }

    .cx-biu-card {
        right: 24px;
        width: calc(100% - 470px);
        min-height: 365px;
        padding: 18px 28px 22px;
    }

    .cx-biu-header {
        gap: 14px;
        margin-bottom: 16px;
    }

    .cx-biu-logo-box {
        width: 105px;
        flex-basis: 105px;
    }

    .cx-biu-card h2 {
        font-size: 1.42rem;
    }

    .cx-biu-card p {
        font-size: 0.92rem;
        line-height: 1.54;
        margin-bottom: 14px;
    }
}

/* =========================================================
   TABLET
========================================================= */
@media (max-width: 992px) {
    .cx-biu-section {
        padding: 18px 18px 38px;
    }

    .cx-biu-wrap {
        min-height: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 24px 18px 24px;
        border-radius: 24px;
    }

    .cx-biu-figure {
        position: relative;
        left: auto;
        top: auto;
        width: min(100%, 360px);
        max-width: 360px;
        margin-bottom: 16px;
    }

    .cx-biu-card {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        min-height: auto;
        padding: 22px 18px 22px;
        border-radius: 24px;
    }

    .cx-biu-header {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }

    .cx-biu-logo-box {
        width: 108px;
        flex-basis: auto;
    }

    .cx-biu-card h2 {
        font-size: 1.34rem;
    }

    .cx-biu-card p {
        font-size: 0.92rem;
        line-height: 1.56;
    }

    .cx-biu-actions {
        margin-top: 20px;
    }
}

/* =========================================================
   MÓVIL
========================================================= */
@media (max-width: 768px) {
    .cx-biu-section {
        padding: 16px 16px 34px;
    }

    .cx-biu-wrap {
        padding: 18px 14px 20px;
        border-radius: 20px;
    }

    .cx-biu-figure {
        width: min(100%, 290px);
        margin-bottom: 12px;
    }

    .cx-biu-card {
        padding: 18px 14px 18px;
        border-radius: 20px;
    }

    .cx-biu-logo-box {
        width: 96px;
    }

    .cx-biu-card h2 {
        font-size: 1.18rem;
    }

    .cx-biu-card p {
        font-size: 0.88rem;
        line-height: 1.52;
        margin-bottom: 14px;
    }

    .cx-biu-btn {
        min-width: 235px;
        min-height: 44px;
        font-size: 0.9rem;
        padding: 0 20px;
    }
}

/* =========================================================
   SECCIÓN 15 - METODOLOGÍA EDUCATIVA DE BIU
========================================================= */
.cx-biu-metodologia-section {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 88%, rgba(0, 153, 255, 0.14) 0%, rgba(0, 153, 255, 0) 28%),
        linear-gradient(180deg, #02122e 0%, #042a61 52%, #02122e 100%);
    padding: 26px 20px 40px;
}

.cx-biu-metodologia-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}

/* Heading */
.cx-biu-metodologia-heading {
    text-align: center;
    margin-bottom: 26px;
}

.cx-biu-metodologia-heading h3 {
    margin: 0 0 6px;
    color: #10c5ff;
    font-size: 1.06rem;
    line-height: 1.2;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: -0.01em;
}

.cx-biu-metodologia-heading h2 {
    margin: 0;
    color: #ffffff;
    font-size: 1.1rem;
    line-height: 1.3;
    font-weight: 500;
}

.cx-biu-metodologia-line {
    display: block;
    width: 128px;
    height: 4px;
    border-radius: 999px;
    background: #12c8ff;
    margin: 12px auto 0;
}

/* Layout */
.cx-biu-metodologia-layout {
    display: grid;
    grid-template-columns: 500px 1fr;
    gap: 40px;
    align-items: start;
}

/* Promo izquierda */
.cx-biu-metodologia-promo img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* Bloque derecho */
.cx-biu-metodologia-info {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.cx-biu-program-box {
    position: relative;
    background: #dfe5eb;
    border-radius: 24px;
    padding: 22px 26px 22px 26px;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);
    overflow: hidden;
}

.cx-biu-program-box-content {
    position: relative;
    z-index: 2;
}

.cx-biu-program-box h4 {
    margin: 0 0 14px;
    color: #121b77;
    font-size: 1.25rem;
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.cx-biu-program-box ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
}

.cx-biu-program-box li {
    color: #4b4b4b;
    font-size: 0.96rem;
    line-height: 1.42;
    font-weight: 500;
}

.cx-biu-program-box li strong {
    color: #121b77;
    font-weight: 800;
}

/* Acento lateral */
.cx-biu-program-box-accent {
    position: absolute;
    top: 0;
    right: 18px;
    width: 36px;
    height: 100%;
    z-index: 1;
}

.cx-biu-program-box-accent::before,
.cx-biu-program-box-accent::after {
    content: "";
    position: absolute;
    top: 0;
    height: 100%;
    border-radius: 0;
}

.cx-biu-program-box-accent::before {
    right: 10px;
    width: 14px;
}

.cx-biu-program-box-accent::after {
    right: 0;
    width: 5px;
}

.accent-orange::before,
.accent-orange::after {
    background: #f08c08;
}

.accent-cyan::before,
.accent-cyan::after {
    background: #12c8ff;
}

/* Botones inferiores */
.cx-biu-metodologia-actions {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    margin-top: 4px;
}

.cx-biu-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 240px;
    min-height: 44px;
    padding: 0 24px;
    border-radius: 999px;
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 700;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cx-biu-action-btn.btn-light {
    background: #ffffff;
    color: #1e1e1e;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.14);
}

.cx-biu-action-btn:hover {
    transform: translateY(-2px);
}

/* =========================================================
   LAPTOP
========================================================= */
@media (max-width: 1280px) {
    .cx-biu-metodologia-layout {
        grid-template-columns: 440px 1fr;
        gap: 28px;
    }

    .cx-biu-program-box {
        padding: 20px 22px 20px 22px;
    }

    .cx-biu-program-box h4 {
        font-size: 1.18rem;
    }

    .cx-biu-program-box li {
        font-size: 0.92rem;
    }

    .cx-biu-action-btn {
        min-width: 220px;
        font-size: 0.9rem;
    }
}

/* =========================================================
   TABLET
========================================================= */
@media (max-width: 992px) {
    .cx-biu-metodologia-section {
        padding: 24px 18px 34px;
    }

    .cx-biu-metodologia-layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .cx-biu-metodologia-promo {
        max-width: 460px;
        margin: 0 auto;
    }

    .cx-biu-metodologia-info {
        gap: 20px;
    }

    .cx-biu-metodologia-actions {
        justify-content: center;
        flex-wrap: wrap;
    }
}

/* =========================================================
   MÓVIL
========================================================= */
@media (max-width: 768px) {
    .cx-biu-metodologia-section {
        padding: 22px 16px 30px;
    }

    .cx-biu-metodologia-heading h3 {
        font-size: 0.95rem;
    }

    .cx-biu-metodologia-heading h2 {
        font-size: 1rem;
    }

    .cx-biu-metodologia-line {
        width: 92px;
        height: 3px;
    }

    .cx-biu-program-box {
        border-radius: 20px;
        padding: 18px 18px 18px 18px;
    }

    .cx-biu-program-box h4 {
        font-size: 1.04rem;
    }

    .cx-biu-program-box li {
        font-size: 0.88rem;
        line-height: 1.4;
    }

    .cx-biu-program-box-accent {
        right: 12px;
        width: 28px;
    }

    .cx-biu-program-box-accent::before {
        width: 12px;
        right: 8px;
    }

    .cx-biu-program-box-accent::after {
        width: 4px;
    }

    .cx-biu-action-btn {
        width: 100%;
        min-width: 0;
        min-height: 42px;
        font-size: 0.88rem;
    }
}

/* =========================================================
   SECCIÓN 16 - TESTIMONIOS
========================================================= */
.cx-testimonios-section {
    background: #f1f1f1;
    padding: 26px 20px 50px;
}

.cx-testimonios-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}

/* Heading */
.cx-testimonios-heading {
    text-align: center;
    margin-bottom: 34px;
}

.cx-testimonios-heading h2 {
    margin: 0;
    color: #0a0f74;
    font-size: 4rem;
    line-height: 0.95;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.cx-testimonios-heading p {
    margin: -4px 0 0;
    color: #2f2f2f;
    font-family: "Caveat", cursive;
    font-size: 3rem;
    line-height: 1;
    font-weight: 700;
}

/* Grid */
.cx-testimonios-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

/* Card */
.cx-testimonio-card {
    position: relative;
    background: #fafafa;
    border-radius: 44px;
    padding: 26px 28px 32px;
    min-height: 350px;
    text-align: center;
    box-shadow: 0 6px 18px rgba(20, 24, 64, 0.04);
    overflow: hidden;
}

.cx-testimonio-quote {
    position: absolute;
    color: #2d8fff;
    font-size: 5rem;
    line-height: 1;
    font-weight: 700;
    opacity: 1;
    font-family: Georgia, serif;
}

.cx-testimonio-quote.quote-top {
    top: -2px;
    left: 8px;
}

.cx-testimonio-quote.quote-bottom {
    right: 10px;
    bottom: -18px;
}

.cx-testimonio-stars {
    color: #f1b60f;
    font-size: 1.2rem;
    letter-spacing: 2px;
    margin-bottom: 8px;
    font-weight: 700;
}

.cx-testimonio-card h3 {
    margin: 0 0 6px;
    color: #2f2f2f;
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 800;
}

.cx-testimonio-card h4 {
    margin: 0 0 14px;
    color: #00a991;
    font-size: 0.8rem;
    line-height: 1.22;
    font-weight: 700;
    min-height: 38px;
}

.cx-testimonio-card p {
    margin: 0;
    color: #2f2f2f;
    font-size: 0.76rem;
    line-height: 1.45;
    font-weight: 500;
}

/* =========================================================
   LAPTOP
========================================================= */
@media (max-width: 1200px) {
    .cx-testimonios-heading h2 {
        font-size: 3.4rem;
    }

    .cx-testimonios-heading p {
        font-size: 2.6rem;
    }

    .cx-testimonio-card {
        padding: 24px 22px 28px;
        min-height: 335px;
    }
}

/* =========================================================
   TABLET
========================================================= */
@media (max-width: 992px) {
    .cx-testimonios-section {
        padding: 24px 18px 40px;
    }

    .cx-testimonios-heading {
        margin-bottom: 26px;
    }

    .cx-testimonios-heading h2 {
        font-size: 3rem;
    }

    .cx-testimonios-heading p {
        font-size: 2.3rem;
    }

    .cx-testimonios-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .cx-testimonio-card {
        min-height: auto;
        border-radius: 30px;
        padding: 24px 20px 28px;
    }

    .cx-testimonio-card p {
        font-size: 0.88rem;
    }
}

/* =========================================================
   MÓVIL
========================================================= */
@media (max-width: 768px) {
    .cx-testimonios-section {
        padding: 22px 16px 34px;
    }

    .cx-testimonios-heading h2 {
        font-size: 2.35rem;
    }

    .cx-testimonios-heading p {
        font-size: 2rem;
        margin-top: -2px;
    }

    .cx-testimonio-card {
        padding: 22px 16px 24px;
        border-radius: 24px;
    }

    .cx-testimonio-quote {
        font-size: 4rem;
    }

    .cx-testimonio-card h3 {
        font-size: 0.96rem;
    }

    .cx-testimonio-card h4 {
        font-size: 0.78rem;
        min-height: auto;
    }

    .cx-testimonio-card p {
        font-size: 0.84rem;
        line-height: 1.5;
    }
}

/* =========================================================
   SECCIÓN 17 - FORMULARIO / INSCRIPCIÓN
========================================================= */
.cx-form-section {
    position: relative;
    overflow: hidden;
    background-image: url("../img/bg-formulario-miami.jpg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    padding: 30px 20px 64px;
}

.cx-form-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(236, 244, 252, 0.74) 0%,
            rgba(225, 236, 248, 0.70) 42%,
            rgba(214, 229, 244, 0.78) 100%
        );
    z-index: 1;
}

.cx-form-container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}

.cx-form-top {
    text-align: center;
    margin-bottom: 28px;
}

.cx-form-logo {
    width: 190px;
    max-width: 100%;
    display: block;
    margin: 0 auto 14px;
}

.cx-form-top h2 {
    margin: 0 0 8px;
    color: #575757;
    font-size: 2.05rem;
    line-height: 1.12;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.cx-form-top p {
    margin: 0;
    color: #5e5e5e;
    font-size: 0.98rem;
    line-height: 1.42;
    font-weight: 500;
}

/* Card */
.cx-form-card {
    background: linear-gradient(180deg, #0f1835 0%, #0b1430 100%);
    border-radius: 30px;
    padding: 30px 34px 36px;
    box-shadow:
        0 18px 34px rgba(10, 20, 50, 0.22),
        0 4px 10px rgba(10, 20, 50, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.cx-form-card-header {
    text-align: center;
    margin-bottom: 22px;
}

.cx-form-card-header h3 {
    margin: 0 0 10px;
    color: #ffffff;
    font-size: 2.15rem;
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.cx-form-card-header p {
    margin: 0;
    color: rgba(255, 255, 255, 0.94);
    font-size: 1rem;
    line-height: 1.45;
    font-weight: 500;
}

/* Form */
.cx-form-grid {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.cx-form-row {
    display: grid;
    gap: 14px;
}

.cx-form-row.two-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cx-form-row.phone-row {
    grid-template-columns: 116px 1fr 1fr;
}

.cx-form-row.special-row {
    grid-template-columns: 160px 1fr;
    align-items: center;
}

.cx-form-grid input,
.cx-form-grid select {
    width: 100%;
    min-height: 54px;
    border: 1px solid rgba(12, 27, 64, 0.08);
    outline: none;
    border-radius: 7px;
    background: #f7f7f7;
    color: #4f4f4f;
    font-size: 0.98rem;
    font-weight: 500;
    padding: 0 18px;
    font-family: inherit;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.45);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.cx-form-grid input:focus,
.cx-form-grid select:focus {
    border-color: #ef8c09;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(239, 140, 9, 0.15);
}

.cx-form-grid input::placeholder {
    color: #7a7a7a;
}

.cx-form-grid select {
    appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, #ef8c09 50%),
        linear-gradient(135deg, #ef8c09 50%, transparent 50%);
    background-position:
        calc(100% - 22px) 23px,
        calc(100% - 12px) 23px;
    background-size: 10px 10px, 10px 10px;
    background-repeat: no-repeat;
    padding-right: 42px;
}

/* Género */
.cx-form-genero {
    display: flex;
    align-items: center;
    gap: 40px;
    color: #ffffff;
    font-size: 0.98rem;
    font-weight: 500;
    padding-left: 8px;
}

.cx-form-genero label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

.cx-form-genero input[type="radio"] {
    width: 16px;
    height: 16px;
    min-height: auto;
    accent-color: #ef8c09;
}

/* Privacidad */
.cx-form-privacy {
    margin-top: -2px;
}

.cx-form-privacy label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 500;
    cursor: pointer;
}

.cx-form-privacy input[type="checkbox"] {
    width: 18px;
    height: 18px;
    min-height: auto;
    accent-color: #ef8c09;
}

/* Botón */
.cx-form-actions {
    margin-top: 12px;
}

.cx-form-actions button {
    width: 100%;
    min-height: 56px;
    border: none;
    border-radius: 999px;
    background: linear-gradient(180deg, #f3910b 0%, #ef8600 100%);
    color: #ffffff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(239, 134, 0, 0.22);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cx-form-actions button:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 26px rgba(239, 134, 0, 0.28);
}

/* =========================================================
   LAPTOP
========================================================= */
@media (max-width: 1200px) {
    .cx-form-card {
        padding: 26px 24px 30px;
    }

    .cx-form-card-header h3 {
        font-size: 1.84rem;
    }
}

/* =========================================================
   TABLET
========================================================= */
@media (max-width: 992px) {
    .cx-form-section {
        padding: 24px 18px 44px;
    }

    .cx-form-top h2 {
        font-size: 1.8rem;
    }

    .cx-form-card {
        border-radius: 24px;
        padding: 24px 20px 28px;
    }

    .cx-form-card-header h3 {
        font-size: 1.6rem;
    }

    .cx-form-row.two-cols,
    .cx-form-row.phone-row,
    .cx-form-row.special-row {
        grid-template-columns: 1fr;
    }

    .cx-form-genero {
        gap: 24px;
        padding-left: 0;
        flex-wrap: wrap;
    }
}

/* =========================================================
   MÓVIL
========================================================= */
@media (max-width: 768px) {
    .cx-form-section {
        padding: 20px 16px 34px;
    }

    .cx-form-logo {
        width: 160px;
        margin-bottom: 10px;
    }

    .cx-form-top h2 {
        font-size: 1.42rem;
    }

    .cx-form-top p {
        font-size: 0.9rem;
    }

    .cx-form-card {
        border-radius: 20px;
        padding: 20px 14px 24px;
    }

    .cx-form-card-header h3 {
        font-size: 1.35rem;
    }

    .cx-form-card-header p {
        font-size: 0.9rem;
    }

    .cx-form-grid input,
    .cx-form-grid select {
        min-height: 48px;
        font-size: 0.92rem;
        padding: 0 14px;
    }

    .cx-form-genero {
        font-size: 0.9rem;
        gap: 18px;
    }

    .cx-form-privacy label {
        font-size: 0.86rem;
        line-height: 1.4;
        align-items: flex-start;
    }

    .cx-form-actions button {
        min-height: 52px;
        font-size: 0.95rem;
    }
}

/* =========================================================
   FOOTER FINAL
========================================================= */
.cx-footer-final {
    background: linear-gradient(180deg, #0e1733 0%, #0a1228 100%);
    color: #ffffff;
    padding: 48px 20px 20px;
}

.cx-footer-final-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}

.cx-footer-final-top {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 30px;
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(255,255,255,0.10);
}

.cx-footer-brand {
    max-width: 360px;
}

.cx-footer-logo {
    width: 165px;
    max-width: 100%;
    display: block;
    margin-bottom: 14px;
}

.cx-footer-brand p {
    margin: 0;
    color: rgba(255,255,255,0.82);
    font-size: 0.92rem;
    line-height: 1.7;
}

.cx-footer-col h4 {
    margin: 0 0 14px;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 800;
}

.cx-footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}

.cx-footer-col a,
.cx-footer-col li {
    color: rgba(255,255,255,0.82);
    text-decoration: none;
    font-size: 0.92rem;
    line-height: 1.6;
    transition: color 0.2s ease;
}

.cx-footer-col a:hover {
    color: #10c5ff;
}

.cx-footer-final-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 18px;
}

.cx-footer-final-bottom p {
    margin: 0;
    color: rgba(255,255,255,0.72);
    font-size: 0.88rem;
}

.cx-footer-social {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.cx-footer-social a {
    color: rgba(255,255,255,0.82);
    text-decoration: none;
    font-size: 0.9rem;
}

.cx-footer-social a:hover {
    color: #10c5ff;
}

/* =========================================================
   RESPONSIVE FOOTER
========================================================= */
@media (max-width: 992px) {
    .cx-footer-final-top {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }

    .cx-footer-final-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 768px) {
    .cx-footer-final {
        padding: 38px 16px 18px;
    }

    .cx-footer-final-top {
        grid-template-columns: 1fr;
    }

    .cx-footer-logo {
        width: 150px;
    }
}

.cx-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


/* =========================================================
   FORMULARIO - PRIVACIDAD Y POPUP
========================================================= */
.cx-form-privacy a,
.privacy-note a {
    color: #f7941d;
    text-decoration: none;
    font-weight: 700;
}

.cx-form-privacy a:hover,
.privacy-note a:hover {
    text-decoration: underline;
}

.privacy-note {
    margin-top: -6px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.84rem;
    line-height: 1.45;
}

.cx-form-popup {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.cx-form-popup.is-open {
    display: flex;
}

.cx-form-popup-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 14, 32, 0.68);
    backdrop-filter: blur(6px);
}

.cx-form-popup-card {
    position: relative;
    width: min(100%, 430px);
    background: #ffffff;
    border-radius: 26px;
    padding: 34px 26px 28px;
    text-align: center;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.24);
    animation: cxPopupIn 0.24s ease both;
}

@keyframes cxPopupIn {
    from { opacity: 0; transform: translateY(14px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.cx-form-popup-close {
    position: absolute;
    top: 12px;
    right: 14px;
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 50%;
    background: #f2f4f8;
    color: #16203b;
    font-size: 1.4rem;
    line-height: 1;
    cursor: pointer;
}

.cx-form-popup-icon {
    width: 62px;
    height: 62px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    font-size: 2rem;
    font-weight: 900;
    color: #ffffff;
    background: #16a34a;
}

.cx-form-popup.is-error .cx-form-popup-icon {
    background: #b91c1c;
}

.cx-form-popup-card h3 {
    margin: 0 0 10px;
    color: #0b1768;
    font-size: 1.6rem;
    font-weight: 900;
}

.cx-form-popup.is-error .cx-form-popup-card h3 {
    color: #b91c1c;
}

.cx-form-popup-card p {
    margin: 0 0 22px;
    color: #30384d;
    font-size: 0.98rem;
    line-height: 1.5;
}

.cx-form-popup-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cx-form-popup-btn {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: none;
    padding: 0 26px;
    text-decoration: none;
    font-weight: 800;
    cursor: pointer;
    background: #f7941d;
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(247, 148, 29, 0.24);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cx-form-popup-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 26px rgba(247, 148, 29, 0.30);
}

/* =========================================================
   PÁGINAS LEGALES
========================================================= */
.cx-legal-page {
    background: #f5f7fb;
    color: #343a46;
}

.cx-legal-header {
    background: #ffffff;
    border-bottom: 1px solid rgba(12, 27, 64, 0.08);
    padding: 18px 20px;
}

.cx-legal-header-inner,
.cx-legal-container {
    width: min(100%, 1120px);
    margin: 0 auto;
}

.cx-legal-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.cx-legal-logo {
    width: 150px;
    height: auto;
    display: block;
}

.cx-legal-back {
    color: #0b1768;
    text-decoration: none;
    font-weight: 800;
}

.cx-legal-hero {
    background: linear-gradient(135deg, #0f1835 0%, #0b1430 100%);
    color: #ffffff;
    padding: 58px 20px;
    text-align: center;
}

.cx-legal-hero h1 {
    margin: 0 0 10px;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.05;
    font-weight: 900;
}

.cx-legal-hero p {
    margin: 0;
    color: rgba(255,255,255,0.78);
}

.cx-legal-content {
    padding: 48px 20px 60px;
}

.cx-legal-card {
    background: #ffffff;
    border-radius: 28px;
    padding: 42px;
    box-shadow: 0 16px 40px rgba(15, 24, 53, 0.08);
}

.cx-legal-card h2 {
    color: #0b1768;
    margin: 28px 0 10px;
    font-size: 1.25rem;
}

.cx-legal-card h2:first-child {
    margin-top: 0;
}

.cx-legal-card p,
.cx-legal-card li {
    font-size: 0.98rem;
    line-height: 1.7;
}

.cx-legal-card a {
    color: #f7941d;
    font-weight: 800;
    text-decoration: none;
}

.cx-legal-card a:hover {
    text-decoration: underline;
}

@media (max-width: 768px) {
    .cx-legal-header-inner {
        flex-direction: column;
        align-items: flex-start;
    }
    .cx-legal-card {
        padding: 28px 20px;
        border-radius: 20px;
    }
}


/* =========================================================
   RESTAURACIÓN UX PRO: PROGRAMAS + CTA FLOTANTE
========================================================= */
.cx-programa-card {
    position: relative;
    overflow: hidden;
    transition: transform 0.34s ease, box-shadow 0.34s ease, filter 0.34s ease;
    will-change: transform;
}

.cx-programa-card::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.18) 44%, transparent 72%);
    transform: translateX(-130%);
    transition: transform 0.7s ease;
    pointer-events: none;
}

.cx-programa-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 36px rgba(19, 27, 119, 0.16);
}

.cx-programa-card:hover::after {
    transform: translateX(130%);
}

.cx-programa-img {
    overflow: hidden;
}

.cx-programa-img img {
    transition: transform 0.55s ease, filter 0.55s ease;
    will-change: transform;
}

.cx-programa-card:hover .cx-programa-img img {
    transform: scale(1.065);
    filter: brightness(1.06) saturate(1.05);
}

.cx-programa-btn {
    transition: transform 0.28s ease, box-shadow 0.28s ease, background 0.28s ease;
}

.cx-programa-card:hover .cx-programa-btn {
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.14);
}

.cx-sticky-cta {
    position: fixed;
    right: 18px;
    bottom: 92px;
    z-index: 9998;
}

.cx-sticky-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 230px;
    min-height: 52px;
    padding: 0 22px;
    border-radius: 999px;
    text-decoration: none;
    background: linear-gradient(180deg, #f3910b 0%, #ef8600 100%);
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 800;
    box-shadow: 0 14px 28px rgba(239, 134, 0, 0.28);
    transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.cx-sticky-cta-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 34px rgba(239, 134, 0, 0.34);
}

@media (max-width: 768px) {
    .cx-sticky-cta {
        left: 16px;
        right: 16px;
        bottom: 82px;
    }

    .cx-sticky-cta-btn {
        width: 100%;
        min-width: 0;
        min-height: 50px;
        font-size: 0.9rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cx-programa-card,
    .cx-programa-img img,
    .cx-programa-card::after,
    .cx-sticky-cta-btn {
        transition: none !important;
    }

    .cx-programa-card:hover,
    .cx-programa-card:hover .cx-programa-img img,
    .cx-sticky-cta-btn:hover {
        transform: none !important;
    }
}
