/* ========================================================================== 
   ONIRIC MODULES — SISTEMA REUTILIZABLE DE SECCIONES
   --------------------------------------------------------------------------
   Depende de oniric-common.css.
   No redefine tokens, botones ni .oniric-page-frame.
   ========================================================================== */

:root {
    --oniric-module-bg: #050505;
    --oniric-module-bg-soft: #0a0f13;
    --oniric-module-text: var(--oniric-white, #F1F1EE);
    --oniric-module-muted: rgba(241, 241, 238, 0.60);
    --oniric-module-line: rgba(255, 255, 255, 0.16);
    --oniric-module-card-bg: linear-gradient(
        145deg,
        rgba(255, 255, 255, 0.085),
        rgba(255, 255, 255, 0.035)
    );

    --oniric-module-radius: 1.75rem;
    --oniric-module-gap: var(--oniric-grid-gap, 2.46%);
    --oniric-module-section-y: var(--oniric-section-padding-y, clamp(5rem, 6.25vw, 7.5rem));
}

.oniric-template-page {
    position: relative;
    width: 100%;
    overflow: clip;
    background: var(--oniric-module-bg);
    color: var(--oniric-module-text);
}

.oniric-module-main {
    position: relative;
    z-index: 2;
    background: var(--oniric-module-bg);
}

/* ========================================================================== 
   GENERALES
   ========================================================================== */

.oniric-module-section {
    position: relative;
    padding-block: var(--oniric-module-section-y);
    background: var(--oniric-module-bg);
}

.oniric-module-section--soft {
    background: var(--oniric-module-bg-soft);
}

.oniric-module-section--performance {
    background:
        radial-gradient(circle at 88% 10%, rgba(225, 82, 62, 0.16), transparent 34%),
        radial-gradient(circle at 6% 88%, rgba(130, 93, 199, 0.14), transparent 32%),
        #050505;
}

.oniric-module-kicker {
    margin: 0;
    color: var(--oniric-module-muted);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.16rem;
    text-transform: uppercase;
}

.oniric-module-copy {
    max-width: 42rem;
    margin: 0;
    color: rgba(241, 241, 238, 0.82);
    font-size: clamp(1rem, 1.2vw, 1.25rem);
    line-height: 1.65;
}

.oniric-module-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.oniric-module-section-header {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--oniric-module-gap);
    margin-bottom: clamp(3rem, 5vw, 5.5rem);
}

.oniric-module-section-header .oniric-module-kicker {
    grid-column: 1 / -1;
}

.oniric-module-section-header .oniric-section-heading {
    grid-column: 1 / span 8;
}

/* ========================================================================== 
   1. HERO
   ========================================================================== */

.oniric-home-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    width: 100%;
    min-height: 54.0625rem;

    display: flex;
    align-items: stretch;
    justify-content: center;

    padding: 0;
    margin: 0;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.oniric-home-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;

    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.10) 0%, rgba(0, 0, 0, 0.05) 100%),
        linear-gradient(90deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.25) 100%);
}

.oniric-home-hero-frame {
    position: relative;
    z-index: 2;

    display: flex;
    justify-content: center;
	    padding-bottom: 10rem;

}

.oniric-hero-content-wrapper {
    position: relative;
    z-index: 2;

    width: 100%;
    min-height: 53 rem;

    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: center;

    padding-block: 0 5rem;
    gap: clamp(4rem, 5vw, 5rem);

    text-align: center;
}

.oniric-hero-text-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;

    transform: translateY(8.5rem);
}

.oniric-hero-title {
    max-width: 100%;
    margin: 0;

    color: #ffffff;
    font-family: var(--bs-body-font-family);
    font-size: clamp(3rem, 5vw, 4rem);
    font-weight: 300;
    line-height: 1.1;
    letter-spacing: -0.02em;
    text-wrap: balance;
}

.oniric-hero-subtitle {
    margin: 0;

    color: #ffffff;
    font-family: var(--bs-body-font-family);
    font-size: clamp(1.125rem, 2vw, 1.5rem);
    font-weight: 300;
    line-height: 1.25;
    text-wrap: balance;
}

.oniric-hero-kicker {
    margin: 0;

    color: #ffffff;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.21em;
    text-transform: uppercase;
    white-space: nowrap;
}

.oniric-hero-button-block {
    display: flex;
    justify-content: center;
    transform: translateY(7rem);
}

/* ==========================================================================
   HERO → SIGUIENTE SECCIÓN
   Evita el corte brusco con el contenido que tapa el background fijo.
   ========================================================================== */

.oniric-module-section--hero-transition::before {
    content: '';

    position: absolute;
    z-index: 0;

    left: 0;
    right: 0;
    top: -6rem;

    height: 6rem;

    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            rgba(5, 5, 5, 0) 0%,
            rgba(5, 5, 5, 0.42) 38%,
            #050505 100%
        );
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 991.98px) {

    .oniric-module-hero {
        /*
         * background-attachment fixed presenta comportamientos irregulares
         * en algunos navegadores móviles/tablet.
         */
        background-attachment: scroll;

        background-position: center center;
    }

    .oniric-module-hero__frame {
        padding-top: 9rem;
        padding-bottom: 5rem;
    }

    .oniric-module-hero__content {
        max-width: 48rem;
    }

    .oniric-module-hero__title {
        max-width: 16ch;
    }
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 767.98px) {

    .oniric-module-hero {
        min-height: 100svh;

        background-position: 58% center;
    }

    .oniric-module-hero__frame {
        min-height: 100svh;

        padding-top: 8rem;
        padding-bottom: clamp(
            3.5rem,
            8vh,
            5rem
        );
    }

    .oniric-module-hero__kicker {
        margin-bottom: 1rem;

        font-size: 0.7rem;

        letter-spacing: 0.18em;
    }

    .oniric-module-hero__title {
        max-width: 12ch;

        font-size: clamp(
            2.5rem,
            10vw,
            4rem
        );

        line-height: 1.05;
    }

    .oniric-module-hero__lead {
        max-width: 32rem;

        margin-top: 1.25rem;

        font-size: 1rem;
    }

    .oniric-module-hero__actions {
        margin-top: 2.5rem;
    }
}


/* ==========================================================================
   MOBILE PEQUEÑO
   ========================================================================== */

