:root{
    --accent:#D6C7A1;
    --accent-soft:#B8A57A;
    --border:rgba(214,199,161,.25);
}
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    background:#050505;
    color:#ffffff;
    font-family:'Segoe UI',sans-serif;
    overflow-x:hidden;
}

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

#intro-screen{
    position:fixed;
    inset:0;
    z-index:99999;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:hidden;
}

#bg-video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.intro-overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
        rgba(0,0,0,.55),
        rgba(0,0,0,.75)
    );
}

.intro-content{
    position:relative;
    z-index:10;
    text-align:center;
    padding:20px;
}

.intro-logo{
    width:180px;
    max-width:60vw;

    filter:
    drop-shadow(0 0 10px #D6C7A1)
    drop-shadow(0 0 30px #D6C7A1)
    drop-shadow(0 0 60px #B8A57A);

    animation:logoGlow 3s infinite ease-in-out;
}

@keyframes logoGlow{

    0%,100%{
        filter:
        drop-shadow(0 0 10px rgba(214,199,161,.5))
        drop-shadow(0 0 25px rgba(214,199,161,.35));
    }

    50%{
        filter:
        drop-shadow(0 0 20px rgba(214,199,161,.6))
        drop-shadow(0 0 50px rgba(214,199,161,.3));
    }
}

.intro-content h1{
    margin-top:25px;
    color:#D6C7A1;
    letter-spacing:4px;
    font-size:clamp(2rem,6vw,4rem);
}

.intro-content p{
    margin-top:15px;
    color:#d9d9d9;
    font-size:1rem;
}

#explore-btn{
    margin-top:35px;

    border:none;
    cursor:pointer;

    padding:18px 40px;

    border-radius:60px;

    color:#D6C7A1;

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

    backdrop-filter:blur(25px);

    border:1px solid rgba(214,199,161,.25);

    box-shadow:
    0 0 30px rgba(214,199,161,.15);

    transition:.35s;
}

#explore-btn:hover{
    transform:translateY(-3px);

    box-shadow:
    0 0 40px rgba(214,199,161,.30);
}

/* ==========================
   MAIN
========================== */

#portfolio{
    display:none;
    padding:30px 20px 80px;
}

.hero{
    max-width:1100px;
    margin:auto;
    text-align:center;
}

.logo{
    width:220px;
    max-width:70vw;

    display:block;
    margin:20px auto;

    filter:
    drop-shadow(0 0 20px #D6C7A1)
    drop-shadow(0 0 40px #D6C7A1);
}

.hero-title{
    color:#D6C7A1;
    font-size:clamp(2rem,5vw,4rem);
    letter-spacing:5px;
}

.hero-text{
    max-width:850px;
    margin:25px auto 40px;
    line-height:1.9;
    color:#cfcfcf;
}

/* ==========================
   HEADINGS
========================== */

h2{
    text-align:center;
    margin:70px 0 35px;

    color:#D6C7A1;

    letter-spacing:3px;

    text-transform:uppercase;
}

/* ==========================
   SWIPER
========================== */

.swiper{
    width:100%;
    padding:40px 0 60px;
}

.swiper-slide{

    width:min(85vw,350px);
    height:min(70vw,500px);

    border-radius:30px;

    overflow:hidden;

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

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

    border:1px solid rgba(255,255,255,.15);

    box-shadow:
    0 8px 32px rgba(0,0,0,.45),
    0 0 35px rgba(214,199,161,.12);

    transition:
    transform .4s ease,
    box-shadow .4s ease,
    border-color .4s ease;

    position:relative;
overflow:hidden;
}

.swiper-slide::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:30px;
    border:1px solid rgba(255,255,255,.08);
    pointer-events:none;
}

.swiper-slide:hover{

    transform:translateY(-10px);

    border-color:rgba(214,199,161,.30);

    box-shadow:
    0 12px 40px rgba(0,0,0,.55),
    0 0 45px rgba(214,199,161,.22);
}

.swiper-slide img{

    width:100%;
    height:100%;

    object-fit:cover;

    transition:transform .6s ease;
}

.swiper-slide:hover img{

    transform:scale(1.08);
}
.swiper-slide video{

    width:100%;
    height:100%;
    object-fit:cover;

    cursor:pointer;
}

/* ==========================
   BUTTONS
========================== */

.contact-section{
    text-align:center;
    margin-top:60px;
}

.contact-btn{
    display:inline-block;

    text-decoration:none;

    color:#D6C7A1;

    padding:18px 35px;

    border-radius:50px;

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

    border:
    1px solid rgba(214,199,161,.25);

    backdrop-filter:blur(25px);

    transition:.35s;
}

.contact-btn:hover{
    transform:translateY(-3px);
}

/* ==========================
   MODALS
========================== */

.modal{

    display:none;

    position:fixed;

    inset:0;

    z-index:999999;

    background:
    rgba(0,0,0,.96);

    justify-content:center;
    align-items:center;

    padding:20px;
}

.modal img{

    max-width:95%;
    max-height:95%;

    border-radius:20px;
}

.modal video{

    max-width:95%;
    max-height:95%;

    border-radius:20px;
}

.close-modal,
.close-video{

    position:absolute;

    top:20px;
    right:25px;

    font-size:42px;

    color:#ffffff;

    cursor:pointer;
}

/* ==========================
   FLOATING WHATSAPP
========================== */

.floating-whatsapp{

    position:fixed;

    right:20px;
    bottom:20px;

    z-index:9999;

    text-decoration:none;

    color:#fff;

    background:#1F2937; border:1px solid rgba(214,199,161,.25); color:#D6C7A1;

    padding:14px 20px;

    border-radius:50px;

    font-weight:600;

    box-shadow:
0 0 25px rgba(214,199,161,.18);
}

/* ==========================
   MOBILE
========================== */

@media(max-width:768px){

    .swiper-slide{
        width:82vw;
        height:120vw;
        max-height:520px;
    }

    .hero-text{
        font-size:.95rem;
        padding:0 10px;
    }

    .floating-whatsapp{
        bottom:15px;
        right:15px;
    }
}

.swiper-slide video{
    width:100%;
    height:100%;
    object-fit:cover;
    background:#000;
}

.video-card{
    position:relative;
}

.video-card::after{
    content:"▶";
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    font-size:52px;
    color:white;
    text-shadow:0 0 20px rgba(0,0,0,.7);
    pointer-events:none;
}

.video-card video{
    filter:brightness(.8);
}

.profile-btn{

    display:inline-block;

    text-decoration:none;

    color:#D6C7A1;

    padding:18px 35px;

    border-radius:50px;

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

    border:1px solid rgba(214,199,161,.25);

    backdrop-filter:blur(25px);

    transition:.35s;
}

.profile-btn:hover{

    transform:translateY(-3px);

    box-shadow:
    0 0 25px rgba(214,199,161,.18);
}
