@charset "utf-8";

/* ======================================
   CONTACT HERO
====================================== */

.contact-hero{
    position:relative;

    min-height:90vh;

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

    padding:130px 0 80px;

    overflow:hidden;

    background:
        url('../images/contact-hero.webp')
        center center / cover no-repeat;
}


/* ======================================
   OVERLAY
====================================== */

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

    background:
        linear-gradient(
            180deg,
            rgba(12,18,13,.32) 0%,
            rgba(12,18,13,.45) 50%,
            rgba(12,18,13,.58) 100%
        );
}


/* ======================================
   CONTENT
====================================== */

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

    max-width:820px;
    margin:0 auto;

    text-align:center;

    color:#fff;
}


/* LABEL */

.contact-hero-content .hero-label{
    display:inline-block;

    margin-bottom:24px;

    font-size:12px;
    font-weight:500;
    letter-spacing:4px;

    text-transform:uppercase;

    color:rgba(255,255,255,.88);
}


/* HEADING */

.contact-hero-content h1{
    max-width:800px;

    margin:0 auto 25px;

    font-family:'Cormorant Garamond',serif;
    font-size:64px;
    font-weight:500;
    line-height:1.05;

    color:#fff;
}


/* TEXT */

.contact-hero-content p{
    max-width:650px;

    margin:0 auto 38px;

    font-size:18px;
    line-height:1.8;

    color:rgba(255,255,255,.90);
}


/* ======================================
   CONTACT HERO BUTTONS — FIXED
====================================== */

.contact-hero-buttons{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:16px;
}


/* BOTH BUTTONS */

.contact-hero-buttons a{
    min-width:238px;
    height:68px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    padding:0 30px;

    border-radius:999px;

    font-family:inherit;
    font-size:15px;
    font-weight:600;
    letter-spacing:.3px;
    line-height:1;

    text-decoration:none;

    transition:
        transform .3s ease,
        background-color .3s ease,
        border-color .3s ease,
        color .3s ease;
}


/* PRIMARY */

.contact-hero-buttons .contact-hero-primary{
    background:#fff;
    border:1px solid #fff;

    color:#173b2a !important;
}


/* FORCE PRIMARY TEXT + ICON */

.contact-hero-buttons .contact-hero-primary,
.contact-hero-buttons .contact-hero-primary:link,
.contact-hero-buttons .contact-hero-primary:visited{
    color:#173b2a !important;
}


.contact-hero-buttons .contact-hero-primary i{
    color:#173b2a !important;
}


.contact-hero-buttons .contact-hero-primary:hover{
    background:#f3eee4;
    border-color:#f3eee4;

    color:#173b2a !important;

    transform:translateY(-3px);
}


/* SECONDARY */

.contact-hero-buttons .contact-hero-secondary,
.contact-hero-buttons .contact-hero-secondary:link,
.contact-hero-buttons .contact-hero-secondary:visited{
    background:rgba(20,15,10,.28);

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

    color:#fff !important;

    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}


.contact-hero-buttons .contact-hero-secondary i{
    color:#fff !important;
}


.contact-hero-buttons .contact-hero-secondary:hover{
    background:#fff;
    border-color:#fff;

    color:#173b2a !important;

    transform:translateY(-3px);
}


.contact-hero-buttons .contact-hero-secondary:hover i{
    color:#173b2a !important;
}


/* MOBILE */

@media(max-width:768px){

    .contact-hero-buttons{
        flex-direction:column;

        width:100%;
        max-width:320px;

        margin:0 auto;
    }


    .contact-hero-buttons a{
        width:100%;
        min-width:0;
        height:58px;
    }

}

/* ======================================
   TABLET
====================================== */

@media(max-width:992px){

    .contact-hero{
        min-height:62vh;
    }

    .contact-hero-content h1{
        font-size:54px;
    }

}


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

