header .header-inner{position:relative}
.primary-nav{display:flex;align-items:center;gap:28px}
.primary-nav .nav-link,.services-menu>summary{color:var(--body);font-size:.67rem;font-weight:600;letter-spacing:.13em;text-decoration:none;text-transform:uppercase;transition:color .2s}
.primary-nav .nav-link:hover,.services-menu>summary:hover{color:var(--sage)}
.primary-nav .nav-link[aria-current="page"]{color:var(--sage)}
.services-menu{position:relative}
.services-menu>summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer}
.services-menu>summary::-webkit-details-marker{display:none}
.services-menu>summary::after{content:"";width:6px;height:6px;margin-top:-3px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.services-menu[open]>summary::after{margin-top:3px;transform:rotate(225deg)}
.services-dropdown{position:absolute;z-index:20;top:calc(100% + 17px);left:-18px;display:grid;min-width:235px;padding:8px;background:var(--paper);border:1px solid var(--line);box-shadow:0 16px 35px rgba(48,57,54,.13)}
.services-dropdown a{padding:12px 13px;color:var(--body);font-size:.72rem;font-weight:500;letter-spacing:.035em;text-decoration:none;white-space:nowrap}
.services-dropdown a:hover,.services-dropdown a[aria-current="page"]{background:rgba(101,120,100,.09);color:var(--ink)}
header .btn.header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:35px;margin:0;padding:0 16px;background:transparent;border:1px solid var(--sage);color:var(--sage);font-family:Montserrat,Arial,sans-serif;font-size:.56rem;font-weight:600;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;white-space:nowrap;transition:.2s}
header .btn.header-cta:hover{background:rgba(101,120,100,.08);color:#4f6250}
.mobile-menu{display:none;position:relative}
.mobile-menu>summary{display:flex;align-items:center;gap:8px;padding:9px 2px;color:var(--sage);font-size:.64rem;font-weight:600;letter-spacing:.13em;list-style:none;text-transform:uppercase;cursor:pointer}
.mobile-menu>summary::-webkit-details-marker{display:none}
.mobile-menu>summary::after{content:"";width:7px;height:7px;margin-top:-4px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.mobile-menu[open]>summary::after{margin-top:4px;transform:rotate(225deg)}
.mobile-nav{position:absolute;z-index:30;top:calc(100% + 12px);right:0;display:grid;width:min(295px,calc(100vw - 38px));padding:14px;background:var(--paper);border:1px solid var(--line);box-shadow:0 18px 40px rgba(48,57,54,.16)}
.mobile-nav-label{padding:7px 10px;color:var(--sage);font-size:.63rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.mobile-nav a{padding:11px 10px;color:var(--body);font-size:.77rem;font-weight:500;line-height:1.35;text-decoration:none}
.mobile-nav .mobile-service-link{padding-left:23px}
.mobile-nav a:hover,.mobile-nav a[aria-current="page"]{background:rgba(101,120,100,.09);color:var(--ink)}
.mobile-nav .mobile-contact{margin-top:8px;padding:12px 10px;border:1px solid var(--sage);color:var(--sage);font-size:.65rem;font-weight:600;letter-spacing:.1em;text-align:center;text-transform:uppercase}
.primary-nav a:focus-visible,.services-menu>summary:focus-visible,.services-dropdown a:focus-visible,.mobile-menu>summary:focus-visible,.mobile-nav a:focus-visible{outline:3px solid #987846;outline-offset:3px}
@media(max-width:850px){.primary-nav{display:none}.mobile-menu{display:block}header .logo-link{width:min(210px,58vw)!important}}
@media(max-width:360px){header .logo-link{width:165px!important}.mobile-menu>summary{font-size:.58rem;letter-spacing:.09em}}
@media(prefers-reduced-motion:reduce){.services-menu>summary::after,.mobile-menu>summary::after{transition:none}}
