/* A short page-entry signature, never a gate: invisible without the head bootstrap,
   click-through, and hidden by CSS even if the JavaScript stops responding. */
.sw-intro {display:none;}
html[data-sw-intro] .sw-intro {
  position:fixed;inset:0;z-index:11000;display:grid;place-items:center;
  pointer-events:none;overflow:hidden;isolation:isolate;
  color:var(--sw-ink,#292c2e);background:#f6f7f9;
  animation:sw-intro-deadline 1ms step-end 2400ms forwards;
}
html[data-theme=pink] .sw-intro {background:#fbf6f9;}
html[data-theme=night] .sw-intro {background:#101923;}
.sw-intro::before {
  content:"";position:absolute;z-index:-1;width:min(85vw,680px);aspect-ratio:1;
  border-radius:50%;background:radial-gradient(ellipse,rgba(var(--sw-accent-rgb,66,120,211),.16),transparent 65%);
  transform:translateY(9%);animation:sw-intro-breathe 1700ms ease-in-out infinite alternate;
}
.sw-intro-signature {width:min(66vw,330px);text-align:center;}
.sw-intro-mark {
  display:block;width:100%;aspect-ratio:4977/872;
  background:linear-gradient(112deg,var(--sw-accent-deep,#426fd0) 18%,var(--sw-accent-mid,#8ac5ed) 43%,var(--sw-accent-light,#ccecff) 50%,var(--sw-accent-deep,#426fd0) 78%);
  background-size:230% 100%;
  -webkit-mask:url("../swiss/swissone-logo.svg") center/contain no-repeat;
  mask:url("../swiss/swissone-logo.svg") center/contain no-repeat;
  animation:sw-intro-glacier 2200ms cubic-bezier(.4,0,.2,1) infinite;
}
.sw-intro-line {
  display:block;width:42px;height:2px;margin:31px auto 20px;border-radius:2px;
  background:var(--sw-accent-mid,#8ac5ed);transform-origin:left;
  animation:sw-intro-line 1100ms ease-in-out infinite alternate;
}
.sw-intro-caption {display:block;font:500 11px/1.6 "Urbanist",sans-serif;letter-spacing:.15em;text-transform:uppercase;opacity:.68;}
html[data-sw-intro=leaving] .sw-intro {
  opacity:0;visibility:hidden;transition:opacity 220ms ease,visibility 0s linear 220ms;
}
html[data-sw-intro=leaving] .sw-intro-signature {transform:translateY(-8px);transition:transform 220ms ease;}
@keyframes sw-intro-glacier {from {background-position:100% 50%;}to {background-position:0% 50%;}}
@keyframes sw-intro-line {from {transform:scaleX(.55);opacity:.35;}to {transform:scaleX(1);opacity:.85;}}
@keyframes sw-intro-breathe {from {transform:translateY(9%) scale(.9);}to {transform:translateY(9%) scale(1.08);}}
@keyframes sw-intro-deadline {to {opacity:0;visibility:hidden;}}
@media (prefers-reduced-motion:reduce) {
  html[data-sw-intro] .sw-intro {display:none;animation:none;}
  .sw-intro::before,.sw-intro-mark,.sw-intro-line {animation:none;}
}
