/* =====================================================
   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;

}

.page-header h1{

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

    font-weight:800;

    line-height:1.08;

    margin-bottom:1.5rem;

    letter-spacing:-1.5px;

}

.page-header p{

    color:var(--gray);

    line-height:1.9;

    font-size:1.1rem;

}

.page-header-image img{

    width:100%;

    height:560px;

    object-fit:cover;

    border-radius:24px;

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

}

.section-tag{

    display:inline-block;

    padding:.7rem 1.3rem;

    background:#f2f2f2;

    border-radius:999px;

    color:var(--primary);

    font-weight:600;

    margin-bottom:1.5rem;

}



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

.projects-intro{

    background:white;

}

.section-center{

    max-width:800px;

    margin:auto;

    text-align:center;

}

.section-center h2{

    font-size:2.6rem;

    margin-bottom:1.2rem;

}

.section-center p{

    color:var(--gray);

    line-height:1.9;

    font-size:1.08rem;

}
/* =====================================================
   GALERÍA
===================================================== */

.gallery{

    overflow:hidden;

    position:relative;

    padding:1rem 0;

    margin-bottom:2rem;

}

.gallery-track{

    display:flex;

    gap:2rem;

    width:max-content;

}

.gallery-left .gallery-track{

    animation:scroll-left 45s linear infinite;

}

.gallery-right .gallery-track{

    animation:scroll-right 45s linear infinite;

}
/* Pausar al pasar el mouse */

.gallery:hover .gallery-track{

    animation-play-state:paused;

}

/* =====================================================
   TARJETAS
===================================================== */

.gallery-item{

    flex-shrink:0;

    width:330px;

    height:240px;

    border-radius:22px;

    overflow:hidden;

    background:white;

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

    transition:
    transform .45s ease,
    box-shadow .45s ease;

}

.gallery-item:hover{

    transform:
    translateY(-8px);

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

}

.gallery-item img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:
    transform .8s ease;

}

.gallery-item:hover img{

    transform:scale(1.08);

}

/* =====================================================
   EFECTO BRILLO
===================================================== */

.gallery-item{

    position:relative;

}

.gallery-item::before{

    content:"";

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        120deg,
        transparent 35%,
        rgba(255,255,255,.28) 50%,
        transparent 65%
    );

    transform:translateX(-120%);

    transition:transform .9s ease;

    z-index:2;

}

.gallery-item:hover::before{

    transform:translateX(120%);

}

/* =====================================================
   SOMBRA INTERNA
===================================================== */

.gallery-item::after{

    content:"";

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        to top,
        rgba(0,0,0,.18),
        transparent 35%
    );

    pointer-events:none;

}

/* =====================================================
   ANIMACIONES
===================================================== */

@keyframes scroll-left{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(calc(-50% - 1rem));

    }

}

@keyframes scroll-right{

    from{

        transform:translateX(calc(-50% - 1rem));

    }

    to{

        transform:translateX(0);

    }

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

.cta-section{

    padding:120px 0;

    background:#fafafa;

}

.cta-card{

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

    align-items:center;

    gap:3rem;

    padding:4rem;

    border-radius:30px;

    background:
    linear-gradient(
        135deg,
        #8B0000,
        #650000
    );

    color:white;

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

}

.cta-card h2{

    font-size:2.8rem;

    line-height:1.15;

    margin-bottom:1rem;

}

.cta-card p{

    max-width:650px;

    line-height:1.9;

    opacity:.92;

}

.cta-card .btn-primary{

    background:white;

    color:var(--primary);

    padding:1rem 2rem;

    border-radius:16px;

    font-weight:700;

    white-space:nowrap;

    transition:.35s ease;

}

.cta-card .btn-primary:hover{

    transform:translateY(-4px);

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

}
/* =====================================================
   EXPERIENCIA
===================================================== */

.experience{

    padding:120px 0;

    background:#fafafa;

}

.experience-card{

    max-width:1000px;

    margin:auto;

    background:white;

    border-radius:30px;

    padding:4rem;

    text-align:center;

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

}

.experience-subtitle{

    display:inline-block;

    padding:.5rem 1rem;

    border-radius:50px;

    background:rgba(139,0,0,.08);

    color:var(--primary);

    font-weight:600;

    margin-bottom:1.5rem;

}

.experience-card h2{

    font-size:2.8rem;

    margin-bottom:1.5rem;

    line-height:1.2;

}

.experience-card p{

    max-width:760px;

    margin:auto;

    color:#666;

    line-height:1.9;

    font-size:1.08rem;

}

.experience-data{

    margin-top:4rem;

    display:grid;

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

    gap:2rem;

}

.data-item{

    padding:2rem;

    border-radius:20px;

    background:#fafafa;

    transition:.35s;

}

.data-item:hover{

    transform:translateY(-6px);

    background:white;

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

}

.data-item h3{

    font-size:3rem;

    color:var(--primary);

    margin-bottom:.5rem;

}

.data-item span{

    color:#666;

}
@media(max-width:900px){

    .experience-card{

        padding:3rem 2rem;

    }

    .experience-card h2{

        font-size:2.1rem;

    }

    .experience-data{

        grid-template-columns:1fr;

    }

}

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

.footer{

    background:#111111;

    color:white;

    text-align:center;

    padding:4rem 0;

}

.footer h3{

    margin-bottom:1rem;

    font-size:1.2rem;

}

.footer p{

    opacity:.75;

    line-height:1.8;

}



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

@media(max-width:1100px){

.page-header-content{

    grid-template-columns:1fr;

    gap:4rem;

}

.page-header-image{

    order:-1;

}

.page-header-image img{

    height:420px;

}

.gallery-item{

    width:340px;

    height:240px;

}

.cta-card{

    grid-template-columns:1fr;

    text-align:center;

}

}



@media(max-width:768px){

.page-header{

    min-height:auto;

    padding-top:150px;

}

.page-header h1{

    font-size:2.8rem;

}

.section-center h2{

    font-size:2rem;

}

.gallery-item{

    width:290px;

    height:210px;

}

.gallery-track{

    gap:1.2rem;

}

.cta-card{

    padding:2.5rem;

}

.cta-card h2{

    font-size:2rem;

}

.cta-card p{

    font-size:1rem;

}

}



@media(max-width:500px){

.page-header h1{

    font-size:2.2rem;

}

.page-header p{

    font-size:1rem;

}

.gallery-item{

    width:250px;

    height:180px;

}

.cta-card{

    padding:2rem;

}

.cta-card h2{

    font-size:1.8rem;

}

}
