body {
    margin: 0;
    padding: 0;
    background: repeat-x top #fff;
}

:root {
    /* Exact Mockup Palette: Burnt Orange / Warm Terracotta Spotlight */
    --luxury-black: #0f0401;
    --luxury-charcoal: #260b01;
    --luxury-deep-brown: #451403;
    --luxury-brown: #bb4f20;
    --luxury-gold: #db5e1e;
    --luxury-gold-soft: #f08346;
    --luxury-cream: #fff4ed;
    --luxury-off-white: #f5ece6;

    /* Legacy/System Mapping */
    --e-global-color-primary: var(--luxury-gold);
    --e-global-color-secondary: var(--luxury-brown);
    --e-global-color-accent: var(--luxury-gold-soft);
    --e-global-color-text: #8c8c8c;
    --e-global-color-white: #ffffff;
    --e-global-color-soft-orange: var(--luxury-cream);
}

/* Luxury Typography */
h1,
h2,
h3,
.slide-title,
.heading_sub {
    font-family: 'DM Serif Display', serif !important;
    background: linear-gradient(to right, #f78a2c, #a8310d);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #db5e1e;
}

body {
    font-family: 'Inter', sans-serif;
    color: var(--luxury-charcoal);
    background-color: var(--luxury-off-white);
}

/* Tighten Section Spacing */
/* section {
    padding: 70px 0 !important;
} */

.luxury-hero-section {
    background: linear-gradient(135deg, var(--luxury-black) 0%, var(--luxury-deep-brown) 100%);
    padding: 160px 0 100px !important;
    position: relative;
    overflow: hidden;
}

/* --- PERFECT HERO SECTION --- */
.perfect-hero-section {
    background: radial-gradient(circle at 75% 40%, var(--luxury-gold) 0%, var(--luxury-brown) 35%, var(--luxury-deep-brown) 70%, var(--luxury-charcoal) 100%);
    padding: 130px 0 70px !important;
    position: relative;
    overflow: hidden;
}

/* Subtle Texture Overlay */
.perfect-hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
    opacity: 0.03;
    pointer-events: none;
    z-index: 1;
}

.perfect-hero-section::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 80% 40%, rgba(197, 160, 89, 0.1) 0%, transparent 60%);
    pointer-events: none;
    z-index: 1;
}

.hero-text-content {
    position: relative;
    z-index: 10;
}

.hero-est {
    color: var(--luxury-gold);
    font-size: 11px;
    letter-spacing: 5px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 15px;
    font-weight: 600;
}

.hero-est::after {
    content: '';
    height: 1px;
    width: 30px;
    background: linear-gradient(to right, var(--luxury-gold), transparent);
}

.hero-title {
    font-size: 64px;
    color: #f2ebe1;
    -webkit-text-fill-color: #f2ebe1;
    font-family: 'DM Serif Display', serif;
    line-height: 1.1;
    margin-bottom: 25px;
    letter-spacing: -1px;
    filter: drop-shadow(0 5px 15px rgba(0, 0, 0, 0.2));
}

.hero-title-highlight {
    color: #d9591d;
}

.hero-subheading {
    color: rgba(232, 226, 217, 0.7);
    font-size: 17px;
    margin-bottom: 40px;
    max-width: 480px;
    line-height: 1.7;
}

.hero-btn-group {
    display: flex;
    gap: 25px;
}

.hero-btn-solid {
    background: linear-gradient(to right, #f78a2c, #a8310d);
    color: #f5ebe1;
    padding: 16px 32px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-decoration: none !important;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    position: relative;
    overflow: hidden;
    display: inline-block;
    border-radius: 6px;
    box-shadow: 0 4px 15px rgba(247, 138, 44, 0.2);
}

.hero-btn-solid::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -60%;
    width: 20%;
    height: 200%;
    background: rgba(255, 255, 255, 0.4);
    transform: rotate(30deg);
    transition: all 0.6s ease;
}

.hero-btn-solid:hover::after {
    left: 130%;
}

.hero-btn-solid:hover {
    background: linear-gradient(to right, #a8310d, #f78a2c);
    color: #fff;
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(247, 138, 44, 0.3);
}

.hero-btn-outline {
    background-color: rgba(255, 255, 255, 0.1);
    color: #ffffff !important;
    border: 2px solid #ffffff;
    padding: 15px 32px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-decoration: none !important;
    transition: all 0.4s ease;
    border-radius: 4px;
}

.hero-btn-outline:hover {
    border-color: var(--luxury-gold);
    background-color: transparent;
    color: var(--luxury-gold);
    transform: translateY(-5px);
}

/* Enhanced Image Wrapper */
.hero-image-wrapper {
    position: relative;
    padding: 10px;
    z-index: 5;
    text-align: right;
}

.hero-main-image {
    width: 90%;
    border-radius: 20px;
    position: relative;
    z-index: 3;
    box-shadow: 0 50px 100px rgba(0, 0, 0, 0.6);
    animation: heroFloat 6s ease-in-out infinite;
}

.image-accent-frame {
    position: absolute;
    top: 40px;
    right: 0px;
    width: 90%;
    height: 90%;
    border: 1px solid rgba(217, 89, 29, 0.4);
    border-radius: 20px;
    z-index: 2;
    animation: frameFloat 8s ease-in-out infinite;
}

.image-accent-frame::after {
    content: '';
    position: absolute;
    top: -10px;
    left: -10px;
    right: -10px;
    bottom: -10px;
    border: 1px solid rgba(217, 89, 29, 0.15);
    border-radius: 25px;
    pointer-events: none;
}

@keyframes heroFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-20px);
    }
}

@keyframes frameFloat {

    0%,
    100% {
        transform: translate(0, 0);
    }

    50% {
        transform: translate(10px, 10px);
    }
}

/* Scroll Indicator */
.hero-scroll-indicator {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

/* 
.mouse {
    width: 26px;
    height: 42px;
    border: 2px solid rgba(197, 160, 89, 0.4);
    border-radius: 20px;
    position: relative;
}

.mouse-wheel {
    width: 4px;
    height: 8px;
    background-color: var(--luxury-gold);
    border-radius: 2px;
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    animation: scrollWheel 2s infinite; */
}

@keyframes scrollWheel {
    0% {
        opacity: 0;
        transform: translate(-50%, 0);
    }

    30% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translate(-50%, 15px);
    }
}

.scroll-text {
    color: var(--luxury-gold);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 3px;
    opacity: 0.6;
}

@media (max-width: 991px) {
    .perfect-hero-section {
        padding: 140px 0 80px !important;
        text-align: center;
    }

    .hero-est {
        justify-content: center;
        margin-bottom: 15px;
    }

    .hero-est::after {
        display: none;
    }

    .hero-title {
        font-size: 52px;
        margin-bottom: 25px;
    }

    .hero-subheading {
        margin-left: auto;
        margin-right: auto;
        font-size: 17px;
        margin-bottom: 40px;
    }

    .hero-btn-group {
        justify-content: center;
        flex-direction: column;
        gap: 15px;
    }

    .hero-btn-solid,
    .hero-btn-outline {
        width: 100%;
        padding: 16px 30px;
    }

    .hero-image-wrapper {
        margin-top: 60px;
        padding: 15px;
        text-align: center;
    }

    .hero-main-image {
        margin: 0 auto;
        width: 90%;
        max-width: 420px;
    }

    .image-accent-frame {
        top: 25px;
        left: 50%;
        transform: translateX(-50%);
        width: 90%;
        height: 100%;
        max-width: 420px;
        right: auto;
        border-radius: 25px;
        border: 2px solid rgba(197, 160, 89, 0.3);
        animation: frameFloatMobile 8s ease-in-out infinite;
    }

    @keyframes frameFloatMobile {

        0%,
        100% {
            transform: translateX(-50%) translateY(0);
        }

        50% {
            transform: translateX(-48%) translateY(10px);
        }
    }

    .hero-scroll-indicator {
        display: none;
    }
}

@media (max-width: 575px) {
    .hero-title {
        font-size: 42px;
    }

    .hero-subheading {
        font-size: 16px;
    }
}

.luxury-hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 70% 30%, rgba(197, 160, 89, 0.1) 0%, transparent 70%);
    pointer-events: none;
}

.luxury-title {
    font-size: 64px;
    color: var(--e-global-color-white);
    line-height: 1.1;
    margin-bottom: 25px;
}

.gold-text {
    color: var(--luxury-gold);
    display: block;
}

.luxury-subtitle {
    color: var(--luxury-gold);
    text-transform: uppercase;
    letter-spacing: 4px;
    font-weight: 600;
    margin-bottom: 15px;
    display: block;
}

.luxury-desc {
    color: var(--luxury-off-white);
    font-size: 18px;
    max-width: 550px;
    margin-bottom: 40px;
    opacity: 0.9;
}

.luxury-btn-group {
    display: flex;
    gap: 20px;
}

.luxury-btn {
    padding: 18px 35px;
    border-radius: 4px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    display: inline-block;
    font-size: 14px;
}

.luxury-btn.primary {
    background: var(--luxury-gold);
    color: var(--luxury-black);
    border: 1px solid var(--luxury-gold);
}

.luxury-btn.primary:hover {
    background: transparent;
    color: var(--luxury-gold);
}

.luxury-btn.secondary {
    background: transparent;
    color: var(--luxury-white);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.luxury-btn.secondary:hover {
    border-color: var(--luxury-gold);
    color: var(--luxury-gold);
}

.hero-image-frame {
    position: relative;
    z-index: 1;
}

.luxury-hero-img {
    border-radius: 10px;
    position: relative;
    z-index: 2;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5);
}

.gold-accent-border {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 100%;
    height: 100%;
    border: 2px solid var(--luxury-gold);
    z-index: 1;
    border-radius: 10px;
}

/* HERO STATS BAR (Integrated) */
.hero-stats-bar {
    background: rgba(38, 11, 1, 0.75);
    backdrop-filter: blur(15px);
    border: 1px solid rgba(217, 89, 29, 0.3);
    box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.4), 0 20px 40px rgba(0, 0, 0, 0.3);
    border-radius: 20px;
    padding: 35px 20px;
    margin-top: 25px;
    position: relative;
    z-index: 15;
}

.hero-stat-item {
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    padding: 10px;
}

.hero-stat-item:hover {
    transform: translateY(-8px);
}

.stat-icon {
    color: var(--luxury-gold);
    font-size: 26px;
    margin-bottom: 18px;
    transition: all 0.4s ease;
    filter: drop-shadow(0 0 10px rgba(217, 89, 29, 0.3));
}

.hero-stat-item:hover .stat-icon {
    transform: scale(1.15);
    color: #fff;
    filter: drop-shadow(0 0 20px var(--luxury-gold));
}

.stat-number {
    display: block;
    color: #C14B1A;
    font-size: 22px;
    font-weight: 700;
    font-family: 'DM Serif Display', serif;
    margin-bottom: 6px;
    line-height: 1.2;
    letter-spacing: 0.5px;
}

.stat-label {
    display: block;
    color: rgba(193, 75, 26, 0.7);
    text-transform: uppercase;
    font-size: 10px;
    letter-spacing: 2px;
    font-weight: 600;
}

.border-left-gold {
    border-left: 1px solid rgba(217, 89, 29, 0.25);
}

@media (max-width: 991px) {
    .hero-stats-bar {
        background: rgba(13, 13, 13, 0.8);
        padding: 30px 10px;
        border-radius: 15px;
    }

    .border-left-gold {
        border-left: 1px solid rgba(217, 89, 29, 0.15);
        /* borders handled by grid rules below */
        /* padding handled by grid rules below */
        /* margin-top: 25px; removed for 2x2 grid */
    }

    .stat-number {
        font-size: 18px;
    }

    .hero-stats-bar .row {
        margin-left: -5px;
        margin-right: -5px;
    }

    .hero-stats-bar .row>div {
        padding-left: 5px;
        padding-right: 5px;
        margin-bottom: 20px;
    }

    .hero-stats-bar .row>div:nth-child(odd) {
        border-left: none !important;
    }

    .hero-stats-bar .row>div:nth-child(n+3) {
        border-top: 1px solid rgba(217, 89, 29, 0.15);
        padding-top: 20px;
    }

    /* End of mobile grid */
}

/* Advanced Entrance Animations */
[data-aos] {
    pointer-events: none;
}

.aos-animate {
    pointer-events: auto;
}

.vv-floating-tooth {
    position: absolute;
    opacity: 0.05;
    z-index: 0;
    pointer-events: none;
    animation: float_img 6s ease-in-out infinite;
}

a {
    outline: none;
    color: #dddddd;
    text-decoration: none;
}

/**************************************************
=-*=-*=-*=-*=-*=-*= Single Post =-*=-*=-*=-*=-*=-*=
**************************************************/
.single-post01 .post-image img,
.single-post01 .post-navigation,
.single-post01 .comment-list img,
.sidebar .widget,
.sidebar .widget-tweeter small,
.sidebar .widget-twitter small,
#loader-wrapper,
.post-image img,
.single-post01 .post-item-description .post-meta,
.sidebar .form-inline .input-group,
.sidebar .post-thumbnail-entry,
.fluid-width-video-wrapper iframe,
.fluid-width-video-wrapper object,
.fluid-width-video-wrapper embed,
#blog .post-item.border>.post-item-wrap>.post-item-description,
#blog img,
#blog audio,
#blog iframe {
    width: 100%;
}

.single-post01 .post-image img {
    height: auto;
}

.single-post01 .post-item-description {
    font-size: 16px;
    padding: 22px 0;
    line-height: 28px;
}

.single-post01 .post-item-description h2,
.single-post01 .post-item-description h2>a {
    font-size: 34px;
    margin-top: 8px;
    line-height: 38px;
    margin-bottom: 12px;
}

.single-post01 .post-item-description .post-meta {
    padding: 12px 0;
    margin-bottom: 26px;
}

.single-post01 .post-item-description .post-meta-date,
.single-post01 .post-item-description .post-meta-date a,
.single-post01 .post-item-description .post-meta-category,
.single-post01 .post-item-description .post-meta-category a,
.single-post01 .post-item-description .post-meta-comments,
.single-post01 .post-item-description .post-meta-comments a,
.single-post01 .post-meta-share a,
.single-post01 .post-navigation .post-next,
.single-post01 .post-navigation .post-prev,
.sidebar .post-thumbnail-list a,
.sidebar .tags a,
.load-more a,
#blog .post-item.border .post-image .post-meta-category a,
#blog .post-item .post-item-description>h2,
#blog .post-item .post-item-description>h2>a,
.breadcrumb ol li a,
.breadcrumb ul li a,
.sidebar .widget-categories ul li a,
.post-meta-category a {
    text-decoration: none;
    color: var(--e-global-color-soft-orange);
}

.load-more a {
    color: var(--e-global-color-accent);
}

a.item-link {
    margin-top: 20px;
    display: inline-block
}

.single-post01 .post-item-description .post-meta-date,
.single-post01 .post-item-description .post-meta-date a,
.single-post01 .post-item-description .post-meta-category,
.single-post01 .post-item-description .post-meta-category a,
.single-post01 .post-item-description .post-meta-comments,
.single-post01 .post-item-description .post-meta-comments a,
.single-post01 .post-tags a {
    font-size: 13px;
    margin-right: 16px;
}

.single-post01 .post-item-description .post-meta-category i,
.single-post01 .post-item-description .post-meta-comments i,
.single-post01 .post-item-description .post-meta-date i {
    margin-right: 4px;
}

.single-post01 .post-meta-share a {
    line-height: 16px;
}

.single-post01 .post-meta-share a i {
    font-size: 30px;
}

.single-post01 .post-item-description .blockquote {
    font-size: 16px;
    margin: 0 0 20px 72px;
    padding: 10px 20px;
    font-style: italic;
}

.single-post01 .post-item-description .blockquote .small,
.single-post01 .post-item-description .blockquote small {
    font-size: 80%;
}

.single-post01 .post-tags {
    margin-bottom: 40px;
}

.single-post01 .post-tags a {
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 4px;
    margin-bottom: 10px;
}

.luxury-brown-bg {
    background-color: var(--luxury-deep-brown);
    color: var(--luxury-off-white);
}

.gold-text-title {
    color: var(--luxury-gold);
    font-size: 48px;
    margin-bottom: 25px;
    font-family: 'DM Serif Display', serif;
    line-height: 1.1;
}

.luxury-positioning-text {
    font-size: 18px;
    line-height: 1.8;
    color: var(--luxury-off-white);
    opacity: 0.85;
}

.luxury-img-border {
    border: 1px solid var(--luxury-gold);
    padding: 15px;
    background: rgba(197, 160, 89, 0.05);
    border-radius: 4px;
}

.about-image-wrapper {
    position: relative;
    padding: 20px;
}

/* --- LEGACY SECTION --- */
.legacy-section {
    padding: 120px 0 !important;
    background-color: var(--luxury-off-white);
    position: relative;
    overflow: hidden;
}

.legacy-image-container {
    position: relative;
    padding-right: 40px;
    padding-bottom: 40px;
}

.legacy-frame-outer {
    background: #fff;

    border-radius: 60px 0 0 0;
    box-shadow: 0 40px 80px rgba(0, 0, 0, 0.1);
    position: relative;
    z-index: 1;
}

.legacy-frame-inner {
    border: 2px solid var(--luxury-gold);
    border-radius: 45px 0 0 0;
    padding: 0px;
    overflow: hidden;
}

.legacy-main-img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.8s ease;
}

.legacy-image-container:hover .legacy-main-img {
    transform: scale(1.05);
}

