
   
        :root {
            --primary-gold: #b3832b;
            --primary-gold-hover: #966d22;
            --text-dark: #1a1a1a;
            --text-muted: #666666;
            --bg-white: #ffffff;
            --bg-hover: #f9f6f0;
            --font-main: 'Public Sans', sans-serif;
            --transition-speed: 0.3s;
            --text:#111;
             --gold-dark:#966d22;
             --container-max-width: 1200px;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: var(--font-main);
            background-color: #fcfcfc;
            color: var(--text-dark);
            height: 150vh; /* Temporary height to allow scrolling testing */
        }

        /* --- Sticky Navbar Container --- */
        .navbar-header {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            background-color: var(--bg-white);
            z-index: 1000;
            transition: box-shadow var(--transition-speed) ease, padding var(--transition-speed) ease;
            padding: 10px 0;
        }

        /* Adds modern elevation shadow only when user scrolls down */
        .navbar-header.scrolled {
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
            padding: 12px 0;
        }

        .navbar-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 24px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        /* --- Logo Styling --- */
        .navbar-logo {
            display: flex;
            flex-direction: column;
            text-decoration: none;
        }

        .logo-main {
            font-size: 20px;
            font-weight: 700;
            color: var(--primary-gold);
            letter-spacing: 0.5px;
            text-transform: uppercase;
        }

        .logo-sub {
            font-size: 8px;
            font-weight: 600;
            color: var(--text-dark);
            letter-spacing: 1.2px;
            text-transform: uppercase;
            margin-top: -2px;
        }

        /* --- Navigation Links --- */
        .navbar-menu {
            display: flex;
            list-style: none;
            gap: 28px;
            align-items: center;
        }

        .navbar-link {
            text-decoration: none;
            color: var(--text-dark);
            font-size: 16px;
            font-weight: 600;
            transition: color var(--transition-speed);
            position: relative;
            padding: 8px 0;
        }

        /* Active State matching image_efdc38.png */
        .navbar-link.active,
        .navbar-link:hover {
            color: var(--primary-gold);
        }

        /* Subtle bottom indicator bar for the active/hovered element */
        .navbar-link::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 2px;
            background-color: var(--primary-gold);
            transition: width var(--transition-speed);
        }

        .navbar-link.active::after,
        .navbar-link:hover::after {
            width: 100%;
        }

        /* --- Action Button --- */
        .navbar-cta .btn-get-started {
            display: inline-block;
            background-color: var(--primary-gold);
            color: var(--bg-white);
            text-decoration: none;
            padding: 12px 24px;
            font-size: 14px;
            font-weight: 600;
            border-radius: 6px;
            transition: background-color var(--transition-speed), transform 0.2s;
        }

        .navbar-cta .btn-get-started:hover {
            background-color: var(--primary-gold-hover);
        }

        /* --- Mobile Hamburger Toggle --- */
        .navbar-toggle {
            display: none;
            flex-direction: column;
            justify-content: space-between;
            width: 24px;
            height: 18px;
            background: transparent;
            border: none;
            cursor: pointer;
            z-index: 1001;
        }

        .navbar-toggle .bar {
            width: 100%;
            height: 2px;
            background-color: var(--text-dark);
            transition: transform var(--transition-speed), opacity var(--transition-speed);
        }

        /* --- Responsive Breakpoints (Mobile & Tablet Layout) --- */
        @media (max-width: 992px) {
            .navbar-toggle {
                display: flex;
            }

            .navbar-menu {
                position: fixed;
                top: 0;
                right: -100%;
                width: 280px;
                height: 100vh;
                background-color: var(--bg-white);
                box-shadow: -4px 0 20px rgba(0, 0, 0, 0.1);
                flex-direction: column;
                align-items: flex-start;
                padding: 100px 40px;
                gap: 24px;
                transition: right var(--transition-speed) cubic-bezier(0.4, 0, 0.2, 1);
            }

            .navbar-menu.is-active {
                right: 0;
            }

            .navbar-link {
                font-size: 16px;
                width: 100%;
            }

            .navbar-cta {
                width: 100%;
                margin-top: 16px;
            }

            .navbar-cta .btn-get-started {
                width: 100%;
                text-align: center;
            }

            /* Hamburger animation morphing to an 'X' close button */
            .navbar-toggle.is-active .bar:nth-child(1) {
                transform: translateY(8px) rotate(45deg);
            }
            .navbar-toggle.is-active .bar:nth-child(2) {
                opacity: 0;
            }
            .navbar-toggle.is-active .bar:nth-child(3) {
                transform: translateY(-8px) rotate(-45deg);
            }
        }
        .navbar-logo{
    display: flex;
    align-items: center;
    text-decoration: none;
}

.logo-img{
    max-height: 100px;
    width: auto;
    display: block;
}

/* Tablet */
@media (max-width: 992px){
    .logo-img{
        max-height: 60px;
    }
}

/* Mobile */
@media (max-width: 576px){
    .logo-img{
        max-height: 50px;
    }
}
.navbar-link.active{
    color:#b3832b;
    font-weight:600;
}

.navbar-link.active::after{
    width:100%;
}
/*bannersection*/

.hero-section{
    position:relative;
    min-height:650px;
    display:flex;
    align-items:center;
    overflow:hidden;
    background: url("../img/banner1.webp") no-repeat;
    background-size:cover;
    background-position:center right;
}

/* Golden Glow Graphic Effect */
.hero-section::after{
    content:'';
    position:absolute;
    left:-150px;
    top:50%;
    transform:translateY(-50%);
    width:500px;
    height:500px;
    border-radius:50%;
    z-index:1;
    background:radial-gradient(
        circle,
        rgba(230,180,80,.35) 0%,
        rgba(230,180,80,.15) 40%,
        transparent 70%
    );
}

.container{
   
    margin:auto;
    padding:0 24px;
    width:100%;
    position:relative;
    z-index:2;
}

