@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');

/* ==========================================
   ROOT VARIABLES
========================================== */

:root {

    --accent-color: #C9922A;
    --accent-color: #2F328A;
    --accent-color: #000000;

    --whatsapp-green: #25D366;
    --whatsapp-hover-green: #1fb456;

    --text-light-cream: #E6EAF0;
    --text-muted-gray: #8C95A0;
    --text-slate-gray: #2A3548;

    --overlay-hero: rgba(8, 21, 40, 0.88);
    --overlay-hero-mid: rgba(8, 21, 40, 0.60);
    --overlay-hero-end: rgba(8, 21, 40, 0.18);

    --overlay-header-dark: rgba(8, 21, 40, 0.85);
    --overlay-header-mid: rgba(8, 21, 40, 0.55);

    --secondary-border-tint: rgba(246, 169, 5, 0.18);
    --secondary-color-low-opacity: rgba(47, 50, 138, 0.25);
    --secondary-color-mid-opacity: rgba(47, 50, 138, 0.40);
    --shadow-primary-md: rgba(13, 31, 60, 0.12);

    --font-primary: 'Poppins', sans-serif;
    --font-playfair: 'Playfair Display';
    --font-inter: 'Inter';

    --white-color: #ffffff;
    --primary-color: #F6A905;
    --primary-color-hover: #F6A905;
    --secondary-color: #000000;
    --secondary-color-hover: rgba(from var(--secondary-color) 200 g b / 1);
    --section-bg-color: #f0f8ff;
    --dark-color: #000000;
    --p-color: #717275;
    --border-color: #7fffd4;
    --link-hover-color: #198FA0;
    --section-bg-img-overlay-color: #131438;

    --bg-offset-color: rgba(0, 0, 0, 0.04);
    /* Light pink/coral color for image accent border */
    --text-main: #1a1a1a;
    /* Dark gray for headings */
    --text-muted: #555555;
    /* Lighter tone for body paragraphs */

    --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);


    --bg-light-canvas: #f8fafc;
    /* Clean off-white background canvas */
    --card-light-bg: #ffffff;
    /* Perfect contrast white cards */
    --text-dark: #0f172a;
    /* Deep slate for primary text & headings */
    --text-muted: #475569;
    /* Refined gray for specification body */
    --text-fine: #64748b;

    /* Lighter blue tone for body description */
    --bg-canvas: #eef5fc;
    /* Pale canvas backdrop behind timeline layout */

    --canvas-bg: #f9fbff;
    /* Crisp clean cooling background canvas color */
    --card-white: #ffffff;

    /* Light Theme Layout Colors */
    --bg-light: #f1f5f9;
    --card-bg: #ffffff;

}

/* ==========================================
   RESET
========================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-inter), sans-serif;
    color: var(--text-slate-gray);
    overflow-x: hidden !important;
}

html {
    scroll-behavior: smooth;
}

section {
    scroll-margin-top: 100px;
}

/* ================================================================================
                               CONTAINER
=================================================================================== */




/* Extra Small (<576px) */
.container {
    max-width: 100% !important;
}

/* Small (≥576px) */
@media (min-width: 576px) {
    .container {
        max-width: 560px !important;
    }
}

/* Medium (≥768px) */
@media (min-width: 768px) {
    .container {
        max-width: 750px !important;
    }
}

/* Large (≥992px) */
@media (min-width: 992px) {
    .container {
        max-width: 980px !important;
    }
}

/* Extra Large (≥1200px) */
@media (min-width: 1200px) {
    .container {
        max-width: 1160px !important;
    }
}

/* Extra Extra Large (≥1400px) */
@media (min-width: 1400px) {
    .container {
        max-width: 1500px !important;
    }
}

.container-fluid-max-width {
    max-width: 1900px !important;
}


/* ==========================================
   SECTION TITTLE CONTAINER
========================================== */

/* Container styling */
.section-title-container {
    background: transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 16px;
}

/* Top Small Heading (Badge) */
.badge-heading {
    background-color: var(--secondary-color);
    color: #ffffff;
    /* Explicitly white text */
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 6px 16px;
    border-radius: 100px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    /* Subtle border like the original */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    /* margin-bottom: 24px; */
}

/* Tag icon inside the badge */
.badge-icon {
    width: 14px;
    height: 14px;
    opacity: 0.8;
    display: inline-flex;
    align-items: center;
}

.section-inner-title {
    color: var(--secondary-color);
    padding: 20px 0px;
    font-size: 1.5rem;
    text-align: center;
    /* Large, punchy font size */
    font-weight: 700;
    margin: 0;
    text-transform: uppercase;
    font-family: var(--font-inter), serif;
}


/* Main Heading */
.main-heading {
    color: var(--primary-color);
    font-size: clamp(2rem, 4vw, 3rem);
    /* Large, punchy font size */
    font-weight: 600;
    margin: 0;
    letter-spacing: -0.01em;
    line-height: 1.4;
    font-family: var(--font-playfair), serif;
    text-transform: none;
}

.main-heading span {
    color: var(--secondary-color);
    font-style: italic;
}

/* Subtitle description */
.sub-heading {
    color: var(--text-muted);
    font-size: 1.1rem;
    line-height: 1.6;
    max-width: 700px;
    /* Limits width to wrap nicely like the image */
    margin: 0;
}

/* Responsive tweaks for smaller screens */
@media (max-width: 768px) {
    .main-heading {
        font-size: 2.5rem;
    }

    .sub-heading {
        font-size: 1rem;
    }
}

/* ==========================================
   HERO SECTION
========================================== */

.hero {
    position: relative;
    height: 100vh;
    overflow: hidden;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to right,
            var(--overlay-hero) 0%,
            var(--overlay-hero-mid) 50%,
            var(--overlay-hero-end) 100%);
    z-index: 1;
}

.bg-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}

.hero-content {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    padding: 180px 6% 80px;
}

.hero-title {
    color: #fff;
    font-size: clamp(1.8rem, 4vw, 3.5rem);
    font-size: clamp(38px, 7vw, 88px);
    font-weight: 800;
    line-height: 1.25;
    font-family: var(--font-playfair), serif;
    /* letter-spacing: 1px; */
}

.hero-title span {
    color: var(--primary-color);
}

.text-accent {
    color: var(--accent-color);
}

.hero-desc {
    font-size: 18px;
    line-height: 1.7;
    color: var(--text-light-cream);
    max-width: 620px;
}

.hero-stats {
    display: flex;
    gap: 50px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    padding-top: 30px;
}

.stat-number {
    font-size: 32px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 2px;
}

.stat-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--text-muted-gray);
    margin: 0;
}

/* ==========================================
   HEADER
========================================== */

header {
    position: absolute;
    width: 100%;
    z-index: 999;
    top: 0;
    background: linear-gradient(var(--overlay-header-dark),
            var(--overlay-header-mid),
            transparent);
    border-bottom: 1px solid var(--secondary-border-tint);
    transition: all .3s ease;
}

@media (max-width: 575.98px) {
    header {
        padding: 0 10px;
    }
}

header.sticky {
    position: fixed;
    top: 0px !important;
    background: #fff;
    box-shadow: 0 2px 16px var(--shadow-primary-md);
    animation: slideDown .4s ease;
}

header.sticky .custom-container {
    background: transparent;
    box-shadow: none;
    animation: none;
}

header.sticky .brand-logo-container {
    padding: 4px 0px;
}





@keyframes slideDown {
    from {
        transform: translateY(-100%);
    }

    to {
        transform: translateY(0);
    }
}

/* ==========================================
   TOP BAR
========================================== */

.top-bar {
    background: var(--primary-dark);
    padding: 10px 0;
    border-bottom: 1px solid var(--secondary-border-tint);
}

.top-contact a,
.top-social a {
    color: var(--text-light-cream);
    text-decoration: none;
    transition: .3s;
}

.top-contact a {
    display: flex;
    align-items: center;
    gap: 8px;
}

.top-contact a:hover,
.top-social a:hover {
    color: var(--accent-color);
}

/* ==========================================
   NAVIGATION
========================================== */

.navigation {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 35px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.navigation>li>a.nav-links {
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 20px 0;
    position: relative;
    transition: .3s;
}

.navigation>li>a.nav-links::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 16px;
    width: 0;
    height: 2px;
    background: var(--primary-color);
    transition: .3s;
}

.navigation>li:hover>a.nav-links::after,
.navigation>li.active>a.nav-links::after {
    width: 100%;
}

.navigation>li:hover>a.nav-links,
.navigation>li.active>a.nav-links {
    color: var(--primary-color);
}

.current-menu-item>a {
    color: var(--primary-color) !important;
}

header.sticky .navigation>li>a.nav-links {
    color: var(--secondary-color);
}

header.sticky .current-menu-item>a {
    color: var(--primary-color) !important;
}

header.sticky .navigation>li>a.nav-links::after {
    background: var(--primary-color);
}

