/* Poppins throughout, Modern Spaaces' own typeface on modernspaaces.com: semibold for headings, figures and labels, regular for text. Self-hosted (latin + latin-ext, swap; the latin files preloaded). */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/poppins-400-latin-ext.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: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/poppins-600-latin-ext.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: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/poppins-400-latin.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: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/poppins-600-latin.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: Poppins, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

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

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

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

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

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

h6 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: Poppins, Arial, 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: Poppins, Arial, 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;
}

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



/* ---- Modern Spaaces Chikkadunnasandra: 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;
}

/* Many layouts in a grid: three (or PLAN_COLS) across on a desktop, two on a
   tablet, one on a phone; every sheet in one shared frame, the drawing
   contained in it whole. */
.plan-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem 1.5rem;
}

.plan-grid.is-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.plan-grid.is-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.plan-grid .plan-sheet {
  margin: 0;
}

.plan-grid .plan-sheet img {
  width: 100%;
  aspect-ratio: 5 / 4;
  object-fit: contain;
}

@media screen and (max-width: 991px) {
  .plan-grid,
  .plan-grid.is-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .plan-grid,
  .plan-grid.is-2,
  .plan-grid.is-4 {
    grid-template-columns: 1fr;
  }
}

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

  /* A short type ("2 BHK") stays on one line by itself; a long one ("1 BHK
     Serviced Apartment") wraps rather than pushing the Enquire column off. */
  .is-wide .table_cell:first-child {
    white-space: normal;
  }

  .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: Poppins, Arial, sans-serif;
  font-size: 1.6rem;
  line-height: 1;
  display: flex;
}

.brandmark_name {
  color: var(--text-color--text-alternate);
  white-space: nowrap;
  font-family: Poppins, Arial, sans-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 {
  /* Modern Spaaces' own palette, from modernspaaces.com: an off-white #f8fafc
     page, #181a1c ink, the #77797c grey of its two-tone headings, white cards,
     a black header and a #0c1014 footer.

     Contrast measured, not assumed. Ink is 16.7:1 on the page and white on it
     17.5:1 (buttons). The #77797c grey is 4.2:1 on the page, so it is only
     the second tone of headings (large text, AA 3:1); smaller grey text is
     #5f6266 (5.9:1). On #0c1014: white 19.1:1, #cfd1d4 12.5:1, #a3a4a6
     7.7:1. */
  --riv-accent: #181a1c;
  --riv-accent-text: #181a1c;
  --riv-accent-dark: #000000;
  --riv-on-accent: #ffffff;
  --riv-gold: #77797c;          /* unused: the hero has no rule */
  --riv-ink: #181a1c;
  --riv-ink-muted: #5f6266;
  --riv-surface: #ffffff;
  --riv-surface-strong: #eef0f3;
  --riv-hairline: #e6e6e6;
}

: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;
}

/* Small laptops, between the collapsed menu (below 992px) and 1280px: the
   eight links and the enquiry button stay on one line beside the name. */