@media(max-width:768px){

    .contact-hero{
        min-height:70svh;

        padding:130px 0 70px;
    }

    .contact-hero-content{
        max-width:92%;
    }

    .contact-hero-content .hero-label{
        margin-bottom:20px;

        font-size:11px;
        letter-spacing:3px;
    }

    .contact-hero-content h1{
        font-size:42px;
        line-height:1.07;

        margin-bottom:20px;
    }

    .contact-hero-content p{
        font-size:15px;
        line-height:1.75;

        margin-bottom:32px;
    }

    .contact-hero-buttons{
        flex-direction:column;

        max-width:300px;
        margin:0 auto;
    }

    .contact-hero-primary,
    .contact-hero-secondary{
        width:100%;
    }

}
/* ======================================
   CONTACT MAIN
====================================== */

.contact-main{
    padding:120px 0;

    background:#f7f4ee;
}


.contact-main-grid{
    display:grid;

    grid-template-columns:
        minmax(0, .9fr)
        minmax(0, 1.1fr);

    gap:80px;

    align-items:start;
}


/* ======================================
   CONTACT INFORMATION
====================================== */

.contact-info{
    padding-top:15px;
}


.contact-info > .section-label{
    display:inline-block;

    margin-bottom:20px;
}


.contact-info > h2{
    max-width:520px;

    margin:0 0 24px;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size:54px;
    font-weight:500;
    line-height:1.08;

    color:var(--primary-color);
}


.contact-info-intro{
    max-width:560px;

    margin:0 0 50px;

    font-size:17px;
    line-height:1.85;

    color:#666;
}


/* ======================================
   CONTACT DETAILS
====================================== */

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

    gap:0;
}


.contact-detail-item{
    display:grid;

    grid-template-columns:54px 1fr;

    gap:20px;

    padding:24px 0;

    border-bottom:
        1px solid #ded9d0;
}


.contact-detail-item:first-child{
    padding-top:0;
}


/* ICON */

.contact-detail-icon{
    width:50px;
    height:50px;

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

    border-radius:50%;

    background:#e8ede7;

    color:var(--primary-color);
}


.contact-detail-icon i{
    font-size:17px;
}


/* CONTENT */

.contact-detail-content > span{
    display:block;

    margin-bottom:7px;

    font-size:10px;
    font-weight:600;
    letter-spacing:2px;

    color:#999;

    text-transform:uppercase;
}


.contact-detail-content h3{
    margin:0 0 6px;

    font-family:inherit;
    font-size:16px;
    font-weight:600;

    color:#2d2d29;
}


.contact-detail-content p,
.contact-detail-content a{
    margin:0;

    font-size:14px;
    line-height:1.7;

    color:#666;

    text-decoration:none;
}


.contact-detail-content a{
    transition:color .3s ease;
}


.contact-detail-content a:hover{
    color:var(--primary-color);
}


/* ======================================
   RESPONSE NOTE
====================================== */

.contact-response-note{
    display:flex;
    align-items:flex-start;

    gap:14px;

    margin-top:35px;
    padding:20px 22px;

    border-radius:16px;

    background:#ebe7de;
}


.contact-response-note > i{
    margin-top:3px;

    font-size:15px;

    color:var(--primary-color);
}


.contact-response-note p{
    margin:0;

    font-size:13px;
    line-height:1.7;

    color:#666;
}


.contact-response-note strong{
    color:#333;
}


/* ======================================
   CONTACT FORM CARD
====================================== */

.contact-form-card{
    padding:55px;

    border:
        1px solid #ebe6dc;

    border-radius:28px;

    background:#fff;

    box-shadow:
        0 25px 70px rgba(25,35,27,.07);
}


/* HEADER */

.contact-form-header{
    margin-bottom:38px;
}


.contact-form-header .section-label{
    display:inline-block;

    margin-bottom:16px;
}


.contact-form-header h2{
    margin:0 0 14px;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size:44px;
    font-weight:500;
    line-height:1.08;

    color:var(--primary-color);
}


.contact-form-header p{
    max-width:520px;

    margin:0;

    font-size:15px;
    line-height:1.75;

    color:#777;
}


/* ======================================
   FORM
====================================== */

.contact-form{
    position:relative;
}


.form-row{
    display:grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:18px;
}


.form-group{
    margin-bottom:22px;
}


.form-group label{
    display:block;

    margin-bottom:9px;

    font-size:12px;
    font-weight:600;

    color:#41413d;
}


.form-group label span{
    color:#a85e4d;
}