header.sticky .navigation>li:hover>a.nav-links,
header.sticky .navigation>li.active>a.nav-links {
    color: var(--primary-color);
}

@media (max-width: 991.98px) {
.navigation {
    gap: 22px;
}
}

/* ==========================================
   BUTTONS
========================================== */

.book-a-call-btn {
    background: var(--accent-color);
    color: #fff;
    font-size: 14px;
    font-weight: 600 !important;
    border-radius: 9px !important;
    padding: 8px 20px;
    transition: .3s;
}

@media (max-width: 991.98px) {
    .book-a-call-btn.on-tab {
        max-width: 40px;
        min-width: 40px;
        width: 40px;
        max-height: 40px;
        min-height: 40px;
        height: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 20px;
    }
}

.book-a-call-btn {
    background: var(--accent-color);
    color: #fff;
    font-size: 14px;
    font-weight: 600 !important;
    border-radius: 9px !important;
    padding: 8px 20px;
    transition: .3s;
}

.book-a-call-btn:hover {
    background: var(--accent-color);
    color: #fff;
}

header.sticky .book-a-call-btn {
    color: var(--white-color) !important;
    border-color: var(--accent-color) !important;
}

.btn-primary-custom {
    background: var(--accent-color);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 14px 28px;
    border-radius: 4px;
    text-decoration: none;
}

.btn-primary-custom:hover {
    background: var(--accent-color);
    color: #fff;
}



.btn-outline-custom:hover {
    background: rgba(255, 255, 255, .1);
    color: #fff;
}

.btn-outline-custom.whatsapp-btn {
    background: var(--whatsapp-green);
    color: #e7e7e7;
    border: 1px solid var(--whatsapp-green);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 14px 28px;
    border-radius: 4px;
    text-decoration: none;
    transition: color 0.2s ease;
}

.btn-outline-custom.whatsapp-btn:hover {
    background: var(--whatsapp-hover-green);
    color: #ffffff;
}

/* ==========================================
   MOBILE MENU
========================================== */

.mobile-nav-toggler {
    color: #fff !important;
    cursor: pointer;
}

header.sticky .mobile-nav-toggler {
    color: var(--primary-color) !important;
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 767.98px) {

    .hero-content {
        padding: 150px 20px 60px;
    }

    .hero-stats {
        gap: 20px;
        flex-wrap: wrap;
    }

    .navigation {
        display: none;
    }
}

@media (max-width: 575.98px) {

    .top-social {
        display: none !important;
    }

    .top-bar .d-flex {
        justify-content: center !important;
        gap: 10px;
    }

    .hero-title {
        font-size: 2rem;
    }

    .hero-desc {
        font-size: 15px;
    }
}

@media (max-width: 340px) {


    .hero-title {
        font-size: 1.5rem;
    }

    .btn-primary-custom {
        font-size: 12px;
    }
}


/* ================================================================================
                                  FLOAT WHATSAPP BTN
================================================================================ */

.whatsapp-float {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 1999;
}

.whatsapp-btn {
    display: flex;
    align-items: center;
    text-decoration: none;
}

/* Hidden by default */
.chat-text {
    background: #1f2937;
    color: #fff;
    padding: 12px 18px;
    border-radius: 10px;
    margin-right: 12px;
    white-space: nowrap;

    opacity: 0;
    visibility: hidden;
    transform: translateX(20px);

    transition: all 0.3s ease;
}

/* Show on hover */
.whatsapp-btn:hover .chat-text {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.whatsapp-icon {
    width: 65px;
    height: 65px;
    background: var(--whatsapp-green);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 32px;
    position: relative;
    animation: pulse 2s infinite;
}

.whatsapp-icon::before {
    content: "";
    position: absolute;
    inset: -10px;
    border-radius: 50%;
    background: rgba(37, 211, 102, 0.25);
    z-index: -1;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.6);
    }

    70% {
        box-shadow: 0 0 0 15px rgba(37, 211, 102, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
    }
}

.whatsapp-header-btn {
    width: 40px;
    height: 40px;
    border-radius: 5px;
    background: var(--whatsapp-green);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 20px;
    transition: background-color .3s ease;
}

.whatsapp-header-btn:hover {
    background: #1ebe5d;
    color: #fff;
}

.brand-logo-container {
    display: inline-block;
    padding: 10px 0px;
    height: 75px !important;
    border-radius: 5px;
    width: auto;
}

.brand-logo-container .brand-logo {
    height: 100%;
    max-height: 100%;
    border-radius: 5px;
    width: auto;
}


/* ======================================================
                   GALLERY SECTION
====================================================== */


/* =============================================
           MASONRY GRID
        ============================================= */
.gallery-section {
    padding: 80px 0;
    background: #f8f8f8;
}

.masonry-grid {
    column-count: 4;
    column-gap: 20px;
}

.masonry-item {
    break-inside: avoid;
    position: relative;
    z-index: 5;
    margin-bottom: 20px;
}

.masonry-item img {
    width: 100%;
    display: block;
    border-radius: 16px;
    transition: transform .3s ease;
    cursor: pointer;

}

.masonry-item:hover img {
    transform: scale(1.03);
}


@media (max-width: 1200px) {
    .masonry-grid {
        column-count: 4;
    }
}

@media (max-width: 992px) {
    .masonry-grid {
        column-count: 3;
    }
}

@media (max-width: 768px) {
    .masonry-grid {
        column-count: 2;
    }
}

@media (max-width: 576px) {
    .masonry-grid {
        column-count: 1;
    }
}

.gallery-section {
    position: relative;
    overflow: hidden;
    background-color: var(--white-color);
}

/* .gallery-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(13, 31, 60, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(13, 31, 60, .05) 1px, transparent 1px);
    background-size: 50px 50px;
    animation: gridMove 5s linear infinite;
} */

@keyframes gridMove {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(50px);
    }
}

/* ======================================================
                   FEATURE SECTION
====================================================== */

/* Base resets and fonts */
.why-us-section {
    background-color: var(--bg-offset-color);
}

/* Icon custom sizing mapped to variable */
.icon-wrapper {
    color: var(--primary-color);
    width: 32px;
    height: 32px;
    font-size: 28px;
}

.icon-wrapper {
    color: var(--primary-color);
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background-color: #E5E5E5;
    font-size: 40px;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
}

.feature-icon-inner-frame {
    width: 75px;
    height: 75px;
    border-radius: 50%;
    font-size: 40px;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
}

.icon-wrapper.right {
    right: -35px;
    top: 50%;
    transform: translateY(-50%);
}

.icon-wrapper.left {
    left: -35px;
    top: 50%;
    transform: translateY(-50%);
}

.icon-wrapper.top {
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
}

/* Center Highlight Image Container Frame */
.features-image-center {
    position: relative;
    width: 100%;
    max-width: 380px;
    aspect-ratio: 3.3 / 6;
}



