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

        html, body {
            height: 100%;
            margin: 0;
            padding: 0;
            width: 100%;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: 'Inter', 'Segoe UI', system-ui, sans-serif;
            background: #f4f9ff;
            color: #1a2b3c;
            overflow-x: hidden;
            line-height: 1.6;
        }

        .brand {
            display: flex;
            align-items: center;
            gap: 10px;
            text-decoration: none;
        }

        .brand img {
            height: 45px;
            width: auto;
        }

        .brand span {
            font-weight: 700;
            font-size: 20px;
        }
        /* ============ CUSTOM SCROLLBAR ============ */
        ::-webkit-scrollbar {
            width: 8px;
        }
        ::-webkit-scrollbar-track {
            background: #e8f4fb;
        }
        ::-webkit-scrollbar-thumb {
            background: linear-gradient(180deg, #0077a8, #00b4e6);
            border-radius: 10px;
        }

        /* ============ PRELOADER ============ */
        .preloader {
            position: fixed;
            inset: 0;
            background: #001d3d;
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 9999;
            transition: opacity 0.6s ease, visibility 0.6s ease;
        }
        .preloader.hidden {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;   /* taps go through immediately, even mid-fade */
        }
        .preloader .loader-ring {
            width: 80px;
            height: 80px;
            border: 4px solid rgba(255, 255, 255, 0.2);
            border-top-color: #00dcff;
            border-radius: 50%;
            animation: spin 0.8s linear infinite;
        }
        @keyframes spin {
            to { transform: rotate(360deg); }
        }

        /* ============ HERO SECTION - FULL SCREEN ============ */
        .hero {
            position: relative;
            width: 100% !important;
            max-width: 100% !important;
            min-height: 100vh;
            min-height: 100svh;   /* visible screen height on phones (ignores the URL bar) */
            display: flex !important;
            align-items: center !important;
            overflow: hidden !important;
            background: #001420;
            margin: 0 !important;
            padding: 0 !important;
            left: 0 !important;
            right: 0 !important;
            top: 0 !important;
        }

        .hero-bg-slide::after{
            content:"";
            position:absolute;
            inset:0;
            background:
            linear-gradient(
            90deg,
            rgba(0,20,40,.55),
            rgba(0,50,90,.25)
            );
        }
        .hero-bg-slider {
            position: absolute;
            inset: 0;
            z-index: 0;
        }
        .hero-bg-slide {
            position: absolute;
            inset: 0;
            background-size: cover;
            background-position: center;
            opacity: 0;
            transition: opacity 1.5s ease-in-out;
            filter: brightness(0.65) saturate(1.3);
        }
        .hero-bg-slide.active {
            opacity: 1;
        }
        .hero-overlay {
            position: absolute;
            inset: 0;
            background: radial-gradient(ellipse at 30% 50%, rgba(0, 180, 230, 0.15) 0%, rgba(0, 15, 35, 0.55) 70%);
            z-index: 2;
        }
        .hero-particles {
            position: absolute;
            width: 100%;
            height: 100%;
            z-index: 3;
            pointer-events: none;
        }
        .hero-particle {
            position: absolute;
            background: rgba(255, 255, 255, 0.4);
            border-radius: 50%;
            animation: floatUp linear infinite;
        }
        @keyframes floatUp {
            0% { transform: translateY(100vh) scale(0); opacity: 0; }
            10% { opacity: 1; }
            90% { opacity: 1; }
            100% { transform: translateY(-10vh) scale(1.5); opacity: 0; }
        }
        .wave-divider {
            position: absolute;
            bottom: -2px;
            left: 0;
            width: 100%;
            z-index: 5;
            line-height: 0;
        }
        .wave-divider svg {
            display: block;
            width: 100%;
            height: auto;
        }

        /* ===== HERO CONTENT ===== */
        .hero-content {
            position: relative;
            z-index: 10;
            width: 100%;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 8%;
            animation: fadeUp 1.5s cubic-bezier(0.23, 1, 0.32, 1);
        }
        @keyframes fadeUp {
            from { opacity: 0; transform: translateY(60px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .hero-content-inner {
            max-width: 850px;
        }

        .hero-badge {
            display: inline-block;
            background: rgba(0, 200, 255, 0.15);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.25);
            padding: 10px 25px;
            border-radius: 50px;
            font-size: 0.85rem;
            font-weight: 700;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: #d4f0ff;
            margin-bottom: 25px;
        }
        
        .hero-heading {
            font-family: 'Outfit', sans-serif;
            margin-bottom: 20px;
            line-height: 1.1;
            text-shadow: 0 15px 40px rgba(0, 0, 0, 0.5);
        }
        .hero-heading .brand-name {
            font-size: clamp(4.5rem, 9vw, 7.5rem);
            font-weight: 900;
            color: white;
            letter-spacing: -2px;
            display: inline-block;
        }
        .hero-heading .tagline {
            font-size: clamp(1.8rem, 3.5vw, 3.2rem);
            font-weight: 700;
            color: white;
            letter-spacing: -0.5px;
            display: inline-block;
            margin-left: 10px;
        }
        .hero-heading .tagline span {
            background: linear-gradient(135deg, #00dcff, #7ec8ff);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            filter: drop-shadow(0 0 35px rgba(0, 200, 255, 0.5));
        }
        
        .hero-content p {
            font-size: 1.2rem;
            color: rgba(255, 255, 255, 0.85);
            line-height: 1.8;
            margin-bottom: 35px;
            max-width: 600px;
        }
        .hero-buttons {
            display: flex;
            gap: 18px;
            flex-wrap: wrap;
        }
        .btn {
            padding: 16px 38px;
            border-radius: 50px;
            font-weight: 700;
            font-size: 1rem;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 10px;
            transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
            cursor: pointer;
            border: none;
        }
        .btn-primary {
            background: linear-gradient(135deg, #00b8ff, #0077a8);
            color: white;
            box-shadow: 0 15px 40px rgba(0, 150, 220, 0.4);
        }
        .btn-primary:hover {
            transform: translateY(-5px);
            box-shadow: 0 25px 55px rgba(0, 180, 255, 0.6);
        }
        .btn-secondary {
            background: rgba(255, 255, 255, 0.1);
            color: white;
            border: 2px solid rgba(255, 255, 255, 0.3);
            backdrop-filter: blur(10px);
        }
        .btn-secondary:hover {
            background: rgba(255, 255, 255, 0.2);
            border-color: white;
            transform: translateY(-5px);
        }
        .hero-stats {
            display: flex;
            gap: 25px;
            margin-top: 50px;
            flex-wrap: wrap;
        }
        .hero-stat {
            background: rgba(255, 255, 255, 0.08);
            backdrop-filter: blur(15px);
            padding: 25px 30px;
            border-radius: 22px;
            border: 1px solid rgba(255, 255, 255, 0.15);
            text-align: center;
            transition: all 0.4s ease;
            min-width: 130px;
        }
        .hero-stat:hover {
            background: rgba(0, 200, 255, 0.15);
            border-color: rgba(0, 220, 255, 0.5);
            transform: translateY(-8px);
            box-shadow: 0 25px 50px rgba(0, 150, 220, 0.3);
        }
        .hero-stat h2 {
            font-family: 'Outfit', sans-serif;
            font-size: 2.5rem;
            font-weight: 900;
            background: linear-gradient(to bottom, #ffffff, #a0e0ff);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        .hero-stat p {
            font-size: 0.85rem;
            color: rgba(255, 255, 255, 0.7);
            margin: 0;
            text-transform: uppercase;
            letter-spacing: 1px;
            font-weight: 600;
        }

        /* ============ SECTION STYLES - FIXED FOR ODOO ============ */
        section:not(.hero) {
            padding: 80px 0 !important;
            position: relative;
            width: 100% !important;
            max-width: 100% !important;
            margin: 0 !important;
            left: 0 !important;
            right: 0 !important;
        }

        .section-inner {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 8%;
            width: 100%;
        }

        .section-title {
            text-align: center;
            margin-bottom: 60px;
        }
        .section-title h2 {
            font-family: 'Outfit', sans-serif;
            font-size: clamp(2.2rem, 5vw, 3.2rem);
            font-weight: 800;
            color: #002b45;
            letter-spacing: -0.5px;
            margin-bottom: 15px;
        }
        .section-title p {
            color: #0077a8;
            font-size: 1.1rem;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 2px;
        }
        .section-line {
            width: 80px;
            height: 4px;
            background: linear-gradient(90deg, #0077a8, #00dcff);
            margin: 0 auto 20px;
            border-radius: 2px;
        }

        /* ============ ABOUT ============ */
        .about-section {
            background: white;
            padding: 80px 0 !important;
        }
        .about-container {
            max-width: 1100px;
            margin: 0 auto;
            padding: 0 8%;
        }
        .about-image-wrapper {
            position: relative;
            margin-bottom: 50px;
            display: flex;
            justify-content: center;
        }
        .about-image {
            width: 100%;
            max-width: 900px;
            height: 500px;
            object-fit: cover;
            border-radius: 30px;
            box-shadow: 0 30px 60px rgba(0, 50, 80, 0.2);
            transition: all 0.5s ease;
        }
        .about-image:hover {
            transform: scale(1.02);
            box-shadow: 0 40px 80px rgba(0, 80, 120, 0.3);
        }
        .about-floating-card {
            position: absolute;
            bottom: -30px;
            right: 20px;
            background: linear-gradient(135deg, #003f5c, #0077a8);
            color: white;
            padding: 25px 30px;
            border-radius: 22px;
            box-shadow: 0 25px 55px rgba(0, 100, 160, 0.45);
            animation: floatCard 4s ease-in-out infinite;
            text-align: center;
            min-width: 120px;
            z-index: 5;
        }
        @keyframes floatCard {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-12px); }
        }
        .about-floating-card h3 {
            font-family: 'Outfit', sans-serif;
            font-size: 2.4rem;
            font-weight: 900;
            color: #00dcff;
            line-height: 1;
            margin-bottom: 4px;
        }
        .about-floating-card p {
            color: rgba(255,255,255,0.9);
            font-size: 0.8rem;
            margin: 0;
            font-weight: 500;
        }
        .about-content {
            text-align: center;
            max-width: 800px;
            margin: 0 auto;
        }
        .about-content h2 {
            font-family: 'Outfit', sans-serif;
            font-size: 2.8rem;
            font-weight: 800;
            color: #002b45;
            margin-bottom: 18px;
            letter-spacing: -0.5px;
        }
        .about-content p {
            color: #4a5f70;
            font-size: 1rem;
            line-height: 1.8;
            margin-bottom: 18px;
        }
        .about-features {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 12px;
            margin-top: 25px;
        }
        .about-feature {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 10px 20px;
            font-size: 0.9rem;
            background: #f4f9ff;
            border-radius: 50px;
            border: 1px solid #dceaf5;
            color: #003459;
            font-weight: 500;
        }
        .about-feature i {
            color: #00a6d6;
            font-size: 1rem;
        }

        /* ============ ECOSYSTEM - KEPT EXACTLY AS ORIGINAL ============ */
        .ecosystem-section {
            background: #001d3d;
            background-image: radial-gradient(circle at 30% 40%, #003451 0%, #01121f 90%);
            color: white;
            padding: 100px 8% !important;
        }
        .ecosystem-section .section-title h2 {
            color: white;
        }
        .ecosystem-subtitle {
            text-align: center;
            color: #8ecae6;
            font-size: 1rem;
            margin-top: -10px;
            margin-bottom: 50px;
        }
        .ecosystem-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
            gap: 25px;
            max-width: 1400px;
            margin: 0 auto;
        }
        .ecosystem-card {
            background: rgba(255, 255, 255, 0.05);
            backdrop-filter: blur(15px);
            padding: 35px 28px;
            border-radius: 25px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            text-align: center;
            transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
            cursor: pointer;
            position: relative;
            overflow: hidden;
            text-decoration: none;
            display: block;
        }
        .ecosystem-card:visited,
        .ecosystem-card:hover,
        .ecosystem-card:active,
        .ecosystem-card:focus {
            text-decoration: none;
            color: inherit;
        }
        .ecosystem-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 4px;
            background: linear-gradient(90deg, #00b4e6, #00dcff, #7ec8ff);
            transform: scaleX(0);
            transform-origin: left;
            transition: transform 0.5s ease;
        }
        .ecosystem-card:hover::before {
            transform: scaleX(1);
        }
        .ecosystem-card:hover {
            background: rgba(0, 200, 240, 0.12);
            border-color: rgba(0, 220, 255, 0.4);
            transform: translateY(-15px) scale(1.03);
            box-shadow: 0 30px 60px rgba(0, 150, 220, 0.3);
        }
        .ecosystem-card i {
            font-size: 2.8rem;
            margin-bottom: 18px;
            display: block;
            background: linear-gradient(135deg, #00dcff, #7ec8ff);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        .ecosystem-card h3 {
            font-family: 'Outfit', sans-serif;
            font-size: 1.3rem;
            font-weight: 700;
            color: white;
            margin-bottom: 12px;
            letter-spacing: -0.3px;
        }
        .ecosystem-card p {
            color: #c0ddf0;
            font-size: 0.92rem;
            line-height: 1.6;
            margin: 0;
        }

        /* ============ INDUSTRIES ============ */
        .industries-section {
            background: white;
            padding: 80px 0 !important;
        }
        .industries-grid {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 18px;
            max-width: 1000px;
            margin: 0 auto;
            padding: 0 8%;
        }
        .industry-tag {
            padding: 16px 32px;
            border-radius: 50px;
            background: #f0f7ff;
            font-weight: 600;
            color: #003459;
            border: 2px solid #dceaf5;
            transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
            cursor: default;
            font-size: 0.95rem;
        }
        .industry-tag:hover {
            background: linear-gradient(135deg, #0077a8, #00b4e6);
            color: white;
            border-color: transparent;
            transform: translateY(-6px);
            box-shadow: 0 20px 40px rgba(0, 120, 180, 0.3);
        }

        /* ============ GALLERY ============ */
        .gallery-section {
            background: #f4f9ff;
            padding: 80px 0 !important;
        }
        .gallery-carousel-container {
            max-width: 1200px;
            margin: 0 auto;
            position: relative;
            overflow: hidden;
            border-radius: 30px;
            box-shadow: 0 30px 60px rgba(0, 50, 80, 0.15);
            padding: 0 8%;
        }
        .gallery-track {
            display: flex;
            transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        }
        .gallery-slide {
            min-width: 100%;
            position: relative;
        }
        .gallery-slide img {
            width: 100%;
            height: 500px;
            object-fit: cover;
            display: block;
            border-radius: 20px;
        }
        .gallery-info {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(to top, rgba(0, 15, 30, 0.9), transparent);
            padding: 40px 35px 30px;
            color: white;
            border-radius: 0 0 20px 20px;
        }
        .gallery-info h3 {
            font-family: 'Outfit', sans-serif;
            font-size: 1.6rem;
            font-weight: 700;
            margin-bottom: 8px;
            color: #00dcff;
        }
        .gallery-info p {
            color: #d0e8f5;
            font-size: 1rem;
            line-height: 1.6;
            max-width: 600px;
        }
        .gallery-nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: rgba(255, 255, 255, 0.9);
            border: none;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            cursor: pointer;
            font-size: 1.3rem;
            color: #003459;
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 10;
            transition: all 0.3s ease;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
        }
        .gallery-nav:hover {
            background: white;
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
            transform: translateY(-50%) scale(1.1);
        }
        .gallery-nav.prev {
            left: 30px;
        }
        .gallery-nav.next {
            right: 30px;
        }
        .gallery-dots {
            display: flex;
            justify-content: center;
            gap: 12px;
            margin-top: 25px;
        }
        .gallery-dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: #c0d8e8;
            cursor: pointer;
            transition: all 0.3s ease;
            border: none;
        }
        .gallery-dot.active {
            background: #0077a8;
            width: 35px;
            border-radius: 10px;
            box-shadow: 0 0 15px rgba(0, 119, 168, 0.4);
        }

        /* ============ CTA ============ */
        .cta-section {
            background: linear-gradient(135deg, #001f3f, #003b5c);
            text-align: center;
            color: white;
            padding: 80px 0 !important;
        }
        .cta-section .section-inner {
            text-align: center;
        }
        .cta-section h2 {
            font-family: 'Outfit', sans-serif;
            font-size: 2.8rem;
            font-weight: 800;
            margin-bottom: 20px;
        }
        .cta-section p {
            color: #c0ddf0;
            font-size: 1.1rem;
            margin-bottom: 35px;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
        }

        /* ============ SCROLL TO TOP ============ */
        .scroll-top {
            position: fixed;
            bottom: 30px;
            right: 30px;
            width: 50px;
            height: 50px;
            background: linear-gradient(135deg, #0077a8, #00b4e6);
            color: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
            z-index: 99;
            box-shadow: 0 15px 35px rgba(0, 100, 160, 0.4);
            border: none;
            font-size: 1.2rem;
        }
        .scroll-top.show {
            opacity: 1;
            visibility: visible;
        }
        .scroll-top:hover {
            transform: translateY(-5px);
            box-shadow: 0 25px 50px rgba(0, 140, 200, 0.6);
        }

                /* ============ RESPONSIVE ============ */
        @media (max-width: 992px) {
            .about-image {
                height: 350px;
                max-width: 100%;
            }
            .about-floating-card {
                right: 10px;
                bottom: -20px;
                padding: 20px 22px;
            }
            .about-floating-card h3 {
                font-size: 2rem;
            }
            .gallery-slide img {
                height: 350px;
            }
        }
        @media (max-width: 768px) {
            .hero-content {
                padding: 0 5%;
            }
            .hero-heading .brand-name {
                font-size: clamp(3rem, 7vw, 4.5rem);
                display: block;
            }
            .hero-heading .tagline {
                font-size: clamp(1.2rem, 2.8vw, 2.2rem);
                display: block;
                margin-left: 0;
                margin-top: 5px;
            }
            .hero-content p {
                font-size: 1rem;
            }
            .hero-stats {
                gap: 12px;
            }
            .hero-stat {
                padding: 18px 20px;
                min-width: 100px;
            }
            .hero-stat h2 {
                font-size: 1.8rem;
            }
            section:not(.hero) {
                padding: 60px 0 !important;
            }
            .section-inner {
                padding: 0 5%;
            }
            .about-container {
                padding: 0 5%;
            }
            .about-image {
                height: 300px;
            }
            .about-content h2 {
                font-size: 1.6rem;
            }
            .about-features {
                gap: 8px;
            }
            .about-feature {
                padding: 8px 16px;
                font-size: 0.8rem;
            }
            .gallery-slide img {
                height: 280px;
            }
            .gallery-info {
                padding: 25px 20px 20px;
            }
            .gallery-info h3 {
                font-size: 1.3rem;
            }
            .gallery-nav {
                width: 40px;
                height: 40px;
                font-size: 1rem;
            }
            .gallery-nav.prev {
                left: 15px;
            }
            .gallery-nav.next {
                right: 15px;
            }
            .ecosystem-grid {
                grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
                gap: 15px;
            }
            .ecosystem-card {
                padding: 25px 18px;
            }
            .ecosystem-card i {
                font-size: 2rem;
            }
            .ecosystem-card h3 {
                font-size: 1.1rem;
            }
            .industries-grid {
                padding: 0 5%;
            }
            .gallery-carousel-container {
                padding: 0 5%;
            }
        }
        @media (max-width: 480px) {
            .about-image {
                height: 250px;
            }
            .about-floating-card {
                right: 5px;
                bottom: -25px;
                padding: 15px 18px;
                min-width: 100px;
            }
            .about-floating-card h3 {
                font-size: 1.6rem;
            }
            .about-floating-card p {
                font-size: 0.7rem;
            }
            .ecosystem-grid {
                grid-template-columns: 1fr 1fr;
                gap: 12px;
            }
            .ecosystem-card {
                padding: 20px 12px;
                border-radius: 18px;
            }
            .ecosystem-card i {
                font-size: 1.6rem;
                margin-bottom: 10px;
            }
            .ecosystem-card h3 {
                font-size: 0.95rem;
            }
            .ecosystem-card p {
                font-size: 0.78rem;
            }
        }

/* Ecosystem cards whose page isn't built yet — remove the "pending" class
   from the link in index.html once the page exists. */
.ecosystem-card.pending {
    opacity: 0.6;
}

.ecosystem-card.pending::after {
    content: "Coming soon";
    position: absolute;
    top: 12px;
    right: 14px;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.6px;
    color: #7fe6ff;
    background: rgba(0, 220, 255, 0.14);
    border: 1px solid rgba(0, 220, 255, 0.3);
    padding: 3px 9px;
    border-radius: 20px;
}
