/* TREKFIN V6 — cinematic slideshow, existing page structure unchanged */
.heroCarousel{min-height:680px;touch-action:pan-y;background:#082841}
.heroSlides{position:absolute;inset:0;z-index:-3;overflow:hidden}
.heroSlide{position:absolute;inset:0;overflow:hidden;visibility:hidden;transform:translate3d(100%,0,0);pointer-events:none;z-index:0}
.heroSlide.active,.heroSlide.leaving,.heroSlide.peek{visibility:visible}
.heroSlide.active{z-index:2;pointer-events:auto;transform:translate3d(0,0,0)}
.heroSlide.leaving{z-index:1}
.heroSlide.peek{z-index:3}
.heroSlide:after{content:"";position:absolute;inset:0;z-index:2;background:#020f1c;opacity:0;transition:opacity .95s ease;pointer-events:none}
.heroSlide.leaving:after{opacity:.6}
.heroKen{position:absolute;inset:0;transform:scale(1);transform-origin:50% 50%;backface-visibility:hidden}
.heroSlide picture,.heroSlide>img,.heroSlide video,.heroKen img,.heroKen video{position:absolute;inset:0;width:100%;height:100%;max-width:none;display:block;object-fit:cover;object-position:center 48%}
.heroCarousel .heroPhoto{position:absolute;inset:0;width:100%;height:100%;max-width:none;z-index:0;filter:saturate(1.1) contrast(1.05);object-position:center 48%}
.heroMotion{z-index:1;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease}
.heroMotion.ready{opacity:1;visibility:visible}
.heroCarousel .heroShade{pointer-events:none;z-index:-2;background:linear-gradient(90deg,rgba(4,19,34,.94) 0%,rgba(4,29,50,.82) 29%,rgba(4,28,47,.46) 57%,rgba(4,26,42,.11) 100%),linear-gradient(0deg,rgba(2,21,38,.52),transparent 42%)}
.heroCarousel .heroInner{min-height:680px;padding-bottom:105px}
.heroCarousel .heroContent{width:100%;max-width:min(940px,84vw);transition:transform 500ms ease,opacity 500ms ease}
.heroCarousel .heroContent.swapOut{opacity:.22;transform:translateY(14px)}
.heroCarousel.heroSeries .heroContent h1{font-size:clamp(32px,4.2vw,52px);line-height:1.08;overflow-wrap:anywhere;letter-spacing:-1.4px}
.heroCarousel .heroBtm{font-size:12px;letter-spacing:1.6px;margin-top:24px}
.heroCarousel .heroContent p{font-size:17px;line-height:1.7;max-width:700px}
.heroCarouselControls{position:absolute;left:max(30px,calc((100vw - 1400px)/2));bottom:25px;right:max(30px,calc((100vw - 1400px)/2));z-index:3;display:flex;align-items:center;gap:22px;pointer-events:auto}
.heroCount{white-space:nowrap;font-weight:900;font-size:17px;letter-spacing:2px;color:#fff;font-variant-numeric:tabular-nums}
.heroCountSep{color:#b4ccd9;font-size:13px}
.heroDots{display:flex;flex:1;gap:8px;align-items:center;max-width:390px}
.heroDots button{position:relative;border:0;padding:0;appearance:none;height:4px;border-radius:3px;flex:1;min-width:20px;background:rgba(255,255,255,.36);overflow:hidden;cursor:pointer}
.heroDots button[aria-current=true]{background:rgba(255,255,255,.56)}
.heroDots button[aria-current=true]:before{content:"";display:block;background:#ff9c50;width:100%;height:100%;transform:scaleX(0);transform-origin:left;animation:heroProgress 7s linear forwards}
@keyframes heroProgress{to{transform:scaleX(1)}}
.heroArrows{margin-left:auto;display:flex;gap:8px}
.heroArrows button{height:44px;min-width:44px;border-radius:50%;background:rgba(3,38,64,.35);border:1px solid rgba(255,255,255,.45);color:#fff;font-size:27px;line-height:1;display:grid;place-items:center;backdrop-filter:blur(7px);transition:background .2s,transform .2s;cursor:pointer}
.heroArrows button:hover{background:#ff913a;color:#07243d;transform:translateY(-2px)}
@media(max-width:800px){.heroCarousel{min-height:620px}.heroCarousel .heroShade{display:block;background:linear-gradient(0deg,rgba(3,22,38,.96) 5%,rgba(3,22,38,.78) 44%,rgba(3,22,38,.2) 78%,rgba(3,22,38,.12)),linear-gradient(90deg,rgba(3,22,38,.15),transparent)}.heroCarousel .heroInner{min-height:620px;padding-top:160px;padding-bottom:124px;align-items:flex-end}.heroCarousel .heroContent{max-width:100%;margin:0}.heroCarousel .heroContent h1{font-size:clamp(37px,9vw,64px);letter-spacing:-2px}.heroCarousel.heroSeries .heroContent h1{font-size:clamp(36px,8.8vw,61px);letter-spacing:-2px}.heroCarousel .heroContent p{font-size:15px;max-width:560px}.heroCarousel .heroSlides .heroSlide>img,.heroCarousel .heroSlides .heroSlide picture img,.heroCarousel .heroSlides .heroSlide video,.heroCarousel .heroKen img{width:100%;height:100%;object-fit:cover;object-position:65% 38%;aspect-ratio:auto}.heroCarouselControls{bottom:26px;left:16px;right:16px;gap:13px}.heroDots{max-width:none}.heroArrows button{width:38px;height:38px;min-width:38px;font-size:22px}}
@media(max-width:520px){.heroCarousel{min-height:600px}.heroCarousel .heroInner{min-height:600px;padding-top:210px;padding-bottom:114px}.heroCarousel .heroContent h1{font-size:clamp(34px,9.5vw,45px);line-height:1.03;margin:14px 0}.heroCarousel.heroSeries .heroContent h1{font-size:clamp(32px,8.7vw,42px)}.heroCarousel .heroContent p{font-size:13px;line-height:1.45;margin-bottom:18px}.heroCarousel .heroBtm{margin-top:15px;letter-spacing:1px;font-size:9px}.heroCarousel .heroActions{gap:8px}.heroCarousel .heroActions a{font-size:11px;padding:12px 13px}.heroCarouselControls{left:13px;right:13px;bottom:19px;gap:11px}.heroCount{font-size:14px;letter-spacing:1px}.heroDots{gap:5px}.heroDots button{min-width:10px}.heroArrows{gap:6px}.heroArrows button{height:34px;width:34px;min-width:34px;font-size:20px}}
.heroMotion[hidden]{display:none!important}
.heroSlide.zooming .heroKen{animation:heroZoom 18s linear both}
@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.12)}}
.heroCarousel.textIn .heroContent>*{animation:heroTextIn .9s cubic-bezier(.22,.61,.36,1) both}
.heroCarousel.textIn .heroContent>:nth-child(2){animation-delay:.08s}
.heroCarousel.textIn .heroContent>:nth-child(3){animation-delay:.16s}
.heroCarousel.textIn .heroContent>:nth-child(4){animation-delay:.24s}
.heroCarousel.textIn .heroContent>:nth-child(5){animation-delay:.3s}
@keyframes heroTextIn{from{opacity:0;transform:translate3d(0,26px,0)}}
@media(hover:hover){.heroCarousel{cursor:grab}}
.heroCarousel.heroDragging{cursor:grabbing;user-select:none}
.heroCarousel.heroDragging a{pointer-events:none}
@media(max-width:800px){
 .heroCarousel .heroContent{background:rgba(3,29,51,.58);border:1px solid rgba(255,255,255,.17);border-radius:18px;backdrop-filter:blur(5px);padding:23px 18px 25px;margin:0;box-shadow:0 12px 45px rgba(2,18,36,.22)}
 .heroCarousel .heroSlides .heroSlide>img,.heroCarousel .heroSlides .heroSlide picture img,.heroCarousel .heroSlides .heroSlide video,.heroCarousel .heroKen img{object-position:79% 40%}
}
@media(max-width:800px){
 .heroCarousel .heroContent h1{font-size:clamp(26px,6.6vw,36px);letter-spacing:-.8px}
 .heroCarousel.heroSeries .heroContent h1{font-size:clamp(24px,6.2vw,34px);letter-spacing:-.8px}
 .heroCarousel .heroContent p{font-size:15px;line-height:1.65}
 .heroCarousel .heroBtm{font-size:12px}
 .heroCarousel .heroActions a{font-size:13px}
}
@media(max-width:520px){
 .heroCarousel .heroContent{margin:0;padding:21px 17px 22px}
 .heroCarousel .heroInner{padding-top:208px}
 .heroCarousel .heroContent h1{font-size:clamp(24px,7.2vw,32px)}
 .heroCarousel.heroSeries .heroContent h1{font-size:clamp(22px,6.8vw,30px)}
 .heroCarousel .heroContent p{font-size:15px}
 .heroCarousel .heroActions a{font-size:13px;padding:12px 16px}
 .heroCarousel .heroBtm{font-size:12px}
}