.features-image-center img {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 2;
    border-radius: 4px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

/* ADD THIS TO YOUR STYLESHEET TO CREATE THE PREMIUM CARD LOOK */

.feature-item {
    position: relative;
    /* 1. Creates a clean card background */
    background-color: #ffffff;
    width: 100%;
    height: 100%;
    /* 2. Soft, modern multi-layered shadow to make cards pop */
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    /* 3. Smooth rounded corners */
    border-radius: 12px;

    /* 4. Keeps the content breathing comfortably inside the card boundaries */
    padding: 30px 24px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    justify-content: center;

    /* 5. Smooth floating animation when you hover over a card */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-item.right-padding {

    padding-right: 60px;
}

.feature-item.left-padding {
    text-align: end;
    padding-left: 60px;
}

.left-padding {
    padding-left: 40px;
}

.right-padding {
    padding-right: 40px;
}

.top-padding {
    padding-top: 50px;
}





/* Responsiveness alignment fixes for mobile views */
@media (max-width: 991.98px) {

    /* Shifts the offset element cleaner if image container centers on small viewports */
    /* .features-image-center {
        margin-bottom: 20px;
    } */
}









/* ======================================================
                   PRICING SECTION
====================================================== */

/* Base Canvas Container Override */
.package-details-section {
    background-color: var(--white-color);
}

/* 2. Light Theme Card Components Styling */
.custom-spec-card {
    background-color: var(--card-light-bg);
    border: 1px solid #444444;
    border-radius: 16px;
    padding: 40px 32px;
    display: flex;
    flex-direction: column;
    /* box-shadow: 0 10px 25px rgba(15, 23, 42, 0.04); */
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.custom-spec-card:hover {
    border-color: var(--secondary-border-tint);
}

/* Subtle frame focus rule on target dynamic pricing content block */
.highlight-card {
    border-color: rgb(26, 26, 26) !important;
    transform: scale(1.01);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3) !important;

    /* background-color: var(--secondary-border-tint); */
    /* background-color: rgba(201, 146, 42, 0.1); */
    /* Extremely subtle warm background tint */
}

.highlight-card-title {
    position: relative;
    margin-bottom: 18px !important;
    font-size: 28px;
    color: rgb(0, 0, 0);
    font-family: var(--font-playfair), serif;
}

.highlight-card-title::after {
    content: "";
    position: absolute;
    left: 0px;
    bottom: -11px;
    width: 120px;
    height: 2.5px;
    border-radius: 50px;
    background-color: var(--primary-color);
}

.highlight-card-bottom-img {
    width: 280px;
}

.highlight-popular-badge {
    margin-top: -5px;
    right: 30px;
    background: transparent;
    width: 120px;
}

.highlight-popular-badge.standard {
    margin-top: 0px;
    padding-top: 5px;
    width: 110px;
}

/* mobile View */
@media (max-width: 575.98px) {
    .highlight-popular-badge {
        right: 20px;
        background: transparent;
        width: 100px;
    }

    .highlight-popular-badge.standard {
        padding-top: 5px;
        width: 90px;
    }
}

@media (max-width: 499.98px) {
    .highlight-popular-badge {
        right: 5px;
        background: transparent;
        width: 100px;
    }

    .highlight-popular-badge.standard {
        padding-top: 5px;
        width: 90px;
    }
}

@media (max-width: 370px) {
    .highlight-popular-badge {
        margin-top: 0px;
        right: 3px;
        background: transparent;
        width: 80px;
    }

    .highlight-popular-badge.standard {
        right: 5px;
        padding-top: 5px;
        width: 80px;
    }
}

/* 3. Typography & Utility Modifiers */
.text-dark {
    color: var(--text-dark) !important;
}

.text-muted-dark {
    color: var(--text-muted);
}

.text-muted-fine {
    color: var(--text-fine);
}

.text-amber {
    color: var(--primary-color) !important;
}

.font-xs {
    font-size: 0.75rem;
}

.font-sm {
    font-size: 0.875rem;
}

.tracking-wider {
    letter-spacing: 0.08em;
}

.bg-amber-outline {
    background: transparent;
    border: 1px solid var(--primary-color);
}

.popular-badge {
    background: var(--secondary-color);
    color: white !important;
    border: 1px solid var(--secondary-color) !important;
}

.border-light-dark {
    border-color: #e2e8f0 !important;
}

/* 4. Left Column Specification Elements */
.spec-list-group {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.spec-list-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 0.925rem;
    line-height: 1.5;
}

.spec-icon {
    /* color: var(--primary-color); */
    color: var(--whatsapp-hover-green);
    font-size: 1.1rem;
    line-height: 1;
    margin-top: 2px;
}

/* 5. Right Column Data Badges & Layout Fields */
.tech-pill {
    background-color: #f1f5f9;
    border: 1px dashed #e2e8f0;
    color: var(--text-muted);
    font-size: 0.8rem;
    font-weight: 500;
    padding: 6px 12px;
    border-radius: 6px;
}

.tech-pill {
    border-color: rgba(70, 70, 70, 0.2);
    background: white;
}

/* Line Layout System Rules */
.area-breakdown-table {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.breakdown-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.95rem;
}

/* 6. Call To Action Interaction Element */
.btn-quote-action {
    background-color: var(--accent-color);
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    letter-spacing: 0.05em;
    transition: background-color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
}

.btn-quote-action:hover,
.btn-quote-action:focus {
    background-color: var(--accent-color);
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(179, 125, 34, 0.2);
}

.btn-quote-action:active {
    transform: translateY(0);
}

.disclaimer-text {
    line-height: 1.5;
}

/* Responsive Scaling Overrides */
@media (max-width: 576px) {
    .custom-spec-card {
        padding: 24px 18px;
    }

    .highlight-card {
        transform: scale(1.008);
        margin-top: 10px;
    }
}


@media (max-width: 767.98px) {
    .highlight-card-title {
        font-size: 26px;
    }

}

@media (max-width: 575.98px) {
    .highlight-card-title {
        font-size: 22px;
    }

}

@media (max-width: 370px) {
    .highlight-card-title {
        font-size: 20px;
    }

}


/* =============================================================
FAQ section
============================================================= */


/* Section Wrapper Base */
.faq-section {
    background-color: var(--bg-offset-color);
}

/* 2. Accordion Container & Item Styling */
.custom-faq-accordion .accordion-item {
    /* Soft grey block styling mirroring the uploaded reference image */
    background-color: #ffffff;
    border: none !important;
    transition: background-color 0.25s ease;
}

/* Default state header button overrides */
.custom-faq-accordion .accordion-button {
    background-color: #ffffff;
    color: var(--text-dark);
    font-size: 1rem;
    padding: 1.25rem 1.5rem;
    border: none !important;
    box-shadow: none !important;
    transition: background-color 0.25s ease, color 0.25s ease;
}

/* Clean '+' character replacement logic over standard arrow indicators */
.custom-faq-accordion .accordion-button::after {
    background-image: none !important;
    content: "+";
    font-size: 1.4rem;
    font-weight: 300;
    color: var(--p-color);
    display: flex;
    align-items: center;
    justify-content: center;
    transform: none !important;
    transition: transform 0.25s ease, color 0.25s ease;
}

/* 3. Active/Expanded State Modifiers */
.custom-faq-accordion .accordion-button:not(.collapsed) {
    background-color: #ffffff;
    color: var(--primary-color);
    /* Changes to primary theme color when active */
}

/* Rotate the plus sign slightly into a clean close indicator */
.custom-faq-accordion .accordion-button:not(.collapsed)::after {
    content: "+";
    transform: rotate(45deg) !important;
    color: var(--primary-color);
}

/* Inside container message context spacing */
.custom-faq-accordion .accordion-body {
    background-color: #ffffff;
    color: var(--p-color);
    padding: 0 1.5rem 1.5rem 1.5rem;
    font-size: 0.95rem;
    line-height: 1.6;
}

.btn-primary-custom.whatsapp-btn {
    background-color: var(--whatsapp-green) !important;
}

.btn-primary-custom.whatsapp-btn:hover {
    background-color: var(--whatsapp-hover-green) !important;
}


/* ====================================================================
                           PROCESS SECTION
==================================================================== */

.process-section {
    background: var(--bg-offset-color);
    background: linear-gradient(rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.8)), url(../assets/images/gallery/cottage-1.jpg) center center / cover no-repeat fixed;
    overflow: hidden;
}

.max-width-container {
    max-width: 1440px;
    margin: 0 auto;
}

/* 2. Process Layout Engine */
.process-timeline-wrapper {
    position: relative;
    width: 100%;
    padding-top: 40px;
    /* Gives padding for the numbers shifting over the cards */
}

/* Base Desktop Horizontal Long Track */
.timeline-number-banner {
    position: absolute;
    top: 0;
    left: 5px;
    right: 5px;
    height: 200px;
    background-color: var(--primary-color);
    border-radius: 40px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: flex-start;
    padding-top: 25px;
    z-index: 1;
}

/* .timeline-number-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 40px;
    padding: 2px;

    background:
        repeating-linear-gradient(90deg,
            var(--secondary-color) 0 12px,
            transparent 12px 24px);

    background-size: 200% 100%;
    animation: borderRun 6s linear infinite;

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;

    pointer-events: none;
} */

@keyframes borderRun {
    from {
        background-position: 0 0;
    }

    to {
        background-position: 200px 0;
    }
}


.num-slot {
    color: #ffffff;
    font-weight: 800;
    font-size: 1.75rem;
    text-align: center;
    letter-spacing: 0.05em;
}

/* 3. Cards Layering System */
.process-cards-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 15px;
    padding: 0 40px;
    z-index: 2;
    /* Sits cleanly over the top banner */
}

.process-card {
    /* Semi-transparent to solid white look based on reference graphic */
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 1) 45%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 36px;
    padding: 30px 20px 25px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: 0 15px 35px rgba(59, 118, 204, 0.08);
    margin-top: 45px;
    /* Brings cards down halfway on track overlay line */
    border-top: 0px !important;
}

/* 4. Inside Card Microcomponents */
.icon-circle {
    width: 70px;
    height: 70px;
    background-color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--secondary-color);
    box-shadow: 0 8px 20px rgba(77, 148, 255, 0.15);
    margin-bottom: 20px;
}

.icon-circle svg {
    width: 32px;
    height: 32px;
}

.card-title {
    color: var(--secondary-color);
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: capitalize;
    letter-spacing: 0.03em;
    margin-bottom: 12px;
}

.card-text {
    color: var(--text-secondary);
    font-size: 0.825rem;
    line-height: 1.5;
    margin-bottom: 20px;
}

/* Mobile numeric asset default state */
.mobile-num-indicator {
    display: none;
}


/* =======================================================
   5. RESPONSIVE BREAKPOINT - CLEAN VERTICAL TRANSITION
   ======================================================= */

