/* The office directory. One persistent desktop sidebar, one mobile disclosure. */
.masthead { --nav-soft: oklch(73% 0 0); --nav-surface: oklch(20% 0 0); }
.nav-brandrow { display: contents; }
.sidebar-toggle,.nav-signoff { display: none; }
.nav-icon { width:20px; height:20px; flex:none; }
.nav-group-label { margin:0 0 10px; font:600 10px/1.2 var(--body); letter-spacing:.13em; color:var(--nav-soft); }
.nav-new { margin-left:auto; padding:4px 5px; color:oklch(80% .13 25); border:1px solid oklch(39% .1 25); border-radius:3px; font:700 8px/1 var(--body); letter-spacing:.06em; }
.masthead .menu-link { text-transform:none; }
.masthead .menu-link::after { display:none; }
.masthead .menu-name { min-width:0; flex:1; }
.masthead .menu-arrow:empty { display:none; }
.masthead .menu-link .menu-arrow .nav-icon { width:15px; height:15px; }
.masthead .nav-connect-links { display:grid; grid-template-columns:1fr 1fr; gap:6px; }

@media(min-width:1100px) {
  html { --sidebar-width:252px; scroll-padding-top:30px; }
  html.nav-collapsed { --sidebar-width:80px; }
  html.menu-is-open { overflow:visible; }
  body > main,body > .site-footer { margin-left:var(--sidebar-width); transition:margin-left .28s cubic-bezier(.16,1,.3,1); }
  .skip-link { left:calc(var(--sidebar-width) + 20px); z-index:31; }
  .masthead { position:fixed; inset:0 auto 0 0; width:var(--sidebar-width); height:100dvh; max-width:none; min-height:0; margin:0; padding:0; display:flex; flex-direction:column; align-items:stretch; gap:0; border:0; border-right:1px solid oklch(29% 0 0); border-radius:0; box-shadow:none; transition:width .28s cubic-bezier(.16,1,.3,1); }
  .nav-brandrow { display:flex; align-items:center; justify-content:space-between; flex:none; padding:25px 20px 20px; gap:16px; }
  .masthead .header-brand { font-size:44px; min-height:44px; align-items:baseline; line-height:1; }
  .sidebar-toggle { display:grid; place-items:center; width:32px; height:32px; padding:0; border:1px solid oklch(36% 0 0); border-radius:6px; color:var(--nav-soft); background:transparent; cursor:pointer; flex:none; }
  .sidebar-toggle:hover { background:var(--nav-surface); color:var(--paper); border-color:oklch(55% 0 0); }
  .masthead .header-nav,.masthead.is-enhanced .header-nav { position:static; display:flex; flex:1; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:22px; width:100%; min-height:0; max-height:none; padding:13px 16px 22px; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:oklch(36% 0 0) transparent; border:0; border-radius:0; background:transparent; box-shadow:none; opacity:1; visibility:visible; transform:none; transition:none; }
  .nav-group-label { padding-left:12px; white-space:nowrap; }
  .nav-group { display:flex; flex-direction:column; gap:3px; }
  .masthead .menu-link,.masthead.is-enhanced .menu-link { display:flex; align-items:center; justify-content:flex-start; min-height:42px; gap:11px; width:100%; margin:0; padding:10px 12px; border:0; border-radius:6px; font:500 13px/1.3 var(--body); letter-spacing:0; color:oklch(82% 0 0); background:transparent; white-space:nowrap; opacity:1; transform:none; transition:background .18s,color .18s; }
  .masthead .menu-link > .nav-icon { color:oklch(62% 0 0); }
  .masthead .menu-link:hover { background:oklch(23% 0 0); color:var(--paper); }
  .masthead .menu-link:hover > .nav-icon { color:var(--paper); }
  .masthead .menu-link[aria-current="location"] { color:var(--paper); background:oklch(27% .05 25); }
  .masthead .menu-link[aria-current="location"] > .nav-icon { color:oklch(72% .2 25); }
  .masthead .menu-link:focus-visible { outline-offset:1px; }
  .masthead .nav-connect { border-top:1px solid oklch(29% 0 0); padding-top:20px; margin-top:auto; }
  .masthead .nav-connect-links .menu-external { font-size:11px; padding:10px 8px; gap:7px; min-height:38px; }
  .nav-connect-links .menu-external > .nav-icon { display:none; }
  .masthead .header-actions { display:flex; flex-direction:column; align-items:stretch; flex:none; gap:12px; padding:18px 20px 20px; border-top:1px solid oklch(29% 0 0); background:var(--ink); }
  .masthead .header-buy { width:100%; min-height:48px; padding:14px 16px; font-size:12px; gap:12px; border-radius:6px; }
  .nav-signoff { display:block; margin:0; text-align:center; font:500 9px/1.3 var(--body); letter-spacing:.14em; color:var(--nav-soft); white-space:nowrap; }
  .masthead.is-enhanced .menu-toggle,.menu-scrim { display:none; }
  .nav-collapsed .nav-brandrow { padding:24px 8px 13px; flex-direction:column; gap:14px; }
  .nav-collapsed .masthead .header-brand { font-size:29px; min-height:30px; }
  .nav-collapsed .sidebar-toggle svg { transform:rotate(180deg); }
  .nav-collapsed .masthead .header-nav { padding:10px 12px 20px; gap:16px; }
  .nav-collapsed .nav-group-label { height:1px; margin:0 6px 8px; padding:0; overflow:hidden; font-size:0; background:oklch(32% 0 0); }
  .nav-collapsed .masthead .menu-link { justify-content:center; padding:12px; min-height:44px; }
  .nav-collapsed .menu-name,.nav-collapsed .nav-new,.nav-collapsed .menu-arrow,.nav-collapsed .nav-signoff { display:none; }
  .nav-collapsed .masthead .nav-connect-links { display:flex; flex-direction:column; gap:2px; }
  .nav-collapsed .nav-connect-links .menu-external > .nav-icon { display:block; }
  .nav-collapsed .masthead .nav-connect { padding-top:14px; }
  .nav-collapsed .masthead .header-actions { padding:16px 12px; }
  .nav-collapsed .masthead .header-buy { justify-content:center; padding:12px; }
  .nav-collapsed .header-buy > span { display:none; }
  .hero { padding-top:76px; min-height:min(760px,100svh); }
  .hero h1 { font-size:clamp(3.4rem,6.1vw,6rem); }
}

