/*
 * Crossbrand88 is an additive presentation layer over the frozen Channel86 release.
 * It does not replace calculators, forms, dialogs, media controllers or menu owners.
 */
html[data-crossbrand88] {
  --cb88-control: clamp(56px, 2.5vw, 96px);
  --cb88-edge: clamp(24px, 1.25vw, 48px);
  --cb88-gap: clamp(10px, .625vw, 24px);
  --cb88-glyph: calc(var(--cb88-control) * .5);
  --cb88-stroke: clamp(3px, .13vw, 5px);
  --cb88-person: 103.33839svh;
  --cb88-woman: .9659090909;
  --cb88-shoe: 2svh;
  --cb88-accent: #279ecf;
  --cb88-accent-dark: #075b92;
  --ui83-control: var(--cb88-control);
  --ui83-edge: var(--cb88-edge);
  --ui83-top: var(--cb88-edge);
  --kp79-control: var(--cb88-control);
  --kp79-edge: var(--cb88-edge);
  --ii75-control: var(--cb88-control);
}
html[data-crossbrand88="ii"] { --cb88-accent: #ff8a00; --cb88-accent-dark: #bd5100; }
html[data-crossbrand88="aa"] { --cb88-accent: #23ae7e; --cb88-accent-dark: #07533c; }
html[data-crossbrand88="ks"] { --cb88-accent: #279ecf; --cb88-accent-dark: #075b92; }
html[data-crossbrand88="kj"] { --cb88-accent: #d73748; --cb88-accent-dark: #85182b; }

/* Header: retain the brand mark and the native menu owner; remove competing CTA rows. */
html[data-crossbrand88] body section.hero:is(#start, #top) .kp-header61 :is(.ui83-actions, .header-service-links, .hero-service-links, .desktop-nav),
html[data-crossbrand88] body section.hero:is(#start, #top) .kp-header61 > :is(.header-cta, .button, .ii-depth-nav34),
html[data-crossbrand88="ii"] body .ii75-actions,
html[data-crossbrand88="kj"] body section.hero.kp-full-header > header.header.kp-header61 > nav:not(.kp-menu61-panel),
html[data-crossbrand88="kj"] body section.hero.kp-full-header > header.header.kp-header61 > a.button.small {
  display: none !important;
}
html[data-crossbrand88="ii"][data-brand61="ii"][data-ii-ui75] body section.hero#start > .hero-bar.kp-header61 > nav.ii75-actions {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
html[data-crossbrand88] body section.hero .kp-header61 .kp-toggle61 {
  display: block !important;
  position: fixed !important;
  inset: var(--cb88-edge) var(--cb88-edge) auto auto !important;
  width: var(--cb88-control) !important;
  min-width: var(--cb88-control) !important;
  max-width: var(--cb88-control) !important;
  height: var(--cb88-control) !important;
  min-height: var(--cb88-control) !important;
  max-height: var(--cb88-control) !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 8px !important;
  background: linear-gradient(145deg, var(--cb88-accent), var(--cb88-accent-dark)) !important;
  color: #fff !important;
  z-index: 10021 !important;
}
html[data-crossbrand88] body section.hero .kp-header61 .kp-toggle61 > .ui83-bars > i {
  left: calc(50% - var(--cb88-glyph) / 2) !important;
  width: var(--cb88-glyph) !important;
  height: var(--cb88-stroke) !important;
  transform: translateY(calc(var(--cb88-stroke) * -.5)) !important;
}
html[data-crossbrand88] body section.hero .kp-header61 .kp-toggle61 > .ui83-bars > i:first-child {
  transform: translateY(calc(var(--cb88-control) * -.17 - var(--cb88-stroke) * .5)) !important;
}
html[data-crossbrand88] body section.hero .kp-header61 .kp-toggle61 > .ui83-bars > i:last-child {
  transform: translateY(calc(var(--cb88-control) * .17 - var(--cb88-stroke) * .5)) !important;
}
html[data-crossbrand88] body section.hero .kp-header61 .kp-toggle61[aria-expanded="true"] > .ui83-bars > i:first-child {
  transform: translateY(calc(var(--cb88-stroke) * -.5)) rotate(45deg) !important;
}
html[data-crossbrand88] body section.hero .kp-header61 .kp-toggle61[aria-expanded="true"] > .ui83-bars > i:last-child {
  transform: translateY(calc(var(--cb88-stroke) * -.5)) rotate(-45deg) !important;
}
html[data-crossbrand88] body section.hero .kp-header61 .mobile-navigation:not([hidden]),
html[data-crossbrand88] body section.hero .kp-header61 .kp-menu61-panel:not([hidden]),
html[data-crossbrand88="aa"] body section.hero#start .kp-header61.aa33-nav-open > nav[aria-label="Hauptnavigation"] {
  inset: calc(var(--cb88-edge) + var(--cb88-control) + var(--cb88-gap)) var(--cb88-edge) auto auto !important;
  max-height: calc(100dvh - 2 * var(--cb88-edge) - var(--cb88-control) - var(--cb88-gap)) !important;
}

/* Product-colour controls; WhatsApp intentionally keeps its established green. */
html[data-crossbrand88="ii"] body :is(.immo-function-toggle, .immo-function-links > a, .immo-up-button),
html[data-crossbrand88="aa"] body :is(.kp-function-toggle, .kp-function-links > a, .kp-up),
html[data-crossbrand88="ks"] body :is(.kp-function-toggle, .kp-function-links > a, .kp-up),
html[data-crossbrand88="kj"] body :is(.kp-function-toggle-v17, .kp-function-links-v17 > a, .kp-up-v17) {
  background: linear-gradient(180deg, var(--cb88-accent), var(--cb88-accent-dark)) !important;
  color: #fff !important;
}
html[data-crossbrand88] body :is(.immo-whatsapp-button, .kp-whatsapp, .kp-whatsapp-v17) {
  background: #21c967 !important;
}

/* Up only becomes interactive after brand61-layout has recorded a real scroll. */
html[data-crossbrand88]:not(.kp61-scrolled) body :is(.immo-up-button, .kp-up, .kp-up-v17) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(8px) !important;
}
html[data-crossbrand88].kp61-scrolled body :is(.immo-up-button, .kp-up, .kp-up-v17) {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Full four-link rail: desktop and tablets with enough vertical room. */
@media (min-width: 768px) and (min-height: 601px) {
  html[data-crossbrand88="ii"] body .immo-function-dock,
  html[data-crossbrand88="aa"] body .kp-function-dock,
  html[data-crossbrand88="ks"] body .kp-function-dock,
  html[data-crossbrand88="kj"] body .kp-function-dock-v17 {
    display: block !important;
    position: fixed !important;
    inset: calc(2 * var(--cb88-edge) + var(--cb88-control)) auto auto 0 !important;
    transform: none !important;
    z-index: 10015 !important;
  }
  html[data-crossbrand88="ii"] body .immo-function-toggle,
  html[data-crossbrand88="aa"] body .kp-function-toggle,
  html[data-crossbrand88="ks"] body .kp-function-toggle,
  html[data-crossbrand88="kj"] body .kp-function-toggle-v17 {
    display: none !important;
  }
  html[data-crossbrand88="ii"] body .immo-function-links,
  html[data-crossbrand88="aa"] body .kp-function-links,
  html[data-crossbrand88="ks"] body .kp-function-links,
  html[data-crossbrand88="kj"] body .kp-function-links-v17 {
    display: grid !important;
    gap: var(--cb88-gap) !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }
  html[data-crossbrand88="ii"] body .immo-function-links > a,
  html[data-crossbrand88="aa"] body .kp-function-links > a,
  html[data-crossbrand88="ks"] body .kp-function-links > a,
  html[data-crossbrand88="kj"] body .kp-function-links-v17 > a {
    display: grid !important;
    grid-template-columns: var(--cb88-control) max-content !important;
    align-items: center !important;
    width: var(--cb88-control) !important;
    min-width: var(--cb88-control) !important;
    height: var(--cb88-control) !important;
    min-height: var(--cb88-control) !important;
    padding: 0 !important;
    border-radius: 0 8px 8px 0 !important;
    overflow: hidden !important;
  }
  html[data-crossbrand88="ii"] body .immo-function-links > a:is(:hover, :focus-visible),
  html[data-crossbrand88="aa"] body .kp-function-links > a:is(:hover, :focus-visible),
  html[data-crossbrand88="ks"] body .kp-function-links > a:is(:hover, :focus-visible),
  html[data-crossbrand88="kj"] body .kp-function-links-v17 > a:is(:hover, :focus-visible) {
    width: calc(var(--cb88-control) + 200px) !important;
  }
  html[data-crossbrand88] body :is(.immo-function-links, .kp-function-links, .kp-function-links-v17) > a > :first-child,
  html[data-crossbrand88] body :is(.kp-function-icon, .kp-function-icon-v17) {
    display: grid !important;
    place-items: center !important;
    width: var(--cb88-control) !important;
    height: var(--cb88-control) !important;
    flex: 0 0 var(--cb88-control) !important;
  }
  html[data-crossbrand88] body :is(.immo-function-links, .kp-function-links, .kp-function-links-v17) svg,
  html[data-crossbrand88] body :is(.immo-round-button, .kp-round-button, .kp-round-button-v17) svg {
    width: var(--cb88-glyph) !important;
    height: var(--cb88-glyph) !important;
  }
  html[data-crossbrand88="ii"] body .immo-contact-dock,
  html[data-crossbrand88="aa"] body .kp-contact-dock,
  html[data-crossbrand88="ks"] body .kp-contact-dock,
  html[data-crossbrand88="kj"] body .kp-contact-dock-v17 {
    display: flex !important;
    position: fixed !important;
    inset: auto var(--cb88-edge) var(--cb88-edge) auto !important;
    flex-direction: row !important;
    gap: var(--cb88-gap) !important;
    width: calc(2 * var(--cb88-control) + var(--cb88-gap)) !important;
    z-index: 10016 !important;
  }
  html[data-crossbrand88] body :is(.immo-round-button, .kp-round-button, .kp-round-button-v17) {
    width: var(--cb88-control) !important;
    min-width: var(--cb88-control) !important;
    height: var(--cb88-control) !important;
    min-height: var(--cb88-control) !important;
    padding: 0 !important;
  }
}

/* Mobile and short landscape: one compact owner toggle, with the same four links on demand. */
@media (max-width: 767px), (max-height: 600px) and (orientation: landscape) {
  html[data-crossbrand88] {
    --cb88-control: 48px;
    --cb88-edge: 12px;
    --cb88-gap: 7px;
    --cb88-glyph: 23px;
    --cb88-stroke: 3px;
    --ui83-top: var(--cb88-edge);
  }
  html[data-crossbrand88="ii"] body .immo-function-dock,
  html[data-crossbrand88="aa"] body .kp-function-dock,
  html[data-crossbrand88="ks"] body .kp-function-dock,
  html[data-crossbrand88="kj"] body .kp-function-dock-v17 {
    display: flex !important;
    position: fixed !important;
    inset: auto auto var(--cb88-edge) var(--cb88-edge) !important;
    flex-direction: column-reverse !important;
    gap: var(--cb88-gap) !important;
    transform: none !important;
    z-index: 10015 !important;
  }
  html[data-crossbrand88="ii"] body .immo-function-toggle,
  html[data-crossbrand88="aa"] body .kp-function-toggle,
  html[data-crossbrand88="ks"] body .kp-function-toggle,
  html[data-crossbrand88="kj"] body .kp-function-toggle-v17 {
    display: grid !important;
    place-items: center !important;
    width: var(--cb88-control) !important;
    min-width: var(--cb88-control) !important;
    height: var(--cb88-control) !important;
    min-height: var(--cb88-control) !important;
    margin: 0 !important;
    border-radius: 50% !important;
  }
  html[data-crossbrand88="ii"] body .immo-function-links,
  html[data-crossbrand88="aa"] body .kp-function-links,
  html[data-crossbrand88="ks"] body .kp-function-links,
  html[data-crossbrand88="kj"] body .kp-function-links-v17 {
    display: grid !important;
    gap: 6px !important;
    margin: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(8px) !important;
  }
  html[data-crossbrand88="ii"] body .immo-function-dock.is-open .immo-function-links,
  html[data-crossbrand88="aa"] body .kp-function-dock.is-open .kp-function-links,
  html[data-crossbrand88="ks"] body .kp-function-dock.is-open .kp-function-links,
  html[data-crossbrand88="kj"] body .kp-function-dock-v17.is-open .kp-function-links-v17 {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }
  html[data-crossbrand88="ii"] body .immo-function-links > a,
  html[data-crossbrand88="aa"] body .kp-function-links > a,
  html[data-crossbrand88="ks"] body .kp-function-links > a,
  html[data-crossbrand88="kj"] body .kp-function-links-v17 > a {
    display: grid !important;
    grid-template-columns: 44px 136px !important;
    align-items: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }
  html[data-crossbrand88="ii"] body .immo-function-links > a:is(:hover, :focus-visible),
  html[data-crossbrand88="aa"] body .kp-function-links > a:is(:hover, :focus-visible),
  html[data-crossbrand88="ks"] body .kp-function-links > a:is(:hover, :focus-visible),
  html[data-crossbrand88="kj"] body .kp-function-links-v17 > a:is(:hover, :focus-visible) {
    width: 180px !important;
  }
  html[data-crossbrand88] body :is(.immo-function-links, .kp-function-links, .kp-function-links-v17) > a > :first-child,
  html[data-crossbrand88] body :is(.kp-function-icon, .kp-function-icon-v17) {
    display: grid !important;
    place-items: center !important;
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
  }
  html[data-crossbrand88="ii"] body .immo-contact-dock,
  html[data-crossbrand88="aa"] body .kp-contact-dock,
  html[data-crossbrand88="ks"] body .kp-contact-dock,
  html[data-crossbrand88="kj"] body .kp-contact-dock-v17 {
    display: flex !important;
    position: fixed !important;
    inset: auto var(--cb88-edge) var(--cb88-edge) auto !important;
    flex-direction: row !important;
    gap: var(--cb88-gap) !important;
    width: calc(2 * var(--cb88-control) + var(--cb88-gap)) !important;
    z-index: 10016 !important;
  }
  html[data-crossbrand88] body :is(.immo-round-button, .kp-round-button, .kp-round-button-v17) {
    width: var(--cb88-control) !important;
    min-width: var(--cb88-control) !important;
    height: var(--cb88-control) !important;
    min-height: var(--cb88-control) !important;
    padding: 0 !important;
  }

  /* Beat older desktop-important rail rules when a wide viewport is short. */
  html[data-crossbrand88="ii"][data-brand61="ii"][data-ii-ui75] body .immo-function-dock,
  html[data-crossbrand88="aa"][data-brand61="aa"][data-ui83] body .kp-function-dock,
  html[data-crossbrand88="ks"][data-brand61="ks"][data-ui83] body .kp-function-dock,
  html[data-crossbrand88="kj"][data-brand61="kj"][data-ui83] body .kp-function-dock-v17 {
    display: flex !important;
    position: fixed !important;
    inset: auto auto var(--cb88-edge) var(--cb88-edge) !important;
    flex-direction: column-reverse !important;
    gap: var(--cb88-gap) !important;
    transform: none !important;
  }
  html[data-crossbrand88="ii"][data-brand61="ii"][data-ii-ui75] body .immo-function-toggle,
  html[data-crossbrand88="aa"][data-brand61="aa"][data-ui83] body .kp-function-toggle,
  html[data-crossbrand88="ks"][data-brand61="ks"][data-ui83] body .kp-function-toggle,
  html[data-crossbrand88="kj"][data-brand61="kj"][data-ui83] body .kp-function-toggle-v17 {
    display: grid !important;
  }
  html[data-crossbrand88="ii"][data-brand61="ii"][data-ii-ui75] body .immo-function-links,
  html[data-crossbrand88="aa"][data-brand61="aa"][data-ui83] body .kp-function-links,
  html[data-crossbrand88="ks"][data-brand61="ks"][data-ui83] body .kp-function-links,
  html[data-crossbrand88="kj"][data-brand61="kj"][data-ui83] body .kp-function-links-v17 {
    display: grid !important;
    gap: 6px !important;
    margin: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(8px) !important;
  }
  html[data-crossbrand88="ii"][data-brand61="ii"][data-ii-ui75] body .immo-function-dock.is-open .immo-function-links,
  html[data-crossbrand88="aa"][data-brand61="aa"][data-ui83] body .kp-function-dock.is-open .kp-function-links,
  html[data-crossbrand88="ks"][data-brand61="ks"][data-ui83] body .kp-function-dock.is-open .kp-function-links,
  html[data-crossbrand88="kj"][data-brand61="kj"][data-ui83] body .kp-function-dock-v17.is-open .kp-function-links-v17 {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }
  html[data-crossbrand88="ii"][data-brand61="ii"][data-ii-ui75] body .immo-function-links > a,
  html[data-crossbrand88="aa"][data-brand61="aa"][data-ui83] body .kp-function-links > a,
  html[data-crossbrand88="ks"][data-brand61="ks"][data-ui83] body .kp-function-links > a,
  html[data-crossbrand88="kj"][data-brand61="kj"][data-ui83] body .kp-function-links-v17 > a {
    display: grid !important;
    grid-template-columns: 44px 136px !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 8px !important;
  }
}

html[data-crossbrand88] body :is(.immo-up-button, .kp-up, .kp-up-v17) { order: 0 !important; }
html[data-crossbrand88] body :is(.immo-whatsapp-button, .kp-whatsapp, .kp-whatsapp-v17) { order: 1 !important; }
html[data-crossbrand88] body :is(.immo-whatsapp-card, .kp-whatsapp-card, .kp-whatsapp-card-v17) {
  left: auto !important;
  right: 0 !important;
  bottom: calc(var(--cb88-control) + var(--cb88-gap)) !important;
}

/* Viewport portrait stage: approved source assets, fixed native ratio, Ludmilla behind Stefan. */
@media (min-width: 768px) and (min-height: 601px) {
  html[data-crossbrand88] body section.hero .kp-header61,
  html[data-crossbrand88] body section.hero .kp-header61 > .header-inner {
    position: absolute !important;
    inset: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    gap: 0 !important;
    padding: var(--cb88-edge) calc(var(--cb88-edge) + var(--cb88-control) + var(--cb88-gap)) 0 var(--cb88-edge) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    align-items: start !important;
    background: none !important;
  }
  html[data-crossbrand88] body section.hero .kp-header61:has(> .header-inner) { padding: 0 !important; }
  html[data-crossbrand88] body section.hero .kp-header61 > .header-inner { position: relative !important; }
  html[data-crossbrand88] body section.hero .kp-header61 .kp-logo61-free { grid-column: 1 !important; grid-row: 1 !important; }
}

/* The shared viewport portrait geometry is desktop/tablet-only. Short landscape keeps
   the approved Channel86 scene and portrait coordinates. */
@media (min-width: 768px) and (min-height: 601px) {
  html[data-crossbrand88] body section.hero.kp-full-header {
    --kp-full-height: 100svh !important;
    --kp-full-nav: 0px !important;
    --kp-scene-top: 0px !important;
  }
  html[data-crossbrand88] body section.hero.kp-full-header .kp-full-scene {
    height: 100svh !important;
    min-height: 100svh !important;
  }
  html[data-crossbrand88] body section.hero.kp-full-header .kp-full-portraits {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100svh !important;
    overflow: visible !important;
    transform: none !important;
  }
  html[data-crossbrand88] body section.hero.kp-full-header .kp-full-portraits :is(.hero-founder-stefan, .hero-person-stefan, img.kp-full-man) {
    position: absolute !important;
    z-index: 3 !important;
    inset: auto max(0px, calc(50% - var(--cb88-person) * .3066)) calc(var(--cb88-shoe) - var(--cb88-person) * .05104) auto !important;
    width: auto !important;
    max-width: none !important;
    height: var(--cb88-person) !important;
    max-height: none !important;
    object-fit: contain !important;
    transform: none !important;
    filter: drop-shadow(clamp(10px, 1vw, 24px) clamp(14px, 1.3vw, 32px) clamp(12px, 1vw, 26px) rgb(1 29 47 / 24%)) !important;
  }
  html[data-crossbrand88] body section.hero.kp-full-header .kp-full-portraits :is(.hero-founder-ludmilla, .hero-person-ludmilla, img.kp-full-woman) {
    position: absolute !important;
    z-index: 2 !important;
    inset: auto max(-16px, calc(50% - var(--cb88-person) * .4366)) calc(var(--cb88-shoe) - var(--cb88-person) * var(--cb88-woman) * .05104) auto !important;
    width: auto !important;
    max-width: none !important;
    height: calc(var(--cb88-person) * var(--cb88-woman)) !important;
    max-height: none !important;
    object-fit: contain !important;
    transform: none !important;
  }

  html[data-crossbrand88="ii"] body section.hero#start {
    --ii-depth-nav: 0px !important;
    --ii-nav-h: 0px !important;
    --ii-depth-scene: 100svh !important;
    min-height: 100svh !important;
    padding-top: 0 !important;
  }
  html[data-crossbrand88="ii"] body section.hero#start .hero-inner {
    min-height: 100svh !important;
    height: 100svh !important;
  }
  html[data-crossbrand88="ii"] body section.hero#start .people.kp-portrait-stage-20260913 {
    --ii-depth-person: var(--cb88-person) !important;
    --ii-person-h: var(--cb88-person) !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100svh !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }
  html[data-crossbrand88="ii"] body section.hero#start .people :is(.person-stefan, .person-ludmilla) {
    position: static !important;
    display: contents !important;
  }
  html[data-crossbrand88="ii"] body section.hero#start .people :is(.person-stefan, .person-ludmilla) img {
    position: absolute !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    transform: none !important;
  }
  html[data-crossbrand88="ii"] body section.hero#start .people .person-stefan img {
    z-index: 3 !important;
    right: max(0px, calc(50% - var(--cb88-person) * .3066)) !important;
    bottom: calc(var(--cb88-shoe) - var(--cb88-person) * .05104) !important;
    height: var(--cb88-person) !important;
    filter: drop-shadow(clamp(10px, 1vw, 24px) clamp(14px, 1.3vw, 32px) clamp(12px, 1vw, 26px) rgb(1 29 47 / 24%)) !important;
  }
  html[data-crossbrand88="ii"] body section.hero#start .people .person-ludmilla img {
    z-index: 2 !important;
    right: max(-16px, calc(50% - var(--cb88-person) * .4366)) !important;
    bottom: calc(var(--cb88-shoe) - var(--cb88-person) * var(--cb88-woman) * .05104) !important;
    height: calc(var(--cb88-person) * var(--cb88-woman)) !important;
  }
}

