/* IDAVIUM block — page transitions shared by idavium.com and its demos.
   The thick gold block from the brand sweeps in from any edge, covers the
   screen and leaves through the opposite one. Self-contained on purpose:
   demos load this file without the main stylesheet. */

.idv-sweep { position: fixed; inset: 0; z-index: 300; pointer-events: none; visibility: hidden; overflow: hidden; }
html.is-entering .idv-sweep, html.has-intro .idv-sweep { visibility: visible; }
.idv-sweep__block { position: absolute; inset: 0; background: var(--gold, #e8ae3c); will-change: transform; }
.idv-sweep__shade { position: absolute; inset: 0; background: var(--sweep-shade, var(--night, #111013)); will-change: transform; }
html.has-intro .idv-sweep__block { background: var(--paper, #f4ede0); }
html.has-intro .idv-sweep__shade { background: var(--paper, #f4ede0); }

/* Back-to-IDAVIUM pill shown on demos */
.idv-back {
  position: fixed; left: 16px; bottom: 16px; z-index: 250;
  display: inline-flex; align-items: center; gap: 10px;
  padding: 10px 16px 10px 10px; border-radius: 999px;
  background: rgba(18, 17, 16, .9); color: #f5f0e8;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  font: 600 12px/1 "Hanken Grotesk", system-ui, -apple-system, sans-serif; letter-spacing: .2em; text-transform: uppercase;
  text-decoration: none; box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .6);
  transition: transform .5s cubic-bezier(.22, 1, .36, 1), background-color .4s;
}
.idv-back:hover { transform: translateY(-3px); background: #111013; }
.idv-back__block { width: 9px; height: 26px; background: #e8ae3c; border-radius: 1px; flex: none; transition: transform .5s cubic-bezier(.22, 1, .36, 1); }
.idv-back:hover .idv-back__block { transform: scaleY(1.25); }
.idv-back__note { opacity: .55; letter-spacing: .12em; text-transform: none; font-weight: 500; }
@media (max-width: 560px) { .idv-back__note { display: none; } }

@media (prefers-reduced-motion: reduce) {
  html.is-entering .idv-sweep, html.has-intro .idv-sweep { visibility: hidden; }
}
