@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700&display=swap');

* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Open Sans', Arial, sans-serif; }

/* ===== HEADER ===== */
.main-header {
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:nowrap; /* ⛔ stays one line until it needs to wrap */
  padding:0 160px; background:#fff; border-bottom:3px solid #282f7f;
  position:relative; z-index:1000; overflow:hidden;
  transition:all .25s ease;
}

/* ===== LOGO ===== */
.logo-section { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.logo { max-height:95px; height:auto; transition:.25s; }
.logo-link { display:flex; align-items:center; gap:10px; text-decoration:none; color:inherit; transition:.2s; flex-shrink:0; }
.logo-link:hover { transform:scale(1.02); }
.logo-text { display:flex; flex-direction:column; justify-content:center; line-height:1.3; padding-left:12px; flex-shrink:0; }
.logo-text h1 { font-weight:700; font-size:34px; color:#282f7f; margin-bottom:8px; transition:.25s; }
.logo-text p { font-weight:500; font-size:11px; color:#4279bc; letter-spacing:1px; text-transform:uppercase; transform:translateY(2px); }

/* ===== NAVIGATION ===== */
.nav-links { flex-shrink:1; min-width:0; }
.nav-links ul { list-style:none; display:flex; align-items:center; gap:32px; flex-wrap:nowrap; }
.nav-links a {
  text-decoration:none; font-weight:600; font-size:17px; color:#4279bc;
  letter-spacing:1px; text-transform:uppercase; padding:10px 8px; display:block;
  transition:color .3s, transform .2s; white-space:nowrap;
}
.nav-links a:hover { color:#282f7f; transform:scale(1.05); }

/* ===== DROPDOWN ===== */
.dropdown { position:relative; flex-shrink:0; }
.dropbtn { cursor:pointer; }

/* ===== MEGA MENU ===== */
.mega-menu {
  position:fixed; top:var(--menu-top,110px); left:0; right:0; width:100%;
  background:#fff; box-shadow:0 8px 25px rgba(0,0,0,.25);
  padding:40px 100px; display:none; z-index:2000; opacity:0; transition:opacity .25s;
}
.dropdown.open .mega-menu { display:block; opacity:1; }

/* ===== MENU GRID ===== */
.dropdown-content {
  display:grid; grid-template-columns:repeat(4,1fr); gap:40px;
  max-width:1600px; margin:0 auto; width:100%;
}
.mega-column h3 {
  font-size:16px; font-weight:800; color:#fff; background:#1e245f;
  text-transform:uppercase; letter-spacing:.5px; padding:8px 12px;
  border-radius:3px; margin-bottom:12px; text-align:left;
}
.mega-column a {
  display:block; color:#1e245f; text-decoration:none; margin:8px 0; font-size:15px;
  border-bottom:1px solid rgba(0,0,0,.08); padding:6px 0;
  transition:color .2s, background .2s, padding-left .2s;
}
.mega-column a:hover { color:#4279bc; background:rgba(230,240,255,.7); padding-left:8px; }

/* ===== RESPONSIVE BREAKS ===== */

/* 🔹 XL Screens */
@media(min-width:1600px){ .main-header{padding:0 220px;} }

/* 🔹 Large (no wrapping yet) */
@media(max-width:1599px) and (min-width:1276px){
  .main-header{padding:0 130px;}
  .logo-text h1{font-size:32px;}
  .nav-links ul{gap:28px;}
  .nav-links a{font-size:16.5px;}
}

/* 🔹 Center Nav for ≥1275px */
@media(min-width:1275px) {
  .main-header {
    justify-content:center;   /* ✅ centers entire nav section */
    gap:120px;                /* ✅ spacing between logo and nav */
  }
  .nav-links ul {
    justify-content:center;   /* ✅ centers the link group */
    position:relative;
    top:8px;                  /* ✅ lowered slightly more for visual balance */
  }
}

/* 🔹 WRAP START (≤1275px) */
@media(max-width:1275px){
  .main-header{
    flex-direction:column;
    align-items:center;
    padding:15px 70px;
    white-space:normal;
  }
  .logo-section{
    flex-wrap:wrap;
    justify-content:center; /* ✅ center logo only when wrapping starts */
    width:100%;
  }
  .logo{
    max-height:85px;
  }
  .logo-text{
    text-align:center;
    margin-top:8px;
    padding-left:0;
  }
  .logo-text h1{font-size:30px;}
  .logo-text p{font-size:12px;}
  .nav-links{
    width:100%;
    display:flex;
    justify-content:center;
    margin-top:10px;
  }
  .nav-links ul{
    flex-wrap:wrap;
    justify-content:center;
    gap:24px;
  }
  .nav-links a{
    font-size:16px;
    padding:8px 6px;
  }
}

/* 🔹 Tablets */
@media(max-width:1024px){
  .main-header{padding:15px 40px;}
  .logo{max-height:75px;}
  .logo-text h1{font-size:28px;}
  .logo-text p{font-size:12px;}
  .nav-links ul{gap:20px;}
  .dropdown-content{grid-template-columns:repeat(2,1fr);gap:20px;}
}

/* 🔹 Mobile / Scroll Fix */
@media(max-width:770px){
  .main-header{padding:15px 25px;}
  .nav-links ul{gap:20px; justify-content:center;}
  .dropdown-content{grid-template-columns:1fr;}
  .mega-menu{
    position:fixed;
    top:var(--menu-top,90px);
    left:0; right:0; width:100%;
    height:calc(100dvh - var(--menu-top,90px));
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding:25px;
    background:#fff;
    box-shadow:0 8px 25px rgba(0,0,0,.25);
    z-index:3000;
  }
  body.menu-open{overflow:hidden;}
  .dropdown-content{grid-template-columns:1fr;gap:25px;}
  .mega-column h3{text-align:center;}
  .mega-column a{text-align:center;}
}
