/* =========================================================
   CASIANET - SOPORTE EN LÍNEA
   linea.css
========================================================= */

:root {

    --cn-red: #036eed;
    --cn-red-dark: #036eed;

    --cn-blue: #1c2f53;
    --cn-blue-dark: #0d192d;

    --cn-black: #111111;
    --cn-gray: #667085;
    --cn-light: #f5f7fa;

    --cn-white: #ffffff;
    --cn-border: #e5e7eb;

    --cn-container: 1180px;

    --cn-radius: 16px;

    --cn-shadow:
        0 20px 50px rgba(0,0,0,.08);

    --cn-transition:
        all .3s ease;

}


/* =========================================================
   RESET
========================================================= */

.cn-online-page,
.cn-online-page * {

    box-sizing: border-box;

}


.cn-online-page {

    width: 100%;

    margin: 0;

    padding: 0;

    font-family:
        'Krub',
        Arial,
        sans-serif;

    color: var(--cn-black);

    overflow: hidden;

}


.cn-online-page h1,
.cn-online-page h2,
.cn-online-page h3,
.cn-online-page p {

    margin-top: 0;

}


.cn-online-page a {

    text-decoration: none;

}


.cn-online-container {

    width:
        min(
            calc(100% - 40px),
            var(--cn-container)
        );

    margin:
        0 auto;

}


/* =========================================================
   BUTTONS
========================================================= */

.cn-online-btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 14px;

    min-height: 54px;

    padding:
        0 28px;

    border-radius: 5px;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 1px;

    transition:
        var(--cn-transition);

}


.cn-online-btn span {

    font-size: 20px;

    transition:
        var(--cn-transition);

}


.cn-online-btn:hover span {

    transform:
        translateX(5px);

}


.cn-online-btn-primary {

    background:
        var(--cn-red);

    color:
        #fff;

    box-shadow:
        0 10px 25px
        rgba(37, 143, 229, 0.25);

}


.cn-online-btn-primary:hover {

    background:
        var(--cn-red-dark);

    transform:
        translateY(-3px);

}


.cn-online-btn-outline {

    border:
        1px solid
        rgba(255,255,255,.45);

    color:
        #fff;

}


.cn-online-btn-outline:hover {

    background:
        #fff;

    color:
        var(--cn-blue);

}


.cn-online-btn-white {

    background:
        #fff;

    color:
        var(--cn-blue);

}


.cn-online-btn-dark {

    background:
        var(--cn-blue);

    color:
        #fff;

}


/* =========================================================
   HERO
========================================================= */

.cn-online-hero {

    position: relative;

    min-height:
        650px;

    display:
        flex;

    align-items:
        center;

    background:

        linear-gradient(
            90deg,
            rgba(10,20,38,.98),
            rgba(15,30,55,.85),
            rgba(15,30,55,.35)
        ),

        url("/img/onli1.png");

    background-size:
        cover;

    background-position:
        center;

}


.cn-online-hero-overlay {

    position:
        absolute;

    inset:
        0;

    background:

        radial-gradient(
            circle at 80% 50%,
            rgba(37, 72, 229, 0.25),
            transparent 35%
        );

}


.cn-online-hero-content {

    position:
        relative;

    z-index:
        2;

    width:
        min(700px,100%);

    padding:
        100px 0;

}


.cn-online-eyebrow {

    display:
        inline-block;

    margin-bottom:
        25px;

    color:
        rgba(255,255,255,.7);

    font-size:
        11px;

    font-weight:
        700;

    letter-spacing:
        2.5px;

}


.cn-online-hero-content h1 {

    margin-bottom:
        25px;

    color:
        #fff;

    font-size:
        clamp(42px,5vw,72px);

    line-height:
        1.02;

    font-weight:
        500;

    letter-spacing:
        -2px;

}


.cn-online-hero-content h1 strong {

    display:
        block;

    color:
        var(--cn-red);

    font-weight:
        700;

}


.cn-online-hero-content > p {

    max-width:
        620px;

    margin-bottom:
        35px;

    color:
        rgba(255,255,255,.76);

    font-size:
        16px;

    line-height:
        1.8;

}


.cn-online-hero-buttons {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        14px;

}


.cn-online-hero-price {

    display:
        flex;

    align-items:
        center;

    gap:
        25px;

    margin-top:
        50px;

    padding-top:
        25px;

    border-top:
        1px solid
        rgba(255,255,255,.15);

}


.cn-online-hero-price small {

    display:
        block;

    margin-bottom:
        5px;

    color:
        rgba(255,255,255,.5);

    font-size:
        12px;

    letter-spacing:
        2px;

}


