.hero-signing a{
    color:#fff !important;
    text-decoration:none;
}

.hero-signing a:hover{
    color:#d7f3ff !important;
}
:root{
    --verde:#158f77;
    --verde-claro:#27b28d;

    --petroleo:#0f4c5c;
    --petroleo-oscuro:#0a3743;
    --petroleo-claro:#2d6f80;

    --ocre:#b88718;
    --ocre-claro:#d2a53b;

    --rojo:#b3262d;

    --gris-900:#121212;
    --gris-800:#2c3136;
    --gris-700:#59636d;
    --gris-300:#d5d9dd;
    --gris-200:#e7eaee;
    --gris-100:#f7f9fb;

    --blanco:#ffffff;
	
    --negro:#111111;
}

body{
    background:#fafafa;
    color:var(--gris-800);
    overflow-x:hidden;
}

section{
    padding:90px 0;
}

.section-title{
    position:relative;
    font-weight:800;
    margin-bottom:20px;
}

.section-title::after{
    content:'';
    display:block;
    width:80px;
    height:4px;
    background:linear-gradient(
        90deg,
        var(--petroleo),
        var(--verde),
        var(--ocre)
    );
    border-radius:50px;
}

.hero-signing{
    width:100%;
    min-height:650px;
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;

    background:

    radial-gradient(
        circle at 15% 15%,
        rgba(21,143,119,.45),
        transparent 35%
    ),

    radial-gradient(
        circle at 85% 80%,
        rgba(15,76,92,.70),
        transparent 42%
    ),

    radial-gradient(
        circle at 50% 0%,
        rgba(184,135,24,.18),
        transparent 50%
    ),

    radial-gradient(
        circle at 92% 18%,
        rgba(179,38,45,.10),
        transparent 28%
    ),

    linear-gradient(
        135deg,
        #071b22,
        #0c3038,
        #13474b
    );
}

.hero-signing::before{
    content:'';
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            120deg,
            transparent 0%,
            rgba(255,255,255,.03) 48%,
            rgba(255,255,255,.08) 50%,
            rgba(255,255,255,.03) 52%,
            transparent 100%
        );
    background-size:40px 40px;
    opacity:.35;
}

.hero-signing h1{
    font-size:clamp(2.5rem,5vw,4.5rem);
    font-weight:900;
    line-height:1.1;
    animation:slideUp .8s ease;
}

.hero-signing .lead{
    font-size:1.2rem;
    opacity:.92;
    animation:slideUp 1.1s ease;
}

.hero-signing .btn{
    animation:slideUp 1.3s ease;
}
/* ---------- GENERAL ---------- */

.codesign-section{
    padding:80px 0;
}

.codesign-badge{
    display:inline-block;
    padding:8px 18px;
    border-radius:40px;
    background:#e9f8f3;
    color:#138b72;
    border:1px solid #b9e7d7;
    font-size:13px;
    font-weight:700;
    letter-spacing:.5px;
    text-transform:uppercase;
    margin-bottom:20px;
}

.codesign-title{
    font-size:52px;
    font-weight:800;
    color:#16323f;
}

.codesign-title span{
    color:#ed1c24;
}

.codesign-subtitle{
    font-size:20px;
    line-height:1.8;
    margin:auto;
}

/* ---------- CARDS ---------- */

.cs-card{
    background:#fff;
    border-radius:18px;
    padding:35px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    height:100%;
    border-left:6px solid;
    border-image:linear-gradient(
        to bottom,
        #0f4c5c,
        #158f77,
        #b88718,
        #ED1C24
    ) 1;

}

.cs-card:hover{
    box-shadow:0 18px 35px rgba(0,0,0,.12);
}

.cs-card h4{
    font-weight:700;
    color:#123d4a;
    margin-bottom:18px;
}

.cs-card hr{
    border-top:2px solid #158f77;
    width:70px;
    margin:15px 0 20px;
}

.cs-card p{
    color:#666;
    line-height:1.8;
    margin:0;
}


/* ---------- ICONOS ---------- */

.cs-icon{
    width:58px;
    height:58px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    margin-right:12px;
    color:#fff;
}

.cs-icon.green{
    background:#158f77;
}

.cs-icon.blue{
    background:#0f4c5c;
}

.cs-icon.ocre{
    background:#b88718;
}

/* ---------- PASOS ---------- */

