/* A single, compact photographic opening. No layout shifts or looping motion. */
body.km-site .km-intro{position:relative;isolation:isolate;overflow:hidden;min-height:220px;height:clamp(220px,16.5vw,320px);background:#163347;color:#fff}
.km-intro-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 38%;z-index:-2}
.km-intro::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,25,40,.46),rgba(8,25,40,.2) 44%,rgba(8,25,40,0) 72%)}
.km-intro-inner{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:32px;position:relative}
body.km-site .km-intro h1{margin:0;color:#fff;font-size:clamp(32px,2.85vw,44px);font-weight:500;line-height:1.35;letter-spacing:-.025em;word-break:keep-all;text-shadow:0 2px 18px rgba(5,19,33,.24)}
body.km-site .km-intro-caption{margin:14px 0 0;color:#fff;font-size:13px;line-height:1.5;letter-spacing:.18em;font-weight:400}
.km-intro-caption span{margin-inline:5px}
.km-intro+.km-wrap{padding-top:40px}
@media(max-width:767px){
 body.km-site .km-intro{height:200px;min-height:200px}
 .km-intro-image{object-position:68% 50%}
 .km-intro::after{background:linear-gradient(90deg,rgba(8,25,40,.65),rgba(8,25,40,.32) 65%,rgba(8,25,40,.12))}
 .km-intro-inner{padding-block:28px}
 body.km-site .km-intro h1{font-size:28px;line-height:1.4;letter-spacing:-.035em}
 body.km-site .km-intro-caption{font-size:11px;letter-spacing:.14em;margin-top:12px}
 .km-intro+.km-wrap{padding-top:32px}
}
@media(max-width:360px){body.km-site .km-intro h1{font-size:26px}}
@media(prefers-reduced-motion:no-preference){
 .km-intro-image{animation:km-intro-settle 1.4s cubic-bezier(.2,.65,.3,1) both}
 @keyframes km-intro-settle{from{transform:scale(1.018)}to{transform:scale(1)}}
}