.cn-online-hero-price strong {

    color:
        #fff;

    font-size:
       62px;

}


.cn-online-hero-price sup {

    color:
        var(--cn-red);

    font-size:
        28px;

}


.cn-online-hero-price > span {

    max-width:
        170px;

    color:
        rgba(255,255,255,.55);

    font-size:
        12px;

    line-height:
        1.5;

}


/* =========================================================
   SECTION TITLES
========================================================= */

.cn-online-section-title {

    max-width:
        760px;

    margin-bottom:
        55px;

}


.cn-online-section-title > span {

    display:
        block;

    margin-bottom:
        15px;

    color:
        var(--cn-red);

    font-size:
        11px;

    font-weight:
        700;

    letter-spacing:
        2.5px;

}


.cn-online-section-title h2 {

    margin-bottom:
        20px;

    color:
        var(--cn-blue);

    font-size:
        clamp(35px,4vw,52px);

    line-height:
        1.1;

    font-weight:
        600;

    letter-spacing:
        -1px;

}


.cn-online-section-title h2 strong {

    color:
        var(--cn-red);

}


.cn-online-section-title p {

    color:
        var(--cn-gray);

    font-size:
        15px;

    line-height:
        1.8;

}


.cn-online-center {

    margin-left:
        auto;

    margin-right:
        auto;

    text-align:
        center;

}


/* =========================================================
   OVERVIEW
========================================================= */

.cn-online-overview {

    padding:
        110px 0;

}


.cn-online-feature-grid {

    display:
        grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:
        25px;

}


.cn-online-feature {

    padding:
        35px;

    border:
        1px solid
        var(--cn-border);

    border-radius:
        var(--cn-radius);

    background:
        #fff;

    transition:
        var(--cn-transition);

}


.cn-online-feature:hover {

    transform:
        translateY(-7px);

    box-shadow:
        var(--cn-shadow);

}


.cn-online-feature-icon {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        60px;

    height:
        60px;

    margin-bottom:
        25px;

    border-radius:
        12px;

    background:
        rgba(229,37,41,.08);

}


.cn-online-feature-icon span {

    color:
        var(--cn-red);

    font-weight:
        700;

}


.cn-online-feature h3 {

    margin-bottom:
        12px;

    color:
        var(--cn-blue);

    font-size:
        20px;

}


.cn-online-feature p {

    margin:
        0;

    color:
        var(--cn-gray);

    font-size:
        14px;

    line-height:
        1.7;

}


/* =========================================================
   SERVICES
========================================================= */

.cn-online-services {

    padding:
        110px 0;

    background:
        var(--cn-light);

}


.cn-online-services-grid {

    display:
        grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:
        20px;

}


.cn-online-service-card {

    position:
        relative;

    min-height:
        260px;

    padding:
        30px;

    border-radius:
        var(--cn-radius);

    background:
        #fff;

    overflow:
        hidden;

    transition:
        var(--cn-transition);

}


.cn-online-service-card:hover {

    transform:
        translateY(-7px);

    box-shadow:
        var(--cn-shadow);

}


.cn-online-service-top {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    margin-bottom:
        25px;

}


.cn-online-service-icon {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        58px;

    height:
        58px;

    border-radius:
        50%;

    background:
        var(--cn-blue);

    color:
        #fff;

    font-size:
        22px;

}


.cn-online-service-number {

    color:
        #e8ebef;

    font-size:
        38px;

    font-weight:
        700;

}


.cn-online-service-card h3 {

    margin-bottom:
        12px;

    color:
        var(--cn-blue);

    font-size:
        19px;

}


.cn-online-service-card p {

    margin:
        0;

    color:
        var(--cn-gray);

    font-size:
        13px;

    line-height:
        1.75;

}


/* =========================================================
   PROCESS
========================================================= */

.cn-online-process {

    padding:
        110px 0;

}


.cn-online-process-grid {

    display:
        grid;

    grid-template-columns:
        .9fr 1.1fr;

    gap:
        80px;

    align-items:
        center;

}


.cn-online-process-image {

    min-height:
        620px;

    border-radius:
        20px;

    background:

        linear-gradient(
            145deg,
            rgba(28,47,83,.2),
            rgba(229,37,41,.55)
        ),

        url("https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1200&q=85");

    background-size:
        cover;

    background-position:
        center;

    position:
        relative;

}


.cn-online-image-overlay {

    position:
        absolute;

    left:
        30px;

    bottom:
        30px;

    right:
        30px;

    padding:
        30px;

    border-radius:
        12px;

    background:
        rgba(13,25,45,.9);

    color:
        #fff;

}