@media(max-width:1099px) {
  .masthead .header-nav,.masthead.is-enhanced .header-nav { display:flex; flex-direction:column; align-items:stretch; gap:26px; padding:25px 22px; }
  .masthead .nav-group-label { margin-bottom:8px; }
  .masthead .menu-link,.masthead.is-enhanced .menu-link { gap:15px; min-height:50px; padding:12px 0; font:600 21px/1.2 var(--display); letter-spacing:.005em; transition-delay:0s; }
  .masthead .menu-link > .nav-icon { width:21px; height:21px; color:var(--nav-soft); }
  .masthead .menu-link[aria-current="location"] > .nav-icon { color:oklch(75% .2 25); }
  .masthead .menu-external,.masthead.is-enhanced .menu-external { min-height:48px; padding:12px; margin:0; border:1px solid oklch(34% 0 0); border-radius:5px; font:500 12px/1.3 var(--body); gap:7px; background:var(--nav-surface); }
  .masthead .menu-external > .nav-icon { display:none; }
  .masthead .nav-connect-links { gap:8px; }
  .nav-new { font-size:9px; padding:5px; margin-right:1px; }
  .masthead .header-buy > span { display:inline; }
}
@media(prefers-reduced-motion:reduce) {
  .masthead,body > main,body > .site-footer,.masthead .menu-link { transition:none !important; }
}