/* Excellence Badge */
.excellence-badge {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 180px;
    height: 180px;
    background-color: var(--luxury-gold);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    z-index: 2;
    box-shadow: 0 15px 35px rgba(197, 160, 89, 0.4);
    border: 8px solid var(--luxury-off-white);
}

.badge-content {
    color: var(--luxury-black);
}

.badge-number {
    display: block;
    font-size: 42px;
    font-weight: 700;
    font-family: 'DM Serif Display', serif;
    line-height: 1;
}

.badge-text {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.2;
    margin-top: 5px;
    text-transform: uppercase;
}

/* Content Column */
.legacy-content-wrapper {
    padding-left: 30px;
}

.legacy-subtitle {
    color: var(--luxury-gold);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 4px;
    margin-bottom: 20px;
    display: block;
}

.legacy-title {
    font-size: 56px;
    color: var(--luxury-black);
    line-height: 1.1;
    margin-bottom: 30px;
    font-family: 'DM Serif Display', serif;
}

.legacy-description {
    font-size: 18px;
    line-height: 1.8;
    color: var(--luxury-charcoal);
    margin-bottom: 35px;
    opacity: 0.8;
}

.legacy-features-list {
    list-style: none;
    padding: 0;
    margin: 0 0 45px 0;
}

.legacy-features-list li {
    font-size: 17px;
    color: var(--luxury-charcoal);
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    font-weight: 500;
}

.legacy-features-list li i {
    color: var(--luxury-gold);
    margin-right: 15px;
    font-size: 14px;
    border: 1px solid var(--luxury-gold);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.legacy-cta-btn {
    background: linear-gradient(to right, #f78a2c, #a8310d);
    color: #f5ebe1;
    padding: 18px 40px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    display: inline-block;
    transition: all 0.4s ease;
    border: none;
    text-decoration: none !important;
    border-radius: 6px;
    box-shadow: 0 4px 15px rgba(247, 138, 44, 0.2);
}

.legacy-cta-btn:hover {
    background: linear-gradient(to right, #a8310d, #f78a2c);
    color: #fff;
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(247, 138, 44, 0.3);
}

/* Legacy Section Mobile Perfection */
@media (max-width: 991px) {
    .legacy-section {
        padding: 80px 0 !important;
        text-align: center;
    }

    .legacy-image-container {
        padding-right: 0;
        padding-bottom: 60px;
        margin-bottom: -28px;
    }

    .legacy-frame-outer {
        border-radius: 40px 0 0 0;
        max-width: 90%;
        margin: 0 auto;
    }

    .legacy-frame-inner {
        border-radius: 30px 0 0 0;
    }

    .excellence-badge {
        width: 140px;
        height: 140px;
        border-width: 6px;
        right: 5%;
        bottom: 20px;
    }

    .badge-number {
        font-size: 32px;
    }

    .badge-text {
        font-size: 9px;
    }

    .legacy-content-wrapper {
        padding-left: 0;
    }

    .legacy-title {
        font-size: 36px;
        margin-bottom: 20px;
    }

    .legacy-description {
        font-size: 16px;
        margin-bottom: 30px;
    }

    .legacy-features-list {
        display: inline-block;
        text-align: left;
        margin-bottom: 40px;
    }

    .legacy-features-list li {
        font-size: 16px;
    }
}

@media (max-width: 575px) {
    .legacy-title {
        font-size: 30px;
    }

    .excellence-badge {
        width: 120px;
        height: 120px;
        right: 0;
    }

    .badge-number {
        font-size: 28px;
    }
}

/* --- PERFECT CONTACT SECTION --- */
.perfect-contact-section {
    position: relative;
    overflow: hidden;
    padding: 0 !important;
}

.no-gutters {
    margin-right: 0;
    margin-left: 0;
}

.no-gutters>[class*="col-"] {
    padding-right: 0;
    padding-left: 0;
}

.cream-side {
    background-color: #f9f5f0;
    /* Soft luxury cream */
    padding: 100px 8% !important;
}

.black-side {
    background-color: #0a0a0a;
    /* Deep luxury black */
    padding: 100px 5% !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-subtitle {
    color: #1a1a1a;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 4px;
    margin-bottom: 20px;
    display: block;
}

.contact-title {
    font-size: 52px;
    color: var(--luxury-gold);
    font-family: 'DM Serif Display', serif;
    margin-bottom: 25px;
    line-height: 1.1;
}

.contact-desc {
    color: #666;
    font-size: 17px;
    margin-bottom: 50px;
    max-width: 500px;
}

/* Form Styling */
.form-input,
.form-textarea {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding: 15px 0;
    font-size: 16px;
    color: #1a1a1a;
    transition: all 0.3s ease;
    border-radius: 0;
}

.form-input:focus,
.form-textarea:focus {
    outline: none;
    border-bottom-color: var(--luxury-gold);
}

.form-input::placeholder,
.form-textarea::placeholder {
    color: #999;
}

.perfect-submit-btn {
    background: linear-gradient(to right, #f78a2c, #a8310d);
    color: #f5ebe1;
    border: none;
    padding: 20px 60px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.4s ease;
    border-radius: 0 0 30px 0;
    margin-top: 20px;
    box-shadow: 0 4px 15px rgba(247, 138, 44, 0.2);
}

.perfect-submit-btn:hover {
    background: linear-gradient(to right, #a8310d, #f78a2c);
    color: #fff;
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(247, 138, 44, 0.3);
}

/* Contact Info Card */
.contact-info-card {
    background-color: #1f140e;
    /* Dark chocolate brown */
    padding: 60px 50px;
    width: 100%;
    max-width: 450px;
    position: relative;
    transition: transform 0.3s ease;
}

.contact-info-card:hover {
    transform: translateY(-10px);
}

.info-title {
    color: var(--luxury-gold);
    font-family: 'DM Serif Display', serif;
    font-size: 32px;
    margin-bottom: 40px;
}

.info-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 30px;
}

.info-item i {

    font-size: 20px;

    margin-top: 5px;
}

.info-text span {
    display: block;
    color: #e8e2d9;
    font-size: 16px;
    line-height: 1.6;
    opacity: 0.9;
}

@media (max-width: 991px) {

    .cream-side,
    .black-side {
        padding: 80px 30px !important;
    }

    .contact-title {
        font-size: 38px;
    }

    .perfect-submit-btn {
        width: 100%;
        border-radius: 0;
    }
}

}

.single-post01 .post-navigation,
.sidebar .tags a {
    display: inline-block;
}

.single-post01 .post-navigation {
    min-height: 64px;
    padding: 20px 0 0;
    vertical-align: top;
}

.single-post01 .post-navigation .post-next,
.single-post01 .post-navigation .post-prev,
.post-navigation .post-prev:before,
.post-navigation .post-all,
#loader:before,
#loader:after,
.fluid-width-video-wrapper iframe,
.fluid-width-video-wrapper object,
.fluid-width-video-wrapper embed,
#blog .post-item.border .post-meta-category,
.sidebar .widget-categories ul li:before,
.player,
.sidebar .widget-tweeter:not([data-avatar="true"]) li::before,
.sidebar .widget-twitter:not([data-avatar="true"]) li::before,
.post-navigation .post-next:after {
    position: absolute;
}

.luxury-charcoal-bg {
    background-color: var(--luxury-charcoal);
    color: var(--luxury-off-white);
}

.luxury-service-card {
    background: rgba(21, 21, 21, 0.6);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 40px 30px;
    border-radius: 12px;
    border: 1px solid rgba(197, 160, 89, 0.15);
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    height: 100%;
    position: relative;
    overflow: hidden;
}

.luxury-service-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--luxury-gold);
    transition: width 0.4s ease;
}

.luxury-service-card:hover {
    transform: translateY(-15px);
    border-color: var(--luxury-gold);
    background: rgba(31, 20, 14, 0.85);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.6);
}

.luxury-service-card:hover::after {
    width: 100%;
}

.luxury-service-card .service-icon {
    font-size: 40px;
    color: var(--luxury-gold);
    margin-bottom: 25px;
}

.luxury-service-card h3 {
    color: var(--luxury-white);
    font-size: 24px;
    margin-bottom: 15px;
    font-family: 'DM Serif Display', serif;
}

.luxury-service-card p {
    color: var(--luxury-off-white);
    font-size: 15px;
    line-height: 1.6;
    opacity: 0.8;
    margin-bottom: 25px;
}

.service-link {
    color: var(--luxury-gold);
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 2px;
    font-weight: 700;
    transition: gap 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.service-link:hover {
    color: var(--luxury-white);
    gap: 12px;
}

.post-navigation .post-prev:before,
.post-navigation .post-next:after {
    left: 0;
    top: 10px;
    font-size: 20px;
    padding-top: 2px;
    content: "\f104";
    font-family: 'FontAwesome';
    transition: all .3s ease;
    transform: translate3d(0, -50%, 0);
}

.post-navigation .post-next:after {
    right: 0;
    left: inherit;
    content: "\f105";
    font-family: 'FontAwesome';
}

.post-navigation .post-prev-title {
    padding-left: 25px;
}

.post-navigation .post-next span,
.post-navigation .post-prev span {
    opacity: 0.7;
    font-size: 11px;
    margin-top: 3px;
    margin-bottom: -6px;
    text-transform: uppercase;
}

.post-navigation .post-all {
    top: 32px;
    right: 50%;
    left: auto;
    width: 12px;
    opacity: .7;
    font-size: 24px;
    text-align: center;
}

.single-post01 .post-navigation .post-next {
    right: 0;
    text-align: right;
}

.post-navigation .post-next-title {
    padding-right: 25px;
}

.footer-section {
    background-color: #ffffff !important;
    color: #1a1a1a !important;
    border-top: 1px solid rgba(197, 160, 89, 0.2);
}

.footer-section .luxury-desc,
.footer-section .luxury-link {
    color: #444444 !important;
}

.footer-section .luxury-link:hover {
    color: var(--luxury-gold) !important;
}

.footer-section h4.gold-text {
    color: var(--luxury-brown) !important;
    /* Darker heading for white bg */
    border-bottom: 2px solid var(--luxury-gold);
    display: inline-block;
    padding-bottom: 5px;
}

.footer-section .gold-text {
    color: var(--luxury-gold) !important;
}

.footer-section .bottom-portion {
    border-top: 1px solid rgba(0, 0, 0, 0.05) !important;
}

.footer-section .bottom-portion p {
    color: white;
}

.luxury-black-bg {
    background-color: var(--luxury-black);
    color: var(--luxury-off-white);
}

.luxury-input {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(197, 160, 89, 0.2) !important;
    color: var(--luxury-off-white) !important;
    padding: 15px 20px !important;
    border-radius: 4px !important;
    transition: all 0.3s ease !important;
}

.luxury-input:focus {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: var(--luxury-gold) !important;
    box-shadow: none !important;
}

.luxury-input::placeholder {
    color: rgba(232, 226, 217, 0.4);
}

.contact-item i {
    width: 30px;
}

.contact-item span {
    font-size: 16px;
    opacity: 0.9;
}

.single-post01 .comments .comment_number {
    font-size: 18px;
    margin: 0 0 30px;
    font-weight: 500;
    color: var(--e-global-color-primary);
}

.luxury-link {
    color: var(--luxury-off-white);
    opacity: 0.7;
    transition: all 0.3s ease;
}

.luxury-link:hover {
    color: var(--luxury-gold);
    opacity: 1;
    text-decoration: none;
}

.gold-text {
    color: var(--luxury-gold) !important;
}

.gold-text:hover {
    color: var(--luxury-gold-soft) !important;
}

.single-post01 .comments .comment .image {
    width: 64px;
    height: 64px;
}

.single-post01 .comment-list img {
    height: auto;
    border-radius: 100%;
}

.single-post01 .comments .comment .text {
    min-height: 80px;
    padding: 0 0 0 86px;
}

.luxury-logo-container {
    position: relative;
    overflow: hidden;
    /* Clips the shine effect */
    display: inline-block;
    padding: 10px;
    border-radius: 8px;
}

/* ENHANCED GLOSSY LOGO SHINE */
.luxury-logo-container::after {
    content: "";
    position: absolute;
    top: -50%;
    left: -150%;
    width: 250%;
    /* Wider beam */
    height: 200%;
    background: linear-gradient(to right,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0.8) 50%,
            /* Much more visible */
            rgba(255, 255, 255, 0) 100%);
    transform: rotate(25deg);
    animation: logo-shine 4s infinite;
    /* Faster frequency */
    pointer-events: none;
}

@keyframes logo-shine {
    0% {
        left: -150%;
    }

    20% {
        left: 150%;
    }

    /* Faster sweep */
    100% {
        left: 150%;
    }
}

/* ENHANCED GLASSMORPHISM HEADER */
.perfect-header-outer {
    background: rgba(10, 10, 10, 0.85);
    /* Darker for more contrast */
    backdrop-filter: blur(25px) saturate(180%);
    /* Stronger blur and saturation */
    -webkit-backdrop-filter: blur(25px) saturate(180%);
    padding: 20px 0;
    border-bottom: 1px solid rgba(197, 160, 89, 0.3);
    /* More visible gold edge */
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
}

.header-scrolled {
    background: rgba(5, 5, 5, 0.95) !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--luxury-gold);
    /* Full gold line on scroll */
}

.luxury-logo {
    max-height: 90px;
    filter: invert(35%) sepia(80%) saturate(900%) hue-rotate(355deg) brightness(85%) contrast(120%) drop-shadow(0 0 12px rgba(193, 75, 26, 0.6));
    transition: all 0.3s ease;
}

.header-scrolled .luxury-logo {
    max-height: 60px;
}

.nav-link {
    color: var(--luxury-off-white) !important;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 13px;
    margin: 0 15px;
    transition: color 0.3s ease;
}

.nav-link:hover,
.nav-item.active .nav-link {
    color: var(--luxury-gold) !important;
}

.book-appointment-btn {
    background: #C14B1A;
    color: #ffffff !important;
    padding: 12px 25px;
    border-radius: 4px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

.book-appointment-btn:hover {
    background: #9e3a12;
    color: #ffffff !important;
    text-decoration: none;
}

.single-post01 .text_holder {
    line-height: 24px;
}

.single-post01 .comment .comment {
    margin-left: 90px;
}

.respond-form {
    padding-top: 40px;
}

.respond-comment {
    font-size: 18px;
    margin: 0 0 30px;
    color: var(--e-global-color-primary);
}

.single-post01 .form-group label:not(.error) {
    font-size: 12px;
    margin-bottom: 4px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.single-post01 .form-gray-fields .form-control {
    background: transparent;
    color: var(--e-global-color-text);
    border-radius: 0;
    border: none;
    box-shadow: 1px 1px 50px rgb(0 0 0 / 15%);
    outline: none;
}

.single-post01 .form-gray-fields .form-control:focus {
    box-shadow: none;
    outline: none;
    border: none;
}

.single-post01 .form-control {
    box-shadow: none;
    line-height: 18px;
    padding: 10px 16px;
    border-radius: 5px;
    font-size: 12px;
    transition: all .3s ease;
}

.form-gray-fields .btn {
    font-size: 12px;
    padding: 13px 22px 10px;
    text-transform: uppercase;
}

.sidebar {
    font-size: 12px;
}

.sidebar .widget {
    margin-bottom: 30px;
    padding-bottom: 30px;
}

.widget-newsletter .form-control {
    font-size: 14px;
    box-shadow: none;
    line-height: 18px;
    padding: 10px 16px;
    border-radius: 5px;
    height: auto;
}

.widget-newsletter .btn {
    font-weight: 600;
    height: 40px;
    padding: 8px 16px;
}

.widget-newsletter .btn {
    border-radius: 0 5px 5px 0;
}

.sidebar .nav-tabs {
    margin-bottom: 30px;
}

.sidebar .nav-tabs .nav-item {
    margin-bottom: -2px;
}

.tabs .nav-tabs .nav-link {
    border: 0;
    padding: 14px 24px;
    transition: .3s ease;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.sidebar .widget .tabs li>a {
    padding: 10px;
    font-size: 14px;
}

.sidebar .post-thumbnail-entry>img {
    height: 60px;
    width: 80px;
    margin-right: 16px;
    border-radius: 2px;
}

.sidebar .post-thumbnail-entry {
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.sidebar .post-thumbnail-entry:last-child,
.sidebar .widget-categories ul li:last-child {
    margin: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.sidebar .post-thumbnail-entry>img {
    height: 48px;
    width: 64px;
    margin-right: 10px;
}

.sidebar .post-thumbnail-entry img+.post-thumbnail-content {
    padding-left: 72px;
}

.sidebar .post-thumbnail-list a {
    margin: -4px 0 0;
}

.sidebar .post-thumbnail-entry .post-category i,
.sidebar .post-thumbnail-entry .post-date i {
    margin-right: 2px;
}

.sidebar .post-thumbnail-entry .post-category,
.sidebar .post-thumbnail-entry .post-date {
    font-size: 10px;
}

.sidebar .widget-title,
.sidebar>h4 {
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 20px;
    text-transform: uppercase;
    font-weight: 500;
}

/* --- PREMIUM CINEMATIC INTRO --- */
#vv-intro-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at center, var(--luxury-deep-brown) 0%, var(--luxury-charcoal) 75%, #150500 100%);
    z-index: 999999;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    transition: transform 1.2s cubic-bezier(0.77, 0, 0.175, 1);
}

/* Subtle ambient warm glow behind the logo */
#vv-intro-overlay::before {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(232, 126, 35, 0.15) 0%, rgba(232, 126, 35, 0.04) 50%, transparent 70%);
    animation: intro-ambient-pulse 3s ease-in-out infinite alternate;
    pointer-events: none;
}

@keyframes intro-ambient-pulse {
    0% {
        transform: scale(0.9);
        opacity: 0.6;
    }

    100% {
        transform: scale(1.15);
        opacity: 1;
    }
}

#vv-intro-logo-wrapper {
    position: relative;
    width: 280px;
    height: auto;
    transform: scale(1.3);
    opacity: 0;
    filter: blur(15px) brightness(0.6);
    transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1);
}

#vv-intro-logo-wrapper img {
    /* Milder warm orange logo — precise filter chain for warm gold-orange */
    filter: invert(50%) sepia(80%) saturate(1100%) hue-rotate(8deg) brightness(98%) contrast(105%) drop-shadow(0 0 25px rgba(219, 94, 30, 0.4)) drop-shadow(0 0 50px rgba(219, 94, 30, 0.15));
    transition: all 1.5s ease;
}

