/* The document is available by default; every visit starts the intro when JavaScript runs. */
html.intro-pending { overflow: hidden; }
html.intro-pending::before { position: fixed; z-index: 9900; inset: 0; background: #f4f7fa; content: ""; pointer-events: none; }
html.intro-ready::before { display: none; }
.brand-intro { position: fixed; z-index: 10000; inset: 0; overflow: hidden; isolation: isolate; }
.brand-intro[hidden] { display: none; }
.intro-pending .brand-intro[hidden] { display: block; }
.brand-intro-backdrop { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 42%, #fff 0%, #f4f7fa 70%); }
.brand-intro-logo { position: absolute; left: 50%; top: 47%; width: min(440px, 87vw, 70vh); width: min(440px, 87vw, 70svh); transform: translate(-50%, -50%); }
.brand-intro-logo > svg { display: block; width: 100%; height: auto; overflow: visible; transform-origin: 50.6944% 35%; will-change: transform, opacity; }
.brand-intro-skip { position: absolute; top: max(1rem, env(safe-area-inset-top)); right: max(1rem, env(safe-area-inset-right)); min-height: 44px; padding: .65rem 1rem; color: #486174; background: rgba(255, 255, 255, .92); border: 1px solid #d9e3e9; border-radius: 999px; font: inherit; font-size: .875rem; cursor: pointer; }
.brand-intro-skip:hover { color: #102a43; border-color: #72c9d5; }
.brand-intro-skip:focus-visible { outline: 3px solid #176fc1; outline-offset: 4px; }
@media (max-width: 640px) { .brand-intro-logo { width: min(410px, 100vw, 70svh); } }
@media (prefers-reduced-motion: reduce) {
  .brand-intro-logo > svg { will-change: auto; }
}
@media print {
  html.intro-pending { overflow: visible; }
  html.intro-pending::before, .brand-intro, .intro-pending .brand-intro[hidden] { display: none !important; }
}
