/* Original: /ii-header-buttons39.css */
/* II header-buttons39 — load after the unchanged pre-button37 styles.
   Scope: only the hero-bar menu button and its adjacent primary appointment CTA.
   Existing colours, other buttons, states, links and event handlers are untouched.
   The real "Menü" text remains in the DOM and supplies the accessible name. */

html body section.hero#start .hero-bar button.menu-button {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex: 0 0 48px !important;
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  gap: 0 !important;
  border-radius: 8px !important;
  font-size: 0 !important;
  line-height: 0 !important;
}
html body section.hero#start .hero-bar button.menu-button > span {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
}
html body section.hero#start .hero-bar button.menu-button .menu-lines {
  display: block !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 18px !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: #fff !important;
  background:
    linear-gradient(#fff,#fff) center 0 / 24px 2px no-repeat,
    linear-gradient(#fff,#fff) center 8px / 24px 2px no-repeat,
    linear-gradient(#fff,#fff) center 16px / 24px 2px no-repeat !important;
  filter: drop-shadow(1px 1px 1px #0008);
}

html body section.hero#start .hero-bar .hero-service-links > a.primary {
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-shadow: 1px 1px 2px #000a !important;
  white-space: nowrap !important;
  flex: 0 0 auto;
  min-width: max-content;
  min-height: 44px;
  padding-inline: 20px !important;
  border-radius: 8px !important;
}

/* Honour the OS contrast palette while retaining exactly three clean bars. */
@media (forced-colors: active) {
  html body section.hero#start .hero-bar button.menu-button .menu-lines {
    forced-color-adjust: none;
    background:
      linear-gradient(ButtonText,ButtonText) center 0 / 24px 2px no-repeat,
      linear-gradient(ButtonText,ButtonText) center 8px / 24px 2px no-repeat,
      linear-gradient(ButtonText,ButtonText) center 16px / 24px 2px no-repeat !important;
    filter: none !important;
  }
  html body section.hero#start .hero-bar .hero-service-links > a.primary {
    color: LinkText !important;
    -webkit-text-fill-color: LinkText;
    text-shadow: none !important;
  }
}

/* Original: /ui-consistency45.css */
/* Requested surface consistency. No geometry, calculation or form-state changes. */
:root { --kp-surface-radius45: 8px; --kp-logo-radius: 8px; --kp-button-radius: 8px; }
html body :is(.kp-logo-tile-approved, .logo-tile, .site-header .brand, .header .wordmark-logo, .footer-brand-tile, .kp-footer-logo-approved) {
  --kp-logo-radius: 8px !important;
  border-radius: var(--kp-surface-radius45) !important;
}
html body :is(.kp-logo-tile-approved, .logo-tile, .site-header .brand, .header .wordmark-logo, .footer-brand-tile, .kp-footer-logo-approved) > img,
html body .kp-logo-tile-approved .brand-lockup-v6,
html body .kp-logo-tile-approved .brand-lockup-v6 > img { border-radius: 8px !important; }
html body :is(.process-card, .clock-visual, .founders-visual, .vitality-visual, .price-summary, .portal-window,
 .portal-status-grid article, .medical-grid article, .clock-prices article, .vita-card, .aa40-module-media,
 .aa40-photo, .aa41-media figure, .research-card, .kj-research-grid article, .kj-module-card,
 .brand-network-card, .kp-titles-approved > article, .kp-private-sep16 .album-photo, .album-photo) {
  border-radius: var(--kp-surface-radius45) !important;
}
/* Deliberately leave II title bands (22px 22px 0 0), tables, graph nodes,
   input state controls and circular scene geometry at their approved standards. */
