/* ========================================
   CONFIGURACIÓN GENERAL
======================================== */

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

:root {
    --background: #050d1b;
    --background-soft: #071426;
    --card: rgba(8, 22, 43, 0.82);

    --blue: #147cff;
    --blue-light: #35a6ff;
    --blue-dark: #075ce4;

    --white: #ffffff;
    --text: #c8d3e2;
    --muted: #9aabc1;

    --border: rgba(31, 125, 255, 0.52);

    --container: 1400px;
}

html {
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;

    background:
        radial-gradient(
            circle at 76% 17%,
            rgba(25, 105, 255, 0.17),
            transparent 31%
        ),
        radial-gradient(
            circle at 10% 72%,
            rgba(0, 100, 255, 0.10),
            transparent 27%
        ),
        var(--background);

    color: var(--white);

    font-family:
        "Segoe UI",
        Arial,
        sans-serif;

    overflow-x: hidden;
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
}

.container {
    width: min(
        calc(100% - 120px),
        var(--container)
    );

    margin: 0 auto;
}


/* ========================================
   BARRA SUPERIOR
======================================== */

.navbar {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;

    width: 100%;
    min-height: 76px;

    padding: 13px 5%;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    background: rgba(4, 12, 26, 0.90);

    border-bottom:
        1px solid rgba(120, 150, 195, 0.14);

    backdrop-filter: blur(18px);
}

.brand {
    display: flex;
    align-items: center;
    gap: 13px;

    color: var(--white);
    text-decoration: none;
}

.brand-icon {
    width: 46px;
    height: 46px;

    display: grid;
    place-items: center;

    border-radius: 13px;

    background:
        linear-gradient(
            145deg,
            var(--blue-dark),
            var(--blue-light)
        );

    box-shadow:
        0 8px 28px rgba(0, 110, 255, 0.32);

    font-size: 15px;
    font-weight: 900;
}

.brand-text {
    display: flex;
    flex-direction: column;

    font-size: 16px;
    font-weight: 750;
    line-height: 1.05;
}

.brand-text strong {
    margin-top: 5px;

    color: var(--blue-light);

    font-size: 11px;
    letter-spacing: 2.6px;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 38px;
}

