/* Shared navigation: one opaque surface, independent of legacy page headers. */
:root { --ce-nav-height: 84px; --public-header-height: 84px; }
body.public-site .ce-nav-header {
  position: fixed; inset: 0 0 auto; z-index: 1000;
  height: var(--ce-nav-height); background: #fff;
  border-bottom: 1px solid #e1e9e5;
  box-shadow: 0 3px 16px rgb(9 46 36 / 5%);
  font-family: "Segoe UI", Arial, sans-serif;
}
body.public-site .ce-nav-inner { width: min(1320px, calc(100% - 80px)); height: 100%; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
body.public-site .ce-nav-brand { display: flex; flex: 0 0 auto; align-items: center; text-decoration: none; }
body.public-site .ce-nav-brand img { display: block; width: 86px; height: 66px; object-fit: contain; }
body.public-site .ce-nav-links { display: flex; align-items: center; gap: clamp(19px, 2.2vw, 34px); height: 100%; }
body.public-site .ce-nav-link { position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: 10px 0; border: 0; border-radius: 0; color: #263d35; font-size: 14px; font-weight: 600; line-height: 1.4; text-decoration: none; white-space: nowrap; transition: color .18s; }
body.public-site .ce-nav-link::after { content: ""; position: absolute; height: 3px; border-radius: 2px; inset: auto 0 0; background: #008654; transform: scaleX(0); transform-origin: left; transition: transform .18s; }
body.public-site .ce-nav-link:is(:hover, .is-active) { color: #00774b; }
body.public-site .ce-nav-link:is(:hover, .is-active)::after { transform: scaleX(1); }
body.public-site .ce-nav-link.ce-nav-contact { background: #007a4e; color: #fff; padding: 12px 21px; gap: 22px; border-radius: 5px; margin-left: 8px; }
body.public-site .ce-nav-contact::after { display: none; }
body.public-site .ce-nav-link.ce-nav-contact:is(:hover, .is-active) { background: #005b3d; color: #fff; }
body.public-site .ce-nav-contact > span { font-size: 20px; line-height: 1; }
body.public-site .ce-nav-toggle { display: none; }
body.public-site #main-content { padding-top: var(--public-header-height); }
body.public-site:has(.public-flash) #main-content { padding-top: 0; }
body.public-site .public-flash { position: relative; margin: calc(var(--public-header-height) + 16px) auto 16px; }
body.public-site.public-menu-open { overflow: hidden; }
body.public-site .ce-nav-header :focus-visible { outline: 3px solid #008654; outline-offset: 5px; box-shadow: none; }
@media (max-width: 1080px) {
  :root { --ce-nav-height: 74px; --public-header-height: 74px; }
  body.public-site .ce-nav-inner { width: calc(100% - 40px); }
  body.public-site .ce-nav-brand img { width: 75px; height: 57px; }
  body.public-site .ce-nav-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 44px; padding: 9px 13px; background: #fff; color: #173b2e; border: 1px solid #d8e3dd; border-radius: 5px; font-family: inherit; font-size: 13px; font-weight: 600; }
  body.public-site .ce-nav-toggle-icon { display: grid; align-content: center; gap: 5px; height: 20px; width: 20px; }
  body.public-site .ce-nav-toggle-icon > span { display: block; height: 2px; width: 20px; background: currentColor; transition: transform .18s; }
  body.public-site .ce-nav-toggle[aria-expanded="true"] .ce-nav-toggle-icon > span:first-child { transform: translateY(3.5px) rotate(45deg); }
  body.public-site .ce-nav-toggle[aria-expanded="true"] .ce-nav-toggle-icon > span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  body.public-site .ce-nav-links { display: none; position: fixed; inset: var(--ce-nav-height) 0 auto; height: auto; max-height: calc(100dvh - var(--ce-nav-height)); overflow-y: auto; overscroll-behavior: contain; align-items: stretch; gap: 0; padding: 12px 20px 24px; background: #fff; border-bottom: 1px solid #d8e3dd; box-shadow: 0 20px 35px rgb(5 45 31 / 13%); }
  body.public-site .ce-nav-links.is-open { display: flex; flex-direction: column; }
  body.public-site .ce-nav-link { padding: 17px 14px; min-height: 54px; border-bottom: 1px solid #edf1ee; font-size: 16px; }
  body.public-site .ce-nav-link::after { display: none; }
  body.public-site .ce-nav-link.is-active { background: #eaf8ef; color: #006f44; border-radius: 4px; }
  body.public-site .ce-nav-link.ce-nav-contact { margin: 16px 0 0; justify-content: space-between; padding-inline: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  body.public-site :is(.ce-nav-link, .ce-nav-link::after, .ce-nav-toggle-icon > span) { transition: none; }
}
