header nav.top-navigation{gap:26px;font-size:.76rem;letter-spacing:.055em}
header .top-navigation>a:last-child{padding:10px 18px}
.nav-word{display:block;position:relative;overflow:hidden;height:1.9em;line-height:1.9}
.nav-word>span{display:block;transition:transform 180ms ease}
.nav-word>span+span{position:absolute;top:100%;left:0;color:#176a73}
@media(hover:hover){.top-nav-link:hover .nav-word>span,.service-disclosure>summary:hover .nav-word>span{transform:translateY(-100%)}}
.top-nav-link:focus-visible .nav-word>span,.service-disclosure>summary:focus-visible .nav-word>span{transform:translateY(-100%)}
.service-disclosure{position:relative;min-width:0}.top-navigation .service-disclosure{padding-bottom:18px;margin-bottom:-18px}
.service-disclosure>summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;font-weight:700}
.service-disclosure>summary::-webkit-details-marker{display:none}
.nav-plus{font-weight:400;font-size:1rem;line-height:1}
.service-disclosure[open] .nav-plus{font-size:0}.service-disclosure[open] .nav-plus:after{content:'−';font-size:1rem}
.service-popup{position:absolute;top:100%;left:-120px;width:min(640px,80vw);padding:28px;background:#eff7f2;border:1px solid #c3d7cd;border-radius:8px;box-shadow:0 18px 45px #153f4924;letter-spacing:0;z-index:30;max-height:75svh;overflow:auto}
.service-popup:before{content:'';position:absolute;left:0;right:0;top:-20px;height:20px}
.popup-caption{font-size:.66rem;letter-spacing:.15em;color:#477973;display:block;margin-bottom:18px}
.popup-services{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
header .service-popup a,.service-popup a{display:flex;align-items:center;gap:12px;border:0;padding:12px 5px;text-decoration:none;border-radius:0;font-size:.73rem;line-height:1.6;font-weight:500}
.service-popup a:hover,.service-popup a:focus-visible{background:#dcece3}
.service-popup .service-icon{width:36px;height:36px;flex:none}
header .service-popup .service-all,.service-popup .service-all{display:flex;justify-content:space-between;border-top:1px solid #c3d7cd;padding:16px 5px 0;margin-top:18px;font-size:.68rem;font-weight:700}
.service-icon{display:block;width:48px;height:48px;color:#176a73;flex:none}
.service-mark{display:grid;justify-items:start;gap:6px}.service-mark .number{margin-bottom:0}
.service-grid article{grid-template-columns:60px minmax(0,1fr);scroll-margin-top:35px}
#mobile-nav{position:relative;z-index:6}#mobile-nav>a{text-decoration:none}#mobile-nav .nav-word{display:inline-block}#mobile-nav .service-popup{position:static;width:100%;max-height:none;margin-top:15px;padding:18px;box-shadow:none}#mobile-nav .popup-services{grid-template-columns:1fr}#mobile-nav .service-disclosure>summary{justify-content:space-between}
.large-text .service-popup{position:static;width:100%;max-height:none}.large-text .popup-services{grid-template-columns:minmax(0,1fr)}
.large-text .service-grid{grid-template-columns:1fr}.large-text .service-grid article{grid-template-columns:48px minmax(0,1fr)}
.motion-stopped .nav-word>span,.motion-reduced .nav-word>span{transition:none;transform:none!important}
@media(prefers-reduced-motion:reduce){.nav-word>span{transition:none;transform:none!important}}
@media(max-width:700px){.service-grid article{grid-template-columns:48px minmax(0,1fr)}.service-icon{width:40px;height:40px}.service-popup a{overflow-wrap:anywhere}.service-popup .service-icon{width:30px;height:30px}}
header .top-navigation .service-popup a,header .top-navigation .service-popup a:last-child{border:0;padding:12px 5px;border-radius:0}
header .top-navigation .service-popup .service-all{border-top:1px solid #c3d7cd;padding:16px 5px 0}
.service-disclosure>summary:focus-visible{outline:3px solid #a56604;outline-offset:5px}

/* Six consecutive hues distinguish the numbered services without changing their meaning. */
.service-grid{gap:12px}
.service-grid article{padding:20px 18px;border:0;border-left:4px solid var(--service-ink);background:linear-gradient(110deg,var(--service-tone),#fafbf7);color:#173f46;min-width:0}
.service-grid .service-mark,.service-grid .number{color:var(--service-ink)}
.service-grid h3,.service-grid p{color:#173f46}
.service-node{background:var(--service-tone);border-color:var(--service-ink);color:var(--service-ink)}
@media(max-width:700px){.service-grid article{padding:18px 12px;gap:12px}}
@media(forced-colors:active){.service-grid article,.service-node{background:Canvas;color:CanvasText;border-color:CanvasText}.service-grid h3,.service-grid p,.service-grid .service-mark,.service-grid .number{color:CanvasText}}

/* Supplied square mark, original color and ratio preserved. */
header .logo{display:block;flex-shrink:0;line-height:0}
header .logo img{display:block;width:64px;height:64px;object-fit:contain;opacity:1;filter:none;mix-blend-mode:normal}
footer>strong{font-family:"Times New Roman",Times,serif;font-weight:400;letter-spacing:.035em}
@media(max-width:700px){header{padding-block:10px}header .logo img{width:52px;height:52px}}

/* Compact menu: generous tap target, three clear lines. */
#menu{position:relative;width:44px;height:44px;padding:0;flex:0 0 44px;border-radius:50%;color:var(--ink)}
#menu>span{position:absolute;left:10px;top:20px;width:22px;height:2px;border-radius:2px;background:currentColor;transition:transform .22s ease,opacity .18s ease}
#menu>span:first-child{transform:translateY(-7px)}
#menu>span:last-child{transform:translateY(7px)}
#menu[aria-expanded="true"]>span:first-child{transform:rotate(45deg)}
#menu[aria-expanded="true"]>span:nth-child(2){opacity:0}
#menu[aria-expanded="true"]>span:last-child{transform:rotate(-45deg)}
@media(prefers-reduced-motion:reduce){#menu>span{transition:none}}