/* Tablet View Optimization */
@media (max-width: 1100px) {
    .process-cards-grid {
        padding: 0 15px;
        gap: 10px;
    }

    .card-title {
        font-size: 0.95rem;
    }

    .card-text {
        font-size: 0.75rem;
    }
}

/* Mobile View: Vertical transformation structural change */
@media (max-width: 850px) {
    .process-timeline-wrapper {
        padding-top: 0;
    }

    /* Hides horizontal large tracking track block elements */
    .timeline-number-banner {
        display: none;
    }

    /* Shifts structure setup to a single-column block */
    .process-cards-grid {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 0 20px;
    }

    .process-card {
        margin-top: 0;
        padding: 35px 25px 25px 25px;
        background: #ffffff;
        /* Solidifies background layout cleanly on mobile views */
        position: relative;
    }

    /* Exposes the individual indicator count badge elements inside cards natively */
    .mobile-num-indicator {
        display: block;
        position: absolute;
        top: 15px;
        left: 25px;
        background-color: var(--secondary-color);
        color: #ffffff;
        font-weight: 700;
        font-size: 0.85rem;
        padding: 4px 14px;
        border-radius: 20px;
    }

}

.process-section .badge-heading {
    border-color: white !important;
}

.process-section .main-heading span {
    color: white !important;
}

.process-section .sub-heading {
    color: rgb(200, 200, 200) !important;
}

.process-section .step-title {
    color: white !important;
}

.process-section .step-desc {
    color: rgb(200, 200, 200) !important;
}

.process-section .timeline-dashed {
    background: repeating-linear-gradient(rgb(255, 255, 255) 0px, rgb(255, 255, 255) 8px, transparent 8px, transparent 16px);
}

.process-section .timeline-circle {
    background-color: var(--secondary-color, #000000);
    color: var(--white-color, #ffffff);
    box-shadow: rgba(255, 255, 255, 0.05) 0px 2px 8px;
    border-color: rgb(255, 255, 255);
}

.process-section .step-label {
    color: rgb(200, 200, 200) !important;
}

.process-section .step-number {
    color: var(--white-color, #ffffff);
}

/* ===================================================================================
BOOK A CONSULTATION SECTION
===================================================================================== */

.book-a-consultation-section {
    /* background: url('../assets/images/bg/contact_section_bg.jpg') center center / cover no-repeat fixed; */
    background:
        linear-gradient(rgba(0, 0, 0, 0.6), rgba(56, 56, 56, 0.5), rgba(56, 56, 56, 0.4)),
        url('../assets/images/gallery/cottage-10.jpg') center center / cover no-repeat fixed;
}

.quality-badge {
    background-color: rgba(0, 0, 0, 0.4);
    color: var(--whatsapp-green);
    /* Explicitly white text */
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    padding: 6px 16px;
    border-radius: 100px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid var(--whatsapp-green);
    /* Subtle border like the original */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    /* margin-bottom: 24px; */
}

/* Tag icon inside the badge */
.quality-badge .badge-icon {
    width: 16px;
    height: 16px;
    font-size: 14px;
    opacity: 0.8;
    display: inline-flex;
    align-items: center;
}



/*---------------------------------------
  ENQUIRY             
-----------------------------------------*/


.enquiry-form {
    background: #fff;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.048);
    padding: 20px;
    border-radius: 20px;
}

.btn-outline-primary {
    color: var(--primary-color);
    border-color: var(--primary-color);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    background-color: var(--primary-color-hover) !important;
    border-color: var(--primary-color-hover) !important;
    color: #fff;
}

.form-control:focus,
.form-select:focus {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    box-shadow: 0 0 0 .25rem rgba(from var(--primary-color) r g b / 0.1);
    border-color: var(--primary-color);
    outline: 0px;
}

@media screen and (min-width:768px) {
    .enquiry-form {
        padding-top: 0;
        margin-top: 20px;
    }

    .enquiry-container {
        position: relative;
        background: url("./assets/images/enquiry-bg.png") no-repeat;
        background-size: cover;
        background-attachment: fixed;
        z-index: 1;
        margin-top: -10px;
    }

    .enquiry-container::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        background: url("./assets/images/divider-wood.png");
        background-color: rgab(from var(--secondary-color) r g b / 0.6);
        opacity: 0.65;
        z-index: -1;
    }
}



/* ========================================================================
                                HEADER STYLES
======================================================================== */

header {
    top: 20px;
    background: transparent;
    border: 0px !important;
    position: fixed !important;

}


@media (max-width: 767.98px) {
    /* header {
        top: 0px;

    } */
}

.custom-container {

    backdrop-filter: blur(20px);
    background: rgba(0, 0, 0, 0.5);
    border-radius: 10px !important;
    max-width: fit-content !important;

}

.custom-container>* {
    max-width: fit-content !important;
}

.menu-nav {
    gap: 50px !important;
}

header.sticky .custom-container>* {
    max-width: none !important;
}

header.sticky .menu-nav {
    gap: 5px !important;
}



/* Extra Small (<576px) */
header.sticky .custom-container {
    max-width: 100% !important;
}

/* Small (≥576px) */
@media (min-width: 576px) {
    header.sticky .custom-container {
        max-width: 560px !important;
    }
}

/* Medium (≥768px) */
@media (min-width: 768px) {
    header.sticky .custom-container {
        max-width: 768px !important;
    }
}
@media (max-width: 991.98px) {
.menu-nav {
    gap: 25px !important;
}
}

/* Large (≥992px) */
@media (min-width: 992px) {
    header.sticky .custom-container {
        max-width: 980px !important;
    }
}

/* Extra Large (≥1200px) */
@media (min-width: 1200px) {
    header.sticky .custom-container {
        max-width: 1160px !important;
    }
}

/* Extra Extra Large (≥1400px) */
@media (min-width: 1400px) {
    header.sticky .custom-container {
        max-width: 1500px !important;
    }
}


/* =========================================================================================
           4. FULL SCREEN EXPANSION OVERLAY CONTAINER (INSIDE THE HEADER) (SIDE MENU)
============================================================================================ */
.luxury-fullscreen-menu {
    position: fixed;
    top: 0;
    right: 0;
    width: 30vw;
    height: 100vh;
    background-color: var(--white-color);
    z-index: 9999;
    display: flex;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-smooth);
}

/* Active State Initialization */
.luxury-fullscreen-menu.is-open {
    opacity: 1;
    visibility: visible;
}

/* ==========================================================================
           5. LEFT COLUMN ARCHITECTURE (INSIDE THE HEADER) (SIDE MENU)
========================================================================== */
.menu-left-panel {
    width: 55%;
    height: 100%;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow-y: auto;
    background-color: var(--white-color);
}

.brand-logo-area img {
    max-width: 180px;
    height: auto;
}

/* Highlight feature text list style */
.feature-project-links {
    margin: 20px 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.feature-project-links a {
    font-size: 1.85rem;
    font-weight: 400;
    color: var(--text-muted);
    text-decoration: none;
    transition: var(--transition-smooth);
    transition: all 0.35s ease !important
}

.feature-project-links a:hover {
    color: var(--primary-color);
    padding-left: 10px;
}

/* Premium Floating Interactive CTA Elements */
.whatsapp-panel {
    margin-bottom: 20px;
}

.whatsapp-label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--text-dark);
    margin-bottom: 10px;
    text-transform: uppercase;
}

.whatsapp-bubble {
    display: inline-flex;
    align-items: center;
    background: var(--bg-card);
    border: 1px solid var(--border-soft);
    padding: 8px 18px;
    border-radius: 50px;
    text-decoration: none;
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--primary-color);
    box-shadow: 0 4px 15px var(--shadow-soft);
    transition: var(--transition-smooth);
}

.whatsapp-bubble:hover {
    transform: translateY(-2px);
    border-color: #25D366;
    /* Elegant integration accent */
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.15);
}

.whatsapp-icon-placeholder {
    width: 32px;
    height: 32px;
    background-color: #25D366;
    border-radius: 50%;
    margin-right: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 0.9rem;
}

/* Structural Footer Info details */
.left-panel-footer .footer-meta-title {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--text-muted);
    text-transform: uppercase;
    margin-bottom: 5px;
}

.left-panel-footer .footer-meta-value {
    font-size: 1rem;
    color: var(--text-dark);
    text-decoration: none;
    display: block;
    margin-bottom: 25px;
}

.social-row {
    display: flex;
    gap: 12px;
}

.social-circle {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid var(--text-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-dark);
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 500;
    transition: var(--transition-smooth);
}

.social-circle:hover {
    background-color: var(--primary-color);
    color: #fff;
    border-color: var(--primary-color);
}

/* ==========================================================================
           6. RIGHT COLUMN ARCHITECTURE (INSIDE THE HEADER) (SIDE MENU)
========================================================================== */
.menu-right-panel {
    width: 45%;
    height: 100%;
    background-color: var(--bg-section);
    /* Split column shaded tint */
    border-left: 1px solid var(--border-soft);
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow-y: auto;
    position: relative;
}

