/* KEA responsive viewport support: fluid windows, safe edges and touch controls.
   No device detection or experimental posture APIs required. */
:root{
  --kea-safe-top:env(safe-area-inset-top,0px);
  --kea-safe-right:env(safe-area-inset-right,0px);
  --kea-safe-bottom:env(safe-area-inset-bottom,0px);
  --kea-safe-left:env(safe-area-inset-left,0px);
}
:root body{
  padding-block-start:var(--kea-safe-top);
  --kp-sticky:calc(var(--kn-header-height,86px) + 24px + var(--kea-safe-top));
}
:root body>footer{padding-bottom:var(--kea-safe-bottom)}
:root body .kfq-head{top:calc(var(--kn-header-height,86px) + 28px + var(--kea-safe-top))}
html{scroll-padding-top:calc(var(--kn-header-height,86px) + 20px + var(--kea-safe-top))}
:root body .kn-site-header{top:var(--kea-safe-top)}
:root body .kp-toc--bar{top:calc(var(--kn-header-height,72px) + var(--kea-safe-top))}
:root body :is(.kn-container,.kn-utility-inner,.knr-footer-inner,.kea-breadcrumb-wrap),
:root body[data-page] main :is(.kd-wrap,.kp-wrap,.wrap),
:root body[data-page="home"] #abschluss .kpf-copy{
  padding-left:max(var(--kea-layout-gutter,20px),var(--kea-safe-left));
  padding-right:max(var(--kea-layout-gutter,20px),var(--kea-safe-right));
}
:root body[data-page="home"] #abschluss .kpf-toolbar{
  left:max(var(--kea-layout-gutter),var(--kea-safe-left),calc((100% - var(--kea-layout-max))/2 + var(--kea-layout-gutter)));
  right:max(var(--kea-layout-gutter),var(--kea-safe-right),calc((100% - var(--kea-layout-max))/2 + var(--kea-layout-gutter)));
}
@media(max-width:900px){
  :root body[data-page="home"] .kd-hero .kh-hero-controls{
    left:max(var(--kea-layout-gutter),var(--kea-safe-left));right:auto;
    max-width:calc(100% - max(var(--kea-layout-gutter),var(--kea-safe-left)) - max(var(--kea-layout-gutter),var(--kea-safe-right)));
  }
}
.kn-mobile-menu{
  --kea-menu-pad:28px;
  padding-left:max(var(--kea-menu-pad),var(--kea-safe-left));
  padding-right:max(var(--kea-menu-pad),var(--kea-safe-right));
  padding-bottom:calc(var(--kea-menu-pad) + var(--kea-safe-bottom));
}
.kn-mobile-menu-head{padding-top:calc(22px + var(--kea-safe-top))}
.kn-dialog{
  position:fixed;inset:var(--kea-safe-top) var(--kea-safe-right) var(--kea-safe-bottom) var(--kea-safe-left);margin:auto;
  max-width:calc(100vw - 32px - var(--kea-safe-left) - var(--kea-safe-right));
  max-height:calc(100dvh - 32px - var(--kea-safe-top) - var(--kea-safe-bottom));
}
.kn-dialog .kn-icon-button,.kn-mobile-menu .kn-icon-button{width:44px;height:44px;flex:0 0 44px}
@media(max-width:1199px){
  .kn-header-actions>.kn-icon-button{width:44px;height:44px;flex:0 0 44px}
  .kn-header-cta{min-height:44px}
  .kp-toc--bar a{display:inline-flex;align-items:center;min-height:44px}
}
@media(max-width:520px){
  .kn-header-inner{gap:8px}
  .kn-header-actions{gap:4px}
  .kn-brand img{height:34px}
  .kn-header-cta{padding-inline:12px}
  .kn-mobile-menu{--kea-menu-pad:24px}
  .kn-dialog{
    max-width:calc(100vw - 24px - var(--kea-safe-left) - var(--kea-safe-right));
    max-height:calc(100dvh - 24px - var(--kea-safe-top) - var(--kea-safe-bottom));
  }
}
@media(max-width:370px){
  .kn-brand img{height:32px}
  .kn-header-inner{gap:6px}
  .kn-mobile-menu{--kea-menu-pad:22px}
}
@media(max-height:500px){
  .kn-mobile-menu-head{padding-block:calc(12px + var(--kea-safe-top)) 12px}
  .kn-mobile-quick{padding-top:12px}
  .kn-dialog{padding:16px 20px}
  .kn-dialog-heading{margin-bottom:12px}
  .kn-dialog-heading h2{font-size:22px}
  .kn-dialog-heading .kn-eyebrow{margin-bottom:4px}
  .kn-search-count{margin:10px 0 4px}
  .kn-search-result{min-height:56px;padding-block:8px}
}