@media (max-width: 575.98px) {

    .oniric-module-hero__frame {
        padding-bottom: 3rem;
    }

    .oniric-module-hero__title {
        font-size: clamp(
            2.15rem,
            10.5vw,
            3.25rem
        );
    }

    .oniric-module-hero__lead {
        max-width: 26rem;

        font-size: 0.95rem;
        line-height: 1.5;
    }
}

/* ==========================================================================
   ONIRIC MODULE — CENTERED TEXT SECTION

   Figma:
   - Background: #000000
   - Padding vertical: 120px
   - Padding horizontal: gestionado por .oniric-page-frame
   - Gap título/descripción: 100px
   - Kicker / título: 39px
   - Contenido centrado
   ========================================================================== */

.oniric-module-centered-text {
    position: relative;

    width: 100%;

    padding-block: 7.5rem; /* 120px */

    background: #000000;

    color: #ffffff;

    overflow: hidden;
}


/* --------------------------------------------------------------------------
   CONTAINER
   -------------------------------------------------------------------------- */

.oniric-module-centered-text__container {
    width: 100%;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    gap: 6.25rem; /* 100px */

    text-align: center;
}


/* --------------------------------------------------------------------------
   HEADING GROUP
   -------------------------------------------------------------------------- */

.oniric-module-centered-text__heading {
    width: 100%;

    display: flex;
    flex-direction: column;

    align-items: center;

    gap: 2.4375rem; /* 39px */
}


/* --------------------------------------------------------------------------
   EYEBROW
   -------------------------------------------------------------------------- */

.oniric-module-centered-text__eyebrow {
    margin: 0;

    color: rgba(255, 255, 255, 0.60);

    font-family:
        'Plus Jakarta Sans',
        Arial,
        sans-serif;

    font-size: 0.8rem; /* 12.8px */

    font-weight: 700;

    line-height: 1.4;

    letter-spacing: 0.16rem; /* 2.56px */

    text-transform: uppercase;

    text-align: center;
}


/* --------------------------------------------------------------------------
   TITLE
   -------------------------------------------------------------------------- */

.oniric-module-centered-text__title {
    width: 100%;

    max-width: 78rem;

    margin: 0 auto;

    color: #ffffff;

    font-family:
        'Plus Jakarta Sans',
        Arial,
        sans-serif;

    font-size: clamp(
        2.75rem,
        3.25vw,
        3.375rem
    ); /* max 54px */

    font-weight: 400;

    line-height: 1.1575;

    letter-spacing: -0.025em;

    text-align: center;

    text-wrap: balance;
}


/* --------------------------------------------------------------------------
   DESCRIPTION
   -------------------------------------------------------------------------- */

.oniric-module-centered-text__body {
    width: 100%;

    display: flex;

    justify-content: center;
}


.oniric-module-centered-text__description {
    width: 100%;

    max-width: 90rem;

    margin: 0 auto;

    color: #ffffff;

    font-family:
        'Plus Jakarta Sans',
        Arial,
        sans-serif;

    font-size: clamp(
        1.25rem,
        1.5vw,
        1.5rem
    ); /* max 24px */

    font-weight: 400;

    line-height: 1.35;

    letter-spacing: -0.025em;

    text-align: center;

    text-wrap: pretty;
}


/* ==========================================================================
   XL
   ========================================================================== */

@media (max-width: 1399.98px) {

    .oniric-module-centered-text {
        padding-block: 7rem;
    }

    .oniric-module-centered-text__container {
        gap: 5.5rem;
    }

    .oniric-module-centered-text__title {
        max-width: 68rem;
    }

    .oniric-module-centered-text__description {
        max-width: 76rem;
    }
}


/* ==========================================================================
   LG
   ========================================================================== */

@media (max-width: 1199.98px) {

    .oniric-module-centered-text {
        padding-block: 6rem;
    }

    .oniric-module-centered-text__container {
        gap: 4.5rem;
    }

    .oniric-module-centered-text__heading {
        gap: 2rem;
    }
}


/* ==========================================================================
   MD
   ========================================================================== */

@media (max-width: 991.98px) {

    .oniric-module-centered-text {
        padding-block: 5rem;
    }

    .oniric-module-centered-text__container {
        gap: 3.75rem;
    }

    .oniric-module-centered-text__title {
        max-width: 46rem;

        font-size: clamp(
            2.3rem,
            5vw,
            3rem
        );
    }

    .oniric-module-centered-text__description {
        max-width: 48rem;

        font-size: 1.25rem;
    }
}


/* ==========================================================================
   SM
   ========================================================================== */

@media (max-width: 767.98px) {

    .oniric-module-centered-text {
        padding-block: 4.5rem;
    }

    .oniric-module-centered-text__container {
        gap: 3rem;
    }

    .oniric-module-centered-text__heading {
        gap: 1.5rem;
    }

    .oniric-module-centered-text__eyebrow {
        font-size: 0.7rem;

        letter-spacing: 0.14rem;
    }

    .oniric-module-centered-text__title {
        max-width: 32rem;

        font-size: clamp(
            2rem,
            8vw,
            2.5rem
        );

        line-height: 1.18;
    }

    .oniric-module-centered-text__description {
        max-width: 35rem;

        font-size: 1.125rem;

        line-height: 1.45;
    }
}


/* ==========================================================================
   XS
   ========================================================================== */

@media (max-width: 575.98px) {

    .oniric-module-centered-text {
        padding-block: 4rem;
    }

    .oniric-module-centered-text__container {
        gap: 2.5rem;
    }

    .oniric-module-centered-text__heading {
        gap: 1.25rem;
    }

    .oniric-module-centered-text__title {
        font-size: clamp(
            1.85rem,
            9vw,
            2.35rem
        );
    }

    .oniric-module-centered-text__description {
        font-size: 1rem;

        line-height: 1.5;
    }
}

/* ==========================================================================
   ONIRIC MODULE — JUSTIFIED TEXT SECTION

   Figma:
   - Fondo: #000000
   - Padding vertical: 120px
   - Padding horizontal: gestionado mediante .oniric-page-frame
   - Gap entre items: 180px
   - Gap titular / descripción: 100px
   - Descripción desplazada 256px
   - Título: 54px
   - Body: 24px
   ========================================================================== */

.oniric-module-justified-text {
    position: relative;

    width: 100%;

    padding-block: 7.5rem; /* 120px */

    background: #000000;
    color: #ffffff;

    overflow: hidden;
}


/* ==========================================================================
   LIST
   ========================================================================== */

.oniric-module-justified-text__list {
    width: 100%;

    display: flex;
    flex-direction: column;

    gap: 11.25rem; /* 180px */
}


