/* Geroldinger shared site shell – Gate 4A
   Central navigation/footer only. No page-content positioning. */
:root{
  --gds-shell-navy:var(--gds-navy,#18324A);
  --gds-shell-petrol:var(--gds-petrol,#2F6F73);
  --gds-shell-white:#fff;
  --gds-shell-mist:var(--gds-mist,#F3F5F6);
  --gds-shell-line:var(--gds-line,#D8DEE3);
  --gds-shell-graphite:var(--gds-graphite,#2D3338);
  --gds-shell-slate:var(--gds-slate,#66737F);
  --gds-shell-font:var(--gds-font,Inter,Arial,Helvetica,sans-serif);
}

.gds-global-nav,
.gds-global-nav *,
.gds-mobile-nav,
.gds-mobile-nav *,
.gds-global-footer,
.gds-global-footer *{box-sizing:border-box}

.gds-global-nav{
  position:sticky!important;
  top:0;
  z-index:1100;
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  min-height:76px;
  padding:12px clamp(20px,3vw,48px)!important;
  gap:16px!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.18)!important;
  background:var(--gds-shell-navy)!important;
  color:var(--gds-shell-white)!important;
  font-family:var(--gds-shell-font)!important;
  box-shadow:none!important;
}
.gds-global-nav .nav-logo{flex:0 0 auto;margin:0;color:#fff!important;font-size:1.18rem!important;font-weight:750!important;line-height:1.2!important;text-decoration:none!important;white-space:nowrap}
.gds-global-nav .nav-links{display:flex!important;align-items:center;gap:clamp(10px,1.2vw,18px)!important;margin:0!important;padding:0!important;list-style:none!important}
.gds-global-nav .nav-links>li{margin:0!important;padding:0!important;list-style:none!important}
.gds-global-nav .nav-links a,
.gds-global-nav .nav-services summary{color:rgba(255,255,255,.88)!important;font-size:.82rem!important;font-weight:560!important;line-height:1.25!important;text-decoration:none!important;white-space:nowrap!important}
.gds-global-nav .nav-links a:hover,
.gds-global-nav .nav-links a:focus-visible,
.gds-global-nav .nav-services summary:hover,
.gds-global-nav .nav-services summary:focus-visible,
.gds-global-nav .nav-services details[open]>summary{color:#fff!important;text-decoration:underline!important;text-underline-offset:4px}
.gds-global-nav a:focus-visible,
.gds-global-nav button:focus-visible,
.gds-global-nav summary:focus-visible{outline:3px solid #fff!important;outline-offset:3px!important}
.gds-mobile-nav a:focus-visible,
.gds-mobile-nav button:focus-visible{outline:3px solid var(--gds-shell-petrol)!important;outline-offset:3px!important}

.gds-global-nav .nav-services{position:relative}
.gds-global-nav .nav-services details{position:relative}
.gds-global-nav .nav-services summary{display:inline-flex;align-items:center;gap:.42rem;min-height:42px;padding:0;list-style:none;cursor:pointer}
.gds-global-nav .nav-services summary::-webkit-details-marker{display:none}
.gds-global-nav .nav-services summary::marker{content:""}
.gds-global-nav .nav-services-caret{display:inline-block;font-size:.72rem;transition:transform 150ms ease}
.gds-global-nav .nav-services details[open] .nav-services-caret{transform:rotate(180deg)}
.gds-global-nav .nav-services-panel{
  position:absolute!important;
  top:calc(100% + 10px)!important;
  left:-22px!important;
  z-index:1140!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
  width:max-content!important;
  min-width:300px!important;
  max-width:min(390px,calc(100vw - 32px))!important;
  padding:20px!important;
  border:1px solid var(--gds-shell-line)!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:0 18px 48px rgba(10,31,48,.22)!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-4px);
  transition:opacity 140ms ease,transform 140ms ease,visibility 140ms ease;
}
.gds-global-nav .nav-services-panel--right{left:auto!important;right:0!important}
.gds-global-nav .nav-services-panel::before{content:"";position:absolute;right:0;bottom:100%;left:0;height:12px}
.gds-global-nav .nav-services details[open] .nav-services-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.gds-global-nav .nav-services details:not([open])>.nav-services-panel{opacity:0;visibility:hidden;pointer-events:none}
.gds-global-nav .nav-services-group{min-width:0}
.gds-global-nav .nav-services-heading{display:block;margin:0 0 10px;color:var(--gds-shell-slate);font-size:.72rem;font-weight:800;letter-spacing:.08em;line-height:1.35;text-transform:uppercase}
.gds-global-nav .nav-services-panel ul{display:grid!important;gap:5px!important;margin:0!important;padding:0!important;list-style:none!important}
.gds-global-nav .nav-services-panel li{margin:0!important;padding:0!important;list-style:none!important}
.gds-global-nav .nav-services-panel a{display:block!important;padding:8px 10px!important;border-radius:5px!important;color:var(--gds-shell-navy)!important;font-size:.86rem!important;font-weight:650!important;line-height:1.35!important;text-decoration:none!important;white-space:normal!important}
.gds-global-nav .nav-services-panel a:hover,
.gds-global-nav .nav-services-panel a:focus-visible{background:var(--gds-shell-mist)!important;color:var(--gds-shell-petrol)!important;text-decoration:none!important}
.gds-global-nav .nav-services-panel a[aria-current="page"]{background:var(--gds-shell-mist)!important;color:var(--gds-shell-navy)!important}

.gds-global-nav .nav-right{display:flex!important;align-items:center;gap:8px!important;margin:0!important}
.gds-global-nav .nav-utility-link{color:rgba(255,255,255,.82)!important;font-size:.78rem!important;font-weight:600!important;text-decoration:none!important;white-space:nowrap}
.gds-global-nav .nav-utility-link:hover,.gds-global-nav .nav-utility-link:focus-visible{color:#fff!important;text-decoration:underline!important;text-underline-offset:4px}
.gds-global-nav .lang-switcher{display:flex!important;overflow:hidden;border:1px solid rgba(255,255,255,.36)!important;border-radius:5px!important}
.gds-global-nav .lang-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:34px!important;padding:7px 8px!important;background:transparent!important;color:rgba(255,255,255,.84)!important;font-size:.76rem!important;font-weight:700!important;text-decoration:none!important}
.gds-global-nav .lang-btn.active{background:#fff!important;color:var(--gds-shell-navy)!important}
.gds-global-nav .nav-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:9px 14px!important;border:1px solid #fff!important;border-radius:5px!important;background:#fff!important;color:var(--gds-shell-navy)!important;font-size:.8rem!important;font-weight:750!important;line-height:1.2!important;text-align:center!important;text-decoration:none!important;white-space:nowrap!important;box-shadow:none!important}
.gds-global-nav .nav-cta:hover,.gds-global-nav .nav-cta:focus-visible{background:var(--gds-shell-mist)!important;border-color:var(--gds-shell-mist)!important;color:var(--gds-shell-navy)!important;text-decoration:none!important}
.gds-global-nav .nav-portal-short{display:none!important;align-items:center;justify-content:center;min-height:40px;padding:0 12px;border:1px solid rgba(255,255,255,.58);border-radius:5px;color:#fff!important;font-size:.78rem;font-weight:700;text-decoration:none!important;white-space:nowrap}
.gds-global-nav .gds-mobile-nav-toggle{display:none;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid rgba(255,255,255,.58);border-radius:5px;background:transparent;color:#fff;font:inherit;font-size:.8rem;font-weight:700;line-height:1;cursor:pointer}
.gds-global-nav .gds-mobile-nav-toggle__icon{position:relative;display:inline-block;width:19px;height:14px;flex:0 0 auto}
.gds-global-nav .gds-mobile-nav-toggle__icon::before,
.gds-global-nav .gds-mobile-nav-toggle__icon::after,
.gds-global-nav .gds-mobile-nav-toggle__line{content:"";position:absolute;left:0;width:19px;height:2px;border-radius:2px;background:currentColor}
.gds-global-nav .gds-mobile-nav-toggle__icon::before{top:0}.gds-global-nav .gds-mobile-nav-toggle__line{top:6px}.gds-global-nav .gds-mobile-nav-toggle__icon::after{top:12px}

.gds-mobile-nav{position:fixed;inset:0;z-index:1200;display:flex;justify-content:flex-end;background:rgba(10,31,48,.66);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 180ms ease,visibility 180ms ease;font-family:var(--gds-shell-font)}
.gds-mobile-nav[hidden]{display:none!important}.gds-mobile-nav.is-open{opacity:1;visibility:visible;pointer-events:auto}
.gds-mobile-nav__panel{width:min(430px,100%);height:100%;overflow-y:auto;overscroll-behavior:contain;background:#fff;color:var(--gds-shell-graphite);box-shadow:-18px 0 48px rgba(10,31,48,.26);transform:translateX(100%);transition:transform 180ms ease}
.gds-mobile-nav.is-open .gds-mobile-nav__panel{transform:translateX(0)}
.gds-mobile-nav__header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:12px 16px;border-bottom:1px solid var(--gds-shell-line);background:#fff}
.gds-mobile-nav__title{margin:0;color:var(--gds-shell-navy);font-size:1.08rem;font-weight:800;line-height:1.2}
.gds-mobile-nav__close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 auto;border:1px solid var(--gds-shell-line);border-radius:5px;background:#fff;color:var(--gds-shell-navy);font:inherit;font-size:1.6rem;line-height:1;cursor:pointer}
.gds-mobile-nav__content{display:grid;gap:24px;padding:20px 16px calc(32px + env(safe-area-inset-bottom))}
.gds-mobile-nav__actions{display:grid;gap:10px}
.gds-mobile-nav__action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;border:1px solid var(--gds-shell-navy);border-radius:5px;font-size:.94rem;font-weight:800;line-height:1.3;text-align:center;text-decoration:none}
.gds-mobile-nav__action--primary{background:var(--gds-shell-navy);color:#fff!important}.gds-mobile-nav__action--secondary{background:#fff;color:var(--gds-shell-navy)!important}
.gds-mobile-nav__section{min-width:0;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.gds-mobile-nav__heading{display:block;margin:0 0 9px;color:var(--gds-shell-slate);font-size:.72rem;font-weight:800;letter-spacing:.08em;line-height:1.35;text-transform:uppercase}
.gds-mobile-nav__list{display:grid!important;gap:0!important;margin:0!important;padding:0!important;list-style:none!important}.gds-mobile-nav__list li{margin:0!important;padding:0!important;list-style:none!important}
.gds-mobile-nav__link{display:block!important;padding:10px 0!important;border-bottom:1px solid var(--gds-shell-line)!important;color:var(--gds-shell-navy)!important;font-size:.94rem!important;font-weight:650!important;line-height:1.4!important;text-decoration:none!important}
.gds-mobile-nav__language{padding-top:4px}.gds-mobile-nav__language .lang-switcher{display:inline-flex;border:1px solid var(--gds-shell-line);border-radius:5px;overflow:hidden}.gds-mobile-nav__language .lang-btn{display:inline-flex;min-width:48px;justify-content:center;padding:9px 12px;color:var(--gds-shell-navy)!important;text-decoration:none}.gds-mobile-nav__language .lang-btn.active{background:var(--gds-shell-navy);color:#fff!important}
body.gds-mobile-nav-open{overflow:hidden!important}

/* Hide page-local headers only when the central shell was mounted separately. */
body.gds-site-shell-injected .site-header,
body.gds-site-shell-injected .topbar,
body.gds-site-shell-injected #seo-fallback .sf-nav,
body.gds-site-shell-injected #main-landing-header,
body.gds-site-shell-injected #main-app-header{display:none!important}

.gds-global-footer{margin:0!important;padding:0!important;background:var(--gds-shell-navy)!important;color:rgba(255,255,255,.74)!important;font-family:var(--gds-shell-font)!important;border:0!important}
.gds-global-footer .footer-inner{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:52px 0 22px}
.gds-global-footer .footer-main{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(0,2.1fr);gap:48px;padding-bottom:34px}
.gds-global-footer .footer-logo{margin:0 0 12px;color:#fff!important;font-size:1.25rem;font-weight:800}.gds-global-footer .footer-brand-text{max-width:330px;margin:0;color:rgba(255,255,255,.72)!important;font-size:.92rem;line-height:1.65}
.gds-global-footer .footer-nav-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.gds-global-footer .footer-column{margin:0!important;padding:0!important;background:transparent!important;border:0!important}
.gds-global-footer .footer-heading{margin:0 0 12px!important;color:#fff!important;font-size:.78rem!important;font-weight:800!important;letter-spacing:.07em!important;line-height:1.4!important;text-transform:uppercase!important;text-align:left!important}
.gds-global-footer .footer-links{display:grid!important;align-items:initial!important;gap:7px!important;margin:0!important;padding:0!important;list-style:none!important}.gds-global-footer .footer-links li{margin:0!important;padding:0!important;list-style:none!important}
.gds-global-footer .footer-links a{display:inline!important;margin:0!important;padding:0!important;color:rgba(255,255,255,.78)!important;font-size:.86rem!important;font-weight:500!important;line-height:1.55!important;text-decoration:none!important}.gds-global-footer .footer-links a:hover,.gds-global-footer .footer-links a:focus-visible{color:#fff!important;text-decoration:underline!important;text-underline-offset:4px}
.gds-global-footer .footer-portal-note{padding:18px 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.gds-global-footer .footer-portal-note p{margin:0!important;color:rgba(255,255,255,.72)!important;font-size:.84rem!important;line-height:1.6!important}.gds-global-footer .footer-portal-note strong,.gds-global-footer .footer-portal-note a{color:#fff!important}
.gds-global-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px}.gds-global-footer .footer-copy{color:rgba(255,255,255,.66)!important;font-size:.78rem!important;line-height:1.5!important}.gds-global-footer .footer-legal{display:flex!important;gap:16px!important;margin:0!important;padding:0!important;list-style:none!important}.gds-global-footer .footer-legal li{list-style:none!important}.gds-global-footer .footer-legal a{color:rgba(255,255,255,.78)!important;font-size:.78rem!important;text-decoration:none!important}

@media(max-width:1500px){.gds-global-nav{padding-inline:20px!important;gap:10px!important}.gds-global-nav .nav-links{gap:7px!important}.gds-global-nav .nav-right{gap:6px!important}.gds-global-nav .nav-cta{padding-inline:12px!important}.gds-global-nav .nav-utility-kanzlei{display:none!important}}
@media(max-width:1320px){.gds-global-nav{padding-inline:20px!important;gap:12px!important}.gds-global-nav .nav-links{gap:7px!important}.gds-global-nav .nav-links a,.gds-global-nav .nav-services summary{font-size:.8rem!important}.gds-global-nav .nav-cta{padding-inline:12px!important}}
@media(max-width:1400px){
  .gds-global-nav{justify-content:flex-start!important;gap:10px!important;flex-wrap:wrap!important}
  .gds-global-nav .nav-logo{margin-right:auto!important}
  body.gds-site-shell-active .gds-global-nav{flex-wrap:nowrap!important}
  body.gds-site-shell-active .gds-global-nav .nav-links,
  body.gds-site-shell-active .gds-global-nav .nav-right{display:none!important}
  body.gds-site-shell-active .gds-global-nav .nav-portal-short,
  body.gds-site-shell-active .gds-global-nav .gds-mobile-nav-toggle{display:inline-flex!important}
  body:not(.gds-site-shell-active) .gds-global-nav .nav-links,
  body:not(.gds-site-shell-active) .gds-global-nav .nav-right{flex-wrap:wrap!important}
}
@media(max-width:700px){
  .gds-page--rollout h1{font-size:clamp(2rem,9vw,2.4rem)!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:auto}
  .gds-global-nav{min-height:64px!important;padding:10px 14px!important}
  .gds-global-nav .nav-logo{font-size:1.05rem!important}
  .gds-global-nav .nav-portal-short{min-height:36px;padding:0 9px;font-size:.72rem}
  .gds-global-nav .gds-mobile-nav-toggle{min-height:36px;padding:0 9px}
  .gds-global-nav .gds-mobile-nav-toggle__label{display:none}
  .gds-global-footer .footer-inner{width:min(100% - 28px,760px);padding-top:40px}
  .gds-global-footer .footer-main{grid-template-columns:1fr;gap:30px}.gds-global-footer .footer-nav-grid{grid-template-columns:1fr;gap:24px}.gds-global-footer .footer-bottom{align-items:flex-start;flex-direction:column;gap:12px}
}
@media(prefers-reduced-motion:reduce){.gds-global-nav .nav-services-caret,.gds-global-nav .nav-services-panel,.gds-mobile-nav,.gds-mobile-nav__panel{transition:none!important}}
/* App shells that render their own header after JavaScript hydration. */
body.gds-site-shell-injected #root > header,
body.gds-site-shell-injected #root > div > header:first-child {display:none!important}
