
        :root {
            --primary: #FFD600;
            --secondary: #0D1B2A;
            --white: #FFFFFF;
            --light-grey: #f8f9fa;
        }

        body { font-family: 'Outfit', sans-serif; color: var(--secondary); background-color: var(--white); overflow-x: hidden; }
        h1, h2, h3, .navbar-brand { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 800; }

        /* Navbar */
        .navbar { padding: 1.5rem 0; background: transparent !important; }
        .navbar-brand { font-size: 1.7rem; color: var(--secondary) !important; display: flex; align-items: center; }
        .navbar-brand span { color: var(--primary); margin-left: 5px; }
        .nav-link { color: var(--secondary) !important; font-weight: 700; margin: 0 12px; transition: 0.3s; text-transform: uppercase; font-size: 0.9rem; }
        .nav-link:hover { color: var(--primary) !important; }
        .btn-cta-nav { background: var(--secondary); color: var(--primary) !important; padding: 12px 28px; border-radius: 4px; font-weight: 800; border: none; }

        /* Hero */
        .hero {
            background: linear-gradient(rgba(13, 27, 42, 0.7), rgba(13, 27, 42, 0.7)), url('https://housing.com/news/wp-content/uploads/2023/09/How-to-reduce-home-renovation-costs-f.jpg');
            background-size: cover; background-position: center;
            height: 90vh; display: flex; align-items: center; color: var(--white);
        }

        /* Generic Sections */
        section { padding: 100px 0; }
        .section-title { margin-bottom: 60px; }
        .section-title h2 { font-size: 2.8rem; text-transform: uppercase; position: relative; padding-bottom: 20px; color: var(--secondary); }
        .section-title h2::after { content: ''; position: absolute; width: 80px; height: 6px; background: var(--primary); bottom: 0; left: 0; }
        .section-title.center h2::after { left: 50%; transform: translateX(-50%); }

        /* About Text - Exact 15 Line Logic */
        .about-text-content { text-align: justify; line-height: 1.95; font-size: 1rem; color: #444; }

        /* Counters */
        .counter-section { background: var(--secondary); color: var(--white); padding: 80px 0; }
        .counter-item h2 { font-size: 3.5rem; color: var(--primary); margin-bottom: 0; }

        /* Services */
        .service-card { border: none; transition: 0.5s; height: 100%; border-radius: 0; position: relative; box-shadow: 0 20px 40px rgba(0,0,0,0.05); }
        .service-card:hover { transform: translateY(-15px); }
        .service-card .card-img-top { height: 250px; object-fit: cover; border-radius: 0; }
        .service-desc { 
            background: var(--light-grey); padding: 30px; 
            height: 320px; /* Forced depth for 7 lines */
            overflow: hidden; font-size: 0.95rem; line-height: 1.6; color: #555;
        }

        /* Forms */
        .booking-img { height: 100%; min-height: 500px; object-fit: cover; border-radius: 10px; }
        .form-control { padding: 15px; border-radius: 0; border: 1px solid #ddd; }
        .form-control:focus { border-color: var(--primary); box-shadow: none; }

        /* FAQ */
        .accordion-button:not(.collapsed) { background-color: var(--primary); color: var(--secondary); font-weight: bold; }

        /* Footer */
        footer { background: var(--secondary); color: #cbd5e1; padding: 100px 0 30px; }
        footer a { color: #cbd5e1; text-decoration: none; transition: 0.3s; }
        footer a:hover { color: var(--primary); padding-left: 5px; }
        footer h5 { color: var(--white); font-weight: 800; margin-bottom: 30px; position: relative; padding-bottom: 10px; }
        footer h5::after { content: ''; position: absolute; width: 40px; height: 3px; background: var(--primary); bottom: 0; left: 0; }
