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

body{
    font-family:'Inter',sans-serif;
    background:#f5f1ea;
    color:#111;
    overflow-x:hidden;
}

/* HERO */

.contact-hero{
    height:100vh;
    min-height:850px;

    position:relative;

    overflow:hidden;

    display:flex;
    align-items:center;

    padding:0 7%;
}

.contact-video{
    position:absolute;
    inset:0;
}

.contact-video video{
    width:100%;
    height:100%;

    object-fit:cover;

    transform:scale(1.04);
}

.contact-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
    90deg,
    rgba(0,0,0,.82),
    rgba(0,0,0,.28)
    );
}

.contact-content{
    position:relative;
    z-index:2;

    max-width:820px;

    color:#fff;
}

.contact-content span{
    font-size:12px;

    letter-spacing:5px;

    color:#d8c1ab;
}

.contact-content h1{
    font-family:
    'Cormorant Garamond',serif;

    font-size:140px;

    line-height:.82;

    margin:30px 0;
}

.contact-content p{
    max-width:560px;

    line-height:2;

    color:rgba(255,255,255,.75);

    font-size:17px;
}

/* CONTACT */

.contact-info{
    padding:220px 7%;

    display:grid;

    grid-template-columns:
    1fr 1fr;

    gap:90px;

    align-items:start;
}

/* LEFT */

.contact-left span{
    font-size:12px;

    letter-spacing:4px;

    color:#a07e65;
}

.contact-left h2{
    font-family:
    'Cormorant Garamond',serif;

    font-size:95px;

    line-height:.9;

    margin:28px 0;
}

.contact-left p{
    max-width:520px;

    line-height:2;

    color:#666;
}

/* INFO */

.info-list{
    margin-top:60px;

    display:flex;
    flex-direction:column;

    gap:26px;
}

.info-box{
    display:flex;

    gap:24px;

    align-items:flex-start;

    background:#fff;

    padding:35px;

    border-radius:24px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.05);
}

.info-box i{
    font-size:22px;

    color:#a07e65;

    margin-top:5px;
}

.info-box h3{
    font-family:
    'Cormorant Garamond',serif;

    font-size:34px;

    margin-bottom:10px;
}

.info-box p{
    line-height:1.9;

    color:#666;
}

/* FORM */

.contact-form-area{
    background:#fff;

    padding:55px;

    border-radius:34px;

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

.contact-form{
    display:flex;
    flex-direction:column;

    gap:24px;
}

.form-grid{
    display:grid;

    grid-template-columns:
    1fr 1fr;

    gap:20px;
}

.input-box{
    display:flex;
    flex-direction:column;

    gap:12px;
}

.input-box label{
    font-size:13px;

    letter-spacing:2px;

    color:#999;
}

.input-box input,
.input-box textarea,
.input-box select{
    width:100%;

    border:none;

    background:#f7f4ef;

    border-radius:18px;

    padding:20px;

    font-size:15px;

    font-family:'Inter',sans-serif;

    outline:none;
}

.input-box textarea{
    height:180px;

    resize:none;
}

.contact-form button{
    height:65px;

    border:none;

    border-radius:100px;

    background:#111;

    color:#fff;

    font-size:15px;

    cursor:pointer;

    transition:.4s;
}

.contact-form button:hover{
    transform:translateY(-4px);
}

/* MAP */

.map-section{
    padding:0 7% 220px;
}

.map-content{
    margin-bottom:60px;
}

.map-content span{
    font-size:12px;

    letter-spacing:4px;

    color:#a07e65;
}

.map-content h2{
    font-family:
    'Cormorant Garamond',serif;

    font-size:100px;

    line-height:.9;

    margin-top:25px;
}

.map-area{
    width:100%;

    height:650px;

    border-radius:34px;

    overflow:hidden;

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

.map-area iframe{
    width:100%;
    height:100%;

    border:none;
}

/* CTA */

.contact-cta{
    min-height:90vh;

    background:#111;

    color:#fff;

    display:flex;
    flex-direction:column;

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

    text-align:center;

    padding:120px 7%;
}

.contact-cta span{
    font-size:12px;

    letter-spacing:5px;

    color:#d8c1ab;
}

.contact-cta h2{
    font-family:
    'Cormorant Garamond',serif;

    font-size:120px;

    line-height:.84;

    margin:35px 0 50px;
}

.contact-cta a{
    width:190px;
    height:190px;

    border-radius:50%;

    background:#fff;

    color:#111;

    text-decoration:none;

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

    transition:.4s;
}

.contact-cta a:hover{
    transform:scale(1.08);
}

/* ANIMATION */

.hidden{
    opacity:0;
    transform:translateY(60px);
    transition:1s;
}

.show{
    opacity:1;
    transform:none;
}

/* RESPONSIVE */

@media(max-width:1200px){

    .contact-info{
        grid-template-columns:1fr;
    }

    .contact-content h1,
    .contact-left h2,
    .map-content h2,
    .contact-cta h2{
        font-size:72px;
    }
}

@media(max-width:768px){

    .contact-hero,
    .contact-info,
    .map-section,
    .contact-cta{
        padding-left:20px;
        padding-right:20px;
    }

    .contact-content h1,
    .contact-left h2,
    .map-content h2,
    .contact-cta h2{
        font-size:52px;
    }

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

    .map-area{
        height:420px;
    }

    .contact-cta a{
        width:140px;
        height:140px;
    }
.contact-hero{
    height:72vh;
    min-height:620px;
}
}



html,
body{
    scroll-behavior:auto !important;
}







/* CONTACT HERO IMAGE */

.contact-image{

    position:absolute;

    inset:0;

    overflow:hidden;
}

.contact-image img{

    width:100%;
    height:100%;

    object-fit:cover;

    object-position:center;

    display:block;
}




/* =========================================
   CONTACT HERO MOBILE TITLE UP
========================================= */

@media(max-width:768px){

    .contact-content{

        margin-top:-90px !important;
    }

}


/* =========================================
   CONTACT CTA MOBILE HEIGHT FIX
========================================= */

@media(max-width:768px){

    .contact-cta{

        min-height:58vh !important;

        padding:70px 20px !important;
    }

    .contact-cta h2{

        font-size:44px !important;

        line-height:.95 !important;

        margin:24px 0 30px !important;

        max-width:320px !important;
    }

    .contact-cta a{

        width:110px !important;
        height:110px !important;
    }

}