/* ============================================
   META TEAM — HEADER / NAV / FOOTER
   ============================================ */
.site-header{
  position:sticky; top:0; z-index:200;
  background:rgba(0,25,50,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.site-header .container{
  display:flex; align-items:center; justify-content:space-between;
  height:78px;
}
.brand{ display:flex; align-items:center; gap:10px; }
.brand img{ height:40px; width:auto; }

.nav-primary{ display:flex; align-items:center; gap:2px; }
.nav-primary > li{ position:relative; }
.nav-primary > li > a{
  display:flex; align-items:center; gap:5px;
  padding:14px 10px;
  font-size:0.92rem; font-weight:600;
  color:rgba(255,255,255,0.88);
  white-space:nowrap;
  transition:color .2s var(--ease);
}
.nav-primary > li > a:hover,
.nav-primary > li.active > a{ color:var(--orange-500); }
.nav-caret{ width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .2s; opacity:0.7; }
.has-dropdown:hover .nav-caret{ transform:rotate(225deg) translateY(2px); }

.dropdown{
  position:absolute; top:100%; left:0;
  min-width:240px;
  background:var(--white);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg);
  padding:10px;
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;
}
.has-dropdown:hover .dropdown,
.has-dropdown:focus-within .dropdown{ opacity:1; visibility:visible; transform:translateY(0); }
.dropdown a{
  display:block; padding:11px 14px; border-radius:7px;
  font-size:0.9rem; font-weight:600; color:var(--navy-800);
}
.dropdown a:hover{ background:var(--navy-50); color:var(--orange-600); }
.dropdown .dd-desc{ display:block; font-size:0.76rem; font-weight:400; color:var(--slate-500); margin-top:2px; }

.nav-cta{ display:flex; align-items:center; gap:18px; }
.nav-cta .btn{ padding:11px 22px; font-size:0.9rem; }

.nav-cta .btn-ghost{ color:#fff; border-color:rgba(255,255,255,0.4); }
.nav-cta .btn-ghost:hover{ border-color:#fff; background:rgba(255,255,255,0.08); }

.nav-toggle{ display:none; }

@media (max-width: 1080px){
  .nav-primary{ display:none; }
  .nav-toggle{
    display:flex; flex-direction:column; gap:5px; padding:8px;
  }
  .nav-toggle span{ width:24px; height:2px; background:#fff; display:block; }
  .nav-cta .btn-ghost{ display:none; }
}

/* Mobile drawer */
.mobile-nav{
  position:fixed; inset:0; z-index:300;
  background:var(--navy-900);
  transform:translateX(100%);
  transition:transform .35s var(--ease);
  overflow-y:auto;
  padding:24px;
}
.mobile-nav.open{ transform:translateX(0); }
.mobile-nav-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:30px; }
.mobile-nav-close{ color:#fff; font-size:1.8rem; line-height:1; }
.mobile-nav a{ display:block; padding:14px 0; color:#fff; font-weight:700; font-size:1.1rem; border-bottom:1px solid rgba(255,255,255,0.1); }
.mobile-nav .sub-link{ padding-left:18px; font-weight:500; font-size:0.95rem; color:var(--navy-100); }
.mobile-nav .btn{ margin-top:24px; width:100%; justify-content:center; }

/* Footer */
.site-footer{ background:var(--navy-900); color:var(--white); padding:80px 0 28px; }
.footer-top{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1.1fr; gap:40px;
  padding-bottom:56px;
  border-bottom:1px solid rgba(255,255,255,0.1);
}
.footer-brand img{ height:30px; margin-bottom:18px; }
.footer-brand p{ color:var(--navy-100); font-size:0.92rem; max-width:280px; }
.footer-col h5{ font-size:0.8rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--orange-500); margin-bottom:18px; }
.footer-col a{ display:block; color:var(--navy-100); font-size:0.92rem; padding:6px 0; transition:color .2s; }
.footer-col a:hover{ color:#fff; }
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center;
  padding-top:24px; flex-wrap:wrap; gap:12px;
}
.footer-bottom p{ color:var(--navy-300); font-size:0.84rem; }
.footer-bottom a{ color:var(--navy-300); }
.footer-bottom a:hover{ color:#fff; }

@media (max-width: 980px){
  .footer-top{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 580px){
  .footer-top{ grid-template-columns:1fr; }
}
