/* Cormorant Garamond for headings and Jost for text, the two Google fonts the developer's own Summer Skies website uses. Self-hosted (latin + latin-ext, swap; the upright latin files preloaded, and the italic on the home page). */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(../fonts/cormorant-latin-ext-var.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(../fonts/cormorant-latin-var.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url(../fonts/cormorant-italic-latin-ext-var.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url(../fonts/cormorant-italic-latin-var.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/jost-latin-ext-var.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/jost-latin-var.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

: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: Jost, "Century Gothic", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

h1 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-size: 4rem;
  font-weight: 400;
  line-height: 1;
}

h2 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.2;
}

h3 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.2;
}

h4 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.4;
}

h5 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.5;
}

h6 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", 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: "Cormorant Garamond", Georgia, "Times New Roman", 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;
}

/* Horizontal scroll for wide tables on small screens. */
.table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* "Other projects" backlink blocks.
   This export paints links with the same colour token as the FAQ panel
   background, so the links inside these blocks rendered invisible
   (contrast 1:1). Inheriting the surrounding text colour keeps them
   legible on any theme, and the underline keeps them identifiable. */
.other-projects a,
.other-projects_table a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.other-projects a:hover,
.other-projects_table a:hover {
  text-decoration-thickness: 2px;
}
.other-projects_list {
  list-style: none;
  margin: 0.75rem 0 0 0;
  padding: 0;
}
.other-projects_list li {
  margin-bottom: 0.75rem;
}
.other-projects_list li:last-child {
  margin-bottom: 0;
}
.other-projects_region {
  display: block;
  font-size: 0.78em;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.7;
  margin-bottom: 0.15rem;
}

/* FAQ answers start closed. webflow.js collapses them (inline height 0)
   only after it loads, so the open answers painted first and then jumped
   shut: a layout shift on /faqs. w-mod-js is set by the inline script in
   <head> before first paint; w-mod-ix is set once webflow.js has applied its
   own closed state, and from then on its click interaction opens an answer by
   removing the inline height, so this rule must stop applying (a plain
   height: 0 would hold every answer shut). Without JavaScript the answers
   stay readable. */
html.w-mod-js:not(.w-mod-ix) .faq_answer {
  height: 0;
}



/* ---- Manyata Summer Skies: components added by the build --------------------------- */

/* Where the project has no picture for a slot - the location map, the payment
   schedule - the picture is removed and its grid collapses to one column,
   rather than the copy sitting beside an empty track. */
.feature_content.is-single,
.master_content-wrapper.is-single {
  grid-template-columns: 1fr;
}

.feature_content.is-single > .feature_content-left {
  max-width: 48rem;
}

/* 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;
}

/* No CSS width: the width attribute sets it (capped by max-width) and, with
   height: auto, the attributes' ratio reserves the space before the sheet
   loads, so nothing below it jumps. */
.plan-link {
  display: block;
}

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

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

/* The thumbnail strip: four across on a desktop, two on a tablet, one on a
   phone. Each picture is at least 688px wide, so no cell asks for more pixels
   than its picture has. */
.thumb-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.25rem;
  display: grid;
}

.thumb-cell {
  margin: 0;
}

@media screen and (max-width: 479px) {
  .thumb-grid {
    grid-template-columns: 1fr;
  }
}

.thumb-cell img {
  width: 100%;
  height: 165px;
  object-fit: cover;
  object-position: center;
  border-radius: .3rem;
  display: block;
  background: var(--riv-surface);
}

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

/* The master-plan slot is a 16:9 cover box, which destroys anything but a
   landscape render: contain it, centred and height-capped. */
.master_image {
  aspect-ratio: auto;
  object-fit: contain;
  background: #fff;
  max-width: 100%;
  max-height: 78vh;
  margin: 0 auto;
  display: block;
}

/* 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;
}

/* Captions that say whose picture a stand-in is. */
.standin-note {
  margin: .5rem 0 0;
  opacity: .72;
  color: inherit;
}

