/* Keep the existing header visible in both scroll directions. */
html { scroll-padding-top: calc(var(--header-height, 116px) + 16px); }
body > header { position: fixed; inset: 0 0 auto; z-index: 15; background: #004437; }
body > header.at-page-top { background: transparent; }
body > header:not(.at-page-top) { box-shadow: 0 4px 18px #001c2430; }
@media (max-width: 760px) {
  html { --header-height: 104px; }
}

/* Accessible services disclosure, available on desktop and mobile. */
header .services-menu{position:relative;border:0;margin:0;padding:0;color:inherit}
header .services-menu>summary{display:flex;align-items:center;gap:8px;list-style:none;padding:0;border:0;font:inherit;font-size:.9rem;cursor:pointer;color:inherit;white-space:nowrap}
header .services-menu>summary::-webkit-details-marker{display:none}
header .services-menu>summary:after{content:'⌄';font-size:1rem;float:none}
header .services-menu[open]>summary:after{content:'⌃'}
header .services-dropdown{position:absolute;top:calc(100% + 18px);left:0;width:245px;padding:10px;background:#fff;color:#004437;border:1px solid #d7e4dc;border-radius:14px;box-shadow:0 12px 35px #001c2433}
header .services-menu:not([open]) .services-dropdown{display:none}
header .services-dropdown a{display:block;padding:11px 13px;border-radius:8px;color:#004437;white-space:nowrap;font-size:.9rem;text-decoration:none}
header .services-dropdown a:hover,header .services-dropdown a:focus-visible{background:#eaf9ef;color:#004437}
@media(max-width:1100px){header nav{display:flex;margin-left:auto}header nav>a{display:none}}
@media(max-width:760px){header .header-inner{flex-wrap:wrap;gap:10px 16px;padding-block:12px}header nav{order:4;width:100%;margin:0}header .services-dropdown{top:calc(100% + 10px);max-width:calc(100vw - 48px)}}

.service-card .service-details{margin:0 0 22px;border:0;border-top:1px solid #ffffff55;color:#fff}
.service-card .service-details>summary{padding:13px 0;color:#fff;font-size:.9rem;cursor:pointer;list-style:none}
.service-card .service-details>summary:after{content:'+';float:right;margin-left:12px}
.service-card .service-details[open]>summary:after{content:'−'}
.service-card .service-details>summary::-webkit-details-marker{display:none}
.service-card .service-details p,.service-card .service-details li{color:#fff;font-size:.88rem;line-height:1.65}
.service-card .service-details p{margin:6px 0 12px}
.service-card .service-details ul{padding-left:18px;list-style:disc;margin:10px 0 6px}
.service-card .service-details li{margin:0 0 9px}
.service-card .service-details li:before{content:none}
.service-card:has(.service-details[open]).photo:after{background:rgba(0,38,28,.88)}
