/* =========================
   GLOBAL RESET
========================= */


*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}


html{
    scroll-behavior:smooth;
}


body{

    font-family:'Montserrat',sans-serif;

    color:#222;

    line-height:1.6;

}



h1,
h2,
h3{

    font-family:'Playfair Display',serif;

}


img{

    max-width:100%;

    height:auto;

}



.container{

    width:90%;

    max-width:1200px;

    margin:0 auto;

}



a{

    text-decoration:none;

}



button{

    cursor:pointer;

}

/* =========================
   TOP CONTACT BAR
========================= */


.top-bar {

    background:#111;

    height:38px;

    display:flex;

    align-items:center;

    color:#fff;

    font-size:14px;

}



.top-bar-wrapper {

    display:flex;

    align-items:center;

    justify-content:space-between;

}

.top-address i,
.top-phone i {

    font-size:14px;
    color:#ffffff;

}

.top-address,
.top-phone {

    display:flex;
    align-items:center;
    gap:10px;

}



.top-bar a {

    color:#fff;

    text-decoration:none;

}



.top-bar a:hover {

    color:#c8202f;

}



/* Mobile */

@media(max-width:768px){

    .top-bar{

        display:none;

    }

}

/* =========================
   HEADER STYLE
========================= */

.site-header {

    position:fixed;
    top:38px;
    left:0;
    width:100%;
    height:85px;
    display:flex;
    align-items:center;
    z-index:9999;
    padding:0;
    background:rgb(11 31 66 / 27%);
    transition:.4s ease;
}


.site-header.scrolled {

    height:80px;
    background:#ffffff;
    box-shadow:0 5px 20px rgba(0,0,0,.15);

}

.header-wrapper{

    width:90%;
    max-width:1200px;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:100%;

}

.header-logo{

    display:flex;
    align-items:center;

}

.header-logo img {
    width:171px;
    height:auto;
    display:block;
}

.site-header.scrolled .header-logo img {
    width:100px;
}

@media(max-width:768px){



    .site-header{

        top:0;
        background: rgb(0 0 0 / 29%);
        height:82px;

    }

    .header-logo img {
        width:100px;
    }

}


/* Navigation */

.main-navigation {

    position:relative;

    display:block;

    background:transparent;

    padding:0;

    width:auto;

}

.main-navigation ul{
    display:flex;
    align-items:center;
    gap:32px;
    list-style: none;
}



.main-navigation a{


    color:#ffffff;
    font-size:14px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.5px;
    transition:.3s;


}

.site-header.scrolled .main-navigation a.active{color: #b51f2a;}


.site-header.scrolled 
.main-navigation a{

    color:#222;

}



.main-navigation a:hover{

    color:#b51f2a;

}

@media(max-width:1100px){

.main-navigation.active{

    display:block;

}

}



/* Book Now Button */


.book-now-btn {
    background:#b51f2a;
    color:#ffffff;
    padding:14px 32px;
    border-radius:30px;
    font-size:14px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    box-shadow:0 8px 20px rgba(181,31,42,.25);
    transition:.3s;
}

.book-now-btn:hover,
.book-now-btn:focus{
    background:#8d1721;
    color:#fff;
}

.site-header.scrolled {

    background:#ffffff;
    backdrop-filter:blur(10px);
    top: 0;

}

.main-navigation a.active {

    color:#b51f2a;

}


.header-book{

    display:flex;

    align-items:center;

}


.book-now-btn{

    display:flex;

    align-items:center;

    justify-content:center;

    height:44px;

    padding:0 30px;

}

/* Accessibility Focus */


a:focus,
button:focus{


    outline:3px solid #000;

    outline-offset:3px;


}





/* =========================
   MOBILE MENU
========================= */

.mobile-menu-btn {

    display:none;

    background:transparent;

    border:0;

    cursor:pointer;

    position:relative;

    z-index:10001;

    outline:none;

}


.mobile-menu-btn span {

    display:block;

    width:30px;

    height:3px;

    background:#ffffff;

    margin:6px 0;

    transition:.3s;

}


.site-header.scrolled .mobile-menu-btn span {

    background:#222;

}

.mobile-menu-btn.open span:nth-child(1){

transform:rotate(45deg) translate(6px,6px);

}


.mobile-menu-btn.open span:nth-child(2){

opacity:0;

}


.mobile-menu-btn.open span:nth-child(3){

transform:rotate(-45deg) translate(6px,-6px);

}


@media(max-width:1100px){


    .mobile-menu-btn{

        display:block;

    }


    .main-navigation{

        position:absolute;

        top:80px;

        left:0;

        width:100%;

        background:rgba(0,0,0,0.95);

        padding:30px;

        display:none;

    }



    .main-navigation.active{

        display:block;

    }



    .main-navigation ul{
    flex-direction:column;
    align-items:flex-start;
    gap:25px;;
    list-style:none;
    }

    .main-navigation li{
    width:100%;
    }



    .main-navigation a{

        color:#fff !important;

        display:block;

        padding:8px 0;

        font-size:16px;

    }



}

/* =========================
   HERO SLIDER
========================= */

.hero-slider {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 650px;
    overflow: hidden;
    background: #111111;
}

/* Slides */

.hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 1s ease, visibility 1s ease;
}

.hero-slide.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.hero-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transform: scale(1);
    transition: transform 8s ease;
}

.hero-slide.active img {
    transform: scale(1.06);
}


/* Brand Overlay */

.hero-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(
            90deg,
            rgba(17,17,17,0.82) 0%,
            rgba(17,17,17,0.62) 35%,
            rgba(181,31,42,0.28) 75%,
            rgba(217,181,44,0.12) 100%
        );
}


/* Content Alignment */

.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
}

.hero-overlay .container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

.hero-content {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 680px;
    padding-top: 85px;
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .8s ease .25s, transform .8s ease .25s;
}