/* Phase 1: Reveal */
.intro-revealed #vv-intro-logo-wrapper {
    transform: scale(1);
    opacity: 1;
    filter: blur(0px) brightness(1.2);
}

/* Phase 2: Slow Zoom Forward */
.intro-zoom-forward #vv-intro-logo-wrapper {
    transform: scale(1.4);
    filter: brightness(1.2) drop-shadow(0 0 35px rgba(219, 94, 30, 0.5)) drop-shadow(0 0 60px rgba(219, 94, 30, 0.15));
    transition: all 1.5s cubic-bezier(0.45, 0, 0.55, 1);
}

/* Phase 3: Fly Up and Out */
.intro-transitioning #vv-intro-logo-wrapper {
    transform: translateY(-250px) scale(0.7);
    opacity: 0;
    filter: blur(10px) brightness(1.3) drop-shadow(0 0 35px rgba(219, 94, 30, 0.6));
    transition: all 1.2s cubic-bezier(0.4, 0, 0.2, 1);
}

#vv-intro-overlay.intro-transitioning {
    transform: translateY(-100%);
}

#main-content-wrapper {
    opacity: 0;
    transform: translateY(40px);
    transition: all 1.5s cubic-bezier(0.23, 1, 0.32, 1) 0.6s;
}

.intro-finished #main-content-wrapper {
    opacity: 1;
    transform: translateY(0);
}

body.is-intro-active {
    overflow: hidden !important;
    height: 100vh !important;
}

/* Refine Header Logo during intro */
.perfect-header-outer {
    opacity: 0;
    transition: opacity 1s ease 3.2s;
}

.intro-finished .perfect-header-outer {
    opacity: 1;
}

.intro-finished #vv-intro-overlay {
    display: none;
}

.sidebar .widget-tweeter ul,
.sidebar .widget-twitter ul,
.sidebar .widget-categories ul {
    list-style: none;
}

.sidebar .widget-tweeter ul,
.sidebar .widget-twitter ul {
    margin-bottom: 0;
    padding-left: 22px;
}

.sidebar .widget-tweeter li,
.sidebar .widget-twitter li {
    font-size: 12px;
    margin-bottom: 18px;
    color: var(--e-global-color-primary);
}

.sidebar .widget-tweeter:not([data-avatar="true"]) li::before,
.sidebar .widget-twitter:not([data-avatar="true"]) li::before {
    content: "\f099";
    margin-left: -22px;
    font-family: 'Font Awesome 5 Brands';
}

.sidebar .tags a {
    padding: 5px 14px;
    border-radius: 50px;
    margin: 0 2px 5px 0;
}

.sidebar .widget-categories ul {
    padding: 0;
}

.sidebar .widget-categories ul li {
    margin-bottom: 10px;
    padding: 0 0 10px 28px;
}

.sidebar .widget-categories ul li:before {
    position: absolute;
    content: "";
    left: 0;
    top: 12px;
    font-size: 20px;
    padding-top: 2px;
    background: url("../images/icon-folder.png");
    width: 16px;
    height: 14px;
    transition: all .3s ease;
    transform: translate3d(0, -50%, 0);
}

.sidebar .cat-count-span {
    float: right;
}

/************ PRELOADER CSS ************/
/* ====  Preloader styles ==== */
#loader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    z-index: 9999999999999;
}

#loader {
    left: 50%;
    top: 50%;
    width: 150px;
    height: 150px;
    margin: -75px 0 0 -75px;
    border-radius: 50%;
    border: 3px solid transparent;
    z-index: 1001;
    animation: spin 2s linear infinite;
}

#loader:before {
    content: "";
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border-radius: 50%;
    border: 3px solid transparent;
    animation: spin 3s linear infinite;
}

#loader:after {
    content: "";
    top: 15px;
    right: 15px;
    left: 15px;
    bottom: 15px;
    border-radius: 50%;
    border: 3px solid transparent;
    animation: spin 1.5s linear infinite;
}

#loader-wrapper .loader-section {
    position: fixed;
    top: 0;
    width: 51%;
    height: 100%;
    z-index: 1000;
    transform: translateX(0);
}

#loader-wrapper .loader-section.section-left {
    left: 0;
}

#loader-wrapper .loader-section.section-right {
    right: 0;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.loaded #loader-wrapper .loader-section.section-left {
    transform: translateX(-100%);
    transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.loaded #loader-wrapper .loader-section.section-right {
    transform: translateX(100%);
    transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.loaded #loader {
    opacity: 0;
    transition: all 0.3s ease-out;
}

.loaded #loader-wrapper {
    visibility: hidden;
    transform: translateY(-100%);
    transition: all 0.3s 1s ease-out;
}

/*************************************************
=-*=-*=-*=-*=-*=-*= One Column =-*=-*=-*=-*=-*=-*=
**************************************************/
.breadcrumb,
#loader,
.sidebar .widget-tweeter small,
.sidebar .widget-twitter small,
.post-navigation .post-next span,
.post-navigation .post-prev span,
.sidebar .post-thumbnail-entry .post-category {
    display: block;
}

.breadcrumb {
    font-size: 10px;
    margin-bottom: 10px;
    letter-spacing: .5px;
    background-color: transparent;
    padding: 10px 0;
}

.breadcrumb ol,
.breadcrumb ul {
    margin: 0;
    padding: 0;
}

.breadcrumb ol li,
.breadcrumb ul li {
    opacity: .8;
    display: inline;
}

.breadcrumb ol li+li::before,
.breadcrumb ul li+li::before {
    margin: 0 5px;
    content: ">";
    background-color: transparent;
}

.breadcrumb ol li.active,
.breadcrumb ol li:hover,
.breadcrumb ol li:last-child,
.breadcrumb ul li.active,
.breadcrumb ul li:hover,
.breadcrumb ul li:last-child {
    opacity: 1;
}

#blog .post-item.border>.post-item-wrap>.post-item-description {
    padding: 24px;
    line-height: 28px;
}

#blog .post-item.border .post-meta-category {
    top: 11px;
    right: 10px;
    font-size: 13px;
    padding: 7px 16px 7px;
    border-radius: 50px;
}

#blog .post-item .post-meta-category,
#blog .post-item .post-meta-comments,
#blog .post-item .post-meta-date {
    top: -4px;
    font-size: 12px;
    margin-right: 8px;
}

#blog .post-item .post-item-description>h2,
#blog .post-item .post-item-description>h2>a {
    font-size: 22px;
    font-weight: 600;
    line-height: 30px;
    margin-bottom: 16px;
    letter-spacing: 0px;
    font-family: 'Playfair Display', serif;
}

.blog-posts p {
    font-size: 16px;
    line-height: 24px;
    color: var(--e-global-color-text);
}

.fluid-width-video-wrapper iframe,
.fluid-width-video-wrapper object,
.fluid-width-video-wrapper embed {
    top: 0;
    left: 0;
    height: 100%;
}

.fluid-width-video-wrapper {
    padding-top: 56.3%;
}

.player {
    top: 0;
}

.post-audio audio {
    bottom: 0;
    left: 0;
}

.pagination {
    padding-left: 15px;
}

.fluid-width-video-wrapper {
    padding-top: 66.8%;
}

.hide-blog {
    display: none;
}

.load-more a {
    padding: 12px 25px;
    border-radius: 30px;
}

.load-more a:hover {
    background: none;
}

/*************************************************************
=-*=-*=-*=-*=-*=-*= Responsive Single Post =-*=-*=-*=-*=-*=-*=
*************************************************************/
@media screen and (max-width: 1199px) {
    .widget-newsletter .form-control {
        font-size: 12px;
        padding: 10px 10px;
    }

    .sidebar .widget .tabs li>a {
        font-size: 13px;
        padding: 10px 8px;
    }

    .sidebar .widget {
        margin-bottom: 20px;
        padding-bottom: 20px;
    }

    .single-post01 .post-item-description,
    .single-post01 .post-item-description .blockquote {
        font-size: 14px;
        line-height: 26px;
    }

    .single-post01 .post-navigation .post-next,
    .single-post01 .post-navigation .post-prev {
        font-size: 14px;
    }

    .single-post01 .post-item-description h2,
    .single-post01 .post-item-description h2>a {
        margin-top: 0;
        font-size: 28px;
        line-height: 32px;
    }
}

@media screen and (max-width: 991px) {
    .respond-form {
        padding-top: 0;
    }

    .single-post01 .post-item-description .post-meta-date,
    .single-post01 .post-item-description .post-meta-date a,
    .single-post01 .post-item-description .post-meta-category,
    .single-post01 .post-item-description .post-meta-category a,
    .single-post01 .post-item-description .post-meta-comments,
    .single-post01 .post-item-description .post-meta-comments a {
        margin-right: 5px;
    }

    .single-post01 .comments .comment .text {
        padding: 0;
    }

    .single-post01 .comments .comment .image {
        width: 48px;
        height: 48px;
        margin-right: 14px;
    }

    .single-post01 .text_holder {
        font-size: 12px;
        margin: 10px 0 0;
    }

    .single-post01 .comment .comment {
        margin-left: 30px;
    }

    .single-post01 .comments {
        padding: 30px 0 0;
    }

    .sidebar {
        margin: 20px 0 0;
    }

    .page-title h1 {
        font-size: 2rem;
    }
}

@media screen and (max-width: 767px) {

    .single-post01 .post-item-description h2,
    .single-post01 .post-item-description h2>a {
        font-size: 24px;
        line-height: 26px;
    }

    #blog .post-item.border>.post-item-wrap>.post-item-description {
        line-height: 20px;
        font-size: 12px;
    }

    .blog-posts p {
        font-size: 16px;
        line-height: 22px;
    }

    .single-post01 .post-item-description .blockquote {
        margin-left: 25px;
    }
}

@media screen and (max-width: 575px) {
    .single-post01 .text_holder p {
        margin: 0 0 8px;
    }

    .single-post01 .comments .comment .comment_date {
        font-size: 11px;
    }

    .single-post01 .post-item-description,
    .single-post01 .post-item-description .blockquote {
        font-size: 13px;
        line-height: 24px;
    }

    .single-post01 .post-item-description h2,
    .single-post01 .post-item-description h2>a {
        margin: 0;
    }

    .single-post01 .post-meta-share ul {
        margin: 5px 0 0;
    }

    .single-post01 .post-item-description .post-meta-date,
    .single-post01 .post-item-description .post-meta-date a,
    .single-post01 .post-item-description .post-meta-category,
    .single-post01 .post-item-description .post-meta-category a,
    .single-post01 .post-item-description .post-meta-comments,
    .single-post01 .post-item-description .post-meta-comments a {
        font-size: 12px;
    }

    .single-post01 .respond-comment {
        font-size: 16px;
    }

    .page-title h1 {
        font-size: 1.8rem;
        padding: 1rem;
        padding-bottom: 0;
    }

    #blog .post-item .post-item-description>h2,
    #blog .post-item .post-item-description>h2>a {
        font-size: 20px;
        line-height: 24px;
    }

    .single-post01 .comments .comment .text .name {
        font-size: 18px;
    }
}

/* ==========================================================================
   Improved Testimonial Section Styles
   ========================================================================== */

.testimonial_section {
    background: radial-gradient(circle at 50% 50%, #f9fcff 0%, #f4f7ff 100%) !important;
    overflow: hidden;
    padding: 120px 0 110px !important;
}

.testimonial_content {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(185, 165, 137, 0.05);
    padding: 50px 40px !important;
    border-radius: 30px !important;
    box-shadow: 0 20px 50px rgba(185, 165, 137, 0.06) !important;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative;
    z-index: 1;
    margin: 20px 15px !important;
}

.testimonial_content:hover {
    transform: translateY(-15px) scale(1.02) !important;
    box-shadow: 0 30px 70px rgba(185, 165, 137, 0.12) !important;
    background: #ffffff;
}

.testimonial_content i.fa-quote-left {
    font-size: 60px !important;
    color: var(--e-global-color-secondary) !important;
    opacity: 0.15 !important;
    margin-bottom: 25px !important;
    display: block;
    transition: all 0.5s ease;
}

.testimonial_content:hover i.fa-quote-left {
    opacity: 0.3 !important;
    transform: scale(1.1) rotate(-5deg);
}

.testimonial_content .testimonial_paragraph {
    font-size: 18px !important;
    line-height: 1.8 !important;
    font-weight: 400;
    color: #555555 !important;
    font-style: italic;
    margin-bottom: 35px !important;
    position: relative;
}

.testimonial_content figure {
    margin-bottom: 20px !important;
    position: relative;
}

.testimonial_content figure::after {
    content: '';
    position: absolute;
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 70px;
    height: 70px;
    border-radius: 50%;
    border: 2px solid var(--e-global-color-soft-orange);
    opacity: 0.5;
    transition: all 0.5s ease;
}

.testimonial_content:hover figure::after {
    width: 80px;
    height: 80px;
    top: -10px;
    opacity: 1;
}

.testimonial_content figure img {
    width: 60px !important;
    height: 60px !important;
    border: 4px solid #fff !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    z-index: 2;
    position: relative;
}

.testimonial_content .testimonial_person_name {
    font-family: 'DM Serif Display', serif;
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--e-global-color-primary) !important;
    margin-bottom: 8px !important;
    letter-spacing: 0.5px;
}

.testimonial_content span {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--e-global-color-secondary) !important;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Navigation Arrows Improvement */
.testimonial-slider .owl-nav {
    display: flex !important;
    justify-content: space-between !important;
    position: absolute !important;
    top: 50% !important;
    width: 100% !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
    z-index: 10;
}

.testimonial-slider .owl-nav button.owl-prev,
.testimonial-slider .owl-nav button.owl-next {
    width: 60px !important;
    height: 60px !important;
    background: #ffffff !important;
    border-radius: 50% !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    border: 1px solid rgba(197, 160, 89, 0.3) !important;
    color: var(--luxury-gold) !important;
    pointer-events: auto !important;
    transition: all 0.3s ease !important;
}

.testimonial-slider .owl-nav button.owl-prev {
    margin-left: -70px !important;
}

.testimonial-slider .owl-nav button.owl-next {
    margin-right: -70px !important;
}

@media (max-width: 1100px) {
    .testimonial-slider .owl-nav button.owl-prev {
        margin-left: -20px !important;
    }

    .testimonial-slider .owl-nav button.owl-next {
        margin-right: -20px !important;
    }
}

@media (max-width: 767px) {
    .testimonial-slider .owl-nav {
        display: none !important;
    }
}

.testimonial-slider .owl-nav button.owl-prev:hover,
.testimonial-slider .owl-nav button.owl-next:hover {
    background: var(--luxury-gold) !important;
    color: #ffffff !important;
    transform: scale(1.1) !important;
    box-shadow: 0 15px 30px rgba(197, 160, 89, 0.4) !important;
}

/* Shape Animations */
.testimonial_section .testimonial_left_shape,
.testimonial_section .testimonial_right_shape {
    opacity: 0.8 !important;
    animation: floating_shapes 8s ease-in-out infinite;
    z-index: 0;
}

.testimonial_section .testimonial_right_shape {
    animation-delay: -4s;
}

@keyframes floating_shapes {
    0% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(-30px) rotate(8deg);
    }

    100% {
        transform: translateY(0px) rotate(0deg);
    }
}

/* Card Shine Effect */
.testimonial_content::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0.4) 50%,
            rgba(255, 255, 255, 0) 100%);
    transform: skewX(-25deg);
    transition: 0.7s;
    z-index: 1;
}

.testimonial_content:hover::before {
    left: 150%;
}

/* Individual Floating Subscription Card */
.subscribe_section {
    background: #ffffff !important;
    padding: 120px 0 60px !important;
    /* Added more space around the card */
}

.subscribe_background_image {
    background: #ffffff !important;
    border-radius: 40px !important;
    /* More rounded for individual look */
    overflow: hidden !important;
    position: relative;
    padding: 100px 70px !important;
    /* More breathing room */
    box-shadow: 0 30px 70px rgba(185, 165, 137, 0.1) !important;
    /* Deeper elevation shadow */
    border: 1px solid rgba(185, 165, 137, 0.03);
    margin-bottom: 50px;
    /* Distinct gap from footer */
}

