/* Shared two-band navigation. Scoped independently of the historic page shells. */
:root { --mg-nav-height:72px; }
html { scroll-padding-top:calc(var(--mg-nav-height) + 20px); }
.mg-site-header, .mg-nav-bar { width:100%; margin:0; font-family:"DM Sans",Arial,sans-serif; }
.mg-site-header { position:relative; z-index:1100; color:#17263e; background:#eee9df; }
.mg-site-top { display:grid; grid-template-columns:46% 54%; width:100%; margin:0; padding:0; background:#17263e; }
.mg-site-logo { display:flex; align-items:center; justify-content:center; min-height:164px; padding:30px clamp(28px,3.7vw,58px); background:#17263e; line-height:0; }
.mg-site-logo img { display:block; width:100%; max-width:590px; height:auto; }
.mg-site-logo, .mg-site-utility { min-width:0; }
.mg-site-utility { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; align-content:center; gap:18px 26px; padding:30px clamp(28px,3vw,48px); font:400 14px/1.5 "DM Sans",Arial,sans-serif; }
.mg-site-utility a { display:inline-flex; align-items:center; gap:9px; color:#17263e; text-decoration:none; }
.mg-site-utility a:hover { text-decoration:underline; }
.mg-site-utility--experience { justify-content:center; }
.mg-site-utility--slogan { justify-content:center; background:#17263e; }
.mg-site-slogan { min-width:0; margin:0; color:#f7f4ed; font:400 clamp(26px,2.6vw,40px)/1.2 "Cormorant Garamond",Georgia,serif; }
.mg-site-slogan span { color:var(--v7-gold, #a49250); }
.mg-site-experience { min-width:0; max-width:31ch; margin:0; color:#17263e; font:400 clamp(26px,2.6vw,40px)/1.2 "Cormorant Garamond",Georgia,serif; text-wrap:balance; hyphens:auto; overflow-wrap:break-word; }
.mg-site-utility svg { width:16px; height:18px; flex:none; fill:none; stroke:var(--v7-gold, #a49250); stroke-width:1.7; }
.mg-site-language { display:flex; align-items:center; gap:8px; white-space:nowrap; font:400 13px/1.5 "DM Sans",Arial,sans-serif; }
.mg-site-language [aria-disabled] { color:#aeb6c1; cursor:default; }
.mg-nav-bar { position:relative; z-index:1200; color:#fff; background:#17263e; border-bottom:1px solid #ffffff20; }
/* Historic article styles paint direct body wrappers white. Keep this bar navy. */
body.inner-page > .mg-nav-bar[data-sticky] { background:#17263e; }
.mg-nav-bar[data-sticky="true"] { position:sticky; top:0; }
.mg-nav-inner { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:24px; width:min(1600px,100%); min-height:var(--mg-nav-height); margin:auto; padding:0 clamp(20px,2.4vw,38px); }
.mg-nav-logo { grid-column:1; grid-row:1; display:block; width:min(210px,100%); opacity:0; visibility:hidden; transition:opacity .2s ease,visibility .2s ease; line-height:0; }
.mg-nav-logo img { display:block; width:100%; height:auto; }
.mg-nav-bar.is-compact .mg-nav-logo { opacity:1; visibility:visible; }
.mg-nav-bar.is-compact { box-shadow:0 4px 16px #101c3026; }
.mg-nav-inner > nav { grid-column:2; grid-row:1; min-width:0; }
.mg-nav-utility { grid-column:3; grid-row:1; justify-self:end; display:flex; align-items:center; justify-content:flex-end; }
.mg-nav-contact-row { display:flex; align-items:center; gap:20px; }
.mg-nav-phone { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#f7f4ed; white-space:nowrap; text-decoration:none; font:400 13px/1.5 "DM Sans",Arial,sans-serif; }
.mg-nav-utility .mg-site-language { font-size:13px; }
.mg-nav-location { grid-column:1; grid-row:1; display:flex; align-items:center; gap:9px; width:fit-content; max-width:100%; color:#f7f4ed; text-decoration:none; font:400 12px/1.45 "DM Sans",Arial,sans-serif; transition:opacity .2s ease,visibility .2s ease; }
.mg-nav-bar.is-compact .mg-nav-location { opacity:0; visibility:hidden; pointer-events:none; }
.mg-nav-location svg { width:16px; height:21px; flex:none; fill:none; stroke:var(--v7-gold, #a49250); stroke-width:1.6; }
.mg-nav-location:hover { text-decoration:underline; }
.mg-nav-phone svg { width:16px; height:18px; flex:none; fill:none; stroke:var(--v7-gold, #a49250); stroke-width:1.7; }
.mg-nav-phone:hover { text-decoration:underline; }
.mg-main-links { list-style:none; display:flex; align-items:stretch; justify-content:center; gap:clamp(18px,2vw,30px); margin:0; padding:0; }
.mg-main-links > li { display:flex; align-items:center; min-width:0; margin:0; padding:0; }
.mg-nav-bar .mg-top-link { display:flex; align-items:center; min-height:var(--mg-nav-height); margin:0; padding:16px 0 13px; border-bottom:3px solid transparent; color:#f7f4ed; font:500 16px/1.5 "DM Sans",Arial,sans-serif; text-decoration:none; white-space:nowrap; }
.mg-nav-bar .mg-top-link:hover, .mg-nav-bar .mg-top-link[aria-current] { border-bottom-color:var(--v7-gold, #a49250); color:#fff; }
.mg-submenu-toggle { width:36px; height:44px; display:grid; place-items:center; margin:0 0 0 3px; padding:8px; border:0; border-radius:0; color:var(--v7-gold, #a49250); background:transparent; cursor:pointer; }
.mg-submenu-toggle svg { width:14px; height:10px; fill:none; stroke:currentColor; stroke-width:1.6; transition:transform .15s; }
.mg-submenu-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.mg-nav-bar [hidden] { display:none !important; }
.mg-practice-menu { position:absolute; top:100%; left:50%; z-index:2; width:min(900px,calc(100% - 40px)); max-height:calc(100svh - var(--mg-nav-bottom,190px) - 12px); overflow-y:auto; overscroll-behavior:contain; transform:translateX(-50%); display:grid; grid-template-columns:1fr 1fr; gap:36px; margin:0; padding:30px 36px 34px; border:1px solid #d8cfbf; border-top:3px solid var(--v7-gold, #a49250); color:#17263e; background:#faf8f3; backdrop-filter:none; -webkit-backdrop-filter:none; box-shadow:0 18px 35px #101c3026; }
.mg-practice-menu > div { min-width:0; }
.mg-nav-bar .mg-practice-heading { display:block; padding:0 0 13px; margin:0 0 7px; border-bottom:1px solid #dbd3c6; color:#17263e; font:500 27px/1.1 "Cormorant Garamond",Georgia,serif; text-decoration:none; }
.mg-practice-menu ul { display:block; list-style:none; padding:0; margin:0; }
.mg-practice-menu li { margin:0; padding:0; }
.mg-practice-menu li a { display:block; padding:11px 0; color:#344256; font:400 17px/1.5 "DM Sans",Arial,sans-serif; text-decoration:none; }
.mg-practice-menu a:hover { color:#17263e; text-decoration:underline; text-underline-offset:4px; }
.mg-mobile-menu { display:none; }
.mg-site-header :focus-visible { outline:2px solid #17263e; outline-offset:-6px; }
.mg-site-header .mg-site-logo:focus-visible { outline-color:var(--v7-gold, #a49250); }
.mg-nav-bar :focus-visible { outline:2px solid var(--v7-gold, #a49250); outline-offset:3px; }
.mg-practice-menu :focus-visible { outline-color:#17263e; }
.v5-skip, .skip-link { z-index:1400; }
body.v5 .v6-sidebar { top:calc(var(--mg-nav-height) + 30px); }
body.v5-home.v6-refined #beruf-familie-perspektive { max-width:27ch; font-size:clamp(32px,3.2vw,46px); line-height:1.15; }
/* The Gerichtsfenster keeps its editorial masthead below the shared site navigation. */
.gf-page .screen-header { justify-content:space-between; }
.gf-page .screen-actions { margin-left:auto; }
@media (max-width:1250px) {
  .mg-nav-inner { gap:16px; padding-inline:24px; }
  .mg-nav-logo { max-width:180px; }
  .mg-nav-contact-row { gap:14px; }
  .mg-nav-phone span { display:none; }
  .mg-nav-phone { justify-content:center; width:44px; }
  .mg-site-utility { gap:18px; font-size:13px; }
  .mg-main-links { gap:20px; }
  .mg-nav-bar .mg-top-link { font-size:15px; }
}
@media (max-width:950px) {
  :root { --mg-nav-height:64px; }
  .mg-nav-inner { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:12px; padding-inline:22px; }
  .mg-nav-logo { grid-column:2; width:180px; }
  .mg-nav-inner > nav { display:contents; }
  .mg-nav-utility { padding:0; justify-self:end; }
  .mg-nav-contact-row { gap:10px; }
  .mg-nav-phone span { display:none; }
  .mg-nav-phone { justify-content:center; width:40px; min-height:44px; }
  .mg-nav-location { grid-column:2; width:150px; font-size:11px; gap:7px; }
  .mg-nav-location svg { width:13px; }
  .mg-site-logo { min-height:138px; }
  .mg-main-links { flex-direction:column; align-items:stretch; gap:0; padding:8px 22px 20px; }
  .mg-main-links > li { flex-wrap:wrap; border-bottom:1px solid #ffffff24; }
  .mg-nav-bar .mg-top-link { flex:1; min-height:52px; padding:12px 0; font-size:16px; }
  .mg-nav-bar.is-enhanced .mg-main-links { display:none; position:absolute; top:100%; left:0; right:0; max-height:calc(100svh - var(--mg-nav-bottom,64px)); overflow:auto; overscroll-behavior:contain; background:#17263e; box-shadow:0 14px 25px #101c3030; }
  .mg-nav-bar.is-enhanced .mg-main-links.is-open { display:flex; }
  .mg-nav-bar.is-enhanced .mg-mobile-menu { grid-column:1; grid-row:1; justify-self:start; display:inline-flex; align-items:center; justify-content:space-between; gap:12px; min-height:var(--mg-nav-height); padding:10px 0; margin:0; border:0; border-radius:0; color:#fff; background:transparent; font:500 15px/1.4 "DM Sans",Arial,sans-serif; cursor:pointer; }
  .mg-mobile-menu svg { width:19px; height:16px; fill:none; stroke:currentColor; stroke-width:1.5; }
  .mg-submenu-toggle { width:44px; height:48px; margin:0; }
  .mg-practice-menu { position:static; flex-basis:100%; width:100%; max-height:none; overflow:visible; transform:none; grid-template-columns:1fr; gap:24px; padding:22px 20px; margin:0 0 15px; box-shadow:none; border:0; }
  .mg-nav-bar .mg-practice-heading { font-size:25px; }
  .mg-practice-menu li a { padding-block:11px; }
}
@media (max-width:680px) {
  .mg-site-top { grid-template-columns:1fr; }
  .mg-site-logo { min-height:126px; padding:26px 28px; }
  .mg-site-logo img { max-width:380px; }
  .mg-site-utility { justify-content:center; padding:18px 22px; gap:10px 22px; font-size:12px; }
  .mg-site-utility--experience, .mg-site-utility--slogan { padding:26px 28px; }
  .mg-site-slogan { font-size:27px; }
  .mg-site-experience { font-size:27px; }
  .mg-nav-inner { padding-inline:16px; gap:8px; }
  .mg-nav-logo { width:150px; }
  .mg-nav-contact-row { gap:4px; }
  .mg-nav-phone { width:36px; flex:none; }
  .mg-nav-utility .mg-site-language { gap:6px; font-size:12px; }
}
@media (max-width:420px) {
  .mg-nav-inner { grid-template-columns:44px minmax(0,1fr) 88px; }
  .mg-nav-logo { width:136px; max-width:100%; justify-self:center; }
  .mg-nav-location { font-size:11px; gap:7px; }
  .mg-mobile-menu span { display:none; }
}
@media (max-width:360px) {
  .mg-nav-location { width:132px; font-size:10px; }
  .mg-mobile-menu span { display:none; }
  .mg-nav-bar.is-enhanced .mg-mobile-menu { min-width:44px; justify-content:flex-start; }
}
@media (prefers-reduced-motion:reduce) { .mg-submenu-toggle svg, .mg-nav-logo, .mg-nav-location { transition:none; } }
