:root {
    --accent-color: #000000;
    --red-color: #67000e;
    --primary-color: #ffffff;
    --primary-color-50: #D8D8D8;
    --secondary-color: #f1b83c;
    --WhatsAppGreen: #9E8E80;
    --Playfair: "Montserrat", sans-serif;
}

html {
    scroll-behavior: smooth;
    font-size: 87.5%;
}

body {
    color: var(--primary-color);
    font: 400 1rem "Montserrat", sans-serif;
    overflow-x: hidden;
}

svg:not([fill]) {
    fill: currentColor;
    stroke: currentColor;
}

hr {
    border-top-color: var(--primary-color);
}

p {
    line-height: 1.5;
    font-family: "Inter", sans-serif;
    font-size: 16px;
}

.pt-6 {
    padding-top: 6rem;
}

.pb-6 {
    padding-bottom: 6rem;
}

.mt-6 {
    margin-top: 6rem;
}

.mb-6 {
    margin-bottom: 6rem;
}

ul {
    padding-left: 0;
    margin-bottom: 0;
}

a,
a:hover {
    text-decoration: none;
}

a {
    color: inherit;
    line-height: inherit;
    outline: 0;
    transition: color .25s;
}

a:hover {
    color: var(--primary-color);
}

p a {
    font-style: italic;
    font-weight: 300;
    text-decoration: underline;
}

.has-overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgb(0 0 0 / 50%);
    pointer-events: none;
}

.bg-primary a {
    color: #fff;
}

.bg-primary a:hover {
    color: var(--light-color);
}

img,
video,
iframe {
    width: 100%;
    display: block;
}

.object-cover {
    object-fit: cover;
}

.container-fluid {
    padding-left: 2rem;
    padding-right: 2rem;
}

.rounded {
    border-radius: 5px !important;
}

.filter-white {
    -ms-filter: brightness(70);
    filter: brightness(70);
}

.filter-dark {
    -ms-filter: grayscale(1) brightness(0);
    filter: grayscale(1) brightness(0);
}

header {
    width: 100%;
    position: sticky;
    top: 0;
    z-index: 999;
    transition: all 300ms ease-in-out;
    background:#fff;
}

header.fixed {
    background-color: var(--primary-color);
    box-shadow: 0 8px 20px rgb(0 0 0 / 30%);
}

header .d-flex {
    justify-content: space-between;
    align-items: center;
}

.brand_logo {
    min-height: 1px;
    transition: all 300ms ease-in-out;
    z-index: 2;
}

.brand_logo a {
    display: block;
    font-size: 2rem;
    text-transform: uppercase;
    font-weight: 200;
    overflow: hidden;
    padding: 5px 0;
    width: 250px;
    transition: all 300ms ease-in-out;
}

header.fixed .brand_logo a {
    width: 130px;
}

header nav {
    column-gap: 20px;
}

.topLinks,
.menu {
    display: flex;
    align-items: center;
    position: relative;
}

.topLinks {
    column-gap: .5rem;
    height: 100%;
}

.topLinks li.topIcons:has(.fa-whatsapp) {
    position: relative;
    z-index: 1;
}

.topLinks li.topIcons:has(.fa-whatsapp) i {
    box-shadow: 0 0 0 100px var(--WhatsAppGreen) inset;
    color: #fff;
    animation: blink 2s cubic-bezier(.55, .76, .27, 1.29) infinite;
}

@keyframes blink {
    50% {
        box-shadow: 0 0 0 1px rgba(61, 127, 251, .45), 0 0 0 0 rgb(11 107 235 / 63%), 1rem 1rem 2rem rgb(0 0 0 / 25%);
        color: var(--primary-color)
    }
}

header .menu {
    gap: 2rem;
}

header .menu a {
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #2B2A29;
    font-family: "Inter", sans-serif;
    font-size: 16px;
    position: relative;
    display: inline-block;
    padding: 10px 18px;
    color: #333;
    text-decoration: none;
    overflow: hidden;
    z-index: 1;
    transition: color 0.3s ease;
}
.menu li a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #67000e;
    transition: height 0.3s ease;
    z-index: -1;border-radius: 20px;
}

.menu li a:hover::before {
    height: 100%;
}

.menu li a:hover {
    color: #fff;
}
/* Active Menu */
.menu li a.active::before {
    height: 100%;
}

.menu li a.active {
    color: #fff;
    background-color: #67000e;
    box-shadow: 0 5px 15px rgba(103, 0, 14, 0.4);
    border-radius: 20px;
}
header .menu a:hover {
     background-color: #67000e;
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(103, 0, 14, 0.4);
    border-radius: 20px;
}

header .menuBtn {
    width: 40px;
    height: 40px;
    padding: .5rem;
    border-radius: 50%;
    margin-left: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    transition: all 300ms ease-in-out;
    position: relative;
    cursor: pointer;
    color: var(--light);
    background-color: transparent;
    box-shadow: 0 0 0 0 var(--primary-color) inset;
    border: 0;
    overflow: hidden;
    
}

.menuBtn .menuDots {
    width: 100%;
    display: flex;
    justify-content: space-around;
    position: relative;
    transition: all .3s linear;
}

.menuBtn .menuDots::before,
.menuBtn .menuDots::after {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--secondary-color);
    transform-origin: center center;
    transition: all .6s cubic-bezier(.785, .135, .15, .86);
}

.menuBtn:hover .menuDots::before,
.menuBtn:hover .menuDots::after {
    background-color: var(--secondary-color);
}

.menuBtn.closeMenuBtn {
    gap: 2px;
    box-shadow: 0 0 0 50px var(--secondary-color) inset;
}

.menuBtn.closeMenuBtn .menuDots::before,
.menuBtn.closeMenuBtn .menuDots::after {
    height: 20px;
    width: 2px;
    border-radius: 0;
    background-color: var(--primary-color);
}

.menuBtn.closeMenuBtn .menuDots::before {
    transform: translate(6px, 1px) rotate(45deg);
}

.menuBtn.closeMenuBtn .menuDots::after {
    transform: translate(-6px, 1px) rotate(-45deg);
}

.menuBtn.closeMenuBtn .menuDots#menuDot2 {
    display: none;
}

.mobile_menu {
    position: fixed;
    inset: 0;
    z-index: 996;
    background-color: rgba(0, 75, 49, .13);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    display: none;
}

.mobile_menu .mobile_menu_wrapper {
    position: relative;
    isolation: isolate;
    margin: 0 0 0 auto;
    padding: 120px 2rem 30px;
    width: 100%;
    max-width: 420px;
    overflow-y: auto;
    background-color: #f1b83c;
    box-shadow: 0 1rem 3rem rgb(0 0 0 / 16%);
    transition: all 300ms ease-in-out;
}

.mobile_menu .mobile_menu_wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url(../images/logo-stroke-icon.html) center bottom / 100% no-repeat;
    opacity: .125;
    z-index: -1;
}

header.fixed+.mobile_menu .mobile_menu_wrapper {
    padding-top: calc(1.5rem + 51px);
}

.mobile_menu .mobile_navigation a {
    color: #fff;
    transition: all 300ms ease-in-out;
}

.mobile_menu_wrapper .mobile_navigation li:not(:last-child) a {
    border-bottom: 1px solid rgb(255 255 255 / 15%);
}

.mobile_menu_wrapper .mobile_navigation a {
    padding: 10px 0;
    letter-spacing: 1px;
    font-weight: 300;
    font-size: 1.25rem;
    font-weight: 600;
    display: block;
    position: relative;
}
.overview-sub{margin-top:8px;}

.mobile_menu_wrapper .mobile_navigation li:hover>a {
    padding: 10px;
    background-color: #fff;
    color: var(--primary-color);
}

.bounce {
    animation: bounce 2s ease infinite;
}

@keyframes bounce {
    70% {
        transform: translateY(0%)
    }

    80% {
        transform: translateY(-15%)
    }

    90% {
        transform: translateY(0%)
    }

    95% {
        transform: translateY(-7%)
    }

    97% {
        transform: translateY(0%)
    }

    99% {
        transform: translateY(-3%)
    }

    100% {
        transform: translateY(0)
    }
}

.hero {
    height: 100vh;
    background-color: var(--primary-color);
    position: relative;
    z-index: 1;
}

.hero-slider,
.hero-slider .swiper-wrapper,
.hero-slider .swiper-slide {
    height: 100%;
}

.hero-slide {
    position: relative;
}

.hero-slide::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to bottom, #1A1A1A 0%, transparent 35%, transparent 65%, #1A1A1A 100%),
        linear-gradient(to right, #1A1A1A 0%, transparent 25%, transparent 75%, #1A1A1A 100%);
    z-index: 1;
    pointer-events: none;
}

.hero-slide-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform-origin: center center;
    animation: heroZoomIn 18s ease-in-out infinite alternate;
}

@keyframes heroZoomIn {
    0% {
        transform: scale(1.5);
    }

    100% {
        transform: scale(1.09);
    }
}

@keyframes heroZoomOut {
    0% {
        transform: scale(1.09);
    }

    100% {
        transform: scale(1.5);
    }
}

.hero-slide:nth-child(even) .hero-slide-img {
    transform: scale(1.08);
    animation-name: heroZoomOut;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to bottom, #1A1A1A 0%, transparent 35%, transparent 65%, #1A1A1A 100%),
        linear-gradient(to right, #1A1A1A 0%, transparent 25%, transparent 75%, #1A1A1A 100%);
    z-index: 1;
}

.hero-mobile-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
   
}

.hero-list {
    z-index: 2;
}

.hero-list ul {
    gap: 1rem;
    flex-direction: column;
    font-size: 1.25rem;
}


.hero .hero-caption {
    position: absolute;
    bottom: 3rem;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    max-width: 1024px;
    width: 100%;
    z-index: 9;
}

.small-icon i {
    padding: 5px;
    border: 1px solid rgb(255 255 255 / 15%);
}

.content-item h3 {
    font-size: 1.5rem;

}


.hero .hero-caption .small-icon b {
    word-break: break-word;
}

.common-query-form {
display: none;
}

.common-query-form.stick_to_bottom {
    display: block;
    position: fixed;
    bottom: 0;
    top: auto;
    right: 0;
    left: 0;
    transform: none;
    max-width: 100%;
    z-index:99999;
}

