/* Shared contact strip */
.topbar { padding: 0 !important; color: rgba(255,255,255,.88); font-size: 12px !important; font-weight: 550; line-height: 1; background: linear-gradient(100deg,#071f4a 0%,#0a3471 100%) !important; border-top: 3px solid #dbe6f5; }
.topbar-inner, .topbar-info, .topbar-contact, .topbar-item { display: flex; align-items: center; }
.topbar-inner { min-height: 43px; justify-content: space-between; gap: 24px; }
.topbar-info, .topbar-contact { gap: 22px; }
.topbar-item { gap: 9px; min-width: 0; color: rgba(255,255,255,.9) !important; text-decoration: none; white-space: nowrap; transition: color 160ms ease; }
.topbar-item i { display: grid; place-items: center; width: 24px; height: 24px; margin: 0 !important; border-radius: 50%; color: #fff; font-size: 11px; background: rgba(255,255,255,.1); }
.topbar-item b { color: #fff; font-weight: 750; }
a.topbar-item:hover, a.topbar-item:focus-visible { color: #fff !important; }
a.topbar-item:hover i, a.topbar-item:focus-visible i { background: rgba(255,255,255,.2); }

/* Refined shared site header */
.main-header { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.98); border-bottom: 1px solid #e8edf4; box-shadow: 0 5px 22px rgba(6,29,69,.07); backdrop-filter: blur(16px); }
.main-header .navbar { min-height: 78px; padding: 9px 0; background: transparent; box-shadow: none; }
.main-header .navbar-brand { padding: 0; margin-right: 28px; }
.brand-wrap { display: flex; align-items: center; gap: 11px; }
.brand-mark { flex: 0 0 48px; width: 48px; height: 48px; overflow: hidden; border-radius: 12px; background: #fff; box-shadow: 0 5px 15px rgba(7,59,143,.1); }
.brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
.brand-copy { min-width: 0; }
.brand-name { color: #073b8f; font-size: 18px; line-height: 1.05; font-weight: 850; letter-spacing: -.35px; white-space: nowrap; }
.brand-name span { color: #df2636; }
.brand-tagline { margin-top: 5px; color: #738095; font-size: 8px; line-height: 1; font-weight: 750; letter-spacing: .85px; white-space: nowrap; }
.main-header .navbar-collapse { gap: 26px; }
.main-header .navbar-nav { align-items: center; gap: 32px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.main-header .navbar-nav .nav-link { position: relative; margin: 0; padding: 28px 0 25px; color: #263449; font-size: 14px; font-weight: 700; line-height: 1; border-radius: 0; transition: color 180ms ease; }
.main-header .navbar-nav .nav-link::after { content: ""; position: absolute; left: 50%; bottom: 17px; width: 0; height: 3px; border-radius: 10px; background: linear-gradient(90deg,#0d5bc7,#df2636); transform: translateX(-50%); transition: width 180ms ease; }
.main-header .navbar-nav .nav-link:hover,
.main-header .navbar-nav .nav-link:focus-visible,
.main-header .navbar-nav .nav-link.active { color: #073b8f !important; background: transparent; }
.main-header .navbar-nav .nav-link:hover::after,
.main-header .navbar-nav .nav-link:focus-visible::after { width: 18px; }
.main-header .navbar-nav .nav-link.active::after { width: 100%; }
.main-header .contact-btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 11px 18px; border: 1px solid #073b8f; border-radius: 999px; background: #073b8f; color: #fff; font-size: 12.5px; font-weight: 750; box-shadow: 0 8px 19px rgba(7,59,143,.18); transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease; }
.main-header .contact-btn i { width: 22px; height: 22px; display: inline-grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.15); font-size: 10px; }
.main-header .contact-btn:hover,
.main-header .contact-btn:focus-visible { color: #fff; background: #0d5bc7; transform: translateY(-2px); box-shadow: 0 12px 25px rgba(7,59,143,.25); }
.main-header .navbar-toggler { width: 44px; height: 44px; padding: 0; border: 1px solid #dce6f2; border-radius: 12px; background-color: #f7f9fc; box-shadow: none; }
.main-header .navbar-toggler:focus { box-shadow: 0 0 0 3px rgba(13,91,199,.14); }

@media (max-width: 991.98px) {
  .topbar-inner { gap: 12px; }
  .topbar-info, .topbar-contact { gap: 12px; }
  .topbar { font-size: 11px !important; }
  .main-header .navbar { min-height: 70px; }
  .main-header .navbar-collapse { gap: 0; margin-top: 10px; padding: 10px; border: 1px solid #e4eaf2; border-radius: 16px; background: #fff; box-shadow: 0 18px 40px rgba(7,29,73,.14); }
  .main-header .navbar-nav { align-items: stretch; gap: 2px; }
  .main-header .navbar-nav .nav-link { padding: 13px 14px; border-radius: 10px; }
  .main-header .navbar-nav .nav-link::after { left: 5px; bottom: 50%; width: 3px; height: 0; transform: translateY(50%); transition: height 180ms ease; }
  .main-header .navbar-nav .nav-link:hover,
  .main-header .navbar-nav .nav-link.active { background: #f1f6fd; }
  .main-header .navbar-nav .nav-link:hover::after,
  .main-header .navbar-nav .nav-link:focus-visible::after { width: 3px; height: 18px; }
  .main-header .navbar-nav .nav-link.active::after { width: 3px; height: 24px; }
  .main-header .contact-btn { width: 100%; margin: 9px 0 0 !important; }
}

@media (max-width: 767.98px) {
  .topbar-info { display: none; }
  .topbar-inner { min-height: 39px; justify-content: center; }
  .topbar-contact { width: 100%; justify-content: center; }
}

@media (max-width: 575.98px) {
  .topbar { border-top-width: 2px; }
  .topbar-info { display: none; }
  .topbar-inner { min-height: 38px; justify-content: center; }
  .topbar-contact { width: 100%; justify-content: center; gap: 20px; }
  .topbar-item i { width: 22px; height: 22px; }
  .topbar-email span { display: none; }
  .main-header .navbar { min-height: 66px; padding: 7px 0; }
  .brand-wrap { gap: 8px; }
  .brand-mark { flex-basis: 42px; width: 42px; height: 42px; border-radius: 10px; }
  .brand-name { font-size: 15px; }
  .brand-tagline { max-width: 170px; overflow: hidden; font-size: 6.7px; letter-spacing: .45px; }
  .main-header .navbar-toggler { width: 40px; height: 40px; }
}

@media (max-width: 370px) {
  .brand-tagline { display: none; }
  .brand-name { font-size: 14px; }
}
