/* Final presentation p. 78; P1 Final Reveal p. 25.
   Motion follows Jens's brief: W/E slide and fade; NS only fades. */
#portal-splash[hidden] { display: none; }
#portal-web-content { display: contents; }
#portal-splash {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: var(--brand-background, #f0e9df);
    color: var(--brand-text, #242528);
}
#portal-splash svg {
    width: clamp(96px, 28vmin, 180px);
    height: auto;
    overflow: visible;
    fill: currentColor;
}
#portal-splash g {
    animation: splash-arrive 1100ms cubic-bezier(.22, 1, .36, 1) both;
}
#portal-splash .splash-west { --splash-offset: -100vw; }
#portal-splash .splash-east { --splash-offset: 100vw; }
#portal-splash .splash-north-south { --splash-offset: 0px; }
@keyframes splash-arrive {
    from { opacity: 0; transform: translateX(var(--splash-offset)); }
    to { opacity: 1; transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
    #portal-splash g { animation: none; }
}
@media print {
    #portal-splash { display: none; }
}