.common-query-form>div {
    position: relative;
    z-index: 1;
    padding: 2rem;
    background-color: #67000e;
    color: #fff;
    border-top: 4px solid #f3b544;
    border-radius: 10px;
    box-shadow: 0 20px 40px rgb(0 0 0 / 35%);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.common-query-form>div::before {
    content: "";
    position: absolute;
    inset: 0;
    /* background: url(../images/icons/brand-emblem.svg) center / contain no-repeat; */
    opacity: .1;
    z-index: -1;
}

.consentBox label {
    font-size: .75rem;
    color: var(--accent-color);
}

@media (min-width:768px) {
    
    .common-query-form.stick_to_bottom {
        position: fixed;
        top: auto;
        bottom: 0;
        right: 0;
        transform: none;
        max-width: 100%
    }

    .common-query-form.stick_to_bottom>div {
        padding: 1rem;
        box-shadow: 0 -10px 2rem rgb(0 0 0 / 30%)
    }

    .common-query-form.stick_to_bottom img {
        display: none
    }

    .common-query-form.stick_to_bottom .cta {
        margin-top: 0
    }

    .common-query-form.stick_to_bottom .consentBox {
        display: none
    }
}

.valueBox figure {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.valueBox figure::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(transparent, rgb(0 0 0 / 35%));
    z-index: 1;
    pointer-events: none;
}

.valueBox figure figcaption {
    position: absolute;
    inset: auto 1rem 1rem;
    text-align: center;
    font-size: 1.375rem;
    font-family: var(--Playfair);
    color: var(--secondary-color);
    z-index: 1;
}

.swiper-slide.by_numbersBox {
    height: auto;
}

.by_numbersBox .inner {
    height: 100%;
    padding: 2rem;
    aspect-ratio: 3/4;
    background-color: var(--secondary-color);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    z-index: 1;
    overflow: hidden;
    transition: all 300ms linear 300ms;
}

.by_numbersBox .inner img {
    position: absolute;
    inset: 0;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    transition: all 300ms linear;
}

.by_numbersBox .inner:hover img {
    transform: scale(1.15, 1.15);
}

.swiper-slide.swiper-slide-active.by_numbersBox .inner {
    background-color: #fff;
    box-shadow: 0 10px 30px rgb(0 0 0 / 10%);
}

.by_numbersBox .inner::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .35;
    z-index: -1;
    pointer-events: none;
}

.by_numbersBox .inner::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(transparent, #000);
    z-index: 0;
    pointer-events: none;
}

.by_numbersBox .num {
    display: table;
    margin: 0 0 2rem auto;
    font-weight: 700;
    opacity: .75;
    color: #fff;
    position: relative;
    z-index: 1;
}

.by_numbersBox .by_numbers-num {
    font-size: 3.5rem;
}

.by_numbersBox p,
.by_numbersBox h6 {
    font-size: .875rem;
    font-weight: 600;
    letter-spacing: 1px;
    color: #fff;
    text-transform: uppercase;
}

.by_numbersBox .by_numbersBox-flex {
    display: flex;
    flex-wrap: wrap;
}

.by_numbersBox .by_numbersBox-flex article:not(:first-child) {
    border-left: 1px dashed #fff;
    margin-left: 1.5rem;
    padding-left: 1.5rem;
}

.by_numbersBox .inner.bg-primary::after {
    filter: invert(1);
    opacity: .5;
}

.swiper-facility {
    --slide-width: 70%;
    text-align: left;
}

.middle-controls {
    height: 40px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.facilityBox.swiper-slide {
    width: var(--slide-width);
    -webkit-filter: grayscale(1);
    filter: grayscale(1);
    transition: all 300ms linear 300ms;
}

.facilityBox.swiper-slide.swiper-slide-active {
    -webkit-filter: grayscale(0);
    filter: grayscale(0);
}

.facilityBox .img-box {
    position: relative;
    isolation: isolate;
}

.facilityBox .img-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(26, 26, 26, 0.8) 0%, rgba(26, 26, 26, 0.35) 35%, rgba(26, 26, 26, 0) 70%);
    z-index: 1;
    pointer-events: none;
}

.facilityBox .img-box video {
    aspect-ratio: 21/9;
    object-fit: cover;
}

.facilityBox .box-title {
    position: absolute;
    inset: 2rem auto auto 5rem;
    width: 100%;
    color: #fff;
    text-align: center;
    transition: all 300ms ease-in-out 300ms;
    opacity: 0;
    z-index: 1;
}

.facilityBox.swiper-slide.swiper-slide-active .box-title {
    opacity: 1;
    left: 2rem;
}

.facilityBox .box-title ul li {
    margin-bottom: 5px;
}

.clubhouse--image {
    margin-top: -5rem;
    z-index: -1 !important;
}

.clubhouse--image::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgb(0 0 0 / 20%);
    background: linear-gradient(var(--secondary-color), rgb(0 0 0 / 0%) 50%);
    z-index: 1;
    pointer-events: none;
}

.fpBox .inner {
    background-color: #fff;
    padding: 2rem;
}

.fpBox .inner img {
    max-width: 250px;
    width: 90%;
    margin: 0 auto;
    -webkit-filter: blur(5px);
    filter: blur(5px);
}

.fpDetails h3 {
    text-align: center;
    font: 200 2.25rem/1.2 var(--Playfair);
    color: var(--primary-color);
    margin: 1.5rem 0;
}

.fpDetails ul li {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid rgb(0 0 0 / 15%);
}

.table {
    --bs-table-border-color: rgb(75 23 20 / 10%);
    table-layout: fixed;
}

.table th,
.table td {
    padding: 1rem 1.5rem;
    vertical-align: middle;
}

.table>:not(caption)>*>*,
.accordion-item,
.accordion-button {
    color: var(--accent-color);
}

.iconsContainer .amenBox.swiper-slide {
    height: auto;
}

.iconsContainer .amenBox figure {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    gap: 10px;
    margin-bottom: 0;
    padding: 1rem;
    background-color: var(--light-color);
    border-radius: var(--primary-radius);
    border: 1px solid var(--primary-color);
    transition: all 300ms ease-in-out;
}

.iconsContainer .amenBox figure:hover {
    background-color: #fff;
}

.iconsContainer .amenBox figure .img-fluid {
    max-width: 75px;
    flex: 0 0 75px;
    padding: 10px;
    transition: all 300ms ease-in-out;
}

.iconsContainer .amenBox figure:hover .img-fluid {
    -webkit-filter: brightness(1);
    filter: brightness(1);
}

.iconsContainer .amenBox figure figcaption {
    font-size: 13px;
    color: var(--primary-color);
    font-weight: 700;
    text-transform: uppercase;
}

.iconsContainer .amenBox figure figcaption small {
    color: var(--primary-color);
}

.amenities-wrapper--home::after {
    content: "";
    position: absolute;
    inset: 70% 0 0%;
    background: url(../images/texture.html) var(--primary-color);
    z-index: -1;
}

.swiper-wrapper {
    -webkit-transition-timing-function: linear !important;
    transition-timing-function: linear !important;
}

.image-slide--inner {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.image-slide--inner::before {
    content: "";
    position: absolute;
    inset: 0;
}

.image-slide .image-slide--inner,
.image-slide img {
    transition: all 300ms ease-in-out;
}

.image-slide img {
    aspect-ratio: 16/9;
    object-fit: cover;
}

.image-slide:hover img {
    transform: scale(1.06);
}

.slide-caption {
    display: inline-block;
    font-size: 1.5rem;
    font-weight: 500;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.7);
    z-index: 1;
}

.gallSwiper {
    padding-right: 25%;
    position: relative;
}

.gallSwiper .gallBox {
    position: relative;
    overflow: hidden;
}

.gallSwiper .gallBox::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 200px;
    background: linear-gradient(to top, #000000c5, transparent);
    z-index: 1;
}

.gallSwiper .gallBox::after {
    content: "";
    position: absolute;
    left: 0;
    height: 5px;
    bottom: 5px;
    width: 0;
    background: #ffffff;
    z-index: 2;
}

.gallSwiper .swiper-slide-active.gallBox::after {
    animation: borderLeftRight 3s linear infinite;
}

@keyframes borderLeftRight {
    from {
        width: 0;
    }

    to {
        width: 100%;
    }
}

.gallSwiper .gallBox img {
    width: 100%;
    max-height: 175vh;
    object-fit: cover;
    transition: transform 0.8s ease-in-out;
}

.gallSwiper .gallBox:hover img {
    transform: scale(1.2);
}

.gallSwiper .content {
    position: absolute;
    left: 3rem;
    bottom: 3rem;
    color: #fff;
    z-index: 2;
    transition: all 0.6s ease;
    max-width: 70%;
    text-align: start;
}

.accordion-button {
    font-size: 1.125rem;
    font-family: var(--Playfair);
    display: flex;
    align-items: center;
    gap: 10px;
}

.accordion-button:not(.collapsed) {
    color: var(--primary-color);
    background-color: #fff;
}

.accordion-button i {
    color: var(--accent-color);
}

.accordion-body ul li {
    margin-bottom: 5px;
}

.mapBox {
    position: relative;
    isolation: isolate;
}

@media (min-width:1200px) {
    .virtual-box img {
        aspect-ratio: 21/9
    }
}

.sun-num:not(:last-of-type) {
    border-right: 1px solid rgba(255, 255, 255, .1);
}

.sun-num section {
    text-align: center;
}

.sun-num section h2 {
    font-weight: 700;
    color: var(--third-color);
}

.sun-num section h2 .odometer {
    font-size: 125%;
}

.sun-num section p {
    margin-bottom: 0;
    text-transform: uppercase;
    font-size: 14px;
}

.footer-enquiryBtn {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    z-index: 99;
    background-color: var(--red-color);
    border-top: 1px solid var(--secondary-color);
    text-align: center;
}

.footer-enquiryBtn a {
    width: 100%;
    color: var(--primary-color);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 8px 5px;
    font-size: 11px;
    text-transform: uppercase;
}

.footer-enquiryBtn a:not(:first-child) {
    border-left: 1px solid var(--primary-color);
}

.section_title {
    display: table;
    position: relative;
    margin-bottom: 1rem;
    z-index: 1;
    color:var(--accent-color);
}

.section_title.d-flex {
    gap: 10px;
}

.title-logo {
    width: 160px;
    margin-bottom: 1rem;
}

.section_title.border-bottom {
    border-bottom-width: 2px !important;
}

.section_title .section_title-logo {
    width: 120px;
    margin: 0 auto 1rem;
}

.section_title h1,
.section_title h2,
.section_title h3,
.section_title h4,
.section_title h5 {
    display: block;
    font: 400 42px Georgia,serif;

        font-weight: 700;
}

.section_title h6 {
    font-size: 16px;
    letter-spacing: 2px;
    text-transform: uppercase;
    opacity: .75;
    font-family: "Inter", sans-serif;
}

.font-serif {
    font-family: var(--Playfair);
    display: block;
    font-family: var(--Playfair);
    text-transform: uppercase;
    font-weight: 700;
}

.text-accent {
    color: var(--accent-color) !important;
}

.text-primary {
    color: var(--primary-color) !important;
}

.text-secondary {
    color: var(--accent-color) !important;
}