/* Tablet keeps copy below the complete visual stage. */
@media (min-width: 768px) and (max-width: 1279px) and (min-height: 601px) {
  html[data-crossbrand88] body section.hero.kp-full-header .kp-full-scene:has(> .hero-copy) {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    padding-top: 100svh !important;
    box-sizing: content-box !important;
  }
  html[data-crossbrand88] body section.hero.kp-full-header .kp-full-scene > .hero-copy {
    position: relative !important;
    inset: auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 28px max(7vw, 24px) !important;
    transform: none !important;
  }
  html[data-crossbrand88="ii"] body section.hero#start {
    height: auto !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
  }
  html[data-crossbrand88="ii"] body section.hero#start .hero-inner {
    display: block !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 100svh 0 0 !important;
  }
  html[data-crossbrand88="ii"] body section.hero#start .hero-copy {
    position: relative !important;
    inset: auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 28px max(7vw, 24px) !important;
    transform: none !important;
  }
}

/* Tablet portrait stage starts below the real logo without touching portrait-mobile geometry. */
@media (min-width: 768px) and (max-width: 1279px) and (min-height: 601px) {
  html[data-crossbrand88] {
    --cb88-person: calc(100svh - 160px);
  }
}

/* Short landscape retains Channel86 geometry; only shadow paint is added. */
@media (max-height: 600px) and (orientation: landscape) {
  html[data-crossbrand88] body section.hero.kp-full-header .kp-full-portraits,
  html[data-crossbrand88="ii"] body section.hero#start .people.kp-portrait-stage-20260913 {
    overflow: visible !important;
  }
  html[data-crossbrand88] body section.hero.kp-full-header .kp-full-portraits :is(.hero-founder-stefan, .hero-person-stefan, img.kp-full-man),
  html[data-crossbrand88="ii"] body section.hero#start .people .person-stefan img {
    filter: drop-shadow(clamp(10px, 1vw, 24px) clamp(14px, 1.3vw, 32px) clamp(12px, 1vw, 26px) rgb(1 29 47 / 24%)) !important;
  }
}