/* Subtle Dot Pattern */
.subscribe_background_image::before {
    content: "";
    position: absolute;
    top: 30px;
    right: 30px;
    width: 100px;
    height: 100px;
    background-image: radial-gradient(#8a765a 2px, transparent 2px);
    background-size: 15px 15px;
    opacity: 0.1;
    z-index: 0;
}

.subscribe_background_image::after {
    display: none;
    /* Remove old watermark */
}

.subscribe_content h5 {
    color: var(--e-global-color-secondary) !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 14px !important;
    margin-bottom: 20px !important;
    font-weight: 700 !important;
}

.subscribe_content h2 {
    color: var(--e-global-color-primary) !important;
    font-family: 'DM Serif Display', serif !important;
    font-size: 44px !important;
    line-height: 1.2 !important;
    margin-bottom: 40px !important;
    max-width: 550px;
}

.subscribe_content h2 span {
    color: var(--e-global-color-secondary);
}

.subscribe_form_wrapper {
    max-width: 600px;
    position: relative;
    z-index: 10;
}

.subscribe_section .form-control {
    height: 60px !important;
    border-radius: 10px !important;
    border: 1px solid #e1e1e1 !important;
    background: #fdfdfd !important;
    padding: 0 25px 0 55px !important;
    /* Extra padding for icon */
    font-size: 16px !important;
    width: 100% !important;
    margin-bottom: 0 !important;
    /* Removed bottom margin for side-by-side */
    box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.02) !important;
}

/* Mail Icon positioning */
.input_field_container::before {
    content: "\f0e0";
    font-family: "Font Awesome 6 Free";
    font-weight: 400;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    color: #999;
    font-size: 18px;
    z-index: 5;
}

#submitbutton {
    background: #8a765a !important;
    color: #ffffff !important;
    border: none !important;
    padding: 0 45px !important;
    height: 60px !important;
    /* Match input height */
    border-radius: 10px !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 8px 20px rgba(185, 165, 137, 0.2) !important;
    cursor: pointer;
    white-space: nowrap;
}

#submitbutton:hover {
    background: #004d61 !important;
    transform: translateY(-3px);
    box-shadow: 0 12px 25px rgba(185, 165, 137, 0.3) !important;
}

.dental_animation_tooth {
    font-size: 180px !important;
    color: #ffffff !important;
    filter: drop-shadow(0 15px 35px rgba(185, 165, 137, 0.15));
    position: relative;
    z-index: 2;
}

/* Orbital Ring */
.dental_animation_tooth::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotateX(75deg);
    width: 250px;
    height: 250px;
    border: 3px solid rgba(185, 165, 137, 0.2);
    border-radius: 50%;
    z-index: -1;
}

/* Enhanced Sparkles */
.dental_sparkle {
    position: absolute;
    background: #fff;
    width: 15px;
    height: 15px;
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
    box-shadow: 0 0 10px #fff;
}

.subscribe_content {
    position: relative;
    z-index: 1;
}

.subscribe_content h5,
.subscribe_content h2 {
    color: #ffffff !important;
}

/* Dental-Related Button Animation */
.getstarted_btn,
#started,
.enroll_now_btn,
#submitbutton {
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

.getstarted_btn:hover,
.enroll_now_btn:hover,
#submitbutton:hover {
    transform: translateY(-5px) scale(1.05) !important;
    box-shadow: 0 15px 30px rgba(185, 165, 137, 0.3) !important;
}

/* The 'Shining Tooth' effect on buttons */
.getstarted_btn::before,
.enroll_now_btn::before,
#submitbutton::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -100%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 70%);
    opacity: 0;
    transition: 0s;
    pointer-events: none;
}

.getstarted_btn:hover::before,
.enroll_now_btn:hover::before,
#submitbutton:hover::before {
    animation: tooth-shine 1s forwards;
}

@keyframes tooth-shine {
    0% {
        left: -100%;
        opacity: 0;
    }

    50% {
        opacity: 0.5;
    }

    100% {
        left: 100%;
        opacity: 0;
    }
}

/* Pulsing highlight like a healthy tooth */
@keyframes dental-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(140, 125, 108, 0.4);
    }

    70% {
        box-shadow: 0 0 0 15px rgba(140, 125, 108, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(140, 125, 108, 0);
    }
}

.getstarted_btn {
    animation: dental-pulse 2s infinite;
}

/* Dental Animation Wrapper */
.dental_animation_wrapper {
    position: relative;
    height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    perspective: 1000px;
}

.dental_animation_tooth {
    position: relative;
    font-size: 180px;
    color: #ffffff;
    z-index: 2;
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.2));
    animation: tooth-float 4s ease-in-out infinite;
}

.dental_animation_tooth i {
    background: linear-gradient(135deg, #ffffff 0%, #f2e8da 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: block;
}

.dental_halo {
    position: absolute;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 70%);
    border-radius: 50%;
    z-index: 1;
    animation: halo-pulse 4s ease-in-out infinite;
}

.dental_sparkle {
    position: absolute;
    width: 10px;
    height: 10px;
    background: #ffffff;
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
    z-index: 3;
    opacity: 0;
}

.dental_sparkle.s1 {
    top: 20%;
    left: 80%;
    animation: sparkle-anim 3s infinite 0.5s;
}

.dental_sparkle.s2 {
    top: 70%;
    left: 10%;
    animation: sparkle-anim 4s infinite 1.2s;
}

.dental_sparkle.s3 {
    top: 40%;
    left: 30%;
    animation: sparkle-anim 3.5s infinite 2s;
}

@keyframes tooth-float {

    0%,
    100% {
        transform: translateY(0) rotate(5deg);
    }

    50% {
        transform: translateY(-30px) rotate(-5deg);
    }
}

@keyframes halo-pulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 0.3;
    }

    50% {
        transform: scale(1.3);
        opacity: 0.6;
    }
}

@keyframes sparkle-anim {

    0%,
    100% {
        transform: scale(0);
        opacity: 0;
    }

    50% {
        transform: scale(1.5);
        opacity: 1;
    }
}

/* White Banner Slider Redesign */
.banner-section-outer {
    background: #ffffff !important;
}

.banner-section {
    background: radial-gradient(circle at 50% 50%, #f9fcff 0%, #ffffff 100%) !important;
    padding: 0 !important;

    display: flex;
    align-items: center;
    overflow: hidden;
}

/* THE PERFECT HEADER (Unified High-Fidelity) */

.perfect-header-outer {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10000;
    /* Higher z-index to stay above preloader/hero */
    padding: 15px 30px !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background-color: transparent;
    /* Allows page background or floating container to show */
}

.perfect-header-outer.header-scrolled {
    padding: 8px 30px !important;
    background: rgba(40, 15, 5, 0.97) !important;
    backdrop-filter: blur(15px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

.perfect-header-outer.header-scrolled .perfect-header-container {
    box-shadow: none !important;
    background: #3b1a0a !important;
    border: 1px solid rgba(255, 140, 0, 0.15) !important;
}

.perfect-header-container {
    background: black !important;
    /* Rich dark brown */
    border-radius: 20px !important;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.35) !important;
    border: 1px solid rgba(255, 140, 0, 0.15);
    padding: 0 40px !important;
    position: relative;
}

/* Navbar Part Styling */
.perfect-header-container .navbar {
    padding: 0 !important;
    height: 80px;
    /* Consistent height */
}

.logo-icon-wrapper {
    position: relative;
    margin-right: 18px;
}

.logo-icon-wrapper i:first-child {
    font-size: 45px;
    color: var(--e-global-color-secondary);
    filter: drop-shadow(0 4px 6px rgba(185, 165, 137, 0.1));
}

.sparkle-icon {
    position: absolute;
    top: -5px;
    right: -10px;
    font-size: 20px !important;
    color: #ffd700 !important;
    animation: sparkle_blink 1.5s infinite;
}

.logo-text-wrapper {
    display: flex;
    flex-direction: column;
}

.brand-text {
    font-family: 'DM Serif Display', serif;
    font-size: 30px !important;
    line-height: 0.95;
    color: var(--e-global-color-primary) !important;
    font-weight: 700;
    letter-spacing: -0.5px;
}

.brand-tagline {
    font-size: 12px;
    color: #777;
    margin-top: 5px;
    font-weight: 500;
    letter-spacing: 0.5px;
}



.navbar-brand img {
    padding: 10px 0 !important;
    transition: all 0.3s ease;
}

/* Navigation Links Visibility Fix */
.navbar-nav .nav-item {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.perfect-header-container .navbar-nav .nav-item .nav-link {
    font-family: 'Karla', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #eb6917 !important;
    /* Deep warm orange matching reference */
    padding: 10px 0 !important;
    margin: 0 15px !important;
    position: relative;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap !important;
    transition: all 0.3s ease !important;
}

.perfect-header-container .navbar-nav .nav-item.active .nav-link,
.perfect-header-container .navbar-nav .nav-item:hover .nav-link {
    color: #d4601a !important;
    /* Deep warm orange matching reference */
}

.navbar-nav .nav-item.active .nav-link,
.navbar-nav .nav-item:hover .nav-link {
    color: #d4601a !important;
}


/* Book Appointment Button */
.header-cta-wrapper {
    margin-left: 20px;
}

.book-appointment-btn {
    background-color: #C14B1A !important;
    /* Burnt orange from reference */
    color: #ffffff !important;
    padding: 14px 35px !important;
    border-radius: 40px 0 40px 0 !important;
    font-family: 'Karla', sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    box-shadow: 0 8px 20px rgba(193, 75, 26, 0.45) !important;
    text-decoration: none !important;
}

.book-appointment-btn i {
    color: #ffffff !important;
    margin-right: 10px;
}

.book-appointment-btn:hover {
    background-color: #9e3a12 !important;
    /* Darker burnt orange on hover */
    color: #ffffff !important;
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 12px 30px rgba(193, 75, 26, 0.35) !important;
}

.book-appointment-btn:hover i {
    color: #ffffff !important;
}

/* Dropdown Menu Perfection */
@media (min-width: 992px) {
    .dropdown:hover .dropdown-menu {
        display: block;
        animation: fadeIn 0.3s ease;
    }
}

.dropdown-menu {
    border: 1px solid rgba(212, 175, 55, 0.2) !important;
    border-radius: 15px !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3) !important;
    padding: 15px !important;
    margin-top: 10px !important;
    background: var(--luxury-black) !important;
    min-width: 220px !important;
}

.dropdown-item {
    font-family: 'DM Serif Display', serif !important;
    font-size: 16px !important;
    color: rgba(255, 255, 255, 0.85) !important;
    padding: 10px 20px !important;
    border-radius: 10px !important;
    transition: all 0.3s ease !important;
    font-weight: 500;
}

.dropdown-item:hover {
    background-color: rgba(212, 175, 55, 0.1) !important;
    color: var(--luxury-gold) !important;
    padding-left: 25px !important;
}

.navbar-toggler-icon {
    /* filter: invert(1); Removed to allow custom color in media queries */
}

/* Banner Content Adjustments for White Background */
.banner-section .banner-section-content {
    padding-top: 0 !important;
    /* Overriding the 168px from original style.css */
    margin-top: -30px !important;
    /* Move it slightly more up as requested */
}

.banner-section h5 {
    color: var(--e-global-color-secondary) !important;
    font-weight: 600 !important;
}

.banner-section h1 {
    color: var(--e-global-color-primary) !important;
    font-size: 56px !important;
    line-height: 1.1 !important;
}

.banner-section p {
    color: #555555 !important;
    font-size: 19px !important;
    line-height: 1.7 !important;
}

/* Slider Animations */
.banner-slider .owl-item.active .slide-content h5,
.banner-slider .owl-item.active .slide-content h1,
.banner-slider .owl-item.active .slide-content p,
.banner-slider .owl-item.active .slide-content .btn_wrapper {
    animation: fadeInUp 0.8s both;
}

.banner-slider .owl-item.active .slide-content h1 {
    animation-delay: 0.2s;
}

.banner-slider .owl-item.active .slide-content p {
    animation-delay: 0.4s;
}

.banner-slider .owl-item.active .slide-content .btn_wrapper {
    animation-delay: 0.6s;
}

.banner-slider .owl-item.active .slide-image {
    animation: zoomIn 1s both;
    animation-delay: 0.3s;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 40px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale3d(0.8, 0.8, 0.8);
    }

    to {
        opacity: 1;
        transform: scale3d(1, 1, 1);
    }
}

/* Owl Carousel Dots Styling */
.banner-slider .owl-dots {
    position: absolute;
    bottom: 30px;
    width: 100%;
    text-align: center;
}

.banner-slider .owl-dot span {
    width: 12px !important;
    height: 12px !important;
    background: #e1e1e1 !important;
    transition: all 0.3s ease !important;
}

.banner-slider .owl-dot.active span {
    background: var(--e-global-color-secondary) !important;
    width: 30px !important;
}

/* Mild Shapes for Banner */
.banner-section .left_shape i,
.banner-section .right_shape i {
    color: var(--e-global-color-secondary) !important;
    opacity: 0.03 !important;
    /* Very subtle for mild look */
}

/* Ensure Banner Image Shows Fully */
.banner-section-image {
    position: relative !important;
    animation: float_banner 6s ease-in-out infinite !important;
    text-align: center;
    width: 100%;
}

.banner-section-image figure {
    position: relative !important;
    /* Changed from absolute to show fully */
    top: 0 !important;
    left: 0 !important;
    margin: 0 auto !important;
    display: inline-block;
}

.banner-section-image img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(185, 165, 137, 0.08);
    /* Mild shadow */
}

@keyframes float_banner {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-20px);
    }
}

/* ============================================
   PERFECT FOOTER SECTION
   Dark deep-brown background with orange accents
   ============================================ */
.footer-section {
    background: linear-gradient(160deg, #1a0800 0%, #2d0e02 50%, #1a0800 100%) !important;
    padding: 70px 0 0 !important;
    margin-top: 0 !important;
    position: relative;
    overflow: hidden;
    z-index: 10;
    border-top: 3px solid var(--luxury-gold);
}

/* Footer Logo - Brand Orange Color (matching the VV icon) */
.footer_logo img {
    /* Converts black logo to the brand orange #db5e1e */
    filter: invert(42%) sepia(80%) saturate(900%) hue-rotate(349deg) brightness(105%) contrast(95%);
    opacity: 1;
    transition: filter 0.3s ease, transform 0.3s ease;
    max-height: 75px !important;
}

.footer_logo img:hover {
    transform: scale(1.05);
    filter: invert(55%) sepia(90%) saturate(800%) hue-rotate(340deg) brightness(110%) contrast(90%);
}

/* Atmospheric noise overlay */
.footer-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
    opacity: 0.03;
    pointer-events: none;
    z-index: 1;
}

/* Warm radial glow accent */
.footer-section::after {
    content: '';
    position: absolute;
    top: -100px;
    left: -100px;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(219, 94, 30, 0.08) 0%, transparent 65%);
    pointer-events: none;
    z-index: 1;
}

.footer-section .container {
    position: relative;
    z-index: 5;
}

/* Section headings — warm orange brand color */
.footer-section h4,
.footer-section .gold-text {
    color: var(--luxury-gold) !important;
    font-family: 'DM Serif Display', serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    margin-bottom: 25px !important;
    padding-left: 0 !important;
    letter-spacing: 0.5px;
    text-transform: none !important;
    background: none !important;
    -webkit-text-fill-color: var(--luxury-gold) !important;
    position: relative;
    padding-bottom: 12px !important;
}

.footer-section h4::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 35px;
    height: 2px;
    background: var(--luxury-gold);
    border-radius: 2px;
    opacity: 0.6;
}

