/* =====================================================
   NAVBAR
===================================================== */

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

    background:rgba(255,255,255,.85);

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

    transition:.4s ease;
}

.navbar.scrolled{

    background:rgba(255,255,255,.95);

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

    border-bottom:1px solid rgba(0,0,0,.08);

    box-shadow:
    0 10px 30px rgba(0,0,0,.08);
}

.nav-container{

    height:90px;

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

}

.logo img{

    height:65px;
    width:auto;

}

.nav-menu{

    display:flex;
    gap:2rem;

}

.nav-menu a{

    font-weight:500;
    transition:.3s;

}

.nav-menu a:hover{

    color:var(--primary);

}

.btn-nav{

    background:var(--primary);
    color:white;

    padding:.9rem 1.5rem;

    border-radius:12px;

    font-weight:600;

    transition:.35s;

}

.btn-nav:hover{

    transform:translateY(-3px);

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

}

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

.page-header{

    min-height:100vh;

    display:flex;
    align-items:center;

    background:
    linear-gradient(
        135deg,
        #ffffff,
        #f5f5f5
    );

}

.page-header-content{

    display:grid;
    grid-template-columns:1fr 1fr;

    gap:6rem;

    align-items:center;

}

.page-header-text{

    max-width:650px;

}

.section-tag{
    display:inline-block;
    padding:.7rem 1.2rem;
    border-radius:999px;
    background:#f0f0f0;
    color:var(--primary);
    font-weight:600;
    margin-bottom:1.5rem;
}

.page-header h1{
    font-size: clamp(3.8rem, 4vw, 4rem);
    font-weight: 800;
    line-height:     1.09;
    margin-bottom: 1.5rem;
    letter-spacing: -1.9px;
}

.page-header p{
    color:var(--gray);
    font-size:1.1rem;
    line-height:1.5;

}

.page-header-image img{

    height:560px;

    object-fit:cover;

    border-radius:24px;

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

}

/* =====================================================
   INTRODUCCIÓN
===================================================== */

.services-intro{

    background:white;

}

.intro-content{

    text-align:center;

    max-width:900px;

}

.section-title{

    font-size:2.8rem;

    margin:1rem 0 2rem;

}

.intro-content p{

    color:var(--gray);

    line-height:1.9;

    font-size:1.1rem;

}

/* =====================================================
   SERVICIOS
===================================================== */

.services{

    background:#fafafa;

}

.services-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:2rem;

}

.service-card{

    background:white;

    border-radius:24px;

    overflow:hidden;

    box-shadow:
    0 10px 30px rgba(0,0,0,.06);

    transition:.35s;

}

.service-card:hover{

    transform:translateY(-10px);

    box-shadow:
    0 20px 40px rgba(139,0,0,.18);

}

.service-card img{

    width:100%;

    height:280px;

    object-fit:cover;

    transition:.45s;

}

.service-card:hover img{

    transform:scale(1.06);

}

.service-info{

    padding:2rem;

}

.service-info h3{

    font-size:1.4rem;

    margin-bottom:1rem;

    color:var(--primary);

}

.service-info p{

    color:var(--gray);

    line-height:1.8;

}

/* =====================================================
   SERVICIOS DETALLADOS
===================================================== */

.services-list{

    background:white;

}

.list-grid{

    margin-top:4rem;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:2rem;

}

.list-card{

    background:white;

    padding:2.5rem;

    border-radius:24px;

    box-shadow:
    0 10px 30px rgba(0,0,0,.06);

    transition:.35s;

    border-top:4px solid transparent;

}

.list-card:hover{

    transform:translateY(-8px);

    border-top:4px solid var(--primary);

    box-shadow:
    0 20px 40px rgba(139,0,0,.12);

}

.list-card h3{

    color:var(--primary);

    font-size:1.5rem;

    margin-bottom:1.5rem;

}

.list-card ul{

    list-style:none;

}

.list-card ul li{

    position:relative;

    padding-left:1.6rem;

    margin-bottom:1rem;

    color:var(--gray);

    line-height:1.7;

}

.list-card ul li::before{

    content:"";

    position:absolute;

    left:0;
    top:11px;

    width:8px;
    height:8px;

    border-radius:50%;

    background:var(--primary);

}

/* =====================================================
   VENTAJAS
===================================================== */

.advantages{

    background:#fafafa;

}

.section-center{

    text-align:center;

    margin-bottom:4rem;

}

.section-center h2{

    font-size:2.7rem;

}

.advantages-grid{

    display:grid;

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

    gap:2rem;

}

.advantage-card{

    background:white;

    padding:2.5rem;

    border-radius:22px;

    text-align:center;

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

    transition:.35s;

}

.advantage-card:hover{

    transform:translateY(-10px);

    box-shadow:
    0 18px 35px rgba(139,0,0,.16);

}

.advantage-card h3{

    color:var(--primary);

    margin-bottom:1rem;

    font-size:1.35rem;

}

.advantage-card p{

    color:var(--gray);

    line-height:1.8;

}

/* =====================================================
CTA
===================================================== */

.cta-section{
    background:#fff;
    padding-top:3rem;
    padding-bottom:6rem;

}

.cta-card{
    background:
    linear-gradient(
        135deg,
        #8B0000,
        #650000
    );

    border-radius:30px;
    padding:4rem 5rem;
    display:grid;
    grid-template-columns:2fr auto;
    align-items:center;
    gap:4rem;
    box-shadow:
    0 20px 50px rgba(0,0,0,.18);

}

.cta-content h2{
    color:#fff;
    font-size:3rem;
    line-height:1.2;
    margin:1rem 0;
}

.cta-content p{
    color:rgba(255,255,255,.88);
    font-size:1.1rem;
    line-height:1.9;
    max-width:650px;

}

.cta-action{
    display:flex;
    justify-content:center;
    align-items:center;
}

.cta-section .btn-primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    color:var(--primary);
    padding:1rem 2.3rem;
    border-radius:14px;
    font-weight:700;
    white-space:nowrap;
    transition:.35s;

}

.cta-section .btn-primary:hover{
    transform:translateY(-5px);
    box-shadow:
    0 0 35px rgba(255,255,255,.35);
}

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

.footer{

    background:#111111;

    color:white;

    text-align:center;

    padding:4rem 0;

}

.footer h3{

    margin-bottom:1rem;

}

.footer p{

    opacity:.7;

}

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

@media(max-width:1100px){

.services-grid,
.list-grid{

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

}

.advantages-grid{

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

}

}


@media(max-width:900px){

.page-header-content{

    grid-template-columns:1fr;

    text-align:center;

    gap:3rem;

}

.page-header-image img{

    height:auto;

}

.nav-menu{

    display:none;

}

}


@media(max-width:768px){

.services-grid,
.list-grid,
.advantages-grid{

    grid-template-columns:1fr;

}

.page-header h1{

    font-size:2.6rem;

}

.section-title{

    font-size:2.1rem;

}

.cta-section h2{

    font-size:2.2rem;

}

}