.standin-wrap {
  display: block;
}

.hero-figure .hero_image {
  height: auto;
  display: block;
}

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

/* The <picture> around an image with an AVIF twin lays out as if it were not
   there, so the <img> stays the grid item. Its <source> is not hidden by the
   browser's own stylesheet, and would otherwise take a grid cell of its own. */
.pic {
  display: contents;
}

.pic > source {
  display: none;
}

.map-link {
  margin-top: .75rem;
}

.map-link a {
  color: var(--riv-accent-text);
  text-decoration: underline;
}

/* Phones: the price table fits the screen, instead of hiding its Enquire
   column behind a sideways scroll and stacking each size over five lines. */
@media screen and (max-width: 479px) {
  .table_header {
    font-size: 1.05rem;
    padding: .6rem .5rem;
  }

  .table_cell {
    padding: .6rem .5rem;
    font-size: .9rem;
  }

  .is-wide .table_cell:first-child {
    white-space: nowrap;
  }

  .table_cell .button.is-small {
    padding: .45rem .6rem;
    font-size: .75rem;
  }
}

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

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

.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: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-size: 1.6rem;
  line-height: 1;
  display: flex;
}

.brandmark_name {
  color: var(--text-color--text-alternate);
  white-space: nowrap;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", 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;
  }
}

/* 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;
}


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

/* 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 are overridden below.
   The hex values in the :root at the top of this file are what the export
   shipped; the :root below supersedes them. Edit the palette here. */

:root {
  /* Summer Skies' own palette: cream pages, deep green type and bands, copper
     buttons and labels.

     Contrast measured, not assumed. The site's copper #c9825b is 3.1:1 under
     white text and 2.9:1 on cream, so text and buttons use deeper coppers:
     white on #a8643f is 4.6:1 (buttons), #965733 is 5.3:1 on cream (labels),
     and the large italic heading copper #b66f49 is 3.7:1 (large text needs
     3:1). Deep green #154f47 is 8.8:1 on cream; body text #485c58 is 6.7:1;
     white on the #0b3732 bands is 13.1:1 and the peach #efb38e 7.2:1. */
  --riv-accent: #a8643f;
  --riv-accent-text: #965733;
  --riv-accent-dark: #154f47;
  --riv-on-accent: #ffffff;
  --riv-gold: #b66f49;
  --riv-ink: #154f47;
  --riv-ink-muted: #596761;
  --riv-surface: #fffdf8;
  --riv-surface-strong: #f4efe7;
  --riv-hairline: #e3d8ca;
}

: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,
.button.w-button,
.w-button {
  background-color: var(--riv-accent);
  color: var(--riv-on-accent);
}

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

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

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

.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 var(--riv-hairline);
  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);
}

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

/* A long project name overruns the footer's logo column, and nowrap then
   pushes it under the disclaimer. 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);
}

.footer .text-size-tiny a {
  color: var(--riv-accent-text);
}

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

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

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

/* Phones: the fixed Enquire bar (48px tall, 12px off the edge) never covers the
   footer's last line. The template's own rule for this targets the element,
   footer, and loses to its class rule, .footer { padding: 2.5rem 1.25rem }. */
@media screen and (max-width: 767px) {
  .footer {
    padding-bottom: 76px;
  }
}

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

/* The second colour, used once: a rule under the hero heading. It fails AA as
   text at any size, so it is never text. */
.hero_content .heading-style-h1:after {
  content: "";
  background: var(--riv-gold);
  width: 4.5rem;
  height: 3px;
  margin-top: 1.1rem;
  display: block;
}


/* ---- 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 .heading {
  margin: 0 0 .35rem;
}

.net-list {
  margin: 0;
}

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

.net-list a {
  color: var(--riv-accent-text);
  text-decoration: underline;
  text-underline-offset: .15em;
}

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

/* A middle dot then a no-break space (a plain space after a CSS escape is
   eaten as the escape's terminator). The space before the dot is in the
   markup. No em dashes anywhere in the copy. */