.hero-wrapper{
    padding-top:100px;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:60px;
    position:relative;
    z-index:2;
}

.hero-content{
    max-width:650px;
}

.hero-tagline{
    color:var(--primary-gold);
    font-size:14px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
}

.hero-title{
    font-size:45px;
    line-height:1.1;
    font-weight:800;
    color:var(--text);
    margin:20px 0;
}

.hero-description{
    font-size:18px;
    line-height:1.8;
    color:#555;
    margin-bottom:35px;
}

.hero-actions{
    display:flex;
    align-items:center;
    gap:20px;
}

.btn-primary{
    background:var(--primary-gold);
    color:#fff;
    text-decoration:none;
    padding:15px 35px;
    border-radius:6px;
    font-weight:600;
    transition: 0.3s;
}

.btn-primary:hover {
    background: var(--gold-dark);
}

.video-btn{
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: #b3832b;
    font-weight: 600;
    transition: 0.3s;
}

.play-btn{
    width: 45px;
    height: 45px;
    border: 2px solid #b3832b;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #b3832b;
    font-size: 14px;
    background: #fff;
    transition: 0.3s;
}

.video-btn:hover{
    color: #966d22;
}

.video-btn:hover .play-btn{
    background: #b3832b;
    color: #fff;
}

/* Kept hidden on desktop viewports to prioritize full resolution image background */
.hero-image {
    display: none;
}

.hero-image img{
    width:100%;
    height:auto;
    display:block;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}


/* ==========================================================================
   RESPONSIVE MEDIA STACKS
   ========================================================================== */

@media (max-width: 992px) {
    .hero-section {
        min-height: auto;
        padding: 80px 0;
        background: #fafafa; /* Clean neutral background card for phone displays */
    }

    .hero-section::after {
        display: none;
    }

    .hero-wrapper {
        padding-top:40px;
        grid-template-columns: 1fr; /* Switch columns to a 1-column responsive grid layout stack */
        gap: 40px;
    }

    .hero-content {
        max-width: 100%;
        text-align: center;
    }

    .hero-title {
        font-size: 40px;
    }

    .hero-description {
        font-size: 16px;
    }

    .hero-actions {
        justify-content: center;
    }

    /* Unhide image layout node cleanly below buttons on smaller screens */
    .hero-image {
        display: block;
        width: 100%;
        max-width: 550px;
        margin: 0 auto;
    }
}

@media (max-width: 576px) {
    .hero-section {
        padding: 60px 0;
    }

    .hero-title {
        font-size: 32px;
    }

    .hero-actions {
        flex-direction: column;
        width: 100%;
        gap: 16px;
    }

    .btn-primary, .video-btn {
        width: 100%;
        justify-content: center;
    }
}
/*animaton*/
.animate{
    opacity:0;
    transition:all .8s ease;
}

.fade-up{
    transform:translateY(60px);
}

.fade-left{
    transform:translateX(-60px);
}

.fade-right{
    transform:translateX(60px);
}

.zoom-in{
    transform:scale(.85);
}

.animate.show{
    opacity:1;
    transform:translate(0,0) scale(1);
}
/*splitesectionh*/
/* ==========================================================================
   FEATURES SECTION STYLES (image_e15ac4.png Verification Specs)
   ========================================================================== */

.features-section {
    padding: 80px 0;
    background-color: #fafafa; /* Subtle light background as shown in image mockup */
    width: 100%;
}

/* --- Section Header Configuration --- */
.features-header {
    text-align: center;
    margin-bottom: 50px;
}

.features-section-title {
    color: var(--primary-gold);
    font-family: var(--font-main);
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 1px;
    margin: 0 0 12px 0;
    text-transform: uppercase;
}

.title-underline {
    width: 60px;
    height: 3px;
    background-color: var(--primary-gold);
    margin: 0 auto;
    border-radius: 2px;
}

/* --- Features Grid Engine --- */
.features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 parallel structures on desktop */
    gap: 30px;
}

/* --- Feature White Cards --- */
.feature-card {
    background-color: var(--bg-white);
    border-radius: 12px;
    padding: 35px 30px;
    display: flex;
    align-items: center;
    gap: 24px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03); /* Soft image shadow styling */
    transition: transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease;
}

.feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(179, 131, 43, 0.08); /* Soft brand colored hover glow */
}

/* --- Custom Vector Circles --- */
/* 1. Parent Circle Container: Handles centering */
.feature-icon-circle {
    width: 70px;
    height: 70px;
    border: 2px solid var(--primary-gold);
    border-radius: 50%;
    
    /* Crucial: Flexbox centers the SVG perfectly inside the 70px circle */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    
    background-color: var(--bg-white);
    flex-shrink: 0; /* Prevents the circle from squishing on mobile stacks */
}

/* 2. Direct SVG Sizing Engine */
.custom-feature-svg {
    /* Controls the physical size of the icon vector graphic inside the circle */
    width: 34px;  
    height: 34px;
    
    /* Makes it inherit your theme's gold color seamlessly */
    color: var(--primary-gold); 
    
    /* Prevents layout distortion */
    display: block; 
}
.custom-brokerage-svg {
    width: 36px;
    height: 36px;
    color: var(--primary-gold);
    display: block;
    
    /* Slight rotation adjustments to precisely match the tilt in image_e14514.png */
    transform: rotate(2deg); 
}
.custom-verified-svg {
    width: 36px;
    height: 36px;
    color: var(--primary-gold);
    display: block;
    
    /* Subtle rotation adjustment to capture the sketch tilt from the original mockup */
    transform: rotate(-1deg); 
}
/*countersection*/
/* ==========================================================================
   ACHIEVEMENTS COUNTER BAR COMPONENT
   ========================================================================== */

.stats-section {
    position: relative;
    padding: 10px 0;
    /* Uses a clean city skyline background image with center parallax alignment */
    background: url('../img/counterbg.webp') no-repeat center center;
    background-size: cover;
    border-radius: 16px;
    overflow: hidden;
    margin: 40px auto;
    max-width: 1440px;
    width: calc(100% - 48px); /* Graceful margin frame tracking */
}

