:root {
  --c-gray: #817973;
  --c-black: #2f2924;
  --c-white: #ffffff;
  --c-light-gray: #eeebe9;
  --c-gold: #b8a073;

  --container-columns: 12;
  --container-gap: 2rem;
  --container-column-width: 4.375rem;
  --container-x-padding: 1rem;

  --br-medium: 0.5rem;
  --br-big: 0.625rem;

  --ff-sans: "Barlow", system-ui, sans-serif;
  --ff-curisve: "Caveat", serif;

  --tongue-height: 3.9375rem;
}

.bg-white {
  background-color: var(--c-white);
}

.text-white {
  color: var(--c-white);
}

.text-gold {
  color: var(--c-gold);
}

.text-gray {
  color: var(--c-gray);
}

@font-face {
  font-family: "Barlow";
  src: url("../assets/fonts/barlow/Barlow-Light.ttf") format("truetype");
  font-weight: 300;
}

@font-face {
  font-family: "Barlow";
  src: url("../assets/fonts/barlow/Barlow-Regular.ttf") format("truetype");
  font-weight: 400;
}

@font-face {
  font-family: "Barlow";
  src: url("../assets/fonts/barlow/Barlow-Medium.ttf") format("truetype");
  font-weight: 500;
}

@font-face {
  font-family: "Barlow";
  src: url("../assets/fonts/barlow/Barlow-SemiBold.ttf") format("truetype");
  font-weight: 600;
}

@font-face {
  font-family: "Barlow";
  src: url("../assets/fonts/barlow/Barlow-Bold.ttf") format("truetype");
  font-weight: 700;
}

@font-face {
  font-family: "Barlow";
  src: url("../assets/fonts/barlow/Barlow-ExtraBold.ttf") format("truetype");
  font-weight: 800;
}

@font-face {
  font-family: "Barlow";
  src: url("../assets/fonts/barlow/BarlowSemiCondensed-Black.ttf") format("truetype");
  font-weight: 900;
}

@font-face {
  font-family: "Caveat";
  src: url("../assets/fonts/caveat/Caveat-Bold.ttf") format("truetype");
  font-weight: 700;
}

.fw-300 {
  font-weight: 300;
}
.fw-400 {
  font-weight: 400;
}
.fw-500 {
  font-weight: 500;
}
.fw-600 {
  font-weight: 600;
}
.fw-700 {
  font-weight: 700;
}
.fw-800 {
  font-weight: 800;
}
.fw-900 {
  font-weight: 900;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--ff-sans);
  color: var(--c-black);
  background-color: var(--c-light-gray);
}

.ff-sans {
  font-family: var(--ff-sans);
}

.ff-cursive {
  font-weight: 700;
  font-family: var(--ff-curisve);
}

input[type="submit"],
.btn {
  display: inline-block;
  text-decoration: none;
  padding-block-start: 0.875rem;
  padding-block-end: 0.9375rem;
  padding-inline: 1.75rem;
  border-radius: var(--br-medium);
  font-size: 1rem;
  line-height: 1.1875;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.32px;
  cursor: pointer;
}

input[type="submit"],
.btn.btn-full {
  background-color: var(--c-black);
  color: var(--c-white);
}

.container {
  width: 100%;
  max-width: calc((var(--container-x-padding) * 2) + ((var(--container-columns) - 1) * var(--container-gap)) + (var(--container-columns) * var(--container-column-width)));
  margin-inline: auto;
  padding-inline: var(--container-x-padding);
}

.container.container-10 {
  --container-columns: 10;
}

.container.container-8 {
  --container-columns: 8;
}

.container.container-6 {
  --container-columns: 6;
}

.fs-80 {
  font-size: 5rem;
  line-height: 1.2;
}

.fs-77 {
  font-size: 4.8125rem;
  line-height: 1.506494;
}

.fs-48 {
  font-size: 3rem;
  line-height: 1.166667;
  letter-spacing: 1.44px;
}

.fs-20 {
  font-size: 1.25rem;
  line-height: 1.25;
}

.fs-18 {
  font-size: 1.125rem;
  line-height: 1.555556;
}

@media (max-width: 1024px) {
  .fs-80 {
    font-size: 4rem;
  }

  .fs-77 {
    font-size: 3.875rem;
  }

  .fs-48 {
    font-size: 2.5rem;
  }

  .fs-20 {
    font-size: 1.125rem;
  }

  .fs-18 {
    font-size: 1rem;
  }
}

@media (max-width: 768px) {
  .fs-80 {
    font-size: 3.5rem;
  }

  .fs-77 {
    font-size: 3.25rem;
  }

  .fs-48 {
    font-size: 2rem;
  }
}

