:root {
            --gold: #C5A059;
            --gold-light: #d4b67b;
            --dark: #0A0A0A;
            --concrete-grey: #919191; 
            --light-grey: #F8F8F8;
            --white: #FFFFFF;
            --transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
            --shadow: 0 20px 40px rgba(0,0,0,0.08);
            --btn-shadow: 0 8px 20px rgba(197, 160, 89, 0.3);
            --section-padding: clamp(100px, 15vh, 160px);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            scroll-behavior: smooth;
        }

        body {
            background-color: var(--white);
            color: var(--dark);
            font-family: 'Inter', sans-serif;
            -webkit-font-smoothing: antialiased;
            overflow-x: hidden;
            width: 100%;
        }

        .container {
            max-width: 1300px;
            margin: 0 auto;
            padding: 0 25px;
            width: 100%;
        }

        /* --- Background Branding --- */
        .bg-branding {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            font-size: clamp(3rem, 14vw, 16rem);
            font-weight: 900;
            color: rgba(0,0,0,0.035);
            z-index: -1;
            white-space: nowrap;
            pointer-events: none;
            text-transform: uppercase;
            text-align: center;
            width: 100%;
        }

        /* --- Utility Top Bar --- */
        .top-bar {
            background: var(--gold);
            color: white;
            padding: 12px 0;
            font-size: 0.75rem;
            font-weight: 700;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            position: relative;
            z-index: 1001;
        }

        .top-bar-inner {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .top-bar-right a {
            color: white;
            text-decoration: none;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        /* --- Navigation --- */
        .navbar {
            position: sticky;
            top: 0;
            width: 100%;
            background: rgba(10, 10, 10, 0.98);
            backdrop-filter: blur(15px);
            padding: 15px 0; 
            z-index: 1000;
            border-bottom: 1px solid rgba(255,255,255,0.08);
        }

        .nav-inner {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .brand-box {
            display: flex;
            align-items: center;
            gap: 8px; /* Further reduced gap for a tighter look */
            text-decoration: none;
            color: white;
        }

        .nav-logo {
            height: 65px; 
            width: auto;
            display: block;
            background: transparent;
        }

        .brand-text-stack {
        display: flex;
        align-items: center; 
        gap: 15px; 
        flex-wrap: wrap; 
        }
        .company-name { 
        font-family: 'Playfair Display', serif; 
        font-size: 1.4rem; 
        font-weight: 700; 
        white-space: nowrap; }

        .cert-badge {
            font-size: 0.55rem; 
            color: var(--gold); 
            border: 1px solid var(--gold);
            padding: 4px 10px; 
            border-radius: 2px; 
            text-transform: uppercase;
            font-weight: 800; 
            letter-spacing: 1px;
        }

        .nav-links { 
        display: flex; 
        gap: 40px; 
        list-style: none; } 
        .nav-links a {
            color: rgba(255,255,255,0.75); 
            text-decoration: none; 
            font-size: 0.8rem;
            text-transform: uppercase; 
            letter-spacing: 2px; 
            font-weight: 600; 
            transition: var(--transition);
            position: relative;
            padding-bottom: 8px;
        }
        
        .nav-links a::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--gold);
            transition: var(--transition);
        }
        
        .nav-links a:hover, .nav-links a.active { 
            color: var(--gold); 
        }
        
        .nav-links a:hover::after, .nav-links a.active::after {
            width: 100%;
        }

        /* Mobile Menu Toggle */
        .mobile-toggle {
            display: none;
            flex-direction: column;
            gap: 6px;
            cursor: pointer;
            z-index: 1100;
        }

        .mobile-toggle span {
            display: block;
            width: 25px;
            height: 2px;
            background: var(--white);
            transition: var(--transition);
        }

        /* --- Hero Section --- */
        .hero {
            height: 90vh;
            min-height: 700px;
            background: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7)), url('hero.jpg') center/cover;
            display: flex; 
            align-items: center; 
            justify-content: center; 
            text-align: center; 
            color: white;
            position: relative;
            z-index: 10;
        }

        .hero-content { 
            width: 100%;
            max-width: 1100px; 
            padding: 0 20px;
            position: relative;
        }

        .hero-label {
            text-transform: uppercase; 
            letter-spacing: 5px; 
            color: var(--gold); 
            font-weight: 800; 
            font-size: 0.85rem; 
            display: block; 
            margin-bottom: 25px;
        }

        .filling-text-container {
            position: relative;
            display: inline-block;
            width: 100%;
            margin-bottom: 45px;
        }

        .text-outline {
            font-family: 'Playfair Display', serif;
            font-size: clamp(2.5rem, 9vw, 7rem);
            font-weight: 900;
            line-height: 1.1;
            text-transform: uppercase;
            color: transparent;
            -webkit-text-stroke: 1px rgba(255,255,255,0.3);
            display: block;
            position: relative;
            z-index: 1;
        }

        .fill-clipper {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 0%; 
            overflow: hidden;
            animation: liquidPour 6s infinite ease-in-out;
            border-top: 3px solid var(--gold); 
            background: transparent;
            z-index: 2;
        }

        .text-filled {
            font-family: 'Playfair Display', serif;
            font-size: clamp(2.5rem, 9vw, 7rem);
            font-weight: 900;
            line-height: 1.1;
            text-transform: uppercase;
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 100%;
            color: var(--concrete-grey); 
            white-space: normal;
        }

        @keyframes liquidPour {
            0%, 100% { height: 12%; }
            50% { height: 88%; }
        }

        .hero p {
            font-size: clamp(1rem, 2.2vw, 1.25rem); 
            font-weight: 300; 
            color: rgba(255,255,255,0.85);
            max-width: 750px;
            margin: 0 auto 50px;
            line-height: 1.8;
        }

        .cta-btn {
            display: inline-block; 
            background: var(--gold); 
            color: white;
            text-decoration: none; 
            padding: 20px 50px; 
            font-weight: 800;
            text-transform: uppercase; 
            letter-spacing: 2px; 
            font-size: 0.85rem;
            border-radius: 4px; 
            box-shadow: var(--btn-shadow);
            transition: var(--transition); 
            border: none; 
            cursor: pointer;
            margin-top: 20px;
        }
        .cta-btn:hover { 
        background: #b38f4d; 
        transform: translateY(-5px); 
        box-shadow: 0 15px 30px rgba(197, 160, 89, 0.4); }

        /* --- Features Section --- */
        .features-section { 
        padding: var(--section-padding) 0; 
        position: relative; 
        z-index: 20; }
        .features-grid {
            display: grid; 
            grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); 
            gap: 40px;
        }
        .feature-card {
            background: white; 
            padding: 60px 40px; 
            text-align: left;
            box-shadow: var(--shadow); 
            position: relative; 
            transition: var(--transition);
            border: 1px solid #f0f0f0;
        }
        .feature-card::before {
            content: ''; 
            position: absolute; 
            left: 0; 
            top: 20%; 
            height: 60%; 
            width: 4px; 
            background: var(--gold); 
            opacity: 0.4; 
            transition: var(--transition);
        }
        .feature-card:hover { 
        transform: translateY(-10px); 
        box-shadow: 0 30px 60px rgba(0,0,0,0.1); }
        .feature-card:hover::before { 
        opacity: 1; 
        height: 100%; 
        top: 0; }
        
        .feature-icon { 
        color: var(--gold); 
        margin-bottom: 30px; 
        display: block; }
        .feature-card h3 { 
        font-size: 1.1rem; 
        text-transform: uppercase; 
        letter-spacing: 2px; 
        margin-bottom: 20px; 
        font-weight: 800; }
        .feature-card p { 
        font-size: 0.95rem; 
        color: #666; 
        line-height: 1.8; }
        
        .stat-number { 
        font-size: 2.2rem; 
        font-weight: 800; 
        color: var(--gold); 
        margin-right: 5px; }

        /* --- About Section --- */
        #about { 
            padding: calc(var(--section-padding) * 0.8) 0; 
            background: white; 
        }
        .about-grid {
            display: grid; 
            grid-template-columns: 1.1fr 0.9fr; 
            gap: clamp(40px, 8vw, 100px);
            align-items: center;
        }
        .about-content { 
        padding: 0 clamp(20px, 5vw, 40px); }
        .about-content h2 { 
        font-family: 'Playfair Display', serif; 
        font-size: clamp(2.4rem, 5vw, 3.4rem); 
        margin-bottom: 35px; 
        line-height: 1.2; }
        .about-content p { 
        font-size: 1.05rem; 
        color: #444; 
        line-height: 1.9; 
        margin-bottom: 30px; }
        
        .para-with-accent {
            border-left: 3px solid var(--gold);
            padding-left: 30px;
            margin-top: 40px;
        }

        .about-image {
            width: 100%; 
            height: 580px; 
            border-radius: 4px; 
            overflow: hidden;
            box-shadow: var(--shadow);
        }
        .about-image img { 
        width: 100%; 
        height: 100%; 
        object-fit: cover; }
        
        .high-impact-cta {
            background: var(--light-grey); 
            padding: 70px 60px; 
            border-left: 6px solid var(--gold);
            text-align: left; 
            margin-top: 100px; 
            grid-column: span 2;
        }

        /* --- Quote Section --- */
        .form-header {
        text-align: center;
        margin-bottom: 60px;
        }

        .form-header h2 {
        font-family: 'Playfair Display', serif;
        font-size: 2.8rem;
        }

        .form-header p {
        color: #777;
        margin-top: 10px;
        }
        .form-bg { 
        background: var(--light-grey); 
        padding: var(--section-padding) 0; 
        }
        .quote-form-container {
            max-width: 950px; 
            margin: 0 auto; 
            background: white;
            padding: 70px; 
            box-shadow: 0 40px 80px rgba(0,0,0,0.05); 
            border-radius: 4px;
            border: 1px solid rgba(197, 160, 89, 0.1);
        }
        .form-grid { 
        display: grid; 
        grid-template-columns: 1fr 1fr; 
        gap: 35px; 
        }
        .form-full { 
        grid-column: span 2; 
        }
        .form-group label { 
        font-size: 0.75rem; 
        font-weight: 800; 
        text-transform: uppercase; 
        color: #222; 
        letter-spacing: 1px; 
        margin-bottom: 15px; 
        display: block; 
        }
        .form-group input, .form-group select, .form-group textarea {
            padding: 20px; 
            border: 1px solid #e0e0e0; 
            background: #fff; 
            border-radius: 0; 
            font-family: inherit; 
            width: 100%; 
            transition: 0.3s;
        }
        .form-group input:focus,
        .form-group select:focus,
        .form-group textarea:focus {
        border-color: var(--gold);
        outline: none;
        box-shadow: 0 0 0 4px rgba(197, 160, 89, 0.05);
        }
        
        .submit-btn {
            width: 100%; 
            padding: 25px; 
            background: var(--dark); 
            color: white; 
            border: none; 
            font-weight: 800; 
            text-transform: uppercase; 
            letter-spacing: 4px; 
            cursor: pointer; 
            transition: var(--transition);
        }
        .submit-btn:hover { 
        background: var(--gold); 
        transform: translateY(-3px); 
        box-shadow: var(--btn-shadow); 
        }

        /* --- Contact & Map --- */
        .contact-section { 
        padding: var(--section-padding) 0; 
        }
        .contact-map-grid { 
        display: grid; 
        grid-template-columns: 1fr 1.2fr; 
        gap: 60px; 
        align-items: stretch; }
        
        .contact-col-gold {
            background: var(--gold);
            padding: 60px 50px;
            color: white;
            box-shadow: var(--shadow);
            border-radius: 4px;
        }
        .sub-head-p {
        margin-bottom: 30px;
        opacity: 0.9;
        font-size: 0.95rem
        } 
        .contact-col-gold h2 { 
            font-family: 'Playfair Display', serif; 
            font-size: 2.8rem; 
            margin-bottom: 40px; 
            color: white;
        }

        .contact-card-item {
            display: flex; 
            align-items: center; 
            gap: 25px; 
            text-decoration: none; 
            color: white;
            padding: 25px 0; 
            border-bottom: 1px solid rgba(255,255,255,0.2); 
            transition: var(--transition);
        }
        .contact-card-item:last-of-type { 
        border-bottom: none; 
        }
        .contact-card-item:hover { 
        padding-left: 15px; 
        background: rgba(255,255,255,0.05); 
        }
        
        .card-icon {
            flex-shrink: 0; 
            width: 50px; 
            height: 50px; 
            background: white; color: var(--gold);
            display: flex; 
            align-items: center; 
            justify-content: center; 
            border-radius: 50%;
        }
        .card-info h4 { 
        font-size: 0.8rem; 
        text-transform: uppercase; 
        letter-spacing: 1.5px; 
        opacity: 0.8; 
        margin-bottom: 5px; 
        }
        .card-info p { 
        font-size: 1.1rem; 
        font-weight: 600; 
        }

        .map-box {
            width: 100%; 
            min-height: 600px; 
            border-radius: 4px; 
            overflow: hidden;
            box-shadow: var(--shadow); 
            background: #eee;
        }
        .map-box iframe { 
        border: 0; 
        filter: grayscale(1) contrast(1.1); 
        width: 100%; 
        height: 100%; 
        }

        /* --- Footer --- */
        .footer { background: var(--dark); 
        color: white; 
        padding: 100px 0 40px; 
        }
        .footer-inner { 
        display: flex; 
        justify-content: space-between; 
        align-items: flex-start; 
        gap: 60px; 
        margin-bottom: 80px; 
        }
        .footer-brand { 
        flex: 1.5; 
        }
        .footer-brand h3 { 
        font-family: 'Playfair Display', serif; 
        font-size: 2.2rem; 
        margin-bottom: 20px; 
        }
        .footer-brand p { 
        color: #888; 
        max-width: 450px; 
        line-height: 1.7; 
        font-size: 0.95rem; 
        }
        
        .footer-nav-group { 
        flex: 1.8; 
        display: 
        flex; gap: 80px; 
        justify-content: flex-end; 
        }
        .footer-column h5 { 
        color: var(--gold); 
        text-transform: uppercase; 
        letter-spacing: 2.5px; 
        margin-bottom: 25px; 
        font-size: 0.8rem; 
        font-weight: 800; 
        }
        .footer-column ul { 
        list-style: none; 
        display: flex; 
        flex-direction: column; 
        gap: 15px; 
        }
        .footer-column a { 
        color: #aaa; 
        text-decoration: none; 
        font-size: 0.9rem; 
        transition: 0.3s; 
        display: flex; 
        align-items: center; 
        gap: 12px; 
        }
        .footer-column a:hover { 
        color: white; 
        }
        .footer-icon { 
        width: 16px; 
        height: 16px; 
        color: var(--gold); }

        .footer-bottom {
            padding-top: 35px; 
            border-top: 1px solid rgba(255,255,255,0.08);
            display: flex; 
            justify-content: space-between; 
            color: #555; 
            font-size: 0.85rem;
        }
        
        .footer-bottom a { 
            color: var(--gold); 
            text-decoration: none; 
            font-weight: 700; 
            transition: var(--transition);
        }
        .footer-bottom a:hover { 
            color: white; 
            transform: translateY(-2px); 
        }

        /* --- Responsive Queries --- */
        @media (max-width: 1150px) {
            .about-grid { grid-template-columns: 1fr; gap: 60px; }
            .high-impact-cta { grid-column: span 1; margin-top: 60px; }
            .footer-inner { flex-direction: column; }
            .footer-nav-group { width: 100%; justify-content: flex-start; }
        }

        @media (max-width: 991px) {
            .mobile-toggle { display: flex; }
            .nav-links {
                position: fixed;
                top: 100%;
                left: 0;
                width: 100%;
                background: var(--dark);
                flex-direction: column;
                padding: 40px;
                gap: 25px;
                transform: translateY(-150%);
                transition: transform 0.5s ease;
                z-index: 999;
                border-bottom: 1px solid rgba(255,255,255,0.1);
            }
            .nav-links.active { transform: translateY(0); }
            .nav-links a { font-size: 1.1rem; }
        }

        @media (max-width: 850px) {
            .contact-map-grid { grid-template-columns: 1fr; }
            .footer-nav-group { gap: 50px; flex-wrap: wrap; }
        }

        @media (max-width: 768px) {
            .navbar { padding: 15px 0; }
            .brand-text-stack { flex-direction: row; align-items: center; gap: 10px; }
            .company-name { font-size: 1.1rem; }
            .nav-logo { height: 45px; }
            .hero { height: 85vh; }
            .quote-form-container { padding: 40px 25px; }
            .form-grid { grid-template-columns: 1fr; }
            .form-full { grid-column: auto; }
        }
        /*  Popup Styles */
