/* Compass loader — draw frame, then spin rose */

/* Hide instantly on in-site navigations (set via sessionStorage before paint). */
html.compass-skip-intro .intro-wrap {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Preloader must sit above the site header (mod-top-bar uses z-index: 99999). */
.intro-wrap {
  z-index: 100000 !important;
}

/* Hide nav while the first-visit preloader is showing */
html:not(.compass-skip-intro):has(.intro-wrap) .header-wrap,
html:not(.compass-skip-intro):has(.intro-wrap) .header-bg,
html.compass-intro-active .header-wrap,
html.compass-intro-active .header-bg {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.intro-loading-ic-wrap.mod-compass {
  border: 0;
  width: 36rem;
  height: 36rem;
  background: transparent;
}

.ic-embed.intro-loading-ic.mod-compass {
  inset: 0;
  width: 100%;
  height: 100%;
  color: #f4efe6;
  transform: none;
}

.compass-loader-svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  display: block;
}

.compass-loader-svg .compass-stroke {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.compass-loader-svg .compass-ray {
  stroke-width: 0.7;
  opacity: 0.5;
}

.compass-loader-svg .compass-ring {
  stroke-width: 1.25;
  opacity: 0.95;
}

.compass-loader-svg .compass-ring-outer {
  stroke-width: 0.85;
  opacity: 0.5;
}

.compass-loader-svg .compass-tick {
  stroke-width: 0.75;
  opacity: 0.75;
}

.compass-loader-svg .compass-rose-outline {
  stroke-width: 1.15;
  fill: none;
  opacity: 0.95;
}

.compass-loader-svg .compass-hub-ring {
  stroke-width: 1.4;
  fill: none;
}

/* Solid half of each rose point — must stay opaque / high contrast */
.compass-loader-svg .compass-rose-fill {
  fill: currentColor;
  stroke: none;
  opacity: 1;
}

/* Outline half — cream edge only (no black fill in the rose) */
.compass-loader-svg .compass-rose-hollow {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.35;
  opacity: 1;
}

.compass-loader-svg .compass-hub-dot {
  fill: currentColor;
  stroke: none;
}

.compass-loader-svg .compass-n-label,
.compass-loader-svg .compass-cardinal {
  fill: currentColor;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  opacity: 0.85;
  pointer-events: none;
}

.compass-loader-svg .compass-n-label {
  font-size: 16px;
}

.compass-loader-svg #compass-needle-pivot {
  /* Fixed center of the compass — never animated */
}

.compass-loader-svg #compass-needle {
  /* Rotation is applied only as SVG transform="rotate(deg)" — no CSS translate */
  transform-box: view-box;
  transform-origin: 0px 0px;
}

.intro-txt-wrap.mod-compass-loader {
  width: auto;
  height: auto;
  min-width: 36rem;
  min-height: 36rem;
  overflow: visible;
}

.intro-txt-wrap.mod-compass-loader .intro-loading-ic-wrap {
  position: relative;
  opacity: 0;
  visibility: hidden;
}

.intro-txt-wrap.mod-compass-loader .intro-bot-wrap {
  z-index: 3;
  margin-top: 3.2rem;
  display: flex;
  opacity: 0;
  visibility: hidden;
}

.intro-txt-wrap.mod-compass-loader .intro-txt {
  display: none !important;
}

.intro-wrap .intro-brand-wrap {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .intro-loading-ic-wrap.mod-compass {
    width: 28rem;
    height: 28rem;
  }

  .intro-txt-wrap.mod-compass-loader .intro-bot-wrap {
    margin-top: 2.4rem;
  }
}
