.hospital-logistics-page {
  --kl-night: #04232c;
  --kl-night-2: #07343a;
  --kl-teal: #00a19a;
  --kl-teal-dark: #006f6b;
  --kl-mint: #dff5f1;
  --kl-cream: #f3f0e8;
  --kl-paper: #f8faf8;
  --kl-ink: #0b2f34;
  --kl-muted: #586c71;
  --kl-line: #d8e4e2;
  --kl-radius: 24px;
  min-height: 100%;
  background: var(--kl-paper);
  color: var(--kl-ink);
}
.hospital-logistics-page main { overflow: clip; }
.hospital-logistics-page .kl-shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.hospital-logistics-page .kl-section { padding: 112px 0; }
.hospital-logistics-page .kl-eyebrow { margin: 0 0 18px; color: var(--kl-teal-dark); font-size: 13px; font-weight: 750; letter-spacing: .13em; line-height: 1.35; text-transform: uppercase; }
.hospital-logistics-page h1,
.hospital-logistics-page h2,
.hospital-logistics-page h3,
.hospital-logistics-page h4 { margin-top: 0; color: inherit; font-family: "Open Sans", sans-serif; text-wrap: balance; }
.hospital-logistics-page h1 { max-width: 790px; margin-bottom: 28px; font-size: clamp(48px, 5.4vw, 82px); font-weight: 430; letter-spacing: -.055em; line-height: .99; }
.hospital-logistics-page h2 { margin-bottom: 24px; font-size: clamp(36px, 4.1vw, 62px); font-weight: 430; letter-spacing: -.045em; line-height: 1.03; }
.hospital-logistics-page h3 { margin-bottom: 14px; font-size: 24px; font-weight: 580; letter-spacing: -.025em; line-height: 1.15; }
.hospital-logistics-page p { margin-top: 0; }
.hospital-logistics-page a { text-underline-offset: 4px; }
.hospital-logistics-page .kl-skip { position: fixed; top: 12px; left: 12px; z-index: 10000; padding: 12px 18px; border-radius: 999px; background: #fff; color: var(--kl-night); font-weight: 700; transform: translateY(-160%); transition: transform .2s ease; }
.hospital-logistics-page .kl-skip:focus { transform: translateY(0); }
.hospital-logistics-page .pec-cookie-btn[data-pec-cookie="accept-all"] { color: #032b2e; }
.hospital-logistics-page :focus-visible { outline: 3px solid #f6d75f; outline-offset: 4px; }
.hospital-logistics-page .kl-section-head { max-width: 520px; }
.hospital-logistics-page .kl-section-head-wide { max-width: 820px; margin-bottom: 54px; }
.hospital-logistics-page .kl-section-head-wide > p:last-child { max-width: 720px; color: var(--kl-muted); font-size: 18px; line-height: 1.65; }
.hospital-logistics-page .kl-section-head-light,
.hospital-logistics-page .kl-section-head-light h2 { color: #fff; }
.hospital-logistics-page .kl-section-head-light .kl-eyebrow { color: #62d9d2; }
.hospital-logistics-page .kl-section-head-light > p:last-child { color: rgba(255,255,255,.72); }
.hospital-logistics-page .kl-two-col { display: grid; grid-template-columns: .85fr 1.15fr; gap: 11vw; align-items: start; }
.hospital-logistics-page .kl-prose { color: #39575c; font-size: 18px; line-height: 1.75; }
.hospital-logistics-page .kl-prose p { margin-bottom: 24px; }
.hospital-logistics-page .kl-prose-large { font-size: 21px; }
.hospital-logistics-page .kl-button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: 14px 24px; border: 1px solid transparent; border-radius: 999px; font-size: 15px; font-weight: 750; letter-spacing: .02em; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer; transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease; }
.hospital-logistics-page .kl-button:hover { transform: translateY(-2px); }
.hospital-logistics-page .kl-button-primary { border-color: var(--kl-teal); background: var(--kl-teal); color: #032b2e; }
.hospital-logistics-page .kl-button-primary:hover { border-color: #1cc7be; background: #1cc7be; }
.hospital-logistics-page .kl-button-secondary { border-color: rgba(4,35,44,.25); background: transparent; color: var(--kl-night); }
.hospital-logistics-page .kl-button-secondary:hover { border-color: var(--kl-night); background: rgba(4,35,44,.05); }
.hospital-logistics-page .kl-button-light { border-color: #fff; background: #fff; color: var(--kl-night); }
.hospital-logistics-page .kl-button-outline-light { border-color: rgba(255,255,255,.5); color: #fff; }
.hospital-logistics-page .kl-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* Hero */
.hospital-logistics-page .kl-hero { position: relative; padding-top: calc(var(--header-h) + 84px); overflow: hidden; background: radial-gradient(circle at 79% 20%, rgba(0,161,154,.24), transparent 32%), linear-gradient(145deg, #04232c 0%, #06333a 64%, #05272f 100%); color: #fff; }
.hospital-logistics-page .kl-hero::before { content: ""; position: absolute; inset: var(--header-h) 0 auto; height: 1px; background: rgba(255,255,255,.08); }
.hospital-logistics-page .kl-hero-grid { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); gap: 28px; align-items: center; min-height: 650px; padding-bottom: 94px; }
.hospital-logistics-page .kl-hero-copy { min-width: 0; }
.hospital-logistics-page .kl-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 42px; color: rgba(255,255,255,.58); font-size: 13px; }
.hospital-logistics-page .kl-breadcrumb a { color: inherit; text-decoration: none; }
.hospital-logistics-page .kl-hero .kl-eyebrow { color: #62d9d2; }
.hospital-logistics-page .kl-hero-lead { max-width: 730px; margin-bottom: 34px; color: rgba(255,255,255,.78); font-size: 20px; line-height: 1.65; }
.hospital-logistics-page .kl-hero .kl-button-secondary { border-color: rgba(255,255,255,.36); color: #fff; }
.hospital-logistics-page .kl-hero .kl-button-secondary:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.hospital-logistics-page .kl-trust-list { display: flex; flex-wrap: wrap; gap: 10px 25px; margin: 34px 0 0; padding: 0; list-style: none; color: rgba(255,255,255,.64); font-size: 13px; }
.hospital-logistics-page .kl-trust-list li { position: relative; padding-left: 18px; }
.hospital-logistics-page .kl-trust-list li::before { content: ""; position: absolute; top: .55em; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--kl-teal); }
.hospital-logistics-page .kl-hero-visual { position: relative; width: min(100%, 540px); aspect-ratio: 1; justify-self: end; }
.hospital-logistics-page .kl-orbit { position: absolute; inset: 5%; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }
.hospital-logistics-page .kl-orbit-dot { position: absolute; inset: 0; border-radius: 50%; animation: kl-orbit-spin 14s linear infinite; will-change: transform; }
.hospital-logistics-page .kl-orbit-dot::after { content: ""; position: absolute; top: 50%; right: -6px; width: 12px; height: 12px; border-radius: 50%; background: var(--kl-teal); box-shadow: 0 0 28px rgba(0,161,154,.8); transform: translateY(-50%); }
.hospital-logistics-page .kl-orbit-dot-b { animation-delay: -6s; animation-direction: reverse; animation-duration: 19s; }
.hospital-logistics-page .kl-orbit-dot-b::after { right: -4px; width: 8px; height: 8px; }
.hospital-logistics-page .kl-orbit-b { inset: 22%; border-color: rgba(0,161,154,.42); }
.hospital-logistics-page .kl-core { position: absolute; inset: 31%; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: radial-gradient(circle at 30% 22%, rgba(255,255,255,.16), transparent 55%), rgba(0,161,154,.3); box-shadow: 0 34px 90px rgba(0,0,0,.3); text-align: center; }
.hospital-logistics-page .kl-core span { color: rgba(255,255,255,.72); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.hospital-logistics-page .kl-core b { margin: 4px 0; font-size: 24px; font-weight: 620; }
.hospital-logistics-page .kl-core small { max-width: 110px; color: rgba(255,255,255,.6); font-size: 10px; line-height: 1.35; }
.hospital-logistics-page .kl-node { position: absolute; min-width: 90px; padding: 10px 14px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(4,35,44,.84); box-shadow: 0 14px 32px rgba(0,0,0,.18); color: rgba(255,255,255,.86); font-size: 12px; font-weight: 650; text-align: center; }
.hospital-logistics-page .kl-node-1 { top: 4%; left: 38%; }
.hospital-logistics-page .kl-node-2 { top: 29%; right: 0; }
.hospital-logistics-page .kl-node-3 { bottom: 18%; right: 4%; }
.hospital-logistics-page .kl-node-4 { bottom: 2%; left: 34%; }
.hospital-logistics-page .kl-node-5 { top: 38%; left: 0; }
.hospital-logistics-page .kl-hero-foot { border-top: 1px solid rgba(255,255,255,.1); background: rgba(0,0,0,.12); }
.hospital-logistics-page .kl-hero-facts { display: grid; grid-template-columns: repeat(3,1fr); }
.hospital-logistics-page .kl-hero-facts > div { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; min-height: 118px; padding: 25px 34px; border-left: 1px solid rgba(255,255,255,.1); }
.hospital-logistics-page .kl-hero-facts > div:last-child { border-right: 1px solid rgba(255,255,255,.1); }
.hospital-logistics-page .kl-hero-facts span { color: var(--kl-teal); font-size: 13px; font-weight: 800; }
.hospital-logistics-page .kl-hero-facts p { margin: 0; color: rgba(255,255,255,.62); font-size: 14px; line-height: 1.45; }
.hospital-logistics-page .kl-hero-facts b { display: block; color: #fff; font-size: 16px; }

/* Definition */
.hospital-logistics-page .kl-intro { padding-block: 72px; background: #fff; }
.hospital-logistics-page .kl-intro .kl-two-col { grid-template-columns: .78fr 1.22fr; gap: 6vw; }
.hospital-logistics-page .kl-intro .kl-prose-large { font-size: 18px; line-height: 1.62; }
.hospital-logistics-page .kl-intro .kl-prose p { margin-bottom: 18px; }
.hospital-logistics-page .kl-intro .kl-prose p:last-child { margin-bottom: 0; }

/* Interactive flow map */
.hospital-logistics-page .kl-flow-section { background: var(--kl-cream); }
.hospital-logistics-page .kl-flow-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 40px; align-items: stretch; }
.hospital-logistics-page .kl-flow-map { position: relative; min-height: 620px; border: 1px solid rgba(190,235,229,.15); border-radius: 36px; background-color: #052e34; background-image: radial-gradient(circle at 50% 44%,rgba(0,161,154,.28),transparent 39%),linear-gradient(145deg,#073b40 0%,#052e34 58%,#04272d 100%); box-shadow: 0 28px 72px rgba(4,35,44,.18); overflow: hidden; }
.hospital-logistics-page .kl-building {
  --scene-rx: 56deg;
  --scene-rz: -38deg;
  --scene-scale: .86;
  --scene-x: 0px;
  --scene-y: 8px;
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(82%, 520px);
  aspect-ratio: 1;
  z-index: 1;
  perspective: 920px;
  pointer-events: none;
  transform: translate(-50%,-50%);
}
.hospital-logistics-page .kl-building-scene {
  position: absolute;
  inset: 2%;
  transform: translate3d(var(--scene-x),var(--scene-y),0) rotateX(var(--scene-rx)) rotateZ(var(--scene-rz)) scale(var(--scene-scale));
  transform-origin: 50% 50%;
  transform-style: preserve-3d;
  transition: transform .72s cubic-bezier(.2,.72,.2,1);
  will-change: transform;
}
.hospital-logistics-page .kl-building[data-building-view="material"] { --scene-rx: 54deg; --scene-rz: -31deg; --scene-scale: .87; --scene-x: -8px; --scene-y: 4px; }
.hospital-logistics-page .kl-building[data-building-view="pharmacy"] { --scene-rx: 58deg; --scene-rz: -42deg; --scene-scale: .85; --scene-x: 6px; --scene-y: 0px; }
.hospital-logistics-page .kl-building[data-building-view="sterile"] { --scene-rx: 52deg; --scene-rz: -35deg; --scene-scale: .88; --scene-x: 8px; --scene-y: -2px; }
.hospital-logistics-page .kl-building[data-building-view="laboratory"] { --scene-rx: 56deg; --scene-rz: -28deg; --scene-scale: .87; --scene-x: -4px; --scene-y: 5px; }
.hospital-logistics-page .kl-building[data-building-view="food"] { --scene-rx: 53deg; --scene-rz: -44deg; --scene-scale: .88; --scene-x: -6px; --scene-y: 6px; }
.hospital-logistics-page .kl-building[data-building-view="laundry"] { --scene-rx: 59deg; --scene-rz: -34deg; --scene-scale: .84; --scene-x: 4px; --scene-y: -4px; }
.hospital-logistics-page .kl-building[data-building-view="disposal"] { --scene-rx: 55deg; --scene-rz: -40deg; --scene-scale: .87; --scene-x: 7px; --scene-y: 4px; }
.hospital-logistics-page .kl-building[data-building-view="campus"] { --scene-rx: 51deg; --scene-rz: -36deg; --scene-scale: .9; --scene-x: 0px; --scene-y: 0px; }
@media (min-width: 761px) {
  .hospital-logistics-page .kl-building { --scene-rx: 42deg; --scene-rz: -35deg; --scene-scale: .78; --scene-x: 0px; --scene-y: 4px; perspective: 1600px; }
  .hospital-logistics-page .kl-building[data-building-view="material"] { --scene-rx: 43deg; --scene-rz: -31deg; --scene-scale: .79; --scene-x: -5px; --scene-y: 3px; }
  .hospital-logistics-page .kl-building[data-building-view="pharmacy"] { --scene-rx: 44deg; --scene-rz: -38deg; --scene-scale: .77; --scene-x: 4px; --scene-y: 1px; }
  .hospital-logistics-page .kl-building[data-building-view="sterile"] { --scene-rx: 42deg; --scene-rz: -34deg; --scene-scale: .79; --scene-x: 5px; --scene-y: 0px; }
  .hospital-logistics-page .kl-building[data-building-view="laboratory"] { --scene-rx: 43deg; --scene-rz: -29deg; --scene-scale: .78; --scene-x: -3px; --scene-y: 3px; }
  .hospital-logistics-page .kl-building[data-building-view="food"] { --scene-rx: 42deg; --scene-rz: -39deg; --scene-scale: .79; --scene-x: -4px; --scene-y: 4px; }
  .hospital-logistics-page .kl-building[data-building-view="laundry"] { --scene-rx: 45deg; --scene-rz: -33deg; --scene-scale: .77; --scene-x: 3px; --scene-y: -2px; }
  .hospital-logistics-page .kl-building[data-building-view="disposal"] { --scene-rx: 43deg; --scene-rz: -37deg; --scene-scale: .78; --scene-x: 4px; --scene-y: 3px; }
  .hospital-logistics-page .kl-building[data-building-view="campus"] { --scene-rx: 42deg; --scene-rz: -35deg; --scene-scale: .8; --scene-x: 0px; --scene-y: 1px; }
}
.hospital-logistics-page .kl-campus-ground { position: absolute; inset: 5%; border: 1px solid rgba(4,35,44,.13); border-radius: 22%; background: linear-gradient(135deg,rgba(255,255,255,.82),rgba(214,226,220,.74)); box-shadow: 0 30px 60px rgba(4,35,44,.13); transform: translateZ(-4px); }
.hospital-logistics-page .kl-campus-ground::before,
.hospital-logistics-page .kl-campus-ground::after { content: ""; position: absolute; border: 1px solid rgba(0,161,154,.22); border-radius: 50%; background: rgba(0,161,154,.08); }
.hospital-logistics-page .kl-campus-ground::before { width: 14%; aspect-ratio: 1; right: 8%; top: 8%; }
.hospital-logistics-page .kl-campus-ground::after { width: 10%; aspect-ratio: 1; left: 9%; bottom: 8%; }
.hospital-logistics-page .kl-campus-road { position: absolute; z-index: 1; height: 5%; border-block: 1px solid rgba(4,35,44,.09); background: rgba(4,35,44,.075); transform: translateZ(0); }
.hospital-logistics-page .kl-road-a { width: 78%; left: 11%; top: 43%; transform: translateZ(0) rotate(-4deg); }
.hospital-logistics-page .kl-road-b { width: 66%; left: 18%; top: 50%; transform: translateZ(0) rotate(82deg); }
.hospital-logistics-page .kl-campus-block { --block-h: 52px; --block-top: #f7fbf9; --block-front: #b7d0cc; --block-side: #91b5b1; position: absolute; z-index: 2; transform-style: preserve-3d; transform: translateZ(2px); transition: filter .35s ease; }
.hospital-logistics-page .kl-campus-block::before,
.hospital-logistics-page .kl-campus-block::after,
.hospital-logistics-page .kl-campus-block > i { content: ""; position: absolute; display: block; border: 1px solid rgba(4,35,44,.18); backface-visibility: hidden; }
.hospital-logistics-page .kl-campus-block::before { inset: 0; background: linear-gradient(145deg,#fff 0 34%,var(--block-top) 35% 100%); box-shadow: 0 0 0 1px rgba(255,255,255,.6) inset; transform: translateZ(var(--block-h)); }
.hospital-logistics-page .kl-campus-block::after { left: 0; right: 0; bottom: 0; height: var(--block-h); transform: rotateX(90deg); transform-origin: 50% 100%; background: repeating-linear-gradient(90deg,var(--block-front) 0 13px,#9fc3bf 13px 15px); }
.hospital-logistics-page .kl-campus-block > i { top: 0; right: 0; width: var(--block-h); height: 100%; margin: 0; transform: rotateY(-90deg); transform-origin: 100% 50%; background: repeating-linear-gradient(0deg,var(--block-side) 0 12px,#769f9a 12px 14px); }
.hospital-logistics-page .kl-block-a { left: 15%; top: 17%; width: 35%; height: 16%; --block-h: 58px; }
.hospital-logistics-page .kl-block-b { left: 59%; top: 12%; width: 19%; height: 31%; --block-h: 44px; }
.hospital-logistics-page .kl-block-c { left: 29%; top: 47%; width: 39%; height: 19%; --block-h: 72px; }
.hospital-logistics-page .kl-block-d { left: 8%; top: 51%; width: 17%; height: 27%; --block-h: 36px; }
.hospital-logistics-page .kl-block-e { left: 63%; top: 62%; width: 25%; height: 15%; --block-h: 48px; }
.hospital-logistics-page .kl-block-f { left: 45%; top: 23%; width: 11%; height: 17%; --block-h: 88px; }
.hospital-logistics-page .kl-campus-courtyard { position: absolute; z-index: 3; left: 45%; top: 42%; width: 13%; aspect-ratio: 1; border: 2px solid rgba(255,255,255,.8); border-radius: 50%; background: radial-gradient(circle at 50% 50%,#83c9b7 0 18%,#d8ece5 19% 57%,#9ccfbe 58%); box-shadow: 0 5px 14px rgba(4,35,44,.16); transform: translateZ(5px); }
.hospital-logistics-page .kl-campus-label { position: absolute; z-index: 5; right: 11%; bottom: 9%; padding: 6px 9px; border: 1px solid rgba(4,35,44,.13); border-radius: 999px; background: rgba(255,255,255,.9); color: rgba(4,35,44,.68); font-size: 9px; font-style: normal; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; transform: translateZ(7px); }
.hospital-logistics-page .kl-building[data-building-view="patient"] .kl-block-c,
.hospital-logistics-page .kl-building[data-building-view="material"] .kl-block-a,
.hospital-logistics-page .kl-building[data-building-view="pharmacy"] .kl-block-f,
.hospital-logistics-page .kl-building[data-building-view="sterile"] .kl-block-b,
.hospital-logistics-page .kl-building[data-building-view="laboratory"] .kl-block-f,
.hospital-logistics-page .kl-building[data-building-view="food"] .kl-block-e,
.hospital-logistics-page .kl-building[data-building-view="laundry"] .kl-block-d,
.hospital-logistics-page .kl-building[data-building-view="disposal"] .kl-block-d { --block-top: #8ce0d7; --block-front: #20aaa2; --block-side: #087e7a; filter: drop-shadow(0 10px 10px rgba(0,161,154,.3)); }
.hospital-logistics-page .kl-building[data-building-view="campus"] .kl-campus-block { --block-top: #d9f3ee; }
.hospital-logistics-page .kl-abstract-shadow { position: absolute; inset: 12% 6%; border-radius: 50%; background: radial-gradient(ellipse at center,rgba(0,0,0,.32) 0%,rgba(0,0,0,.2) 28%,rgba(0,0,0,.08) 52%,rgba(0,0,0,.025) 66%,transparent 76%); transform: translateZ(-10px); }
.hospital-logistics-page .kl-abstract-link { position: absolute; z-index: 1; border: 1px solid rgba(142,212,205,.2); border-radius: 2px; background: #174b4e; box-shadow: 0 8px 18px rgba(0,0,0,.2); transform: translateZ(8px); transition: background-color .32s ease,border-color .32s ease; }
.hospital-logistics-page .kl-link-horizontal { left: 19%; top: 44%; width: 62%; height: 9%; }
.hospital-logistics-page .kl-link-vertical { left: 46%; top: 20%; width: 9%; height: 62%; }
.hospital-logistics-page .kl-blueprint-ray { --ray-x: 50%; --ray-y: 50%; --ray-z: 40px; --ray-angle: 0deg; --ray-length: 22%; position: absolute; z-index: 6; left: var(--ray-x); top: var(--ray-y); width: var(--ray-length); height: 1px; background: repeating-linear-gradient(90deg,rgba(98,217,210,.94) 0 11px,rgba(98,217,210,.34) 11px 15px,transparent 15px 19px); pointer-events: none; transform: translateZ(var(--ray-z)) rotateZ(var(--ray-angle)); transform-origin: 0 50%; opacity: .92; }
.hospital-logistics-page .kl-blueprint-ray::before,
.hospital-logistics-page .kl-blueprint-ray::after { content: ""; position: absolute; top: 50%; box-sizing: border-box; transform: translateY(-50%); }
.hospital-logistics-page .kl-blueprint-ray::before { left: -3px; width: 6px; height: 6px; border: 1px solid rgba(98,217,210,.92); background: #07373d; }
.hospital-logistics-page .kl-blueprint-ray::after { right: -4px; width: 8px; height: 8px; border: 1px solid rgba(98,217,210,.9); border-radius: 50%; outline: 4px solid rgba(0,161,154,.14); background: #07373d; }
.hospital-logistics-page .kl-ray-west { --ray-x: 7%; --ray-y: 48%; --ray-z: 34px; --ray-angle: 180deg; --ray-length: 24%; }
.hospital-logistics-page .kl-ray-east { --ray-x: 93%; --ray-y: 48%; --ray-z: 42px; --ray-angle: 0deg; --ray-length: 24%; }
.hospital-logistics-page .kl-ray-north { --ray-x: 50%; --ray-y: 7%; --ray-z: 36px; --ray-angle: -90deg; --ray-length: 20%; }
.hospital-logistics-page .kl-ray-south { --ray-x: 50%; --ray-y: 93%; --ray-z: 30px; --ray-angle: 90deg; --ray-length: 20%; }
.hospital-logistics-page .kl-ray-service-a { --ray-x: 14%; --ray-y: 76%; --ray-z: 24px; --ray-angle: 150deg; --ray-length: 20%; }
.hospital-logistics-page .kl-ray-service-b { --ray-x: 87%; --ray-y: 23%; --ray-z: 27px; --ray-angle: -30deg; --ray-length: 21%; }
.hospital-logistics-page .kl-ray-core-a { --ray-x: 35%; --ray-y: 40%; --ray-z: 66px; --ray-angle: 218deg; --ray-length: 18%; }
.hospital-logistics-page .kl-ray-core-b { --ray-x: 65%; --ray-y: 60%; --ray-z: 66px; --ray-angle: 38deg; --ray-length: 18%; }
.hospital-logistics-page .kl-abstract-mass { --mass-h: 48px; --mass-top: #e8f2ef; --mass-front: #719a95; --mass-side: #416f6b; --mass-edge: rgba(210,240,235,.2); --mass-shadow: 0 13px 22px rgba(0,0,0,.2); position: absolute; z-index: 2; filter: none; transform: translateZ(1px); transform-style: preserve-3d; }
.hospital-logistics-page .kl-abstract-mass::before,
.hospital-logistics-page .kl-abstract-mass::after,
.hospital-logistics-page .kl-abstract-mass > i { content: ""; position: absolute; display: block; border: 1px solid var(--mass-edge); backface-visibility: hidden; transition: background-color .32s ease,border-color .32s ease,box-shadow .32s ease; }
.hospital-logistics-page .kl-abstract-mass::before { inset: 0; background-color: var(--mass-top); box-shadow: 0 0 0 1px rgba(255,255,255,.3) inset,var(--mass-shadow); transform: translateZ(var(--mass-h)); }
.hospital-logistics-page .kl-abstract-mass::after { left: 0; right: 0; bottom: 0; height: var(--mass-h); background-color: var(--mass-front); background-image: linear-gradient(180deg,rgba(255,255,255,.1),rgba(4,35,44,.1)); transform: rotateX(90deg); transform-origin: 50% 100%; }
.hospital-logistics-page .kl-abstract-mass > i { top: 0; right: 0; width: var(--mass-h); height: 100%; margin: 0; background-color: var(--mass-side); background-image: linear-gradient(90deg,rgba(255,255,255,.08),rgba(4,35,44,.14)); transform: rotateY(-90deg); transform-origin: 100% 50%; }
.hospital-logistics-page .kl-mass-a { left: 7%; top: 36%; width: 32%; height: 24%; --mass-h: 32px; }
.hospital-logistics-page .kl-mass-b { right: 7%; top: 36%; width: 32%; height: 24%; --mass-h: 40px; }
.hospital-logistics-page .kl-mass-north { left: 39%; top: 7%; width: 22%; height: 32%; --mass-h: 34px; }
.hospital-logistics-page .kl-mass-south { left: 39%; top: 61%; width: 22%; height: 32%; --mass-h: 28px; }
.hospital-logistics-page .kl-mass-service-a { left: 13%; top: 67%; width: 21%; height: 18%; --mass-h: 22px; }
.hospital-logistics-page .kl-mass-service-b { right: 13%; top: 14%; width: 19%; height: 18%; --mass-h: 25px; }
.hospital-logistics-page .kl-mass-core { left: 34%; top: 32%; width: 32%; height: 35%; --mass-h: 64px; }
.hospital-logistics-page .kl-building[data-building-view="patient"] .kl-mass-core,
.hospital-logistics-page .kl-building[data-building-view="campus"] .kl-mass-core,
.hospital-logistics-page .kl-building[data-building-view="material"] .kl-mass-a,
.hospital-logistics-page .kl-building[data-building-view="pharmacy"] .kl-mass-north,
.hospital-logistics-page .kl-building[data-building-view="sterile"] .kl-mass-b,
.hospital-logistics-page .kl-building[data-building-view="laboratory"] .kl-mass-service-b,
.hospital-logistics-page .kl-building[data-building-view="food"] .kl-mass-south,
.hospital-logistics-page .kl-building[data-building-view="laundry"] .kl-mass-service-a,
.hospital-logistics-page .kl-building[data-building-view="disposal"] .kl-mass-b { --mass-top: #00a19a; --mass-front: #007d78; --mass-side: #005f5c; --mass-edge: rgba(0,95,92,.76); --mass-shadow: 0 16px 30px rgba(0,161,154,.2); }
.hospital-logistics-page .kl-building[data-building-view="campus"] .kl-abstract-link { border-color: rgba(98,217,210,.38); background-color: #216164; }
.hospital-logistics-page .kl-flow-button { position: absolute; z-index: 8; display: inline-flex; gap: 8px; align-items: center; min-height: 42px; padding: 10px 15px; border: 1px solid rgba(210,240,235,.3); border-radius: 999px; background: #f2f7f5; box-shadow: 0 10px 24px rgba(0,0,0,.18); color: #052e34; font: inherit; font-size: 13px; font-weight: 680; cursor: pointer; transition: transform .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease; }
.hospital-logistics-page .kl-flow-button span { color: #007d78; font-size: 10px; }
.hospital-logistics-page .kl-flow-button:hover { transform: translateY(-2px); }
.hospital-logistics-page .kl-flow-button.is-active { border-color: #00a19a; background: #00a19a; color: #04272d; }
.hospital-logistics-page .kl-flow-button.is-active span { color: #04272d; }
.hospital-logistics-page .kl-flow-button:nth-of-type(1) { top: 7%; left: 8%; }
.hospital-logistics-page .kl-flow-button:nth-of-type(2) { top: 7%; right: 8%; }
.hospital-logistics-page .kl-flow-button:nth-of-type(3) { top: 28%; right: 4%; }
.hospital-logistics-page .kl-flow-button:nth-of-type(4) { bottom: 27%; right: 4%; }
.hospital-logistics-page .kl-flow-button:nth-of-type(5) { bottom: 7%; right: 13%; }
.hospital-logistics-page .kl-flow-button:nth-of-type(6) { bottom: 5%; left: 13%; }
.hospital-logistics-page .kl-flow-button:nth-of-type(7) { bottom: 28%; left: 4%; }
.hospital-logistics-page .kl-flow-button:nth-of-type(8) { top: 28%; left: 4%; }
.hospital-logistics-page .kl-flow-button:nth-of-type(9) { top: 47%; left: 50%; transform: translate(-50%,-50%); }
.hospital-logistics-page .kl-flow-button:nth-of-type(9):hover { transform: translate(-50%,calc(-50% - 2px)); }
.hospital-logistics-page .kl-flow-panels { min-height: 620px; }
.hospital-logistics-page .kl-flow-panel { display: none; height: 100%; padding: 52px; scroll-margin-top: calc(var(--header-h-compact) + 18px); border: 1px solid rgba(190,235,229,.12); border-radius: 36px; background-color: #052e34; background-image: radial-gradient(circle at 88% 8%,rgba(0,161,154,.18),transparent 34%),linear-gradient(145deg,#07373d,#052e34 62%,#04272d); box-shadow: 0 28px 72px rgba(4,35,44,.16); color: #fff; }
.hospital-logistics-page .kl-flow-panel.is-active { display: block; }
.hospital-logistics-page .kl-flow-panel .kl-panel-index { margin-bottom: 44px; color: #62d9d2; font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.hospital-logistics-page .kl-flow-panel h3 { max-width: 430px; font-size: 38px; }
.hospital-logistics-page .kl-flow-panel > p:not(.kl-panel-index) { color: rgba(255,255,255,.7); font-size: 17px; line-height: 1.65; }
.hospital-logistics-page .kl-flow-panel dl { margin: 48px 0 0; }
.hospital-logistics-page .kl-flow-panel dl div { display: grid; grid-template-columns: 120px 1fr; gap: 24px; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.14); }
.hospital-logistics-page .kl-flow-panel dt { color: rgba(255,255,255,.52); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.hospital-logistics-page .kl-flow-panel dd { margin: 0; line-height: 1.5; }
@keyframes kl-orbit-spin { to { transform: rotate(360deg); } }

/* Signals */
.hospital-logistics-page .kl-signals { background: #fff; }
.hospital-logistics-page .kl-signal-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; border: 1px solid var(--kl-line); background: var(--kl-line); }
.hospital-logistics-page .kl-signal-grid article { min-height: 270px; padding: 36px; background: #fff; }
.hospital-logistics-page .kl-signal-grid article > span { display: block; margin-bottom: 52px; color: var(--kl-teal-dark); font-size: 12px; font-weight: 800; }
.hospital-logistics-page .kl-signal-grid h3 { font-size: 22px; }
.hospital-logistics-page .kl-signal-grid p { margin: 0; color: var(--kl-muted); line-height: 1.65; }

/* Configurator */
.hospital-logistics-page .kl-configurator { background: radial-gradient(circle at 86% 7%, rgba(0,161,154,.23), transparent 31%), var(--kl-night); color: #fff; }
.hospital-logistics-page .kl-config-form { max-width: 1120px; margin-inline: auto; padding: 0; scroll-margin-top: calc(var(--header-h-compact) + 20px); border: 1px solid rgba(255,255,255,.14); border-radius: 30px; background: rgba(255,255,255,.055); box-shadow: 0 28px 80px rgba(0,0,0,.18); overflow: hidden; }
.hospital-logistics-page .kl-funnel-head { padding: 28px 36px 24px; border-bottom: 1px solid rgba(255,255,255,.12); background: rgba(3,31,39,.56); }
.hospital-logistics-page .kl-funnel-status { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.hospital-logistics-page .kl-funnel-status span { color: #8be0d7; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.hospital-logistics-page .kl-funnel-status b { color: #fff; font-size: 14px; }
.hospital-logistics-page .kl-progress-track { height: 5px; margin-bottom: 22px; border-radius: 99px; background: rgba(255,255,255,.1); overflow: hidden; }
.hospital-logistics-page .kl-progress-track i { display: block; height: 100%; border-radius: inherit; background: var(--kl-teal); transition: width .38s ease; }
.hospital-logistics-page .kl-config-progress { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; }
.hospital-logistics-page .kl-config-progress span { display: flex; gap: 9px; align-items: center; color: rgba(255,255,255,.42); font-size: 12px; }
.hospital-logistics-page .kl-config-progress span b { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; font-size: 11px; }
.hospital-logistics-page .kl-config-progress span em { overflow: hidden; font-style: normal; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.hospital-logistics-page .kl-config-progress span.is-active { color: #fff; }
.hospital-logistics-page .kl-config-progress span.is-active b { border-color: var(--kl-teal); background: var(--kl-teal); color: #fff; }
.hospital-logistics-page .kl-config-progress span.is-complete b { border-color: rgba(0,161,154,.55); background: rgba(0,161,154,.2); color: #8be0d7; }
.hospital-logistics-page .kl-config-step { display: none; min-height: 360px; padding: 44px 42px 20px; }
.hospital-logistics-page .kl-config-step.is-active { display: block; }
.hospital-logistics-page .kl-step-heading { max-width: 760px; margin-bottom: 38px; }
.hospital-logistics-page .kl-step-heading > span { display: block; margin-bottom: 9px; color: #8be0d7; font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.hospital-logistics-page .kl-step-heading h3 { margin: 0 0 10px; font-size: 32px; }
.hospital-logistics-page .kl-step-heading p { margin: 0; color: rgba(255,255,255,.58); line-height: 1.6; }
.hospital-logistics-page .kl-question-block,
.hospital-logistics-page .kl-rating-card { min-width: 0; margin: 0; padding: 0; border: 0; }
.hospital-logistics-page .kl-question-block + .kl-question-block { margin-top: 34px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,.1); }
.hospital-logistics-page .kl-question-block legend { width: 100%; margin-bottom: 14px; color: #fff; font-size: 17px; font-weight: 700; }
.hospital-logistics-page .kl-segment-grid,
.hospital-logistics-page .kl-rating-options { display: grid; gap: 10px; }
.hospital-logistics-page .kl-segment-grid-4,
.hospital-logistics-page .kl-rating-options { grid-template-columns: repeat(4,1fr); }
.hospital-logistics-page .kl-segment-option,
.hospital-logistics-page .kl-toggle-option { position: relative; display: block; min-width: 0; }
.hospital-logistics-page .kl-segment-option input,
.hospital-logistics-page .kl-toggle-option input { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.hospital-logistics-page .kl-segment-option > span { position: relative; display: flex; min-height: 82px; flex-direction: column; align-items: flex-start; justify-content: center; padding: 15px 40px 15px 16px; border: 1px solid rgba(255,255,255,.17); border-radius: 14px; background: rgba(255,255,255,.045); color: rgba(255,255,255,.78); cursor: pointer; transition: border-color .2s ease,background-color .2s ease,color .2s ease,transform .2s ease; }
.hospital-logistics-page .kl-segment-option > span::after { content: "✓"; position: absolute; top: 12px; right: 12px; display: grid; width: 21px; height: 21px; place-items: center; border-radius: 50%; background: #fff; color: var(--kl-teal-dark); font-size: 12px; font-weight: 900; opacity: 0; transform: scale(.75); transition: opacity .2s ease,transform .2s ease; }
.hospital-logistics-page .kl-segment-option b { color: inherit; font-size: 15px; line-height: 1.2; }
.hospital-logistics-page .kl-segment-option small { margin-top: 5px; color: rgba(255,255,255,.48); font-size: 11px; line-height: 1.3; }
.hospital-logistics-page .kl-segment-option input:checked + span { border-color: var(--kl-teal); background: var(--kl-teal); color: #fff; }
.hospital-logistics-page .kl-segment-option input:checked + span::after { opacity: 1; transform: scale(1); }
.hospital-logistics-page .kl-segment-option input:checked + span small { color: rgba(255,255,255,.78); }
.hospital-logistics-page .kl-segment-option input:focus-visible + span,
.hospital-logistics-page .kl-toggle-option input:focus-visible + span { outline: 3px solid #f6d75f; outline-offset: 3px; }
.hospital-logistics-page .kl-segment-option:hover > span,
.hospital-logistics-page .kl-toggle-option:hover > span { border-color: rgba(0,161,154,.75); transform: translateY(-2px); }
.hospital-logistics-page .kl-choice-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.hospital-logistics-page .kl-toggle-option > span { position: relative; display: flex; min-height: 80px; align-items: center; padding: 18px 48px 18px 20px; border: 1px solid rgba(255,255,255,.17); border-radius: 14px; background: rgba(255,255,255,.045); color: rgba(255,255,255,.82); cursor: pointer; transition: border-color .2s ease,background-color .2s ease,color .2s ease,transform .2s ease; }
.hospital-logistics-page .kl-toggle-option > span::after { content: "+"; position: absolute; right: 17px; display: grid; width: 24px; height: 24px; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: rgba(255,255,255,.7); font-size: 17px; line-height: 1; }
.hospital-logistics-page .kl-toggle-option input:checked + span { border-color: var(--kl-teal); background: rgba(0,161,154,.22); color: #fff; }
.hospital-logistics-page .kl-toggle-option input:checked + span::after { content: "✓"; border-color: var(--kl-teal); background: var(--kl-teal); color: #fff; font-size: 12px; font-weight: 900; }
.hospital-logistics-page .kl-rating-list { display: grid; gap: 14px; }
.hospital-logistics-page .kl-rating-card { padding: 24px; border: 1px solid rgba(255,255,255,.11); border-radius: 18px; background: rgba(255,255,255,.035); }
.hospital-logistics-page .kl-rating-card legend { width: 100%; margin-bottom: 18px; padding: 0; color: #fff; font-size: 16px; font-weight: 680; line-height: 1.45; }
.hospital-logistics-page .kl-rating-card legend span { display: inline-grid; width: 28px; height: 28px; margin-right: 10px; place-items: center; border-radius: 50%; background: rgba(0,161,154,.18); color: #8be0d7; font-size: 10px; font-weight: 900; vertical-align: middle; }
.hospital-logistics-page .kl-rating-options .kl-segment-option > span { min-height: 66px; padding-block: 12px; }
.hospital-logistics-page .kl-config-nav { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; margin-top: 18px; padding: 22px 42px 30px; border-top: 1px solid rgba(255,255,255,.1); }
.hospital-logistics-page .kl-config-nav .kl-button-secondary { border-color: rgba(255,255,255,.25); color: #fff; }
.hospital-logistics-page .kl-config-nav-status { color: rgba(255,255,255,.5); font-size: 12px; text-align: center; }
.hospital-logistics-page .kl-config-nav-status b { color: #fff; }
.hospital-logistics-page .kl-config-nav button:disabled { opacity: .35; cursor: not-allowed; transform: none; }
.hospital-logistics-page .kl-config-submit { display: none; }
.hospital-logistics-page .kl-config-form.is-last .kl-config-next { display: none; }
.hospital-logistics-page .kl-config-form.is-last .kl-config-submit { display: inline-flex; }
.hospital-logistics-page .kl-form-error { min-height: 24px; margin: 6px 42px 0; color: #ffcf85; font-size: 14px; font-weight: 700; }
.hospital-logistics-page .kl-question-block.has-error legend { color: #ffcf85; }
.hospital-logistics-page .kl-rating-card.has-error { border-color: rgba(255,207,133,.7); }
.hospital-logistics-page .kl-choice-grid.has-error .kl-toggle-option > span { border-color: rgba(255,207,133,.7); }
.hospital-logistics-page .kl-config-result { display: none; scroll-margin-top: calc(var(--header-h-compact) + 20px); grid-template-columns: 260px 1fr; gap: 44px; margin-top: 34px; padding: 42px; border-radius: 30px; background: #fff; color: var(--kl-ink); }
.hospital-logistics-page .kl-config-result.is-visible { display: grid; }
.hospital-logistics-page .kl-result-score { display: flex; min-height: 250px; align-self: start; flex-direction: column; align-items: center; justify-content: center; border-radius: 24px; background: var(--kl-mint); text-align: center; }
.hospital-logistics-page .kl-result-score span { color: var(--kl-muted); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.hospital-logistics-page .kl-result-score b { margin: 8px 0; color: var(--kl-night); font-size: 76px; font-weight: 500; line-height: 1; }
.hospital-logistics-page .kl-result-score small { color: var(--kl-muted); }
.hospital-logistics-page .kl-result-body h3 { font-size: 34px; }
.hospital-logistics-page .kl-result-body h4 { margin: 34px 0 12px; font-size: 17px; }
.hospital-logistics-page .kl-result-bars { display: grid; gap: 9px; }
.hospital-logistics-page .kl-result-bar { display: grid; grid-template-columns: 130px 1fr 46px; gap: 12px; align-items: center; font-size: 13px; }
.hospital-logistics-page .kl-result-bar i { height: 8px; border-radius: 99px; background: #e1eae8; overflow: hidden; }
.hospital-logistics-page .kl-result-bar i span { display: block; height: 100%; border-radius: inherit; background: var(--kl-teal); }
.hospital-logistics-page .kl-result-body ol { margin: 0; padding-left: 22px; color: #345257; line-height: 1.7; }
.hospital-logistics-page .kl-roadmap { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.hospital-logistics-page .kl-roadmap p { margin: 0; padding: 16px; border-radius: 12px; background: #edf5f3; color: #345257; font-size: 13px; line-height: 1.5; }
.hospital-logistics-page .kl-result-note { margin: 28px 0; padding: 14px 16px; border-left: 3px solid var(--kl-teal); background: #f4f7f6; color: var(--kl-muted); font-size: 13px; line-height: 1.55; }
.hospital-logistics-page .kl-result-lead-form { margin-top: 34px; padding-top: 32px; scroll-margin-top: calc(var(--header-h-compact) + 18px); border-top: 1px solid var(--kl-line); }
.hospital-logistics-page .kl-result-lead-head { max-width: 680px; margin-bottom: 24px; }
.hospital-logistics-page .kl-result-lead-head .kl-eyebrow { margin-bottom: 8px; }
.hospital-logistics-page .kl-result-body .kl-result-lead-head h4 { margin: 0 0 9px; color: var(--kl-night); font-size: 24px; }
.hospital-logistics-page .kl-result-lead-head > p:last-child { margin: 0; color: var(--kl-muted); font-size: 14px; line-height: 1.6; }
.hospital-logistics-page .kl-result-lead-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.hospital-logistics-page .kl-result-lead-grid label { min-width: 0; color: var(--kl-night); font-size: 12px; font-weight: 750; }
.hospital-logistics-page .kl-result-lead-grid input,
.hospital-logistics-page .kl-result-lead-grid select { display: block; width: 100%; min-height: 48px; margin-top: 7px; padding: 11px 12px; border: 1px solid #c9d9d6; border-radius: 10px; background: #f4f7f6; color: var(--kl-night); font: inherit; font-size: 14px; }
.hospital-logistics-page .kl-result-lead-submit { display: grid; grid-template-columns: minmax(210px,auto) 1fr; gap: 18px; align-items: center; margin-top: 18px; }
.hospital-logistics-page .kl-result-lead-submit .kl-button { width: 100%; }
.hospital-logistics-page .kl-result-lead-submit small { color: var(--kl-muted); font-size: 11px; line-height: 1.5; }
.hospital-logistics-page .kl-result-lead-submit small a { color: var(--kl-teal-dark); }
.hospital-logistics-page .kl-result-lead-status { display: none; margin-top: 16px; padding: 14px 16px; border-left: 3px solid var(--kl-teal); background: var(--kl-mint); color: var(--kl-night); font-size: 13px; font-weight: 700; line-height: 1.5; }
.hospital-logistics-page .kl-result-lead-status.is-visible { display: block; }

/* Approach */
.hospital-logistics-page .kl-approach { background: #fff; }
.hospital-logistics-page .kl-approach-grid { display: grid; grid-template-columns: repeat(5,1fr); border-top: 1px solid var(--kl-line); border-left: 1px solid var(--kl-line); }
.hospital-logistics-page .kl-approach-grid article { min-height: 410px; padding: 30px 24px; border-right: 1px solid var(--kl-line); border-bottom: 1px solid var(--kl-line); }
.hospital-logistics-page .kl-approach-grid article > span { display: block; margin-bottom: 64px; color: var(--kl-teal-dark); font-size: 12px; font-weight: 800; }
.hospital-logistics-page .kl-approach-grid h3 { font-size: 22px; }
.hospital-logistics-page .kl-approach-grid p { color: var(--kl-muted); font-size: 14px; line-height: 1.6; }
.hospital-logistics-page .kl-approach-grid ul { margin: 28px 0 0; padding: 0; list-style: none; }
.hospital-logistics-page .kl-approach-grid li { padding: 8px 0; border-top: 1px solid var(--kl-line); color: #315158; font-size: 13px; }

/* Deliverables */
.hospital-logistics-page .kl-deliverables { background: var(--kl-cream); }
.hospital-logistics-page .kl-deliverables .kl-section-head > p:last-child { color: var(--kl-muted); line-height: 1.7; }
.hospital-logistics-page .kl-deliverable-list { border-top: 1px solid rgba(4,35,44,.19); }
.hospital-logistics-page .kl-deliverable-list div { display: grid; grid-template-columns: 52px 1fr; gap: 18px; align-items: center; min-height: 70px; border-bottom: 1px solid rgba(4,35,44,.19); }
.hospital-logistics-page .kl-deliverable-list span { color: var(--kl-teal-dark); font-size: 11px; font-weight: 800; }
.hospital-logistics-page .kl-deliverable-list p { margin: 0; font-size: 17px; }

/* Operating model */
.hospital-logistics-page .kl-operating-model { background: #fff; }
.hospital-logistics-page .kl-model-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.hospital-logistics-page .kl-model-grid article { min-height: 310px; padding: 34px; border: 1px solid var(--kl-line); border-radius: 18px; background: #fbfcfb; }
.hospital-logistics-page .kl-model-grid article > span { display: inline-flex; margin-bottom: 38px; padding: 7px 11px; border-radius: 999px; background: var(--kl-mint); color: var(--kl-teal-dark); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hospital-logistics-page .kl-model-grid h3 { font-size: 23px; }
.hospital-logistics-page .kl-model-grid p { color: var(--kl-muted); line-height: 1.65; }
.hospital-logistics-page .kl-model-grid p:last-child { margin-bottom: 0; padding-top: 13px; border-top: 1px solid var(--kl-line); font-size: 14px; }
.hospital-logistics-page .kl-model-grid b { color: var(--kl-ink); }

/* KPI */
.hospital-logistics-page .kl-kpi { background: var(--kl-night); color: #fff; }
.hospital-logistics-page .kl-kpi-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.hospital-logistics-page .kl-kpi-grid article { min-height: 220px; padding: 30px; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(255,255,255,.04); }
.hospital-logistics-page .kl-kpi-grid article > span { display: block; margin-bottom: 38px; color: #62d9d2; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.hospital-logistics-page .kl-kpi-grid h3 { font-size: 22px; }
.hospital-logistics-page .kl-kpi-grid p { margin: 0; color: rgba(255,255,255,.62); line-height: 1.6; }

/* Scenario */
.hospital-logistics-page .kl-scenario { background: #fff; }
.hospital-logistics-page .kl-scenario-grid { display: grid; grid-template-columns: 1fr 360px; gap: 90px; }
.hospital-logistics-page .kl-scenario-copy { max-width: 760px; }
.hospital-logistics-page .kl-scenario-note { margin: 0 0 38px; padding: 14px 18px; border-left: 3px solid var(--kl-teal); background: #edf6f4; color: var(--kl-muted); font-size: 13px; line-height: 1.55; }
.hospital-logistics-page .kl-scenario-phase { display: grid; grid-template-columns: 180px 1fr; gap: 24px; padding: 22px 0; border-top: 1px solid var(--kl-line); }
.hospital-logistics-page .kl-scenario-phase span { overflow-wrap: anywhere; color: var(--kl-teal-dark); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.hospital-logistics-page .kl-scenario-phase p { margin: 0; color: #39575c; line-height: 1.65; }
.hospital-logistics-page .kl-scenario-card { align-self: start; padding: 36px; border-radius: 24px; background: var(--kl-mint); }
.hospital-logistics-page .kl-scenario-card > p { color: var(--kl-teal-dark); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.hospital-logistics-page .kl-scenario-card ol { margin: 28px 0 0; padding: 0; list-style: none; counter-reset: scenario; }
.hospital-logistics-page .kl-scenario-card li { counter-increment: scenario; display: grid; grid-template-columns: 30px 1fr; gap: 12px; align-items: center; padding: 15px 0; border-top: 1px solid rgba(4,35,44,.12); }
.hospital-logistics-page .kl-scenario-card li::before { content: counter(scenario, decimal-leading-zero); color: var(--kl-teal-dark); font-size: 11px; font-weight: 800; }

/* Expertise */
.hospital-logistics-page .kl-expertise { background: var(--kl-cream); }
.hospital-logistics-page .kl-expertise-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 8vw; align-items: center; }
.hospital-logistics-page .kl-expertise-image { position: relative; max-width: 440px; }
.hospital-logistics-page .kl-expertise-image::before { content: ""; position: absolute; inset: 28px -28px -28px 28px; border: 1px solid rgba(4,35,44,.18); }
.hospital-logistics-page .kl-expertise-image img { position: relative; display: block; width: 100%; height: auto; filter: saturate(.82); }
.hospital-logistics-page .kl-expertise-copy { max-width: 660px; }
.hospital-logistics-page .kl-expertise-copy > p:not(.kl-eyebrow):not(.kl-person) { color: #39575c; font-size: 18px; line-height: 1.7; }
.hospital-logistics-page .kl-expertise-copy blockquote { margin: 34px 0 24px; padding: 0 0 0 28px; border-left: 3px solid var(--kl-teal); color: var(--kl-night); font-size: 24px; font-weight: 420; line-height: 1.45; }
.hospital-logistics-page .kl-person { color: var(--kl-muted); line-height: 1.5; }
.hospital-logistics-page .kl-person b { color: var(--kl-night); }
.hospital-logistics-page .kl-method-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
.hospital-logistics-page .kl-method-tags span { padding: 8px 12px; border: 1px solid rgba(4,35,44,.15); border-radius: 999px; color: #315158; font-size: 12px; }

/* Method and FAQ */
.hospital-logistics-page .kl-methodology { background: #fff; }
.hospital-logistics-page .kl-check-list { margin: 28px 0; padding: 0; list-style: none; }
.hospital-logistics-page .kl-check-list li { position: relative; padding: 14px 0 14px 28px; border-top: 1px solid var(--kl-line); }
.hospital-logistics-page .kl-check-list li::before { content: ""; position: absolute; top: 23px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--kl-teal); }
.hospital-logistics-page .kl-text-link { color: var(--kl-teal-dark); font-weight: 750; text-decoration: none; }
.hospital-logistics-page .kl-faq { background: var(--kl-paper); }
.hospital-logistics-page .kl-faq-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 9vw; }
.hospital-logistics-page .kl-faq-list { border-top: 1px solid var(--kl-line); }
.hospital-logistics-page .kl-faq-list details { border-bottom: 1px solid var(--kl-line); }
.hospital-logistics-page .kl-faq-list summary { position: relative; padding: 25px 52px 25px 0; color: var(--kl-night); font-size: 18px; font-weight: 650; cursor: pointer; list-style: none; }
.hospital-logistics-page .kl-faq-list summary::-webkit-details-marker { display: none; }
.hospital-logistics-page .kl-faq-list summary::after { content: "+"; position: absolute; top: 20px; right: 4px; color: var(--kl-teal-dark); font-size: 26px; font-weight: 350; }
.hospital-logistics-page .kl-faq-list details[open] summary::after { content: "−"; }
.hospital-logistics-page .kl-faq-list details p { max-width: 700px; margin: -4px 0 26px; color: var(--kl-muted); line-height: 1.7; }

/* Final CTA */
.hospital-logistics-page .kl-final-cta { padding: 90px 0; background: linear-gradient(135deg, #008d86, #006e69); color: #fff; }
.hospital-logistics-page .kl-final-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 64px; align-items: end; }
.hospital-logistics-page .kl-final-grid h2 { max-width: 760px; }
.hospital-logistics-page .kl-final-grid p:not(.kl-eyebrow) { max-width: 720px; color: rgba(255,255,255,.76); font-size: 18px; line-height: 1.65; }
.hospital-logistics-page .kl-final-grid .kl-eyebrow { color: #b9fffa; }
.hospital-logistics-page .kl-final-grid .kl-actions { justify-content: flex-end; }
.hospital-logistics-page .kl-final-action { justify-self: end; }
.hospital-logistics-page .kl-final-action .hero-cta { margin-top: 0; }

@media (max-width: 1080px) {
  .hospital-logistics-page .kl-hero-grid { grid-template-columns: 1fr .68fr; gap: 28px; }
  .hospital-logistics-page .kl-hero-visual { transform: scale(.88); transform-origin: right center; }
  .hospital-logistics-page .kl-flow-grid { grid-template-columns: 1fr; gap: 24px; }
  .hospital-logistics-page .kl-flow-map,
  .hospital-logistics-page .kl-flow-panels { min-height: 560px; }
  .hospital-logistics-page .kl-approach-grid { grid-template-columns: repeat(3,1fr); }
  .hospital-logistics-page .kl-approach-grid article { min-height: 360px; }
  .hospital-logistics-page .kl-scenario-grid { grid-template-columns: 1fr 310px; gap: 48px; }
}

@media (max-width: 900px) {
  .hospital-logistics-page .kl-section { padding: 84px 0; }
  .hospital-logistics-page .kl-hero-grid { grid-template-columns: 1fr; padding-bottom: 70px; }
  .hospital-logistics-page .kl-hero-visual { width: 390px; justify-self: center; transform: none; }
  .hospital-logistics-page .kl-hero-facts { grid-template-columns: 1fr; }
  .hospital-logistics-page .kl-hero-facts > div { min-height: 86px; border-right: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); }
  .hospital-logistics-page .kl-two-col,
  .hospital-logistics-page .kl-expertise-grid,
  .hospital-logistics-page .kl-faq-grid { grid-template-columns: 1fr; gap: 48px; }
  .hospital-logistics-page .kl-intro .kl-two-col { grid-template-columns: 1fr; gap: 36px; }
  .hospital-logistics-page .kl-signal-grid,
  .hospital-logistics-page .kl-kpi-grid { grid-template-columns: repeat(2,1fr); }
  .hospital-logistics-page .kl-field-grid,
  .hospital-logistics-page .kl-choice-grid { grid-template-columns: 1fr 1fr; }
  .hospital-logistics-page .kl-segment-grid-4,
  .hospital-logistics-page .kl-rating-options { grid-template-columns: 1fr 1fr; }
  .hospital-logistics-page .kl-rating-list { grid-template-columns: 1fr; }
  .hospital-logistics-page .kl-config-result { grid-template-columns: 1fr; }
  .hospital-logistics-page .kl-result-score { min-height: 190px; }
  .hospital-logistics-page .kl-scenario-grid { grid-template-columns: 1fr; }
  .hospital-logistics-page .kl-scenario-card { max-width: 560px; }
  .hospital-logistics-page .kl-final-grid { grid-template-columns: 1fr; }
  .hospital-logistics-page .kl-final-grid .kl-actions { justify-content: flex-start; }
  .hospital-logistics-page .kl-final-action { justify-self: start; }
}

@media (max-width: 760px) {
  .hospital-logistics-page .kl-shell { width: min(100% - 30px, 1180px); }
  .hospital-logistics-page .kl-section { padding: 68px 0; }
  .hospital-logistics-page .kl-hero-grid,
  .hospital-logistics-page .kl-hero-copy { min-width: 0; }
  .hospital-logistics-page h1 { font-size: clamp(35px, 10.4vw, 50px); }
  .hospital-logistics-page h2 { font-size: clamp(32px, 10vw, 46px); }
  .hospital-logistics-page .kl-prose,
  .hospital-logistics-page .kl-prose-large { font-size: 17px; }
  .hospital-logistics-page .kl-hero { padding-top: calc(var(--header-h) + 48px); }
  .hospital-logistics-page .kl-breadcrumb { margin-bottom: 28px; }
  .hospital-logistics-page .kl-hero-lead { font-size: 17px; }
  .hospital-logistics-page .kl-hero-visual { width: min(100%, 350px); margin-top: 14px; }
  .hospital-logistics-page .kl-node { min-width: 76px; padding: 8px 10px; font-size: 10px; }
  .hospital-logistics-page .kl-core b { font-size: 20px; }
  .hospital-logistics-page .kl-actions { align-items: stretch; }
  .hospital-logistics-page .kl-actions .kl-button { width: 100%; }
  .hospital-logistics-page .kl-final-action,
  .hospital-logistics-page .kl-final-action .hero-cta { width: 100%; min-width: 0; }
  .hospital-logistics-page .kl-flow-grid { gap: 16px; }
  .hospital-logistics-page .kl-flow-map { min-height: 620px; border-radius: 24px; }
  .hospital-logistics-page .kl-building { top: 48%; width: 92%; }
  .hospital-logistics-page .kl-flow-map::before,
  .hospital-logistics-page .kl-flow-map::after { content: ""; position: absolute; z-index: 7; pointer-events: none; opacity: 0; }
  .hospital-logistics-page .kl-flow-map::after { top: 34px; left: 50%; width: 1px; height: 38px; margin-left: -.5px; background: linear-gradient(180deg,transparent,rgba(98,217,210,.58)); }
  .hospital-logistics-page .kl-flow-map::before { top: 63px; left: 50%; width: 9px; height: 9px; margin-left: -4.5px; border-right: 1px solid rgba(217,255,251,.72); border-bottom: 1px solid rgba(217,255,251,.72); }
  .hospital-logistics-page .kl-flow-map.is-direction-cue::after { animation: kl-flow-scan-down .95s cubic-bezier(.2,.72,.2,1) both; }
  .hospital-logistics-page .kl-flow-map.is-direction-cue::before { animation: kl-flow-arrow-down .95s cubic-bezier(.2,.72,.2,1) both; }
  .hospital-logistics-page .kl-flow-panels { min-height: 0; }
  .hospital-logistics-page .kl-flow-button { font-size: 11px; }
  .hospital-logistics-page .kl-flow-button:nth-of-type(1) { top: 5%; left: 4%; }
  .hospital-logistics-page .kl-flow-button:nth-of-type(2) { top: 5%; right: 4%; }
  .hospital-logistics-page .kl-flow-button:nth-of-type(3) { top: 25%; right: 2%; }
  .hospital-logistics-page .kl-flow-button:nth-of-type(4) { bottom: 27%; right: 2%; }
  .hospital-logistics-page .kl-flow-button:nth-of-type(7) { bottom: 27%; left: 2%; }
  .hospital-logistics-page .kl-flow-button:nth-of-type(8) { top: 25%; left: 2%; }
  .hospital-logistics-page .kl-flow-panel { padding: 32px 24px; scroll-margin-top: 132px; border-radius: 24px; }
  .hospital-logistics-page .kl-flow-panel h3 { font-size: 30px; }
  .hospital-logistics-page .kl-flow-panel dl div { grid-template-columns: 1fr; gap: 6px; }
  .hospital-logistics-page .kl-signal-grid,
  .hospital-logistics-page .kl-kpi-grid,
  .hospital-logistics-page .kl-model-grid,
  .hospital-logistics-page .kl-field-grid,
  .hospital-logistics-page .kl-choice-grid { grid-template-columns: 1fr; }
  .hospital-logistics-page .kl-signal-grid article { min-height: 230px; }
  .hospital-logistics-page .kl-config-form { padding: 0; scroll-margin-top: 132px; border-radius: 22px; }
  .hospital-logistics-page .kl-funnel-head { padding: 22px 18px 20px; }
  .hospital-logistics-page .kl-config-progress { grid-template-columns: repeat(5,1fr); }
  .hospital-logistics-page .kl-config-progress span { justify-content: center; }
  .hospital-logistics-page .kl-config-progress span em { display: none; }
  .hospital-logistics-page .kl-config-step { min-height: 430px; padding: 34px 18px 16px; }
  .hospital-logistics-page .kl-step-heading h3 { font-size: 27px; }
  .hospital-logistics-page .kl-segment-grid-4,
  .hospital-logistics-page .kl-rating-options { grid-template-columns: 1fr 1fr; }
  .hospital-logistics-page .kl-rating-card { padding: 18px 14px; }
  .hospital-logistics-page .kl-rating-card legend { font-size: 15px; }
  .hospital-logistics-page .kl-rating-options .kl-segment-option > span { min-height: 70px; padding: 12px 34px 12px 12px; }
  .hospital-logistics-page .kl-segment-option b { font-size: 13px; }
  .hospital-logistics-page .kl-form-error { margin-inline: 18px; }
  .hospital-logistics-page .kl-config-nav { grid-template-columns: 1fr 1fr; gap: 10px; padding: 18px; }
  .hospital-logistics-page .kl-config-nav-status { grid-column: 1 / -1; grid-row: 1; }
  .hospital-logistics-page .kl-config-nav .kl-button { width: 100%; padding-inline: 12px; }
  .hospital-logistics-page .kl-config-result { padding: 24px 18px; scroll-margin-top: 132px; border-radius: 22px; }
  .hospital-logistics-page .kl-result-bar { grid-template-columns: 95px 1fr 38px; }
  .hospital-logistics-page .kl-roadmap { grid-template-columns: 1fr; }
  .hospital-logistics-page .kl-result-lead-grid,
  .hospital-logistics-page .kl-result-lead-submit { grid-template-columns: 1fr; }
  .hospital-logistics-page .kl-result-lead-form { scroll-margin-top: 132px; }
  .hospital-logistics-page .kl-approach-grid { grid-template-columns: 1fr; }
  .hospital-logistics-page .kl-approach-grid article { min-height: auto; }
  .hospital-logistics-page .kl-approach-grid article > span { margin-bottom: 38px; }
  .hospital-logistics-page .kl-scenario-phase { grid-template-columns: 1fr; gap: 8px; }
  .hospital-logistics-page .kl-expertise-image { max-width: 330px; }
  .hospital-logistics-page .kl-expertise-image::before { inset: 18px -12px -18px 12px; }
  .hospital-logistics-page .kl-expertise-copy blockquote { font-size: 21px; }
}

@keyframes kl-flow-scan-down {
  0% { opacity: 0; transform: translate3d(0,0,0); }
  16% { opacity: .58; }
  72% { opacity: .42; }
  100% { opacity: 0; transform: translate3d(0,420px,0); }
}

@keyframes kl-flow-arrow-down {
  0% { opacity: 0; transform: translate3d(0,0,0) rotate(45deg); }
  16% { opacity: .68; }
  72% { opacity: .5; }
  100% { opacity: 0; transform: translate3d(0,420px,0) rotate(45deg); }
}

@media (prefers-reduced-motion: reduce) {
  .hospital-logistics-page *,
  .hospital-logistics-page *::before,
  .hospital-logistics-page *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* Krankenhauslogistik project-evidence links and stable desktop flow panels. */
@media (min-width: 901px) {
  .hospital-logistics-page .kl-flow-panels { display: grid; }
  .hospital-logistics-page .kl-flow-panel { grid-area: 1 / 1; display: block; height: auto; visibility: hidden; opacity: 0; pointer-events: none; }
  .hospital-logistics-page .kl-flow-panel.is-active { visibility: visible; opacity: 1; pointer-events: auto; }
}
.hospital-logistics-page .kl-project-evidence { background: var(--kl-night); color: #fff; }
.hospital-logistics-page .kl-project-evidence .kl-section-head { max-width: 940px; }
.hospital-logistics-page .kl-project-evidence .kl-section-head > p:last-child { max-width: 820px; color: rgba(255,255,255,.7); line-height: 1.7; }
.hospital-logistics-page .kl-project-evidence .kl-eyebrow { color: #62d9d2; }
.hospital-logistics-page .kl-use-case-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-top: 46px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.14); }
.hospital-logistics-page .kl-use-case-grid a,
.hospital-logistics-page .kl-use-case-grid a:link,
.hospital-logistics-page .kl-use-case-grid a:visited { display: flex; min-width: 0; min-height: 320px; padding: 34px; flex-direction: column; background: #07343a; color: #fff; text-decoration: none; }
.hospital-logistics-page .kl-use-case-grid a:hover { background: #0a4147; color: #fff; }
.hospital-logistics-page .kl-use-case-grid a:focus-visible { outline: 3px solid #62d9d2; outline-offset: -5px; background: #0a4147; color: #fff; }
.hospital-logistics-page .kl-use-case-grid span { color: #62d9d2; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hospital-logistics-page .kl-use-case-grid h3 { margin: 56px 0 18px; font-size: 25px; }
.hospital-logistics-page .kl-use-case-grid p { margin: 0; color: rgba(255,255,255,.68); line-height: 1.65; }
.hospital-logistics-page .kl-use-case-grid b { margin-top: auto; padding-top: 28px; color: #b9fffa; font-size: 13px; }
.hospital-logistics-page .kl-use-case-grid i { font-style: normal; }
@media (max-width: 900px) {
  .hospital-logistics-page .kl-use-case-grid { grid-template-columns: 1fr; }
  .hospital-logistics-page .kl-use-case-grid a,
  .hospital-logistics-page .kl-use-case-grid a:link,
  .hospital-logistics-page .kl-use-case-grid a:visited { min-height: 260px; }
}
