.navbar{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    padding:20px 40px;
    box-sizing:border-box;
    display:flex;
    justify-content:center;
    z-index:10;
    background:rgb(255, 255, 255);
    backdrop-filter:blur(10px);
    transform:translateY(-100%);
    opacity:0;
    transition:all 0.6s ease;
}

.navbar.show{
    transform:translateY(0);
    opacity:1;
}

.nav-container{
    width:100%;
    max-width:1200px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.logo{
    font-size:18px;
    letter-spacing:4px;
    font-weight:600;
}

.logo img{
    width:120px;
    max-width:100%;
}

.nav-links{
    list-style:none;
    display:flex;
    gap:30px;
    margin:0;
    padding:0;
}

.nav-links a{
    text-decoration:none;
    color:#ff671f;
    font-size:16px;
    letter-spacing:2px;
}

.nav-links a:hover{
    color: #ff1f1f;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-decoration-color: #ff1f1f;
    text-underline-offset: 10px;
}

.menu-toggle{
    display:none;
    flex-direction:column;
    cursor:pointer;
    gap:5px;
}

.menu-toggle span{
    width:25px;
    height:3px;
    background:black;
    display:block;
    transition:.3s;
}

body{
    margin:0;
    font-family: 'Inter', sans-serif;
    background:#fff;
}

.hero{
    position:sticky;
    top:0;
    height:100vh;
    overflow:hidden;
    z-index:1;
}

.image-bg{
    position:absolute;
    width:100%;
    height:100%;
    background-image:url("img/Imagen\ completa.png");
    background-size:cover;
    background-position:center;
    opacity:30%;
}

.doors{
    position:absolute;
    width:100%;
    height:100%;
}

.door{
    position:absolute;
    width:100%;
    height:100%;
    background-image:url("img/Imagen\ completa.png");
    background-size:cover;
    background-position:center;
}

.left{
    clip-path:polygon(0 0,50% 0,50% 100%,0 100%);
}

.right{
    clip-path:polygon(50% 0,100% 0,100% 100%,50% 100%);
}

.left::after,
.right::after{
    content:"";
    position:absolute;
    top:0;
    width:100%;
    height:100%;
    pointer-events:none;
}

.left::after{
    right:0;
    background:linear-gradient(to right,transparent,rgba(0,0,0,0.25));
}

.right::after{
    left:0;
    background:linear-gradient(to left,transparent,rgba(0,0,0,0.25));
}

.content{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    text-align:center;
    z-index:3;
}

.title{
    font-size:clamp(40px,8vw,80px);
    letter-spacing:clamp(4px,2vw,12px);
    margin:0;
    opacity:0;
    transform:translateY(40px);
    transition:all .6s ease;
}

.subtitle{
    margin-top:20px;
    font-size: clamp(20px, 2.5vw, 28px);
    opacity:0;
    transform:translateY(40px);
    transition:all .6s ease;
    color: #1e293b;
}

.logoSubtitle img{
    width: 320px;
    height: 130px;
    transition:all .6s ease;
}

.spacer{
    height:110vh;
}

.dates{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:40px 15px;
    background:#f5f5f5;
    position:relative;
    z-index:5;
    box-sizing:border-box;
}

.dates-title{
    font-size:32px;
    margin-bottom:60px;
}

.box{
    max-width:1000px;
    width:100%;
    background:white;
    padding:60px;
    border-radius:10px;
    box-shadow:0 20px 40px rgba(0,0,0,0.1);
    text-align:center;
    box-sizing:border-box;
}

.calendly-inline-widget{
    width:100%;
    max-width:100%;
    min-width:0;
    height:900px;
}

.contact{
    background:#ffffff;
    padding:120px 10%;
    text-align:center;
    position:relative;
    z-index:5;
}

.contact-title{
    font-size:32px;
    margin-bottom:60px;
}

.contact iframe{
    width:90%;
    height:500px;
}

.contact-section{
    padding:100px 10%;
    background:#f5f5f5;
    text-align:center;
}

.contact-title{
    font-size:32px;
    letter-spacing:3px;
    margin-bottom:60px;
}

.contact-cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:30px;
    max-width:1100px;
    margin:auto;
}

.contact-card{
    background:white;
    padding:35px 25px;
    border-radius:10px;
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
    transition:all .3s ease;
}

.contact-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 40px rgba(0,0,0,0.12);
}

.contact-card .icon{
    width:55px;
    height:55px;
    margin:auto;
    margin-bottom:15px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ff671f20;
    color:#ff671f;
    border-radius:50%;
}

.contact-card h3{
    margin-bottom:10px;
    font-size:18px;
}