.menu-full-panel {
    width: 100%;
    height: 100%;
    background-color: var(--bg-section);
    /* Split column shaded tint */
    border-left: 1px solid var(--border-soft);
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow-y: auto;
    position: relative;
}

.menu-nav-header-tag {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 3px;
    color: var(--text-dark);
    text-transform: uppercase;
    margin-bottom: 20px;
}

/* Main Menu Stack Engine */
.primary-nav-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    padding: 0px !important;
}

.primary-nav-list li {
    border-bottom: 1px solid rgba(13, 31, 60, 0.08);
}

.primary-nav-list a {
    display: block;
    padding: 8px 0;
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--text-secondary);
    text-decoration: none;
    transition: var(--transition-smooth);
}

.primary-nav-list a:hover {
    color: var(--primary-color);
    padding-left: 8px;
}

/* Corporate Address Block Section */
.corporate-address-block {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid var(--border-soft);
}

.corporate-address-block h4 {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--text-dark);
    text-transform: uppercase;
    margin-bottom: 8px;
}

.corporate-address-block p {
    font-size: 0.85rem;
    line-height: 1.6;
    color: var(--text-secondary);
}

/* ==========================================================================
           7. CLOSING ICON CONTROLLER UTILITY (INSIDE THE HEADER) (SIDE MENU)
========================================================================== */
.menu-close-container {
    position: absolute;
    top: 10px;
    right: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    z-index: 100000;
}

.close-circle-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    font-weight: 300;
    color: var(--primary-color);
    transition: var(--transition-smooth);
    background-color: transparent;
}

.close-text-label {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--primary-color);
    text-transform: uppercase;
    margin-top: 8px;
    transition: var(--transition-smooth);
}

.menu-close-container:hover .close-circle-icon {
    background-color: var(--primary-color);
    color: #fff;
    transform: rotate(90deg);
}

.menu-close-container:hover .close-text-label {
    color: var(--secondary-color);
}

/* Responsive Optimization styling */
@media (max-width: 991px) {
    .luxury-fullscreen-menu {
        flex-direction: column;
    }

    .menu-left-panel,
    .menu-right-panel {
        width: 100%;
        height: auto;
    }

    .menu-left-panel {
        padding: 80px 40px 40px 40px;
    }

    .menu-right-panel {
        padding: 40px;
    }

    .menu-close-container {
        top: 20px;
        right: 20px;
    }

    .luxury-fullscreen-menu {
        width: 45vw;
    }

    .showcase-card {
        min-height: 60vh;
    }

}

/* Responsive Optimization styling */
@media (max-width: 767.98px) {

    .luxury-fullscreen-menu {
        width: 100vw;
    }

    .showcase-card {
        min-height: 45vh;
    }

}

/* Optional Overlay to obscure background */
.drawer-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(8, 21, 40, 0.5);
    backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    z-index: 9998;
    transition: var(--transition-smooth);
}

.drawer-overlay.is-active {
    opacity: 1;
    visibility: visible;
}

/* --- THE PANELS EFFECT --- */

/* Change your Left Panel default state to this */
.menu-left-panel {
    transform: translate3d(-100%, 0, 0);
    /* Keeps it hidden to the left */
    transition: transform 0.75s cubic-bezier(0.25, 1, 0.35, 1);
}

/* Change your Right Panel default state to this */
.menu-right-panel {
    transform: translate3d(100%, 0, 0);
    /* Keeps it hidden to the right */
    transition: transform 0.75s cubic-bezier(0.25, 1, 0.35, 1);
}

/* Change your Right Panel default state to this */
.menu-full-panel {
    transform: translate3d(100%, 0, 0);
    /* Keeps it hidden to the right */
    transition: transform 0.75s cubic-bezier(0.25, 1, 0.35, 1);
}

/* When the active class (e.g., .is-open) is applied to the main wrapper */
.luxury-fullscreen-menu.is-open .menu-left-panel,
.luxury-fullscreen-menu.is-open .menu-right-panel,
.luxury-fullscreen-menu.is-open .menu-full-panel {
    transform: translate3d(0, 0, 0);
    /* Pulls them both smoothly to the center */
}

/* --- THE CONTENT STAGGER EFFECT --- */

/* 1. Set the default hidden state for items inside the menu */
.primary-nav-list li,
.feature-project-links a,
.whatsapp-panel {
    opacity: 0;
    transform: translate3d(0, 25px, 0);
    /* Pushed down 25px */
    transition: opacity 0.6s ease, transform 0.6s ease;
}

/* 2. Set the visible state when the menu is open */
.luxury-fullscreen-menu.is-open .primary-nav-list li,
.luxury-fullscreen-menu.is-open .feature-project-links a,
.luxury-fullscreen-menu.is-open .whatsapp-panel {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    /* Floats back up to normal position */
}

/* 3. Add transition delays to each item manually to create the stagger waterfall */
.luxury-fullscreen-menu.is-open .primary-nav-list li:nth-child(1) {
    transition-delay: 0.30s;
}

.luxury-fullscreen-menu.is-open .primary-nav-list li:nth-child(2) {
    transition-delay: 0.35s;
}

.luxury-fullscreen-menu.is-open .primary-nav-list li:nth-child(3) {
    transition-delay: 0.40s;
}

.luxury-fullscreen-menu.is-open .primary-nav-list li:nth-child(4) {
    transition-delay: 0.45s;
}

.luxury-fullscreen-menu.is-open .primary-nav-list li:nth-child(5) {
    transition-delay: 0.50s;
}

/* Removes item delays instantly ONLY when closing the menu container */
.luxury-fullscreen-menu:not(.is-open) * {
    transition-delay: 0s !important;
    transition: opacity 0.25s ease, transform 0.25s ease !important;
}



.menu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px 16px;
    border: 1px solid var(--primary-color);
    border-radius: 5px;
    background: #f5f5f5;
    color: var(--primary-color);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
    height: 42px;

    position: relative;
    overflow: hidden;
    z-index: 1;

    transition: color 0.4s ease;

}


.menu-icon {
    display: flex;
    flex-direction: column;
    align-items: end;
    gap: 4px;
}

.menu-icon span {
    width: 18px;
    height: 1.5px;
    background: currentColor;
    border-radius: 10px;
}

.menu-icon span:nth-child(3) {
    width: 10px;
}


.menu-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -150%;
    width: 150%;
    height: 100%;

    background: var(--primary-color);
    border-radius: 0 20px 20px 0;

    transition: left 0.5s ease;
    z-index: -1;
}

.menu-btn:hover {
    color: #fff;
}

.menu-btn:hover::before {
    left: 0;
}

/* =============================================================================================
                                  ENGINNERING SECTION
============================================================================================= */


.engineering-section {
    background-color: var(--white-color);
}

/* Typography Modifiers */

.font-xs {
    font-size: 0.75rem;
}

.font-sm {
    font-size: 0.875rem;
}

.font-xxs {
    font-size: 0.65rem;
}

.tracking-wider {
    letter-spacing: 0.05em;
}

.tracking-widest {
    letter-spacing: 0.12em;
}

.border-amber {
    border-color: var(--accent-color) !important;
}


/* 2. Asymmetric Grid Card Styles */
.feature-asym-card {
    background-color: var(--card-white);
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 24px;
    display: flex;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.02);
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, border-color 0.25s ease;
}

/* Tall Block Adjuster logic */
.feature-asym-card.tall-card {
    flex-direction: column;
    justify-content: space-between;
    min-height: 170px;
    height: 100% !important;
    transition: all 0.3s ease;
}

/* Compact Block Adjuster logic */
.feature-asym-card.compact-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 85px;
    padding: 20px 24px;
    position: relative;
    overflow: hidden;
    height: 100% !important;
    background-color: var(--secondary-border-tint);
    background-color: var(--secondary-color);
    color: white;
    transition: all 0.3s ease;

}


/* Sharp decorative accent line in top-left corner */
.feature-asym-card.compact-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 35px 35px 0 0;
    border-color: var(--primary-color) transparent transparent transparent;
    transition: border-color 0.3s ease;
}

.feature-asym-card.compact-card:hover {
    background-color: var(--white-color);
    color: var(--secondary-color);
}

.feature-asym-card.compact-card:hover .text-muted-fine {
    color: var(--secondary-color);
}


.feature-asym-card.compact-card .text-muted-fine {
    color: #6c757d;
    color: #ffffff;
    font-size: 12px;
    letter-spacing: 1.5px;
    text-align: left !important;
}

