:root {
  --base-color-brand--purple: #2d2f55;
  --base-color-neutral--white: #fff;
  --link-color--link-primary: var(--base-color-brand--purple-light);
  --background-color--background-primary: var(--base-color-brand--purple);
  --text-color--text-alternate: var(--base-color-neutral--white);
  --text-color--text-primary: var(--base-color-brand--purple);
  --text-color--text-secondary: var(--base-color-brand--gold);
  --background-color--background-success\<deleted\|variable-879e2a57-3170-38fd-0ae7-d0e890873ab2\>: var(--base-color-system--success-green\<deleted\|variable-8fc09a81-a1c7-3c5b-2cf2-835ad5d96212\>);
  --text-color--text-success\<deleted\|variable-17518f72-fb93-45b5-ad9e-fdd3f2b1833a\>: var(--base-color-system--success-green-dark\<deleted\|variable-70ae3530-1c64-4d15-f2af-205678316683\>);
  --border-color--border-primary: var(--base-color-brand--gold);
  --background-color--background-alternate: var(--base-color-neutral--white);
  --background-color--background-secondary: var(--base-color-brand--purple-light);
  --background-color--background-tertiary: var(--base-color-brand--gold);
  --background-color--background-error\<deleted\|variable-89aecd3e-2fe8-312c-65a2-e3e7c57d326c\>: var(--base-color-system--error-red\<deleted\|variable-ad7a5e8d-bd95-fba4-5110-cbccfa2520c4\>);
  --text-color--text-error\<deleted\|variable-4a51c5d2-820c-a0d9-b49e-0e5d273c964f\>: var(--base-color-system--error-red-dark\<deleted\|variable-f7a8b234-8033-a5d6-4d85-0326277c2bf8\>);
  --base-color-brand--gold: #d1b35b;
  --background-color--background-warning\<deleted\|variable-0aa1a7ce-e851-b6b5-66db-1a1a96e8e04b\>: var(--base-color-system--warning-yellow\<deleted\|variable-b0ee00e7-091a-a3f5-1619-b09d07f4475a\>);
  --text-color--text-warning\<deleted\|variable-825aa1d8-b093-0b89-37c5-87d980df10f5\>: var(--base-color-system--warning-yellow-dark\<deleted\|variable-296491a7-483e-1229-36b5-e13808cc9004\>);
  --link-color--link-alternate: var(--base-color-neutral--white);
  --link-color--link-secondary: var(--base-color-brand--gold);
  --border-color--border-secondary: var(--base-color-brand--purple-light);
  --base-color-brand--purple-light: #383e8a;
  --base-color-neutral--black: #000;
  --border-color--border-alternate: var(--base-color-brand--purple);
  --base-color-system--success-green\<deleted\|variable-8fc09a81-a1c7-3c5b-2cf2-835ad5d96212\>: #cef5ca;
  --base-color-system--success-green-dark\<deleted\|variable-70ae3530-1c64-4d15-f2af-205678316683\>: #114e0b;
  --base-color-system--error-red\<deleted\|variable-ad7a5e8d-bd95-fba4-5110-cbccfa2520c4\>: #f8e4e4;
  --base-color-system--error-red-dark\<deleted\|variable-f7a8b234-8033-a5d6-4d85-0326277c2bf8\>: #3b0b0b;
  --base-color-system--warning-yellow\<deleted\|variable-b0ee00e7-091a-a3f5-1619-b09d07f4475a\>: #fcf8d8;
  --base-color-system--warning-yellow-dark\<deleted\|variable-296491a7-483e-1229-36b5-e13808cc9004\>: #5e5515;
}

.w-layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.w-checkbox {
  margin-bottom: 5px;
  padding-left: 20px;
  display: block;
}

.w-checkbox:before {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-checkbox:after {
  content: " ";
  clear: both;
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-checkbox-input {
  float: left;
  margin: 4px 0 0 -20px;
  line-height: normal;
}

.w-checkbox-input--inputType-custom {
  border: 1px solid #ccc;
  border-radius: 2px;
  width: 12px;
  height: 12px;
}

.w-checkbox-input--inputType-custom.w--redirected-checked {
  background-color: #3898ec;
  background-image: url('https://d3e54v103j8qbb.cloudfront.net/static/custom-checkbox-checkmark.589d534424.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border-color: #3898ec;
}

.w-checkbox-input--inputType-custom.w--redirected-focus {
  box-shadow: 0 0 3px 1px #3898ec;
}

.w-form-formradioinput--inputType-custom {
  border: 1px solid #ccc;
  border-radius: 50%;
  width: 12px;
  height: 12px;
}

.w-form-formradioinput--inputType-custom.w--redirected-focus {
  box-shadow: 0 0 3px 1px #3898ec;
}

.w-form-formradioinput--inputType-custom.w--redirected-checked {
  border-width: 4px;
  border-color: #3898ec;
}

body {
  background-color: var(--base-color-brand--purple);
  color: var(--base-color-neutral--white);
  font-family: Lato, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

h1 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: Playfair Display, sans-serif;
  font-size: 4rem;
  font-weight: 400;
  line-height: 1;
}

h2 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: Playfair Display, sans-serif;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.2;
}

h3 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: Playfair Display, sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.2;
}

h4 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: Playfair Display, sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.4;
}

h5 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: Playfair Display, sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.5;
}

h6 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: Playfair Display, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}

p {
  margin-bottom: 0;
}

a {
  color: var(--link-color--link-primary);
  transition: all .25s;
}

ul, ol {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 1.5rem;
}

li {
  margin-bottom: .25rem;
}

img {
  max-width: 100%;
  display: inline-block;
}

label {
  margin-bottom: .25rem;
  font-weight: 500;
}

blockquote {
  border-left: .25rem solid #e2e2e2;
  margin-bottom: 0;
  padding: 0 1.25rem;
  font-size: 1.25rem;
  line-height: 1.5;
}