/* ==========================================================================
   ITEM
   Cada item equivale al componente "Container" del Figma
   ========================================================================== */

.oniric-module-justified-text__item {
    width: 100%;

    display: flex;
    flex-direction: column;

    gap: 6.25rem; /* 100px */
}


/* ==========================================================================
   HEADING
   ========================================================================== */

.oniric-module-justified-text__heading {
    width: 100%;

    display: flex;
    flex-direction: column;

    align-items: flex-start;

    gap: 2.4375rem; /* 39px */
}


/* ==========================================================================
   EYEBROW
   ========================================================================== */

.oniric-module-justified-text__eyebrow {
    margin: 0;

    color: rgba(255, 255, 255, 0.60);

    font-family:
        'Plus Jakarta Sans',
        Arial,
        sans-serif;

    font-size: 0.8rem; /* 12.8px */

    font-weight: 700;

    line-height: 1.4;

    letter-spacing: 0.16rem; /* 2.56px */

    text-transform: uppercase;
}


/* ==========================================================================
   TITLE
   ========================================================================== */

.oniric-module-justified-text__title {
    width: 100%;
    max-width: 66rem;

    margin: 0;

    color: #ffffff;

    font-family:
        'Plus Jakarta Sans',
        Arial,
        sans-serif;

    font-size: clamp(
        2.75rem,
        3.25vw,
        3.375rem
    ); /* 54px */

    font-weight: 400;

    line-height: 1.1575;

    letter-spacing: -0.025em;

    text-align: left;

    text-wrap: balance;
}


/* ==========================================================================
   BODY
   Figma: padding-left 256px
   ========================================================================== */

.oniric-module-justified-text__body {
    width: 100%;

    padding-left: 16rem; /* 256px */

    display: flex;
    justify-content: flex-start;
}


/* ==========================================================================
   DESCRIPTION
   ========================================================================== */

.oniric-module-justified-text__description {
    width: 100%;
    max-width: 70rem;

    margin: 0;

    color: #ffffff;

    font-family:
        'Plus Jakarta Sans',
        Arial,
        sans-serif;

    font-size: clamp(
        1.25rem,
        1.5vw,
        1.5rem
    ); /* 24px */

    font-weight: 400;

    line-height: 1.35;

    letter-spacing: -0.02em;

    text-align: left;

    text-wrap: pretty;
}


/* ==========================================================================
   XL
   ========================================================================== */

@media (max-width: 1399.98px) {

    .oniric-module-justified-text {
        padding-block: 7rem;
    }

    .oniric-module-justified-text__list {
        gap: 9rem;
    }

    .oniric-module-justified-text__item {
        gap: 5.5rem;
    }

    .oniric-module-justified-text__body {
        padding-left: 12rem;
    }

    .oniric-module-justified-text__title {
        max-width: 62rem;
    }

    .oniric-module-justified-text__description {
        max-width: 64rem;
    }
}


/* ==========================================================================
   LG
   ========================================================================== */

@media (max-width: 1199.98px) {

    .oniric-module-justified-text {
        padding-block: 6rem;
    }

    .oniric-module-justified-text__list {
        gap: 8rem;
    }

    .oniric-module-justified-text__item {
        gap: 4.5rem;
    }

    .oniric-module-justified-text__heading {
        gap: 2rem;
    }

    .oniric-module-justified-text__body {
        padding-left: 8rem;
    }
}


/* ==========================================================================
   MD
   ========================================================================== */

@media (max-width: 991.98px) {

    .oniric-module-justified-text {
        padding-block: 5rem;
    }

    .oniric-module-justified-text__list {
        gap: 6.5rem;
    }

    .oniric-module-justified-text__item {
        gap: 3.5rem;
    }

    .oniric-module-justified-text__body {
        padding-left: 4rem;
    }

    .oniric-module-justified-text__title {
        max-width: 50rem;

        font-size: clamp(
            2.3rem,
            5vw,
            3rem
        );
    }

    .oniric-module-justified-text__description {
        max-width: 48rem;

        font-size: 1.25rem;
    }
}


/* ==========================================================================
   SM
   En móvil desaparece el offset de 256px.
   ========================================================================== */

@media (max-width: 767.98px) {

    .oniric-module-justified-text {
        padding-block: 4.5rem;
    }

    .oniric-module-justified-text__list {
        gap: 5.5rem;
    }

    .oniric-module-justified-text__item {
        gap: 2.5rem;
    }

    .oniric-module-justified-text__heading {
        gap: 1.5rem;
    }

    .oniric-module-justified-text__body {
        padding-left: 0;
    }

    .oniric-module-justified-text__eyebrow {
        font-size: 0.7rem;

        letter-spacing: 0.14rem;
    }

    .oniric-module-justified-text__title {
        max-width: 100%;

        font-size: clamp(
            2rem,
            8vw,
            2.5rem
        );

        line-height: 1.18;
    }

    .oniric-module-justified-text__description {
        max-width: 100%;

        font-size: 1.125rem;

        line-height: 1.45;
    }
}


/* ==========================================================================
   XS
   ========================================================================== */

@media (max-width: 575.98px) {

    .oniric-module-justified-text {
        padding-block: 4rem;
    }

    .oniric-module-justified-text__list {
        gap: 4.5rem;
    }

    .oniric-module-justified-text__item {
        gap: 2rem;
    }

    .oniric-module-justified-text__heading {
        gap: 1.25rem;
    }

    .oniric-module-justified-text__title {
        font-size: clamp(
            1.85rem,
            9vw,
            2.35rem
        );
    }

    .oniric-module-justified-text__description {
        font-size: 1rem;

        line-height: 1.5;
    }
}

/* ==========================================================================
   ONIRIC MODULE — SINGLE CARD SECTION

   Figma:
   - Background: #000000
   - Padding vertical: 120px
   - Cabecera centrada
   - Gap cabecera / card: 100px
   - Card padding: 60px
   - Card radius: 25px
   - Card blur: 6.8px
   ========================================================================== */

.oniric-module-single-card {
    position: relative;

    width: 100%;

    padding-block: 7.5rem; /* 120px */

    background: #000000;
    color: #ffffff;

    overflow: hidden;
}


/* ==========================================================================
   CONTAINER
   ========================================================================== */

.oniric-module-single-card__container {
    width: 100%;

    display: flex;
    flex-direction: column;

    align-items: center;

    gap: 6.25rem; /* 100px */
}


