/* --- Global Reset and Base Styles --- */
         {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }

        :root {
            --nav-bg: #ffffff;
            --nav-text: #333333;
            --nav-hover-bg: #f4f4f4;
            --nav-accent: #0056b3; /* Global corporate blue */
            --dropdown-bg: #ffffff;
            --shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
        }

        body {
            background-color: #f4f7f6;
            color: #333;
        }

        /* --- Master Navigation Styles --- */
        .master-navbar {
            background-color: var(--nav-bg);
            box-shadow: var(--shadow);
            position: sticky;
            top: 0;
            z-index: 1000;
            width: 100%;
        }

        .nav-container {
    		max-width: 1400px;
    		margin: 0 auto;
    		display: flex;
    		align-items: center;
    
    		/* THIS LINE: Ensures the Logo, Menu, and Search box split the 1200px bar 
       		evenly into Left, Center, and Right zones instead of stacking up on one side */
    		justify-content: space-between; 
    
    		padding: 0 20px;
    		height: 70px;
	}

        * 1. Target the Wrapper Box: Keeps the entire logo tucked tightly to the left */
	.nav-logo {
    		flex-shrink: 0;
    
    		/* THE FIX: Dictates the exact maximum width allowed for your logo text. 
       			This forces your two-line logo to wrap beautifully onto two rows again! */
    		width: 140px; 
    
    		/* Creates a clean physical buffer space to its right */
    		margin-right: 30px; 
	}

		/* 2. Target the Internal Link: Handles text styling inside that box */
	.nav-logo a {
    		font-weight: 700;
    		font-size: 1.25rem;
    		color: var(--nav-accent);
    		text-decoration: none;
    		text-transform: uppercase;
    
   		 /* Ensures the text respects our 140px wrapper boundaries and wraps down */
    		display: block; 
    		line-height: 1.2;  /* Tightens up the vertical space between your two lines */
	}
        .nav-menu {
            display: flex;             /* Aligns all links horizontally side-by-side */
  	    flex-wrap: nowrap;         /* FORCES everything to stay on one single line */
  	    justify-content: center;   /* Centers the entire line of links on the page */
            align-items: center;       /* Keeps everything perfectly lined up vertically */
            gap: 30px;                 /* Adds clean, even spacing between each link */
		/* THE FIXED LAYOUT LINES */
    	    flex-grow: 1;              /* Tells the menu list to claim all the empty space in the middle */
    	    
         }

        .nav-item {
            position: relative;
            display: flex;
            align-items: center;
        }

        .nav-link {
            color: var(--nav-text);
            text-decoration: none;
            padding: 0 15px;
            font-size: 0.95rem;
            font-weight: 500;
            height: 100%;
            display: flex;
            align-items: center;
            transition: color 0.2s ease;
	    white-space: nowrap;
        }

        .nav-link:hover {
            color: var(--nav-accent);
        }

	* NEW: This targets just the arrow extension when the link is hovered */
	.nav-link:hover::after {
    		transform: rotate(-90deg); /* Flips the micro-arrow up on hover */
	}

        .dropdown-menu {
    		display: none;
    		position: absolute;
    		top: 100%;
    		left: 0;
    		background-color: var(--dropdown-bg);
    		box-shadow: var(--shadow);
    		list-style: none;
    		margin: 0;
    		padding: 4px 0;
    
    		/* FIXED: Lowered the minimum width and set an explicit control width */
    		width: 220px;           /* Forces a clean, narrow width */
    		min-width: 180px;       /* Keeps it perfectly proportioned */
    		white-space: normal;    /* Guarantees long titles wrap downward instead of bursting sideways */
    
    		border-top: 3px solid var(--nav-accent);
    		border-radius: 0 0 4px 4px;
	}

        .dropdown-menu li a {
            color: var(--nav-text);
            text-decoration: none;
            padding: 10px 20px;
            display: block;
            font-size: 0.9rem;
            transition: background-color 0.2s ease, color 0.2s ease;
        }

        .dropdown-menu li a:hover {
            background-color: var(--nav-hover-bg);
            color: var(--nav-accent);
        }
/* 1. ONLY add the arrow to main links if the parent <li> has the "dropdown" class */
.dropdown .nav-link::after {
    content: "›";              
    display: inline-block;     
    transform: rotate(90deg);  
    margin-left: 8px;          
    font-weight: bold;
    vertical-align: middle;
    transition: transform 0.2s ease; 
}

