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

.location-intro{

    padding:100px 0;

    background:#0a0a0a;

    position:relative;

    overflow:hidden;
}

.location-intro::before{

    content:'';

    position:absolute;

    top:-120px;
    right:-120px;

    width:320px;
    height:320px;

    background:
    radial-gradient(
        circle,
        rgba(122,31,61,.18),
        transparent 70%
    );

    filter:blur(30px);
}

.location-intro-container{

    max-width:1300px;

    margin:auto;

    padding:0 25px;

    display:grid;

    grid-template-columns:40% 60%;

    gap:70px;

    align-items:center;

    position:relative;

    z-index:2;
}

/* Image */

.location-intro-image{

    display:flex;

    justify-content:center;
}

.location-intro-image img{

    width:100%;

    max-width:430px;

    display:block;

    border-radius:24px;

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

    box-shadow:
    0 20px 45px rgba(0,0,0,.35);

    transition:.35s ease;
}

.location-intro-image img:hover{

    transform:translateY(-6px);
}

/* Content */

.location-intro-content .section-tag{

    display:inline-block;

    color:#d9b38c;

    font-size:13px;

    letter-spacing:3px;

    text-transform:uppercase;

    margin-bottom:18px;
}

.location-intro-content h2{

    color:#fff;

    font-size:48px;

    line-height:1.2;

    margin:0 0 25px;

    font-family:'Playfair Display', serif;
}

.location-intro-content p{

    color:#cfcfcf;

    font-size:17px;

    line-height:1.9;

    margin-bottom:20px;
}

.location-intro-content a{

    color:#d9b38c;

    text-decoration:none;

    transition:.3s;
}

.location-intro-content a:hover{

    color:#fff;
}

/* Features */

.location-features{

    margin-top:35px;

    display:grid;

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

    gap:15px;
}

.location-features span{

    display:flex;

    align-items:center;

    justify-content:center;

    height:54px;

    text-align:center;

    border-radius:14px;

    color:#fff;

    font-size:15px;

    background:
    linear-gradient(
        180deg,
        rgba(255,255,255,.05),
        rgba(255,255,255,.02)
    );

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

    backdrop-filter:blur(12px);

    transition:.3s;
}

.location-features span:hover{

    transform:translateY(-3px);

    border-color:
    rgba(183,110,121,.35);

    box-shadow:
    0 12px 30px rgba(122,31,61,.18);
}

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

@media(max-width:991px){

    .location-intro{

        padding:70px 0;
    }

    .location-intro-container{

        grid-template-columns:1fr;

        gap:35px;

        padding:0 20px;
    }

    .location-intro-image{

        order:1;
    }

    .location-intro-content{

        order:2;
    }

    .location-intro-image img{

        max-width:340px;

        margin:auto;
    }

    .location-intro-content h2{

        font-size:34px;
    }

    .location-intro-content p{

        font-size:16px;

        line-height:1.8;
    }

    .location-features{

        grid-template-columns:1fr;

        gap:12px;
    }

    .location-features span{

        height:50px;

        font-size:14px;
    }

}

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

.location-content{

    padding:100px 0;

    background:#0a0a0a;
}

.location-content-wrapper{

    max-width:900px;

    margin:auto;

    padding:0 25px;

    text-align:center;   /* Center everything */
}

.location-content-wrapper .section-tag{

    display:inline-block;

    margin:0 auto 18px;

    text-align:center;
}

.location-content-wrapper h2{

    color:#fff;

    font-size:48px;

    margin:0 0 30px;

    font-family:'Playfair Display', serif;

    text-align:center;
}

.location-content-wrapper p{

    color:#d6d6d6;

    font-size:18px;

    line-height:2;

    margin-bottom:22px;

    text-align:left;     /* Paragraphs left for readability */
}

.location-content-wrapper a{

    color:#d9b38c;

    text-decoration:none;
}

.location-content-wrapper a:hover{

    color:#fff;
}