@media screen and (min-width: 992px) and (max-width: 1279px) {
  .navbar {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .nav_link {
    padding-left: .35rem;
    padding-right: .35rem;
    font-size: .86rem;
  }

  .nav_menu-buttons {
    margin-left: .6rem;
  }
}

@media screen and (min-width: 992px) and (max-width: 1139px) {
  .nav_link {
    padding-left: .25rem;
    padding-right: .25rem;
    font-size: .8rem;
  }
}

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

/* The hero keeps its box while its picture loads: no layout shift. */
.hero-figure .hero_image {
  aspect-ratio: 986 / 1024;
}


/* ---- Modern Spaaces look ---------------------------------------------------- */

/* Mirrors modernspaaces.com: Poppins throughout, semibold near-black headings
   with a grey second tone, an off-white page, white cards with soft shadows
   and rounded pictures, a black header with small uppercase links, black
   buttons with a diagonal arrow, underline-only form fields, open FAQ rows and
   a near-black footer. */
body {
  background-color: #f8fafc;
  color: #181a1c;
}

.text-size-regular,
.text-size-medium {
  color: #5f6266;
  line-height: 1.7;
}

.heading-style-h1,
.heading-style-h2,
h1.heading,
h2.heading,
.heading {
  color: #181a1c;
  font-weight: 600;
  letter-spacing: -.015em;
}

.hero_content .heading-style-h1 {
  font-size: clamp(2rem, 3.4vw, 3rem);
  line-height: 1.14;
}

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

/* The second tone of the headline, as on modernspaaces.com (4.2:1 at heading
   size, which is large text). */
.hero-em {
  font-style: normal;
  color: #77797c;
}

.heading .text-style-tagline,
.text-style-tagline {
  color: #5f6266;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}

strong,
b,
.faq_question {
  font-weight: 600;
}

/* Buttons: near black, small uppercase labels and the diagonal arrow. */
.button,
.button.w-button,
.w-button {
  background-color: #181a1c;
  color: #fff;
  border: 1px solid #181a1c;
  border-radius: 6px;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.button:hover,
.w-button:hover {
  background-color: #000;
  border-color: #000;
  color: #fff;
}

a.button:not(.is-small) {
  display: inline-flex;
  align-items: center;
}

a.button:not(.is-small):after {
  content: "";
  flex: none;
  width: .7rem;
  height: .7rem;
  margin-left: .6rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 10 10 2M4 2h6v6' fill='none' stroke='%23ffffff' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* The small buttons are the "READ MORE" text links of modernspaaces.com. */
.button.is-small {
  background-color: transparent;
  border-color: transparent;
  color: #181a1c;
  padding-left: 0;
  padding-right: 0;
  font-size: .72rem;
}

.button.is-small:after {
  content: "";
  display: inline-block;
  width: .6rem;
  height: .6rem;
  margin-left: .45rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 10 10 2M4 2h6v6' fill='none' stroke='%23181a1c' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.button.is-small:hover {
  background-color: transparent;
  border-color: transparent;
  color: #000;
  text-decoration: underline;
}

/* Underline-only fields with small uppercase labels. */
.form_form_label {
  color: #5f6266;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.form_input {
  background-color: transparent;
  border: 0;
  border-bottom: 1px solid #c9ccd1;
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
}

.form_input:focus {
  border-bottom-color: #181a1c;
  outline: none;
  box-shadow: 0 2px 0 #181a1c;
}

/* ---- header: black, small white uppercase links, a white enquiry button.
   White on black is 21:1, the #b9bcc0 hover 11.0:1. */
.navbar {
  background-color: #000;
  border-bottom: 1px solid #1d1f21;
}

.nav_menu {
  background-color: #000;
  border-bottom-color: #1d1f21;
}

.nav_link {
  color: #fff;
  font-size: .74rem;
  font-weight: 400;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding-left: .55rem;
  padding-right: .55rem;
}

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

.menu-icon1_line-top,
.menu-icon1_line-middle,
.menu-icon1_line-bottom {
  background-color: #fff;
}

.navbar .button.is-small {
  background-color: #fff;
  border-color: #fff;
  color: #000;
  border-radius: 6px;
  padding: .55rem 1rem;
}

.navbar .button.is-small:hover {
  background-color: #e6e6e6;
  border-color: #e6e6e6;
  color: #000;
  text-decoration: none;
}

/* The lettermark: a black M on white, beside the name in two lines. */
.brandmark_badge {
  background: #fff;
  color: #000;
  border-color: #fff;
  border-radius: 0;
  font-weight: 600;
}

.brandmark_name {
  color: #fff;
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.navbar .nav_logo-link {
  width: auto;
  flex: none;
}

.navbar .brandmark_name {
  white-space: normal;
  line-height: 1.3;
  max-width: 14em;
}

@media screen and (min-width: 992px) and (max-width: 1279px) {
  .navbar .brandmark_name {
    font-size: .72rem;
  }

  .nav_link {
    padding-left: .32rem;
    padding-right: .32rem;
    font-size: .64rem;
    letter-spacing: .04em;
  }

  .navbar .button.is-small {
    padding-left: .8rem;
    padding-right: .8rem;
  }
}

@media screen and (min-width: 992px) and (max-width: 1099px) {
  .navbar .brandmark_name {
    font-size: .64rem;
  }

  .navbar .brandmark_badge {
    width: 2.2rem;
    height: 2.2rem;
    font-size: 1.3rem;
  }

  .nav_link {
    padding-left: .26rem;
    padding-right: .26rem;
    font-size: .6rem;
    letter-spacing: .02em;
  }
}

/* ---- hero: the eyebrow over the two-tone headline, then the key figures on a
   white card, like the figures on modernspaaces.com. */
.hero-eyebrow {
  color: #5f6266;
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .16em;
  line-height: 1.5;
  text-transform: uppercase;
  margin: 0 0 1rem;
}

.hero-facts-wrap {
  margin-top: 3rem;
}

.hero-facts {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 12px 32px rgba(24, 26, 28, .07), 0 1px 2px rgba(24, 26, 28, .06);
}

.hero-fact {
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: 1.5rem 1.4rem;
  border-left: 1px solid #eceef1;
}

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

.hero-fact_icon {
  flex: none;
  width: 2.6rem;
  height: 2.6rem;
  border: 1px solid #d5d8dc;
  border-radius: 50%;
  color: #181a1c;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-fact_value {
  display: block;
  color: #181a1c;
  font-size: 1.75rem;
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1;
  white-space: nowrap;
}

/* #5f6266 on white is 6.1:1. */
.hero-fact_label {
  display: block;
  color: #5f6266;
  font-size: .64rem;
  font-weight: 600;
  letter-spacing: .12em;
  line-height: 1.35;
  margin-top: .45rem;
  text-transform: uppercase;
}

/* Rounded pictures, as on modernspaaces.com. */
.hero_image,
.contact_image,
.gallery_image,
.master_image,
.plan-sheet img,
.thumb-cell img {
  border-radius: 18px;
}

/* The layouts and the amenity illustrations on white cards. */
.plan-sheet {
  background: #fff;
  border-radius: 18px;
  padding: .75rem .75rem 1rem;
  box-shadow: 0 10px 28px rgba(24, 26, 28, .06);
}

.plan-sheet img {
  border-radius: 12px;
}

.plan-sheet figcaption {
  color: #5f6266;
  padding-top: .6rem;
}

.thumb-cell {
  background: #fff;
  border-radius: 18px;
  padding: .75rem .75rem 1rem;
  box-shadow: 0 10px 28px rgba(24, 26, 28, .06);
}

.thumb-cell img {
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  background: #fff;
  border-radius: 12px;
}

.thumb-cell figcaption {
  color: #181a1c;
  font-weight: 600;
}

/* ---- amenities: the pool deck under a #0c1014 wash. White is at least
   10.4:1 on it, the #cfd1d4 eyebrow 8.6:1 on the left, where the labels sit
   (n5/tools/washcheck.py). */
#amenities.has-backdrop {
  position: relative;
  overflow: hidden;
  background-color: #0c1014;
  padding-top: 7rem;
  padding-bottom: 7rem;
}

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

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

#amenities.has-backdrop:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(12, 16, 20, .93), rgba(12, 16, 20, .86) 55%, rgba(12, 16, 20, .78));
}

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

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

#amenities .text-style-tagline,
#amenities .heading .text-style-tagline {
  color: #cfd1d4;
}

#amenities .text-size-medium {
  color: rgba(255, 255, 255, .88);
}

#amenities .overview_content-right ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 2rem;
}

