/* header_style.css - Navigation Header with Mobile Toggle Layer */
.site-header {
    width: 100%;
    background-color: rgba(4, 8, 20, 0.95);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 122, 0, 0.15);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    padding: 0.65rem 2rem;
    transition: all 0.3s ease;
}

.header-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Image Logo Canvas Layout Container Rules */
.brand-logo-img-wrapper {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.brand-logo-image {
    height: 42px; /* Smooth professional image footprint limits */
    width: auto;
    object-fit: contain;
}

/* Global Nav Links Desktop Architecture Mapping */
.header-nav {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.nav-link {
    color: #9ab3f5;
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.25s ease;
    padding: 0.35rem 0;
    border-bottom: 2px solid transparent;
}

.nav-link:hover, .nav-link.active {
    color: #FF7A00;
    border-bottom-color: #FF7A00;
}

/* HIDDEN BY DEFAULT ON LARGE NOTEBOOKS, DESKTOPS AND LAPTOPS */
.mobile-menu-toggle {
    display: none;
}

/* ==========================================================================
   📶 MOBILE VIEWPORT SPECIFIC RESPONSIVE OVERRIDES
   ========================================================================== */
@media (max-width: 768px) {
    .site-header {
        padding: 0.75rem 1.2rem;
    }

    /* REVEAL THE INTERACTIVE HAMBURGER TOGGLE COMPONENT */
    .mobile-menu-toggle {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 24px;
        height: 18px;
        background: transparent;
        border: none;
        cursor: pointer;
        padding: 0;
        z-index: 1001;
    }

    .hamburger-bar {
        width: 100%;
        height: 2.5px;
        background-color: #FFFFFF;
        border-radius: 2px;
        transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    }

    /* Transform Hamburg Line into Orange Highlights on Trigger States */
    .mobile-menu-toggle.open .hamburger-bar {
        background-color: #FF7A00;
    }
    
    /* Transforming the middle hamburger lines into an 'X' close symbol */
    .mobile-menu-toggle.open .hamburger-bar:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
    .mobile-menu-toggle.open .hamburger-bar:nth-child(2) { opacity: 0; }
    .mobile-menu-toggle.open .hamburger-bar:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

    /* CONVERT LINK STRIPS INTO A TRANSLUCENT VERTICAL DRAWER MENUS SLIDE DOWN */
    .header-nav {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: rgba(4, 8, 20, 0.98);
        border-bottom: 1px solid rgba(255, 122, 0, 0.2);
        flex-direction: column;
        gap: 0;
        padding: 0;
        max-height: 0; /* Keeps drawer completely hidden until toggle active */
        overflow: hidden;
        transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    /* Sliding navigation state expansion logic */
    .header-nav.open {
        max-height: 240px; /* Expands smoothly down over content backgrounds */
    }

    .nav-link {
        width: 100%;
        text-align: center;
        padding: 1rem 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.03);
    }

    .nav-link:hover, .nav-link.active {
        background-color: rgba(255, 122, 0, 0.05);
        border-bottom-color: transparent;
    }
}
