/* ============================================================
   Design Tokens
   ============================================================ */
:root {
    --clr-bg: #fff;
    --clr-fg: #2b2b2b;
    --clr-muted: #555;
    --clr-border: #e6e8ec;
    --clr-shadow: 0 8px 24px rgba(16,24,40,.08);
    --brand-primary: #0c2e8a;
    --brand-accent: #50d8af;
    --brand-accent-2: #2dc899;
    --radius-sm: .375rem; /* 6px */
    --radius-md: .625rem; /* 10px */
    --radius-lg: .875rem; /* 14px */

    --space-1: .25rem; /* 4px */
    --space-2: .5rem; /* 8px */
    --space-3: .75rem; /* 12px */
    --space-4: 1rem; /* 16px */
    --space-5: 1.25rem; /* 20px */
    --space-6: 1.5rem; /* 24px */
    --space-7: 2rem; /* 32px */
    --space-8: 2.5rem; /* 40px */
    --space-9: 3.5rem; /* 56px */
    --space-10: 4.5rem; /* 72px */

    --speed-fast: .15s;
    --speed-normal: .25s;
    --easing: cubic-bezier(.2,.8,.2,1);
}

/* Correct: dark mode overrides */
@media (prefers-color-scheme: light) {
    :root {
        --clr-bg: #0f1320;
        --clr-fg: #e6e8f0;
        --clr-muted: #c8ccda;
        --clr-border: #1f2942;
        --clr-shadow: 0 8px 24px rgba(0,0,0,.35);
        --brand-primary: #90b4ff;
        --brand-accent: #6be6c6;
        --brand-accent-2: #48d3af;
    }
}

/* ============================================================
   Base & Typography
   ============================================================ */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--clr-bg);
    color: var(--clr-fg);
    font-family: "Open Sans",system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,sans-serif;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a {
    color: var(--brand-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color var(--speed-normal) var(--easing),opacity var(--speed-fast) var(--easing);
}

    a:hover, a:focus {
        color: var(--brand-accent-2);
        text-decoration: none;
    }

h1, h2, h3, h4, h5, h6 {
    font-family: "Montserrat","Raleway",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    font-weight: 600;
    color: var(--clr-fg);
    margin: 0 0 var(--space-4) 0;
}

h1 {
    font-weight: 700;
    letter-spacing: .2px;
    font-size: clamp(1.5rem,5vw,2.25rem);
}

h2 {
    letter-spacing: .2px;
    font-size: clamp(1.25rem,4vw,1.75rem);
}

p {
    margin: 0 0 var(--space-5) 0;
    font-size: clamp(.875rem,2.5vw,1rem);
}

/* Accessible focus */
:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--brand-accent) 60%, transparent);
    outline-offset: 2px;
    border-radius: var(--radius-sm);
}