.net-loc:before {
  content: "\00b7\00a0";
}


/* ---- Summer Skies look ---------------------------------------------------- */

/* The project's own design: cream pages, Cormorant Garamond headings in deep
   green with an italic copper turn, Jost text and small tracked capitals,
   square copper buttons, a pill-shaped nav, arch-topped pictures, a
   cream-washed hero photograph and deep green photo bands. */
body {
  background-color: #fbf7ef;
  color: #485c58;
}

h1,
h2,
h3,
.heading,
.heading-style-h1,
.heading-style-h2 {
  color: #154f47;
  font-weight: 400;
  letter-spacing: -.025em;
}

.heading {
  font-size: clamp(2.5rem, 4.4vw, 3.8rem);
  line-height: 1.02;
}

.heading.is-small {
  font-size: 2.2rem;
  line-height: 1.1;
}

.heading.is-xsmall {
  font-size: 1.45rem;
  line-height: 1.15;
}

.heading .text-style-tagline,
.text-style-tagline {
  color: #965733;
  font-family: Jost, "Century Gothic", Arial, sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .2em;
  line-height: 1.2;
  justify-content: flex-start;
  margin-bottom: 1.1rem;
}

.text-size-medium,
.text-size-regular {
  color: #485c58;
  line-height: 1.65;
}

.section {
  padding: 6.5rem 2.5rem;
}

/* Buttons: square, copper, small tracked capitals, a soft lift, and an arrow
   drawn as a picture so it is never read aloud. */
.button,
.button.w-button,
.w-button {
  background-color: #a8643f;
  color: #fff;
  border-radius: 0;
  font-family: Jost, "Century Gothic", Arial, sans-serif;
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .16em;
  line-height: 1.2;
  text-transform: uppercase;
  padding: 1.05rem 1.7rem;
  box-shadow: 0 12px 30px rgba(11, 55, 50, .14);
  transition: background-color .2s;
}

.button:hover,
.w-button:hover {
  background-color: #8f5330;
  color: #fff;
}

a.button:after {
  content: "";
  display: inline-block;
  width: .6rem;
  height: .6rem;
  margin-left: .65rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 8L8 2M3.5 2H8v4.5' fill='none' stroke='white' stroke-width='1.3'/%3E%3C/svg%3E") no-repeat center / contain;
}

.button.is-small {
  padding: .85rem 1.25rem;
  box-shadow: none;
}

/* ---- nav: the logo, the links in a pill, the copper button -------------- */
.navbar {
  position: relative;
  z-index: 20;
  background-color: #fbf7ef;
  border-bottom: 0;
  min-height: 5.75rem;
  padding: 1rem 2.5rem;
}

.is-home .navbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-color: transparent;
}

.brandmark_badge {
  background: #154f47;
  color: #fbf7ef;
  border-color: #154f47;
  border-radius: 999px 999px 0 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  font-size: 1.7rem;
  width: 2.7rem;
  height: 3rem;
  padding-top: .2rem;
}

.brandmark_name {
  color: #154f47;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.65rem;
  letter-spacing: -.01em;
}

.nav_menu {
  margin-left: auto;
  gap: 1.25rem;
  background-color: transparent;
}

.navbar1_menu-links {
  background: rgba(255, 253, 248, .94);
  border: 1px solid rgba(117, 83, 55, .14);
  border-radius: 999px;
  box-shadow: 0 10px 30px rgba(11, 55, 50, .08);
  padding: .45rem 1.1rem;
}

.nav_link {
  color: #154f47;
  font-family: Jost, "Century Gothic", Arial, sans-serif;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: .7rem .75rem;
}

.nav_link:hover,
.nav_link.w--current {
  color: #965733;
}

.nav_menu-buttons {
  margin-left: 0;
}

@media screen and (max-width: 1199px) and (min-width: 992px) {
  .nav_link {
    letter-spacing: .06em;
    padding: .7rem .5rem;
  }
}

