/* Recolor the existing raster logo as one image, without replacement assets. */
.header .brand{filter:brightness(0) saturate(100%) invert(16.08%);transition:filter .35s ease}
@media(hover:hover){.header .brand:hover{filter:brightness(0) saturate(100%) invert(68%) sepia(16%) saturate(699%) hue-rotate(140deg) brightness(91%) contrast(88%)}}
.header .brand:focus-visible{filter:brightness(0) saturate(100%) invert(68%) sepia(16%) saturate(699%) hue-rotate(140deg) brightness(91%) contrast(88%)}
@media(prefers-reduced-motion:reduce){.header .brand{transition:none}}

/* Mobile menu content stays hidden in the desktop navigation. */
.header .nav-mobile-only{display:none}
@media(max-width:768px){
  #header .nav{display:none}
  #header .menu-toggle{display:block;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--teal);color:#fff;font-size:0}
  #header .menu-toggle::before{content:"☰";font-size:20px}
  body.menu-open{overflow:hidden}
  body.menu-open #header{inset:0;transform:none;width:100%;max-width:none;height:100dvh;min-height:0;padding:20px 24px;display:grid;grid-template-columns:1fr 44px;grid-template-rows:44px minmax(0,1fr);gap:20px 0;border-radius:0;background:#fff;box-shadow:none;align-items:center;overflow:hidden}
  body.menu-open #header .brand{grid-column:1;grid-row:1}
  body.menu-open #header .menu-toggle{grid-column:2;grid-row:1;background:transparent;color:#292929;border-radius:0}
  body.menu-open #header .menu-toggle::before{content:"×";font-size:32px;font-weight:300;line-height:1}
  body.menu-open #header .nav{grid-column:1/-1;grid-row:2;display:flex;flex-direction:column;align-items:stretch;align-self:stretch;gap:0;min-height:0;padding:0 0 max(12px,env(safe-area-inset-bottom));overflow-y:auto;font-size:20px;font-weight:400;line-height:1.5;letter-spacing:0}
  body.menu-open #header .nav-mobile-only{display:block}
  body.menu-open #header .nav>a:not(.nav-contact){display:block;padding:14px 0;border-top:0;border-bottom:1px solid #ddd;color:#292929}
  body.menu-open #header .nav>a[href="/service"]{border-bottom:0;padding-bottom:8px}
  body.menu-open #header .nav-service-links{padding:0 0 14px 16px;border-bottom:1px solid #ddd}
  body.menu-open #header .nav-service-links a{display:block;padding:7px 0;border:0;color:#292929;font-size:14px;font-weight:400;line-height:1.6}
  body.menu-open #header .nav .nav-contact{position:relative;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:56px;min-height:56px;margin:28px 0 0;padding:0 48px;border:0;border-radius:12px;background:var(--teal);color:#fff;font-size:18px;font-weight:400}
  body.menu-open #header .nav-contact-icon{display:none}
  body.menu-open #header .nav-contact::after{content:"→";position:absolute;right:20px;color:#fff;font-size:20px}
}