/* ==========================================================================
   HEADER
   ========================================================================== */

.oniric-module-single-card__header {
    width: 100%;

    display: flex;
    flex-direction: column;

    align-items: center;

    gap: 6.25rem; /* 100px */

    text-align: center;
}


.oniric-module-single-card__heading {
    width: 100%;

    display: flex;
    flex-direction: column;

    align-items: center;

    gap: 2.4375rem; /* 39px */
}


/* ==========================================================================
   EYEBROW
   ========================================================================== */

.oniric-module-single-card__eyebrow {
    margin: 0;

    color: rgba(255, 255, 255, 0.60);

    font-family:
        'Plus Jakarta Sans',
        Arial,
        sans-serif;

    font-size: 0.8rem;

    font-weight: 700;

    line-height: 1.4;

    letter-spacing: 0.16rem;

    text-transform: uppercase;

    text-align: center;
}


/* ==========================================================================
   TITLE
   ========================================================================== */

.oniric-module-single-card__title {
    width: 100%;
    max-width: 78rem;

    margin: 0 auto;

    color: #ffffff;

    font-family:
        'Plus Jakarta Sans',
        Arial,
        sans-serif;

    font-size: clamp(
        2.75rem,
        3.25vw,
        3.375rem
    );

    font-weight: 400;

    line-height: 1.1575;

    letter-spacing: -0.025em;

    text-align: center;

    text-wrap: balance;
}


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

.oniric-module-single-card__intro {
    width: 100%;

    display: flex;
    justify-content: center;
}


.oniric-module-single-card__intro p {
    width: 100%;
    max-width: 90rem;

    margin: 0;

    color: #ffffff;

    font-family:
        'Plus Jakarta Sans',
        Arial,
        sans-serif;

    font-size: clamp(
        1.25rem,
        1.5vw,
        1.5rem
    );

    font-weight: 400;

    line-height: 1.35;

    letter-spacing: -0.025em;

    text-align: center;

    text-wrap: pretty;
}


/* ==========================================================================
   CARD
   ========================================================================== */

.oniric-module-single-card__card {
    position: relative;
    isolation: isolate;

    width: 100%;

    min-height: 31rem;

    padding: 3.75rem; /* 60px */

    display: flex;
    flex-direction: column;

    justify-content: space-between;

    gap: 2.5rem; /* 40px */

    border-radius: 1.5625rem; /* 25px */

    border: 1px solid transparent;

    /*
     * Stroke de Figma:
     * #FFFFFF99 -> #6666661A
     */
    background:
        linear-gradient(
            rgba(0, 0, 0, 0.40),
            rgba(0, 0, 0, 0.40)
        ) padding-box,

        linear-gradient(
            99deg,
            rgba(255, 255, 255, 0.60) 0%,
            rgba(102, 102, 102, 0.10) 100%
        ) border-box;

    -webkit-backdrop-filter: blur(6.8px);
    backdrop-filter: blur(6.8px);

    box-shadow:
        0 4px 25px rgba(255, 255, 255, 0.25);

    overflow: hidden;
}


/*
 * Luz interior muy sutil para dar profundidad al cristal
 */
.oniric-module-single-card__card::before {
    content: '';

    position: absolute;
    inset: 0;

    z-index: -1;

    pointer-events: none;

    border-radius: inherit;

    background:
        radial-gradient(
            circle at 10% 0%,
            rgba(255, 255, 255, 0.055) 0%,
            rgba(255, 255, 255, 0.015) 30%,
            rgba(255, 255, 255, 0) 62%
        );
}


/* ==========================================================================
   CARD CONTENT
   ========================================================================== */

.oniric-module-single-card__card-content {
    width: 100%;

    display: flex;
    flex-direction: column;

    gap: clamp(
        3rem,
        7vh,
        5.75rem
    );
}


/* ==========================================================================
   CARD TITLE
   ========================================================================== */

.oniric-module-single-card__card-title {
    width: 100%;

    margin: 0;

    color: #ffffff;

    font-family:
        'Plus Jakarta Sans',
        Arial,
        sans-serif;

    font-size: clamp(
        1.75rem,
        2.2vw,
        2.25rem
    ); /* 36px */

    font-weight: 400;

    /*
     * En el JSON aparece 28px para 36px,
     * pero visualmente resulta excesivamente cerrado.
     * Lo dejamos cercano al diseño pero usable.
     */
    line-height: 1.08;

    letter-spacing: -0.03em;

    text-align: left;
}


/* ==========================================================================
   CARD DESCRIPTION
   ========================================================================== */

.oniric-module-single-card__card-description {
    width: 100%;
    max-width: 76rem;

    margin: 0;

    color: #ffffff;

    font-family:
        'Plus Jakarta Sans',
        Arial,
        sans-serif;

    font-size: clamp(
        1rem,
        1.25vw,
        1.25rem
    ); /* 20px */

    font-weight: 400;

    line-height: 1.4;

    letter-spacing: -0.015em;

    text-align: left;

    text-wrap: pretty;
}


/* ==========================================================================
   ACTIONS
   ========================================================================== */

.oniric-module-single-card__actions {
    width: 100%;

    display: flex;

    justify-content: flex-start;
    align-items: center;
}


/* ==========================================================================
   XL
   ========================================================================== */

@media (max-width: 1399.98px) {

    .oniric-module-single-card {
        padding-block: 7rem;
    }

    .oniric-module-single-card__container,
    .oniric-module-single-card__header {
        gap: 5.5rem;
    }

    .oniric-module-single-card__card {
        min-height: 29rem;

        padding: 3.5rem;
    }
}


/* ==========================================================================
   LG
   ========================================================================== */

@media (max-width: 1199.98px) {

    .oniric-module-single-card {
        padding-block: 6rem;
    }

    .oniric-module-single-card__container,
    .oniric-module-single-card__header {
        gap: 4.5rem;
    }

    .oniric-module-single-card__heading {
        gap: 2rem;
    }

    .oniric-module-single-card__card {
        min-height: 27rem;

        padding: 3rem;
    }
}


/* ==========================================================================
   MD
   ========================================================================== */

