/* Reserve hover padding so navigation never shifts when highlighted. */
.site-nav > a:not(.site-cta) { padding:10px 8px; border-radius:4px; }
.site-logo:focus-visible,.site-nav > a:focus-visible { outline:2px solid var(--green); outline-offset:4px; }
@media(hover:hover) and (pointer:fine) {
  .site-logo:hover { color:var(--green); }
  .site-nav > a:not(.site-cta):hover { background:var(--green-light); }
  .site-nav .contact-toggle:not(:disabled):hover { background:#245f2e; }
}
@media(max-width:860px) {
  .site-nav > a:not(.site-cta) { padding:.85rem 0; border-radius:0; }
}

/* Give the current section a clearer weight difference. */
.site-nav a[aria-current], .site-nav .work-navigation-toggle { font-weight:600; }

@media (hover:hover) and (pointer:fine) {
  .site-nav > a:not(.site-cta):hover,
  .site-nav .work-navigation-toggle:hover,
  .site-nav .work-navigation-menu a:hover,
  .site-nav .contact-menu a:hover { color:#245f2e; }
}

@media(max-width:860px) {
 .site-nav > a:not(.site-cta) { padding-right:16px; }
 .site-nav .work-navigation-menu a,
 .site-nav .contact-menu a { padding-right:16px; }
}

@media(max-width:860px) {
 .site-nav > a:not(.site-cta),
 .site-nav .work-navigation-menu a,
 .site-nav .contact-menu a { padding-left:16px; padding-right:16px; }
 .site-nav .contact-toggle { padding-left:16px; }
}

.site-nav a[aria-current="page"] { color:var(--green); font-weight:600; }
.site-nav .work-navigation-menu a { font-weight:600; }

/* Match visible desktop gaps, including the text links' hover padding. */
@media(min-width:861px) {
  .site-nav { gap:24px; }
  .site-nav > .contact-navigation { margin-left:8px; }
}

/* Keep each disclosure icon visually attached to its label. */
.site-nav .work-navigation-toggle,
.site-nav .contact-toggle { gap:4px; }

/* Only the current top-level section receives the persistent highlight. */
.site-nav .work-navigation-toggle {color:var(--text);font-weight:400;}
.site-nav .work-navigation-toggle[aria-current="true"] {color:var(--green);font-weight:600;}
.site-nav .work-navigation-menu a {color:var(--text);font-weight:400;}
.site-nav .work-navigation-menu a[aria-current="page"] {color:var(--green);font-weight:600;}

/* Hover and selection share the same text weight. */
.site-header .header-control-label{display:inline-grid;text-align:right;}
.site-header .header-control-label>span,
.site-header .header-control-label::after{grid-area:1/1;}
/* The hidden semibold copy reserves the widest state before hovering. */
.site-header .header-control-label::after{content:attr(data-label);font-weight:600;visibility:hidden;pointer-events:none;}
@media(hover:hover) and (pointer:fine){
 .site-header .site-nav :is(a,button):hover{font-weight:600;}
 .site-header .work-navigation-toggle:hover{background:#ece7f5;}
}

/* Plus becomes a close icon in the expanded state. */
.site-header .work-navigation-toggle[aria-expanded="true"] svg,.site-header .contact-toggle[aria-expanded="true"] svg{transform:rotate(45deg)}.site-header .contact-toggle svg{transition:transform .15s}@media(prefers-reduced-motion:reduce){.site-header .contact-toggle svg{transition:none}}

/* Explicit mobile menu label shares the disclosure icon pattern. */
@media(max-width:860px){.site-header .site-menu-btn{width:auto;min-width:44px;height:44px;padding:0 8px;margin-right:0;gap:4px;font:400 15px var(--font-sans)}.site-header .site-menu-btn svg{flex:none;transition:transform .15s}.site-header .site-menu-btn[aria-expanded="true"] svg{transform:rotate(45deg)}.site-header .site-menu-btn[aria-expanded="true"]{font-weight:600}.site-header .site-menu-btn:hover{background:#ece7f5;font-weight:600}}@media(prefers-reduced-motion:reduce){.site-header .site-menu-btn svg{transition:none}}