.nav-links a {
    color: #d0d9e7;

    font-size: 15px;
    font-weight: 650;

    text-decoration: none;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.nav-links a:hover {
    color: var(--white);
    transform: translateY(-1px);
}

.nav-button {
    padding: 14px 24px;

    border-radius: 11px;

    background:
        linear-gradient(
            135deg,
            var(--blue-dark),
            var(--blue)
        );

    color: var(--white);

    font-size: 15px;
    font-weight: 750;

    text-decoration: none;

    box-shadow:
        0 10px 28px rgba(0, 97, 255, 0.26);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.nav-button:hover {
    transform: translateY(-2px);

    box-shadow:
        0 15px 34px rgba(0, 110, 255, 0.39);
}


/* ========================================
   HERO
======================================== */

.hero {
    min-height: 100vh;

    padding:
        135px 6%
        70px;

    display: grid;

    grid-template-columns:
        0.88fr
        1.12fr;

    align-items: center;
    gap: 50px;
}

.hero-content {
    max-width: 680px;
}

.tag,
.section-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 10px 19px;

    border:
        1px solid rgba(18, 115, 255, 0.75);

    border-radius: 999px;

    background:
        rgba(7, 49, 105, 0.12);

    color: #2995ff;

    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.tag {
    margin-bottom: 25px;
}

.hero h1 {
    margin-bottom: 25px;

    font-size:
        clamp(
            50px,
            5.8vw,
            79px
        );

    line-height: 1.02;
    letter-spacing: -3.8px;
}

.hero h1 span {
    background:
        linear-gradient(
            180deg,
            #36b4ff,
            #064fff
        );

    background-clip: text;
    -webkit-background-clip: text;

    color: transparent;
}

.hero p {
    max-width: 650px;

    margin-bottom: 35px;

    color: var(--text);

    font-size: 20px;
    line-height: 1.72;
}

.hero-buttons {
    display: flex;
    align-items: center;
    gap: 17px;

    flex-wrap: wrap;
}

.btn,
.btn-secondary {
    min-width: 190px;

    padding: 16px 27px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    border-radius: 11px;

    font-size: 16px;
    font-weight: 750;

    text-decoration: none;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

.btn {
    background:
        linear-gradient(
            135deg,
            #0759ed,
            #169eff
        );

    color: var(--white);

    box-shadow:
        0 15px 38px rgba(0, 95, 255, 0.34);
}

.btn:hover {
    transform: translateY(-3px);

    box-shadow:
        0 20px 44px rgba(0, 105, 255, 0.47);
}

.btn-secondary {
    border:
        1px solid rgba(63, 132, 226, 0.54);

    background:
        rgba(255, 255, 255, 0.025);

    color: var(--white);
}

.btn-secondary:hover {
    transform: translateY(-3px);

    background:
        rgba(20, 108, 235, 0.11);
}

.hero-image {
    position: relative;

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

.hero-image::before {
    content: "";

    position: absolute;

    width: 75%;
    height: 75%;

    border-radius: 50%;

    background:
        rgba(25, 105, 255, 0.22);

    filter: blur(75px);
}

.hero-image img {
    position: relative;
    z-index: 1;

    width: 100%;
    max-width: 870px;

    border-radius: 22px;

    box-shadow:
        0 30px 90px rgba(0, 0, 0, 0.50),
        0 0 60px rgba(15, 91, 245, 0.19);
}


/* ========================================
   SECCIÓN DEL PROBLEMA
======================================== */

.problem {
    position: relative;

    padding:
        115px 0
        125px;

    background:
        radial-gradient(
            circle at 90% 30%,
            rgba(0, 81, 207, 0.12),
            transparent 26%
        ),
        linear-gradient(
            180deg,
            #040c19,
            #061226
        );

    overflow: hidden;
}

.problem::before,
.problem::after {
    content: "";

    position: absolute;

    width: 320px;
    height: 320px;

    opacity: 0.20;

    background-image:
        radial-gradient(
            rgba(25, 121, 255, 0.75) 1px,
            transparent 1px
        );

    background-size: 12px 12px;

    pointer-events: none;
}

.problem::before {
    left: -170px;
    bottom: 80px;
}

.problem::after {
    right: -170px;
    top: 70px;
}

.section-tag {
    margin-bottom: 31px;
}

.problem h2 {
    max-width: 990px;

    margin-bottom: 27px;

    font-size:
        clamp(
            42px,
            4.1vw,
            66px
        );

    line-height: 1.08;
    letter-spacing: -2.4px;
}

.problem-intro {
    max-width: 770px;

    margin-bottom: 39px;

    color: var(--text);

    font-size: 20px;
    line-height: 1.72;
}


/* ========================================
   TARJETAS DEL PROBLEMA
======================================== */

.problem-grid {
    display: grid;

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

    gap: 23px;

    margin-bottom: 28px;
}

.problem-card {
    min-height: 255px;

    padding:
        29px 30px
        31px;

    border:
        1px solid var(--border);

    border-radius: 17px;

    background:
        linear-gradient(
            145deg,
            rgba(9, 28, 55, 0.90),
            rgba(4, 14, 30, 0.94)
        );

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.025),
        0 16px 45px rgba(0, 0, 0, 0.18);

    transition:
        transform 0.28s ease,
        border-color 0.28s ease,
        box-shadow 0.28s ease;
}

.problem-card:hover {
    transform: translateY(-7px);

    border-color:
        rgba(39, 144, 255, 0.93);

    box-shadow:
        0 21px 55px rgba(0, 72, 200, 0.18);
}

.problem-icon {
    width: 72px;
    height: 72px;

    margin-bottom: 16px;

    display: grid;
    place-items: center;

    border:
        1px solid rgba(20, 126, 255, 0.43);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(22, 122, 255, 0.24),
            rgba(3, 37, 82, 0.42)
        );

    box-shadow:
        0 0 25px rgba(0, 112, 255, 0.28),
        inset 0 0 20px rgba(19, 111, 255, 0.11);
}

.problem-icon svg {
    width: 45px;
    height: 45px;

    fill: none;

    stroke: #1688ff;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;

    filter:
        drop-shadow(
            0 0 7px
            rgba(11, 125, 255, 0.95)
        );
}

.problem-card h3 {
    margin-bottom: 9px;

    font-size: 21px;
    line-height: 1.25;
}

.problem-card p {
    color: #b6c2d3;

    font-size: 17px;
    line-height: 1.62;
}


/* ========================================
   CAJA DE SOLUCIÓN
======================================== */

.solution-box {
    min-height: 165px;

    padding:
        27px 34px;

    display: grid;

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

    align-items: center;
    gap: 29px;

    border:
        1px solid rgba(28, 127, 255, 0.74);

    border-radius: 17px;

    background:
        radial-gradient(
            circle at 15% 50%,
            rgba(22, 111, 255, 0.13),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            rgba(9, 30, 62, 0.96),
            rgba(4, 14, 31, 0.96)
        );

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.025),
        0 18px 55px rgba(0, 0, 0, 0.22);
}

.solution-shield {
    width: 105px;
    height: 105px;

    display: grid;
    place-items: center;
}

.solution-shield svg {
    width: 90px;
    height: 90px;

    fill:
        rgba(19, 103, 238, 0.17);

    stroke: #56a9ff;
    stroke-width: 3.5;
    stroke-linecap: round;
    stroke-linejoin: round;

    filter:
        drop-shadow(
            0 0 13px
            rgba(26, 127, 255, 0.88)
        );
}

.solution-content h3 {
    margin-bottom: 11px;

    font-size:
        clamp(
            25px,
            2.3vw,
            36px
        );

    line-height: 1.15;
    letter-spacing: -0.8px;
}

.solution-content h3 span {
    color: #1587ff;
}

.solution-content p {
    max-width: 780px;

    color: #c1ccdc;

    font-size: 17px;
    line-height: 1.65;
}

.solution-button {
    min-width: 230px;

    padding: 18px 25px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 17px;

    border-radius: 11px;

    background:
        linear-gradient(
            135deg,
            #0758e7,
            #0d91ff
        );

    color: var(--white);

    font-size: 17px;
    font-weight: 750;

    text-decoration: none;

    box-shadow:
        0 13px 32px rgba(0, 100, 255, 0.34);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.solution-button:hover {
    transform: translateY(-3px);

    box-shadow:
        0 19px 42px rgba(0, 107, 255, 0.48);
}


/* ========================================
   ADAPTACIÓN A PANTALLAS
======================================== */

@media (max-width: 1150px) {

    .hero {
        grid-template-columns: 1fr;

        text-align: center;

        padding-top: 145px;
    }

    .hero-content {
        margin: 0 auto;
    }

    .hero p {
        margin-left: auto;
        margin-right: auto;
    }

    .hero-buttons {
        justify-content: center;
    }

    .problem-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .solution-box {
        grid-template-columns:
            auto
            minmax(0, 1fr);

        text-align: left;
    }

    .solution-button {
        grid-column: 1 / -1;

        width: 100%;
    }
}


@media (max-width: 900px) {

    .nav-links {
        display: none;
    }

    .container {
        width:
            min(
                calc(100% - 60px),
                var(--container)
            );
    }
}


@media (max-width: 650px) {

    .navbar {
        padding:
            12px 20px;
    }

    .brand-text {
        display: none;
    }

    .nav-button {
        padding:
            12px 17px;
    }

    .hero {
        padding:
            125px 22px
            55px;

        gap: 35px;
    }

    .hero h1 {
        font-size: 48px;
        letter-spacing: -2.5px;
    }

    .hero p {
        font-size: 18px;
    }

    .hero-buttons {
        flex-direction: column;
    }

    .btn,
    .btn-secondary {
        width: 100%;
    }

    .container {
        width:
            calc(100% - 38px);
    }

    .problem {
        padding:
            85px 0
            90px;
    }

    .problem h2 {
        font-size: 43px;
    }

    .problem-intro {
        font-size: 18px;
    }

    .problem-grid {
        grid-template-columns: 1fr;
    }

    .problem-card {
        min-height: auto;
    }

    .solution-box {
        padding:
            30px 24px;

        grid-template-columns: 1fr;

        text-align: center;
    }

    .solution-shield {
        margin: 0 auto;
    }

    .solution-content p {
        font-size: 16px;
    }

    .solution-button {
        min-width: 100%;
    }
}
/* ========================================
   SECCIÓN DE LA SOLUCIÓN
======================================== */

.solution-section {
    padding: 120px 0;
    background:
        radial-gradient(
            circle at 15% 50%,
            rgba(18, 112, 255, 0.14),
            transparent 28%
        ),
        #050d1b;
}

.solution-layout {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: center;
    gap: 70px;
}

.solution-visual img {
    width: 100%;
    margin-top: 30px;
    border-radius: 22px;

    box-shadow:
        0 35px 90px rgba(0, 0, 0, 0.48),
        0 0 55px rgba(18, 112, 255, 0.18);
}

.solution-details h2 {
    margin-bottom: 24px;

    font-size:
        clamp(
            42px,
            4vw,
            62px
        );

    line-height: 1.08;
    letter-spacing: -2px;
}

.solution-intro {
    margin-bottom: 38px;

    color: var(--text);

    font-size: 20px;
    line-height: 1.7;
}

.feature-list {
    display: grid;
    gap: 18px;
}

.feature-item {
    padding: 20px 22px;

    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 16px;

    border:
        1px solid rgba(24, 121, 255, 0.32);

    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            rgba(9, 28, 55, 0.86),
            rgba(5, 15, 32, 0.94)
        );

    transition:
        transform 0.25s ease,
        border-color 0.25s ease;
}

.feature-item:hover {
    transform: translateX(7px);

    border-color:
        rgba(34, 143, 255, 0.88);
}

.feature-icon {
    width: 42px;
    height: 42px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(20, 126, 255, 0.34),
            rgba(5, 41, 88, 0.72)
        );

    color: #43a6ff;

    font-size: 21px;
    font-weight: 900;

    box-shadow:
        0 0 22px rgba(18, 118, 255, 0.30);
}