@media (max-width: 991.98px) {

    .oniric-module-single-card {
        padding-block: 5rem;
    }

    .oniric-module-single-card__container {
        gap: 4rem;
    }

    .oniric-module-single-card__header {
        gap: 3.75rem;
    }

    .oniric-module-single-card__title {
        max-width: 48rem;

        font-size: clamp(
            2.3rem,
            5vw,
            3rem
        );
    }

    .oniric-module-single-card__intro p {
        max-width: 48rem;

        font-size: 1.25rem;
    }

    .oniric-module-single-card__card {
        min-height: auto;

        padding: 2.5rem;
    }

    .oniric-module-single-card__card-content {
        gap: 3rem;
    }
}


/* ==========================================================================
   SM
   ========================================================================== */

@media (max-width: 767.98px) {

    .oniric-module-single-card {
        padding-block: 4.5rem;
    }

    .oniric-module-single-card__container {
        gap: 3.5rem;
    }

    .oniric-module-single-card__header {
        gap: 3rem;
    }

    .oniric-module-single-card__heading {
        gap: 1.5rem;
    }

    .oniric-module-single-card__eyebrow {
        font-size: 0.7rem;

        letter-spacing: 0.14rem;
    }

    .oniric-module-single-card__title {
        font-size: clamp(
            2rem,
            8vw,
            2.5rem
        );

        line-height: 1.18;
    }

    .oniric-module-single-card__intro p {
        font-size: 1.125rem;

        line-height: 1.45;
    }

    .oniric-module-single-card__card {
        padding: 2rem;

        border-radius: 1.375rem;
    }

    .oniric-module-single-card__card-title {
        font-size: 1.75rem;
    }

    .oniric-module-single-card__card-description {
        font-size: 1rem;

        line-height: 1.5;
    }
}


/* ==========================================================================
   XS
   ========================================================================== */

@media (max-width: 575.98px) {

    .oniric-module-single-card {
        padding-block: 4rem;
    }

    .oniric-module-single-card__container {
        gap: 3rem;
    }

    .oniric-module-single-card__header {
        gap: 2.5rem;
    }

    .oniric-module-single-card__heading {
        gap: 1.25rem;
    }

    .oniric-module-single-card__title {
        font-size: clamp(
            1.85rem,
            9vw,
            2.35rem
        );
    }

    .oniric-module-single-card__intro p {
        font-size: 1rem;

        line-height: 1.5;
    }

    .oniric-module-single-card__card {
        padding: 1.75rem;
    }

    .oniric-module-single-card__card-content {
        gap: 2.5rem;
    }

    .oniric-module-single-card__actions {
        width: 100%;
    }
}

/* ==========================================================================
   ONIRIC MODULE — DOUBLE CARDS

   Figma:
   - Fondo sección: #000
   - Padding vertical: 120px
   - Header -> cards: 100px
   - Cards: 2 columnas
   - Gap cards: 40px
   - Padding card: 60px
   - Radius: 25px
   - Background blur: 6.8px
   ========================================================================== */

.oniric-module-double-cards {
    position: relative;

    width: 100%;

    padding-block: 7.5rem; /* 120px */

    background: #000000;
    color: #ffffff;

    overflow: hidden;
}


/* ==========================================================================
   CONTAINER
   ========================================================================== */

.oniric-module-double-cards__container {
    width: 100%;

    display: flex;
    flex-direction: column;

    gap: 6.25rem; /* 100px */
}


/* ==========================================================================
   HEADER
   ========================================================================== */

.oniric-module-double-cards__header {
    width: 100%;

    display: flex;
    flex-direction: column;

    align-items: center;

    gap: 2.4375rem; /* 39px */

    text-align: center;
}


.oniric-module-double-cards__eyebrow {
    margin: 0;

    color: rgba(255, 255, 255, 0.60);

    font-family:
        'Plus Jakarta Sans',
        Arial,
        sans-serif;

    font-size: 0.8rem;

    font-weight: 700;

    line-height: 1.4;

    letter-spacing: 0.16rem;

    text-transform: uppercase;

    text-align: center;
}


.oniric-module-double-cards__title {
    width: 100%;
    max-width: 54rem;

    margin: 0 auto;

    color: #ffffff;

    font-family:
        'Plus Jakarta Sans',
        Arial,
        sans-serif;

    font-size: clamp(
        2rem,
        2.4vw,
        2.25rem
    ); /* 36px */

    font-weight: 400;

    line-height: 1.1575;

    letter-spacing: -0.03em;

    text-align: center;

    text-wrap: balance;
}


/* ==========================================================================
   GRID
   ========================================================================== */

.oniric-module-double-cards__grid {
    width: 100%;

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 2.5rem; /* 40px */
}


/* ==========================================================================
   CARD
   ========================================================================== */

.oniric-module-double-card {
    position: relative;
    isolation: isolate;

    width: 100%;
    min-height: 37rem;

    padding: 3.75rem;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    gap: 2.5rem;

    overflow: hidden;

    border-radius: 1.5625rem;

    border: 1px solid rgba(255, 255, 255, 0.24);

    background: rgba(0, 0, 0, 0.40);

    -webkit-backdrop-filter: blur(6.8px);
    backdrop-filter: blur(6.8px);

    box-shadow:
        0 4px 25px rgba(255, 255, 255, 0.25);

    transition:
        transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.oniric-module-double-card__background {
    position: absolute;

    inset: 0;

    z-index: -3;

    border-radius: inherit;

    background-image:
        var(--oniric-double-card-image);

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    pointer-events: none;
}

/*
 * Overlay general para aproximarnos al tono gris azulado
 * de las tarjetas del Figma.
 */
.oniric-module-double-card::before {
    content: '';

    position: absolute;
    inset: 0;

    z-index: -2;

    pointer-events: none;

    border-radius: inherit;

    background:
        linear-gradient(
            180deg,
            rgba(45, 60, 74, 0.72) 0%,
            rgba(39, 52, 65, 0.62) 45%,
            rgba(11, 16, 22, 0.64) 100%
        );
}


.oniric-module-double-card::before {
    content: '';

    position: absolute;
    inset: 0;

    z-index: -2;

    pointer-events: none;

    border-radius: inherit;

    background:
        linear-gradient(
            180deg,
            rgba(45, 60, 74, 0.72) 0%,
            rgba(39, 52, 65, 0.62) 45%,
            rgba(11, 16, 22, 0.64) 100%
        );
}


.oniric-module-double-card::after {
    content: '';

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 62%;

    z-index: -1;

    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0) 0%,
            rgba(0, 0, 0, 0.10) 32%,
            rgba(0, 0, 0, 0.42) 100%
        );
}


/* ==========================================================================
   CARD CONTENT
   ========================================================================== */

