/* ================= VARIABLES ================= */
:root {
    --primary-blue: #1f3563;
    --accent-orange: #ff7a18;
    --light-bg: #f5f7fb;
}

html, body {
    overflow-x: hidden;
    width: 100%;
}

/* ================= GLOBAL ================= */
body {
    font-family: "Segoe UI", system-ui, sans-serif;
    background-color: #ffffff;
    color: #333;
}

img {
    max-width: 100%;
    height: auto;
}

/* ================= NAVBAR ================= */
.bg-primary-custom {
    background-color: var(--primary-blue);
}

.navbar {
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
}

.navbar-brand {
    letter-spacing: 0.5px;
    font-size: 1.45rem;
    line-height: 1.1;
}

/* Brand logo */
.brand-logo {
    height: 75px;
    width: auto;
    object-fit: contain;
}

/* Nav links */
.navbar-nav .nav-link {
    font-size: 1.05rem;
    padding: 0.5rem 1rem;
    position: relative;
    color: #fff;
}

.navbar-nav .nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 2px;
    background-color: var(--accent-orange);
    transition: width 0.25s ease;
}

.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after {
    width: 100%;
}

/* Login button */
.navbar .btn {
    display: flex;
    align-items: center;
    height: 38px;
    font-size: 0.95rem;
    padding: 0.3rem 0.75rem;
    background-color: var(--accent-orange);
    border: none;
    color: #fff;
}

.navbar .btn:hover {
    background-color: #e96b10;
}

/* ================= HERO ================= */
.hero-section {
    padding: 80px 0;
    background: linear-gradient(
        180deg,
        #ffffff 0%,
        var(--light-bg) 100%
    );
    border-top: 1px solid #e6e9f0;
}

.hero-title {
    font-size: 2.3rem;
    font-weight: 700;
    color: var(--primary-blue);
}

.hero-title span {
    color: var(--accent-orange);
}

.hero-subtitle {
    margin-top: 15px;
    font-size: 1.1rem;
    max-width: 520px;
}

.hero-image {
    max-width: 100%;
    border-radius: 16px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}

.hero-subtitle a {
    color: var(--primary-blue);
    font-weight: 600;
    text-decoration: none;
}

.hero-subtitle a:hover {
    color: #16284d;
    text-decoration: underline;
}

/* ================= SECTIONS ================= */
.section-title {
    text-align: center;
    font-weight: 700;
    font-size: 2rem;
    margin-bottom: 1.5rem;
    letter-spacing: 0.3px;
    color: var(--primary-blue);
}

/* ================= TEAM ================= */
.team-section {
    padding: 70px 0;
}

.team-card {
    background: #fff;
    border-radius: 14px;
    padding: 30px;
    height: 100%;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    transition: transform 0.3s ease;
}

.team-card:hover {
    transform: translateY(-6px);
}

.team-role {
    font-size: 1.3rem;
    color: var(--accent-orange);
    font-weight: 700;
    margin-bottom: 12px;
    letter-spacing: 0.5px;
}

.team-name {
    font-weight: 600;
    margin-bottom: 2px;
}

.team-designation {
    font-size: 0.9rem;
    color: #666;
}

.team-org-title {
    text-align: center;
    font-weight: 700;
    font-size: 1.35rem;
    color: var(--primary-blue);
    margin-bottom: 14px;
    letter-spacing: 0.4px;
}

@media (max-width: 767.98px) {
    .team-section .col-md-6 + .col-md-6 {
        margin-top: 2.5rem;
    }
}
/* ================= DEVELOPERS ================= */
.developers-section {
    padding: 15x 0;
    background-color: var(--primary-blue);
}

.developers-section ul {
    margin-bottom: 0;
}

.developers-section .list-group-item {
    background: transparent;
    color: #fff;
    border: none;
    padding: 3px 0;
    font-size: 1rem;
}

/* ================= FOOTER ================= */
.footer {
    background-color: #0f1f3a;
    color: #ccc;
    padding: 25px 0;
    font-size: 0.9rem;
}

/* ================= BACK TO TOP ================= */
.back-to-top-wrapper {
    position: fixed;
    bottom: 90px;
    right: max(16px, env(safe-area-inset-right));
    z-index: 1050;
}

.back-to-top-btn {
    
    pointer-events: auto;
    background-color: var(--accent-orange);
    color: #fff;
    font-weight: 600;
    border-radius: 6px;
    padding: 8px 14px;
    box-shadow: 0 6px 15px rgba(0,0,0,0.2);
    display: none;
    /* display: inline-block !important; */
}

.back-to-top-btn:hover {
    background-color: #e96b10;
    color: #fff;
}

/* ================= ANIMATIONS ================= */
.fade-up {
    opacity: 0;
    transform: translateY(25px);
    transition: all 0.6s ease;
}

.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ================= RESPONSIVE ================= */
@media (max-width: 768px) {
    .hero-title {
        font-size: 2rem;
    }

    .hero-subtitle {
        margin: 0 auto;
    }

    .brand-logo {
        height: 58px;
    }

    .section-title {
        font-size: 1.6rem;
    }

    .team-role {
        font-size: 1.05rem;
    }
}