/* INPUTS */

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

    padding:14px 16px;

    border:
        1px solid #ddd8cf;

    border-radius:12px;

    background:#fbfaf7;

    color:#333;

    font-family:inherit;
    font-size:14px;

    outline:none;

    transition:
        border-color .3s ease,
        background-color .3s ease,
        box-shadow .3s ease;
}


.form-group input,
.form-group select{
    min-height:52px;
}


.form-group textarea{
    min-height:145px;

    resize:vertical;

    line-height:1.7;
}


.form-group input::placeholder,
.form-group textarea::placeholder{
    color:#aaa;
}


/* FOCUS */

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
    border-color:var(--primary-color);

    background:#fff;

    box-shadow:
        0 0 0 4px rgba(23,59,42,.08);
}


/* ======================================
   SUBMIT BUTTON
====================================== */

.contact-submit{
    width:100%;

    min-height:56px;

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

    gap:12px;

    padding:16px 25px;

    border:1px solid var(--primary-color);
    border-radius:50px;

    background:#f19e00;

    color:#fff;

    font-family:inherit;
    font-size:14px;
    font-weight:500;
    letter-spacing:.5px;

    cursor:pointer;

    transition:
        transform .3s ease,
        background-color .3s ease,
        box-shadow .3s ease;
}


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

    background:#2f4a36;

    box-shadow:
        0 14px 30px rgba(23,59,42,.18);
}


.contact-submit i{
    font-size:11px;

    transition:transform .3s ease;
}


.contact-submit:hover i{
    transform:translateX(5px);
}


/* ======================================
   PRIVACY NOTE
====================================== */

.contact-form-note{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:8px;

    margin:16px 0 0;

    font-size:11px;

    color:#999;
}


.contact-form-note i{
    font-size:10px;
}


/* ======================================
   HONEYPOT
====================================== */

.contact-honeypot{
    position:absolute;

    left:-9999px;

    width:1px;
    height:1px;

    overflow:hidden;
}


/* ======================================
   TABLET
====================================== */

@media(max-width:992px){

    .contact-main{
        padding:100px 0;
    }


    .contact-main-grid{
        grid-template-columns:1fr;

        gap:60px;
    }


    .contact-info{
        max-width:700px;
    }


    .contact-info > h2{
        font-size:48px;
    }

}


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

@media(max-width:768px){

    .contact-main{
        padding:75px 0;
    }


    .contact-main-grid{
        gap:50px;
    }


    .contact-info > h2{
        font-size:38px;
    }


    .contact-info-intro{
        margin-bottom:35px;

        font-size:15px;
    }


    .contact-detail-item{
        grid-template-columns:46px 1fr;

        gap:15px;

        padding:20px 0;
    }


    .contact-detail-icon{
        width:44px;
        height:44px;
    }


    .contact-form-card{
        padding:35px 25px;

        border-radius:22px;
    }


    .contact-form-header h2{
        font-size:36px;
    }


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

        gap:0;
    }

}


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

@media(max-width:480px){

    .contact-form-card{
        padding:30px 20px;
    }


    .contact-detail-content p,
    .contact-detail-content a{
        font-size:13px;
    }

}

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

.contact-location{
    padding:120px 0;

    background:#fff;
}


/* ======================================
   SECTION HEADER
====================================== */

.contact-location-header{
    max-width:760px;

    margin:0 auto 60px;

    text-align:center;
}


.contact-location-header .section-label{
    display:inline-block;

    margin-bottom:18px;
}


.contact-location-header h2{
    margin:0 0 20px;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size:54px;
    font-weight:500;
    line-height:1.08;

    color:var(--primary-color);
}


.contact-location-header p{
    max-width:650px;

    margin:0 auto;

    font-size:17px;
    line-height:1.8;

    color:#666;
}


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

.contact-location-grid{
    display:grid;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(360px, .65fr);

    min-height:620px;

    overflow:hidden;

    border:
        1px solid #e7e2d9;

    border-radius:28px;

    background:#f7f4ee;

    box-shadow:
        0 25px 70px rgba(25,35,27,.06);
}


/* ======================================
   MAP
====================================== */

.contact-map{
    position:relative;

    min-height:620px;

    overflow:hidden;

    background:#e8e5dd;
}


.contact-map iframe{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    border:0;
}


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

