.site-header {
  position: relative;
  z-index: 20;
  width: min(1320px, calc(100% - 32px));
  margin: 0 auto;
  background: #fff;
  border-bottom: 1px solid #edf0f2;
  box-shadow: 0 1px 8px #0d27400d;
}
.site-header .masthead {
  width: min(1280px, calc(100% - 42px));
  min-height: 122px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.site-header .brand {
  position: relative;
  display: block;
  flex: 0 0 140px;
  width: 140px;
  height: 110px;
  overflow: hidden;
}
.site-header .brand img {
  position: absolute;
  top: -17px;
  left: 0;
  width: 140px;
  height: 140px;
  max-height: none;
  object-fit: contain;
}
.site-header .desktop-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  min-width: 0;
  gap: clamp(10px, 1.45vw, 30px);
}
.site-header .desktop-nav a {
  display: inline-block;
  padding: 14px 2px;
  background: transparent;
  color: #141a27;
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
}
.site-header .desktop-nav a:hover,
.site-header .desktop-nav a[aria-current="page"] { color: #1762dd; }
.site-header .header-actions {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 20px;
}
.site-header .nav-search {
  display: grid;
  place-items: center;
  padding: 8px;
  color: #87909a;
  font-size: 21px;
}
.site-header .nav-search:hover { color: #1762dd; }

/* Keep the two button states in separate layers so their geometry never changes. */
.site-header .menu-toggle {
  display: none;
  position: relative;
  align-items: center;
  justify-content: center;
  flex: 0 0 88px;
  width: 88px;
  height: 42px;
  padding: 0;
  overflow: hidden;
  border: 1px solid #d9e5ef;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 12px rgba(6,43,79,.09);
  color: #123c60;
  font: 700 12px/1 "DM Sans", sans-serif;
  cursor: pointer;
  transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.site-header .menu-toggle:hover {
  border-color: #1762dd;
  box-shadow: 0 6px 16px rgba(6,43,79,.15);
}
.site-header .menu-open-content,
.site-header .menu-close-content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  background: transparent;
  transition: opacity .24s ease, transform .28s ease;
}
.site-header .menu-open-content {
  gap: 9px;
  opacity: 1;
  transform: translateY(0);
}
.site-header .menu-icon {
  display: flex;
  flex: 0 0 19px;
  width: 19px;
  height: 16px;
  flex-direction: column;
  justify-content: space-between;
  background: transparent;
}
.site-header .menu-icon i {
  display: block;
  width: 19px;
  height: 2px;
  border-radius: 2px;
  background: #1762dd;
}
.site-header .menu-label {
  display: inline-block;
  width: auto;
  height: auto;
  background: transparent;
  white-space: nowrap;
  letter-spacing: .07em;
}
.site-header .menu-close-content {
  opacity: 0;
  transform: translateY(8px) scale(.85);
}
.site-header .menu-close-content i { font-size: 20px; }
.site-header .menu-toggle[aria-expanded="true"] {
  border-color: #1762dd;
  background: #1762dd;
  color: #fff;
}
.site-header .menu-toggle[aria-expanded="true"] .menu-open-content {
  opacity: 0;
  transform: translateY(-8px);
}
.site-header .menu-toggle[aria-expanded="true"] .menu-close-content {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.site-header .mobile-menu { display: none; }
.menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 19;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  background: rgba(6, 28, 50, .18);
  backdrop-filter: blur(9px) saturate(.82);
  -webkit-backdrop-filter: blur(9px) saturate(.82);
  transition: opacity .28s ease, visibility .28s ease;
}
body.menu-is-open .menu-backdrop {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.mobile-news-ticker { display: none; }
.mobile-bottom-nav { display: none; }

@media (max-width: 1120px) {
  .site-header .desktop-nav { display: none; }
  .site-header .masthead { min-height: 105px; }
  .site-header .brand { height: 98px; }
  .site-header .brand img { top: -20px; }
  .site-header .menu-toggle { display: flex; }
  .site-header .mobile-menu:not([hidden]) {
    display: grid;
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;
    width: 82%;
    max-height: calc(100vh - 150px);
    overflow: auto;
    grid-template-columns: 1fr;
    padding: 12px;
    border: 1px solid #dfe7ec;
    border-right: 0;
    border-radius: 0 0 0 16px;
    background: #fff;
    box-shadow: -12px 18px 34px rgba(6,43,79,.18);
    animation: menu-drawer-in .28s ease-out both;
    z-index: 40;
  }
  .site-header .mobile-menu a {
    padding: 14px;
    border-bottom: 1px solid #e9edf0;
    color: #1a2632;
    font-weight: 700;
  }
  .site-header .mobile-menu a:last-child { border-bottom: 0; }
  .site-header .mobile-menu a:hover { color: #1762dd; background: #edf5ff; }
}
@keyframes menu-drawer-in {
  from { opacity: 0; transform: translateX(24px); }
  to { opacity: 1; transform: translateX(0); }
}

@media (max-width: 1024px) {
  .site-header {
    width: 100%;
    margin-inline: 0;
    border-radius: 0;
  }
  .site-header .masthead { width: calc(100% - 40px); }
  .mobile-news-ticker {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 7px 20px;
    border-top: 1px solid rgba(255,255,255,.12);
    background: #272727;
    color: #fff;
  }
  .mobile-ticker-label {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 6px;
    height: 22px;
    color: #ffcc18;
    font: 700 10px/22px "DM Sans", sans-serif;
    letter-spacing: .05em;
  }
  .mobile-ticker-label i { font-size: 12px; }
  .mobile-news-ticker .trending-rotator {
    position: relative;
    display: block;
    flex: 1;
    min-width: 0;
    height: 22px;
    overflow: hidden;
  }
  .mobile-news-ticker .trending-headline {
    display: flex;
    align-items: center;
    height: 22px;
    line-height: 22px;
    font-size: 12px;
  }
  .mobile-news-ticker .trending-headline[hidden] { display: none; }
}

@media (max-width: 640px) {
  .site-header .masthead {
    width: calc(100% - 28px);
    min-height: 90px;
    gap: 12px;
  }
  .site-header .brand {
    flex-basis: 118px;
    width: 118px;
    height: 85px;
  }
  .site-header .brand img {
    top: -16px;
    width: 118px;
    height: 118px;
  }
  .site-header .header-actions { gap: 8px; }
  .site-header .nav-search {
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid #e1e9ef;
    border-radius: 10px;
    background: #fff;
    font-size: 18px;
  }
  .site-header .menu-toggle {
    flex-basis: 84px;
    width: 84px;
    height: 38px;
  }
  .site-header .mobile-menu:not([hidden]) { width: 82%; }
  .mobile-bottom-nav {
    position: fixed;
    z-index: 50;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    padding: 8px 8px max(8px,env(safe-area-inset-bottom));
    border-top: 1px solid #dfe7ec;
    background: rgba(255,255,255,.96);
    box-shadow: 0 -8px 24px rgba(6,43,79,.12);
    backdrop-filter: blur(12px);
  }
  .mobile-bottom-nav a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 5px 2px;
    color: #6a7b89;
    font: 600 10px "DM Sans","Noto Sans Devanagari",sans-serif;
  }
  .mobile-bottom-nav a i { font-size: 17px; color: #1762dd; }
  .mobile-bottom-nav a:hover,
  .mobile-bottom-nav a:focus { color: #062b4f; }
  .site-footer { padding-bottom: 72px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header .menu-open-content,
  .site-header .menu-close-content,
  .site-header .menu-toggle { transition: none; }
  .site-header .mobile-menu:not([hidden]) { animation: none; }
  .menu-backdrop { transition: none; }
}

/* Primary navigation follows the Main Navigation order in the WordPress export. */
.site-header .desktop-nav{gap:clamp(12px,1.15vw,22px)}
.site-header .desktop-nav> a,.site-header .desktop-nav .nav-menu-trigger{display:inline-flex;align-items:center;gap:7px;padding:11px 7px;border-radius:9px;font-size:17px;transition:color .18s ease,background-color .18s ease}
.site-header .desktop-nav> a:hover,.site-header .desktop-nav .nav-menu-trigger:hover,.site-header .desktop-nav> a[aria-current="page"]{background:#f0f6ff;color:#1762dd}
.site-header .desktop-nav .nav-menu-group{position:relative;display:flex;align-items:center;height:100%}
.site-header .desktop-nav .nav-menu-trigger i{font-size:9px;color:#748395;transition:transform .18s ease}
.site-header .desktop-nav .nav-menu-group:hover .nav-menu-trigger i,.site-header .desktop-nav .nav-menu-group:focus-within .nav-menu-trigger i{transform:rotate(180deg)}
.site-header .desktop-nav .nav-menu-group.is-active>.nav-menu-trigger{color:#1762dd}
.site-header .desktop-nav .nav-submenu{position:absolute;top:calc(100% - 2px);left:-16px;z-index:45;display:grid;grid-template-columns:repeat(2,minmax(128px,1fr));gap:2px;width:310px;padding:12px;border:1px solid #e1e8ee;border-radius:0 0 13px 13px;background:#fff;box-shadow:0 18px 38px #062b4f20;opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.site-header .desktop-nav .nav-menu-group:hover .nav-submenu,.site-header .desktop-nav .nav-menu-group:focus-within .nav-submenu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.site-header .desktop-nav .nav-submenu a{display:block;padding:10px 11px;border-radius:7px;color:#27384a;font-size:15px;font-weight:600}
.site-header .desktop-nav .nav-submenu a:hover,.site-header .desktop-nav .nav-submenu a[aria-current="page"]{background:#edf5ff;color:#1762dd}
.site-header .mobile-menu-group{border-bottom:1px solid #e9edf0}
.site-header .mobile-menu-group summary{display:flex;align-items:center;justify-content:space-between;padding:14px;list-style:none;color:#1a2632;font-weight:700;cursor:pointer}
.site-header .mobile-menu-group summary::-webkit-details-marker{display:none}
.site-header .mobile-menu-group summary i{color:#748395;font-size:11px;transition:transform .18s ease}
.site-header .mobile-menu-group[open] summary i{transform:rotate(180deg)}
.site-header .mobile-submenu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 6px;padding:0 8px 10px 14px}
.site-header .mobile-menu .mobile-submenu a{padding:11px 9px;border:0;border-radius:7px;color:#526476;font-size:15px;font-weight:600}
.site-header .mobile-menu .mobile-submenu a:hover,.site-header .mobile-menu .mobile-submenu a[aria-current="page"]{background:#edf5ff;color:#1762dd}
@media(max-width:1120px){.site-header .desktop-nav{display:none}}
@media(max-width:640px){.site-header .mobile-submenu{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.site-header .desktop-nav .nav-menu-trigger i,.site-header .mobile-menu-group summary i{transition:none}.site-header .desktop-nav .nav-submenu{transition:none}}

/* Responsive header refinements for compact tablets and phones. */
.site-header,.site-header .masthead,.site-header .header-actions,.utility-bar,.utility-inner,.utility-trending,.utility-right{min-width:0}
.site-header .masthead{gap:clamp(12px,2vw,28px)}
.site-header .brand{flex-shrink:0}
.site-header .header-actions{margin-left:auto}
.site-header .mobile-menu:not([hidden]){box-sizing:border-box;width:min(520px,82vw);max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);overscroll-behavior:contain;}
.site-header .mobile-menu a,.site-header .mobile-menu-group summary{min-height:48px;line-height:1.55;overflow-wrap:anywhere}
.site-header .mobile-submenu a{min-width:0}
.site-header .mobile-news-ticker{min-width:0}
.site-header .mobile-news-ticker .trending-rotator{min-width:0}
.utility-inner{box-sizing:border-box}
.utility-trending{flex:1 1 auto}
.utility-right{flex:0 1 auto}
.utility-date{min-width:0}
.social-icons{flex:0 0 auto}
@media(max-width:1120px){
  .site-header .masthead{min-height:96px}
  .site-header .header-actions{gap:12px}
  .site-header .mobile-menu:not([hidden]){right:0;width:min(520px,84vw);padding:10px}
  .site-header .mobile-news-ticker{display:flex}
}
@media(min-width:1025px) and (max-width:1120px){
  .site-header .mobile-news-ticker{display:none}
}
@media(max-width:1024px){
  .utility-inner{gap:14px}
  .utility-trending{display:none}
  .utility-right{display:flex;width:100%;justify-content:space-between}
  .site-header .mobile-news-ticker{display:flex}
}
@media(max-width:640px){
  .site-header .masthead{width:calc(100% - 28px);min-height:82px;gap:8px}
  .site-header .brand{flex-basis:108px;width:108px;height:78px}
  .site-header .brand img{top:-14px;width:108px;height:108px}
  .site-header .header-actions{gap:18px}
  .site-header .nav-search{flex:0 0 38px;width:38px;height:38px}
  .site-header .menu-toggle{flex:0 0 82px;width:82px;height:40px}
  .site-header .mobile-menu:not([hidden]){position:absolute;top:100%;right:0;left:auto;width:min(460px,92vw);max-height:calc(100vh - 128px);max-height:calc(100dvh - 128px);padding:9px;border-radius:0 0 0 16px}
  .site-header .mobile-menu>a,.site-header .mobile-menu-group summary{padding:12px;min-height:46px}
  .site-header .mobile-submenu{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:0 5px 8px 10px}
  .site-header .mobile-menu .mobile-submenu a{padding:10px 8px;font-size:13px;line-height:1.5}
  .mobile-news-ticker{gap:8px;min-height:42px;padding:6px 14px}
  .mobile-ticker-label{font-size:9px}
  .mobile-news-ticker .trending-headline{font-size:11px}
  .utility-bar .utility-inner{width:100%;min-height:48px;padding:0 14px;gap:8px}
  .utility-bar .utility-right{width:100%;justify-content:space-between;gap:8px;font-size:11px}
  .utility-bar .utility-date{flex:0 1 auto;gap:7px;margin:0;line-height:18px}
  .utility-bar .utility-date i{flex:0 0 auto;font-size:13px;line-height:18px}
  .utility-bar .social-icons{display:flex;align-items:center;gap:clamp(7px,2.3vw,12px);margin:0;white-space:nowrap}
  .utility-bar .social-icons a,.utility-bar .social-icons span{min-width:14px;font-size:14px;line-height:18px}
  .utility-bar .utility-right .utility-divider{display:none}
}
@media(max-width:380px){
  .site-header .masthead{width:calc(100% - 20px)}
  .site-header .brand{flex-basis:96px;width:96px}
  .site-header .brand img{width:100px;height:100px;left:-2px;top:-11px}
  .site-header .header-actions{gap:14px}
  .site-header .nav-search{flex-basis:34px;width:34px;height:34px;font-size:16px}
  .site-header .menu-toggle{flex-basis:76px;width:76px;height:38px;font-size:11px}
  .site-header .menu-open-content{gap:7px}
  .site-header .menu-icon,.site-header .menu-icon i{width:17px}
  .site-header .menu-icon{flex-basis:17px}
  .utility-bar .utility-inner{padding-inline:10px}
  .utility-bar .utility-date{gap:5px;font-size:10px}
  .utility-bar .social-icons{gap:7px}
  .utility-bar .social-icons a,.utility-bar .social-icons span{min-width:12px;font-size:13px}
  .mobile-news-ticker{padding-inline:10px}
  .mobile-ticker-label{font-size:8px}
  .mobile-news-ticker .trending-headline{font-size:10px}
  .site-header .mobile-submenu{grid-template-columns:minmax(0,1fr)}
}

/* Anchor the open drawer to the visible viewport so its final links never sit under the bottom bar. */
@media(max-width:1120px){
  .site-header .mobile-menu:not([hidden]){
    position:fixed;
    top:var(--mobile-menu-top,160px);
    right:0;
    bottom:16px;
    left:auto;
    height:auto;
    max-height:none;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }
}
@media(max-width:640px){
  .site-header .mobile-menu:not([hidden]){bottom:calc(66px + env(safe-area-inset-bottom))}
}
