/* Nirton Consulting — production additions (loaded after base.css).
   Only logo sizing, Home active state, mobile menu, and inert-element cursor.
   Selectors use .nirton-wrap for specificity over the per-page inline styles. */

.nirton-wrap .n-logo { display: flex; align-items: center; min-height: 47.2px; line-height: 0; cursor: pointer; } /* 47.2px = height of the original text logo block, keeps header height unchanged */
.nirton-wrap .n-logo img { display: block; height: 36.8px; width: auto; max-width: 100%; }

.nirton-wrap .n-nav-links a.active { color: var(--kimi-color-text-primary); font-weight: 500; }
.nirton-wrap .n-nav-links a { cursor: pointer; }

/* Client Portal: reserved for future OMS integration — visually unchanged, functionally inactive */
.nirton-wrap .n-nav-cta { cursor: pointer; }

/* Sticky header: base.css sets #widget-root{overflow:hidden}, which stops position:sticky from working.
   overflow-x:clip still prevents sideways scroll but does not create a scroll container. */
#widget-root { overflow: visible; overflow-x: clip; }

/* Footer links: live-looking, intentionally not wired to any page yet */
.nirton-wrap a.n-foot-link[data-status] { color: inherit; text-decoration: none; cursor: pointer; }
.nirton-wrap a.n-foot-link:hover, .nirton-wrap a.n-foot-link:focus-visible { text-decoration: underline; }
 .n-footer {
    border-top: 1px solid var(--lux-border); padding: 40px 24px; text-align: center;
    color: var(--kimi-color-text-quaternary); font-size: 12px;
  }

/* Elements whose destination content does not exist yet */
.nirton-wrap [data-status="coming-soon"] { cursor: default; }

/* Mobile menu toggle: hidden on desktop/tablet */
.nirton-wrap .n-menu-btn {
  display: none; background: none; border: 1px solid var(--lux-border); border-radius: 6px;
  width: 38px; height: 38px; padding: 0; color: var(--kimi-color-text-primary); align-items: center; justify-content: center;
}
.nirton-wrap .n-menu-btn svg { width: 18px; height: 18px; }

@media (max-width: 640px) {
  .nirton-wrap .n-nav { gap: 10px; padding: 12px 16px; }
  .nirton-wrap .n-logo { min-height: 0; }
  .nirton-wrap .n-logo img { height: 28.8px; }
  .nirton-wrap .n-menu-btn { display: inline-flex; margin-left: auto; }
  .nirton-wrap .n-nav-links { display: none; }
  .nirton-wrap .n-nav.menu-open .n-nav-links {
    display: flex; flex-direction: column; gap: 0; position: absolute; top: 100%; left: 0; right: 0;
    background: #fff; border-bottom: 1px solid var(--lux-border); padding: 8px 16px 12px; font-size: 15px;
  }
  .nirton-wrap .n-nav.menu-open .n-nav-links a { padding: 12px 8px; border-bottom: 1px solid var(--lux-border); }
  .nirton-wrap .n-nav.menu-open .n-nav-links a:last-child { border-bottom: none; }
}

/* 404 page */
.nirton-wrap .n-404 { text-align: center; padding: 96px 24px; }
.nirton-wrap .n-404 h1 { font-size: 40px; font-weight: 500; margin: 12px 0; }
.nirton-wrap .n-404 p { color: var(--kimi-color-text-secondary); margin-bottom: 24px; }

/* Monochrome logo, expanded right inset, and social media icon group */
.nirton-wrap .n-nav { padding-right: calc(24px + 2cm); }
.nirton-wrap .n-logo img { height: 36.8px; width: auto; max-width: min(30vw, 208px); object-fit: contain; }
.nirton-wrap .n-nav-social-group { display: flex; align-items: center; gap: 22px; }
.nirton-wrap .n-social-icons { display: flex; align-items: center; gap: 13px; margin-left: 2px; }
.nirton-wrap .n-social-icon { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; color: var(--kimi-color-text-primary); }
.nirton-wrap .n-social-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nirton-wrap .n-social-icon svg .fill-dot { fill: currentColor; stroke: none; }
@media (max-width: 900px) { .nirton-wrap .n-nav { padding-right: 24px; } .nirton-wrap .n-nav-social-group { gap: 12px; } .nirton-wrap .n-social-icons { gap: 8px; } }
@media (max-width: 640px) { .nirton-wrap .n-nav { padding-right: 16px; } .nirton-wrap .n-nav-social-group { gap: 8px; } .nirton-wrap .n-social-icons { display: none; } .nirton-wrap .n-logo img { max-width: 152px; } }


/* FIX: keep Client Portal consistently visible on every page and viewport. */
.nirton-wrap .n-nav {
  display: flex !important;
  align-items: center;
}
.nirton-wrap .n-nav-social-group {
  display: flex !important;
  align-items: center;
  flex: 0 0 auto;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative;
  z-index: 2;
}
.nirton-wrap .n-nav-cta {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 40px;
  min-width: 124px;
  padding: 9px 20px;
  white-space: nowrap;
  visibility: visible !important;
  opacity: 1 !important;
  color: #fff !important;
  background: #171717 !important;
  border: 0;
  border-radius: 7px;
  line-height: 1.2;
  font-weight: 600;
}
.nirton-wrap .n-nav-cta:hover { opacity: .9 !important; }
@media (max-width: 640px) {
  .nirton-wrap .n-nav-social-group { margin-left: 0; }
  .nirton-wrap .n-nav-cta { min-width: 108px; min-height: 36px; padding: 8px 12px; font-size: 12px; }
}


