.location-hero { position: relative; height: 50vh; display: flex; align-items: center; justify-content: center; text-align: center; color: #fff; background-size: cover; background-position: center; }.hero-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(13, 59, 78, 0.6); }.hero-content { position: relative; z-index: 2; }.hero-content h1 { font-size: 3.5rem; text-shadow: 0 2px 10px rgba(0,0,0,0.5); }.hero-content p { font-size: 1.2rem; opacity: 0.9; }.page-container { max-width: 1000px; margin: 0 auto; padding: 2rem 15px; }.content-section { text-align: center; padding: 3rem 0; }.section-icon { font-size: 2.5rem; color: #0056b3; margin-bottom: 1rem; }.prose { text-align: left; font-size: 1.1rem; line-height: 1.8; color: #343a40; max-width: 800px; margin: 0 auto; }.prose h3 { margin-top: 2rem; }.gallery-section { padding: 3rem 0; }.gallery-section h2 { text-align: center; margin-bottom: 2rem; }.gallery-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1rem; }.gallery-item { position: relative; overflow: hidden; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }.gallery-item img { display: block; width: 100%; height: 250px; object-fit: cover; transition: transform 0.3s ease; }.gallery-item:hover img { transform: scale(1.05); }.gallery-caption { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(to top, rgba(0,0,0,0.7), transparent); color: #fff; padding: 1.5rem 1rem 1rem; font-size: 0.9rem; transform: translateY(100%); transition: transform 0.3s ease; }.gallery-item:hover .gallery-caption { transform: translateY(0); }.tabs-section { padding: 3rem 0; }.tab-buttons { display: flex; justify-content: center; gap: 1rem; border-bottom: 1px solid #dee2e6; margin-bottom: 2rem; }.tab-btn { background: none; border: none; padding: 1rem 1.5rem; font-size: 1.1rem; font-weight: 600; color: #6c757d; cursor: pointer; position: relative; }.tab-btn.active { color: #0056b3; }.tab-btn.active::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 0; height: 3px; background: #0056b3; }.tab-pane { display: none; }.tab-pane.active { display: block; }.join-us-section { background: #0056B3; background-image: linear-gradient(183deg, rgba(0, 86, 179, 1) 5%, rgba(248, 249, 250, 1) 35%, rgba(255, 255, 255, 1) 44%); padding: 4rem 15px; margin-top: 4rem; text-align: center;}.join-us-container { max-width: 700px; margin: 0 auto;}.join-us-section h2 { font-size: 2rem; color: #0d3b4e; margin-bottom: 1rem;}.join-us-section p { color: #6c757d; line-height: 1.7; margin-bottom: 2rem;}.newsletter-form { display: flex; justify-content: center; gap: 0.5rem;}.newsletter-form input[type="email"] { width: 100%; max-width: 350px; padding: 0.9rem 1.2rem; border: 1px solid #ced4da; border-radius: 8px; font-size: 1rem; transition: border-color 0.2s, box-shadow 0.2s;}.newsletter-form input[type="email"]:focus { outline: none; border-color: #0056b3; box-shadow: 0 0 0 3px rgba(0, 86, 179, 0.2);}.newsletter-form button { padding: 0.9rem 2rem; background-color: #0056b3; color: #ffffff; border: none; border-radius: 8px; font-size: 1rem; font-weight: 600; cursor: pointer; transition: background-color 0.2s;}.newsletter-form button:hover { background-color: #004494; }.cta-section { position: relative; padding: 5rem 15px; text-align: center; color: #0056b3; overflow: hidden; }.cta-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: #0056B3; background-image: linear-gradient(183deg, rgba(0, 86, 179, 1) 5%, rgba(248, 249, 250, 1) 35%, rgba(255, 255, 255, 1) 44%); transform: scale(1.05); z-index: 1;}.cta-container { position: relative; z-index: 2; max-width: 800px; margin: 0 auto;}.cta-section h2 { font-size: 2.5rem; font-weight: 700; text-shadow: 0 2px 5px rgba(0,0,0,0.5); margin-bottom: 1rem;}.cta-section p { font-size: 1.1rem; line-height: 1.7; max-width: 650px; margin: 0 auto 2.5rem auto; opacity: 0.9;}.cta-button { display: inline-block; background-color: #ffffff; color: #0d3b4e; font-size: 1.1rem; font-weight: 600; padding: 1rem 2.5rem; border-radius: 50px; text-decoration: none; box-shadow: 0 4px 15px rgba(0,0,0,0.2); transition: transform 0.3s ease, box-shadow 0.3s ease;}.cta-button:hover { transform: translateY(-4px) scale(1.03); box-shadow: 0 8px 25px rgba(0,0,0,0.25);}.cta-button i { margin-left: 0.5rem; transition: transform 0.3s ease;}.cta-button:hover i { transform: translateX(5px);}