*, *::before, *::after {
    font-family: Arial, Helvetica, sans-serif !important;
}

@keyframes dialpink-content-enter {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes dialpink-content-leave {
    to { opacity: 0; transform: translateY(-3px); }
}

body main {
    animation: dialpink-content-enter 260ms ease-out both;
}

body.is-leaving {
    pointer-events: none;
}

body.is-leaving main {
    animation: dialpink-content-leave 180ms ease-in both;
}

.home-intro {
    position: fixed;
    z-index: 1000;
    inset: 0;
    display: grid;
    place-items: center;
    background: linear-gradient(115deg, #fffafd 0%, #fff 56%, #fbedf4 100%);
    pointer-events: none;
    animation: dialpink-home-intro-exit 200ms ease-in 700ms forwards;
}

.home-intro img {
    display: block;
    width: min(220px, 58vw);
    height: auto;
    object-fit: contain;
    animation: dialpink-logo-reveal 600ms cubic-bezier(.2, .8, .25, 1) both;
}

@keyframes dialpink-logo-reveal {
    0% { opacity: 0; transform: translateY(12px) scale(.9); }
    65% { opacity: 1; transform: translateY(-2px) scale(1.025); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes dialpink-home-intro-exit {
    to { opacity: 0; visibility: hidden; }
}

@media (prefers-reduced-motion: reduce) {
    body main,
    .home-intro,
    .home-intro img {
        animation: none;
    }

    body.is-leaving main { animation: none; }
    .home-intro { display: none; }
}
