/* KLEIN (UK) launch visual corrections. Authoritative final overrides. */
body.klein-experience .km-hero{isolation:isolate!important;background:#040404!important}
body.klein-experience .km-hero .brand-hero__media{z-index:0!important;pointer-events:none!important;overflow:hidden!important}
body.klein-experience .km-hero .brand-hero__media video{display:block!important;visibility:visible!important;opacity:.94!important;object-fit:cover!important;object-position:center 44%!important;filter:grayscale(1) contrast(1.22) brightness(.9)!important;z-index:1!important;will-change:transform}
body.klein-experience .km-hero .brand-hero__media .km-hero-photo{z-index:0!important;object-position:50% 40%!important;filter:grayscale(1) contrast(1.2) brightness(.9)!important;animation:km-photo-drift 12s ease-in-out infinite alternate!important;will-change:transform}
body.klein-experience .km-hero .brand-hero__film-overlay{z-index:2!important;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.19) 30%,rgba(0,0,0,.18) 57%,rgba(0,0,0,.91) 100%)!important;opacity:1!important}
body.klein-experience .km-hero .brand-hero__brand{z-index:4!important;pointer-events:none!important}
body.klein-experience .km-hero .brand-hero__brand .hero-vector-logo{filter:drop-shadow(0 5px 20px rgba(0,0,0,.48))!important}
body.klein-experience .km-hero .brand-hero__meta{z-index:5!important}
body.klein-experience .km-hero .brand-hero__entity{font-size:clamp(10px,.9vw,13px)!important;line-height:1.45!important;letter-spacing:.09em!important}
@keyframes km-photo-drift{0%{transform:scale(1.055) translate3d(-1.4%,0,0)}100%{transform:scale(1.13) translate3d(1.4%,-1%,0)}}
/* Single, consistent typographic treatment for the latest release. */
body.klein-experience .km-spotlight__copy h2{font-family:'Roboto Condensed','Arial Narrow',Impact,sans-serif!important;font-weight:800!important;font-size:clamp(54px,6.6vw,98px)!important;line-height:.96!important;letter-spacing:-.025em!important;word-break:normal!important;overflow-wrap:normal!important;margin:20px 0 30px!important;max-width:100%!important}
body.klein-experience .km-spotlight__copy h2 span,body.klein-experience .km-spotlight__copy h2 em{font-size:1em!important;line-height:inherit!important;letter-spacing:inherit!important;color:#fff!important;-webkit-text-stroke:0!important;-webkit-text-fill-color:#fff!important;font-style:normal!important;font-weight:inherit!important;white-space:nowrap!important;display:block!important}
body.klein-experience .km-spotlight__number{display:none!important}
body.klein-experience .km-spotlight__intro .km-eyebrow{font-size:11px!important;letter-spacing:.09em!important}
body.klein-experience .km-spotlight__bottom p{font-size:12px!important;line-height:1.6!important;letter-spacing:.055em!important}
/* Release filter hidden state must beat complex grid styles. */
body.klein-experience .km-release-grid .km-release[hidden]{display:none!important;visibility:hidden!important}
/* Give buttons and menu decent tap targets with no arrows or decorative glyphs. */
body.klein-experience .km-filter{min-height:44px!important}
@media(min-width:901px){
 body.klein-experience .km-hero{min-height:720px!important;height:clamp(720px,92svh,1000px)!important}
 body.klein-experience .km-hero .brand-hero__brand{padding-top:clamp(6rem,14vh,9rem)!important;padding-bottom:clamp(8rem,16vh,12rem)!important}
 body.klein-experience .km-hero .brand-hero__media video{object-position:center 43%!important}
}
@media(max-width:900px){
 body.klein-experience .km-hero{min-height:max(655px,100svh)!important;height:auto!important;max-height:none!important;grid-template-rows:76px minmax(390px,1fr) auto!important}
 body.klein-experience .km-hero .brand-hero__brand{grid-row:2!important;max-height:none!important;padding:24px 18px!important}
 body.klein-experience .km-hero .brand-hero__brand .hero-vector-logo{width:min(78vw,370px)!important;height:auto!important;max-height:56svh!important}
 body.klein-experience .km-hero .brand-hero__meta{grid-row:3!important;padding:0 24px max(36px,env(safe-area-inset-bottom))!important;gap:16px!important}
 body.klein-experience .km-hero .brand-hero__entity{font-size:11px!important;letter-spacing:.075em!important}
 body.klein-experience .km-hero .brand-hero__actions .button{font-size:11px!important;min-height:51px!important}
 body.klein-experience .km-hero .brand-hero__media video{object-position:center 43%!important}
 body.klein-experience .km-spotlight__copy h2{font-size:clamp(43px,10vw,68px)!important;margin:12px 0 21px!important;line-height:1!important;letter-spacing:-.035em!important}
}
@media(max-width:480px){
 body.klein-experience .km-hero{grid-template-rows:72px minmax(390px,1fr) auto!important}
 body.klein-experience .km-hero .brand-hero__brand{padding:12px 20px!important}
 body.klein-experience .km-hero .hero-vector-logo{width:min(76vw,330px)!important;max-height:53svh!important}
 body.klein-experience .km-hero .brand-hero__meta{padding:0 20px 28px!important}
 body.klein-experience .km-spotlight__copy h2{font-size:clamp(41px,11vw,52px)!important;letter-spacing:-.035em!important;line-height:.99!important}
 body.klein-experience .km-spotlight__bottom p{font-size:12px!important}
}
@media(prefers-reduced-motion:reduce){body.klein-experience .km-hero .brand-hero__media video{display:none!important}body.klein-experience .km-hero .brand-hero__media .km-hero-photo{animation:none!important}}
@media print{body.klein-experience .km-hero .brand-hero__media video{display:none!important}body.klein-experience .km-hero .brand-hero__media .km-hero-photo{animation:none!important}}
/* Supersede legacy first-child and last-child font-size rules (specificity matters). */
html body.klein-experience .km-spotlight__copy h2 > span:first-child,
html body.klein-experience .km-spotlight__copy h2 > span:last-child {
  font-size:1em!important;
  line-height:1!important;
  letter-spacing:inherit!important;
  font-weight:inherit!important;
}
