@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('/assets/fonts/manrope.woff2') format('woff2');
}
:root {
  --page-padding: clamp(30px, 5vw, 50px);
  --section-space: clamp(30px, 7vw, 70px);
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: #fff;
  color: #111;
  font-family: Manrope, sans-serif;
  font-size: clamp(1.125rem, 1.125rem + ((1vw - .2rem) * .392), 1.375rem);
  font-weight: 300;
  letter-spacing: -.1px;
  line-height: 1.4;
}
a { color: inherit; text-underline-offset: .1em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid #111; outline-offset: 4px; }
.site-header {
  max-width: calc(1340px + 2 * var(--page-padding));
  margin-inline: auto;
  padding: 20px var(--page-padding);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.site-title { margin: 0; font-weight: 700; letter-spacing: -.5px; flex-shrink: 0; }
.site-title a, nav a { text-decoration: none; }
.site-title a:hover, nav a:hover { text-decoration: underline; }
nav { font-size: clamp(1rem, 1rem + ((1vw - .2rem) * .196), 1.125rem); }
nav ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 1.2rem; margin: 0; padding: 0; list-style: none; }
main {
  max-width: calc(645px + 2 * var(--page-padding));
  margin: var(--section-space) auto 0;
  padding: var(--section-space) var(--page-padding) calc(2 * var(--section-space));
}
h1, h2, h3 { font-weight: 400; letter-spacing: -.1px; line-height: 1.125; text-wrap: pretty; }
h1 { font-size: clamp(2.15rem, 2.15rem + ((1vw - .2rem) * 1.333), 3rem); margin: 0; }
h2 { font-size: clamp(1.75rem, 1.75rem + ((1vw - .2rem) * .392), 2rem); }
h3 { font-size: inherit; }
p { text-wrap: pretty; }
.content { margin-top: 1.2rem; }
.content > *, .media-text-content > * { margin-block: 1.2rem 0; }
.content > :first-child, .media-text-content > :first-child { margin-top: 0; }
figure { margin-inline: 0; }
img { display: block; max-width: 100%; height: auto; }
figcaption { font-size: .875rem; margin: .5em 0 1em; text-align: center; }
.gallery { display: flex; flex-wrap: wrap; gap: 16px; }
.gallery > figure { flex: 1 1 calc(33.333% - 16px); margin: 0; }
.gallery > figure img { width: 100%; height: 100%; object-fit: cover; }
.gallery > figcaption { width: 100%; }
.media-text { display: grid; align-items: start; }
.media-text-image { margin: 0; }
.media-text-content { padding: 0 8%; }
.video iframe { display: block; max-width: 100%; width: 100%; height: auto; aspect-ratio: 9 / 16; border: 0; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 20px; top: 10px; z-index: 5; background: white; padding: 12px; }
.menu-toggle { display: none; background: none; border: 0; font: inherit; font-size: 26px; cursor: pointer; }
@media (max-width: 600px) {
  .site-header { flex-wrap: wrap; }
  .menu-toggle:not([hidden]) { display: block; }
  nav { width: 100%; }
  nav ul { flex-direction: column; gap: 16px; }
  .site-header.menu-ready nav { display: none; }
  .site-header.menu-open nav { display: block; }
  .gallery > figure { flex-basis: calc(50% - 8px); }
  .media-text { grid-template-columns: 1fr !important; }
  .media-text-content { padding: 0; margin-top: 1.2rem; }
}