.contact-location-card{
    display:flex;
    flex-direction:column;
    justify-content:center;

    padding:55px 45px;

    background:#f7f4ee;
}


/* MAIN ICON */

.contact-location-icon{
    width:58px;
    height:58px;

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

    margin-bottom:25px;

    border-radius:50%;

    background:#e4ebe4;

    color:var(--primary-color);
}


.contact-location-icon i{
    font-size:20px;
}


/* LABEL */

.contact-location-label{
    display:block;

    margin-bottom:14px;

    font-size:10px;
    font-weight:600;
    letter-spacing:2.5px;

    color:#999;
}


/* HEADING */

.contact-location-card > h3{
    margin:0 0 18px;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size:38px;
    font-weight:500;
    line-height:1.1;

    color:var(--primary-color);
}


/* INTRO */

.contact-location-card > p{
    margin:0 0 32px;

    font-size:15px;
    line-height:1.8;

    color:#666;
}


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

.contact-location-details{
    display:flex;
    flex-direction:column;

    margin-bottom:35px;

    border-top:
        1px solid #ded9d0;
}


.contact-location-detail{
    display:grid;

    grid-template-columns:30px 1fr;

    gap:14px;

    padding:18px 0;

    border-bottom:
        1px solid #ded9d0;
}


.contact-location-detail > i{
    margin-top:4px;

    font-size:14px;

    color:var(--primary-color);
}


.contact-location-detail span{
    display:block;

    margin-bottom:5px;

    font-size:9px;
    font-weight:600;
    letter-spacing:1.6px;

    color:#999;
}


.contact-location-detail p{
    margin:0;

    font-size:13px;
    line-height:1.65;

    color:#555;
}


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

.contact-location-buttons{
    display:flex;
    flex-direction:column;

    align-items:flex-start;

    gap:18px;
}


/* GOOGLE MAP BUTTON */

.contact-map-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:10px;

    padding:14px 22px;

    border:
        1px solid var(--primary-color);

    border-radius:50px;

    background:var(--primary-color);

    color:#000;

    font-size:13px;
    font-weight:500;

    text-decoration:none;

    transition:
        transform .3s ease,
        background-color .3s ease,
        box-shadow .3s ease;
}


.contact-map-button:hover{
    transform:translateY(-3px);

    background:#2f4a36;

    box-shadow:
        0 12px 28px rgba(23,59,42,.16);

    color:#fff;
}


.contact-map-button i{
    font-size:12px;
}


/* LOCATION PAGE LINK */

.contact-location-link{
    display:inline-flex;
    align-items:center;

    gap:10px;

    padding-bottom:5px;

    border-bottom:
        1px solid #aaa49a;

    color:#555;

    font-size:12px;
    font-weight:500;
    letter-spacing:.5px;

    text-decoration:none;

    transition:
        color .3s ease,
        border-color .3s ease;
}


.contact-location-link:hover{
    color:var(--primary-color);

    border-color:var(--primary-color);
}


.contact-location-link i{
    font-size:10px;

    transition:transform .3s ease;
}


.contact-location-link:hover i{
    transform:translateX(4px);
}


/* ======================================
   TABLET
====================================== */

@media(max-width:992px){

    .contact-location{
        padding:100px 0;
    }


    .contact-location-header h2{
        font-size:48px;
    }


    .contact-location-grid{
        grid-template-columns:1fr;

        min-height:0;
    }


    .contact-map{
        min-height:480px;
    }


    .contact-location-card{
        padding:50px;
    }

}


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

@media(max-width:768px){

    .contact-location{
        padding:75px 0;
    }


    .contact-location-header{
        margin-bottom:40px;
    }


    .contact-location-header h2{
        font-size:38px;
    }


    .contact-location-header p{
        font-size:15px;
    }


    .contact-location-grid{
        border-radius:22px;
    }


    .contact-map{
        min-height:380px;
    }


    .contact-location-card{
        padding:35px 25px;
    }


    .contact-location-card > h3{
        font-size:34px;
    }


    .contact-map-button{
        width:100%;
    }

}


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

@media(max-width:480px){

    .contact-map{
        min-height:320px;
    }


    .contact-location-card{
        padding:30px 20px;
    }

}

