/* NAVIGATION POLISH — shared across the complete Web Carnival site */
.site-header .nav-wrap{gap:22px}
.site-header .brand{min-width:245px;gap:11px;flex:0 0 auto}
.site-header .brand-mark{width:40px;height:40px;background:transparent;border:0;overflow:visible}
.site-header .brand-mark img{width:40px;height:40px;object-fit:contain;display:block}
.site-header .brand-name{font-size:17px;line-height:1.02;letter-spacing:-.55px;white-space:nowrap}
.site-header .brand-name small{display:none}
.desktop-nav{gap:0;align-self:stretch;min-width:0}
.desktop-nav .nav-item{height:86px;display:flex;align-items:center}
.desktop-nav .nav-link{height:86px;padding:0 10px;font-size:12px;letter-spacing:.1px;display:flex;align-items:center;gap:4px;white-space:nowrap}
.desktop-nav .nav-link span{font-size:10px;opacity:.8}
.desktop-nav .mega{top:86px;left:50%;transform:translateX(-50%);width:min(1160px,calc(100vw - 42px));min-width:0;max-height:calc(100vh - 98px);padding:0;background:#fff;color:#111;box-shadow:0 24px 65px rgba(0,0,0,.24);border-top:3px solid var(--red);display:none;grid-template-columns:280px minmax(0,1fr);overflow:auto;overscroll-behavior:contain}
.desktop-nav .mega.open{display:grid}
.desktop-nav .mega .mega-intro{padding:26px 26px 28px;background:#f4f3ef;border-right:1px solid #ddd;position:sticky;top:0;align-self:start}
.desktop-nav .mega .mega-no{font:800 10px/1 Manrope;color:var(--red);letter-spacing:2px}
.desktop-nav .mega h2{font:700 27px/1.05 Manrope;letter-spacing:-1.3px;margin:12px 0 13px}
.desktop-nav .mega .mega-intro p{font-size:12px;line-height:1.52;color:#596067;margin:0 0 18px;max-width:320px}
.desktop-nav .mega .mega-intro .mega-cta{font-weight:800;font-size:11px;color:#111;border-bottom:1px solid #111;padding-bottom:4px}
.desktop-nav .mega .mega-content{padding:22px 24px 20px;min-width:0}
.desktop-nav .mega .mega-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #ddd}
.desktop-nav .mega .mega-col{padding:18px 17px 8px 0;border-right:1px solid #ddd;min-height:170px}
.desktop-nav .mega .mega-col:nth-child(n+2){padding-left:17px}
.desktop-nav .mega .mega-col:last-child{border-right:0}
.desktop-nav .mega .mega-col h3{font:800 10px/1.2 Manrope;text-transform:uppercase;letter-spacing:1.2px;margin:0 0 7px}
.desktop-nav .mega .mega-col p{font-size:10.5px;line-height:1.42;color:#737a80;margin:0 0 10px}
.desktop-nav .mega .mega-col a{display:block;padding:4px 0;font-size:11.5px;font-weight:700;color:#111;line-height:1.25}
.desktop-nav .mega .mega-col a:hover{color:var(--red)}
.desktop-nav .mega .mega-bottom{margin-top:15px;padding-top:13px;border-top:1px solid #ddd;display:flex;justify-content:space-between;gap:18px;align-items:center}
.desktop-nav .mega .mega-bottom span{font-size:10.5px;color:#666;line-height:1.35}
.desktop-nav .mega .mega-bottom a{font-size:10.5px;font-weight:800;white-space:nowrap}
.desktop-nav .mega.locations{grid-template-columns:280px minmax(0,1fr)}
.desktop-nav .mega.locations .mega-cols{grid-template-columns:repeat(3,minmax(0,1fr))}
.desktop-nav .mega.locations .mega-col{min-height:145px}
@media(max-width:1280px){.site-header .brand{min-width:215px}.desktop-nav .nav-link{padding-left:7px;padding-right:7px;font-size:11.5px}.site-header .nav-wrap{gap:12px}.nav-actions{gap:8px}.nav-post{padding-left:10px;padding-right:10px}}
@media(max-width:1120px){.site-header .brand{min-width:190px}.site-header .brand-name{font-size:15px}.desktop-nav .nav-link{padding-left:5px;padding-right:5px;font-size:11px}.icon-btn{display:none}.signin{display:none}.nav-post{font-size:12px;padding:10px 11px}}
@media(max-width:1050px){.desktop-nav .mega{display:none!important}.site-header .brand-name{font-size:17px}.site-header .brand{min-width:0;flex:1}.nav-post{display:none}.hamb{display:block}}
@media(max-width:700px){.site-header .brand-mark,.site-header .brand-mark img{width:38px;height:38px}.site-header .brand-name{font-size:14px}.site-header .nav-wrap{height:72px;padding:0 18px}}

/* FINAL REFERENCE-LED NAVIGATION PASS — full-width mega menu, stable viewport fit */
:root{--nav-blue:#0057b8;--nav-blue-dark:#003f86;--nav-blue-soft:#eaf3fb}
.site-header{z-index:200;overflow:visible}
.site-header .nav-wrap{position:relative;z-index:201}
.site-header .brand{min-width:218px}
.site-header .brand-name{font-size:16px;letter-spacing:-.35px;line-height:1.05}
.site-header .brand-name small{display:none!important}
.desktop-nav{align-items:stretch;overflow:visible}
.desktop-nav .nav-item{height:86px;position:static}
.desktop-nav .nav-link{height:86px;padding:0 11px;font-size:13px;letter-spacing:.05px;position:relative}
.desktop-nav .nav-link:hover,.desktop-nav .nav-link[aria-expanded="true"]{background:rgba(255,255,255,.07)}
.desktop-nav .nav-link[aria-expanded="true"]:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;background:var(--red)}
.desktop-nav .mega,
.desktop-nav .mega.locations{
  position:fixed!important;
  top:86px!important;
  left:0!important;
  right:0!important;
  width:100vw!important;
  min-width:0!important;
  max-width:none!important;
  max-height:calc(100vh - 86px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  transform:none!important;
  border-top:3px solid var(--red);
  box-shadow:0 24px 55px rgba(0,0,0,.24);
  grid-template-columns:minmax(230px,300px) minmax(0,1fr)!important;
  padding:0!important;
  scrollbar-gutter:stable;
}
.desktop-nav .mega:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#f4f3ef 0 300px,#fff 300px 100%)}
.desktop-nav .mega>*{position:relative;z-index:1}
.desktop-nav .mega .mega-intro{padding:30px 30px 32px;background:transparent;border-right:1px solid #dfe2e4;min-height:100%}
.desktop-nav .mega .mega-content{padding:26px 32px 24px;max-width:1180px;width:100%;margin:0 auto}
.desktop-nav .mega .mega-cols{grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #dfe2e4}
.desktop-nav .mega .mega-col{padding:20px 22px 12px 0;min-height:190px}
.desktop-nav .mega .mega-col:nth-child(n+2){padding-left:22px}
.desktop-nav .mega .mega-col a{font-size:12px;padding:5px 0}
.desktop-nav .mega .mega-col a:hover{color:var(--red)}
.desktop-nav .mega .mega-bottom{margin-top:18px;padding:15px 0 0}
.desktop-nav .mega .mega-bottom a{color:var(--red)}
@media(min-width:1051px){
  .desktop-nav .mega.open{display:grid!important}
  .desktop-nav .mega .mega-intro h2{font-size:32px}
}
@media(max-width:1180px) and (min-width:1051px){
  .site-header .nav-wrap{padding:0 24px;gap:12px}
  .site-header .brand{min-width:190px}
  .site-header .brand-name{font-size:14px}
  .desktop-nav .nav-link{padding:0 7px;font-size:11.5px}
  .nav-actions{gap:7px}
  .nav-post{padding:10px 11px;font-size:11px}
  .desktop-nav .mega{grid-template-columns:245px minmax(0,1fr)!important}
  .desktop-nav .mega:before{background:linear-gradient(90deg,#f4f3ef 0 245px,#fff 245px 100%)}
}
@media(max-width:1050px){.desktop-nav .mega{display:none!important}}

/* CONCLUSION PASS — protect navigation width and keep actions at the far edge */
.site-header .nav-wrap{display:flex;align-items:center;min-width:0}
.site-header .brand{flex:0 0 auto}
.desktop-nav{flex:1 1 auto;min-width:0;justify-content:center}
.nav-actions{flex:0 0 auto;margin-left:auto;display:flex;align-items:center;gap:8px;white-space:nowrap}
.nav-actions .signin{font-size:11px;padding:8px 5px;opacity:.9}
.nav-actions .nav-post{margin-left:3px;padding:11px 14px;border-radius:2px;white-space:nowrap;box-shadow:0 5px 14px rgba(0,0,0,.10)}
@media(min-width:1281px){.desktop-nav .nav-link{padding-left:9px;padding-right:9px;font-size:12px}.site-header .brand{min-width:210px}.nav-actions .signin{padding-left:8px;padding-right:8px}}
@media(max-width:1280px) and (min-width:1121px){.site-header .brand{min-width:195px}.desktop-nav .nav-link{font-size:11.5px;padding-left:6px;padding-right:6px}.nav-actions .signin{font-size:10.5px}.nav-actions .nav-post{padding-left:10px;padding-right:10px;font-size:11px}}

/* FINAL CORPORATE CLEANUP — single external Job Portal gateway; existing nav layout preserved */
.nav-actions .nav-portal{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:10px 14px;border-radius:2px;background:#d71920;color:#fff!important;font:800 10px/1.1 Manrope,Arial,sans-serif;letter-spacing:1px;text-decoration:none;white-space:nowrap;box-shadow:0 5px 14px rgba(0,0,0,.12);position:relative;isolation:isolate;}
.nav-actions .nav-portal:after{content:"";position:absolute;inset:-3px;border:1px solid rgba(215,25,32,.65);border-radius:3px;animation:wcPortalPulse 1.9s ease-in-out infinite;z-index:-1;}
.nav-actions .nav-portal:hover{background:#b91218;}
.mobile-panel .mobile-portal{display:block;margin:12px 18px 8px;padding:13px 16px;background:#d71920;color:#fff!important;font-weight:800;letter-spacing:1px;text-align:center;}
@keyframes wcPortalPulse{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:.95;transform:scale(1.025)}}
@media(max-width:1120px){.nav-actions .nav-portal{font-size:9px;padding:9px 11px;min-height:34px}}
@media(max-width:1050px){.nav-actions .nav-portal{display:none}}

/* FINAL COLOR OVERRIDE */
header, .header, #header,
footer, .footer, #footer {
  background-color: #7A0F16;
}
/* Keep Job Posting / job-posting tabs blue */
.job-posting, .job-posting-tab, .job-posting-btn,
.job-posting a, a.job-posting, button.job-posting {
  background-color: #0B63CE;
  border-color: #0B63CE;
  color: #FFFFFF;
}
.job-posting-tab.active, .job-posting.active {
  background-color: #0B63CE;
  color: #FFFFFF;
}