.cn-online-image-overlay span {

    display:
        block;

    margin-bottom:
        10px;

    color:
        var(--cn-red);

    font-size:
        10px;

    font-weight:
        700;

    letter-spacing:
        2px;

}


.cn-online-image-overlay strong {

    font-size:
        23px;

    line-height:
        1.3;

}


.cn-online-small-label {

    color:
        var(--cn-red);

    font-size:
        11px;

    font-weight:
        700;

    letter-spacing:
        2px;

}


.cn-online-process-content h2 {

    margin:
        15px 0 20px;

    color:
        var(--cn-blue);

    font-size:
        clamp(35px,4vw,50px);

    line-height:
        1.1;

}


.cn-online-process-content h2 strong {

    color:
        var(--cn-red);

}


.cn-online-process-content > p {

    margin-bottom:
        40px;

    color:
        var(--cn-gray);

    font-size:
        15px;

    line-height:
        1.8;

}


.cn-online-steps {

    display:
        flex;

    flex-direction:
        column;

    gap:
        25px;

}


.cn-online-step {

    display:
        flex;

    gap:
        20px;

}


.cn-online-step-number {

    display:
        flex;

    flex-shrink:
        0;

    align-items:
        center;

    justify-content:
        center;

    width:
        48px;

    height:
        48px;

    border-radius:
        50%;

    background:
        var(--cn-red);

    color:
        #fff;

    font-size:
        12px;

    font-weight:
        700;

}


.cn-online-step h3 {

    margin:
        3px 0 7px;

    color:
        var(--cn-blue);

    font-size:
        16px;

}


.cn-online-step p {

    margin:
        0;

    color:
        var(--cn-gray);

    font-size:
        13px;

    line-height:
        1.6;

}


/* =========================================================
   BENEFIT
========================================================= */

.cn-online-benefit {

    padding:
        30px 0 100px;

}


.cn-online-benefit-box {

    display:
        grid;

    grid-template-columns:
        auto 1fr auto;

    align-items:
        center;

    gap:
        30px;

    padding:
        40px;

    border-radius:
        16px;

    background:
        #fff5f5;

    border:
        1px solid
        rgba(37, 136, 229, 0.15);

}


.cn-online-benefit-icon {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        60px;

    height:
        60px;

    border-radius:
        50%;

    background:
        var(--cn-red);

    color:
        #fff;

    font-size:
        25px;

}


.cn-online-benefit-content > span {

    color:
        var(--cn-red);

    font-size:
        10px;

    font-weight:
        700;

    letter-spacing:
        2px;

}


.cn-online-benefit-content h2 {

    margin:
        7px 0 8px;

    color:
        var(--cn-blue);

    font-size:
        25px;

}


.cn-online-benefit-content p {

    margin:
        0;

    color:
        var(--cn-gray);

    font-size:
        13px;

    line-height:
        1.7;

}


.cn-online-benefit-button {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        10px;

    min-height:
        48px;

    padding:
        0 22px;

    border-radius:
        5px;

    background:
        var(--cn-blue);

    color:
        #fff;

    font-size:
        11px;

    font-weight:
        700;

    letter-spacing:
        1px;

}


/* =========================================================
   PRICING
========================================================= */

.cn-online-pricing {

    padding:
        100px 0;

    background:
        var(--cn-blue);

}


.cn-online-pricing-box {

    display:
        grid;

    grid-template-columns:
        1.3fr .7fr auto;

    align-items:
        center;

    gap:
        50px;

}


.cn-online-pricing-info > span {

    color:
        rgba(255,255,255,.55);

    font-size:
        10px;

    font-weight:
        700;

    letter-spacing:
        2px;

}


.cn-online-pricing-info h2 {

    margin:
        12px 0 15px;

    color:
        #fff;

    font-size:
        clamp(32px,4vw,48px);

    line-height:
        1.1;

}


.cn-online-pricing-info h2 strong {

    color:
        var(--cn-red);

}


.cn-online-pricing-info p {

    margin:
        0;

    color:
        rgba(255,255,255,.6);

    font-size:
        14px;

}


.cn-online-price {

    position:
        relative;

    color:
        #fff;

    white-space:
        nowrap;

}


.cn-online-price small {

    vertical-align:
        top;

    font-size:
        20px;

}


.cn-online-price strong {

    font-size:
        75px;

    line-height:
        .8;

}


.cn-online-price span {

    color:
        var(--cn-red);

    font-size:
        22px;

}