.feature-item h3 {
    margin-bottom: 6px;

    font-size: 20px;
}

.feature-item p {
    color: #aebdd0;

    font-size: 16px;
    line-height: 1.55;
}

@media (max-width: 1050px) {

    .solution-layout {
        grid-template-columns: 1fr;
    }

    .solution-details {
        text-align: center;
    }

    .solution-intro {
        max-width: 760px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 38px;
    }

    .feature-item {
        text-align: left;
    }
}

@media (max-width: 650px) {

    .solution-section {
        padding: 85px 0;
    }

    .solution-details h2 {
        font-size: 42px;
    }

    .solution-intro {
        font-size: 18px;
    }
}
/* ========================================
   CÓMO FUNCIONA
======================================== */

.process-section {
    position: relative;
    padding: 120px 0 130px;

    background:
        radial-gradient(
            circle at 50% 10%,
            rgba(15, 103, 255, 0.13),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #061226,
            #040c19
        );
}

.process-heading {
    max-width: 850px;
    margin-bottom: 60px;
}

.process-heading h2 {
    margin: 28px 0 22px;

    font-size:
        clamp(
            42px,
            4.3vw,
            66px
        );

    line-height: 1.08;
    letter-spacing: -2.3px;
}

.process-heading p {
    max-width: 760px;

    color: var(--text);

    font-size: 20px;
    line-height: 1.72;
}

.process-grid {
    position: relative;

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

    gap: 20px;
}

.process-grid::before {
    content: "";

    position: absolute;
    top: 54px;
    left: 9%;
    right: 9%;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(28, 126, 255, 0.70),
            transparent
        );

    z-index: 0;
}

.process-card {
    position: relative;
    z-index: 1;

    min-height: 345px;

    padding: 30px 25px 28px;

    border:
        1px solid rgba(24, 121, 255, 0.42);

    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            rgba(9, 28, 55, 0.90),
            rgba(4, 14, 30, 0.96)
        );

    box-shadow:
        0 18px 50px rgba(0, 0, 0, 0.22);

    transition:
        transform 0.28s ease,
        border-color 0.28s ease,
        box-shadow 0.28s ease;
}

.process-card:hover {
    transform: translateY(-8px);

    border-color:
        rgba(38, 145, 255, 0.92);

    box-shadow:
        0 24px 58px rgba(0, 84, 225, 0.18);
}

.process-number {
    position: absolute;
    top: 18px;
    right: 20px;

    color: rgba(69, 157, 255, 0.45);

    font-size: 16px;
    font-weight: 900;
    letter-spacing: 1px;
}

.process-icon {
    width: 82px;
    height: 82px;

    margin-bottom: 26px;

    display: grid;
    place-items: center;

    border:
        1px solid rgba(28, 130, 255, 0.48);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(20, 126, 255, 0.28),
            rgba(5, 41, 88, 0.55)
        );

    box-shadow:
        0 0 28px rgba(17, 119, 255, 0.27);
}

.process-icon svg {
    width: 48px;
    height: 48px;

    fill: none;

    stroke: #218cff;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;

    filter:
        drop-shadow(
            0 0 7px
            rgba(20, 129, 255, 0.85)
        );
}

.process-card h3 {
    margin-bottom: 13px;

    font-size: 21px;
    line-height: 1.28;
}

.process-card p {
    color: #afbed1;

    font-size: 16px;
    line-height: 1.62;
}

@media (max-width: 1200px) {

    .process-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .process-grid::before {
        display: none;
    }

    .process-card:last-child {
        grid-column: 1 / -1;
        max-width: 560px;
    }
}

@media (max-width: 700px) {

    .process-section {
        padding: 85px 0 95px;
    }

    .process-heading {
        margin-bottom: 42px;
    }

    .process-heading h2 {
        font-size: 42px;
    }

    .process-heading p {
        font-size: 18px;
    }

    .process-grid {
        grid-template-columns: 1fr;
    }

    .process-card,
    .process-card:last-child {
        min-height: auto;
        max-width: none;
        grid-column: auto;
    }
}
/* ========================================
   BENEFICIOS
======================================== */

.benefits-section {
    position: relative;
    padding: 120px 0 130px;

    background:
        radial-gradient(
            circle at 50% 15%,
            rgba(15, 103, 255, 0.12),
            transparent 30%
        ),
        #050d1b;
}

.benefits-header {
    max-width: 840px;
    margin-bottom: 58px;
}

.benefits-header h2 {
    margin: 28px 0 22px;

    font-size:
        clamp(
            42px,
            4.3vw,
            66px
        );

    line-height: 1.08;
    letter-spacing: -2.2px;
}