html body section.hero#start .hero-bar button.menu-button {
  width: 44px !important; min-width: 44px !important; max-width: 44px !important;
  height: 44px !important; min-height: 44px !important; flex-basis: 44px !important;
  border: 1px solid #ffc478b3 !important; border-radius: 8px !important;
  background: linear-gradient(145deg, #ffab32, #e67a00) !important;
  box-shadow: 0 4px 12px #7b3c002b !important; color: #fff !important;
}
html body section.hero#start .hero-bar button.menu-button .menu-lines {
  width: 22px !important; height: 18px !important; flex-basis: 22px !important;
  background: linear-gradient(#fff,#fff) center 0 / 22px 2px no-repeat,
    linear-gradient(#fff,#fff) center 8px / 22px 2px no-repeat,
    linear-gradient(#fff,#fff) center 16px / 22px 2px no-repeat !important;
  filter: drop-shadow(1px 1px 1px #0006);
}
/* KJ: the 52px fixed contact rail must not sit on the first text character. */
html[data-kp-brand="krebs-jetzt"] { scroll-padding-top: calc(var(--kp-sticky-clearance45, 104px) + 16px); }
@media (min-width:1001px) and (max-width:1199px) {
  html[data-kp-brand="krebs-jetzt"] body section.kp-full-header .kp-full-scene .hero-copy {
    left: 76px !important; width: calc(43% - 76px) !important; margin-left: 0 !important;
  }
}
@media (min-width:651px) and (max-width:1000px) {
  html[data-kp-brand="krebs-jetzt"] body section.kp-full-header > .hero-copy {
    width: calc(100% - 112px) !important; margin-left: 76px !important; margin-right: 36px !important;
  }
}
/* II: native architectural depth plane, always below the unchanged people. */
html body section.hero#start > .ii-building45 {
  position: absolute; pointer-events: none; z-index: 2;
  top: calc(var(--ii-depth-nav, 96px) + 26px); right: 9%; width: 60%;
  height: calc(var(--ii-depth-scene, 100svh) - var(--ii-depth-nav, 96px) - 112px);
  overflow: visible; opacity: .78;
}
.ii-building45 .estate-shell45 { fill: #153e5a18; stroke: #ffe4c1; stroke-width: 1.6; stroke-linejoin: round; filter:drop-shadow(0 1px 2px #18313db3); }
.ii-building45 .estate-edge45 { fill: none; stroke: #ffb253; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; filter:drop-shadow(0 1px 2px #18313db3); }
.ii-building45 .estate-window45 { fill: #fff1c4; opacity: .24; }
.ii-building45 .estate-floor45 { fill: none; stroke: #c6e2ef; stroke-width: .75; opacity: .5; }
@media(prefers-reduced-motion:no-preference) {
  .ii-building45 .estate-draw45 { stroke-dasharray: 1; animation: estate-draw45 8.5s ease-in-out infinite; }
  .ii-building45 .estate-window45 { animation: estate-windows45 8.5s ease-in-out infinite; animation-delay: var(--window-delay45,0s); }
  .ii-building45 .estate-volume45 { transform-origin: 460px 460px; animation: estate-depth45 8.5s ease-in-out infinite; }
}
html body section.hero[data-building-paused45] > .ii-building45 * { animation-play-state: paused !important; }
@keyframes estate-draw45 { 0%,7% {stroke-dashoffset:1;opacity:0} 33%,76% {stroke-dashoffset:0;opacity:1} 96%,100% {stroke-dashoffset:0;opacity:0} }
@keyframes estate-windows45 { 0%,25%,100%{opacity:.12} 42%,70%{opacity:.65} 90%{opacity:.15} }
@keyframes estate-depth45 { 0%,100%{transform:translateY(3px)} 50%{transform:translateY(-3px)} }
@media(max-width:1000px) {
  html body section.hero#start > .ii-building45 { right:-5%; width:110%; top:calc(var(--ii-depth-nav,84px) + 18px); height:calc(var(--ii-depth-scene,100svh) - var(--ii-depth-nav,84px) - 100px); opacity:.63; }
}
@media(forced-colors:active) {
  html body section.hero#start .hero-bar button.menu-button { background:ButtonFace!important; border-color:ButtonText!important; }
  html body section.hero#start .hero-bar button.menu-button .menu-lines { forced-color-adjust:none; background:linear-gradient(ButtonText,ButtonText) center 0/22px 2px no-repeat,linear-gradient(ButtonText,ButtonText) center 8px/22px 2px no-repeat,linear-gradient(ButtonText,ButtonText) center 16px/22px 2px no-repeat!important; filter:none; }
}

/* Original: /ii-building46.css */
/* No translation, rotation, zoom or deformation of the architectural geometry. */
.ii-building45[data-stable-building46] { opacity:.9!important; }
.architecture-volume46 { transform:none!important; animation:none!important; }
.architecture-face46 { fill:#16364b19; }
.architecture-side46 { fill:#12344d29; }
.architecture-roof46 { fill:#f1bc7018; }
.architecture-outline46 { fill:none; stroke:#ffe7c4; stroke-width:1.65; stroke-linejoin:round; filter:drop-shadow(0 1px 1px #123247); }
.architecture-ground46 { fill:none; stroke:#c6e2ef; stroke-width:.7; opacity:.3; }
.architecture-floor46 { fill:none; stroke:#ffde9f; stroke-width:1.4; opacity:.22; }
.architecture-window46 { fill:#fff0b7; opacity:.2; }
.architecture-light46 { fill:none; stroke:#ffb24e; stroke-width:2.8; stroke-linecap:round; stroke-dasharray:12 88; filter:drop-shadow(0 0 3px #ffd88c); }
@media(prefers-reduced-motion:no-preference) {
 .architecture-light46 { animation:architecture-light46 7s linear infinite; }
 .architecture-floor46,.architecture-window46 { animation:architecture-floors46 6s ease-in-out infinite; animation-delay:var(--floor-delay46,0s); }
}
@keyframes architecture-light46 { to {stroke-dashoffset:-100} }
@keyframes architecture-floors46 { 0%,60%,100%{opacity:.16} 18%,32%{opacity:.85} }
@media(prefers-reduced-motion:reduce) { .architecture-light46 {stroke-dasharray:none;opacity:.35;} }

/* Original: /mobile-quick47.css */
/* Presentation only: existing links, disclosure state and click handlers retained. */
.kp-quick-grid47 { display:none!important; }
@media (max-width:760px) {
 html body :is(.kp-function-dock,.immo-function-dock) {
  position:fixed!important; top:auto!important; bottom:12px!important; left:12px!important;
  display:flex!important; flex-direction:column-reverse!important; align-items:flex-start!important;
  gap:8px!important; transform:none!important;
 }
 html body :is(.kp-function-toggle,.immo-function-toggle) {
  width:50px!important; height:50px!important; min-width:50px!important; min-height:50px!important;
  display:grid!important; place-items:center!important; padding:0!important; border-radius:8px!important;
 }
 html body :is(.kp-function-toggle,.immo-function-toggle) > span:not(.kp-quick-grid47) { display:none!important; }
 html body :is(.kp-function-toggle,.immo-function-toggle) .kp-quick-grid47 {
  display:grid!important; grid-template-columns:repeat(2,5px)!important; grid-template-rows:repeat(2,5px)!important;
  gap:4px!important; width:14px!important; height:14px!important; padding:0!important; margin:0!important;
  font-size:0!important; line-height:0!important; transform:none!important;
 }
 html body .kp-quick-grid47 i { display:block!important; width:5px!important; height:5px!important; border-radius:50%!important; background:currentColor!important; transform:scale(1); transition:transform .18s ease; }
 html body :is(.kp-function-dock,.immo-function-dock).is-open .kp-quick-grid47 i:first-child,
 html body :is(.kp-function-dock,.immo-function-dock).is-open .kp-quick-grid47 i:last-child { transform:scale(1.35); }
 html body :is(.kp-function-links,.immo-function-links) { display:flex!important; flex-direction:column!important; gap:8px!important; visibility:hidden!important; opacity:0!important; pointer-events:none!important; transform:translateY(8px)!important; transition:opacity .18s,transform .18s!important; }
 html body :is(.kp-function-dock,.immo-function-dock).is-open :is(.kp-function-links,.immo-function-links) { visibility:visible!important; opacity:1!important; pointer-events:auto!important; transform:none!important; }
 html body :is(.kp-function-links,.immo-function-links) a {
  display:flex!important; align-items:center!important; width:190px!important; max-width:calc(100vw - 24px)!important;
  height:44px!important; min-height:44px!important; border-radius:8px!important; padding:0!important; color:#fff!important;
 }
 html body :is(.kp-function-links,.immo-function-links) a > span { display:grid!important; place-items:center!important; flex:0 0 44px!important; width:44px!important; height:44px!important; }
 html body :is(.kp-function-links,.immo-function-links) a > b { display:block!important; visibility:visible!important; opacity:1!important; font-size:14px!important; font-weight:700!important; line-height:1.2!important; color:#fff!important; white-space:nowrap!important; padding-right:12px!important; text-shadow:1px 1px 1px #0008!important; }
}
@media(prefers-reduced-motion:reduce) { html body .kp-quick-grid47 i { transition:none!important; } }

/* Original: /ii-depth47.css */
/* Stable approved architecture and original chart cycle remain unchanged. */
html body section.hero#start > .ii-building45[data-stable-building46] { opacity:.64!important; }
@media(max-width:1000px) { html body section.hero#start > .ii-building45[data-stable-building46] { opacity:.52!important; } }
