*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
}

body,
h1,
h2,
h3,
h4,
p,
figure {
    margin: 0;
}

h1,
h2,
h3,
h4 {
    font-size: inherit;
    font-weight: inherit;
}

button,
input,
select,
textarea {
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
}

button {
    background: transparent;
}

a {
    color: inherit;
    text-decoration: inherit;
}

img,
video {
    display: block;
    max-width: 100%;
}

.absolute { position: absolute; }
.relative { position: relative; }
.inset-0 { inset: 0; }
.top-0 { top: 0; }
.top-\[88px\] { top: 88px; }
.left-0 { left: 0; }
.right-0 { right: 0; }
.z-0 { z-index: 0; }
.z-10 { z-index: 10; }
.z-20 { z-index: 20; }

.flex { display: flex; }
.flex-1 { flex: 1 1 0%; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.gap-3 { gap: 0.75rem; }

.w-full { width: 100%; }
.w-6 { width: 1.5rem; }
.w-8 { width: 2rem; }
.h-full { height: 100%; }
.h-6 { height: 1.5rem; }
.h-8 { height: 2rem; }
.h-\[2px\] { height: 2px; }
.max-w-2xl { max-width: 42rem; }
.max-w-4xl { max-width: 56rem; }

.mx-auto {
    margin-right: auto;
    margin-left: auto;
}

.mt-2 { margin-top: 0.5rem; }
.mt-8 { margin-top: 2rem; }
.mt-16 { margin-top: 4rem; }
.block { display: block; }
.overflow-x-hidden { overflow-x: hidden; }
.object-contain { object-fit: contain; }

.bg-black { background-color: #000; }
.bg-black\/50 { background-color: rgb(0 0 0 / 50%); }
.bg-museum-dark { background-color: #090908; }
.text-museum-light { color: #f2eee5; }
.text-museum-gold { color: #c6a45a; }

.font-body { font-family: 'Source Serif 4', serif; }
.font-serif { font-family: 'Playfair Display', serif; }
.font-normal { font-weight: 400; }
.font-semibold { font-weight: 600; }

.text-\[10px\] { font-size: 10px; }
.text-xs { font-size: 0.75rem; }
.text-sm { font-size: 0.875rem; }
.text-base { font-size: 1rem; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.uppercase { text-transform: uppercase; }
.tracking-wide { letter-spacing: 0.025em; }
.tracking-widest { letter-spacing: 0.1em; }
.leading-\[1\.9\] { line-height: 1.9; }
.opacity-80 { opacity: 0.8; }

.p-6 { padding: 1.5rem; }
.px-6 {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
}
.pt-20 { padding-top: 5rem; }
.space-y-8 > :not([hidden]) ~ :not([hidden]) {
    margin-top: 2rem;
}

.translate-y-12 {
    --translate-y: 3rem;
    transform: translateY(var(--translate-y));
}

.backdrop-blur-\[2px\] {
    backdrop-filter: blur(2px);
}

.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
}

.duration-300 { transition-duration: 300ms; }
.hover\:text-museum-gold:hover { color: #c6a45a; }

@media (min-width: 768px) {
    .md\:top-\[112px\] { top: 112px; }
    .md\:w-12 { width: 3rem; }
    .md\:h-12 { height: 3rem; }
    .md\:p-10 { padding: 2.5rem; }
    .md\:px-12 {
        padding-right: 3rem;
        padding-left: 3rem;
    }
    .md\:text-base { font-size: 1rem; }
    .md\:text-lg { font-size: 1.125rem; }
}

@media (min-width: 1024px) {
    .lg\:text-xl { font-size: 1.25rem; }
}
