﻿@font-face {
    font-family: "Afacad Flux";
    src: url("fonts/AfacadFlux/AfacadFlux-Light.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

body {
    margin: 0;
    min-height: 100vh;
    min-height: 100svh;
    display: grid;
    place-items: center;
    background: #fff;
    color: #303030;
    font-family: "Afacad Flux", sans-serif;
    font-size: 16px;
    font-weight: 300;
}

main {
    padding: 24px;
    text-align: center;
}

header {
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    height: 100px;
    padding: 0 20vw;
    display: flex;
    align-items: center;
}

header img {
    display: block;
    width: 34px;
    height: auto;
}

main p { margin: 0; }

.contact-details {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 24px;
    font-style: normal;
}

.contact-details a {
    color: inherit;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.contact-details a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.contact-details a:focus-visible {
    outline: 1px solid currentColor;
    outline-offset: 4px;
}

.loader {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    background: #303030;
    pointer-events: none;
    animation: loader-exit 1s ease 2.25s forwards;
}

.loader-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    animation: logo-enter .7s ease both, logo-exit .3s ease 1.2s forwards;
}

.loader-logo img {
    display: block;
    height: auto;
    filter: brightness(0);
}

.loader-e { width: 80px; }
.loader-atelier { width: 70px; }

@keyframes logo-enter {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes loader-exit {
    to { opacity: 0; visibility: hidden; }
}

@keyframes logo-exit {
    to { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .loader { animation: loader-exit .01s linear .5s forwards; }
    .loader-logo { animation: none; }
}

@media (max-width: 950px) {
    header { height: 80px; padding: 0 30px; }
    header img { width: 30px; }
}

@media (max-width: 600px) {
    header { height: 70px; padding: 0 20px; }
    header img { width: 28px; }
}
