:root { --site-header-height: 80px; }
body > .site-header.site-header {
  position: sticky;
  inset: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  height: var(--site-header-height);
  padding: 16px var(--page-gutter);
  background: var(--paper);
  color: var(--green);
  border-bottom: 1px solid #06272412;
  pointer-events: auto;
}
body .site-header .site-header-brand img { width: 180px; }
/* Header logos stay green; the menu logo is white against its dark background. */
body .site-header .site-header-brand img { filter: brightness(0) saturate(100%) invert(12%) sepia(19%) saturate(1866%) hue-rotate(124deg) brightness(95%) contrast(101%) !important; }
body .site-menu-brand img { filter: brightness(0) invert(1) !important; }
body .site-menu-brand { background: transparent; padding: 0; }
body .site-header-links { display: flex; align-items: center; gap: clamp(20px, 2.2vw, 36px); }
body .site-header-links a { color: var(--text-secondary); font-size: var(--type-control); text-decoration: none; }
body .site-header-links a:hover { color: var(--green); text-decoration: underline; text-underline-offset: 5px; }
body .site-header-links .site-header-cta { display: inline-flex; align-items: center; gap: 20px; padding: 12px 20px; border-radius: 5px; background: #60734a; color: var(--paper); }
body .site-header .site-menu-toggle.menu-toggle { display: none; color: var(--green); }
body .site-header-links a:focus-visible { outline: 2px solid #60734a; outline-offset: 5px; }
body .site-header-services { position: relative; }
body .site-header-services summary { display: inline-flex; align-items: center; gap: 10px; padding-block: 10px; color: var(--text-secondary); font-size: var(--type-control); list-style: none; cursor: pointer; }
body .site-header-services summary::-webkit-details-marker { display: none; }
body .site-header-services summary::after { content: ''; flex-shrink: 0; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); }
body .site-header-services[open] summary::after { transform: translateY(2px) rotate(225deg); }
body .site-header-services summary:focus-visible { outline: 2px solid #60734a; outline-offset: 4px; }
body .site-header-services-list { position: absolute; z-index: 120; top: calc(100% + 10px); left: -20px; width: 330px; padding: 8px; border: 1px solid #06272426; border-radius: 6px; background: var(--paper); box-shadow: 0 12px 32px #06272426; }
body .site-header-services:not([open]) .site-header-services-list { display: none; }
body .site-header-services-list a { display: block; padding: 12px 14px; border-radius: 3px; line-height: 1.4; }
body .site-header-services-list a:hover { background: #e9ede2; text-decoration: none; }
body .site-header-services-list .site-header-all-services { display: flex; justify-content: space-between; margin-top: 4px; border-top: 1px solid #06272426; border-radius: 0; color: var(--green); font-weight: 600; }

body > main > section { scroll-margin-top: 80px; }
@media (max-width: 1000px) {
  :root { --site-header-height: 76px; }
  body .site-header-links { display: none; }
  body .site-header .site-menu-toggle.menu-toggle { display: block; top: 14px; }
}
@media (max-width: 720px) {
  :root { --site-header-height: 72px; }
  body > .site-header.site-header { padding: 12px 24px; }
  body .site-header .site-header-brand img { width: 148px; }
  body > main > section { scroll-margin-top: 72px; }
}