.benefits-header p {
    max-width: 760px;

    color: var(--text);

    font-size: 20px;
    line-height: 1.72;
}

.benefits-grid {
    display: grid;

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

    gap: 24px;

    margin-bottom: 34px;
}

.benefit-card {
    min-height: 270px;

    padding:
        32px 30px;

    border:
        1px solid rgba(24, 121, 255, 0.42);

    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            rgba(9, 28, 55, 0.90),
            rgba(4, 14, 30, 0.96)
        );

    box-shadow:
        0 18px 50px rgba(0, 0, 0, 0.20);

    transition:
        transform 0.28s ease,
        border-color 0.28s ease,
        box-shadow 0.28s ease;
}

.benefit-card:hover {
    transform: translateY(-8px);

    border-color:
        rgba(38, 145, 255, 0.92);

    box-shadow:
        0 24px 58px rgba(0, 84, 225, 0.18);
}

.benefit-icon {
    width: 78px;
    height: 78px;

    margin-bottom: 24px;

    display: grid;
    place-items: center;

    border:
        1px solid rgba(28, 130, 255, 0.48);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(20, 126, 255, 0.28),
            rgba(5, 41, 88, 0.55)
        );

    box-shadow:
        0 0 28px rgba(17, 119, 255, 0.27);
}

.benefit-icon svg {
    width: 47px;
    height: 47px;

    fill: none;

    stroke: #218cff;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;

    filter:
        drop-shadow(
            0 0 7px
            rgba(20, 129, 255, 0.85)
        );
}

.benefit-card h3 {
    margin-bottom: 13px;

    font-size: 23px;
    line-height: 1.25;
}

.benefit-card p {
    color: #afbed1;

    font-size: 17px;
    line-height: 1.65;
}

.benefits-quote {
    padding:
        55px 45px;

    text-align: center;

    border:
        1px solid rgba(28, 127, 255, 0.65);

    border-radius: 18px;

    background:
        radial-gradient(
            circle at 50% 50%,
            rgba(22, 111, 255, 0.14),
            transparent 55%
        ),
        linear-gradient(
            135deg,
            rgba(9, 30, 62, 0.96),
            rgba(4, 14, 31, 0.96)
        );

    box-shadow:
        0 18px 55px rgba(0, 0, 0, 0.22);
}

.benefits-quote p {
    margin-bottom: 12px;

    color: #aebdd0;

    font-size: 20px;
}

.benefits-quote h2 {
    max-width: 950px;

    margin: 0 auto;

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #1587ff
        );

    background-clip: text;
    -webkit-background-clip: text;

    color: transparent;

    font-size:
        clamp(
            34px,
            3.4vw,
            54px
        );

    line-height: 1.12;
    letter-spacing: -1.6px;
}

@media (max-width: 1100px) {

    .benefits-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {

    .benefits-section {
        padding: 85px 0 95px;
    }

    .benefits-header h2 {
        font-size: 42px;
    }

    .benefits-header p {
        font-size: 18px;
    }

    .benefits-grid {
        grid-template-columns: 1fr;
    }

    .benefit-card {
        min-height: auto;
    }

    .benefits-quote {
        padding:
            40px 24px;
    }

    .benefits-quote p {
        font-size: 17px;
    }
}
/* ========================================
   COSTO DE OPERAR SIN RUTINA
======================================== */

.cost-section {
    position: relative;
    padding: 125px 0 135px;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 50% 18%,
            rgba(14, 102, 255, 0.16),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #040c19,
            #061326
        );
}

.cost-section::before {
    content: "";
    position: absolute;
    top: 160px;
    left: 50%;
    width: 620px;
    height: 620px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: rgba(13, 104, 255, 0.07);
    filter: blur(100px);
    pointer-events: none;
}

.cost-header {
    position: relative;
    z-index: 1;
    max-width: 900px;
    margin: 0 auto 75px;
    text-align: center;
}

.cost-header h2 {
    margin: 28px 0 24px;

    font-size:
        clamp(
            44px,
            4.8vw,
            72px
        );

    line-height: 1.06;
    letter-spacing: -2.8px;
}

.cost-header p {
    max-width: 820px;
    margin: 0 auto;

    color: var(--text);

    font-size: 20px;
    line-height: 1.75;
}


/* LÍNEA DE TIEMPO */

.cost-timeline {
    position: relative;
    z-index: 1;

    max-width: 620px;
    margin: 0 auto 90px;

    display: flex;
    flex-direction: column;
    align-items: center;
}

.cost-step {
    width: 100%;
    padding: 35px 30px;

    text-align: center;

    border:
        1px solid rgba(25, 126, 255, 0.46);

    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            rgba(8, 29, 59, 0.92),
            rgba(4, 14, 30, 0.97)
        );

    box-shadow:
        0 22px 60px rgba(0, 0, 0, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.cost-step-highlight {
    border-color:
        rgba(44, 151, 255, 0.95);

    box-shadow:
        0 25px 70px rgba(0, 91, 255, 0.22),
        0 0 45px rgba(12, 112, 255, 0.12);
}

.cost-number {
    margin-bottom: 6px;

    background:
        linear-gradient(
            180deg,
            #66c1ff,
            #086dff
        );

    background-clip: text;
    -webkit-background-clip: text;

    color: transparent;

    font-size:
        clamp(
            64px,
            7vw,
            96px
        );

    font-weight: 900;
    line-height: 1;
    letter-spacing: -4px;

    filter:
        drop-shadow(
            0 0 16px
            rgba(22, 126, 255, 0.34)
        );
}

.cost-step h3 {
    margin-bottom: 5px;
    font-size: 23px;
}

.cost-step p {
    color: #9fb2ca;
    font-size: 18px;
}

.cost-arrow {
    height: 100px;

    display: flex;
    flex-direction: column;
    align-items: center;
}

.cost-arrow span {
    width: 2px;
    height: 68px;

    background:
        linear-gradient(
            180deg,
            rgba(30, 139, 255, 0.25),
            rgba(30, 139, 255, 0.92)
        );

    box-shadow:
        0 0 14px rgba(18, 125, 255, 0.75);
}

.cost-arrow svg {
    width: 30px;
    height: 30px;
    margin-top: -7px;

    fill: none;
    stroke: #278fff;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;

    filter:
        drop-shadow(
            0 0 8px
            rgba(20, 130, 255, 0.85)
        );
}


/* ESCENARIOS ECONÓMICOS */

.cost-scenarios-header {
    max-width: 780px;
    margin: 0 auto 38px;
    text-align: center;
}

.cost-scenarios-header h3 {
    font-size:
        clamp(
            25px,
            2.5vw,
            36px
        );

    line-height: 1.35;
}

.cost-scenarios {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 25px;
    margin-bottom: 25px;
}

.cost-card {
    position: relative;
    min-height: 330px;
    padding: 42px 30px;

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

    text-align: center;

    border:
        1px solid rgba(25, 126, 255, 0.45);

    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            rgba(9, 29, 58, 0.91),
            rgba(4, 14, 30, 0.97)
        );

    box-shadow:
        0 20px 58px rgba(0, 0, 0, 0.22);

    transition:
        transform 0.28s ease,
        border-color 0.28s ease,
        box-shadow 0.28s ease;
}

