@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('/assets/fonts/inter-latin.woff2') format('woff2');
}

@font-face {
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 600 800;
    font-display: swap;
    src: url('/assets/fonts/playfair-display-latin.woff2') format('woff2');
}

html {
    scroll-behavior: smooth;
}

body {
    background-color: #fdfbf5;
    font-family: 'Inter', sans-serif;
}

.font-display {
    font-family: 'Playfair Display', serif;
}

.registry-col {
    border-right: 1px solid #d9d2be;
}

.registry-col:last-child {
    border-right: none;
}

@media (max-width: 767px) {
    .registry-col {
        border-right: none;
        border-bottom: 1px solid #d9d2be;
    }

    .registry-col:last-child {
        border-bottom: none;
    }
}

.timeline-line {
    background: linear-gradient(180deg, transparent, #1e3a5f 8%, #1e3a5f 92%, transparent);
}

.timeline-node-btn[aria-expanded="true"] .timeline-chevron {
    transform: rotate(180deg);
}

.timeline-chevron {
    transition: transform 0.25s ease;
}

.timeline-detail {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease;
}

.timeline-detail[data-open="true"] {
    grid-template-rows: 1fr;
}

.timeline-detail-inner {
    overflow: hidden;
}

#cookie-banner {
    transform: translateY(120%);
    transition: transform 0.4s ease;
}

#cookie-banner[data-visible="true"] {
    transform: translateY(0);
}

#cookie-prefs-modal[data-open="true"] {
    display: flex;
}

.skip-link:focus {
    transform: translateY(0);
}

.skip-link {
    transform: translateY(-150%);
    transition: transform 0.2s ease;
}

::selection {
    background-color: #1e3a5f;
    color: #fdfbf5;
}
