/* Original: /kp-button-standard-v1.css */
/* KP+ button standard, approved 22 September 2026.
   Presentation only: preserve colours, states, dimensions and all handlers.
   Media thumbnails and slider position markers are not action buttons. */
:root { --kp-button-radius: 8px; }
html body :is(
  button:not(.album-photo-trigger):not(.imagefilm-trigger):not([role="switch"]),
  input[type="button"], input[type="submit"], input[type="reset"],
  a[role="button"], a.button, a.button-secondary, a.btn,
  a.btn-primary, a.btn-secondary, a.cta, a.cta-button,
  a.header-cta, a.header-message, a.header-login,
  a.kj-module-cta, a.kp-round-button, a.kp-round-button-v17,
  a.glossy-button, a.mini-glossy, a.immo-round-button,
  .retirement-depot-promo, .mobile-nav-booking, .mobile-nav-retirement,
  .function-dock a, .whatsapp-teaser > a,
  .header-service-links > a, .hero-service-links a,
  .kp-function-links a, .kp-function-links-v17 a, .immo-function-links a,
  .kp-whatsapp-card > a, .kp-whatsapp-card-v17 > a, .immo-whatsapp-card > a,
  .ks-conversion-v2 .topline-inner a
) { border-radius: var(--kp-button-radius) !important; }

/* Keep the glossy surface within the same softly rectangular contour. */
html body :is(.glossy-button, .mini-glossy, .status-legend-button)::before {
  border-radius: 6px 6px 4px 4px !important;
}

/* OV: reserve the actual label width; never squeeze the booking CTA. */
html body .site-header .header-actions > .button {
  flex: 0 0 auto;
  width: max-content;
  min-width: max-content;
  white-space: nowrap;
}
@media (min-width: 901px) {
  html body .site-header:has(.header-actions) {
    grid-template-columns: minmax(240px, 1fr) auto auto;
  }
}
@media (min-width: 1181px) and (max-width: 1400px) {
  html body .site-header:has(.header-actions) { gap: 14px; padding-inline: 18px; }
  html body .site-header .desktop-nav { gap: 12px; font-size: 12px; }
  html body .site-header .header-actions { gap: 8px; }
}
@media (min-width: 901px) and (max-width: 1000px) {
  html body .site-header:has(.header-actions) {
    grid-template-columns: minmax(180px, 1fr) auto auto;
  }
}

/* Original: /kp-private-album22.css */
/* Private album 22: full original frames, compact masonry, separate final sport group. */
html body .private-album.private-album .album-grid.album-grid22 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: auto;
  grid-auto-flow: dense;
  align-items: start;
  gap: 14px;
}
html body .private-album.private-album .album-grid22 + .album-grid22 { margin-top: 22px; }
html body .private-album.private-album .album-grid22[data-masonry-ready="true"] { grid-auto-rows: 1px; }
html body .private-album.private-album .album-grid22 > .album-photo {
  grid-column: span 1;
  grid-row: auto;
  position: relative;
  min-width: 0;
  min-height: 0;
  height: auto;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(117, 183, 196, .3);
  border-radius: 12px;
  background: #142e40;
  box-shadow: 0 5px 18px rgba(12, 42, 62, .1);
  align-self: start;
}
html body .private-album.private-album .album-grid22 > .album-photo.album-landscape22 { grid-column: span 2; }
html body .private-album.private-album .album-grid22 > .album-photo::after { display: none; }
html body .private-album.private-album .album-grid22 .album-photo-trigger {
  position: relative;
  inset: auto;
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  text-align: left;
  cursor: zoom-in;
}
html body .private-album.private-album .album-grid22 .album-photo-trigger > img {
  display: block;
  position: static;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: center;
  transform: none;
  filter: none;
  transition: none;
}
html body .private-album.private-album .album-grid22 .album-photo:hover img { transform: none; }
html body .private-album.private-album .album-grid22 .album-photo-trigger > figcaption {
  position: relative;
  inset: auto;
  display: flex;
  gap: 9px;
  align-items: flex-start;
  margin: 0;
  padding: 12px;
  width: auto;
  color: #fff;
  background: linear-gradient(135deg, #183b4d, #102b3c);
  text-shadow: none;
  font-size: 13px;
  line-height: 1.4;
}
html body .private-album.private-album .album-grid22 figcaption > span:first-child {
  position: static;
  display: flex;
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 7px;
  background: rgba(255, 255, 255, .12);
  font-size: 10px;
}
html body .private-album.private-album .album-grid22 .album-caption-copy { display: block; min-width: 0; overflow-wrap: anywhere; hyphens: auto; }
html body .private-album.private-album .album-grid22 figcaption strong { display: block; font-size: inherit; color: inherit; }
html body .private-album.private-album .album-grid22 figcaption small {
  display: block;
  margin-top: 5px;
  color: #d8e8ec;
  font-size: 11px;
  line-height: 1.45;
}
html body .private-album.private-album .album-grid22 .album-photo-trigger:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -4px;
}
@media (max-width: 1050px) {
  html body .private-album.private-album .album-grid.album-grid22 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  html body .private-album.private-album .album-grid.album-grid22 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  html body .private-album.private-album .album-grid22 + .album-grid22 { margin-top: 16px; }
  html body .private-album.private-album .album-grid22 .album-photo-trigger > figcaption { padding: 9px; gap: 6px; font-size: 11px; }
  html body .private-album.private-album .album-grid22 figcaption > span:first-child { flex-basis: 20px; width: 20px; height: 20px; font-size: 9px; }
  html body .private-album.private-album .album-grid22 figcaption small { font-size: 10px; }
}

