/* ==========================================
   1. BASE RESET & BODY
   ========================================== */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'IBM Plex Sans', sans-serif;
    color: #1A1A1B;
    background-color: #F5F5F0;
    padding: 20px;
}

/* ==========================================
   2. HEADER & LOGOS
   ========================================== */
.site-header {
    width: 100%;
    margin-bottom: 20px;
}

.header-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 0;
    width: 100%;
}

/* Main Logo (3/4 width on desktop) */
.logo-main {
    flex: 3;
    display: flex;
    align-items: center;
}

.logo-main img {
    width: 100%;
    max-height: 100px;
    object-fit: contain;
    object-position: left center;
}

/* Square Secondary Logo (1/4 width on desktop) */
.logo-side {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.logo-side img {
    width: 100%;
    max-height: 100px;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    object-position: right center;
}

/* ==========================================
   3. DESKTOP NAVBAR (DEFAULT)
   ========================================== */
.navbar {
    background-color: #A0522D;
    border-radius: 6px;
    position: relative;
}

/* Hide Hamburger Button on Desktop */
.hamburger {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px 8px;
    width: 44px;
    height: 36px;
    flex-direction: column;
    justify-content: space-between;
}

/* Hamburger Line Bars */
.bar {
    height: 3px;
    width: 100%;
    background-color: #F5F5F0;
    border-radius: 2px;
    transition: all 0.3s ease;
}

/* Desktop Horizontal Menu Bar */
.menu {
    list-style: none;
    display: flex;
    flex-direction: row;
    padding: 0;
    margin: 0;
}

.menu-item {
    position: relative;
}

.menu-item > a {
    display: block;
    padding: 16px 24px;
    color: #F5F5F0;
    text-decoration: none;
    font-weight: 500;
    white-space: nowrap;
    transition: background-color 0.2s ease;
}

.menu-item:hover > a {
    background-color: #C5A059;
    color: #1A1A1B;
}

/* Desktop Floating Dropdown Submenu */
.dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #A0522D;
    list-style: none;
    min-width: 200px;
    padding: 8px 0;
    margin: 0;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
    border-radius: 0 0 6px 6px;
    z-index: 9999;
}

.dropdown-item a {
    display: block;
    padding: 10px 20px;
    color: #F5F5F0;
    text-decoration: none;
    font-size: 0.9em;
    white-space: nowrap;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.dropdown-item a:hover {
    background-color: #C5A059;
    color: #1A1A1B;
}

/* Hover Engine (Desktop) */
.menu-item:hover .dropdown {
    display: block;
}

/* ==========================================
   Main Content Section
   ========================================== */
	main {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 60px 20px;
    min-height: 50vh; /* Gives vertical space so footer sits lower */
}

main img {
    max-width: 350px; /* Desktop image size */
    width: 100%;
    height: auto;
    margin-bottom: 20px;
}

main p {
    font-size: 1.25rem;
    font-weight: 500;
    color: #1A1A1B;
    margin-bottom: 8px;
}

/* ==========================================
   4. MOBILE OVERRIDES (SCREENS <= 768px ONLY)
   ========================================== */
@media (max-width: 768px) {
    /* Hide side logo and stretch main logo */
    .logo-side {
        display: none;
    }

    .logo-main {
        flex: 1 1 100%;
    }

    .logo-main img {
        object-position: center;
    }

    /* Show Hamburger Button */
    .hamburger {
        display: flex;
    }

    /* Hide horizontal menu by default on mobile */
    .menu {
        display: none;
        flex-direction: column;
        width: 100%;
        background-color: #A0522D;
        border-radius: 0 0 6px 6px;
    }

    /* Show menu when toggled via JS */
    .menu.active {
        display: flex;
    }

    .menu-item > a {
        padding: 14px 20px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    /* Mobile Dropdown (Expands inline instead of floating) */
    .dropdown {
        position: static;
        box-shadow: none;
        background-color: #8B4513;
    }

    .dropdown-item a {
        padding-left: 35px;
    }

    /* Morphing Hamburger to "X" when active */
    .hamburger.active .bar:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }
    .hamburger.active .bar:nth-child(2) {
        opacity: 0;
    }
    .hamburger.active .bar:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
    }

/* Scale down image and padding on small screens */
    main {
        padding: 40px 15px;
    }

    main img {
        max-width: 220px; /* Smaller size for phone screens */
    }

    main p {
        font-size: 1.1rem;
    }