@font-face {
    font-family: 'Axiforma';
    src: url('/static/fonts/axiforma/Axiforma-Regular.woff2') format('woff2'),
         url('/static/fonts/axiforma/Axiforma-Regular.woff') format('woff'),
         url('/static/fonts/axiforma/Axiforma-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Axiforma';
    src: url('/static/fonts/axiforma/Axiforma-Bold.woff2') format('woff2'),
         url('/static/fonts/axiforma/Axiforma-Bold.woff') format('woff'),
         url('/static/fonts/axiforma/Axiforma-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

::selection {
    background: rgba(109, 40, 217, 0.16);
    color: #0f172a;
}

.reveal-section {
    opacity: 0;
    transform: translateY(22px);
    transition:
        opacity 700ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.reveal-section.revealed {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .reveal-section {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