.cost-card:hover {
    transform: translateY(-8px);

    border-color:
        rgba(40, 148, 255, 0.94);

    box-shadow:
        0 26px 68px rgba(0, 87, 235, 0.20);
}

.cost-card-featured {
    transform: translateY(-12px);

    border-color:
        rgba(48, 157, 255, 0.96);

    background:
        radial-gradient(
            circle at 50% 20%,
            rgba(25, 124, 255, 0.20),
            transparent 46%
        ),
        linear-gradient(
            145deg,
            rgba(10, 38, 78, 0.96),
            rgba(4, 16, 35, 0.98)
        );

    box-shadow:
        0 28px 75px rgba(0, 91, 255, 0.24);
}

.cost-card-featured:hover {
    transform: translateY(-18px);
}

.cost-card-label {
    position: absolute;
    top: 18px;

    padding: 7px 13px;

    border:
        1px solid rgba(67, 164, 255, 0.64);

    border-radius: 999px;

    background:
        rgba(12, 78, 165, 0.18);

    color: #51afff;

    font-size: 11px;
    font-weight: 850;
    letter-spacing: 1.2px;
}

.cost-card-icon {
    width: 68px;
    height: 68px;
    margin-bottom: 18px;

    display: grid;
    place-items: center;

    border:
        1px solid rgba(30, 137, 255, 0.48);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(24, 130, 255, 0.27),
            rgba(5, 41, 88, 0.58)
        );

    box-shadow:
        0 0 28px rgba(17, 119, 255, 0.27);
}

.cost-card-icon svg {
    width: 42px;
    height: 42px;

    fill: none;
    stroke: #248fff;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;

    filter:
        drop-shadow(
            0 0 7px
            rgba(20, 129, 255, 0.85)
        );
}

.cost-per-operation {
    font-size: 35px;
    font-weight: 850;
    letter-spacing: -1px;
}

.cost-card > p {
    margin: 7px 0 25px;

    color: #9eb0c7;
    font-size: 17px;
}

.cost-total {
    margin-bottom: 7px;

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #238fff
        );

    background-clip: text;
    -webkit-background-clip: text;

    color: transparent;

    font-size:
        clamp(
            29px,
            2.6vw,
            40px
        );

    font-weight: 900;
    letter-spacing: -1.3px;
}

.cost-period {
    color: #aebdd0;
    font-size: 17px;
}

.cost-disclaimer {
    max-width: 900px;
    margin: 0 auto 95px;

    color: #778ba6;

    font-size: 13px;
    line-height: 1.65;
    text-align: center;
}


/* FRASE DE IMPACTO */

.cost-impact {
    margin-bottom: 48px;
    text-align: center;
}

.cost-impact p {
    margin-bottom: 14px;

    color: #9fb1c8;
    font-size: 20px;
}

.cost-impact h2 {
    max-width: 1100px;
    margin: 0 auto;

    background:
        linear-gradient(
            180deg,
            #ffffff 25%,
            #1686ff
        );

    background-clip: text;
    -webkit-background-clip: text;

    color: transparent;

    font-size:
        clamp(
            44px,
            5vw,
            76px
        );

    line-height: 1.08;
    letter-spacing: -3px;
}


/* MENSAJE FINAL */

.cost-message {
    padding: 45px 50px;

    display: grid;
    grid-template-columns:
        auto minmax(0, 1fr);

    align-items: center;
    gap: 32px;

    border:
        1px solid rgba(35, 143, 255, 0.78);

    border-radius: 20px;

    background:
        radial-gradient(
            circle at 8% 50%,
            rgba(20, 121, 255, 0.18),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            rgba(9, 31, 64, 0.96),
            rgba(4, 15, 33, 0.98)
        );

    box-shadow:
        0 25px 70px rgba(0, 0, 0, 0.25),
        0 0 45px rgba(12, 112, 255, 0.08);
}

.cost-message-icon {
    width: 110px;
    height: 110px;

    display: grid;
    place-items: center;
}

.cost-message-icon svg {
    width: 94px;
    height: 94px;

    fill:
        rgba(19, 103, 238, 0.17);

    stroke: #56a9ff;
    stroke-width: 3.4;
    stroke-linecap: round;
    stroke-linejoin: round;

    filter:
        drop-shadow(
            0 0 13px
            rgba(26, 127, 255, 0.88)
        );
}

.cost-message-content h3 {
    margin-bottom: 13px;

    font-size:
        clamp(
            25px,
            2.4vw,
            37px
        );

    line-height: 1.2;
}

.cost-message-content p {
    max-width: 940px;
    margin-bottom: 20px;

    color: #bac8da;

    font-size: 18px;
    line-height: 1.68;
}

.cost-message-content strong {
    display: block;

    color: #4dabff;

    font-size:
        clamp(
            22px,
            2.2vw,
            33px
        );

    line-height: 1.3;
}


/* RESPONSIVE */