/* Footer description text */
.footer-section .luxury-desc,
.footer-section p {
    color: rgba(240, 225, 210, 0.65) !important;
    font-size: 14px !important;
    line-height: 1.85 !important;
    font-weight: 400;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Footer links */
.footer-section a,
.footer-section .luxury-link {
    color: rgba(240, 225, 210, 0.65) !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
    transition: all 0.3s ease;
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
    font-weight: 400;
    text-decoration: none !important;
    position: relative;
}

.footer-section a:hover,
.footer-section .luxury-link:hover {
    color: var(--luxury-gold) !important;
    padding-left: 8px;
}

/* Contact info spans */
.footer-section span,
.footer-section .contact_icons span {
    color: rgba(240, 225, 210, 0.65) !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
    display: inline !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Social Media Icons */
.footer-section .icons {
    display: inline-block !important;
    margin-right: 12px !important;
}

.footer-section .icons a {
    width: 44px !important;
    height: 44px !important;
    background: rgba(219, 94, 30, 0.12) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    color: var(--luxury-gold) !important;
    border: 1px solid rgba(219, 94, 30, 0.3) !important;
    font-size: 16px !important;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    text-decoration: none !important;
    padding-left: 0 !important;
}

.footer-section .icons a:hover {
    background: var(--luxury-gold) !important;
    color: #ffffff !important;
    transform: translateY(-5px) scale(1.1);
    border-color: var(--luxury-gold) !important;
    box-shadow: 0 12px 25px rgba(219, 94, 30, 0.4) !important;
}

/* Contact Info Section */
.contact_icons {
    margin-bottom: 20px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px;
}

.contact_icons i {
    color: var(--luxury-gold) !important;
    font-size: 16px !important;
    margin-top: 4px;
    min-width: 18px;
    flex-shrink: 0;
}

/* Quick Links list styling */
.links_col ul li {

    padding-bottom: 8px;
}

.links_col ul li:last-child {
    border-bottom: none;
}

/* Divider line between footer rows */
.footer-divider {
    border: none;
    border-top: 1px solid rgba(219, 94, 30, 0.15);
    margin: 10px 0 30px;
}

/* Bottom copyright bar */
.bottom-portion {
    border-top: 1px solid rgba(219, 94, 30, 0.25) !important;
    margin-top: 50px !important;
    padding: 25px 0 25px !important;
    background: rgba(0, 0, 0, 0.3);
}

.bottom-portion p,
.bottom-portion .small {
    color: var(--luxury-gold) !important;
    font-size: 14px !important;
    font-weight: 500;
    letter-spacing: 0.3px;
    opacity: 1 !important;
    display: block !important;
    margin-bottom: 0 !important;
    line-height: 1.5 !important;
}

.bottom-portion a.gold-text {
    color: var(--luxury-gold) !important;
    -webkit-text-fill-color: var(--luxury-gold) !important;
    font-weight: 700;
    text-decoration: none !important;
    padding-left: 0 !important;
    transition: all 0.3s ease;
}

.bottom-portion a.gold-text:hover {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-shadow: 0 0 12px rgba(219, 94, 30, 0.8);
    padding-left: 0 !important;
}

@media (max-width: 991px) {
    .bottom-portion {
        margin-top: 30px !important;
        padding: 20px 0 !important;
        text-align: center !important;
    }

    .bottom-portion .col-md-6:last-child {
        text-align: center !important;
        margin-top: 8px;
    }

    .middle-portion {
        padding-top: 30px !important;
        padding-bottom: 0px !important;
    }

    .footer-section {
        padding: 50px 0 0 !important;
    }
}

@media (max-width: 767px) {
    .footer-section {
        text-align: center;
    }

    .footer-section h4::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .contact_icons {
        justify-content: center;
    }

    .footer-section .d-flex.gap-3 {
        justify-content: center;
    }
}

.copyright p {
    font-size: 14px !important;
    color: var(--luxury-gold) !important;
    opacity: 1;
    letter-spacing: 0.3px;
}

/* Milestones Section Styling - CINEMATIC CARD DESIGN */
.milestones_section {
    background: linear-gradient(135deg, #ffffff 0%, #fff9f4 100%) !important;
    position: relative;
    overflow: hidden;
    padding: 30px 0;
}

.milestone-title-decoration {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
}

.milestone-title-decoration .line {
    width: 40px;
    height: 1px;
    background: var(--e-global-color-secondary);
    opacity: 0.6;
}

.milestone-title-decoration i {
    color: var(--e-global-color-secondary);
    font-size: 16px;
    margin: 0 15px;
}

.milestone_card {
    background: #ffffff;
    padding: 60px 30px;
    border-radius: 40px;
    border: 1px solid #f0f0f0;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04);
    transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
}

.milestone_card::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(185, 165, 137, 0.03) 0%, transparent 70%);
    opacity: 0;
    transition: all 0.6s ease;
}

.milestone_card:hover {
    transform: translateY(-15px) scale(1.02);
    box-shadow: 0 30px 70px rgba(185, 165, 137, 0.12);
    background: #ffffff;
    border-color: rgba(185, 165, 137, 0.1);
}

.milestone_card:hover::before {
    opacity: 1;
}

.milestone_icon_wrapper {
    width: 90px;
    height: 90px;
    background: linear-gradient(135deg, #B34B1E 0%, #3d160d 100%);
    border-radius: 28px;
    /* Softer Squircle */
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 35px;
    color: #ffffff;
    font-size: 36px;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 15px 35px rgba(89, 32, 19, 0.2);
    position: relative;
    transform: rotate(-8deg);
}

.milestone_card:hover .milestone_icon_wrapper {
    transform: rotate(0deg) scale(1.1);
    box-shadow: 0 15px 35px rgba(185, 165, 137, 0.3);
}

.milestone_number {
    font-size: 64px !important;
    font-weight: 800 !important;
    background: linear-gradient(135deg, #592013 0%, #7A2E1E 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 12px !important;
    font-family: 'Playfair Display', serif !important;
    line-height: 1 !important;
    letter-spacing: -1.5px;
}

.milestone_divider {
    width: 40px;
    height: 3px;
    background: #e0e0e0;
    border-radius: 10px;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
}

.milestone_divider::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: var(--e-global-color-secondary);
    transition: all 0.6s ease;
}

.milestone_card:hover .milestone_divider::after {
    left: 0;
}

.milestone_label {
    color: #444 !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.milestone_card:hover .milestone_label {
    color: var(--e-global-color-secondary) !important;
    letter-spacing: 3px;
}

.milestone_watermark_left {
    position: absolute;
    top: 10%;
    left: -50px;
    font-size: 300px;
    color: rgba(185, 165, 137, 0.03);
    z-index: 0;
    pointer-events: none;
    transform: rotate(-15deg);
}

/* Leaf Watermark */
.footer-section::after {
    content: "\f06c";
    /* Leaf icon */
    font-family: "Font Awesome 6 Free";
    font-weight: 400;
    position: absolute;
    bottom: -50px;
    right: -20px;
    font-size: 300px;
    color: rgba(185, 165, 137, 0.03);
    z-index: 0;
    pointer-events: none;
    transform: rotate(-15deg);
}

/* Quick Stats Bar Section */
.stats_bar_section {
    padding: 30px 0;
    margin-top: -60px;
    /* Overlap with banner slightly for modern look */
    position: relative;
    z-index: 100;
}

.stats_bar_container {
    background-color: var(--e-global-color-soft-orange);
    padding: 40px 60px;
    border-radius: 100px;
    /* Pill shape */
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.stats_bar_content {
    display: flex;
    justify-content: space-around;
    align-items: center;
    text-align: center;
}

.stat_item {
    padding: 0 20px;
}

.stat_number {
    font-size: 38px;
    font-weight: 700;
    color: var(--e-global-color-secondary);
    display: block;
    margin-bottom: 5px;
    font-family: 'Playfair Display', serif;
}

.stat_label {
    font-size: 13px;
    font-weight: 700;
    color: var(--e-global-color-secondary);
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

@media screen and (max-width: 991px) {
    .stats_bar_container {
        padding: 30px;
        border-radius: 50px;
    }

    .stat_number {
        font-size: 28px;
    }
}

@media screen and (max-width: 767px) {
    .stats_bar_content {
        flex-wrap: wrap;
    }

    .stat_item {
        width: 50%;
        margin-bottom: 20px;
    }

    .stats_bar_section {
        margin-top: 0;
        padding: 50px 0;
    }
}

/* Premium Hero Redesign - Yogastic Style */
.premium-hero-section {
    position: relative;
    padding: 120px 0 100px;
    background: linear-gradient(135deg, #f0f7f9 0%, #ffffff 50%, #e6f2f5 100%);
    overflow: hidden;
    min-height: 800px;
    display: flex;
    align-items: center;
}

.hero-social-sidebar {
    position: absolute;
    left: 40px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 100;
    /* Ensure it's above other elements */
    display: flex;
    flex-direction: column;
    gap: 30px;
    opacity: 0;
    animation: sidebar-wow 1.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 1s forwards;
}

@keyframes sidebar-wow {
    0% {
        opacity: 0;
        transform: translateY(-50%) translateX(-50px);
    }

    100% {
        opacity: 1;
        transform: translateY(-50%) translateX(0);
    }
}

.hero-social-sidebar a {
    width: 65px;
    height: 65px;
    background: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--e-global-color-secondary);
    box-shadow: 0 10px 40px rgba(185, 165, 137, 0.12);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    font-size: 26px;
    text-decoration: none;
}

.hero-social-sidebar a:hover {
    background: var(--e-global-color-secondary);
    color: white !important;
    transform: scale(1.1) translateX(10px);
    box-shadow: 0 15px 50px rgba(185, 165, 137, 0.2);
}

.leaf-shape-container {
    position: relative;
    width: 100%;
    max-width: 650px;
    margin: 0 auto;
    z-index: 1;
}



.leaf-shape-container:hover::before {
    transform: translate(-15px, -15px) rotate(-2deg);
    opacity: 0.5;
}

.leaf-shape-img {
    width: 100%;
    height: 650px;
    object-fit: cover;
    border-radius: 200px 0 200px 200px;
    box-shadow: 0 30px 60px rgba(185, 165, 137, 0.15);
    opacity: 0;
    /* Start hidden for entrance */
    animation: premium-entrance 2.5s cubic-bezier(0.22, 1, 0.36, 1) forwards, leaf-float 6s ease-in-out 2.5s infinite;
}

@keyframes premium-entrance {
    0% {
        opacity: 0;
        transform: scale(0.7) translateY(100px) rotate(-5deg);
        filter: blur(20px);
    }

    70% {
        transform: scale(1.05) translateY(-10px) rotate(2deg);
    }

    100% {
        opacity: 1;
        transform: scale(1) translateY(0) rotate(0deg);
        filter: blur(0);
    }
}

/* WOW-style floating for background decorations */
.hero-leaf-decor {
    animation: slow-zoom-fade 3s ease-out forwards;
}

.hero-leaf-decor i {
    display: inline-block;
    animation: rotate-slow 25s linear infinite;
}

.floating-tooth-decor {
    animation: wow-pop-in 2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
    opacity: 0;
}

@keyframes wow-pop-in {
    0% {
        opacity: 0;
        transform: scale(0.5) rotate(-15deg);
    }

    100% {
        opacity: 0.1;
        transform: scale(1) rotate(0deg);
    }

    /* Low opacity for decor */
}

@keyframes slow-zoom-fade {
    0% {
        opacity: 0;
        transform: scale(0.5);
    }

    100% {
        opacity: 0.1;
        transform: scale(1);
    }
}

/* NEW DENTAL WOW ANIMATIONS */
.dental-wow-decor {
    animation: floating-wow 12s ease-in-out infinite alternate !important;
    opacity: 0.03;
}

.sparkle-decor {
    animation: dental-sparkle 5s ease-in-out infinite !important;
    color: var(--e-global-color-secondary);
    opacity: 0.08;
}

@keyframes floating-wow {
    0% {
        transform: translate(0, 0) rotate(0deg);
    }

    100% {
        transform: translate(40px, -50px) rotate(20deg);
    }
}

@keyframes dental-sparkle {

    0%,
    100% {
        opacity: 0.05;
        transform: scale(1) rotate(0deg);
        filter: blur(0px);
    }

    50% {
        opacity: 0.2;
        transform: scale(1.4) rotate(45deg);
        filter: blur(1px);
    }
}

@keyframes leaf-float {

    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-20px) rotate(2deg);
    }
}

.scroll-down-arrow {
    position: absolute;
    bottom: 60px;
    left: 80px;
    z-index: 10;
    animation: bounce 2s infinite;
}

.scroll-down-arrow i {
    font-size: 32px;
    color: var(--e-global-color-secondary);
}

@keyframes bounce {

    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translateY(0);
    }

    40% {
        transform: translateY(-10px);
    }

    60% {
        transform: translateY(-5px);
    }
}

.hero-content-wrapper {
    padding-left: 50px;
    height: 600px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    opacity: 0;
    animation: wow-fade-right 1.8s cubic-bezier(0.22, 1, 0.36, 1) 0.5s forwards;
}

@keyframes wow-fade-right {
    0% {
        opacity: 0;
        transform: translateX(-100px) skewX(-10deg);
        filter: blur(10px);
    }

    100% {
        opacity: 1;
        transform: translateX(0) skewX(0deg);
        filter: blur(0);
    }
}

.hero-content-wrapper h5 {
    color: var(--e-global-color-secondary);
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 20px;
    font-family: 'Karla', sans-serif;
}

.hero-content-wrapper h1 {
    font-size: 72px;
    color: var(--e-global-color-primary);
    margin-bottom: 25px;
    line-height: 1.1;
    font-family: 'Playfair Display', serif;
}

.hero-content-wrapper h1 span {
    color: white;
    position: relative;
}


.hero-content-wrapper p {
    font-size: 18px;
    color: #555;
    max-width: 550px;
    margin-bottom: 45px;
    line-height: 1.8;
}

.hero-btn-group {
    display: flex;
    gap: 20px;
    align-items: center;
}

.floating-tooth-decor {
    position: absolute;
    opacity: 0.08;
    color: white;
    z-index: 1;
    pointer-events: none;
    animation: rotate-slow 20s linear infinite;
}

@keyframes rotate-slow {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.hero-leaf-decor {
    position: absolute;
    opacity: 0.1;
    z-index: 0;
    pointer-events: none;
}

@media (max-width: 991px) {
    .premium-hero-section {

        text-align: center;
    }

    .hero-content-wrapper {
        padding-left: 0;
        margin-bottom: 50px;
        height: auto;
    }

    .hero-content-wrapper h1 {
        font-size: 48px;
    }

    .hero-social-sidebar {
        display: none;
    }

    .scroll-down-arrow {
        display: none;
    }

    .leaf-shape-img {
        height: 220px !important;
        max-width: 80% !important;
        margin: 0 auto;
        display: block;
    }

    .aboutus_main_image img {
        max-width: 70% !important;
        margin: 0 auto;
    }

    .hero-btn-group {
        justify-content: center;
    }
}

/* Mobile Perfection: About Us Centering */
@media (max-width: 991px) {
    .aboutus_section {
        padding-top: 30px !important;
    }

    .aboutus_content {
        text-align: center;
        padding-left: 0 !important;
        padding-top: 40px !important;
    }

    .aboutus_content h2 {
        font-size: 34px !important;
        line-height: 1.2 !important;
    }

    .aboutus_content .header_line {
        display: flex;
        justify-content: center;
        width: 100%;
        margin-bottom: 20px;
    }

    .aboutus_content .header_line .line {
        margin: 0;
    }

    .about_feature_block {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 25px !important;
    }

    .feature_icon_wrapper {
        margin-right: 0 !important;
        margin-bottom: 15px;
    }

    .aboutus_content .btn_wrapper {
        display: flex;
        justify-content: center;
    }
}

/* Global Service Leaf Image Style */
.service-leaf-img {

    box-shadow: 0 10px 30px rgba(185, 165, 137, 0.08);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border: 5px solid white;
}

.service-leaf-img:hover {
    transform: scale(1.03) rotate(1deg);
    box-shadow: 0 20px 45px rgba(185, 165, 137, 0.12);
}

/* Section Heading Polish */
.section_heading h2 {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    color: var(--e-global-color-primary);
}

.section_heading .heading_sub {
    color: var(--e-global-color-secondary);
    letter-spacing: 4px;
}

/* Service Box Polish */
.services_box_content {
    background: white;
    padding: 30px;
    border-radius: 40px 0 40px 40px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    transition: all 0.4s ease;
    border: 1px solid #f0f0f0;
    margin-bottom: 30px;
}

.services_box_content:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 50px rgba(185, 165, 137, 0.1);
    border-color: rgba(185, 165, 137, 0.1);
}

.services_box_lower_portion h3 {
    font-family: 'Playfair Display', serif;
    color: var(--e-global-color-secondary);
    margin-top: 20px;
}

/* About Us Section Polish */
.aboutus_main_image img {
    max-width: 85% !important;
    margin: 0 auto;
    display: block;
}

.aboutus_section {
    background: #fbfdff !important;
    padding-top: 40px !important;
}

.aboutus_content h2 {
    font-size: 48px;
    line-height: 1.2;
}

.about_feature_block {
    background: white;
    padding: 20px;
    border-radius: 20px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.02);
    margin-bottom: 25px !important;
}

/* Typewriter Cursor */
.ityped-cursor {
    font-size: 0.9em;
    opacity: 1;
    -webkit-animation: blink 0.4s infinite alternate;
    animation: blink 0.4s infinite alternate;
    color: #e1ccad !important;
    margin-left: 2px;
}

@keyframes blink {
    100% {
        opacity: 0;
    }
}

/* Floral Decorations Style */
.banner-flower-decor {
    position: absolute;
    z-index: 5;
    pointer-events: none;
    max-width: 350px;
}

.flower-top-left {
    top: -50px;
    left: -50px;
}

.flower-bottom-right {
    bottom: -50px;
    right: -50px;
}

.floating-flower {
    width: 100%;
    animation: float-flower 12s ease-in-out infinite;
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.05));
}

@keyframes float-flower {

    0%,
    100% {
        transform: translate(0, 0) rotate(0deg);
    }

    25% {
        transform: translate(20px, -15px) rotate(4deg);
    }

    50% {
        transform: translate(-15px, 20px) rotate(-3deg);
    }

    75% {
        transform: translate(10px, 10px) rotate(2deg);
    }
}

/* Perfect Leaf Shape for Banner Image */
.leaf-shape-img {
    border-radius: 200px 0 250px 0px !important;
    width: 100%;
    height: 400px !important;
    object-fit: cover;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4);
    border: 8px solid rgba(255, 255, 255, 0.1);
}

.premium-hero-section {
    overflow: visible !important;
    /* Allow flowers to peak out slightly */
}

/* Typing Effect Style */
.ityped {
    color: #e1ccad !important;
    font-weight: 700;
    position: relative;
    display: inline-block;
    min-width: 200px;
    /* Prevent layout jump */
}

@keyframes blink {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}


/* Responsive Floral Decorations */
@media (max-width: 991px) {
    .hero-flower-decor {
        width: 150px !important;
        opacity: 0.1 !important;
    }

    .hero-flower-decor.top-left {
        top: -20px !important;
        left: -20px !important;
    }

    .hero-flower-decor.bottom-right {
        bottom: -30px !important;
        right: -30px !important;
    }
}

/* Highlighted Button Effect */
.highlighted-btn {
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: all 0.3s ease;
}

.highlighted-btn:hover {
    transform: scale(1.05) translateY(-3px);
}

.highlighted-btn::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -60%;
    width: 30%;
    height: 200%;
    background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.6), transparent);
    transform: rotate(30deg);
    animation: shine-sweep 4s infinite;
    z-index: 1;
    pointer-events: none;
}

.highlighted-btn {
    animation: pulse-glow 2.5s infinite;
}

