@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

body{
    font-family: Montserrat, sans-serif !important;
    font-optical-sizing: auto;
}

:root {
    --brand-cyan: #00e5e5;
    --glow-blue: #00e5e52e;
    --glow-purple: #6496ff1f;
    --text-dark: #1a1a1a;
    --text-muted: #3d4348;
}

body {
    background-color: #fff;
    color: var(--text-dark);
}

/* --- DUAL MOVING RADIAL GLOWS --- */
.glow-orb {
    width: 50vw;
    height: 50vw;
    filter: blur(100px);
    z-index: -1;
    pointer-events: none;
}

.orb-1 {
    top: -10%;
    left: -10%;
    background: radial-gradient(circle, var(--glow-blue) 0%, #fff0 70%);
    animation: move-glow-1 18s infinite alternate ease-in-out;
}

.orb-2 {
    bottom: -10%;
    right: -10%;
    background: radial-gradient(circle, var(--glow-purple) 0%, #fff0 70%);
    animation: move-glow-2 22s infinite alternate ease-in-out;
}

@keyframes move-glow-1 {
    0% { 
        transform: translate(0, 0); 
    }

    100% { 
        transform: translate(30vw, 40vh);
        }
}

@keyframes move-glow-2 {
    0% { 
        transform: translate(0, 0); 
    }

    100% { 
        transform: translate(-30vw, -40vh); 
    }
}

/* --- NAVBAR --- */
.navbar {
    z-index: 1000;
}

.navbar-brand img {
    max-height: 40px;
}

.nav-link {
    color: var(--text-dark) !important;
    font-size: 0.82rem;
    padding: 0.5rem 0.6rem !important; /* Slightly tighter padding for 8 links */
    transition: color 0.3s ease;
}

.nav-link:hover {
    color: var(--brand-cyan) !important;
}

.btn-cyan {
    background-color: var(--brand-cyan);
    color: #000;
    font-size: 0.9rem;
    transition: all 0.3s ease;
}

.btn-cyan:hover {
    color: white;
    background-color: #0cc;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px #00e5e54d;
}

.btn-black {
    background-color: black;
    color: #fff;
    font-size: 0.9rem;
    transition: all 0.3s ease;
}

.btn-black:hover {
    color: white;
    background-color: black;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px #00e5e54d;
}

/* --- HERO SECTION --- */
.hero-section {
    padding: 40px 0 80px;
}

.hero-subtitle {
    letter-spacing: 2px;
    font-size: 0.85rem;
    color: #333;
}

.text-cyan {
    color: #00fdfd;
    display: inline-block;
    padding: 4px;
}

.hero-title {
    font-size: 60px;
    line-height: 1.1;
    font-family: Poppins, sans-serif;
}

.hero-description {
    max-width: 850px;
    color: var(--text-muted);
    line-height: 1.7;
    font-size: 0.91rem;
}

/* --- VIDEO FRAME --- */
.video-outer-frame {
    background: #f6f6f6;
    padding: 10px;
    border-radius: 50px;
    box-shadow: 0 40px 80px #00000014;
    border: 2px solid #0000000a;
    margin-top: 50px;
}

.video-inner-container {
    border-radius: 35px;
    overflow: hidden;
}

/* Mobile Adjustments */
@media (width < 992px) {
    .nav-link { margin: 5px 0; }
}

@media (width < 768px) {
    .video-outer-frame {
        padding: 10px;
        border-radius: 25px;
    }
    
    .video-inner-container {
        border-radius: 18px;
    }
}

.sector-card {
transition: all 0.3s ease;
border: 1px solid #00000008;
}

.sector-card:hover {
transform: translateY(-10px);
box-shadow: 0 15px 30px #00e5d91a;
}

/* Custom List Icon Styling */
.custom-list li {
    font-size: 1.05rem;
    font-weight: 500;
    color: var(--text-dark);
}

.custom-list i {
    font-size: 1.2rem;
}

/* Button Outline Polish */
.btn-outline-dark {
    border-width: 2px;
    transition: all 0.3s ease;
}

.btn-outline-dark:hover {
    background-color: var(--text-dark);
    color: #fff;
    transform: translateY(-2px);
}

/* Ensure the layout stacks nicely on mobile */
@media (width < 991px) {
    .hero-title {
        font-size: 2.2rem;
    }
}

.border-light-subtle {
    border-color: #00000014 !important;
}

.display-4 {
    font-family: Poppins, sans-serif;
    letter-spacing: -2px;
    transition: color 0.3s ease;
}

/* Hover effect: The numbers glow cyan when the row is hovered */
.col-md-6:hover .display-4 {
    color: var(--brand-cyan);
}

/* Responsive border fixes for mobile (removes side borders on stack) */
@media (width < 991px) {
    .border-end {
        border-end: none !important;
    }

    .col-md-6 {
        border-bottom: 1px solid #00000014 !important;
    }
}

/* Premium Dark Background */
.bg-dark {
    background-color: #0d1117 !important;
}

/* Ensuring text doesn't get too small on 50vh */
@media (width < 768px) {
    section[style*="50vh"] {
        min-height: 60vh !important; /* Give a bit more room on mobile */
    }
    
    .display-4 {
        font-size: 2rem;
    }
}

.black-orb{
    top: -10%; 
    right: -5%; 
    width: 30vw; 
    height: 30vw; 
    background: radial-gradient(circle, var(--brand-cyan) 0%, transparent 70%); 
    pointer-events: none;
}

/* Styling for the indicators to make them look like premium dots */
    .carousel-indicators [data-bs-target] {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        margin: 0 6px;
        border: none;
        opacity: 0.3;
    }

    .carousel-indicators .active {
        opacity: 1;
        background-color: var(--brand-cyan) !important;
    }

    .bg-cyan { 
        background-color: var(--brand-cyan) !important; 
    }
    
    /* Smooth fade instead of slide for a more premium feel */
    .carousel-fade .carousel-item {
        opacity: 0;
        transition-duration: 0.8s;
        transition-property: opacity;
    }

    .carousel-fade .carousel-item.active {
        opacity: 1;
    }

    /* Match the charcoal background in your image */
    .bg-dark {
        background-color: #1e2222 !important;
    }

    .ls-widest {
        letter-spacing: 0.15rem;
    }

    .footer-nav a {
        transition: color 0.3s ease;
        font-size: 0.8rem;
    }

    .footer-nav a:hover, .hover-cyan:hover {
        color: var(--brand-cyan) !important;
        opacity: 1;
    }

    /* Ensuring the border is very subtle like the image */
    .border-secondary {
        border-color: #ffffff1a !important;
    }
    
    .about-hero {
        background-color: #000;
        height: 60vh;
    }

    .absolute-fill {
        left: 0;
    }

    /* Professional Gradient Overlay */
    .overlay-dark {
        left: 0;
        background: linear-gradient(to bottom, #000000b3 0%, #0006 50%, #000c 100%);
    }

    .z-1 { 
        z-index: 2; 
    }

    .ls-widest { 
        letter-spacing: 0.25rem; 
    }

    /* Smooth image zoom effect */
    .about-hero img {
        transition: transform 10s ease-out;
    }

    .about-hero:hover img {
        transform: scale(1.1);
    }

    /* Styling for the numbered badges to match your branding */
    .bg-cyan {
        background-color: var(--brand-cyan) !important;
    }

    .border-light-subtle {
        border-color: #00000014 !important;
    }

    /* Subtle hover effect for the investment stages */
    .col-lg-7 .mb-5:hover h4 {
        color: var(--brand-cyan);
        transition: color 0.3s ease;
    }

    /* Responsive adjustments */
    @media (width < 991px) {
        .col-lg-7 {
            border-start: none !important;
            padding-top: 3rem;
            margin-top: 3rem;
            border-top: 1px solid #00000014;
        }
    }

    /* Service List Hover Animation */
    .service-item {
        transition: all 0.3s ease-in-out;
        cursor: default;
    }

    .service-item:hover {
        padding-left: 15px;
        background-color: #00f3ff08; /* Very subtle brand cyan tint */
    }

    .service-item:hover h4 {
        color: var(--brand-cyan);
    }

    .border-light-subtle {
        border-color: #0000001a !important;
    }

    /* Animation reveal helper */
    .scroll-reveal {
        opacity: 0;
        transform: translateY(20px);
    }

    /* Styling for the Tabs */
    .filter-nav .nav-link {
        color: #333;
        border: 1px solid #eee;
        border-radius: 50px;
        padding: 8px 20px;
        font-size: 0.75rem;
        font-weight: 700;
        transition: all 0.3s;
    }

    .filter-nav .nav-link.active, .filter-nav .nav-link:hover {
        background-color: var(--brand-cyan) !important;
        color: white !important;
        border-color: var(--brand-cyan);
    }

    /* Image Hover Overlay */
    .portfolio-overlay {
        position: absolute;
        inset: 0;
        background: #00f2ff50;
        opacity: 0;
        transition: all 0.4s;
    }

    .portfolio-item:hover .portfolio-overlay {
        opacity: 1;
        cursor: pointer;
    }

    /* Filtering Classes */
    .portfolio-item.hide {
        display: none;
    }

    .x-small { 
        font-size: 0.75rem; 
    }

    .btn-outline-cyan {
        color: var(--brand-cyan);
        border-color: var(--brand-cyan);
    }

    .btn-outline-cyan:hover {
        background-color: var(--brand-cyan);
        color: white;
    }

    .blue-circle{
        width: 35px; 
        height: 35px;
    }

    .funding-circle{
        width: 130px; 
        height: 130px; 
        border: 1px solid #ffffff26;
    }

    .circle-gif{
        width: 90px; 
        height: 90px;
    }

    /* Professional Styling */
    .hover-lift {
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .hover-lift:hover {
        transform: translateY(-8px);
        box-shadow: 0 1.5rem 4rem #0000001f !important;
    }
    
    .bg-cyan {
        background-color: var(--brand-cyan) !important;
    }

    .card-img-top {
        filter: grayscale(20%);
        transition: filter 0.3s ease;
    }

    .card:hover .card-img-top {
        filter: grayscale(0%);
    }

    .media-image{
        height: 220px;
    }

    .form-control {
        border: 1px solid #dee2e6;
        padding-top: 0.8rem;
        padding-bottom: 0.8rem;
        transition: all 0.3s ease;
    }

.bg-white.rounded-4.shadow-sm .p-4 {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.bg-white.rounded-4.shadow-s
/* Incubation Cards - Equal Heights */
.bg-white.rounded-4.shadow-sm {
    display: flex;
    flex-direction: column;
}

.inc-cards.bg-white.rounded-4.shadow-sm img {
    height: 250px;
    object-fit: cover;
}

.bg-white.rounded-4.shadow-sm .p-4 {
    flex: 1;
    display: flex;
    flex-direction: column;
}