/* --- Hover Effects --- */
.feature-asym-card.feature-asym-card.compact-card:hover {
    transform: translateY(-8px);
    border-color: var(--secondary-color, #000000);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.06);
}



/* 3. Icon Graphic Sizing Frame wrappers */
.card-icon-wrap {
    color: var(--primary-color);
    font-size: 2rem;
    /* Perfect display size for primary icon look */
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.card-img-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100px !important;
    margin-bottom: 10px;
}

.card-img-wrap img {
    height: 100%;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    border-radius: 10px !important;
}

.compact-card .card-icon-wrap {
    color: var(--text-secondary);
}

.compact-card h3 {
    font-size: 1.25rem;
    /* Scale down for inline compact elements */
    color: var(--primary-color) !important;
}


/* 4. Responsive View Adaptations */
@media (max-width: 575.98px) {
    .feature-asym-card.tall-card {
        min-height: auto;
        gap: 20px;
    }
}

/* =============================================================================================
                                  TESTIMONIAL SECTION
============================================================================================= */

.logo-slider {
    padding: 20px 0;
    cursor: grab;
}

.slide-card {
    height: 250px;
    border-radius: 20px;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    font-weight: 700;
}

.splide__slide {
    padding: 40px 15px;
}

@media (max-width: 767.98px) {
    .splide__slide {
        padding: 30px 15px;
    }
}


/* Main Feedback Card */
.feedback-card {
    position: relative;
    background: var(--card-bg);
    border-radius: 24px;
    padding: 32px;
    max-width: 500px;
    width: 100%;
    color: var(--text-dark);
    box-sizing: border-box;
    overflow: visible;
    height: 100%;
    flex-direction: column;
    display: flex;
    justify-content: space-between;

    /* Dual-Color Outer Lighting Glow (Primary Cyan left, Secondary Purple right) */
    box-shadow:
        -10px 10px 25px rgba(25, 143, 160, 0.18),
        /* Primary glow */
        10px -10px 25px rgba(47, 50, 138, 0.12),
        /* Secondary glow */
        0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

@media (max-width: 767.98px) {
    .feedback-card {
        max-width: 420px;
    }
}

@media (max-width: 575.98px) {
    .feedback-card {
        max-width: 100%;
    }
}

/* High-contrast crisp lighting border */
.feedback-card::before {
    content: '';
    position: absolute;
    inset: -2px;
    /* Pulls border slightly outward for sharpness */
    border-radius: 26px;
    /* Smooth match to card radius */
    padding: 2px;
    /* Border weight */

    /* Crisp lighting gradient blend based on your theme colors */
    background: linear-gradient(135deg,
            var(--primary-color) 0%,
            rgba(246, 169, 5, 0.3) 40%,
            rgba(0, 0, 0, 0.3) 70%,
            var(--secondary-color) 100%);

    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

/* Floating Heart Badge */
.heart-badge {
    position: absolute;
    top: -20px;
    right: 25px;
    background: var(--primary-color);
    width: 54px;
    height: 54px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 20px rgba(25, 143, 160, 0.4);
}

.heart-badge::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 12px;
    height: 12px;
    background: var(--primary-color);
}

.heart-icon {
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 24px;
    color: #ffffff;
    z-index: 1;
}

.heart-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.heart-icon {
    animation: heartbeat 1.2s infinite;
    transform-origin: center;
}

@keyframes heartbeat {
    0% {
        transform: scale(1);
    }

    14% {
        transform: scale(1.15);
    }

    28% {
        transform: scale(1);
    }

    42% {
        transform: scale(1.15);
    }

    70% {
        transform: scale(1);
    }
}

.heart-icon {
    transform: translateZ(0);
    backface-visibility: hidden;
    will-change: transform;
}

/* Header Elements Layout */
.card-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
}

.profile-img {
    width: 50px;
    height: 50px;
    min-width: 50px;
    min-height: 50px;
    max-width: 50px;
    max-height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background-color: var(--text-light-cream);
    border: 2px solid var(--primary-color);
    /* Light border to pull the lighting design together */
}

.user-name-letter {
    font-size: 1.25rem;
    font-weight: 700;
    font-family: var(--font-playfair, serif);
    color: var(--secondary-color);
}

.user-info {
    display: flex;
    flex-direction: column;
}

.name {
    margin: 0 0 6px 0;
    font-size: 1.25rem;
    font-weight: 700;
    font-family: var(--font-playfair, serif);
    color: var(--secondary-color);
}

.role {
    margin: 0;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--text-muted);
}

/* Ratings */
.rating-container {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

.stars {
    display: flex;
    gap: 2px;
}

.stars i {
    color: var(--primary-color);
    font-size: 18px;
}

.rating-text {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-muted);
}

/* Main text */
.feedback-text {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.6;
    color: #334155;
    font-weight: 500;
}










/* ==========================================================================
   ALTERNATIVE CONCEPT: MODERN LUXURY ENQUIRY STYLING
   ========================================================================== */

/* Card Surface Base with subtle background tinting */
.modern-enquiry-card {
    background-color: #ffffff !important;
    border-radius: 20px !important;
    padding: 45px !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.04) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    position: relative;
    overflow: hidden;
}

/* Gradient line across the top edge for a refined look */
.card-accent-line {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
}

/* Header Adjustments */
.form-header-block {
    margin-bottom: 35px;
}

.modern-form-title {
    font-family: 'Poppins', sans-serif;
    font-size: 28px !important;
    font-weight: 600 !important;
    color: var(--secondary-color) !important;
    margin-bottom: 8px !important;
}

.modern-form-subtitle {
    font-size: 14px;
    color: #6e6e73;
    max-width: 550px;
    margin: 0 auto !important;
}

/* Field Container Block */
.modern-field-box {
    display: flex;
    flex-direction: column;
}

/* Crisp, professional dark slate labels */
.modern-label {
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #2c2c2e !important;
    margin-bottom: 8px !important;
    letter-spacing: 0.3px;
}

/* Remove the up/down arrows for ONLY this input (Chrome, Safari, Edge, Opera) */
#available_land::-webkit-outer-spin-button,
#available_land::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Remove the up/down arrows for ONLY this input (Firefox) */
#available_land {
    -moz-appearance: textfield;
}

/* Rounded, subtly shaded interactive input styles */
.modern-input,
.modern-select {
    background-color: #f5f5f7 !important;
    /* Soft backdrop color */
    color: #1c1c1e !important;
    border: 1px solid transparent !important;
    /* No harsh borders */
    border-radius: 10px !important;
    height: 50px !important;
    padding: 10px 18px !important;
    font-size: 14px !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.modern-input::placeholder {
    color: #a1a1a6 !important;
}

/* Interactive transitions when field is clicked or focused */
.modern-input:focus,
.modern-select:focus {
    background-color: #ffffff !important;
    /* Swaps background to white on focus */
    border-color: var(--secondary-color) !important;
    box-shadow: 0 0 0 4px rgba(26, 35, 126, 0.08) !important;
    outline: none !important;
}

/* Elegant, non-traditional action buttons layout */
.modern-btn-wrapper {
    max-width: 500px;
}

/* Muted border button for reset actions */
.reset-form-btn {

    border-radius: 10px !important;
    height: 50px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    padding: 10px 24px !important;
    flex: 1;
    color: #ff3b30 !important;
    border-color: #ff3b30 !important;
    background-color: rgba(255, 59, 48, 0.02) !important;
    transition: all 0.2s ease !important;
}

.reset-form-btn:hover {
    background-color: #ff3b30 !important;
    color: rgb(255, 255, 255) !important;
}

/* Solid royal blue for primary submit actions */
.modern-btn-primary {
    background-color: var(--secondary-color) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    height: 50px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    padding: 10px 32px !important;
    flex: 2;
    /* Primary action is wider for visual emphasis */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(26, 35, 126, 0.2) !important;
    transition: all 0.2s ease !important;
}

.modern-btn-primary:hover {
    background-color: var(--primary-color) !important;
    box-shadow: 0 6px 16px rgba(26, 35, 126, 0.3) !important;
    transform: translateY(-1px);
}

label .mandatory-symbol {
    margin-left: 2px;
    color: red;
}

.was-validated .form-control:not(:required):valid {
    background-image: none !important;
}

.form-control.is-valid:not(:required) {
    background-image: none !important;
}

.was-validated .form-select:not(:required):valid:not([multiple]):not([size]) {
    background-image: none !important;
}

.logo-container-on-enquire-form {
    width: 200px;
}

/* ==========================================================================
   RESPONSIVE LAYOUT UPDATES
   ========================================================================== */
@media (max-width: 767px) {
    .modern-enquiry-card {
        padding: 30px 20px !important;
    }

    .modern-btn-wrapper {
        flex-direction: column-reverse;
        /* Put reset button at the bottom on mobile */
    }

    .reset-form-btn,
    .modern-btn-primary {
        width: 100% !important;
        flex: none !important;
    }
}


/* =============================================================
                    BACK TO TOP
============================================================= */

/* Back to Top Button Styling */
.back-to-top {
    position: fixed;
    bottom: 110px;
    right: 30px;
    width: 46px;
    height: 46px;
    background-color: var(--primary-color);
    /* Royal blue base color */
    color: #ffffff;
    border: none;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 1000;

    /* Initially hidden and transparent for fade effect */
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
    transform: translateY(10px);
    /* Subtle lift animation on reveal */
}

/* Hover & Active Interactions */
.back-to-top:hover {
    background-color: var(--primary-color);
    /* Darker blue variation */
    transform: translateY(-3px);
    /* Lifts up slightly on hover */
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
}

/* Visible State Class toggled via JS */
.back-to-top.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Responsive adjustments for smaller phone screens */
@media (max-width: 767px) {
    .back-to-top {
        right: 35px;
        width: 40px;
        height: 40px;
        font-size: 20px;
    }



}


.btn-theme {
    background: var(--primary-color);
    color: var(--white-color);
    transition: all .35s ease;
    border: none;
}

.btn-theme:hover {
    background: var(--secondary-color);
    color: var(--white-color);
    transform: translateY(-1px);
    box-shadow: 0 12px 30px rgba(47, 50, 138, .35);
}

/* < 768px */
@media (max-width: 767.98px) {
    .menu-nav {
        gap: 150px !important;
    }
}

/* < 576px */
@media (max-width: 575.98px) {
    .menu-nav {
        gap: 100px !important;
    }
}

/* < 400px */
@media (max-width: 399.98px) {
    .menu-nav {
        gap: 60px !important;
    }
}

/* < 400px */
@media (max-width: 339.98px) {
    .menu-nav {
        gap: 30px !important;
    }

    .brand-logo-container {
        height: 70px !important;
    }
}











/*---------------------------------------
  SITE FOOTER              
-----------------------------------------*/
/* ==========================================================================
   CLEAN PREMIUM MULTI-TONE BLACK FOOTER STYLING
   ========================================================================== */

/* Main upper footer container - Medium Black Background */
.custom-main-footer {
    background-color: #1b1b1b !important;
    /* Elegant medium charcoal black */
    color: #ffffff !important;
    padding-top: 70px !important;
    font-family: var(--font-inter), sans-serif;
    border-top: 1px solid rgba(255, 255, 255, 0.5);
}

/* Logo Sizing Control */
.custom-main-footer .footer-logo {
    max-height: 75px;
    border-radius: 6px;
    width: auto;
    object-fit: contain;
}

/* Clean Column Section Headers */
.custom-main-footer .footer-heading {
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 25px !important;
    position: relative;
}

/* Subtle architectural line under text headers */
.custom-main-footer .footer-heading::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 30px;
    height: 2px;
    background-color: var(--primary-color);
    /* Matches your core theme Teal accent color */
}

