:root {
    --primary-blue: #0f507d; /* */
    --action-aqua: #4ba5ff;
    --highlight-gold: #ffc107;
    --form-bg: #cbdeef; /* */
    --dark-gray: #414141; /* */
    --dark-footer: #212529; /* Updated for ADA Contrast */
    --light-bg: #f8f9fa;
}

body { font-family: 'Inter', sans-serif; color: var(--dark-gray); overflow-x: hidden; background-color: var(--light-bg); }
h1, h2, h3, .heading-font { font-family: 'Antonio', sans-serif; text-transform: uppercase; }

/* Navigation */
.navbar { background: rgba(255, 255, 255, 0.98); backdrop-filter: blur(10px); box-shadow: 0 4px 20px rgba(0,0,0,0.05); transition: all 0.3s ease; }
.navbar-brand img { height: 45px; transition: 0.3s; }
.nav-link { font-weight: 600; color: var(--dark-gray); text-transform: uppercase; font-size: 0.9rem; }
.nav-link:hover, .nav-link.active { color: var(--action-aqua); }

/* Reusable Hero Section */
.page-hero { position: relative; height: 60vh; min-height: 450px; display: flex; align-items: center; justify-content: center; color: white; text-align: center; }
.page-hero h1 { font-size: 4.5rem; text-shadow: 2px 4px 10px rgba(0,0,0,0.5); margin-bottom: 0.5rem; }
.page-hero h3 { font-size: 1.8rem; font-weight: 300; text-shadow: 1px 2px 5px rgba(0,0,0,0.5); }
.hero-overlay { position: absolute; top:0; left:0; width:100%; height:100%; background: linear-gradient(rgba(15, 80, 125, 0.7), rgba(0, 0, 0, 0.8)); z-index: 1; }
.hero-content { position: relative; z-index: 2; }

/* Utilities */
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Contact Section */
.contact-section { background-color: var(--form-bg); padding: 6rem 0; }
.contact-card { background: white; border-radius: 20px; padding: 4rem; box-shadow: 0 20px 50px rgba(0,0,0,0.08); }
.form-control, .form-select { padding: 1rem; border-radius: 8px; border: 1px solid #e0e0e0; background: #f9f9f9; }
.form-control:focus { border-color: var(--action-aqua); box-shadow: none; background: #fff; }

/* Footer - Upgraded for ADA Contrast */
footer { background-color: var(--dark-footer); color: white; padding: 4rem 0 2rem; }
footer a { color: #e0e0e0; text-decoration: none; transition: 0.3s; }
footer a:hover, footer a:focus { color: var(--action-aqua); text-decoration: underline; }
.social-links img { width: 40px; margin-right: 15px; transition: 0.3s; }
.social-links a:hover img, .social-links a:focus img { transform: translateY(-5px); filter: brightness(1.2); }
.footer-divider { border-top: 1px solid rgba(255,255,255,0.1); margin: 2rem 0; }