*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; color: var(--v2-ink); background: var(--v2-paper); font-family: var(--v2-body); font-size: 15px; line-height: 1.5; }
body.menu-is-open, body.modal-is-open { overflow: hidden; }
img { display: block; width: 100%; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
main { min-height: 100vh; }
h1, h2, h3, p { margin-top: 0; }
:where(a, button, input, textarea):focus-visible { outline: 2px solid var(--v2-red); outline-offset: 4px; }
.container { width: var(--v2-container); margin: 0 auto; }
.section { padding: clamp(76px, 10vw, 150px) 0; }
.section-kicker { margin: 0 0 20px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.text-link { display: inline-flex; align-items: center; gap: 14px; padding: 0; border: 0; color: inherit; background: transparent; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.text-link span { color: var(--v2-red); font-size: 25px; line-height: .5; transition: transform .3s ease; }
.text-link:hover span { transform: translateX(5px); }
.text-link--accent { color: var(--v2-red); }
.media-placeholder { display: grid; place-items: center; min-height: 100%; padding: 24px; color: rgba(255,255,255,.72); background: linear-gradient(135deg, #2b2b29, #5a5147 52%, #222422); text-align: center; }
.media-placeholder span { max-width: 180px; font-size: 11px; letter-spacing: .13em; text-transform: uppercase; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
