/* Isolated faculty homepage hero; legacy slider remains available in homepage.php. */
.kh-hero{--kh-blue:#094e96;--kh-ink:#102d47;--kh-progress:0;max-width:1440px;margin:26px auto 58px;padding:0 32px;box-sizing:border-box;color:var(--kh-ink)}
.kh-hero *{box-sizing:border-box}
.kh-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.kh-topline h1{margin:0;font-size:13px;line-height:1.5;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.kh-topline address{display:flex;align-items:center;gap:20px;margin:0;font-size:13px;font-style:normal}
.kh-topline address span{color:#6a7885}.kh-topline a{color:#425e74}.kh-topline a:hover{color:var(--kh-blue)}
.kh-stage{position:relative;isolation:isolate;display:flex;align-items:center;min-height:570px;padding:54px 0}
.kh-visuals{position:absolute;inset:0 24% 0 0;overflow:hidden;border-radius:18px;background:#0b365a;z-index:0}
.kh-visual{position:absolute;inset:0;opacity:0;transition:opacity .65s ease;overflow:hidden}
.kh-visual.is-active{opacity:1;z-index:1}
.kh-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;padding:50px;background:radial-gradient(ellipse at 8% 20%,#4490bf66,transparent 60%),repeating-radial-gradient(ellipse at 10% 100%,transparent 0 48px,#ffffff0b 49px 50px),#094e96;color:#fff}
.kh-placeholder span:first-child{font-size:clamp(50px,8vw,108px);letter-spacing:.12em;font-weight:600}.kh-placeholder span:last-child{font-size:18px;opacity:.8}
.kh-photo{position:relative;display:block;width:100%;height:100%;object-fit:cover;object-position:center;border:0}
.kh-visual.is-poster{background:#e9eef3}.kh-visual.is-poster .kh-photo{object-fit:contain;padding:24px 24% 24px 24px;background:#e9eef3}
.kh-visuals:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(4,24,43,.26),transparent 35%,transparent 75%,rgba(4,24,43,.16))}
.kh-photo-label{position:absolute;top:27px;left:28px;z-index:3;display:flex;align-items:center;gap:10px;color:#fff;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 5px #16334b}
.kh-dot{width:7px;height:7px;border-radius:50%;background:#fff}
.kh-stack{position:relative;isolation:isolate;z-index:3;width:46%;margin-left:auto;margin-right:28px}
.kh-sheet{position:relative;padding:38px 38px 24px;background:#fff;border:1px solid #e7edf3;border-radius:14px;box-shadow:0 24px 60px -20px #092d4b45}
.kh-stack:before,.kh-stack:after{content:"";position:absolute;inset:12px -11px 12px 12px;border:1px solid #d5e0ea;border-radius:14px;background:#f4f7fa;z-index:-1;transform:rotate(2deg);transform-origin:bottom right}
.kh-stack:after{inset:24px -22px 24px 24px;background:#e4ecf3;z-index:-2;transform:rotate(4deg)}
.kh-cards{display:grid;position:relative;background:#fff}
.kh-card{grid-area:1/1;display:flex;flex-direction:column;min-width:0;align-items:flex-start;margin:0;background:#fff}
.kh-card[hidden]{display:flex!important;visibility:hidden;pointer-events:none}
.kh-card-head{display:contents}.kh-thumb{display:none}
.kh-card.is-entering{animation:kh-card-enter .5s cubic-bezier(.2,.75,.2,1) both}
@keyframes kh-card-enter{from{opacity:0;transform:translate(22px,7px)}to{opacity:1;transform:none}}
.kh-meta{display:flex;align-items:center;gap:13px;font-size:12px;line-height:1.4;margin-bottom:22px;color:#6d7c89}
.kh-meta>span{color:var(--kh-blue);font-weight:600;text-transform:uppercase;letter-spacing:.09em}
.kh-meta time{padding-left:13px;border-left:1px solid #dce3e9}
.kh-card h2{padding:0;margin:0 0 20px;font-size:clamp(28px,2.7vw,39px);font-weight:600;line-height:1.12;letter-spacing:-.025em;overflow-wrap:anywhere}
.kh-card h2 a{color:var(--kh-ink);transition:color .2s}.kh-card h2 a:hover{color:var(--kh-blue)}
.kh-card p{margin:0 0 28px;font-size:17px;line-height:1.6;color:#536778;font-weight:400}
.kh-read{display:inline-flex;align-items:center;gap:20px;margin-top:auto;padding:9px 0;color:var(--kh-blue);font-size:15px;font-weight:600;border-bottom:1px solid #b8cbdc}
.kh-read span{font-size:23px;line-height:1;transition:transform .2s}.kh-read:hover span{transform:translate(3px,-3px)}
.kh-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px;padding-top:20px;border-top:1px solid #e6ebf0}
.kh-controls[hidden]{display:none}.kh-pagination{display:flex;align-items:center;gap:10px;font-size:13px;font-variant-numeric:tabular-nums;color:#8593a0}.kh-pagination strong{color:var(--kh-ink);font-size:20px;font-weight:500}
.kh-buttons{display:flex;align-items:center;gap:8px}.kh-buttons button{display:grid;place-items:center;cursor:pointer;width:42px;height:42px;padding:0;background:#fff;border:1px solid #dbe4ec;border-radius:50%;color:var(--kh-ink);font:24px/1 'Barlow',sans-serif;transition:background .2s,color .2s,border-color .2s}.kh-buttons button>svg{display:block;width:24px;height:24px;pointer-events:none}.kh-buttons .kh-play{font-size:16px;border-color:transparent;margin-right:7px;color:#688096}.kh-buttons button:hover{background:var(--kh-blue);border-color:var(--kh-blue);color:#fff}
.kh-index{display:grid;grid-template-columns:repeat(var(--kh-count,5),minmax(0,1fr));gap:24px;margin-top:28px}
.kh-index-item{position:relative;display:flex;align-items:flex-start;gap:12px;padding:18px 0 0;border-top:2px solid #dde5ec;color:#758491;text-align:left;min-width:0;transition:color .2s}
.kh-index-number{font-size:12px;line-height:22px;font-variant-numeric:tabular-nums;opacity:.75}.kh-index-title{font-size:14px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:500}
.kh-index-item.is-active{color:var(--kh-blue)}.kh-index-item:hover{color:var(--kh-ink)}
.kh-progress{position:absolute;left:0;right:0;top:-2px;height:2px;background:var(--kh-blue);transform:scaleX(0);transform-origin:left}.kh-index-item.is-active .kh-progress{transform:scaleX(var(--kh-progress))}
.kh-hero a:focus-visible,.kh-hero button:focus-visible{outline:3px solid #4490bf;outline-offset:5px}
@media(min-width:761px) and (max-width:1100px){.kh-stack{width:53%}.kh-sheet{padding:30px 28px 22px}.kh-card h2{font-size:30px}.kh-stage{min-height:530px}.kh-topline address span{display:none}.kh-index{gap:16px}.kh-index-item{gap:7px}}
@media(max-width:760px){
 .kh-hero{padding:0 20px;margin:16px auto 35px}.kh-topline{margin-bottom:15px;align-items:flex-start}.kh-topline h1{font-size:11px;letter-spacing:.1em}.kh-topline address{font-size:11px;gap:4px;flex-direction:column;align-items:flex-end}.kh-topline address span{display:none}
 .kh-stage{display:flex;flex-direction:column;min-height:0;padding:0}.kh-visuals{display:none}
 .kh-stack{width:calc(100% - 12px);margin:4px 12px 0 0}.kh-sheet{padding:24px 24px 19px;border-radius:12px;box-shadow:0 16px 35px -20px #092d4b60}.kh-stack:before{inset:10px -6px 14px 10px;transform:rotate(1.4deg)}.kh-stack:after{inset:19px -12px 25px 20px;transform:rotate(2.5deg)}
 .kh-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;margin-bottom:20px}.kh-thumb{display:block;flex:0 0 100px;width:100px;height:80px;object-fit:cover;border-radius:8px;background:#edf2f6}.kh-thumb.is-poster{object-fit:contain}
 .kh-meta{font-size:11px;margin-bottom:0;gap:8px;flex-direction:column;align-items:flex-start}.kh-meta time{padding-left:0;border-left:0}.kh-card h2{font-size:27px;line-height:1.14;margin-bottom:15px}.kh-card p{font-size:15px;line-height:1.55;margin-bottom:18px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kh-read{font-size:14px}.kh-controls{margin-top:18px;padding-top:15px}.kh-buttons button{width:40px;height:40px}
 .kh-card[hidden]{display:none!important}
 .kh-sheet{overflow:hidden}.kh-card{position:relative;isolation:isolate}
 .kh-card:before{content:"";position:absolute;inset:-24px -24px -10px;z-index:-1;pointer-events:none;background-image:var(--kh-card-image,none);background-size:cover;background-position:center;opacity:.075;mask-image:linear-gradient(#000 70%,transparent 100%);-webkit-mask-image:linear-gradient(#000 70%,transparent 100%)}
 .kh-index{display:flex;gap:22px;overflow-x:auto;margin:25px 0 0;padding:0 0 9px;scrollbar-width:thin;scrollbar-color:#c6d6e4 transparent;overscroll-behavior-x:contain;scroll-snap-type:x proximity}.kh-index-item{flex:0 0 72%;scroll-snap-align:start;padding-top:13px}.kh-index-title{font-size:13px}.kh-index-number{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.kh-hero *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
