/* MGI navigation consolidated v48 — one source, one responsive contract.
   > 1200px: horizontal desktop navigation.
   <=1200px: compact tablet/mobile header with dropdown navigation.
   Cleanup 05C removes the former competing intermediate geometry without changing
   the accepted desktop visual contract. */

/* ---------- shared header baseline ---------- */
body > .site-header{
  position:relative !important;
  width:100% !important;
  max-width:1280px !important;
  margin:0 auto !important;
  padding:28px 28px 22px !important;
  box-sizing:border-box !important;
  z-index:10000 !important;
  pointer-events:auto !important;
}
body > .site-header .brand,
body > .site-header .nav,
body > .site-header .nav *,
body > .site-header .language-switch,
body > .site-header .language-switch *,
body > .site-header .menu-button,
body > .site-header .mgi-menu-button{
  pointer-events:auto !important;
}
body > .site-header .brand{
  margin:0 !important;
  min-width:0 !important;
  position:relative !important;
  z-index:10020 !important;
}
body > .site-header .nav{
  position:relative !important;
  z-index:10002 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:15px !important;
  font-weight:400 !important;
  line-height:1.45 !important;
}
body > .site-header .nav a,
body > .site-header .nav summary{
  color:inherit !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-style:normal !important;
  font-variant:normal !important;
  text-transform:none !important;
}
body > .site-header .nav > a,
body > .site-header .nav-group > summary{
  padding:6px 0 !important;
  border-bottom:1px solid transparent !important;
  font-size:15px !important;
  font-weight:400 !important;
  line-height:1.45 !important;
  letter-spacing:0 !important;
}
body > .site-header .nav > a,
body > .site-header .nav-submenu > a,
body > .site-header .nav-group > summary{
  position:relative !important;
  z-index:10020 !important;
  pointer-events:auto !important;
}
body > .site-header .nav-group > summary{z-index:10021 !important;}
body > .site-header .nav > a:hover,
body > .site-header .nav-group > summary:hover,
body > .site-header .nav > a[aria-current="page"],
body > .site-header .nav-group[data-current="true"] > summary{
  border-bottom-color:var(--gold,#d8a24f) !important;
}

/* ---------- grouped menus ---------- */
body > .site-header .nav-group{
  position:relative !important;
  margin:0 !important;
}
body > .site-header .nav-group > summary{
  display:block !important;
  list-style:none !important;
  cursor:pointer !important;
  user-select:none !important;
}
body > .site-header .nav-group > summary::-webkit-details-marker{display:none !important;}
body > .site-header .nav-submenu{
  position:absolute !important;
  z-index:10005 !important;
  top:calc(100% + 8px) !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  display:none !important;
  min-width:238px !important;
  width:max-content !important;
  max-width:280px !important;
  padding:7px 10px !important;
  border:1px solid rgba(88,65,35,.18) !important;
  border-radius:4px !important;
  background:#f3eadc !important;
  box-shadow:0 12px 28px rgba(45,32,16,.13) !important;
  font-family:Georgia,"Times New Roman",serif !important;
}
body > .site-header .nav-group[open] > .nav-submenu{
  display:flex !important;
  flex-direction:column !important;
  gap:1px !important;
}
body > .site-header .nav-submenu[hidden]{display:none !important;}
body > .site-header .nav-submenu a{
  display:block !important;
  min-height:0 !important;
  margin:0 !important;
  padding:6px 8px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:inherit !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:14px !important;
  font-weight:400 !important;
  line-height:1.35 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  white-space:nowrap !important;
}
body > .site-header .nav-submenu a:hover,
body > .site-header .nav-submenu a:focus-visible{
  background:transparent !important;
  color:#8b5a22 !important;
  text-decoration:none !important;
  outline:none !important;
}
body > .site-header .nav-submenu a.external::after{
  content:" ↗";
  color:#9a672e;
}

/* Legacy button-class compatibility; current public nav uses details/summary. */
body > .site-header .nav-participate{
  appearance:none;
  -webkit-appearance:none;
  background:none;
  border:0;
  border-bottom:1px solid transparent;
  padding:6px 0;
  color:inherit;
  font:inherit;
  cursor:pointer;
}
body > .site-header .nav-participate::after{
  content:"⌄";
  margin-left:.38rem;
  color:#9a672e;
  font-size:.82em;
}
body > .site-header .nav-participate[aria-expanded="true"],
body > .site-header .nav-group.current .nav-participate{
  border-bottom-color:var(--gold,#d8a24f);
}

/* ---------- language selector: identical on every public page ---------- */
body > .site-header .language-switch,
body > .site-header .mgi-global-languages{
  display:flex !important;
  flex:0 0 104px !important;
  width:104px !important;
  min-width:104px !important;
  max-width:104px !important;
  height:31px !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  border:1px solid rgba(88,65,35,.18) !important;
  border-radius:3px !important;
  background:rgba(255,255,255,.08) !important;
  box-shadow:none !important;
  position:relative !important;
  z-index:10003 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
}
body > .site-header .language-switch button,
body > .site-header .mgi-global-languages button{
  appearance:none !important;
  -webkit-appearance:none !important;
  flex:1 1 0 !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  height:29px !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
  border:0 !important;
  border-left:1px solid rgba(88,65,35,.10) !important;
  border-radius:0 !important;
  background:transparent !important;
  color:inherit !important;
  box-shadow:none !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:13px !important;
  font-style:normal !important;
  font-weight:400 !important;
  font-variant:normal !important;
  line-height:29px !important;
  letter-spacing:0 !important;
  text-align:center !important;
  text-indent:0 !important;
  text-transform:none !important;
  opacity:.58 !important;
  cursor:pointer !important;
}
body > .site-header .language-switch button:first-child,
body > .site-header .mgi-global-languages button:first-child{
  border-left:0 !important;
}
body > .site-header .language-switch button[aria-pressed="true"],
body > .site-header .mgi-global-languages button[aria-pressed="true"]{
  opacity:1 !important;
  font-weight:600 !important;
  background:rgba(255,255,255,.18) !important;
}

body > .site-header .mgi-menu-button,
body > .site-header .menu-button{
  border:0 !important;
  background:transparent !important;
  color:inherit !important;
  font:inherit !important;
  font-size:1.45rem !important;
  cursor:pointer !important;
  position:relative !important;
  z-index:10004 !important;
}

/* ---------- desktop: the accepted v9/v47 axis ---------- */
@media (min-width:1201px){
  body > .site-header{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 560px 112px !important;
    align-items:center !important;
    column-gap:1.5rem !important;
  }
  body > .site-header .brand{
    grid-column:1 !important;
    justify-self:start !important;
  }
  body > .site-header .nav{
    grid-column:2 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:1.65rem !important;
    width:560px !important;
    margin:0 !important;
  }
  body > .site-header .language-switch,
  body > .site-header .mgi-global-languages{
    grid-column:3 !important;
    justify-self:end !important;
  }
  body > .site-header .mgi-menu-button,
  body > .site-header .menu-button{
    display:none !important;
  }
}

/* ---------- tablet/mobile: one contract from 1200px down ---------- */
@media (max-width:1200px){
  body > .site-header{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto auto !important;
    align-items:center !important;
    gap:.6rem !important;
    padding:20px 18px !important;
  }
  body > .site-header .brand{grid-column:1 !important;}
  body > .site-header .language-switch,
  body > .site-header .mgi-global-languages{grid-column:2 !important;}
  body > .site-header .mgi-menu-button,
  body > .site-header .menu-button{
    display:block !important;
    grid-column:3 !important;
  }
  body > .site-header .nav{
    position:absolute !important;
    left:18px !important;
    right:18px !important;
    top:calc(100% - 2px) !important;
    display:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    width:auto !important;
    margin:0 !important;
    padding:10px !important;
    border:1px solid rgba(88,65,35,.18) !important;
    border-radius:4px !important;
    background:#f3eadc !important;
    box-shadow:0 16px 40px rgba(45,32,16,.16) !important;
  }
  body > .site-header .nav.open{display:flex !important;}
  body > .site-header .nav > a,
  body > .site-header .nav-group > summary{
    padding:10px 9px !important;
    text-align:left !important;
  }
  body > .site-header .nav-group{width:100% !important;display:block !important;}
  body > .site-header .nav-submenu{
    position:static !important;
    transform:none !important;
    display:none !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    margin:2px 0 7px 10px !important;
    padding:2px 0 2px 12px !important;
    border:0 !important;
    border-left:1px solid var(--gold,#d8a24f) !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body > .site-header .nav-group[open] > .nav-submenu{
    display:flex !important;
  }
  body > .site-header .nav-submenu a{
    padding:6px 4px !important;
    text-align:left !important;
    white-space:normal !important;
  }
}

/* ---------- content-only arrival softening ---------- */
@keyframes mgi-content-arrive-v46{from{opacity:.90}to{opacity:1}}
body > main, body > footer{
  animation:mgi-content-arrive-v46 135ms ease-out both;
}
@media (prefers-reduced-motion:reduce){
  body > main, body > footer{animation:none !important;}
}
