/* First-arrival splash, intentionally self-contained from application layout rules. */
@font-face {
  font-family: "Instrument Sans";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/instrument-sans-latin.woff2") format("woff2");
}

html[data-ulc-startup="skip"] #initial-splash,
.ulc-startup[hidden],
.ulc-startup [hidden] { display: none; }

.ulc-startup {
  --ulc-startup-progress: 0%;
  position: fixed;
  z-index: 2147483647;
  inset: 0;
  isolation: isolate;
  overflow: hidden;
  background: #fff;
  color: #173d2b;
  font-family: "Instrument Sans", sans-serif;
  opacity: 1;
  transition: opacity 220ms ease, visibility 220ms ease;
}
.ulc-startup--leaving { visibility: hidden; pointer-events: none; opacity: 0; }
.ulc-startup *, .ulc-startup *::before, .ulc-startup *::after { box-sizing: border-box; }

.ulc-startup__frame {
  display: grid !important;
  grid-template-rows: auto auto;
  align-content: center;
  justify-items: center;
  gap: clamp(10px, 1.5vh, 18px);
  width: 100%;
  max-width: none !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  padding: max(24px, env(safe-area-inset-top), var(--ulc-safe-area-top, 0px))
    max(18px, env(safe-area-inset-right), var(--ulc-safe-area-right, 0px))
    max(24px, env(safe-area-inset-bottom), var(--ulc-safe-area-bottom, 0px))
    max(18px, env(safe-area-inset-left), var(--ulc-safe-area-left, 0px));
  text-align: center;
}
.ulc-startup__stage { display: grid; place-items: center; min-width: 0; }
.ulc-startup__progress {
  position: relative;
  display: grid;
  place-items: center;
  width: max-content;
  max-width: 100%;
  /* Robold is the supplied display reference; the local stack keeps the same
     heavy poster-like treatment when that font is not installed on the device. */
  font-family: "Robold", "Arial Black", Impact, Haettenschweiler, sans-serif;
  font-size: clamp(6.1rem, 24vw, 15rem);
  font-weight: 900;
  letter-spacing: -.07em;
  line-height: .78;
  white-space: nowrap;
}
.ulc-startup__wordmark {
  grid-area: 1 / 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #c8c9c4;
}
.ulc-startup__wordmark-fill {
  grid-area: 1 / 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  overflow: hidden;
  clip-path: inset(0 calc(100% - var(--ulc-startup-progress)) 0 0);
  color: #f5bf20;
  pointer-events: none;
  will-change: clip-path;
}
.ulc-startup__wordmark-line {
  display: block;
}
.ulc-startup__footer { width: auto; margin: 0; }
.ulc-startup__status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.ulc-startup__meter { display: flex; justify-content: center; align-items: baseline; }
.ulc-startup__percentage,
.ulc-startup__percent-sign {
  color: #173d2b;
  font-size: clamp(12px, 1.25vw, 16px);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.03em;
  line-height: 1;
}
.ulc-startup__percent-sign { margin-left: 1px; }
.ulc-startup__recovery { margin-top: 22px; }
.ulc-startup__recovery p { margin: 0 !important; padding: 0 !important; color: #365140; font-size: 13px; line-height: 1.45; }
.ulc-startup__retry {
  min-height: 40px;
  margin-top: 9px;
  padding: 7px 15px;
  border: 1px solid #315541;
  border-radius: 99px;
  background: transparent;
  color: #173d2b;
  font: 700 12px/1 "Instrument Sans", sans-serif;
  cursor: pointer;
}
.ulc-startup__retry:focus-visible { outline: 2px solid #e6ad12 !important; outline-offset: 3px; }

@media (max-width: 360px) {
  .ulc-startup__progress { font-size: clamp(5.35rem, 25vw, 6.4rem); letter-spacing: -.075em; }
}
@media (max-height: 500px) and (orientation: landscape) {
  .ulc-startup__progress { font-size: min(19vw, 10rem); }
  .ulc-startup__recovery { margin-top: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .ulc-startup { transition: none !important; }
}