/* ===== Modern site header (px-based; the theme sets html font-size:10px) ===== */
.site-topbar, .site-header, .site-header * { box-sizing: border-box; }

/* Top utility bar — slim & understated */
.site-topbar {
  background: #012a52;
  color: rgba(255,255,255,.78);
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
  font-size: 12.5px;
}
.site-topbar__inner {
  max-width: 1280px; margin: 0 auto; padding: 0 22px;
  height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.site-topbar__contact { display: flex; align-items: center; gap: 22px; min-width: 0; }
.site-topbar__contact a, .site-topbar__contact span { color: rgba(255,255,255,.78); text-decoration: none; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.site-topbar__contact a:hover { color: #fff; }
.site-topbar__contact i { color: #F2B705; font-size: 12px; }
.site-topbar__social { display: flex; align-items: center; gap: 4px; }
.site-topbar__social a {
  width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.8); transition: background .15s, color .15s; text-decoration: none; font-size: 13px;
}
.site-topbar__social a:hover { background: rgba(255,255,255,.14); color: #fff; }

/* Main header */
.site-header {
  position: sticky; top: 0; z-index: 900;
  background: #fff; border-bottom: 1px solid #EAEEF4;
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
  transition: box-shadow .2s;
}
.site-header.is-scrolled { box-shadow: 0 8px 28px rgba(2,18,40,.10); }
.site-header__inner {
  max-width: 1280px; margin: 0 auto; padding: 0 22px;
  height: 72px; display: flex; align-items: center; gap: 16px;
}

/* Brand */
.site-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; margin-right: auto; }
.site-brand img { width: 44px; height: 44px; object-fit: contain; display: block; }
.site-brand__text { display: flex; flex-direction: column; gap: 3px; line-height: 1.12; }
.site-brand__text strong { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 15px; color: #0E1B2E; letter-spacing: -.3px; max-width: 178px; line-height: 1.15; }
.site-brand__acc {
  display: inline-flex; align-items: center; gap: 5px; align-self: flex-start;
  font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 10px; letter-spacing: .4px; text-transform: uppercase;
  color: #9A7400; background: #FFF6DC; border: 1px solid #F4E2A8; padding: 2px 8px; border-radius: 100px;
}
.site-brand__acc i { color: #E0A800; font-size: 10.5px; }

/* Nav */
.site-nav__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 1px; }
.site-nav__list > li { position: relative; }
.site-nav__list > li > a,
.site-nav__drop {
  display: inline-flex; align-items: center; gap: 5px;
  font-family: 'Poppins', sans-serif; font-weight: 500; font-size: 13.5px; color: #3A4356;
  text-decoration: none; padding: 9px 12px; border-radius: 9px; border: none; background: none; cursor: pointer;
  transition: color .15s, background .15s; white-space: nowrap;
}
.site-nav__list > li > a:hover,
.site-nav__drop:hover { color: #013664; background: #F0F6FC; }
.site-nav__list > li > a.is-active { color: #013664; font-weight: 600; }
.site-nav__drop i { font-size: 10px; opacity: .55; transition: transform .15s, opacity .15s; }
.has-dropdown:hover .site-nav__drop i, .has-dropdown.is-open .site-nav__drop i { transform: rotate(180deg); opacity: .85; }

/* CTA — prominent gold pill */
.site-nav__cta { margin-left: 8px; }
.site-nav__cta a {
  background: #F2B705 !important; color: #012a52 !important; font-weight: 700; font-size: 13.5px;
  padding: 10px 18px !important; border-radius: 100px !important; box-shadow: 0 6px 16px rgba(242,183,5,.35);
  transition: background .15s, box-shadow .15s, transform .12s; white-space: nowrap;
}
.site-nav__cta a:hover { background: #E0A800 !important; box-shadow: 0 8px 20px rgba(242,183,5,.45); transform: translateY(-1px); }

/* Dropdown */
.has-dropdown .site-dropdown {
  position: absolute; top: calc(100% + 8px); left: 0; min-width: 222px;
  background: #fff; border: 1px solid #EAEEF4; border-radius: 12px; padding: 7px;
  box-shadow: 0 16px 40px rgba(2,18,40,.16); list-style: none; margin: 0;
  opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .16s, transform .16s, visibility .16s; z-index: 20;
}
.has-dropdown:hover .site-dropdown,
.has-dropdown.is-open .site-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.site-dropdown a {
  display: block; padding: 10px 13px; border-radius: 8px; font-family: 'IBM Plex Sans', system-ui, sans-serif;
  font-size: 13.5px; color: #3A4356; text-decoration: none; transition: background .12s, color .12s, padding .12s;
}
.site-dropdown a:hover { background: #F0F6FC; color: #013664; padding-left: 16px; }

/* Hamburger */
.site-nav__toggle {
  display: none; width: 44px; height: 44px; border: 1px solid #EAEEF4; border-radius: 10px;
  background: #fff; cursor: pointer; padding: 0; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
}
.site-nav__toggle span { width: 19px; height: 2px; background: #0E1B2E; border-radius: 2px; transition: transform .2s, opacity .2s; }
.site-nav__toggle.is-open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.site-nav__toggle.is-open span:nth-child(2) { opacity: 0; }
.site-nav__toggle.is-open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* ---- Responsive (drawer below 1260px; the full nav needs ~1255px to fit) ---- */
@media (max-width: 1260px) {
  .site-topbar__contact span { display: none; }
  .site-nav__toggle { display: inline-flex; }
  /* Drawer uses `right` (not transform): the theme's global CSS animations
     override transform on this element, even inline !important. */
  .site-nav {
    position: fixed; top: 0; right: -340px; bottom: 0; width: 304px; max-width: 86vw;
    background: #fff; z-index: 1000; padding: 18px; overflow-y: auto;
    transition: right .25s ease; box-shadow: -16px 0 40px rgba(2,18,40,.18);
  }
  .site-nav.is-open { right: 0; }
  .site-nav__list { flex-direction: column; align-items: stretch; gap: 2px; }
  .site-nav__list > li > a,
  .site-nav__drop { width: 100%; justify-content: space-between; font-size: 15px; padding: 13px 12px; }
  .site-nav__cta { margin: 10px 0 0; }
  .site-nav__cta a { text-align: center; justify-content: center; display: block; }
  .has-dropdown .site-dropdown {
    position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none;
    border: none; border-left: 2px solid #EAEEF4; border-radius: 0; margin: 0 0 4px 10px; padding: 0 0 0 8px;
    max-height: 0; overflow: hidden; transition: max-height .22s ease;
  }
  .has-dropdown.is-open .site-dropdown { max-height: 340px; }
  .site-nav__overlay {
    position: fixed; inset: 0; background: rgba(2,18,40,.45); z-index: 999; opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s;
  }
  .site-nav__overlay.is-open { opacity: 1; visibility: visible; }
}