figure {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

figcaption {
  text-align: center;
  margin-top: .25rem;
}

.utility-page_component {
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  display: flex;
}

.utility-page_wrapper {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  text-align: center;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  max-width: 20rem;
  display: flex;
}

.utility-page_form {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  display: flex;
}

.utility-page_image {
  margin-left: auto;
  margin-right: auto;
}

.global-styles {
  display: block;
  position: fixed;
  inset: 0% auto auto 0%;
}

.margin-custom2 {
  margin: 2.5rem;
}

.padding-xlarge {
  padding: 4rem;
}

.margin-xlarge {
  margin: 4rem;
}

.margin-xsmall {
  margin: .5rem;
}

.padding-xhuge {
  padding: 8rem;
}

.margin-custom1 {
  margin: 1.5rem;
}

.padding-0 {
  padding: 0;
}

.padding-xxhuge {
  padding: 12rem;
}

.padding-huge {
  padding: 6rem;
}

.margin-large {
  margin: 3rem;
}

.padding-xxlarge {
  padding: 5rem;
}

.margin-xxsmall {
  margin: .25rem;
}

.padding-custom3 {
  padding: 3.5rem;
}

.padding-large {
  padding: 3rem;
}

.margin-tiny {
  margin: .125rem;
}

.padding-small {
  padding: 1rem;
}

.padding-custom2 {
  padding: 2.5rem;
}

.margin-custom3 {
  margin: 3.5rem;
}

.padding-custom1 {
  padding: 1.5rem;
}

.margin-huge {
  margin: 6rem;
}

.padding-medium {
  padding: 2rem;
}

.padding-xsmall {
  padding: .5rem;
}

.margin-xxlarge {
  margin: 5rem;
}

.padding-xxsmall {
  padding: .25rem;
}

.margin-xhuge {
  margin: 8rem;
}

.padding-tiny {
  padding: .125rem;
}

.margin-small {
  margin: 1rem;
}

.margin-medium {
  margin: 2rem;
}

.margin-xxhuge {
  margin: 12rem;
}

.margin-0 {
  margin: 0;
}

.margin-horizontal {
  margin-top: 0;
  margin-bottom: 0;
}

.padding-top {
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
}

.margin-vertical {
  margin-left: 0;
  margin-right: 0;
}

.margin-bottom {
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
}

.padding-left {
  padding-top: 0;
  padding-bottom: 0;
  padding-right: 0;
}

.padding-vertical {
  padding-left: 0;
  padding-right: 0;
}

.padding-horizontal {
  padding-top: 0;
  padding-bottom: 0;
}

.margin-right {
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 0;
}

.margin-top {
  margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;
}

.margin-left {
  margin-top: 0;
  margin-bottom: 0;
  margin-right: 0;
}

.padding-right {
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
}

.padding-bottom {
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
}

.form_checkbox {
  flex-direction: row;
  align-items: center;
  margin-bottom: .5rem;
  padding-left: 0;
  display: flex;
}

.form_checkbox-icon {
  border-radius: .125rem;
  width: .875rem;
  height: .875rem;
  margin: 0 .5rem 0 0;
}

.form_checkbox-icon.w--redirected-checked {
  background-size: 90%;
  border-radius: .125rem;
  width: .875rem;
  height: .875rem;
  margin: 0 .5rem 0 0;
}

.form_checkbox-icon.w--redirected-focus {
  border-radius: .125rem;
  width: .875rem;
  height: .875rem;
  margin: 0 .5rem 0 0;
  box-shadow: 0 0 .25rem 0 #3898ec;
}

.fs-styleguide_background {
  border: 1px solid #0000001a;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  display: flex;
}

.fs-styleguide_spacing {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  background-image: linear-gradient(to top, #2d40ea1a, #fff0);
  grid-template-rows: auto auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  place-content: start;
  place-items: start stretch;
  display: grid;
  position: relative;
}

.icon-1x1-small {
  flex: none;
  width: 1rem;
  height: 1rem;
}

.fs-styleguide_background-space {
  width: 1px;
  height: 1px;
  margin: 5rem;
}

.text-weight-semibold {
  font-weight: 600;
}

.fs-styleguide_item {
  grid-column-gap: 1.125rem;
  grid-row-gap: 1.125rem;
  border-bottom: 1px solid #0000001a;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  place-content: start;
  place-items: start;
  padding-bottom: 3rem;
  display: grid;
  position: relative;
}

.fs-styleguide_item.is-stretch {
  justify-items: stretch;
}

.max-width-full {
  width: 100%;
  max-width: none;
}

.fs-styleguide_item-header {
  border-bottom: 1px solid #0000001a;
  width: 100%;
  padding-bottom: 2rem;
}

.background-color-primary {
  background-color: var(--background-color--background-primary);
  color: var(--text-color--text-alternate);
}

.text-color-primary {
  color: var(--text-color--text-primary);
}

.text-color-secondary {
  color: var(--text-color--text-secondary);
}

.fs-styleguide_2-col {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
}

.form_message-success {
  background-color: var(--background-color--background-success\<deleted\|variable-879e2a57-3170-38fd-0ae7-d0e890873ab2\>);
  color: var(--text-color--text-success\<deleted\|variable-17518f72-fb93-45b5-ad9e-fdd3f2b1833a\>);
  padding: 1.25rem;
}

.fs-styleguide_row {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-direction: row;
  grid-template-rows: auto;
  grid-template-columns: auto;
  grid-auto-columns: auto;
  grid-auto-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.heading-style-h3 {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.2;
}

.text-rich-text h1, .text-rich-text h2, .text-rich-text h3, .text-rich-text h4 {
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}

.text-rich-text h5, .text-rich-text h6 {
  margin-top: 1.25rem;
  margin-bottom: 1rem;
}

.text-rich-text p {
  margin-bottom: 1rem;
}

.text-rich-text ul, .text-rich-text ol {
  margin-bottom: 1.5rem;
}

.text-rich-text blockquote {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.container-small {
  width: 100%;
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
}

.heading-style-h1 {
  font-size: 4rem;
  font-weight: 400;
  line-height: 1.1;
}

.padding-global {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.text-weight-normal {
  font-weight: 400;
}

.padding-section-small {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.max-width-small {
  width: 100%;
  max-width: 20rem;
}

.text-color-alternate {
  color: var(--text-color--text-alternate);
}

.text-weight-medium {
  font-weight: 500;
}

.fs-styleguide_section-header {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  border-bottom: 1px solid var(--border-color--border-primary);
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  padding-bottom: 3rem;
  line-height: 1.4;
  display: grid;
}

.max-width-xxlarge {
  width: 100%;
  max-width: 80rem;
}

.fs-styleguide_1-col {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
}

.fs-styleguide_empty-box {
  z-index: -1;
  background-color: #2d40ea0d;
  border: 1px dashed #2d40ea;
  min-width: 3rem;
  height: 3rem;
  position: relative;
}

.text-weight-light {
  font-weight: 300;
}

.fs-styleguide_heading-medium {
  font-size: 4rem;
}

.max-width-xsmall {
  width: 100%;
  max-width: 16rem;
}

.fs-styleguide_4-col {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
}

.text-size-regular {
  font-size: 1rem;
}

.text-weight-xbold {
  font-weight: 800;
}

.text-align-right {
  text-align: right;
}

.text-weight-bold {
  font-weight: 700;
}

.max-width-medium {
  width: 100%;
  max-width: 32rem;
}

.fs-styleguide_item-wrapper {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.max-width-large {
  width: 100%;
  max-width: 48rem;
}

.fs-styleguide_header-block {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  place-items: center start;
  display: grid;
}

.background-color-alternate {
  background-color: var(--background-color--background-alternate);
}

.max-width-xlarge {
  width: 100%;
  max-width: 64rem;
}

.form_radio-icon {
  width: .875rem;
  height: .875rem;
  margin-top: 0;
  margin-left: 0;
  margin-right: .5rem;
}

.form_radio-icon.w--redirected-checked {
  border-width: .25rem;
  width: .875rem;
  height: .875rem;
}

.form_radio-icon.w--redirected-focus {
  width: .875rem;
  height: .875rem;
  box-shadow: 0 0 .25rem 0 #3898ec;
}

.text-align-left {
  text-align: left;
}

.background-color-secondary {
  background-color: var(--background-color--background-secondary);
}

.form_input {
  border: 1px solid var(--border-color--border-primary);
  background-color: var(--base-color-neutral--white);
  min-height: 3rem;
  color: var(--text-color--text-primary);
  margin-bottom: 0;
  padding: .5rem 1rem;
  font-size: 1rem;
}

.form_input::placeholder {
  color: var(--link-color--link-primary);
}

.form_input.is-select-input {
  color: var(--text-color--text-secondary);
}

.form_input.is-text-area {
  min-height: 8rem;
  padding-top: .75rem;
  font-size: 1rem;
}

.padding-section-large {
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.fs-styleguide_3-col {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: stretch;
  width: 100%;
  display: grid;
}

.text-style-link {
  color: var(--link-color--link-primary);
  text-decoration: underline;
}

.fs-styleguide_header {
  background-color: var(--background-color--background-primary);
  color: var(--text-color--text-alternate);
  background-image: radial-gradient(circle at 100% 100%, #dd23bb40, #0000 40%), radial-gradient(circle at 0 100%, #2d62ff4d, #0000 60%);
}

.heading-style-h2 {
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.2;
}

.page-wrapper {
  filter: none;
  max-width: 256rem;
  margin-left: auto;
  margin-right: auto;
}

.fs-styleguide_label {
  background-color: var(--background-color--background-secondary);
  color: var(--text-color--text-alternate);
  border-radius: .25rem;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: .25rem .75rem .3rem;
  font-weight: 600;
  display: flex;
}

.fs-styleguide_label.is-tag {
  background-color: var(--background-color--background-tertiary);
}

.container {
  width: 100%;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
}

.container.is-nav {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.form_message-error {
  background-color: var(--background-color--background-error\<deleted\|variable-89aecd3e-2fe8-312c-65a2-e3e7c57d326c\>);
  color: var(--text-color--text-error\<deleted\|variable-4a51c5d2-820c-a0d9-b49e-0e5d273c964f\>);
  margin-top: .75rem;
  padding: .75rem;
}

.text-align-center {
  text-align: center;
}

.form_component {
  margin-bottom: 0;
}

.max-width-xxsmall {
  width: 100%;
  max-width: 12rem;
}

.align-center {
  margin-left: auto;
  margin-right: auto;
}

.button {
  background-color: var(--base-color-brand--gold);
  color: var(--text-color--text-primary);
  text-align: center;
  padding: .75rem 1.5rem;
  font-weight: 600;
}

.button:hover {
  background-color: var(--background-color--background-secondary);
  color: var(--text-color--text-alternate);
}

.button.is-text {
  color: #000;
  background-color: #0000;
  border: 2px solid #0000;
}

.button.is-small {
  padding: .5rem 1.25rem;
}

.button.is-large {
  padding: 1rem 2rem;
}

.button.is-secondary {
  border: 1px solid var(--border-color--border-primary);
  color: var(--text-color--text-secondary);
  background-color: #0000;
}

.button.is-secondary:hover {
  background-color: var(--background-color--background-tertiary);
  color: var(--text-color--text-primary);
}

.button.is-icon {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  display: flex;
}

.fs-styleguide_classes {
  grid-column-gap: 1px;
  grid-row-gap: 1px;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.text-size-medium {
  font-size: 1.125rem;
}

.text-size-medium.text-weight-bold {
  font-weight: 700;
}

.fs-styleguide_section {
  grid-column-gap: 6rem;
  grid-row-gap: 6rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  place-items: start;
  display: grid;
}

.fs-styleguide_section.is-vertical {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  grid-template-columns: 1fr;
}

.button-group {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.button-group.is-right {
  justify-content: flex-end;
  align-items: center;
}

.hide {
  display: none;
}

.padding-section-medium {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.container-medium {
  width: 100%;
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
}

.form_radio {
  flex-direction: row;
  align-items: center;
  margin-bottom: .5rem;
  padding-left: 0;
  display: flex;
}

.fs-styleguide_spacing-all {
  display: none;
}

.spacer-huge {
  width: 100%;
  padding-top: 6rem;
}

.spacer-medium {
  width: 100%;
  padding-top: 2rem;
}

.fs-styleguide_spacer-box {
  background-color: #2d40ea1a;
  border: 1px dashed #2d40ea;
  width: 100%;
  position: relative;
}

.spacer-xsmall {
  width: 100%;
  padding-top: .5rem;
}

.spacer-small {
  width: 100%;
  padding-top: 1rem;
}

.spacer-xhuge {
  width: 100%;
  padding-top: 8rem;
}

.spacer-tiny {
  width: 100%;
  padding-top: .125rem;
}

.spacer-xxsmall {
  width: 100%;
  padding-top: .25rem;
}

.spacer-xxhuge {
  width: 100%;
  padding-top: 12rem;
}

.spacer-xlarge {
  width: 100%;
  padding-top: 4rem;
}

.spacer-large {
  padding-top: 3rem;
}

.spacer-xxlarge {
  width: 100%;
  padding-top: 5rem;
}

.fs-styleguide_message {
  background-color: var(--background-color--background-warning\<deleted\|variable-0aa1a7ce-e851-b6b5-66db-1a1a96e8e04b\>);
  color: var(--text-color--text-warning\<deleted\|variable-825aa1d8-b093-0b89-37c5-87d980df10f5\>);
  border-radius: .25rem;
  padding: .25rem .5rem;
  font-size: .875rem;
}

.background-color-tertiary {
  background-color: var(--background-color--background-tertiary);
}

.fs-styleguide_hero-label {
  color: var(--text-color--text-primary);
  text-transform: uppercase;
  background-color: #eee;
  border-radius: .25rem;
  padding: .25rem .375rem;
  font-size: .75rem;
  font-weight: 500;
  text-decoration: none;
}

.fs-styleguide_heading-header {
  font-size: 6rem;
}

.navbar {
  background-color: #ddd0;
  align-items: center;
  width: 100%;
  height: auto;
  min-height: 4.5rem;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  display: flex;
}

.nav_logo-link {
  width: 12.5rem;
  padding-left: 0;
}

.nav_logo-link:hover {
  opacity: .7;
}

.nav_menu {
  align-items: center;
  display: flex;
  position: static;
}

.nav_menu.is-page-height-tablet {
  flex-flow: wrap;
  justify-content: flex-end;
  align-items: center;
}

.nav_link {
  color: var(--link-color--link-alternate);
  padding: .25rem .5rem .25rem .75rem;
  font-size: 1rem;
}

.nav_link:hover {
  color: var(--text-color--text-secondary);
}

.nav_link.w--current {
  color: var(--link-color--link-secondary);
}

.nav_menu-buttons {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: center;
  margin-left: 1rem;
  display: flex;
}

.nav_menu-button {
  padding: 0;
}

.section {
  padding: 4rem 2.5rem;
}

.hero_component {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1.25fr 1fr;
  grid-auto-columns: 1fr;
  align-items: center;
  display: grid;
}

.hero_image {
  aspect-ratio: auto;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.contact_component {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  place-items: stretch stretch;
  display: grid;
}

.contact_image {
  aspect-ratio: 3 / 4;
  object-fit: cover;
  width: 100%;
  display: block;
}

.text-style-tagline {
  color: var(--background-color--background-tertiary);
  letter-spacing: .2em;
  text-transform: uppercase;
  justify-content: center;
  align-items: center;
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
}

.contact_form_component {
  flex-direction: column;
  align-items: stretch;
  margin-bottom: 0;
}

.contact_form {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.form_form_label {
  margin-bottom: .5rem;
  font-weight: 400;
}

.form_message-success-wrapper {
  margin-top: 1rem;
  padding: 0;
}

.success-text {
  font-weight: 600;
}

.form_message-error-wrapper {
  margin-top: 1rem;
  padding: 0;
}

.error-text {
  color: #e23939;
}

.overview_component {
  grid-column-gap: 5rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: start;
  display: grid;
}

.gallery_grid {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
}

.gallery_image {
  aspect-ratio: 1;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.master_content-wrapper {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: start;
  display: grid;
}

.master_image {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.feature_content {
  grid-column-gap: 5rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: center;
  display: grid;
}

.feature_image {
  object-fit: cover;
  width: 100%;
}

.faq_component {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: 100%;
  grid-auto-columns: 100%;
  place-items: start stretch;
  display: grid;
}

.faq_accordion {
  border: 1px solid var(--border-color--border-secondary);
  background-color: var(--base-color-brand--purple-light);
  border-radius: 0;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  overflow: hidden;
}

.faq_question {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 1.5rem;
  display: flex;
}

.faq5_icon-wrapper {
  align-self: flex-start;
  width: 2rem;
  display: flex;
}

.icon-embed-small {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  display: flex;
}

.faq_answer {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  overflow: hidden;
}

.cta_card {
  grid-column-gap: 5rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr max-content;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 3rem;
  display: grid;
  overflow: hidden;
}

.footer {
  background-image: linear-gradient(#fff0, #000);
  padding: 3rem 2.5rem;
}

.footer_grid {
  grid-column-gap: 4vw;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-template-columns: 12.5rem 4fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: start;
  display: grid;
}

.footer_logo-link {
  float: none;
  width: 12.5rem;
  padding-left: 0;
}

.footer_logo {
  width: 100%;
}

.footer_link-list {
  flex-direction: column;
  grid-template-rows: auto;
  grid-template-columns: 100%;
  grid-auto-columns: 100%;
  place-items: flex-start start;
  display: flex;
}

.footer_link {
  color: var(--link-color--link-alternate);
  padding-top: .5rem;
  padding-bottom: .5rem;
  font-size: .875rem;
  font-weight: 400;
  text-decoration: none;
}

.footer_link:hover {
  color: var(--link-color--link-secondary);
}

.table_cell {
  padding: .75rem 1.25rem;
}

.table_row.is-purple {
  background-color: var(--base-color-brand--purple-light);
}

.table_header {
  color: var(--text-color--text-alternate);
  text-align: left;
  padding: .75rem 1.25rem;
  font-family: Playfair Display, sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
}

.table_component {
  width: 100%;
}

.text-size-tiny {
  font-size: .75rem;
}

.gallery5_grid-list {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr;
}

.gallery_row {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
}

.gallery_lightbox-link {
  width: 100%;
  height: 100%;
}

.gallery_image-wrapper {
  border-radius: var(--\<unknown\|relume-variable-radius-large\>);
  width: 100%;
  overflow: hidden;
}

.feature_image-wrapper:hover {
  opacity: .7;
}

.heading {
  flex-flow: column;
  display: flex;
}

@media screen and (max-width: 991px) {
  .padding-xlarge {
    padding: 3rem;
  }

  .margin-xlarge {
    margin: 3rem;
  }

  .padding-xhuge {
    padding: 6rem;
  }

  .padding-xxhuge {
    padding: 8rem;
  }

  .padding-huge {
    padding: 5rem;
  }

  .margin-large {
    margin: 2.5rem;
  }

  .padding-xxlarge {
    padding: 4rem;
  }

  .padding-large {
    padding: 2.5rem;
  }

  .margin-huge {
    margin: 5rem;
  }

  .padding-medium {
    padding: 1.5rem;
  }

  .margin-xxlarge {
    margin: 4rem;
  }

  .margin-xhuge {
    margin: 6rem;
  }

  .margin-medium {
    margin: 1.5rem;
  }

  .margin-xxhuge {
    margin: 8rem;
  }

  .margin-horizontal {
    margin-top: 0;
    margin-bottom: 0;
  }

  .padding-top {
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .margin-vertical {
    margin-left: 0;
    margin-right: 0;
  }

  .margin-bottom {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .padding-left {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
  }

  .padding-vertical {
    padding-left: 0;
    padding-right: 0;
  }

  .padding-horizontal {
    padding-top: 0;
    padding-bottom: 0;
  }

  .margin-right {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
  }

  .margin-top {
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .margin-left {
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 0;
  }

  .padding-right {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
  }

  .padding-bottom {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .hide-tablet {
    display: none;
  }

  .fs-styleguide_2-col {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    grid-template-columns: 1fr;
  }

  .max-width-full-tablet {
    width: 100%;
    max-width: none;
  }

  .fs-styleguide_1-col {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }

  .fs-styleguide_heading-medium {
    font-size: 3rem;
  }

  .fs-styleguide_4-col {
    grid-template-columns: 1fr;
  }

  .padding-section-large {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .fs-styleguide_3-col {
    grid-template-columns: 1fr;
  }

  .fs-styleguide_section {
    grid-column-gap: 2.5rem;
    grid-template-columns: 1fr;
  }

  .padding-section-medium {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .spacer-huge {
    padding-top: 5rem;
  }

  .spacer-medium {
    padding-top: 1.5rem;
  }

  .spacer-xhuge {
    padding-top: 6rem;
  }

  .spacer-xxhuge {
    padding-top: 8rem;
  }

  .spacer-xlarge {
    padding-top: 3rem;
  }

  .spacer-large {
    padding-top: 2.5rem;
  }

  .spacer-xxlarge {
    padding-top: 4rem;
  }

  .fs-styleguide_heading-header {
    font-size: 4rem;
  }

  .navbar {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .nav_menu {
    border-bottom: 1px solid var(--border-color--border-primary);
    background-color: var(--background-color--background-primary);
    -webkit-text-fill-color: inherit;
    background-clip: border-box;
    padding: 1rem 5% 2rem;
    position: absolute;
    overflow: auto;
  }

  .nav_menu.is-page-height-tablet {
    height: 100dvh;
    padding-bottom: 6.5rem;
    transition: height .5s;
  }

  .nav_link {
    width: auto;
    padding: .75rem 0;
    font-size: 1.125rem;
  }

  .nav_menu-buttons {
    flex-direction: column;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
    align-items: stretch;
    margin-top: 1.5rem;
    margin-left: 0;
  }

  .nav_menu-button {
    width: 3rem;
    height: 3rem;
  }

  .nav_menu-button.w--open {
    background-color: #0000;
  }

  .menu-icon {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    margin-right: -.5rem;
    padding-bottom: 0;
    padding-right: 0;
    display: flex;
  }

  .menu-icon1_line-top {
    background-color: var(--base-color-neutral--white);
    width: 24px;
    height: 2px;
    padding-bottom: 0;
    padding-right: 0;
  }

  .menu-icon1_line-middle {
    background-color: var(--base-color-neutral--white);
    justify-content: center;
    align-items: center;
    width: 24px;
    height: 2px;
    margin-top: 6px;
    margin-bottom: 6px;
    padding-bottom: 0;
    padding-right: 0;
    display: flex;
  }

  .menu-icon1_line-middle-inner {
    width: 4px;
    height: 0;
    padding-bottom: 0;
    padding-right: 0;
  }

  .menu-icon1_line-bottom {
    background-color: var(--base-color-neutral--white);
    width: 24px;
    height: 2px;
    padding-bottom: 0;
    padding-right: 0;
  }

  .section {
    padding: 4rem 2rem;
  }

  .hero_component {
    grid-column-gap: 4rem;
    grid-row-gap: 4rem;
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    min-height: auto;
  }

  .contact_component {
    grid-column-gap: 3rem;
    grid-template-columns: 1fr 1fr;
    grid-auto-flow: row;
    min-height: auto;
  }

  .overview_component, .master_content-wrapper {
    grid-column-gap: 3rem;
    grid-row-gap: 2rem;
  }

  .feature_content {
    grid-column-gap: 3rem;
    grid-template-columns: 1fr 1fr;
    grid-auto-flow: row;
    min-height: auto;
  }

  .cta_card {
    grid-column-gap: 3rem;
    padding-bottom: 2rem;
  }

  .footer {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .footer_grid {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 767px) {
  h1 {
    font-size: 2.5rem;
  }

  h2 {
    font-size: 2rem;
  }

  h3 {
    font-size: 1.5rem;
  }

  h4 {
    font-size: 1.25rem;
  }

  h5 {
    font-size: 1rem;
  }

  h6 {
    font-size: .875rem;
  }

  .padding-xlarge {
    padding: 2rem;
  }

  .margin-xlarge {
    margin: 2rem;
  }

  .padding-xhuge {
    padding: 4rem;
  }

  .padding-xxhuge {
    padding: 4.5rem;
  }

  .padding-huge {
    padding: 3.5rem;
  }

  .margin-large {
    margin: 1.5rem;
  }

  .padding-xxlarge {
    padding: 3rem;
  }

  .padding-large {
    padding: 1.5rem;
  }

  .margin-huge {
    margin: 3.5rem;
  }

  .padding-medium {
    padding: 1.25rem;
  }

  .margin-xxlarge {
    margin: 3rem;
  }

  .margin-xhuge {
    margin: 4rem;
  }

  .margin-medium {
    margin: 1.25rem;
  }

  .margin-xxhuge {
    margin: 4.5rem;
  }

  .margin-horizontal {
    margin-top: 0;
    margin-bottom: 0;
  }

  .padding-top {
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .margin-vertical {
    margin-left: 0;
    margin-right: 0;
  }

  .margin-bottom {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .padding-left {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
  }

  .padding-vertical {
    padding-left: 0;
    padding-right: 0;
  }

  .padding-horizontal {
    padding-top: 0;
    padding-bottom: 0;
  }

  .margin-right {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
  }

  .margin-top {
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .margin-left {
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 0;
  }

  .padding-right {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
  }

  .padding-bottom {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .hide-mobile-landscape {
    display: none;
  }

  .heading-style-h3 {
    font-size: 1.5rem;
  }

  .heading-style-h1 {
    font-size: 2.5rem;
  }

  .padding-global {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .padding-section-small {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .fs-styleguide_section-header {
    font-size: .875rem;
  }

  .fs-styleguide_heading-medium {
    font-size: 2rem;
  }

  .max-width-full-mobile-landscape {
    width: 100%;
    max-width: none;
  }

  .padding-section-large {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .heading-style-h2 {
    font-size: 2rem;
  }

  .padding-section-medium {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .spacer-huge {
    padding-top: 3.5rem;
  }

  .spacer-medium {
    padding-top: 1.25rem;
  }

  .spacer-xhuge {
    padding-top: 4rem;
  }

  .spacer-xxhuge {
    padding-top: 4.5rem;
  }

  .spacer-xlarge {
    padding-top: 2rem;
  }

  .spacer-large {
    padding-top: 1.5rem;
  }

  .spacer-xxlarge {
    padding-top: 3rem;
  }

  .navbar {
    height: auto;
    min-height: 4rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .nav_logo-link {
    padding-left: 0;
  }

  .nav_menu.is-page-height-tablet {
    padding-bottom: 6rem;
  }

  .section {
    padding: 2.5rem 1.5rem;
  }

  .hero_component {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
  }

  .contact_component {
    grid-row-gap: 3rem;
    grid-template-columns: 1fr;
  }

  .overview_component {
    grid-column-gap: 1.25rem;
    grid-row-gap: 1.25rem;
    grid-template-columns: 1fr;
  }

  .gallery_grid {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-rows: auto auto auto;
    grid-template-columns: 1fr;
  }

  .master_content-wrapper {
    grid-column-gap: 1.25rem;
    grid-row-gap: 1.25rem;
    grid-template-columns: 1fr;
  }

  .feature_content {
    grid-row-gap: 3rem;
    grid-template-columns: 1fr;
  }

  .faq_question {
    padding: 1rem 1.25rem;
  }

  .faq5_icon-wrapper {
    width: 1.75rem;
  }

  .faq_answer {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .cta_card {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    flex-direction: column;
    grid-template-columns: 1fr;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .footer {
    padding: 2.5rem 1.25rem;
  }

  .footer_grid {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
  }

  .gallery5_grid-list {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
  }

  .gallery_row {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-rows: auto auto auto;
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 479px) {
  .margin-horizontal {
    margin-top: 0;
    margin-bottom: 0;
  }

  .padding-top {
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .margin-vertical {
    margin-left: 0;
    margin-right: 0;
  }

  .margin-bottom {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .padding-left {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
  }

  .padding-vertical {
    padding-left: 0;
    padding-right: 0;
  }

  .padding-horizontal {
    padding-top: 0;
    padding-bottom: 0;
  }

  .margin-right {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
  }

  .margin-top {
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .margin-left {
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 0;
  }

  .padding-right {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
  }

  .padding-bottom {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .fs-styleguide_row {
    flex-wrap: wrap;
  }

  .max-width-full-mobile-portrait {
    width: 100%;
    max-width: none;
  }

  .hide-mobile-portrait {
    display: none;
  }

  .button {
    width: 100%;
  }

  .section {
    padding-left: 1.25rem;
  }

  .hero_component, .contact_component, .overview_component, .master_content-wrapper, .feature_content {
    grid-template-columns: 1fr;
  }
}

#w-node-_4272f461-bbba-cfc3-4c33-96786aba6d1d-95e7ac56, #w-node-_4272f461-bbba-cfc3-4c33-96786aba6d20-95e7ac56, #w-node-_4272f461-bbba-cfc3-4c33-96786aba6d23-95e7ac56, #w-node-_20a50417-f6d7-f031-6f20-3e587c1f4ed6-95e7ac56, #w-node-_20a50417-f6d7-f031-6f20-3e587c1f4ed9-95e7ac56, #w-node-_20a50417-f6d7-f031-6f20-3e587c1f4edc-95e7ac56, #w-node-_3ba88adf-2eca-8a3a-d8e3-95d1b4eedb68-95e7ac56, #w-node-_3ba88adf-2eca-8a3a-d8e3-95d1b4eedb6b-95e7ac56, #w-node-_3ba88adf-2eca-8a3a-d8e3-95d1b4eedb6e-95e7ac56 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_111e9fb1-5a5e-115e-908b-30d07cf66e7d-7cf66e5d {
  justify-self: start;
}

#w-node-b224ec27-30fa-be84-48bf-7ed471542af3-904a09ba {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_32eadc24-e391-a089-abe0-fb5b6627ca17-904a09ba, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ca1c-904a09ba, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ca21-904a09ba, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ca26-904a09ba, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ca2c-904a09ba, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ca32-904a09ba, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ca38-904a09ba {
  justify-self: start;
}

#w-node-_5d224905-8a1e-1460-7532-d38cb7ec37c1-904a09ba, #w-node-_40538c8c-870b-b365-34c4-2a06f0f8567d-904a09ba, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cb45-904a09ba, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cb5e-904a09ba {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_32eadc24-e391-a089-abe0-fb5b6627cb61-904a09ba {
  justify-self: start;
}

#w-node-_32eadc24-e391-a089-abe0-fb5b6627cb63-904a09ba {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_32eadc24-e391-a089-abe0-fb5b6627cb66-904a09ba {
  justify-self: start;
}

#w-node-_32eadc24-e391-a089-abe0-fb5b6627cbb8-904a09ba, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cbc2-904a09ba, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cbc3-904a09ba {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_30684373-af34-3818-02a4-e58b3ffef3e5-904a09ba, #w-node-_30684373-af34-3818-02a4-e58b3ffef3ea-904a09ba, #w-node-_30684373-af34-3818-02a4-e58b3ffef3ef-904a09ba, #w-node-_30684373-af34-3818-02a4-e58b3ffef3f4-904a09ba, #w-node-_30684373-af34-3818-02a4-e58b3ffef3f9-904a09ba, #w-node-_30684373-af34-3818-02a4-e58b3ffef3fe-904a09ba, #w-node-_30684373-af34-3818-02a4-e58b3ffef403-904a09ba, #w-node-_30684373-af34-3818-02a4-e58b3ffef408-904a09ba, #w-node-_30684373-af34-3818-02a4-e58b3ffef40d-904a09ba, #w-node-_30684373-af34-3818-02a4-e58b3ffef412-904a09ba {
  justify-self: start;
}

#w-node-_30684373-af34-3818-02a4-e58b3ffef416-904a09ba {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_30684373-af34-3818-02a4-e58b3ffef417-904a09ba {
  justify-self: start;
}

#w-node-_30684373-af34-3818-02a4-e58b3ffef41a-904a09ba, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cd6b-904a09ba {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_32eadc24-e391-a089-abe0-fb5b6627cdc7-904a09ba {
  justify-self: start;
}

@media screen and (max-width: 991px) {
  #w-node-_1789869a-0f36-d99c-8a44-d52c45e660c2-45e660bd {
    order: 9999;
  }
}




/* ---- SEO/CRO additions -------------------------------------------------- */

/* Required by the width/height attributes added to every <img>.
   webflow.css sets `img { max-width: 100% }` but never `height: auto`, so a
   height attribute is taken literally and the image stretches: the logo went
   200x27 -> 200x280 and the contact render 568x757 -> 568x1468 before this rule
   existed. Bare `img` is lower specificity than every class rule in the sheet,
   so the two components that deliberately set `height: 100%` keep it. */
img {
  height: auto;
}

/* The contact form measured 1.4x-3.7x below the first screen on every interior
   page at 390px. This keeps the conversion path one tap away. 48px tall, above
   the 44px minimum tap target. Desktop is untouched: the form is in view there. */
.mobile-cta {
  display: none;
}

@media screen and (max-width: 767px) {
  .mobile-cta {
    z-index: 900;
    background-color: var(--base-color-brand--gold);
    color: var(--base-color-brand--purple);
    text-align: center;
    letter-spacing: .04em;
    border-radius: .4rem;
    justify-content: center;
    align-items: center;
    height: 48px;
    font-weight: 700;
    text-decoration: none;
    display: flex;
    position: fixed;
    bottom: 12px;
    left: 12px;
    right: 12px;
  }

  /* So the bar never covers the last line of the footer. */
  footer {
    padding-bottom: 76px;
  }
}

/* The answer block under each H1: a direct response to the page's own question,
   which is what an answer engine lifts. */
.aeo-answer-q {
  font-size: 1.5rem;
}


/* ---- Embassy Biome ------------------------------------------------------------- ---- */
/* A card per plot size where the template had a drawing gallery. Plots have no
   floor plan, so each card carries the numbers instead: the metric dimension,
   the area and the quoted price. Six cards rather than two or three, so the
   minimum column is narrower than the villa builds used. */
/* The template puts a picture beside the enquiry form and beside the location
   copy. Where a project has no file good enough for a slot, the picture is
   removed and the column it sat in collapses, rather than the row rendering as
   one column of content beside an empty one. Which rules appear here depends on
   which slots this project actually emptied - collapsing a column that still
   has a picture in it stretches that picture across the full width, which is
   how a 675px render once came to be painted at 1200px. */
.feature_content {
  grid-template-columns: 1fr;
}


/* A published unit drawing and the areas printed on it. contain, not cover: a
   plan cropped to fill a box is a plan with rooms missing. */
.plan-sheet {
  margin: 0 0 2rem;
}

.plan-sheet img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  outline: 1px solid var(--riv-hairline);
  outline-offset: 0;
  border-radius: .4rem;
  background: #fff;
}

.plan-sheet figcaption {
  color: var(--riv-ink-muted);
  padding-top: .6rem;
  max-width: 44rem;
}

/* The "what has not been published" table. It is the most important block on
   these pages, so it gets the accent rule the other tables do not. */
.not-published {
  border-left: 3px solid var(--riv-accent);
  padding-left: 1.25rem;
}

.config-grid {
  grid-template-columns: repeat(auto-fit, minmax(215px, 1fr));
  gap: 1.25rem;
  display: grid;
}

.config-card {
  border: 1px solid var(--riv-hairline);
  border-radius: .4rem;
  margin: 0;
  padding: 1rem;
}

/* Floor plans are line drawings on white: contain them so no room is cropped,
   and give the box a fixed ratio so the grid stays even whether or not a unit
   type has a drawing. */
.plan-image {
  aspect-ratio: 1;
  object-fit: contain;
  width: 100%;
  background: #fff;
}

/* The mirrored plan is published on its own, so it gets the page width rather
   than a card, capped by height so a tall drawing does not push everything
   else off the screen. */
.plan-image-wide {
  object-fit: contain;
  background: #fff;
  width: auto;
  max-width: 100%;
  max-height: 84vh;
  margin: 0 auto;
  display: block;
}

/* Unlike the previous two builds, this project has a drawing for ONE of its
   three unit types. A short band next to a full 1:1 plan image makes the row
   ragged - the card with the drawing pushes its text a picture-height below the
   other two - so the empty box matches the plan image's ratio instead. */
.plan-none {
  aspect-ratio: 1;
  color: var(--riv-ink-muted);
  background: var(--riv-surface);
  border-radius: .3rem;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 1rem;
  font-size: .85rem;
  text-align: center;
  display: flex;
}

.config-card figcaption {
  padding-top: .85rem;
}

.config-card figcaption span {
  display: block;
}

/* The qualifier next to a row's name, here "3.5 BHK (built unit)". */
.unit-alias {
  color: var(--riv-ink-muted);
  font-size: .8em;
}

.unit-alias:before {
  content: " (";
}

.unit-alias:after {
  content: ")";
}

/* The template's master-plan slot is a 16:9 box with object-fit:cover, which
   suits a landscape rendering and destroys anything else - on a portrait crop it
   throws most of the image away and magnifies a corner. Contain it instead,
   centred and height-capped, so whatever ships in this slot is shown whole. */
/* The thumbnail strip.
   These projects publish their galleries at 436 to 512 pixels wide. The cap
   below is the whole point of the component: max-width 230px means none of them
   is ever asked for more pixels than it has, so nothing here is a blurred
   enlargement. justify-content keeps the row from stretching the cells to fill
   the container. */
.thumb-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  justify-content: flex-start;
}

.thumb-cell {
  flex: 0 1 230px;
  max-width: 230px;
  margin: 0;
}

/* A fixed picture box so the captions share a baseline. contain, not cover:
   the widest of these is a 585x228 letterbox and cropping it to a 230x165 box
   would throw away most of the layout it shows. The bands left over take the
   surface colour. */
.thumb-cell img {
  width: 100%;
  height: 165px;
  object-fit: contain;
  object-position: center;
  border-radius: .3rem;
  display: block;
  background: var(--riv-surface);
}

.thumb-cell figcaption {
  color: var(--riv-ink-muted);
  padding-top: .5rem;
}

.master_image {
  aspect-ratio: auto;
  object-fit: contain;
  background: #fff;
  width: auto;
  max-width: 100%;
  max-height: 78vh;
  margin: 0 auto;
  display: block;
}

.config-card_name {
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0;
  font-size: .8rem;
  color: var(--riv-accent);
}

.config-card_size {
  font-family: Playfair Display, Georgia, serif;
  margin: .35rem 0 0;
  font-size: 2rem;
  line-height: 1.1;
}

.config-card_unit {
  margin: .1rem 0 0;
  font-size: .8rem;
  color: var(--riv-ink-muted);
}

.config-card_meta {
  margin: .75rem 0 1.15rem;
  font-size: .85rem;
  color: var(--riv-ink-muted);
}

/* Section headings added by the build, matched to the answer-block heading so
   they do not outweigh the page H1. */
.heading.is-xsmall {
  font-size: 1.25rem;
}

.container > .heading.is-small {
  font-size: 1.5rem;
}

/* ---- Stand-in captions and the unlinked map wrapper -------------------------- */

.standin-note {
  margin: .5rem 0 0;
  opacity: .72;
  color: inherit;
}

/* Holds the picture and its caption in the single grid cell the picture had. */
.standin-wrap {
  display: block;
}

/* What is left where the template's Google Maps anchor was. It keeps the
   anchor's place in the grid but is not clickable, because no source
   establishes this project's location precisely enough to link to a pin. */
.map-unlinked {
  display: block;
  cursor: default;
}

.table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.rera-notice {
  border: 1px solid var(--base-color-brand--gold);
  border-radius: .4rem;
  padding: 1rem 1.25rem;
  margin: 0;
}

.nav_logo-link,
.footer_logo-link {
  width: auto;
}

.brandmark {
  align-items: center;
  gap: .6rem;
  text-decoration: none;
  display: inline-flex;
}

/* A filled navy chip with a white letter: 12.63:1, and it puts the brand
   colour on every page at the largest size it appears. */
.brandmark_badge {
  color: #fff;
  background-color: var(--base-color-brand--gold);
  border: 2px solid var(--base-color-brand--gold);
  border-radius: .4rem;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 2.6rem;
  height: 2.6rem;
  padding-bottom: .06em;
  font-family: Playfair Display, Georgia, serif;
  font-size: 1.6rem;
  line-height: 1;
  display: flex;
}

.brandmark_name {
  color: var(--text-color--text-alternate);
  white-space: nowrap;
  font-family: Playfair Display, Georgia, serif;
  font-size: 1.3rem;
  line-height: 1.1;
}

@media screen and (max-width: 479px) {
  .brandmark_badge {
    width: 2.2rem;
    height: 2.2rem;
    font-size: 1.3rem;
  }

  .brandmark_name {
    font-size: 1rem;
  }
}


/* ---- light theme -------------------------------------------------------- */

/* The palette is the project's own. Its landing page declares one in a :root
   block, so this build reuses it rather than inventing a colour for a project
   that already has one. The export was built dark: purple page, white type,
   gold accent. Rather than edit Webflow's generated rules - which would have to
   be redone every time the template is re-exported - the palette is repointed
   at its source and only the rules that hard-code a dark-background assumption
   are overridden below.

   So the hex values in the :root at the top of this file (#2d2f55, #d1b35b)
   are dead - they are what the export shipped, and the :root below supersedes
   them. Edit the palette here, not there.

   Contrast, measured rather than assumed:
     #201b15 on #ffffff  17.1:1   body copy and headings
     #5a3a1f on #ffffff  10.2:1   labels and links (AA at any size)
     #ffffff on #5a3a1f  10.2:1   button text
     #5e564a on #ffffff   7.2:1   captions and the footer disclaimer
     #a9743f on #ffffff   4.0:1   FAILS AA for small text - rules and fills only
   White type on the accent and the accent on white measure the same 10.2:1, so
   one token does links, labels and button fills alike. */

:root {
  /* Straight from this project's own landing page, which declares its palette
     as CSS custom properties: --green #0E1A14, --green2 #16271E,
     --green3 #1f3a2c, --gold #C7A253, --gold2 #856420, --ivory #F7F4EC,
     --ink #1c2620, --muted #566, --line #e4ddca.

     Contrast measured, not assumed. #1f3a2c is 12.35:1 on white and the same
     behind white text, so it carries links, labels and button fills alike. The
     page's bright gold #C7A253 is 2.41:1 and FAILS AA at any size, so it is
     confined to rules and fills; its darker gold #856420 passes at 5.47:1 and
     is what the eyebrow labels use. */
  --riv-accent: #1f3a2c;
  --riv-accent-text: #1f3a2c;
  --riv-accent-dark: #0e1a14;   /* button hover - the page's own deepest green */
  --riv-on-accent: #ffffff;
  --riv-gold: #c7a253;          /* 2.41:1 on white - rules and fills, never text */
  --riv-ink: #1c2620;           /* the page's own --ink */
  --riv-ink-muted: #4f5d56;     /* darkened from the page's --muted to clear AA */
  --riv-surface: #f7f4ec;       /* the page's own --ivory */
  --riv-surface-strong: #efe9dc;/* a deeper ivory for alternating rows */
  --riv-hairline: #e4ddca;      /* the page's own --line */
}

:root {
  --base-color-brand--purple: var(--riv-ink);
  --base-color-brand--purple-light: var(--riv-surface-strong);
  --base-color-brand--gold: var(--riv-accent);
  --link-color--link-primary: var(--riv-accent-text);
  --link-color--link-alternate: var(--riv-ink);
  --border-color--border-secondary: var(--riv-hairline);
}

body {
  background-color: #fff;
  color: var(--riv-ink);
}

/* Buttons. The generated rule paints the label with text-primary, which is now
   the ink - unreadable on the accent - and hovers to a background that is now a
   pale tint. Both states are restated. */
.button {
  background-color: var(--riv-accent);
  color: #fff;
}

.button:hover {
  background-color: var(--riv-accent-dark);
  color: #fff;
}

.button.is-secondary {
  color: var(--riv-accent-text);
  border-color: var(--riv-accent);
}

.button.is-secondary:hover {
  background-color: var(--riv-accent);
  color: #fff;
}

.button.is-text {
  color: var(--riv-accent-text);
}

/* Inputs sat on an accent-coloured border, which on a white page reads as an
   error state. Hairline at rest, accent on focus. */
.form_input {
  border-color: var(--riv-hairline);
  color: var(--riv-ink);
}

.form_input:focus {
  border-color: var(--riv-accent);
  outline: 2px solid #9d620033;
  outline-offset: 0;
}

.form_input::placeholder {
  color: var(--riv-ink-muted);
}

/* The mobile menu drops out of a bar that is now white on white. */
.nav_menu {
  background-color: #fff;
  border-bottom-color: var(--riv-hairline);
}

.menu-icon1_line-top,
.menu-icon1_line-middle,
.menu-icon1_line-bottom {
  background-color: var(--riv-ink);
}

.brandmark_name {
  color: var(--riv-ink);
}

/* A project name of three or more words overruns the footer's logo column, and
   nowrap then pushes it under the disclaimer. The nav has room; the footer does
   not, so only the footer lets it wrap. */
.footer_logo-link .brandmark {
  align-items: flex-start;
}

.footer_logo-link .brandmark_name {
  white-space: normal;
  line-height: 1.25;
}

/* Panels that were dark blocks on a dark page become tinted blocks on a white
   one; their text now inherits the ink from body. */
.faq_accordion {
  background-color: var(--riv-surface);
}

.table_row.is-purple {
  background-color: var(--riv-surface-strong);
}

.table_header {
  color: var(--riv-ink);
  border-bottom: 1px solid var(--riv-hairline);
}

/* The footer faded to black to close a dark page. On white it needs a rule,
   not a gradient. */
.footer {
  background-image: none;
  border-top: 1px solid var(--riv-hairline);
}

.footer .text-size-tiny {
  color: var(--riv-ink-muted);
}

/* White cards on a white page need an edge to be cards at all. */
.plan-card {
  border: 1px solid var(--riv-hairline);
}

.rera-notice {
  background-color: var(--riv-surface);
}

.text-style-tagline,
.config-card_name {
  color: var(--riv-accent-text);
}

.standin-note {
  color: var(--riv-ink-muted);
  opacity: 1;
}

.plan-card figcaption {
  color: var(--riv-ink-muted);
}

.mobile-cta {
  background-color: var(--riv-accent);
  color: #fff;
  border-top: 1px solid var(--riv-accent-dark);
}

/* "Label" covers both things the template calls one: the uppercase eyebrow over
   each heading, which already reads the accent through the tertiary token, and
   the form field labels, which do not. */
.form_form_label,
.field-label,
.fs-styleguide_hero-label {
  color: var(--riv-accent-text);
}


/* ---- cross-links to the operator's other project sites ---------------------- */
.net-cols {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem 2rem;
  display: grid;
}

.net-group h3 {
  margin: 0 0 .35rem;
}

.net-list {
  margin: 0;
}

.net-list li {
  margin-bottom: .35rem;
}

/* The locality is context, not part of the link, so it is visibly quieter. */
.net-loc {
  color: var(--riv-ink-muted);
  font-size: .85em;
}

.net-loc:before {
  content: " \2014 ";
}

/* This project's green is 9.11:1 behind white text, so the template's own
   white-on-accent buttons are correct and only the hover needs stating. */
.button,
.button.w-button,
.w-button {
  background-color: var(--riv-accent);
  color: #fff;
}

.button:hover,
.button.w-button:hover,
.w-button:hover {
  background-color: var(--riv-accent-dark);
  color: #fff;
}

.brandmark_badge {
  background: var(--riv-accent);
  color: #fff;
  border-color: var(--riv-accent-dark);
}

/* The gold from the landing page, used once: a rule under the hero heading.
   It is 1.85:1 on white and cannot be text at any size. */
.hero_content .heading-style-h1:after {
  content: "";
  background: var(--riv-gold);
  width: 4.5rem;
  height: 3px;
  margin-top: 1.1rem;
  display: block;
}

/* Room-dimension and specification columns. */
.room-cols,
.spec-cols {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  display: grid;
}

.room-col h3,
.spec-group h3 {
  margin: 0 0 .6rem;
}