@keyframes pulse-glow {
    0% {
        box-shadow: 0 0 0 0 rgba(225, 204, 173, 0.6);
    }

    70% {
        box-shadow: 0 0 0 20px rgba(225, 204, 173, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(225, 204, 173, 0);
    }
}

@keyframes shine-sweep {
    0% {
        left: -150%;
    }

    20% {
        left: 150%;
    }

    100% {
        left: 150%;
    }
}

/* Premium Hero Pill Button */
.hero-pill-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: rgba(255, 255, 255, 0.1);
    /* Transparent glass effect */
    border-radius: 100px;
    text-decoration: none !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.hero-pill-btn span {
    background: #e1ccad;
    /* Beige inner */
    color: #592013;
    padding: 14px 45px;
    border-radius: 100px;
    font-weight: 700;
    font-size: 20px;
    display: block;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    letter-spacing: 0.5px;
}

.hero-pill-btn:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.2);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
}

.hero-pill-btn:hover span {
    background: white;
    color: #592013;
    transform: scale(1.02);
}

/* ==========================================================================
   Premium Banner Slider Styles
   ========================================================================== */



.premium-hero-section {
    position: relative;
    overflow: hidden;
}

.banner-slider .item {
    padding: 100px 0 120px;
    min-height: 700px;
    display: flex;
    align-items: center;
}

.banner-slider .owl-dots {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}

.banner-slider .owl-dot span {
    width: 12px !important;
    height: 12px !important;
    margin: 5px 8px !important;
    background: rgba(185, 165, 137, 0.2) !important;
    transition: all 0.3s ease !important;
    border: 2px solid transparent;
}

.banner-slider .owl-dot.active span {
    background: var(--e-global-color-secondary) !important;
    width: 35px !important;
    border-radius: 10px !important;
}

/* Cinematic Slide Animations - Refined for "Come and Go" Effect */
.banner-slider .item .slide-subtitle {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.1s;
}

.banner-slider .item .slide-title {
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.3s;
    color: white;
    font-weight: 700;
}

.banner-slider .item .slide-desc {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
    max-width: 550px;
}

.banner-slider .item .hero-btn-group {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.7s;
}

.banner-slider .item .slide-img-wrapper {
    opacity: 0;
    transform: translateX(60px) scale(0.85);
    transition: all 1s cubic-bezier(0.22, 1, 0.36, 1) 0.4s;
}

/* Active Slide States - Entrance */
.banner-slider .owl-item.active .slide-subtitle,
.banner-slider .owl-item.active .slide-title,
.banner-slider .owl-item.active .slide-desc,
.banner-slider .owl-item.active .hero-btn-group {
    opacity: 1;
    transform: translateY(0);
}

.banner-slider .owl-item.active .slide-img-wrapper {
    opacity: 1;
    transform: translateX(0) scale(1);
}

/* Exit States - Fade and Move Up when leaving */
.banner-slider .owl-item:not(.active) .slide-subtitle,
.banner-slider .owl-item:not(.active) .slide-title,
.banner-slider .owl-item:not(.active) .slide-desc,
.banner-slider .owl-item:not(.active) .hero-btn-group {
    opacity: 0;
    transform: translateY(-40px);
    transition: all 0.5s ease-in-out;
}

.banner-slider .owl-item:not(.active) .slide-img-wrapper {
    opacity: 0;
    transform: translateX(-60px) scale(0.85);
    transition: all 0.5s ease-in-out;
}

/* ityped cursor correction for slider */
.ityped-cursor {
    color: var(--e-global-color-soft-orange);
}

@media (max-width: 991px) {
    .banner-slider .item {
        padding: 60px 0 80px;
        min-height: auto;
        text-align: center;
    }

    .banner-slider .item .slide-desc {
        margin: 0 auto 30px;
    }

    .banner-slider .item .slide-img-wrapper {
        margin-top: 50px;
        transform: translateY(30px);
    }

    .banner-slider .owl-item.active .slide-img-wrapper {
        transform: translateY(0);
    }
}

/* ==========================================================================
   CINEMATIC SPLASH INTRO (Arbor Dental Style)
   ========================================================================== */


#main-content-wrapper {
    opacity: 0;
    transition: opacity 1.5s ease;
}

/* New Premium Theme Overlay Utility */
.vv-theme-overlay {
    background: linear-gradient(135deg, #B34B1E 0%, #3d160d 100%) !important;
    position: relative;
    overflow: hidden;
    color: white;
}

.vv-theme-overlay::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../images/specialties_left_line.png');
    background-size: cover;
    opacity: 0.05;
    pointer-events: none;
}

/* Update Services Box Overlay on Hover */
.services_box_content {
    position: relative;
    z-index: 1;
}

.services_box_content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgb(179, 75, 30) 0%, rgb(61, 22, 13) 100%) !important;
    opacity: 0;
    transition: all 0.4s ease;
    border-radius: inherit;
    z-index: -1;
}

.services_box_content:hover::before {
    opacity: 1;
}

.services_box_content:hover h3,
.services_box_content:hover p,
.services_box_content:hover .heading_sub {
    color: white !important;
}

.vv-theme-overlay h2,
.vv-theme-overlay h5,
.vv-theme-overlay .heading_sub,
.vv-theme-overlay p,
.vv-theme-overlay label,
.vv-theme-overlay .about_desc {
    color: white !important;
}

.vv-theme-overlay .header_line .line,
.vv-theme-overlay .header_line .dot {
    background-color: white !important;
}

.vv-theme-overlay .form-control {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: white !important;
}

.vv-theme-overlay .form-control::placeholder {
    color: rgba(255, 255, 255, 0.7) !important;
}

/* Perfect Banner Merging Effect - Simplified */
.perfect-banner-merge {
    filter: brightness(1) saturate(1.05);
    /* Subtle enhancement only */
    mix-blend-mode: normal;
}

.leaf-shape-container {
    position: relative;
    display: inline-block;
}

/* --- TESTIMONIAL SECTION --- */
.testimonial-section {
    padding: 100px 0;
    position: relative;
    overflow: hidden;
}

.testimonial-item {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(197, 160, 89, 0.1);
    padding: 40px;
    border-radius: 20px;
    transition: all 0.4s ease;
    margin: 15px;
    height: calc(100% - 30px);
    /* Adjust for margin */
    display: flex;
    flex-direction: column;
}

.testimonial-slider .owl-stage {
    display: flex;
}

.testimonial-slider .owl-item {
    display: flex;
    flex: 1 0 auto;
}

.testimonial-item:hover {
    background: rgba(197, 160, 89, 0.08);
    border-color: rgba(197, 160, 89, 0.5);
    transform: translateY(-15px);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3), 0 0 20px rgba(197, 160, 89, 0.1);
}

.testimonial-item:hover .quote-icon {
    transform: scale(1.2) rotate(-5deg);
    color: #fff;
}

.testimonial-item:hover .patient-name {
    color: #fff;
}

.quote-icon {
    transition: all 0.4s ease;
}

.patient-name {
    transition: all 0.4s ease;
}

.quote-icon {
    color: var(--luxury-gold);
    font-size: 30px;
    margin-bottom: 25px;
}

.testimonial-text {
    color: rgba(232, 226, 217, 0.8);
    font-size: 17px;
    line-height: 1.8;
    font-style: italic;
    margin-bottom: 30px;
    flex-grow: 1;
}

.patient-info {
    border-top: 1px solid rgba(197, 160, 89, 0.1);
    padding-top: 20px;
}

.patient-name {
    color: var(--luxury-gold);
    font-family: 'DM Serif Display', serif;
    font-size: 20px;
    margin-bottom: 5px;
}

.patient-location {
    color: rgba(232, 226, 217, 0.5);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* --- FAQ SECTION (LEGACY THEME) --- */
.faq-section {
    padding: 30px 0;
    background-color: var(--luxury-cream);
    position: relative;
}

.faq-main-title {
    font-family: 'DM Serif Display', serif;
    font-size: 48px;
    color: var(--luxury-brown);
    margin-bottom: 20px;
}

.faq-title-underline {
    width: 80px;
    height: 3px;
    background: var(--luxury-gold);
    margin: 0 auto;
}

.faq-card {
    background: #fff;
    border-radius: 15px;
    margin-bottom: 20px;
    box-shadow: 0 10px 30px rgba(45, 30, 22, 0.05);
    border: 1px solid rgba(197, 160, 89, 0.1);
    overflow: hidden;
    transition: all 0.3s ease;
}

.faq-card:hover {
    box-shadow: 0 15px 40px rgba(45, 30, 22, 0.1);
}

.faq-btn {
    width: 100%;
    padding: 25px 30px;
    text-align: left;
    background: none;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.faq-btn:focus {
    outline: none;
}

.faq-question {
    font-family: 'DM Serif Display', serif;
    font-size: 20px;
    color: var(--luxury-brown);
    font-weight: 100;
}

.faq-icon-plus {
    color: var(--luxury-gold);
    font-size: 18px;
    transition: transform 0.4s ease;
}

.faq-btn:not(.collapsed) .faq-icon-plus {
    transform: rotate(45deg);
    color: var(--luxury-brown);
}

.faq-body {
    padding: 0 30px 30px;
    color: #555;
    font-size: 16px;
    line-height: 1.7;
    font-family: 'Karla', sans-serif;
}

@media (max-width: 768px) {
    .faq-main-title {
        font-size: 36px;
    }

    .faq-question {
        font-size: 18px;
    }
}



/* --- MODERN FAQ SECTION --- */
.faq-section .row {
    display: flex;
    align-items: stretch;
}

.faq-section .legacy-image-container {
    height: 100%;
}

.faq-section .legacy-frame-outer,
.faq-section .legacy-frame-inner {
    height: 100%;
}

.faq-section .legacy-main-img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.faq-section .faq-content-wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.faq-section .accordion {
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .faq-section {
        text-align: center;
        padding: 60px 0 !important;
    }

    .faq-section .legacy-image-container {
        margin-bottom: 40px;
        padding: 0 !important;
    }

    .faq-section .legacy-frame-outer {
        margin: 0 auto;
        max-width: 90%;
        border-radius: 40px;
        /* Make it symmetric for better centering look on mobile */
    }

    .faq-section .legacy-frame-inner {
        height: auto;
        min-height: 300px;
        border-radius: 35px;
        /* Symmetric */
    }

    .faq-section .faq-main-title::after {
        display: none;
        /* Already handled by faq-title-underline */
    }

    .faq-section .faq-content-wrapper {
        padding-top: 20px;
    }
}

/* Testimonial Slider Dots Polish */
.testimonial-slider .owl-dots {
    text-align: center;
    margin-top: 30px;
    display: block !important;
}

.testimonial-slider .owl-dot span {
    width: 10px !important;
    height: 10px !important;
    margin: 5px 6px !important;
    background: rgba(197, 160, 89, 0.2) !important;
    display: block;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 50% !important;
}

.testimonial-slider .owl-dot.active span {
    background: var(--luxury-gold) !important;
    width: 25px !important;
    border-radius: 10px !important;
}

.testimonial-slider {
    padding-bottom: 20px;
}

/* Hide hamburger menu on desktop */
@media (min-width: 992px) {
    .navbar-toggler {
        display: none !important;
    }
}

/* ==========================================================================
   ABOUT PAGE SPECIFIC STYLES
   ========================================================================== */

.section-padding {
    padding: 60px 0;
}

/* Premium Sub-banner */
.premium-sub-banner {
    position: relative;
    padding: 160px 0 60px;
    border-bottom: 2px solid var(--luxury-gold);
    background: radial-gradient(circle at 75% 40%, var(--luxury-gold) 0%, var(--luxury-brown) 35%, var(--luxury-deep-brown) 70%, var(--luxury-charcoal) 100%);
    overflow: hidden;
}

/* Subtle Texture Overlay for Banner */
.premium-sub-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjAuMDUiLz4KPC9zdmc+') repeat;
    pointer-events: none;
    z-index: 1;
}

.sub-banner-title {
    font-size: 56px;
    font-weight: 700;
    margin-bottom: 20px;
    text-transform: capitalize;
    position: relative;
    z-index: 2;
    color: var(--luxury-cream) !important;
    background: none !important;
    -webkit-text-fill-color: initial !important;
}

.breadcrumb-container {
    background: rgba(0, 0, 0, 0.4);
    display: inline-flex;
    align-items: center;
    padding: 10px 25px;
    border-radius: 30px;
    border: 1px solid rgba(219, 94, 30, 0.4);
    position: relative;
    z-index: 2;
}

.breadcrumb {
    margin-bottom: 0;
    background: transparent;
    padding: 0;
    display: flex;
    align-items: center;
}

.breadcrumb-item a {
    color: #ffffff !important;
    text-decoration: none;
    font-weight: 500;
    letter-spacing: 0.5px;
    transition: color 0.3s ease;
}

.breadcrumb-item a:hover {
    color: var(--luxury-gold) !important;
}

.breadcrumb-item.active {
    color: var(--luxury-gold) !important;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.breadcrumb-item+.breadcrumb-item::before {
    content: "\f101";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: rgba(255, 255, 255, 0.6);
    font-size: 12px;
    margin: 0 10px;

}

/* Cinematic Cards (Mission & Vision) */
.mission-vision-section {
    position: relative;
    z-index: 2;
}

.cinematic-card {
    background: var(--luxury-black);
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    border: 1px solid rgba(219, 94, 30, 0.15);
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    height: 100%;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
}

.cinematic-card:hover {
    transform: translateY(-10px);
    border-color: var(--luxury-gold);
    box-shadow: 0 20px 40px rgba(219, 94, 30, 0.2);
}

.cinematic-card .card-img-wrapper {
    position: relative;
    overflow: visible;
    /* Must be visible so the overlapping icon isn't clipped */
    height: 320px;
    border-radius: 20px 20px 0 0;
}

.cinematic-card .card-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 20px 20px 0 0;
    transition: transform 0.8s ease;
}

.cinematic-card:hover .card-img-wrapper img {
    transform: scale(1.03);
}

.cinematic-card .card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(15, 4, 1, 0.4) 0%, rgba(15, 4, 1, 0) 50%);
    /* Much lighter overlay */
    border-radius: 20px 20px 0 0;
    pointer-events: none;
}

.cinematic-card .card-icon {
    position: absolute;
    bottom: -25px;
    right: 30px;
    width: 60px;
    height: 60px;
    background: var(--luxury-gold);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 24px;
    border: 4px solid var(--luxury-black);
    z-index: 3;
    transition: all 0.4s ease;
}

.cinematic-card:hover .card-icon {
    transform: rotate(360deg) scale(1.1);
    box-shadow: 0 0 20px var(--luxury-gold-soft);
}

.cinematic-card .card-content {
    padding: 50px 40px 40px;
    /* Increased top padding to account for the overlapping icon, and better side padding */
    position: relative;
    background: var(--luxury-black);
    border-radius: 0 0 20px 20px;
}

.cinematic-card .card-title {
    color: var(--luxury-gold);
    font-size: 28px;
    margin-bottom: 20px;
}

.cinematic-card .card-desc {
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.8;
    margin-bottom: 0;
}

/* Core Values Section */
.core-values-section {
    background: var(--luxury-off-white);
    position: relative;
}

.value-box {
    background: #fff;
    padding: 40px 25px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: all 0.4s ease;
    border-bottom: 3px solid transparent;
    height: 100%;
}

.value-box:hover {
    transform: translateY(-8px);
    border-bottom-color: var(--luxury-gold);
    box-shadow: 0 15px 40px rgba(219, 94, 30, 0.1);
}

.value-icon {
    width: 70px;
    height: 70px;
    background: rgba(219, 94, 30, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    color: var(--luxury-gold);
    font-size: 28px;
    transition: all 0.4s ease;
}

.value-box:hover .value-icon {
    background: var(--luxury-gold);
    color: #fff;
}

.value-box h4 {
    font-size: 20px;
    font-weight: 700;
    color: var(--luxury-charcoal);
    margin-bottom: 15px;
}

.value-box p {
    color: #666;
    margin-bottom: 0;
    font-size: 15px;
    line-height: 1.6;
}

@media (max-width: 767px) {
    .sub-banner-title {
        font-size: 40px;
    }

    .cinematic-card {
        margin-bottom: 30px;
    }
}

/* --- UNIQUE ABOUT US STORY SECTION --- */
.unique-story-section {
    background-color: var(--luxury-off-white);
    padding: 20px 0;
}

.story-badge-top {
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--luxury-gold);
    text-transform: uppercase;
    margin-bottom: 15px;
    display: inline-block;
    border-bottom: 2px solid var(--luxury-brown);
    padding-bottom: 5px;
}

.unique-story-title {
    font-size: 3rem;
    line-height: 1.2;
    color: var(--luxury-charcoal);
    margin-bottom: 20px;
    font-family: 'DM Serif Display', serif !important;
}

.unique-story-title .highlight-italic {
    font-style: italic;
    color: var(--luxury-brown);
    font-weight: normal;
}

.story-text-wrap p {
    color: #555;
    line-height: 1.8;
}

.story-lead {
    font-size: 1.15rem;
    font-weight: 500;
    color: var(--luxury-charcoal) !important;
    margin-bottom: 15px;
}

.story-features-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.story-feature-item {
    display: flex;
    align-items: center;
    gap: 15px;
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    transition: all 0.3s ease;
    border-left: 3px solid transparent;
}

.story-feature-item:hover {
    transform: translateY(-5px);
    border-left: 3px solid var(--luxury-gold);
    box-shadow: 0 15px 40px rgba(219, 94, 30, 0.1);
}

.sf-icon {
    font-size: 1.5rem;
    color: var(--luxury-gold);
}

.sf-text {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--luxury-charcoal);
    line-height: 1.3;
}

/* Image Side */
.unique-story-gallery {
    position: relative;
    padding-right: 30px;
}

.us-main-image-wrapper {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
}

