
        /* --- ENHANCED STYLES --- */

        /* Root Variables for Theming */
        :root {

            /* New Vibrant Color Theme */
            --clr-bg-light: #f5f7fa;
            --clr-text-light: #1a1a1a;
            --clr-card-bg-light: #ffffff;
            --clr-border-light: #e0e6ed;
            --clr-nav-bg-light: rgba(255, 255, 255, 0.98);
            --clr-nav-border-light: rgba(0, 0, 0, 0.1);
            --clr-nav-link-hover-bg-light: rgba(255, 107, 53, 0.1);

            --clr-bg-dark: #0f141f;
            --clr-text-dark: #e9ecef;
            --clr-card-bg-dark: #1e2a38;
            --clr-border-dark: #2c3e50;
            --clr-nav-bg-dark: rgba(15, 20, 31, 0.98);
            --clr-nav-border-dark: #34495e;
            --clr-nav-link-hover-bg-dark: rgba(46, 204, 113, 0.1);

            /* Accent Colors */
            --clr-primary: #1e4d72; /* Deep Blue */
            --clr-accent: #87ceeb; /* Sky Blue */
            --clr-accent-1: #ff6b35;
            --clr-secondary: #3498db; /* Bright Blue */
            --clr-accent-hover: #c0392b; /* Darker Red */


            /* Typography */
            --font-display1: 'Playfair Display', serif;
            --font-display2: 'Poppins', sans-serif;
            --font-body: 'Open Sans', sans-serif;

            /* Spacing & Sizing */
            --navbar-height: 80px;
            --section-padding: 5rem;
            --card-radius: 12px;
            --transition-speed: 0.3s;
            --transition: all 0.3s ease;
        }


        /* --- CORE STYLES --- */
        *, *::before, *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: var(--font-body),serif;
            background-color: var(--clr-bg-light);
            color: var(--clr-text-light);
            scroll-behavior: smooth;
            line-height: 1.6;
            transition: background-color, color var(--transition-speed) ease;
        }

        body[data-theme="dark"] {
            background-color: var(--clr-bg-dark);
            color: var(--clr-text-dark);
        }

        h1, h2, h3, h4, h5, h6 {
            font-family: var(--font-display1),serif;

        }

        body[data-theme="dark"] h1,
        body[data-theme="dark"] h2,
        body[data-theme="dark"] h3,
        body[data-theme="dark"] h4,
        body[data-theme="dark"] h5,
        body[data-theme="dark"] h6 {
             color: var(--clr-accent);
        }

        a {
            text-decoration: none;
        }

        .container {
            max-width: 1200px;
        }

        .section-title {
            color: var(--clr-primary);
            margin-bottom: 3rem;
            position: relative;
            text-align: center;
        }

        body[data-theme="dark"] .section-title {
            color: var(--clr-accent);
        }

        .section-title::after {
            content: '';
            width: 80px;
            height: 4px;
            background: linear-gradient(135deg, var(--clr-primary), var(--clr-secondary));
            position: absolute;
            bottom: -10px;
            left: 50%;
            transform: translateX(-50%);
            border-radius: 2px;
        }

        body[data-theme="dark"] .section-title::after {
             background: linear-gradient(135deg, var(--clr-accent), var(--clr-secondary));
        }

        /* --- NAVIGATION --- */
        .navbar {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 1030;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0.75rem 1.5rem;
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(12px);
            transition: all var(--transition-speed) ease;
            border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        }

        body[data-theme="dark"] .navbar {
            background: rgba(18, 18, 18, 0.95);
            border-bottom: 1px solid var(--clr-border-dark);
        }

        .navbar-brand {
            display: flex;
            align-items: center;
            text-decoration: none;
            color: var(--clr-primary);
            font-weight: 700;
            order: 1;
        }

        body[data-theme="dark"] .navbar-brand {
             color: var(--clr-accent);
        }

        .brand-content {
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }

        .brand-icon {
            background: linear-gradient(135deg, var(--clr-primary), var(--clr-secondary));
            width: 40px;
            height: 40px;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .brand-icon i {
            font-size: 1.2rem;
            color: white;
        }

        .brand-text h4 {
            font-size: calc(1.275rem + .3vw);
            font-weight: 700;
            margin: 0;
            line-height: 1.1;
            color: var(--clr-primary);
        }

        body[data-theme="dark"] .brand-text h4 {
            color: var(--clr-accent);
        }

        .brand-text small {
            font-size: 0.75rem;
            font-weight: 500;
            color: var(--clr-secondary);
            text-transform: uppercase;
            letter-spacing: 1.5px;
            display: block;
        }

        .navbar-nav {
            display: flex;
            gap: 1rem;
            list-style: none;
            margin: 0;
            padding: 0;
            order: 2;
        }

        .nav-link {
            color: var(--clr-text-light);
            font-weight: 500;
            font-size: 0.95rem;
            padding: 0.5rem 1rem;
            border-radius: 6px;
            transition: all var(--transition-speed) ease;
            text-decoration: none;
            display: block;
        }

        body[data-theme="dark"] .nav-link {
            color: var(--clr-text-dark);
        }

        .nav-link:hover {
            color: var(--clr-primary);
            background: rgba(30, 77, 114, 0.1);
        }

        body[data-theme="dark"] .nav-link:hover {
            color: var(--clr-accent);
            background: rgba(135, 206, 235, 0.1);
        }

        .navbar-controls {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            order: 3;
        }

        .theme-toggle {
            background: none;
            border: none;
            cursor: pointer;
            width: 36px;
            height: 36px;
            border-radius: 6px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--clr-primary);
            transition: all var(--transition-speed) ease;
        }

        body[data-theme="dark"] .theme-toggle {
            color: var(--clr-accent);
        }

        .theme-toggle:hover {
            background: rgba(30, 77, 114, 0.1);
            transform: scale(1.05);
        }

        body[data-theme="dark"] .theme-toggle:hover {
            background: rgba(135, 206, 235, 0.1);
        }

        .navbar-toggler {
            padding: 0.25rem;
            font-size: 1rem;
            line-height: 1;
            background: transparent;
            border: 1px solid var(--clr-primary);
            border-radius: 6px;
            width: 36px;
            height: 36px;
            display: none;
            align-items: center;
            justify-content: center;
            color: var(--clr-primary);
            cursor: pointer;
        }

        body[data-theme="dark"] .navbar-toggler {
            border-color: var(--clr-accent);
            color: var(--clr-accent);
        }

        .navbar-toggler-icon {
            background-image: none;
            width: 18px;
            height: 18px;
            position: relative;
        }

        .navbar-toggler-icon::before {
            content: '';
            position: absolute;
            width: 18px;
            height: 2px;
            background: currentColor;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
            box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor;
            transition: all 0.3s ease;
        }

        .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before {
            transform: translateY(-50%) rotate(45deg);
            box-shadow: 0 0 0 currentColor, 0 0 0 currentColor;
        }

        .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
            content: '';
            position: absolute;
            width: 18px;
            height: 2px;
            background: currentColor;
            top: 50%;
            left: 0;
            transform: translateY(-50%) rotate(-45deg);
        }

        .navbar-collapse {
            display: none;
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            background: rgba(255, 255, 255, 0.98);
            backdrop-filter: blur(12px);
            border-top: 1px solid rgba(0, 0, 0, 0.1);
            padding: 1rem 1.5rem;
        }

        body[data-theme="dark"] .navbar-collapse {
            background: rgba(18, 18, 18, 0.98);
            border-top: 1px solid var(--clr-border-dark);
        }

        /* ============================= GRID CONTAINER ====================================== */
        .hero-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 2.5rem;
            align-items: center;
            position: relative;
            min-height: 100vh;
            padding: calc(5rem + 80px) 2rem 3rem;
            background: url('https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&w=1350&q=80') center/cover fixed;
            overflow: hidden;
        }

        .hero-grid::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(135deg, rgba(30, 77, 114, 0.7), rgba(122, 155, 184, 0.7));
            z-index: 0;
        }

        .hero-grid .hero-bg {
            position: absolute;
            inset: -10%;
            background: inherit;
            transform: scale(1.1);
            filter: blur(4px);
            z-index: -1;
            transition: transform 0.6s ease;
        }

        .hero-grid:hover .hero-bg {
            transform: scale(1.15);
        }

        /* ============================ SHARED GLASS CARD ================================== */
        .glass {
            position: relative;
            z-index: 1;
            padding: 2.5rem;
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.2);
            border-radius: 1.5rem;
            color: #fff;
            transition: var(--transition);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
        }

        .glass:hover {
            transform: translateY(-8px);
            background: rgba(255, 255, 255, 0.15);
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
        }

        /* ================================ TYPOGRAPHY ======================================= */
        .glass h1 {
            font-size: clamp(2rem, 5vw, 3rem);
            font-weight: 800;
            margin-bottom: 1rem;
            font-family: var(--font-display2),serif;
            line-height: 1.2;
        }

        .glass h3 {
            font-size: 1.75rem;
            margin-bottom: 1.25rem;
            font-weight: 700;
            position: relative;
            padding-bottom: 0.75rem;
        }

        .glass h3::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 60px;
            height: 3px;
            background: var(--clr-accent-1);
            border-radius: 3px;
        }

        .lead {
            opacity: 0.95;
            margin-bottom: 1.5rem;
            line-height: 1.6;
            font-size: 1.25rem;
            font-weight: 300;
        }

        /* ================================== FORM ============================================== */
        .contact-card form {
            display: flex;
            flex-direction: column;
            gap: 1.25rem;
        }

        .contact-card input,
        .contact-card select,
        .contact-card textarea {
            padding: 1rem 1.25rem;
            border: none;
            border-radius: 0.75rem;
            background: rgba(255, 255, 255, 0.95);
            color: #111;
            font-family: var(--font-body),serif;
            font-size: 1rem;
            transition: var(--transition);
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
        }

        .contact-card input:focus,
        .contact-card select:focus,
        .contact-card textarea:focus {
            outline: none;
            box-shadow: 0 0 0 3px rgba(30, 77, 114, 0.3);
            background: white;
        }

        .contact-card textarea {
            min-height: 120px;
            resize: vertical;
        }

        .btn-hero {
            align-self: flex-start;
            background: linear-gradient(135deg, var(--clr-accent-1), #ff8c5a);
            color: white;
            padding: 1rem 2rem;
            border: none;
            border-radius: 50px;
            font-weight: 700;
            font-size: 1.1rem;
            cursor: pointer;
            transition: var(--transition);
            box-shadow: 0 4px 15px rgba(255, 107, 53, 0.3);
        }

        .btn-hero:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 25px rgba(255, 107, 53, 0.4);
        }

        /* ================================= RESPONSIVE ========================================= */
        @media (max-width: 992px) {
            .hero-grid {
                grid-template-columns: 1fr;
                gap: 2rem;
                padding: 6rem 1.5rem 2rem;
            }

            .glass {
                padding: 2rem;
            }
        }

        @media (max-width: 768px) {
            .navbar-nav {
                display: none;
            }

            .navbar-toggler {
                display: block;
            }

            .navbar-collapse {
                position: absolute;
                top: 100%;
                left: 0;
                right: 0;
                background: rgba(255, 255, 255, 0.98);
                backdrop-filter: blur(12px);
                padding: 1.5rem;
                display: none;
                flex-direction: column;
                gap: 1rem;
                box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
            }

            .navbar-nav {
                display: flex;
                flex-direction: column;
                gap: 1rem;
            }

            .glass h1 {
                font-size: 2.2rem;
            }
        }

        @media (max-width: 576px) {
            .glass {
                padding: 1.5rem;
            }

            .glass h1 {
                font-size: 1.8rem;
            }

            .glass h3 {
                font-size: 1.5rem;
            }

            .btn-hero, .btn-mad {
                padding: 0.8rem 1.5rem;
                font-size: 1rem;
            }
        }

        /* --- HERO SECTION --- */
        .hero-section {
            background: linear-gradient(135deg, var(--clr-primary) 0%, var(--clr-secondary) 100%);
            color: white;
            min-height: 100vh;
            display: flex;
            align-items: center;
            position: relative;
            overflow: hidden;
            padding: 2rem;
            padding-top: calc(2rem + var(--navbar-height));
        }

        .hero-content {
            position: relative;
            z-index: 2;
            text-align: center;
        }

        .hero-content h1 {
            font-size: clamp(2rem, 5vw, 3.5rem);
            margin-bottom: 1.5rem;
            color: white;
        }

        .hero-content p.lead {
            font-size: 1.25rem;
            margin-bottom: 2rem;
            max-width: 700px;
            margin-left: auto;
            margin-right: auto;
            opacity: 0.95;
        }

        .hero-btns {
            display: flex;
            justify-content: center;
            gap: 1rem;
            flex-wrap: wrap;
        }

        .btn-hero:hover {
            transform: translateY(-3px);
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
            background: var(--clr-accent);
            color: white;
        }

        .btn-hero-outline {
            background: transparent;
            color: white;
            border: 2px solid white;
            padding: 0.8rem 2rem;
            border-radius: 12px;
            font-weight: 600;
            cursor: pointer;
            transition: all var(--transition-speed) ease;
        }

        .btn-hero-outline:hover {
            background: rgba(255, 255, 255, 0.1);
            transform: translateY(-3px);
        }


        /* ------------------------------------------- SERVICES SECTION ---------------------------- */
        #services {
            padding: var(--section-padding) 1.5rem;
            background-color: var(--clr-card-bg-light);
        }

        body[data-theme="dark"] #services {
            background-color: var(--clr-card-bg-dark);
        }

        .grid-3 {
            display: grid;
            gap: 2rem;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        }

        .service-card {
            background: var(--clr-bg-light);
            border-radius: var(--card-radius);
            padding: 2rem;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
            transition: all var(--transition-speed) ease;
            height: 100%;
            border: 1px solid var(--clr-border-light);
        }

        body[data-theme="dark"] .service-card {
            background: var(--clr-card-bg-dark);
            border: 1px solid var(--clr-border-dark);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
        }

        .service-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
        }

        body[data-theme="dark"] .service-card:hover {
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
        }

        .service-card h3 {
            color: var(--clr-primary);
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }

        body[data-theme="dark"] .service-card h3 {
            color: var(--clr-accent);
        }

        .service-card p {
            margin-bottom: 1.5rem;
        }

        .list-styled {
            padding-left: 0;
            list-style: none;
        }

        .list-styled li {
            margin-bottom: 0.75rem;
            display: flex;
            align-items: flex-start;
        }

        .list-styled li i {
            color: var(--clr-accent);
            margin-right: 0.75rem;
            margin-top: 0.3rem;
        }


        /* --- PORTFOLIO SECTION --- */
        #portfolio {
            padding: var(--section-padding) 1.5rem;
        }

        .portfolio-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 2rem;
        }

        .gallery-item {
            position: relative;
            overflow: hidden;
            border-radius: var(--card-radius);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        }

        body[data-theme="dark"] .gallery-item {
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
        }

        .gallery-item img {
            width: 100%;
            height: 250px;
            object-fit: cover;
            transition: transform var(--transition-speed) ease;
        }

        .gallery-item:hover img {
            transform: scale(1.05);
        }

        .gallery-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(30, 77, 114, 0.85);
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity var(--transition-speed) ease;
            padding: 1rem;
            text-align: center;
        }

        body[data-theme="dark"] .gallery-overlay {
            background: rgba(135, 206, 235, 0.85);
        }

        .gallery-item:hover .gallery-overlay {
            opacity: 1;
        }

        .gallery-overlay h5 {
            color: white;
            margin-bottom: 0.5rem;
        }

        .gallery-overlay p {
            color: rgba(255, 255, 255, 0.9);
            margin: 0;
            font-size: 0.9rem;
        }


        /* --- CALCULATOR SECTION --- */
        #calculatorSection {
            padding: var(--section-padding) 1.5rem;
            background-color: var(--clr-card-bg-light);
            position: relative;
            overflow: hidden;
        }

        body[data-theme="dark"] #calculatorSection {
            background-color: var(--clr-card-bg-dark);
        }

        /* Half background effect */
        #calculatorSection::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 50%; /* Half background */
            background: linear-gradient(135deg, var(--clr-primary), var(--clr-secondary));
            z-index: 0;
        }

        body[data-theme="dark"] #calculatorSection::before {
             background: linear-gradient(135deg, var(--clr-accent), var(--clr-secondary));
        }

        .calculator-container {
            position: relative;
            z-index: 1;
            max-width: 700px;
            margin: 0 auto;
            background: var(--clr-bg-light);
            border-radius: var(--card-radius);
            padding: 2.5rem;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
            border: 1px solid var(--clr-border-light);
        }

        body[data-theme="dark"] .calculator-container {
            background: var(--clr-card-bg-dark);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
            border: 1px solid var(--clr-border-dark);
        }

        #calculator {
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
        }

        #calculator label {
            display: block;
            margin-bottom: 0.5rem;
            font-weight: 600;
            color: var(--clr-text-light);
        }

        body[data-theme="dark"] #calculator label {
            color: var(--clr-text-dark);
        }

        #calculator select,
        #calculator input {
            width: 100%;
            padding: 0.8rem 1rem;
            border: 1px solid var(--clr-border-light);
            border-radius: 8px;
            background-color: var(--clr-bg-light);
            color: var(--clr-text-light);
            transition: border-color var(--transition-speed) ease;
        }

        body[data-theme="dark"] #calculator select,
        body[data-theme="dark"] #calculator input {
            border: 1px solid var(--clr-border-dark);
            background-color: var(--clr-card-bg-dark);
            color: var(--clr-text-dark);
        }

        #calculator select:focus,
        #calculator input:focus {
            outline: none;
            border-color: var(--clr-accent);
            box-shadow: 0 0 0 3px rgba(135, 206, 235, 0.25);
        }

        body[data-theme="dark"] #calculator select:focus,
        body[data-theme="dark"] #calculator input:focus {
            box-shadow: 0 0 0 3px rgba(30, 77, 114, 0.25);
        }

        #quoteResult {
            font-weight: 700;
            color: var(--clr-primary);
            font-size: 1.5rem;
            text-align: center;
            padding: 1rem;
            background-color: rgba(135, 206, 235, 0.1);
            border-radius: 8px;
        }

        body[data-theme="dark"] #quoteResult {
            color: var(--clr-accent);
            background-color: rgba(30, 77, 114, 0.2);
        }


        /* --- ABOUT SECTION --- */
        #about {
            padding: var(--section-padding) 1.5rem;
        }

        .about-content {
            display: flex;
            flex-wrap: wrap;
            gap: 2rem;
            align-items: center;
        }

        .about-text {
            flex: 1;
            min-width: 300px;
        }

        .about-stats {
            flex: 1;
            min-width: 300px;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1.5rem;
        }

        .stats-card {
            background: var(--clr-card-bg-light);
            border-radius: var(--card-radius);
            padding: 1.5rem;
            text-align: center;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
            border: 1px solid var(--clr-border-light);
        }

        body[data-theme="dark"] .stats-card {
            background: var(--clr-card-bg-dark);
            border: 1px solid var(--clr-border-dark);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
        }

        .stats-counter {
            font-size: 2.5rem;
            font-weight: bold;
            color: var(--clr-primary);
            margin-bottom: 0.5rem;
        }

        body[data-theme="dark"] .stats-counter {
            color: var(--clr-accent);
        }

        .stats-card p {
            margin: 0;
            font-size: 0.9rem;
        }


        /* --- CONTACT SECTION --- */
        #contact {
            padding: var(--section-padding) 1.5rem;
            background-color: var(--clr-card-bg-light);
        }

        body[data-theme="dark"] #contact {
            background-color: var(--clr-card-bg-dark);
        }

        .contact-form-container { /* New container for better layout */
            display: flex;
            flex-wrap: wrap;
            gap: 2rem;
            max-width: 1000px; /* Adjust as needed */
            margin: 0 auto;
            justify-content: center;
            align-items: flex-start;
        }

        .contact-form {
            flex: 2; /* Form takes more space */
            min-width: 350px; /* Minimum width for form */
            background: var(--clr-bg-light);
            border-radius: var(--card-radius);
            padding: 2.5rem;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
            border: 1px solid var(--clr-border-light);
        }

        body[data-theme="dark"] .contact-form {
            background: var(--clr-card-bg-dark);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
            border: 1px solid var(--clr-border-dark);
        }

        .contact-info-details { /* New container for contact info */
            flex: 1; /* Info takes less space */
            min-width: 250px; /* Minimum width for info */
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
            padding: 1.5rem;
            background: var(--clr-bg-light);
            border-radius: var(--card-radius);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
            border: 1px solid var(--clr-border-light);
        }

        body[data-theme="dark"] .contact-info-details {
            background: var(--clr-card-bg-dark);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
            border: 1px solid var(--clr-border-dark);
        }

        .contact-info-item {
            display: flex;
            align-items: flex-start;
            gap: 1rem;
            text-align: left;
        }

        .contact-info-item .icon {
            width: 50px;
            height: 50px;
            background: linear-gradient(135deg, var(--clr-primary), var(--clr-secondary));
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.2rem;
            color: white;
            flex-shrink: 0;
        }

        body[data-theme="dark"] .contact-info-item .icon {
            background: linear-gradient(135deg, var(--clr-accent), var(--clr-secondary));
        }

        .contact-info-item .details h5 {
            margin-bottom: 0.25rem;
            color: var(--clr-primary);
        }

        body[data-theme="dark"] .contact-info-item .details h5 {
            color: var(--clr-accent);
        }

        .contact-info-item .details p {
            margin: 0;
            font-size: 0.95rem;
            color: var(--clr-text-light);
        }

        body[data-theme="dark"] .contact-info-item .details p {
            color: var(--clr-text-dark);
        }

        .form-label {
            font-weight: 600;
            margin-bottom: 0.5rem;
            color: var(--clr-text-light);
        }

        body[data-theme="dark"] .form-label {
            color: var(--clr-text-dark);
        }

        .form-control {
            padding: 0.8rem 1rem;
            border: 1px solid var(--clr-border-light);
            border-radius: 8px;
            background-color: var(--clr-bg-light);
            color: var(--clr-text-light);
            transition: border-color var(--transition-speed) ease;
        }

        body[data-theme="dark"] .form-control {
            border: 1px solid var(--clr-border-dark);
            background-color: var(--clr-card-bg-dark);
            color: var(--clr-text-dark);
        }

        .form-control:focus {
            outline: none;
            border-color: var(--clr-accent);
            box-shadow: 0 0 0 3px rgba(135, 206, 235, 0.25);
        }

        body[data-theme="dark"] .form-control:focus {
            box-shadow: 0 0 0 3px rgba(30, 77, 114, 0.25);
        }

        /* Styles for LLM generated content */
        .llm-response-container {
            margin-top: 2rem;
            padding: 1.5rem;
            background: var(--clr-card-bg-light);
            border-radius: var(--card-radius);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
            border: 1px solid var(--clr-border-light);
            display: none; /* Hidden by default */
            color: var(--clr-text-light);
        }

        body[data-theme="dark"] .llm-response-container {
            background: var(--clr-card-bg-dark);
            border: 1px solid var(--clr-border-dark);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
            color: var(--clr-text-dark);
        }

        .llm-response-container h5 {
            color: var(--clr-primary);
            margin-bottom: 1rem;
        }

        body[data-theme="dark"] .llm-response-container h5 {
            color: var(--clr-accent);
        }

        .llm-response-container ul {
            list-style: disc;
            padding-left: 1.5rem;
        }

        .llm-response-container ul li {
            margin-bottom: 0.5rem;
        }

        .loading-spinner {
            display: none;
            text-align: center;
            margin-top: 1rem;
            color: var(--clr-primary);
        }

        body[data-theme="dark"] .loading-spinner {
            color: var(--clr-accent);
        }

        .loading-spinner::after {
            content: '';
            display: inline-block;
            width: 20px;
            height: 20px;
            border: 3px solid currentColor;
            border-top-color: transparent;
            border-radius: 50%;
            animation: spin 1s linear infinite;
            vertical-align: middle;
            margin-left: 10px;
        }

        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }


        /* --- FOOTER --- */
        .footer {
            background: var(--clr-primary);
            color: white;
            padding: 4rem 0 2rem;
            text-align: center;
        }

        body[data-theme="dark"] .footer {
            background: #0a0a0a; /* Slightly darker than dark bg for contrast */
        }

        .footer-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 2rem;
            text-align: left;
            margin-bottom: 3rem;
        }

        .footer-col h5 {
            color: white;
            margin-bottom: 1.5rem;
            position: relative;
            padding-bottom: 0.5rem;
        }

        .footer-col h5::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 40px;
            height: 3px;
            background: var(--clr-accent);
            border-radius: 2px;
        }

        .footer-col ul {
            list-style: none;
            padding: 0;
        }

        .footer-col ul li {
            margin-bottom: 0.75rem;
        }

        .footer-col a {
            color: rgba(255, 255, 255, 0.8);
            transition: color var(--transition-speed) ease;
            text-decoration: none;
        }

        .footer-col a:hover {
            color: white;
        }

        .social-links {
            display: flex;
            gap: 1rem;
            margin-top: 1rem;
        }

        .social-links a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.1);
            color: white;
            transition: all var(--transition-speed) ease;
        }

        .social-links a:hover {
            background: var(--clr-accent);
            transform: translateY(-3px);
        }

        .footer-bottom {
            padding-top: 2rem;
            border-top: 1px solid rgba(255, 255, 255, 0.1);
            font-size: 0.9rem;
        }

        .footer-bottom p {
            margin: 0;
        }


        /* --- BUTTONS --- */
        .btn-mad {
            background: linear-gradient(120deg, var(--clr-primary), var(--clr-secondary));
            border: none;
            padding: 0.8rem 1.75rem;
            border-radius: 13px;
            color: white;
            font-weight: 600;
            transition: all var(--transition-speed) ease;
            position: relative;
            overflow: hidden;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
        }

        body[data-theme="dark"] .btn-mad {
            background: linear-gradient(135deg, var(--clr-accent), var(--clr-secondary));
            color: var(--clr-text-dark); /* Ensure text is readable on light gradient */
        }

        .btn-mad:hover {
            transform: translateY(-3px);
            box-shadow: 0 10px 25px rgba(30, 77, 114, 0.3);
        }

        body[data-theme="dark"] .btn-mad:hover {
            box-shadow: 0 10px 25px rgba(135, 206, 235, 0.3);
        }

        .btn-mad::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
            transition: left 0.5s;
        }

        .btn-mad:hover::before {
            left: 100%;
        }


        /* --- ANIMATIONS --- */
        @media (prefers-reduced-motion: no-preference) {
            .fade {
                opacity: 1;
                transform: translateY(20px);
                transition: all .6s;
            }
        }

        /* --- RESPONSIVE DESIGN --- */
        @media (max-width: 992px) {
            .navbar {
                padding: 0.5rem 1rem;
            }
            .navbar-brand {
                order: 1;
            }
            .navbar-nav {
                display: none;
            }
            .navbar-toggler {
                display: flex;
                order: 3;
            }
            .navbar-controls {
                order: 2;
            }
            .navbar-collapse {
                display: none;
                position: absolute;
                top: 100%;
                left: 0;
                right: 0;
                padding: 1rem;
                order: 4;
                width: 100%;
            }
            .navbar-collapse.show {
                display: block;
            }
            .navbar-collapse .navbar-nav {
                display: flex;
                flex-direction: column;
                gap: 0.5rem;
            }
            .hero-content h1 {
                font-size: 2.5rem;
            }
            .hero-content p.lead {
                font-size: 1.1rem;
            }
            .about-content {
                flex-direction: column;
            }
            .contact-info {
                flex-direction: column;
                align-items: center;
            }
        }

        @media (max-width: 576px) {

            .hero-content h1 {
                font-size: 2rem;
            }
            .calculator-container {
                padding: 1.5rem;
            }
            .contact-form {
                padding: 1.5rem;
            }
        }
