/* SK Katsastus v6 premium motion system — staging only. Text stays readable throughout. */
:root{--skv6-motion-fast:180ms;--skv6-motion-base:420ms;--skv6-motion-slow:620ms;--skv6-motion-ease:cubic-bezier(.22,1,.36,1);--skv6-motion-soft:cubic-bezier(.2,.8,.2,1)}

/* Hero orchestration: motion never starts from invisible. */
.skv6-motion-on .skv6-hero-copy>.skv6-kicker,.skv6-motion-on .skv6-hero-copy>h1,.skv6-motion-on .skv6-hero-copy>.skv6-lead,.skv6-motion-on .skv6-reg-card,.skv6-motion-on .skv6-hero-actions,.skv6-motion-on .skv6-trust-row,.skv6-motion-on .skv6-package-card{will-change:transform,opacity}

/* Scroll reveal state is subtle by design: content remains readable even before reveal completes. */
.skv6-motion-target{transform:translate3d(0,14px,0);opacity:.88;transition:transform var(--skv6-motion-slow) var(--skv6-motion-ease),opacity var(--skv6-motion-base) ease}
.skv6-motion-target.is-revealed{transform:none;opacity:1}
.skv6-motion-target[data-motion-delay="1"]{transition-delay:55ms}.skv6-motion-target[data-motion-delay="2"]{transition-delay:110ms}.skv6-motion-target[data-motion-delay="3"]{transition-delay:165ms}.skv6-motion-target[data-motion-delay="4"]{transition-delay:220ms}

/* Premium card interaction. */
@media (hover:hover) and (pointer:fine){
  .skv6-availability-card,.skv6-service-card,.skv6-station-card,.skv6-guide-grid>a,.skv6-principles>div,.skv6-content-card,.skv6-live-card,.skv6-price-card,.skv6-choice-card{transition:transform var(--skv6-motion-base) var(--skv6-motion-ease),box-shadow var(--skv6-motion-base) var(--skv6-motion-ease),border-color var(--skv6-motion-fast) ease}
  .skv6-availability-card:hover,.skv6-service-card:hover,.skv6-station-card:hover,.skv6-guide-grid>a:hover,.skv6-principles>div:hover,.skv6-content-card:hover,.skv6-live-card:hover,.skv6-price-card:hover,.skv6-choice-card:hover{transform:translate3d(0,-4px,0);box-shadow:0 22px 52px rgba(0,35,70,.13);border-color:rgba(0,51,102,.22)}
  .skv6-inline-cta span,.skv6-card-actions>a:first-child,.skv6-mega-all{transition:transform var(--skv6-motion-fast) var(--skv6-motion-ease)}
  .skv6-inline-cta:hover span,.skv6-card-actions>a:first-child:hover,.skv6-mega-all:hover{transform:translateX(3px)}
}

/* Tiny depth for hero package / dashboard — maximum tilt stays intentionally restrained. */
.skv6-package-card,.skv6-action-center{transform-style:preserve-3d;transition:transform var(--skv6-motion-base) var(--skv6-motion-ease),box-shadow var(--skv6-motion-base) var(--skv6-motion-ease)}
.skv6-package-card.is-depth-active,.skv6-action-center.is-depth-active{transform:perspective(1100px) rotateX(var(--skv6-tilt-x,0deg)) rotateY(var(--skv6-tilt-y,0deg)) translate3d(0,-2px,0)}

/* Mega menu and mobile navigation. */
.skv6-nav-group[open]>.skv6-mega{animation:skv6MegaIn var(--skv6-motion-fast) var(--skv6-motion-ease) both;transform-origin:top center}
.skv6-mobile-panel:not([hidden]){animation:skv6MobilePanelIn 260ms var(--skv6-motion-ease) both;transform-origin:top center}
.skv6-mobile-panel details[open]>div{animation:skv6AccordionIn 220ms var(--skv6-motion-ease) both}