/* Original: /kp-vita35.css */
/* Additive, brand-scoped biographies. No shared header, album or control rules. */
.kp-vita35{--vita-ink:#103b65;--vita-muted:#51697c;--vita-accent:#098fbb;--vita-tint:#eef8fc;--vita-line:#d6e8f1;padding:clamp(54px,7vw,100px) max(22px,calc((100% - 1240px)/2));color:var(--vita-ink);background:linear-gradient(145deg,#fff,var(--vita-tint));scroll-margin-top:120px}
.kp-vita35.kp-vita35-kj{--vita-ink:#06283b;--vita-muted:#506b7b;--vita-accent:#b92739;--vita-tint:#fff2f5;--vita-line:#ecdbe0}
.kp-vita35 .kp-vita35-heading{max-width:920px;margin:0 0 32px;padding:0;border:0;background:none}
.kp-vita35 .kp-vita35-kicker,.kp-vita35 .kp-vita35-role{margin:0 0 12px;color:var(--vita-accent);font-size:11px;font-weight:850;line-height:1.6;letter-spacing:.13em;text-transform:uppercase}
.kp-vita35 .kp-vita35-heading h2{margin:0 0 18px;color:var(--vita-ink);font-size:clamp(32px,4vw,52px);font-weight:650;line-height:1.08;letter-spacing:-.035em}
.kp-vita35.kp-vita35-kj .kp-vita35-heading h2,.kp-vita35.kp-vita35-kj h3{font-family:Georgia,serif;font-weight:500}
.kp-vita35 .kp-vita35-intro{margin:0;color:var(--vita-muted);font-size:15px;line-height:1.8;max-width:850px}
.kp-vita35 .kp-vita35-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.kp-vita35 .kp-vita35-card{min-width:0;overflow:hidden;border:1px solid var(--vita-line);border-radius:16px;background:#fff;box-shadow:0 16px 45px rgb(6 40 59 / 7%)}
.kp-vita35 .kp-vita35-photo{position:relative;margin:0;aspect-ratio:16/9;overflow:hidden;background:var(--vita-tint)}
.kp-vita35 .kp-vita35-photo img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 0;transform:none}
.kp-vita35 .kp-vita35-body{padding:clamp(24px,3vw,36px)}
.kp-vita35 h3{margin:0;color:var(--vita-ink);font-size:32px;line-height:1.15;letter-spacing:-.025em}
.kp-vita35 .kp-vita35-background{min-height:76px;margin:18px 0;color:var(--vita-muted);font-size:14px;line-height:1.75}
.kp-vita35 .kp-vita35-qualifications{display:grid;gap:10px;margin:0;padding:0;list-style:none;color:var(--vita-muted);font-size:14px;line-height:1.65}
.kp-vita35 .kp-vita35-qualifications li{position:relative;margin:0;padding-left:20px}
.kp-vita35 .kp-vita35-qualifications li::before{position:absolute;left:0;color:var(--vita-accent);content:'✓';font-weight:800}
.kp-vita35 .kp-vita35-motto{margin-top:24px;padding-top:20px;border-top:1px solid var(--vita-line)}
.kp-vita35 .kp-vita35-motto span{display:block;margin-bottom:7px;color:var(--vita-accent);font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.kp-vita35 .kp-vita35-motto strong{display:block;color:var(--vita-ink);font-size:16px;line-height:1.55;font-weight:650}
.kp-vita35 .kp-vita35-roles{margin:24px 0 0;padding:16px 20px;border-left:3px solid var(--vita-accent);background:rgb(255 255 255 / 70%);color:var(--vita-muted);font-size:13px;line-height:1.75}
@media(max-width:720px){.kp-vita35{padding:52px 18px}.kp-vita35 .kp-vita35-grid{grid-template-columns:1fr;gap:22px}.kp-vita35 .kp-vita35-heading{margin-bottom:26px}.kp-vita35 .kp-vita35-background{min-height:0}.kp-vita35 .kp-vita35-photo{aspect-ratio:4/3}.kp-vita35 .kp-vita35-body{padding:25px 22px}.kp-vita35 h3{font-size:30px}}

/* 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: /ks-logo-surface45.css */
/* Preserve the approved 8px logo surface at every KS conversion breakpoint. */
html[data-kp-brand="krebs-scan"].ks-conversion-v2 body .site-header .brand.kp-logo-tile-approved,
html[data-kp-brand="krebs-scan"].ks-conversion-v2 body .site-header .brand.kp-logo-tile-approved > img {
  border-radius: 8px !important;
}

/* 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; } }