/* Desktop bridge: reserve a real split between all copy and opaque portrait pixels. */
@media (min-width: 1280px) and (max-width: 1536px) and (min-height: 601px) and (orientation: landscape) {
  html[data-crossbrand88="aa"] body section.hero.kp-full-header .kp-full-portraits :is(.hero-founder-stefan, .hero-person-stefan, img.kp-full-man),
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .kp-full-portraits :is(.hero-founder-stefan, .hero-person-stefan, img.kp-full-man) {
    right: max(0px, calc(33% - var(--cb88-person) * .3066)) !important;
  }
  html[data-crossbrand88="aa"] body section.hero.kp-full-header .kp-full-portraits :is(.hero-founder-ludmilla, .hero-person-ludmilla, img.kp-full-woman),
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .kp-full-portraits :is(.hero-founder-ludmilla, .hero-person-ludmilla, img.kp-full-woman) {
    right: max(-16px, calc(33% - var(--cb88-person) * .4366)) !important;
  }
  html[data-crossbrand88="kj"] body section.hero.kp-full-header .kp-full-portraits :is(.hero-founder-stefan, .hero-person-stefan, img.kp-full-man) {
    right: max(0px, calc(38% - var(--cb88-person) * .3066)) !important;
  }
  html[data-crossbrand88="kj"] body section.hero.kp-full-header .kp-full-portraits :is(.hero-founder-ludmilla, .hero-person-ludmilla, img.kp-full-woman) {
    right: max(-16px, calc(38% - var(--cb88-person) * .4366)) !important;
  }
  html[data-crossbrand88="ii"] body section.hero#start .people .person-stefan img {
    right: max(0px, calc(33% - var(--cb88-person) * .3066)) !important;
  }
  html[data-crossbrand88="ii"] body section.hero#start .people .person-ludmilla img {
    right: max(-16px, calc(33% - var(--cb88-person) * .4366)) !important;
  }
}