@media(max-width:991px){

    .location-content{

        padding:70px 0;
    }

    .location-content-wrapper{

        padding:0 20px;
    }

    .location-content-wrapper h2{

        font-size:34px;
    }

    .location-content-wrapper p{

        font-size:16px;

        line-height:1.9;
    }

}

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

.location-highlights{

    padding:100px 0;

    background:#0a0a0a;
}

@media(max-width:991px){

    .location-highlights{

        padding:70px 0;
    }

}

/* =========================
   SERVICES SECTION
========================= */

.services-section{

    padding:100px 0;

    background:#0a0a0a;
}

.services-container{

    max-width:900px;

    margin:auto;

    padding:0 25px;

    text-align:center;
}

.services-container h2{

    color:#fff;

    font-size:48px;

    margin:15px 0 20px;

    font-family:'Playfair Display', serif;
}

.services-container p{

    color:#cfcfcf;

    font-size:17px;

    line-height:1.9;

    margin-bottom:40px;
}

.services-buttons{

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:16px;
}

.service-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:14px 24px;

    min-height:52px;

    border-radius:50px;

    text-decoration:none;

    color:#fff;

    font-size:15px;

    font-weight:500;

    background:
    linear-gradient(
        180deg,
        rgba(255,255,255,.05),
        rgba(255,255,255,.02)
    );

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

    transition:.35s ease;
}

.service-btn:hover{

    transform:translateY(-3px);

    color:#d9b38c;

    border-color:rgba(183,110,121,.35);

    box-shadow:0 12px 30px rgba(122,31,61,.18);
}

@media(max-width:991px){

    .services-section{

        padding:70px 0;
    }

    .services-container{

        padding:0 20px;
    }

    .services-container h2{

        font-size:34px;
    }

    .services-container p{

        font-size:16px;

        line-height:1.8;
    }

    .services-buttons{

        gap:12px;
    }

    .service-btn{

        width:calc(50% - 6px);

        padding:14px 10px;

        font-size:14px;
    }

}

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

.location-overview{

    padding:100px 0;

    background:#0a0a0a;

    position:relative;

    overflow:hidden;
}

.location-overview::before{

    content:'';

    position:absolute;

    left:-120px;
    bottom:-120px;

    width:320px;
    height:320px;

    background:
    radial-gradient(
        circle,
        rgba(122,31,61,.18),
        transparent 70%
    );

    filter:blur(35px);
}

.location-overview-container{

    max-width:1300px;

    margin:auto;

    padding:0 25px;

    display:grid;

    grid-template-columns:60% 40%;

    gap:70px;

    align-items:center;

    position:relative;

    z-index:2;
}

/* Content */

.location-overview-content .section-tag{

    display:inline-block;

    margin-bottom:18px;
}

.location-overview-content h2{

    color:#fff;

    font-size:48px;

    line-height:1.2;

    margin:0 0 25px;

    font-family:'Playfair Display', serif;
}

.location-overview-content p{

    color:#d6d6d6;

    font-size:18px;

    line-height:2;

    margin-bottom:20px;
}

.location-overview-content a{

    color:#d9b38c;

    text-decoration:none;
}

.location-overview-content a:hover{

    color:#fff;
}

/* Image */

.location-overview-image{

    display:flex;

    justify-content:center;
}

.location-overview-image img{

    width:100%;

    max-width:430px;

    border-radius:24px;

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

    display:block;

    transition:.35s ease;

    box-shadow:
    0 20px 45px rgba(0,0,0,.35);
}

.location-overview-image img:hover{

    transform:translateY(-6px);

    box-shadow:
    0 25px 55px rgba(122,31,61,.20);
}

/* Mobile */

@media(max-width:991px){

    .location-overview{

        padding:70px 0;
    }

    .location-overview-container{

        grid-template-columns:1fr;

        gap:35px;

        padding:0 20px;
    }

    .location-overview-image{

        order:1;
    }

    .location-overview-content{

        order:2;
    }

    .location-overview-image img{

        max-width:340px;
    }

    .location-overview-content h2{

        font-size:34px;
    }

    .location-overview-content p{

        font-size:16px;

        line-height:1.9;
    }

}