/* Images & embeds */
img, video, iframe {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Prevent horizontal scroll */
html, body {
    max-width: 100%;
    overflow-x: hidden;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ============================================================
   Header / Navbar (Bootstrap 5)
   ============================================================ */
.navbar {
    box-shadow: 0 4px 14px rgba(0,0,0,.06);
    background: var(--clr-bg);
    backdrop-filter: saturate(1.2) blur(4px);
}

.navbar-brand {
    color: var(--brand-primary);
    font-weight: 800;
    letter-spacing: .3px;
    font-style: italic;
}

    .navbar-brand:hover {
        color: var(--brand-primary);
    }

.nav-link {
    font-weight: 700;
    color: var(--clr-muted);
}

    .nav-link:hover, .nav-link:focus,
    .navbar .nav-link.active {
        color: var(--brand-accent);
    }

/* Back to top */
.back-to-top {
    position: fixed;
    right: 15px;
    bottom: 15px;
    display: none;
    background: var(--brand-accent);
    color: #fff;
    padding: .5rem .75rem;
    font-size: 1rem;
    border-radius: var(--radius-sm);
    box-shadow: var(--clr-shadow);
    transition: background var(--speed-normal) var(--easing), transform var(--speed-fast) var(--easing);
}

    .back-to-top:hover {
        background: var(--brand-primary);
        transform: translateY(-2px);
    }

/* ============================================================
   Hero / Intro (Bootstrap Carousel)
   ============================================================ */
#intro {
    position: relative;
}

/* Hero / carousel size and image fit */
.hero-slide {
    /* Use a responsive height window */
    height: clamp(280px, 60vh, 720px);
}

    .hero-slide .hero-img {
        height: 100%;
        object-fit: cover; /* <- the key: fills the box and crops safely */
        object-position: center; /* keep the focal point centered */
        display: block;
    }

/* Optional: make it a bit shorter on small screens, taller on big */
@media (max-width: 576px) {
    .hero-slide {
        height: 48vh;
    }
}

@media (min-width: 1200px) {
    .hero-slide {
        height: 70vh;
    }
}

/* optional soft bottom radius if desired */
/* #intro { border-radius:0 0 var(--radius-lg) var(--radius-lg); } */

/* Respect reduced motion for carousel */
@media (prefers-reduced-motion: reduce) {
    .carousel, .carousel * {
        transition: none !important;
        animation: none !important;
    }
}

/* ============================================================
   Sections & Utilities
   ============================================================ */
section {
    padding: 3rem 0;
}

.section-header {
    margin-bottom: var(--space-6);
}

    .section-header h2, .section-header h3, .section-header h4 {
        color: var(--brand-primary);
        text-transform: uppercase;
        font-weight: 800;
        padding-bottom: .875rem;
        letter-spacing: .4px;
        position: relative;
    }

        .section-header h2::before, .section-header h3::before, .section-header h4::before {
            content: "";
            position: absolute;
            left: 0;
            bottom: 0;
            width: 3.5rem;
            height: .1875rem;
            border-radius: 2px;
            background: var(--brand-accent);
        }

    .section-header h3 {
        font-size: 1.25rem;
        text-transform: none;
    }

    .section-header h4 {
        font-size: 1rem;
        text-transform: none;
    }

    .section-header p {
        margin: 0;
        color: var(--clr-muted);
    }

/* Generic action button */
.ras button, .btn-accent {
    background: var(--brand-accent);
    border: 0;
    border-radius: .5rem;
    padding: .625rem 1.25rem;
    color: #fff;
    font-weight: 600;
    box-shadow: var(--clr-shadow);
    transition: background var(--speed-normal) var(--easing), transform var(--speed-fast) var(--easing);
    cursor: pointer;
}

    .ras button:hover, .btn-accent:hover {
        background: var(--brand-accent-2);
        transform: translateY(-1px);
    }

/* Message chip */
div.msgborder {
    border: 2px solid #ddd;
    border-radius: .75rem;
    color: var(--brand-primary);
    max-width: 30rem;
    background-color: #fff3c4;
    padding: .625rem .875rem;
}

/* ============================================================
   About / Services Cards
   ============================================================ */
#about {
    padding: 3.5rem 0 2rem;
}

    #about .about-img img {
        margin: auto;
        max-width: 100%;
        display: block;
        border-radius: var(--radius-md);
        box-shadow: var(--clr-shadow);
    }

.card-box {
    padding: 1.75rem;
    margin-bottom: 1.75rem;
    border: 1px solid var(--clr-border);
    border-radius: var(--radius-md);
    background: var(--clr-bg);
    box-shadow: var(--clr-shadow);
    transition: transform var(--speed-normal) var(--easing), box-shadow var(--speed-normal) var(--easing);
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

    .card-box:hover {
        transform: translateY(-6px);
    }

    .card-box .icon {
        line-height: 0;
    }

        .card-box .icon i {
            font-size: 3.5rem;
            color: #444;
            background: linear-gradient(45deg, var(--brand-accent) 0%, #a3ebd5 100%);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }

    .card-box h4 {
        font-size: 1.375rem;
        font-weight: 800;
        margin: 0;
        color: var(--clr-fg);
    }

    .card-box p {
        margin: .5rem 0 0;
        font-size: .9375rem;
        color: var(--clr-fg);
    }

/* Legacy selectors mapped for compatibility */
#about .box, #services .box {
    composes: card-box;
}
/* if your build supports it; otherwise keep both classes in markup */
#about .content ul, #services .content ul {
    list-style: none;
    padding: 0;
}

    #about .content ul li {
        padding-bottom: .625rem;
    }