.oniric-module-double-card__content {
    position: relative;
    z-index: 2;

    width: 100%;
    height: 100%;

    display: flex;
    flex-direction: column;

    justify-content: space-between;

    gap: 4rem;
}


/* ==========================================================================
   CARD TITLE
   ========================================================================== */

.oniric-module-double-card__title {
    width: 100%;
    max-width: 22rem;

    margin: 0;

    color: #ffffff;

    font-family:
        'Plus Jakarta Sans',
        Arial,
        sans-serif;

    font-size: clamp(
        1.35rem,
        1.5vw,
        1.5rem
    ); /* 24px */

    font-weight: 400;

    line-height: 1.1667; /* 28px */

    letter-spacing: -0.025em;

    text-align: left;

    text-wrap: balance;
}


/* ==========================================================================
   DESCRIPTION
   ========================================================================== */

.oniric-module-double-card__description {
    width: 100%;
    max-width: 28rem;

    margin: 0;

    color: #ffffff;

    font-family:
        'Plus Jakarta Sans',
        Arial,
        sans-serif;

    font-size: clamp(
        1rem,
        1.25vw,
        1.25rem
    ); /* 20px */

    font-weight: 400;

    line-height: 1.25;

    letter-spacing: -0.02em;

    text-align: left;

    text-wrap: pretty;
}


/* ==========================================================================
   ACTIONS
   ========================================================================== */

.oniric-module-double-card__actions {
    position: relative;
    z-index: 2;

    width: 100%;

    display: flex;

    justify-content: flex-start;
    align-items: center;
}


/* ==========================================================================
   HOVER
   ========================================================================== */

@media (hover: hover) {

    .oniric-module-double-card:hover {
        transform: translateY(-4px);

        box-shadow:
            0 7px 30px rgba(255, 255, 255, 0.28),
            0 20px 45px rgba(0, 0, 0, 0.30);
    }
}


/* ==========================================================================
   XL
   ========================================================================== */

@media (max-width: 1399.98px) {

    .oniric-module-double-cards {
        padding-block: 7rem;
    }

    .oniric-module-double-cards__container {
        gap: 5.5rem;
    }

    .oniric-module-double-card {
        min-height: 34rem;

        padding: 3.5rem;
    }
}


/* ==========================================================================
   LG
   ========================================================================== */

@media (max-width: 1199.98px) {

    .oniric-module-double-cards {
        padding-block: 6rem;
    }

    .oniric-module-double-cards__container {
        gap: 4.5rem;
    }

    .oniric-module-double-cards__header {
        gap: 2rem;
    }

    .oniric-module-double-cards__grid {
        gap: 2rem;
    }

    .oniric-module-double-card {
        min-height: 31rem;

        padding: 3rem;
    }
}


/* ==========================================================================
   MD
   ========================================================================== */

@media (max-width: 991.98px) {

    .oniric-module-double-cards {
        padding-block: 5rem;
    }

    .oniric-module-double-cards__container {
        gap: 4rem;
    }

    .oniric-module-double-cards__title {
        max-width: 42rem;

        font-size: 2rem;
    }

    .oniric-module-double-card {
        min-height: 29rem;

        padding: 2.5rem;
    }

    .oniric-module-double-card__content {
        gap: 3rem;
    }
}


/* ==========================================================================
   SM
   Las cards pasan a una columna.
   ========================================================================== */

@media (max-width: 767.98px) {

    .oniric-module-double-cards {
        padding-block: 4.5rem;
    }

    .oniric-module-double-cards__container {
        gap: 3.5rem;
    }

    .oniric-module-double-cards__header {
        gap: 1.5rem;
    }

    .oniric-module-double-cards__grid {
        grid-template-columns: 1fr;

        gap: 1.75rem;
    }

    .oniric-module-double-cards__eyebrow {
        font-size: 0.7rem;

        letter-spacing: 0.14rem;
    }

    .oniric-module-double-cards__title {
        max-width: 32rem;

        font-size: clamp(
            1.8rem,
            7vw,
            2.25rem
        );

        line-height: 1.18;
    }

    .oniric-module-double-card {
        min-height: 32rem;

        padding: 2rem;
    }

    .oniric-module-double-card__title {
        font-size: 1.35rem;
    }

    .oniric-module-double-card__description {
        font-size: 1rem;

        line-height: 1.4;
    }
}


/* ==========================================================================
   XS
   ========================================================================== */

@media (max-width: 575.98px) {

    .oniric-module-double-cards {
        padding-block: 4rem;
    }

    .oniric-module-double-cards__container {
        gap: 3rem;
    }

    .oniric-module-double-card {
        min-height: 28rem;

        padding: 1.75rem;
    }

    .oniric-module-double-card__content {
        gap: 2.5rem;
    }
}

/* ========================================================================== 
   03. SPLIT
   ========================================================================== */

.oniric-module-split {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: center;
    gap: var(--oniric-module-gap);
}

.oniric-module-split__content {
    grid-column: 1 / span 5;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.75rem;
    padding-right: clamp(0rem, 2vw, 2rem);
}

.oniric-module-split .oniric-module-media {
    grid-column: 7 / -1;
}

.oniric-module-split--reverse .oniric-module-media {
    grid-column: 1 / span 6;
    grid-row: 1;
}

.oniric-module-split--reverse .oniric-module-split__content {
    grid-column: 8 / -1;
    grid-row: 1;
    padding-right: 0;
}

.oniric-module-media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    margin: 0;
    border-radius: var(--oniric-module-radius);
    background: rgba(255, 255, 255, 0.04);
}

.oniric-module-media::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: inherit;
}

.oniric-module-media__image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* ========================================================================== 
   04. CARDS
   ========================================================================== */

.oniric-module-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--oniric-module-gap);
}

.oniric-module-card {
    min-height: 26rem;
    display: flex;
    flex-direction: column;
    padding: clamp(1.75rem, 2.5vw, 2.75rem);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: var(--oniric-module-radius);
    background: var(--oniric-module-card-bg);
    -webkit-backdrop-filter: blur(6.8px);
    backdrop-filter: blur(6.8px);
}

.oniric-module-card__number {
    color: var(--oniric-module-muted);
    font-size: 0.75rem;
    letter-spacing: 0.12em;
}

.oniric-module-card__title {
    margin: auto 0 1.25rem;
    color: var(--oniric-module-text);
    font-size: clamp(1.5rem, 2vw, 2.25rem);
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: -0.025em;
}