/* Sticky header becomes denser once the customer starts scrolling. */
.skv6-global-header .skv6-nav-row,.skv6-global-header .skv6-brand img{transition:min-height var(--skv6-motion-base) var(--skv6-motion-ease),height var(--skv6-motion-base) var(--skv6-motion-ease),width var(--skv6-motion-base) var(--skv6-motion-ease)}
.skv6-global-header{transition:box-shadow var(--skv6-motion-base) ease,border-color var(--skv6-motion-base) ease}
.skv6-global-header.is-scrolled{box-shadow:0 12px 34px rgba(0,34,68,.1);border-bottom-color:rgba(0,51,102,.13)}
.skv6-global-header.is-scrolled .skv6-nav-row{min-height:64px}.skv6-global-header.is-scrolled .skv6-brand img{width:42px;height:42px}

/* Announcement entrance / close. */
.skv6-announcement:not([hidden]){animation:skv6AnnouncementIn 360ms var(--skv6-motion-ease) both;overflow:hidden}
.skv6-announcement.is-closing{animation:skv6AnnouncementOut 220ms cubic-bezier(.4,0,1,1) both;pointer-events:none}

/* Booking transition. */
.skv6-booking-stage.is-active{animation:skv6StageIn 360ms var(--skv6-motion-ease) both}
.skv6-booking-progress button.is-active span{animation:skv6PulseSoft 420ms var(--skv6-motion-ease)}

/* Oma SK and B2B data surfaces gain quiet staggered motion. */
.skv6-action-item,.skv6-b2b-kpis>div,.skv6-action-grid>*{transition:transform var(--skv6-motion-base) var(--skv6-motion-ease),background var(--skv6-motion-fast) ease,border-color var(--skv6-motion-fast) ease}
@media (hover:hover) and (pointer:fine){.skv6-action-item:hover,.skv6-b2b-kpis>div:hover,.skv6-action-grid>*:hover{transform:translateX(3px)}}

/* Focus remains stable; motion must never move keyboard focus away. */
.skv6-motion-on :focus-visible{scroll-margin-top:140px}

@keyframes skv6MegaIn{from{opacity:.9;transform:translate3d(0,-7px,0) scale(.995)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes skv6MobilePanelIn{from{opacity:.9;transform:translate3d(0,-10px,0)}to{opacity:1;transform:none}}
@keyframes skv6AccordionIn{from{opacity:.9;transform:translate3d(0,-5px,0)}to{opacity:1;transform:none}}
@keyframes skv6AnnouncementIn{from{opacity:.9;transform:translate3d(0,-8px,0)}to{opacity:1;transform:none}}
@keyframes skv6AnnouncementOut{from{opacity:1;max-height:80px}to{opacity:.85;max-height:0}}
@keyframes skv6StageIn{from{opacity:.9;transform:translate3d(0,12px,0)}to{opacity:1;transform:none}}
@keyframes skv6PulseSoft{0%{transform:scale(.94)}65%{transform:scale(1.035)}100%{transform:scale(1)}}

@media(max-width:760px){
  .skv6-motion-target{transform:translate3d(0,10px,0);transition-duration:460ms}
  .skv6-global-header.is-scrolled .skv6-nav-row{min-height:58px}
  .skv6-global-header.is-scrolled .skv6-brand img{width:38px;height:38px}
}

@media(prefers-reduced-motion:reduce){
  .skv6-motion-target,.skv6-motion-target.is-revealed,.skv6-package-card,.skv6-action-center,.skv6-global-header,.skv6-global-header .skv6-nav-row,.skv6-global-header .skv6-brand img,.skv6-action-item,.skv6-b2b-kpis>div,.skv6-action-grid>*{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}
  .skv6-nav-group[open]>.skv6-mega,.skv6-mobile-panel:not([hidden]),.skv6-mobile-panel details[open]>div,.skv6-announcement:not([hidden]),.skv6-announcement.is-closing,.skv6-booking-stage.is-active,.skv6-booking-progress button.is-active span{animation:none!important}
}