/* ======================================
   AIRPORT TRANSFER & ARRIVAL ASSISTANCE
====================================== */

.arrival-assistance{
    padding:120px 0;

    background:#f7f4ee;
}


/* ======================================
   GRID
====================================== */

.arrival-grid{
    display:grid;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(0, .95fr);

    gap:80px;

    align-items:center;
}


/* ======================================
   IMAGE
====================================== */

.arrival-image{
    position:relative;

    min-height:620px;

    overflow:hidden;

    border-radius:30px;

    background:#e8e4dc;
}


.arrival-image > img{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;
}


/* ======================================
   IMAGE BADGE
====================================== */

.arrival-image-badge{
    position:absolute;

    left:28px;
    bottom:28px;

    display:flex;
    align-items:center;

    gap:14px;

    max-width:290px;

    padding:16px 20px;

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

    border-radius:18px;

    background:
        rgba(20,35,25,.82);

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

    color:#fff;
}


.arrival-image-badge > i{
    font-size:20px;

    color:#d8b67b;
}


.arrival-image-badge span{
    display:block;

    font-size:10px;
    line-height:1.5;
    letter-spacing:1.4px;

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

    text-transform:uppercase;
}


.arrival-image-badge strong{
    display:block;

    margin-top:3px;

    font-size:13px;
    font-weight:500;
    letter-spacing:0;

    color:#fff;

    text-transform:none;
}


/* ======================================
   CONTENT
====================================== */

.arrival-content .section-label{
    display:inline-block;

    margin-bottom:20px;
}


.arrival-content > h2{
    max-width:560px;

    margin:0 0 25px;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size:54px;
    font-weight:500;
    line-height:1.08;

    color:var(--primary-color);
}


.arrival-intro{
    max-width:580px;

    margin:0 0 38px;

    font-size:17px;
    line-height:1.85;

    color:#666;
}


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

.arrival-features{
    display:flex;
    flex-direction:column;

    margin-bottom:35px;
}


.arrival-feature{
    display:grid;

    grid-template-columns:50px 1fr;

    gap:18px;

    padding:20px 0;

    border-bottom:
        1px solid #ddd8cf;
}


.arrival-feature:first-child{
    padding-top:0;
}


.arrival-feature-icon{
    width:46px;
    height:46px;

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

    border-radius:50%;

    background:#e4ebe4;

    color:var(--primary-color);
}


.arrival-feature-icon i{
    font-size:15px;
}


.arrival-feature h3{
    margin:0 0 6px;

    font-size:16px;
    font-weight:600;

    color:#333;
}


.arrival-feature p{
    max-width:430px;

    margin:0;

    font-size:14px;
    line-height:1.7;

    color:#777;
}


/* ======================================
   BUTTON
====================================== */

.arrival-actions{
    margin-bottom:20px;
}


.arrival-primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:12px;

    padding:15px 24px;

    border:
        1px solid var(--primary-color);

    border-radius:50px;

    background:var(--primary-color);

    color:#fff;

    font-size:13px;
    font-weight:500;

    text-decoration:none;

    transition:
        transform .3s ease,
        background-color .3s ease,
        box-shadow .3s ease;
}


.arrival-primary:hover{
    transform:translateY(-3px);

    background:#2f4a36;

    box-shadow:
        0 14px 30px rgba(23,59,42,.16);

    color:#fff;
}


.arrival-primary i{
    font-size:11px;

    transition:transform .3s ease;
}


.arrival-primary:hover i{
    transform:translateX(5px);
}


/* ======================================
   NOTE
====================================== */

.arrival-note{
    display:flex;
    align-items:flex-start;

    gap:9px;

    max-width:560px;

    margin:0;

    font-size:12px;
    line-height:1.7;

    color:#888;
}


.arrival-note i{
    margin-top:4px;

    flex-shrink:0;

    font-size:11px;

    color:var(--primary-color);
}


/* ======================================
   TABLET
====================================== */

@media(max-width:992px){

    .arrival-assistance{
        padding:100px 0;
    }


    .arrival-grid{
        grid-template-columns:1fr;

        gap:55px;
    }


    .arrival-image{
        min-height:520px;
    }


    .arrival-content{
        max-width:700px;
    }


    .arrival-content > h2{
        font-size:48px;
    }

}


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

