/* Navigation layout only. Buttons and T02–T05 retain the shared design tokens. */
html { scrollbar-gutter:stable; }
.bdm-header { position:sticky; top:0; z-index:40; }
.bdm-header__inner { position:relative; min-height:96px; gap:2rem; }
.bdm-header .bdm-logo,.bdm-header .custom-logo-link { flex:0 1 260px; max-width:260px; }
.bdm-navigation-panel { min-width:0; margin-left:auto; }
.bdm-navigation-panel__bar,.bdm-navigation-contact { display:none; }
.bdm-js .bd-nav-parent-label { display:none; }
.bd-nav-parent-label { display:block; padding:.75rem; font-weight:650; }
.bdm-navigation { padding:0; width:auto; }
.bdm-navigation .bdm-menu { gap:.35rem; flex-direction:row; }
.bdm-navigation .bd-nav-row { gap:0; }
.bdm-navigation .bd-nav-link,
.bdm-site .bdm-navigation button.bd-nav-toggle {
  position:relative; display:flex; align-items:center; justify-content:space-between; gap:.5rem;
  width:auto; min-width:0; min-height:48px; height:auto; padding:.75rem .8rem;
  border:0; border-radius:4px; background:transparent; color:var(--wp--preset--color--ink);
  font-size:.9rem; font-weight:650; line-height:1.3; text-decoration:none; text-align:left;
  white-space:normal;
}
.bdm-navigation .bd-nav-link::after,.bdm-navigation .bd-nav-toggle::after {
  content:""; position:absolute; bottom:.3rem; left:.8rem; right:.8rem; height:2px;
  background:currentColor; transform:scaleX(0); transform-origin:left center; transition:transform var(--bdm-motion-enter) var(--bdm-ease-out);
}
.bdm-navigation .is-current>.bd-nav-row>:is(.bd-nav-link,.bd-nav-toggle)::after {
  background:var(--wp--preset--color--green); transform:scaleX(1);
}
.bdm-site .bdm-navigation button.bd-nav-toggle[aria-expanded=true] { background:var(--wp--preset--color--fog); }
.bdm-navigation .bd-nav-link:focus-visible { outline-offset:2px; }
.bdm-navigation .bd-nav-link .bdm-icon { width:1rem; height:1rem; }
.bdm-navigation .bdm-menu>.bd-nav-parent { position:static; }
.bdm-navigation .bd-submenu {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem .75rem;
  position:absolute; top:calc(100% - 1px); left:auto; right:0;
  width:min(640px,100%); min-width:0; max-width:none; margin:0; padding:1.25rem;
  border:1px solid var(--wp--preset--color--line); border-top:3px solid var(--wp--preset--color--green);
  border-radius:0 0 6px 6px; background:var(--wp--preset--color--paper);
  box-shadow:0 16px 28px #173c3214;
}
.bdm-navigation .bd-submenu .bd-nav-row { display:flex; }
.bdm-navigation .bd-submenu .bd-nav-link { width:100%; min-height:56px; padding:.75rem; font-size:.925rem; font-weight:500; }
.bdm-navigation .bd-submenu .bd-nav-link .bdm-icon { flex-shrink:0; color:var(--wp--preset--color--green); }
.bdm-navigation .bd-submenu__overview { grid-column:1/-1; margin-bottom:.35rem; padding-bottom:.6rem; border-bottom:1px solid var(--wp--preset--color--line); }
.bdm-navigation .bd-submenu__overview .bd-nav-link { font-weight:650; color:var(--wp--preset--color--green); }
.bdm-navigation .bd-submenu .is-current>.bd-nav-row>.bd-nav-link { background:var(--wp--preset--color--fog); }
.bdm-navigation .bd-submenu .bd-nav-link::after { display:none; }
.bdm-site .bdm-navigation .bd-nav-link--contact {
  margin-left:.6rem; padding:var(--bdm-button-padding); min-height:var(--bdm-button-height);
  background:var(--bdm-button-bg); color:var(--bdm-button-text); border:1px solid var(--bdm-button-border);
  font-size:.9rem; gap:var(--bdm-button-gap);
}
.bdm-navigation .bd-nav-link--contact::after { display:none; }
@media(hover:hover) and (pointer:fine) {
  .bdm-site .bdm-navigation :is(.bd-nav-link,.bd-nav-toggle):hover { background:var(--wp--preset--color--fog); color:var(--wp--preset--color--green); }
  .bdm-site .bdm-navigation .bd-nav-link--contact:hover { background:var(--bdm-button-hover-bg); color:var(--bdm-button-hover-text); border-color:var(--bdm-button-hover-border); }
}
@media(min-width:1024px) and (max-width:1199px) {
  .bdm-header__inner { gap:1rem; }
  .bdm-header .bdm-logo,.bdm-header .custom-logo-link { max-width:210px; }
  .bdm-navigation .bd-nav-link,.bdm-site .bdm-navigation button.bd-nav-toggle { padding-inline:.6rem; font-size:.85rem; }
  .bdm-site .bdm-navigation .bd-nav-link--contact { padding-inline:.9rem; margin-left:.25rem; }
}
@media(max-width:1023px) {
  .bdm-header__inner {
    min-height:calc(80px + env(safe-area-inset-top)); padding-top:env(safe-area-inset-top);
    width:calc(100% - max(1.5rem,env(safe-area-inset-left)) - max(1.5rem,env(safe-area-inset-right)));
    flex-wrap:nowrap; gap:1rem;
  }
  .bdm-header .bdm-logo,.bdm-header .custom-logo-link { flex-basis:250px; max-width:min(250px,calc(100% - 7.5rem)); }
  .bdm-header .bdm-menu-toggle { flex-shrink:0; }
  .bdm-navigation-panel { width:100%; margin:0; }
  .bdm-js .bdm-navigation-panel { position:fixed; inset:0; height:100dvh; background:var(--wp--preset--color--paper); display:flex; flex-direction:column; }
  .bdm-js .bdm-navigation-panel__bar {
    display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:1rem;
    /* The normal header has an 80px inner row plus its 1px bottom border. */
    min-height:calc(81px + env(safe-area-inset-top)); padding:calc(1rem + env(safe-area-inset-top)) max(1.5rem,env(safe-area-inset-right)) 1rem max(1.5rem,env(safe-area-inset-left));
    border-bottom:1px solid var(--wp--preset--color--line); background:var(--wp--preset--color--paper);
  }
  .bdm-js .bdm-navigation-panel__body { overflow-y:auto; overscroll-behavior:contain; min-height:0; flex:1; padding:1.25rem max(1.5rem,env(safe-area-inset-right)) calc(1.5rem + env(safe-area-inset-bottom)) max(1.5rem,env(safe-area-inset-left)); }
  .bdm-navigation { width:100%; padding:0; }
  .bdm-navigation .bdm-menu { flex-direction:column; align-items:stretch; gap:0; }
  .bdm-navigation .bdm-menu>.bd-nav-item { border-bottom:1px solid var(--wp--preset--color--line); }
  .bdm-navigation .bdm-menu>.bd-nav-item>.bd-nav-row>:is(.bd-nav-link,.bd-nav-toggle) {
    flex:1; width:100%; min-height:64px; padding:1rem .75rem; font-size:1.375rem; font-weight:600; letter-spacing:-.02em; border-radius:4px;
  }
  .bdm-navigation .bdm-menu>.is-current>.bd-nav-row>:is(.bd-nav-link,.bd-nav-toggle)::after { left:0; top:1.2rem; bottom:1.2rem; width:3px; height:auto; right:auto; }
  .bdm-navigation .bd-submenu {
    position:static; display:block; width:100%; margin:0; padding:.25rem 0 1rem .75rem;
    border:0; border-radius:0; box-shadow:none; background:transparent;
  }
  .bdm-navigation .bd-submenu .bd-nav-link { min-height:52px; font-size:1rem; padding:.75rem; border:0; }
  .bdm-navigation .bd-submenu__overview { margin:0 0 .25rem; padding:0; border:0; }
  .bdm-navigation .bdm-menu>.bd-nav-item:has(.bd-nav-link--contact) { border:0; padding-top:1rem; }
  .bdm-site .bdm-navigation .bd-nav-link--contact { margin:0; padding:1rem 1.25rem!important; font-size:1.125rem!important; min-height:56px!important; letter-spacing:normal!important; }
  .bdm-navigation-contact { display:block; padding:.5rem .75rem 0; margin-top:2rem; }
  .bdm-navigation-contact .bdm-eyebrow { font-size:.65rem; margin:0 0 .5rem; }
  .bdm-navigation-contact>a { display:flex; align-items:center; gap:.5rem; text-decoration:none; font-size:1.125rem; font-weight:600; min-height:44px; }
  .bdm-navigation-contact .bdm-navigation-contact__mail { font-size:.875rem; font-weight:400; color:var(--wp--preset--color--muted); }
  body.bdm-navigation-open { position:fixed; top:var(--bdm-navigation-scroll); inset-inline:0; overflow:hidden; }
}
/* The unenhanced menu is a normal document list with every destination visible. */
html:not(.bdm-js) .bdm-header { position:relative; }
html:not(.bdm-js) .bdm-header__inner { flex-wrap:wrap; padding-block:1rem; }
html:not(.bdm-js) .bdm-navigation-panel { width:100%; }
html:not(.bdm-js) .bdm-navigation .bdm-menu { flex-direction:column; align-items:stretch; }
html:not(.bdm-js) .bdm-navigation .bd-submenu { position:static; width:100%; box-shadow:none; border:0; border-left:2px solid var(--wp--preset--color--line); margin:0 0 1rem .75rem; padding:.25rem .75rem; }
html:not(.bdm-js) .bdm-navigation .bd-nav-toggle { pointer-events:none; }
html:not(.bdm-js) .bdm-navigation .bd-nav-toggle .bdm-icon { display:none; }
@media print { .bdm-header { display:none!important; } }

/* T02: shared directional feedback; mobile keeps its current-section marker. */
@media(min-width:1024px){.bdm-navigation :is(.bd-nav-link,.bd-nav-toggle):is(:hover,:focus-visible,[aria-expanded=true])::after{transform:scaleX(1)}}
@media(max-width:1023px){.bdm-navigation .bdm-menu>.bd-nav-item>.bd-nav-row>:is(.bd-nav-link,.bd-nav-toggle)::after{display:none}.bdm-navigation .bdm-menu>.is-current>.bd-nav-row>:is(.bd-nav-link,.bd-nav-toggle)::after{display:block}}