/* Charcoal semi-transparent image mask matching image_e0eebe.png */
.stats-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(20, 24, 27, 0.72); 
    z-index: 1;
}

.stats-relative-wrapper {
    position: relative;
    z-index: 2;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
}

/* Individual Stat block containers */
.stat-item {
    text-align: center;
    position: relative;
    padding: 20px;
}

/* Vertical separator line rule design */
.stat-item:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 15%;
    height: 70%;
    width: 1px;
    background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.3), transparent);
}

.stat-icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 16px auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.stat-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.stat-number-box {
    color: var(--bg-white);
    font-family: var(--font-main);
    font-size: 42px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 10px;
}

.stat-label {
    color: var(--bg-white);
    font-family: var(--font-main);
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.5px;
    margin: 0;
    opacity: 0.9;
}

/* ==========================================================================
   RESPONSIVE DESIGN SYSTEM TRANSITIONS
   ========================================================================== */

@media (max-width: 992px) {
    .stats-grid {
        grid-template-columns: repeat(2, 1fr); /* Snaps down cleanly into a 2x2 grid framework */
        gap: 30px 0;
    }
    
    /* Re-align vertical rules for multi-row block wrapping */
    .stat-item:nth-child(2n)::after {
        display: none;
    }
}

@media (max-width: 576px) {
    .stats-section {
        padding: 40px 0;
        width: calc(100% - 32px);
    }
    
    .stats-grid {
        grid-template-columns: 1fr; /* Individual neat single item columns on smartphones */
        gap: 40px;
    }
    
    .stat-item::after {
        display: none !important; /* Hide structural lines on small viewports */
    }
    
    .stat-number-box {
        font-size: 36px;
    }
}