.text-truncate-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.bg-primary {
    background-color: var(--primary-color) !important;
    color: var(--accent-color);
}

.bg-secondary {
    background-color: var(--secondary-color) !important;
}

.bg-silhouette::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .25;
    background-image: url(../images/bg-silhouette.png);
    background-size: cover;
    background-position: left center;
    z-index: -1;
    pointer-events: none;
}

.bg-primary-half::before,
.bg-primary-half::after {
    content: "";
    position: absolute;
    inset: 0 0 50%;
    z-index: -1;
}

.bg-primary-half::before {
    background-color: var(--primary-color);
}

.bg-primary-half::after {
    background: url(../images/bg-silhouette.png) left center / cover;
    opacity: .25;
}

.bg-primary-half.bg-bottom::before,
.bg-primary-half.bg-bottom::after {
    inset: 50% 0 0;
}

.bg-image {
    background: center / cover no-repeat fixed;
}

.bg-image::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgb(0 0 0 / 60%);
    z-index: -1;
}

.scroller {
    overflow: auto;
}

.scroller::-webkit-scrollbar {
    width: 5px;
}

.scroller::-webkit-scrollbar-track {
    box-shadow: inset 0 0 5px var(--secondary-color);
    border-radius: 10px;
}

.scroller::-webkit-scrollbar-thumb {
    background: var(--primary-color);
    border-radius: 10px;
}

.scroller::-webkit-scrollbar-thumb:hover {
    background: #000;
}

.cta {
    width: 100%;
    margin-top: 2rem;
}

.cta.d-flex {
    gap: 10px 1rem;
}

.cta .button {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    text-transform: uppercase;
    font-size: .875rem;
    font-family: "Inter", sans-serif;
    border-radius: 100px;
    padding: .875rem 1.25rem;
    text-align: center;
    color: #fff;
    background-color: var(--accent-color);
    transition: all ease-in-out .3s;
    overflow: hidden;
}

.cta .button:has(i) {
    padding: 0 1.25rem 0 0;
}

.cta .button i {
    width: 2.75rem;
    height: 2.75rem;
    aspect-ratio: 1/1;
    border-radius: 50%;
    border: 1px solid white;
    box-shadow: 0 0 0 50px var(--primary-color) inset;
    color: var(--red-color);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 300ms ease-in;
}

.cta .button:hover i {
    color: var(--accent-color);
    box-shadow: 0 0 0 1px var(--primary-color) inset;
}

.cta button {
    border: 0;
}

.cta .button::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    background-color: #f1b83c;
    transform: translate(-100%, -100%);
    transition: all ease-in-out .5s;
    z-index: -1;
}

.cta .button.active::after,
.cta .button:hover::after {
    transform: translate(-20%, -30%);
}

.cta .button.reverse,
.bg-primary .cta .button {
    color: var(--primary-color);
    background-color: var(--red-color);
    font-weight:600;
}

.cta .button:hover {
    color: var(--accent-color);
}

.cta .button.mw-auto {
    min-width: 1px;
    padding: 1rem;
}

.cta .button.text-white {
    border-color: #fff;
    color: #fff;
}

.cta .button.text-white:hover {
    color: var(--third-color) !important;
    background-color: #fff;
    border-color: transparent;
}

.cta .button.accent {
      color: var(--accent-color);
    font-weight: 600;
    background-color: var(--secondary-color);
}

.cta .button.accent::after {
    background-color: #f1b83c !important;
}

/* View on Map â€” map icon slides from left to right on hover */
.cta a.button.btn-view-map {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.875rem 1.25rem 0.875rem 3.25rem;
    overflow: hidden;
    transition: padding 0.45s cubic-bezier(0.4, 0, 0.2, 1), color 0.3s ease-in-out,
        background-color 0.3s ease-in-out;
}

.cta a.button.btn-view-map .btn-view-map__icon {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    pointer-events: none;
    transition: left 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.cta a.button.btn-view-map:hover .btn-view-map__icon {
    left: calc(100% - 2.75rem);
}

.cta a.button.btn-view-map:hover {
    padding: 0.875rem 3.25rem 0.875rem 1.25rem;
}

.cta a.button.btn-view-map .btn-view-map__text {
    position: relative;
    z-index: 1;
}

.position-relative {
    z-index: 1;
}

div[class^="swiper-button"] {
    width: 40px;
    height: 40px;
    margin-top: -20px;
    border-radius: 50%;
    background-color: var(--accent-color);
    color: var(--primary-color);
    transition: all 300ms ease-in-out;
}

div[class^="swiper-button"].sm {
    width: 30px;
    height: 30px;
    background-size: 14px;
}

.bg-primary div[class^="swiper-button"]:hover {
    background-color: color-mix(in srgb, var(--secondary-color), transparent 70%);
    color: var(--secondary-color);
}

.section_title .d-flex {
    gap: 10px;
}

div[class^="swiper-button"]:hover {
    color: var(--secondary-color);
    background-color: var(--primary-color);
}

div[class^="swiper-button"]:after {
    color: inherit;
    font-size: 1rem;
}

.swiper-control {
    position: static;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 2rem;
    gap: 10px;
}

.swiper-control.sm {
    top: calc(100% - .5rem);
}

.swiper-control *[class^="swiper-"] {
    position: static;
}

.swiper-control .swiper-pagination {
    transform: none;
}

.swiper-control div[class^="swiper-button"] {
    margin-top: 0;
}

.swiper-pagination {
    bottom: 0 !important;
}

.swiper-pagination-bullet-active {
    background-color: var(--primary-color);
    width: 20px;
    border-radius: 10px;
}

footer {
    margin: 4rem 0;
    color: #fff;
    font-size: .875rem;
    z-index: 1;
}

.footer-mandate {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    /* max-width: 720px; */
    /* margin: 0 auto 1.5rem; */
    text-align: right;
}

.footer-mandate-text {
    flex: 1 1 auto;
    font-size: 0.875rem;
}

.footer-mandate-text p {
    margin-bottom: 0.15rem;
}

.footer-mandate-text a {
    color: inherit;
    text-decoration: underline;
}

.footer-mandate-text a:hover {
    color: var(--accent-color);
}

.footer-mandate-qr {
    flex: 0 0 auto;
}

.footer-mandate-qr img {
    max-width: 120px;
    height: auto;
}

.footer-mandate-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    flex: 1 1 auto;
}


.footer-logo img {
    max-width: 150px;
    height: auto;
}
@media (max-width: 575.9px) {
    .footer-mandate {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }

    .footer-mandate-content {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-mandate-qr img {
        max-width: 100px;
    }
}

.copyrights {
    position: relative;
    z-index: 1;
    flex-wrap: wrap;
    justify-content: flex-start;
    text-align: center;
    row-gap: 10px;
    text-transform: uppercase;
    font-family: "Inter", sans-serif;
font-size: 16px;
}
.disclaimer{color:#000000;}
@media (max-width: 575.9px) {
    .copyrights {
        justify-content: center;
        text-align: center;
    }
}

.copyrights small:not(:first-child) {
    margin-left: 10px;
    padding-left: 10px;
    border-left: 1px solid;
}

.copyrights a {
    text-decoration: 1px underline;
}

.copyrights a:hover {
    text-decoration: none;
    color: var(--secondary-color);
}

.back_to_top {
    background: rgba(0, 0, 0, .32);
    color: #ffffff;
    font-size: 13px;
    opacity: 0;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 50%;
    text-align: center;
    bottom: 6.5rem;
    cursor: pointer;
    z-index: 99;
}

.back_to_top:hover {
    background: var(--accent-color);
}

.flip-x {
    transform: rotateY(180deg);
}

.form-group>div {
    margin-top: 15px;
}

.form-group label {
    margin-bottom: 0;
    font-size: 13px;
    font-weight: 500;
}

.form-check-input:checked {
    background-color: var(--accent-color);
    border-color: var(--accent-color);
}

.form-group {
    display: flex;
}

.form-group>i,
.form-group>.field-icon {
    max-width: 60px;
    flex: 0 0 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent-color);
    background-color: #fff;
}

/* Keep border-end visible: don't put flip-x on the same node as border-end (3D flip moves the border). */
.form-group>.field-icon .flip-x {
    display: inline-block;
}

.form-control {
    border-radius: 6px;
    padding: 10px;
    border: 0;
    border-bottom: 1px solid transparent;
}

.form-control:focus {
    box-shadow: none;
    background-color: var(--primary-color-50);
    border-bottom-color: var(--accent-color);
}

.form-control.lg {
    padding: 1.25rem 2.5rem;
}

button:disabled {
    opacity: .7;
    cursor: not-allowed;
}

.modal-backdrop.show {
    opacity: 1;
    background: rgba(0, 2, 12, .894);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}

button.close {
    position: absolute;
    right: -20px;
    top: -20px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border-radius: 50%;
    background-color: #fff;
    border: 0;
    color: #000;
    opacity: 1;
    text-shadow: none;
}

.close:not(:disabled):not(.disabled):focus,
.close:not(:disabled):not(.disabled):hover {
    opacity: 1;
    background-color: #9E8E80;
    color: #fff;
}

.modal-content {
    background-color: var(--secondary-color);
    border-radius: 0;
    border: none;
}

.modal-content::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .35;
    pointer-events: none;
}

.modal-content .modal-header {
    padding: 0;
    border: none;
}

.modal-content button.close {
    position: absolute;
    top: -10px;
    right: -10px;
    padding: 0;
    margin: 0;
    width: 40px;
    height: 40px;
    z-index: 1;
    text-shadow: none;
    background-color: var(--accent-color);
    opacity: 1;
    z-index: 2;
}

.modal-header .close {
    color: #fff;
}

.modal-header {
    background: none;
    border: none;
}

.modal-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.modal-logo img {
    max-width: 180px;
    margin: 0 auto;
}

.modal-icons {
    display: flex;
    padding: 2rem;
    text-transform: uppercase;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    gap: 2rem;
    background-color: var(--primary-color);
    color: var(--accent-color);
}