.hero-slide.active .hero-content {
    opacity: 1;
    transform: translateY(0);
}


/* Subtitle */

.hero-subtitle {
    position: relative;
    display: block;
    padding-left: 45px;
    margin-bottom: 18px;
    color: #2578F4;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.hero-subtitle::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 32px;
    height: 2px;
    background: #786e5e;
    transform: translateY(-50%);
}


/* Heading */

.hero-content h1,
.hero-content h2 {
    max-width: 680px;
    margin: 0 0 24px;
    color: #ffffff;
    font-family: "Playfair Display", serif;
    font-size: 56px;
    font-weight: 700;
    line-height: 1.15;
    text-shadow: 0 4px 18px rgba(0,0,0,.35);
}


/* Paragraph */

.hero-content p {
    max-width: 590px;
    margin: 0 0 35px;
    color: rgba(255,255,255,.92);
    font-size: 18px;
    line-height: 1.75;
    text-shadow: 0 2px 12px rgba(0,0,0,.35);
}


/* Hero Button */

.hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 14px 38px;
    border: 2px solid #B51F2A;
    border-radius: 30px;
    background: #B51F2A;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    box-shadow: 0 12px 30px rgba(181,31,42,.35);
    transition: background .3s ease, border-color .3s ease, color .3s ease, transform .3s ease;
}

.hero-btn:hover,
.hero-btn:focus {
    background: #D9B52C;
    border-color: #D9B52C;
    color: #111111;
    transform: translateY(-3px);
    /*box-shadow: 0 15px 35px rgba(217,181,44,.35);*/
}


/* Slider Arrows */

.hero-prev,
.hero-next {
    position: absolute;
    top: 50%;
    z-index: 5;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;
    background: rgba(17,17,17,.45);
    color: #ffffff;
    font-size: 20px;
    transform: translateY(-50%);
    backdrop-filter: blur(4px);
    transition: background .3s ease, border-color .3s ease, transform .3s ease;
}

.hero-prev {
    left: 25px;
}

.hero-next {
    right: 25px;
}

.hero-prev:hover,
.hero-next:hover,
.hero-prev:focus,
.hero-next:focus {
    border-color: #D9B52C;
    background: #B51F2A;
}

.hero-prev:hover {
    transform: translateY(-50%) translateX(-3px);
}

.hero-next:hover {
    transform: translateY(-50%) translateX(3px);
}


/* Slider Dots */

.hero-dots {
    position: absolute;
    bottom: 35px;
    left: 50%;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 10px;
    transform: translateX(-50%);
}

.hero-dots .dot {
    width: 11px;
    height: 11px;
    padding: 0;
    border: 2px solid #ffffff;
    border-radius: 50%;
    background: transparent;
    opacity: .75;
    transition: width .3s ease, border-radius .3s ease, background .3s ease;
}

.hero-dots .dot.active {
    width: 30px;
    border-color: #D9B52C;
    border-radius: 10px;
    background: #B51F2A;
    opacity: 1;
}


/* =========================
   TABLET RESPONSIVE
========================= */

@media (max-width:1100px) {

    .hero-slider {
        min-height: 620px;
    }

    .hero-content {
        max-width: 620px;
        padding-top: 70px;
    }

    .hero-content h1,
    .hero-content h2 {
        font-size: 46px;
    }

    .hero-prev,
    .hero-next {
        top: auto;
        bottom: 28px;
        transform: none;
    }

    .hero-prev {
        left: 25px;
    }

    .hero-next {
        right: 25px;
    }

}


/* =========================
   MOBILE RESPONSIVE
========================= */

@media (max-width:768px) {

    .hero-slider {
        height: 100svh;
        min-height: 620px;
    }

    .hero-slide::after {
        background:
            linear-gradient(
                90deg,
                rgba(17,17,17,.85),
                rgba(181,31,42,.35)
            );
    }

    .hero-content {
        width: 90%;
        max-width: 100%;
        padding-top: 60px;
    }

    .hero-subtitle {
        padding-left: 37px;
        font-size: 12px;
        letter-spacing: 2px;
    }

    .hero-subtitle::before {
        width: 25px;
    }

    .hero-content h1,
    .hero-content h2 {
        margin-bottom: 18px;
        font-size: 36px;
        line-height: 1.2;
    }

    .hero-content p {
        margin-bottom: 28px;
        font-size: 15px;
    }

    .hero-btn {
        min-height: 48px;
        padding: 12px 29px;
    }

    .hero-prev,
    .hero-next {
        width: 44px;
        height: 44px;
        bottom: 22px;
        font-size: 17px;
    }

    .hero-prev {
        left: 18px;
    }

    .hero-next {
        right: 18px;
    }

    .hero-dots {
        bottom: 37px;
    }

}


/* =========================
   SMALL MOBILE
========================= */

@media (max-width:480px) {

    .hero-slider {
        min-height: 590px;
    }

    .hero-content {
        width: 92%;
        padding-top: 55px;
    }

    .hero-content h1,
    .hero-content h2 {
        font-size: 30px;
    }

    .hero-content p {
        font-size: 14px;
    }

    .hero-dots .dot {
        width: 9px;
        height: 9px;
    }

    .hero-dots .dot.active {
        width: 24px;
    }

}


/* =========================
   REDUCED MOTION
========================= */

@media (prefers-reduced-motion:reduce) {

    .hero-slide,
    .hero-slide img,
    .hero-content,
    .hero-btn,
    .hero-prev,
    .hero-next,
    .hero-dots .dot {
        transition: none;
    }

    .hero-slide.active img {
        transform: none;
    }

}

.hero-btn {
    background:#8d1721;
    border-color:#8d1721;
    color:#ffffff;
}

.hero-btn:hover,
.hero-btn:focus {
    background:#B51F2A;
    border-color:#B51F2A;
    color:#ffffff;
}

/* =========================
   CREATIVE ABOUT SECTION
========================= */