.cs-process{
    background:#fff;
    padding:45px;
    border-radius:14px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.cs-step{
    text-align:center;
    padding:20px;
}

.cs-step-circle{

    width:80px;
    height:80px;

    margin:auto;
    margin-bottom:20px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:linear-gradient(135deg,#158f77,#0f4c5c);

    color:#fff;
    font-size:32px;

    box-shadow:0 10px 25px rgba(0,0,0,.18);

}

.cs-step h5{
    font-weight:700;
    color:#16323f;
    margin-bottom:15px;
}

.cs-step p{
    color:#666;
    line-height:1.7;
}

/* ---------- BENEFICIOS ---------- */
.cs-benefit{

    border-radius:14px;

    padding:35px;

    color:#fff;

    height:100%;

    transition:.3s;

    box-shadow:0 10px 25px rgba(0,0,0,.12);

}

.cs-benefit:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 35px rgba(0,0,0,.18);

}

/* Colores */

.cs-benefit.green{
    background:#158f77;
}

.cs-benefit.blue{
    background:#0f4c5c;
}

.cs-benefit.ocre{
    background:#b88718;
}

/* Icono */

.cs-benefit .benefit-icon{

    width:64px;
    height:64px;

    border-radius:50%;

    background:rgba(255,255,255,.18);

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:25px;

    font-size:30px;

    color:#fff;

}

/* Título */

.cs-benefit h4{

    color:#fff;

    font-size:24px;

    font-weight:700;

    margin-bottom:18px;

}

/* Texto */

.cs-benefit p{

    color:rgba(255,255,255,.90);

    line-height:1.8;

    margin:0;

}
.cs-benefit::before{

    content:"";

    display:block;

    width:70px;
    height:4px;

    background:#ED1C24;

    border-radius:20px;

    margin-bottom:25px;

}

/* ---------- TITULOS ---------- */

.cs-section-title{

    text-align:center;

    font-size:38px;

    font-weight:800;

    color:#16323f;

    margin-bottom:50px;

}

.cs-section-title:after{

    content:"";

    display:block;

    width:90px;

    height:4px;

    margin:18px auto 0;

    border-radius:20px;

    background:linear-gradient(90deg,#0f4c5c,#158f77,#b88718);

}

/* ---------- RESPONSIVE ---------- */

@media(max-width:991px){

    .codesign-title{
        font-size:40px;
    }

    .codesign-subtitle{
        font-size:18px;
    }

    .cs-process{
        padding:30px;
    }

}

@media(max-width:768px){

    .codesign-title{
        font-size:32px;
    }

    .cs-section-title{
        font-size:30px;
    }

    .cs-card,
    .cs-benefit{
        margin-bottom:25px;
    }

}
 .pasos{
    margin-top:30px;
    padding-left:22px;
}

.pasos li{

    margin-bottom:22px;

    color:#555;

    line-height:1.7;

}

.pasos strong{

    display:block;

    color:#16323f;

    font-size:16px;

    margin-bottom:5px;

}

.pasos li::marker{

    color:#158f77;

    font-weight:bold;

} 
.table-codesign{

    border-radius:14px;

    overflow:hidden;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    background:#fff;

}

.table-codesign table{

    margin-bottom:0;

}

.table-codesign thead{

    background:#0f4c5c;

    color:#fff;

}

.table-codesign thead th{

    border:none;

    font-size:17px;

    padding:18px;

    text-align:center;

}

.table-codesign tbody td{

    padding:18px;

    vertical-align:middle;

}

.table-codesign tbody tr:nth-child(even){

    background:#f8fafb;

}

.table-codesign tbody tr:hover{

    background:#eef8f6;

    transition:.25s;

}

.table-codesign tbody td:first-child{

    font-weight:700;

    color:#16323f;

    width:22%;

    border-left:4px solid #ED1C24;

}
.cs-cta{

    background:linear-gradient(135deg,#0f4c5c,#16323f);

    color:#fff;

    border-radius:18px;

    padding:55px;

    position:relative;

    overflow:hidden;

    box-shadow:0 20px 45px rgba(0,0,0,.18);

}

.cs-cta::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:5px;

    background:linear-gradient(
        90deg,
        #158f77,
        #b88718,
        #ED1C24
    );

}

.cs-mini-title{

    display:inline-block;

    padding:6px 14px;

    border-radius:30px;

    background:rgba(255,255,255,.12);

    color:#fff;

    font-size:.85rem;

    font-weight:600;

    margin-bottom:15px;

}



.cs-cta p{

    color:rgba(255,255,255,.88);

    font-size:17px;

    line-height:1.8;

    margin-bottom:0;

}

.btn-cotizar{

    background:#ED1C24;

    border:2px solid #ED1C24;

    border-radius:50px;

    padding:14px 32px;

    font-weight:700;

    transition:.3s;

}

.btn-cotizar:hover{

    background:#c4171e;

    border-color:#c4171e;

    transform:translateY(-2px);

    color:#fff;

}

.cs-cta small{

    color:rgba(255,255,255,.75);

}



.cs-accordion .accordion-button{
    font-size:1.9rem !important;
    font-weight:600;
    padding:1.2rem 1.5rem;
    min-height:60px;
    color:#14303d;
}

.cs-accordion .accordion-button i{
    font-size:1.7rem;
    margin-right:.75rem;
}

.cs-accordion .accordion-body{
    font-size:1.7rem;
    line-height:1.8;
    padding:1.5rem;
}

.cs-accordion pre{
0    margin-bottom:0;
}