@media(max-width:768px){

    .arrival-assistance{
        padding:75px 0;
    }


    .arrival-grid{
        gap:40px;
    }


    .arrival-image{
        min-height:420px;

        border-radius:22px;
    }


    .arrival-image-badge{
        left:18px;
        right:18px;
        bottom:18px;

        max-width:none;
    }


    .arrival-content > h2{
        font-size:38px;
    }


    .arrival-intro{
        font-size:15px;
    }


    .arrival-primary{
        width:100%;
    }

}


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

@media(max-width:480px){

    .arrival-image{
        min-height:360px;
    }


    .arrival-feature{
        grid-template-columns:44px 1fr;

        gap:14px;
    }


    .arrival-feature-icon{
        width:42px;
        height:42px;
    }

}

/* ======================================
   CONTACT FAQ
====================================== */

.contact-faq{
    padding:120px 0;

    background:#fff;
}


/* ======================================
   FAQ GRID
====================================== */

.contact-faq-grid{
    display:grid;

    grid-template-columns:
        minmax(0, .8fr)
        minmax(0, 1.2fr);

    gap:100px;

    align-items:start;
}


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

.contact-faq-intro{
    position:sticky;

    top:140px;
}


.contact-faq-intro .section-label{
    display:inline-block;

    margin-bottom:20px;
}


.contact-faq-intro h2{
    max-width:500px;

    margin:0 0 24px;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size:54px;
    font-weight:500;
    line-height:1.08;

    color:var(--primary-color);
}


.contact-faq-intro > p{
    max-width:480px;

    margin:0 0 30px;

    font-size:17px;
    line-height:1.85;

    color:#666;
}


/* FAQ LINK */

.contact-faq-link{
    display:inline-flex;
    align-items:center;

    gap:10px;

    padding-bottom:6px;

    border-bottom:
        1px solid #aaa49a;

    color:#555;

    font-size:13px;
    font-weight:500;

    text-decoration:none;

    transition:
        color .3s ease,
        border-color .3s ease;
}


.contact-faq-link:hover{
    color:var(--primary-color);

    border-color:var(--primary-color);
}


.contact-faq-link i{
    font-size:10px;

    transition:transform .3s ease;
}


.contact-faq-link:hover i{
    transform:translateX(5px);
}


/* ======================================
   FAQ LIST
====================================== */

.contact-faq-list{
    border-top:
        1px solid #ddd8cf;
}


.contact-faq-item{
    border-bottom:
        1px solid #ddd8cf;
}


/* ======================================
   QUESTION
====================================== */

.contact-faq-question{
    width:100%;

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

    gap:25px;

    padding:28px 0;

    border:0;

    background:transparent;

    color:#2f302d;

    font-family:inherit;
    font-size:17px;
    font-weight:500;
    line-height:1.5;

    text-align:left;

    cursor:pointer;
}


.contact-faq-question > span:first-child{
    max-width:620px;
}


/* ======================================
   ICON
====================================== */

.contact-faq-icon{
    width:38px;
    height:38px;

    flex-shrink:0;

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

    border-radius:50%;

    background:#f1eee8;

    color:var(--primary-color);

    transition:
        background-color .3s ease,
        color .3s ease,
        transform .35s ease;
}


.contact-faq-icon i{
    font-size:12px;
}


/* HOVER */

.contact-faq-question:hover
.contact-faq-icon{
    background:var(--primary-color);

    color:#fff;
}


/* OPEN */

.contact-faq-item.active
.contact-faq-icon{
    background:var(--primary-color);

    color:#fff;

    transform:rotate(45deg);
}


/* ======================================
   ANSWER
====================================== */

.contact-faq-answer{
    display:grid;

    grid-template-rows:0fr;

    transition:
        grid-template-rows .4s ease;
}


.contact-faq-item.active
.contact-faq-answer{
    grid-template-rows:1fr;
}


.contact-faq-answer-inner{
    overflow:hidden;
}


.contact-faq-answer-inner p{
    max-width:650px;

    margin:0;

    padding:0 65px 28px 0;

    font-size:15px;
    line-height:1.8;

    color:#777;
}


