:root {
      --color-primary: #3b82f6;          /* match inner “eW” blue */
      --color-primary-light: #60a5fa;
      --color-accent: #c0c0c0;
      --color-bg-panel: rgba(255, 255, 255, 0.95);
      --color-text: #1f2937;
      --color-text-inverse: #ffffff;
      --color-sidebar-bg: rgba(59, 130, 246, 0.1);
      --color-hero-bg: rgba(59, 130, 246, 0.15);
      --nav-height: 60px;
      --sidebar-width: 250px;
      --max-content-width: 1200px;
      --wrapper-border-width: 4px;
    }
    /* Reset & Basics */
    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }
    html, body {
      height: 100%;
    }
    body {
      font-family: Arial, sans-serif;
      line-height: 1.6;
      color: var(--color-text);
      background: url('../background.png') no-repeat center center fixed;
      background-size: cover;
    }
    a {
      color: inherit;
      text-decoration: none;
    }
    ul {
      list-style: none;
    }

    /* Centered wrapper with left/right borders */
    .site-wrapper {
      margin: 0 auto;
      max-width: var(--max-content-width);
      background-color: var(--color-bg-panel);
      display: flex;
      flex-direction: column;
      min-height: 100vh;
      border-left: var(--wrapper-border-width) solid var(--color-primary);
      border-right: var(--wrapper-border-width) solid var(--color-primary);
    }

    /* Header & Nav inside wrapper */
    header {
      background-color: var(--color-primary);
      color: var(--color-text-inverse);
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 20px;
      height: var(--nav-height);
      position: sticky;
      top: 0;
      z-index: 1000;
    }
    .logo-container {
      display: flex;
      align-items: center;
      height: 100%;
    }
    .logo-container img {
      max-height: 40px;
    }
    .logo-container .site-title {
      margin-left: 10px;
      font-size: 1.25rem;
      font-weight: bold;
      color: var(--color-text-inverse);
    }
    nav {
      position: relative;
    }
    .nav-list {
      display: flex;
      gap: 1rem;
    }
    .nav-list > li {
      position: relative;
    }
    .nav-list > li > a {
      display: block;
      padding: 0.5rem 0.75rem;
      color: var(--color-text-inverse);
    }
    .nav-list > li:hover > a {
      background-color: var(--color-primary-light);
    }
    .nav-list li .dropdown {
      display: none;
      position: absolute;
      top: 100%;
      left: 0;
      background-color: var(--color-primary);
      min-width: 180px;
      box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    }
    .nav-list li:hover .dropdown {
      display: block;
    }
    .dropdown li a {
      padding: 0.5rem 0.75rem;
      color: var(--color-text-inverse);
    }
    .dropdown li a:hover {
      background-color: var(--color-primary-light);
    }
    .mobile-toggle {
      display: none;
      background: none;
      border: none;
      color: var(--color-text-inverse);
      font-size: 1.5rem;
      cursor: pointer;
    }
    @media (max-width: 768px) {
      .nav-list {
        position: absolute;
        top: var(--nav-height);
        right: 0;
        background-color: var(--color-primary);
        flex-direction: column;
        width: 200px;
        display: none;
      }
      .nav-list.show {
        display: flex;
      }
      .nav-list > li {
        width: 100%;
      }
      .nav-list li .dropdown {
        position: static;
        box-shadow: none;
      }
      .mobile-toggle {
        display: block;
      }
    }

    /* Hero / Announcement Section */
    .hero-section {
      background-color: var(--color-hero-bg);
      padding: 15px 20px;
      text-align: center;
      font-size: 1rem;
      border-bottom: 1px solid var(--color-primary-light);
    }
    .hero-section a {
      color: var(--color-primary);
      font-weight: bold;
    }

    /* Main layout: sidebar + content */
    .main-container {
      flex: 1;
      display: flex;
      gap: 20px;
      padding: 20px;
    }
    .sidebar {
      flex: 0 0 var(--sidebar-width);
      background-color: var(--color-sidebar-bg);
      padding: 15px;
      border-radius: 4px;
    }
    .sidebar h3 {
      color: var(--color-primary);
      margin-bottom: 10px;
    }
    .sidebar ul li {
      margin-bottom: 10px;
    }
    .sidebar ul li a:hover {
      color: var(--color-primary-light);
    }

    .content {
      flex: 1;
      background-color: rgba(255, 255, 255, 0.9);
      padding: 15px;
      border-radius: 4px;
    }

    /* Hide sidebar on mobile */
    @media (max-width: 768px) {
      .main-container {
        flex-direction: column;
        padding: 10px;
      }
      .sidebar {
        display: none;
      }
      .content {
        width: 100%;
      }
    }

    /* Footer */
    footer {
      background-color: var(--color-primary);
      color: var(--color-text-inverse);
      padding: 20px;
      font-size: 0.9rem;
    }
    .footer-grid {
      display: flex;
      gap: 20px;
      flex-wrap: wrap;
    }
    .footer-section {
      flex: 1;
      min-width: 150px;
    }
    .footer-section h4 {
      margin-bottom: 10px;
      font-size: 1rem;
    }
    .footer-section ul li {
      margin-bottom: 6px;
    }
    .footer-bottom {
      text-align: center;
      margin-top: 15px;
      font-size: 0.8rem;
      border-top: 1px solid rgba(255,255,255,0.3);
      padding-top: 10px;
    }
     .links-container {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
      }
      .link-category {
        flex: 1 0 30%;
        box-sizing: border-box;
        margin-bottom: 20px;
      }
      .link-category h2 {
        margin-top: 0;
      }
      .link-category ul li a {
        text-decoration: none;
        color: inherit;
        transition: color 0.2s, text-decoration 0.2s;
      }
      .link-category ul li a:hover {
        text-decoration: underline;
        color: #007bff;
      }