.cn-online-price em {

    display:
        block;

    margin-top:
        12px;

    color:
        rgba(255,255,255,.5);

    font-size:
        9px;

    font-style:
        normal;

    letter-spacing:
        2px;

}


/* =========================================================
   NOTE
========================================================= */

.cn-online-note {

    padding:
        70px 0;

}


.cn-online-note-grid {

    display:
        flex;

    align-items:
        flex-start;

    gap:
        25px;

    padding:
        35px;

    border-left:
        5px solid
        var(--cn-red);

    border-radius:
        10px;

    background:
        #fff6f6;

}


.cn-online-note-icon {

    display:
        flex;

    flex-shrink:
        0;

    align-items:
        center;

    justify-content:
        center;

    width:
        48px;

    height:
        48px;

    border-radius:
        50%;

    background:
        var(--cn-red);

    color:
        #fff;

    font-size:
        22px;

    font-weight:
        700;

}


.cn-online-note-grid > div:last-child > span {

    color:
        var(--cn-red);

    font-size:
        10px;

    font-weight:
        700;

    letter-spacing:
        2px;

}


.cn-online-note-grid h3 {

    margin:
        7px 0 10px;

    color:
        var(--cn-blue);

    font-size:
        20px;

}


.cn-online-note-grid p {

    max-width:
        900px;

    margin:
        0;

    color:
        var(--cn-gray);

    font-size:
        13px;

    line-height:
        1.8;

}


/* =========================================================
   CONTACT
========================================================= */

.cn-online-contact {

    padding:
        110px 0;

    background:
        var(--cn-blue-dark);

}


.cn-online-contact-grid {

    display:
        grid;

    grid-template-columns:
        .8fr 1.2fr;

    gap:
        80px;

}


.cn-online-contact-info > span {

    color:
        var(--cn-red);

    font-size:
        10px;

    font-weight:
        700;

    letter-spacing:
        2px;

}


.cn-online-contact-info h2 {

    margin:
        15px 0 20px;

    color:
        #fff;

    font-size:
        clamp(35px,4vw,50px);

    line-height:
        1.1;

}


.cn-online-contact-info h2 strong {

    color:
        var(--cn-red);

}


.cn-online-contact-info > p {

    margin-bottom:
        35px;

    color:
        rgba(255,255,255,.6);

    font-size:
        14px;

    line-height:
        1.8;

}


.cn-online-contact-item {

    display:
        flex;

    align-items:
        center;

    gap:
        13px;

    margin-bottom:
        13px;

}


.cn-online-contact-item div {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        28px;

    height:
        28px;

    border-radius:
        50%;

    background:
        var(--cn-red);

    color:
        #fff;

    font-size:
        11px;

}


.cn-online-contact-item p {

    margin:
        0;

    color:
        rgba(255,255,255,.7);

    font-size:
        13px;

}


.cn-online-contact-data {

    display:
        flex;

    flex-direction:
        column;

    gap:
        5px;

    margin-top:
        30px;

}


.cn-online-contact-data strong {

    color:
        #fff;

    font-size:
        12px;

}


.cn-online-contact-data span {

    color:
        rgba(255,255,255,.55);

    font-size:
        12px;

    line-height:
        1.7;

}


/* =========================================================
   FORM
========================================================= */

.cn-online-form-wrapper {

    padding:
        45px;

    border-radius:
        16px;

    background:
        #fff;

    box-shadow:
        0 30px 70px
        rgba(0,0,0,.2);

}


.cn-online-form-heading {

    margin-bottom:
        30px;

}


.cn-online-form-heading span {

    color:
        var(--cn-red);

    font-size:
        10px;

    font-weight:
        700;

    letter-spacing:
        2px;

}


.cn-online-form-heading h3 {

    margin:
        7px 0 0;

    color:
        var(--cn-blue);

    font-size:
        29px;

}


.cn-online-form-row {

    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        18px;

}


.cn-online-form-group {

    margin-bottom:
        20px;

}


.cn-online-form-group label {

    display:
        block;

    margin-bottom:
        8px;

    color:
        var(--cn-blue);

    font-size:
        12px;

    font-weight:
        700;

}


.cn-online-form-group input,
.cn-online-form-group select,
.cn-online-form-group textarea {

    width:
        100%;

    border:
        1px solid
        #dfe3e8;

    border-radius:
        6px;

    background:
        #fafafa;

    color:
        #111;

    font-family:
        inherit;

    font-size:
        13px;

    outline:
        none;

    transition:
        var(--cn-transition);

}


