/* First paint lives outside React, so the same reveal plays on every full reload. */
#brand-loader {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  padding: 24px;
  overflow: hidden;
  background: #fff;
  color: #171717;
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  text-align: center;
  transition: opacity 240ms ease, visibility 240ms ease;
}
#brand-loader.cr-intro-exiting { opacity: 0; visibility: hidden; }
#brand-loader .cr-intro-content { width: min(100%, 400px); transform: translateY(-22px); }
#brand-loader .cr-intro-stage { position: relative; width: min(100%, 360px); aspect-ratio: 1; margin: 0 auto; }
#brand-loader .cr-intro-vector, #brand-loader .cr-intro-video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
#brand-loader .cr-intro-video { opacity: 0; object-fit: contain; pointer-events: none; }
#brand-loader.cr-intro-has-video .cr-intro-video { opacity: 1; }
#brand-loader.cr-intro-has-video .cr-intro-vector { visibility: hidden; }
#brand-loader .cr-intro-wordmark { margin: -48px 0 0; font-size: 38px; line-height: 1.25; font-weight: 750; letter-spacing: -1.8px; animation: cr-intro-label 650ms 300ms both; }
#brand-loader .cr-intro-wordmark span { color: #e3335b; }
#brand-loader .cr-intro-tagline { margin: 9px 0 0; color: #686868; font-size: 14px; line-height: 1.5; letter-spacing: .2px; animation: cr-intro-label 650ms 460ms both; }
#brand-loader .cr-intro-track { height: 2px; width: 76px; margin: 28px auto 0; overflow: hidden; border-radius: 2px; background: #f2f2f2; }
#brand-loader .cr-intro-track span { display: block; width: 32px; height: 100%; background: #e3335b; animation: cr-intro-track 1.4s ease-in-out infinite; }
#brand-loader .cr-intro-status { margin: 13px 0 0; color: #858585; font-size: 11px; line-height: 1.5; letter-spacing: .5px; }
#brand-loader .cr-intro-footnote { position: absolute; inset: auto 20px 28px; margin: 0; color: #919191; font-size: 11px; line-height: 1.5; letter-spacing: .25px; }
#brand-loader .cr-intro-retry { margin: 18px 0 0; border: 1px solid #ddd; border-radius: 8px; padding: 10px 16px; background: #fff; color: #171717; font: inherit; font-size: 13px; cursor: pointer; }
#brand-loader .cr-intro-retry[hidden] { display: none; }
#brand-loader .cr-intro-retry:focus-visible { outline: 2px solid #e3335b; outline-offset: 4px; }
#brand-loader .cr-intro-cross { transform-origin: 100px 100px; animation: cr-intro-cross 1.7s cubic-bezier(.2,.8,.2,1) both; }
#brand-loader .cr-intro-clock { stroke-dasharray: 76; stroke-dashoffset: 76; animation: cr-intro-draw 650ms 350ms ease both; }
#brand-loader .cr-intro-hands { transform-origin: 100px 100px; animation: cr-intro-hands 600ms 700ms ease both; }
#brand-loader .cr-intro-tube { stroke-dasharray: 80; stroke-dashoffset: 80; animation: cr-intro-draw 600ms 800ms ease both; }
#brand-loader .cr-intro-chest { transform-origin: 130px 104px; animation: cr-intro-label 450ms 1150ms both; }
#brand-loader .cr-intro-halo { transform-origin: 100px 100px; animation: cr-intro-halo 1s ease-out both; }
@keyframes cr-intro-cross { 0% { transform: scale(.08); opacity: 0; } 35% { transform: scale(1); opacity: 1; } 70% { transform: scale(1); } 82% { transform: scale(1.04); } 100% { transform: scale(1); opacity: 1; } }
@keyframes cr-intro-draw { to { stroke-dashoffset: 0; } }
@keyframes cr-intro-hands { from { opacity: 0; transform: rotate(-85deg); } to { opacity: 1; transform: rotate(0); } }
@keyframes cr-intro-halo { from { transform: scale(.15); opacity: .3; } to { transform: scale(1.2); opacity: 0; } }
@keyframes cr-intro-label { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@keyframes cr-intro-track { 0% { transform: translateX(-36px); } 100% { transform: translateX(82px); } }
@media (max-width: 420px) { #brand-loader .cr-intro-stage { width: 300px; max-width: 100%; } #brand-loader .cr-intro-wordmark { margin-top: -38px; font-size: 34px; } }
@media (max-height: 520px) { #brand-loader .cr-intro-stage { width: 220px; } #brand-loader .cr-intro-content { transform: none; } #brand-loader .cr-intro-wordmark { margin-top: -24px; font-size: 30px; } #brand-loader .cr-intro-track { margin-top: 16px; } #brand-loader .cr-intro-footnote { display: none; } }
@media (prefers-reduced-motion: reduce) {
  #brand-loader, #brand-loader * { animation: none !important; transition: none !important; }
  #brand-loader .cr-intro-clock, #brand-loader .cr-intro-tube { stroke-dashoffset: 0; }
  #brand-loader .cr-intro-halo, #brand-loader .cr-intro-video { display: none; }
  #brand-loader .cr-intro-track span { width: 100%; opacity: .35; }
}