@media (max-width: 950px) {

    .cost-scenarios {
        grid-template-columns: 1fr;
    }

    .cost-card,
    .cost-card-featured,
    .cost-card-featured:hover {
        max-width: 620px;
        width: 100%;
        margin: 0 auto;
        transform: none;
    }

    .cost-message {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .cost-message-icon {
        margin: 0 auto;
    }

    .cost-message-content p {
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 650px) {

    .cost-section {
        padding: 85px 0 95px;
    }

    .cost-header {
        margin-bottom: 55px;
    }

    .cost-header h2 {
        font-size: 43px;
    }

    .cost-header p {
        font-size: 18px;
    }

    .cost-timeline {
        margin-bottom: 70px;
    }

    .cost-step {
        padding: 28px 18px;
    }

    .cost-number {
        font-size: 68px;
    }

    .cost-scenarios-header h3 {
        font-size: 25px;
    }

    .cost-card {
        min-height: 300px;
    }

    .cost-disclaimer {
        margin-bottom: 70px;
    }

    .cost-impact p {
        font-size: 17px;
    }

    .cost-impact h2 {
        font-size: 43px;
    }

    .cost-message {
        padding: 35px 24px;
    }

    .cost-message-content p {
        font-size: 16px;
    }
}
/* ========================================
   COMPATIBILIDAD
======================================== */

.compatibility-section {
    padding: 115px 0 125px;

    background:
        radial-gradient(
            circle at 82% 40%,
            rgba(19, 105, 255, 0.13),
            transparent 30%
        ),
        #050d1b;
}

.compatibility-header {
    max-width: 850px;
    margin-bottom: 55px;
}

.compatibility-header h2 {
    margin: 28px 0 22px;

    font-size:
        clamp(
            42px,
            4.2vw,
            64px
        );

    line-height: 1.08;
    letter-spacing: -2.2px;
}

.compatibility-header p {
    max-width: 780px;

    color: var(--text);

    font-size: 20px;
    line-height: 1.72;
}

.compatibility-panel {
    padding: 45px;

    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        1px
        minmax(0, 1fr);

    gap: 45px;
    align-items: center;

    border:
        1px solid rgba(29, 132, 255, 0.62);

    border-radius: 20px;

    background:
        linear-gradient(
            135deg,
            rgba(9, 30, 62, 0.96),
            rgba(4, 14, 31, 0.98)
        );

    box-shadow:
        0 24px 68px rgba(0, 0, 0, 0.24),
        0 0 45px rgba(12, 112, 255, 0.08);
}

.compatibility-status {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 25px;
    align-items: center;
}

.status-icon {
    width: 95px;
    height: 95px;

    display: grid;
    place-items: center;
}

.status-icon svg {
    width: 82px;
    height: 82px;

    fill: rgba(19, 103, 238, 0.16);

    stroke: #56a9ff;
    stroke-width: 3.4;
    stroke-linecap: round;
    stroke-linejoin: round;

    filter:
        drop-shadow(
            0 0 13px
            rgba(26, 127, 255, 0.88)
        );
}

.status-label {
    display: inline-block;
    margin-bottom: 12px;

    color: #3aa2ff;

    font-size: 12px;
    font-weight: 850;
    letter-spacing: 1.5px;
}

.compatibility-status h3,
.compatibility-future h3 {
    margin-bottom: 12px;

    font-size: 28px;
    line-height: 1.25;
}

.compatibility-status p,
.compatibility-future p {
    color: #b6c3d4;

    font-size: 17px;
    line-height: 1.65;
}

.compatibility-divider {
    width: 1px;
    height: 100%;

    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(40, 144, 255, 0.7),
            transparent
        );
}

.platform-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;

    margin-bottom: 20px;
}

.platform-list span {
    padding: 11px 16px;

    border:
        1px solid rgba(33, 133, 255, 0.46);

    border-radius: 999px;

    background:
        rgba(13, 72, 145, 0.12);

    color: #c7d8ea;

    font-size: 14px;
    font-weight: 700;
}

.compatibility-note {
    max-width: 900px;
    margin: 25px auto 0;

    color: #71849e;

    font-size: 13px;
    line-height: 1.6;
    text-align: center;
}

@media (max-width: 950px) {

    .compatibility-panel {
        grid-template-columns: 1fr;
    }

    .compatibility-divider {
        width: 100%;
        height: 1px;
    }
}

@media (max-width: 650px) {

    .compatibility-section {
        padding: 85px 0 95px;
    }

    .compatibility-header h2 {
        font-size: 42px;
    }

    .compatibility-header p {
        font-size: 18px;
    }

    .compatibility-panel {
        padding: 32px 24px;
    }

    .compatibility-status {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .status-icon {
        margin: 0 auto;
    }

    .platform-list {
        justify-content: center;
    }

    .compatibility-future {
        text-align: center;
    }
}
/* ========================================
   GALERÍA DEL PROGRAMA
======================================== */

.gallery-section {
    padding: 120px 0 130px;

    background:
        radial-gradient(
            circle at 20% 20%,
            rgba(16, 105, 255, 0.13),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #061226,
            #040c19
        );
}

.gallery-header {
    max-width: 850px;
    margin-bottom: 58px;
}

.gallery-header h2 {
    margin: 28px 0 22px;

    font-size:
        clamp(
            42px,
            4.3vw,
            66px
        );

    line-height: 1.08;
    letter-spacing: -2.2px;
}

.gallery-header p {
    max-width: 760px;

    color: var(--text);

    font-size: 20px;
    line-height: 1.72;
}

.gallery-grid {
    display: grid;

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

    gap: 26px;
}

.gallery-card {
    position: relative;
    overflow: hidden;

    min-height: 430px;

    border:
        1px solid rgba(24, 121, 255, 0.45);

    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            rgba(9, 28, 55, 0.92),
            rgba(4, 14, 30, 0.98)
        );

    box-shadow:
        0 24px 65px rgba(0, 0, 0, 0.25);

    transition:
        transform 0.28s ease,
        border-color 0.28s ease,
        box-shadow 0.28s ease;
}

.gallery-card:hover {
    transform: translateY(-7px);

    border-color:
        rgba(42, 149, 255, 0.95);

    box-shadow:
        0 30px 78px rgba(0, 85, 230, 0.18);
}

.gallery-card img {
    width: 100%;
    height: 330px;

    object-fit: cover;
    object-position: top;

    background: #07111f;
}

.gallery-card-large,
.gallery-card-wide {
    grid-column: 1 / -1;
}

.gallery-card-large img,
.gallery-card-wide img {
    height: 500px;
}

.gallery-caption {
    padding: 24px 26px 27px;

    display: grid;
    grid-template-columns: auto 1fr;
    gap: 18px;
    align-items: start;
}