/* ---- hero: the photograph behind, washed cream where the words sit ------ */
.hero-section {
  position: relative;
  overflow: hidden;
  background-color: #fbf7ef;
  min-height: min(100svh, 62rem);
  padding: 10.5rem 2.5rem 12rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hero-section:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(251, 247, 239, .98) 0%, rgba(251, 247, 239, .88) 30%,
              rgba(251, 247, 239, .2) 62%, rgba(11, 55, 50, .06) 100%);
}

/* The photograph and the wash are placed against the section itself, so
   nothing between them may be positioned; only the words are lifted. */
.hero-section .hero_content {
  position: relative;
  z-index: 2;
}

.hero-section .hero_component {
  grid-template-columns: 1fr;
}

.hero-section .hero-figure {
  position: absolute;
  inset: 0;
  z-index: 0;
  margin: 0;
}

.hero-section .hero_image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% 50%;
}

.hero-section .hero_content {
  max-width: 41rem;
}

.hero-fact_value,
.plot-row_value,
.table_cell:first-child,
.hero-section .heading-style-h1 {
  font-variant-numeric: lining-nums;
}

.hero-eyebrow {
  color: #965733;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .2em;
  line-height: 1.4;
  text-transform: uppercase;
  margin: 0 0 1.5rem;
}

.hero-section .heading-style-h1 {
  font-size: clamp(3rem, 5.4vw, 4.75rem);
  line-height: .98;
  letter-spacing: -.035em;
}

.hero_content .heading-style-h1:after {
  display: none;
}

.hero-em {
  display: block;
  color: #b66f49;
  font-style: italic;
}

.hero-section .text-size-medium {
  font-size: 1.12rem;
  max-width: 34rem;
}

/* The key figures, on a strip across the foot of the photograph. */
.hero-facts-wrap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  padding: 0 2.5rem;
}

.hero-facts {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, auto);
  background: rgba(255, 253, 248, .96);
  border-top: 1px solid rgba(117, 83, 55, .22);
  box-shadow: 0 16px 34px rgba(11, 55, 50, .08);
}

.hero-fact {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem 1.6rem;
  border-left: 1px solid rgba(117, 83, 55, .16);
}

.hero-fact:first-child {
  border-left: 0;
}

.hero-fact_icon {
  flex: none;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  border: 1px solid rgba(21, 79, 71, .42);
  color: #154f47;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-fact_value {
  display: block;
  color: #154f47;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2.1rem;
  line-height: 1;
  white-space: nowrap;
}

.hero-fact_label {
  display: block;
  color: #596761;
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.2;
  margin-top: .45rem;
  text-transform: uppercase;
}

/* ---- the enquiry band: a photograph under deep green, the form on cream -- */
#contact {
  position: relative;
  overflow: hidden;
  background-color: #0b3732;
  padding: 7.5rem 2.5rem;
}

#contact:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(8, 42, 37, .93), rgba(8, 42, 37, .62));
}

#contact .contact_component {
  display: block;
}

#contact .contact_image {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
}

#contact .contact_content {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 36rem);
  gap: 4rem;
  align-items: center;
}

#contact .contact_content > .spacer-medium {
  display: none;
}

#contact .heading,
#contact .heading span {
  color: #fff;
}

#contact .text-style-tagline {
  color: #efb38e;
}

#contact .contact_heading .text-size-regular {
  color: rgba(255, 253, 248, .86);
  font-size: 1.05rem;
}

#contact .contact_form_component {
  background: rgba(251, 247, 239, .97);
  padding: 2.25rem;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .18);
}

#contact .contact_form {
  grid-template-columns: 1fr 1fr;
  gap: 1.1rem 1rem;
}

#contact .contact_form > .form_field-wrapper:nth-of-type(1),
#contact .contact_form > .form_field-wrapper:nth-of-type(4),
#contact .contact_form > .button {
  grid-column: 1 / -1;
}

