/* Dark emerald identity layer. Kept after the existing navigation styles. */
.ej-header,
.ej-dialog {
  --ej-ivory: #f3f0e6;
  --ej-soft: #c0d0c3;
  --ej-gold: #c5ad77;
  --ej-focus: #e5ca8c;
  color-scheme: dark;
}
.ej-header {
  background: #082e27;
  box-shadow: 0 7px 30px #021c1a33;
}
.ej-identity-strip {
  color: #cdd8cc;
  background: #041e1b;
  border-bottom-color: #bba06a20;
}
.ej-identity-strip:before {
  background: repeating-linear-gradient(135deg,transparent,transparent 46px,#bba06a03 46px,#bba06a03 47px);
}
.ej-status-dot {
  background: #c5ad77;
  box-shadow: 0 0 0 4px #c5ad7710;
}
.ej-strip-divider { background: #d7c28c32; }
.ej-strip-tagline { color: #a4bcae; }
.ej-strip-links>a { color: #d3dfd2; }
.ej-strip-links>a:hover { color: #ecd9ad; }
.ej-strip-links .ej-icon { color: #c5ad77; }
.ej-location-coverage { color: #a9c0b1; }
.ej-registry-link { border-inline-start-color: #c5ad7728; }
.ej-navigation-surface {
  background: linear-gradient(115deg,#062d26f5 3%,#104d3cf2 61%,#0a382df5);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid #bba06a7a;
}
.ej-wordmark strong { color: #f3f0e6; }
.ej-wordmark>span { color: #c4cfba; }
.ej-wordmark>span:before { background: #c5ad77; }
.ej-emblem {
  background: radial-gradient(circle at 35% 20%,#174c3d,#082c25 80%);
  border-color: #aec2ad3b;
  box-shadow: inset 0 0 0 3px #082e27,0 0 20px #bba06a09;
}
.ej-emblem:after { border-color: #c5ad7770; }
.ej-emblem picture { overflow: visible; }
.ej-emblem img {
  mix-blend-mode: normal;
  filter: brightness(1.95) saturate(.35) contrast(.9) drop-shadow(0 1px 3px #00000020);
}
.ej-main-nav>a {
  color: #c5d1c4;
  border-radius: 7px;
  isolation: isolate;
}
.ej-main-nav>a:before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 22px -9px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  transition: background .2s,border-color .2s;
}
.ej-main-nav>a:hover { color: #f3f0e6; }
.ej-main-nav>a:hover:before {
  border-color: #acc4a91a;
  background: #ffffff09;
}
.ej-main-nav>a[aria-current=page] { color: #e0c68f; }
.ej-main-nav>a:after { background: #c5ad77; }
.ej-explore-button {
  background: #ffffff08;
  border-color: #b7c7ae3d;
  color: #e6e9db;
  box-shadow: inset 0 1px 0 #ffffff05;
}
.ej-explore-button:hover {
  background: #ffffff13;
  border-color: #c5ad7780;
}
.ej-explore-button>.ej-icon { color: #cbb682; }
.ej-explore-button kbd {
  color: #c6d0be;
  background: #052c254f;
  border-color: #b7c7ae24;
}
.ej-call {
  background: #c6ae79;
  color: #092f28;
  border-color: #d4bc86;
  box-shadow: inset 0 1px 0 #f5e8c438,0 5px 15px #001e1933;
}
.ej-call:hover {
  background: #d7c18f;
  border-color: #e0ca9a;
  box-shadow: 0 7px 18px #001e1955;
}
.ej-call-symbol {
  color: #123d2c;
  border-inline-end-color: #183e2e30;
}
.ej-call-copy>small { color: #294b34; }
.ej-call-copy>bdi { color: #092f28; }
.ej-mobile-menu {
  background: #ffffff08;
  border-color: #b7c7ae42;
  color: #eee9d9;
}
.ej-mobile-menu:hover {
  background: #ffffff14;
  border-color: #c5ad7780;
}
.ej-header.ej-compact { box-shadow: 0 9px 29px #021c1a42; }
.ej-compact .ej-main-nav>a:before { inset-block: 15px; }
.ej-reading-progress>span { background: linear-gradient(90deg,#e2d4af,#b69759); }
.ej-header :focus-visible,
.ej-dialog :focus-visible {
  outline: 2px solid #e5ca8c;
  outline-offset: 4px;
}

/* The whole searchable services panel follows the emerald palette. */
.ej-dialog {
  background: #082e27;
  color: #f3f0e6;
  border-color: #7e9d8178;
  box-shadow: 0 35px 100px #001410b3,inset 0 1px 0 #d6c49520;
  scrollbar-color: #53725c #082e27;
}
.ej-dialog::backdrop {
  background: #001c19b3;
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
}
.ej-dialog-shell {
  background: radial-gradient(ellipse at 85% 0%,#1d59401f,transparent 65%);
}
.ej-dialog-eyebrow { color: #c4b58c; }
.ej-dialog-heading h2 { color: #f3f0e6; }
.ej-dialog-close {
  background: #154334;
  color: #e7e9da;
  border-color: #8ba47e3d;
}
.ej-dialog-close:hover {
  background: #215441;
  border-color: #c5ad7799;
}
.ej-dialog-nav { border-bottom-color: #91ad872b; }
.ej-dialog-nav>a { color: #b0c5b4; }
.ej-dialog-nav>a:hover { color: #f0e2bc; }
.ej-dialog-nav>a[aria-current=page] { color: #dcc48e; }
.ej-dialog-search {
  background: #113f32;
  border-color: #7a9a7866;
  box-shadow: inset 0 1px 0 #ffffff04,0 3px 12px #001d1815;
}
.ej-dialog-search:focus-within {
  border-color: #c5ad77;
  box-shadow: 0 0 0 3px #c5ad7714;
}
.ej-dialog-search>.ej-icon { color: #c5ad77; }
.ej-dialog-search>input {
  color: #f5f1e7;
  caret-color: #e5ca8c;
}
.ej-dialog-search>input::placeholder { color: #afc2af; }
.ej-dialog-search>input:focus-visible { outline: none; }
.ej-search-clear {
  color: #d0dbc8;
  background: #24513d;
}
.ej-search-clear:hover { background: #356249; }
.ej-filter-list { scrollbar-color: #53725c #082e27; }
.ej-filter-list>button {
  background: #10392d;
  border-color: #7f9d773d;
  color: #c0d1bc;
}
.ej-filter-list>button:hover {
  background: #1c4b39;
  border-color: #c5ad7773;
  color: #f2ecdb;
}
.ej-filter-list>button[aria-pressed=true] {
  color: #153c2d;
  background: #c5ad77;
  border-color: #d3bc88;
}
.ej-filter-list>button[aria-pressed=true]:hover {
  background: #d6bf8b;
  color: #153c2d;
}
.ej-result-heading { color: #b5c7af; }
.ej-result-heading>a { color: #d9c28e; }
.ej-result-heading>a:hover { color: #f0deaf; }
.ej-service {
  background: #104333;
  border-color: #74926b42;
  box-shadow: inset 0 1px 0 #ffffff03;
}
.ej-service-number { color: #aebc9d; }
.ej-service strong { color: #edf0df; }
.ej-service small { color: #b5c6aa; }
.ej-service>.ej-icon { color: #c4b17d; }
.ej-service:hover {
  background: #1c523d;
  border-color: #bda56f99;
  box-shadow: 0 4px 13px #001f181f;
}
.ej-service:hover>.ej-icon { color: #e3ca92; }
.ej-service.ej-service-current {
  background: #234b36;
  border-color: #c5ad77;
}
.ej-service.ej-service-current strong { color: #eddaad; }
.ej-dialog-footer {
  background: #06271f;
  color: #b4c8ad;
  border-top-color: #8ca87930;
}
.ej-dialog-footer>span>.ej-icon { color: #b6aa7b; }
.ej-dialog-footer>a { color: #dec68f; }
.ej-dialog-footer>a:hover { color: #f1dfb2; }
.ej-search-empty strong { color: #f0ecdf; }
.ej-search-empty p { color: #bbccb3; }
.ej-search-empty a { color: #ddc48d; }

@media(max-width:1100px) {
  .ej-main-nav { border-top-color: #91ad872b; }
  .ej-main-nav>a:before { inset: 1px -8px; }
  .ej-compact .ej-main-nav>a:before { inset-block: 1px; }
}
@media(max-width:700px) {
  .ej-navigation-surface {
    background: linear-gradient(115deg,#062d26fa,#104d3cf7 65%,#0a382dfa);
  }
  .ej-call-symbol { border: 0; }
  .ej-dialog-shell {
    background: radial-gradient(ellipse at 85% 0%,#1d594021,transparent 65%);
  }
}
@media(prefers-reduced-motion:reduce) {
  .ej-header *,
  .ej-header *:before,
  .ej-header *:after,
  .ej-dialog * {
    animation: none !important;
    transition: none !important;
  }
}
/* Keep the complete navigation visible on compact desktop previews and laptops. */
@media(min-width:960px) and (max-width:1100px) {
  .ej-navigation-row {
    min-height:94px;
    flex-wrap:nowrap;
    padding-block:0;
    gap:17px;
  }
  .ej-brand { margin-inline-end:0;gap:10px; }
  .ej-emblem { width:58px;height:58px; }
  .ej-wordmark strong { font-size:21px; }
  .ej-wordmark>span { font-size:9px; }
  .ej-header.ej-ready .ej-main-nav,
  .ej-main-nav {
    display:flex;
    order:0;
    flex:0 1 auto;
    align-self:stretch;
    align-items:center;
    justify-content:center;
    gap:16px;
    border-top:0;
    padding-top:0;
  }
  .ej-main-nav>a { font-size:11px; }
  .ej-main-nav>a:before { inset:22px -7px; }
  .ej-main-nav>a:after { bottom:22px; }
  .ej-actions { gap:9px; }
  .ej-explore-button { width:42px;height:46px;padding:0; }
  .ej-explore-button>span,
  .ej-explore-button>kbd { display:none; }
  .ej-call { padding-inline:10px 5px;gap:8px; }
  .ej-call-copy>small { font-size:8px; }
  .ej-call-copy>bdi { font-size:13px; }
  .ej-header.ej-ready .ej-mobile-menu:not([hidden]),
  .ej-mobile-menu { display:none; }
  .ej-compact .ej-navigation-row { min-height:79px;padding-block:0; }
  .ej-compact .ej-emblem { width:52px;height:52px; }
  .ej-compact .ej-main-nav>a:before { inset-block:15px; }
  .ej-compact .ej-main-nav>a:after { bottom:15px; }
}

/* The main search and primary action share the emerald/gold header palette. */
.hero .search-box{background:#0b3a30;border-color:#49705b;box-shadow:0 14px 35px #021e2524}
.hero .search-box input{color:#eff2e5}.hero .search-box input::placeholder{color:#afc6b6}
.hero .search-box>.icon{color:#d4bc80}.hero .search-box>button{background:#d4bc80;color:#073c31;border-color:#d4bc80}
.hero .search-box>button:hover{background:#e6d49e;color:#073c31}
.hero .search-box:focus-within{border-color:#d4bc80;box-shadow:0 0 0 3px #d4bc801c,0 14px 35px #021e2524}
.hero .search-results{background:#0b342b;border-color:#49705b;color:#eff2e5;box-shadow:0 20px 45px #021d2580}
.hero .search-results .search-result{border-color:#7b9b7f2e;color:#eff2e5}.hero .search-results .search-result:hover,.hero .search-results .search-result:focus{background:#174b39}
.hero .search-result-copy strong{color:#eff2e5}.hero .search-result-copy>span{color:#afc6b6}.hero .search-result-arrow{color:#d4bc80}
.hero-primary-actions .button{color:#073c31;background:linear-gradient(125deg,#d8c38d,#bda16c);border-color:#d4bc80;box-shadow:0 7px 22px #021c2526}
.hero-primary-actions .button:hover{color:#073c31;background:linear-gradient(125deg,#e4d09e,#ccb078);border-color:#e4d09e}