#amenities .overview_content-right li {
  position: relative;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, .18);
  padding: .7rem 0 .7rem 1.4rem;
  margin: 0;
}

#amenities .overview_content-right li:before {
  content: "";
  position: absolute;
  left: .1rem;
  top: 1.15rem;
  width: .55rem;
  height: .55rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 10 10 2M4 2h6v6' fill='none' stroke='%23ffffff' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

#amenities .button:not(.is-small) {
  background-color: #fff;
  border-color: #fff;
  color: #000;
}

#amenities a.button:not(.is-small):after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 10 10 2M4 2h6v6' fill='none' stroke='%23181a1c' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

#amenities .button:not(.is-small):hover {
  background-color: #e6e6e6;
  border-color: #e6e6e6;
}

/* ---- tables, the FAQ and the closing card ---------------------------------- */
.table_header {
  color: #181a1c;
  font-weight: 600;
  border-bottom: 1px solid #181a1c;
}

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

/* Open FAQ rows divided by a rule, as on modernspaaces.com. */
.faq_accordion {
  background-color: transparent;
  border: 0;
  border-bottom: 1px solid #d5d8dc;
  border-radius: 0;
}

.faq_question .text-size-medium {
  color: #181a1c;
}

.cta_card {
  background-color: #0c1014;
  border-radius: 18px;
  padding: 3rem 3.5rem;
}