#contact .contact_form > .button {
  background-color: #154f47;
  width: 100%;
  box-shadow: none;
}

#contact .contact_form > .button:hover {
  background-color: #0b3732;
}

.form_form_label {
  color: #154f47;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: .45rem;
}

.form_input {
  background-color: #fffdf8;
  border: 1px solid rgba(21, 79, 71, .22);
  border-radius: 0;
  color: #154f47;
  font-size: .95rem;
  min-height: 2.9rem;
}

.form_input:focus {
  border-color: #a8643f;
  outline: 0;
}

.form_input.is-text-area {
  min-height: 6.5rem;
}

/* ---- overview: words, an arch, the highlights --------------------------- */
#overview {
  background-color: #fbf7ef;
}

.overview_component.has-figure {
  grid-template-columns: minmax(0, 1fr) minmax(0, 21rem) minmax(0, 1fr);
  gap: 3.5rem;
  align-items: center;
}

.overview_image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: .78;
  object-fit: cover;
  border-radius: 999px 999px 0 0;
}

.overview_content-right ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.overview_content-right li {
  border-bottom: 1px solid rgba(117, 83, 55, .16);
  color: #485c58;
  font-size: .95rem;
  margin: 0;
  padding: .65rem 0;
}

.overview_content-right li:first-child {
  border-top: 1px solid rgba(117, 83, 55, .16);
}

/* Infrastructure, as cards with a copper edge. */
.spec-cols {
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 1.25rem;
}

.spec-group {
  background: #fffdf8;
  border-top: 3px solid #b66f49;
  box-shadow: 0 12px 30px rgba(11, 55, 50, .06);
  padding: 1.5rem;
}

.spec-group .heading {
  color: #154f47;
}

.spec-group .list li {
  color: #485c58;
}

/* ---- gallery: arch-topped pictures on the second cream ------------------ */
#gallery {
  background-color: #f4efe7;
}

.gallery_image {
  aspect-ratio: .82;
  height: auto;
  border-radius: 999px 999px 0 0;
}

#gallery .text-size-tiny {
  color: #596761;
}

.thumb-cell img {
  border-radius: 0;
}

/* ---- master plan --------------------------------------------------------- */
.master_image {
  background: #fffdf8;
  border: 1px solid rgba(117, 83, 55, .18);
  padding: 1rem;
  max-height: none;
  max-width: 68rem;
  margin-left: auto;
  margin-right: auto;
}

/* ---- plot sizes: four rows, each with an arch -------------------------- */
#floor-plans {
  background-color: #f4efe7;
}

.plot-rows {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(117, 83, 55, .2);
}

.plot-row {
  display: grid;
  grid-template-columns: 3rem 7.5rem minmax(9rem, 1fr) minmax(7rem, .7fr) minmax(0, 1.5fr);
  align-items: center;
  gap: 1.75rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid rgba(117, 83, 55, .2);
}

.plot-row_num {
  color: #965733;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
}

.plot-row_image {
  display: block;
  width: 7.5rem;
  height: 9.375rem;
  object-fit: cover;
  border-radius: 999px 999px 0 0;
}

.plot-row_value {
  color: #154f47;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2.7rem;
  line-height: 1;
}

.plot-row_unit {
  color: #596761;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.plot-row_dims {
  color: #154f47;
  font-weight: 500;
}

.plot-row_note {
  color: #485c58;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.4rem;
  font-style: italic;
  line-height: 1.25;
}

/* ---- amenities: a photograph band in deep green ------------------------- */
#amenities.has-backdrop {
  position: relative;
  overflow: hidden;
  background-color: #0b3732;
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.section-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.section-backdrop_image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 70% center;
}

#amenities.has-backdrop:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(8, 42, 37, .95), rgba(8, 42, 37, .84) 50%, rgba(8, 42, 37, .72));
}

#amenities.has-backdrop > .container {
  position: relative;
  z-index: 2;
}

