/* A bounded logo opening. The underlying page remains available on every exit. */
html { scrollbar-gutter: stable; }
html:has(#welcome-intro[open]) { background: var(--paper, #f4f2ed); }
html[data-welcome-state='composition']:has(#welcome-intro[open]),
html[data-welcome-state='composition']:has(#welcome-intro[open]) body { background: var(--paper, #f4f2ed); }
#welcome-intro {
  --welcome-ready: 1;
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100%;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  background: transparent;
  color: var(--ink, #1c1d1b);
  font-family: var(--body, 'DM Sans', Arial, sans-serif);
}
#welcome-intro::backdrop { background: transparent; }
.welcome-backdrop { position: absolute; inset: 0; background: var(--paper, #f4f2ed); }
.welcome-meta { position: absolute; z-index: 3; inset: 28px 36px auto; display: flex; justify-content: flex-end; }
.welcome-skip { min-height: 44px; padding: 8px 14px; border: 1px solid var(--line, #d4d1c9); border-radius: 4px; background: var(--paper, #f4f2ed); color: var(--ink, #1c1d1b); font-size: 13px; display: inline-flex; align-items: center; gap: 24px; cursor: pointer; }
.welcome-skip:focus-visible { outline: 2px solid var(--ink, #1c1d1b); outline-offset: 4px; }
.welcome-composition { position: absolute; inset: 0; pointer-events: none; }
.welcome-logo { position: absolute; left: 50%; top: 42%; width: min(340px, 62vw, 46vh); aspect-ratio: 1.2; transform: translate(-50%, -50%); transform-origin: 0 0; }
.welcome-logo-plane { position: absolute; inset: 0; transform-origin: center; }
.welcome-slice, .welcome-assembled { position: absolute; inset: 0; }
#welcome-intro .brand-logo { display: block; width: 100%; height: 100%; max-width: none; color: inherit; overflow: visible; }
.welcome-slice-top { clip-path: inset(0 0 66.5% 0); }
.welcome-slice-middle { clip-path: inset(33.25% 0 32.8% 0); }
.welcome-slice-bottom { clip-path: inset(66.95% 0 0 0); }
.welcome-assembled { opacity: 0; }
.welcome-caption { position: absolute; left: 50%; width: max-content; max-width: calc(100% - 40px); text-align: center; transform: translateX(-50%); }
.welcome-caption p { margin: 0; color: var(--muted, #60615b); font-size: 12px; line-height: 1.7; }
.welcome-caption .welcome-name { margin: 0 0 8px; color: var(--ink, #1c1d1b); font-size: 18px; font-weight: 500; letter-spacing: -.025em; }
#welcome-intro[data-reduced="true"] .welcome-slice { display: none; }
#welcome-intro[data-reduced="true"] .welcome-assembled { opacity: 1; }
@media (max-width: 600px) {
  .welcome-meta { inset: 18px 20px auto; }
  .welcome-logo { width: min(260px, 62vw, 43vh); }
  .welcome-caption .welcome-name { font-size: 17px; }
}
@media (max-height: 500px) {
  .welcome-meta { inset: 12px 20px auto; }
  .welcome-logo { top: 38%; width: min(250px, 45vw, 40vh); }
  .welcome-caption p { font-size: 11px; }
  .welcome-caption .welcome-name { margin-bottom: 3px; font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  #welcome-intro .welcome-slice { display: none; }
  #welcome-intro .welcome-assembled { opacity: 1; }
  #welcome-intro .welcome-logo-plane { transform: none !important; }
}
