:root {
 --dark-blue: #005f8a;
 --mid-blue: #0078b0;
 --bright-blue: #0096da;
 --dark-green: #2db300;
 --mid-green: #33cc00;
 --bright-green: #3FFF00;
 --accent-green: #3FFF00;
 --white: #ffffff;
 --off-white: #f4f8f4;
 --light-gray: #e8f0e8;
 --gray: #607d6b;
 }

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

 body {
 font-family: 'Open Sans', sans-serif;
 background: var(--off-white);
 color: var(--dark-blue);
 scroll-behavior: smooth;
 }

 /* NAVBAR */
 .navbar {
 position: fixed;
 top: 0;
 width: 100%;
 z-index: 1000;
 background: linear-gradient(135deg, #0a1f3d 60%, #1b5e20 100%);
 display: flex;
 justify-content: space-between;
 align-items: center;
 padding: 8px 60px;
 box-shadow: 0 2px 20px rgba(0,0,0,0.3);
 }

 .logo {
 font-family: 'Rajdhani', sans-serif;
 font-size: 22px;
 font-weight: 700;
 color: var(--white);
 letter-spacing: 1px;
 line-height: 1.2;
 }

 .logo span { color: var(--accent-blue); }

 .logo small {
 display: block;
 font-size: 11px;
 font-weight: 400;
 letter-spacing: 3px;
 color: rgba(255,255,255,0.6);
 text-transform: uppercase;
 }

 .nav-links {
 list-style: none;
 display: flex;
 gap: 30px;
 }

 .nav-links a {
 color: #ffffff;
 text-decoration: none;
 font-size: 13px;
 font-weight: 700;
 letter-spacing: 2px;
 text-transform: uppercase;
 padding: 6px 12px;
 border-bottom: 2px solid transparent;
 transition: all 0.3s;
 cursor: pointer;
 text-shadow: 0 1px 6px rgba(0,0,0,0.9), 0 0 10px rgba(0,0,0,0.8);
 background: rgba(0,0,0,0.35);
 border-radius: 4px;
 }

 .nav-links a:hover { color: var(--accent-green); border-bottom-color: var(--accent-green); }

 /* NAV DROPDOWN (About) */
 .nav-dropdown { position: relative; }

 .dropdown-arrow { font-size: 10px; margin-left: 4px; display: inline-block; transition: transform 0.25s; }

 .dropdown-menu {
 list-style: none;
 position: absolute;
 top: calc(100% + 10px);
 left: 50%;
 transform: translateX(-50%) translateY(8px);
 min-width: 200px;
 background: linear-gradient(135deg, #0a1f3d 60%, #1b5e20 100%);
 border-radius: 6px;
 box-shadow: 0 12px 32px rgba(0,0,0,0.35);
 padding: 8px;
 opacity: 0;
 pointer-events: none;
 transition: opacity 0.2s ease, transform 0.2s ease;
 z-index: 1200;
 }

 .nav-dropdown:hover .dropdown-menu,
 .nav-dropdown:focus-within .dropdown-menu {
 opacity: 1;
 pointer-events: auto;
 transform: translateX(-50%) translateY(0);
 }

 .nav-dropdown:hover .dropdown-arrow { transform: rotate(180deg); }

 .dropdown-menu li a {
 display: block;
 background: transparent;
 text-align: center;
 font-size: 12px;
 letter-spacing: 1px;
 padding: 10px 16px;
 border-radius: 4px;
 white-space: nowrap;
 }

 .dropdown-menu li a:hover { background: rgba(63,255,0,0.15); }

 /* MOBILE MENU TOGGLE */
 .nav-toggle {
 display: none;
 flex-direction: column;
 justify-content: center;
 align-items: center;
 gap: 5px;
 width: 40px;
 height: 40px;
 background: rgba(0,0,0,0.35);
 border: none;
 border-radius: 4px;
 cursor: pointer;
 padding: 0;
 z-index: 1100;
 }

 .nav-toggle span {
 display: block;
 width: 22px;
 height: 2px;
 background: #ffffff;
 border-radius: 2px;
 transition: transform 0.3s, opacity 0.3s;
 }

 .nav-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
 .nav-toggle.open span:nth-child(2) { opacity: 0; }
 .nav-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

 /* PAGES */
 .page { display: none; min-height: 100vh; }
 .page:not(#page-home) { padding-top: 134px; }
 .page.active { display: block; animation: pageFadeIn 0.5s ease; }

 @keyframes pageFadeIn {
 from { opacity: 0; transform: translateY(12px); }
 to { opacity: 1; transform: translateY(0); }
 }

 /* SCROLL REVEAL ANIMATIONS */
 /* Fail-safe: elements are fully visible by default. They are only
    hidden-then-faded-in once JS adds "js-anim" to <html>, so content
    never disappears if JavaScript is blocked, slow, or errors. */
 .reveal {
 opacity: 1;
 transform: none;
 }

 html.js-anim .reveal {
 opacity: 0;
 transform: translateY(32px);
 transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
 }

 html.js-anim .reveal.visible {
 opacity: 1;
 transform: translateY(0);
 }

 /* Staggered reveal for grid items */
 .services-grid .reveal:nth-child(1), .construction-grid .reveal:nth-child(1), .gallery-grid .reveal:nth-child(1) { transition-delay: 0.05s; }
 .services-grid .reveal:nth-child(2), .construction-grid .reveal:nth-child(2), .gallery-grid .reveal:nth-child(2) { transition-delay: 0.1s; }
 .services-grid .reveal:nth-child(3), .construction-grid .reveal:nth-child(3), .gallery-grid .reveal:nth-child(3) { transition-delay: 0.15s; }
 .services-grid .reveal:nth-child(4), .construction-grid .reveal:nth-child(4), .gallery-grid .reveal:nth-child(4) { transition-delay: 0.2s; }
 .services-grid .reveal:nth-child(5), .construction-grid .reveal:nth-child(5), .gallery-grid .reveal:nth-child(5) { transition-delay: 0.25s; }
 .services-grid .reveal:nth-child(6), .construction-grid .reveal:nth-child(6), .gallery-grid .reveal:nth-child(6) { transition-delay: 0.3s; }
 .stats-strip .reveal:nth-child(1) { transition-delay: 0.05s; }
 .stats-strip .reveal:nth-child(2) { transition-delay: 0.15s; }
 .stats-strip .reveal:nth-child(3) { transition-delay: 0.25s; }
 .stats-strip .reveal:nth-child(4) { transition-delay: 0.35s; }

 @media (prefers-reduced-motion: reduce) {
 .reveal { opacity: 1; transform: none; transition: none; }
 .page.active { animation: none; }
 }

 /* HERO */
 .hero {
 background: linear-gradient(135deg, rgba(10,31,61,0.55) 0%, rgba(10,31,61,0.55) 100%), url('../images/css-bg-01.jpg');
 background-size: cover;
 background-position: center;
 background-attachment: fixed;
 color: var(--white);
 min-height: 90vh;
 display: flex;
 align-items: center;
 justify-content: center;
 text-align: center;
 padding: 134px 20px 60px;
 position: relative;
 overflow: hidden;
 }

 .hero::before {
 content: '';
 position: absolute;
 width: 600px;
 height: 600px;
 background: radial-gradient(circle, rgba(0,230,118,0.08) 0%, transparent 70%);
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 }

 .hero::after {
 content: '';
 position: absolute;
 bottom: 0;
 left: 0;
 width: 100%;
 height: 4px;
 background: linear-gradient(90deg, var(--bright-blue), var(--accent-green), var(--bright-blue));
 }

 .hero-content { position: relative; z-index: 1; max-width: 800px; }

 @keyframes heroFadeUp {
 from { opacity: 0; transform: translateY(24px); }
 to { opacity: 1; transform: translateY(0); }
 }

 .hero-company-name,
 .hero-badge,
 .hero h1,
 .hero p,
 .hero-btns {
 opacity: 0;
 animation: heroFadeUp 0.8s ease forwards;
 }

 .hero-company-name { animation-delay: 0.05s; }
 .hero-badge { animation-delay: 0.2s; }
 .hero h1 { animation-delay: 0.35s; }
 .hero p { animation-delay: 0.5s; }
 .hero-btns { animation-delay: 0.65s; }

 @media (prefers-reduced-motion: reduce) {
 .hero-company-name, .hero-badge, .hero h1, .hero p, .hero-btns {
 opacity: 1; animation: none;
 }
 }

 .hero-company-name {
 font-family: 'Orbitron', sans-serif;
 font-size: 52px;
 font-weight: 900;
 color: #ffffff;
 letter-spacing: 4px;
 text-transform: uppercase;
 margin-bottom: 18px;
 line-height: 1.15;
 text-shadow: none;
 background: linear-gradient(135deg, #ffffff 0%, #00e676 60%, #43a047 100%);
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
 background-clip: text;
 }

 .hero-badge {
 display: inline-block;
 color: var(--accent-green);
 padding: 6px 0;
 font-size: 12px;
 font-weight: 600;
 letter-spacing: 3px;
 text-transform: uppercase;
 margin-bottom: 25px;
 }

 .hero h1 {
 font-family: 'Rajdhani', sans-serif;
 font-size: 64px;
 font-weight: 700;
 line-height: 1.1;
 margin-bottom: 20px;
 letter-spacing: 2px;
 }

 .hero h1 span { color: var(--accent-green); }

 .hero p {
 font-size: 18px;
 font-weight: 300;
 color: rgba(255,255,255,0.75);
 margin-bottom: 40px;
 line-height: 1.7;
 }

 .hero-btns { display: flex; gap: 15px; justify-content: center; flex-wrap: wrap; }

 .btn-primary {
 background: linear-gradient(135deg, var(--bright-green), var(--dark-green));
 color: var(--white);
 padding: 14px 35px;
 border-radius: 4px;
 text-decoration: none;
 font-weight: 600;
 font-size: 14px;
 letter-spacing: 1px;
 cursor: pointer;
 border: none;
 transition: all 0.3s;
 display: inline-block;
 }

 .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(67,160,71,0.4); }

 .btn-outline {
 background: transparent;
 color: var(--white);
 padding: 14px 35px;
 border-radius: 4px;
 text-decoration: none;
 font-weight: 600;
 font-size: 14px;
 letter-spacing: 1px;
 cursor: pointer;
 border: 2px solid rgba(255,255,255,0.4);
 transition: all 0.3s;
 display: inline-block;
 }

 .btn-outline:hover { border-color: var(--accent-green); color: var(--accent-green); }

 /* STATS STRIP */
 .stats-strip {
 background: var(--white);
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 border-bottom: 3px solid var(--light-gray);
 box-shadow: 0 4px 20px rgba(0,0,0,0.06);
 }

 .stat-item {
 padding: 30px 20px;
 text-align: center;
 border-right: 1px solid var(--light-gray);
 }

 .stat-item:last-child { border-right: none; }

 .stat-number {
 font-family: 'Rajdhani', sans-serif;
 font-size: 40px;
 font-weight: 700;
 color: var(--mid-green);
 line-height: 1;
 }

 .stat-label {
 font-size: 12px;
 color: var(--gray);
 text-transform: uppercase;
 letter-spacing: 1.5px;
 margin-top: 5px;
 }

 /* SECTIONS */
 .section { padding: 80px 60px; }
 .section-alt { background: var(--white); }

        /* Image Gallery Section */
        .img-gallery-section {
            padding: 60px;
            background: #0d1b2a;
        }

        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 16px;
            max-width: 1200px;
            margin: 0 auto;
        }

        .gallery-card {
            position: relative;
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            border-radius: 10px;
            height: 200px;
            overflow: hidden;
            box-shadow: 0 4px 15px rgba(0,0,0,0.3);
            transition: transform 0.35s, box-shadow 0.35s;
            cursor: pointer;
        }

        .gallery-card:hover {
            transform: translateY(-8px) scale(1.02);
            box-shadow: 0 16px 35px rgba(0,0,0,0.4);
        }

        .gallery-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(to top, rgba(10,31,61,0.88) 0%, transparent 100%);
            padding: 22px 15px 14px;
            transition: background 0.3s;
        }

        .gallery-card:hover .gallery-overlay {
            background: linear-gradient(to top, rgba(27,94,32,0.92) 0%, transparent 100%);
        }

        .gallery-overlay span {
            color: #ffffff;
            font-family: 'Rajdhani', sans-serif;
            font-size: 14px;
            font-weight: 700;
            letter-spacing: 1.5px;
            text-transform: uppercase;
        }

        /* Construction Highlights Section */
        .construction-section {
            padding: 70px 60px;
            background: linear-gradient(135deg, #0a1f3d 0%, #0d1b2a 100%);
        }

        .construction-section .section-header h2 {
            color: #ffffff;
            font-family: 'Rajdhani', sans-serif;
            font-size: 34px;
            font-weight: 700;
            letter-spacing: 1px;
            margin-bottom: 12px;
        }

        .construction-section .section-header p {
            color: rgba(255,255,255,0.75);
            font-size: 15px;
            max-width: 640px;
            margin: 0 auto;
        }

        .construction-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 18px;
            max-width: 1200px;
            margin: 0 auto;
        }

        .constr-card {
            position: relative;
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            border-radius: 10px;
            height: 260px;
            overflow: hidden;
            box-shadow: 0 4px 15px rgba(0,0,0,0.3);
            transition: transform 0.35s, box-shadow 0.35s;
            cursor: pointer;
        }

        .constr-card:hover {
            transform: translateY(-8px) scale(1.02);
            box-shadow: 0 16px 35px rgba(0,0,0,0.4);
        }

        .constr-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(to top, rgba(10,31,61,0.9) 0%, transparent 100%);
            padding: 22px 15px 14px;
            transition: background 0.3s;
        }

        .constr-card:hover .constr-overlay {
            background: linear-gradient(to top, rgba(27,94,32,0.92) 0%, transparent 100%);
        }

        .constr-overlay span {
            color: #ffffff;
            font-family: 'Rajdhani', sans-serif;
            font-size: 14px;
            font-weight: 700;
            letter-spacing: 1.5px;
            text-transform: uppercase;
        }

        @media (max-width: 900px) {
            .construction-grid { grid-template-columns: repeat(2, 1fr); }
        }

        @media (max-width: 600px) {
            .construction-grid { grid-template-columns: 1fr; }
            .construction-section { padding: 50px 20px; }
        }

 .section-header { text-align: center; margin-bottom: 55px; }

 .section-tag {
 display: inline-block;
 color: var(--bright-green);
 font-size: 12px;
 font-weight: 600;
 letter-spacing: 3px;
 text-transform: uppercase;
 margin-bottom: 12px;
 }

 .section-title {
 font-family: 'Rajdhani', sans-serif;
 font-size: 40px;
 font-weight: 700;
 color: var(--dark-blue);
 letter-spacing: 1px;
 }

 .section-title span { color: var(--mid-green); }

 .section-line {
 width: 60px;
 height: 3px;
 background: linear-gradient(90deg, var(--bright-blue), var(--bright-green));
 margin: 15px auto 0;
 border-radius: 2px;
 }

 /* SERVICE CARDS */
 .services-grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 grid-auto-rows: 1fr;
 gap: 25px;
 max-width: 1100px;
 margin: 0 auto;
 align-items: stretch;
 }

 .services-grid .service-card:last-child { grid-column: 1 / -1; text-align: center; align-self: start; padding-bottom: 30px; }

 .services-grid .service-card:last-child p {
 max-width: 800px;
 margin: 0 auto;
 }

 .service-card {
 background: var(--white);
 border-radius: 8px;
 padding: 35px 30px;
 border-top: 4px solid var(--bright-green);
 box-shadow: 0 4px 20px rgba(0,0,0,0.07);
 transition: all 0.3s;
 overflow: hidden;
 }

 .service-card-img {
 width: 100%;
 height: 160px;
 object-fit: cover;
 display: block;
 }

 .service-card-body {
 padding: 25px;
 }

 .service-card:hover { transform: translateY(-5px); box-shadow: 0 12px 35px rgba(0,0,0,0.12); }

 .service-icon {
 font-size: 36px;
 margin-bottom: 18px;
 }

 .service-card h3 {
 font-family: 'Rajdhani', sans-serif;
 font-size: 22px;
 font-weight: 700;
 color: var(--dark-blue);
 margin-bottom: 12px;
 letter-spacing: 0.5px;
 }

 .service-card p {
 font-size: 14px;
 color: var(--gray);
 line-height: 1.7;
 }

 /* WHY US */
 .why-grid {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: 20px;
 max-width: 900px;
 margin: 0 auto;
 }

 .why-item {
 display: flex;
 gap: 18px;
 align-items: flex-start;
 padding: 10px 0;
 }

 .why-icon {
 font-size: 28px;
 flex-shrink: 0;
 }

 .why-item h4 {
 font-family: 'Rajdhani', sans-serif;
 font-size: 18px;
 font-weight: 700;
 color: var(--dark-blue);
 margin-bottom: 6px;
 }

 .why-item p { font-size: 14px; color: var(--gray); line-height: 1.6; }

 /* ABOUT PAGE */
 .about-hero {
 background: linear-gradient(135deg, rgba(10,31,61,0.82) 0%, rgba(27,94,32,0.82) 100%), url('../images/css-bg-02.jpg');
 background-size: cover;
 background-position: center;
 color: var(--white);
 padding: 70px 60px;
 text-align: center;
 }

 .about-hero h1 {
 font-family: 'Rajdhani', sans-serif;
 font-size: 50px;
 font-weight: 700;
 letter-spacing: 2px;
 }

 .about-hero p { color: rgba(255,255,255,0.7); margin-top: 10px; font-size: 16px; }

 .about-tab-content { display: none; }
 .about-tab-content.active { display: block; animation: pageFadeIn 0.4s ease; }

 /* TEAM GRID */
 .team-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
 gap: 50px;
 max-width: 1000px;
 margin: 50px auto 80px;
 padding: 0 40px;
 }

 .team-card {
 text-align: center;
 }

 .team-photo {
 margin: 0 auto 22px;
 max-width: 260px;
 }

 .team-photo img {
 width: 100%;
 height: auto;
 object-fit: contain;
 display: block;
 border-radius: 6px;
 box-shadow: 0 10px 28px rgba(0,0,0,0.16);
 }

 .team-name {
 font-family: 'Rajdhani', sans-serif;
 font-size: 21px;
 font-weight: 700;
 color: var(--dark-blue);
 letter-spacing: 0.5px;
 }

 .team-title {
 color: var(--dark-green);
 font-size: 12.5px;
 font-weight: 700;
 letter-spacing: 1.5px;
 text-transform: uppercase;
 margin: 8px 0 14px;
 }

 .team-bio { font-size: 14px; color: var(--gray); line-height: 1.7; max-width: 260px; margin: 0 auto; }

 .team-grid .reveal:nth-child(1) { transition-delay: 0.05s; }
 .team-grid .reveal:nth-child(2) { transition-delay: 0.2s; }
 .team-grid .reveal:nth-child(3) { transition-delay: 0.35s; }

 .about-grid {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 50px;
 max-width: 1000px;
 margin: 0 auto;
 padding: 70px 60px;
 }

 .about-text h2 {
 font-family: 'Rajdhani', sans-serif;
 font-size: 32px;
 font-weight: 700;
 color: var(--dark-blue);
 margin-bottom: 15px;
 }

 .about-text p { font-size: 15px; color: var(--gray); line-height: 1.8; margin-bottom: 20px; }

 .values-box {
 background: linear-gradient(135deg, var(--dark-blue), var(--mid-blue));
 color: var(--white);
 border-radius: 10px;
 padding: 40px;
 }

 .values-box h3 {
 font-family: 'Rajdhani', sans-serif;
 font-size: 26px;
 font-weight: 700;
 margin-bottom: 25px;
 color: var(--accent-green);
 }

 .value-item {
 display: flex;
 gap: 12px;
 align-items: flex-start;
 margin-bottom: 22px;
 }

 .value-dot {
 width: 10px;
 height: 10px;
 background: var(--accent-green);
 border-radius: 50%;
 flex-shrink: 0;
 margin-top: 6px;
 }

 .value-item p { font-size: 15px; color: rgba(255,255,255,0.8); line-height: 1.7; }

 .value-text p + p { margin-top: 10px; }

 /* SERVICES PAGE */
 .page-hero {
 background: linear-gradient(135deg, rgba(10,31,61,0.82) 0%, rgba(27,94,32,0.82) 100%), url('../images/css-bg-03.jpg');
 background-size: cover;
 background-position: center;
 color: var(--white);
 padding: 70px 60px;
 text-align: center;
 }

 .page-hero h1 {
 font-family: 'Rajdhani', sans-serif;
 font-size: 50px;
 font-weight: 700;
 letter-spacing: 2px;
 }

 .page-hero p { color: rgba(255,255,255,0.7); margin-top: 10px; font-size: 16px; }

 .services-full {
 max-width: 1000px;
 margin: 0 auto;
 padding: 70px 60px;
 display: flex;
 flex-direction: column;
 gap: 25px;
 }

 .service-full-card {
 background: var(--white);
 border-radius: 8px;
 padding: 35px 40px;
 display: grid;
 grid-template-columns: auto 1fr auto;
 gap: 25px;
 align-items: center;
 box-shadow: 0 4px 15px rgba(0,0,0,0.07);
 transition: all 0.3s;
 }

 .service-full-card:hover { box-shadow: 0 8px 30px rgba(0,0,0,0.12); transform: translateX(5px); }

 .service-full-icon { font-size: 45px; }

 .service-full-card h3 {
 font-family: 'Rajdhani', sans-serif;
 font-size: 24px;
 font-weight: 700;
 color: var(--dark-blue);
 margin-bottom: 8px;
 }

 .service-full-card p { font-size: 14px; color: var(--gray); line-height: 1.7; }

 /* CONTACT PAGE */
 .contact-grid {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 50px;
 max-width: 1000px;
 margin: 0 auto;
 padding: 70px 60px;
 }

 .contact-info-box h2 {
 font-family: 'Rajdhani', sans-serif;
 font-size: 34px;
 font-weight: 700;
 color: var(--dark-blue);
 margin-bottom: 25px;
 }

 .contact-detail {
 display: flex;
 gap: 15px;
 align-items: flex-start;
 margin-bottom: 25px;
 }

 .contact-detail-icon {
 font-size: 24px;
 width: 36px;
 height: 36px;
 display: flex;
 align-items: center;
 justify-content: center;
 flex-shrink: 0;
 }
 .contact-detail-icon svg { fill: var(--bright-blue); }

 .contact-detail h4 {
 font-weight: 600;
 color: var(--dark-blue);
 font-size: 14px;
 margin-bottom: 4px;
 text-transform: uppercase;
 letter-spacing: 1px;
 }

 .contact-detail p { font-size: 15px; color: var(--gray); line-height: 1.6; }

 .contact-form-box {
 background: var(--white);
 border-radius: 10px;
 padding: 40px;
 box-shadow: 0 4px 20px rgba(0,0,0,0.08);
 }

 .contact-form-box h3 {
 font-family: 'Rajdhani', sans-serif;
 font-size: 26px;
 font-weight: 700;
 color: var(--dark-blue);
 margin-bottom: 25px;
 }

 .form-group { margin-bottom: 18px; }

 .form-group label {
 display: block;
 font-size: 13px;
 font-weight: 600;
 color: var(--dark-blue);
 margin-bottom: 6px;
 letter-spacing: 0.5px;
 }

 .form-group input,
 .form-group textarea,
 .form-group select {
 width: 100%;
 padding: 12px 15px;
 border: 2px solid var(--light-gray);
 border-radius: 6px;
 font-family: 'Open Sans', sans-serif;
 font-size: 14px;
 color: var(--dark-blue);
 background: var(--off-white);
 transition: border-color 0.3s;
 outline: none;
 }

 .form-group input:focus,
 .form-group textarea:focus,
 .form-group select:focus { border-color: var(--bright-green); }

 .form-group textarea { height: 110px; resize: vertical; }

 .submit-btn {
 width: 100%;
 padding: 14px;
 background: linear-gradient(135deg, var(--bright-blue), var(--mid-green));
 color: var(--white);
 border: none;
 border-radius: 6px;
 font-family: 'Open Sans', sans-serif;
 font-size: 15px;
 font-weight: 600;
 letter-spacing: 1px;
 cursor: pointer;
 transition: all 0.3s;
 }

 .submit-btn:hover { opacity: 0.9; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(21,101,192,0.3); }

 /* FOOTER */
 footer {
 background: var(--dark-blue);
 color: rgba(255,255,255,0.6);
 text-align: center;
 padding: 30px 20px;
 border-top: 3px solid var(--bright-green);
 }

 footer strong { color: var(--accent-green); }
 footer p { font-size: 13px; margin-bottom: 5px; }

 /* TOAST */
 .toast {
 position: fixed;
 bottom: 30px;
 right: 30px;
 background: var(--mid-green);
 color: var(--white);
 padding: 14px 25px;
 border-radius: 6px;
 font-size: 14px;
 font-weight: 600;
 box-shadow: 0 5px 20px rgba(0,0,0,0.3);
 z-index: 9999;
 display: none;
 animation: slideIn 0.3s ease;
 }

 @keyframes slideIn {
 from { transform: translateX(100px); opacity: 0; }
 to { transform: translateX(0); opacity: 1; }
 }

 /* RESPONSIVE */
 @media (max-width: 768px) {
 .navbar { top: 0; padding: 14px 20px; }
 .page:not(#page-home) { padding-top: 100px; }
 .hero { padding: 100px 20px 60px; }
 .nav-toggle { display: flex; }
 .nav-links {
 position: absolute;
 top: 100%;
 left: 0;
 right: 0;
 flex-direction: column;
 gap: 0;
 background: linear-gradient(135deg, #0a1f3d 60%, #1b5e20 100%);
 max-height: 0;
 overflow: hidden;
 opacity: 0;
 transition: max-height 0.35s ease, opacity 0.25s ease;
 box-shadow: 0 8px 20px rgba(0,0,0,0.3);
 }
 .nav-links.open { max-height: 400px; opacity: 1; }
 .nav-links li { width: 100%; }
 .nav-links a { display: block; width: 100%; text-align: center; border-radius: 0; padding: 16px 20px; border-bottom: 1px solid rgba(255,255,255,0.1); background: transparent; }
 .hero h1 { font-size: 38px; }
 .stats-strip { grid-template-columns: repeat(2, 1fr); }
 .services-grid { grid-template-columns: 1fr; }
 .services-grid .service-card:last-child { text-align: left; }
 .section { padding: 50px 20px; }
 .about-grid, .contact-grid { grid-template-columns: 1fr; padding: 40px 20px; }
 .team-grid { padding: 0 20px; }
 .dropdown-arrow { display: none; }
 .dropdown-menu {
 position: static;
 opacity: 1;
 pointer-events: auto;
 transform: none;
 box-shadow: none;
 background: rgba(0,0,0,0.15);
 border-radius: 0;
 padding: 0;
 min-width: 0;
 }
 .dropdown-menu li a { padding: 14px 20px; font-size: 12px; border-bottom: 1px solid rgba(255,255,255,0.08); }
 .why-grid { grid-template-columns: 1fr; }
 .service-full-card { grid-template-columns: 1fr; }
 .services-full { padding: 40px 20px; }
 .about-hero, .page-hero { padding: 50px 20px; }
 }
 
        #gc1 { background-image: url('../images/css-bg-04.jpg'); }
        #gc2 { background-image: url('../images/css-bg-05.jpg'); }
        #gc3 { background-image: url('../images/css-bg-06.jpg'); }
        #gc4 { background-image: url('../images/css-bg-07.jpg'); }
        #gc5 { background-image: url('../images/css-bg-08.jpg'); }
        #gc6 { background-image: url('../images/css-bg-09.jpg'); }
        #gc7 { background-image: url('../images/css-bg-10.jpg'); }
        /* PARTNERS PAGE */
        .partners-hero { background: linear-gradient(135deg, #0a1f3d 60%, #1b5e20 100%); color: #fff; text-align: center; padding: 80px 20px 60px; }
        .partners-hero h1 { font-family: 'Rajdhani', sans-serif; font-size: 48px; font-weight: 700; letter-spacing: 2px; margin-bottom: 12px; }
        .partners-hero p { font-size: 16px; color: rgba(255,255,255,0.7); max-width: 600px; margin: 0 auto; }
        .partners-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 32px; max-width: 1100px; margin: 60px auto; padding: 0 40px; align-items: stretch; }
        .partner-card { background: #fff; border-radius: 8px; box-shadow: 0 4px 24px rgba(0,0,0,0.10); padding: 40px 32px; text-align: center; transition: transform 0.3s, box-shadow 0.3s; display: flex; flex-direction: column; align-items: center; gap: 18px; border-top: 4px solid var(--accent-green); }
        .partner-card:hover { transform: translateY(-6px); box-shadow: 0 10px 32px rgba(0,0,0,0.15); }
        .partner-logo-wrap { width: 80px; height: 80px; background: var(--light-gray); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 32px; font-weight: 700; color: var(--bright-blue); font-family: 'Rajdhani', sans-serif; }
        .card-media { width: 100%; height: 170px; display: flex; align-items: center; justify-content: center; }
        .card-media img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; display: block; }
        .partner-name { font-family: 'Rajdhani', sans-serif; font-size: 22px; font-weight: 700; color: var(--dark-blue); letter-spacing: 1px; }
        .partner-desc { font-size: 14px; color: var(--gray); line-height: 1.7; }
        .partner-link { display: inline-block; background: linear-gradient(135deg, var(--bright-green), var(--dark-green)); color: #fff; padding: 10px 28px; border-radius: 4px; text-decoration: none; font-weight: 600; font-size: 13px; letter-spacing: 1px; transition: opacity 0.2s; margin-top: auto; }
        .partner-link:hover { opacity: 0.85; }
        .partners-intro { text-align: center; max-width: 700px; margin: 50px auto 0; padding: 0 40px; color: var(--gray); font-size: 15px; line-height: 1.8; }
        .partners-logo-grid { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 48px; max-width: 1100px; margin: 60px auto; padding: 0 40px; }
        .partner-logo-plain { max-width: 190px; max-height: 100px; object-fit: contain; }
        .feature-check { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: rgba(63,255,0,0.15); margin-right: 10px; vertical-align: middle; }
        .feature-check svg { width: 11px; height: 11px; display: block; }
        .product-card { grid-column: span 1; }
        .product-gallery { display: flex; gap: 6px; width: 100%; height: 170px; }
        .product-gallery .card-media { height: 100%; flex: 1; }

        #gc8 { background-image: url('../images/css-bg-11.jpg'); background-color:#1a1a2e; background-size: contain; }

        /* SOLUTIONS SECTION */
        .solution-card { max-width: 1000px; margin: 0 auto; background: #fff; border-radius: 10px; box-shadow: 0 8px 32px rgba(0,0,0,0.10); overflow: hidden; border-top: 4px solid var(--accent-green); }
        .solution-card-header { display: flex; align-items: center; gap: 32px; flex-wrap: wrap; padding: 40px 48px; background: linear-gradient(135deg, #0a1f3d 0%, #1b5e20 100%); }
        .solution-logo { flex: 0 0 auto; width: 110px; height: 110px; border-radius: 12px; overflow: hidden; background: #fff; display: flex; align-items: center; justify-content: center; }
        .solution-logo img { width: 100%; height: 100%; object-fit: cover; }
        .solution-heading { flex: 1; min-width: 240px; }
        .solution-tag { color: var(--accent-green); font-size: 12px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 8px; }
        .solution-heading h3 { font-family: 'Rajdhani', sans-serif; font-size: 30px; font-weight: 700; letter-spacing: 1px; color: #fff; line-height: 1.2; margin-bottom: 8px; }
        .solution-subtitle { color: rgba(255,255,255,0.75); font-size: 15px; line-height: 1.6; }
        .solution-body { padding: 44px 48px 48px; }
        .solution-body h4 { font-family: 'Rajdhani', sans-serif; font-size: 19px; font-weight: 700; letter-spacing: 0.5px; color: var(--dark-blue); margin: 30px 0 14px; }
        .solution-body h4:first-child { margin-top: 0; }
        .solution-body p { font-size: 14.5px; color: var(--gray); line-height: 1.8; margin-bottom: 14px; }
        .solution-feature-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px 24px; list-style: none; padding: 0; margin: 0 0 10px; }
        .solution-feature-list li { font-size: 14px; color: var(--dark-blue); font-weight: 600; display: flex; align-items: center; }
        .solution-body .partner-link { margin-top: 18px; }
        @media (max-width: 600px) {
            .solution-card-header { padding: 32px 24px; text-align: center; justify-content: center; }
            .solution-body { padding: 32px 24px 36px; }
        }
