/* Header only: retain the site's page layouts and mobile navigation behavior. */
.site-header .nav-mega-intro { display:none; }
.site-header .nav-entry-copy { min-width:0; }
.site-header .nav-entry-copy strong { font:inherit; }
.site-header .nav-entry-copy > small,
.site-header .nav-entry-icon { display:none; }
.site-header .nav-contact { display:none; }

@media (min-width:901px) {
  html { scroll-padding-top:170px; }
  html:has(body.admin-bar) { scroll-padding-top:202px; }
  .site-header { box-shadow:0 3px 16px rgba(16,44,88,.025); }
  .site-header .nav { position:relative; width:min(1400px,calc(100% - 80px)); height:96px; gap:28px; }
  .site-header .logo { gap:12px; padding-right:28px; border-right:1px solid #e4ebf6; }
  .site-header .brand-logo { width:44px; height:44px; }
  .site-header .brand-name { font-size:22px; letter-spacing:.5px; }
  .site-header .brand-name small { margin-top:6px; font-size:7px; letter-spacing:1px; }
  .site-header .nav-links { height:96px; gap:clamp(20px,2vw,34px); color:#14213a; font-size:17px; font-weight:650; }
  .site-header .nav-links > a,
  .site-header .dropdown-head,
  .site-header .nav-dropdown { height:96px; }
  .site-header .dropdown-head { position:relative; }
  .site-header .nav-dropdown { position:static; }
  .site-header .dropdown-label { color:#14213a; }
  .site-header .nav-dropdown.is-current .dropdown-label,
  .site-header .nav-dropdown.is-open .dropdown-label { color:var(--brand); }
  .site-header .nav-links > a.is-current::after,
  .site-header .nav-dropdown.is-current > .dropdown-head::after { bottom:12px; width:28px; }
  .site-header .nav-dropdown.is-open > .dropdown-head::after { content:""; position:absolute; left:50%; bottom:12px; width:28px; height:3px; border-radius:3px; background:var(--brand); transform:translateX(-50%); }
  .site-header .nav-actions { gap:16px; padding-left:22px; border-left:1px solid #e4ebf6; }
  .site-header .nav-actions .account-action { padding-inline:3px; color:#44536b; font-size:14px; font-weight:550; }
  .site-header .nav-actions .account-avatar { display:none; }
  .site-header .nav-actions > a.account-register { display:none; }
  .site-header .nav-contact { display:inline-flex; flex:none; min-height:46px; align-items:center; justify-content:center; padding:0 22px; border-radius:6px; color:#fff; background:var(--brand); font-size:15px; font-weight:650; box-shadow:0 5px 14px rgba(24,88,242,.12); transition:background .18s ease; }
  .site-header .nav-contact:hover { background:var(--brand-dark); }
  .site-header .nav-actions form { margin:0; }
  .site-header .nav-actions form .account-register { min-width:0; border:0; background:transparent; box-shadow:none; }
  .site-header .nav-mega { top:100%; left:0; right:0; width:100%; min-width:0; padding:32px; display:grid; grid-template-columns:220px minmax(0,1fr); gap:32px; border:1px solid #e0e9f7; border-radius:0 0 12px 12px; box-shadow:0 20px 38px rgba(19,51,99,.1); transform:translateY(-5px); white-space:normal; transition:opacity .18s ease,transform .18s ease; }
  .site-header .nav-dropdown.is-open .nav-mega { transform:translateY(0); }
  .site-header .nav-mega::before { top:-14px; height:14px; }
  .site-header .nav-mega-intro { display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding:8px 28px 8px 0; border-right:1px solid #e4ebf6; }
  .site-header .nav-mega-intro > small { color:#4f85e4; font-size:10px; font-weight:650; letter-spacing:1.3px; }
  .site-header .nav-mega-intro > strong { color:#111e35; font-size:28px; font-weight:750; line-height:1.3; }
  .site-header .nav-mega-intro > span { max-width:170px; color:#76849a; font-size:14px; font-weight:400; line-height:1.8; }
  .site-header .nav-mega-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 18px; align-content:start; }
  .site-header .nav-mega a { min-width:0; min-height:84px; padding:14px 10px; display:flex; align-items:center; gap:14px; white-space:normal; border-radius:8px; }
  .site-header .nav-entry-icon { width:48px; height:48px; display:grid; place-items:center; flex:none; border-radius:10px; background:#f0f6ff; }
  .site-header .nav-entry-icon img { display:block; width:28px; height:28px; }
  .site-header .nav-entry-copy { display:flex; flex-direction:column; gap:6px; }
  .site-header .nav-entry-copy strong { color:#17243b; font-size:16px; font-weight:650; line-height:1.5; }
  .site-header .nav-entry-copy > small { display:block; color:#77859a; font-size:12px; font-weight:400; line-height:1.6; }
  .site-header .nav-mega a:hover .nav-entry-copy strong,
  .site-header .nav-mega a.is-current .nav-entry-copy strong { color:var(--brand); }
  .site-header .nav-mega--marketing .nav-mega-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
  .site-header .nav-mega .nav-submenu-group { padding:0; gap:4px; }
  .site-header .nav-mega .nav-submenu-group + .nav-submenu-group { padding-left:28px; border-left:1px solid #e4ebf6; }
  .site-header .nav-mega .nav-submenu-group > small { padding:0 10px 4px; color:#76849a; font-size:12px; font-weight:500; letter-spacing:0; }
}

@media (min-width:901px) and (max-width:1200px) {
  .site-header .nav { width:calc(100% - 40px); height:84px; gap:18px; }
  .site-header .logo { gap:9px; padding-right:18px; }
  .site-header .brand-logo { width:36px; height:36px; }
  .site-header .brand-name { font-size:18px; }
  .site-header .brand-name small { font-size:6px; }
  .site-header .nav-links,
  .site-header .nav-links > a,
  .site-header .dropdown-head,
  .site-header .nav-dropdown { height:84px; }
  .site-header .nav-links { gap:14px; font-size:14px; }
  .site-header .nav-actions { padding-left:14px; gap:12px; }
  .site-header .nav-contact { min-height:42px; padding:0 15px; font-size:13px; }
  .site-header .nav-actions .account-action { font-size:12px; }
  .site-header .nav-mega { grid-template-columns:175px minmax(0,1fr); padding:24px; gap:22px; }
  .site-header .nav-mega-intro { padding-right:20px; }
  .site-header .nav-mega-intro > strong { font-size:24px; }
  .site-header .nav-mega-links { gap:10px; }
  .site-header .nav-mega a { padding:10px 6px; gap:10px; }
  .site-header .nav-entry-icon { width:38px; height:38px; }
  .site-header .nav-entry-icon img { width:24px; height:24px; }
  .site-header .nav-entry-copy strong { font-size:14px; }
  .site-header .nav-entry-copy > small { font-size:11px; }
}

@media (min-width:901px) and (max-width:1000px) {
  .site-header .nav { gap:12px; }
  .site-header .logo { padding-right:12px; }
  .site-header .nav-links { gap:10px; font-size:13px; }
  .site-header .nav-actions { padding-left:10px; gap:9px; }
  .site-header .nav-contact { padding-inline:12px; }
}

@media (max-width:900px) {
  .site-header .nav-dropdown.is-open .nav-mega { display:block; }
  .site-header .nav-mega-links { display:flex; flex-direction:column; }
  .site-header .nav-mega--marketing .nav-mega-links { display:block; }
  .site-header .nav-mega a { display:block; }
  .site-header .nav-mega .nav-entry-copy strong { font-weight:500; }
}

@media (prefers-reduced-motion:reduce) {
  .site-header .nav-mega { transition:none; }
}

/* Compact horizontal introduction and approved raster business cards. */
@media (min-width:901px) {
  .site-header .nav:has(.nav-dropdown.is-open) .nav-links > a.is-current::after,
  .site-header .nav:has(.nav-dropdown.is-open) .nav-dropdown.is-current:not(.is-open) > .dropdown-head::after { opacity:0; }
  .site-header .nav:has(.nav-dropdown.is-open) .nav-dropdown.is-current:not(.is-open) .dropdown-label,
  .site-header .nav:has(.nav-dropdown.is-open) .nav-links > a.is-current,
  .site-header .nav:has(.nav-dropdown.is-open) .nav-dropdown.is-current:not(.is-open) > .dropdown-head > a { color:#14213a; }
  .site-header .nav-mega { top:calc(100% + 4px); padding:24px; grid-template-columns:minmax(0,1fr); gap:20px; border-radius:14px; box-shadow:0 22px 48px rgba(19,42,78,.14); }
  .site-header .nav-mega .nav-mega-intro { flex-direction:row; align-items:center; flex-wrap:wrap; gap:12px 24px; padding:0 0 20px; border:0; border-bottom:1px solid #e4ebf6; border-radius:0; background:none; }
  .site-header .nav-mega .nav-mega-intro > small { display:none; }
  .site-header .nav-mega .nav-mega-intro > strong { flex:none; font-size:24px; line-height:1.4; }
  .site-header .nav-mega .nav-mega-intro > span { max-width:none; color:#667995; font-size:14px; line-height:1.7; }
  .site-header .nav-mega a.nav-intro-link { flex:none; min-height:32px; margin:0 0 0 auto; padding:0; gap:10px; color:var(--brand); background:transparent; font-size:14px; font-weight:600; }
  .site-header .nav-mega .nav-mega-links { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:0; align-content:start; }
  .site-header .nav-mega--solutions .nav-mega-links { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .site-header .nav-mega :is(.nav-mega-links,.nav-submenu-group) > a { min-height:116px; padding:18px 16px; gap:14px; border:1px solid #e5ecf7; border-radius:10px; transition:background .18s ease,border-color .18s ease,box-shadow .18s ease; }
  .site-header .nav-mega :is(.nav-mega-links,.nav-submenu-group) > a::after { content:"→"; flex:none; margin-left:auto; color:#70809a; font-size:22px; font-weight:400; }
  .site-header .nav-mega :is(.nav-mega-links,.nav-submenu-group) > a:hover,
  .site-header .nav-mega :is(.nav-mega-links,.nav-submenu-group) > a:focus-visible,
  .site-header .nav-mega :is(.nav-mega-links,.nav-submenu-group) > a.is-current { background:#f3f7ff; border-color:#ccdfff; box-shadow:0 5px 15px rgba(38,89,177,.04); }
  .site-header .nav-mega :is(.nav-mega-links,.nav-submenu-group) > a:hover::after,
  .site-header .nav-mega :is(.nav-mega-links,.nav-submenu-group) > a.is-current::after { color:var(--brand); }
  .site-header .nav-mega .nav-entry-icon { width:64px; height:64px; background:transparent; border-radius:0; }
  .site-header .nav-mega .nav-entry-icon img { width:100%; height:100%; object-fit:contain; }
  .site-header .nav-mega .nav-entry-copy strong { font-size:17px; }
  .site-header .nav-mega .nav-entry-copy > small { font-size:13px; }
  .site-header .nav-mega--marketing .nav-mega-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-header .nav-mega--marketing .nav-submenu-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; padding:0; border:0; }
  .site-header .nav-mega--marketing .nav-submenu-group + .nav-submenu-group { padding:0; border:0; }
  .site-header .nav-mega--marketing .nav-submenu-group > small { grid-column:1/-1; display:flex; align-items:center; gap:14px; padding:0 2px; color:#233b60; font-size:14px; font-weight:650; }
  .site-header .nav-mega--marketing .nav-submenu-group > small::after { content:""; height:1px; flex:1; background:#e1e9f6; }
}
@media (min-width:901px) and (max-width:1200px) {
  .site-header .nav-mega { padding:20px; gap:16px; }
  .site-header .nav-mega .nav-mega-intro { gap:10px 18px; padding-bottom:16px; }
  .site-header .nav-mega .nav-mega-intro > strong { font-size:22px; }
  .site-header .nav-mega .nav-mega-intro > span { font-size:13px; }
  .site-header .nav-mega .nav-mega-links { gap:12px; }
  .site-header .nav-mega--solutions .nav-mega-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-header .nav-mega :is(.nav-mega-links,.nav-submenu-group) > a { gap:10px; padding:14px 12px; min-height:108px; }
  .site-header .nav-mega .nav-entry-icon { width:48px; height:48px; }
  .site-header .nav-mega .nav-entry-copy strong { font-size:14px; }
  .site-header .nav-mega .nav-entry-copy > small { font-size:12px; }
  .site-header .nav-mega--marketing .nav-submenu-group { grid-template-columns:minmax(0,1fr); gap:12px; }
}
@media (max-width:900px) {
  .site-header .nav-mega .nav-mega-intro { display:none; }
  .site-header .nav-mega :is(.nav-mega-links,.nav-submenu-group) > a { display:flex; align-items:center; gap:12px; }
  .site-header .nav-mega .nav-entry-icon { display:block; flex:none; width:44px; height:44px; }
  .site-header .nav-mega .nav-entry-icon img { display:block; width:100%; height:100%; object-fit:contain; }
}
@media (prefers-reduced-motion:reduce) {
  .site-header .nav-mega :is(.nav-mega-links,.nav-submenu-group) > a { transition:none; }
}