.cta_card .heading,
.cta_card .heading-style-h2,
.cta_card .heading span {
  color: #fff;
}

.cta_card .text-size-medium {
  color: #cfd1d4;
}

.cta_card .heading .text-style-tagline,
.cta_card .text-style-tagline {
  color: #a3a4a6;
}

.cta_card .button {
  background-color: #fff;
  border-color: #fff;
  color: #000;
}

.cta_card a.button:not(.is-small):after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 10 10 2M4 2h6v6' fill='none' stroke='%23181a1c' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.cta_card .button:hover {
  background-color: #e6e6e6;
  border-color: #e6e6e6;
  color: #000;
}

/* Phones: a distance and a home type each stay on one line. */
.nearby-table .table_cell:last-child,
.table_component.is-wide .table_cell:first-child {
  white-space: nowrap;
}

/* ---- the near-black footer: #cfd1d4 links 12.5:1, #a3a4a6 small print
   7.7:1, white hover 19.1:1. */
.footer {
  background-color: #0c1014;
  border-top: 0;
  color: #cfd1d4;
}

.footer .text-size-tiny {
  color: #a3a4a6;
}

.footer .text-size-tiny a,
.footer_link {
  color: #cfd1d4;
}

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

.footer_link:hover,
.footer .text-size-tiny a:hover {
  color: #fff;
}

.footer .brandmark_name {
  color: #fff;
}

/* The phone bar: near black with white text (17.5:1), and a faint ring that
   keeps it visible over the dark bands. */
.mobile-cta {
  background-color: #181a1c;
  color: #fff;
  border-top-color: #181a1c;
  border-radius: 0;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .35), 0 6px 18px rgba(12, 16, 20, .3);
}

/* The home page is long: the sections after the enquiry form 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) {
  .hero-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

  .hero-fact:nth-child(n+4) {
    border-top: 1px solid #eceef1;
  }
}

@media screen and (max-width: 767px) {
  .hero-facts-wrap {
    margin-top: 2.25rem;
  }

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

  .hero-fact {
    gap: .7rem;
    padding: 1rem;
    border-left: 0;
    border-top: 1px solid #eceef1;
  }

  .hero-fact:nth-child(1),
  .hero-fact:nth-child(2) {
    border-top: 0;
  }

  .hero-fact:nth-child(even) {
    border-left: 1px solid #eceef1;
  }

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

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

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

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

  .hero-fact_label {
    font-size: .58rem;
    letter-spacing: .1em;
  }

  #amenities.has-backdrop {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }

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

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

@media screen and (max-width: 479px) {
  .table_cell a.button:after {
    display: none;
  }
}
