.header{position:relative;z-index:10}.site-menu{position:relative}.site-menu>summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;font:500 13px var(--sans);padding:12px 15px;border:1px solid var(--line);border-radius:5px;color:var(--purple);background:var(--paper);min-height:44px}.site-menu>summary::-webkit-details-marker{display:none}.menu-icon{width:16px;height:12px;display:inline-block;position:relative;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.menu-icon:after{content:"";position:absolute;top:5px;width:100%;border-top:1px solid currentColor}.site-menu[open]>summary{background:var(--lavender);border-color:#bbaac5}.menu-panel{position:absolute;right:0;top:calc(100% + 12px);width:290px;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:6px;box-shadow:0 18px 45px #34283e20;max-height:calc(100dvh - 115px);overflow-y:auto}.menu-label{display:block;font-size:9px;letter-spacing:1.8px;color:var(--muted);text-transform:uppercase;margin-bottom:8px}.menu-panel a{display:block;padding:10px 0;font-size:14px;text-decoration:none}.menu-panel a:hover{color:var(--purple);text-decoration:underline;text-underline-offset:4px}.menu-app{border-top:1px solid var(--line);margin-top:14px;padding-top:20px}.menu-panel a.menu-cta{display:flex;justify-content:space-between;margin-top:17px;background:var(--purple);color:#fff;padding:13px 16px;border-radius:4px}.site-menu>summary:focus-visible,.menu-panel a:focus-visible{outline:3px solid #ad8160;outline-offset:3px}
@media(max-width:1000px){.header>nav{gap:15px}}
@media(max-width:720px){.header>nav>a,.legal-header>nav>a:not(.button),.legal-header>nav>a.button{display:none}.header>nav{gap:0}.site-menu>summary{font-size:12px;padding:10px 12px}.menu-panel{width:min(310px,calc(100vw - 40px))}.header .brand{font-size:21px}.header .brand-symbol{font-size:30px}}
@media(max-width:360px){.header .brand{font-size:18px}.header .brand small{font-size:6px}.site-menu>summary{gap:8px;padding:9px 10px}}

/* Desktop keeps primary links in the header; mobile uses one complete menu. */
.menu-panel .menu-mobile-only,.menu-panel a.menu-cta,.menu-mobile-label{display:none}
@media(max-width:720px){.menu-desktop-label{display:none}.menu-mobile-label{display:inline}.menu-panel .menu-mobile-only{display:block}.menu-panel a.menu-cta{display:flex}}

/* Keep the primary contact action next to the mobile menu. */
@media(max-width:720px){
  .header{gap:12px}
  .header>nav{gap:8px;flex-shrink:0;position:relative}
  .header>nav>a.button{display:inline-flex;min-height:44px;padding:10px 12px;font-size:11px;gap:0}
  .header>nav>a.button>span{display:none}
  .site-menu>summary{gap:8px;font-size:11px;padding:10px}
  .site-menu{position:static}
  .menu-panel{right:0}
}
@media(max-width:440px){
  .header .brand{font-size:18px;gap:7px;line-height:1.05}
  .header .brand i{display:block;font-size:16px;margin-top:3px}
  .header .brand small{display:none}
  .header .brand-symbol{font-size:25px}
}