/* Popup container - Fullscreen background */
.popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8); /* Dark background for contrast */
    display: none; /* Initially hidden */
    justify-content: center;
    align-items: center;
    z-index: 1000;
    opacity: 0; /* Start with invisible */
    transition: opacity 0.3s ease-in-out; /* Smooth fade-in */
}

/* When active, show the popup */
.popup.active {
    display: flex; /* Make the popup visible */
    opacity: 1; /* Fade-in effect */
}

/* Popup content */
.popup-content {
    background-color: #fff; /* White background */
    padding: 40px;
    width: 400px;
    max-width: 90%;
    text-align: center;
    border-radius: 15px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2); /* Strong shadow for depth */
    position: relative;
    animation: fadeIn 0.5s ease-in-out; /* Smooth fade-in */
    overflow: hidden; 
}

/* Animated glowing border around the popup */
.popup-content:before {
    content: "";
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    border: 2px solid #F39C12; /* Initial golden border color */
    border-radius: 15px;
    animation: glowing-border 1.5s linear infinite; /* Glowing effect */
    z-index: -1; /* Keep the glow behind the content */
}

/* Typography for Title and Text */
.popup-content h2 {
    font-family: 'Playfair Display', serif; 
    font-size: 2rem;
    color: #333; /* Dark color for title */
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.popup-content p {
    font-size: 1.2rem;
    color: #666; /* Dark gray for message */
    margin-bottom: 20px;
    line-height: 1.6;
}

/* Close button in the top-right corner */
.close-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    font-size: 28px;
    color: #e74c3c;
    cursor: pointer;
    transition: color 0.3s ease;
}
.close-btn:hover {
    color: #c0392b;
}

/* Glowing border animation effect */
@keyframes glowing-border {
    0% {
        border-color: #F39C12; /* Golden color */
    }
    25% {
        border-color: #e67e22; /* Orange glow */
    }
    50% {
        border-color: #f1c40f; /* Bright yellow */
    }
    75% {
        border-color: #e67e22; /* Orange glow */
    }
    100% {
        border-color: #F39C12; /* Golden color */
    }
}

/* Popup fade-in effect */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}