/* ==========================================================================
   Sim Vision header, mega menu and footer chrome
   Space Grotesk (display) + Inter (text), navy / green brand system.
   ========================================================================== */

:root{
  --pxc-navy:#0f1e30; --pxc-navy2:#142438; --pxc-navy3:#1c3049;
  --pxc-green:#8dd34f; --pxc-greend:#63bf11;
  --pxc-ink:#0d152d; --pxc-body:#495566; --pxc-muted:#8b98a6;
  --pxc-line:#e4e9ed; --pxc-tint:#f4f6f8;
  --pxc-footer-bg:#1b2a45;
  --pxc-footer-link:#d6dde7;
  --pxc-display:"Space Grotesk",Inter,system-ui,sans-serif;
  --pxc-text:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
}

/* ---------------------------------------------------------------- header -- */
.site-header,.main-navigation,.menu-item,.mega-menu-panel{font-family:var(--pxc-text)}
.main-navigation a,.menu-item>a{font-family:var(--pxc-text);font-weight:500;letter-spacing:0}

/* ------------------------------------------------------------ mega menu -- */
.mega-menu-panel,.mega-menu-inner{font-family:var(--pxc-text)}
.mega-menu-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 30px;align-items:start;padding:34px 38px}
.mega-menu-inner--panel-4{grid-template-columns:.9fr 1fr}

.mega-menu-heading{
  font-family:var(--pxc-display);font-weight:600;font-size:.8125rem;line-height:1.25;
  letter-spacing:.06em;text-transform:uppercase;color:var(--pxc-greend);
  margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--pxc-line);
}
.mega-menu-list{list-style:none;margin:0;padding:0}
.mega-menu-list li{margin:0}
.mega-menu-list a,.mega-menu-list a.mb-nav-link{
  display:flex;gap:12px;align-items:flex-start;
  padding:9px 10px;border-radius:8px;text-decoration:none;
  transition:background .16s,color .16s;
}
.mega-menu-list a:hover,.mega-menu-list a:focus-visible{background:var(--pxc-tint)}

.mega-icon{flex:0 0 34px;height:34px;border-radius:8px;background:var(--pxc-tint);
  display:flex;align-items:center;justify-content:center;color:var(--pxc-greend);transition:background .16s,color .16s}