.contact-card p{
    font-size:14px;
    color:#555;
    line-height:1.6;
    word-break:break-word;
    overflow-wrap:anywhere;
}

.contact-card a{
    text-decoration: none;
    font-size:14px;
    color:#555;
    line-height:1.6;
    word-break:break-word;
    overflow-wrap:anywhere;
}

.gallery{
    background:#ffffff;
    padding:120px 10%;
    text-align:center;
    position:relative;
    z-index:5;
}

.gallery-title{
    font-size:32px;
    margin-bottom:60px;
}

.swiper{
    max-width:1200px;
    margin:auto;
}

.swiper-slide{
    border-radius:10px;
    overflow:hidden;
}

.swiper-slide img{
    width:95%;
    height:165px;
}

.footer{
    background:rgba(56, 56, 56, 0.95);
    backdrop-filter:blur(10px);
    color:white;
    padding:60px 10% 30px;
    position:relative;
    z-index:10;
}

.footer-container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
    gap:40px;
    margin-bottom:40px;
}

.footer-logo img{
    width: 220px;
    height: 90px;
}

.footer-logo p{
    color:#bbb;
    font-size:14px;
}

.footer-links h4,
.footer-contact h4{
    margin-bottom:15px;
    font-size:16px;
}

.footer-links ul{
    list-style:none;
    padding:0;
}

.footer-links li{
    margin-bottom:10px;
}

.footer-links a{
    text-decoration:none;
    color:#bbb;
    transition:.3s;
}

.footer-links a:hover{
    color:white;
}

.footer-contact p{
    color:#bbb;
    font-size:14px;
    margin-bottom:8px;
}

.footer-bottom{
    border-top:1px solid #333;
    padding-top:20px;
    text-align:center;
    font-size:13px;
    color:#888;
}

@media (max-width:768px){
    .spacer{
        height:120vh;
    }

    .logo img{
        width:100px;
    }

    .hero{
        height:100svh;
    }

    .content{
        width:90%;
    }

    .menu-toggle{
        display:flex;
    }

    .navbar{
        padding:15px 20px;
    }

    .nav-links{
        position:absolute;
        top:70px;
        left:0;
        width:100%;
        background:white;
        flex-direction:column;
        align-items:center;
        max-height:0;
        overflow:hidden;
        transition:max-height .4s ease;
    }

    .nav-links li{
        padding:15px 0;
    }

    .nav-links.show{
        max-height:300px;
    }

    .box{
        padding:25px 15px;
    }

    .calendly-inline-widget{
        width:100%;
        min-width:0;
        height:850px;
    }

    .logoSubtitle img {
        width: 220px;
        height: 100px;
    }

    .footer{
        padding:50px 30px;
    }

    .footer-container{
        text-align:center;
    }
}

@media (max-width:480px){

    .box{
        padding:20px 10px;
    }

    .calendly-inline-widget{
        width:100%;
        height:820px;
    }

    .contact-section{
        padding:70px 20px;
    }

    .contact-title{
        font-size:26px;
    }

}

/* .video-popup{

position:fixed;
top:0;
left:0;

width:100%;
height:100%;

display:flex;
align-items:center;
justify-content:center;

background:rgba(0,0,0,0.45);
backdrop-filter:blur(6px);

z-index:9999;

}

.video-modal{

width:90%;
max-width:720px;

background:black;

border-radius:14px;
overflow:hidden;

box-shadow:0 30px 80px rgba(0,0,0,0.45);

display:flex;
flex-direction:column;

}

.video-modal video{

width:100%;
display:block;

}

.video-close{

padding:16px;

border:none;

background:white;
color:black;

font-size:16px;
font-weight:600;

cursor:pointer;

transition:0.3s;

}

.video-close:hover{

background:black;
color:white;

} */

.video-popup{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(0,0,0,0.45);
    backdrop-filter:blur(6px);
    z-index:9999;
    opacity:0;
    visibility:hidden;
    transition:opacity .5s ease;
}

.video-popup.show{
    opacity:1;
    visibility:visible;
}

.video-modal{
    width:90%;
    max-width:720px;
    background:black;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 30px 80px rgba(0,0,0,0.45);
    display:flex;
    flex-direction:column;
    transform:translateY(40px) scale(.95);
    opacity:0;
    transition:all .6s ease;
}

.video-popup.show .video-modal{
    transform:translateY(0) scale(1);
    opacity:1;
}

.video-modal video{
    width:100%;
    display:block;
}

.video-close{
    padding:16px;
    border:none;
    background:white;
    color:black;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
}

.video-close:hover{
    background:black;
    color:white;
}