@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500&family=Open+Sans:wght@300;400;600&display=swap');

:root{
    --gold:#b8a077;
    --dark:#161616;
    --grey:#ececec;
    --text:#444444;
}

/* ========================================
   GLOBAL
======================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Open Sans',sans-serif;
    color:var(--text);
    background:#ffffff;
    overflow-x:hidden;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

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

.hero-video{
    position:relative;
    width:100%;
    height:100vh;
    overflow:hidden;
    background:#000;
}

.video-container{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}

.video-container iframe{
    position:absolute;
    top:50%;
    left:50%;
    width:177.77777778vh;
    height:56.25vw;
    min-width:100%;
    min-height:100%;
    transform:translate(-50%, -50%);
    pointer-events:auto;
}

.hero-overlay{
    position:relative;
    z-index:2;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.35);

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;
    color:#fff;

    padding:20px;
}

.hero-overlay h1{
    font-family:'Oswald',sans-serif;
    font-size:72px;
    letter-spacing:12px;
    text-transform:uppercase;
    font-weight:400;

    margin-bottom:20px;
}

.hero-overlay p{
    font-size:22px;
    margin-bottom:40px;
}

.hero-btn{
    border:2px solid #fff;
    color:#fff;
    padding:15px 40px;
    font-family:'Oswald',sans-serif;
    letter-spacing:4px;
    text-transform:uppercase;
    transition:0.3s ease;
}

.hero-btn:hover{
    background:#fff;
    color:#000;
}

/* ========================================
   SECTIONS
======================================== */

.ombara-section{
    padding:100px 20px;
    text-align:center;
}

.ombara-grey{
    background:var(--grey);
}

.ombara-dark{
    background:var(--dark);
    color:#fff;
}

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

.ombara-title{
    font-family:'Oswald',sans-serif;
    font-size:34px;
    font-weight:400;
    letter-spacing:12px;
    text-transform:uppercase;
    color:#111;
}

.ombara-dark .ombara-title{
    color:#fff;
}

.ombara-line{
    width:180px;
    height:2px;
    background:var(--gold);
    margin:25px auto 50px auto;
}

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

.ombara-intro{
    max-width:800px;
    margin:0 auto;
    line-height:1.9;
    font-size:18px;
}

/* ========================================
   FEATURES
======================================== */

.features{
    max-width:1200px;
    margin:80px auto 0 auto;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:40px;
    align-items:start;
}

.feature-card{
    text-align:center;
    padding:20px 15px;
    min-height:250px;
    transition:all 0.4s ease;
}

.feature-icon{
    width:70px;
    height:70px;
    border:1px solid #d8d8d8;
    display:flex;
    justify-content:center;
    align-items:center;
    margin:0 auto 30px auto;
    transition:all 0.4s ease;
}

.feature-icon img{
    width:38px;
    height:38px;
    object-fit:contain;
}

.feature-title{
    font-family:'Oswald',sans-serif;
    font-size:24px;
    letter-spacing:8px;
    text-transform:uppercase;
    color:#111;
    transition:all 0.4s ease;
}

.feature-description{
    max-width:230px;
    max-height:0;
    overflow:hidden;
    opacity:0;
    margin:0 auto;
    padding-top:0;
    font-size:18px;
    line-height:1.7;
    color:#777;
    transition:all 0.45s ease;
}

.feature-card:hover .feature-description{
    max-height:160px;
    opacity:1;
    padding-top:25px;
}

.feature-card:hover .feature-icon{
    border-color:var(--gold);
    transform:translateY(-8px);
}

.feature-card:hover .feature-title{
    color:var(--gold);
}
/* ========================================
   GALLERY
======================================== */

