@font-face {
  font-family: Assistant;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/assistant-400.woff2") format("woff2");
}
@font-face {
  font-family: Assistant;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/assistant-600.woff2") format("woff2");
}
@font-face {
  font-family: Assistant;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/assistant-700.woff2") format("woff2");
}
@font-face {
  font-family: Assistant;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/assistant-800.woff2") format("woff2");
}

:root {
  --im-brand: #77a9ca;
  --im-brand-deep: #121212;
  --im-contrast: #36698b;
  --im-sand: #dccb9b;
  --im-ink: #ffffff;
  --im-paper: #77a9ca;
  --im-card: #ffffff;
  --im-muted: #616267;
  --im-font: "Assistant", ui-sans-serif, system-ui, sans-serif;
  --im-radius: 0px;
  --im-button-radius: 0px;
}

* { box-sizing: border-box; }
html { font-size: 62.5%; }
body {
  margin: 0;
  font-family: var(--im-font);
  font-weight: 400;
  font-size: var(--im-font-size, 16px);
  line-height: var(--im-line-height, 1.6);
  letter-spacing: 0.06rem;
  color: var(--im-ink);
  background: var(--im-paper);
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
:focus-visible { outline: 0.2rem solid var(--im-contrast); outline-offset: 0.3rem; }

.skip {
  position: absolute;
  left: 1rem;
  top: -4rem;
  background: #fff;
  color: #121212;
  padding: 0.8rem 1.2rem;
  z-index: 50;
}
.skip:focus { top: 0.5rem; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--im-header-bg, var(--im-card));
  color: var(--im-header-color, var(--im-muted));
}
.header-bar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-areas: "toggle brand lang" "nav nav nav";
  align-items: center;
  max-width: 100%;
  margin: 0 auto;
  padding: 1rem 3rem 1rem;
}
@media screen and (min-width: 990px) {
  .header-bar { padding-top: 2rem; padding-bottom: 2rem; }
}
.nav-toggle {
  grid-area: toggle;
  justify-self: start;
  display: none;
  width: 4.4rem;
  height: 4.4rem;
  margin-left: -1.2rem;
  border: 0;
  background: transparent;
  color: rgba(51, 51, 51, 0.75);
  cursor: pointer;
  position: relative;
}
.nav-toggle span,
.nav-toggle span::before,
.nav-toggle span::after {
  display: block;
  width: 2rem;
  height: 0.2rem;
  background: currentColor;
  position: absolute;
  left: 0;
  transform: none;
}
.nav-toggle span {
  top: 50%;
  left: 50%;
  margin-top: -0.1rem;
  margin-left: -1rem;
}
.nav-toggle span::before,
.nav-toggle span::after {
  content: "";
  left: 0;
  width: 2rem;
}
.nav-toggle span::before { top: -0.8rem; }
.nav-toggle span::after { top: 0.8rem; }
.brand { grid-area: brand; justify-self: center; line-height: 0; }
.brand img { width: var(--im-logo-width, 30rem); max-width: 46vw; height: auto; }
.header-tools {
  grid-area: lang;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 0;
}
.cart-menu { position: relative; }
.cart-link,
.account-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  color: inherit;
  text-decoration: none;
}
.mini-cart {
  position: absolute;
  top: calc(100% + 0.6rem);
  right: 0;
  left: auto;
  z-index: 30;
  width: min(36rem, calc(100vw - 3rem));
  padding: 1.4rem 1.6rem 1.6rem;
  background: #fff;
  color: #121212;
  border-radius: 1.2rem;
  box-shadow: 0 1.2rem 3.2rem rgba(18, 18, 18, 0.16);
}
.mini-cart.is-empty {
  width: fit-content;
  max-width: calc(100vw - 3rem);
}
.mini-cart[hidden] { display: none; }
@media screen and (max-width: 989px) {
  .header-tools { position: relative; }
  .cart-menu { position: static; }
  .mini-cart:not(.is-empty) { width: min(36rem, calc(100vw - 3rem)); }
}
.mini-empty { margin: 0; white-space: nowrap; }
.mini-empty[hidden], .mini-sub[hidden], .mini-checkout[hidden] { display: none; }
.mini-lines { list-style: none; margin: 0; padding: 0; }
.mini-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.2rem 1rem;
  padding: 0.8rem 0;
  border-bottom: 0.1rem solid rgba(18, 18, 18, 0.1);
}
.mini-name { font-weight: 700; }
.mini-size { font-weight: 500; }
.mini-meta { grid-column: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.6rem; }
.qty-step { display: inline-flex; align-items: center; gap: 0.3rem; }
.qty-btn {
  width: 2.2rem;
  height: 2.2rem;
  padding: 0;
  border: 0.1rem solid rgba(18, 18, 18, 0.28);
  background: #fff;
  color: #121212;
  font: inherit;
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
}
.qty-btn:disabled { opacity: 0.35; cursor: default; }
.qty-val, .qty-fixed { min-width: 1.2rem; text-align: center; }
.mini-remove {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  background: transparent;
  color: #121212;
  border: 0;
  padding: 0;
  text-decoration: underline;
  cursor: pointer;
  font: inherit;
}
.mini-sub { margin: 1rem 0; font-weight: 700; }
.mini-checkout { display: block; width: 100%; text-align: center; }
.bag-icon,
.account-icon {
  width: 2.4rem;
  height: 2.4rem;
  display: block;
}
.account-icon { fill: currentColor; }
.bag-icon { fill: none; stroke: currentColor; }
.cart-count {
  position: absolute;
  top: 0.4rem;
  right: 0.2rem;
  min-width: 1.7rem;
  height: 1.7rem;
  padding: 0 0.3rem;
  border-radius: 999px;
  background: #121212;
  color: #fff;
  font-size: 1rem;
  line-height: 1.7rem;
  text-align: center;
}
.lang-switch {
  margin: 0 0.4rem 0 0.2rem;
  display: flex;
  gap: 0.8rem;
}
.lang-switch a {
  color: var(--im-muted);
  text-decoration: none;
  font-size: 1.4rem;
}
.lang-switch a[aria-current="true"] { text-decoration: underline; text-underline-offset: 0.3rem; color: #121212; }
.site-nav { grid-area: nav; }
.site-nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: var(--im-menu-align, center);
  gap: 0;
  list-style: none;
  margin: 1.05rem 0 0;
  padding: 0;
}
.site-nav a {
  display: inline-block;
  padding: 1.2rem;
  text-decoration: none;
  color: var(--im-header-color, rgba(97, 98, 103, 0.75));
  font-size: 1.6rem;
}
.site-nav a:hover { color: #121212; text-decoration: underline; text-underline-offset: 0.3rem; }
.site-nav a[aria-current="page"] { color: #121212; text-decoration: underline; text-underline-offset: 0.3rem; }

main { background: var(--im-paper); color: var(--im-ink); }
.wrap { padding: 0 0 0; }
.todo-banner {
  margin: 2rem auto;
  max-width: 78rem;
  background: #fff8df;
  border: 0.2rem dashed #8a6a00;
  color: #3d2e00;
  padding: 1.2rem 1.6rem;
  font-weight: 700;
}

h1, h2, h3, .page-title, .section-title {
  font-family: var(--im-font);
  font-weight: 400;
  letter-spacing: 0.06rem;
  line-height: 1.3;
  color: var(--im-ink);
  margin: 0;
}
h1, .page-title { font-size: calc(var(--im-heading-scale, 1) * 30px); }
h2, .section-title { font-size: calc(var(--im-heading-scale, 1) * 20px); }
@media screen and (min-width: 750px) {
  h1, .page-title { font-size: calc(var(--im-heading-scale, 1) * 40px); }
  h2, .section-title { font-size: calc(var(--im-heading-scale, 1) * 24px); }
}

.rich {
  text-align: center;
  padding: var(--im-section-pad, 4rem) 0;
}
.rich > * { max-width: 100%; margin-left: auto; margin-right: auto; }
.rich > * + * { margin-top: 2rem; }
.rich p { margin: 0 auto; }
.rich--left { text-align: left; padding: 4rem 2rem; }
.rich--left > * { margin-left: 0; margin-right: 0; }
.lead { font-size: inherit; line-height: inherit; }

.btn, button.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 12rem;
  min-height: 4.5rem;
  padding: 0 var(--im-button-pad, 3rem);
  border: 0;
  border-radius: var(--im-button-radius);
  background: var(--im-button-bg, var(--im-brand-deep));
  color: var(--im-button-text, #fff);
  font: inherit;
  font-size: 1.5rem;
  text-decoration: none;
  cursor: pointer;
}
.btn:hover { background: var(--im-contrast); color: #fff; }
.actions { margin-top: 3rem; }
.btn-row { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; align-items: center; }
.a-left .btn-row { justify-content: flex-start; }
.a-right .btn-row { justify-content: flex-end; }
.solo-image { padding: var(--im-section-pad, 4rem) 0; }
.solo-image .media { max-width: none; width: 100%; margin-left: 0; margin-right: 0; }
.solo-image img { width: 100%; height: auto; object-fit: contain; }
.banner .media.media--custom,
.slideshow__slide .media.media--custom { position: relative; inset: auto; }
.banner:has(.media--custom) { height: auto; }

.banner {
  position: relative;
  height: 28rem;
  overflow: hidden;
  background: #0e2a3a;
}
.banner .media {
  position: absolute;
  inset: 0;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
.banner img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.banner-stack { display: grid; gap: 0.4rem; }
@media screen and (min-width: 750px) {
  .banner { height: 42rem; }
}
@media screen and (max-width: 749px) {
  .banner.is-mobile-full,
  .slideshow.is-mobile-full .slideshow__slide {
    height: auto;
    overflow: visible;
  }
  .banner.is-mobile-full .media,
  .slideshow.is-mobile-full .slideshow__slide .media {
    position: relative;
    inset: auto;
  }
  .banner.is-mobile-full img,
  .slideshow.is-mobile-full .slideshow__slide img,
  .solo-image.is-mobile-full img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center center;
  }
  .banner.is-mobile-left img,
  .slideshow.is-mobile-left .slideshow__slide img,
  .solo-image.is-mobile-left img { object-position: left center; }
  .banner.is-mobile-center img,
  .slideshow.is-mobile-center .slideshow__slide img,
  .solo-image.is-mobile-center img { object-position: center center; }
  .banner.is-mobile-right img,
  .slideshow.is-mobile-right .slideshow__slide img,
  .solo-image.is-mobile-right img { object-position: right center; }
  .banner.has-mobile-image.is-mobile-full,
  .slideshow.is-mobile-full .slideshow__slide.has-mobile-image,
  .solo-image.has-mobile-image.is-mobile-full {
    height: auto;
    overflow: visible;
  }
  .banner.has-mobile-image.is-mobile-full .media,
  .slideshow.is-mobile-full .slideshow__slide.has-mobile-image .media,
  .solo-image.has-mobile-image.is-mobile-full .media {
    position: relative;
    inset: auto;
  }
  .banner.has-mobile-image img,
  .slideshow__slide.has-mobile-image img,
  .solo-image.has-mobile-image img {
    width: 100%;
    object-fit: cover;
  }
  .banner.has-mobile-image.is-mobile-full img,
  .slideshow.is-mobile-full .slideshow__slide.has-mobile-image img,
  .solo-image.has-mobile-image.is-mobile-full img {
    height: auto;
    object-fit: cover;
    object-position: center center;
  }
}

.with-text {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--split-gap, 0);
  align-items: var(--split-valign, center);
  padding: 2.7rem 0;
}
.with-text .media {
  margin: 0;
  border-radius: var(--im-radius);
  overflow: hidden;
  box-shadow: none;
  background: transparent;
}
.with-text img { width: 100%; height: auto; }
@media screen and (min-width: 750px) {
  .with-text {
    grid-template-columns: var(--split-image, minmax(18rem, 32rem)) minmax(0, 1fr);
    gap: var(--split-gap, 4rem);
    align-items: var(--split-valign, center);
    max-width: none;
    margin: 0;
    padding: 4.8rem 0 4rem;
  }
  .with-text.has-split.with-text--reverse {
    grid-template-columns: minmax(0, 1fr) var(--split-image);
  }
  .with-text.has-split.with-text--reverse .media {
    order: 0;
    grid-column: 2;
  }
  .with-text.has-split.with-text--reverse .rich {
    grid-column: 1;
  }
}

.flow { display: block; }
.media-logo { max-width: 22rem; margin: 2rem auto; background: transparent; box-shadow: none; }
.media-logo img { margin: 0 auto; }

.logo-grid {
  list-style: none;
  margin: 0;
  padding: 2.4rem 0 4rem;
  width: 100%;
  max-width: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.8rem 2rem;
  text-align: center;
  align-items: start;
}
.logo-grid li, .logo-grid a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  width: 100%;
  color: var(--im-ink);
  text-decoration: none;
  background: transparent;
  box-shadow: none;
}
.logo-grid .media,
.logo-grid .media-logo {
  width: 100%;
  max-width: none;
  margin: 0;
  background: transparent;
  box-shadow: none;
}
.logo-grid img {
  width: 100%;
  height: auto;
  max-height: 16rem;
  margin: 0 auto;
  object-fit: contain;
  background: transparent;
}
.logo-grid span { font-weight: 700; font-size: inherit; line-height: inherit; }
.logo-grid li[hidden] { display: none !important; }
.logo-grid:has(+ .logo-more-wrap) { padding-bottom: 1.2rem; }
.logo-more-wrap { margin: 0 0 3.2rem; text-align: center; }
.logo-more {
  background: transparent;
  border: 0;
  padding: 0.2rem 0.4rem;
  color: inherit;
  font: inherit;
  font-size: 1.4rem;
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  cursor: pointer;
}

.product {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2.4rem;
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 3.2rem 0 4.8rem;
  align-items: start;
  background: transparent;
  box-shadow: none;
  color: var(--im-ink);
  box-sizing: border-box;
}
.product.cw-narrow,
.product.cw-medium,
.product.cw-wide,
.product.cw-full {
  width: 100%;
  max-width: none;
}
.product-gallery { min-width: 0; width: 100%; max-width: none; margin: 0; }
.product-stage {
  position: relative;
  background: transparent;
  overflow: hidden;
}
.product-slide { display: none; }
.product-slide.is-active { display: block; }
.product-slide .media {
  margin: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  display: block;
}
.product-slide img {
  width: 100%;
  height: auto;
  max-width: none;
  margin: 0;
  object-fit: contain;
  background: transparent;
}
.product-info { min-width: 0; max-width: none; }
.product-info .page-title,
.product-info .section-title { margin: 0 0 0.8rem; }
.product-copy p { margin: 0 0 1rem; font-size: inherit; line-height: inherit; }
.eyebrow {
  margin: 0 0 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: inherit;
  line-height: inherit;
  color: rgba(255, 255, 255, 0.75);
}
.price {
  margin: 0 0 1.6rem;
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.price s {
  display: inline-block;
  margin-right: 0.6rem;
  color: var(--im-muted, #6d675f);
  font-size: 0.55em;
  font-weight: 500;
}
.buy-form { display: grid; gap: 1.4rem; margin-top: 1.6rem; justify-items: start; width: var(--im-field-width, 100%); max-width: var(--im-field-max, 100%); }
.membership-offer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem 2.4rem;
}
.membership-offer .section-title,
.membership-offer .page-title,
.membership-offer .membership-text { flex: 1 1 100%; }
.membership-offer .price { margin: 0; }
.membership-offer .buy-form { margin-top: 0; width: auto; max-width: none; }
.buy-error {
  margin: 0;
  padding: 0.8rem 1.2rem;
  background: rgba(18, 18, 18, 0.35);
  border-radius: 0.4rem;
}
.sizes {
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
}
.sizes legend { padding: 0; margin: 0 0 0.8rem; font-size: inherit; line-height: inherit; }
.size-options { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.size-option { position: relative; }
.size-option input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.size-option span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.8rem;
  min-height: 4.4rem;
  padding: 0.8rem 1.4rem;
  border: 0.1rem solid rgba(255, 255, 255, 0.75);
  border-radius: 4rem;
  color: #fff;
}
.size-option input:checked + span {
  background: #121212;
  border-color: #121212;
  color: #fff;
}
.size-option input:focus-visible + span {
  outline: 0.2rem solid #fff;
  outline-offset: 0.3rem;
}
.qty { display: grid; gap: 0.4rem; width: 12rem; font-size: inherit; line-height: inherit; }
.qty input {
  font: inherit;
  color: #121212;
  background: #fff;
  border: 0.1rem solid rgba(18, 18, 18, 0.2);
  border-radius: 0.4rem;
  padding: 1rem 1.2rem;
  width: 100%;
}
.order-card {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 4rem 0 6rem;
  color: #fff;
}
.order-card .page-title { margin-bottom: 1.6rem; }
.cart-table { width: 100%; border-collapse: collapse; }
.cart-table th, .cart-table td { text-align: left; padding: 0.8rem 0.6rem; border-bottom: 0.1rem solid rgba(255, 255, 255, 0.35); font-size: inherit; }
.cart-table input { width: 7rem; font: inherit; color: #121212; background: #fff; border: 0.1rem solid rgba(18, 18, 18, 0.2); padding: 0.6rem 0.8rem; }
.cart-total { font-size: inherit; }
.ship-options { border: 0; margin: 1.2rem 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.8rem 1.4rem; }
.ship-options[hidden], .cart-total[hidden] { display: none; }
.ship-options legend { width: 100%; padding: 0; margin: 0 0 0.4rem; font-weight: 700; }
.ship-options label { display: flex; align-items: center; gap: 0.45rem; font-weight: 600; }
.ship-options input { width: auto; }
.checkout-fields { display: grid; gap: 0.8rem; width: var(--im-field-width, 100%); max-width: var(--im-field-max, 100%); margin: 1.2rem 0; }
.checkout-fields input { color: #121212; background: #fff; }
.cart-actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.cart-summary { list-style: none; margin: 0 0 1.6rem; padding: 0; }
.cart-summary li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.6rem 0; border-bottom: 0.1rem solid rgba(255, 255, 255, 0.35); }
.cart-form .ghost, .admin-table .ghost { background: transparent; color: inherit; border: 0; text-decoration: underline; cursor: pointer; font: inherit; }
.order-lines {
  display: grid;
  grid-template-columns: minmax(8rem, 14rem) minmax(0, 1fr);
  gap: 0.8rem 1.6rem;
  margin: 0 0 2rem;
}
.order-lines dt { font-weight: 700; }
.order-lines dd { margin: 0; }
.order-note { margin: 0 0 1.6rem; font-size: inherit; line-height: inherit; }
.order-meta-label { margin: 0 0 0.6rem; font-size: 1.3rem; letter-spacing: 0.04em; text-transform: uppercase; }
.stripe-meta {
  margin: 0;
  background: rgba(0, 0, 0, 0.28);
  color: #fff;
  padding: 1.2rem 1.4rem;
  overflow: auto;
  border-radius: 0.6rem;
  font-size: 1.3rem;
  line-height: 1.5;
}
.note, .form-ok, .form-error { max-width: 78rem; margin: 1rem auto; padding: 0 1.5rem; text-align: center; }
@media screen and (min-width: 750px) {
  .product {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    gap: 4rem;
    padding: 4.8rem 0 6rem;
  }
}
@media screen and (min-width: 990px) {
  .logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.articles { width: 100%; max-width: none; margin: 0; padding: 2rem 0 4rem; }
.news-list, .news-post { padding: 3.2rem 0 6rem; }
.news-grid { display: grid; grid-template-columns: 1fr; gap: 2.4rem; list-style: none; margin: 2rem 0 0; padding: 0; }
.news-card a { display: block; color: inherit; text-decoration: none; }
.news-card img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.news-card h2 { margin: 1rem 0 0.4rem; font-size: calc(var(--im-heading-scale, 1) * 22px); }
.news-date { margin: 0 0 0.6rem; }
.news-pager { display: flex; gap: 1.6rem; justify-content: center; margin-top: 2.4rem; }
.news-post .cover { width: 100%; height: auto; margin: 0 0 2rem; }
.news-post .prose img { max-width: 100%; height: auto; }
.news-post .prose img.im-w-25 { width: 25%; }
.news-post .prose img.im-w-33 { width: 33%; }
.news-post .prose img.im-w-50 { width: 50%; }
.news-post .prose img.im-w-66 { width: 66%; }
.news-post .prose img.im-w-75 { width: 75%; }
.news-post .prose img.im-w-100 { width: 100%; }
@media screen and (min-width: 750px) {
  .news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.articles article { padding: 2rem 0; border-top: 0.1rem solid rgba(255, 255, 255, 0.25); }
.prose, .articles { color: var(--im-ink); }
.prose ul,
.prose ol,
.product-copy ul,
.product-copy ol,
.membership-text ul,
.membership-text ol,
.order-note ul,
.order-note ol,
.rich ul,
.rich ol {
  margin: 0.4em 0 0.8em;
  padding-left: 1.4em;
}
.prose ul,
.product-copy ul,
.membership-text ul,
.order-note ul,
.rich ul { list-style: disc; }
.prose ol,
.product-copy ol,
.membership-text ol,
.order-note ol,
.rich ol { list-style: decimal; }
.prose li,
.product-copy li,
.membership-text li,
.order-note li,
.rich li { margin: 0.15em 0; }
.prose h2,
.prose h3,
.prose h4,
.product-copy h2,
.product-copy h3,
.product-copy h4,
.membership-text h2,
.membership-text h3,
.membership-text h4 {
  margin: 0.6em 0 0.3em;
  line-height: 1.25;
  font-weight: 700;
}
.prose a,
.product-copy a,
.membership-text a,
.order-note a { text-decoration: underline; }

.contact-block {
  width: var(--im-field-width, 100%);
  max-width: var(--im-field-max, 100%);
  box-sizing: border-box;
}
.contact-block.is-form-left {
  margin-left: 0;
  margin-right: auto;
  text-align: left;
}
.contact-block.is-form-center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.contact-block.is-form-right {
  margin-left: auto;
  margin-right: 0;
  text-align: right;
}
.contact-block.is-form-w-25 { --im-form-w: 25%; }
.contact-block.is-form-w-26 { --im-form-w: 26%; }
.contact-block.is-form-w-27 { --im-form-w: 27%; }
.contact-block.is-form-w-28 { --im-form-w: 28%; }
.contact-block.is-form-w-29 { --im-form-w: 29%; }
.contact-block.is-form-w-30 { --im-form-w: 30%; }
.contact-block.is-form-w-31 { --im-form-w: 31%; }
.contact-block.is-form-w-32 { --im-form-w: 32%; }
.contact-block.is-form-w-33 { --im-form-w: 33%; }
.contact-block.is-form-w-34 { --im-form-w: 34%; }
.contact-block.is-form-w-35 { --im-form-w: 35%; }
.contact-block.is-form-w-36 { --im-form-w: 36%; }
.contact-block.is-form-w-37 { --im-form-w: 37%; }
.contact-block.is-form-w-38 { --im-form-w: 38%; }
.contact-block.is-form-w-39 { --im-form-w: 39%; }
.contact-block.is-form-w-40 { --im-form-w: 40%; }
.contact-block.is-form-w-41 { --im-form-w: 41%; }
.contact-block.is-form-w-42 { --im-form-w: 42%; }
.contact-block.is-form-w-43 { --im-form-w: 43%; }
.contact-block.is-form-w-44 { --im-form-w: 44%; }
.contact-block.is-form-w-45 { --im-form-w: 45%; }
.contact-block.is-form-w-46 { --im-form-w: 46%; }
.contact-block.is-form-w-47 { --im-form-w: 47%; }
.contact-block.is-form-w-48 { --im-form-w: 48%; }
.contact-block.is-form-w-49 { --im-form-w: 49%; }
.contact-block.is-form-w-50 { --im-form-w: 50%; }
.contact-block.is-form-w-51 { --im-form-w: 51%; }
.contact-block.is-form-w-52 { --im-form-w: 52%; }
.contact-block.is-form-w-53 { --im-form-w: 53%; }
.contact-block.is-form-w-54 { --im-form-w: 54%; }
.contact-block.is-form-w-55 { --im-form-w: 55%; }
.contact-block.is-form-w-56 { --im-form-w: 56%; }
.contact-block.is-form-w-57 { --im-form-w: 57%; }
.contact-block.is-form-w-58 { --im-form-w: 58%; }
.contact-block.is-form-w-59 { --im-form-w: 59%; }
.contact-block.is-form-w-60 { --im-form-w: 60%; }
.contact-block.is-form-w-61 { --im-form-w: 61%; }
.contact-block.is-form-w-62 { --im-form-w: 62%; }
.contact-block.is-form-w-63 { --im-form-w: 63%; }
.contact-block.is-form-w-64 { --im-form-w: 64%; }
.contact-block.is-form-w-65 { --im-form-w: 65%; }
.contact-block.is-form-w-66 { --im-form-w: 66%; }
.contact-block.is-form-w-67 { --im-form-w: 67%; }
.contact-block.is-form-w-68 { --im-form-w: 68%; }
.contact-block.is-form-w-69 { --im-form-w: 69%; }
.contact-block.is-form-w-70 { --im-form-w: 70%; }
.contact-block.is-form-w-71 { --im-form-w: 71%; }
.contact-block.is-form-w-72 { --im-form-w: 72%; }
.contact-block.is-form-w-73 { --im-form-w: 73%; }
.contact-block.is-form-w-74 { --im-form-w: 74%; }
.contact-block.is-form-w-75 { --im-form-w: 75%; }
.contact-block.is-form-w-76 { --im-form-w: 76%; }
.contact-block.is-form-w-77 { --im-form-w: 77%; }
.contact-block.is-form-w-78 { --im-form-w: 78%; }
.contact-block.is-form-w-79 { --im-form-w: 79%; }
.contact-block.is-form-w-80 { --im-form-w: 80%; }
.contact-block.is-form-w-81 { --im-form-w: 81%; }
.contact-block.is-form-w-82 { --im-form-w: 82%; }
.contact-block.is-form-w-83 { --im-form-w: 83%; }
.contact-block.is-form-w-84 { --im-form-w: 84%; }
.contact-block.is-form-w-85 { --im-form-w: 85%; }
.contact-block.is-form-w-86 { --im-form-w: 86%; }
.contact-block.is-form-w-87 { --im-form-w: 87%; }
.contact-block.is-form-w-88 { --im-form-w: 88%; }
.contact-block.is-form-w-89 { --im-form-w: 89%; }
.contact-block.is-form-w-90 { --im-form-w: 90%; }
.contact-block.is-form-w-91 { --im-form-w: 91%; }
.contact-block.is-form-w-92 { --im-form-w: 92%; }
.contact-block.is-form-w-93 { --im-form-w: 93%; }
.contact-block.is-form-w-94 { --im-form-w: 94%; }
.contact-block.is-form-w-95 { --im-form-w: 95%; }
.contact-block.is-form-w-96 { --im-form-w: 96%; }
.contact-block.is-form-w-97 { --im-form-w: 97%; }
.contact-block.is-form-w-98 { --im-form-w: 98%; }
.contact-block.is-form-w-99 { --im-form-w: 99%; }
.contact-block.is-form-w-100 { --im-form-w: 100%; }
.contact-block[class*="is-form-w-"] {
  width: var(--im-form-w);
  max-width: 100%;
}
.contact-form {
  width: 100%;
  max-width: 100%;
  margin: 0 0 4rem;
  display: grid;
  gap: 1.2rem;
  padding: 0 0 4rem;
}
.contact-form .btn.is-btn-auto,
.contact-form .btn.is-btn-small,
.contact-form .btn.is-btn-medium,
.contact-form .btn[class*="is-btn-w-"] {
  width: auto;
  max-width: 100%;
  min-width: 0;
  justify-self: start;
}
.contact-form .btn.is-btn-small { padding-left: 1.25rem; padding-right: 1.25rem; }
.contact-form .btn.is-btn-medium { min-width: 16rem; }
.contact-form .btn.is-btn-full {
  width: 100%;
  min-width: 0;
  justify-self: stretch;
}
.contact-form .btn.is-btn-w-40 {
  width: 40px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-50 {
  width: 50px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-60 {
  width: 60px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-70 {
  width: 70px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-80 {
  width: 80px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-90 {
  width: 90px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-100 {
  width: 100px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-110 {
  width: 110px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-120 {
  width: 120px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-130 {
  width: 130px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-140 {
  width: 140px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-150 {
  width: 150px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-160 {
  width: 160px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-170 {
  width: 170px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-180 {
  width: 180px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-190 {
  width: 190px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-200 {
  width: 200px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-210 {
  width: 210px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-220 {
  width: 220px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-230 {
  width: 230px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-240 {
  width: 240px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-250 {
  width: 250px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-260 {
  width: 260px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-270 {
  width: 270px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-280 {
  width: 280px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-290 {
  width: 290px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-300 {
  width: 300px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-310 {
  width: 310px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-320 {
  width: 320px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-330 {
  width: 330px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-340 {
  width: 340px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-350 {
  width: 350px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-360 {
  width: 360px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-370 {
  width: 370px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-380 {
  width: 380px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-390 {
  width: 390px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-400 {
  width: 400px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-410 {
  width: 410px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-420 {
  width: 420px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-430 {
  width: 430px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-440 {
  width: 440px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-450 {
  width: 450px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-460 {
  width: 460px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-470 {
  width: 470px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-w-480 {
  width: 480px;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.contact-form .btn.is-btn-pos-left { justify-self: start; }
.contact-form .btn.is-btn-pos-center { justify-self: center; }
.contact-form .btn.is-btn-pos-right { justify-self: end; }
.contact-form label { display: grid; gap: 0.4rem; text-align: left; color: #fff; }
.contact-form input, .contact-form textarea {
  font: inherit;
  text-align: left;
  width: 100%;
  box-sizing: border-box;
  color: #121212;
  background: var(--im-field-bg, #fff);
  border: 0.1rem solid var(--im-field-border, rgba(18, 18, 18, 0.2));
  border-radius: var(--im-field-radius, var(--im-radius));
  padding: 1.2rem 1.4rem;
}
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media screen and (max-width: 749px) {
  .contact-block,
  .contact-block.is-form-left,
  .contact-block.is-form-center,
  .contact-block.is-form-right,
  .contact-block[class*="is-form-w-"],
  .contact-form,
  .checkout-fields,
  .buy-form {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .membership-offer { align-items: flex-start; }
}

.site-footer {
  background: var(--im-footer-bg, var(--im-card));
  color: var(--im-footer-color, var(--im-muted));
  margin-top: 7.2rem;
  padding: 3rem 2rem 5.2rem;
  text-align: center;
}
@media screen and (min-width: 750px) {
  .site-footer { margin-top: 9.6rem; }
}
.footer-inner { width: min(100% - 3rem, var(--im-page-width, 1200px)); max-width: var(--im-page-width, 1200px); margin: 0 auto; }
.social, .footer-links {
  list-style: none;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
}
.social a, .footer-links a {
  color: var(--im-muted);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.social a { width: 4.4rem; height: 4.4rem; }
.social svg,
.social img.social-icon { width: 2.2rem; height: 2.2rem; object-fit: contain; }
.footer-links { margin-top: 0.6rem; }
.footer-links a { padding: 0.6rem 0.8rem; font-size: inherit; line-height: inherit; }
.footer-links a:hover, .social a:hover { color: #121212; }
.copy { margin: 1.5rem 0 0; font-size: inherit; line-height: inherit; color: var(--im-footer-color, rgba(97, 98, 103, 0.75)); }

.section-block h1,
.section-block h2,
.section-block h3,
.section-block p { color: inherit; }
.section-block p,
.section-block li,
.prose,
.product-copy,
.footer-inner,
.cart-page,
.order-card {
  font-size: var(--im-font-size, 16px);
  line-height: var(--im-line-height, 1.6);
}
.w-page.rich > *,
.w-page .articles,
.w-page .faq-list,
.w-full.rich > *,
.cw-narrow,
.cw-medium,
.cw-wide,
.cw-full { --im-copy-width: 100%; }
.w-page.rich > *,
.w-page .articles,
.w-page .faq-list,
.w-full.rich > * { max-width: 100%; }
.a-left.rich, .a-left.rich > * { text-align: left; margin-left: 0; }
.a-right.rich { text-align: right; }
.btn--outline {
  background: transparent;
  color: var(--im-button-bg, #121212);
  border: 0.1rem solid currentColor;
}
.btn--link {
  background: transparent;
  color: inherit;
  min-width: 0;
  min-height: 0;
  padding: 0;
  text-decoration: underline;
}
.slideshow__frame { position: relative; }
.slideshow__slide { display: none; position: relative; height: 28rem; overflow: hidden; }
.slideshow__slide.is-active { display: block; }
.slideshow__slide .media { position: absolute; inset: 0; margin: 0; border-radius: 0; box-shadow: none; }
.slideshow__slide img { width: 100%; height: 100%; object-fit: cover; }
.product-prev, .product-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 4.4rem;
  height: 4.4rem;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.86);
  color: #121212;
  font-size: 2.4rem;
  cursor: pointer;
}
.product-prev { left: 1.2rem; }
.product-next { right: 1.2rem; }
.slideshow__slide,
.slideshow.slideshow--original .slideshow__slide { height: 28rem; }
.slideshow.slideshow--low .slideshow__slide { height: 22rem; }
.slideshow.slideshow--medium .slideshow__slide { height: 34rem; }
.slideshow.slideshow--high .slideshow__slide { height: 39rem; }
@media screen and (min-width: 750px) {
  .slideshow .slideshow__slide,
  .slideshow.slideshow--original .slideshow__slide { height: 42rem; }
  .slideshow.slideshow--low .slideshow__slide { height: 32rem; }
  .slideshow.slideshow--medium .slideshow__slide { height: 56rem; }
  .slideshow.slideshow--high .slideshow__slide { height: 72rem; }
}
@media screen and (max-width: 749px) {
  .slideshow.is-mobile-full .slideshow__slide,
  .slideshow.is-mobile-left .slideshow__slide,
  .slideshow.is-mobile-center .slideshow__slide,
  .slideshow.is-mobile-right .slideshow__slide {
    height: 28rem;
    overflow: hidden;
  }
  .slideshow.is-mobile-full.slideshow--low .slideshow__slide,
  .slideshow.slideshow--low .slideshow__slide { height: 22rem; }
  .slideshow.is-mobile-full.slideshow--medium .slideshow__slide,
  .slideshow.slideshow--medium .slideshow__slide { height: 34rem; }
  .slideshow.is-mobile-full.slideshow--high .slideshow__slide,
  .slideshow.slideshow--high .slideshow__slide { height: 39rem; }
  .slideshow.is-mobile-full .slideshow__slide .media,
  .slideshow.is-mobile-left .slideshow__slide .media,
  .slideshow.is-mobile-center .slideshow__slide .media,
  .slideshow.is-mobile-right .slideshow__slide .media {
    position: absolute;
    inset: 0;
  }
  .slideshow.is-mobile-full .slideshow__slide img,
  .slideshow.is-mobile-left .slideshow__slide img,
  .slideshow.is-mobile-center .slideshow__slide img,
  .slideshow.is-mobile-right .slideshow__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.slideshow__controls {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  min-height: 4.6rem;
}
.slideshow__prev, .slideshow__next, .slideshow__pause {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  border: 0;
  background: transparent;
  color: rgba(18, 18, 18, 0.75);
  cursor: pointer;
  padding: 0;
}
.slideshow__prev svg, .slideshow__next svg { width: 1.4rem; height: 0.9rem; display: block; }
.slideshow__prev svg { transform: rotate(90deg); }
.slideshow__next svg { transform: rotate(-90deg); }
.slideshow__pause { position: absolute; right: 0.2rem; }
.slideshow__pause svg { width: 1rem; height: 1.2rem; display: block; }
.slideshow__pause .icon-play { display: none; }
.slideshow__pause.is-paused .icon-pause { display: none; }
.slideshow__pause.is-paused .icon-play { display: block; }
.slideshow__frame[data-arrows="0"] .slideshow__prev,
.slideshow__frame[data-arrows="0"] .slideshow__next,
.slideshow__frame[data-dots="0"] .slideshow__dots,
.slideshow__frame[data-autoplay="0"] .slideshow__pause { display: none; }
.slideshow__dots { display: flex; justify-content: center; gap: 0.8rem; }
.slideshow__dot {
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  border: 0.1rem solid rgba(18, 18, 18, 0.45);
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.slideshow__dot.is-active { background: rgba(18, 18, 18, 0.75); border-color: rgba(18, 18, 18, 0.75); }
.banner__box {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  padding: 2rem;
  text-align: center;
  color: #fff;
}
.banner--overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #000;
  opacity: var(--overlay, 0.25);
}
.a-left .banner__box { align-items: flex-start; text-align: left; }
.a-right .banner__box { align-items: flex-end; text-align: right; }
.columns, .gallery-grid, .quotes, .faq-list, .embed-frame, .video-wrap .embed-frame {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: var(--im-section-pad, 2rem) 0;
}
.columns, .gallery-grid, .quotes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: 1.6rem;
  list-style: none;
}
.columns li, .quotes blockquote {
  background: rgba(255, 255, 255, 0.14);
  padding: 1.6rem;
}
.columns svg { width: 3.2rem; height: 3.2rem; }
.columns h3, .quotes footer { margin: 0.6rem 0 0; }
.gallery-grid { list-style: none; }
.gallery-grid img, .gallery-grid .media { width: 100%; height: 18rem; object-fit: cover; margin: 0; }
.faq-list { max-width: none; }
.faq-list details { border-bottom: 0.1rem solid rgba(255, 255, 255, 0.3); padding: 1rem 0; }
.faq-list summary { cursor: pointer; font-weight: 700; }
.embed-frame iframe, .embed-frame video { width: 100%; aspect-ratio: 16 / 9; border: 0; background: #000; }
.spacer { padding: 0; }
.spacer__bar { display: block; }
.spacer--line .spacer__bar { border-top: 0.1rem solid rgba(255, 255, 255, 0.35); height: 0 !important; margin: var(--im-section-pad, 40px) 0; max-width: none; width: 100%; }
.with-text--reverse .media { order: 2; }
.with-text.is-flush.with-text--reverse .media { order: 0; grid-column: 1; }
.section-block:not(.banner):not(.slideshow),
.pair-rows {
  width: min(100% - 3rem, var(--im-page-width, 1200px));
  max-width: var(--im-page-width, 1200px);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.pair-rows {
  --pair-aspect: 1 / 1;
  --pair-min: 100%;
  margin-top: 3.6rem;
  margin-bottom: 3.6rem;
  padding: 0;
}
.pair-rows > .with-text.is-flush,
.pair-rows > .with-text.is-flush.has-split,
.pair-rows > .with-text.is-flush.has-split.with-text--reverse {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 !important;
  align-items: stretch;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.pair-rows > .with-text.is-flush > .media,
.pair-rows > .with-text.is-flush > .media.media--custom {
  position: relative !important;
  aspect-ratio: var(--pair-aspect, 1 / 1) !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  border-radius: 0;
  overflow: hidden;
  background: #fff;
}
.pair-rows > .with-text.is-flush > .media img,
.pair-rows > .with-text.is-flush > .media.media--custom img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: #fff;
}
.pair-rows > .with-text.is-flush.is-fit-contain > .media img,
.pair-rows > .with-text.is-flush.is-fit-contain > .media.media--custom img {
  object-fit: contain !important;
  object-position: center center !important;
}
.pair-rows:has(> .with-text.is-flush ~ .with-text.is-flush) > .with-text.is-flush > .media,
.pair-rows:has(> .with-text.is-flush ~ .with-text.is-flush) > .with-text.is-flush > .media.media--custom {
  align-self: start !important;
}
.pair-rows:not(:has(> .with-text.is-flush ~ .with-text.is-flush)) > .with-text.is-flush > .media,
.pair-rows:not(:has(> .with-text.is-flush ~ .with-text.is-flush)) > .with-text.is-flush > .media.media--custom {
  aspect-ratio: auto !important;
  min-height: auto !important;
  align-self: stretch !important;
}
.pair-rows:not(:has(> .with-text.is-flush ~ .with-text.is-flush)) > .with-text.is-flush > .media::before,
.pair-rows:not(:has(> .with-text.is-flush ~ .with-text.is-flush)) > .with-text.is-flush > .media.media--custom::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: var(--pair-min, 100%);
}
.pair-rows .with-text.is-flush .rich,
.pair-rows .with-text.is-flush .rich--left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  min-height: auto;
  max-height: none;
  margin: 0;
  overflow: visible;
  padding: 2.4rem 2.2rem;
  text-align: left;
  color: #fff;
}
.pair-rows .with-text.is-flush h1,
.pair-rows .with-text.is-flush h2,
.pair-rows .with-text.is-flush .page-title,
.pair-rows .with-text.is-flush .section-title {
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.15;
  letter-spacing: 0.01em;
  color: #fff;
  margin: 0 0 1.2rem;
}
.pair-rows .with-text.is-flush .rich p,
.pair-rows .with-text.is-flush .rich--left p {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  color: #fff;
}
.pair-rows > .with-text.is-flush > .rich > * { max-width: none !important; margin-left: 0; margin-right: 0; }
@media screen and (min-width: 750px) {
  .slideshow__slide { height: 42rem; }
  .with-text { max-width: none; }
  .pair-rows > .with-text.is-flush,
  .pair-rows > .with-text.is-flush.has-split,
  .pair-rows > .with-text.is-flush.has-split.with-text--reverse {
    grid-template-columns: 1fr 1fr !important;
  }
  .pair-rows .with-text.is-flush .rich,
  .pair-rows .with-text.is-flush .rich--left {
    aspect-ratio: auto;
    height: auto;
    min-height: auto;
    max-height: none;
    padding: 2.8rem 3.2rem;
    overflow: visible;
  }
  .pair-rows .with-text.is-flush h1,
  .pair-rows .with-text.is-flush h2,
  .pair-rows .with-text.is-flush .page-title,
  .pair-rows .with-text.is-flush .section-title { font-size: 3.6rem; }
  .pair-rows .with-text.is-flush .rich p,
  .pair-rows .with-text.is-flush .rich--left p { font-size: inherit; line-height: inherit; }
  .pair-rows > .with-text.is-flush > .media,
  .pair-rows > .with-text.is-flush.has-split > .media {
    order: 0;
    grid-column: 1;
    grid-row: 1;
  }
  .pair-rows > .with-text.is-flush > .rich,
  .pair-rows > .with-text.is-flush.has-split > .rich {
    order: 0;
    grid-column: 2;
    grid-row: 1;
  }
  .pair-rows > .with-text.is-flush.with-text--reverse > .media,
  .pair-rows > .with-text.is-flush.has-split.with-text--reverse > .media {
    order: 0;
    grid-column: 2;
    grid-row: 1;
  }
  .pair-rows > .with-text.is-flush.with-text--reverse > .rich,
  .pair-rows > .with-text.is-flush.has-split.with-text--reverse > .rich {
    grid-column: 1;
    grid-row: 1;
  }
}
body.is-preview [data-edit-section] { cursor: pointer; }
body.is-preview [data-edit-section]:hover { outline: 0.2rem solid rgba(255, 255, 255, 0.9); outline-offset: -0.2rem; }
body.is-preview [data-edit-item]:hover { outline: 0.2rem solid #121212; outline-offset: -0.2rem; }
.error-page { padding: 4rem 1.5rem; background: var(--im-paper); color: #fff; }

@media screen and (max-width: 989px) {
  .nav-toggle { display: inline-flex; }
  .header-bar {
    position: static;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "toggle brand lang";
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .brand {
    position: static;
    z-index: 2;
    justify-self: center;
    align-self: center;
    width: auto;
    max-width: 100%;
    height: auto;
    min-width: 0;
    margin: 0;
    transform: none;
  }
  .brand img {
    width: auto;
    max-width: 100%;
    max-height: 4.4rem;
    height: auto;
  }
  .site-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: auto;
    z-index: 25;
    width: max-content;
    max-width: 100%;
    max-height: 70vh;
    overflow: auto;
    margin: 0;
    background: #fff;
    color: #121212;
    border-radius: 0;
    box-shadow: 0 1.2rem 3.2rem rgba(18, 18, 18, 0.16);
  }
  .site-nav.is-open { display: block; }
  .site-nav ul { flex-direction: column; align-items: stretch; margin: 0; min-width: 16rem; border-top: 0; }
  .site-nav a {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    min-height: 4rem;
    padding: 0 1.6rem;
    font-size: 1.6rem;
    line-height: 1.2;
  }
}

/* Hele billedet keeps the file's own ratio. The section colour shows under it. */
.pair-rows:not(:has(> .with-text.is-flush ~ .with-text.is-flush)) > .with-text.is-flush.is-fit-contain > .media,
.pair-rows:not(:has(> .with-text.is-flush ~ .with-text.is-flush)) > .with-text.is-flush.is-fit-contain > .media.media--custom,
.pair-rows:has(> .with-text.is-flush ~ .with-text.is-flush) > .with-text.is-flush.is-fit-contain > .media,
.pair-rows:has(> .with-text.is-flush ~ .with-text.is-flush) > .with-text.is-flush.is-fit-contain > .media.media--custom {
  align-self: start !important;
  aspect-ratio: auto !important;
  height: auto !important;
  min-height: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}
.pair-rows:not(:has(> .with-text.is-flush ~ .with-text.is-flush)) > .with-text.is-flush.is-fit-contain > .media::before,
.pair-rows:not(:has(> .with-text.is-flush ~ .with-text.is-flush)) > .with-text.is-flush.is-fit-contain > .media.media--custom::before {
  content: none !important;
  display: none !important;
  padding-top: 0 !important;
}
.pair-rows > .with-text.is-flush.is-fit-contain > .media img,
.pair-rows > .with-text.is-flush.is-fit-contain > .media.media--custom img {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center top !important;
  background: transparent !important;
}
.pair-rows > .with-text.is-flush.is-fit-contain > .rich h1,
.pair-rows > .with-text.is-flush.is-fit-contain > .rich h2,
.pair-rows > .with-text.is-flush.is-fit-contain > .rich .section-title,
.pair-rows > .with-text.is-flush.is-fit-contain > .rich .page-title {
  font-weight: 400;
}
.pair-rows > .with-text.is-flush.is-fit-contain > .rich p,
.pair-rows > .with-text.is-flush.is-fit-contain > .rich .prose p {
  margin: 0 0 1.5em;
}
.pair-rows > .with-text.is-flush.is-fit-contain > .rich p:last-child,
.pair-rows > .with-text.is-flush.is-fit-contain > .rich .prose p:last-child {
  margin-bottom: 0;
}
.pair-rows > .with-text.is-flush.is-fit-contain > .rich strong {
  font-weight: 700;
}
@media screen and (min-width: 750px) {
  .pair-rows > .with-text.is-flush.is-col-third,
  .pair-rows > .with-text.is-flush.has-split.is-col-third,
  .pair-rows > .with-text.is-flush.is-col-two.with-text--reverse,
  .pair-rows > .with-text.is-flush.has-split.is-col-two.with-text--reverse {
    grid-template-columns: 1fr 2fr !important;
  }
  .pair-rows > .with-text.is-flush.is-col-two,
  .pair-rows > .with-text.is-flush.has-split.is-col-two,
  .pair-rows > .with-text.is-flush.is-col-third.with-text--reverse,
  .pair-rows > .with-text.is-flush.has-split.is-col-third.with-text--reverse {
    grid-template-columns: 2fr 1fr !important;
  }
}
