/* Do not edit anything below */
.home-hero-section {
  background-color: #671e3a;
  color: #fbf8f3;
  display: grid;
  position: relative;
  overflow: hidden;
}
.home-hero-section .bg {
  inline-size: 100%;
  block-size: 100%;
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  z-index: 0;
}
.home-hero-section .bg-image,
.home-hero-section video,
.home-hero-section iframe {
  inline-size: 100%;
  block-size: 100%;
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  object-fit: cover;
}
.home-hero-section .bg-overlay {
  background-color: rgba(35, 30, 28, 0.5);
  inline-size: 100%;
  block-size: 100%;
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  z-index: 1;
}
.home-hero-section .container {
  display: grid;
  position: relative;
  z-index: 1;
}
.home-hero-section .inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(2.5rem, 2.5rem + 2.5 * (100vw - 48rem) / 27, 5rem);
  min-block-size: inherit;
  padding-block: clamp(5.9375rem, 5.9375rem + 5.3125 * (100vw - 48rem) / 27, 11.25rem) clamp(1.5rem, 1.5rem + 1.5 * (100vw - 48rem) / 27, 3rem);
}
.home-hero-section .content {
  max-inline-size: 33.75rem;
}
.home-hero-section .text-label {
  background-color: rgba(251, 248, 243, 0.08);
  color: #fbf8f3;
  margin-block-end: clamp(1rem, 1rem + 0.5 * (100vw - 48rem) / 27, 1.5rem);
}
.home-hero-section .heading {
  color: #fbf8f3;
  font-size: clamp(2rem, 2rem + 1.5 * (100vw - 48rem) / 27, 3.5rem);
  font-style: italic;
  letter-spacing: -0.02em;
  margin-block-end: clamp(0.75rem, 0.75rem + 0.25 * (100vw - 48rem) / 27, 1rem);
}
.home-hero-section .description {
  color: rgba(251, 248, 243, 0.6);
  font-family: "Geist", -apple-system, blinkmacsystemfont, "avenir next", "avenir, segoe ui", "helvetica neue", helvetica, ubuntu, roboto, noto, arial, sans-serif;
  font-size: clamp(0.875rem, 0.875rem + 0.125 * (100vw - 48rem) / 27, 1rem);
  line-height: 1.4;
  max-inline-size: 28rem;
  margin-block-end: clamp(1.5rem, 1.5rem + 0.5 * (100vw - 48rem) / 27, 2rem);
}
.home-hero-section .product {
  background-color: #fbf8f3;
  display: flex;
  align-items: stretch;
  align-self: flex-end;
  inline-size: min(100%, 33rem);
  border-radius: clamp(0.375rem, 0.375rem + 0.375 * (100vw - 48rem) / 27, 0.75rem);
  box-shadow: 0 0.25rem 1.5rem 1.875rem rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.home-hero-section .product-image {
  flex-shrink: 0;
  inline-size: clamp(7.5rem, 7.5rem + 4.25 * (100vw - 48rem) / 27, 11.75rem);
}
.home-hero-section .product-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(1rem, 1rem + 0.5 * (100vw - 48rem) / 27, 1.5rem);
  padding: clamp(0.75rem, 0.75rem + 0.25 * (100vw - 48rem) / 27, 1rem);
}
.home-hero-section .product-header {
  display: flex;
  flex-direction: column;
}
.home-hero-section .product-eyebrow {
  color: #362925;
  font-family: "Libre Baskerville", serif;
  font-size: clamp(0.875rem, 0.875rem + 0.125 * (100vw - 48rem) / 27, 1rem);
  line-height: 1.4;
}
.home-hero-section .product-title {
  color: #362925;
  font-family: "Libre Baskerville", serif;
  font-size: clamp(0.875rem, 0.875rem + 0.125 * (100vw - 48rem) / 27, 1rem);
  line-height: 1.4;
  margin-block-end: clamp(0.25rem, 0.25rem + 0.25 * (100vw - 48rem) / 27, 0.5rem);
}
.home-hero-section .product-description {
  color: rgba(0, 0, 0, 0.4);
  font-family: "Geist", -apple-system, blinkmacsystemfont, "avenir next", "avenir, segoe ui", "helvetica neue", helvetica, ubuntu, roboto, noto, arial, sans-serif;
  font-size: clamp(0.75rem, 0.75rem + 0.125 * (100vw - 48rem) / 27, 0.875rem);
  line-height: 1.4;
}

iframe {
  border: 0;
}
iframe.is-inline-stream {
  pointer-events: none;
}

video::-webkit-media-controls {
  display: none !important;
}

.btn-dialog-open {
  inline-size: clamp(2.75rem, 2.75rem + 2.25 * (100vw - 48rem) / 27, 5rem);
  margin: auto;
  position: absolute;
  inset: 0;
  z-index: 1;
}
.btn-dialog-open svg {
  color: #fff;
}
.btn-dialog-open:hover svg, .btn-dialog-open:focus-visible svg {
  animation: play 0.3s ease-out;
}

.dialog {
  background-color: #333;
  max-inline-size: 75%;
  padding: 0;
  margin: auto;
  border: 0;
  z-index: 10;
  transition: 0.25s ease-out;
  overflow: hidden;
  user-select: none;
}
.dialog::backdrop {
  background: rgba(0, 0, 0, 0.8);
}
.dialog .btn-dialog-close {
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  font-size: 1.25rem;
  display: block;
  align-items: center;
  justify-content: center;
  inline-size: 2.5rem;
  block-size: 2.5rem;
  border-radius: 0.3125rem;
  position: absolute;
  inset-inline-end: 0.9375rem;
  inset-block-start: 0.9375rem;
  z-index: 1;
}
.dialog .btn-dialog-close svg {
  inline-size: 1.5rem;
}
.dialog video,
.dialog iframe {
  inline-size: 75vw;
}