.gallery{
    max-width:1200px;
    margin:0 auto 90px auto;

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

.gallery img{
    width:100%;
    height:320px;
    object-fit:cover;
}

/* ========================================
   LOCATION
======================================== */

.coordinates{
    color:#777;
    font-size:24px;
    margin-top:-20px;
    margin-bottom:70px;
}

.location-wrap{
    max-width:1200px;
    margin:0 auto;

    display:grid;
    grid-template-columns:350px 1fr;
    gap:60px;

    align-items:center;
    text-align:left;
}

.contact-title{
    font-family:'Oswald',sans-serif;
    font-size:24px;
    letter-spacing:8px;
    text-transform:uppercase;
    color:#111;
}

.contact-line{
    width:80px;
    height:2px;
    background:var(--gold);
    margin:25px 0 50px;
}

.contact-item{
    display:grid;
    grid-template-columns:50px 1fr;
    gap:20px;

    align-items:center;

    margin-bottom:35px;

    font-family:'Oswald',sans-serif;
    letter-spacing:5px;
    text-transform:uppercase;
}

.contact-item img{
    width:38px;
    height:38px;
    object-fit:contain;
}

.map-box iframe{
    width:100%;
    height:450px;
    border:none;
}

/* ========================================
   DISTANCES
======================================== */

.distances{
    max-width:1100px;
    margin:0 auto;

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:40px;
}

.distance-number{
    color:var(--gold);
    font-size:48px;
    font-weight:300;
    margin-bottom:10px;
}

.distance-label{
    font-family:'Oswald',sans-serif;
    font-size:22px;
    letter-spacing:7px;
    text-transform:uppercase;
}

/* ========================================
   REVIEWS
======================================== */

.review-text{
    max-width:1100px;
    margin:0 auto;

    font-size:24px;
    color:#777;
    line-height:1.8;
}

.review-author{
    display:block;
    margin-top:20px;

    color:#333;
    font-size:18px;
    font-weight:600;
}

/* ========================================
   SOCIALS
======================================== */

.socials{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:250px;
    margin-top:40px;
}

.social-box{
    width:100px;
    height:100px;

    border:1px solid var(--gold);

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

    color:var(--gold);
    font-size:42px;

    transition:0.3s ease;
}

.social-box:hover{
    background:var(--gold);
    color:#fff;
}

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

.footer{
    background:#111;
    color:#777;

    text-align:center;

    padding:30px 20px;

    font-family:'Oswald',sans-serif;
    letter-spacing:4px;
    text-transform:uppercase;
    font-size:12px;
}

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

@media(max-width:1024px){

    .features{
        grid-template-columns:repeat(2,1fr);
    }

    .gallery{
        grid-template-columns:repeat(2,1fr);
    }

    .location-wrap{
        grid-template-columns:1fr;
        text-align:center;
    }

    .contact-line{
        margin:25px auto 50px auto;
    }
}

@media(max-width:768px){

    .hero-overlay h1{
        font-size:40px;
        letter-spacing:6px;
    }

    .hero-overlay p{
        font-size:18px;
    }

    .ombara-title{
        font-size:24px;
        letter-spacing:6px;
    }

    .gallery{
        grid-template-columns:1fr;
    }

    .features{
        grid-template-columns:1fr;
    }

    .distances{
        grid-template-columns:1fr;
    }

    .socials{
        gap:40px;
    }

    .gallery img{
        height:260px;
    }

    .distance-number{
        font-size:36px;
    }

    .distance-label{
        font-size:18px;
    }
}
/* ========================================
   SWIPER CAROUSELS
======================================== */

.interiorSwiper,
.exteriorSwiper{
    max-width:1200px;
    margin:0 auto;
    padding:0 55px;
    overflow:hidden;
}

.interiorSwiper .swiper-slide,
.exteriorSwiper .swiper-slide{
    overflow:hidden;
}

.interiorSwiper .swiper-slide img,
.exteriorSwiper .swiper-slide img{
    width:100%;
    height:360px;
    object-fit:cover;
    transition:0.4s ease;
}

.interiorSwiper .swiper-slide img:hover,
.exteriorSwiper .swiper-slide img:hover{
    transform:scale(1.03);
}

.interiorSwiper .swiper-slide-active img,
.exteriorSwiper .swiper-slide-active img{
    transform:scale(1.02);
}

.swiper-button-next,
.swiper-button-prev{
    color:var(--gold);
}

.swiper-button-next{
    right:10px;
}

.swiper-button-prev{
    left:10px;
}

.swiper-button-next:after,
.swiper-button-prev:after{
    font-size:28px;
}

@media(max-width:768px){
    .interiorSwiper,
    .exteriorSwiper{
        padding:0 35px;
    }

    .interiorSwiper .swiper-slide img,
    .exteriorSwiper .swiper-slide img{
        height:280px;
    }
}

.distance-number{
    color:var(--gold);
    font-size:48px;
    font-weight:300;
    margin-bottom:10px;
    transition:all 0.3s ease;
}

.distance-number:hover{
    transform:scale(1.05);
}
.social-box img{
    width:42px;
    height:42px;
    object-fit:contain;
    transition:0.3s ease;
}

.social-box:hover img{
    transform:scale(1.1);
}
.footer-link{
    color:var(--gold);
    text-decoration:none;
    transition:0.3s ease;
}

.footer-link:hover{
    color:#ffffff;
}