/* /kp-brand-motion-v20.css */

/* KP+ v20 motion: restrained reveals, depth and product-colour highlights. */
[data-kp-reveal] { opacity: 0; transform: translate3d(0, 28px, 0) scale(.985); transition: opacity .7s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
[data-kp-reveal].is-visible { opacity: 1; transform: none; }
.kp-logo-v20 { position: relative; overflow: hidden; isolation: isolate; }
.kp-logo-v20::after { position: absolute; inset: auto 7% 0; height: 2px; content: ''; background: linear-gradient(90deg, transparent, var(--kp-motion-accent), #fff, var(--kp-motion-accent), transparent); background-size: 220% 100%; animation: kp-logo-line 4.8s ease-in-out infinite; pointer-events: none; }
@keyframes kp-logo-line { 0%, 18% { background-position: 130% 0; opacity: .35; } 52% { opacity: 1; } 82%, 100% { background-position: -30% 0; opacity: .38; } }
@media (prefers-reduced-motion: reduce) { [data-kp-reveal] { opacity: 1; transform: none; transition: none; } .kp-logo-v20::after { animation: none; } }

/* /kp-approved-corrections.css */
/* Only the explicitly retained logo tiles and founder title cards. */
.kp-logo-tile-approved {
  --kp-logo-radius: 14px;
  position: relative !important;
  display: block !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: var(--kp-logo-radius) !important;
  overflow: hidden !important;
  background: transparent !important;
  aspect-ratio: 1624 / 300 !important;
}
.kp-logo-tile-approved > img,
.kp-logo-tile-approved .brand-lockup-v6,
.kp-logo-tile-approved .brand-lockup-v6 > img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  object-fit: contain !important;
  aspect-ratio: 1624 / 300 !important;
  border-radius: inherit !important;
}
.kp-logo-tile-approved::before { content: none !important; }
.kp-logo-tile-approved::after {
  content: '' !important;
  position: absolute !important;
  z-index: 2;
  inset: auto var(--kp-logo-radius) 0 !important;
  height: 2px !important;
  width: auto !important;
  border-radius: 2px !important;
  opacity: 1 !important;
  transform: none !important;
  background: linear-gradient(90deg, var(--kp-tile-accent), var(--kp-tile-accent) 35%, #fff 50%, var(--kp-tile-accent) 65%) !important;
  background-size: 240% 100% !important;
  animation: kp-approved-contour 4s linear infinite !important;
  pointer-events: none;
}
@keyframes kp-approved-contour { from { background-position: 140% 0; } to { background-position: -100% 0; } }
.kp-footer-logo-approved { width: min(360px, 100%); margin-bottom: 20px; }
.brand-network-card {
  position: relative; padding: 0 !important;
  aspect-ratio: 12 / 5 !important; overflow: hidden;
}
.brand-network-card > img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; object-position: center top !important;
}
.brand-network-card:last-child:nth-child(odd) {
  grid-column: 1 / -1;
  width: calc((100% - 20px) / 2); justify-self: center;
}
@media (max-width: 700px) {
  .brand-network-card:last-child:nth-child(odd) { width: 100%; }
}
.brand-network-card .kp-channel-logo-approved {
  position: absolute !important;
  left: 3.8%; top: 7.1%; width: 47.8%;
  --kp-logo-radius: 8px;
  z-index: 3;
  pointer-events: none;
}
.brand-network-card .kp-channel-logo-approved.kp-channel-logo-wide {
  left: 3.35%; top: 3.2%; width: 41.4%;
}
.brand-network-card .kp-channel-logo-approved > img {
  position: static !important; transform: none !important;
  max-width: none !important; opacity: 1 !important;
}
.kp-titles-approved,
.founder-credentials-v20.kp-titles-approved {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: var(--kp-title-pair-width, 430px) !important;
  max-width: calc(100% - 28px) !important;
  gap: 10px !important;
  position: absolute !important;
  z-index: 12 !important;
  right: max(24px, 5vw) !important;
  bottom: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}
.kp-titles-approved > article {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid #d2e3e9 !important;
  border-top: 2px solid var(--kp-tile-accent, #149bb1) !important;
  border-radius: 11px !important;
  background: linear-gradient(135deg, #fffffff5, #eef7faf2) !important;
  color: #173c55 !important;
  box-shadow: 0 8px 18px #0327401f !important;
}
.kp-titles-approved strong { font-size: 14px !important; line-height: 1.2 !important; margin: 0 0 3px !important; color: #062b50 !important; }
.kp-titles-approved span { font-size: 10px !important; font-weight: 650 !important; line-height: 1.3 !important; margin: 0 !important; }
.hero.kp-title-host-approved .person-bio,
.hero.kp-title-host-approved .mobile-person-bios { display: none !important; }
@media (max-width: 1000px) {
  .kp-titles-approved,
  .founder-credentials-v20.kp-titles-approved {
    position: relative !important;
    inset: auto !important;
    margin: 12px auto 24px !important;
    float: none !important;
    clear: both !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .kp-logo-tile-approved::after { animation: none !important; }
}

/* /brand-motion-center-20260913.css */
/* Separate translate property preserves existing image transforms and stacking. */
.kp-centered-pair img.kp-centered-photo{translate:var(--kp-mobile-shift,0px) 0!important;}
/* Both complete silhouettes must fit narrow screens without horizontal cropping. */
@media(max-width:1000px){section.hero.kp-full-header{--kp-full-height:min(calc(100svh - var(--kp-full-nav)),120vw);}}
.kp-motion-enhanced{--kp-motion-accent:21,155,177;}
.kp-motion-enhanced:has([data-brand="immo-invest"]){--kp-motion-accent:239,151,0;}
.kp-motion-enhanced:has([data-brand="anti-aging"]){--kp-motion-accent:40,166,124;}
.kp-motion-enhanced:has([data-brand="krebs-jetzt"]){--kp-motion-accent:222,67,89;}
.kp-motion-enhanced:has([data-brand="krebs-scan"]){--kp-motion-accent:33,159,202;}
@media(prefers-reduced-motion:no-preference){
 .kp-motion-enhanced .brand-network-card{transition:box-shadow .45s ease,border-color .45s ease,translate .45s cubic-bezier(.2,.8,.2,1);}
 .kp-motion-enhanced :is(.site-header,.header) :is(.brand,.brand-link,.logo-link){animation:kp-brand-radiance 5s ease-in-out infinite alternate;}
 @media(hover:hover){
  .kp-motion-enhanced .brand-network-card:hover{translate:0 -5px;box-shadow:0 15px 38px rgba(var(--kp-motion-accent),.24);}
  .kp-motion-enhanced a.button:hover{box-shadow:0 8px 24px rgba(var(--kp-motion-accent),.32);}
 }
}
@keyframes kp-brand-radiance{from{filter:drop-shadow(0 0 1px rgba(var(--kp-motion-accent),.08));}to{filter:drop-shadow(0 0 12px rgba(var(--kp-motion-accent),.34));}}
@media(prefers-reduced-motion:reduce){.kp-motion-enhanced .brand-network-card{translate:none!important;}}

/* /channel-cards-v47.css */
/* One slightly rounded 8px tile, invariant across breakpoints. Footer scope only. */
.brand-network-card.kp-channel-v47{aspect-ratio:8/3!important;height:auto!important;min-height:0!important;border-radius:8px!important;overflow:hidden;background:#062539!important}
.brand-network-card.kp-channel-v47>img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:8/3!important;object-fit:contain!important;object-position:center!important;transform:none!important;position:relative!important;inset:auto!important;border-radius:0!important}
.brand-network-card.kp-channel-v47>.kp-channel-logo-approved,.brand-network-card.kp-channel-v47>span,.brand-network-card.kp-channel-v47::after,.brand-network-card.kp-channel-v47::before{display:none!important}
.brand-network-card.kp-channel-v47:focus-visible{outline:3px solid #16b1ca;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.brand-network-card.kp-channel-v47{transition:none!important;transform:none!important}}


/* /kp-private-album22.css */
/* Full original frames and captions in one continuous, responsive masonry grid. */
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; }
}

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

/* /kp-ui-consistency45.css */
/* Explicit design correction: radius only; colours, labels and interactions stay intact. */
:root { --kp-ui-radius45:8px; }
html body .brand,
html body .brand-lockup-v6,
html body .kp-logo-tile-approved,
html body .site-footer .brand-lockup-v6 {
  border-radius:var(--kp-ui-radius45)!important;
}
html body .button,
html body .button-secondary,
html body .mobile-menu-toggle,
html body .retirement-depot-promo,
html body .function-dock a,
html body .back-to-top,
html body .whatsapp-trigger,
html body .consent-actions button {
  border-radius:var(--kp-ui-radius45)!important;
}
html body .hero-card,
html body .consent-dialog,
html body .product-card,
html body .album-photo,
html body .archived-review-card,
html body .founder-card,
html body .contact-option-grid > a,
html body .kp-titles-approved > article {
  border-radius:var(--kp-ui-radius45)!important;
}
/* Keep the complete desktop navigation within its own grid; no links disappear. */
@media (min-width:1181px) and (max-width:1650px) {
  html body .site-header { grid-template-columns:minmax(220px,1fr) auto auto; gap:18px; padding-inline:24px; }
  html body .site-header .desktop-nav { gap:14px; font-size:12px; }
  html body .site-header .header-actions { gap:12px; }
  html body .site-header .button-small { padding-inline:14px; font-size:12px; white-space:nowrap; }
  html body .site-header .brand-lockup-v6 { height:auto; min-height:46px; }
  html body .site-header .brand-lockup-v6 > img { height:auto; }
}

/* /kp-brand61.css */
/* Approved freestanding logo family. Scoped to branding/navigation only. */
html body .brand61-header.site-header{position:relative!important;top:auto!important;display:grid!important;grid-template-columns:minmax(300px,46%) 1fr!important;grid-template-rows:auto auto;align-items:center;gap:10px 28px!important;min-height:136px!important;padding:20px 3%!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;background:linear-gradient(110deg,#e8f6fc,#e1f5f8 65%,#eaf8fa)!important;z-index:55}
html body .brand61-freestanding.brand,html body .footer-brand-tile.brand61-freestanding{width:100%!important;max-width:760px!important;height:auto!important;min-width:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:none!important;overflow:visible!important;grid-column:1;grid-row:1/3}
html body .brand61-freestanding::before,html body .brand61-freestanding::after{display:none!important}
.brand-lockup-v61{display:block;width:100%;line-height:0}
.brand-lockup-v61 img{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 2px 2px #052f5520)}
html body .brand61-header .desktop-nav{grid-column:2;grid-row:1;display:flex;justify-content:flex-end;gap:clamp(10px,1.2vw,24px);flex-wrap:wrap}
html body .brand61-header .desktop-nav a{font-size:14px;white-space:nowrap}
html body .brand61-header .header-actions{grid-column:2;grid-row:2;justify-content:flex-end;gap:18px}
html body .brand61-header .mobile-menu-toggle{display:none;z-index:100;width:48px;height:48px;border-radius:8px!important;border:1px solid #7adddf!important;background:linear-gradient(135deg,#12afc4,#046b87)!important;box-shadow:0 5px 16px #00344b25}
html body .brand61-header .mobile-menu-toggle span{background:#fff!important}
html body .brand61-header.brand61-scrolled .mobile-menu-toggle{display:grid;position:fixed;right:22px;top:18px}
html body .brand61-header .mobile-nav{display:grid;position:fixed!important;top:78px!important;right:22px!important;left:auto!important;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 100px);overflow:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:14px;border:1px solid #8cd3df;border-radius:8px;background:#f1fbfdf7;box-shadow:0 16px 40px #02294438;backdrop-filter:blur(16px);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px)}
html body .brand61-header.menu-open .mobile-nav{opacity:1;visibility:visible;pointer-events:auto;transform:none}
html body .brand61-header .mobile-nav a{display:flex;align-items:center;min-height:44px;padding:10px 12px;font-size:14px;border-radius:6px;color:#082d59}
html body .brand61-header .mobile-nav .mobile-nav-booking{background:#087e98;color:#fff;font-weight:800}
html body .brand61-header a:focus-visible,html body .brand61-header button:focus-visible{outline:3px solid #046b87;outline-offset:4px}
html body .footer-brand-tile.brand61-freestanding{max-width:450px!important}
/* Home: logo/navigation sit on the scene, without an opaque navigation strip.
   Reserved clearance keeps the approved people and foreground text unobscured. */
html body .brand61-header.brand61-on-hero{position:absolute!important;inset:0 0 auto!important;background:none!important}
.brand61-scene{position:relative;isolation:isolate;overflow:hidden;padding-top:var(--ov-nav-height);background:#cdebf3}
html body .ov-hero-20260913 .brand61-scene .hero{background:transparent;isolation:auto}
html body .ov-hero-20260913 .brand61-scene .hero::after{display:none}
.brand61-scene::before{content:'';position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,#e6f8fc7d,transparent 58%)}
@media(max-width:1180px){html body .brand61-header.site-header{grid-template-columns:minmax(0,1fr) auto!important;min-height:100px!important;padding:18px 24px!important;gap:10px 22px!important}html body .brand61-header .brand61-freestanding{max-width:590px!important;grid-row:1;grid-column:1}html body .brand61-header .desktop-nav,html body .brand61-header .header-actions{display:none!important}html body .brand61-header .mobile-menu-toggle{display:grid;grid-column:2;grid-row:1}}
@media(max-width:600px){html body .brand61-header.site-header{min-height:82px!important;padding:15px 12px!important;gap:12px!important}html body .brand61-header .mobile-menu-toggle{width:42px;height:42px}html body .brand61-header.brand61-scrolled .mobile-menu-toggle{right:12px;top:12px}html body .brand61-header .mobile-nav{right:12px!important;top:66px!important;grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.brand61-header *{scroll-behavior:auto!important;transition:none!important}}

/* /kp-brand62.css */
/* v62: compact home navigation, prominent actions and predictable disclosure. */
@media(min-width:1181px){
 html body .brand61-header.brand61-on-hero{grid-template-columns:minmax(350px,min(32vw,640px)) minmax(0,1fr)!important;grid-template-rows:auto auto;align-items:start;gap:8px 22px!important;min-height:0!important;padding:14px 3%!important}
 html body .brand61-header.brand61-on-hero .brand61-freestanding{grid-column:1;grid-row:1/3;align-self:start;max-width:640px!important}
 html body .brand61-header.brand61-on-hero .desktop-nav{grid-column:2;grid-row:1;align-self:start;min-width:0;gap:clamp(10px,.85vw,16px);padding-top:5px;flex-wrap:wrap;justify-content:flex-end}
 html body .brand61-header.brand61-on-hero .desktop-nav a{padding:5px 0;font-size:14px;white-space:nowrap}
 html body .brand61-header.brand61-on-hero .header-actions{grid-column:2;grid-row:2;align-self:start;justify-self:end;justify-content:flex-end;flex-wrap:nowrap;gap:12px;padding-left:0}
 html body .brand61-header.brand61-on-hero .header-actions .retirement-depot-promo{min-width:148px;padding:7px 12px;border-radius:8px}
 html body .brand61-header.brand61-on-hero .header-actions .button{padding:12px 18px;border-radius:8px;font-size:14px;white-space:nowrap}
}
@media(min-width:1600px){
 html body .brand61-header.brand61-on-hero{grid-template-columns:minmax(350px,min(30vw,640px)) minmax(0,1fr) max-content!important;grid-template-rows:auto;column-gap:18px!important}
 html body .brand61-header.brand61-on-hero .brand61-freestanding{grid-row:1}
 html body .brand61-header.brand61-on-hero .desktop-nav{grid-column:2;grid-row:1;flex-wrap:nowrap;gap:clamp(10px,.75vw,16px);padding-top:10px}
 html body .brand61-header.brand61-on-hero .desktop-nav a{font-size:clamp(13px,.85vw,14px)}
 html body .brand61-header.brand61-on-hero .header-actions{grid-column:3;grid-row:1;gap:12px}
}
/* The X is available on desktop as well as mobile. Explicit line positions
   avoid inheriting different gap/transform rules from older breakpoints. */
html body .brand61-header .mobile-menu-toggle{position:relative}
html body .brand61-header .mobile-menu-toggle span{position:absolute;left:50%;top:50%;width:22px;height:2px;margin:0;transform:translate(-50%,-50%);transition:transform 180ms ease,opacity 180ms ease}
html body .brand61-header .mobile-menu-toggle span:nth-child(1){transform:translate(-50%,calc(-50% - 7px))}
html body .brand61-header .mobile-menu-toggle span:nth-child(3){transform:translate(-50%,calc(-50% + 7px))}
html body .brand61-header.menu-open .mobile-menu-toggle span:nth-child(1){transform:translate(-50%,-50%) rotate(45deg)}
html body .brand61-header.menu-open .mobile-menu-toggle span:nth-child(2){opacity:0}
html body .brand61-header.menu-open .mobile-menu-toggle span:nth-child(3){transform:translate(-50%,-50%) rotate(-45deg)}
html body .brand61-header .mobile-nav .mobile-nav-retirement,
html body .brand61-header .mobile-nav .mobile-nav-booking{color:#fff!important;font-weight:800;text-shadow:1px 1px 2px #0009;border:1px solid #ffffff80;border-radius:8px;min-height:54px;box-shadow:0 5px 14px #072f5026;transition:transform 160ms ease,box-shadow 160ms ease}
html body .brand61-header .mobile-nav .mobile-nav-retirement{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;background:linear-gradient(135deg,#f36a21,#c8470d)!important}
html body .brand61-header .mobile-nav .mobile-nav-retirement small{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#fff}
html body .brand61-header .mobile-nav .mobile-nav-retirement strong{font-size:15px;color:#fff}
html body .brand61-header .mobile-nav .mobile-nav-booking{background:linear-gradient(135deg,#0a9db5,#06718b)!important;justify-content:center}
html body .brand61-header .mobile-nav .mobile-nav-retirement:hover,
html body .brand61-header .mobile-nav .mobile-nav-booking:hover{color:#fff!important;transform:translateY(-2px);box-shadow:0 8px 18px #072f5040}
@media(prefers-reduced-motion:reduce){html body .brand61-header .mobile-menu-toggle span,html body .brand61-header .mobile-nav a{transition:none}html body .brand61-header .mobile-nav a:hover{transform:none}}

/* /kp-brand88.css */
/* v88: cached successor to v64 plus the additive cross-brand UI refinement. */
/* v64: shared optical scale; approved v62 artwork and native menu stay intact. */
html{--kp64-control:56px;--kp64-edge:24px;--kp64-top:22px;--kp64-logo-visible:clamp(92px,7.64vw,110px)}
html body .brand61-header.site-header{grid-template-columns:minmax(0,1fr) max-content!important;grid-template-rows:auto!important;align-items:start!important;min-height:0!important;padding:var(--kp64-top) var(--kp64-edge)!important;gap:12px 20px!important}
html body .brand61-header .brand61-freestanding.brand{width:min(100%,calc(var(--kp64-logo-visible)*6.8093))!important;max-width:none!important;grid-column:1!important;grid-row:1!important;align-self:start!important}
html body .brand61-header .desktop-nav{display:none!important}
html body .brand61-header .header-actions{display:flex!important;grid-column:2!important;grid-row:1!important;align-self:start!important;justify-content:flex-end!important;justify-self:end;align-items:center;flex-wrap:nowrap!important;gap:10px!important;padding:0 calc(var(--kp64-control) + 14px) 0 0!important}
html body .brand61-header .header-actions a{min-height:var(--kp64-control);box-sizing:border-box;display:flex;align-items:center;justify-content:center;font-size:15px!important;line-height:1.15;padding:10px 16px!important;white-space:nowrap;border-radius:8px!important;font-weight:800;color:#fff!important;text-shadow:1px 1px 2px #0008}
html body .brand61-header .header-actions .retirement-depot-promo{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;background:linear-gradient(135deg,#f36a21,#c8470d)!important}
html body .brand61-header .header-actions .retirement-depot-promo small{font-size:10px;letter-spacing:.08em}
html body .brand61-header .header-actions .header-pkv{background:linear-gradient(135deg,#126886,#063e61)!important}
html body .brand61-header .mobile-menu-toggle,html body .brand61-header.brand61-scrolled .mobile-menu-toggle{display:block!important;position:fixed!important;inset:var(--kp64-top) var(--kp64-edge) auto auto!important;width:var(--kp64-control)!important;height:var(--kp64-control)!important;min-width:var(--kp64-control);margin:0!important;grid-area:auto!important}
html body .brand61-header .mobile-menu-toggle span{width:26px;height:2.5px}
html body .brand61-header .mobile-nav{top:calc(var(--kp64-top) + var(--kp64-control) + 12px)!important;right:var(--kp64-edge)!important;width:min(510px,calc(100% - var(--kp64-edge)*2));max-height:calc(100dvh - var(--kp64-top) - var(--kp64-control) - 36px)}
html body .brand61-header .mobile-nav a{font-size:16px;min-height:48px}
html body .contact-dock{right:var(--kp64-edge)!important;bottom:var(--kp64-edge)!important}
html body .whatsapp-trigger,html body .back-to-top,html body .function-dock-toggle{width:var(--kp64-control)!important;height:var(--kp64-control)!important;min-width:var(--kp64-control);border-radius:8px!important}
html body .back-to-top{right:calc(var(--kp64-edge) + var(--kp64-control) + 12px)!important;bottom:var(--kp64-edge)!important}
html body .whatsapp-trigger svg,html body .back-to-top svg{width:28px;height:28px}
html body .function-dock{position:fixed;inset:auto auto var(--kp64-edge) var(--kp64-edge)!important;display:flex;flex-direction:column-reverse;align-items:flex-start;gap:10px;transform:none}
html body .function-dock-toggle{display:grid!important;place-items:center;padding:0;border:1px solid #ffffffb0;background:linear-gradient(135deg,#10a9c0,#08728c);box-shadow:0 8px 22px #032d4b40;color:#fff;cursor:pointer}
html body .function-dock-toggle-grid{display:grid;grid-template-columns:repeat(2,7px);gap:5px}
html body .function-dock-toggle-grid i{width:7px;height:7px;border-radius:50%;background:currentColor;transition:transform .18s}
html body .function-dock.is-open .function-dock-toggle-grid i:first-child,html body .function-dock.is-open .function-dock-toggle-grid i:last-child{transform:scale(1.35)}
html body .function-dock-links{display:grid;gap:8px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .18s,transform .18s,visibility .18s}
html body .function-dock.is-open .function-dock-links{opacity:1;visibility:visible;pointer-events:auto;transform:none}
html body .function-dock a,html body .function-dock a:hover,html body .function-dock a:focus-visible{width:220px;height:52px;grid-template-columns:52px 1fr;border:1px solid #ffffffa0;border-radius:8px}
html body .function-dock-label{font-size:15px;text-shadow:1px 1px 2px #0008}
html body .function-dock-icon{width:52px;height:52px}
html body .function-dock-icon svg{width:25px;height:25px}
/* Desktop and tablet retain the visible side rail; the four-dot toggle is mobile only. */
@media(min-width:768px){
 html body .function-dock{inset:clamp(132px,18vh,170px) auto auto 0!important;display:grid;gap:10px}
 html body .function-dock-toggle{display:none!important}
 html body .function-dock-links,html body .function-dock.is-open .function-dock-links{display:grid;gap:10px;opacity:1;visibility:visible;pointer-events:auto;transform:none}
 html body .function-dock a{width:var(--kp64-control);height:var(--kp64-control);grid-template-columns:var(--kp64-control) 174px;border-left:0;border-radius:0 8px 8px 0}
 html body .function-dock a:hover,html body .function-dock a:focus-visible{width:230px;height:var(--kp64-control);grid-template-columns:var(--kp64-control) 174px;border-left:0;border-radius:0 8px 8px 0}
 html body .function-dock-icon{width:var(--kp64-control);height:var(--kp64-control)}
}
@media(min-width:1101px){
 html body .ov-hero-20260913 .hero-card{width:31%;max-width:640px;padding:clamp(24px,1.8vw,36px);left:3%;top:52%;border-radius:8px}
 html body .ov-hero-20260913 .hero-card h1{font-size:clamp(34px,2.65vw,66px);line-height:1.1}
 html body .ov-hero-20260913 .hero-card>p:not(.eyebrow){font-size:clamp(15px,.9vw,20px);line-height:1.6;margin:18px 0}
 html body .ov-hero-20260913 .hero-card .eyebrow{font-size:clamp(11px,.65vw,15px)}
 html body .ov-hero-20260913 .hero-proof{font-size:12px;gap:16px;margin-top:18px;padding-top:14px;flex-wrap:wrap}
}
@media(min-width:768px) and (max-width:1279px){
 html body .brand61-header.site-header{grid-template-columns:minmax(0,1fr) var(--kp64-control)!important;gap:10px!important}
 html body .brand61-header .brand61-freestanding.brand{grid-column:1!important}
 html body .brand61-header .header-actions{grid-column:1/3!important;grid-row:2!important;padding-right:0!important}
}
@media(max-width:767px){
 html{--kp64-control:48px;--kp64-edge:12px;--kp64-top:14px;--kp64-logo-visible:clamp(36px,8vw,60px)}
 html body .brand61-header.site-header{grid-template-columns:minmax(0,1fr) var(--kp64-control)!important;gap:12px!important}
 html body .brand61-header .brand61-freestanding.brand{width:min(100%,620px)!important}
 html body .brand61-header .header-actions{display:none!important}
 html body .brand61-header .mobile-nav{grid-template-columns:1fr}
 html body .function-dock a{height:48px;grid-template-columns:48px 1fr}
 html body .function-dock-icon{width:48px;height:48px}
}
@media(prefers-reduced-motion:reduce){html body .function-dock *{transition:none!important}}
@media print{html body .function-dock,html body .brand61-header .mobile-menu-toggle{display:none!important}}


/* Cross-brand UI 88: additive header, controls, portrait depth and CTA finish.
   Existing handlers, destinations, calculators and source portraits stay intact. */
:root {
  --kp88-control: clamp(56px, 2.5vw, 64px);
  --kp88-gap: clamp(10px, .45vw, 16px);
  --kp88-hero-scroll-offset: 0px;
  --kp88-hero-scroll-shift: 0px;
}

/* Pixel artwork stays untouched; the CSS shadow alone restores the approved
   rear/right depth treatment at every responsive size. */
html body .ov-hero-20260913 .hero-person-stefan {
  filter: drop-shadow(11px 13px 13px rgb(1 25 43 / 36%)) drop-shadow(5px 7px 5px rgb(1 25 43 / 16%)) !important;
}

@media (min-width: 768px) {
  html {
    --kp64-control: var(--kp88-control);
    --kp64-edge: clamp(24px, 1.25vw, 32px);
    --kp64-top: var(--kp64-edge);
  }

  /* One clear header action: the native menu at the upper-right. All former
     destinations remain available inside that menu and in the quick rail. */
  html body .brand61-header.site-header {
    grid-template-columns: minmax(0, 1fr) var(--kp88-control) !important;
    grid-template-rows: auto !important;
  }
  html body .brand61-header .header-actions { display: none !important; }
  html body .brand61-header .mobile-menu-toggle,
  html body .brand61-header.brand61-scrolled .mobile-menu-toggle {
    width: var(--kp88-control) !important;
    height: var(--kp88-control) !important;
    min-width: var(--kp88-control) !important;
    min-height: var(--kp88-control) !important;
  }
  html body .brand61-header .mobile-menu-toggle span {
    width: clamp(26px, .82vw, 34px);
    height: clamp(2.5px, .09vw, 3.5px);
  }

  /* Exactly four complete quick actions stay visible on the left. */
  html body .function-dock {
    inset: clamp(132px, 18vh, 210px) auto auto 0 !important;
  }
  html body .function-dock-links,
  html body .function-dock.is-open .function-dock-links {
    gap: var(--kp88-gap);
  }
  html body .function-dock a {
    width: var(--kp88-control);
    height: var(--kp88-control);
    grid-template-columns: var(--kp88-control) clamp(174px, 5vw, 210px);
  }
  html body .function-dock a:hover,
  html body .function-dock a:focus-visible {
    width: calc(var(--kp88-control) + clamp(174px, 5vw, 210px));
    height: var(--kp88-control);
    grid-template-columns: var(--kp88-control) clamp(174px, 5vw, 210px);
  }
  html body .function-dock-icon {
    width: var(--kp88-control);
    height: var(--kp88-control);
  }
  html body .function-dock-icon svg {
    width: clamp(25px, .85vw, 34px);
    height: clamp(25px, .85vw, 34px);
  }
  html body .function-dock-label { font-size: clamp(15px, .48vw, 18px); }

  /* Preserve OV's lower-right contact position; scroll-up sits directly left
     of WhatsApp and scales from the same 56px desktop baseline. */
  html body .back-to-top {
    right: calc(var(--kp64-edge) + var(--kp88-control) + var(--kp88-gap)) !important;
    left: auto !important;
    bottom: var(--kp64-edge) !important;
  }
  html body .contact-dock {
    right: var(--kp64-edge) !important;
    left: auto !important;
    bottom: var(--kp64-edge) !important;
  }

  /* Preserve the approved transparent artwork. The positive X/Y shadow reads
     behind and to Stefan's right; Ludmilla remains smaller and one layer back. */
  html body .ov-hero-20260913 {
    --ov-nav-height: 0px !important;
    --ov-scene-height: 100svh !important;
    --kp88-person-height: min(calc(var(--ov-scene-height) * 1.056), 218vw);
  }
  html body .ov-hero-20260913 .hero {
    height: var(--ov-scene-height) !important;
  }
  html body .ov-hero-20260913 .hero-people {
    height: 100% !important;
    overflow: visible !important;
  }
  html body .ov-hero-20260913 .hero-person-stefan {
    height: var(--kp88-person-height) !important;
    bottom: calc(10px - var(--kp88-person-height) * .05104) !important;
    z-index: 3 !important;
    filter: drop-shadow(18px 20px 18px rgb(1 25 43 / 42%)) drop-shadow(7px 9px 6px rgb(1 25 43 / 18%)) !important;
  }
  html body .ov-hero-20260913 .hero-person-ludmilla {
    height: calc(var(--kp88-person-height) * .93) !important;
    bottom: calc(14px - var(--kp88-person-height) * .93 * .05104) !important;
    z-index: 2 !important;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  html body .brand61-header .brand61-freestanding.brand {
    /* On tablet-sized stages the full-width lockup crossed the portraits.
       Keep it readable while reserving a clear centre lane for both faces. */
    width: clamp(258px, 34vw, 380px) !important;
  }
}

/* Short landscape screens use the established compact mobile control model.
   The portraits keep their near-full-height treatment, while the logo and
   controls no longer compete for the same narrow vertical band. */
@media (min-width: 768px) and (max-height: 500px) and (orientation: landscape) {
  :root {
    --kp88-control: 48px;
    --kp64-control: 48px;
    --kp64-edge: 12px;
    --kp64-top: 12px;
  }

  html body .brand61-header .brand61-freestanding.brand {
    width: min(34vw, 300px) !important;
  }
  html body .function-dock {
    inset: auto auto var(--kp64-edge) var(--kp64-edge) !important;
    display: flex !important;
    align-items: flex-start !important;
    flex-direction: column-reverse !important;
    gap: 8px !important;
  }
  html body .function-dock-toggle {
    display: grid !important;
    width: var(--kp88-control) !important;
    height: var(--kp88-control) !important;
  }
  html body .function-dock-links,
  html body .function-dock.is-open .function-dock-links {
    gap: 7px;
  }
  html body .function-dock-links {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(8px) !important;
  }
  html body .function-dock.is-open .function-dock-links {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }
  html body .function-dock a,
  html body .function-dock a:hover,
  html body .function-dock a:focus-visible,
  html body .function-dock.is-open a {
    width: 214px;
    height: 48px;
    grid-template-columns: 48px minmax(0, 1fr);
    border-left: 1px solid rgb(255 255 255 / 63%);
    border-radius: 8px;
  }
  html body .function-dock-icon {
    width: 48px;
    height: 48px;
  }
}

@media (max-width: 767px) and (max-height: 500px) and (orientation: landscape) {
  html body .brand61-header .brand61-freestanding.brand {
    width: min(34vw, 250px) !important;
  }
}

/* The numeric fact cards must be allowed to shrink at 320px. `auto` kept the
   copy at its intrinsic width and widened the entire document. */
html body .facts-grid article {
  grid-template-columns: 68px minmax(0, 1fr);
}
html body .facts-grid :is(strong, p) {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* Long German insurance terms remain complete but may wrap on the 320px
   layout instead of widening research and FAQ cards. */
html[lang="de"] body :is(#wissen-forschung, #fragen-antworten) :is(
  header,
  article,
  details,
  summary,
  h2,
  h3,
  p
) {
  min-width: 0;
  overflow-wrap: anywhere;
  hyphens: auto;
}

/* Colored conversion controls share the approved softly rectangular finish.
   Consent, calculator tabs, sliders, lightboxes and icon-only controls are
   deliberately excluded. */
html body :is(
  a.button:not(.button-secondary):not(.pkv81-secondary),
  button.button:not(.button-secondary):not(.pkv81-secondary):not(.consent-dialog button):not(.pkv58-population-heading button),
  a.cta,
  a.cta-button,
  a.mobile-nav-booking,
  a.mobile-nav-retirement,
  .retirement-depot-promo,
  .function-dock a,
  .whatsapp-teaser > a,
  button[type="submit"]
) {
  border-radius: 8px !important;
  color: #fff !important;
  text-shadow: 1px 1px 2px rgb(0 0 0 / 55%);
}

/* Additive trust photo after the booking application. The booking controls,
   field order and API mount remain untouched above this independent section. */
html body .kp-booking-trust {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr);
  align-items: stretch;
  gap: clamp(22px, 4vw, 54px);
  width: min(1180px, calc(100% - 40px));
  margin: clamp(48px, 7vw, 92px) auto;
  padding: clamp(14px, 2vw, 24px);
  border: 1px solid rgb(153 202 214 / 48%);
  border-radius: 24px;
  background: linear-gradient(145deg, #fff, #eff9fb);
  box-shadow: 0 24px 64px rgb(8 45 89 / 11%);
}
html body .kp-booking-shell {
  min-height: 715px;
}
html body .kp-booking-trust__media {
  display: block;
  min-height: 100%;
  overflow: hidden;
  border-radius: 16px;
  background: #dceff3;
}
html body .kp-booking-trust__media img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
html body .kp-booking-trust__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: clamp(12px, 2.5vw, 30px) clamp(8px, 2vw, 22px);
}
html body .kp-booking-trust__copy h2 {
  margin: 10px 0 16px;
  color: var(--navy);
  font-size: clamp(30px, 3.6vw, 52px);
  line-height: 1.04;
  letter-spacing: -.035em;
}
html body .kp-booking-trust__copy > p:not(.eyebrow) {
  margin: 0;
  color: var(--muted);
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.65;
}
html body .kp-booking-trust__copy small {
  margin-top: 18px;
  color: var(--muted);
  font-size: 12px;
}

@media (max-width: 760px) {
  html body .kp-booking-shell { min-height: 904px; }
  html body .kp-booking-trust {
    grid-template-columns: 1fr;
    width: calc(100% - 24px);
    padding: 10px;
    border-radius: 18px;
  }
  html body .kp-booking-trust__media { border-radius: 12px; }
  html body .kp-booking-trust__copy { padding: 16px 10px 20px; }
}

/* Tablet and portrait-mobile need both the visual scene and the decision copy
   in the first viewport. The scene remains intact, but no longer consumes the
   complete screen before the heading and primary actions begin. */
@media (max-width: 1100px) and (min-height: 501px) {
  html body .hero-title-frame.ov-hero-20260913 {
    display: flex;
    min-height: 100svh;
    flex-direction: column;
  }
  html body .hero-title-frame.ov-hero-20260913 .brand61-scene {
    order: 1;
    height: var(--ov-scene-height);
    min-height: 0;
    padding-top: 0;
  }
  html body .hero-title-frame.ov-hero-20260913 .hero {
    height: 100% !important;
    min-height: 0 !important;
  }
  html body .hero-title-frame.ov-hero-20260913 .hero-card {
    order: 2;
    margin: 28px auto 0;
  }
  html body .hero-title-frame.ov-hero-20260913 .kp-titles-approved {
    order: 3;
  }
}

@media (min-width: 621px) and (max-width: 1100px) and (min-height: 501px) {
  html body .ov-hero-20260913 {
    --ov-scene-height: clamp(390px, 52svh, 620px) !important;
    --kp88-person-height: min(calc(var(--ov-scene-height) * 1.056), 218vw);
  }
  html body .ov-hero-20260913 .hero-card {
    width: min(760px, calc(100% - 48px));
    padding: clamp(18px, 2.2vw, 26px);
  }
  html body .ov-hero-20260913 .hero-card h1 {
    font-size: clamp(32px, 4.6vw, 46px);
  }
  html body .ov-hero-20260913 .hero-card > p:not(.eyebrow) {
    margin-top: 12px;
    font-size: 15px;
    line-height: 1.48;
  }
  html body .ov-hero-20260913 .hero-actions {
    margin-top: 14px;
  }
  html body .ov-hero-20260913 .hero-proof {
    margin-top: 12px;
    padding-top: 10px;
  }
}

@media (max-width: 620px) and (min-height: 501px) {
  html body .ov-hero-20260913 {
    --ov-scene-height: 100svh !important;
    --ov-person-height: min(calc(var(--ov-scene-height) * 1.04), 210vw);
  }
  html body .ov-hero-20260913 .hero-card {
    width: calc(100% - 24px);
    margin-top: 12px;
    padding: 14px 16px;
    border-radius: 12px;
  }
  html body .ov-hero-20260913 .hero-card .eyebrow {
    margin-bottom: 6px;
    font-size: 9px;
    letter-spacing: .1em;
  }
  html body .ov-hero-20260913 .hero-card h1 {
    font-size: clamp(27px, 7.4vw, 34px);
    line-height: 1.04;
  }
  html body .ov-hero-20260913 .hero-card > p:not(.eyebrow) {
    margin-top: 9px;
    font-size: 13px;
    line-height: 1.4;
  }
  html body .ov-hero-20260913 .hero-actions {
    flex-direction: row;
    gap: 10px;
    margin-top: 11px;
  }
  html body .ov-hero-20260913 .hero-actions .button {
    width: auto;
    min-height: 38px;
    padding: 9px 12px;
    font-size: 12px;
  }
  html body .ov-hero-20260913 .hero-actions .text-link {
    font-size: 12px;
  }
  html body .ov-hero-20260913 .hero-proof {
    gap: 4px 10px;
    margin-top: 9px;
    padding-top: 8px;
    font-size: 9px;
  }
}

/* Genuine short landscape uses the same stacked information hierarchy in a
   denser form. This keeps the complete copy clear of both portraits and the
   fixed corner controls instead of turning the first view into image-only UI. */
@media (max-width: 1100px) and (max-height: 500px) and (orientation: landscape) {
  html body .hero-title-frame.ov-hero-20260913 {
    display: flex;
    min-height: 100svh;
    flex-direction: column;
    --ov-scene-height: 48svh !important;
    --kp88-person-height: min(calc(var(--ov-scene-height) * 1.056), 218vw);
    --ov-person-height: min(calc(var(--ov-scene-height) * 1.04), 210vw);
  }
  html body .hero-title-frame.ov-hero-20260913 .brand61-scene {
    order: 1;
    height: var(--ov-scene-height);
    min-height: 0;
    padding-top: 0;
  }
  html body .hero-title-frame.ov-hero-20260913 .hero {
    height: 100% !important;
    min-height: 0 !important;
  }
  html body .hero-title-frame.ov-hero-20260913 .hero-card {
    position: relative;
    inset: auto;
    order: 2;
    width: min(760px, calc(100% - 144px));
    max-width: none;
    margin: 6px auto 0;
    padding: 10px 14px;
    border-radius: 8px;
    transform: none;
  }
  html body .hero-title-frame.ov-hero-20260913 .kp-titles-approved {
    order: 3;
  }
  html body .ov-hero-20260913 .hero-card .eyebrow {
    margin-bottom: 3px;
    font-size: 8px;
  }
  html body .ov-hero-20260913 .hero-card h1 {
    font-size: clamp(21px, 3.4vw, 28px);
    line-height: 1.02;
  }
  html body .ov-hero-20260913 .hero-card > p:not(.eyebrow) {
    margin-top: 5px;
    font-size: 11px;
    line-height: 1.3;
  }
  html body .ov-hero-20260913 .hero-actions {
    flex-direction: row;
    gap: 10px;
    margin-top: 7px;
  }
  html body .ov-hero-20260913 .hero-actions .button {
    width: auto;
    min-height: 34px;
    padding: 7px 11px;
    font-size: 11px;
  }
  html body .ov-hero-20260913 .hero-actions .text-link {
    font-size: 11px;
  }
  html body .ov-hero-20260913 .hero-proof {
    gap: 3px 9px;
    margin-top: 6px;
    padding-top: 5px;
    font-size: 8px;
  }
}

/* At medium widths the persistent left rail needs its own safety lane. */
@media (min-width: 768px) and (max-width: 1359px) {
  html body .kp-booking-trust {
    width: calc(100% - var(--kp88-control) - 64px);
    margin-right: 40px;
    margin-left: calc(var(--kp88-control) + 24px);
  }
}

@media (forced-colors: active) {
  html body .ov-hero-20260913 .hero-person-stefan { filter: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  html body .function-dock *,
  html body .brand61-header .mobile-menu-toggle * { transition: none !important; }
}

@media print {
  html body .contact-dock,
  html body .back-to-top { display: none !important; }
}

/* UI95: remove blurred text shadows from every interactive control. */
html body :is(button,[role="button"],.button,.btn,.mobile-nav-booking,.mobile-nav-login,.mobile-nav-retirement,.mobile-nav-pkv,.function-dock a,.function-dock-label,.whatsapp-teaser>a),
html body :is(button,[role="button"],.button,.btn,.mobile-nav-booking,.mobile-nav-login,.mobile-nav-retirement,.mobile-nav-pkv,.function-dock a,.whatsapp-teaser>a) * {text-shadow:none!important}

/* Mobile header 89: restore the full-height visual stage requested for phones,
   keep every fixed control in its own corner lane and protect the approved
   portrait artwork from foreground UI. */
html body .pkv81-hero .hero-actions .pkv81-secondary {
  color: #07334d !important;
  text-shadow: none !important;
}

/* The animated insurer wall begins below the freestanding OV lockup and ends
   above the lower controls. Tighter row gaps preserve all logos in the reduced
   usable height without allowing the first row to sit behind the brand mark. */
html body .ov-hero-20260913 .hero-insurer-wall {
  inset: clamp(132px, 17svh, 170px) 1.5% clamp(42px, 6svh, 78px) 38% !important;
}
html body .ov-hero-20260913 .hero-insurer-wall .ice-wall__grid {
  gap: 2px 5px !important;
}

@media (min-width: 768px) {
  html body .ov-hero-20260913 .hero-insurer-wall {
    top: calc(var(--kp64-top) + var(--kp64-logo-visible) * 1.17213 + 28px) !important;
  }
}

/* The lockup uses its original 1464:252 aspect ratio. Tablet has a separate
   width rule; derive the reserved logo height from that exact width. */
@media (min-width: 768px) and (max-width: 1100px) and (min-height: 501px) {
  html body .ov-hero-20260913 .hero-insurer-wall {
    top: calc(var(--kp64-top) + clamp(258px, 34vw, 380px) * .172131 + 24px) !important;
  }
  html body .ov-hero-20260913 .hero-people {
    right: clamp(-38px, calc((100vw - 768px) * .15 - 38px), 20px) !important;
    left: auto !important;
    width: calc(var(--ov-scene-height) * .96) !important;
    max-width: 61% !important;
    transform: none !important;
  }
}

@media (min-width: 1101px) {
  html body .ov-hero-20260913 {
    --kp88-person-height: min(calc(var(--ov-scene-height) * 1.02), 218vw);
  }
  html body .ov-hero-20260913 .hero-people {
    right: clamp(72px, calc(16.2vw - 131px), 280px) !important;
    left: auto !important;
  }
  html body .ov-hero-20260913 .hero-person-stefan {
    bottom: calc(34px - var(--kp88-person-height) * .05104) !important;
  }
  html body .ov-hero-20260913 .hero-person-ludmilla {
    bottom: calc(38px - var(--kp88-person-height) * .93 * .05104) !important;
  }
  html body .ov-hero-20260913 .hero-insurer-wall {
    /* The five equal logo rows add a viewport-dependent optical inset above
       their visible pixels. Counter it here so the real artwork, rather than
       the wall box, begins 28–40px below the visible OV lockup. */
    top: clamp(139px, calc(167px - 1.46vw), 147px) !important;
    bottom: calc(var(--kp64-edge) + var(--kp64-control) + 12px) !important;
  }
}

html body .whatsapp-avatar img {
  object-fit: cover !important;
  object-position: center !important;
  transform: scale(1.25) !important;
  transform-origin: 50% 35% !important;
}
html body .whatsapp-teaser > div > span:last-child {
  min-width: 0;
  gap: 3px;
}
html body .whatsapp-teaser > div > span:last-child small {
  max-width: 238px;
  line-height: 1.25;
  white-space: normal;
}
html body .whatsapp-teaser .whatsapp-degree {
  opacity: .82;
}

/* Interactive cards may overlay the scene, but never change its geometry. */
html body .whatsapp-teaser {
  position: fixed !important;
  top: auto !important;
  right: var(--kp64-edge) !important;
  bottom: calc(var(--kp64-edge) + var(--kp88-control) + 10px) !important;
  left: auto !important;
  width: min(360px, calc(100vw - var(--kp64-edge) * 2)) !important;
  max-height: calc(100svh - var(--kp64-edge) * 2 - var(--kp88-control) - 10px);
  overflow-y: auto;
}
html body .brand61-header .mobile-nav :is(.mobile-nav-booking, .mobile-nav-login) {
  background: var(--ov93-pm-gradient) !important;
  color: white !important;
  border: 1px solid #ffffffa0;
}
html body .brand61-header .mobile-nav .mobile-nav-pkv {
  background: linear-gradient(135deg, #195474, #082c47) !important;
  color: white !important;
  border: 1px solid #ffffffa0;
}
html body .brand61-header .mobile-nav .mobile-nav-retirement {
  background: linear-gradient(135deg, #f87919, #cd4306) !important;
  color: white !important;
}
/* Match the expanded quick actions to the menu's OV product-brand finish. */
html {
  --ov93-pm-gradient: linear-gradient(135deg, #12afc4, #046b87);
  --ov93-light-button-shadow: none;
}
html body .function-dock :is(a, a:hover, a:focus-visible),
html body .function-dock-toggle,
html body .back-to-top {
  background: var(--ov93-pm-gradient) !important;
}
html body .function-dock-label,
html body .brand61-header .mobile-nav :is(.mobile-nav-booking, .mobile-nav-login, .mobile-nav-retirement) {
  text-shadow: var(--ov93-light-button-shadow) !important;
}
html body .brand61-header .mobile-nav :is(.mobile-nav-retirement, .mobile-nav-pkv) {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  box-sizing: border-box;
  min-height: 54px;
}
html body .brand61-header .mobile-nav :is(.mobile-nav-retirement, .mobile-nav-pkv) :is(strong, small) {
  font-size: 14px;
  line-height: 1.15;
  letter-spacing: 0;
  text-transform: none;
}
html body .brand61-header :is(.mobile-nav-pkv, .header-pkv) {
  text-shadow: none !important;
}

/* The founders are part of the hero and remain painted in every interaction
   state. Overlays use the free left-hand stage instead of hiding people. */
html body .hero-title-frame.ov-hero-20260913 .hero-people,
html:is(.kp-menu-open, .kp-quick-open, .kp-whatsapp-open) body .hero-title-frame.ov-hero-20260913 .hero-people,
html body:has(.brand61-header.menu-open, .function-dock.is-open, .contact-dock.is-open) .hero-title-frame.ov-hero-20260913 .hero-people {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

@media (min-width: 768px) {
  html body .brand61-header .mobile-nav {
    top: var(--kp64-top) !important;
    right: calc(var(--kp64-edge) + var(--kp88-control) + var(--kp88-gap)) !important;
    left: auto !important;
    max-height: calc(100dvh - var(--kp64-top) * 2) !important;
    overflow-x: hidden !important;
  }
  html body .brand61-header .mobile-nav a {
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  html body .brand61-header .mobile-nav {
    width: min(292px, calc(100% - var(--kp64-edge) * 2)) !important;
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 768px) and (max-width: 950px) and (max-height: 500px) and (orientation: landscape) {
  html body .brand61-header .mobile-nav {
    width: min(220px, calc(100% - var(--kp64-edge) * 2)) !important;
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 1101px) and (max-width: 1359px) {
  html body .brand61-header .mobile-nav {
    width: min(460px, calc(100% - var(--kp64-edge) * 2)) !important;
  }
}

@media (min-width: 1360px) {
  html body .brand61-header .mobile-nav {
    width: min(510px, calc(100% - var(--kp64-edge) * 2)) !important;
  }
}

@media (max-width: 767px),
       (min-width: 768px) and (max-width: 950px) and (max-height: 500px) and (orientation: landscape) {
  html {
    --kp64-control: 48px;
    --kp64-edge: 12px;
    --kp64-top: 12px;
  }

  html body .brand61-header .mobile-menu-toggle,
  html body .brand61-header.brand61-scrolled .mobile-menu-toggle,
  html body .function-dock-toggle,
  html body .whatsapp-trigger,
  html body .back-to-top {
    box-sizing: border-box !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 0 !important;
    border: 1px solid rgb(255 255 255 / 58%) !important;
    border-radius: 8px !important;
    box-shadow: inset 0 0 0 1px rgb(255 255 255 / 10%), 0 9px 24px rgb(3 34 58 / 24%) !important;
  }
  html body .brand61-header .mobile-menu-toggle,
  html body .brand61-header.brand61-scrolled .mobile-menu-toggle {
    inset: 12px 12px auto auto !important;
  }
  html body .function-dock {
    inset: auto auto 12px 12px !important;
  }
  html body .contact-dock {
    right: 12px !important;
    bottom: 12px !important;
  }
  html body .back-to-top {
    right: 72px !important;
    bottom: 12px !important;
  }

  html body .ov-hero-20260913 .hero-insurer-wall {
    inset: 84px 8px 72px !important;
  }
  html body .ov-hero-20260913 .hero-insurer-wall .ice-wall__grid {
    gap: 1px 3px !important;
  }

  html body .whatsapp-teaser {
    position: fixed;
    right: var(--kp64-edge) !important;
    bottom: calc(var(--kp64-edge) + var(--kp64-control) + 12px) !important;
    width: min(366px, calc(100% - var(--kp64-edge) - var(--kp64-edge))) !important;
  }
  html body .whatsapp-teaser > div {
    align-items: center;
    padding-right: 42px;
  }
  html body .whatsapp-teaser > div > span:last-child small {
    max-width: calc(100vw - 130px);
  }
}

@media (max-width: 767px) and (min-height: 501px) {
  html body .hero-title-frame.ov-hero-20260913 {
    --ov-scene-height: 100svh !important;
    --ov-person-height: min(calc(var(--ov-scene-height) * .98), 218vw);
    min-height: 0;
  }
  html body .hero-title-frame.ov-hero-20260913 .brand61-scene {
    height: 100svh;
    min-height: 100svh;
    flex: 0 0 100svh;
  }
  html body .hero-title-frame.ov-hero-20260913 .hero {
    height: 100% !important;
    min-height: 0 !important;
  }
  html body .ov-hero-20260913 .hero-person-ludmilla {
    right: calc(
      50% - var(--ov-person-height) * .4366
      + clamp(70px, 19vw, 82px)
      - clamp(60px, 20vw, 80px)
      + var(--kp88-hero-scroll-shift)
    ) !important;
  }
  html body .ov-hero-20260913 .hero-person-stefan {
    right: calc(
      50% - var(--ov-person-height) * .3066
      + clamp(16px, 6vw, 25px)
      - 18px
      + var(--kp88-hero-scroll-shift)
    ) !important;
  }
  html body .ov-hero-20260913 .hero-insurer-wall {
    inset:
      max(132px, calc(17.2vw + 12px))
      8px
      72px !important;
  }

  /* Keep the familiar WhatsApp entry at the lower-right. Portrait spacing,
     not a displaced control, protects Ludmilla's visible foot. */
  html body .contact-dock {
    top: auto !important;
    right: 12px !important;
    bottom: 12px !important;
  }

  html.kp-menu-open body .brand61-header .mobile-nav {
    top: 72px !important;
    right: 12px !important;
    left: 12px !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100svh - 84px) !important;
    overflow-y: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
    padding: 8px !important;
  }
  html.kp-menu-open body .brand61-header .mobile-nav a {
    min-height: 36px !important;
    padding: 6px 9px !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
  }
  html.kp-menu-open body .brand61-header .mobile-nav :is(.mobile-nav-retirement, .mobile-nav-pkv, .mobile-nav-booking) {
    min-height: 42px !important;
  }
  html.kp-menu-open body .brand61-header .mobile-nav :is(.mobile-nav-retirement, .mobile-nav-pkv) :is(small, strong) {
    font-size: 12px !important;
  }
}

@media (max-width: 650px) and (max-height: 650px) {
  /* Keep the approved near-full-height closed portrait scene. The previous
     blanket override also re-enlarged the portraits after an overlay opened,
     which made short phones paint the menu/contact cards across both people. */
  html body .hero-title-frame.ov-hero-20260913 {
    --ov-person-height: min(calc(var(--ov-scene-height) * .95), 218vw);
  }


  /* The requested portrait, specialist title and degree stay visible. The
     conversational repeat is omitted only on very short screens so the card
     and the people have separate, non-overlapping vertical lanes. */
  html.kp-whatsapp-open body .whatsapp-teaser > div {
    gap: 8px !important;
    padding: 10px 40px 10px 10px !important;
  }
  html.kp-whatsapp-open body .whatsapp-avatar {
    width: 44px !important;
    height: 44px !important;
    flex-basis: 44px !important;
  }
  html.kp-whatsapp-open body .whatsapp-teaser p {
    display: none !important;
  }
  html.kp-whatsapp-open body .whatsapp-teaser > a {
    margin: 10px 12px 12px !important;
    padding: 9px !important;
    font-size: 11px !important;
  }
}

@media (max-width: 950px) and (max-height: 500px) and (orientation: landscape) {
  html body .hero-title-frame.ov-hero-20260913 {
    --ov-scene-height: 100svh !important;
    --kp88-person-height: min(calc(var(--ov-scene-height) * .98), 112vw);
    --ov-person-height: min(calc(var(--ov-scene-height) * .98), 112vw);
    min-height: 0;
  }
  html body .hero-title-frame.ov-hero-20260913 .brand61-scene {
    height: 100svh;
    min-height: 100svh;
    flex: 0 0 100svh;
  }
  html body .ov-hero-20260913 .hero-insurer-wall {
    inset: 72px 10px 64px !important;
  }
  html body .ov-hero-20260913 .hero-insurer-wall .ice-wall__grid {
    gap: 1px 3px !important;
  }
}

/* Final menu placement: on tablet/desktop the panel opens immediately to the
   left of the fixed toggle. The toggle remains exposed as the close control. */
@media (min-width: 768px) {
  html body .brand61-header .mobile-nav {
    top: var(--kp64-top) !important;
    right: calc(var(--kp64-edge) + var(--kp88-control) + var(--kp88-gap)) !important;
    left: auto !important;
    max-height: calc(100dvh - var(--kp64-top) * 2) !important;
  }
}

/* /header96.css */
/* Header96 — same optical geometry as II/AA/KS/KJ, no overlay-state layout. */
:root{--h96-logo:clamp(92px,7.64vw,110px);--h96-person:calc((100svh - 24px)*1.04);--h96-woman:.9659090909;--h96-right:calc(clamp(12px,1.5vw,32px) - var(--h96-person)*.12);--h96-separation:.16}
html body .brand61-header.site-header{z-index:auto!important;isolation:auto!important}
html body .brand61-header .brand61-freestanding.brand{position:relative!important;z-index:10!important;width:auto!important;max-width:none!important}
html body .brand61-header .brand61-freestanding.brand img{height:var(--h96-logo)!important;width:auto!important;max-height:none!important;max-width:none!important;object-fit:contain!important}
html body .hero-title-frame.ov-hero-20260913 .brand61-scene{isolation:auto!important;height:100svh!important;min-height:100svh!important;flex:0 0 100svh!important}
html body .hero-title-frame.ov-hero-20260913 .hero{height:100svh!important;min-height:100svh!important}
html body .hero-title-frame.ov-hero-20260913 .hero-people{position:absolute!important;inset:0!important;width:100vw!important;max-width:none!important;height:100svh!important;transform:none!important;translate:none!important;z-index:30!important}
html body .hero-title-frame.ov-hero-20260913 .hero-person-stefan{height:var(--h96-person)!important;max-height:none!important;width:auto!important;max-width:none!important;inset:auto calc(var(--h96-right) + var(--h96-person)*var(--h96-separation)) calc(12px - var(--h96-person)*.05104) auto!important;translate:none!important;transform:none!important;z-index:3!important}
html body .hero-title-frame.ov-hero-20260913 .hero-person-ludmilla{height:calc(var(--h96-person)*var(--h96-woman))!important;max-height:none!important;width:auto!important;max-width:none!important;inset:auto var(--h96-right) calc(12px - var(--h96-person)*var(--h96-woman)*.05104) auto!important;translate:none!important;transform:none!important;z-index:2!important}
@media(min-width:768px) and (max-width:1100px){:root{--h96-logo:clamp(64px,7.64vw,84px)}}
@media(max-width:767px){
 :root{--h96-logo:clamp(48px,12vw,60px);--h96-person:min(calc((100svh - 88px)*1.04),188vw)}
 html body .brand61-header .brand61-freestanding.brand img{max-width:calc(100vw - 24px)!important}
 html body .hero-title-frame.ov-hero-20260913 .hero-person-stefan{right:calc(50% - var(--h96-person)*.28)!important}
 html body .hero-title-frame.ov-hero-20260913 .hero-person-ludmilla{right:calc(50% - var(--h96-person)*.44)!important}
}
/* Header98: explicit independent layers, no change to actor geometry. */
html body .brand61-header .mobile-nav{z-index:110!important}
html body .brand61-header .mobile-menu-toggle{z-index:120!important}
html body .hero-title-frame.ov-hero-20260913 .hero-analysis-background{z-index:0!important}
html body .hero-title-frame.ov-hero-20260913 .hero-insurer-wall{z-index:2!important}
/* The regular OV letter-height (not its oversized checkmark) is the reference. */
@media(max-width:767px){
 :root{--h98-word:calc((100vw - 88px)/12.612612613)}
 html body .brand61-header .brand61-freestanding.brand{width:calc(100vw - 88px)!important;max-width:calc(100vw - 88px)!important}
 html body .brand61-header .brand61-freestanding.brand img{width:calc(100vw - 88px)!important;height:auto!important;max-width:none!important}
}

/* /kp-analytics53.css */
.kp-ga53-panel{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(7,20,36,.66);font:16px/1.5 Arial,Helvetica,sans-serif;color:#142e49;text-align:left;box-sizing:border-box}.kp-ga53-panel *{box-sizing:border-box}.kp-ga53-card{width:min(100%,660px);max-height:calc(100dvh - 32px);overflow:auto;padding:26px;background:#fff;border:2px solid #45647e;border-radius:16px;box-shadow:0 16px 70px #0005}.kp-ga53-card h2{margin:0 0 14px;font:700 24px/1.2 Arial,Helvetica,sans-serif;color:#142e49}.kp-ga53-card p{margin:12px 0;font:16px/1.5 Arial,Helvetica,sans-serif;color:#142e49}.kp-ga53-card a,.kp-ga53-settings a{color:#005ea6;text-decoration:underline}.kp-ga53-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.kp-ga53-card button,.kp-ga53-settings button{font:600 16px/1.35 Arial,Helvetica,sans-serif;white-space:normal;cursor:pointer;border:2px solid #235881;background:#fff;color:#123d60;border-radius:8px;padding:12px 15px;min-height:46px;box-shadow:none;transform:none}.kp-ga53-card button:hover,.kp-ga53-settings button:hover{background:#eaf3f9}.kp-ga53-card button:focus-visible,.kp-ga53-card a:focus-visible,.kp-ga53-settings button:focus-visible,.kp-ga53-settings a:focus-visible{outline:3px solid #d67700;outline-offset:3px}.kp-ga53-close{display:block;margin:16px 0 0 auto}.kp-ga53-settings{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:16px;font:15px/1.4 Arial,Helvetica,sans-serif}.kp-ga53-privacy{max-width:900px;margin:30px auto;padding:24px;font:16px/1.6 Arial,Helvetica,sans-serif;background:#fff;color:#183047;border:1px solid #a7bdcd;border-radius:12px}.kp-ga53-privacy h2,.kp-ga53-privacy h3{color:#183047}.kp-ga53-privacy a{color:#005ea6;text-decoration:underline}@media(max-width:520px){.kp-ga53-card{padding:20px}.kp-ga53-actions{grid-template-columns:1fr}.kp-ga53-privacy{margin:20px 12px;padding:20px}}
.kp-consent54-ready .cookie-notice,.kp-consent54-ready .cookie,.kp-consent54-ready .consent-layer{display:none!important}
.kp-ga53-card{width:min(100%,760px)}.kp-ga53-options{display:grid;gap:10px;margin:18px 0}.kp-ga53-options label{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:12px;border:1px solid #bbcad7;border-radius:10px;background:#f7fafc}.kp-ga53-options strong{display:block;font-size:16px}.kp-ga53-options small{display:block;margin-top:4px;font:14px/1.45 Arial,Helvetica,sans-serif}.kp-ga53-options input[type=checkbox]{flex:none;width:22px;height:22px;margin:3px 0;accent-color:#235881}.kp-ga53-options input:focus-visible{outline:3px solid #d67700;outline-offset:3px}.kp-ga53-actions{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:640px){.kp-ga53-actions{grid-template-columns:1fr}.kp-ga53-options label{gap:12px}}
/* Compact first layer; detailed choices remain available without changing consent. */
.kp-ga53-panel{align-items:flex-end;background:rgb(4 31 61 / 36%);backdrop-filter:blur(3px);padding:24px;--ga55-accent:#006a80}
.kp-ga53-panel[data-brand=aa]{--ga55-accent:#17624c}.kp-ga53-panel[data-brand=ii]{--ga55-accent:#985000}.kp-ga53-panel[data-brand=ks]{--ga55-accent:#006da0}.kp-ga53-panel[data-brand=kj]{--ga55-accent:#865012}
.kp-ga53-card{position:relative;width:min(100%,860px);padding:28px 30px 22px;border:1px solid #d7e5eb;border-radius:22px;box-shadow:0 24px 80px #001b3440}
.kp-ga55-brand{padding-right:35px;color:var(--ga55-accent);font:700 12px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.kp-ga53-card h2{margin:12px 28px 12px 0;font-size:30px;line-height:1.12;letter-spacing:-.025em}
.kp-ga53-card p{font-size:16px;line-height:1.55;margin:12px 0;color:#334e62}
.kp-ga53-panel [hidden]{display:none!important}
.kp-ga53-actions{margin-top:22px;gap:10px}.kp-ga53-actions button{min-height:50px;padding:12px 10px;font-weight:700;font-size:16px}
.kp-ga53-actions [data-ga53-allow],.kp-ga53-actions [data-ga53-deny]{background:var(--ga55-accent);border-color:var(--ga55-accent);color:#fff;text-shadow:0 1px 1px #0003}
.kp-ga53-actions [data-ga53-allow]:hover,.kp-ga53-actions [data-ga53-deny]:hover{filter:brightness(1.08)}
.kp-ga53-card .kp-ga53-close{position:absolute;right:14px;top:10px;margin:0;min-height:38px;width:38px;padding:0;border:0;background:transparent;color:#334e62;font-size:26px;line-height:1}
.kp-ga55-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:16px;font-size:14px;line-height:1.4}.kp-ga55-links a{color:var(--ga55-accent)}
@media(max-width:640px){.kp-ga53-panel{padding:10px}.kp-ga53-card{padding:21px 19px 18px;max-height:calc(100dvh - 20px);border-radius:18px}.kp-ga53-card h2{font-size:27px}.kp-ga53-card p{font-size:16px;line-height:1.45}.kp-ga53-actions{gap:8px;margin-top:18px}.kp-ga53-actions button{min-height:46px}.kp-ga55-links{gap:6px 14px;margin-top:14px}}
/* Brand56: reuse approved website CTAs. Presentation only; consent is unchanged. */
.kp-ga53-panel{font-family:inherit;--ga56-heading:#12b9d5;--ga56-heading-edge:#007c94;--ga56-button:#149bb1;--ga56-hover:#087f96;--ga56-ink:#fff;--ga56-border:#149bb1;--ga56-shadow:0 12px 28px rgb(20 155 177 / 20%);--ga56-text-shadow:1px 1px 2px #0009}
.kp-ga53-panel[data-brand=ii]{--ga56-heading:#ff8a00;--ga56-heading-edge:#a84c00;--ga56-button:linear-gradient(120deg,#ffac20,#f08300);--ga56-hover:linear-gradient(120deg,#ffac20,#f08300);--ga56-border:#e68000;--ga56-shadow:0 4px 12px #a2580020}
.kp-ga53-panel[data-brand=aa]{--ga56-heading:#16b67d;--ga56-heading-edge:#137550;--ga56-button:linear-gradient(135deg,#91edbc,#47c994);--ga56-hover:linear-gradient(135deg,#91edbc,#47c994);--ga56-ink:#06281c;--ga56-border:#97efc5;--ga56-shadow:0 12px 28px #17624c30;--ga56-text-shadow:0 1px 0 #ffffff60}
.kp-ga53-panel[data-brand=ks]{--ga56-heading:#10a9c5;--ga56-heading-edge:#0877ac;--ga56-button:linear-gradient(135deg,#10a9c5,#0877ac);--ga56-hover:linear-gradient(135deg,#10a9c5,#0877ac);--ga56-border:#0877ac;--ga56-shadow:0 12px 30px rgb(7 151 188 / 28%)}
.kp-ga53-panel[data-brand=kj]{--ga55-accent:#b92739;--ga56-heading:#f06a78;--ga56-heading-edge:#b92739;--ga56-button:linear-gradient(145deg,#f06a78,#d73748);--ga56-hover:linear-gradient(145deg,#f06a78,#d73748);--ga56-border:#d73748;--ga56-shadow:0 12px 28px rgb(3 24 40 / 25%)}
.kp-ga53-panel .kp-ga53-card h2{font-family:inherit;font-size:clamp(2rem,3.5vw,2.625rem);font-weight:800;line-height:1.13;color:var(--ga56-heading);-webkit-text-stroke:.45px var(--ga56-heading-edge);text-shadow:0 1px 1px rgb(0 20 35 / 12%);margin-right:16px}
.kp-ga53-panel .kp-ga53-actions button{border-radius:8px;font-family:inherit;font-weight:800;transition:transform 180ms ease,box-shadow 180ms ease,background-color 180ms ease;filter:none;opacity:1}
.kp-ga53-panel .kp-ga53-actions :is([data-ga53-deny],[data-ga53-settings],[data-ga53-save]){background:#edf0f3;border:1px solid #a8b3bd;color:#344454;text-shadow:none;box-shadow:inset 0 1px 0 #fff}
.kp-ga53-panel .kp-ga53-actions :is([data-ga53-deny],[data-ga53-settings],[data-ga53-save]):is(:hover,:focus-visible){background:#dde3e9;border-color:#748494;color:#223446;text-shadow:none;filter:none;transform:translateY(-1px)}
.kp-ga53-panel .kp-ga53-actions [data-ga53-allow]{background:var(--ga56-button);border:1px solid var(--ga56-border);color:var(--ga56-ink);text-shadow:var(--ga56-text-shadow);box-shadow:var(--ga56-shadow),inset 0 1px 0 #ffffff60}
.kp-ga53-panel .kp-ga53-actions [data-ga53-allow]:is(:hover,:focus-visible){background:var(--ga56-hover);color:var(--ga56-ink);border-color:var(--ga56-border);text-shadow:var(--ga56-text-shadow);filter:none;transform:translateY(-2px);box-shadow:var(--ga56-shadow),0 6px 12px #10253624,inset 0 1px 0 #ffffff60}
.kp-ga53-panel .kp-ga53-actions button:active{transform:translateY(0)}
.kp-ga53-panel .kp-ga53-actions button:focus-visible{outline:3px solid #193a54;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.kp-ga53-panel .kp-ga53-actions button{transition:none}.kp-ga53-panel .kp-ga53-actions button:is(:hover,:focus-visible,:active){transform:none}}