/* 2. ONLY flip the arrow up when hovering over that specific dropdown item */
.dropdown:hover .nav-link::after {
    transform: rotate(-90deg); 
    color: var(--nav-accent);  
}

	.dropdown-divider {
  	border: 0;
  	border-top: 1px solid #e0e0e0; /* A light gray line */
  	margin: 6px 0; /* Adds a little spacing above and below the line */
	}

        .nav-item.dropdown:hover .dropdown-menu {
            display: block;
        }

        .nav-search {
            display: flex;
            align-items: center;
            padding-left: 10px;
        }

        .search-input {
            padding: 6px 12px;
            border: 1px solid #ccc;
            border-radius: 4px 0 0 4px;
            outline: none;
            font-size: 0.85rem;
        }

        .search-button {
            padding: 6px 12px;
            background-color: var(--nav-accent);
            color: #fff;
            border: 1px solid var(--nav-accent);
            border-radius: 0 4px 4px 0;
            cursor: pointer;
            font-size: 0.85rem;
        }

        /* --- Content Layout Wrapper --- */
        .page-wrapper {
            max-width: 900px;
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: calc(100vh - 70px); 
            padding: 40px 20px;
            margin: 0 auto;
        }
	/* Main Page Title - Centered */
	.page-main-header {
  		font-size: 38px;
  		color: #1A252C;
  		font-weight: 700;
  		margin-top: 10px;
  		margin-bottom: 20px;
  		text-align: center;       /* Centering the text */
	}
	.page-img-full {
  		width: 100%;        
 		height: auto;       
  		border-radius: 8px; /* Keeps the professional smooth corners */
  		box-shadow: 0 6px 12px rgba(0,0,0,0.06); /* Slightly deeper premium shadow for a main hero image */
  		margin-bottom: 30px; /* Generous breathing room before the text starts */
	}
        .page-text {
		font-size: 20px;
		line-height: 1.70;
		color: #333333;
		margin-top:	0;
		margin-bottom:	24px;
		-webkit-font-smoothing: antialiased;
  		-moz-osx-font-smoothing: grayscale;
	}
	.text-bold {
  		font-weight: 700;
	}
	/* Styling the introductory section */
	.section-hero {
  	text-align: center;
  	margin-bottom: 40px;
	}
	/* Give the main introduction paragraph slightly more presence */
	.hero-lead {
  	max-width: 800px;
  	margin: 0 auto 20px auto !important;
  	color: #555555;
	}
	/* Center Accent Line */
	.header-divider {
  	border: 0;
  	border-top: 2px solid #0B3C5D; /* Uses your signature deep blue */
  	width: 80px;
  	margin: 0 auto 35px auto;      /* The 'auto' left/right centers it perfectly */
	}

    .accordion-item {
        border: 1px solid #e0e0e0;
        border-radius: 6px;
        margin-bottom: 12px;
        overflow: hidden;
    }

    .accordion-header {
        width: 100%;
        background-color: #f7f9fb;
        border: none;
        text-align: left;
        padding: 10px 16px;
        font-size: 20px;
        font-weight: 600;
        color: #1A252C;
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-family: 'Montserrat', sans-serif;
    }

    .accordion-header:hover {
        color: #0B3C5D;
    }

    .accordion-icon {
        font-size: 22px;
        color: #0B3C5D;
    }

    .accordion-content {
        display: grid;
        grid-template-rows: 0fr;
        overflow: hidden;
        transition: grid-template-rows 0.3s ease;
    }

    .accordion-content > p {
        overflow: hidden;
        padding: 0 20px;
    }

    .accordion-item.active .accordion-content {
        grid-template-rows: 1fr;
    }

    .accordion-item.active .accordion-content > p {
        padding: 8px 16px;
    }

    .accordion-list {
    margin-bottom: 50px;
    }

    .accordion-content > p {
    overflow: hidden;
    padding: 0 20px;
    transition: padding 0.3s ease;
    }

    .accordion-item {
    position: relative;
    }

    .accordion-accent-bar {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 4px;
        background-color: #0B3C5D;
        border-top-left-radius: 6px;
        border-top-right-radius: 6px;
    }
/* Triggers when the browser window drops below 1100 pixels wide */
@media (max-width: 1100px) {
    .nav-menu {
        gap: 25px; /* Automatically shrinks the menu gaps from 60px to 25px so it doesn't break */
    }
}

/* Triggers for tablets and mobile phones */
@media (max-width: 900px) {
    .nav-container {
        height: auto;
        padding: 15px 20px;
        flex-direction: column; /* Stacks Logo, Menu, and Search cleanly on top of each other */
        gap: 15px;
    }
    
    .nav-logo {
        width: 100%;
        text-align: center;
        margin-right: 0;
    }
    
    .dropdown-menu {
        position: static; /* Allows long submenus to accordion down cleanly on mobile views */
        width: 100%;
    }
}

       