/* ============================================================
   Clients
   ============================================================ */
#clients {
    padding: 2rem 0;
}

    #clients img {
        width: auto;
        max-width: 100%;
        padding: .75rem 0;
        opacity: .9;
        filter: grayscale(.1);
        transition: transform .3s, opacity .3s, filter .3s;
    }

        #clients img:hover {
            opacity: 1;
            filter: none;
            transform: translateY(-2px);
        }

/* ============================================================
   Testimonials / Founders
   ============================================================ */
.panel-soft {
    padding: 1.5rem 1.5rem 0;
    margin: 1.5rem .75rem;
    text-align: center;
    min-height: 20rem;
    border: 1px solid var(--clr-border);
    border-radius: var(--radius-md);
    background: var(--clr-bg);
    box-shadow: var(--clr-shadow);
}

.testimonial-img, .founders-img {
    width: 90px;
    height: 90px;
    object-fit: cover;
    border-radius: 50%;
    border: 4px solid #fff;
    margin: 0 auto;
    box-shadow: var(--clr-shadow);
}

.quote-sign-left, .quote-sign-right {
    width: 30px;
    display: inline-block;
}

#founders .founders-item {
    padding: 1.5rem 1.5rem 0;
    border: 1px solid var(--clr-border);
    border-radius: var(--radius-md);
    background: var(--clr-bg);
    box-shadow: var(--clr-shadow);
}

/* ============================================================
   Contact
   ============================================================ */
#contact {
    padding: 2rem 0;
}

    #contact .contact-info {
        margin-bottom: 1.25rem;
        text-align: center;
    }

        #contact .contact-info i {
            font-size: 2.625rem;
            margin-bottom: .625rem;
            color: var(--brand-accent);
            display: inline-block;
        }

        #contact .contact-info .title {
            font-size: 1.5rem;
            margin-bottom: .625rem;
            color: var(--brand-primary);
            text-transform: uppercase;
            font-weight: 800;
            text-align: center;
        }

        #contact .contact-info h3 {
            font-size: 1.125rem;
            margin-bottom: .75rem;
            font-weight: 700;
            text-transform: uppercase;
            color: #999;
        }

        #contact .contact-info a {
            color: var(--clr-fg);
        }

            #contact .contact-info a:hover {
                color: var(--brand-accent);
            }

    #contact #google-map {
        height: 20rem;
        margin-bottom: 1.25rem;
        border-radius: var(--radius-md);
        overflow: hidden;
        box-shadow: var(--clr-shadow);
    }

/* ============================================================
   Modals (Bootstrap 5)
   ============================================================ */
.modal-header {
    background: var(--brand-primary);
    color: #fff;
    border-bottom: none;
    border-radius: var(--radius-md) var(--radius-md) 0 0;
}

    .modal-header .btn-close {
        filter: invert(1) grayscale(100%);
        opacity: .9;
    }

.modal-title {
    font-size: 1.125rem;
    color: #fff;
    text-transform: uppercase;
    font-weight: 800;
    position: relative;
    padding-bottom: .625rem;
}

    .modal-title::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 3.125rem;
        height: .1875rem;
        background: var(--brand-accent);
    }

.modal-body {
    max-height: 75vh;
    overflow-y: auto;
    font-size: .9375rem;
    border: 2px solid var(--brand-primary);
    background: var(--clr-bg);
    color: var(--clr-fg);
    border-radius: 0 0 var(--radius-md) var(--radius-md);
}

