/* Story-only bridge to the current Kundengeschichten header and local dialog.
   site-base.css is identical to that page's base style. Keep its shared nav/modal
   rules; mirror only ifas.css sizing, subpages.css active state and modal fixes.
   Do not load homepage refinements into the editorial article. */
body.reference-page { --site-nav-height:70.4px; }
body.reference-page :is(#nav,#mobile-menu,#modal) {
  font-size:16px; line-height:normal; overflow-wrap:normal; font-synthesis:initial;
}
:where(#nav,#mobile-menu,#modal) :where(button,input,textarea) { font:inherit; }
:where(#nav,#mobile-menu,#modal) :where(button) { color:inherit; }
body.reference-page :is(#nav,#mobile-menu,#modal) :focus-visible { outline:3px solid #225d97; outline-offset:5px; }
:where(#nav,#mobile-menu,#modal) :where(a,button) { -webkit-tap-highlight-color:rgba(76,145,214,.16); }
body.reference-page > main { padding-top:var(--site-nav-height); }
body.reference-page :where(main,section,details)[id], body.reference-page #quellen {
  scroll-margin-top:calc(var(--site-nav-height) + 0px + 32px);
}
body.reference-page .ref-skip:focus { position:fixed; top:calc(0px + 12px); z-index:1100; }
nav#nav { height:var(--site-nav-height); }
#nav .nav-logo img { height:28.6px; }
#nav .nav-links a, #nav .nav-lang, #nav .nav-pill .lbl { font-size:15.4px; }
#nav .nav-pill { height:41.8px; }
#nav .nav-pill .ic { width:41.8px; font-size:17.6px; }
#nav .nav-pill .lbl { padding-right:22px; }
#nav .nav-mob-cta { height:41.8px; font-size:15.4px; }
#nav .nav-mob-cta .ic { width:35.2px; font-size:17.6px; }
#nav .burger { width:44px; height:44px; gap:5.5px; }
#nav .burger span { width:24.2px; height:1.65px; }
#nav .burger.open span:nth-child(1) { transform:translateY(7.15px) rotate(45deg); }
#nav .burger.open span:nth-child(3) { transform:translateY(-7.15px) rotate(-45deg); }
#mobile-menu a { font-size:17.6px; }
#mobile-menu .mob-cta { font-size:15.4px; }
/* Undo the article-only wrapping pill rules inside the shared header. */
body.reference-page #nav .nav-pill { min-height:0; flex-shrink:1; white-space:normal; }
body.reference-page #nav .nav-pill .ic { flex:0 1 auto; align-self:auto; height:100%; line-height:normal; }
body.reference-page #nav .nav-pill .lbl { padding-block:0; line-height:1; white-space:nowrap; overflow-wrap:normal; hyphens:manual; }
body.reference-page #nav .nav-links a[aria-current="page"],
body.reference-page #mobile-menu a[aria-current="page"] {
  color:#225d97; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px;
}
#modal .modal-box { max-height:calc(100dvh - 76px); overflow-y:auto; overscroll-behavior:contain; }
body.reference-page #modal .modal-title {
  font-size:clamp(22px,2.5vw,30px); line-height:normal; letter-spacing:-.025em;
  margin-bottom:14px; overflow-wrap:normal; hyphens:manual; text-wrap:wrap;
}
#modal .f-input, #modal .f-textarea { font-size:16px; }
#modal .f-label { color:#515860; }
#modal .f-input::placeholder, #modal .f-textarea::placeholder { color:#6e7780; }
#modal .f-success { color:#245d94; font-size:17px; padding:32px 0; }
@media(max-width:1120px) {
  #nav .nav-links { display:none; gap:15px; }
  #nav .burger { display:flex; }
  #nav .nav-mob-cta { display:inline-flex; margin-left:auto; margin-right:14px; }
}
@media(min-width:1121px) and (max-width:1280px) { #nav .nav-links { gap:18px; } }
@media(max-width:760px) {
  #nav .nav-logo img { height:24.2px; }
  #modal { padding-top:54px; }
  #modal .modal-box { max-height:calc(100dvh - 78px); border-radius:48px; padding:54px 28px 30px; }
  #modal .modal-close { top:15px; right:18px; }
}
@media print {
  body.reference-page :is(#nav,#mobile-menu,#modal) { display:none!important; }
  body.reference-page > main { padding-top:0; }
}