.about-section {
    position: relative;
    padding: 40px 0;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 8% 20%,
            rgba(181, 31, 42, 0.07),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #fff 0%,
            #faf7f4 100%
        );
}

.about-section::before {
    content: "";
    position: absolute;
    top: -160px;
    right: -151px;
    width: 349px;
    height: 420px;
    /* border: 1px solid rgba(181, 31, 42, 0.1); */
    border-radius: 50%;
    background: repeating-linear-gradient(45deg, rgba(181, 31, 42, 0.05) 0, rgba(181, 31, 42, 0.05) 2px, transparent 2px, transparent 12px);
}

.about-section::after {
    content: "";
    position: absolute;
    right: 5%;
    bottom: -110px;
    width: 220px;
    height: 220px;
    background:
        repeating-linear-gradient(
            45deg,
            rgba(181, 31, 42, 0.05) 0,
            rgba(181, 31, 42, 0.05) 2px,
            transparent 2px,
            transparent 12px
        );
    border-radius: 50%;
}

.about-wrapper {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    align-items: center;
    gap: 100px;
}


/* =========================
   ABOUT IMAGE GALLERY
========================= */

.about-gallery {
    position: relative;
    min-height: 640px;
    padding: 30px 55px 70px 0;
}

.about-shape {
    position: absolute;
    top: 0;
    left: 45px;
    width: calc(100% - 75px);
    height: 560px;
    border: 2px solid rgba(181, 31, 42, 0.15);
    border-radius: 150px 20px 150px 20px;
    transform: rotate(-3deg);
}

.about-primary-image {
    position: relative;
    width: 100%;
    height: 718px;
    overflow: hidden;
    border-radius: 130px 18px 130px 18px;
    box-shadow: 0 30px 70px rgba(20, 20, 20, 0.2);
}

.about-primary-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            to top,
            rgba(0, 0, 0, 0.48),
            transparent 48%
        );
    pointer-events: none;
}

.about-primary-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.8s ease;
}

.about-gallery:hover .about-primary-image img {
    transform: scale(1.04);
}


/* Location Label */

.about-location-label {
    position: absolute;
    left: 32px;
    bottom: 30px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 15px;
    color: #ffffff;
}

.about-location-label > span {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #b51f2a;
    color: #ffffff;
    font-size: 18px;
}

.about-location-label div {
    display: flex;
    flex-direction: column;
}

.about-location-label small {
    margin-bottom: 2px;
    color: #eeeeee;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.about-location-label strong {
    color: #ffffff;
    font-family: "Playfair Display", serif;
    font-size: 19px;
    line-height: 1.3;
}


/* Secondary Image */

.about-secondary-image {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 3;
    width: 255px;
    height: 205px;
    padding: 10px;
    overflow: hidden;
    border-radius: 15px 70px 15px 70px;
    background: #ffffff;
    box-shadow: 0 24px 55px rgba(0, 0, 0, 0.2);
}

.about-secondary-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 10px 60px 10px 60px;
}


/* Floating Information Card */

.about-floating-card {
    position: absolute;
    top: 90px;
    right: -10px;
    z-index: 4;
    width: 250px;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.16);
    backdrop-filter: blur(10px);
}

.about-floating-icon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 15px;
    background: #b51f2a;
    color: #ffffff;
    font-size: 20px;
    transform: rotate(-5deg);
}

.about-floating-card div {
    display: flex;
    flex-direction: column;
}

.about-floating-card strong {
    margin-bottom: 3px;
    color: #222222;
    font-family: "Playfair Display", serif;
    font-size: 18px;
    line-height: 1.2;
}

.about-floating-card div > span {
    color: #666666;
    font-size: 12px;
    line-height: 1.5;
}


/* Vertical Decorative Text */

.about-vertical-text {
    position: absolute;
    top: 225px;
    left: -63px;
    color: rgba(181, 31, 42, 0.18);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 5px;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}


/* =========================
   ABOUT CONTENT
========================= */

.about-content {
    position: relative;
}

.about-heading-line {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 18px;
}

.about-heading-line::before {
    content: "";
    width: 42px;
    height: 2px;
    flex-shrink: 0;
    background: #b51f2a;
}

.about-eyebrow {
    color: #b51f2a;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

.about-content h2 {
    max-width: 590px;
    margin: 0 0 25px;
    color: #1d1d1d;
    font-size: 50px;
    font-weight: 700;
    line-height: 1.13;
}

.about-content > p {
    max-width: 610px;
    margin: 0 0 17px;
    color: #626262;
    font-size: 16px;
    line-height: 1.85;
}

.about-content .about-intro {
    color: #626262;
    font-size: 16px;
    /* font-weight: 500; */
}


/* Highlight Cards */

.about-highlights {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 35px 0;
}

.about-highlight {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    min-height: 150px;
    padding: 22px 20px;
    overflow: hidden;
    border: 1px solid #ece6e2;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05);
    transition:
        transform 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease;
}

.about-highlight::after {
    content: "";
    position: absolute;
    right: -22px;
    bottom: -22px;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: rgba(181, 31, 42, 0.06);
}

.about-highlight:hover {
    border-color: rgba(181, 31, 42, 0.25);
    transform: translateY(-6px);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.09);
}

.about-highlight-icon {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: rgba(181, 31, 42, 0.1);
    color: #b51f2a;
    font-size: 18px;
}

.about-highlight h3 {
    margin: 0 0 8px;
    color: #222222;
    font-size: 19px;
    line-height: 1.3;
}

.about-highlight p {
    margin: 0;
    color: #666666;
    font-size: 13px;
    line-height: 1.65;
}


/* Bottom Area */

.about-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    padding-top: 5px;
}

.about-buttons {
    display: flex;
    align-items: center;
    gap: 13px;
}

.about-primary-btn,
.about-secondary-btn {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 27px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease;
}