.mega-menu-list a:hover .mega-icon{background:#e9f5db;color:var(--pxc-greend)}
.mega-svg{width:19px;height:19px;display:block}

.mega-content{display:block;min-width:0}
.mega-content strong{
  display:block;font-family:var(--pxc-text);font-weight:600;font-size:.9375rem;line-height:1.3;
  color:var(--pxc-ink);margin-bottom:3px;
}
.mega-menu-list a:hover .mega-content strong{color:var(--pxc-greend)}
.mega-content span{
  display:block;font-family:var(--pxc-text);font-weight:400;font-size:.8125rem;line-height:1.45;
  color:var(--pxc-muted);
}

/* Company panel promo tile */
.mega-menu-promo{
  border-radius:12px;min-height:100%;padding:28px;display:flex;align-items:flex-end;
  background:linear-gradient(150deg,#0f1e30 0%,#123328 55%,#1d5c35 100%);
}
.mega-menu-promo-title{
  font-family:var(--pxc-display);font-weight:400;font-size:1.375rem;line-height:1.2;color:#fff;margin-bottom:8px;
}
.mega-menu-promo p{font-size:.875rem;line-height:1.5;color:#c3d9c9;margin:0}

/* Compliance panel carries long lists: tighten it */
.mega-menu-inner--panel-5 .mega-menu-list a{padding:7px 10px}
.mega-menu-inner--panel-5 .mega-content span{display:none}
.mega-menu-inner--panel-5 .mega-icon{flex-basis:28px;height:28px}
.mega-menu-inner--panel-5 .mega-svg{width:16px;height:16px}

@media(max-width:1100px){
  .mega-menu-inner{grid-template-columns:1fr 1fr;gap:6px 22px;padding:26px}
  .mega-menu-inner--panel-4{grid-template-columns:1fr}
}
@media(max-width:820px){
  .mega-menu-inner{grid-template-columns:1fr;padding:18px}
  .mega-menu-promo{display:none}
  .mega-content span{display:none}
}

/* ---------------------------------------------------------------- footer -- */
.pxf{background:var(--pxc-footer-bg);color:var(--pxc-footer-link);font-family:var(--pxc-text);padding:74px 0 0}
.pxf-wrap{max-width:1320px;margin:0 auto;padding:0 40px}
.pxf-top{display:grid;grid-template-columns:minmax(230px,300px) 1fr;gap:56px;padding-bottom:64px}

.pxf-logo img{max-width:200px;height:auto;display:block}
.pxf-wordmark{font-family:var(--pxc-display);font-size:1.75rem;color:#fff}
.pxf-contact{margin-top:26px;font-size:.9375rem;line-height:1.75;color:var(--pxc-footer-link)}
.pxf-contact p{margin:0 0 2px}
.pxf-contact a{color:var(--pxc-footer-link);text-decoration:none}
.pxf-contact a:hover{color:var(--pxc-green)}

.pxf-cta{
  display:inline-block;margin-top:26px;padding:14px 30px;border:1px solid rgba(255,255,255,.55);
  border-radius:6px;color:#fff;font-size:1rem;font-weight:500;text-decoration:none;
  transition:background .18s,border-color .18s,color .18s;
}
.pxf-cta:hover{background:var(--pxc-green);border-color:var(--pxc-green);color:#12291a}

.pxf-social{display:flex;gap:12px;margin-top:30px}
.pxf-social-link{color:var(--pxc-green);display:inline-flex;transition:opacity .18s}
.pxf-social-link:hover{opacity:.72}

.pxf-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.pxf-col-title{
  font-family:var(--pxc-text);font-weight:600;font-size:1.0625rem;line-height:1.3;
  color:var(--pxc-green);margin:0 0 18px;
}
.pxf-group-title{
  font-family:var(--pxc-text);font-weight:500;font-size:.9375rem;line-height:1.4;
  color:var(--pxc-green);margin:22px 0 10px;
}
.pxf-col>.pxf-links:first-of-type{margin-top:0}
.pxf-links{list-style:none;margin:0 0 4px;padding:0}
.pxf-links li{margin:0 0 9px}
.pxf-links a{
  color:var(--pxc-footer-link);text-decoration:none;font-size:.9375rem;line-height:1.45;
  display:inline-block;transition:color .16s;
}
.pxf-links a:hover{color:var(--pxc-green)}

.pxf-bottom{
  border-top:1px solid rgba(255,255,255,.12);padding:24px 0 28px;
  display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;
}
.pxf-copyright{font-size:.9375rem;font-weight:500;color:#fff}
.pxf-legal{display:flex;gap:10px;align-items:center;font-size:.9375rem}
.pxf-legal a{color:#fff;text-decoration:none;font-weight:500}
.pxf-legal a:hover{color:var(--pxc-green)}
.pxf-legal span{color:rgba(255,255,255,.4)}

@media(max-width:1150px){
  .pxf-nav{grid-template-columns:repeat(2,1fr);gap:34px}
}
@media(max-width:900px){
  .pxf-top{grid-template-columns:1fr;gap:44px;padding-bottom:44px}
  .pxf-wrap{padding:0 26px}
}
@media(max-width:560px){
  .pxf{padding-top:52px}
  .pxf-nav{grid-template-columns:1fr;gap:28px}
  .pxf-bottom{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  .pxf *,.mega-menu-list a,.mega-icon{transition:none!important}
}

/* --- page title banner ornament ------------------------------------------ */
.svt-standard-page__ornament{
  border:0!important;border-radius:0!important;transform:translateY(-50%)!important;
  opacity:1!important;color:var(--pxc-greend);
  width:clamp(96px,11vw,150px)!important;display:block;
}
.svt-standard-page__ornament::before,
.svt-standard-page__ornament::after{display:none!important}
.svt-standard-page__ornament .pxf-ornament{width:100%;height:auto;display:block}
.svt-standard-page__eyebrow{color:var(--pxc-greend)}
.svt-standard-page__title{font-family:var(--pxc-text);font-weight:600;color:var(--pxc-ink)}

/* ==========================================================================
   Sticky section navigation
   Smaller, clearly labelled, and unmistakably page navigation rather than
   a second site menu.
   ========================================================================== */
.svt-section-nav{
  --svt-service-nav-row-height:50px;
  background:rgba(255,255,255,.97)!important;
  border-top:1px solid var(--pxc-line)!important;
  border-bottom:1px solid var(--pxc-line)!important;
  box-shadow:0 6px 18px rgba(13,21,45,.05)!important;
}
.svt-section-nav__inner{
  max-width:1220px;margin:0 auto;padding:0 28px;
  display:flex;align-items:center;gap:14px;min-height:50px;
}
.svt-section-nav__label{
  flex:0 0 auto;font-family:var(--pxc-text);font-size:11px;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--pxc-muted);
  padding-right:14px;border-right:1px solid var(--pxc-line);white-space:nowrap;
}
.svt-section-nav__viewport{
  flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none;-svt-overflow-style:none;
}
.svt-section-nav__viewport::-webkit-scrollbar{display:none}
.svt-section-nav__track{
  display:flex!important;align-items:center;gap:2px;flex-wrap:nowrap;
  width:max-content;padding:0;
}
.svt-section-nav__link{
  display:inline-flex;align-items:center;white-space:nowrap;
  font-family:var(--pxc-text);font-size:13px;font-weight:500;line-height:1;
  color:var(--pxc-muted);text-decoration:none;
  padding:15px 12px;border-bottom:2px solid transparent;
  transition:color .16s,border-color .16s;
}
.svt-section-nav__link:hover,
.svt-section-nav__link:focus-visible{color:var(--pxc-ink)}
.svt-section-nav__link.is-active{
  color:var(--pxc-ink);font-weight:600;border-bottom-color:var(--pxc-green);
}
.svt-section-nav__link.is-active::after{display:none!important}
.svt-section-nav__control{
  flex:0 0 auto;width:28px;height:28px;border:1px solid var(--pxc-line);
  background:#fff;border-radius:50%;color:var(--pxc-body);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;font-size:12px;padding:0;
}
.svt-section-nav__control:hover{border-color:var(--pxc-green);color:var(--pxc-greend)}

@media(max-width:780px){
  .svt-section-nav__inner{padding:0 18px;gap:10px;min-height:46px}
  .svt-section-nav__label{display:none}
  .svt-section-nav__link{font-size:12.5px;padding:13px 10px}
}

/* --- footer link sizing -------------------------------------------------- */
.pxf-links a{font-size:13.5px;line-height:1.5}
.pxf-links li{margin-bottom:7px}
.pxf-col-title{font-size:15px}
.pxf-group-title{font-size:13.5px;margin:18px 0 8px}
.pxf-contact{font-size:14px;line-height:1.7}
.pxf-copyright,.pxf-legal,.pxf-legal a{font-size:13.5px}

/* --- sticky nav: brand active state, not the inherited beige pill -------- */
.svt-section-nav__link{
  background:transparent!important;
  border:0!important;
  border-bottom:2px solid transparent!important;
  border-radius:0!important;
}
.svt-section-nav__link.is-active{
  background:transparent!important;
  color:var(--pxc-ink)!important;
  border-bottom-color:var(--pxc-green)!important;
  font-weight:600;
}
.svt-section-nav__link.is-active::after{display:none!important;content:none!important}

/* ==========================================================================
   WCAG AA contrast
   The inherited muted grey and the brand green both failed 4.5:1 as text on
   white and on the light tint. Brand green is unchanged as a fill, bar and
   underline; only green *text* and muted *text* are darkened.
   ========================================================================== */
:root{
  --pxc-muted:#63707b;   /* was #8b98a6 — 2.94:1 on white */
  --pxc-greend:#3f7d09;  /* was #63bf11 — 2.34:1 on white */
}

/* Active-state and focus indicators must clear 3:1 as non-text UI. Brand
   green is 1.82:1 on white, so indicators use the darker green while purely
   decorative rules keep the brand colour. */
.svt-section-nav__link.is-active{border-bottom-color:var(--pxc-greend)!important}
.svt-section-nav :focus-visible,
.pxf :focus-visible{outline:3px solid var(--pxc-greend);outline-offset:2px}