/* KS has a substantially taller information column than AA/KJ. Its lower evidence
   and price cards share one row; typography remains at a readable native scale. */
@media (min-width: 1280px) and (max-width: 1536px) and (min-height: 601px) and (orientation: landscape) {
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .kp-full-scene > .hero-copy {
    top: 158px !important;
    bottom: auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    column-gap: 10px !important;
    row-gap: 0 !important;
    box-sizing: border-box !important;
    transform: none !important;
    transform-origin: left top !important;
  }
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .kp-full-scene > .hero-copy > :is(.eyebrow, h1, .hero-lead, .hero-points, .hero-proof, .price-note) {
    grid-column: 1 / -1 !important;
  }
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .hero-copy > .eyebrow { margin: 0 0 8px !important; }
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .hero-copy > h1 { margin: 4px 0 !important; line-height: 1.05 !important; }
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .hero-copy > .hero-lead {
    margin: 4px 0 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
  }
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .hero-copy > .hero-points {
    gap: 5px !important;
    margin: 5px 0 !important;
  }
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .hero-copy > .hero-points li { line-height: 1.3 !important; }
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .hero-copy > .hero-proof {
    width: auto !important;
    max-width: none !important;
    margin: 5px 0 !important;
    padding: 8px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .hero-copy > .ks-study-signal {
    grid-column: 1 !important;
    align-self: stretch !important;
    width: auto !important;
    max-width: none !important;
    margin: 6px 0 0 !important;
    border-radius: 10px !important;
  }
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .ks-study-signal > div {
    gap: 6px !important;
    padding: 8px !important;
  }
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .ks-study-signal strong { font-size: 20px !important; }
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .ks-study-signal span,
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .ks-study-signal small {
    font-size: 12px !important;
    line-height: 1.25 !important;
  }
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .ks-study-signal small { padding: 7px 8px !important; }
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .hero-copy > .price-row {
    grid-column: 2 !important;
    align-self: stretch !important;
    display: grid !important;
    grid-template-columns: minmax(76px, .6fr) minmax(0, 1.4fr) !important;
    width: auto !important;
    max-width: none !important;
    margin: 6px 0 0 !important;
    padding: 10px !important;
    gap: 8px !important;
  }
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .price-row .price {
    min-width: 0 !important;
    flex: none !important;
  }
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .price-row .price strong { font-size: 32px !important; }
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .price-row .price :is(span, small),
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .hero-actions .text-link {
    font-size: 12px !important;
    line-height: 1.25 !important;
  }
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .hero-actions { gap: 6px !important; }
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .hero-actions .button {
    min-height: 44px !important;
    padding: 8px 10px !important;
    white-space: normal !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
  }
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .hero-copy > .price-note {
    margin: 5px 0 0 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }
}
@media (min-width: 1280px) and (max-width: 1320px) and (min-height: 601px) and (orientation: landscape) {
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .kp-full-scene > .hero-copy { width: 560px !important; max-width: 560px !important; }
}
@media (min-width: 1321px) and (max-width: 1390px) and (min-height: 601px) and (orientation: landscape) {
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .kp-full-scene > .hero-copy { width: 580px !important; max-width: 580px !important; }
}
@media (min-width: 1391px) and (max-width: 1536px) and (min-height: 601px) and (orientation: landscape) {
  html[data-crossbrand88="ks"] body section.hero.kp-full-header .kp-full-scene > .hero-copy { width: 610px !important; max-width: 610px !important; }
  html[data-crossbrand88="kj"] body section.hero.kp-full-header .kp-full-scene > .hero-copy {
    top: 165px !important;
    bottom: auto !important;
    transform: none !important;
    transform-origin: left top !important;
  }
}

/* Keep the approved Channel86 KS portrait-mobile hero geometry byte-for-byte effective. */
@media (max-width: 767px) and (orientation: portrait) {
  html[data-crossbrand88="ks"] body .ks-analysis-stage {
    contain: paint !important;
    overflow: hidden !important;
  }
}

/* Narrow CTA allowlist: no calculator switches, ranges, tabs or media controls. */
html[data-crossbrand88="ii"] body a.glossy-button,
html[data-crossbrand88="aa"] body a:is(.button-gold, .button-glass, .header-cta),
html[data-crossbrand88="ks"] body a.button-primary,
html[data-crossbrand88="kj"] body a:is(.button, .kj-module-cta),
html[data-crossbrand88] body :is(.ui83-contact-links, .immo-function-links, .kp-function-links, .kp-function-links-v17) > a,
html[data-crossbrand88] body :is(.immo-whatsapp-card, .kp-whatsapp-card, .kp-whatsapp-card-v17) > a {
  border-radius: 8px !important;
  color: #fff !important;
  text-shadow: 1px 2px 2px rgb(0 0 0 / 52%) !important;
}

/* KJ safeguard: Crossbrand88 never displays the pre-v17 duplicate owners. */
html[data-crossbrand88="kj"] body .kp-function-dock,
html[data-crossbrand88="kj"] body .kp-contact-dock,
html[data-crossbrand88="kj"] body.kp-controls-v18-ready .kp-function-dock,
html[data-crossbrand88="kj"] body.kp-controls-v18-ready .kp-contact-dock {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html[data-crossbrand88] body :is(.immo-up-button, .kp-up, .kp-up-v17) { transition: none !important; }
}