#amenities .heading,
#amenities .heading span,
#amenities .spec-block > .heading {
  color: #fff;
}

#amenities .spec-group .heading {
  color: #154f47;
}

#amenities .text-style-tagline {
  color: #efb38e;
}

#amenities .text-size-medium,
#amenities .spec-block > .text-size-tiny {
  color: rgba(255, 253, 248, .86);
}

#amenities .overview_content-right ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 2rem;
}

#amenities .overview_content-right li {
  color: #fff;
  border-color: rgba(255, 253, 248, .16);
  padding-left: 1.4rem;
  position: relative;
}

#amenities .overview_content-right li:first-child {
  border-top: 0;
}

#amenities .overview_content-right li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.05rem;
  width: .45rem;
  height: .45rem;
  border-radius: 50%;
  background: #efb38e;
}

/* ---- location: the map beside a deep green panel ------------------------ */
#location .feature_content {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
}

#location .feature_image-wrapper {
  background: #fffdf8;
  border: 1px solid rgba(117, 83, 55, .18);
  display: block;
}

#location .feature_image {
  height: 100%;
  object-fit: cover;
}

#location .feature_content-left {
  background-color: #154f47;
  padding: 3.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#location .feature_content-left .heading,
#location .feature_content-left .heading span {
  color: #fff;
}

#location .feature_content-left .text-style-tagline {
  color: #efb38e;
}

#location .feature_content-left .text-size-medium {
  color: rgba(255, 253, 248, .88);
}

/* ---- price and the rest --------------------------------------------------- */
#price {
  background-color: #f4efe7;
}

.table_component {
  background: #fffdf8;
}

.table_header {
  color: #154f47;
  font-family: Jost, "Century Gothic", Arial, sans-serif;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(117, 83, 55, .25);
}

.table_row.is-purple {
  background-color: #fbf7ef;
}

.table_cell {
  color: #485c58;
  border-bottom: 1px solid rgba(117, 83, 55, .12);
}

.table_cell:first-child {
  color: #154f47;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.5rem;
}

#faqs {
  background-color: #f4efe7;
}

.faq_accordion {
  background-color: #fffdf8;
  border: 1px solid rgba(117, 83, 55, .18);
  border-radius: 0;
}

.faq_question {
  color: #154f47;
}

.cta_card {
  background-color: #154f47;
  padding: 3.5rem;
}

.cta_card .heading-style-h2 {
  color: #fff;
  font-size: clamp(2.2rem, 3.6vw, 3.2rem);
}

.cta_card .text-size-medium {
  color: rgba(255, 253, 248, .86);
}

/* ---- footer: the deep green of the bands -------------------------------- */
.footer {
  background-color: #0b3732;
  background-image: none;
  border-top: 0;
  color: #fffdf8;
}

.footer .text-size-tiny {
  color: rgba(255, 253, 248, .74);
}

.footer .text-size-tiny a {
  color: #efb38e;
  text-decoration: underline;
}

.footer_link {
  color: #fffdf8;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.footer_link:hover {
  color: #efb38e;
}

.footer .brandmark_badge {
  background: #fbf7ef;
  color: #154f47;
  border-color: #fbf7ef;
}

.footer .brandmark_name {
  color: #fffdf8;
}

.mobile-cta {
  background-color: #a8643f;
  color: #fff;
  border-top-color: #a8643f;
  border-radius: 0;
  font-size: .78rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .3), 0 6px 18px rgba(11, 55, 50, .25);
}

/* The home page is long: the sections after the enquiry band are laid out and
   painted only as they come near the screen, which keeps the first load light. */
.is-home main > :nth-child(n+3),
.is-home .footer {
  content-visibility: auto;
  contain-intrinsic-size: auto 900px;
}