.oniric-module-card__copy {
    margin: 0;
    color: rgba(241, 241, 238, 0.70);
    font-size: 1rem;
    line-height: 1.6;
}

/* ========================================================================== 
   05. STATS
   ========================================================================== */

.oniric-module-stats {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--oniric-module-gap);
    align-items: end;
}

.oniric-module-stats__intro {
    grid-column: 1 / span 5;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.oniric-module-stats__grid {
    grid-column: 7 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--oniric-module-line);
    border-bottom: 1px solid var(--oniric-module-line);
}

.oniric-module-stat {
    min-height: 15rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1.75rem;
    border-left: 1px solid var(--oniric-module-line);
}

.oniric-module-stat:last-child {
    border-right: 1px solid var(--oniric-module-line);
}

.oniric-module-stat__value {
    font-size: clamp(3rem, 4.5vw, 5rem);
    font-weight: 300;
    line-height: 1;
    letter-spacing: -0.05em;
}

.oniric-module-stat__label {
    color: var(--oniric-module-muted);
    font-size: 0.875rem;
    line-height: 1.4;
}

/* ========================================================================== 
   06. STEPS
   ========================================================================== */

.oniric-module-steps {
    border-top: 1px solid var(--oniric-module-line);
}

.oniric-module-step {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--oniric-module-gap);
    align-items: start;
    padding-block: clamp(2.25rem, 3.5vw, 3.75rem);
    border-bottom: 1px solid var(--oniric-module-line);
}

.oniric-module-step__number {
    grid-column: 1 / span 2;
    color: var(--oniric-module-muted);
    font-size: 0.75rem;
    letter-spacing: 0.12em;
}

.oniric-module-step__content {
    grid-column: 5 / span 7;
}

.oniric-module-step__content h3 {
    margin: 0 0 1rem;
    color: var(--oniric-module-text);
    font-size: clamp(1.5rem, 2.2vw, 2.5rem);
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: -0.03em;
}

.oniric-module-step__content p {
    max-width: 42rem;
    margin: 0;
    color: rgba(241, 241, 238, 0.68);
    line-height: 1.65;
}

/* ========================================================================== 
   07. FULL WIDTH MEDIA
   ========================================================================== */

.oniric-module-wide-media {
    position: relative;
    background: #050505;
}

.oniric-module-wide-media__visual {
    width: 100%;
    height: clamp(28rem, 62vw, 58rem);
    overflow: hidden;
}

.oniric-module-wide-media__image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.oniric-module-wide-media__frame {
    padding-block: clamp(4rem, 6vw, 7rem);
}

.oniric-module-wide-media__copy {
    max-width: 64rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

/* ==========================================================================
   ONIRIC MODULE — WIDE MEDIA / FIXED BACKGROUND
   ========================================================================== */

.oniric-module-wide-media {
    position: relative;
    isolation: isolate;

    width: 100%;
    min-height: clamp(40rem, 78vh, 58rem);

    display: flex;
    align-items: center;

    overflow: hidden;

    background-color: #000000;

    background-image:
        var(--oniric-wide-media-image);

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    /*
     * Imagen fija al scroll
     */
    background-attachment: fixed;
}


/* ==========================================================================
   OVERLAY GENERAL
   ========================================================================== */

.oniric-module-wide-media::before {
    content: '';

    position: absolute;
    inset: 0;

    z-index: 0;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.48) 0%,
            rgba(0, 0, 0, 0.16) 48%,
            rgba(0, 0, 0, 0.24) 100%
        );
}


/* ==========================================================================
   DEGRADADOS SUPERIOR + INFERIOR
   Integran visualmente esta section con las adyacentes.
   ========================================================================== */

.oniric-module-wide-media::after {
    content: '';

    position: absolute;
    inset: 0;

    z-index: 1;

    pointer-events: none;

    background:
        /* transición superior */
        linear-gradient(
            180deg,
            #000000 0%,
            rgba(0, 0, 0, 0.82) 4%,
            rgba(0, 0, 0, 0.36) 11%,
            rgba(0, 0, 0, 0) 23%
        ),

        /* transición inferior */
        linear-gradient(
            0deg,
            #000000 0%,
            rgba(0, 0, 0, 0.82) 4%,
            rgba(0, 0, 0, 0.36) 11%,
            rgba(0, 0, 0, 0) 23%
        );
}


/* ==========================================================================
   FRAME
   ========================================================================== */

.oniric-module-wide-media__frame {
    position: relative;
    z-index: 2;

    width: 100%;
    min-height: inherit;

    display: flex;
    align-items: center;

    padding-block:
        clamp(8rem, 14vh, 12rem);
}


/* ==========================================================================
   COPY
   ========================================================================== */

.oniric-module-wide-media__copy {
    width: 100%;
    max-width: 100%;

    display: flex;
    flex-direction: column;

    align-items: center;

    gap: 2rem;

    text-align: left;
}


.oniric-module-wide-media__copy .oniric-module-kicker {
    margin: 0;

    color: rgba(255, 255, 255, 0.64);
}


.oniric-module-wide-media__copy .oniric-section-heading {
    margin: 0;
    max-width: 29ch;
    color: #ffffff;
    text-wrap: balance;
}


/* ==========================================================================
   MOBILE / TABLET
   background-attachment fixed no es fiable en iOS/Safari.
   ========================================================================== */

@media (max-width: 991.98px) {

    .oniric-module-wide-media {
        min-height: 42rem;

        background-attachment: scroll;
        background-position: center center;
    }

    .oniric-module-wide-media__frame {
        padding-block: 7rem;
    }

    .oniric-module-wide-media__copy {
        max-width: 42rem;
    }
}


/* ==========================================================================
   SM
   ========================================================================== */

@media (max-width: 767.98px) {

    .oniric-module-wide-media {
        min-height: 36rem;
    }

    .oniric-module-wide-media__frame {
        align-items: flex-end;

        padding-top: 8rem;
        padding-bottom: 5rem;
    }

    .oniric-module-wide-media__copy {
        max-width: 100%;

        gap: 1.5rem;
    }

    .oniric-module-wide-media__copy .oniric-section-heading {
        max-width: 12ch;
    }

    .oniric-module-wide-media::after {
        background:
            linear-gradient(
                180deg,
                #000000 0%,
                rgba(0, 0, 0, 0.78) 6%,
                rgba(0, 0, 0, 0.28) 16%,
                rgba(0, 0, 0, 0) 28%
            ),

            linear-gradient(
                0deg,
                #000000 0%,
                rgba(0, 0, 0, 0.82) 6%,
                rgba(0, 0, 0, 0.30) 18%,
                rgba(0, 0, 0, 0) 32%
            );
    }
}