/* Spacing layout inside links array blocks */
.custom-main-footer .footer-nav-list li {
    margin-bottom: 12px !important;
}

/* Structural Layout for the Content Info Text */
.custom-main-footer .footer-contact-info span {
    color: #b0b0b5 !important;
    /* Off-white text to optimize readability */
    font-size: 14px;
    line-height: 1.6;
}

/* --- Interactive Anchor Link Core Settings --- */
.custom-main-footer .footer-link {
    color: #b0b0b5 !important;
    /* Soft gray initial state */
    font-size: 14px !important;
    text-decoration: none !important;
    display: inline-block;
    transition: all 0.25s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

/* --- Hover Effect: Color inversion & slide movement --- */
.custom-main-footer .footer-link:hover {
    color: var(--primary-color) !important;
    /* Shifts clean to your theme Teal */
    transform: translateX(1px);
    /* Interactive horizontal shift */
}

/* Styling for independent structural icons */
.custom-main-footer .text-accent {
    color: var(--primary-color) !important;
    font-size: 16px;
}

.footer-slogan {
    color: white;
    font-size: 18px;
    font-weight: 600;
    font-style: italic;
}

.footer-slogan span {
    color: var(--primary-color);
}

.social-icons {
    margin-top: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.social-icon {
    width: 35px;
    height: 35px;
    border: 2px solid rgba(255, 255, 255, .15);
    background: rgba(255, 255, 255, .08);
    color: var(--white-color);
    border-radius: 5px;

    display: flex;
    align-items: center;
    justify-content: center;

    text-decoration: none;
    transition: all .35s ease;
}

.social-icon i {
    font-size: 18px;
    transition: transform .35s ease;
}

.social-icon:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--white-color);
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(246, 169, 5, .35);
}

.social-icon:hover i {
    transform: scale(1.15);
}



/* ==========================================================================
   BOTTOM FOOTER BAR - DARK BLACK BACKGROUND
   ========================================================================== */

.custom-bottom-footer-bar {
    background-color: #0a0a0a !important;
    /* Absolute dark contrast black */
    padding: 20px 0 !important;
    margin-top: 60px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.03);
}

.custom-bottom-footer-bar .copyright-text {
    color: #7c7c80 !important;
    font-size: 13px !important;
    letter-spacing: 0.3px;
}

.custom-bottom-footer-bar .copyright-brand-link {
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 500;
    transition: color 0.2s ease !important;
}

.custom-bottom-footer-bar .copyright-brand-link:hover {
    color: var(--primary-color) !important;
}



/* ==========================================================================
   RESPONSIVE DESIGN ADAPTATIONS
   ========================================================================== */
@media (max-width: 767px) {
    .custom-main-footer {
        padding-top: 50px !important;
    }

    .custom-main-footer .footer-heading {
        margin-bottom: 18px !important;
    }

    .custom-bottom-footer-bar {
        margin-top: 40px !important;
    }
}





/* ==========================================================================
   VERTICAL PROCESS TIMELINE STYLING (EXACT ALTERNATING MATCH)
   ========================================================================== */

