
/* Original homepage's transparent header, isolated from every page's own CSS. */
:host{display:block;all:initial;--sans:'IBM Plex Sans',Arial,sans-serif;--serif:Georgia,'Times New Roman',serif;color:#e2efe5;font-family:var(--sans);font-size:14px;line-height:1.45}
*,*::before,*::after{box-sizing:border-box}
.video-nav-wrap{position:relative;inset:auto;display:block;width:100%;height:94px;margin:0;padding:0;border:0;background:transparent;color:#e2efe5;transition:background-color .2s ease,border-color .2s ease}
:host(.is-scrolled) .video-nav-wrap{background:rgba(6,28,19,.97);border-bottom:1px solid rgba(213,232,220,.22)}
.video-nav.shell{width:min(calc(100% - 2rem),1180px);height:94px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative}
.video-brand{display:block;flex-shrink:0}
.video-brand img{display:block;width:176px;height:auto;max-height:70px;object-fit:contain;filter:none;background:transparent!important;padding:0!important;border:0!important;border-radius:0!important}
a{color:inherit;text-decoration:none}button{font-family:inherit;font-size:inherit}
.video-site-nav{display:flex;align-items:center;gap:1.2rem;color:#e2efe5;font-size:.78rem}
.video-site-nav>a:hover,.video-nav-link:hover{color:#a7d7be}
.video-nav-cta{border:1px solid rgba(255,255,255,.72);padding:.62rem .85rem;color:#fff!important;border-radius:999px;white-space:nowrap}
.video-nav-cta:hover{background:#a7d7be;color:#0a2418!important}
.video-menu-toggle{display:none;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:transparent;color:#fff;padding:.5rem .8rem;cursor:pointer}
.video-nav-link{border:0;background:transparent;color:#e2efe5;cursor:pointer;padding:.35rem .15rem}
.services-menu-wrap{position:relative}
.mega-menu-group{min-width:0}
.mega-menu-feature h2{font-weight:500}
.services-menu-trigger[aria-expanded="true"] span{display:inline-block;transform:rotate(180deg)}
a:focus-visible,button:focus-visible{outline:2px solid #a7d7be;outline-offset:3px}
.services-mega-menu,.site-header .mega-menu{position:fixed;z-index:120;top:72px;right:0;left:0;width:100vw;max-height:calc(100vh - 72px);overflow:auto;padding:2.2rem max(2rem,calc((100vw - 1400px)/2)) 0;border:0;border-top:1px solid rgba(213,232,220,.22);border-radius:0;background:#061c13;color:#f4f8f5;box-shadow:0 1.4rem 3rem rgba(0,0,0,.24);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.services-mega-menu[hidden],.site-header .mega-menu:not(.is-open){display:none}
.services-mega-menu:not([hidden]),.site-header .mega-menu.is-open{display:block}
.mega-menu-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,280px);gap:clamp(2rem,4vw,4rem);max-width:1400px;margin:0 auto}
.mega-menu-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2.5vw,2.5rem)}
.mega-menu-group{min-width:0}
.mega-menu-label{margin:0 0 1rem;color:#9edab9;font-size:.68rem;font-weight:700;letter-spacing:.16em;line-height:1.15;text-transform:uppercase}
.mega-menu-group a{display:block;padding:.7rem 0;border-top:1px solid rgba(213,232,220,.18);color:#f4f8f5;text-decoration:none}
.mega-menu-group a:hover{background:rgba(158,218,185,.08);color:#9edab9}
.mega-menu-group strong,.mega-menu-group small{display:block}
.mega-menu-group strong{font-family:var(--sans);font-size:.9rem;font-weight:600;line-height:1.2}
.mega-menu-group small{margin-top:.28rem;color:#b9cec2;font-size:.72rem;line-height:1.35}
.mega-menu-feature{align-self:start;min-height:260px;padding:1.5rem 1.35rem;border:1px solid rgba(158,218,185,.24);border-radius:1.2rem;background:linear-gradient(145deg,rgba(158,218,185,.12),rgba(6,28,19,.36));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.mega-menu-feature h2{margin:.9rem 0 1rem;color:#f4f8f5;font-family:var(--serif);font-size:clamp(1.8rem,2.6vw,2.55rem);font-weight:500;letter-spacing:-.04em;line-height:.96}
.mega-menu-feature p:not(.mega-menu-label){margin:0;color:#c6d8cd;font-size:.9rem;line-height:1.6}
.mega-menu-feature>a{display:inline-block;margin-top:1.4rem;color:#42c28b;font-size:.8rem;font-weight:700;text-decoration:none}
.mega-menu-feature>a:hover{text-decoration:underline;text-underline-offset:.2em}
.mega-menu-footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:2.25rem auto 0;padding:1rem 0 1.1rem;border-top:1px solid rgba(213,232,220,.2);max-width:1400px;color:#dcebe2;font-size:.85rem}
.mega-menu-footer span{font-weight:600}
.mega-menu-footer a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1.15rem;border-radius:999px;background:#36bd83;color:#062016;font-size:.78rem;font-weight:700;text-decoration:none}
.mega-menu-footer a:hover{background:#9edab9}
.services-menu-trigger[aria-expanded="true"] span,.services-trigger[aria-expanded="true"] span{display:inline-block;transform:rotate(180deg)}
@media(max-width:900px){.services-mega-menu,.site-header .mega-menu{top:72px;max-height:calc(100vh - 72px);padding:1.5rem 1.25rem 0}.mega-menu-inner{grid-template-columns:1fr;gap:1.5rem}.mega-menu-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.mega-menu-feature{min-height:0}.mega-menu-footer{margin-top:1.5rem}.site-header .mega-menu{position:fixed}}
@media(max-width:600px){.mega-menu-groups{grid-template-columns:1fr}.mega-menu-footer{display:grid;justify-content:stretch}.mega-menu-footer a{width:100%}}
@media(prefers-reduced-motion:reduce){.services-mega-menu,.site-header .mega-menu{backdrop-filter:none;-webkit-backdrop-filter:none}}
/* Guard menu and logo against any older sticky-header styles. */
.services-mega-menu{top:94px!important;max-height:calc(100dvh - 94px);box-sizing:border-box}
@media(max-width:900px){.services-mega-menu{top:84px!important;max-height:calc(100dvh - 84px)}}
@media(max-width:700px){
 .video-nav-wrap,.video-nav.shell{height:84px}
 .video-brand img{width:150px;max-height:65px}
 .video-menu-toggle{display:block}
 .video-site-nav{display:none;position:absolute;top:calc(100% - 1px);right:0;left:0;z-index:20;padding:.75rem;border:1px solid rgba(255,255,255,.4);background:rgba(7,25,17,.98);box-shadow:0 14px 35px rgba(0,0,0,.3);max-height:calc(100dvh - 85px);overflow-y:auto}
 .video-site-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:.2rem}
 .video-site-nav>a{display:block;padding:.65rem}
 .video-nav-link{width:100%;text-align:left;padding:.65rem}
 .services-menu-wrap{width:100%}
 .services-mega-menu{position:relative!important;top:auto!important;right:auto;left:auto;width:100%!important;max-height:min(65dvh,560px);overflow:auto;margin:.4rem 0;padding:.8rem;box-shadow:none}
 .mega-menu-inner,.mega-menu-groups{grid-template-columns:1fr}
 .mega-menu-feature{display:none}
 .mega-menu-footer{flex-direction:column}
 .video-nav-cta{text-align:center}
}

/* Interior pages: accessible contrast before scrolling, without burying the green brand icon.
   The homepage and the existing scrolled state intentionally remain unchanged. */
:host(.is-inner:not(.is-scrolled)) .video-nav-wrap {
  background:#f2f5ef;
  border-bottom:1px solid #d6e0d8;
  color:#173a2b;
}
:host(.is-inner:not(.is-scrolled)) .video-site-nav,
:host(.is-inner:not(.is-scrolled)) .video-nav-link {color:#173a2b}
:host(.is-inner:not(.is-scrolled)) .video-site-nav>a:hover,
:host(.is-inner:not(.is-scrolled)) .video-nav-link:hover {color:#087a53}
:host(.is-inner:not(.is-scrolled)) .video-nav-cta,
:host(.is-inner:not(.is-scrolled)) .video-menu-toggle {
  color:#173a2b!important;
  border-color:#1e5540;
}
:host(.is-inner:not(.is-scrolled)) .video-nav-cta:hover {background:#d6eadf}
/* On scrolling, add a light edge highlight to the icon on its dark header. */
:host(.is-inner.is-scrolled) .video-brand img {
    filter: none !important;
    opacity: 1 !important;
    transform: none !important;
    mix-blend-mode: normal !important;
}
@media(max-width:700px){
 :host(.is-inner:not(.is-scrolled)) .video-site-nav.is-open {background:#f2f5ef;border-color:#d6e0d8}
 :host(.is-inner:not(.is-scrolled)) .video-menu-toggle {color:#173a2b}
}