/* --- Typography Details --- */
.feature-text-block {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.feature-card-title {
    color: var(--text-dark);
    font-family: var(--font-main);
    font-size: 20px;
    font-weight: 700;
    margin: 0;
}

.feature-card-desc {
    color: var(--text-muted);
    font-family: var(--font-main);
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}

/* ==========================================================================
   RESPONSIVE LAYOUT ENGINE
   ========================================================================== */

/* Tablet Viewport Breakpoint */
@media (max-width: 992px) {
    .features-section {
        padding: 60px 0;
    }
    
    .features-grid {
        grid-template-columns: 1fr; /* Drop desktop grid row properties to singular stack layout */
        gap: 20px;
        max-width: 650px;
        margin: 0 auto;
    }

    .feature-card {
        padding: 25px 20px;
    }
}

/* Small Smartphone Viewport Breakpoint */
@media (max-width: 480px) {
    .feature-card {
        flex-direction: column; /* Center vector assets on top of titles for mobile screens */
        text-align: center;
        gap: 16px;
    }

    .features-section-title {
        font-size: 22px;
    }
}
/*partnersection*/
/* ==========================================================================
   PARTNERS AUTO CAROUSEL LOGO TRACK (image_e07942.png Specs)
   ========================================================================== */

.partners-section {
    padding: 60px 0;
    background-color: #fafafa; /* Matches off-white backdrop from image_e15ac4.png */
    width: 100%;
    overflow: hidden;
}

.partners-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.partners-header {
    text-align: center;
    margin-bottom: 45px;
}

.partners-title {
    color: var(--text-dark);
    font-family: var(--font-main);
    font-size: 30px;
    font-weight: 700;
    margin: 0;
    letter-spacing: 0.5px;
}

/* --- Carousel Hardware Window Base --- */
.carousel-window {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 10px 0;
}

/* Linear Gradient Vignette Masking Overlays for Soft Fade Ends */
.carousel-window::before,
.carousel-window::after {
    content: "";
    height: 100%;
    position: absolute;
    width: 150px;
    z-index: 2;
    pointer-events: none;
}

.carousel-window::before {
    left: 0;
    top: 0;
    background: linear-gradient(to right, #fafafa 0%, transparent 100%);
}

.carousel-window::after {
    right: 0;
    top: 0;
    background: linear-gradient(to left, #fafafa 0%, transparent 100%);
}

/* --- The Moving Strip Track Container --- */
.carousel-track {
    display: flex;
    align-items: center;
    width: calc(250px * 10); /* Total combined width of structural sets */
    animation: infiniteScrollLoop 25s linear infinite;
}

/* Pauses track movement instantly on mouse hover for interactive accessibility */
.carousel-track:hover {
    animation-play-state: paused;
}

/* --- Individual Brand Slide Sizing Layouts --- */
.logo-slide {
    width: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 30px;
    box-sizing: border-box;
}

.logo-slide img {
    max-width: 100%;
    max-height: 100px; /* Clean standard height threshold container */
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(15%) contrast(95%); /* Keeps corporate balance uniform */
    transition: filter var(--transition-speed) ease, transform var(--transition-speed) ease;
}

.logo-slide img:hover {
    filter: grayscale(0%) contrast(100%);
    transform: scale(1.05);
}

/* --- Pagination UI Indicator Elements --- */
.carousel-pagination-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 40px;
}

.carousel-pagination-dots .dot {
    width: 8px;
    height: 8px;
    background-color: #cbd5e1; /* Inactive soft gray indicator color */
    border-radius: 50%;
    display: block;
    transition: background-color var(--transition-speed) ease, transform var(--transition-speed) ease;
}

.carousel-pagination-dots .dot.active {
    background-color: var(--primary-gold); /* Active gold indicator step from mockup */
    transform: scale(1.2);
}

/* ==========================================================================
   CSS CONTINUOUS TRANSLATION TIMELINE MATRIX
   ========================================================================== */
@keyframes infiniteScrollLoop {
    0% {
        transform: translateX(0);
    }
    100% {
        /* Translates precisely exactly half the width of the replicated sequence */
        transform: translateX(calc(-250px * 5));
    }
}

/* ==========================================================================
   RESPONSIVE SCALING ADAPTATIONS
   ========================================================================== */
@media (max-width: 768px) {
    .partners-section {
        padding: 40px 0;
    }
    
    .partners-title {
        font-size: 20px;
    }
    
    .logo-slide {
        width: 180px; /* Snaps tracking down on narrower smartphone screens */
        padding: 0 15px;
    }
    
    .logo-slide img {
        max-height: 40px;
    }
    
    @keyframes infiniteScrollLoop {
        0% { transform: translateX(0); }
        100% { transform: translateX(calc(-180px * 5)); }
    }
    
    .carousel-window::before,
    .carousel-window::after {
        width: 60px; /* Reduces vignetting profiles on small screens */
    }
}
/*aboutsection*/
.about-section-fullbleed {
            width: 100%;
            background-color: var(--bg-white);
            padding: 60px 0;
        }

        .fullbleed-grid {
            display: grid;
            /* Column 1: Takes exactly half the viewport width (50vw)
               Column 2: Takes the remaining half viewport width (50vw) */
            grid-template-columns: 50vw 50vw; 
            align-items: center;
        }

        /* Left Media Box: Spans 100% width up to the absolute edge of screen viewport */
        .about-media-column-full {
            position: relative;
            width: 100%;
            height: 100%;
            min-height: 600px; /* Forces height parity with long paragraph sections */
        }

        .about-main-img-full {
            width: 100%;
            height: 100%;
            object-fit: cover; /* Prevents distorting, dynamic zoom-crops window asset */
            object-position: center;
            display: block;
        }

        /* Right Content Box: Pads interior text box calculations dynamically */
        .about-content-column-full {
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: flex-start;
            /* Computes left padding dynamically so text aligns inside the main site shell:
               Formula: (100vw - 1200px) / 2 + default padding margins */
            padding-left: calc((100vw - var(--container-max-width)) / 3 + 40px);
            padding-right: 40px;
            padding-top: 40px;
            padding-bottom: 40px;
        }

        /* Safe Fallback: Keeps padding functional if the viewport is smaller than 1200px container */
        @media (max-width: 1280px) {
            .about-content-column-full {
                padding-left: 50px;
                padding-right: 24px;
            }
        }

        /* Max width limiter for text readability */
        .content-inner-wrapper {
            max-width: 520px;
            width: 100%;
        }

        /* --- Floating RERA Badge Placement --- */
        .rera-badge {
            position: absolute;
            bottom: 0px;
            right: 10px; /* Overlaps across the border frame line seamlessly */
            width: 130px;
            height: 130px;
            background: radial-gradient(circle, #c5973d 0%, #a37523 100%);
            border-radius: 50%;
            padding: 6px;
            box-shadow: 0 10px 30px rgba(163, 117, 35, 0.4);
            z-index: 10;
        }

        .rera-badge-inner {
            width: 100%;
            height: 100%;
            border: 1px solid rgba(255, 255, 255, 0.35);
            border-radius: 50%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            color: var(--bg-white);
        }

        .rera-title {
            font-size: 24px;
            font-weight: 800;
            letter-spacing: 0.5px;
            line-height: 1.1;
        }

        .rera-sub {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 1px;
            margin-top: 1px;
            opacity: 0.95;
        }

        /* --- Typography Styles --- */
        .about-subtitle {
            color: var(--primary-gold);
            font-size: 13px;
            font-weight: 700;
            letter-spacing: 1px;
            text-transform: uppercase;
            margin-bottom: 14px;
            display: block;
        }

        .about-main-title {
            color: var(--text-dark);
            font-size: 30px;
            font-weight: 700;
            line-height: 1.25;
            margin: 0 0 22px 0;
        }

        .about-description {
            color: var(--text-muted);
            font-size: 16px;
            line-height: 1.6;
            margin: 0 0 30px 0;
        }

        /* --- Feature Bullet Assembly --- */
        .about-checklist {
            list-style: none;
            padding: 0;
            margin: 0 0 38px 0;
            display: flex;
            flex-direction: column;
            gap: 16px;
        }

        .about-checklist li {
            display: flex;
            align-items: center;
            gap: 14px;
        }

        .checklist-icon {
            width: 22px;
            height: 22px;
            color: var(--primary-gold);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .checklist-icon svg {
            width: 100%;
            height: 100%;
            display: block;
        }

        .checklist-text {
            color: var(--text-dark);
            font-size: 15px;
            font-weight: 600;
        }

        /* --- Brand UI Call-To-Action Button --- */
        .btn-about-more {
            background-color: var(--primary-gold);
            color: var(--bg-white);
            font-size: 15px;
            font-weight: 600;
            text-decoration: none;
            padding: 15px 35px;
            border-radius: 6px;
            display: inline-block;
            transition: background-color var(--transition-speed) ease, transform var(--transition-speed) ease;
            box-shadow: 0 4px 15px rgba(179, 131, 43, 0.2);
        }

        .btn-about-more:hover {
            background-color: var(--primary-gold-hover);
            transform: translateY(-2px);
        }

        /* ==========================================================================
           RESPONSIVE VIEWPORT BREAKPOINTS (Tablets & Mobile Screen Fallbacks)
           ========================================================================== */

        @media (max-width: 992px) {
            .about-section-fullbleed {
                padding: 0;
            }

            .fullbleed-grid {
                grid-template-columns: 1fr; /* Snaps grid lanes back into unified single rows */
            }

            .about-media-column-full {
                width: 100%;
                height: 450px; /* Fixed cinematic banner height on tablets/mobiles */
                min-height: auto;
            }

            .about-content-column-full {
                padding: 50px 24px; /* Default uniform left-and-right margins for standard screen views */
                justify-content: center;
            }

            .content-inner-wrapper {
                max-width: 650px; /* Allows paragraph components to occupy native space on mobile rows */
            }

            .rera-badge {
                right: 24px; /* Pulls badge in from off-screen margins safely */
                bottom: -25px; /* Floats it halfway intersecting the text container boundary below */
            }
        }

        @media (max-width: 576px) {
            .about-media-column-full {
                height: 320px; /* Shorter header footprint specifically for phones */
            }

            .about-main-title {
                font-size: 26px;
            }

            .rera-badge {
                width: 105px;
                height: 105px;
                right: 15px;
                bottom: -20px;
            }

            .rera-title {
                font-size: 18px;
            }

            .rera-sub {
                font-size: 8px;
            }

            .btn-about-more {
                width: 100%;
                text-align: center;
            }
        }

        /* ==========================================================================
   CTA BANNER COMPONENT (image_d4a139.png Specifications)
   ========================================================================== */

.cta-banner-section {
    width: 100%;
    background-color: #b3832b; /* Matches your premium brand gold tone */
    padding: 30px 0;
    box-sizing: border-box;
}

.cta-banner-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

/* --- Left Side Arrangement --- */
.cta-left-content {
    display: flex;
    align-items: center;
    gap: 20px;
}

.cta-icon-wrapper {
    width: 48px;
    height: 48px;
    color: #ffffff; /* White outlined vector icon lines */
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.cta-icon-wrapper svg {
    width: 100%;
    height: 100%;
    display: block;
}

.cta-text-wrapper {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cta-heading {
    color: #ffffff;
    font-family: 'Public Sans', sans-serif;
    font-size: 22px;
    font-weight: 700;
    margin: 0;
    line-height: 1.2;
    letter-spacing: 0.2px;
}

.cta-subtext {
    color: #ffffff;
    font-family: 'Public Sans', sans-serif;
    font-size: 18px;
    font-weight: 600;
    margin: 0;
    line-height: 1.2;
}

/* --- Right Side Elegant White Button --- */
.btn-cta-contact {
    background-color: #ffffff;
    color: #b3832b; /* Golden text color matching banner profile */
    font-family: 'Public Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    padding: 14px 32px;
    border-radius: 6px;
    display: inline-block;
    white-space: nowrap;
    transition: background-color 0.3s ease, color 0.3s ease, transform 0.2s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

.btn-cta-contact:hover {
    background-color: #f5f5f5;
    transform: translateY(-1px);
}

/* ==========================================================================
   RESPONSIVE LAYOUT RESPONSES
   ========================================================================== */

@media (max-width: 992px) {
    .cta-heading {
        font-size: 20px;
    }
    .cta-subtext {
        font-size: 16px;
    }
}

@media (max-width: 768px) {
    .cta-banner-section {
        padding: 40px 0;
    }
    
    .cta-banner-container {
        flex-direction: column; /* Stacks components cleanly on smaller screens */
        text-align: center;
        gap: 25px;
    }

    .cta-left-content {
        flex-direction: column; /* Puts the icon perfectly on top of text lines */
        gap: 15px;
    }

    .btn-cta-contact {
        width: 100%;
        max-width: 280px; /* Maintains balanced button presentation dimensions on mobile layout windows */
        text-align: center;
        box-sizing: border-box;
    }
}
/*testimonial*/
.testimonial-section{
    padding:40px 0;
    background:#fff;
    overflow:hidden;
}



.section-header{
    text-align:center;
    margin-bottom:50px;
}

.section-header h2{
    font-size:30px;
    font-weight:700;
    color:#111;
}

.section-header span{
    display:block;
    width:60px;
    height:3px;
    background:#b3832b;
    margin:12px auto 0;
}

.testimonial-slider{
    overflow:hidden;
    position:relative;
}

.testimonial-track{
    display:flex;
    gap:25px;
    width:max-content;
    animation:scrollTestimonials 25s linear infinite;
}

.testimonial-slider:hover .testimonial-track{
    animation-play-state:paused;
}

.testimonial-card{
    width:360px;
    background:#fff;
    border-radius:15px;
    padding:30px;
    box-shadow:0 5px 25px rgba(0,0,0,.08);
    border:1px solid #f1f1f1;
}

.stars{
    color:#b3832b;
    font-size:18px;
    margin-bottom:15px;
}

.testimonial-card p{
    color:#444;
    line-height:1.8;
    margin-bottom:20px;
}

.testimonial-card h4{
    color:#111;
    font-size:15px;
    font-weight:600;
}

@keyframes scrollTestimonials{
    from{
        transform:translateX(0);
    }
    to{
        transform:translateX(-50%);
    }
}

/*certificate*/

  .certificates-section {
        padding: 40px 0;
        width: 100%;
        font-family: 'Public Sans', sans-serif;
        background-color: #fafafa;
    }

    .certificates-container {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 24px;
    }

    /* --- Header Assembly --- */
    .certificates-header {
        text-align: center;
        margin-bottom: 50px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .certificates-title {
        color: #1a1a1a;
        font-size: 30px;
        font-weight: 700;
        margin-bottom: 12px;
        letter-spacing: -0.5px;
    }

    .cert-accent-line {
        width: 50px;
        height: 3px;
        background-color: #b3832b; /* Brand Gold Accent Bar */
        border-radius: 2px;
    }

    /* --- Grid Layout (Updated for 4 Columns) --- */
    .certificates-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 25px;
    }

    /* --- Certificate Card UI (Image + Title Only) --- */
    .certificate-card {
        background: #ffffff;
        border: 1px solid #f2f2f2;
        border-radius: 16px;
        padding: 35px 20px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .certificate-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 35px rgba(179, 131, 43, 0.08);
        border-color: rgba(179, 131, 43, 0.2);
    }

    /* --- Image Framework Styling --- */
    .cert-image-wrapper {
        width: 227px;
        height: 164px;
        margin-bottom: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .cert-image-wrapper img {
        width: 100%;
        height: 100%;
        object-fit: contain; /* Prevents stretching of your images */
    }

    /* --- Typography --- */
    .cert-title {
        color: #1a1a1a;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.4;
        margin: 0;
    }

    /* ==========================================================================
       RESPONSIVE VIEWPORT ADJUSTMENTS
       ========================================================================== */
    @media (max-width: 1024px) {
        .certificates-grid {
            grid-template-columns: repeat(2, 1fr); /* 2 Columns on Tablets */
            gap: 24px;
        }
        .certificates-title {
            font-size: 26px;
        }
    }

    @media (max-width: 576px) {
        .certificates-grid {
            grid-template-columns: 1fr; /* 1 Column on Mobile Phones */
            gap: 20px;
        }
        .certificates-section {
            padding: 50px 0;
        }
        .certificates-title {
            font-size: 22px;
        }
        .certificate-card {
            padding: 30px 20px;
        }
    }
    /*contact*/
        .contact-section {
        padding: 80px 0;
        width: 100%;
        font-family: 'Public Sans', sans-serif;
        background-color: #fcfcfc;
    }

    .contact-container {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 24px;
    }

    /* --- Section Header --- */
    .contact-header {
        text-align: center;
        margin-bottom: 60px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .contact-title {
        color: #1a1a1a;
        font-size: 30px;
        font-weight: 700;
        margin-bottom: 12px;
        letter-spacing: -0.5px;
    }

    .contact-accent-line {
        width: 50px;
        height: 3px;
        background-color: #b3832b; /* Brand Gold */
        border-radius: 2px;
    }

    /* --- Split Two-Column Layout --- */
    .contact-grid {
        display: grid;
        grid-template-columns: 1fr 1.2fr;
        gap: 50px;
        align-items: start;
    }

    /* --- Column 1: Info Cards --- */
    .contact-info-panel {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .info-card {
        background: #ffffff;
        border: 1px solid #f2f2f2;
        border-radius: 16px;
        padding: 30px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.01);
        display: flex;
        gap: 20px;
        align-items: flex-start;
    }

    .info-icon-wrapper {
        width: 44px;
        height: 44px;
        background-color: rgba(179, 131, 43, 0.08);
        border-radius: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #b3832b;
        flex-shrink: 0;
    }

    .info-icon-wrapper svg {
        width: 20px;
        height: 20px;
        fill: currentColor;
    }

    .info-content h4 {
        color: #1a1a1a;
        font-size: 16px;
        font-weight: 700;
        margin: 0 0 6px 0;
    }

    .info-content p, .info-content a {
        color: #555555;
        font-size: 14px;
        line-height: 1.6;
        text-decoration: none;
        margin: 0;
    }

    .info-content a:hover {
        color: #b3832b;
    }

    /* --- Column 2: Lead Form --- */
    .contact-form-panel {
        background: #ffffff;
        border: 1px solid #f2f2f2;
        border-radius: 24px;
        padding: 45px;
        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.02);
    }

    .form-group-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
            }

    .form-group {
        margin-bottom: 20px;
    }

    .form-group label {
        display: block;
        color: #1a1a1a;
        font-size: 13px;
        font-weight: 600;
        margin-bottom: 8px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .form-control {
        width: 100%;
        background-color: #fcfcfc;
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        padding: 14px 16px;
        font-family: inherit;
        font-size: 14px;
        color: #1a1a1a;
        transition: all 0.3s ease;
        box-sizing: border-box;
    }

    .form-control:focus {
        outline: none;
        border-color: #b3832b;
        background-color: #ffffff;
        box-shadow: 0 0 0 3px rgba(179, 131, 43, 0.1);
    }

    textarea.form-control {
        resize: vertical;
        }

    .submit-btn {
        width: 100%;
        background-color: #b3832b;
        color: #ffffff;
        border: none;
        border-radius: 10px;
        padding: 16px 20px;
        font-size: 15px;
        font-weight: 600;
        cursor: pointer;
        transition: background-color 0.3s ease, transform 0.2s ease;
    }

    .submit-btn:hover {
        background-color: #966d22;
    }

    .submit-btn:active {
        transform: scale(0.99);
    }

    /* ==========================================================================
       RESPONSIVE VIEWPORT ADJUSTMENTS
       ========================================================================== */
    @media (max-width: 992px) {
        .contact-grid {
            grid-template-columns: 1fr;
            gap: 40px;
        }
        .contact-form-panel {
            padding: 35px;
        }
        .contact-title {
            font-size: 26px;
        }
    }

    @media (max-width: 576px) {
        .contact-section {
            padding: 50px 0;
        }
        .contact-title {
            font-size: 22px;
        }
        .form-group-row {
            grid-template-columns: 1fr;
            gap: 0;
        }
        .info-card {
            padding: 24px;
        }
        .contact-form-panel {
            padding: 25px 20px;
        }
    }
    /* The custom dropdown container */
    .custom-select {
        position: relative;
        width: 100%;
        cursor: pointer;
    }

    /* The selected item box */
    .select-box {
        padding: 14px;
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        background: #fcfcfc;
    }

    /* The menu that appears */
    .select-options {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #ffffff;
        border: 1px solid #e2e8f0;
        display: none; /* Hidden by default */
        z-index: 100;
    }

    /* The hover effect you wanted! */
    .select-option {
        padding: 12px;
        transition: 0.3s;
    }

    .select-option:hover {
        background-color: #b3832b; /* Your Mockup Color */
        color: #ffffff;
    }
/*footer*/

/* Using your defined system design token matrix roots precisely */
.main-footer {
    background-color: #14181b; 
    color: var(--bg-white);
    font-family: var(--font-main);
    padding-top: 40px;
    margin-top: 0;
    position: relative;
    z-index: 10;
}

.footer-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: 1.3fr 0.7fr 0.7fr 1.3fr;
    gap: 50px;
}

.footer-brand-column {
    display: flex;
    flex-direction: column;
}

.footer-logo {
    margin-bottom: 24px;
}

.footer-about-text {
    font-size: 14px;
    line-height: 1.6;
    color: #aab0b6;
    margin-bottom: 28px;
    max-width: 340px;
}

.footer-social-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.social-icon-circle {
    width: 38px;
    height: 38px;
    border: 1px solid var(--primary-gold);
    border-radius: 50%;
    display: inline-flex;  /* Keeps icon vector centered */
    align-items: center;
    justify-content: center;
    color: var(--primary-gold);
    text-decoration: none;
    font-size: 16px;       /* Controls the icon visual scale inside the circle */
    transition: all var(--transition-speed) ease;
}

.social-icon-circle:hover {
    background-color: var(--primary-gold);
    color: var(--bg-white);
    transform: translateY(-3px);
}

.footer-column-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--bg-white);
    margin-bottom: 24px;
}

.footer-links-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links-list li {
    margin-bottom: 14px;
}

.footer-links-list a {
    color: #aab0b6;
    text-decoration: none;
    font-size: 14px;
    transition: color var(--transition-speed) ease;
}

.footer-links-list a:hover {
    color: var(--primary-gold);
}

.footer-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-contact-list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 18px;
    color: #aab0b6;
    font-size: 14px;
}

.footer-contact-list a {
    color: #aab0b6;
    text-decoration: none;
    transition: color var(--transition-speed) ease;
    line-height: 1.4;
}

.footer-contact-list a:hover {
    color: var(--primary-gold);
}

.contact-icon-circle {
    color: var(--primary-gold);
    font-size: 16px;
    flex-shrink: 0;
    margin-top: 2px;
}

.contact-address-text {
    line-height: 1.5;
}

.footer-bottom-bar {
    margin-top: 60px;
    border-top: 1px solid rgba(179, 131, 43, 0.25);
    padding: 24px 0;
}

.bottom-bar-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.copyright-text, .credits-text {
    font-size: 13px;
    color: #aab0b6;
    margin: 0;
}

/* ==========================================================================
   RESPONSIVE MEDIA ENGINE FOR HIGH ACCURACY SCALING
   ========================================================================== */

@media (max-width: 1024px) {
    .footer-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
        padding: 0 32px;
    }
    
    .footer-bottom-bar {
        margin-top: 40px;
    }
}

@media (max-width: 600px) {
    .main-footer {
        padding-top: 60px;
    }

    .footer-container {
        grid-template-columns: 1fr;
        gap: 36px;
        padding: 0 24px;
    }

    .footer-column-title {
        margin-bottom: 16px;
    }

    .bottom-bar-flex {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }
}

/*recaptcha*/
    .captcha-box{
    width:100%;
    overflow:hidden;
    margin-top:20px;
}

.g-recaptcha{
    display:inline-block;
}

@media (max-width: 576px) {
    .cert-image-wrapper {
        width: 100%;
        height: auto;
    }
}



/* ===================================
   LARGE DESKTOPS (1600px+)
=================================== */
@media (min-width: 1600px){

    .container,
    .navbar-container,
    .partners-container,
    .contact-container,
    .certificates-container{
        max-width: 1400px;
    }

    .hero-title{
        font-size: 60px;
    }

    .hero-description{
        font-size: 20px;
    }

    .about-main-title{
        font-size: 40px;
    }

    .features-grid{
        gap: 40px;
    }
}


/* ===================================
   LAPTOPS (1200px - 1599px)
=================================== */
@media (max-width: 1400px){

    .hero-title{
        font-size: 45px;
    }

    .about-content-column-full{
        padding-left: 60px;
    }

    .footer-container{
        gap: 30px;
    }
}


/* ===================================
   SMALL LAPTOPS (992px - 1199px)
=================================== */
@media (max-width: 1199px){

    .hero-wrapper{
        gap: 40px;
    }

    .hero-title{
        font-size: 42px;
    }

    .about-main-title{
        font-size: 28px;
    }

    .certificates-grid{
        grid-template-columns: repeat(2,1fr);
    }

    .footer-container{
        grid-template-columns: repeat(2,1fr);
    }
}


/* ===================================
   TABLETS
=================================== */
@media (max-width: 991px){

    .container{
        padding-left:20px;
        padding-right:20px;
    }

    .hero-section{
        min-height:auto;
        padding:80px 0;
    }

    .hero-title{
        font-size:38px;
    }

    .hero-description{
        font-size:16px;
    }

    .stats-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .features-grid{
        grid-template-columns:1fr;
    }

    .contact-grid{
        grid-template-columns:1fr;
    }

    .footer-container{
        grid-template-columns:1fr 1fr;
    }
}


/* ===================================
   MOBILE LANDSCAPE
=================================== */
@media (max-width: 767px){

    .hero-title{
        font-size:34px;
    }

    .hero-actions{
        flex-direction:column;
    }

    .btn-primary,
    .video-btn{
        width:100%;
        justify-content:center;
    }

    .stats-grid{
        grid-template-columns:1fr;
    }

    .certificates-grid{
        grid-template-columns:1fr;
    }

    .footer-container{
        grid-template-columns:1fr;
    }

    .testimonial-card{
        width:300px;
    }

    .partners-title,
    .contact-title,
    .certificates-title,
    .section-header h2{
        font-size:24px;
    }
}


/* ===================================
   MOBILE
=================================== */
@media (max-width: 576px){

    .container{
        padding-left:15px;
        padding-right:15px;
    }

    .navbar-container{
        padding:0 15px;
    }

    .hero-section{
        padding:60px 0;
    }

    .hero-title{
        font-size:28px;
        line-height:1.3;
    }

    .hero-description{
        font-size:15px;
        line-height:1.7;
    }

    .btn-primary{
        padding:14px 20px;
    }

    .about-main-title{
        font-size:24px;
    }

    .feature-card{
        padding:20px;
    }

    .contact-form-panel{
        padding:20px;
    }

    .testimonial-card{
        width:260px;
        padding:20px;
    }

    .cert-image-wrapper{
        width:100%;
        height:auto;
    }

    .footer-container{
        padding:0 15px;
    }

    .footer-about-text{
        max-width:100%;
    }
}


/* ===================================
   EXTRA SMALL DEVICES
=================================== */
@media (max-width: 375px){

    .hero-title{
        font-size:24px;
    }

    .hero-description{
        font-size:14px;
    }

    .logo-img{
        max-height:40px;
    }

    .navbar-menu{
        width:100%;
    }

    .rera-badge{
        width:90px;
        height:90px;
    }

    .rera-title{
        font-size:16px;
    }

    .cta-heading{
        font-size:18px;
    }

    .cta-subtext{
        font-size:14px;
    }
}

/*404page*/

.error-404-section{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fafafa;
    padding:40px 20px;
    text-align:center;
}

.error-container{
    max-width:700px;
    width:100%;
}

.error-code{
    display:block;
    font-size:140px;
    font-weight:800;
    line-height:1;
    color:#b3832b;
    margin-bottom:20px;
}

.error-content h1{
    font-size:42px;
    font-weight:700;
    color:#111;
    margin-bottom:20px;
}

.error-content p{
    font-size:18px;
    line-height:1.8;
    color:#666;
    max-width:600px;
    margin:0 auto 35px;
}

.error-actions{
    display:flex;
    justify-content:center;
    gap:15px;
    flex-wrap:wrap;
}

.btn-home,
.btn-contact{
    text-decoration:none;
    padding:14px 32px;
    border-radius:6px;
    font-weight:600;
    transition:.3s;
}

.btn-home{
    background:#b3832b;
    color:#fff;
}

.btn-home:hover{
    background:#966d22;
}

.btn-contact{
    border:2px solid #b3832b;
    color:#b3832b;
}

.btn-contact:hover{
    background:#b3832b;
    color:#fff;
}

@media(max-width:768px){

    .error-code{
        font-size:90px;
    }

    .error-content h1{
        font-size:30px;
    }

    .error-content p{
        font-size:16px;
    }
}

.footer-policy-links{
    display:flex;
    align-items:center;
    gap:10px;
}

.footer-policy-links a{
    color:#aab0b6;
    text-decoration:none;
    font-size:13px;
    transition:.3s;
}

.footer-policy-links a:hover{
    color:#b3832b;
}

.footer-policy-links span{
    color:#aab0b6;
}

@media(max-width:600px){

    .footer-policy-links{
        justify-content:center;
        flex-wrap:wrap;
    }

}
/*whts*/
.whatsapp-float{
    position:fixed;
    width:60px;
    height:60px;
    bottom:25px;
    left:25px;   /* Right ऐवजी Left */
    background:#25D366;
    color:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:32px;
    box-shadow:0 8px 25px rgba(37,211,102,.35);
    z-index:9999;
    transition:.3s ease;
}

.whatsapp-float:hover{
    color:#fff;
    transform:translateY(-5px) scale(1.05);
    box-shadow:0 12px 30px rgba(37,211,102,.45);
}

.whatsapp-float::before{
    content:'';
    position:absolute;
    width:100%;
    height:100%;
    border-radius:50%;
    background:#25D366;
    animation:whatsappPulse 2s infinite;
    z-index:-1;
}

@keyframes whatsappPulse{

    0%{
        transform:scale(1);
        opacity:.7;
    }

    70%{
        transform:scale(1.5);
        opacity:0;
    }

    100%{
        transform:scale(1.5);
        opacity:0;
    }
}

@media(max-width:576px){

    .whatsapp-float{
        width:55px;
        height:55px;
        font-size:28px;
        left:15px;   /* Mobile */
        bottom:15px;
    }

}

 /* ==========================
   GALLERY SECTION
========================== */

.gallery-section{
    padding:80px 0;
    background:#f8f9fa;
}

.gallery-container{
    width:90%;
    max-width:1400px;
    margin:auto;
}

.gallery-header{
    text-align:center;
    margin-bottom:50px;
}

.gallery-title{
    font-size:42px;
    font-weight:700;
    color:#0B2D5C;
    text-transform:capitalize;
    margin-bottom:15px;
}

.gallery-line{
    width:80px;
    height:4px;
    background:#f4b400;
    margin:auto;
    border-radius:10px;
}

/* Gallery Grid */

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

.gallery-item{
    overflow:hidden;
    border-radius:15px;
    background:#fff;
    box-shadow:0 5px 20px rgba(0,0,0,0.08);
    cursor:pointer;
}

.gallery-item img{
    width:100%;
    height:320px;
    object-fit:cover;
    display:block;
    transition:0.5s ease;
}

.gallery-item:hover img{
    transform:scale(1.08);
}

/* Tablet */

@media(max-width:991px){
    .gallery-grid{
        grid-template-columns:repeat(3,1fr);
    }

    .gallery-item img{
        height:260px;
    }
}

/* Mobile */

@media(max-width:767px){
    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
        gap:15px;
    }

    .gallery-title{
        font-size:32px;
    }

    .gallery-item img{
        height:220px;
    }
}

/* Small Mobile */

@media(max-width:480px){
    .gallery-grid{
        grid-template-columns:1fr;
    }

    .gallery-item img{
        height:auto;
    }
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.gallery-grid a{
    display:block;
    overflow:hidden;
    border-radius:12px;
}

.gallery-grid img{
    width:100%;
    height:300px;
    object-fit:cover;
    transition:0.4s ease;
}

.gallery-grid a:hover img{
    transform:scale(1.08);
}

@media(max-width:991px){
    .gallery-grid{
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width:767px){
    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .gallery-grid img{
        height:220px;
    }
}

@media(max-width:480px){
    .gallery-grid{
        grid-template-columns:1fr;
    }
}
.error-message{
    color:#ff0000 !important;
    font-size:13px;
    font-weight:500;
    margin-top:5px;
    display:block;
}

.form-control.error{
    border:2px solid #ff0000 !important;
}

.form-control.error:focus{
    border-color:#ff0000 !important;
    box-shadow:0 0 0 3px rgba(255,0,0,0.15);
}

.error{
    color:red!important;
}