.process-timeline-section {
    padding: 100px 0;
    background-color: var(--white-color, #ffffff);
    overflow: hidden;
    font-family: 'Poppins', sans-serif;
}

/* Master Grid Wrapper */
.timeline-wrapper {
    position: relative;
    max-width: 1100px;
    margin: 0 auto;
}

/* The exact vertical dotted separator line from the sample image */
/* .timeline-wrapper::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 40px;
    bottom: 40px;
    width: 2px;
    transform: translateX(-50%);
    background-image: linear-gradient(to bottom, #d1d1d6 40%, rgba(255, 255, 255, 0) 0%);
    background-position: right;
    background-size: 2px 14px;
    background-repeat: repeat-y;
    z-index: 1;
} */

/* Individual Flex Grid Row Config */
.timeline-row {
    display: flex;
    position: relative;
    padding-bottom: 90px;
}

.timeline-row:last-child {
    margin-bottom: 0;
}

/* Standard Columns allocation */
.timeline-col {
    width: 50%;
    padding: 0 50px;
    position: relative;
    z-index: 2;
}

/* Central Anchor Points containing small numerical markers */
.timeline-center {
    position: absolute;
    left: 50%;
    top: 0%;
    transform: translateX(-50%);
    z-index: 4;
}

.timeline-dashed {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 2px;
    height: 100%;

    background: repeating-linear-gradient(to bottom,
            rgb(0, 0, 0) 0 8px,
            transparent 8px 16px);

    animation: dashMove 1s linear infinite;
}

@keyframes dashMove {
    from {
        background-position: 0 0;
    }

    to {
        background-position: 0 16px;
    }
}

.timeline-circle {
    width: 60px;
    height: 60px;
    display: flex;
    flex-direction: column;
    background-color: var(--white-color, #ffffff);
    border: 2px solid #e5e5ea;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--secondary-color, #000000);
    font-size: 14px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/* Typography Elements */
.step-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    text-transform: capitalize;
    letter-spacing: 1.2px;
    color: #a1a1a6;
}

.step-number {
    display: block;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: #000000;
}

.step-title {
    color: var(--secondary-color, #000000);
    font-weight: 700;
    font-size: 24px;
    margin: 14px 0px;
}

.step-desc {
    color: #636366;
    font-size: 16px;
    line-height: 1.65;
}

/* Big solid circle layout container for assets/illustrations */
.image-bg-circle {
    width: 150px;
    height: 150px;
    background-color: var(--primary-color, #F6A905);
    /* Uses your primary golden tone */
    border-radius: 50%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 30px rgba(246, 169, 5, 0.2);
}

.step-center-icon {
    font-size: 64px;
    color: var(--white-color, #ffffff);
}

/* ==========================================================================
   RESPONSIVE LAYOUT BREAKPOINTS
   ========================================================================== */

/* Alternating flip layout rule */
@media (min-width: 768px) {
    .timeline-row.row-reverse-md {
        flex-direction: row-reverse;
    }
}

/* Collapse layout to single column for mobile viewports */
@media (max-width: 767px) {
    .timeline-wrapper::before {
        left: 20px;
        transform: none;
    }

    .timeline-row {
        flex-direction: column !important;
        align-items: flex-start;
        padding-left: 60px;
        padding-bottom: 50px;
    }

    .timeline-col {
        width: 100% !important;
        padding: 0 !important;
        text-align: left !important;
    }

    .timeline-center {
        left: 20px;
        transform: translateX(-50%);
        top: 0;
    }

    .visual-content {
        margin-top: 25px;
    }

    .image-bg-circle {
        margin: 0;
        /* Align left alongside mobile text columns */
        width: 120px;
        height: 120px;
    }

    .step-center-icon {
        font-size: 48px;
    }

    .timeline-dashed {
        left: 20px;
        position: absolute;
        top: 0%;
        transform: translateX(-50%);
        z-index: 2;
    }

}









/* ==========================================================================
   ALTERNATING FEATURE CARDS WITH RESPONSIVE ICON RESET
   ========================================================================== */

.custom-feature-card {
    background-color: var(--white-color, #ffffff);
    border-radius: 20px;
    padding: 35px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    display: flex;
    align-items: flex-start;
    gap: 25px;
    /* Perfect uniform padding space between icon and text */
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Icon Core Styling */
.custom-feature-card .feature-card-icon {
    font-size: 32px;
    color: var(--primary-color, #F6A905);
    /* Uses your custom amber gold */
    line-height: 1;
    flex-shrink: 0;
    /* Prevents the icon container from squeezing */
}

/* Content Text Blocks Wrapper */
.custom-feature-card .feature-card-body {
    flex-grow: 1;
}

.custom-feature-card .feature-card-title {
    font-family: 'Poppins', sans-serif;
    color: #1a2238;
    /* Sophisticated deep slate color from your sample image */
    font-weight: 700;
    font-size: 22px;
    margin-bottom: 12px;
}

.custom-feature-card .feature-card-text {
    color: #6c757d;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 0;
}

/* --- Desktop Alternating Placements (>= 768px) --- */
@media (min-width: 768px) {

    /* Standard layout direction */
    .custom-feature-card.icon-left {
        flex-direction: row;
    }

    /* Flips the structure to push the icon safely to the right side */
    .custom-feature-card.icon-right {
        flex-direction: row-reverse;
    }

    /* Text aligns correctly when flipped to the right side layout */
    .custom-feature-card.icon-right .feature-card-body {
        text-align: left;
    }
}

/* --- Mobile Stack Placements (< 768px) --- */
@media (max-width: 767.98px) {
    .custom-feature-card {
        /* Forces BOTH cards to stack vertically with the icon sitting on top */
        flex-direction: column !important;
        gap: 15px;
        /* Snaps closer for a tight modern appearance on screens */
        padding: 30px;
    }
}

/* Hover Interaction Depth */
.custom-feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
}



























/* ==========================================================================
   OPTION 2: THE STRUCTURAL BLUEPRINT WIREFRAME
   ========================================================================== */

.feature-asym-card.tall-card {
    background-color: var(--white-color, #ffffff);
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 35px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;

    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Creates a secondary overlapping vector outline frame */
.feature-asym-card.tall-card::after {
    content: '';
    position: absolute;
    top: 6px;
    left: 6px;
    right: 6px;
    bottom: 6px;
    border: 1px dashed #e2e8f0;
    /* Blueprint style layout guide line */
    border-radius: 8px;
    pointer-events: none;
    transition: border-color 0.3s ease;
}


.feature-asym-card.tall-card .card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.feature-asym-card.tall-card .section-inner-title {
    color: var(--secondary-color, #000000);
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 4px !important;
    z-index: 2;
}

.feature-asym-card.tall-card .text-muted-fine {
    color: #71717a;
    font-size: 12px;
    letter-spacing: 0.5px;
    z-index: 2;
}

/* --- Hover Wireframe Shift --- */
.feature-asym-card.tall-card {
    border-color: var(--secondary-color, #000000);
    transform: scale(1.03);
}

/* Inner dashed line lights up and locks to theme gold */
.feature-asym-card.tall-card::after {
    border-color: var(--primary-color, #F6A905);
    border-style: solid;
}






/* ==========================================================================
   THE STRUCTURAL BLUEPRINT WIREFRAME - EMPHASIZED BORDERS
   ========================================================================== */

.feature-asym-card.tall-card {
    /* Very light background tint */
    background-color: #fbfbfc;
    /* Emphasized outer border */
    border: 1px solid #cbd5e1;
    border-radius: 16px;
    padding: 40px 30px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    overflow: hidden;
    /* Keeps the absolute element clipped cleanly */

    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* --- Added Absolute Element --- */
/* Creates a bold decorative background accent panel behind the header elements */
.feature-asym-card.tall-card::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 100px;
    height: 100px;
    background-color: var(--primary-color, #F6A905);
    opacity: 0.03;
    /* Barely visible static state */
    transform: scale(2.5);
    opacity: 0.08;
    border-radius: 50%;
    z-index: 1;
    transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;
}

/* Overlapping vector outline inner frame */
.feature-asym-card.tall-card::after {
    content: '';
    position: absolute;
    top: 8px;
    left: 8px;
    right: 8px;
    bottom: 8px;
    /* More pronounced dashed line */
    border: 2px dashed #b8c5d6;
    border-radius: 10px;
    pointer-events: none;
    z-index: 5;
    transition: border-color 0.3s ease, border-style 0.3s ease, top 0.3s ease, left 0.3s ease, right 0.3s ease, bottom 0.3s ease;
}

/* Increased Image Size from 60px to 85px */
.feature-asym-card.tall-card .card-img-wrap {
    width: 170px;
    height: auto !important;
    padding: 5px;
    position: relative;
    z-index: 2;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.feature-asym-card.tall-card .card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 10px !important;
}

.feature-asym-card.tall-card .section-inner-title {
    color: var(--secondary-color, #000000);
    font-size: 21px;
    font-weight: 700;
    margin-bottom: 6px !important;
    z-index: 2;
    position: relative;
}

.feature-asym-card.tall-card .text-muted-fine {
    color: #64748b;
    font-size: 12px;
    letter-spacing: 0.8px;
    z-index: 2;
    position: relative;
}

/* --- Hover Wireframe Shift & Border Activation --- */
.feature-asym-card.tall-card {
    border-color: var(--secondary-color, #000000);
    border-color: #d1d1d1;
    background-color: #ffffff;
    /* Whitens completely on hover to stand out from others */
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.06);
}

/* Animate the absolute element background shape */
.feature-asym-card.tall-card::before {
    transform: scale(2.5);
    opacity: 0.08;
}

/* Inner frame lights up, snaps solid, and hugs the margins closer */
.feature-asym-card.tall-card::after {
    border-color: var(--primary-color, #F6A905);
    border-style: solid;
    top: 12px;
    left: 12px;
    right: 12px;
    bottom: 12px;
}

/* Micro-interaction scale for the enlarged image wrapper */
.feature-asym-card.tall-card .card-img-wrap {
    transform: scale(1);
}






.loader-container {
    display: flex;
    flex-direction: column-reverse;
    gap: 45px;
    align-items: center;
    justify-content: center;
    background: #000000b0;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 2000;
}

.loader {
    width: 30px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 0 #fff4;
    animation: l2 1.5s infinite linear;
    position: relative;
}

.loader:before,
.loader:after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: 0 0 0 0 #fff4;
    animation: inherit;
    animation-delay: -0.5s;
}

.loader:after {
    animation-delay: -1s;
}

@keyframes l2 {
    100% {
        box-shadow: 0 0 0 40px #fff0
    }
}

.notify-container {
    position: fixed;
    top: 0;
    right: 0;
    height: 100%;
    width: 100%;
    overflow: hidden;
    z-index: 2000;
}

.notify-container:has(:not(.show)) {
    visibility: hidden;
}

.notify-container>.notify {
    position: absolute;
    bottom: 30px;
    right: 10px;
    max-width: 350px;
    background: #ffffff;
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.082);
    display: flex;
    align-items: center;
    gap: 20px;
    opacity: 0;
    visibility: hidden;
    transform: translateX(1000px);
    transition: .5s;
}

.notify-container>.notify.show {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.notify-container>.notify.success {
    background: #2fbb4f;
    color: rgb(255, 255, 255);
}

.notify-container>.notify.fail {
    background: #bb2f2f;
    color: rgb(255, 255, 255);
}

.notify-container>.notify>.close-btn {
    all: unset;
    cursor: pointer;
}


/* OUR WORKS SECTION */

/* Section */
.our-works-section{
    background: rgba(255, 252, 245);
}

/* Video Card */
.video-card{
    position:relative;
    overflow:hidden;
    border-radius:20px;
    box-shadow:0 15px 40px rgba(0,0,0,.15);
    box-shadow:0 20px 50px rgba(0,0,0,.2);
    transition:.4s ease;
    background: rgba(255, 252, 245);
}

.video-card iframe{
    display:block;
    width:100%;
    aspect-ratio:16/9;
    border:none;
}