/* SilverMoose night sky (27 Oct 2026): a northern-lights video behind the whole homepage, with stars, the odd
   shooting star and green and white motes. Built by sky.js. Everything that moves uses transform or opacity only.
   --p (0 at the top, 1 at the bottom) is set on scroll. The site is dark only: the light/dark button is hidden. */
.sm-sky{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict;--p:0;background:linear-gradient(180deg,#04080e 0%,#07120f 45%,#0a1813 75%,#060a08 100%)}
.sm-ambient{position:absolute;inset:0;background:radial-gradient(90% 38% at 50% 104%,#1c3d2a99,transparent 70%),radial-gradient(60% 40% at 82% 8%,#123a3266,transparent 70%)}
.sm-video{position:absolute;left:0;top:0;width:100%;height:112%;object-fit:cover;transform:translate3d(0,calc(var(--p) * -10vh),0);pointer-events:none}
.sm-stars{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sm-twinkle{animation:sm-twinkle 7s ease-in-out infinite alternate}
@keyframes sm-twinkle{from{opacity:.6}to{opacity:1}}
/* a violet glow that grows towards the bottom of the page */
.sm-violet{position:absolute;left:-10%;right:-10%;bottom:-10vh;height:60vh;background:radial-gradient(50% 50% at 30% 60%,#7a5cff3a,transparent 70%),radial-gradient(45% 45% at 80% 70%,#4fe3c12e,transparent 70%);opacity:calc(.25 + var(--p) * .75)}
/* motes */
.sm-mote{position:absolute;bottom:-4vh;border-radius:50%;opacity:0;will-change:transform,opacity;animation:sm-rise linear infinite}
.sm-mote i{display:block;width:100%;height:100%;border-radius:50%;animation:sm-sway ease-in-out infinite alternate}
.sm-mote.g i{background:radial-gradient(circle,#e1ffb4 0,#c5f477aa 30%,#c5f47700 70%)}
.sm-mote.w i{background:radial-gradient(circle,#fff 0,#dcf0ffa0 30%,#dcf0ff00 70%)}
@keyframes sm-rise{0%{transform:translate3d(0,0,0);opacity:0}12%{opacity:var(--o,.8)}85%{opacity:var(--o,.8)}100%{transform:translate3d(0,-112vh,0);opacity:0}}
@keyframes sm-sway{from{transform:translateX(calc(var(--s,24px) * -1))}to{transform:translateX(var(--s,24px))}}
/* shooting star: visible for the last 6 % of a 14 s cycle */
.sm-shoot{position:absolute;width:190px;height:2px;border-radius:2px;opacity:0;background:linear-gradient(90deg,#fff,#eaffd6aa 25%,#fff0);transform-origin:0 50%;animation:sm-shoot 14s linear infinite 3s}
@keyframes sm-shoot{0%,93%{opacity:0;transform:rotate(-24deg) translateX(0) scaleX(.3)}95%{opacity:1}100%{opacity:0;transform:rotate(-24deg) translateX(-38vw) scaleX(1)}}
.sm-vignette{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 45%,transparent 55%,#02040699 100%)}

/* the page on top of the sky */
.signature .moose-runway{background:linear-gradient(180deg,transparent,#0a100c40)}
.signature .booking-section{background:linear-gradient(180deg,#1b2019b0,#141a14c0);box-shadow:inset 0 1px 0 #c5f47714}
.signature .website-price,.signature .booking-price select{background:#1b2019cc}
.hero-signature h1{text-shadow:0 6px 48px #04080ecc}
/* light sweep over the "0 % bokningsprovision" pill, like the banner film */
.promise-key{position:relative;overflow:hidden}
.promise-key::after{content:"";position:absolute;inset:-2px;pointer-events:none;background:linear-gradient(105deg,transparent 32%,#ebffd259 50%,transparent 68%);transform:translateX(-140%);animation:sm-sweep 6.5s cubic-bezier(.6,0,.2,1) infinite 1s}
@keyframes sm-sweep{0%,60%{transform:translateX(-140%)}100%{transform:translateX(140%)}}
/* dark only: no light/dark button */
.appearance{display:none!important}
@media (prefers-reduced-motion:reduce){.sm-twinkle,.sm-mote,.sm-mote i,.promise-key::after{animation-play-state:paused}.sm-mote{opacity:.5}}