/* ANSWER LINK */

.contact-faq-answer-inner a{
    display:inline-flex;
    align-items:center;

    gap:8px;

    margin:-10px 0 28px;

    color:var(--primary-color);

    font-size:13px;
    font-weight:500;

    text-decoration:none;
}


.contact-faq-answer-inner a i{
    font-size:9px;

    transition:transform .3s ease;
}


.contact-faq-answer-inner a:hover i{
    transform:translateX(4px);
}


/* ======================================
   FOCUS
====================================== */

.contact-faq-question:focus-visible{
    outline:
        3px solid rgba(23,59,42,.18);

    outline-offset:5px;

    border-radius:6px;
}


/* ======================================
   TABLET
====================================== */

@media(max-width:992px){

    .contact-faq{
        padding:100px 0;
    }


    .contact-faq-grid{
        grid-template-columns:1fr;

        gap:55px;
    }


    .contact-faq-intro{
        position:static;

        max-width:700px;
    }


    .contact-faq-intro h2{
        font-size:48px;
    }

}


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

@media(max-width:768px){

    .contact-faq{
        padding:75px 0;
    }


    .contact-faq-grid{
        gap:40px;
    }


    .contact-faq-intro h2{
        font-size:38px;
    }


    .contact-faq-intro > p{
        font-size:15px;
    }


    .contact-faq-question{
        gap:15px;

        padding:22px 0;

        font-size:15px;
    }


    .contact-faq-icon{
        width:34px;
        height:34px;
    }


    .contact-faq-answer-inner p{
        padding:
            0 10px 24px 0;

        font-size:14px;
    }

}

/* ======================================
   CONTACT FINAL CTA
====================================== */

.contact-final-cta{
    position:relative;

    padding:120px 0;

    overflow:hidden;

    background:
        radial-gradient(
            circle at 12% 20%,
            rgba(255,255,255,.05),
            transparent 30%
        ),
        radial-gradient(
            circle at 88% 80%,
            rgba(216,182,123,.09),
            transparent 30%
        ),
        #173b2a;
}


/* DECORATIVE BORDER */

.contact-final-cta::before{
    content:"";

    position:absolute;
    inset:22px;

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

    border-radius:30px;

    pointer-events:none;
}


/* ======================================
   CONTENT
====================================== */

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

    max-width:850px;
    margin:0 auto;

    text-align:center;

    color:#fff;
}


/* LABEL */

.contact-final-content .section-label{
    display:inline-block;

    margin-bottom:24px;

    color:#d8b67b;
}


/* HEADING */

.contact-final-content h2{
    max-width:780px;

    margin:0 auto 24px;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size:60px;
    font-weight:500;
    line-height:1.05;

    color:#fff;
}


/* TEXT */

.contact-final-content > p{
    max-width:650px;

    margin:0 auto 38px;

    font-size:17px;
    line-height:1.8;

    color:rgba(255,255,255,.78);
}


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

.contact-final-buttons{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;

    gap:14px;

    margin-bottom:42px;
}


.contact-final-primary,
.contact-final-secondary{
    min-width:210px;

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

    gap:11px;

    padding:16px 25px;

    border-radius:50px;

    font-size:13px;
    font-weight:500;
    letter-spacing:.5px;

    text-decoration:none;

    transition:
        transform .3s ease,
        background-color .3s ease,
        border-color .3s ease,
        color .3s ease;
}


/* PRIMARY */

.contact-final-primary{
    background:#f19e00;

    border:1px solid #fff;

    color:var(--primary-color);
}


.contact-final-primary:hover{
    transform:translateY(-3px);

    background:#567c51;
    border-color:#f3eee4;

    color:var(--primary-color);
}


/* SECONDARY */

.contact-final-secondary{
    background:transparent;

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

    color:#fff;
}


.contact-final-secondary:hover{
    transform:translateY(-3px);

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

    border-color:#fff;

    color:#fff;
}


/* ICONS */

.contact-final-buttons i{
    font-size:11px;

    transition:transform .3s ease;
}


.contact-final-primary:hover i{
    transform:translateX(5px);
}


/* ======================================
   TRUST POINTS
====================================== */

.contact-final-trust{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;

    gap:15px 32px;
}