.about-primary-btn {
    border: 2px solid #b51f2a;
    background: #b51f2a;
    color: #ffffff;
    box-shadow: 0 10px 25px rgba(181, 31, 42, 0.24);
}

.about-primary-btn:hover,
.about-primary-btn:focus {
    border-color: #8d1721;
    background: #8d1721;
    color: #ffffff;
    transform: translateY(-3px);
}

.about-secondary-btn {
    border: 2px solid #d9d2cd;
    background: transparent;
    color: #222222;
}

.about-secondary-btn:hover,
.about-secondary-btn:focus {
    border-color: #b51f2a;
    background: #b51f2a;
    color: #ffffff;
    transform: translateY(-3px);
}

.about-secondary-btn span {
    transition: transform 0.3s ease;
}

.about-secondary-btn:hover span {
    transform: translateX(4px);
}


/* Reservation Number */

.about-phone {
    display: flex;
    flex-direction: column;
    text-align: right;
}

.about-phone span {
    margin-bottom: 2px;
    color: #777777;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.about-phone a {
    color: #222222;
    font-family: "Playfair Display", serif;
    font-size: 20px;
    font-weight: 700;
}

.about-phone a:hover,
.about-phone a:focus {
    color: #b51f2a;
}


/* =========================
   ABOUT RESPONSIVE
========================= */

@media (max-width: 1180px) {

    .about-wrapper {
        gap: 60px;
    }

    .about-gallery {
        min-height: 590px;
    }

    .about-primary-image {
        height: 510px;
    }

    .about-floating-card {
        right: -5px;
        width: 225px;
    }

    .about-content h2 {
        font-size: 43px;
    }

    .about-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .about-phone {
        text-align: left;
    }

}


@media (max-width: 900px) {

    .about-section {
        padding: 90px 0;
    }

    .about-wrapper {
        grid-template-columns: 1fr;
        gap: 65px;
    }

    .about-gallery {
        width: 100%;
        max-width: 650px;
        min-height: 620px;
        margin: 0 auto;
    }

    .about-content {
        max-width: 700px;
        margin: 0 auto;
    }

    .about-content h2 {
        max-width: 650px;
    }

    .about-content > p {
        max-width: 700px;
    }

    .about-bottom {
        align-items: center;
        flex-direction: row;
    }

    .about-phone {
        text-align: right;
    }

}


@media (max-width: 650px) {

    .about-section {
        padding: 70px 0;
    }

    .about-gallery {
        min-height: 500px;
        padding: 20px 25px 55px 0;
    }

    .about-shape {
        left: 20px;
        width: calc(100% - 35px);
        height: 425px;
        border-radius: 80px 15px 80px 15px;
    }

    .about-primary-image {
        width: 94%;
        height: 420px;
        border-radius: 75px 14px 75px 14px;
    }

    .about-location-label {
        left: 20px;
        bottom: 20px;
    }

    .about-location-label > span {
        width: 40px;
        height: 40px;
        font-size: 15px;
    }

    .about-location-label small {
        font-size: 9px;
    }

    .about-location-label strong {
        font-size: 15px;
    }

    .about-secondary-image {
        width: 175px;
        height: 145px;
        border-radius: 12px 45px 12px 45px;
    }

    .about-secondary-image img {
        border-radius: 8px 38px 8px 38px;
    }

    .about-floating-card {
        top: 42px;
        right: -5px;
        width: 190px;
        padding: 14px;
    }

    .about-floating-icon {
        width: 42px;
        height: 42px;
        border-radius: 12px;
        font-size: 17px;
    }

    .about-floating-card strong {
        font-size: 15px;
    }

    .about-floating-card div > span {
        font-size: 10px;
    }

    .about-vertical-text {
        display: none;
    }

    .about-content h2 {
        font-size: 35px;
    }

    .about-content .about-intro {
        font-size: 17px;
    }

    .about-highlights {
        grid-template-columns: 1fr;
    }

    .about-highlight {
        min-height: auto;
    }

    .about-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .about-buttons {
        width: 100%;
        flex-wrap: wrap;
    }

    .about-phone {
        text-align: left;
    }

}


@media (max-width: 430px) {

    .about-gallery {
        min-height: 445px;
    }

    .about-primary-image {
        height: 370px;
    }

    .about-shape {
        height: 375px;
    }

    .about-floating-card {
        top: 25px;
        width: 168px;
    }

    .about-floating-card div > span {
        display: none;
    }

    .about-secondary-image {
        width: 145px;
        height: 120px;
    }

    .about-content h2 {
        font-size: 30px;
    }

    .about-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .about-primary-btn,
    .about-secondary-btn {
        width: 100%;
    }

}


/* Reduced Motion */

@media (prefers-reduced-motion: reduce) {

    .about-primary-image img,
    .about-highlight,
    .about-primary-btn,
    .about-secondary-btn,
    .about-secondary-btn span {
        transition: none;
    }

    .about-gallery:hover .about-primary-image img,
    .about-highlight:hover,
    .about-primary-btn:hover,
    .about-secondary-btn:hover {
        transform: none;
    }

}

/* =========================
   AMENITIES SECTION
========================= */


.amenities-section {
    padding: 110px 0;
    background: #ffffff;
    position: relative;
    overflow: hidden;
}


.amenities-section::before {
    content: "";
    position: absolute;
    width: 350px;
    height: 350px;
    right: -222px;
    top: 84px;
    border-radius: 50%;
    /* background: rgba(16, 35, 75, .05); */
}


.amenities-wrapper {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 80px;
    align-items: center;
    position: relative;
    z-index: 2;
}


/* Left Content */


