/* A single burgundy brand wipe. On arrival, the color leaves without replaying the logo. */
.primoc-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
  background: linear-gradient(140deg, #58182f 0%, #471123 55%, #320b1b 100%);
  transform: translate3d(0, 0, 0);
  transition: transform .46s cubic-bezier(.76, 0, .24, 1), visibility 0s .46s;
  will-change: transform;
}
.primoc-loader-active .primoc-loader {
  visibility: visible;
  pointer-events: auto;
  animation: primoc-loader-failsafe 0s 3s forwards;
}
.primoc-loader__panel,
.primoc-loader__rule,
.primoc-loader__frame,
.primoc-loader__content,
.primoc-loader__skip { display: none !important; }
.primoc-loader__identity {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.primoc-loader__identity::after {
  content: '';
  position: absolute;
  z-index: 1;
  inset: auto 0 0;
  height: 36%;
  pointer-events: none;
  background: linear-gradient(0deg, #3b0d1e 0%, rgba(59, 13, 30, .98) 64%, transparent 100%);
}
.primoc-loader__mark {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: max(118vw, 118vh);
  max-width: none;
  height: auto;
  fill: none;
  stroke: #f7eee9;
  stroke-width: 1.5;
  stroke-linecap: square;
  stroke-linejoin: miter;
  opacity: 0;
  transform: translate3d(-62%, -50%, 0) scale(1.06);
  will-change: transform, opacity;
}
.primoc-loader__wordmark {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: clamp(38px, 7vh, 76px);
  display: block;
  width: min(70vw, 510px);
  height: auto;
  fill: none;
  stroke: #f7eee9;
  stroke-width: 5.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .84;
  transform: translate3d(-50%, 0, 0);
}
.primoc-loader__wordmark .wordmark-pr,
.primoc-loader__mark .trace-vertical { stroke: #f29b69; }
.primoc-loader__mark path,
.primoc-loader__wordmark path {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}
.primoc-loader-active .primoc-loader__mark,
.primoc-route-curtain.is-entering .primoc-loader__mark {
  animation: primoc-ray-pass .72s cubic-bezier(.22, .8, .24, 1) both;
}
.primoc-loader-active .primoc-loader__mark path,
.primoc-route-curtain.is-entering .primoc-loader__mark path {
  animation: primoc-trace .42s cubic-bezier(.25, .72, .25, 1) forwards;
  animation-delay: calc(var(--trace-index, 0) * 7ms);
}
.primoc-loader-active .primoc-loader__wordmark path,
.primoc-route-curtain.is-entering .primoc-loader__wordmark path {
  animation: primoc-trace .52s cubic-bezier(.33, .7, .24, 1) forwards;
  animation-delay: calc(70ms + var(--letter-index) * 19ms);
}
.primoc-loader.is-exiting {
  visibility: visible;
  pointer-events: none;
  transform: translate3d(0, -101%, 0);
  animation: none;
}
@keyframes primoc-trace { to { stroke-dashoffset: 0; } }
@keyframes primoc-ray-pass {
  0% { opacity: 0; transform: translate3d(-62%, -50%, 0) scale(1.06); }
  22% { opacity: .85; }
  100% { opacity: .82; transform: translate3d(-38%, -50%, 0) scale(1.06); }
}
@keyframes primoc-loader-failsafe { to { visibility: hidden; pointer-events: none; } }
@media (max-width: 600px) {
  .primoc-loader__mark { width: max(210vw, 115vh); }
  .primoc-loader__wordmark { width: min(78vw, 380px); bottom: 12vh; }
}
@media (prefers-reduced-motion: reduce) {
  .primoc-loader-active .primoc-loader { display: none !important; }
}