@media (max-width: 480px) {
  .fs-80 {
    font-size: 3rem;
  }

  .fs-77 {
    font-size: 2.75rem;
  }

  .fs-48 {
    font-size: 1.75rem;
  }
}

.layers {
  display: grid;
}

.layers > .layer {
  grid-column: -1/1;
  grid-row: -1/1;
}

.layers > .layer.layer-fg {
  position: relative;
}

.section-title.section-title-dashes {
  position: relative;
}

.section-title.section-title-dashes::after {
  content: "——————";
  font-size: 1rem;
  line-height: 1.875rem;
  position: absolute;
  bottom: 0;
  transform: translateY(calc(100% + 0.625rem)) translateX(-50%);
  left: 50%;
  color: var(--c-gray);
  font-family: var(--ff-curisve);
}

.section-title.section-title-dashes.section-title-dashes-left::after {
  transform: translateY(calc(100% + 0.625rem)) translateX(0);
  left: 0;
  line-height: 1.25rem;
}

@media only screen and (max-width: 768px) {
  .section-title.section-title-dashes.section-title-dashes-left::after {
    transform: translateY(calc(100% - 0.225rem));
  }
  .section-title.section-title-dashes::after {
    transform: translateY(calc(100% - 0.225rem)) translateX(-50%);
  }
}

.img-wrapper.img-wrapper-ratio {
  position: relative;
  height: 0;
}

.img-wrapper.img-wrapper-ratio > iframe,
.img-wrapper.img-wrapper-ratio > video,
.img-wrapper.img-wrapper-ratio > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

input[type="email"] {
  padding-block-start: 0.8125rem;
  padding-block-end: 1rem;
  padding-inline: 1.25rem;
  border-radius: var(--br-medium);
  font-size: 1rem;
  line-height: 1.1875;
  border: none;
  width: 100%;
}

input[type="checkbox"] {
  appearance: none;
  border-radius: 0.25rem;
  height: 1.25rem;
  width: 1.25rem;
  outline: 1px solid var(--c-black);
  flex-shrink: 0;
}

input[type="checkbox"]:checked {
  background-color: var(--c-black);
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwLDAsMjU2LDI1NiIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCIgZmlsbC1ydWxlPSJub256ZXJvIj48ZyBmaWxsPSIjZmZmZmZmIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIiIHN0cm9rZS1kYXNob2Zmc2V0PSIwIiBmb250LWZhbWlseT0ibm9uZSIgZm9udC13ZWlnaHQ9Im5vbmUiIGZvbnQtc2l6ZT0ibm9uZSIgdGV4dC1hbmNob3I9Im5vbmUiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTogbm9ybWFsIj48ZyB0cmFuc2Zvcm09InNjYWxlKDEwLjY2NjY3LDEwLjY2NjY3KSI+PHBhdGggZD0iTTE5Ljk4MDQ3LDUuOTkwMjNjLTAuMjU5OCwwLjAwNzc0IC0wLjUwNjM4LDAuMTE2MzIgLTAuNjg3NSwwLjMwMjczbC0xMC4yOTI5NywxMC4yOTI5N2wtMy4yOTI5NywtMy4yOTI5N2MtMC4yNTA4MiwtMC4yNjEyNCAtMC42MjMyNywtMC4zNjY0NyAtMC45NzM3MSwtMC4yNzUxMWMtMC4zNTA0NCwwLjA5MTM2IC0wLjYyNDExLDAuMzY1MDMgLTAuNzE1NDcsMC43MTU0N2MtMC4wOTEzNiwwLjM1MDQ0IDAuMDEzODgsMC43MjI4OSAwLjI3NTExLDAuOTczNzFsNCw0YzAuMzkwNTMsMC4zOTAzNyAxLjAyMzUzLDAuMzkwMzcgMS40MTQwNiwwbDExLC0xMWMwLjI5NTc2LC0wLjI4NzQ5IDAuMzg0NjksLTAuNzI3MDcgMC4yMjM5MywtMS4xMDY5MWMtMC4xNjA3NSwtMC4zNzk4NSAtMC41MzgyMSwtMC42MjIwNCAtMC45NTA1LC0wLjYwOTg4eiI+PC9wYXRoPjwvZz48L2c+PC9zdmc+");
  background-repeat: no-repeat;
  background-size: 90%;
  background-position: center center;
}

.rich-text p:not(:last-child) {
  margin-bottom: 1.2em;
}

.text-outlined {
  -webkit-text-stroke: 1.5px var(--c-black);
  color: transparent;
}

.text-white .text-outlined {
  -webkit-text-stroke: 1.5px var(--c-white);
}

:focus-visible {
  outline: 0;
  box-shadow:
    0 0 0 5px #da3b2b,
    0 0 0 10px #ffffff,
    0 0 0 15px #47944a;
}

.gsap-fader .gsap-fader-child {
  opacity: 0;
}