.modal-icon {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.modal-icon .img-fluid {
    max-width: 35px;
    flex: 0 0 35px;
    color: var(--secondary-color);
}

.modal-icon span {
    display: block;
    font-size: 12px;
    font-weight: 500;
}

.hero_inside__banner {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background-color: var(--accent-color);
    color: var(--primary-color);
    padding: 2rem 0;
    margin-top: 85px;
    z-index: 1;
}

.super_title {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.custom-bannerLogo {
    position: absolute;
    max-width: 24%;
    z-index: 11;
    left: 37%;
    top: 17%;
}

.page_title {
    font: 200 3rem var(--Playfair);
}

.breadcrumb {
    background-color: transparent;
    margin-bottom: 0;
    border-radius: 0;
    padding-left: 0;
    padding-right: 0;
    font-size: 12px;
    color: var(--primary-color);
    text-transform: uppercase;
}

.breadcrumb-item+.breadcrumb-item::before {
    color: var(--primary-color);
}

.breadcrumb li a {
    color: var(--primary-color);
    font-weight: 600;
}

.breadcrumb li a:hover {
    text-decoration: underline;
}

.breadcrumb li.active {
    color: var(--primary-color);
}

.highlights-list {
    column-gap: 1.5rem;
    row-gap: 0.5rem;
    background-color: #ffffff;
    padding: 0.75rem 1.5rem;
    border-radius: 999px;
}

.highlights-list li {
    position: relative;
    margin: 0;
    padding: 0;
}

.highlights-list li+li::before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 1.5rem;
    background-color: rgba(0, 0, 0, 0.25);
    margin-right: 1.5rem;
    vertical-align: middle;
}

.highlights-list span {
    color: #000;
}

@media (max-width: 575.9px) {
    .highlights-list {
        border-radius: 6px;
    }
}

















/*Prime Location Advantage*/

.location-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:22px 0;
    border-bottom:1px solid #c19c4c;
}

.location-left{
    display:flex;
    align-items:center;
    gap:18px;
    width:80%;
}

.location-left i{
    width:40px;
    text-align:center;
    font-size:24px;
    color:#f1b83c;
}

.location-left span{
  font-weight: 500;
    line-height: 1.2;
    color: var(--accent-color);
    font-family: "Inter", sans-serif;
    font-size: 16px;
}

.location-distance{
  font-weight: 500;
    line-height: 1.2;
    color: var(--accent-color);
    white-space:nowrap;
}

@media (max-width:768px){
.builder-line{display: inline-block;}
    .location-item{
        padding:18px 0;
    }

    .location-left span,
    .location-distance{
        font-size:16px;
    }

    .location-left i{
        font-size:20px;
        width:28px;
    }
}





/*Project Highlights*/

.highlights-wrapper{
    position:relative;
    padding:80px 0 0;
    overflow:hidden;
    background:#fff;
}


/* Background Image Overlay */
.highlights-wrapper::before{
    content:"";
    position:absolute;
    inset:0;

    z-index:0;
}


.highlights-wrapper .container-lg{
    position:relative;
    z-index:2;
}


/* Heading */

.highlights-wrapper .section_title h2{
    color:#222;
    line-height:1.25;
    font-weight:600;
    margin-top:15px;
}


.highlights-wrapper .section_title p{
    color:#666;
    line-height:1.8;
    font-size:15px;
}


.sub_title{
    color:#b28a45;
    font-size:13px;
    letter-spacing:2px;
    text-transform:uppercase;
    font-weight:600;
}


/* Highlight Cards */

.highlight-item{

    display:flex;
    align-items:center;
    gap:18px;

    padding:18px 20px;

    background:#ffffff;

    border:1px solid #ededed;

    border-radius:12px;

    transition:all .35s ease;

    box-shadow:
    0 8px 25px rgba(0,0,0,.05);

}


.highlight-item:hover{

    transform:translateY(-6px);

    border-color:#c49a52;

    box-shadow:
    0 18px 40px rgba(0,0,0,.12);

}


/* Icon */

.highlight-item i{

    width:50px;
    height:50px;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

    background:var(--red-color);

    color:#fff;

    border-radius:50%;

    font-size:21px;

}


/* Text */

.highlight-item h4{

    margin:0 0 6px;

    font-size:18px;

    font-weight:600;

    color:#222;

}


.highlight-item p{

    margin:0;

    font-size:14px;

    line-height:1.5;

    color:#666;

}



/* Bottom Image */

.clubhouse--image{

    margin-top:70px;

    position:relative;

    z-index:2;

}


.clubhouse--image img{

    width:100%;

    height:auto;

    display:block;

}















/*Price List*/

.price-card{
    position:relative;
    overflow:hidden;
    border-radius:18px;
    height:420px;
}

.price-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s ease;
}

.price-card:hover img{
    transform:scale(1.08);
}

.price-overlay{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:center;
    text-align:center;
    padding:30px;

   background:linear-gradient(
        to top,
        rgba(0,0,0,.85) 15%,
        rgba(0,0,0,.35) 35%,
        rgba(0,0,0,0) 100%
    );
}

.price-overlay h3{
    color:#fff;
    font-size:18px;
    font-weight:600;
    margin-bottom:20px;
}


.price-overlay .button{
    min-width:210px;
    justify-content:center;
}

.price-card:hover .button{
    transform:translateY(-2px);
}












/*About Saya Homes*/