.amenities-label {
    display: inline-block;
    margin-bottom: 18px;
    color: #B51F2A;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}


.amenities-content h2 {
    margin-bottom: 25px;
    color: #10234B;
    font-family: "Playfair Display",serif;
    font-size: 48px;
    line-height: 1.15;
}


.amenities-content p {
    margin-bottom: 30px;
    color: #666666;
    font-size: 17px;
    line-height: 1.8;
}


/* Image */


.amenities-image {
    position: relative;
    width: 100%;
    max-width: 420px;
    margin-bottom: 35px;
}


.amenities-image img {
    width: 100%;
    height: 260px;
    display: block;
    object-fit: cover;
    border-radius: 20px;
}


.amenities-badge {
    position: absolute;
    right: -147px;
    bottom: 86px;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 18px 22px;
    background: #ffffff;
    border-left: 4px solid #B51F2A;
    border-radius: 12px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, .15);
}


.amenities-badge > span {
    color: #B51F2A;
    font-size: 25px;
}


.amenities-badge strong {
    display: block;
    color: #10234B;
    font-size: 18px;
}


.amenities-badge small {
    color: #666666;
}



/* Button */


.amenities-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 15px 32px;
    border-radius: 30px;
    background: #10234B;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    transition: .3s ease;
}


.amenities-btn:hover {
    background: #B51F2A;
    color: #ffffff;
}



/* Right List */


.amenities-list {
    padding: 40px;
    background: #f2f2f2;
    border-radius: 30px;
}


.amenity-item {
    display: flex;
    gap: 20px;
    padding: 22px 0;
    border-bottom: 1px solid rgba(16,35,75,.12);
}


.amenity-item:last-child {
    border-bottom: none;
}


.amenity-icon {
    width: 58px;
    height: 58px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #10234B;
    color: #ffffff;
    font-size: 21px;
    transition: .3s ease;
}


.amenity-item:hover .amenity-icon {
    background: #B51F2A;
}


.amenity-item h3 {
    margin-bottom: 7px;
    color: #10234B;
    font-size: 20px;
}


.amenity-item p {
    margin: 0;
    color: #666666;
    font-size: 14px;
    line-height: 1.6;
}



/* Responsive */


@media(max-width:1000px){

    .amenities-wrapper {
        grid-template-columns: 1fr;
        gap: 50px;
    }

}


@media(max-width:650px){

    .amenities-section {
        padding: 75px 0;
    }

    .amenities-content h2 {
        font-size: 34px;
    }

    .amenities-list {
        padding: 25px;
    }

    .amenities-badge {
        right: 10px;
    }

    .amenity-item {
        gap: 15px;
    }

}



/* =========================
 EXPERIENCE SECTION
========================= */


.experience-section{

    position:relative;

    min-height:750px;

    display:flex;

    align-items:center;

    background:url("../images/exterior2.webp") #000;

    background-size:cover;

    background-position:center;

    background-attachment:fixed;

    color:#fff;

}



.experience-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        90deg,
        rgba(0,0,0,.75),
        rgba(0,0,0,.45)
    );

}





.experience-section .container{

    position:relative;

    z-index:2;

}





.experience-content{

    max-width:1000px;

}





.experience-badge{

    display:inline-flex;

    padding:12px 28px;

    border-radius:30px;

    background:rgba(255,255,255,.15);

    border:1px solid rgba(255,255,255,.4);

    color:#d9b52c;

    font-size:14px;

    letter-spacing:3px;

    font-weight:700;

    margin-bottom:35px;

}





.experience-content h2{

    max-width:850px;

    font-size:58px;

    line-height:1.15;

    font-family:'Playfair Display',serif;

    color:#fff;

    margin-bottom:30px;

}

.experience-content > p{

    max-width:850px;

    font-size:18px;

    line-height:1.8;

    color:#f5f5f5;

    margin-bottom:45px;

}

/* Cards */


.experience-cards{

    display:flex;

    gap:25px;

    margin-bottom:45px;

}

.experience-card{

    flex:1;

    padding:30px 25px;

    border-radius:18px;

    background:rgba(255,255,255,.15);

    border:1px solid rgba(255,255,255,.3);

    backdrop-filter:blur(8px);

}

.experience-card h3{

    color:#d9b52c;

    font-size:22px;

    margin-bottom:15px;

}

.experience-card p{

    color:#fff;

    line-height:1.6;

}

/* Buttons */


.experience-buttons{

    display:flex;

    gap:20px;

}

.experience-primary-btn{

    background:#d9b52c;

    color:#111;

    padding:16px 35px;

    border-radius:40px;

    font-weight:700;

}

.experience-outline-btn{

    color:#fff;

    border:2px solid #fff;

    padding:14px 35px;

    border-radius:40px;

    font-weight:700;

}

@media(max-width:900px){


.experience-section{

    min-height:auto;

    padding:90px 0;

    background-attachment:scroll;

}



.experience-content h2{

    font-size:38px;

}



.experience-cards{

    flex-direction:column;

}



.experience-buttons{

    flex-direction:column;

}


}

/* =========================
   ATTRACTIONS SECTION
========================= */

.attractions-section {
    padding: 110px 0;
    background: #FAF4EC;
    overflow: hidden;
    position: relative;
}

.attractions-section::before {
    content: "";
    position: absolute;
    width: 350px;
    height: 350px;
    left: -150px;
    top: 80px;
    border-radius: 50%;
    background: rgba(16,35,75,.05);
}


/* Heading */

.attractions-section .section-heading {
    max-width: 750px;
    margin: 0 auto 60px;
    text-align: center;
}

.attractions-section .section-heading span {
    display: block;
    margin-bottom: 15px;
    color: #B51F2A;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.attractions-section .section-heading h2 {
    margin-bottom: 20px;
    color: #10234B;
    font-family: "Playfair Display", serif;
    font-size: 48px;
    line-height: 1.15;
}

.attractions-section .section-heading p {
    color: #666666;
    font-size: 17px;
    line-height: 1.8;
}


/* Slider */

.attractions-slider-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.attractions-scroll {
    width: 100%;
    overflow: hidden;
}

.attractions-track {
    display: flex;
    gap: 30px;
    transition: transform .6s ease;
    will-change: transform;
}