.gallery-caption > span {
    width: 45px;
    height: 45px;

    display: grid;
    place-items: center;

    border:
        1px solid rgba(31, 136, 255, 0.52);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(20, 126, 255, 0.28),
            rgba(5, 41, 88, 0.60)
        );

    color: #4eabff;

    font-size: 13px;
    font-weight: 900;

    box-shadow:
        0 0 20px rgba(17, 119, 255, 0.22);
}

.gallery-caption h3 {
    margin-bottom: 7px;

    font-size: 23px;
}

.gallery-caption p {
    color: #afbed1;

    font-size: 16px;
    line-height: 1.55;
}

.gallery-note {
    max-width: 900px;
    margin: 28px auto 0;

    color: #7487a1;

    font-size: 13px;
    line-height: 1.6;
    text-align: center;
}

@media (max-width: 850px) {

    .gallery-grid {
        grid-template-columns: 1fr;
    }

    .gallery-card,
    .gallery-card-large,
    .gallery-card-wide {
        grid-column: auto;
    }

    .gallery-card img,
    .gallery-card-large img,
    .gallery-card-wide img {
        height: 360px;
    }
}

@media (max-width: 650px) {

    .gallery-section {
        padding: 85px 0 95px;
    }

    .gallery-header h2 {
        font-size: 42px;
    }

    .gallery-header p {
        font-size: 18px;
    }

    .gallery-card {
        min-height: auto;
    }

    .gallery-card img,
    .gallery-card-large img,
    .gallery-card-wide img {
        height: 250px;
    }

    .gallery-caption {
        padding: 21px 20px 24px;
    }
}
/*==========================================
PARA QUIÉN ES
==========================================*/

.audience-section{

padding:120px 0;

background:
radial-gradient(circle at 50% 15%,rgba(20,126,255,.12),transparent 30%),
#050d1b;

}

.audience-header{

max-width:850px;

margin:0 auto 70px;

text-align:center;

}

.audience-header h2{

margin:25px 0;

font-size:clamp(42px,4vw,66px);

line-height:1.1;

letter-spacing:-2px;

}

.audience-header p{

font-size:20px;

line-height:1.7;

color:#b7c6d7;

}

.audience-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:30px;

margin-bottom:50px;

}

.audience-card{

padding:40px;

border-radius:22px;

border:1px solid rgba(28,130,255,.35);

background:linear-gradient(145deg,#091d39,#050f20);

box-shadow:0 25px 60px rgba(0,0,0,.25);

}

.audience-title{

display:flex;

align-items:center;

gap:18px;

margin-bottom:30px;

}

.audience-symbol{

width:58px;

height:58px;

border-radius:50%;

display:grid;

place-items:center;

font-size:28px;

font-weight:900;

background:rgba(16,120,255,.15);

color:#48a7ff;

border:1px solid rgba(39,143,255,.45);

}

.negative .audience-symbol{

color:#ff6b81;

background:rgba(255,60,90,.10);

border:1px solid rgba(255,80,100,.30);

}

.audience-card h3{

font-size:28px;

}

.audience-card ul{

padding-left:18px;

display:grid;

gap:18px;

}

.audience-card li{

color:#b7c6d7;

line-height:1.7;

font-size:17px;

}

.mission-box{

padding:55px;

text-align:center;

border-radius:22px;

border:1px solid rgba(33,137,255,.45);

background:linear-gradient(145deg,#0a2143,#061325);

}

.mission-box h3{

font-size:18px;

letter-spacing:2px;

color:#48a7ff;

text-transform:uppercase;

margin-bottom:18px;

}

.mission-box p{

max-width:850px;

margin:auto;

font-size:30px;

line-height:1.45;

font-weight:600;

}

@media(max-width:900px){

.audience-grid{

grid-template-columns:1fr;

}

.mission-box p{

font-size:24px;

}

}
/* ========================================
   ESTADO DEL PROYECTO
======================================== */

.roadmap-section {
    padding: 120px 0 130px;

    background:
        radial-gradient(
            circle at 50% 15%,
            rgba(15, 103, 255, 0.12),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #061226,
            #040c19
        );
}

.roadmap-header {
    max-width: 850px;
    margin-bottom: 58px;
}

.roadmap-header h2 {
    margin: 28px 0 22px;

    font-size:
        clamp(
            42px,
            4.3vw,
            66px
        );

    line-height: 1.08;
    letter-spacing: -2.2px;
}

.roadmap-header p {
    max-width: 760px;

    color: var(--text);

    font-size: 20px;
    line-height: 1.72;
}

.roadmap-panel {
    display: grid;

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

    gap: 24px;
}

.roadmap-item {
    position: relative;

    min-height: 310px;

    padding: 32px 28px;

    border:
        1px solid rgba(24, 121, 255, 0.42);

    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            rgba(9, 28, 55, 0.90),
            rgba(4, 14, 30, 0.96)
        );

    box-shadow:
        0 18px 50px rgba(0, 0, 0, 0.20);
}

.roadmap-status {
    display: inline-block;

    margin-bottom: 25px;
    padding: 7px 12px;

    border-radius: 999px;

    color: #4eabff;

    font-size: 11px;
    font-weight: 850;
    letter-spacing: 1.2px;

    border:
        1px solid rgba(31, 136, 255, 0.42);

    background:
        rgba(13, 72, 145, 0.12);
}

.roadmap-icon {
    width: 62px;
    height: 62px;

    margin-bottom: 22px;

    display: grid;
    place-items: center;

    border:
        1px solid rgba(28, 130, 255, 0.48);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(20, 126, 255, 0.28),
            rgba(5, 41, 88, 0.55)
        );

    color: #218cff;

    font-size: 20px;
    font-weight: 900;

    box-shadow:
        0 0 28px rgba(17, 119, 255, 0.27);
}

.roadmap-item h3 {
    margin-bottom: 13px;

    font-size: 23px;
    line-height: 1.25;
}

.roadmap-item p {
    color: #afbed1;

    font-size: 16px;
    line-height: 1.62;
}

.current {
    border-color:
        rgba(40, 148, 255, 0.92);

    box-shadow:
        0 24px 58px rgba(0, 84, 225, 0.18);
}

.future {
    opacity: 0.85;
}