.founders-body {
    background: linear-gradient(to bottom right, rgba(255,255,255,.76), rgba(255,255,255,.76)), url("../img/Startup-India.jpg") center/cover no-repeat;
    color: #000;
}

.services-modal-body {
    background: linear-gradient(to bottom right, rgba(255,255,255,.82), rgba(255,255,255,.82)), url("../img/make-in-india.png") center/contain no-repeat;
    color: #000;
}

.custom-list {
    list-style: none;
    padding: 0;
}

    .custom-list li {
        position: relative;
        padding-left: 1.5rem;
    }

        .custom-list li span {
            font-weight: 700;
            text-decoration: underline;
        }

        .custom-list li:before {
            content: '\261E';
            position: absolute;
            left: 0;
            transform: translateY(-10%);
            font-size: 1.25rem;
            color: currentColor;
        }

        .custom-list li ul {
            padding-top: .75rem;
        }

            .custom-list li ul li {
                padding-left: 1.5rem;
            }

                .custom-list li ul li:before {
                    content: '\2713';
                }

/* ============================================================
   Footer
   ============================================================ */
#footer {
    background: color-mix(in srgb, var(--clr-bg) 90%, var(--brand-primary) 10%);
    padding: 0 0 1.25rem 0;
    font-size: .875rem;
    border-top: 1px solid var(--clr-border);
}

    #footer .img {
        padding-top: 1.25rem;
    }

        #footer .img img {
            width: 160px;
            height: 85px;
            margin: auto;
            display: block;
            filter: drop-shadow(0 2px 8px rgba(0,0,0,.15));
        }

    #footer .copyright {
        text-align: center;
        padding-top: 1.25rem;
        margin: auto;
        color: var(--clr-muted);
    }

    #footer .credits {
        text-align: center;
        font-size: .8125rem;
        color: var(--clr-muted);
    }

        #footer .credits a {
            color: var(--brand-primary);
        }

/* ============================================================
   Responsive tweaks
   ============================================================ */
@media (min-width:768px) {
    #contact .contact-address, #contact .contact-phone, #contact .contact-email {
        padding: 1.25rem 0;
    }

    #contact .contact-phone {
        border-left: 1px solid #ddd;
        border-right: 1px solid #ddd;
    }
}

@media (max-width:1024px) {
    .navbar-brand {
        font-size: 2rem;
    }
}

@media (max-width:768px) {
    .back-to-top {
        bottom: 15px;
    }

    .navbar-brand {
        font-size: 1.75rem;
    }

    #about .about-img img {
        margin: var(--space-7) 0 0;
        padding-bottom: var(--space-5);
    }

    .card-box {
        align-items: center;
        text-align: center;
    }
}

@media (max-width:576px) {
    #contact #google-map {
        margin-top: 1.25rem;
    }
}
.coming-soon-tag {
    display: inline-block;
    background: var(--brand-accent);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: var(--radius-sm);
    box-shadow: var(--clr-shadow);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

    .coming-soon-tag span {
        display: flex;
        align-items: center;
        gap: 6px;
    }


/* ——— Modern modal styling ——— */
.modal-modern .bg-gradient {
    background: linear-gradient(135deg, #0c2e8a 0%, #2dc899 100%);
}

.modal-modern .avatar-xl {
    width: 72px;
    height: 72px;
    object-fit: cover;
}

.modal-modern .modern-list li {
    padding: .5rem 0;
    border-bottom: 1px dashed rgba(0,0,0,.075);
}

    .modal-modern .modern-list li:last-child {
        border-bottom: 0;
    }

/* Optional: subtle blurred backdrop for all modals */
.modal-backdrop.show {
    backdrop-filter: blur(2px);
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .modal-modern .bg-gradient {
        background: #0c2e8a;
    }

    .modal-backdrop.show {
        backdrop-filter: none;
    }
}