/* Card */

.attraction-card {
    position: relative;
    flex: 0 0 calc((100% - 60px) / 3);
    height: 560px;
    overflow: hidden;
    border-radius: 22px;
    background: #10234B;
}


.attraction-card img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .7s ease;
}


.attraction-card:hover img {
    transform: scale(1.08);
}


/* Image Overlay */

.attraction-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,0.05) 25%,
            rgba(0,0,0,0.85) 100%
        );
}


/* Content */

.attraction-content {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    width: 100%;
    padding: 35px;
}


.attraction-content::before {
    content: "";
    display: block;
    width: 45px;
    height: 3px;
    margin-bottom: 18px;
    background: #B51F2A;
}


.attraction-content h3 {
    margin-bottom: 12px;
    color: #FFFFFF;
    font-family: "Playfair Display", serif;
    font-size: 28px;
    line-height: 1.25;
}


.attraction-content p {
    margin: 0;
    max-width: 330px;
    color: rgba(255,255,255,.88);
    font-size: 15px;
    line-height: 1.7;
}


/* Slider Buttons */

.attraction-prev,
.attraction-next {
    position: absolute;
    top: 50%;
    z-index: 5;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    background: #B51F2A;
    color: #FFFFFF;
    font-size: 18px;
    transform: translateY(-50%);
    box-shadow: 0 12px 30px rgba(181,31,42,.35);
    transition: .3s ease;
}


.attraction-prev {
    left: -25px;
}

.attraction-next {
    right: -25px;
}


.attraction-prev:hover,
.attraction-next:hover {
    background: #10234B;
    transform: translateY(-50%) scale(1.08);
}



/* Tablet */

@media(max-width:1100px){

    .attraction-card {
        flex: 0 0 calc((100% - 30px) / 2);
        height: 500px;
    }

    .attraction-prev {
        left: 10px;
    }

    .attraction-next {
        right: 10px;
    }

}



/* Mobile */

@media(max-width:600px){

    .attractions-section {
        padding: 75px 0;
    }

    .attractions-section .section-heading h2 {
        font-size: 34px;
    }

    .attraction-card {
        flex: 0 0 100%;
        height: 430px;
    }

    .attraction-content {
        padding: 25px;
    }

    .attraction-content h3 {
        font-size: 24px;
    }

    .attraction-prev,
    .attraction-next {
        width: 42px;
        height: 42px;
    }

}



/* =========================
   GALLERY SECTION
========================= */

.gallery-section {
    padding: 110px 0;
    background:#efeff0;
    position: relative;
    overflow: hidden;
}

.gallery-section::before {
    content: "";
    position: absolute;
    width: 350px;
    height: 350px;
    right: -150px;
    top: 80px;
    border-radius: 50%;
    background: rgba(16,35,75,.06);
}


/* Section Heading */

.gallery-section .section-heading {
    max-width: 750px;
    margin: 0 auto 60px;
    text-align: center;
}

.gallery-section .section-heading span {
    display: block;
    margin-bottom: 15px;
    color: #B51F2A;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.gallery-section .section-heading h2 {
    margin-bottom: 20px;
    color: #10234B;
    font-family: "Playfair Display",serif;
    font-size: 48px;
    line-height: 1.15;
}

.gallery-section .section-heading p {
    color: #666666;
    font-size: 17px;
    line-height: 1.8;
}


/* Gallery Grid */

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    grid-auto-rows: 220px;
    gap: 22px;
}


/* Gallery Item */

.gallery-item {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 22px;
    background: #10234B;
}


.gallery-item img {
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition: transform .6s ease;
}


.gallery-item:hover img {
    transform:scale(1.10);
}


/* Feature Image */

.gallery-item:nth-child(1) {
    grid-column:span 2;
    grid-row:span 2;
}


.gallery-item:nth-child(4) {
    grid-row:span 2;
}



/* Overlay */

.gallery-overlay {
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(181,31,42,.75);
    opacity:0;
    transition:.4s ease;
}


.gallery-item:hover .gallery-overlay {
    opacity:1;
}


.gallery-overlay span {
    width:55px;
    height:55px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#FFFFFF;
    color:#B51F2A;
    font-size:20px;
}



/* =========================
   LIGHTBOX
========================= */


.gallery-lightbox {
    position:fixed;
    inset:0;
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(8,22,47,.95);
}


.gallery-lightbox img {
    max-width:90%;
    max-height:85%;
    object-fit:contain;
    border-radius:15px;
}



/* Lightbox Buttons */

.gallery-lightbox button {
    position:absolute;
    display:flex;
    align-items:center;
    justify-content:center;
    border:none;
    cursor:pointer;
}



/* Close */

.gallery-close {
    top:30px;
    right:40px;
    width:45px;
    height:45px;
    border-radius:50%;
    background:#FFFFFF;
    color:#B51F2A;
    font-size:30px;
}



/* Previous Next */

.gallery-prev,
.gallery-next {
    top:50%;
    width:55px;
    height:55px;
    border-radius:50%;
    background:#B51F2A;
    color:#FFFFFF;
    transform:translateY(-50%);
    transition:.3s ease;
}


.gallery-prev {
    left:50px;
}


.gallery-next {
    right:50px;
}


.gallery-prev:hover,
.gallery-next:hover {
    background:#10234B;
}



/* =========================
   TABLET
========================= */

@media(max-width:900px){

    .gallery-grid {
        grid-template-columns:repeat(2,1fr);
        grid-auto-rows:200px;
    }

    .gallery-item:nth-child(1){
        grid-column:span 2;
        grid-row:span 2;
    }

    .gallery-item:nth-child(4){
        grid-row:span 2;
    }

    .gallery-prev {
        left:20px;
    }

    .gallery-next {
        right:20px;
    }

}



/* =========================
   MOBILE
========================= */