.sg-about{padding:70px 0;background:#fff;overflow:hidden}
.sg-container{width:1200px;max-width:92%;margin:auto;margin-top:16px}
.sg-top{display:flex;align-items:center;gap:45px}

.sg-image{width:45%;position:relative}
.sg-image img{width:100%;border-radius:28px;display:block;box-shadow:0 30px 70px rgba(70,40,20,.18)}

.sg-year{position:absolute;right:-35px;bottom:35px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle at 30% 20%,#b92d48,#7b1827 60%,#4d0c18);display:flex;align-items:center;justify-content:center;color:#fff;text-align:center;font-family:Georgia;box-shadow:0 25px 60px rgba(123,24,39,.45),inset 0 0 35px rgba(255,255,255,.12);z-index:2}
.sg-year:before{content:"";position:absolute;inset:-12px;border-radius:50%;border:2px dashed #c49a4b;animation:rot 18s linear infinite}
.sg-year:after{content:"";position:absolute;inset:8px;border-radius:50%;border:1px solid rgba(255,255,255,.25)}
.sg-year div{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;font-size:0}
.sg-year div:before{content:"25+";font-size:55px;font-weight:700;line-height:1;background:linear-gradient(#fff,#e6bd68);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.sg-year span{font-size:11px;letter-spacing:3px;margin-top:8px}
.sg-year span:after{content:"EXCELLENCE";display:block;font-size:14px;letter-spacing:2px;color:#e6bd68;font-weight:bold}
@keyframes rot{to{transform:rotate(360deg)}}
.sg-year:hover{transform:scale(1.08);transition:.5s}

.sg-content{width:55%}
.sg-content h2{font:400 45px Georgia;color:#4b271d;margin:0 0 15px}
.sg-line{width:90px;height:3px;background:#c49a4b;margin-bottom:25px}
.sg-content p{font-size:15px;line-height:1.8;color:#000;}

.sg-cards{overflow:hidden;margin-top:30px}
.sg-card-track{display:flex;gap:18px;width:max-content;animation:move 28s linear infinite}
.sg-cards:hover .sg-card-track{animation-play-state:paused}
.sg-card{width:220px;height:155px;flex-shrink:0;background:#fff;border:1px solid #ead7b4;border-radius:22px;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;box-shadow:0 12px 30px rgba(80,50,20,.1);transition:.4s}
.sg-card:before{content:"";position:absolute;width:90px;height:90px;background:#c49a4b;opacity:.12;border-radius:50%;right:-35px;top:-35px}
.sg-card:hover{transform:translateY(-10px);box-shadow:0 25px 50px rgba(80,50,20,.18)}
.sg-card i{width:52px;height:52px;border-radius:50%;background:#7b1827;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:12px;box-shadow:0 0 0 7px rgba(123,24,39,.12);transition:.5s}
.sg-card:hover i{transform:rotateY(360deg)}
.sg-card h3{font:400 14px Georgia;line-height:1.45;margin:0;color:#563326}
@keyframes move{to{transform:translateX(-50%)}}

.sg-footer{margin-top:55px;padding:35px 45px;background:linear-gradient(135deg,#fffaf0,#fff);border:1px solid #ead7b4;border-radius:25px;text-align:center;box-shadow:0 15px 35px rgba(80,50,20,.08);position:relative;overflow:hidden}
.sg-footer:before{content:"";position:absolute;width:160px;height:160px;background:#c49a4b;opacity:.12;border-radius:50%;right:-60px;top:-60px}
.sg-footer p{margin:auto;max-width:950px;font-size:16px;line-height:1.9;color:#000000;position:relative;z-index:2}

@media(max-width:900px){
.sg-top{flex-direction:column}
.sg-image,.sg-content{width:100%}
.sg-content{text-align:center}
.sg-year{width:130px;height:130px;right:10px;bottom:25px}
.sg-year div:before{font-size:38px}
.sg-year span{font-size:9px}
.sg-year span:after{font-size:10px}
}

@media(max-width:600px){
.sg-about{padding:0px 0}
.sg-content h2{font-size:32px}
.sg-card{width:165px;height:140px}
.sg-card i{width:42px;height:42px;font-size:17px}
.sg-card h3{font-size:12px}
.sg-footer{padding:25px 20px;margin-top:35px}
.sg-footer p{font-size:13px;line-height:1.7}
}












.section-divider{
    width:100%;
    height:1px;
    background:linear-gradient(to right, transparent, #ffffff, transparent);
}









.hero-slider {
    position:relative;
    width:100%;
    overflow:hidden;
}

.slide {
    display:none;
    animation: slideEffect 0.8s ease;
}

.slide.active {
    display:block;
}

.slide img {
    width:100%;
    display:block;
}


/* Slide animation */
@keyframes slideEffect {
    from {
        opacity:0;
        transform:translateX(40px);
    }
    to {
        opacity:1;
        transform:translateX(0);
    }
}


/* Desktop arrows */
.slider-btn {
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    background:rgba(0,0,0,0.45);
    color:#fff;
    border:0;
    padding:12px 18px;
    font-size:25px;
    cursor:pointer;
    z-index:5;
}

.prev {
    left:20px;
}

.next {
    right:20px;
}


/* Mobile dots */
.dots {
    position:absolute;
    bottom:15px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:8px;
}

.dot {
    width:10px;
    height:10px;
    background:#ddd;
    border-radius:50%;
    cursor:pointer;
}

.active-dot {
    background:#000;
}


/* Mobile */
@media(max-width:767px){

    .slider-btn {
        display:none;
    }

    .dots {
        display:flex;
    }
    .popup-banner-img{display: none;}

}


/* Desktop hide dots */
@media(min-width:768px){

    .dots {
        display:none;
    }

}

.p-5 {
    padding: 2rem !important;
}
































/*whatsapp icon right side fixed start*/
.whatsapp-float {
    position: fixed;
    right: 24px;
    bottom: 100px;
    z-index: 9999;

    text-decoration: none;
    display: flex;
    align-items: center;
}

.whatsapp-float i {
    width: 54px;      /* reduced from 62px */
    height: 54px;     /* reduced from 62px */

    background: #25D366;
    color: #fff;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 30px;  /* reduced from 34px */

    box-shadow: 0 10px 25px rgba(37, 211, 102, 0.35);

    animation: whatsappPulse 2s infinite;
}

.whatsapp-text {
    position: absolute;
    right: 68px; /* adjusted for smaller icon */

    background: #fff;
    color: #333;

    padding: 10px 14px;
    border-radius: 12px;

    white-space: nowrap;

    box-shadow: 0 8px 25px rgba(0,0,0,.12);

    opacity: 0;
    visibility: hidden;

    transform: translateX(10px);
    transition: all .3s ease;
}

.whatsapp-float:hover .whatsapp-text {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}
.small-text {
    font-size: 11px;
    color: #666;
}

.main-text {
    font-size: 13px;
    font-weight: 700;
    color: #222;
}

@keyframes whatsappPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(37,211,102,.45);
    }
    70% {
        box-shadow: 0 0 0 15px rgba(37,211,102,0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(37,211,102,0);
    }
}

/* Mobile */
@media (max-width:768px) {
    .whatsapp-float {
       display: none;
    }

  
}
/*whatsapp icon right side fixed end*/
















.ggpc-hero{
min-height:100vh;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
padding:40px 20px;
position:relative;
overflow:hidden;
background:radial-gradient(circle at center,rgba(250,247,240,.8),transparent 65%) !important;
}

.ggpc-hero:before,
.ggpc-hero:after,
.ggpc-content:before{
content:"";
position:absolute;
left:50%;
top:50%;
border-radius:50%;
transform:translate(-50%,-50%);
}

.ggpc-hero:before{
width:700px;
height:700px;
border:1px solid rgba(210,190,150,.1);
background:radial-gradient(circle,rgba(255,255,255,.95),rgba(250,245,235,.45),transparent 72%);
box-shadow:0 0 160px rgba(220,200,160,.12);
animation:ggpcSoftRotate 35s linear infinite;
}

.ggpc-hero:after{
width:480px;
height:480px;
border:1px dashed rgba(210,190,150,.12);
animation:ggpcSoftInnerRotate 25s linear infinite;
}

.ggpc-content{
max-width:1200px;
position:relative;
z-index:2;
}

.ggpc-content:before{
width:320px;
height:320px;
z-index:-1;
background:radial-gradient(circle,rgba(240,225,195,.18),transparent 70%);
filter:blur(5px);
animation:ggpcSoftGlow 8s ease-in-out infinite;
}

.ggpc-tagline{
font-size:15px;
letter-spacing:5px;
color: #000000;
font-weight: 600;
margin-bottom:20px;
animation:ggpcFadeDown 1s;
}

.ggpc-content h1{
    font-size:56px;
    font-weight:700;
    text-transform:uppercase;
    line-height:1.1;
    margin:0;
    color:#111;
}

.ggpc-content h1 span{
    color:#67000e;        font-size: 34px;
}
.ggpc-location{
margin-top:15px;
font-size:22px;
    font-weight: 600;
color:#000000;
animation:ggpcFadeUp 1.2s;
}

.ggpc-description{
margin:12px auto 0;
max-width:900px;
font-size:19px;
line-height:1.8;
color:#000000;
animation:ggpcFadeUp 1.4s;
}

.ggpc-project{
margin-top:10px;
font-size:16px;
font-weight:600;
color:#000000;
animation:ggpcFadeUp 1.5s;
}

.ggpc-subtitle{
margin-top:12px;
font-size:18px;
color:#000000;
}

.ggpc-btn{
margin-top:45px;
display:inline-flex;
align-items:center;
height:52px;
padding:0 35px 0 0;
background:#8b001c;
color:#fff;
text-decoration:none;
border-radius:35px;
overflow:hidden;
transition:.4s;
animation:ggpcFadeUp 1.7s;
}

.ggpc-btn:hover{
transform:translateY(-5px);
box-shadow:0 15px 35px rgba(139,0,28,.25);
}

.ggpc-btn-icon{
width:52px;
height:52px;
margin-right:18px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
background:#fff;
color:#8b001c;
font-size:18px;
}

.ggpc-divider{
margin:45px auto 0;
width:90px;
height:2px;
background:#b89a5a;
animation:ggpcPulse 2s infinite;
}

@keyframes ggpcSoftRotate{
from{transform:translate(-50%,-50%) rotate(0)}
to{transform:translate(-50%,-50%) rotate(360deg)}
}

@keyframes ggpcSoftInnerRotate{
from{transform:translate(-50%,-50%) rotate(360deg)}
to{transform:translate(-50%,-50%) rotate(0)}
}

@keyframes ggpcSoftGlow{
0%,100%{
opacity:.35;
transform:translate(-50%,-50%) scale(1);
}
50%{
opacity:.7;
transform:translate(-50%,-50%) scale(1.18);
}
}

@keyframes ggpcFadeUp{
from{
opacity:0;
transform:translateY(35px);
}
to{
opacity:1;
transform:translateY(0);
}
}

@keyframes ggpcFadeDown{
from{
opacity:0;
transform:translateY(-30px);
}
to{
opacity:1;
transform:translateY(0);
}
}

@keyframes ggpcPulse{
50%{
width:150px;
}
}

@media(max-width:768px){

.ggpc-content h1{
font-size:34px;
}

.ggpc-location{
font-size:18px;
}

.ggpc-description{
font-size:16px;
}

.ggpc-hero:before{
width:420px;
height:420px;
}

.ggpc-hero:after{
width:280px;
height:280px;
}

}



/* INVESTMENT SECTION */

.inv-section{
padding:70px 0;
background:#fff;
position:relative;
overflow:hidden;
}


.inv-section:before{
content:"";
position:absolute;
width:350px;
height:350px;
background:#c49a4b;
opacity:.12;
filter:blur(100px);
right:-120px;
top:-100px;
}



.inv-heading{
text-align:center;
margin-bottom:40px;
position:relative;
z-index:2;
}


.inv-heading h6{
color:#7b1827;
font-size:14px;
letter-spacing:2px;
margin:0 0 10px;
text-transform:uppercase;
}


.inv-heading h2{
    font: 400 42px Georgia, serif;
    font-weight: 700;
color:#000000;
margin:0;
}



/* CARD */

.inv-card{
background:#fff;
border-radius:25px;
overflow:hidden;
border:1px solid #ead7b4;
box-shadow:0 15px 35px rgba(80,50,20,.12);
transition:.6s cubic-bezier(.2,.8,.2,1);
height:100%;
min-height:420px;
position:relative;
opacity:0;
animation:invShow .8s forwards;
cursor:pointer;
perspective:1400px;
}

.col-lg-4:nth-child(1) .inv-card{animation-delay:.1s;}
.col-lg-4:nth-child(2) .inv-card{animation-delay:.25s;}
.col-lg-4:nth-child(3) .inv-card{animation-delay:.4s;}

.inv-card-inner{
position:relative;
width:100%;
height:100%;
min-height:100%;
transform-style:preserve-3d;
transition:transform .9s cubic-bezier(.2,.8,.2,1);
}

.inv-card:hover .inv-card-inner{
transform:rotateY(180deg);
}

.inv-card-face{
position:absolute;
inset:0;
backface-visibility:hidden;
background:#fff;
border-radius:25px;
overflow:hidden;
}

.inv-card-front{
position:relative;
display:flex;
flex-direction:column;
}

.inv-img{
height:280px;
overflow:hidden;
position:relative;
flex:1;
}

.inv-card-back{
transform:rotateY(180deg);
display:flex;
align-items:center;
justify-content:center;
padding:24px;
background:linear-gradient(135deg, #f8f1e8 0%, #f3e4c8 45%, #fdf7eb 100%);
color:#4b271d;
text-align:left;
overflow-y:auto;
}

.inv-back-content{
position:relative;
z-index:2;
width:100%;
display:flex;
flex-direction:column;
gap:10px;
}

.inv-back-badge{
display:inline-flex;
align-items:center;
width:max-content;
padding:6px 10px;
border-radius:999px;
background:rgba(123,24,39,.08);
color:#7b1827;
font-size:11px;
font-weight:700;
letter-spacing:1.2px;
text-transform:uppercase;
}

.inv-back-content h3{
margin:0;
font:400 22px Georgia,serif;
color:#4b271d;
}

.inv-back-list{
list-style:none;
padding:0;
margin:0;
display:grid;
gap:8px;
}

.inv-back-list li{
position:relative;
padding-left:14px;
font-size:13px;
line-height:1.6;
color:#5f4330;
}

.inv-back-list li::before{
content:"•";
position:absolute;
left:0;
color:#c49a4b;
font-weight:700;
}

.inv-btn-back{margin-top:4px;align-self:flex-start;background:#7b1827;color:#fff;box-shadow:none;}
.inv-btn-back:hover{color:#fff;background:#4b0f18;}

.inv-img img{
width:100%;
height:100%;
object-fit:cover;
transition:1s cubic-bezier(.2,.8,.2,1);
}

.inv-card:hover .inv-img img{transform:scale(1.18) translateY(-8px);}

/* IMAGE LIGHT SWEEP */
.inv-img:before{
content:"";
position:absolute;
top:0;
left:-100%;
width:70%;
height:100%;
background:linear-gradient(120deg,transparent,rgba(255,255,255,.45),transparent);
z-index:2;
transition:.8s;
}

.inv-card:hover .inv-img:before{left:130%;}

/* CONTENT */
.inv-content{
padding:24px 22px 24px;
text-align:center;
transition:.5s;
position:absolute;
left:0;
right:0;
bottom:0;
z-index:2;
display:flex;
flex-direction:column;
align-items:center;
background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.72) 100%);
}

.inv-content h3{
font:400 24px Georgia,serif;
color:#fff;
margin:0 0 16px;
transition:.4s;
text-shadow:0 2px 10px rgba(0,0,0,.35);
}
.inv-btn{
border:0;
background:#7b1827;
color:#fff;
padding:14px 30px;
border-radius:35px;
font-size:14px;
cursor:pointer;
transition:.4s;
box-shadow:0 10px 25px rgba(123,24,39,.25);
position:relative;
overflow:hidden;
z-index:1;
display:inline-flex;
align-items:center;
justify-content:center;
margin:0 auto;
}

.inv-btn:hover{color:#000;}

.inv-btn:before{
content:"";
position:absolute;
width:0;
height:0;
background:#f1b83c;
border-radius:50%;
top:50%;
left:50%;
transform:translate(-50%,-50%);
transition:.5s;
z-index:-1;
}

.inv-btn:hover:before{width:250px;height:250px;}
.inv-btn:hover{transform:translateY(-3px);}
.inv-btn i{margin-right:8px;}

/* GOLD GLOW BUBBLE */
.inv-card:after{
content:"";
position:absolute;
width:120px;
height:120px;
background:#c49a4b;
border-radius:50%;
right:-60px;
bottom:-60px;
opacity:.12;
transition:.6s;
}

.inv-card:hover:after{transform:scale(2);opacity:.22;}



/* CARD ENTRY */

@keyframes invShow{

from{

opacity:0;

transform:translateY(50px);

}

to{

opacity:1;

transform:translateY(0);

}

}



/* MOBILE */

@media(max-width:900px){

.inv-heading h2{

font-size:34px;

}

.inv-img{

height:240px;

}

}



@media(max-width:600px){

.inv-section{

padding:45px 0;

}


.inv-heading h2{

font-size:30px;

}


.inv-img{

height:220px;

}


.inv-content{

padding:22px;

}


.inv-content h3{

font-size:22px;

}


.inv-btn{

width:100%;

}

}








/*Section-A celebration revised for visionary investors*/

.carnival-section{background:#fff;padding:60px 0;overflow:hidden;position:relative}
.carnival-section:before{content:"";position:absolute;width:350px;height:350px;background:#c49a4b;opacity:.08;filter:blur(100px);right:-120px;top:-120px;animation:bgmove 8s infinite alternate}
@keyframes bgmove{to{transform:translate(-80px,80px)}}

.carnival-wrapper,.feature-section{width:1200px;max-width:92%;margin:auto;position:relative;z-index:2}

.carnival-wrapper{display:flex;align-items:flex-start;gap:40px}
.left-content{width:58%;animation:leftIn 1s}
.right-content{width:42%;display:flex;justify-content:center;animation:rightIn 1s}

@keyframes leftIn{from{opacity:0;transform:translateX(-50px)}}
@keyframes rightIn{from{opacity:0;transform:translateX(50px)}}

h1{    font: 400 42px Georgia, serif;
    font-weight: 700;color:#020202;margin:0 0 25px}
h1 span{display:block;font-size:75px;color:#c39a4b;letter-spacing:3px}

.reward{width:420px;max-width:100%;display:block;margin:20px auto;animation:floating 4s infinite,glow 3s infinite}
@keyframes floating{50%{transform:translateY(-18px)}}
@keyframes glow{50%{filter:drop-shadow(0 20px 30px rgba(195,154,75,.35))}}

.mobile-reward{display:none}

.bottom-box{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:25px 0 35px}

.offer-box{min-height:100px;padding:15px;display:flex;align-items:center;justify-content:center;gap:15px;background:linear-gradient(145deg,#fff,#fff7e8);border:1px solid #dfc18b;border-radius:18px;box-shadow:0 10px 25px rgba(80,50,20,.1);transition:.4s;overflow:hidden;position:relative}
.offer-box:hover{transform:translateY(-7px);box-shadow:0 20px 40px rgba(80,50,20,.18)}
.offer-box:after{content:"";position:absolute;width:100px;height:100px;background:#c49a4b;opacity:.12;border-radius:50%;right:-40px;top:-40px}

.offer-icon{width:45px;height:45px;background:#7b1827;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}

.offer-box h3{margin:0;font:400 18px Georgia;color:#563326}
.offer-box span{font-size:10px;font-weight: 600;letter-spacing:1px; color:#4b271d}
.offer-box h2{font:38px Georgia;margin:5px 0;color:#4b271d}
.offer-box small{font-size:15px}
.offer-box p{font-size:10px;margin:0; font-weight: 600;color:#4b271d}


.feature-section{margin-top:15px;padding:35px 25px;background:linear-gradient(135deg,#fffaf0,#fff);border:1px solid #ead7b4;border-radius:25px;box-shadow:0 15px 40px rgba(80,50,20,.1);overflow:hidden}

.featureSwiper{width:100%}
.swiper-slide{height:auto;display:flex}

.feature{width:100%;height:248px;padding:25px 15px;background:#fff;border-radius:18px;border:1px solid #e2c58b;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 10px 25px rgba(80,50,20,.1);transition:.4s;position:relative;overflow:hidden}

.feature:hover{transform:translateY(-10px);box-shadow:0 25px 45px rgba(80,50,20,.2)}

.feature:before{content:"";position:absolute;width:90px;height:90px;background:#c49a4b;opacity:.1;border-radius:50%;right:-30px;top:-30px}

.icon-box{width:60px;height:60px;padding:18px;margin-bottom:15px;border-radius:50%;background:#fff;border:1px solid #c49a4b;display:flex;align-items:center;justify-content:center;color:#7b1827;font-size:25px;position:relative}
.icon-box:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px dashed #c49a4b;animation:rotate 8s linear infinite}
.icon-box i{z-index:2}
@keyframes rotate{to{transform:rotate(360deg)}}

.feature:hover .icon-box{background:#7b1827;color:#fff;transform:scale(1.1)}

.feature h3{font-size:13px;line-height:1.45;margin:0;color:#55362a;font-weight:600}


@media(max-width:900px){
.carnival-wrapper{flex-direction:column}
.left-content,.right-content{width:100%}
.left-content{text-align:center}
.right-content{display:none}
.mobile-reward{display:block}
.mobile-reward .reward{width:320px;margin:15px auto 30px}
h1{font-size:42px}
h1 span{font-size:55px}
}

@media(max-width:600px){
.carnival-section{padding:35px 0}
.carnival-wrapper,.feature-section{max-width:94%}
h1{font-size:32px}
h1 span{font-size:42px}
.bottom-box{grid-template-columns:1fr}
.mobile-reward .reward{width:260px}
.feature-section{padding:25px 12px}
.feature{height:}
.feature h3{font-size:12px}
.icon-box{width:55px;height:55px;font-size:22px}
}

.feature-heading{
text-align:center;
margin-bottom:35px;
position:relative;
z-index:2;
}


.feature-heading h2{
    font: 400 28px Georgia, serif;
    font-weight: 700;
color:#000000;
margin:0 0 10px;
}



.feature-heading:after{
content:"";
display:block;
width:90px;
height:3px;
background:#c49a4b;
margin:20px auto 0;
}



@media(max-width:600px){

.feature-heading h2{
font-size:26px;
}


}







/*Brands*/

.sx-brand-section{padding:70px 0;background:#fff}
.sx-container{width:1200px;max-width:92%;margin:auto}

.sx-brand-title{text-align:center;margin-bottom:35px}
.sx-brand-title h2{font:400 42px Georgia,serif;color:#4b271d;margin:0}
.sx-brand-title p{color:#000000;font-size:14px}

.sx-floor-tabs{
display:flex;
gap:12px;
overflow-x:auto;
padding:12px 10px;
justify-content:center;
scroll-behavior:smooth;
background:#fff;
position:sticky;
top:80px;
z-index:99;

}

.sx-floor-tabs::-webkit-scrollbar{
display:none;
}

.sx-floor-btn{white-space:nowrap;padding:14px 28px; font-weight: 600;border-radius:30px;border:1px solid #d9b878;background:#fff;color:#55362a;font-size:14px;cursor:pointer;transition:.4s}
.sx-floor-btn:hover{transform:translateY(-3px)}
.sx-floor-btn.sx-active{background:#7b1827;color:#fff;box-shadow:0 10px 25px rgba(123,24,39,.25)}

.sx-brand-wrapper{margin-top:40px;padding:40px;background:#fff;border-radius:25px;border:1px solid #ead7b4;box-shadow:0 15px 40px rgba(80,50,20,.08)}

.sx-brand-panel{display:none;grid-template-columns:repeat(5,1fr);gap:25px}
.sx-brand-panel.sx-active{display:grid}

.sx-brand-panel img{
background:#fff;
border:1px solid #eee;
border-radius:18px;
display:flex;
align-items:center;
justify-content:center;
padding:0px;
position:relative;
overflow:hidden;
opacity:0;
transform:translateY(50px) scale(.75);
animation:sxLogoShow .8s forwards;
}

.sx-brand-panel img{max-width:100%;object-fit:contain}

.sx-brand-panel img:hover{
transform:translateY(-10px) scale(1.03);
box-shadow:0 20px 35px rgba(0,0,0,.12);
}

.sx-brand-panel img:hover{
filter:grayscale(0);
}

.sx-brand-panel img:nth-child(1){animation-delay:.1s}
.sx-brand-panel img:nth-child(2){animation-delay:.2s}
.sx-brand-panel img:nth-child(3){animation-delay:.3s}
.sx-brand-panel img:nth-child(4){animation-delay:.4s}
.sx-brand-panel img:nth-child(5){animation-delay:.5s}
.sx-brand-panel img:nth-child(6){animation-delay:.6s}
.sx-brand-panel img:nth-child(7){animation-delay:.7s}
.sx-brand-panel img:nth-child(8){animation-delay:.8s}


@keyframes sxLogoShow{
0%{opacity:0;transform:translateY(60px) scale(.7)}
70%{transform:translateY(-10px) scale(1.05)}
100%{opacity:1;transform:translateY(0) scale(1)}
}

.sx-brand-panel img:before{
content:"";
position:absolute;
width:70px;
height:200px;
background:rgba(255,255,255,.7);
transform:rotate(30deg) translateY(-250px);
transition:.8s;
}

.sx-brand-panel img:hover:before{
transform:rotate(30deg) translateY(250px);
}


@media(max-width:900px){

.sx-floor-tabs{justify-content:flex-start}

.sx-brand-panel{grid-template-columns:repeat(3,1fr)}

}


@media(max-width:600px){
.sx-floor-tabs{top:70px;}
.sx-brand-section{padding:45px 0}

.sx-brand-title h2{font-size:30px}

.sx-brand-wrapper{padding:20px}

.sx-brand-panel{grid-template-columns:repeat(2,1fr);gap:15px}

.sx-brand-panel img{padding:12px}

.sx-floor-btn{padding:12px 20px;font-size:13px}

}













/* =========================================================
   CARNIVAL / INVESTOR BENEFITS
========================================================= */

.carnival-section {
    width: 100%;
    padding: 60px 6%;
    background: #fffdf9;
    box-sizing: border-box;
    overflow: hidden;
}


/* =========================================================
   MAIN WRAPPER

   DESKTOP

   ROW 1
   TITLE — FULL WIDTH

   ROW 2
   DESCRIPTION — FULL WIDTH

   ROW 3
   POINTS LEFT | IMAGES RIGHT
========================================================= */

.carnival-wrapper {
    width: 100%;
    max-width: 1350px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        430px;

    grid-template-rows:
        auto
        auto
        auto;

    column-gap: 60px;
    row-gap: 25px;

    align-items: center;
}


/* =========================================================
   TITLE — FULL WIDTH
========================================================= */

.carnival-title {
    grid-column: 1 / -1;
    grid-row: 1;

    width: 100%;
}


.eyebrow {
    display: block;

    margin: 0 0 12px;

    color: #8d1829;

    font-family: Arial, sans-serif;

    font-size: 11px;

    font-weight: 700;

    line-height: 1;

    letter-spacing: 2.5px;

    text-transform: uppercase;
}


.carnival-title h1 {
    width: 100%;

    margin: 0;

    color: #3e211a;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            42px,
            5vw,
            68px
        );

    font-weight: 500;

    line-height: 1.05;

    letter-spacing: -1.5px;
}


.carnival-title h1 span {
    color: #67000e;
}


/* =========================================================
   DESCRIPTION — FULL WIDTH
========================================================= */

.carnival-description {
    grid-column: 1 / -1;
    grid-row: 2;

    width: 100%;
}


.carnival-description p {
    position: relative;

    width: 100%;
    max-width: 900px;

    margin: 0;

    color: #73584f;

    font-family: Arial, sans-serif;

    font-size: 16px;

    line-height: 1.7;
}


/* Gold pointer */


/* =========================================================
   FOUR POINTS — LEFT
========================================================= */

.carnival-points {
    grid-column: 1;
    grid-row: 3;

    width: 100%;
    max-width: 760px;

    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 15px;

    align-self: center;
}


/* =========================================================
   POINT CARD
========================================================= */

.point {
    width: 100%;

    min-height: 82px;

    display: flex;

    align-items: center;

    gap: 15px;

    padding: 14px 18px;

    border: 1px solid #e6c98e;

    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            #fffefa 0%,
            #fff8eb 100%
        );

    box-sizing: border-box;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}


.point:hover {
    transform: translateY(-3px);

    border-color: #c4964c;

    box-shadow:
        0 10px 25px
        rgba(
            65,
            32,
            20,
            .10
        );
}


/* =========================================================
   POINT ICON
========================================================= */

.point-icon {
    width: 44px;
    height: 44px;

    min-width: 44px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #8d1829;

    color: #ffffff;

    font-size: 15px;

    box-shadow:
        0 5px 12px
        rgba(
            141,
            24,
            41,
            .20
        );
}


/* =========================================================
   POINT CONTENT
========================================================= */

.point-content {
    min-width: 0;
}


.point-content h3 {
    margin: 0 0 4px;

    color: #512b22;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 22px;

    font-weight: 500;

    line-height: 1.1;

    overflow-wrap: break-word;
}


.point-content p {
    margin: 0;

    color: #82645a;

    font-family: Arial, sans-serif;

    font-size: 10px;

    font-weight: 700;

    line-height: 1.2;

    letter-spacing: .8px;

    text-transform: uppercase;
}


/* =========================================================
   IMAGE AREA — RIGHT
========================================================= */

.carnival-images {
    grid-column: 2;
    grid-row: 3;

    width: 100%;

    height: 250px;

    display: flex;

    flex-direction: row;

    align-items: center;

    justify-content: space-between;

    gap: 12px;

    position: relative;

    overflow: visible;
}


/* =========================================================
   REWARD IMAGE
========================================================= */

.reward-image-box {
    width: 58%;

    height: 100%;

    flex: 0 0 58%;

    display: flex;

    align-items: center;

    justify-content: center;

    position: relative;
}


.reward-image {
    display: block;

    width: 100% !important;

    max-width: 220px !important;

    max-height: 210px !important;

    height: auto !important;

    object-fit: contain;

    position: relative !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    z-index: 2;

    filter:
        drop-shadow(
            0 10px 14px
            rgba(
                70,
                35,
                18,
                .15
            )
        );

    transition:
        transform .3s ease;
}


.reward-image-box:hover .reward-image {
    transform: scale(1.03);
}


/* =========================================================
   OC RECEIVED IMAGE
========================================================= */

.received-image-box {
    width: 42%;

    height: 100%;

    flex: 0 0 42%;

    display: flex;

    align-items: center;

    justify-content: center;

    position: relative;

    overflow: visible;
}


.received-image {
    display: block;

    width: 125px !important;

    max-width: 125px !important;

    height: auto !important;

    max-height: 155px !important;

    object-fit: contain;

    position: relative !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    margin: 0 !important;

    z-index: 10;

    transform-origin: 50% 85%;

    opacity: 0;

    filter:
        drop-shadow(
            3px 5px 3px
            rgba(
                45,
                15,
                8,
                .28
            )
        );

    animation:
        powerStamp
        .75s
        cubic-bezier(
            .15,
            .9,
            .25,
            1
        )
        .5s
        forwards;
}


/* =========================================================
   POWER STAMP
========================================================= */

@keyframes powerStamp {

    0% {
        opacity: 0;

        transform:
            translateY(-70px)
            scale(1.35)
            rotate(-12deg);
    }


    35% {
        opacity: 1;

        transform:
            translateY(12px)
            scale(.72)
            rotate(7deg);
    }


    45% {
        transform:
            translateY(0)
            scale(1.12)
            rotate(-5deg);
    }


    55% {
        transform:
            translateY(3px)
            scale(.92)
            rotate(3deg);
    }


    68% {
        transform:
            translateY(-2px)
            scale(1.04)
            rotate(-2deg);
    }


    82% {
        transform:
            translateY(0)
            scale(.98)
            rotate(-4deg);
    }


    100% {
        opacity: 1;

        transform:
            translateY(0)
            scale(1)
            rotate(-4deg);
    }
}


/* =========================================================
   STAMP IMPACT
========================================================= */

.stamp-hit {
    position: absolute;

    width: 120px;
    height: 120px;

    top: 50%;
    left: 50%;

    border-radius: 50%;

    background:
        rgba(
            141,
            24,
            41,
            .18
        );

    transform:
        translate(-50%, -50%)
        scale(.15);

    opacity: 0;

    z-index: 1;

    pointer-events: none;

    animation:
        stampImpact
        .35s
        ease-out
        1.15s
        forwards;
}


@keyframes stampImpact {

    0% {
        opacity: 0;

        transform:
            translate(-50%, -50%)
            scale(.15);
    }


    20% {
        opacity: .5;

        transform:
            translate(-50%, -50%)
            scale(.55);
    }


    100% {
        opacity: 0;

        transform:
            translate(-50%, -50%)
            scale(1.25);
    }
}


/* =========================================================
   STAMP CONTACT SHADOW
========================================================= */

.received-image-box::after {
    content: "";

    position: absolute;

    width: 85px;
    height: 14px;

    bottom: 28px;

    left: 50%;

    border-radius: 50%;

    background:
        rgba(
            50,
            15,
            8,
            .14
        );

    filter: blur(6px);

    transform:
        translateX(-50%)
        scaleX(.1);

    opacity: 0;

    animation:
        stampGround
        .4s
        ease-out
        1.08s
        forwards;
}


@keyframes stampGround {

    0% {
        opacity: 0;

        transform:
            translateX(-50%)
            scaleX(.1);
    }


    35% {
        opacity: .7;

        transform:
            translateX(-50%)
            scaleX(1.1);
    }


    100% {
        opacity: .4;

        transform:
            translateX(-50%)
            scaleX(.8);
    }
}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width: 1400px) {

    .carnival-section {
        padding-left: 7%;
        padding-right: 7%;
    }


    .carnival-wrapper {
        max-width: 1450px;
    }


    .carnival-title h1 {
        font-size: 70px;
    }


    .carnival-images {
        height: 275px;
    }


    .reward-image {
        max-width: 245px !important;
        max-height: 230px !important;
    }


    .received-image {
        width: 140px !important;
        max-width: 140px !important;
        max-height: 175px !important;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .carnival-section {
        padding-left: 5%;
        padding-right: 5%;
    }


    .carnival-wrapper {

        grid-template-columns:
            minmax(0, 1fr)
            350px;

        column-gap: 35px;
    }


    .carnival-title h1 {
        font-size:
            clamp(
                40px,
                5vw,
                55px
            );
    }


    .carnival-images {
        height: 220px;
    }


    .reward-image {
        max-width: 195px !important;
        max-height: 185px !important;
    }


    .received-image {
        width: 105px !important;
        max-width: 105px !important;
        max-height: 135px !important;
    }
}


/* =========================================================
   TABLET SMALL
========================================================= */

@media (max-width: 900px) {

    .carnival-wrapper {

        grid-template-columns:
            minmax(0, 1fr)
            290px;

        column-gap: 25px;
    }


    .carnival-title h1 {
        font-size: 43px;
    }


    .carnival-points {
        gap: 10px;
    }


    .point {
        padding: 11px 12px;
        gap: 10px;
    }


    .point-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
    }


    .point-content h3 {
        font-size: 18px;
    }


    .reward-image {
        max-width: 165px !important;
    }


    .received-image {
        width: 90px !important;
        max-width: 90px !important;
    }
}


/* =========================================================
   MOBILE — IMAGE FIRST, THEN CARDS
========================================================= */

@media (max-width: 767px) {

    .carnival-section {
        padding: 40px 20px 45px;
    }


    .carnival-wrapper {

        width: 100%;

        display: flex;

        flex-direction: column;

        gap: 22px;
    }


    /* =============================================
       1. TITLE
    ============================================== */

    .carnival-title {

        order: 1;

        width: 100%;
    }


    .eyebrow {
        font-size: 10px;

        margin-bottom: 10px;

        letter-spacing: 2px;
    }


    .carnival-title h1 {

        width: 100%;

        font-size:
            clamp(
                34px,
                9vw,
                46px
            );

        line-height: 1.08;

        letter-spacing: -.5px;
    }


    /* =============================================
       2. DESCRIPTION
    ============================================== */

    .carnival-description {
        order: 2;
        width: 100%;
    }

    .carnival-description p {
        width: 100%;
        max-width: 100%;
        font-size: 15px;
        line-height: 1.6;
    }


    .carnival-description p::before {
        top: 2px;
        height:
            calc(
                100% - 4px
            );
        min-height: 50px;
    }


    /* =============================================
       3. IMAGES — BEFORE CARDS
    ============================================== */

    .carnival-images {

        order: 3;

        width: 100%;

        height: 190px;

        min-height: 190px;

        display: flex;

        flex-direction: row;

        align-items: center;

        justify-content: center;

        gap: 5px;
    }


    .reward-image-box {

        width: 58%;

        height: 100%;

        flex: 0 0 58%;
    }


    .received-image-box {

        width: 42%;

        height: 100%;

        flex: 0 0 42%;
    }


    .reward-image {

        width: 100% !important;

        max-width: 185px !important;

        max-height: 175px !important;
    }


    .received-image {

        width: 90px !important;

        max-width: 90px !important;

        max-height: 120px !important;
    }


    /* =============================================
       4. CARDS — AFTER IMAGES
    ============================================== */

    .carnival-points {

        order: 4;

        width: 100%;

        max-width: none;

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        gap: 10px;
    }


    .point {

        min-height: 70px;

        padding: 10px;

        gap: 9px;

        border-radius: 12px;
    }


    .point-icon {

        width: 36px;

        height: 36px;

        min-width: 36px;

        font-size: 13px;
    }


    .point-content h3 {
        font-size: 17px;
    }


    .point-content p {
        font-size: 8px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .carnival-section {
        padding: 35px 15px 40px;
    }


    .carnival-wrapper {
        gap: 20px;
    }


    .carnival-title h1 {
        font-size: 28px;
    }


    .carnival-description p {
        font-size: 14px;
    }


    /* IMAGE ROW */

    .carnival-images {

        height: 160px;

        min-height: 160px;

        gap: 2px;
    }


    .reward-image-box {

        width: 60%;

        flex-basis: 60%;
    }


    .received-image-box {
        width: 40%;
        flex-basis: 40%;
    }


    .reward-image {
        max-width: 170px !important;
        max-height: 150px !important;
    }


    .received-image {
        width: 90px !important;
        max-width: 90px !important;
        max-height: 105px !important;
    }


    /* CARDS */

    .carnival-points {

        grid-template-columns: 1fr;

        gap: 8px;
    }


    .point {

        min-height: 64px;

        padding: 9px 12px;
    }


    .point-icon {

        width: 36px;

        height: 36px;

        min-width: 36px;
    }


    .point-content h3 {
        font-size: 19px;
    }


    .point-content p {
        font-size: 9px;
    }


    .stamp-hit {

        width: 75px;

        height: 75px;
    }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 360px) {

    .carnival-section {

        padding-left: 12px;

        padding-right: 12px;
    }


    .carnival-title h1 {
        font-size: 28px;
    }


    .carnival-images {

        height: 140px;

        min-height: 140px;
    }


    .reward-image {

        max-width: 140px !important;

        max-height: 130px !important;
    }


    .received-image {

        width: 65px !important;

        max-width: 65px !important;

        max-height: 90px !important;
    }
}


/* =========================================================
   IMPORTANT POSITION RESET
========================================================= */

.carnival-images .reward-image,
.carnival-images .received-image {

    position: relative !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    margin: 0 !important;
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .received-image {

        animation: none !important;

        opacity: 1 !important;

        transform:
            rotate(-4deg)
            scale(1) !important;
    }


    .stamp-hit,
    .received-image-box::after {

        animation: none !important;

        opacity: 0 !important;
    }


    .point,
    .reward-image {

        transition: none !important;
    }
}








section.w-100.pt-2.pb-6.position-relative.bg-silhouette.about-company.ft {
    background: #f3b544;
}


/*Map*/
.location-section{width:100%;display:flex;align-items:center;justify-content:center;position:relative;padding:20px;overflow:hidden}
.map-wrapper{position:relative;width:887px;height:583px;max-width:100%;padding:2px;overflow:hidden;background:linear-gradient(120deg, #67000e, #f1b83c, #741522, #f1b83c, #67000e, #f1b83c);background-size:350% 350%;animation:borderAnimation 8s ease infinite;box-shadow:0 35px 90px rgba(78,63,31,.16),0 10px 30px rgba(78,63,31,.1);border-radius:4px}
.map-inner{position:relative;width:100%;height:100%;overflow:hidden;background:#efede7;border-radius:2px}
.map-inner iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;filter:saturate(.65) contrast(.96) brightness(1.04);transform:scale(1);transition:transform 1.5s cubic-bezier(.22,.61,.36,1),filter 1s ease}
.map-wrapper:hover iframe{transform:scale(1.035);filter:saturate(.82) contrast(.98) brightness(1.07)}
.map-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.15),transparent 35%,rgba(255,255,255,.08));mix-blend-mode:screen}
.light-sweep{position:absolute;top:-30%;left:-35%;width:28%;height:160%;z-index:3;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,225,158,.22),rgba(255,245,205,.38),transparent);filter:blur(10px);transform:rotate(18deg) translateX(-350%);animation:lightSweep 7s ease-in-out infinite}
.gold-spot{position:absolute;width:320px;height:320px;z-index:3;pointer-events:none;border-radius:50%;background:radial-gradient(circle,rgba(218,181,105,.12),rgba(218,181,105,.04) 35%,transparent 70%);filter:blur(8px);top:15%;left:50%;transform:translate(-50%,-50%);animation:spotlight 9s ease-in-out infinite}
.particle{position:absolute;z-index:4;width:3px;height:3px;border-radius:50%;background:#c8a45e;box-shadow:0 0 8px rgba(200,164,94,.55);pointer-events:none;opacity:0;animation:particleFloat linear infinite}.particle:nth-child(1){left:10%;bottom:-10px;animation-duration:8s;animation-delay:1s}.particle:nth-child(2){left:25%;bottom:-10px;animation-duration:10s;animation-delay:3s}.particle:nth-child(3){left:40%;bottom:-10px;animation-duration:7s}.particle:nth-child(4){left:57%;bottom:-10px;animation-duration:9s;animation-delay:4s}.particle:nth-child(5){left:74%;bottom:-10px;animation-duration:8s;animation-delay:2s}.particle:nth-child(6){left:89%;bottom:-10px;animation-duration:11s;animation-delay:5s}.bottom-bar{position:absolute;left:25px;right:25px;bottom:25px;z-index:7;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 14px 13px 20px;background:rgba(255,255,255,.88);border:1px solid rgba(176,139,65,.4);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 18px 45px rgba(70,57,31,.16);animation:barReveal 1.2s .4s cubic-bezier(.22,.61,.36,1) both;overflow:hidden}.bottom-bar:before{content:"";position:absolute;top:0;left:-100%;width:65%;height:1px;background:linear-gradient(90deg,transparent,#c7a45f,transparent);animation:barShine 4s ease-in-out infinite}
.address-box{display:flex;align-items:center;gap:14px;min-width:0}
a.direction-button:hover{color:#fff;}
.location-icon{width:40px;height:40px;flex:0 0 40px;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid #67000e;transform:rotate(45deg);background:rgba(201,166,100,.04);animation:iconFloat 3s ease-in-out infinite}.location-icon:before{content:"";width:9px;height:9px;border-radius:50%;background:#67000e;box-shadow:0 0 10px rgba(189,152,78,.45)}.location-icon:after{content:"";position:absolute;inset:0;border:1px solid rgba(189,152,78,.5);animation:ping 2.5s ease-out infinite}.address-text{min-width:0}.address-text small{display:block;margin-bottom:5px;color:#67000e;font-size:12px;font-weight:700;letter-spacing:3px}.address-text strong{display:block;color:#27231d;font-size:13px;font-weight:500;letter-spacing:.2px}.direction-button{position:relative;display:flex;align-items:center;justify-content:center;gap:15px;min-width:155px;padding:14px 20px;flex:0 0 auto;color:#fff;background:#67000e;background-size:200% 200%;text-decoration:none;font-size:9px;font-weight:700;letter-spacing:1.8px;overflow:hidden;box-shadow:0 8px 22px rgba(165,130,65,.22);transition:transform .4s ease,box-shadow .4s ease;animation:buttonGradient 4s ease infinite}.direction-button:before{content:"";position:absolute;top:0;left:-120%;width:55%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);animation:buttonShine 4s ease-in-out infinite}.direction-button span,.direction-button b{position:relative;z-index:2}.direction-button b{font-size:17px;font-weight:400;transition:transform .4s ease}.direction-button:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(165,130,65,.32)}.direction-button:hover b{transform:translate(4px,-4px)}.corner{position:absolute;z-index:6;width:65px;height:65px;pointer-events:none;opacity:.85}.corner-top-left{top:14px;left:14px;border-top:1px solid #bd984e;border-left:1px solid #bd984e}.corner-top-right{top:14px;right:14px;border-top:1px solid #bd984e;border-right:1px solid #bd984e}.corner-bottom-left{bottom:14px;left:14px;border-bottom:1px solid #bd984e;border-left:1px solid #bd984e}.corner-bottom-right{bottom:14px;right:14px;border-bottom:1px solid #bd984e;border-right:1px solid #bd984e}@keyframes borderAnimation{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}@keyframes lightSweep{0%{transform:rotate(18deg) translateX(-350%)}55%,100%{transform:rotate(18deg) translateX(500%)}}@keyframes spotlight{0%,100%{transform:translate(-50%,-50%) scale(.8);opacity:.4}50%{transform:translate(-15%,35%) scale(1.3);opacity:.9}}@keyframes particleFloat{0%{transform:translateY(0) scale(.4);opacity:0}15%{opacity:.65}70%{opacity:.4}100%{transform:translateY(-620px) translateX(40px) scale(1.1);opacity:0}}@keyframes barReveal{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@keyframes barShine{0%{left:-100%}50%,100%{left:130%}}@keyframes buttonGradient{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}@keyframes buttonShine{0%,45%{left:-120%}65%,100%{left:140%}}@keyframes iconFloat{0%,100%{transform:rotate(45deg) translateY(0)}50%{transform:rotate(45deg) translateY(-4px)}}@keyframes ping{0%{opacity:.7;transform:scale(.7)}100%{opacity:0;transform:scale(1.7)}}@media(max-width:920px){body{padding:15px}.location-section{padding:15px 0}.map-wrapper{width:100%;height:auto;aspect-ratio:887/583}} 
@media(max-width:600px){body{padding:0;display:block;background:#f7f5ef}.location-section{width:100%;height:auto;padding:10px;display:flex;align-items:center;justify-content:center}.map-wrapper{width:100%;height:auto;min-height:0;aspect-ratio:887/583;border-radius:5px}.map-inner{width:100%;height:100%;border-radius:3px}.map-inner iframe{width:100%;height:100%}.bottom-bar{left:12px;right:12px;bottom:12px;min-height:58px;padding:9px 9px 9px 12px;gap:8px}.address-box{gap:10px}.location-icon{width:30px;height:30px;flex-basis:30px}.location-icon:before{width:7px;height:7px}.address-text small{font-size:6px;letter-spacing:1.8px;margin-bottom:3px}.address-text strong{font-size:10px;white-space:nowrap}
.direction-button{min-width:105px;padding:10px 9px;gap:7px;font-size:6.5px;letter-spacing:1px}
.direction-button b{font-size:13px}
.corner{width:32px;height:32px}
.corner-top-left,.corner-top-right{top:7px}
.corner-bottom-left,.corner-bottom-right{bottom:7px}
.corner-top-left,.corner-bottom-left{left:7px}
.corner-top-right,.corner-bottom-right{right:7px}}
@media(max-width:390px){.location-section{padding:6px}.map-wrapper{aspect-ratio:887/583}.bottom-bar{left:9px;right:9px;bottom:9px;padding:8px}.location-icon{width:27px;height:27px;flex-basis:27px}.address-text small{font-size:5.5px}.address-text strong{font-size:9px}.direction-button{min-width:92px;padding:9px 7px;font-size:6px}.direction-button b{font-size:12px}}@media(max-width:330px){.bottom-bar{flex-direction:column;align-items:stretch}.address-box{justify-content:center}.direction-button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