/* ========================================================================== 
   08. STATEMENT
   ========================================================================== */

.oniric-module-section--statement {
    padding-block: clamp(7rem, 10vw, 12rem);
}

.oniric-module-statement {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.oniric-module-statement__text {
    max-width: 15ch;
    margin: 0;
    color: var(--oniric-module-text);
    font-size: clamp(3rem, 6vw, 7rem);
    font-weight: 300;
    line-height: 0.98;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

/* ========================================================================== 
   09. CTA FINAL
   ========================================================================== */

.oniric-module-cta {
    position: relative;
    isolation: isolate;
    min-height: clamp(64rem, 70vh, 52rem);
    /* display: flex; */
    align-items: center;
    overflow: hidden;

    background-image:
        linear-gradient(90deg, rgba(0, 0, 0, 0.76) 0%, rgba(0, 0, 0, 0.40) 52%, rgba(0, 0, 0, 0.20) 100%),
        linear-gradient(180deg, #050505 0%, rgba(5, 5, 5, 0) 20%),
        var(--oniric-module-cta-image);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
	    padding-top: 9rem;

}

.oniric-module-cta__frame {
    position: relative;
    z-index: 2;
}

.oniric-module-cta__content {
    max-width: 56rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.75rem;
}

.oniric-module-cta__title {
    margin: 0;
    color: var(--oniric-module-text);
    font-size: clamp(2.5rem, 4.5vw, 5.25rem);
    font-weight: 300;
    line-height: 1.02;
    letter-spacing: -0.045em;
}

.oniric-module-cta__copy {
    max-width: 40rem;
    margin: 0;
    color: rgba(241, 241, 238, 0.74);
    font-size: clamp(1rem, 1.25vw, 1.25rem);
    line-height: 1.6;
}

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

@media (max-width: 1199.98px) {
    .oniric-module-section-header .oniric-section-heading {
        grid-column: 1 / span 9;
    }

    .oniric-module-split__content {
        grid-column: 1 / span 5;
    }

    .oniric-module-split .oniric-module-media {
        grid-column: 7 / -1;
    }

    .oniric-module-split--reverse .oniric-module-media {
        grid-column: 1 / span 6;
    }

    .oniric-module-split--reverse .oniric-module-split__content {
        grid-column: 8 / -1;
    }
}

@media (max-width: 991.98px) {
    .oniric-module-hero {
        min-height: 48rem;
        background-position: 62% top;
    }

    .oniric-module-hero__content {
        width: min(42rem, 88%);
    }

    .oniric-module-section-header .oniric-section-heading,
    .oniric-module-editorial__body,
    .oniric-module-split__content,
    .oniric-module-split .oniric-module-media,
    .oniric-module-split--reverse .oniric-module-media,
    .oniric-module-split--reverse .oniric-module-split__content,
    .oniric-module-stats__intro,
    .oniric-module-stats__grid {
        grid-column: 1 / -1;
    }

    .oniric-module-split,
    .oniric-module-stats {
        row-gap: 3.5rem;
    }

    .oniric-module-split--reverse .oniric-module-media,
    .oniric-module-split--reverse .oniric-module-split__content {
        grid-row: auto;
    }

    .oniric-module-split--reverse .oniric-module-media {
        order: 2;
    }

    .oniric-module-card-grid {
        grid-template-columns: 1fr;
    }

    .oniric-module-card {
        min-height: 20rem;
    }

    .oniric-module-stats__grid {
        margin-top: 1rem;
    }

    .oniric-module-step__content {
        grid-column: 4 / -1;
    }
}

@media (max-width: 767.98px) {
    :root {
        --oniric-module-radius: 1.25rem;
    }

    .oniric-module-hero {
        min-height: 44rem;
        align-items: flex-end;
        background-position: 66% center;
    }

    .oniric-module-hero__frame {
        padding-top: 9rem;
        padding-bottom: 5rem;
    }

    .oniric-module-hero__content {
        width: 100%;
    }

    .oniric-module-hero__title {
        font-size: clamp(2.75rem, 13vw, 4.5rem);
    }

    .oniric-module-editorial__body {
        grid-column: 1 / -1;
    }

    .oniric-module-media {
        aspect-ratio: 4 / 4.8;
    }

    .oniric-module-stats__grid {
        grid-template-columns: 1fr;
    }

    .oniric-module-stat,
    .oniric-module-stat:last-child {
        min-height: 10rem;
        border-right: 1px solid var(--oniric-module-line);
        border-bottom: 1px solid var(--oniric-module-line);
    }

    .oniric-module-stat:last-child {
        border-bottom: 0;
    }

    .oniric-module-step__number {
        grid-column: 1 / span 2;
    }

    .oniric-module-step__content {
        grid-column: 3 / -1;
    }

    .oniric-module-wide-media__visual {
        height: 32rem;
    }
}

@media (max-width: 575.98px) {
    .oniric-module-section-header {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }

    .oniric-module-editorial,
    .oniric-module-split,
    .oniric-module-stats,
    .oniric-module-step {
        display: flex;
        flex-direction: column;
    }

    .oniric-module-editorial {
        gap: 2.5rem;
    }

    .oniric-module-split,
    .oniric-module-stats {
        gap: 2.75rem;
    }

    .oniric-module-step {
        gap: 1.25rem;
    }

    .oniric-module-step__content {
        width: 100%;
    }

    .oniric-module-wide-media__visual {
        height: 27rem;
    }

    .oniric-module-statement__text {
        font-size: clamp(2.75rem, 14vw, 4.5rem);
    }
}

/* ========================================================================== 
   ACCESIBILIDAD
   ========================================================================== */

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

.oniric-module-activation__alert {
    width: 100%;

    margin-bottom: 2rem;
    padding: 1rem 1.25rem;

    border-radius: 0.875rem;

    font-size: 0.9rem;
    line-height: 1.5;
}

.oniric-module-activation__alert--success {
    border: 1px solid rgba(92, 190, 130, 0.35);
    background: rgba(92, 190, 130, 0.08);
    color: #d8f5e3;
}

.oniric-module-activation__alert--error {
    border: 1px solid rgba(225, 82, 62, 0.42);
    background: rgba(225, 82, 62, 0.08);
    color: #ffd6cf;
}