/* ---- tablets and phones -------------------------------------------------- */
@media screen and (max-width: 991px) {
  .navbar {
    padding: .75rem 1.5rem;
    min-height: 4.75rem;
  }

  .nav_menu {
    background-color: #fbf7ef;
  }

  .navbar1_menu-links {
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
  }

  .nav_link {
    font-size: .9rem;
    padding: .85rem 0;
  }

  .nav_menu-button {
    background: rgba(255, 253, 248, .94);
    border: 1px solid rgba(117, 83, 55, .2);
    border-radius: 999px;
  }

  .hero-facts {
    grid-template-columns: repeat(3, auto);
  }

  .hero-fact:nth-child(4) {
    border-left: 0;
  }

  .overview_component.has-figure {
    grid-template-columns: 1fr 1fr;
  }

  .overview-figure {
    display: none;
  }

  #contact .contact_content {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  #location .feature_content {
    grid-template-columns: 1fr;
  }

  .plot-row {
    grid-template-columns: 2.5rem 6rem minmax(0, 1fr) minmax(0, 1fr);
  }

  .plot-row_note {
    grid-column: 3 / -1;
  }
}

@media screen and (max-width: 767px) {
  .section {
    padding: 4.5rem 1.25rem;
  }

  .hero-section {
    min-height: 0;
    display: block;
    padding: 7.5rem 1.25rem 0;
  }

  .hero-section:before {
    background: linear-gradient(180deg, rgba(251, 247, 239, .97) 0%, rgba(251, 247, 239, .93) 50%,
                rgba(251, 247, 239, .35) 74%, rgba(251, 247, 239, 0) 100%);
  }

  .hero-section .hero_image {
    object-position: center;
  }

  .hero-section .hero_content {
    padding-bottom: 15rem;
  }

  .hero-facts-wrap {
    position: relative;
    width: auto;
    max-width: none;
    padding: 0;
    margin: 0 -1.25rem;
  }

  .hero-facts {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .hero-fact {
    gap: .75rem;
    padding: .95rem 1rem;
    border-left: 0;
    border-top: 1px solid rgba(117, 83, 55, .16);
  }

  .hero-fact:nth-child(3) {
    grid-column: 1 / -1;
  }

  .hero-fact:nth-child(2),
  .hero-fact:nth-child(5) {
    border-left: 1px solid rgba(117, 83, 55, .16);
  }

  .hero-fact_icon {
    width: 2.25rem;
    height: 2.25rem;
  }

  .hero-fact_icon svg {
    width: 1.1rem;
    height: 1.1rem;
  }

  .hero-fact_value {
    font-size: 1.6rem;
  }

  .hero-fact_label {
    font-size: .6rem;
    letter-spacing: .12em;
  }

  #contact {
    padding: 4.5rem 1.25rem;
  }

  #contact .contact_form_component {
    padding: 1.5rem;
  }

  #contact .contact_form {
    grid-template-columns: 1fr;
  }

  .overview_component.has-figure {
    grid-template-columns: 1fr;
  }

  #amenities .overview_content-right ul {
    grid-template-columns: 1fr;
  }

  #location .feature_content-left {
    padding: 2.25rem 1.5rem;
  }

  .plot-row {
    grid-template-columns: 4.5rem minmax(0, 1fr);
    gap: .35rem 1.1rem;
  }

  .plot-row_num {
    display: none;
  }

  .plot-row_media {
    grid-row: 1 / span 3;
  }

  .plot-row_image {
    width: 4.5rem;
    height: 5.6rem;
  }

  .plot-row_value {
    font-size: 2.1rem;
  }

  .plot-row_note {
    grid-column: 2;
    font-size: 1.2rem;
  }

  .cta_card {
    padding: 2.25rem 1.5rem;
  }
}

@media screen and (max-width: 479px) {
  .table_header {
    font-size: .62rem;
    letter-spacing: .1em;
  }

  .table_cell:first-child {
    font-size: 1.15rem;
  }

  .table_cell .button.is-small {
    letter-spacing: .08em;
    padding: .55rem .65rem;
  }

  .table_cell a.button:after {
    display: none;
  }
}