.us-main-img {
    width: 100%;
    height: auto;
    border-radius: 20px;
    transition: transform 0.7s ease;
}

.unique-story-gallery:hover .us-main-img {
    transform: scale(1.05);
}

.us-overlay-glow {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(219, 94, 30, 0.2) 0%, transparent 100%);
    mix-blend-mode: overlay;
    border-radius: 20px;
}

.us-premium-badge {
    position: absolute;
    bottom: -30px;
    right: -10px;
    background: radial-gradient(circle at top left, var(--luxury-gold) 0%, var(--luxury-deep-brown) 100%);
    padding: 25px 35px;
    border-radius: 16px;
    box-shadow: 0 15px 35px rgba(69, 20, 3, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transform: translateY(20px);
    animation: us-float-badge 4s ease-in-out infinite alternate;
}

.us-badge-inner {
    display: flex;
    align-items: center;
    gap: 15px;
}

.us-badge-icon {
    font-size: 2.5rem;
    color: var(--luxury-cream);
}

.us-badge-num {
    display: block;
    font-size: 2.2rem;
    font-weight: 800;
    color: #fff;
    line-height: 1;
    font-family: 'DM Serif Display', serif;
}

.us-badge-txt {
    display: block;
    font-size: 0.85rem;
    color: var(--luxury-cream);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

@keyframes us-float-badge {
    0% {
        transform: translateY(10px);
    }

    100% {
        transform: translateY(-10px);
    }
}

@media (max-width: 991px) {
    .unique-story-gallery {
        margin-top: 40px;
        padding-right: 0;
    }

    .us-premium-badge {
        right: 10px;
        bottom: -20px;
        padding: 15px 25px;
    }
}

@media (max-width: 576px) {
    .story-features-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   PORTION 1: THE CLINIC EXPERIENCE
   ========================================================================== */
.clinic-experience-section {
    background-color: var(--luxury-off-white);
}

.clinic-img-wrapper {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
}

.clinic-main-img {
    width: 100%;
    height: auto;
    border-radius: 20px;
    transition: transform 0.8s ease;
}

.clinic-img-wrapper:hover .clinic-main-img {
    transform: scale(1.05);
}

.clinic-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(15, 4, 1, 0.4) 0%, transparent 100%);
    pointer-events: none;
}

.clinic-floating-box {
    position: absolute;
    bottom: 30px;
    left: -20px;
    background: var(--luxury-gold);
    color: #fff;
    padding: 20px 25px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 15px 30px rgba(219, 94, 30, 0.3);
    animation: us-float-badge 4s ease-in-out infinite alternate;
}

.clinic-floating-box i {
    font-size: 2rem;
}

.clinic-floating-box span {
    font-weight: 700;
    line-height: 1.2;
    font-size: 1.1rem;
}

.clinic-desc {
    color: #666;
    line-height: 1.8;
    font-size: 1.05rem;
}

.clinic-highlights {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
}

.c-highlight {
    background: #fff;
    padding: 15px 20px;
    border-radius: 10px;
    font-weight: 600;
    color: var(--luxury-charcoal);
    display: flex;
    align-items: center;
    gap: 15px;
    transition: all 0.3s ease;
    border-left: 3px solid transparent;
}

.c-highlight i {
    color: var(--luxury-gold);
    font-size: 1.3rem;
}

.c-highlight:hover {
    background: #fff;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
    border-left: 3px solid var(--luxury-gold);
}

/* ==========================================================================
   PORTION 2: PREMIUM CTA
   ========================================================================== */
.premium-cta-section {
    background-color: var(--luxury-off-white);
    /* Match page background */
    padding-bottom: 100px;
    /* Space between the box and the footer */
}

.cta-box-wrapper {
    background: radial-gradient(ellipse at 50% 50%, var(--luxury-gold) 0%, var(--luxury-brown) 35%, var(--luxury-deep-brown) 70%, var(--luxury-charcoal) 100%);
    position: relative;
    overflow: hidden;
    padding: 100px 40px;
    border-radius: 30px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15);
}

.cta-box-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(ellipse at center, rgba(219, 94, 30, 0.15) 0%, transparent 70%);
    pointer-events: none;
}

.cta-title {
    font-size: 3.5rem;
    color: #fff !important;
    font-family: 'DM Serif Display', serif !important;
    background: none !important;
    -webkit-text-fill-color: initial !important;
}

.cta-subtitle {
    font-size: 1.2rem;
    color: var(--luxury-cream);
    font-weight: 400;
}

.btn-luxury-solid {
    display: inline-block;
    background: var(--luxury-gold);
    color: #fff;
    padding: 16px 35px;
    border-radius: 30px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 10px 25px rgba(219, 94, 30, 0.4);
    border: 2px solid var(--luxury-gold);
}

.btn-luxury-solid:hover {
    background: var(--luxury-brown);
    border-color: var(--luxury-brown);
    color: #fff;
    transform: translateY(-3px);
}

.btn-luxury-outline {
    display: inline-block;
    background: transparent;
    color: #fff;
    padding: 16px 35px;
    border-radius: 30px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 2px solid var(--luxury-gold);
}

.btn-luxury-outline:hover {
    background: #fff;
    color: var(--luxury-charcoal);
    border-color: #fff;
    transform: translateY(-3px);
}

@media (max-width: 767px) {
    .clinic-floating-box {
        left: 10px;
        bottom: -20px;
    }

    .cta-title {
        font-size: 2.5rem;
    }

    .cta-buttons a {
        display: block;
        margin: 10px 0 !important;
    }
}

/* --- Contact Main Section --- */
.contact-main-section {
    background-color: var(--luxury-cream);
    padding: 100px 0;
    color: var(--luxury-charcoal);
}

.contact-tabs {
    display: flex;
    gap: 0;
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 30px;
    overflow: hidden;
    margin-bottom: 50px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    background: #fff;
}

.contact-tab-btn {
    flex: 1;
    padding: 16px 20px;
    background: transparent;
    color: var(--luxury-charcoal);
    border: none;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}

.contact-tab-btn.active {
    background: linear-gradient(135deg, var(--luxury-gold), var(--luxury-brown));
    color: #fff;
}

.contact-tab-btn:not(.active):hover {
    background: rgba(212, 175, 55, 0.1);
    color: var(--luxury-brown);
}

.contact-tab-btn i {
    margin-right: 8px;
}

.contact-tab-content {
    display: none;
}

.contact-tab-content.active {
    display: block;
}

.contact-form-card {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
    border-radius: 20px;
    padding: 50px;
    position: relative;
    overflow: hidden;
}

.contact-form-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--luxury-gold), var(--luxury-brown), var(--luxury-gold));
}

.form-section-title {
    font-family: 'DM Serif Display', serif;
    font-size: 32px;
    color: var(--luxury-charcoal);
    margin-bottom: 12px;
}

.form-section-subtitle {
    font-size: 16px;
    color: #666;
    margin-bottom: 35px;
    line-height: 1.6;
}

.form-group-floating {
    position: relative;
    margin-bottom: 25px;
}

.form-group-floating label {
    position: absolute;
    top: 50%;
    left: 18px;
    transform: translateY(-50%);
    color: #777;
    font-size: 15px;
    pointer-events: none;
    transition: all 0.25s ease;
    background: transparent;
    padding: 0 5px;
    font-weight: 500;
}

.form-group-floating.textarea-group label {
    top: 20px;
    transform: none;
}

.form-group-floating input,
.form-group-floating select,
.form-group-floating textarea {
    width: 100%;
    background: #fdfdfd;
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 18px 18px;
    color: var(--luxury-charcoal);
    font-size: 16px;
    outline: none;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    -webkit-appearance: none;
}

.form-group-floating select option {
    background: #fff;
    color: var(--luxury-charcoal);
}

.form-group-floating textarea {
    min-height: 140px;
    resize: vertical;
}

.form-group-floating input:focus,
.form-group-floating select:focus,
.form-group-floating textarea:focus {
    border-color: var(--luxury-gold);
    box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.15);
    background: #fff;
}

.form-group-floating input:focus~label,
.form-group-floating input:not(:placeholder-shown)~label,
.form-group-floating select:focus~label,
.form-group-floating select.has-value~label,
.form-group-floating textarea:focus~label,
.form-group-floating textarea:not(:placeholder-shown)~label {
    top: 0;
    transform: translateY(-50%);
    font-size: 12px;
    color: var(--luxury-brown);
    background: #fff;
    letter-spacing: 0.5px;
}

.form-group-floating.textarea-group input:focus~label,
.form-group-floating.textarea-group textarea:focus~label,
.form-group-floating.textarea-group textarea:not(:placeholder-shown)~label {
    top: 0;
}

.contact-submit-btn {
    width: 100%;
    padding: 18px;
    background: linear-gradient(135deg, var(--luxury-gold), var(--luxury-brown));
    color: #fff;
    border: none;
    border-radius: 30px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    margin-top: 10px;
    box-shadow: 0 8px 20px rgba(212, 175, 55, 0.3);
}

.contact-submit-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 25px rgba(212, 175, 55, 0.5);
}

.contact-submit-btn:active {
    transform: translateY(0);
}

.contact-submit-btn .btn-spinner {
    display: none;
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
    margin: 0 auto;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.form-alert {
    display: none;
    padding: 16px 20px;
    border-radius: 8px;
    font-size: 14px;
    margin-bottom: 25px;
    font-family: 'Karla', sans-serif;
    font-weight: 600;
    line-height: 1.5;
    align-items: center;
    gap: 10px;
}

.form-alert.alert-success {
    background: rgba(39, 174, 96, 0.12);
    border: 1px solid rgba(39, 174, 96, 0.35);
    color: #4ade80;
}

.form-alert.alert-error {
    background: rgba(231, 76, 60, 0.12);
    border: 1px solid rgba(231, 76, 60, 0.35);
    color: #f87171;
}

.form-alert.show {
    display: flex;
}

.info-card {
    background: var(--luxury-black);
    border-radius: 20px;
    padding: 40px;
    margin-bottom: 30px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
    position: relative;
    overflow: hidden;
}

.info-card::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--luxury-gold), var(--luxury-brown), var(--luxury-gold));
}

.info-card-title {
    font-family: 'DM Serif Display', serif;
    color: #fff;
    font-size: 26px;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.info-item {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 25px;
    font-size: 15px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
}

.info-item:last-child {
    margin-bottom: 0;
}

.info-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(212, 175, 55, 0.15);
    border: 1px solid rgba(212, 175, 55, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--luxury-gold);
    font-size: 18px;
    transition: all 0.3s ease;
}

.info-item:hover .info-icon {
    background: var(--luxury-gold);
    color: #fff;
}

.info-item strong {
    display: block;
    color: #fff;
    font-size: 14px;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.map-embed {
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
}

.map-embed iframe {
    width: 100%;
    height: 350px;
    border: none;
    display: block;
}

/* =========================================================================
   UNIQUE SERVICE PAGE STYLES (DENTAL IMPLANTS & TREATMENTS)
   ========================================================================= */

/* 1. Split Screen Overview */
.service-split-overview {
    padding: 100px 0;
    background: #ffffff;
}

.sso-image-wrapper {
    position: relative;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.1);
}

.sso-image-wrapper img {
    width: 100%;
    transition: transform 0.8s ease;
}

.sso-image-wrapper:hover img {
    transform: scale(1.05);
}

.sso-text-content {
    padding: 0 40px;
}

.sso-title {
    font-family: 'DM Serif Display', serif;
    font-size: 42px;
    color: var(--luxury-charcoal);
    margin-bottom: 25px;
    position: relative;
    padding-bottom: 20px;
}

.sso-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80px;
    height: 3px;
    background: var(--luxury-gold);
}

/* 2. Premium Benefit Cards (Tall format) */
.service-benefits-section {
    background-color: var(--luxury-cream);
    padding: 100px 0;
}

.benefit-card-tall {
    background: #fff;
    border-radius: 20px;
    padding: 50px 30px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: all 0.4s ease;
    height: 100%;
    border-top: 4px solid transparent;
}

.benefit-card-tall:hover {
    transform: translateY(-15px);
    box-shadow: 0 20px 40px rgba(212, 175, 55, 0.15);
    border-top-color: var(--luxury-gold);
}

.bc-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: rgba(212, 175, 55, 0.1);
    color: var(--luxury-gold);
    font-size: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    transition: all 0.4s ease;
}

.benefit-card-tall:hover .bc-icon {
    background: var(--luxury-gold);
    color: #fff;
}

.bc-title {
    font-family: 'DM Serif Display', serif;
    font-size: 24px;
    color: var(--luxury-charcoal);
    margin-bottom: 15px;
}

/* 3. Luxury FAQ Accordion */
.service-faq-section {
    padding: 100px 0;
    background: #ffffff;
}

.luxury-accordion .card {
    border: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    margin-bottom: 0;
    border-radius: 0;
}

.luxury-accordion .card-header {
    background: transparent;
    border: none;
    padding: 0;
}

.luxury-accordion .btn-link {
    width: 100%;
    text-align: left;
    padding: 25px 0;
    color: var(--luxury-charcoal);
    font-family: 'Karla', sans-serif;
    font-weight: 700;
    font-size: 18px;
    text-decoration: none;
    position: relative;
}

.luxury-accordion .btn-link:hover,
.luxury-accordion .btn-link:focus {
    text-decoration: none;
    color: var(--luxury-gold);
}

.luxury-accordion .btn-link::after {
    content: '\f067';
    font-family: 'FontAwesome';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: var(--luxury-gold);
    transition: all 0.3s ease;
}

.luxury-accordion .btn-link:not(.collapsed)::after {
    content: '\f068';
    transform: translateY(-50%) rotate(180deg);
}

.luxury-accordion .card-body {
    padding: 0 0 25px 0;
    color: #666;
    line-height: 1.8;
}

background: var(--luxury-gold);
color: #fff;
padding: 16px 35px;
border-radius: 30px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1px;
text-decoration: none;
transition: all 0.3s ease;
box-shadow: 0 10px 25px rgba(219, 94, 30, 0.4);
border: 2px solid var(--luxury-gold);
}

.btn-luxury-solid:hover {
    background: var(--luxury-brown);
    border-color: var(--luxury-brown);
    color: #fff;
    transform: translateY(-3px);
}

.btn-luxury-outline {
    display: inline-block;
    background: transparent;
    color: #fff;
    padding: 16px 35px;
    border-radius: 30px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 2px solid var(--luxury-gold);
}

.btn-luxury-outline:hover {
    background: #fff;
    color: var(--luxury-charcoal);
    border-color: #fff;
    transform: translateY(-3px);
}

@media (max-width: 767px) {
    .clinic-floating-box {
        left: 10px;
        bottom: -20px;
    }

    .cta-box-wrapper {
        padding: 50px 20px !important;
        border-radius: 20px !important;
        margin: 0 10px !important;
        background: rgba(12, 6, 2, 0.96) !important;
        /* Luxury black */
        border: 1px solid rgba(219, 94, 30, 0.2) !important;
        /* Brand orange accent */
        box-shadow: 0 15px 40px rgba(219, 94, 30, 0.1) !important;
    }

    .cta-title {
        font-size: 2.2rem !important;
        line-height: 1.2 !important;
    }

    .cta-subtitle {
        font-size: 1.05rem !important;
        margin-bottom: 30px !important;
        padding: 0 10px;
    }

    .cta-buttons {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    .cta-buttons a {
        display: block;
        margin: 0 !important;
        width: 100%;
        box-sizing: border-box;
    }
}

/* --- Contact Main Section --- */
.contact-main-section {
    background-color: var(--luxury-cream);
    padding: 100px 0;
    color: var(--luxury-charcoal);
}

.contact-tabs {
    display: flex;
    gap: 0;
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 30px;
    overflow: hidden;
    margin-bottom: 50px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    background: #fff;
}

.contact-tab-btn {
    flex: 1;
    padding: 16px 20px;
    background: transparent;
    color: var(--luxury-charcoal);
    border: none;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}

.contact-tab-btn.active {
    background: linear-gradient(135deg, var(--luxury-gold), var(--luxury-brown));
    color: #fff;
}

.contact-tab-btn:not(.active):hover {
    background: rgba(212, 175, 55, 0.1);
    color: var(--luxury-brown);
}

.contact-tab-btn i {
    margin-right: 8px;
}

.contact-tab-content {
    display: none;
}

.contact-tab-content.active {
    display: block;
}

.contact-form-card {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
    border-radius: 20px;
    padding: 50px;
    position: relative;
    overflow: hidden;
}

.contact-form-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--luxury-gold), var(--luxury-brown), var(--luxury-gold));
}

.form-section-title {
    font-family: 'DM Serif Display', serif;
    font-size: 32px;
    color: var(--luxury-charcoal);
    margin-bottom: 12px;
}

.form-section-subtitle {
    font-size: 16px;
    color: #666;
    margin-bottom: 35px;
    line-height: 1.6;
}

.form-group-floating {
    position: relative;
    margin-bottom: 25px;
}

.form-group-floating label {
    position: absolute;
    top: 50%;
    left: 18px;
    transform: translateY(-50%);
    color: #777;
    font-size: 15px;
    pointer-events: none;
    transition: all 0.25s ease;
    background: transparent;
    padding: 0 5px;
    font-weight: 500;
}

.form-group-floating.textarea-group label {
    top: 20px;
    transform: none;
}

.form-group-floating input,
.form-group-floating select,
.form-group-floating textarea {
    width: 100%;
    background: #fdfdfd;
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 18px 18px;
    color: var(--luxury-charcoal);
    font-size: 16px;
    outline: none;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    -webkit-appearance: none;
}