@media(max-width:600px){

    .gallery-section {
        padding:75px 0;
    }

    .gallery-section .section-heading h2 {
        font-size:34px;
    }

    .gallery-grid {
        grid-template-columns:1fr;
        grid-auto-rows:auto;
    }

    .gallery-item,
    .gallery-item:nth-child(1),
    .gallery-item:nth-child(4){
        grid-column:auto;
        grid-row:auto;
        height:280px;
    }

    .gallery-overlay {
        opacity:1;
        background:rgba(0,0,0,.20);
    }

    .gallery-prev,
    .gallery-next {
        width:42px;
        height:42px;
    }

    .gallery-prev {
        left:15px;
    }

    .gallery-next {
        right:15px;
    }

    .gallery-close {
        top:15px;
        right:15px;
    }

}

/* =========================
LOCATION SECTION
========================= */


.location-section {

    padding:110px 0;

    background:#fcf9f6;

    position:relative;

    overflow:hidden;

}



.location-section::before {

    content:"";

    position:absolute;

    width:350px;

    height:350px;

    left:-150px;

    bottom:50px;

    border-radius:50%;

    background:rgba(16,35,75,.05);

}





.location-wrapper {

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}





/* Content */


.location-label {

    display:block;

    margin-bottom:15px;

    color:#B51F2A;

    font-size:13px;

    font-weight:700;

    letter-spacing:3px;

    text-transform:uppercase;

}




.location-content h2 {

    margin-bottom:25px;

    color:#10234B;

    font-family:"Playfair Display",serif;

    font-size:48px;

    line-height:1.15;

}




.location-content > p {

    margin-bottom:35px;

    color:#666666;

    font-size:17px;

    line-height:1.8;

}





/* Address */


.location-address {

    display:flex;

    align-items:center;

    gap:20px;

    padding:25px;

    margin-bottom:30px;

    background:#ffffff;

    border-radius:20px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}




.location-address > span {

    width:55px;

    height:55px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#B51F2A;

    color:#ffffff;

    font-size:22px;

}




.location-address h3 {

    margin-bottom:5px;

    color:#10234B;

    font-size:20px;

}



.location-address p {

    margin:0;

    color:#666666;

}





/* Highlights */


.location-highlights {

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:15px;

    margin-bottom:35px;

}




.location-highlights div {

    padding:18px 10px;

    text-align:center;

    background:#ffffff;

    border-radius:15px;

}




.location-highlights span {

    display:block;

    margin-bottom:10px;

    color:#B51F2A;

    font-size:22px;

}




.location-highlights p {

    margin:0;

    color:#10234B;

    font-size:13px;

    font-weight:600;

}





/* Buttons */


.location-buttons {

    display:flex;

    align-items:center;

    gap:20px;

}





.location-btn {

    display:flex;

    align-items:center;

    gap:12px;

    padding:15px 32px;

    border-radius:30px;

    background:#10234B;

    color:#ffffff;

    font-size:14px;

    font-weight:700;

    text-transform:uppercase;

    transition:.3s ease;

}



.location-btn:hover {

    background:#B51F2A;

    color:#ffffff;

}