/* Shared corporate header styles — ensures Sitemap and all folder-based pages
   use the same navigation even when page-specific inline styles are absent. */
.nirton-wrap .n-nav {
  display:flex; align-items:center; justify-content:space-between; gap:clamp(14px,2vw,32px);
  width:100%; box-sizing:border-box; padding:14px 2cm 14px 24px; background:#fff;
  border-bottom:1px solid #e5e7eb; position:relative; z-index:100; min-height:76px; flex-wrap:nowrap;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
.nirton-wrap .n-logo {display:flex; align-items:center; flex:0 1 190px; min-width:110px; line-height:0; text-decoration:none; overflow:visible;}
.nirton-wrap .n-logo img {display:block; height:auto; width:auto; max-width:152px; max-height:40px; object-fit:contain;}
.nirton-wrap .n-nav-links {display:flex; align-items:center; justify-content:center; gap:clamp(12px,1.8vw,30px); flex:1 1 auto; min-width:0; white-space:nowrap; font-size:14px;}
.nirton-wrap .n-nav-links a,
.nirton-wrap .n-nav-links a:link,
.nirton-wrap .n-nav-links a:visited {display:inline-flex; align-items:center; text-decoration:none; color:#4b5563; padding:8px 0; border:0; background:transparent; font:inherit;}
.nirton-wrap .n-nav-links a:hover,
.nirton-wrap .n-nav-links a:focus-visible {color:#102b4e; text-decoration:none;}
.nirton-wrap .n-nav-links a.active {color:#102b4e; font-weight:700; border-bottom:2px solid #c99a2e;}
.nirton-wrap .n-nav-social-group {display:flex; align-items:center; justify-content:flex-end; gap:16px; flex:0 0 auto; visibility:visible; opacity:1; position:relative; z-index:101; white-space:nowrap;}
.nirton-wrap .n-nav-cta,
.nirton-wrap .n-nav-cta:link,
.nirton-wrap .n-nav-cta:visited {display:inline-flex; align-items:center; justify-content:center; visibility:visible; opacity:1; flex:0 0 auto; min-width:124px; min-height:40px; padding:9px 18px; background:#171717; color:#fff; border:0; border-radius:7px; font:600 13px/1.2 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; text-decoration:none; white-space:nowrap;}
.nirton-wrap .n-nav-cta:hover {background:#303030; color:#fff; text-decoration:none;}
.nirton-wrap .n-social-icons {display:flex; align-items:center; gap:12px; flex:0 0 auto; margin-left:2px; visibility:visible;}
.nirton-wrap .n-social-icon,
.nirton-wrap .n-social-icon:link,
.nirton-wrap .n-social-icon:visited {display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; color:#15191f; flex:0 0 22px; text-decoration:none; border:0; background:transparent;}
.nirton-wrap .n-social-icon:hover {color:#b8860b; text-decoration:none;}
.nirton-wrap .n-social-icon svg {display:block; width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.nirton-wrap .n-menu-btn {display:none;}
@media(max-width:1050px) {
 .nirton-wrap .n-nav {padding-right:24px; gap:12px;}
 .nirton-wrap .n-logo {flex-basis:140px;}
 .nirton-wrap .n-logo img {max-width:125px;}
 .nirton-wrap .n-nav-links {gap:12px; font-size:13px;}
 .nirton-wrap .n-nav-social-group {gap:9px;}
 .nirton-wrap .n-social-icons {gap:7px;}
}
@media(max-width:760px) {
 .nirton-wrap .n-nav {padding:12px 16px; flex-wrap:wrap;}
 .nirton-wrap .n-logo {flex:1 1 auto;}
 .nirton-wrap .n-logo img {max-width:140px;}
 .nirton-wrap .n-menu-btn {display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; flex:0 0 38px; border:1px solid #d8dee8; border-radius:7px; background:#fff; color:#102b4e; cursor:pointer;}
 .nirton-wrap .n-nav-links {display:none; order:3; flex:1 0 100%; flex-wrap:wrap; white-space:normal;}
 .nirton-wrap .n-nav-links.is-open {display:flex; flex-direction:column; align-items:stretch; gap:4px; padding:14px 4px;}
 .nirton-wrap .n-nav-links.is-open a {padding:10px 8px; width:100%;}
 .nirton-wrap .n-nav-social-group {gap:8px; margin-left:auto;}
 .nirton-wrap .n-nav-cta {min-width:108px; min-height:36px; padding:8px 10px; font-size:12px;}
 .nirton-wrap .n-social-icons {gap:6px;}
 .nirton-wrap .n-social-icon {width:18px; height:18px; flex-basis:18px;}
 .nirton-wrap .n-social-icon svg {width:18px; height:18px;}
}
@media(max-width:420px) {.nirton-wrap .n-social-icons {display:none;}}