.form-group-floating select option {
    background: #fff;
    color: var(--luxury-charcoal);
}

.form-group-floating textarea {
    min-height: 140px;
    resize: vertical;
}

.form-group-floating input:focus,
.form-group-floating select:focus,
.form-group-floating textarea:focus {
    border-color: var(--luxury-gold);
    box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.15);
    background: #fff;
}

.form-group-floating input:focus~label,
.form-group-floating input:not(:placeholder-shown)~label,
.form-group-floating select:focus~label,
.form-group-floating select.has-value~label,
.form-group-floating textarea:focus~label,
.form-group-floating textarea:not(:placeholder-shown)~label {
    top: 0;
    transform: translateY(-50%);
    font-size: 12px;
    color: var(--luxury-brown);
    background: #fff;
    letter-spacing: 0.5px;
}

.form-group-floating.textarea-group input:focus~label,
.form-group-floating.textarea-group textarea:focus~label,
.form-group-floating.textarea-group textarea:not(:placeholder-shown)~label {
    top: 0;
}

.contact-submit-btn {
    width: 100%;
    padding: 18px;
    background: linear-gradient(135deg, var(--luxury-gold), var(--luxury-brown));
    color: #fff;
    border: none;
    border-radius: 30px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    margin-top: 10px;
    box-shadow: 0 8px 20px rgba(212, 175, 55, 0.3);
}

.contact-submit-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 25px rgba(212, 175, 55, 0.5);
}

.contact-submit-btn:active {
    transform: translateY(0);
}

.contact-submit-btn .btn-spinner {
    display: none;
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
    margin: 0 auto;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.form-alert {
    display: none;
    padding: 16px 20px;
    border-radius: 8px;
    font-size: 14px;
    margin-bottom: 25px;
    font-family: 'Karla', sans-serif;
    font-weight: 600;
    line-height: 1.5;
    align-items: center;
    gap: 10px;
}

.form-alert.alert-success {
    background: rgba(39, 174, 96, 0.12);
    border: 1px solid rgba(39, 174, 96, 0.35);
    color: #4ade80;
}

.form-alert.alert-error {
    background: rgba(231, 76, 60, 0.12);
    border: 1px solid rgba(231, 76, 60, 0.35);
    color: #f87171;
}

.form-alert.show {
    display: flex;
}

.info-card {
    background: var(--luxury-black);
    border-radius: 20px;
    padding: 40px;
    margin-bottom: 30px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
    position: relative;
    overflow: hidden;
}

.info-card::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--luxury-gold), var(--luxury-brown), var(--luxury-gold));
}

.info-card-title {
    font-family: 'DM Serif Display', serif;
    color: #fff;
    font-size: 26px;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.info-item {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 25px;
    font-size: 15px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
}

.info-item:last-child {
    margin-bottom: 0;
}

.info-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(212, 175, 55, 0.15);
    border: 1px solid rgba(212, 175, 55, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--luxury-gold);
    font-size: 18px;
    transition: all 0.3s ease;
}

.info-item:hover .info-icon {
    background: var(--luxury-gold);
    color: #fff;
}

.info-item strong {
    display: block;
    color: #fff;
    font-size: 14px;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.map-embed {
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
}

.map-embed iframe {
    width: 100%;
    height: 350px;
    border: none;
    display: block;
}

/* =========================================================================
   UNIQUE SERVICE PAGE STYLES (DENTAL IMPLANTS & TREATMENTS)
   ========================================================================= */

/* 1. Split Screen Overview */
.service-split-overview {
    padding: 100px 0;
    background: #ffffff;
}

.sso-image-wrapper {
    position: relative;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.1);
}

.sso-image-wrapper img {
    width: 100%;
    transition: transform 0.8s ease;
}

.sso-image-wrapper:hover img {
    transform: scale(1.05);
}

.sso-text-content {
    padding: 0 40px;
}

.sso-title {
    font-family: 'DM Serif Display', serif;
    font-size: 42px;
    color: var(--luxury-charcoal);
    margin-bottom: 25px;
    position: relative;
    padding-bottom: 20px;
}

.sso-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80px;
    height: 3px;
    background: var(--luxury-gold);
}

/* 2. Premium Benefit Cards (Tall format) */
.service-benefits-section {
    background-color: var(--luxury-cream);
    padding: 100px 0;
}

.benefit-card-tall {
    background: #fff;
    border-radius: 20px;
    padding: 50px 30px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: all 0.4s ease;
    height: 100%;
    border-top: 4px solid transparent;
}

.benefit-card-tall:hover {
    transform: translateY(-15px);
    box-shadow: 0 20px 40px rgba(212, 175, 55, 0.15);
    border-top-color: var(--luxury-gold);
}

.bc-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: rgba(212, 175, 55, 0.1);
    color: var(--luxury-gold);
    font-size: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    transition: all 0.4s ease;
}

.benefit-card-tall:hover .bc-icon {
    background: var(--luxury-gold);
    color: #fff;
}

.bc-title {
    font-family: 'DM Serif Display', serif;
    font-size: 24px;
    color: var(--luxury-charcoal);
    margin-bottom: 15px;
}

/* 3. Luxury FAQ Accordion */
.service-faq-section {
    padding: 100px 0;
    background: #ffffff;
}

.luxury-accordion .card {
    border: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    margin-bottom: 0;
    border-radius: 0;
}

.luxury-accordion .card-header {
    background: transparent;
    border: none;
    padding: 0;
}

.luxury-accordion .btn-link {
    width: 100%;
    text-align: left;
    padding: 25px 0;
    color: var(--luxury-charcoal);
    font-family: 'Karla', sans-serif;
    font-weight: 700;
    font-size: 18px;
    text-decoration: none;
    position: relative;
}

.luxury-accordion .btn-link:hover,
.luxury-accordion .btn-link:focus {
    text-decoration: none;
    color: var(--luxury-gold);
}

.luxury-accordion .btn-link::after {
    content: '\f067';
    font-family: 'FontAwesome';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: var(--luxury-gold);
    transition: all 0.3s ease;
}

.luxury-accordion .btn-link:not(.collapsed)::after {
    content: '\f068';
    transform: translateY(-50%) rotate(180deg);
}

.luxury-accordion .card-body {
    padding: 0 0 25px 0;
    color: #666;
    line-height: 1.8;
}

/* ============================================
   MOBILE MENU OVERRIDES - UNIQUE & PERFECT
   ============================================ */
@media screen and (max-width: 991px) {

    /* Menu Background - Glassmorphism */
    .navbar-collapse {
        background: rgba(12, 6, 2, 0.96) !important;
        backdrop-filter: blur(25px) !important;
        -webkit-backdrop-filter: blur(25px) !important;
        border-left: 1px solid rgba(219, 94, 30, 0.15) !important;
    }

    /* Navigation Links */
    .perfect-header-container .navbar-nav .nav-item .nav-link {
        color: rgba(255, 255, 255, 0.85) !important;
        font-size: 16px !important;
        padding: 18px 0 !important;
        letter-spacing: 1.5px !important;
        transition: all 0.3s ease !important;
    }

    /* Active & Hover Link States */
    .perfect-header-container .navbar-nav .nav-item.active .nav-link,
    .perfect-header-container .navbar-nav .nav-item:hover .nav-link,
    .perfect-header-container .navbar-nav .nav-link:focus {
        color: #db5e1e !important;
        /* Brand Orange */
        padding-left: 15px !important;
        /* Elegant slide effect */
        background: transparent !important;
    }

    /* Dropdown Items in Mobile */
    .perfect-header-container .navbar-nav .dropdown-item {
        color: rgba(255, 255, 255, 0.7) !important;
        background: transparent !important;
        padding: 12px 25px !important;
        margin: 0 !important;
        width: 100% !important;
        border-radius: 0 !important;
        transition: all 0.3s ease !important;
    }

    .perfect-header-container .navbar-nav .dropdown-item:hover,
    .perfect-header-container .navbar-nav .dropdown-item:focus,
    .perfect-header-container .navbar-nav .dropdown-item:active,
    .perfect-header-container .navbar-nav .dropdown-item.active {
        color: #db5e1e !important;
        background: rgba(255, 255, 255, 0.02) !important;
        /* Super subtle, no ugly pill */
        padding-left: 30px !important;
        /* Elegant slide effect */
        box-shadow: none !important;
    }

    /* CTA Button Wrapper */
    .header-cta-wrapper {
        margin: 40px 0 0 0 !important;
        padding: 0 30px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        display: flex !important;
        justify-content: center !important;
    }

    /* The Perfect CTA Button */
    .book-appointment-btn {
        width: 100% !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 16px !important;
        font-size: 15px !important;
        box-sizing: border-box !important;
        border-radius: 40px !important;
        box-shadow: 0 10px 25px rgba(193, 75, 26, 0.3) !important;
    }

    /* Make the close toggle icon 'X' orange */
    .navbar-toggler span.navbar-toggler-icon {
        background: #db5e1e !important;
    }

    /* Perfecting the "About Us" unique story mobile view */
    .unique-story-content {
        padding: 20px 10px 0 10px !important;
    }

    .unique-story-title {
        font-size: 2.3rem !important;
        line-height: 1.25 !important;
    }

    .unique-story-title br {
        display: none !important;
        /* Prevent awkward forced breaks on small screens */
    }

    .story-lead {
        font-size: 1.05rem !important;
        line-height: 1.6 !important;
    }

    .story-desc {
        font-size: 0.95rem !important;
        line-height: 1.6 !important;
    }

    .story-features-grid {
        grid-template-columns: 1fr !important;
        /* Stack items vertically so they don't squish */
        gap: 15px !important;
    }

    .story-feature-item {
        padding: 15px !important;
    }

    /* Perfecting the "Anatomy of a Perfect Smile" service overview sections */
    .implant-overview-section {
        padding: 60px 0 !important;
    }

    .implant-overview-section h2.gold-text-title {
        font-size: 2.3rem !important;
        line-height: 1.25 !important;
    }

    .implant-overview-section h2.gold-text-title br {
        display: none !important;
        /* Let title flow naturally */
    }

    .implant-overview-section .col-lg-5>div {
        padding-right: 15px !important;
        padding-left: 15px !important;
    }

    /* Clinical Suitability Analyzer (Quiz Section) Mobile Overrides */
    .quiz-section h2.gold-text-title {
        font-size: 2rem !important;
        line-height: 1.15 !important;
    }

    .quiz-title {
        font-size: 1.15rem !important;
        line-height: 1.4 !important;
        margin-bottom: 20px !important;
    }

    .quiz-option {
        padding: 15px 15px !important;
        gap: 10px !important;
    }

    .quiz-option i {
        font-size: 24px !important;
    }

    .quiz-option span {
        font-size: 14px !important;
    }

    .quiz-nav-btns {
        margin-top: 20px !important;
    }

    .quiz-btn {
        padding: 10px 20px !important;
        font-size: 12px !important;
    }

    /* Quiz Results Card Mobile Overrides */
    .result-title {
        font-size: 1.8rem !important;
        line-height: 1.2 !important;
        margin-bottom: 15px !important;
    }

    .result-desc {
        font-size: 0.95rem !important;
        line-height: 1.6 !important;
        margin-bottom: 25px !important;
    }

    .result-stats {
        flex-direction: column !important;
        gap: 15px !important;
        align-items: flex-start !important;
        margin-bottom: 25px !important;
    }

    .result-stat-item {
        margin-bottom: 0 !important;
        padding-left: 15px !important;
    }

    .result-stat-val {
        font-size: 1.4rem !important;
    }

    .result-badge {
        font-size: 10px !important;
        padding: 6px 15px !important;
        margin-bottom: 15px !important;
    }

    .quiz-result-card .d-flex {
        flex-direction: column !important;
        gap: 12px !important;
        width: 100%;
    }

    .quiz-result-card .contact-submit-btn {
        width: 100% !important;
        padding: 12px 15px !important;
        box-sizing: border-box;
    }

    .quiz-result-card .contact-submit-btn span {
        font-size: 13px !important;
        white-space: normal;
    }

    .quiz-result-card .quiz-btn {
        width: 100% !important;
        padding: 12px 15px !important;
        font-size: 13px !important;
        box-sizing: border-box;
    }

    /* Transformative Advantages / Slider Overrides */
    .premium-benefits-wrapper h2.gold-text-title {
        font-size: 2.2rem !important;
        line-height: 1.15 !important;
        margin-bottom: 15px !important;
    }

    .premium-benefits-wrapper p.text-muted {
        font-size: 0.95rem !important;
        padding: 0 10px !important;
    }

    .adv-slider-container {
        padding: 30px 15px !important;
    }

    .adv-slide-title {
        font-size: 1.5rem !important;
        line-height: 1.3 !important;
        margin-bottom: 15px !important;
    }

    .adv-slide-desc {
        font-size: 0.95rem !important;
        line-height: 1.6 !important;
    }

    /* Clinical Journey Timeline (Road Map) Mobile Overrides */
    .service-process-section h2.gold-text-title {
        font-size: 2.2rem !important;
        line-height: 1.15 !important;
        margin-bottom: 15px !important;
    }

    .service-process-section p {
        font-size: 0.95rem !important;
        padding: 0 10px !important;
    }

    .process-card {
        padding: 25px 20px !important;
    }

    .process-card .step-number {
        font-size: 2.4rem !important;
        margin-bottom: 10px !important;
    }

    .process-card h4 {
        font-size: 1.15rem !important;
        margin-bottom: 10px !important;
    }

    /* FAQ Section Mobile Overrides */
    .faq-main-title,
    .faq-section h2.gold-text-title {
        font-size: 2.2rem !important;
        line-height: 1.15 !important;
        margin-bottom: 15px !important;
    }

    .faq-section p {
        font-size: 0.95rem !important;
        padding: 0 10px !important;
    }

    .faq-header {
        padding: 15px 20px !important;
        gap: 15px !important;
    }

    .faq-question {
        font-size: 1.05rem !important;
        line-height: 1.4 !important;
    }

    .faq-icon-box {
        min-width: 32px !important;
        /* Prevent icon squishing */
    }

    /* Before-After Slider Labels Mobile Overrides */
    .slider-label {
        padding: 6px 12px !important;
        font-size: 9px !important;
        bottom: 15px !important;
        letter-spacing: 1px !important;
    }

    .slider-label.before-label {
        left: 10px !important;
    }

    .slider-label.after-label {
        right: 10px !important;
    }

    /* Anatomy Explainer & Overview Titles Mobile */
    .overview-section .gold-text-title,
    .anatomy-explainer-section .gold-text-title {
        font-size: 2.1rem !important;
        line-height: 1.15 !important;
    }

    .overview-section .gold-text-title br,
    .anatomy-explainer-section .gold-text-title br {
        display: none !important;
        /* Prevent forced awkward breaks on mobile */
    }

    /* Blueprint Labels Mobile Perfection */
    .blueprint-label {
        padding: 6px 12px !important;
        font-size: 11px !important;
    }

    .label-crown {
        top: 20% !important;
        left: 5% !important;
    }

    .label-abutment {
        top: 45% !important;
        left: 5% !important;
    }

    .label-post {
        top: 70% !important;
        left: 5% !important;
    }

    /* Hide the redundant pulsing pins on mobile to prevent overlapping the text labels */
    .hotspot-pin {
        display: none !important;
    }

    /* Mobile Form Size Reductions */
    .contact-form-card {
        padding: 25px !important;
        border-radius: 15px !important;
    }

    .form-section-title {
        font-size: 24px !important;
        margin-bottom: 10px !important;
    }

    .form-section-subtitle {
        font-size: 14px !important;
        margin-bottom: 20px !important;
    }

    .form-group-floating {
        margin-bottom: 15px !important;
    }

    .form-group-floating input,
    .form-group-floating select,
    .form-group-floating textarea {
        padding: 12px 15px !important;
        font-size: 14px !important;
        border-radius: 8px !important;
    }

    .form-group-floating label {
        font-size: 13px !important;
        left: 15px !important;
    }

    .form-group-floating.textarea-group label {
        top: 12px !important;
    }

    .contact-submit-btn {
        padding: 14px !important;
        font-size: 14px !important;
        margin-top: 5px !important;
    }

    /* Interior Hero Title (Blog) Mobile Scaling */
    .interior-hero-title {
        font-size: 28px !important;
        line-height: 1.2 !important;
        margin-bottom: 10px !important;
    }

    .interior-hero-section {
        padding: 160px 0 50px !important;
    }
}

/* --- Mobile Sticky CTA --- */
.mobile-sticky-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    box-shadow: 0 -5px 20px rgba(0, 0, 0, 0.15);
    background: #fff;
    height: 60px;
}

.mobile-sticky-cta .mobile-cta-btn {
    flex: 1;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 100%;
    transition: all 0.3s ease;
}

.mobile-sticky-cta .call-btn {
    background-color: var(--luxury-black);
    color: var(--luxury-gold);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.mobile-sticky-cta .book-btn {
    background: linear-gradient(to right, #f78a2c, #a8310d);
    color: #fff;
}

@media (max-width: 767px) {
    body {
        padding-bottom: 60px !important;
    }
}

/* --- Desktop Floating WhatsApp --- */
.desktop-whatsapp-btn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 60px;
    height: 60px;
    background-color: #25D366;
    color: #fff;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    font-size: 35px;
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.4);
    z-index: 9999;
    transition: all 0.3s ease;
    text-decoration: none;
}

.desktop-whatsapp-btn:hover {
    background-color: #128C7E;
    color: #fff;
    transform: translateY(-5px) scale(1.05);
    box-shadow: 0 8px 20px rgba(37, 211, 102, 0.6);
}