.contact-final-trust span{
    display:inline-flex;
    align-items:center;

    gap:9px;

    font-size:13px;

    color:rgba(255,255,255,.72);
}


.contact-final-trust i{
    font-size:12px;

    color:#d8b67b;
}


/* ======================================
   FOCUS
====================================== */

.contact-final-primary:focus-visible,
.contact-final-secondary:focus-visible{
    outline:
        3px solid rgba(255,255,255,.45);

    outline-offset:4px;
}


/* ======================================
   TABLET
====================================== */

@media(max-width:992px){

    .contact-final-cta{
        padding:100px 0;
    }


    .contact-final-content h2{
        font-size:52px;
    }

}


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

@media(max-width:768px){

    .contact-final-cta{
        padding:80px 0;
    }


    .contact-final-cta::before{
        inset:12px;

        border-radius:22px;
    }


    .contact-final-content{
        max-width:90%;
    }


    .contact-final-content h2{
        font-size:40px;
        line-height:1.08;
    }


    .contact-final-content > p{
        font-size:15px;
        line-height:1.75;
    }


    .contact-final-buttons{
        flex-direction:column;
        align-items:stretch;

        max-width:320px;

        margin:
            0 auto 38px;
    }


    .contact-final-primary,
    .contact-final-secondary{
        width:100%;
    }


    .contact-final-trust{
        flex-direction:column;

        gap:14px;
    }

}

/* ======================================
   CLOUDFLARE TURNSTILE
====================================== */

.contact-turnstile{
    width:100%;
    margin:10px 0 25px;
}

.contact-turnstile .cf-turnstile{
    display:flex;
    justify-content:flex-start;
}

@media(max-width:480px){

    .contact-turnstile{
        overflow:hidden;
    }

}

/* ======================================
   CONTACT FORM POPUP
====================================== */

.popup-message{
    position:fixed;
    inset:0;
    z-index:99999;

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

    padding:24px;

    background:rgba(15, 20, 16, 0.65);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transition:
        opacity .3s ease,
        visibility .3s ease;
}


/* OPEN STATE */

.popup-message.active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}


/* POPUP BOX */

.popup-box{
    width:100%;
    max-width:460px;

    padding:50px 40px 40px;

    background:#ffffff;
    border-radius:28px;

    text-align:center;

    box-shadow:
        0 30px 80px rgba(0,0,0,.22);

    transform:
        translateY(25px)
        scale(.96);

    transition:transform .35s ease;
}


/* POPUP OPEN ANIMATION */

.popup-message.active .popup-box{
    transform:
        translateY(0)
        scale(1);
}


/* SUCCESS ICON */

.popup-icon{
    width:72px;
    height:72px;

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

    margin:0 auto 25px;

    border-radius:50%;

    background:#edf5ee;
    color:var(--primary, #2f6843);

    font-size:32px;
    font-weight:600;
}


/* TITLE */

.popup-box h3{
    margin:0 0 14px;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size:36px;
    line-height:1.1;

    color:#1f2a22;
}


/* MESSAGE */

.popup-box p{
    max-width:350px;

    margin:0 auto 30px;

    font-size:16px;
    line-height:1.7;

    color:#6b706c;
}


/* CLOSE BUTTON */

.popup-box button{
    min-width:150px;

    padding:14px 28px;

    border:0;
    border-radius:50px;

    background:
        var(--primary, #2f6843);

    color:#ffffff;

    font-family:'Inter', sans-serif;
    font-size:14px;
    font-weight:600;

    cursor:pointer;

    transition:
        transform .25s ease,
        opacity .25s ease;
}


.popup-box button:hover{
    transform:translateY(-2px);
    opacity:.9;
}


/* PREVENT PAGE SCROLL */

body.popup-open{
    overflow:hidden;
}


/* MOBILE */

@media(max-width:480px){

    .popup-message{
        padding:20px;
    }

    .popup-box{
        padding:
            40px 24px
            30px;

        border-radius:22px;
    }

    .popup-icon{
        width:64px;
        height:64px;

        font-size:28px;
    }

    .popup-box h3{
        font-size:32px;
    }

    .popup-box p{
        font-size:15px;
    }

    .popup-box button{
        width:100%;
    }

}