.cn-online-form-group input,
.cn-online-form-group select {

    height:
        50px;

    padding:
        0 15px;

}


.cn-online-form-group textarea {

    padding:
        15px;

    resize:
        vertical;

}


.cn-online-form-group input:focus,
.cn-online-form-group select:focus,
.cn-online-form-group textarea:focus {

    border-color:
        var(--cn-red);

    background:
        #fff;

    box-shadow:
        0 0 0 3px
        rgba(229,37,41,.08);

}


.cn-online-form-button {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        14px;

    width:
        100%;

    height:
        55px;

    border:
        0;

    border-radius:
        5px;

    background:
        var(--cn-red);

    color:
        #fff;

    cursor:
        pointer;

    font-family:
        inherit;

    font-size:
        11px;

    font-weight:
        700;

    letter-spacing:
        1px;

}


.cn-online-form-button span {

    font-size:
        20px;

}


.cn-online-form-button:hover {

    background:
        var(--cn-red-dark);

}


.cn-online-form-disclaimer {

    margin:
        14px 0 0;

    color:
        #999;

    font-size:
        10px;

    line-height:
        1.5;

    text-align:
        center;

}


/* =========================================================
   FINAL CTA
========================================================= */

.cn-online-final {

    padding:
        110px 0;

    background:
        var(--cn-red);

    text-align:
        center;

}


.cn-online-final-content {

    max-width:
        760px;

    margin:
        auto;

}


.cn-online-final-content > span {

    color:
        rgba(255,255,255,.6);

    font-size:
        10px;

    font-weight:
        700;

    letter-spacing:
        3px;

}


.cn-online-final-content h2 {

    margin:
        15px 0;

    color:
        #fff;

    font-size:
        clamp(38px,5vw,58px);

    line-height:
        1.1;

}


.cn-online-final-content p {

    margin-bottom:
        30px;

    color:
        rgba(255,255,255,.8);

    font-size:
        15px;

}


.cn-online-final-content .cn-online-btn-dark:hover {

    background:
        #081426;

    transform:
        translateY(-3px);

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:1000px) {


    .cn-online-services-grid {

        grid-template-columns:
            repeat(2,1fr);

    }


    .cn-online-process-grid {

        grid-template-columns:
            1fr;

        gap:
            50px;

    }


    .cn-online-process-image {

        min-height:
            450px;

    }


    .cn-online-pricing-box {

        grid-template-columns:
            1fr;

        text-align:
            center;

    }


    .cn-online-price {

        justify-self:
            center;

    }


    .cn-online-pricing-box .cn-online-btn {

        justify-self:
            center;

    }


    .cn-online-contact-grid {

        grid-template-columns:
            1fr;

        gap:
            50px;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:700px) {


    .cn-online-container {

        width:
            calc(100% - 30px);

    }


    .cn-online-hero {

        min-height:
            auto;

        background-position:
            65% center;

    }


    .cn-online-hero-content {

        padding:
            80px 0;

    }


    .cn-online-hero-content h1 {

        font-size:
            42px;

    }


    .cn-online-hero-buttons {

        flex-direction:
            column;

    }


    .cn-online-btn {

        width:
            100%;

    }


    .cn-online-hero-price {

        align-items:
            flex-start;

    }


    .cn-online-overview,
    .cn-online-services,
    .cn-online-process,
    .cn-online-contact {

        padding:
            75px 0;

    }


    .cn-online-feature-grid,
    .cn-online-services-grid {

        grid-template-columns:
            1fr;

    }


    .cn-online-section-title h2 {

        font-size:
            35px;

    }


    .cn-online-process-image {

        min-height:
            420px;

    }


    .cn-online-benefit {

        padding:
            20px 0 75px;

    }


    .cn-online-benefit-box {

        grid-template-columns:
            1fr;

        padding:
            30px;

    }


    .cn-online-benefit-button {

        justify-self:
            start;

    }


    .cn-online-price strong {

        font-size:
            65px;

    }


    .cn-online-note-grid {

        flex-direction:
            column;

        padding:
            30px 25px;

    }


    .cn-online-form-wrapper {

        padding:
            30px 20px;

    }


    .cn-online-form-row {

        grid-template-columns:
            1fr;

        gap:
            0;

    }


    .cn-online-final {

        padding:
            80px 0;

    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width:400px) {


    .cn-online-hero-content h1 {

        font-size:
            37px;

    }


    .cn-online-hero-price {

        flex-direction:
            column;

        gap:
            8px;

    }


    .cn-online-form-wrapper {

        padding:
            25px 16px;

    }

}