@media (max-width: 1100px) {

    .roadmap-panel {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {

    .roadmap-section {
        padding: 85px 0 95px;
    }

    .roadmap-header h2 {
        font-size: 42px;
    }

    .roadmap-header p {
        font-size: 18px;
    }

    .roadmap-panel {
        grid-template-columns: 1fr;
    }

    .roadmap-item {
        min-height: auto;
    }
}
/*=========================================
PRICING
=========================================*/

.pricing-section{

padding:120px 0 130px;

background:
radial-gradient(circle at center,rgba(17,108,255,.14),transparent 35%),
#050d1b;

}

.pricing-header{

text-align:center;

max-width:850px;

margin:auto auto 60px;

}

.pricing-header h2{

margin:28px 0 22px;

font-size:clamp(44px,4vw,68px);

letter-spacing:-2px;

line-height:1.08;

}

.pricing-header p{

font-size:20px;

line-height:1.7;

color:#b8c6d8;

}

.pricing-card{

max-width:700px;

margin:auto;

padding:60px;

border-radius:26px;

border:1px solid rgba(35,137,255,.45);

background:linear-gradient(145deg,#091f3d,#061325);

text-align:center;

box-shadow:
0 35px 90px rgba(0,0,0,.28);

}

.pricing-badge{

display:inline-block;

padding:8px 18px;

border-radius:999px;

background:rgba(18,112,255,.15);

border:1px solid rgba(45,148,255,.45);

color:#57afff;

font-size:12px;

font-weight:800;

letter-spacing:1.5px;

margin-bottom:28px;

}

.pricing-card h3{

font-size:34px;

margin-bottom:25px;

}

.price{

display:flex;

justify-content:center;

align-items:flex-start;

gap:6px;

margin-bottom:18px;

}

.currency{

font-size:34px;

margin-top:12px;

color:#58adff;

font-weight:700;

}

.amount{

font-size:96px;

font-weight:900;

line-height:1;

background:linear-gradient(#ffffff,#1b8fff);

-webkit-background-clip:text;

color:transparent;

}

.usd{

font-size:28px;

margin-top:18px;

color:#58adff;

font-weight:700;

}

.price-description{

max-width:500px;

margin:0 auto 35px;

color:#b8c6d8;

line-height:1.7;

}

.pricing-features{

text-align:left;

display:grid;

gap:16px;

max-width:420px;

margin:0 auto 45px;

}

.pricing-features li{

font-size:17px;

color:#d2deeb;

}

.pricing-button{

display:inline-block;

padding:18px 46px;

border-radius:14px;

background:linear-gradient(135deg,#1b8fff,#005bff);

color:white;

font-size:20px;

font-weight:700;

text-decoration:none;

transition:.3s;

}

.pricing-button:hover{

transform:translateY(-4px);

box-shadow:0 15px 35px rgba(0,91,255,.35);

}

.pricing-note{

margin-top:28px;

font-size:15px;

color:#89a2be;

font-style:italic;

}

@media(max-width:700px){

.pricing-card{

padding:40px 24px;

}

.amount{

font-size:72px;

}

.pricing-header h2{

font-size:44px;

}

}
/* ========================================
   PREGUNTAS FRECUENTES
======================================== */

.faq-section {
    padding: 120px 0 130px;

    background:
        radial-gradient(
            circle at 20% 20%,
            rgba(16, 105, 255, 0.12),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #061226,
            #040c19
        );
}

.faq-header {
    max-width: 850px;
    margin-bottom: 58px;
}

.faq-header h2 {
    margin: 28px 0 22px;

    font-size:
        clamp(
            42px,
            4.3vw,
            66px
        );

    line-height: 1.08;
    letter-spacing: -2.2px;
}

.faq-header p {
    max-width: 760px;

    color: var(--text);

    font-size: 20px;
    line-height: 1.72;
}

.faq-list {
    max-width: 1000px;

    display: grid;
    gap: 16px;
}

.faq-item {
    overflow: hidden;

    border:
        1px solid rgba(24, 121, 255, 0.40);

    border-radius: 16px;

    background:
        linear-gradient(
            145deg,
            rgba(9, 28, 55, 0.90),
            rgba(4, 14, 30, 0.97)
        );

    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.faq-item[open] {
    border-color:
        rgba(39, 145, 255, 0.90);

    box-shadow:
        0 20px 55px rgba(0, 75, 210, 0.15);
}

.faq-item summary {
    position: relative;

    padding: 24px 65px 24px 26px;

    cursor: pointer;
    list-style: none;

    color: #ffffff;

    font-size: 19px;
    font-weight: 750;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary::after {
    content: "+";

    position: absolute;
    top: 50%;
    right: 25px;

    transform: translateY(-50%);

    color: #3da2ff;

    font-size: 28px;
    font-weight: 400;
}

.faq-item[open] summary::after {
    content: "−";
}

.faq-item p {
    padding: 0 26px 26px;

    color: #afbed1;

    font-size: 16px;
    line-height: 1.7;
}


/* ========================================
   FOOTER
======================================== */

.footer {
    padding: 75px 0 30px;

    border-top:
        1px solid rgba(110, 145, 190, 0.14);

    background: #030914;
}

.footer-content {
    display: grid;
    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(0, 1fr);

    gap: 70px;

    padding-bottom: 55px;
}

.footer-brand > p {
    max-width: 440px;

    margin-top: 22px;

    color: #8fa2ba;

    font-size: 16px;
    line-height: 1.7;
}

.footer-links {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 35px;
}

.footer-links div {
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.footer-links h3 {
    margin-bottom: 5px;

    color: #ffffff;

    font-size: 16px;
}

.footer-links a {
    color: #91a5be;

    font-size: 15px;
    text-decoration: none;

    transition: color 0.2s ease;
}

.footer-links a:hover {
    color: #48a7ff;
}

.footer-bottom {
    padding-top: 25px;

    display: flex;
    justify-content: space-between;
    gap: 30px;

    border-top:
        1px solid rgba(110, 145, 190, 0.12);
}

.footer-bottom p {
    color: #687c96;

    font-size: 13px;
    line-height: 1.6;
}

@media (max-width: 800px) {

    .footer-content {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        flex-direction: column;
    }
}

@media (max-width: 650px) {

    .faq-section {
        padding: 85px 0 95px;
    }

    .faq-header h2 {
        font-size: 42px;
    }

    .faq-header p {
        font-size: 18px;
    }

    .faq-item summary {
        font-size: 17px;
    }

    .footer-links {
        grid-template-columns: 1fr;
    }
}