@import url("https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

:root {
  --primary: rgb(186, 142, 122);
  --primaryLight: rgb(215, 161, 132);
  --secondary: rgb(212, 194, 173);
  --secondaryLight: #efdfcc;
  --headerColor: #5f7164;
  --bodyTextColor: #424242;
  --bodyTextColorWhite: #fafbfc;
  /* 13px - 16px */
  --topperFontSize: clamp(0.8125rem, 1.6vw, 1rem);
  /* 31px - 49px */
  --headerFontSize: clamp(1.9375rem, 3.9vw, 3.0625rem);
  --bodyFontSize: 1rem;
  /* 60px - 100px top and bottom */
  --sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem;
}

button {
  border: none; /* Remove default border */
  outline: none; /* Remove focus outline */
}

a {
  text-decoration: none;
  color: inherit;
}

.cs-link-text {
  color: var(--primary);
  font-weight: 700;
}

.cs-topper {
  font-size: var(--topperFontSize);

  line-height: 1.2em;
  text-transform: uppercase;
  text-align: inherit;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: var(--primary) !important;
  margin-bottom: 0.25rem;
  display: block;
  font-family: "Playfair Display", sans-serif;
}

.cs-title {
  /* 39px - 61px */
  font-size: clamp(2.4375rem, 5vw, 3.8125rem);
  font-weight: 900;
  line-height: 1.2em;
  text-align: center;
  max-width: 43.75rem;
  margin: 0 auto 1rem;
  color: var(--headerColor);
  position: relative;

  font-family: "Playfair Display", sans-serif;
}
.cs-text {
  /* 16px - 20px */
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  line-height: 1.5em;
  text-align: center;
  width: 100%;
  max-width: 33.1875rem;
  margin: 0 auto;
  /* 28px - 40px */
  margin-bottom: clamp(1.75rem, 3.92vw, 2.5rem);
  color: var(--bodyTextColor);
  font-family: "Jost", sans-serif;
}
.cs-button-solid {
  font-size: 1rem;
  /* 46px - 56px */
  line-height: clamp(2.875rem, 5.5vw, 3.5rem);
  text-decoration: none;
  font-weight: 700;
  text-align: center;
  margin: auto;
  color: #1a1a1a;
  min-width: 9.375rem;
  margin: 0;
  padding: 0 1.5rem;
  background-color: var(--secondary);
  border-radius: 0.25rem;
  display: inline-block;
  position: relative;
  z-index: 1;
  /* prevents padding from adding to the width */
  box-sizing: border-box;
  transition: color 0.3s;
  font-family: "Playfair Display", serif;
}
.cs-button-solid:before {
  content: "";
  position: absolute;
  height: 100%;
  width: 0%;
  background: var(--primary);
  opacity: 1;
  top: 0;
  left: 0;
  z-index: -1;
  border-radius: 0.25rem;
  transition: width 0.3s;
}
.cs-button-solid:hover {
  color: #fff;
}
.cs-button-solid:hover:before {
  width: 100%;
}

.web_link {
  color: var(--primary);
  font-weight: 700;
}