html { scroll-padding-top:110px; }
.menu-shade { display:none; }
.nav-services { position:relative; }
.main-nav .nav-services-toggle {
  display:flex; align-items:center; gap:.35rem; padding:.7rem 0;
  border:0; background:none; color:var(--olive); cursor:pointer;
  font:500 .96rem/1 var(--serif); letter-spacing:.055em; text-transform:uppercase;
}
.main-nav .nav-services-toggle.is-active { color:var(--gold); }
.nav-services-toggle svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.5; transition:transform .2s; }
.nav-services-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.main-nav .services-submenu {
  position:absolute; top:calc(100% + .5rem); left:-1rem; z-index:30;
  width:265px; margin:0; padding:.5rem; list-style:none;
  background:#fff; border:1px solid var(--line); box-shadow:0 14px 32px rgba(25,35,30,.12);
}
.main-nav .services-submenu[hidden] { display:none; }
.main-nav .services-submenu a {
  display:flex; align-items:center; gap:.75rem; padding:.85rem .65rem;
  color:var(--olive); font:500 1.25rem/1.25 var(--serif);
  letter-spacing:0; text-transform:none; white-space:normal;
}
.main-nav .services-submenu a::after { content:none; }
.main-nav .services-submenu a:hover,
.main-nav .services-submenu a:focus-visible,
.main-nav .services-submenu a[aria-current="location"] { background:var(--ivory); color:var(--olive); }
.services-submenu img { width:22px; height:22px; flex-shrink:0; }
.digital-services .service-card { min-height:0; }
.digital-services .service-card p { font-size:1rem; line-height:1.65; }
.digital-service-note { display:flex; align-items:center; gap:2rem; margin-top:2rem; padding:1.5rem; background:var(--ivory); border-left:2px solid var(--gold); }
.digital-service-note p { flex:1; margin:0; color:var(--muted); font:400 .95rem/1.6 var(--sans); }
.digital-service-note .btn { flex-shrink:0; }
@media(max-width:1080px) {
  .site-header { backdrop-filter:none; -webkit-backdrop-filter:none; z-index:100; }
  .menu-shade { display:block; position:fixed; inset:0; z-index:19; background:rgba(25,35,30,.3); opacity:0; visibility:hidden; transition:opacity .3s ease,visibility .3s; }
  body.menu-open .menu-shade { opacity:1; visibility:visible; }
  .site-header .main-nav {
    display:flex; position:fixed; inset:0 0 0 auto; width:min(88vw,420px);
    height:100dvh; min-height:0; z-index:25; padding:90px 30px 30px;
    justify-content:flex-start; gap:clamp(.6rem,1.8vh,1rem); overflow-y:auto;
    background:#fff; border-left:1px solid rgba(183,154,74,.4);
    box-shadow:-12px 0 40px rgba(25,35,30,.12);
    transform:translateX(105%); visibility:hidden; pointer-events:none;
    transition:transform .35s cubic-bezier(.22,.61,.36,1),visibility .35s;
  }
  .site-header .main-nav.open { display:flex; transform:translateX(0); visibility:visible; pointer-events:auto; }
  .main-nav .nav-services { width:100%; }
  .main-nav .nav-services-toggle { width:100%; justify-content:space-between; padding:.2rem 0; font:500 clamp(1.75rem,4.6vw,2.75rem)/1.05 var(--serif); letter-spacing:-.015em; text-transform:none; }
  .nav-services-toggle svg { width:20px; height:20px; }
  .main-nav .services-submenu { position:static; width:100%; margin:.6rem 0 .2rem; padding:.2rem 0 .2rem .65rem; border:0; border-left:1px solid var(--gold); box-shadow:none; }
  .main-nav .services-submenu a { padding:.7rem .4rem; font-size:1.35rem; }
  .digital-service-note { flex-direction:column; align-items:flex-start; gap:1rem; }
  .site-header .menu-toggle { z-index:30; }
  .site-header .menu-toggle span { width:26px; height:1.5px; margin:5px auto; transform:none; transition:transform .25s,opacity .2s; }
  .site-header .menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(6.5px) rotate(45deg); }
  .site-header .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .site-header .menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-6.5px) rotate(-45deg); }
}
@media(prefers-reduced-motion:reduce) { .site-header .main-nav,.menu-shade,.site-header .menu-toggle span { transition:none; } }