.location-call-btn:focus {
    border-color: #b51f2a;
    background: #b51f2a;
    color: #ffffff;
    transform: translateY(-3px);
}
.location-call-btn {
    border: 2px solid #d9d2cd;
    background: transparent;
    color: #222222;
}
.location-call-btn {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 32px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

.location-call-btn:hover,
.location-call-btn:focus {
    border-color: #b51f2a;
    background: #b51f2a;
    color: #ffffff;
    transform: translateY(-3px);
}


.location-call {

    display:flex;

    align-items:center;

    gap:10px;

    color:#B51F2A;

    font-weight:700;

}





/* Map */


.map-card {

    position:relative;

    height:520px;

    overflow:hidden;

    border-radius:30px;

    box-shadow:0 30px 70px rgba(0,0,0,.18);

}




.map-card iframe {

    width:100%;

    height:100%;

    border:0;

}




.map-pin {

    position:absolute;

    top:50%;

    left:50%;

    transform:translate(-50%,-50%);

    width:70px;

    height:70px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#B51F2A;

    color:#ffffff;

    font-size:30px;

    border:8px solid rgba(255,255,255,.8);

}





/* Responsive */


@media(max-width:1000px){

    .location-wrapper {

        grid-template-columns:1fr;

        gap:50px;

    }


    .map-card {

        height:400px;

    }

}



@media(max-width:600px){

    .location-section {

        padding:75px 0;

    }


    .location-content h2 {

        font-size:34px;

    }


    .location-highlights {

        grid-template-columns:1fr;

    }


    .location-buttons {

        flex-direction:column;

        align-items:flex-start;

    }


    .map-card {

        height:330px;

    }

}

/* =========================
FAQ SECTION
========================= */


.faq-section{

    padding:60px 0;

    background:#ffffff;

}





.faq-wrapper{

    display:flex;

    align-items:flex-start;

    gap:70px;

}





.faq-intro{

    width:40%;

}





.faq-intro span{

    color:#b51f2a;

    text-transform:uppercase;

    font-size:14px;

    letter-spacing:3px;

    font-weight:700;

}





.faq-intro h2{

    font-size:44px;

    line-height:1.2;

    margin:20px 0;

}





.faq-intro p{

    color:#666;

    font-size:17px;

    line-height:1.8;

}





.faq-btn{

    display:inline-flex;

    margin-top:25px;

    padding:15px 35px;

    background:#b51f2a;

    color:#fff;

    border-radius:30px;

    font-weight:700;

}






/* Accordion */


.faq-accordion{

    width:60%;

}





.faq-item{

    border-bottom:1px solid #ddd;

}





.faq-question{

    width:100%;

    padding:25px 0;

    background:none;

    border:none;

    display:flex;

    align-items:center;

    justify-content:space-between;

    text-align:left;

    cursor:pointer;

    font-size:18px;

    font-weight:700;

    color:#222;

}





.faq-question i{

    color:#b51f2a;

    transition:.3s ease;

}





.faq-answer{

    max-height:0;

    overflow:hidden;

    transition:.4s ease;

}





.faq-answer p{

    color:#666;

    line-height:1.7;

    padding-bottom:20px;

}





.faq-item.active 
.faq-question i{

    transform:rotate(45deg);

}

@media(max-width:900px){


.faq-wrapper{

    flex-direction:column;

}



.faq-intro,
.faq-accordion{

    width:100%;

}



.faq-intro h2{

    font-size:34px;

}


}


/* =========================
FOOTER SECTION
========================= */


.site-footer{

    background:#111111;

    color:#ffffff;

}




.footer-grid{

    display:grid;

    grid-template-columns:1.5fr 1fr 1.3fr 1fr;

    gap:50px;

    padding:80px 0;

}






/* =========================
FOOTER BRAND
========================= */


.footer-logo{

    display:inline-block;

    margin-bottom:25px;

}



.footer-logo img{

    width:180px;

    height:auto;

}





.footer-brand p{

    color:#cccccc;

    font-size:15px;

    line-height:1.8;

    max-width:330px;

}







/* =========================
SOCIAL ICONS
========================= */


.footer-social{

    display:flex;

    gap:12px;

    margin-top:25px;

}




.footer-social a{

    width:42px;

    height:42px;

    border-radius:50%;

    background:#b51f2a;

    color:#ffffff;

    display:flex;

    align-items:center;

    justify-content:center;

    transition:.3s ease;

}




.footer-social a:hover{

    background:#ffffff;

    color:#b51f2a;

}







/* =========================
FOOTER HEADINGS
========================= */


.site-footer h3{

    position:relative;

    color:#ffffff;

    font-size:22px;

    font-weight:700;

    margin-bottom:28px;

}




.site-footer h3::after{

    content:"";

    display:block;

    width:35px;

    height:2px;

    background:#b51f2a;

    margin-top:12px;

}







/* =========================
QUICK LINKS
========================= */


.footer-links ul{

    list-style:none;

    padding:0;

    margin:0;

}




.footer-links li{

    margin-bottom:14px;

}




.footer-links a{

    color:#cccccc;

    font-size:15px;

    transition:.3s ease;

}




.footer-links a:hover{

    color:#b51f2a;

}







/* =========================
CONTACT
========================= */


.footer-contact ul{

    list-style:none;

    padding:0;

    margin:0;

}




.footer-contact li{

    display:flex;

    align-items:flex-start;

    gap:15px;

    margin-bottom:20px;

    color:#cccccc;

    line-height:1.6;

}




.footer-contact i{

    width:38px;

    height:38px;

    flex-shrink:0;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#b51f2a;

    color:#ffffff;

    border-radius:50%;

    font-size:15px;

}





.footer-contact a{

    color:#cccccc;

    transition:.3s ease;

}




.footer-contact a:hover{

    color:#ffffff;

}







/* =========================
BOOKING CTA
========================= */


.footer-book p{

    color:#cccccc;

    line-height:1.7;

    margin-bottom:25px;

}





.footer-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:14px 35px;

    background:#b51f2a;

    color:#ffffff;

    border-radius:30px;

    font-size:15px;

    font-weight:700;

    text-transform:uppercase;

    transition:.3s ease;

}




.footer-btn:hover{

    background:#ffffff;

    color:#b51f2a;

}







/* =========================
FOOTER BOTTOM
========================= */


.footer-bottom{

    border-top:1px solid rgba(255,255,255,.15);

    padding:25px 0;

}





.footer-bottom-content{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

}





.footer-bottom p{

    margin:0;

    color:#999999;

    font-size:14px;

}





.footer-policy{

    display:flex;

    gap:25px;

}




.footer-policy a{

    color:#999999;

    font-size:14px;

    transition:.3s ease;

}




.footer-policy a:hover{

    color:#ffffff;

}


/* =========================
FOOTER RESPONSIVE
========================= */


@media(max-width:1100px){


.footer-grid{

    grid-template-columns:repeat(2,1fr);

}



}




@media(max-width:700px){


.footer-grid{

    grid-template-columns:1fr;

    gap:40px;

    padding:60px 0;

}





.footer-brand p{

    max-width:100%;

}





.footer-bottom-content{

    flex-direction:column;

    text-align:center;

}





.footer-policy{

    flex-wrap:wrap;

    justify-content:center;

    gap:15px;

}



}

/* =========================
BACK TO TOP BUTTON
========================= */


.back-to-top{

    position:fixed;

    right:30px;

    bottom:30px;

    width:50px;

    height:50px;

    border-radius:50%;

    border:none;

    background:#b51f2a;

    color:#ffffff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:18px;

    cursor:pointer;

    z-index:9999;

    opacity:0;

    visibility:hidden;

    transform:translateY(20px);

    transition:.4s ease;

    box-shadow:0 10px 25px rgba(0,0,0,.25);

}





.back-to-top:hover{

    background:#8d1721;

}





.back-to-top.show{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

@media(max-width:600px){


.back-to-top{

    width:45px;

    height:45px;

    right:20px;

    bottom:20px;

}


}

/* Keyboard-accessible bypass link */
.skip-link{
    position:fixed;
    left:18px;
    top:-90px;
    z-index:10050;
    padding:12px 18px;
    border-radius:0 0 8px 8px;
    background:#ffffff;
    color:#7f121c;
    font-weight:700;
    box-shadow:0 6px 18px rgba(0,0,0,.25);
}

.skip-link:focus{
    top:0;
}

a:focus-visible,
button:focus-visible{
    outline:3px solid #ffd966;
    outline-offset:4px;
}


.fa-solid {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: var(--fa-display, inline-block);
    font-style: normal;
    font-variant: normal;
    line-height: 1.4;
    text-rendering: auto;
}