@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@400;700&family=Open+Sans:wght@400;600&display=swap');

:root {
  /* Ocean Blue Palette */
  --primary-color: #3498DB;
  --secondary-color: #2980B9;
  --accent-color: #1ABC9C;
  --light-color: #EBF5FB;
  --dark-color: #154360;
  --gradient-primary: linear-gradient(135deg, #AED6F1 0%, #3498DB 100%);
  --hover-color: #2874A6;
  --background-color: #F4F6F7;
  --text-color: #34495E;
  
  /* Neumorphism Vars */
  --border-color: rgba(52, 152, 219, 0.2);
  --divider-color: rgba(41, 128, 185, 0.1);
  --shadow-light: #ffffff;
  --shadow-dark: #d6dbdf;
  --highlight-color: #E74C3C;
  
  --main-font: 'Roboto Condensed', sans-serif;
  --alt-font: 'Open Sans', sans-serif;
}

body { font-family: var(--alt-font); color: var(--text-color); background-color: var(--background-color); margin: 0; overflow-x: hidden; }
h1, h2, h3, h4, h5, h6 { font-family: var(--main-font); margin-bottom: 0.5em; }

/* Neumorphism */
.neu-flat { background: var(--background-color); box-shadow: 6px 6px 12px var(--shadow-dark), -6px -6px 12px var(--shadow-light); border-radius: 20px; border: 1px solid rgba(255,255,255,0.4); }
.neu-pressed { background: var(--background-color); box-shadow: inset 6px 6px 12px var(--shadow-dark), inset -6px -6px 12px var(--shadow-light); border-radius: 15px; }
.neu-btn { background: var(--gradient-primary); color: white; border: none; padding: 14px 28px; border-radius: 10px; box-shadow: 4px 4px 10px rgba(52, 152, 219, 0.3); transition: all 0.3s ease; cursor: pointer; display: inline-block; text-decoration: none; font-weight: bold; letter-spacing: 0.5px; }
.neu-btn:hover { transform: translateY(-2px); box-shadow: 6px 6px 15px rgba(52, 152, 219, 0.4); color: white; }

/* Mobile Menu (No JS) */
#menu-toggle { display: none; }
.mobile-menu { display: none; }
@media (max-width: 768px) {
    .desktop-nav { display: none; }
    .hamburger-icon { display: block; cursor: pointer; font-size: 1.8rem; color: white; }
    #menu-toggle:checked + .mobile-menu { display: block; position: absolute; top: 70px; left: 0; width: 100%; background: var(--secondary-color); padding: 20px; z-index: 50; box-shadow: 0 10px 20px rgba(0,0,0,0.1); }
    .mobile-menu ul { list-style: none; padding: 0; }
    .mobile-menu li { margin-bottom: 15px; text-align: center; border-bottom: 1px solid rgba(255,255,255,0.1); padding-bottom: 10px; }
    .mobile-menu a { color: white; text-decoration: none; font-size: 1.1rem; }
}

.section-pad { padding-top: 10vh; padding-bottom: 10vh; }
.hero-overlay { background: linear-gradient(to right, rgba(21, 67, 96, 0.9), rgba(21, 67, 96, 0.4)); }