/* The STL is the entrance's main gesture. Its original silhouette stays intact. */
.entrance-stage::before { content: none; }
.entrance-stage { gap: 22px; min-width: 0; }
.logo-experience { width: min(920px, 100%); display: flex; flex-direction: column; align-items: center; gap: 0; }
.logo3d { width: 100%; aspect-ratio: 2 / 1; touch-action: pan-y; isolation: isolate; cursor: default; }
.logo3d.is-ready { cursor: default; }
.logo3d.is-ready[data-hovered-element] { cursor: pointer; }
.logo3d:focus-visible { outline: 1px solid rgba(156, 191, 234, .65); outline-offset: -10px; border-radius: 22px; }
.logo3d::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(ellipse at 53% 46%, rgba(42, 68, 103, .18), transparent 64%); opacity: calc(.65 + var(--logo-hover, 0) * .35); pointer-events: none; }
.logo3d::after { content: ""; position: absolute; left: 22%; right: 22%; bottom: 12%; height: 6%; border-radius: 50%; background: #000; filter: blur(18px); opacity: .45; z-index: -1; pointer-events: none; }
.logo3d canvas { position: absolute; inset: 0; z-index: 2; }
.logo-status { font: 400 13px/1.5 var(--font); color: #8c9aaf; }
.logo3d.is-ready .logo-status { display: none; }
.logo-controls { display: flex; align-items: center; justify-content: center; gap: 20px; min-height: 44px; }
.logo-controls[hidden] { display: none; }
.logo-hint { color: #8c9aaf; font: 400 12px/1.5 var(--font); }
.logo-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.logo-explore { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 8px 16px; color: #aab8cb; font: 500 13px/1.4 var(--font); border: 1px solid rgba(165, 189, 222, .2); border-radius: 100px; transition: color .2s, border-color .2s, background .2s; }
.logo-explore[hidden] { display: none; }
.logo-explore:hover:not(:disabled) { color: #f3f6fb; border-color: rgba(165, 189, 222, .42); background: rgba(137, 171, 221, .055); }
.logo-explore:disabled { opacity: .35; cursor: default; }
.logo-explore:focus-visible { outline: 2px solid #9cbfea; outline-offset: 5px; }
.entrance.is-welcome .entrance-body { padding-top: 4px; padding-bottom: 34px; }
@media (min-width: 1001px) {
  .entrance.is-welcome .logo-experience { width: min(920px, 100%, max(480px, calc(200svh - 920px))); }
}
@media (max-width: 1000px) {
  .logo-experience { max-width: 720px; }
  .logo3d { aspect-ratio: 1.8; }
}
@media (min-width: 601px) and (max-width: 1000px) {
  .entrance.is-welcome .logo-experience { width: min(720px, 100%, max(440px, calc(180svh - 828px))); }
}
@media (max-width: 600px) {
  .entrance-hdr { height: auto; min-height: 88px; align-items: flex-start; padding: 18px 18px 8px; gap: 12px; }
  .entrance-hdr > div:first-child { flex-direction: column; align-items: flex-start; gap: 8px; }
  .entrance-hdr > .row { justify-content: flex-end; gap: 8px; }
  .entrance-hdr .pill-mono { font-size: 9px; letter-spacing: .12em; }
  .entrance-stage { gap: 24px; }
  .logo3d { aspect-ratio: 1.35; }
  .logo-explore { font-size: 12px; }
  .entrance.is-welcome .entrance-body { padding: 12px 18px 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .logo-explore, .logo-explore svg { transition: none; }
}
