/**
 * Swiper 14.2.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: August 26, 2026
 */

:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}
:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}
.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}
.swiper-horizontal {
  touch-action: pan-y;
}
.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}
.swiper-slide-invisible-blank {
  visibility: hidden;
}
/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}
/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}
.swiper-3d {
  perspective: 1200px;
  .swiper-slide,
  .swiper-cube-shadow {
    transform-style: preserve-3d;
  }
}

/* CSS Mode */
.swiper-css-mode {
  > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none; /* For Firefox */
    -ms-overflow-style: none; /* For Internet Explorer and Edge */
    &::-webkit-scrollbar {
      display: none;
    }
  }
  > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  &.swiper-horizontal {
    > .swiper-wrapper {
      scroll-snap-type: x mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-slides-offset-before);
      scroll-margin-inline-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-inline-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-vertical {
    > .swiper-wrapper {
      scroll-snap-type: y mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-slides-offset-before);
      scroll-margin-block-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-block-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-free-mode {
    > .swiper-wrapper {
      scroll-snap-type: none;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: none;
    }
  }
  &.swiper-centered {
    > .swiper-wrapper::before {
      content: "";
      flex-shrink: 0;
      order: 9999;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always;
    }
  }
  &.swiper-centered.swiper-horizontal {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      height: 100%;
      min-height: 1px;
      width: var(--swiper-centered-offset-after);
    }
  }
  &.swiper-centered.swiper-vertical {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      width: 100%;
      min-width: 1px;
      height: var(--swiper-centered-offset-after);
    }
  }
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d {
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom,
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
}
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}
.swiper:not(.swiper-watch-progress),
.swiper-watch-progress .swiper-slide-visible {
  .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
}
.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */

@charset "UTF-8";
/**
* Theme/Project Name
* ==================
* Design: PROJECT NAME
* Author: True Market
* Version 1.0
*
* Table of Contents
* =================
Custom Properties
Mixins
Fonts
Reset
Pages
Typography
Layouts
Components

*/
:root {
  font-size: 62.5%;
  /* Colours */
  /* Neutrals */
  --white: #fff;
  --black: #000;
  --off-black: #191d1e;
  --slate: #56676c;
  --slate-light: #6c8085;
  --off-white: #f3f5f5;
  --grey: rgba(112, 112, 112, 0.05);
  /* Brand — deep teals & greens */
  --teal-darkest: #062e32;
  --teal-dark: #0e5c67;
  --teal-lightest: #ebf3f3;
  --green-dark: #1a3c34;
  /* Background tints */
  --teal-tint: #e6f1f1;
  --mint-tint: #eaf5f1;
  --cream-tint: #f3ede7;
  --lilac-tint: #eee4f1;
  /* Deep accents */
  --navy: #002856;
  --indigo: #2d39bb;
  --green-deep: #328100;
  --bronze: #a16d14;
  --purple-deep: #610081;
  --rust: #893000;
  /* Bright accents */
  --cyan-bright: #00f2ff;
  --cyan: #00ebea;
  --blue: #0084f9;
  --green-bright: #00ff6f;
  --mint: #22cda8;
  --violet: #8a38f5;
  --red-bright: #e70000;
  --yellow: #ffc800;
  --orange: #f7941d;
  /* Status */
  --success: #0dc87d;
  --error: #c82222;
  --warning: #e6a800;
  /* Radii */
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius: 12px;
  --radius-lg: 20px;
  --radius-24: 24px;
  --radius-xl: 32px;
  --radius-xxl: 48px;
  --radius-pill: 999px;
  --radius-40: 40px;
  /* Box Shadow */
  --box-shadow: 0 0 40px rgb(0 0 0 / 10%);
  /* Transitions */
  /* Spacing */
  --bottom-spacing: 3rem;
  --padding-inline: 4rem;
  /* The colour of the page shell the footer separator tucks into. Overridden
     per shell in components/_footer.scss. */
  --page-surface: var(--white);
  /* Square marker shared by list bullets and the footer legal separators */
  --marker-size: 0.6rem;
  --marker-color: var(--teal-darkest);
}

@media all and (max-width: 1100px) {
  :root {
    font-size: 50%;
  }
}
@media all and (max-width: 800px) {
  :root {
    --padding-inline: 3rem;
  }
}
/* 
==========
Custom Font Families 
==========

Follow these steps to generate @font-face fonts (if .woff files were not provided for you, otherwise, skip to step 5)
1. Go to assets/fonts and delete everything in there.
2. Go to https://transfonter.org/ and upload the fonts that were provided to you
3. Download the kit
4. Extract the zip and copy the files in assets/fonts
5. Now simply change the urls and font names (font-family) in this file to match your new fonts. Remove unnecessary ones
6. Update typography.scss with the new fonts

Current fonts (self-hosted, subset to latin + latin-ext):
- DM Serif Display — display titles. The italic is the "cursive" accent in the designs.
- Work Sans       — titles, spans, highlights, menu, links, details, body, disclaimers, lists.
*/
/* ==========
DM Serif Display — titles / cursive accent
========== */
@font-face {
  font-family: "DM Serif Display";
  src: url("../../fonts/DMSerifDisplay-Regular.woff2") format("woff2"), url("../../fonts/DMSerifDisplay-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DM Serif Display";
  src: url("../../fonts/DMSerifDisplay-Italic.woff2") format("woff2"), url("../../fonts/DMSerifDisplay-Italic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
/* ==========
Work Sans — everything else
========== */
@font-face {
  font-family: "Work Sans";
  src: url("../../fonts/WorkSans-Light.woff2") format("woff2"), url("../../fonts/WorkSans-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Work Sans";
  src: url("../../fonts/WorkSans-Regular.woff2") format("woff2"), url("../../fonts/WorkSans-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Work Sans";
  src: url("../../fonts/WorkSans-Italic.woff2") format("woff2"), url("../../fonts/WorkSans-Italic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Work Sans";
  src: url("../../fonts/WorkSans-SemiBold.woff2") format("woff2"), url("../../fonts/WorkSans-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Work Sans";
  src: url("../../fonts/WorkSans-Bold.woff2") format("woff2"), url("../../fonts/WorkSans-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
.large-text {
  font-size: var(--text-45);
  font-family: var(--font-regular);
  font-weight: var(--weight-bold);
  line-height: 1.2;
}

.teal-text {
  color: var(--teal-dark);
}

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

.disclaimer-text {
  color: var(--slate);
  font-size: var(--text-12);
  line-height: 1.2;
}

p.disclaimer-text a:not(.button) {
  color: inherit;
  font-weight: var(--weight-bold);
  text-decoration: underline;
  text-underline-offset: 0.2rem;
}

.text-align-center::after {
  margin: 1rem auto;
}

.text-align-right::after {
  margin: 1rem 0;
}

.typography {
  --base: 6vw;
  --text-10: clamp(0.5rem, var(--base), 1rem);
  --text-12: clamp(0.6rem, var(--base), 1.2rem);
  --text-14: clamp(0.7rem, var(--base), 1.4rem);
  --text-15: clamp(0.75rem, var(--base), 1.5rem);
  --text-16: clamp(0.8rem, var(--base), 1.6rem);
  --text-18: clamp(0.9rem, var(--base), 1.8rem);
  --text-20: clamp(1rem, var(--base), 2rem);
  --text-22: clamp(1.1rem, var(--base), 2.2rem);
  --text-24: clamp(1.2rem, var(--base), 2.4rem);
  --text-25: clamp(1.25rem, var(--base), 2.5rem);
  --text-26: clamp(1.3rem, var(--base), 2.6rem);
  --text-28: clamp(1.4rem, var(--base), 2.8rem);
  --text-30: clamp(1.5rem, var(--base), 3rem);
  --text-32: clamp(1.6rem, var(--base), 3.2rem);
  --text-34: clamp(1.7rem, var(--base), 3.4rem);
  --text-35: clamp(1.75rem, var(--base), 3.5rem);
  --text-36: clamp(1.8rem, var(--base), 3.6rem);
  --text-38: clamp(1.9rem, var(--base), 3.8rem);
  --text-40: clamp(2rem, var(--base), 4rem);
  --text-42: clamp(2.1rem, var(--base), 4.2rem);
  --text-44: clamp(2.2rem, var(--base), 4.4rem);
  --text-45: clamp(2.25rem, var(--base), 4.5rem);
  --text-46: clamp(2.3rem, var(--base), 4.6rem);
  --text-48: clamp(2.4rem, var(--base), 4.8rem);
  --text-50: clamp(3.5rem, var(--base), 5rem);
  --text-52: clamp(4rem, var(--base), 5.2rem);
  --text-54: clamp(2.7rem, var(--base), 5.4rem);
  --text-55: clamp(2.75rem, var(--base), 5.5rem);
  --text-56: clamp(2.8rem, var(--base), 5.6rem);
  --text-58: clamp(2.9rem, var(--base), 5.8rem);
  --text-60: clamp(3rem, var(--base), 6rem);
  --text-62: clamp(3.1rem, var(--base), 6.2rem);
  --text-64: clamp(5rem, var(--base), 6.4rem);
  --text-65: clamp(3.25rem, var(--base), 6.5rem);
  --text-66: clamp(3.3rem, var(--base), 6.6rem);
  --text-68: clamp(3.4rem, var(--base), 6.8rem);
  --text-70: clamp(3.5rem, var(--base), 7rem);
  --text-72: clamp(7rem, var(--base), 7.2rem);
  --text-74: clamp(3.7rem, var(--base), 7.4rem);
  --text-75: clamp(3.75rem, var(--base), 7.5rem);
  --text-76: clamp(3.8rem, var(--base), 7.6rem);
  --text-78: clamp(3.9rem, var(--base), 7.8rem);
  --text-80: clamp(4rem, var(--base), 8rem);
  --text-82: clamp(4.1rem, var(--base), 8.2rem);
  --text-84: clamp(4.2rem, var(--base), 8.4rem);
  --text-85: clamp(4.25rem, var(--base), 8.5rem);
  --text-86: clamp(4.3rem, var(--base), 8.6rem);
  --text-88: clamp(4.4rem, var(--base), 8.8rem);
  --text-90: clamp(4.5rem, var(--base), 9rem);
  --text-92: clamp(4.6rem, var(--base), 9.2rem);
  --text-94: clamp(4.7rem, var(--base), 9.4rem);
  --text-95: clamp(4.75rem, var(--base), 9.5rem);
  --text-96: clamp(4.8rem, var(--base), 9.6rem);
  --text-98: clamp(4.9rem, var(--base), 9.8rem);
  --text-100: clamp(5rem, var(--base), 10rem);
  --font-regular: "Work Sans", system-ui, sans-serif;
  --font-cursive: "DM Serif Display", georgia, "times new roman", serif;
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  font-family: var(--font-regular);
  font-size: var(--text-20);
  font-weight: normal;
  color: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-regular);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  display: block;
}

h1 {
  font-size: var(--text-90);
}

h2 {
  font-size: var(--text-50);
}

h3 {
  font-size: var(--text-40);
}

h4 {
  font-size: var(--text-30);
}

h5 {
  font-size: var(--text-24);
}

h6 {
  font-size: var(--text-20);
}

p {
  line-height: 1.6;
}

.cursive {
  font-family: var(--font-cursive);
  font-weight: var(--weight-regular);
  font-style: italic;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  max-width: 100vw;
  margin: 0 auto;
  padding: 0;
  scroll-behavior: smooth;
  overflow-x: clip;
  min-width: 300px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-padding-top: 10rem;
}
@media screen and (max-width: 1100px) {
  html,
  body {
    font-size: 87.5%;
  }
}

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  background-color: transparent;
}
button:hover, button:active, button:focus {
  cursor: pointer;
}

input,
button,
textarea,
select {
  font: inherit;
}

img,
picture,
video,
canvas,
iframe,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

img {
  font-style: italic;
}

figure {
  margin: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

#root, #__next {
  isolation: isolate;
}

.home-hero {
  --hero-scrim: linear-gradient(180deg, rgb(6 46 50 / 55%) 0%, rgb(6 46 50 / 25%) 45%, rgb(6 46 50 / 60%) 100%);
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: min(100svh, 1200px);
  overflow: hidden;
  color: var(--white);
  isolation: isolate;
}
@media screen and (max-width: 1700px) {
  .home-hero {
    min-height: min(100svh, 940px);
  }
}
@media screen and (max-width: 1100px) {
  .home-hero {
    min-height: min(100svh, 780px);
  }
}
@media screen and (max-width: 800px) {
  .home-hero {
    min-height: 0;
  }
}

.home-hero__inner {
  --max-width: var(--max-width-wide);
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: space-between;
  gap: 6rem;
  width: 100%;
  padding-block: 18rem 20rem;
}
@media screen and (max-width: 1700px) {
  .home-hero__inner {
    gap: 4rem;
    padding-block: 17rem 10rem;
  }
}
@media screen and (max-width: 1100px) {
  .home-hero__inner {
    padding-block: 18rem 8rem;
  }
}
@media screen and (max-width: 800px) {
  .home-hero__inner {
    gap: 7rem;
    padding-block: 14rem 11rem;
  }
}

.home-hero__content {
  max-width: 78rem;
}

.home-hero__pretitle {
  margin: 0 0 2.4rem;
  font-family: var(--font-regular);
  font-size: var(--text-32);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  text-transform: uppercase;
}
@media screen and (max-width: 800px) {
  .home-hero__pretitle {
    font-size: var(--text-20);
  }
}

.home-hero__title {
  margin: 0;
  font-family: var(--font-regular);
  font-size: var(--text-96);
  font-weight: var(--weight-medium);
  line-height: 1.05;
}
@media screen and (max-width: 800px) {
  .home-hero__title {
    font-size: var(--text-72);
    line-height: 1.15;
  }
}
.home-hero__title em {
  font-family: var(--font-cursive);
  font-weight: var(--weight-regular);
  color: var(--mint);
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 3.2rem;
  margin-block-start: 4rem;
}
@media screen and (max-width: 800px) {
  .home-hero__actions {
    gap: 3rem;
    margin-block-start: 3rem;
  }
  .home-hero__actions .button {
    border-radius: var(--radius-xs);
  }
}

.home-hero__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 800px) {
  .home-hero__stats {
    display: grid;
    grid-template-columns: repeat(3, auto);
    justify-content: space-between;
    gap: 2.4rem;
  }
}

.home-hero__stat {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.home-hero__stat-value {
  font-size: var(--text-52);
  font-weight: var(--weight-light);
  line-height: 1;
}

.home-hero__stat-label {
  font-family: var(--font-regular);
  font-size: var(--text-16);
  font-weight: var(--weight-bold);
  line-height: 1.2;
}
@media screen and (max-width: 800px) {
  .home-hero__stat-label {
    font-size: var(--text-18);
    font-weight: var(--weight-regular);
    line-height: 1.6;
  }
}

.flexible-section.plan-listing {
  padding-block-start: 18rem;
}
@media screen and (max-width: 800px) {
  .flexible-section.plan-listing {
    padding-block-start: 12.5rem;
  }
}

.flexible-section.design-listing {
  padding-block-start: 18rem;
}
@media screen and (max-width: 800px) {
  .flexible-section.design-listing {
    padding-block-start: 12.5rem;
  }
}

.design-listing__sort {
  margin-block-start: 3rem;
}

.design-empty__message {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem 1.6rem;
  margin: 0;
  color: var(--slate);
  font-size: var(--text-20);
  line-height: 1.4;
}

.design-listing__filters .design-listing__toggle {
  display: none;
}
@media screen and (max-width: 800px) {
  .design-listing__filters .design-listing__toggle {
    display: inline-flex;
    align-self: flex-start;
    padding: 1.8rem 3.3rem;
    border-radius: var(--radius-sm);
    font-size: var(--text-24);
  }
  .design-listing__filters .design-listing__toggle:not(:hover, :focus-visible) {
    --button-color: var(--off-black);
    --button-border: var(--slate);
  }
  .design-listing__filters:not(.design-listing__filters--open) > :not(.design-listing__toggle) {
    display: none;
  }
  .design-listing__filters.design-listing__filters--open .design-listing__toggle {
    margin-block-end: 2.4rem;
  }
}
@media screen and (max-width: 800px) {
  .design-listing__filters {
    display: flex;
    flex-direction: column;
  }
}

.flexible-section.community-listing {
  padding-block-start: 18rem;
}
@media screen and (max-width: 800px) {
  .flexible-section.community-listing {
    padding-block-start: 12.5rem;
  }
}

.community-listing__bar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  margin-block-end: 4rem;
}
.community-listing__bar .community-listing__toggle {
  display: none;
}
@media screen and (max-width: 800px) {
  .community-listing__bar .community-listing__toggle {
    display: inline-flex;
    align-self: flex-start;
    padding: 1.8rem 3.3rem;
    border-radius: var(--radius-sm);
    font-size: var(--text-24);
  }
  .community-listing__bar .community-listing__toggle:not(:hover, :focus-visible) {
    --button-color: var(--off-black);
    --button-border: var(--slate);
  }
  .community-listing__bar:not(.community-listing__bar--open) > :not(.community-listing__toggle) {
    display: none;
  }
  .community-listing__bar.community-listing__bar--open .community-listing__toggle {
    margin-block-end: 2.4rem;
  }
}
@media screen and (max-width: 800px) {
  .community-listing__bar {
    flex-direction: column;
    gap: 0;
  }
}

.community-listing__map-link {
  flex-shrink: 0;
}
@media screen and (max-width: 800px) {
  .community-listing__map-link {
    margin-block-start: 2rem;
  }
}

.community-listing__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 960px) {
  .community-listing__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 800px) {
  .community-listing__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.community-listing__item {
  margin: 0;
  display: flex;
}
.community-listing__item .community-card {
  width: 100%;
}

.community-listing__empty {
  margin: 0;
  color: var(--slate);
  font-size: var(--text-20);
}

.community-map__canvas {
  border: 1px solid rgba(6, 46, 50, 0.12);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background-color: var(--off-white);
  aspect-ratio: 1440/680;
}
@media screen and (max-width: 800px) {
  .community-map__canvas {
    aspect-ratio: 4/3;
  }
}

.community-map__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.community-map__bubble {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  padding: 1.6rem 2.4rem 0.4rem;
  color: var(--teal-darkest);
  text-align: center;
}

.community-map__logo {
  display: block;
  width: auto;
  max-width: 18rem;
  height: auto;
  max-height: 40px;
}

.community-map__name {
  margin: 0;
  font-size: var(--text-18);
  font-weight: var(--weight-bold);
  line-height: 1.3;
}

.community-map__close {
  position: absolute;
  width: 2.8rem;
  height: 2.8rem;
  padding: 0;
  border: 0;
  background-color: transparent;
  color: var(--teal-dark);
  cursor: pointer;
  opacity: 1;
  transition: opacity 0.2s ease, color 0.2s ease;
  inset-block-start: -0.6rem;
  inset-inline-end: -1.2rem;
}
.community-map__close::before, .community-map__close::after {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 25%;
  width: 50%;
  height: 2px;
  background-color: currentcolor;
}
.community-map__close::before {
  rotate: 45deg;
}
.community-map__close::after {
  rotate: -45deg;
}
.community-map__close:hover {
  opacity: 1;
}
.community-map__close:hover, .community-map__close:focus-visible {
  color: var(--teal-darkest);
}

.flexible-section.offers-lead {
  padding-block-start: 18rem;
}
@media screen and (max-width: 800px) {
  .flexible-section.offers-lead {
    padding-block-start: 12.5rem;
  }
}

@media screen and (max-width: 800px) {
  .single-community .section-head__title,
  .single-home_model .section-head__title {
    font-size: var(--text-64);
  }
}

.news-featured .news-card__media,
.news-listing__item .news-card__media {
  aspect-ratio: 3/2;
}

.flexible-section.news-featured {
  padding-block-end: 7rem;
}

.news-featured .section-head__title {
  font-size: var(--text-96);
}

.news-featured .news-card__title {
  font-size: var(--text-32);
  line-height: var(--text-40);
  margin-block-end: 1.6rem;
}

.news-featured .section-head {
  margin-block-end: 5.4rem;
}

.news-featured .news-card__link {
  margin-block-start: 0;
}

.news-featured .news-card__media {
  border-radius: var(--radius-40);
  margin-block-end: 1.6rem;
}

.flexible-section.news-featured {
  padding-block-start: 18rem;
  padding-block-start: 13rem;
}
@media screen and (max-width: 800px) {
  .flexible-section.news-featured {
    padding-block-start: 12.5rem;
  }
}

.flexible-section.news-listing {
  padding-block-end: 5.2rem;
}

.news-listing__filter {
  margin-block-end: 3.2rem;
}

.news-listing__filter-button.button {
  display: none;
}

.news-listing__modal {
  padding: 0;
  background-color: transparent;
}

.news-listing__close {
  padding: 0;
  border: 0;
  background: none;
}
.news-listing__close img {
  display: block;
  width: 100%;
}

.news-listing__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3rem;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 5.2rem 3rem;
}
@media screen and (max-width: 960px) {
  .news-listing__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 800px) {
  .news-listing__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.news-listing__item {
  margin: 0;
  display: flex;
}
.news-listing__item .news-card {
  width: 100%;
}
.news-listing__item .news-card__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

.flexible-section.news-listing {
  padding-block-start: 5.6rem;
}

.news-listing .section-head, .news-listing .section-head__title {
  margin-block-end: 1.3rem;
}

.news-listing .news-card__media {
  border-radius: var(--radius-lg);
  margin-block-end: 1.6rem;
}

.news-listing .news-card__title {
  font-size: var(--text-32);
  line-height: var(--text-40);
  margin-block-end: 1.6rem;
}

.news-pagination {
  display: flex;
  justify-content: center;
  margin-block-start: 5.2rem;
}

.news-pagination__more[aria-busy=true] {
  opacity: 0.6;
  pointer-events: none;
}

.news-featured__run {
  display: flex;
  gap: 1.6rem;
  margin-block: 0;
  padding-block: 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  list-style: none;
  margin-inline: calc(((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline)) * -1);
  padding-inline: calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline));
  scroll-padding-inline: calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline));
  display: none;
}

.news-featured__slide {
  display: flex;
  flex: 0 0 95%;
  margin: 0;
  scroll-snap-align: start;
}
.news-featured__slide .news-card {
  width: 100%;
}
.news-featured__slide .news-card__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

@media screen and (max-width: 800px) {
  .news-featured,
  .news-listing {
    --padding-inline: 3.5rem;
  }
  .news-featured .news-card__media {
    border-radius: var(--radius-lg);
  }
  .news-featured .flexible-section__container {
    row-gap: 6rem;
  }
  .news-featured .news-latest__list {
    display: none;
  }
  .news-featured__run {
    display: flex;
  }
  .news-listing__categories {
    display: none;
  }
  .news-listing__filter-button.button {
    display: inline-flex;
  }
  .news-listing__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .news-listing__item {
    position: relative;
    padding: 1.6rem 1.6rem 2.4rem;
    border-radius: var(--radius-lg);
    background-color: var(--white);
    box-shadow: var(--block-shadow);
  }
  .news-listing__item::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    padding: 2px;
    border-radius: inherit;
    background: linear-gradient(to bottom, var(--slate-light), var(--slate-light) 15%, transparent 35%);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
            mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    pointer-events: none;
  }
}
@media screen and (max-width: 680px) {
  .news-featured .section-head__title .cursive {
    display: block;
  }
  .news-featured .section-head__toggle {
    width: 100%;
  }
}
.flexible-section.news-article {
  padding-block-start: 18rem;
  padding-block-end: 8rem;
}
@media screen and (max-width: 800px) {
  .flexible-section.news-article {
    padding-block-start: 12.5rem;
  }
}

.flexible-section.news-article--standard {
  --max-width: calc(95rem + var(--padding-inline) * 2);
}

.news-article__body {
  display: flex;
  flex-direction: column;
  gap: 6rem;
  margin-block-start: 5.6rem;
}

.news-article__prose {
  color: var(--off-black);
  font-size: var(--text-24);
  line-height: 40px;
  text-align: center;
}
.news-article__prose p {
  margin: 0 0 2.4rem;
}
.news-article__prose p:last-child {
  margin-block-end: 0;
}
.news-article__prose strong {
  font-weight: var(--weight-bold);
}
.news-article__prose h2 {
  margin: 0;
  color: var(--slate);
  font-family: var(--font-regular);
  font-size: var(--text-48);
  font-weight: var(--weight-semibold);
  line-height: 1.1;
  margin-block: 4.8rem 2.4rem;
  line-height: 1.2;
}
.news-article__prose h2 .cursive {
  color: var(--teal-dark);
}
.news-article__prose h2:first-child {
  margin-block-start: 0;
}
.news-article__prose h2 em {
  font-family: var(--font-cursive);
  font-weight: var(--weight-regular);
  font-style: italic;
  color: var(--teal-dark);
}

.news-article__sections {
  margin-block-start: 3rem;
}
.news-article__sections .flexible-section {
  --max-width: inherit;
  padding-block: 3rem;
}

.news-article--sidebar .news-article__sections .flexible-section__container {
  padding-inline: 0;
}

.news-article__button {
  align-self: center;
}

.news-article__media {
  overflow: hidden;
}

.news-article__image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.flexible-section.news-article--feature {
  --max-width: calc(120rem + var(--padding-inline) * 2);
}

.news-article__lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 45.8rem;
  align-items: center;
  gap: 3.2rem;
}

.news-article--feature .news-article__media {
  aspect-ratio: 3/4;
  border-radius: var(--radius-xl);
}

.news-article--feature .news-article__body {
  margin-block-start: 7rem;
}

.news-article--sidebar .news-article__media {
  aspect-ratio: 17/9;
  margin: 0 6.4rem 6.4rem;
  border-radius: var(--radius-40);
}

.news-article--sidebar .news-article__container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 36.8rem;
  align-items: start;
  gap: 12rem;
}

.flexible-section.news-subscribe {
  padding-block: 0;
}

.flexible-section.news-related {
  padding-block-start: 8rem;
  padding-block-end: 5rem;
}
.flexible-section.news-related .section-head {
  margin-block-end: 4.9rem;
}

.news-related__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.news-related__item {
  display: flex;
  margin: 0;
}
.news-related__item .news-card {
  width: 100%;
}
.news-related__item .news-card__media {
  aspect-ratio: 3/2;
  margin-block-end: 1.4rem;
}
.news-related__item .news-card__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  font-size: var(--text-32);
  margin-block-end: 1.5rem;
}

@media screen and (max-width: 800px) {
  .news-article,
  .news-subscribe,
  .news-related {
    --padding-inline: 3.5rem;
  }
  .news-article__lead {
    grid-template-columns: minmax(0, 1fr);
    gap: 4rem;
  }
  .news-article--feature .news-article__media {
    aspect-ratio: 3/2;
    border-radius: var(--radius-lg);
  }
  .news-article--feature .news-article__body {
    margin-block-start: 5.6rem;
  }
  .news-article--sidebar .news-article__media {
    aspect-ratio: 4/3;
    margin-inline: var(--padding-inline);
    border-radius: var(--radius-lg);
  }
  .news-article--sidebar .news-article__container {
    grid-template-columns: minmax(0, 1fr);
    gap: 8rem;
  }
  .news-related__list {
    display: flex;
    gap: 1.6rem;
    margin-block: 0;
    padding-block: 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    list-style: none;
    margin-inline: calc(((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline)) * -1);
    padding-inline: calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline));
    scroll-padding-inline: calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline));
  }
  .news-related__item {
    display: flex;
    flex: 0 0 95%;
    margin: 0;
    scroll-snap-align: start;
  }
}
.post-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 3rem;
}

.page-404 {
  display: grid;
  place-content: center;
  height: 90vh;
}

.page-404__container {
  text-align: center;
}

.page-404__error {
  font-size: clamp(9rem, 8vw, 12rem);
  font-family: var(--font-regular);
  font-weight: var(--weight-bold);
  margin: 0;
  line-height: 0.8;
}

.page-404__title {
  margin: 0 0 3rem;
  font-family: var(--font-regular);
  font-size: clamp(4rem, 6vw, 6rem);
}

.page-404__text {
  max-width: 600px;
  margin: 0 auto 2rem;
}

:root {
  --max-width: 1400px;
  --max-width-wide: 1520px;
}

.tm-container {
  max-width: var(--max-width);
  padding-inline: var(--padding-inline);
}

.tm-container--center {
  margin: 0 auto;
}

.page-wrapper {
  padding-block: var(--padding-inline);
}

.has-sidebar {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 4rem;
}

.page-content {
  grid-column: span 2;
}

@media screen and (max-width: 800px) {
  .sidebar {
    grid-column: span 3;
  }
  .page-content {
    grid-column: span 3;
  }
}
.block-wrapper {
  margin: 0 0 3rem;
  position: relative;
  z-index: 1;
  container-type: inline-size;
  container-name: block;
}

.dropdown-group {
  margin-block-end: var(--bottom-spacing);
}

.dropdown {
  --dropdown-bg: transparent;
  --dropdown-bg-open: var(--white);
  --dropdown-text: var(--teal-darkest);
  --dropdown-text-open: var(--teal-darkest);
  --dropdown-rule: rgb(6 46 50 / 10%);
  --dropdown-shadow-open: 0 1.2rem 3.2rem rgb(6 46 50 / 8%);
  --dropdown-answer: var(--slate);
  --dropdown-icon: var(--teal-dark);
  --dropdown-icon-open: var(--teal-dark);
  margin-block-end: 1.6rem;
  border-radius: var(--radius-lg);
  background-color: var(--dropdown-bg);
  color: var(--dropdown-text);
  box-shadow: none;
  border-block-end: 1px solid var(--dropdown-rule);
  transition: background-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
}
.dropdown:last-child {
  margin-block-end: 0;
}
.dropdown::marker {
  content: none;
}
.dropdown[open] {
  background-color: var(--dropdown-bg-open);
  color: var(--dropdown-text-open);
  box-shadow: var(--dropdown-shadow-open);
  border-block-end-color: transparent;
}
.dropdown[open] .dropdown__icon {
  color: var(--dropdown-icon-open);
}
.dropdown[open] .dropdown__icon-img--closed {
  opacity: 0;
  transform: rotate(45deg) scale(0.7);
}
.dropdown[open] .dropdown__icon-img--open {
  opacity: 1;
  transform: rotate(0deg) scale(1);
}

.dropdown::details-content {
  display: block;
  block-size: 0;
  overflow: hidden;
  transition-timing-function: ease;
  transition-property: block-size, content-visibility, opacity;
  transition-duration: 0.3s;
  transition-behavior: allow-discrete;
  opacity: 0;
}

.dropdown[open]::details-content {
  block-size: auto;
  block-size: calc-size(auto, size);
  opacity: 1;
}

.dropdown__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
  cursor: pointer;
  outline: thin;
  padding-inline: 3.2rem;
  padding-block: 2.4rem;
}
@media screen and (max-width: 800px) {
  .dropdown__toggle {
    align-items: flex-start;
    gap: 1.6rem;
  }
}

.dropdown__title {
  font-family: var(--font-regular);
  font-size: var(--text-20);
  font-weight: var(--weight-bold);
  line-height: 1.3;
}
@media screen and (max-width: 800px) {
  .dropdown__title {
    font-size: var(--text-24);
  }
}

.dropdown__icon {
  --dropdown-icon-ease: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: grid;
  width: 1.8rem;
  aspect-ratio: 1;
  flex-shrink: 0;
  place-items: center;
  color: var(--dropdown-icon);
  transition: color 0.3s ease;
}
@media screen and (max-width: 800px) {
  .dropdown__icon {
    width: 3rem;
  }
}

.dropdown__icon-img {
  grid-area: 1/1;
  display: block;
  width: 100%;
  height: auto;
  fill: currentcolor;
  transition: opacity var(--dropdown-icon-ease), transform var(--dropdown-icon-ease);
}

.dropdown__icon-img--open {
  opacity: 0;
  transform: rotate(-45deg) scale(0.7);
}

@media (prefers-reduced-motion: reduce) {
  .dropdown__icon-img {
    transition: none;
  }
}
@media screen and (max-width: 800px) {
  .dropdown .dropdown__content {
    color: var(--dropdown-answer);
    font-size: var(--text-18);
    line-height: 1.7;
  }
}

.dropdown__content {
  padding-inline: 3.2rem;
  padding-block-end: 2.4rem;
  color: var(--dropdown-answer);
  font-size: var(--text-12);
  line-height: 1.6;
}
.dropdown__content p {
  margin: 0 0 1rem;
}
.dropdown__content p:last-child {
  margin: 0;
}

.embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  margin-block-end: var(--bottom-spacing);
  border-radius: var(--card-radius, var(--radius-lg));
  overflow: hidden;
}

.embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: unset;
}

.quote {
  --quote-accent: var(--orange);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  clear: both;
  margin: 0;
  margin-block-end: var(--bottom-spacing);
  padding: 5rem;
  border-radius: var(--card-radius, var(--radius-lg));
  background-color: var(--teal-dark);
  color: var(--white);
}
@container block (max-width: 680px) {
  .quote {
    gap: 2.4rem;
    padding: 3.2rem;
  }
}

.quote__content {
  border-inline-start: 3px solid var(--quote-accent);
  padding-inline-start: 3rem;
  font-family: var(--font-cursive);
  font-size: var(--text-26);
  font-style: italic;
  line-height: 1.6;
}
@container block (max-width: 680px) {
  .quote__content {
    padding-inline-start: 2rem;
  }
}
.quote__content p {
  margin: 0 0 1.5rem;
  line-height: inherit;
}
.quote__content p:last-child {
  margin: 0;
}

.quote__footer {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  padding-inline-start: 3rem;
}
@container block (max-width: 680px) {
  .quote__footer {
    padding-inline-start: 2rem;
  }
}
@container block (max-width: 500px) {
  .quote__footer {
    padding-inline-start: 0;
  }
}

.quote__avatar {
  width: 6rem;
  height: 6rem;
  flex-shrink: 0;
  border-radius: var(--radius-pill);
  border: 2px solid var(--quote-accent);
  padding: 3px;
  overflow: hidden;
}

.quote__avatar-image {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: var(--radius-pill);
  -o-object-fit: cover;
     object-fit: cover;
}

.quote__attribution {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  font-style: normal;
}

.quote__name {
  font-family: var(--font-regular);
  font-size: var(--text-16);
  line-height: 1.3;
}

.quote__role {
  font-family: var(--font-cursive);
  font-size: var(--text-16);
  font-style: italic;
  line-height: 1.3;
  opacity: 0.9;
}

/**  List Styles **/
.text-block {
  --list-line-height: 1.7;
  --list-row-gap: 1.4rem;
  --list-indent: 2rem;
  --list-marker-color: var(--marker-color);
  clear: both;
}
.text-block ul,
.text-block ol {
  list-style: none;
  padding: 0;
  padding-left: var(--list-indent);
  clear: both;
  margin: 0;
  margin-block-end: var(--bottom-spacing);
}
.text-block ul ul,
.text-block ul ol,
.text-block ol ul,
.text-block ol ol {
  margin-top: var(--list-row-gap);
  padding-left: var(--list-indent);
}
.text-block ul li,
.text-block ol li {
  position: relative;
  margin: 0;
  line-height: var(--list-line-height);
}
.text-block ul li + li,
.text-block ol li + li {
  margin-block-start: var(--list-row-gap);
}
.text-block ul li::before {
  content: "";
  display: block;
  position: absolute;
  left: calc(var(--list-indent) * -1);
  top: calc(1em * var(--list-line-height) / 2);
  transform: translateY(-50%);
  width: var(--marker-size);
  height: var(--marker-size);
  background-color: var(--list-marker-color);
}
.text-block ul ul {
  margin: 0;
}
.text-block ul ul li::before {
  background-color: transparent;
  box-shadow: inset 0 0 0 1px var(--list-marker-color);
}
.text-block ol {
  --list-indent: 3.6rem;
  counter-reset: item;
}
.text-block ol li {
  counter-increment: item;
}
.text-block ol li::before {
  content: counter(item, decimal-leading-zero);
  display: block;
  position: absolute;
  left: calc(var(--list-indent) * -1);
  top: 0;
  color: var(--list-marker-color);
  font-family: var(--font-regular);
  font-weight: var(--weight-semibold);
  line-height: var(--list-line-height);
}
.text-block ol ol {
  margin: 0;
  list-style: lower-latin;
}
.text-block ol ol li::before {
  display: none;
}
.text-block ol ol ol {
  list-style: lower-roman;
}

/**  Text Styles **/
.text-block {
  color: inherit;
  font-size: var(--text-16);
  line-height: 1.7;
}
.text-block h2,
.text-block h3,
.text-block h4,
.text-block h5 {
  margin: 0;
  margin-block-end: 2rem;
  line-height: 1.1;
}
.text-block h2:first-child,
.text-block h3:first-child,
.text-block h4:first-child,
.text-block h5:first-child {
  margin-block-start: 0;
}
.text-block h2 {
  font-size: var(--text-45);
}
.text-block h3 {
  font-size: var(--text-34);
}
.text-block h4 {
  font-size: var(--text-24);
}
.text-block h5 {
  font-size: var(--text-20);
}
.text-block p {
  margin: 0 0 2rem;
}
.text-block p:last-child {
  margin-block-end: 0;
}
.text-block a:not(.button) {
  color: var(--block-accent, var(--teal-dark));
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  transition: color 0.2s ease;
}
.text-block a:not(.button):hover, .text-block a:not(.button):focus-visible {
  color: currentcolor;
}
.text-block strong {
  font-weight: var(--weight-semibold);
}

.image-block {
  margin-block-end: var(--bottom-spacing);
  position: relative;
  z-index: 1;
}
.image-block a {
  display: inline-block;
}
.image-block img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--card-radius, var(--radius-lg));
}
.image-block figcaption {
  margin-block-start: 1.2rem;
  color: var(--block-muted, var(--slate));
  font-size: var(--text-12);
  line-height: 1.4;
}

.image-block--ratio-default img {
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.image-block--ratio-landscape img {
  aspect-ratio: 4/3;
}

.image-block--ratio-wide-landscape img {
  aspect-ratio: 16/9;
}

.image-block--ratio-square img {
  aspect-ratio: 1/1;
}

.spacer {
  display: block;
  clear: both;
}

.content-card {
  --card-bg: var(--white);
  --card-text: var(--teal-darkest);
  padding: 3.2rem;
  border-radius: var(--radius);
  background-color: var(--card-bg);
  color: var(--card-text);
  box-shadow: var(--block-shadow);
}
@media screen and (max-width: 500px) {
  .content-card {
    padding: 2.4rem;
  }
}

.content-card--light {
  --card-bg: var(--off-white);
}

.content-card--dark {
  --card-bg: var(--teal-darkest);
  --card-text: var(--white);
  --block-accent: var(--mint);
  --marker-color: var(--mint);
}

.button-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.6rem;
  margin-block-end: var(--bottom-spacing);
}

.button-group--align-center {
  justify-content: center;
}

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

.media {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(1rem, 3vw, 3rem);
  padding: 3.2rem;
  border-radius: var(--card-radius, var(--radius-lg));
  cursor: pointer;
  transition: box-shadow 0.25s ease;
}
@media screen and (max-width: 500px) {
  .media {
    padding: 2.4rem;
    gap: 2rem;
    flex-direction: column;
    align-items: flex-start;
  }
}
.media:hover .media__icon {
  transform: scale(1.05);
}
.media a {
  color: inherit;
  flex: 50;
}

.media__icon {
  transition: all 0.3s ease;
}

.media--pdf .media__icon {
  width: 75px;
}
@media screen and (max-width: 500px) {
  .media--pdf .media__icon {
    width: 50px;
  }
}

.media--video .media__icon {
  width: 90px;
}
@media screen and (max-width: 500px) {
  .media--video .media__icon {
    width: 60px;
  }
}
@media screen and (max-width: 360px) {
  .media--video .media__icon {
    width: 40px;
  }
}

.media__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2rem;
}

.media__pretitle {
  margin-block-end: 1rem;
  text-transform: uppercase;
  font-family: var(--font-regular);
  font-weight: 700;
  font-size: var(--text-12);
  color: var(--block-accent, var(--teal-dark));
}
@media screen and (max-width: 500px) {
  .media__pretitle {
    display: none;
  }
}

.media__pretitle--mobile {
  display: none;
  margin-block-end: 0;
}
@media screen and (max-width: 500px) {
  .media__pretitle--mobile {
    display: block;
  }
}

.media__title {
  margin: 0;
  font-size: var(--text-24);
  line-height: 1.2;
}

.testimonials-block {
  margin-block-end: var(--bottom-spacing);
}
@media screen and (max-width: 800px) {
  .testimonials-block .carousel-nav {
    display: none;
  }
}

.testimonials-block__carousel {
  padding-block: 1.5rem;
  margin-block: -1.5rem;
  margin-inline: calc(((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline)) * -1);
}

.testimonials-block__track {
  align-items: stretch;
}

.testimonials-block__slide {
  height: auto;
  width: calc((calc(100vw - calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline))) - 3rem * (2.6 - 1)) / 2.6) !important;
}
@media screen and (max-width: 1100px) {
  .testimonials-block__slide {
    width: calc((calc(100vw - calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline))) - 3rem * (1.6 - 1)) / 1.6) !important;
  }
}
@media screen and (max-width: 800px) {
  .testimonials-block__slide {
    width: calc((calc(100vw - calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline))) - 15px * (1.13 - 1)) / 1.13) !important;
  }
}

.testimonial {
  --testimonial-star: 24px;
  display: flex;
  height: 100%;
  flex-direction: column;
  gap: 3rem;
  margin: 0;
  padding: 3.2rem;
  border-radius: var(--card-radius, var(--radius-lg));
  background-color: var(--block-bg, var(--white));
  color: var(--block-text, var(--teal-darkest));
  box-shadow: 0 0.4rem 1.6rem rgba(6, 46, 50, 0.06);
}
@media screen and (max-width: 800px) {
  .testimonial {
    --testimonial-star: 26px;
    gap: 2.4rem;
    padding: 2.65rem 2.4rem;
  }
}

.testimonial__quote {
  margin: 0;
  border-inline-start: 2px solid var(--block-accent, var(--teal-dark));
  padding-inline-start: 2.4rem;
  font-family: var(--font-cursive);
  font-size: var(--text-18);
  font-style: italic;
  line-height: 1.7;
}
@media screen and (max-width: 800px) {
  .testimonial__quote {
    margin-inline-start: 0.6rem;
    border-inline-start-width: 3px;
    padding-inline-start: calc(1.8rem - 1px);
  }
}
.testimonial__quote p {
  margin: 0 0 1.5rem;
  line-height: inherit;
}
.testimonial__quote p:last-child {
  margin: 0;
}

.testimonial__footer {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin-block-start: auto;
}
@media screen and (max-width: 800px) {
  .testimonial__footer {
    flex-wrap: wrap;
    row-gap: 0.8rem;
    padding-block-start: 1.7rem;
    padding-inline-start: calc(2.4rem + 2px);
  }
}

.testimonial__avatar {
  width: 60px;
  height: 60px;
  flex-shrink: 0;
  padding: 2px;
  border: 2px solid var(--orange);
  border-radius: var(--radius-pill);
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .testimonial__avatar {
    width: 65px;
    height: 65px;
  }
}

.testimonial__avatar-image {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: var(--radius-pill);
  -o-object-fit: cover;
     object-fit: cover;
}

.testimonial__person {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  margin-inline-end: auto;
}

.testimonial__name {
  font-size: var(--text-14);
  line-height: 1.3;
}
@media screen and (max-width: 800px) {
  .testimonial__name {
    width: -moz-min-content;
    width: min-content;
    font-size: var(--text-18);
  }
}

.testimonial__location {
  color: var(--block-muted, var(--slate));
  font-size: var(--text-12);
  line-height: 1.3;
}

.testimonial__rating {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  flex-shrink: 0;
}
@media screen and (max-width: 800px) {
  .testimonial__rating {
    flex-basis: 100%;
  }
}

.testimonial__stars {
  display: flex;
  gap: 0.2rem;
}
@media screen and (max-width: 800px) {
  .testimonial__stars {
    gap: 0;
  }
}

.testimonial__star {
  position: relative;
  display: block;
  width: var(--testimonial-star);
  height: var(--testimonial-star);
}

.testimonial__star-fill {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  display: block;
  height: var(--testimonial-star);
  overflow: hidden;
  color: var(--yellow);
}
.testimonial__star-fill .testimonial__star-icon {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  max-width: none;
}

.testimonial__star-icon {
  display: block;
  width: var(--testimonial-star);
  height: var(--testimonial-star);
  fill: currentcolor;
}

.testimonial__star-icon--empty {
  color: rgba(6, 46, 50, 0.18);
}

.testimonial__score {
  color: var(--block-muted, var(--slate));
  font-size: var(--text-12);
  line-height: 1;
}
@media screen and (max-width: 800px) {
  .testimonial__score {
    font-size: var(--text-18);
  }
}

.feature-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background-color: var(--block-bg, var(--white));
  color: var(--block-text, var(--teal-darkest));
}

.feature-card__media {
  aspect-ratio: 4/3;
  max-height: 42rem;
  min-height: 0;
  overflow: hidden;
}

.feature-card__image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.feature-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: 2rem;
  padding: 3.2rem;
}
@media screen and (max-width: 680px) {
  .feature-card__body {
    padding: 2.4rem;
  }
}

.feature-card__title {
  margin: 0;
  font-family: var(--font-cursive);
  font-size: var(--text-48);
  font-weight: var(--weight-regular);
  line-height: 1.1;
}

.feature-card__row {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

.feature-card__row--detail {
  align-items: flex-start;
}

@container block (max-width: 500px) {
  .feature-card__row--badge,
  .feature-card__row--detail {
    flex-direction: column;
    align-items: flex-start;
  }
}

.feature-card__badge-icon {
  display: block;
  width: 79px;
  height: 91px;
  flex-shrink: 0;
  -o-object-fit: contain;
     object-fit: contain;
}

.feature-card__badge-text {
  font-family: var(--font-regular);
  font-size: var(--text-24);
  line-height: 1.3;
}

.feature-card__detail-icon {
  display: block;
  width: 79px;
  height: 49px;
  flex-shrink: 0;
  -o-object-fit: contain;
     object-fit: contain;
}

.feature-card__content {
  font-size: var(--text-14);
}
.feature-card__content h2,
.feature-card__content h3,
.feature-card__content h4,
.feature-card__content h5 {
  margin-block: 0 0.4rem;
  font-size: var(--text-16);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  text-transform: uppercase;
}
.feature-card__content > :last-child {
  margin-block-end: 0;
}

.feature-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-block-start: auto;
  padding-block-start: 1rem;
}

.contact-person {
  --contact-person-gap: 2.4rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--contact-person-gap);
}

.contact-person__avatar {
  display: block;
  width: 190px;
  height: auto;
  flex-shrink: 0;
}

.contact-person__body {
  flex: 1 1 22rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.contact-person__body > :last-child {
  margin-block-end: 0;
}

.contact-person__name {
  margin-block: 0 0.4rem;
  font-family: var(--font-regular);
  font-size: var(--text-32);
  font-weight: var(--weight-bold);
  line-height: 1.1;
  color: var(--off-black);
}

.contact-person__role {
  margin-block: 0 1.6rem;
  color: var(--slate);
  font-size: var(--text-16);
  font-weight: var(--weight-regular);
  line-height: 1.3;
}

.contact-person__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-block: 0 1.6rem;
  padding: 0;
  list-style: none;
}

.contact-person__contacts {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.contact-person__contact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem;
  margin: 0;
  font-size: var(--text-16);
  line-height: 1.4;
}

.contact-person__contact-label {
  color: var(--slate);
  flex-shrink: 0;
}

.contact-person__separator {
  color: var(--off-black);
}

.contact-person__link {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  color: var(--teal-dark);
  font-weight: var(--weight-semibold);
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  transition: color 0.2s ease;
}
.contact-person__link:hover, .contact-person__link:focus-visible {
  color: var(--teal-darkest);
}

.contact-person__link-icon {
  width: 1.4rem;
  height: 1.4rem;
  flex-shrink: 0;
}

.contact-person__tag-link {
  display: inline-flex;
  border-radius: var(--radius-pill);
  text-decoration: none;
  transition: filter 0.2s ease;
}
.contact-person__tag-link:hover {
  filter: brightness(0.92);
}
.contact-person__tag-link:focus-visible {
  outline: 2px solid var(--teal-dark);
  outline-offset: 2px;
}

.contact-card {
  position: relative;
  display: flex;
  height: 475px;
  align-items: stretch;
  border-radius: var(--radius-lg);
  overflow: hidden;
}
@container block (max-width: 800px) {
  .contact-card {
    height: auto;
    flex-direction: column;
  }
}

.contact-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  padding: 2px;
  border-radius: inherit;
  background: linear-gradient(to left, var(--slate-light), var(--off-white) 50%, transparent 50%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}
@container block (max-width: 800px) {
  .contact-card::after {
    display: none;
  }
}

.contact-card__media {
  position: relative;
  width: 50%;
}
@container block (max-width: 800px) {
  .contact-card__media {
    width: 100%;
    aspect-ratio: 16/9;
    min-height: 0;
    overflow: hidden;
  }
}

.contact-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@container block (max-width: 800px) {
  .contact-card__image {
    position: static;
  }
}

.contact-card__panel {
  position: relative;
  display: flex;
  width: 50%;
  align-items: center;
  padding: 4rem;
  background-color: var(--off-white);
  color: var(--teal-darkest);
}
.contact-card__panel .contact-person {
  flex: 1;
}
@container block (max-width: 800px) {
  .contact-card__panel {
    width: 100%;
    padding: 3.2rem;
  }
}
@container block (max-width: 500px) {
  .contact-card__panel {
    padding: 2.4rem;
  }
}

.contact-card__panel::after {
  display: none;
}
@container block (max-width: 800px) {
  .contact-card__panel::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    padding: 2px;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
    background: linear-gradient(to top, var(--slate-light), var(--off-white));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
            mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    pointer-events: none;
    display: block;
  }
}

.stat-card {
  display: flex;
  height: 100%;
  min-height: 220px;
  flex-direction: column;
  align-items: flex-start;
  padding: 2.8rem;
  border-radius: var(--radius-lg);
}
@media screen and (max-width: 680px) {
  .stat-card {
    padding: 2.4rem;
  }
}

.stat-card__icon {
  display: block;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  margin-bottom: 1.6rem;
}

.stat-card__heading {
  margin: 0;
  color: var(--block-accent, var(--teal-dark));
  font-size: var(--text-20);
  font-weight: var(--weight-bold);
  margin-bottom: 0.5rem;
  line-height: 1.2;
  text-transform: uppercase;
}

.stat-card__text {
  margin: 0;
  font-size: var(--text-16);
  line-height: 1.5;
}

.stat-card--featured {
  --block-text: var(--teal-darkest);
  --block-accent: var(--teal-darkest);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.award-card {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  min-height: 325px;
}
@media screen and (max-width: 800px) {
  .award-card {
    min-height: 0;
  }
}

.award-card__image {
  display: block;
  width: 100%;
  aspect-ratio: 3/2;
  min-height: 0;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--radius-sm);
}

.award-card__caption {
  margin: 0;
  font-size: var(--text-16);
  line-height: 1.4;
  opacity: 0.85;
}
@media screen and (max-width: 800px) {
  .award-card__caption {
    font-size: var(--text-18);
    line-height: 1.7;
  }
}

.award-card--centered .award-card__caption {
  text-align: center;
}

.award-card--panel {
  padding: 1rem;
  border-radius: var(--radius);
}
.award-card--panel .award-card__caption {
  padding-block-end: 0.4rem;
  opacity: 1;
}

.award-card__count,
.award-card__result {
  font-weight: var(--weight-bold);
}

.flexible-section.awards {
  --section-text: var(--white);
  --block-shadow: 4px 4px 40px rgb(6 46 50 / 25%);
  --hero-scrim: rgb(25 29 30 / 60%);
  position: relative;
  padding-block-start: 32rem;
  isolation: isolate;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .flexible-section.awards {
    padding-block-start: 4rem;
    background-color: var(--off-black);
  }
  .flexible-section.awards .awards__backdrop {
    display: none;
  }
  .flexible-section.awards .flexbile-section__column {
    flex-basis: 82%;
  }
}
.flexible-section.awards .section-head__title .cursive {
  color: var(--white);
}
.flexible-section.awards .link-arrow {
  color: var(--white);
}
.flexible-section.awards .link-arrow__icon {
  background-color: var(--white);
}
@media screen and (max-width: 800px) {
  .flexible-section.awards .link-arrow {
    color: var(--mint);
  }
  .flexible-section.awards .link-arrow__icon {
    background-color: var(--mint);
  }
}

.banner {
  --banner-mask: var(--teal-darkest);
  --banner-mask-opacity: 0.85;
  --banner-padding: 8.8rem;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
  overflow: hidden;
  padding: var(--banner-padding);
  border-radius: var(--radius-xxl);
  background-color: var(--banner-mask);
  color: var(--white);
  text-align: center;
}
@container block (max-width: 800px) {
  .banner {
    --banner-padding: 5.6rem 4rem;
    gap: 3.2rem;
  }
}
@container block (max-width: 500px) {
  .banner {
    --banner-padding: 4rem 2.4rem;
  }
}

.banner__media {
  position: absolute;
  inset: 0;
}
.banner__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--banner-mask);
  opacity: var(--banner-mask-opacity);
}

.banner__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.banner__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
}
@container block (max-width: 800px) {
  .banner__content {
    gap: 3.2rem;
  }
}

.banner__heading {
  margin: 0;
  font-family: var(--font-regular);
  font-size: var(--text-64);
  color: inherit;
}
@container block (max-width: 800px) {
  .banner__heading {
    font-size: var(--text-45);
  }
}
@container block (max-width: 500px) {
  .banner__heading {
    font-size: var(--text-35);
  }
}
@container block (max-width: 375px) {
  .banner__heading {
    font-size: var(--text-28);
  }
}
.banner__heading .cursive,
.banner__heading em {
  font-family: var(--font-cursive);
  font-weight: var(--weight-regular);
  font-style: italic;
  color: inherit;
}

.promo {
  --promo-panel-bg: var(--teal-darkest);
  --promo-pad-block: 3.2rem;
  --promo-pad-inline: 3.2rem;
  --promo-square: 18rem;
  --promo-media-width: 35%;
  display: flex;
  align-items: stretch;
  border-radius: var(--radius-lg);
  overflow: hidden;
  min-height: 26rem;
}
@container block (max-width: 800px) {
  .promo {
    --promo-square: 12rem;
    --promo-pad-block: 2.8rem;
    --promo-pad-inline: 2.4rem;
    flex-direction: column;
  }
}
@container block (max-width: 500px) {
  .promo {
    --promo-square: 10rem;
    border-radius: var(--radius);
  }
}
@media screen and (max-width: 800px) {
  .promo {
    --promo-pad-block: 3rem;
    --promo-pad-inline: 3rem;
  }
}

.promo__images {
  position: relative;
  width: var(--promo-media-width);
}
@container block (max-width: 800px) {
  .promo__images {
    width: 100%;
  }
}

.promo__media--left {
  position: absolute;
  inset: 0;
}
@container block (max-width: 800px) {
  .promo__media--left {
    position: static;
    aspect-ratio: 16/9;
  }
}
@container block (max-width: 500px) {
  .promo__media--left {
    aspect-ratio: 4/3;
  }
}

.promo__media--middle {
  position: absolute;
  top: 50%;
  right: 0;
  width: var(--promo-square);
  aspect-ratio: 1;
  transform: translate(50%, -50%);
}
@container block (max-width: 800px) {
  .promo__media--middle {
    top: auto;
    right: var(--promo-pad-inline);
    bottom: var(--promo-pad-inline);
    transform: none;
    border-radius: var(--radius-sm);
    overflow: hidden;
    box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, 0.35);
  }
}

.promo__image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.promo--has-foreground {
  --promo-glow-size: 62% 58%;
  --promo-glow-origin: 50% 30%;
  --promo-fade-start: 18%;
  --promo-fade-end: 70%;
  --promo-ring-hold: 78%;
  --promo-ring-end: 94%;
}

.promo--has-foreground .promo__images::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  padding: 2px;
  border-radius: var(--radius-lg) 0 0 var(--radius-lg);
  background: linear-gradient(to right, var(--slate-light), var(--slate-light) var(--promo-ring-hold), var(--off-white) var(--promo-ring-end), transparent var(--promo-ring-end));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}
@container block (max-width: 800px) {
  .promo--has-foreground .promo__images::after {
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  }
}
@container block (max-width: 500px) {
  .promo--has-foreground .promo__images::after {
    border-radius: var(--radius) var(--radius) 0 0;
  }
}

.promo--has-foreground .promo__media--left {
  -webkit-mask: radial-gradient(ellipse var(--promo-glow-size) at var(--promo-glow-origin), #000 0%, transparent 100%), linear-gradient(to bottom, #000 var(--promo-fade-start), transparent var(--promo-fade-end));
          mask: radial-gradient(ellipse var(--promo-glow-size) at var(--promo-glow-origin), #000 0%, transparent 100%), linear-gradient(to bottom, #000 var(--promo-fade-start), transparent var(--promo-fade-end));
  -webkit-mask-composite: source-in, xor;
          mask-composite: intersect;
}

.promo__foreground {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 50%;
  z-index: 1;
  width: auto;
  max-width: 100%;
  height: 92%;
  transform: translateX(-50%);
  pointer-events: none;
}
@container block (max-width: 800px) {
  .promo__foreground {
    height: 85%;
  }
}

.promo__body {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.promo__span {
  margin: 0;
  padding: 1.2rem var(--promo-pad-inline);
  padding-inline-start: calc(var(--promo-square) / 2 + var(--promo-pad-inline));
  background-color: var(--orange);
  color: var(--teal-darkest);
  font-family: var(--font-regular);
  font-size: var(--text-24);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  line-height: 1;
}
@container block (max-width: 800px) {
  .promo__span {
    padding-inline-start: var(--promo-pad-inline);
  }
}

.promo__panel {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: space-between;
  gap: 4rem;
  padding: var(--promo-pad-block) var(--promo-pad-inline);
  padding-inline-start: calc(var(--promo-square) / 2 + var(--promo-pad-inline));
  background-color: var(--promo-panel-bg);
  color: var(--white);
}
@container block (max-width: 800px) {
  .promo__panel {
    flex-direction: column;
    align-items: flex-start;
    gap: 2.4rem;
    padding-inline-start: var(--promo-pad-inline);
  }
}

.promo__content {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.promo__highlight {
  margin: 0;
  font-family: var(--font-regular);
  font-size: var(--text-24);
  font-weight: var(--weight-regular);
  line-height: 1.3;
}

.promo__heading {
  margin: 0;
  font-family: var(--font-regular);
  font-size: var(--text-48);
  font-weight: var(--weight-semibold);
  line-height: 1.1;
  color: var(--mint);
}
@media screen and (max-width: 500px) {
  .promo__heading {
    font-size: var(--text-100);
  }
}
.promo__heading .cursive,
.promo__heading em {
  font-family: var(--font-cursive);
  font-weight: var(--weight-regular);
  font-style: italic;
  color: inherit;
}

.promo__highlight-cursive {
  margin: 0;
  font-family: var(--font-cursive);
  font-size: var(--text-24);
  font-weight: var(--weight-regular);
  font-style: italic;
  line-height: 1.3;
}

.promo__text {
  --block-accent: var(--white);
  --list-marker-color: var(--white);
  margin-block-start: 0.8rem;
  font-size: var(--text-16);
}
.promo__text * {
  line-height: 1;
}
@media screen and (max-width: 800px) {
  .promo__text {
    font-size: var(--text-18);
    line-height: 1.7;
  }
  .promo__text * {
    line-height: inherit;
  }
}

.promo__cta {
  flex-shrink: 0;
}
@container block (max-width: 500px) {
  .promo__cta {
    width: 100%;
  }
}

.promo--feature {
  --promo-pad-block: 2rem;
  --promo-media-width: 30%;
}
@container block (max-width: 800px) {
  .promo--feature {
    --promo-square: 10rem;
  }
}
@media screen and (max-width: 800px) {
  .promo--feature {
    --promo-pad-block: 3rem;
  }
  .promo--feature .promo__span {
    padding-block: 1rem;
    font-size: var(--text-20);
    text-align: center;
  }
}

@container block (max-width: 800px) {
  .promo--feature .promo__media--middle {
    top: auto;
  }
}

.promo--feature .promo__panel {
  align-items: center;
  gap: 3.2rem;
}

.promo--feature .promo__heading {
  font-size: var(--text-40);
}
@media screen and (max-width: 500px) {
  .promo--feature .promo__heading {
    font-size: var(--text-80);
  }
}

.promo--feature .promo__highlight-cursive {
  font-size: var(--text-24);
  font-weight: var(--weight-bold);
}
@media screen and (max-width: 800px) {
  .promo--feature .promo__highlight-cursive {
    font-size: var(--text-22);
  }
}

.promo--feature .promo__text {
  line-height: 1.2;
}
@media screen and (max-width: 800px) {
  .promo--feature .promo__text {
    line-height: 1.7;
  }
}
.promo--feature .promo__text p {
  line-height: inherit;
}

.home-details {
  --details-gap: 2.4rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.home-details > :last-child {
  margin-block-end: 0;
}

.home-details__heading {
  margin-block: 0 1rem;
  font-family: var(--font-regular);
  font-size: var(--text-48);
  color: inherit;
}
.home-details__heading .cursive,
.home-details__heading em {
  font-family: var(--font-cursive);
  font-weight: var(--weight-regular);
  font-style: italic;
  color: inherit;
}

.home-details__cost {
  margin-block: 0 var(--details-gap);
  font-family: var(--font-cursive);
  font-size: var(--text-48);
  font-style: italic;
  color: var(--teal-dark);
  line-height: 1;
}

.home-details__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-block: 0 var(--details-gap);
  padding: 0;
  list-style: none;
}

.home-details__specs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--details-gap);
  margin-block: 0 1.6rem;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 500px) {
  .home-details__specs {
    gap: 1.6rem;
  }
}

.home-details__spec {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  font-family: var(--font-regular);
  font-size: var(--text-16);
  font-weight: var(--weight-regular);
  line-height: 1;
  white-space: nowrap;
}

.home-details__spec-icon {
  width: 2.2rem;
  height: 2.2rem;
  flex-shrink: 0;
  -o-object-fit: contain;
     object-fit: contain;
}

.home-details--page .home-details__heading {
  margin: 0;
  color: var(--slate);
  font-family: var(--font-regular);
  font-size: var(--text-64);
  font-weight: var(--weight-semibold);
  line-height: 1.1;
  margin-block-end: 1.6rem;
}
.home-details--page .home-details__heading .cursive {
  color: var(--teal-dark);
}
@media screen and (max-width: 800px) {
  .home-details--page .home-details__heading {
    font-size: var(--text-72);
  }
}
@media screen and (max-width: 800px) {
  .home-details--page .home-details__cta {
    padding: 2.1rem 3rem;
    border-radius: var(--radius-sm);
    font-size: var(--text-22);
  }
}
@media screen and (max-width: 800px) {
  .home-details--page .home-details__cost {
    font-size: var(--text-52);
  }
}
.home-details--page .home-details__spec {
  font-weight: var(--weight-bold);
}

.home-details__band {
  margin-block: 0 var(--details-gap);
  color: var(--slate);
  font-size: var(--text-32);
  line-height: 1.2;
}

.home-details__band-value {
  color: var(--teal-dark);
  font-family: var(--font-cursive);
  font-weight: var(--weight-regular);
  font-style: italic;
}

.home-details__address {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-block: 0 1.6rem;
  font-size: var(--text-16);
  line-height: 1.3;
}

.home-details__address-icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.home-details__address-link {
  color: inherit;
  text-decoration: none;
}
.home-details__address-link:hover, .home-details__address-link:focus-visible {
  text-decoration: underline;
}

.home-details__description {
  margin-block: 0 1.6rem;
  font-family: var(--font-regular);
  font-size: var(--text-16);
  font-weight: var(--weight-regular);
}

.home-details__floorplan {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-family: var(--font-regular);
  font-size: var(--text-16);
  font-weight: var(--weight-regular);
  font-style: italic;
  color: var(--teal-dark);
  line-height: 1;
  margin-block: 0 var(--details-gap);
  text-decoration: none;
  transition: color 0.2s ease;
}
.home-details__floorplan:hover, .home-details__floorplan:focus-visible {
  color: var(--teal-darkest);
  text-decoration: underline;
}

.home-details__floorplan-icon {
  width: 2.2rem;
  height: 2.2rem;
  flex-shrink: 0;
  -o-object-fit: contain;
     object-fit: contain;
}

.home-details__icon--mint {
  display: none;
}

.badge {
  display: inline-flex;
  align-items: center;
  padding: 0.6rem 1.2rem;
  border-radius: var(--radius-pill);
  background-color: var(--teal-darkest);
  color: var(--white);
  font-family: var(--font-regular);
  font-size: var(--text-12);
  font-weight: var(--weight-semibold);
  line-height: 1.25;
  white-space: nowrap;
}
@media screen and (max-width: 800px) {
  .badge {
    font-size: var(--text-15);
  }
}

.badge--accent {
  background-color: var(--mint);
  color: var(--teal-darkest);
}

.badge--light {
  background-color: var(--white);
  color: var(--teal-darkest);
}

.badge--outline {
  --badge-outline: var(--teal-dark);
  --badge-outline-bg: transparent;
  border: 2px solid var(--badge-outline);
  padding: 0.6rem 1.2rem;
  background-color: var(--badge-outline-bg);
  color: var(--badge-outline);
  font-family: var(--font-regular);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
}

.badge--teal {
  --badge-outline: var(--teal-dark);
}

.badge--deep-teal {
  --badge-outline: var(--teal-darkest);
}

.badge--green {
  --badge-outline: var(--green-deep);
}

.badge--navy {
  --badge-outline: var(--navy);
}

.badge--indigo {
  --badge-outline: var(--indigo);
}

.badge--purple {
  --badge-outline: var(--purple-deep);
}

.badge--rust {
  --badge-outline: var(--rust);
}

.badge--bronze {
  --badge-outline: var(--bronze);
}

.badge--slate {
  --badge-outline: var(--slate);
}

.gallery-card__label, .community-card__location, .design-card__flag, .plan-card__flag, .home-offer-card__flag, .offer-card__flag {
  position: absolute;
  inset-block-start: var(--badge-flag-top, 2rem);
  inset-inline-end: 0;
  gap: 0.8rem;
  padding: 1.2rem 1.6rem;
  border-start-end-radius: 0;
  border-end-end-radius: 0;
}

.home-offer-card__flag, .offer-card__flag {
  --badge-flag-top: 4rem;
  text-transform: uppercase;
}

.badge--fill {
  --badge-fill: var(--teal-darkest);
  --badge-fill-text: var(--white);
  background-color: var(--badge-fill);
  color: var(--badge-fill-text);
  text-transform: uppercase;
}

.badge--fill-teal {
  --badge-fill: var(--teal-dark);
  --badge-fill-text: var(--white);
}

.badge--fill-violet {
  --badge-fill: var(--violet);
  --badge-fill-text: var(--white);
}

.badge--fill-red {
  --badge-fill: var(--red-bright);
  --badge-fill-text: var(--white);
}

.badge--fill-yellow {
  --badge-fill: var(--yellow);
  --badge-fill-text: var(--teal-darkest);
}

.badge--fill-green {
  --badge-fill: var(--green-deep);
  --badge-fill-text: var(--white);
}

.badge--fill-green-bright {
  --badge-fill: var(--green-bright);
  --badge-fill-text: var(--teal-darkest);
}

.badge--fill-cyan {
  --badge-fill: var(--cyan);
  --badge-fill-text: var(--teal-darkest);
}

.badge--fill-blue {
  --badge-fill: var(--blue);
  --badge-fill-text: var(--teal-darkest);
}

.badge--fill-indigo {
  --badge-fill: var(--indigo);
  --badge-fill-text: var(--white);
}

.badge--fill-orange {
  --badge-fill: var(--orange);
  --badge-fill-text: var(--teal-darkest);
}

:root {
  --magenta: #a90559;
  --sky: #2d97bb;
}

.badge--fill-mint {
  --badge-fill: var(--mint);
  --badge-fill-text: var(--teal-darkest);
}

.badge--fill-purple {
  --badge-fill: var(--purple-deep);
  --badge-fill-text: var(--white);
}

.badge--fill-rust {
  --badge-fill: var(--rust);
  --badge-fill-text: var(--white);
}

.badge--fill-bronze {
  --badge-fill: var(--bronze);
  --badge-fill-text: var(--white);
}

.badge--fill-slate {
  --badge-fill: var(--slate);
  --badge-fill-text: var(--white);
}

.badge--fill-black {
  --badge-fill: var(--off-black);
  --badge-fill-text: var(--white);
}

.badge--fill-magenta {
  --badge-fill: var(--magenta);
  --badge-fill-text: var(--white);
}

.badge--fill-sky {
  --badge-fill: var(--sky);
  --badge-fill-text: var(--white);
}

.badge-nav {
  padding: 2.4rem 3rem;
  border-radius: var(--radius-xxl);
  background-color: var(--white);
}
@media screen and (max-width: 680px) {
  .badge-nav {
    padding: 2rem;
    border-radius: var(--radius-xl);
  }
}

.badge-nav--bare {
  padding: 0;
  border-radius: 0;
  background-color: transparent;
}
.badge-nav--bare .badge-nav__list {
  gap: 1.6rem;
}

.badge-nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.badge-nav__item {
  margin: 0;
}

.badge-nav__link {
  gap: 0.8rem;
  text-decoration: none;
  transition: box-shadow 0.2s ease;
}

.badge-nav__link:hover,
.badge-nav__link:focus-visible,
.badge-nav__link--active {
  box-shadow: inset 0 0 0 2px var(--teal-darkest);
}

.badge-nav__link--selected {
  background-color: var(--white);
  color: var(--badge-fill);
  box-shadow: inset 0 0 0 1px var(--badge-fill);
}

.badge-nav__remove {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  -o-object-fit: contain;
     object-fit: contain;
}

.button {
  --button-background: transparent;
  --button-color: currentcolor;
  --button-border: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1.7rem 3.2rem;
  border: 2px solid var(--button-border);
  border-radius: var(--radius);
  background-color: var(--button-background);
  color: var(--button-color);
  font-family: var(--font-regular);
  font-size: var(--text-14);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
@media screen and (max-width: 800px) {
  .button {
    padding: 1.5rem 2.4rem;
  }
}

.button--primary {
  --button-background: var(--teal-darkest);
  --button-color: var(--mint);
  --button-border: var(--teal-darkest);
}
.button--primary:hover, .button--primary:focus-visible {
  --button-background: var(--mint);
  --button-color: var(--teal-darkest);
  --button-border: var(--mint);
}

.button--primary-inverse {
  --button-background: var(--mint);
  --button-color: var(--teal-darkest);
  --button-border: var(--mint);
}
.button--primary-inverse:hover, .button--primary-inverse:focus-visible {
  --button-background: var(--teal-darkest);
  --button-color: var(--mint);
  --button-border: var(--mint);
}

.button--dark {
  --button-background: var(--teal-darkest);
  --button-color: var(--white);
  --button-border: var(--teal-darkest);
}
.button--dark:hover, .button--dark:focus-visible {
  --button-background: var(--teal-dark);
  --button-border: var(--teal-dark);
}

.button--secondary {
  --button-background: var(--white);
  --button-color: var(--teal-darkest);
  --button-border: var(--teal-darkest);
}
.button--secondary:hover, .button--secondary:focus-visible {
  --button-background: var(--teal-darkest);
  --button-color: var(--mint);
  --button-border: var(--mint);
}

.button--ghost {
  --button-color: var(--white);
  --button-border: var(--white);
}
.button--ghost:hover, .button--ghost:focus-visible {
  --button-background: var(--white);
  --button-color: var(--teal-darkest);
}

.button--primary::after,
.button--primary-inverse::after,
.button--secondary::after {
  content: "";
  width: 0;
  height: 1.2rem;
  flex-shrink: 0;
  margin-inline-start: -1rem;
  background-color: currentcolor;
  -webkit-mask: url("../../images/link-arrow.svg") no-repeat center/contain;
          mask: url("../../images/link-arrow.svg") no-repeat center/contain;
  opacity: 0;
  transition: width 0.25s ease, margin 0.25s ease, opacity 0.25s ease;
}
@media (prefers-reduced-motion: reduce) {
  .button--primary::after,
  .button--primary-inverse::after,
  .button--secondary::after {
    transition: none;
  }
}
.button--primary:hover::after, .button--primary:focus-visible::after,
.button--primary-inverse:hover::after,
.button--primary-inverse:focus-visible::after,
.button--secondary:hover::after,
.button--secondary:focus-visible::after {
  width: 1.1rem;
  margin-inline-start: 0;
  opacity: 1;
}

.button--dark-accent {
  --button-background: var(--teal-darkest);
  --button-color: var(--mint);
  --button-border: var(--teal-darkest);
}
.button--dark-accent:hover, .button--dark-accent:focus-visible {
  --button-background: var(--teal-dark);
  --button-color: var(--white);
  --button-border: var(--teal-dark);
}

.button--lg {
  padding: 1.8rem 2.4rem;
  font-size: var(--text-16);
}

.plan-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: var(--radius-lg);
  background-color: var(--white);
  color: var(--teal-darkest);
  overflow: hidden;
}

.plan-card__media {
  position: relative;
  aspect-ratio: 3/2;
  min-height: 0;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .plan-card__media {
    aspect-ratio: 4/3;
  }
}

.plan-card__image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.plan-card__ribbon {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 2.4rem;
  width: 8rem;
  height: auto;
}

.plan-card__flag-icon {
  width: 1.6rem;
  height: 1.6rem;
  flex-shrink: 0;
  -o-object-fit: contain;
     object-fit: contain;
  filter: brightness(0) invert(1);
}

.plan-card__tags {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin: -1.4rem 0 0;
  padding: 0 2.4rem;
  list-style: none;
}
@media screen and (max-width: 800px) {
  .plan-card__tags {
    padding-inline: 2rem;
  }
}

.plan-card__tag-link {
  display: inline-flex;
  border-radius: var(--radius-pill);
  text-decoration: none;
  transition: filter 0.2s ease;
}
.plan-card__tag-link:hover {
  filter: brightness(0.92);
}
.plan-card__tag-link:focus-visible {
  outline: 2px solid var(--teal-dark);
  outline-offset: 2px;
}

.plan-card__tag .badge--outline {
  --badge-outline-bg: var(--white);
}

.plan-card__tag .badge--bronze {
  --badge-outline-bg: var(--cream-tint);
}

@media screen and (max-width: 800px) {
  .plan-card__tag .badge {
    padding-block: 0.4rem;
  }
}

.plan-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 3.2rem 2.4rem;
  color: var(--off-black);
}
@media screen and (max-width: 800px) {
  .plan-card__body {
    padding: 1rem 2rem 2.4rem;
  }
}

.plan-card__title {
  font-size: var(--text-48);
  margin: 0 0 0.8rem;
  font-family: var(--font-regular);
  font-weight: var(--weight-bold);
  line-height: 1.2;
}
@media screen and (max-width: 500px) {
  .plan-card__title {
    font-size: var(--text-80);
  }
}

.plan-card__title-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.plan-card__title-link:hover, .plan-card__title-link:focus-visible {
  color: var(--teal-dark);
}
.plan-card__title-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.plan-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 2.4rem;
  margin: 0 0 1.6rem;
  padding: 0;
  list-style: none;
}

.plan-card__meta-item {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: var(--text-16);
  line-height: 1.2;
}
@media screen and (max-width: 800px) {
  .plan-card__meta-item {
    color: var(--slate);
    font-size: var(--text-20);
  }
}

.plan-card__meta-icon {
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 800px) {
  .plan-card__meta-icon {
    width: 2.4rem;
    height: 2.4rem;
  }
}

.plan-card__price {
  margin: 0;
  color: var(--slate);
  font-size: var(--text-24);
  line-height: 1.2;
  margin-block-end: 1.6rem;
}
@media screen and (max-width: 800px) {
  .plan-card__price {
    font-size: var(--text-20);
  }
}

.plan-card__price-value {
  color: var(--teal-dark);
  font-family: var(--font-cursive);
  font-weight: var(--weight-regular);
  font-style: italic;
}

.plan-card__specs {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem 2.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
  margin-block-start: auto;
  padding-block-start: 1.6rem;
  border-block-start: 1px solid var(--block-rule, rgba(6, 46, 50, 0.1));
}
@media screen and (max-width: 800px) {
  .plan-card__specs {
    -moz-column-gap: 1.2rem;
         column-gap: 1.2rem;
  }
}

.plan-card__spec {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: var(--text-16);
  font-weight: var(--weight-bold);
  line-height: 1.2;
}
@media screen and (max-width: 800px) {
  .plan-card__spec {
    gap: 0.6rem;
    font-size: var(--text-18);
  }
}

.plan-card__spec-icon {
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 800px) {
  .plan-card__spec-icon {
    width: 2.4rem;
    height: 2.4rem;
  }
}

.plan-card__links {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 2.4rem;
  margin: 1.6rem 0 0;
  padding: 0;
  list-style: none;
}

.plan-card__link-item {
  margin: 0;
}

.plan-card__link.link-arrow {
  font-size: var(--text-14);
}

.model-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  padding: 2.4rem 1.6rem;
  border-radius: var(--radius-lg);
  background-color: var(--teal-darkest);
  color: var(--white);
  text-align: center;
  text-decoration: none;
  isolation: isolate;
  transition: background-color 0.2s ease;
}
.model-card:hover, .model-card:focus-visible {
  background-color: var(--teal-dark);
}
.model-card:hover .model-card__title, .model-card:focus-visible .model-card__title {
  color: var(--white);
}

.model-card__media {
  --model-card-glow-size: 56% 56%;
  --model-card-glow-origin: 50% 48%;
  --model-card-fade-start: 55%;
  --model-card-fade-end: 100%;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 15rem;
  height: 15rem;
  max-width: 100%;
  margin-inline: auto;
  border-radius: var(--radius-pill);
  background-color: var(--white);
}

.model-card__sky {
  -webkit-mask: radial-gradient(ellipse var(--model-card-glow-size) at var(--model-card-glow-origin), #000 0%, transparent 100%), linear-gradient(to bottom, #000 var(--model-card-fade-start), transparent var(--model-card-fade-end));
          mask: radial-gradient(ellipse var(--model-card-glow-size) at var(--model-card-glow-origin), #000 0%, transparent 100%), linear-gradient(to bottom, #000 var(--model-card-fade-start), transparent var(--model-card-fade-end));
  -webkit-mask-composite: source-in, xor;
          mask-composite: intersect;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: var(--radius-pill);
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.75;
}

.model-card__house {
  position: relative;
  z-index: 1;
  display: block;
  width: 134%;
  max-width: none;
  height: auto;
  margin-block-end: -0.8rem;
}

.model-card__title {
  display: block;
  margin-block-start: 2rem;
  color: var(--mint);
  font-family: var(--font-regular);
  font-size: var(--text-20);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  text-transform: uppercase;
  transition: color 0.2s ease;
}

.model-card__count {
  display: block;
  margin-block-start: 0.8rem;
  font-size: var(--text-16);
  line-height: 1.3;
}

.design-card {
  --design-card-pad: 2.4rem;
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: var(--radius-lg);
  background-color: var(--white);
  color: var(--off-black);
  box-shadow: var(--block-shadow, 4px 4px 40px rgba(14, 92, 103, 0.1));
}
@media screen and (max-width: 800px) {
  .design-card {
    --design-card-pad: 3rem;
  }
}

.design-card__media {
  position: relative;
  min-height: 460px;
  padding: 0;
  background: var(--grey);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
@media screen and (max-width: 800px) {
  .design-card__media {
    min-height: 0;
  }
}

.design-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  padding: 2px;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  background: linear-gradient(to bottom, var(--slate-light), var(--slate-light) 55%, transparent 90%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
  z-index: 0;
}

.design-card__sky {
  -webkit-mask: linear-gradient(to right, transparent 0%, #000 15%, #000 calc(100% - 15%), transparent 100%), linear-gradient(to bottom, transparent 0%, #000 12%, #000 55%, transparent 92%);
          mask: linear-gradient(to right, transparent 0%, #000 15%, #000 calc(100% - 15%), transparent 100%), linear-gradient(to bottom, transparent 0%, #000 12%, #000 55%, transparent 92%);
  -webkit-mask-composite: source-in, xor;
          mask-composite: intersect;
  position: absolute;
  inset: 0 0 auto;
  width: 100%;
  height: 66%;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  -o-object-fit: cover;
     object-fit: cover;
}

.design-card__house {
  position: relative;
  z-index: 1;
  display: block;
  width: auto;
  height: 460px;
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  margin: -5rem auto 0;
  transition: opacity 0.25s ease;
}
@media screen and (max-width: 800px) {
  .design-card__house {
    height: 230px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .design-card__house {
    transition: none;
  }
}

.design-card__house--loading {
  opacity: 0;
}

.design-card__flag {
  z-index: 2;
}

.design-card__thumbs {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 0.8rem;
  margin: -3.2rem 0 0;
  padding: 0 var(--design-card-pad);
  list-style: none;
}

.design-card__thumb {
  width: 8rem;
  height: 8rem;
  margin: 0;
  border: 2px solid var(--white);
  border-radius: var(--radius-sm);
  background-color: var(--white);
  overflow: hidden;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.design-card__thumb:hover, .design-card__thumb:has(:focus-visible) {
  border-color: var(--mint);
  transform: translateY(-0.2rem);
}
@media (prefers-reduced-motion: reduce) {
  .design-card__thumb {
    transition: none;
  }
}
@media screen and (max-width: 800px) {
  .design-card__thumb {
    width: 6rem;
    height: 6rem;
  }
}

.design-card__thumb--active,
.design-card__thumb--active:hover {
  border-color: var(--teal-dark);
  transform: none;
}

.design-card__thumb-button {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}

.design-card__thumb--active .design-card__thumb-button {
  cursor: default;
}

.design-card__thumb-image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .design-card__thumb-image {
    transition: none;
  }
}

.design-card__thumb:hover .design-card__thumb-image {
  transform: scale(1.08);
}

.design-card__thumb--active:hover .design-card__thumb-image {
  transform: none;
}

.design-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 2rem var(--design-card-pad) var(--design-card-pad);
}

.design-card__title {
  font-size: var(--text-48);
  margin: 0 0 0.4rem;
  font-family: var(--font-regular);
  font-weight: var(--weight-semibold);
  line-height: 1.2;
}
@media screen and (max-width: 500px) {
  .design-card__title {
    font-size: var(--text-80);
  }
}

.design-card__price {
  margin: 0;
  color: var(--slate);
  font-size: var(--text-24);
  line-height: 1.2;
  margin-block-end: 1.6rem;
}
@media screen and (max-width: 800px) {
  .design-card__price {
    font-size: var(--text-20);
  }
}

.design-card__price-value {
  color: var(--teal-dark);
  font-family: var(--font-cursive);
  font-weight: var(--weight-regular);
  font-style: italic;
}

.design-card__specs {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem 2.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 1.2rem 1.6rem;
}
@media screen and (max-width: 800px) {
  .design-card__specs {
    -moz-column-gap: 1.2rem;
         column-gap: 1.2rem;
  }
}

.design-card__spec {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: var(--text-16);
  font-weight: var(--weight-bold);
  line-height: 1.2;
}
@media screen and (max-width: 800px) {
  .design-card__spec {
    gap: 0.6rem;
    font-size: var(--text-18);
  }
}

.design-card__spec-icon {
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 800px) {
  .design-card__spec-icon {
    width: 2.4rem;
    height: 2.4rem;
  }
}

.design-card__actions {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 1.2rem;
  margin-block-start: auto;
  padding-block-start: 2rem;
}
@media screen and (max-width: 800px) {
  .design-card__actions {
    grid-auto-flow: row;
    gap: 0.6rem;
  }
}

.design-card__action {
  padding-inline: 1.6rem;
  font-size: var(--text-18);
  font-weight: var(--weight-bold);
}
.design-card__action::after {
  content: "";
  width: 0;
  height: 1.2rem;
  flex-shrink: 0;
  margin-inline-start: -1rem;
  background-color: currentcolor;
  -webkit-mask: url("../../images/link-arrow.svg") no-repeat center/contain;
          mask: url("../../images/link-arrow.svg") no-repeat center/contain;
  opacity: 0;
  transition: width 0.25s ease, margin 0.25s ease, opacity 0.25s ease;
}
@media (prefers-reduced-motion: reduce) {
  .design-card__action::after {
    transition: none;
  }
}
.design-card__action:hover::after, .design-card__action:focus-visible::after {
  width: 1.1rem;
  margin-inline-start: 0;
  opacity: 1;
}
@media screen and (max-width: 800px) {
  .design-card__action {
    border-radius: var(--radius-sm);
  }
}

@media screen and (max-width: 800px) {
  .design-card__action.button--dark {
    --button-color: var(--mint);
  }
}

.design-card__action.button--dark:hover,
.design-card__action.button--dark:focus-visible {
  --button-background: var(--mint);
  --button-color: var(--teal-darkest);
  --button-border: var(--teal-darkest);
}

.design-card__foot {
  margin: 0 1.6rem 1.6rem;
  padding: 2.4rem var(--design-card-pad);
  border-radius: var(--radius);
  background-color: var(--teal-darkest);
  color: var(--white);
}
@media screen and (max-width: 800px) {
  .design-card__foot {
    margin: 0 2rem 2rem;
    padding: 2rem;
  }
}

.design-card__foot-label {
  margin: 0 0 0.8rem;
  font-family: var(--font-regular);
  font-size: var(--text-14);
  font-weight: var(--weight-semibold);
  line-height: 1;
  text-transform: uppercase;
}
@media screen and (max-width: 800px) {
  .design-card__foot-label {
    margin-block-end: 1.2rem;
  }
}

.design-card__communities,
.model-communities__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.design-card__community,
.model-communities__item {
  display: flex;
  align-items: center;
  margin: 0;
}

.design-card__community + .design-card__community::before,
.model-communities__item + .model-communities__item::before {
  content: "";
  width: 1px;
  height: 1.2rem;
  margin-inline: 1rem;
  background-color: var(--white);
}

.design-card__community-link,
.model-communities__link {
  color: var(--mint);
  font-family: var(--font-regular);
  font-size: var(--text-14);
  font-weight: var(--weight-semibold);
  line-height: 1.2;
  text-decoration: none;
  transition: color 0.2s ease;
}
.design-card__community-link:hover, .design-card__community-link:focus-visible,
.model-communities__link:hover,
.model-communities__link:focus-visible {
  color: var(--white);
  text-decoration: underline;
}

@media screen and (max-width: 800px) {
  .design-card__communities {
    row-gap: 1.2rem;
  }
  .design-card__community + .design-card__community::before {
    content: none;
  }
  .design-card__community:not(:last-child)::after {
    content: "";
    width: 1px;
    height: 2rem;
    margin-inline: 1.6rem;
    background-color: var(--white);
  }
  .design-card__community-link {
    font-size: var(--text-20);
    font-weight: var(--weight-bold);
    text-decoration: underline;
  }
}
@media screen and (max-width: 800px) {
  .design-run .carousel-nav {
    display: none;
  }
}

.design-run__carousel {
  margin-inline: calc(((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline)) * -1);
  margin-block: -3rem;
  padding-block: calc(3.2rem + 3rem) 3rem;
}

.design-run__track {
  align-items: stretch;
}

.design-run__slide {
  height: auto;
  width: calc((calc(100vw - calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline))) - 30px * (2.5 - 1)) / 2.5) !important;
}
@media screen and (max-width: 960px) {
  .design-run__slide {
    width: calc((calc(100vw - calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline))) - 30px * (1.5 - 1)) / 1.5) !important;
  }
}
@media screen and (max-width: 800px) {
  .design-run__slide {
    width: calc((calc(100vw - calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline))) - 16px * (1.1 - 1)) / 1.1) !important;
  }
}

.design-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(3rem + 3.2rem) 3rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 800px) {
  .design-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.design-grid__item {
  display: flex;
  margin: 0;
}
.design-grid__item .design-card {
  width: 100%;
}

.community-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  min-height: 62rem;
  border-radius: var(--radius-lg);
  background-color: var(--teal-darkest);
  text-decoration: none;
  isolation: isolate;
  overflow: hidden;
}
.community-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.25) 35%, transparent 65%);
  pointer-events: none;
}

.community-card__image {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.community-card__location {
  text-transform: uppercase;
}
@media screen and (max-width: 800px) {
  .community-card__location {
    inset-block-start: 4rem;
    padding-block: 1.5rem;
  }
}

.community-card__location-icon {
  width: 1.6rem;
  height: 1.6rem;
  flex-shrink: 0;
  -o-object-fit: contain;
     object-fit: contain;
}

.community-card__tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8rem;
  margin-block-end: 1.2rem;
  padding-inline: 1.6rem;
}

.community-card__tags .badge--outline {
  --badge-outline-bg: var(--white);
}

.community-card__panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: calc(56px + 0.5rem + 2lh + 4.8rem);
  margin: 0 1.6rem 1.6rem;
  padding: 2.4rem 2rem;
  border-radius: var(--radius-lg);
  background-color: var(--white);
  color: var(--teal-darkest);
  font-size: var(--text-16);
  line-height: 1.3;
  text-align: center;
}

.community-card__logo {
  display: block;
  width: auto;
  max-width: 100%;
  height: 56px;
  -o-object-fit: contain;
     object-fit: contain;
}

.community-card__wordmark {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 56px;
  overflow: hidden;
  font-family: var(--font-regular);
  font-size: var(--text-24);
  font-weight: var(--weight-bold);
  line-height: 1.15;
}

.community-card__note {
  display: -webkit-box;
  overflow: hidden;
  color: var(--slate);
  font-weight: var(--weight-bold);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.community-nav {
  position: relative;
  z-index: 10;
  background-color: var(--white);
}
.community-nav a {
  text-decoration: none;
}

.community-nav__container {
  --max-width: var(--max-width-wide);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3rem;
  padding-block: 2.2rem;
}
@media screen and (max-width: 1100px) {
  .community-nav__container {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
    padding-block: 1.6rem;
  }
}
@media screen and (max-width: 800px) {
  .community-nav__container {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    padding-block: 2.6rem;
  }
}

.community-nav__toggle.burger {
  display: none;
  border: 0;
  padding: 0;
  background: none;
  cursor: pointer;
}
@media screen and (max-width: 800px) {
  .community-nav__toggle.burger {
    display: flex;
  }
}

.community-nav__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  color: var(--teal-dark);
}

.community-nav__logo-text {
  font-family: var(--font-cursive);
  font-weight: var(--weight-regular);
  font-style: italic;
  font-size: var(--text-48);
  line-height: 1.2;
}

.community-nav__list {
  display: flex;
  align-items: center;
  gap: 3.2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 1100px) {
  .community-nav__list {
    max-width: 100%;
    overflow-x: auto;
    gap: 2.4rem;
  }
}
@media screen and (max-width: 800px) {
  .community-nav__list {
    right: 0;
    width: 75%;
    max-width: 220px;
    padding-inline: var(--padding-inline);
    background-color: var(--off-white);
    box-shadow: var(--box-shadow);
    display: none;
    position: absolute;
    top: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding-block: 1.2rem;
  }
}

@media screen and (max-width: 800px) {
  .community-nav__container--open .community-nav__list {
    display: flex;
  }
}

.community-nav__item {
  margin: 0;
}
@media screen and (max-width: 800px) {
  .community-nav__item {
    margin: 1rem;
  }
}

.community-nav__link {
  color: var(--teal-darkest);
  font-family: var(--font-regular);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
  transition: color 0.2s ease;
  display: block;
  padding-block: 1.2rem;
  font-size: var(--text-18);
}
.community-nav__link:hover, .community-nav__link:focus-visible {
  color: var(--teal-dark);
}

.community-pin {
  position: absolute;
  width: 6rem;
  height: 6.9624rem;
  margin-inline-start: -3rem;
  margin-block-start: -6.9624rem;
  background: url("../../images/map-pin.png") no-repeat center/contain;
  padding: 0;
  border: 0;
  cursor: pointer;
  transition: transform 0.2s ease;
  transform-origin: bottom center;
}
.community-pin:hover, .community-pin:focus-visible {
  transform: scale(1.08);
}

.community-pin__disc {
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 43%;
  display: grid;
  place-items: center;
  width: 80%;
  aspect-ratio: 1;
  border-radius: var(--radius-pill);
  background-color: var(--white);
  overflow: hidden;
  transform: translate(-50%, -50%);
}

.community-pin__icon {
  display: block;
  width: 76%;
  height: 76%;
  -o-object-fit: contain;
     object-fit: contain;
}

.community-pin__glyph {
  width: 58%;
  height: 58%;
  color: var(--teal-dark);
}

.offers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3rem;
}
@media screen and (max-width: 960px) {
  .offers {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 800px) {
  .offers {
    display: flex;
    gap: 1.6rem;
    margin-block: 0;
    padding-block: 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    list-style: none;
    margin-inline: calc(((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline)) * -1);
    padding-inline: calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline));
    scroll-padding-inline: calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline));
  }
  .offers > * {
    display: flex;
    flex: 0 0 95%;
    margin: 0;
    scroll-snap-align: start;
  }
}

.offer-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 600px;
  border-radius: var(--radius-lg);
  color: var(--white);
  isolation: isolate;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .offer-card {
    min-height: 436px;
  }
}

.offer-card__image {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.offer-card__body {
  padding: 10rem 3.4rem 2.4rem;
  background: linear-gradient(to top, rgba(25, 29, 30, 0.85) 0%, rgba(25, 29, 30, 0.6) 35%, transparent 100%);
}

.offer-card__title {
  margin: 0;
  font-family: var(--font-regular);
  font-size: var(--text-20);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  text-transform: uppercase;
}

.offer-card__text {
  margin: 1.2rem 0 0;
  font-size: var(--text-16);
  line-height: 1.4;
}

.offer-card__link.link-arrow {
  color: var(--mint);
  margin-block-start: 1.6rem;
  align-self: flex-start;
}
.offer-card__link.link-arrow:hover, .offer-card__link.link-arrow:focus-visible {
  color: var(--white);
}

.offer-card--wide {
  min-height: 520px;
}
.offer-card--wide .offer-card__body {
  padding-inline: 3.2rem;
}

@media screen and (max-width: 800px) {
  .offer-carousel .swiper {
    overflow: visible;
  }
  .offer-carousel .offer-carousel__slide {
    width: 95%;
  }
  .offer-carousel .carousel-nav {
    display: none;
  }
}

.offer-carousel__track {
  align-items: stretch;
}

.offer-carousel__slide {
  display: flex;
  height: auto;
}
.offer-carousel__slide > * {
  flex: 1;
}

.home-offer-card {
  display: flex;
  flex-direction: column;
  min-height: 600px;
  border-radius: var(--radius-lg);
  background-color: var(--white);
  color: var(--teal-darkest);
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .home-offer-card {
    min-height: 436px;
  }
}

.home-offer-card__media {
  position: relative;
  display: flex;
  flex: 1;
  align-items: flex-end;
  justify-content: center;
  padding-block-start: 4rem;
  background: linear-gradient(to bottom, var(--off-white), var(--white));
  isolation: isolate;
}

.home-offer-card__sky {
  position: absolute;
  inset-block-start: 3.2rem;
  inset-inline-start: 50%;
  z-index: -1;
  width: 72%;
  height: auto;
  aspect-ratio: 1;
  border-radius: var(--radius-pill);
  -o-object-fit: cover;
     object-fit: cover;
  transform: translateX(-50%);
}

.home-offer-card__house {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}

.home-offer-card__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.6rem 2.4rem 2.4rem;
}

.home-offer-card__title {
  margin: 0;
  font-family: var(--font-regular);
  font-size: var(--text-20);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  text-transform: uppercase;
}

.home-offer-card__text {
  margin: 0.8rem 0 0;
  color: var(--slate);
  font-size: var(--text-16);
  line-height: 1.4;
}

.home-offer-card__price {
  color: var(--teal-darkest);
  font-weight: var(--weight-bold);
}

.home-offer-card__button,
.home-offer-card__link {
  margin-block-start: 1.6rem;
}

.home-offer-card__button-icon {
  width: 1.6rem;
  height: 1.6rem;
}

.resource-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 0.8rem 0.8rem 1rem;
  border-radius: var(--radius-lg);
  background-color: var(--white);
  color: var(--teal-darkest);
  text-align: center;
  text-decoration: none;
  transition: box-shadow 0.2s ease;
}
.resource-card:hover, .resource-card:focus-visible {
  box-shadow: var(--box-shadow);
}
.resource-card:hover .resource-card__image, .resource-card:focus-visible .resource-card__image {
  transform: scale(1.04);
}

.resource-card__media {
  display: block;
  aspect-ratio: 4/3;
  border-radius: var(--radius);
  overflow: hidden;
}

.resource-card__image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}

.resource-card__title {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  margin-block-start: 1rem;
  font-size: var(--text-20);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  text-transform: uppercase;
}

.value-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: var(--radius-lg);
  background-color: var(--value-card-bg);
  color: var(--value-card-text);
  overflow: hidden;
}

.value-card__media {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 34rem;
  flex-shrink: 0;
}
@media screen and (max-width: 800px) {
  .value-card__media {
    display: none;
  }
}

.value-card__image {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  margin: auto;
}

.value-card__media--round .value-card__image {
  width: 22rem;
  height: 22rem;
  max-width: 100%;
  border-radius: var(--radius-pill);
}

.value-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 3.2rem;
}
@media screen and (max-width: 800px) {
  .value-card__body {
    padding: 4rem;
  }
}

.value-card__title {
  margin: 0 0 1.6rem;
  font-family: var(--font-regular);
  font-size: var(--text-48);
  font-weight: var(--weight-semibold);
  line-height: 1.1;
}
@media screen and (max-width: 500px) {
  .value-card__title {
    font-size: var(--text-75);
  }
}

.value-card__text {
  margin: 0 0 2.4rem;
  font-size: var(--text-16);
  line-height: 1.5;
}
@media screen and (max-width: 800px) {
  .value-card__text {
    font-size: var(--text-18);
    line-height: 1.7;
  }
}

.value-card__link.link-arrow {
  margin-block-start: auto;
  color: var(--value-card-link);
}
.value-card__link.link-arrow:hover, .value-card__link.link-arrow:focus-visible {
  color: var(--value-card-link-hover);
}

.value-card--dark {
  --value-card-bg: var(--teal-darkest);
  --value-card-text: var(--white);
  --value-card-link: var(--mint);
  --value-card-link-hover: var(--white);
}

.value-card--mint {
  --value-card-bg: var(--mint);
  --value-card-text: var(--teal-darkest);
  --value-card-link: var(--off-black);
  --value-card-link-hover: var(--teal-dark);
}

.value-card--teal {
  --value-card-bg: var(--teal-dark);
  --value-card-text: var(--white);
  --value-card-link: var(--white);
  --value-card-link-hover: var(--mint);
}

.benefit-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: var(--radius-lg);
  background-color: var(--teal-darkest);
  color: var(--white);
  overflow: hidden;
}

.benefit-card__media {
  height: 34rem;
  flex-shrink: 0;
}

.benefit-card__image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.benefit-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 3.2rem;
}
@media screen and (max-width: 500px) {
  .benefit-card__body {
    padding: 2.4rem;
  }
}

.benefit-card__title {
  margin: 0 0 1.6rem;
  font-family: var(--font-regular);
  font-size: var(--text-48);
  font-weight: var(--weight-semibold);
  line-height: 1.1;
}
@media screen and (max-width: 500px) {
  .benefit-card__title {
    font-size: var(--text-75);
  }
}
.benefit-card__title .cursive,
.benefit-card__title em {
  font-family: var(--font-cursive);
  font-weight: var(--weight-regular);
  font-style: italic;
  color: var(--mint);
}

.benefit-card__text {
  margin: 0 0 2.4rem;
  font-size: var(--text-16);
  line-height: 1.5;
}
@media screen and (max-width: 800px) {
  .benefit-card__text {
    font-size: var(--text-18);
    line-height: 1.7;
  }
}
.benefit-card__text p {
  margin: 0;
}
.benefit-card__text strong {
  font-family: var(--font-regular);
  font-weight: var(--weight-bold);
}

.benefit-card__link.link-arrow {
  margin-block-start: auto;
  color: var(--mint);
}
.benefit-card__link.link-arrow:hover, .benefit-card__link.link-arrow:focus-visible {
  color: var(--white);
}

.news-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
  color: var(--teal-darkest);
}

.news-card__media {
  display: block;
  width: 100%;
  aspect-ratio: 16/10;
  min-height: 0;
  margin-block-end: 2rem;
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.news-card__image, .news-teaser__image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.news-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.2rem;
  margin: 0 0 1.6rem;
}

.news-card__date {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: var(--text-16);
  line-height: 1.2;
  color: var(--off-black);
}
@media screen and (max-width: 800px) {
  .news-card__date {
    font-size: var(--text-18);
  }
}
.news-card__date::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: var(--marker-size);
  height: var(--marker-size);
  background-color: var(--marker-color);
}

.news-card__title {
  margin: 0 0 2rem;
  font-family: var(--font-regular);
  font-size: var(--text-28);
  font-weight: var(--weight-bold);
  color: var(--off-black);
  line-height: 1.25;
}
@media screen and (max-width: 800px) {
  .news-card__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
  }
}

.news-card__title-link, .news-teaser__title-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.news-card__title-link:hover, .news-teaser__title-link:hover, .news-card__title-link:focus-visible, .news-teaser__title-link:focus-visible {
  color: var(--teal-dark);
}

.news-card__link {
  margin-block-start: auto;
}

.news-teaser {
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
  color: var(--teal-darkest);
}

.news-teaser__media {
  display: block;
  flex-shrink: 0;
  width: 12rem;
  aspect-ratio: 1;
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.news-teaser__media--contain {
  background-color: var(--orange);
}
.news-teaser__media--contain .news-teaser__image {
  -o-object-fit: contain;
     object-fit: contain;
}

.news-teaser__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.news-teaser__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem;
  margin: 0 0 1.2rem;
}

.news-teaser__date {
  font-size: var(--text-16);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

.news-teaser__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  margin: 0 0 1.2rem;
  font-family: var(--font-regular);
  font-size: var(--text-20);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  text-transform: uppercase;
}

.news-latest__title {
  margin: 0;
  color: var(--slate);
  font-family: var(--font-regular);
  font-size: var(--text-48);
  font-weight: var(--weight-semibold);
  line-height: 1.1;
  margin-block-end: 3.2rem;
}
.news-latest__title .cursive {
  color: var(--teal-dark);
}

.news-latest__list {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.news-latest__item {
  margin: 0;
}
.news-latest__item .news-teaser__meta,
.news-latest__item .news-teaser__title {
  margin-block-end: 0.8rem;
}

.news-sidebar__section + .news-sidebar__section {
  margin-block-start: 3.2rem;
  padding-block-start: 3.2rem;
  border-block-start: 1px solid var(--slate);
}

.news-sidebar__title {
  margin: 0;
  color: var(--slate);
  font-family: var(--font-regular);
  font-size: var(--text-48);
  font-weight: var(--weight-semibold);
  line-height: 1.1;
  margin-block-end: 2.4rem;
}
.news-sidebar__title .cursive {
  color: var(--teal-dark);
}

.news-sidebar__text {
  margin: 0 0 1rem;
  color: var(--off-black);
  font-size: var(--text-16);
  line-height: 1.5;
}

.news-sidebar__button {
  font-size: var(--text-18);
  width: 100%;
  padding: 1.5rem 3rem;
}

.article-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: var(--teal-darkest);
}

.article-head__category {
  margin-block-end: 2.7rem;
}

.article-head__title {
  font-family: var(--font-cursive);
  font-weight: var(--weight-regular);
  font-style: italic;
  margin: 0 0 5rem;
  color: var(--teal-dark);
  font-size: var(--text-96);
  line-height: 1;
}

.article-head__byline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem 3.2rem;
  align-self: stretch;
  padding-block: 2.2rem;
  border-block: 2px solid var(--orange);
}

.article-head__meta {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin: 0;
  font-size: var(--text-16);
  font-weight: var(--weight-bold);
  line-height: 1.2;
}

.article-head__author,
.article-head__date {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

.article-head__author {
  color: var(--teal-dark);
  font-style: italic;
  transition: color 0.2s ease;
}
.article-head__author:hover, .article-head__author:focus-visible {
  color: var(--teal-darkest);
}

.article-head__author + .article-head__date {
  padding-inline-start: 1.6rem;
  border-inline-start: 1px solid var(--teal-darkest);
}

.article-head__date {
  color: var(--off-black);
}

.article-head__share {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}

.article-head__share-label {
  color: var(--slate);
  font-size: var(--text-16);
  font-weight: var(--weight-semibold);
  line-height: 1.2;
}

.article-head__share-list {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.article-head__share-item {
  margin: 0;
}

.article-head__share-link {
  display: block;
  width: 2.9rem;
  height: 2.9rem;
  background-color: var(--teal-dark);
  -webkit-mask: var(--share-icon) no-repeat center bottom/100% auto;
          mask: var(--share-icon) no-repeat center bottom/100% auto;
  transition: background-color 0.2s ease;
}
.article-head__share-link:hover, .article-head__share-link:focus-visible {
  background-color: var(--teal-darkest);
}

.article-head__share-link--facebook {
  --share-icon: url("../../images/footer/icon-facebook.png");
}

.article-head__share-link--instagram {
  --share-icon: url("../../images/footer/icon-instagram.png");
}

.article-head__share-link--linkedin {
  --share-icon: url("../../images/footer/icon-linkedin.png");
}

.article-head--center {
  align-items: center;
  text-align: center;
}

.news-article__sections .flexible-section:not(.flexible-section--dark) {
  --button-text: var(--mint);
  --button-bg-hover: var(--teal-dark);
  --button-text-hover: var(--white);
}
.news-article__sections .flexible-section__container {
  gap: 3.2rem;
  color: var(--off-black);
}
.news-article__sections .block-wrapper {
  margin-block-end: 2.4rem;
}
.news-article__sections .text-block {
  font-size: var(--text-16);
  line-height: 1.5;
}
.news-article__sections .text-block h2 {
  margin: 0;
  color: var(--slate);
  font-family: var(--font-regular);
  font-size: var(--text-48);
  font-weight: var(--weight-semibold);
  line-height: 1.1;
  margin-block-end: 2.4rem;
  line-height: 1.2;
}
.news-article__sections .text-block h2 .cursive {
  color: var(--teal-dark);
}
.news-article__sections .text-block p {
  margin: 0 0 1.6rem;
}
.news-article__sections .text-block p:last-child {
  margin-block-end: 0;
}
.news-article__sections .text-block p:not(.disclaimer-text) {
  line-height: inherit;
}
.news-article__sections .text-block strong {
  font-weight: var(--weight-bold);
}
.news-article__sections .image-block,
.news-article__sections .button-group {
  margin-block-end: 0;
}
.news-article__sections .block-wrapper .image-block img {
  aspect-ratio: 3/2;
  border-radius: var(--radius-lg);
}
.news-article__sections .button-group .button {
  border-radius: var(--radius);
  font-size: var(--text-18);
  padding: 1.5rem 3rem;
}

.news-article--sidebar .news-article__sections .block-wrapper .image-block img {
  aspect-ratio: 459/387;
}

@media screen and (max-width: 800px) {
  .news-article__sections .flexbile-section__column:has(.image-block) {
    order: -1;
  }
  .news-article--sidebar .news-article__sections .block-wrapper .image-block img {
    aspect-ratio: 3/2;
  }
}
.subscribe-panel {
  padding: 8rem 4rem;
  border-radius: var(--radius-40);
  background-color: var(--teal-darkest);
  text-align: center;
}
@media screen and (max-width: 800px) {
  .subscribe-panel {
    padding: 5rem 2.4rem;
    border-radius: var(--radius-xl);
  }
}

.subscribe-panel__title {
  margin: 0;
  color: var(--slate);
  font-family: var(--font-regular);
  font-size: var(--text-64);
  font-weight: var(--weight-semibold);
  line-height: 1.1;
  margin-block-end: 5rem;
  color: var(--white);
}
.subscribe-panel__title .cursive {
  color: var(--teal-dark);
}
.subscribe-panel__title .cursive {
  color: var(--mint);
}

.subscribe-panel__form {
  max-width: 69.4rem;
  margin-inline: auto;
}

.subscribe-panel__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -moz-column-gap: 1.6rem;
       column-gap: 1.6rem;
  text-align: start;
}
@media screen and (max-width: 500px) {
  .subscribe-panel__fields {
    grid-template-columns: minmax(0, 1fr);
  }
}

.subscribe-panel__field--wide {
  grid-column: 1/-1;
}

.subscribe-panel__submit {
  justify-self: center;
  margin-block-start: 0.4rem;
}

@media screen and (max-width: 800px) {
  .communities .swiper {
    overflow: visible;
  }
  .communities .communities__slide {
    width: 95%;
  }
  .communities .carousel-nav {
    display: none;
  }
}

.communities__track {
  align-items: stretch;
}

.communities__slide {
  height: auto;
}

@media screen and (max-width: 800px) {
  .home-models .carousel-nav {
    display: none;
  }
}

.home-models__carousel {
  margin-inline: calc(((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline)) * -1);
}

.home-models__track {
  align-items: stretch;
}

.home-models__slide {
  height: auto;
  width: calc((calc(100vw - calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline))) - 32px * (6.8 - 1)) / 6.8) !important;
}
@media screen and (max-width: 1400px) {
  .home-models__slide {
    width: calc((calc(100vw - calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline))) - 32px * (4.8 - 1)) / 4.8) !important;
  }
}
@media screen and (max-width: 1100px) {
  .home-models__slide {
    width: calc((calc(100vw - calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline))) - 32px * (3.5 - 1)) / 3.5) !important;
  }
}
@media screen and (max-width: 800px) {
  .home-models__slide {
    width: calc((calc(100vw - calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline))) - 16px * (2.5 - 1)) / 2.5) !important;
  }
}
@media screen and (max-width: 500px) {
  .home-models__slide {
    width: calc((calc(100vw - calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline))) - 16px * (1.9 - 1)) / 1.9) !important;
  }
}

.floor-plans .floor-plans__track,
.show-homes .floor-plans__track,
.floor-plans .show-homes__track,
.show-homes .show-homes__track {
  align-items: stretch;
}
.floor-plans .floor-plans__slide,
.show-homes .floor-plans__slide,
.floor-plans .show-homes__slide,
.show-homes .show-homes__slide {
  height: auto;
}

@media screen and (max-width: 800px) {
  .floor-plans .swiper {
    overflow: visible;
  }
  .floor-plans .floor-plans__slide {
    width: 95%;
  }
  .floor-plans .carousel-nav {
    display: none;
  }
}

.article {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  width: 100%;
  border-radius: var(--card-radius, var(--radius-lg));
}

.article--sidebar {
  margin: 0 0 2rem;
}

.article__image {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
}
.article__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.article__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.2rem;
  padding: 2.4rem;
}

.article__title {
  margin: 0;
  font-size: var(--text-24);
  line-height: 1.2;
}
.article__title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.article__title a:hover, .article__title a:focus-visible {
  color: var(--block-accent, var(--teal-dark));
}

.article__subtext {
  display: inline-block;
}

.article__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  order: -1;
}

.article__category {
  display: inline-flex;
  align-items: center;
  padding: 0.6rem 1.4rem;
  border-radius: var(--radius-pill);
  background-color: var(--teal-lightest);
  color: var(--block-accent, var(--teal-dark));
  font-family: var(--font-regular);
  font-size: var(--text-12);
  font-weight: var(--weight-semibold);
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}
.article__category::after {
  display: none;
}

.article__excerpt {
  margin: 0 0 auto;
  color: var(--block-muted, var(--slate));
  font-size: var(--text-14);
  line-height: 1.6;
}
.article__excerpt p {
  margin: 0;
}

.article__button {
  margin: 1.2rem 0 0;
}

.card-list {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

.card-list__item {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 2.4rem;
  border-radius: var(--radius);
  background-color: var(--white);
  box-shadow: var(--box-shadow);
}
@media screen and (max-width: 500px) {
  .card-list__item {
    align-items: flex-start;
    gap: 2.4rem;
    padding: 3rem;
  }
}

.card-list__icon {
  width: 60px;
  height: 60px;
  flex-shrink: 0;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 500px) {
  .card-list__icon {
    width: 48px;
    height: 48px;
  }
}

.card-list__icon--glyph {
  padding: 1.2rem;
  border-radius: var(--radius);
  color: var(--teal-dark);
}

.card-list__body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.4rem;
}

.card-list__heading {
  margin: 0;
  color: var(--teal-dark);
  font-family: var(--font-regular);
  font-size: var(--text-20);
  font-weight: var(--weight-bold);
  line-height: 1.2;
}
@media screen and (max-width: 800px) {
  .card-list__heading {
    text-transform: uppercase;
  }
}

.card-list__copy {
  margin: 0;
  color: var(--slate);
  font-size: var(--text-16);
  line-height: 1.5;
}
@media screen and (max-width: 800px) {
  .card-list__copy {
    font-size: var(--text-18);
    line-height: 1.7;
  }
}

.carousel-nav {
  --carousel-dot: rgb(6 46 50 / 20%);
  --carousel-dot-active: var(--teal-dark);
  --carousel-arrow: var(--teal-darkest);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3rem;
  margin-block-start: 4rem;
}

.carousel-nav:has(.swiper-button-lock) {
  display: none;
}

.carousel-nav__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.4rem;
  height: 3.4rem;
  padding: 0;
  border: 1px solid var(--carousel-dot);
  border-radius: var(--radius-pill);
  background: none;
  color: var(--carousel-arrow);
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
.carousel-nav__arrow:hover, .carousel-nav__arrow:focus-visible {
  border-color: var(--teal-dark);
}

.carousel-nav__arrow-icon {
  width: 1.6rem;
  height: 1.6rem;
}

.carousel-nav__arrow-icon--flip {
  transform: scaleX(-1);
}

.carousel-nav__arrow--active {
  border-color: var(--teal-dark);
  background-color: var(--teal-dark);
  color: var(--white);
}

.carousel-nav__arrow.swiper-button-disabled {
  opacity: 0.4;
  cursor: default;
}

.carousel-nav__dots {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.carousel-nav__dot {
  width: 0.9rem;
  height: 0.9rem;
  padding: 0;
  border: 0;
  border-radius: var(--radius-pill);
  background-color: var(--carousel-dot);
  transition: width 0.25s ease, background-color 0.25s ease;
}

.carousel-nav__dot--active {
  width: 3.2rem;
  background-color: var(--carousel-dot-active);
}

.carousel-nav--carousel {
  --carousel-dot: var(--teal-darkest);
  --carousel-dot-active: var(--mint);
}
.carousel-nav--carousel .carousel-nav__dot {
  width: 8.2rem;
  height: 0.6rem;
  cursor: pointer;
}

.carousel-nav--light {
  --carousel-dot: rgb(255 255 255 / 35%);
  --carousel-dot-active: var(--mint);
  --carousel-arrow: var(--white);
}

.filter {
  --field-bg: transparent;
  --field-border: transparent;
  --field-color: var(--off-black);
  --field-radius: var(--radius);
  --field-padding-block: 0;
  --field-padding-inline: 0;
  --filter-gutter: 1.4rem;
  display: flex;
  flex-direction: column;
  color: var(--off-black);
}

.filter--overlap {
  --filter-overlap: 12rem;
  position: relative;
  z-index: 1;
  margin-block-start: calc(var(--filter-overlap) * -1);
}
@media screen and (max-width: 1300px) {
  .filter--overlap {
    --filter-overlap: 0rem;
  }
}

.filter--collapsible .filter__toggle {
  display: none;
}
@media screen and (max-width: 800px) {
  .filter--collapsible .filter__toggle {
    display: inline-flex;
    align-self: center;
    padding: 1.8rem 3.3rem;
    border-radius: var(--radius-sm);
    font-size: var(--text-24);
  }
  .filter--collapsible .filter__toggle:not(:hover, :focus-visible) {
    --button-color: var(--off-black);
    --button-border: var(--slate);
  }
  .filter--collapsible:not(.filter--open) > :not(.filter__toggle, .filter__active) {
    display: none;
  }
  .filter--collapsible.filter--open .filter__toggle {
    margin-block-end: 2.4rem;
  }
}

@media screen and (max-width: 800px) {
  .filter--collapsible:not(.filter--open) .filter__active {
    margin-block-start: 2.4rem;
    border-block-start: 0;
    border-radius: var(--radius-lg);
  }
  .filter--collapsible.filter--align-start .filter__toggle {
    align-self: flex-start;
  }
  .filter--collapsible.filter--overlap {
    --filter-overlap: calc(3rem + 2px);
  }
}
.filter__head {
  position: relative;
  align-self: flex-start;
  padding: 2.4rem 4rem;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  background-color: var(--white);
  margin-bottom: -1px;
}
@media screen and (max-width: 1300px) {
  .filter__head {
    align-self: stretch;
  }
}

.filter__head::after {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 100%;
  width: var(--radius-lg);
  height: var(--radius-lg);
  background-color: var(--white);
  -webkit-mask: radial-gradient(circle var(--radius-lg) at 100% 0, transparent 99%, #000 100%);
          mask: radial-gradient(circle var(--radius-lg) at 100% 0, transparent 99%, #000 100%);
  margin-left: -1px;
}
@media screen and (max-width: 1300px) {
  .filter__head::after {
    content: none;
  }
}

.filter__title {
  margin: 0;
  font-family: var(--font-regular);
  font-size: var(--text-32);
  font-weight: var(--weight-bold);
  line-height: 1.2;
}

.filter__title-accent {
  color: var(--teal-dark);
}

.filter__fields {
  display: flex;
  align-items: center;
  padding: 2.4rem;
  border-radius: 0 var(--radius-lg) var(--radius-lg);
  background-color: var(--white);
}
@media screen and (max-width: 1300px) {
  .filter__fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.4rem;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  }
}
@media screen and (max-width: 500px) {
  .filter__fields {
    grid-template-columns: minmax(0, 1fr);
  }
}

.filter__fields > .filter__field ~ .filter__field,
.filter__fields > .filter__city ~ .filter__field,
.filter__city > .filter__field + .filter__field {
  border-inline-start: 2px solid var(--slate);
}
@media screen and (max-width: 1300px) {
  .filter__fields > .filter__field ~ .filter__field,
  .filter__fields > .filter__city ~ .filter__field,
  .filter__city > .filter__field + .filter__field {
    border-inline-start: 0;
  }
}

.filter__fields > .filter__field:last-of-type {
  border-inline-end: 2px solid var(--slate);
}
@media screen and (max-width: 1300px) {
  .filter__fields > .filter__field:last-of-type {
    border-inline-end: 0;
  }
}

.filter__city:not([hidden]) {
  display: contents;
}

.filter__city:not([hidden]) > .filter__field:first-of-type,
.filter__fields:not(:has(> .filter__city)) > .filter__field:first-of-type {
  padding-inline-start: 0;
}
@media screen and (max-width: 1300px) {
  .filter__city:not([hidden]) > .filter__field:first-of-type,
  .filter__fields:not(:has(> .filter__city)) > .filter__field:first-of-type {
    padding-inline-start: var(--filter-gutter);
  }
}

.filter__field {
  flex: 1 1 auto;
  min-width: 0;
  padding-inline: var(--filter-gutter);
}

.filter__label {
  display: block;
  margin-block-end: 0.4rem;
  font-size: var(--text-16);
  font-weight: var(--weight-bold);
  line-height: 1.2;
}

.filter__submit {
  flex-shrink: 0;
  font-size: var(--text-18);
  margin-inline-start: var(--filter-gutter);
  padding-inline: 2.4rem;
}
@media screen and (max-width: 1300px) {
  .filter__submit {
    grid-column: 1/-1;
    margin-inline-start: 0;
  }
}

.filter:has(> .filter__active:not([hidden])) .filter__fields {
  border-end-start-radius: 0;
  border-end-end-radius: 0;
}

.filter__active {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.2rem 1.6rem;
  padding: 1.6rem 2.4rem;
  border-block-start: 1px solid var(--block-rule, rgba(6, 46, 50, 0.1));
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  background-color: var(--white);
}

.filter__active[hidden] {
  display: none;
}

.filter__active-label {
  flex-shrink: 0;
  font-family: var(--font-regular);
  font-size: var(--text-14);
  font-weight: var(--weight-bold);
  line-height: 1;
  text-transform: uppercase;
}

.filter__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.filter__chip-item {
  margin: 0;
}

.filter__chip {
  --badge-outline: var(--slate);
  gap: 0.6rem;
  padding: 0.8rem 1.6rem;
  color: var(--off-black);
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.filter__chip:hover, .filter__chip:focus-visible {
  --badge-outline-bg: var(--teal-dark);
  color: var(--white);
}

.filter__chip-icon {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}

.filter__clear {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  margin-inline-start: auto;
  color: var(--teal-dark);
  font-size: var(--text-16);
  line-height: 1;
  text-decoration: none;
  transition: color 0.2s ease;
}
.filter__clear:hover, .filter__clear:focus-visible {
  color: var(--teal-darkest);
  text-decoration: underline;
}

.filter__clear-icon {
  width: 1.6rem;
  height: 1.6rem;
  flex-shrink: 0;
}

.filter .pseudo-select {
  contain: inline-size;
}

.filter .pseudo-select__trigger {
  justify-content: flex-start;
  gap: 0.8rem;
  margin-block-end: 0;
  border: 0;
  font-size: var(--text-16);
  font-weight: var(--weight-regular);
}
.filter .pseudo-select__trigger::after {
  width: 10px;
  height: 6px;
}
@media screen and (max-width: 800px) {
  .filter .pseudo-select__trigger {
    justify-content: space-between;
    min-height: 44px;
    padding-inline: 1.2rem;
    border: 1px solid var(--teal-lightest);
    border-radius: var(--field-radius);
  }
}

.filter .pseudo-select__value {
  color: var(--slate);
}

.filter .pseudo-select--filled .pseudo-select__value {
  color: var(--off-black);
}

.filter .pseudo-select__list {
  inset-inline: 0 auto;
  min-width: 100%;
  width: -moz-max-content;
  width: max-content;
  max-width: 28rem;
}

.footer {
  --footer-gap: 3rem;
  --footer-menu-gap: .8rem;
  --footer-rule: black;
  padding-block: 8rem 4rem;
  background-color: var(--white);
  color: var(--teal-darkest);
}
.footer a {
  text-decoration: none;
}
@media screen and (max-width: 800px) {
  .footer {
    padding-block: 5rem 3rem;
  }
}

.footer__container {
  --max-width: var(--max-width-wide);
  display: flex;
  flex-direction: column;
  gap: 3.4rem;
}
@media screen and (max-width: 800px) {
  .footer__container {
    gap: 4rem;
  }
}

.footer__main {
  display: grid;
  grid-template-columns: minmax(0, 27fr) minmax(0, 34fr) minmax(0, 44fr) minmax(0, 27fr);
  gap: var(--footer-gap);
}
@media screen and (max-width: 1100px) {
  .footer__main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 500px) {
  .footer__main {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    text-align: center;
  }
}

.footer__logo {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
.footer__logo img {
  width: auto;
  height: 16rem;
}
@media screen and (max-width: 800px) {
  .footer__logo img {
    height: 12rem;
  }
}

.footer__column {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 500px) {
  .footer__column {
    align-items: center;
    gap: 1.5rem;
  }
}

.footer__heading {
  margin: 0;
  font-size: var(--text-20);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  line-height: 1.2;
}

.footer__menu {
  display: flex;
  flex-direction: column;
  gap: var(--footer-menu-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 800px) {
  .footer__menu {
    gap: 2rem;
  }
}
.footer__menu .menu-item {
  margin: 0;
  line-height: 1;
}
.footer__menu a {
  display: inline-block;
  color: var(--teal-dark);
  font-family: var(--font-regular);
  font-weight: var(--weight-semibold);
  font-size: var(--text-16);
  line-height: 1;
  transition: color 0.2s ease;
}
@media screen and (max-width: 800px) {
  .footer__menu a {
    font-size: var(--text-19);
  }
}
.footer__menu a:hover,
.footer__menu a:focus-visible {
  color: var(--teal-darkest);
}

.footer__social {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer__social[hidden] {
  display: none;
}
@media screen and (max-width: 500px) {
  .footer__social {
    justify-content: center;
    gap: 3rem;
  }
}

.footer__social-item {
  margin: 0;
}

.footer__social-link {
  display: block;
  transition: opacity 0.2s ease;
}
.footer__social-link:hover, .footer__social-link:focus-visible {
  opacity: 0.7;
}

.footer__social-icon {
  width: auto;
  height: 32px;
}

.footer__subscribe {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.8rem 3rem;
  border-radius: var(--radius);
  background-color: var(--teal-darkest);
  color: var(--mint);
  font-family: var(--font-regular);
  font-weight: var(--weight-bold);
  font-size: var(--text-16);
  text-transform: uppercase;
  line-height: 1;
  text-align: center;
  transition: background-color 0.25s ease;
}
.footer__subscribe:hover, .footer__subscribe:focus-visible {
  background-color: var(--teal-dark);
  color: var(--white);
}
@media screen and (max-width: 500px) {
  .footer__subscribe {
    width: 34rem;
    max-width: 100%;
    margin-block-start: 1rem;
    font-size: var(--text-25);
  }
}

.footer__legal {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--footer-gap);
  padding-block-start: 3.6rem;
  border-block-start: 1px solid var(--footer-rule);
  color: var(--slate);
  font-size: var(--text-12);
  line-height: 1.5;
}
@media screen and (max-width: 960px) {
  .footer__legal {
    flex-direction: column;
    gap: 2rem;
  }
}
@media screen and (max-width: 500px) {
  .footer__legal {
    align-items: center;
    padding-block-start: 2rem;
    text-align: center;
  }
}

.footer__disclaimer {
  max-width: 84rem;
  margin: 0;
  line-height: inherit;
}

.footer__legal-links {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  flex-wrap: wrap;
  flex-shrink: 0;
}
@media screen and (max-width: 500px) {
  .footer__legal-links {
    flex-direction: column;
  }
}

.footer__copyright {
  margin: 0;
  line-height: inherit;
}

.footer__legal-menu {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer__legal-menu .menu-item {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin: 0;
}
.footer__legal-menu .menu-item::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: var(--marker-size);
  height: var(--marker-size);
  background-color: var(--marker-color);
}
@media screen and (max-width: 500px) {
  .footer__legal-menu .menu-item:first-child::before {
    display: none;
  }
}
.footer__legal-menu a {
  font-family: var(--font-regular);
  font-weight: var(--weight-bold);
  color: var(--teal-dark);
  transition: color 0.2s ease;
}
.footer__legal-menu a:hover,
.footer__legal-menu a:focus-visible {
  color: var(--teal-darkest);
}

.floating-actions {
  position: fixed;
  right: 10rem;
  bottom: 15rem;
  z-index: 998;
  display: flex;
  height: 364px;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 1.6rem;
}
@media screen and (max-width: 800px) {
  .floating-actions {
    right: 2rem;
    bottom: 2rem;
  }
}

.floating-actions__button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.floating-actions__button:hover, .floating-actions__button:focus-visible {
  opacity: 0.85;
  transform: translateY(-0.2rem);
}

.floating-actions__icon {
  display: block;
  width: 4.8rem;
  height: 4.8rem;
}

.back-to-top {
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
}

.back-to-top--hidden {
  opacity: 0;
  visibility: hidden;
  transform: translateY(1rem);
  pointer-events: none;
}

.footer-separator {
  --separator-wash: 88%;
  position: relative;
  isolation: isolate;
  padding-block: 6rem;
  background-color: var(--teal-dark);
  color: var(--white);
  text-align: center;
}
.footer-separator::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: var(--teal-darkest);
  opacity: var(--separator-wash);
}
@media screen and (max-width: 800px) {
  .footer-separator {
    padding-block: 4rem;
  }
}

.footer-separator__container {
  padding-block: 10rem;
}

.footer-separator::before,
.footer-separator__seam {
  content: "";
  position: absolute;
  inset-inline: -1px;
  z-index: 1;
  height: calc(var(--radius-xxl) + 1px);
  pointer-events: none;
}

.footer-separator::before {
  inset-block-start: -1px;
  border-end-start-radius: var(--radius-xxl);
  border-end-end-radius: var(--radius-xxl);
  background-color: var(--page-surface);
}

body:has(.flexible-layout-wrapper) {
  --page-surface: var(--white);
}

.footer-separator__seam {
  inset-block-end: -1px;
  border-start-start-radius: var(--radius-xxl);
  border-start-end-radius: var(--radius-xxl);
  background-color: var(--off-white);
}

.footer-separator--after-light::before {
  background-color: var(--off-white);
}

.city-edmonton .footer-separator--after-light::before {
  background-color: var(--teal-tint);
}

.footer-separator--after-dark::before {
  background-color: var(--teal-darkest);
}

.footer-separator__background {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.footer-separator__heading {
  font-family: var(--font-cursive);
  font-size: var(--text-64);
  font-weight: var(--weight-bold);
  line-height: 1.25;
}
.footer-separator__heading p {
  margin: 0;
  line-height: inherit;
}

.footer-inquiries {
  --inquiries-gap: 8rem;
  position: relative;
  isolation: isolate;
  padding-block: 7rem;
  background-color: var(--off-white);
  color: var(--teal-darkest);
}
@media screen and (max-width: 1100px) {
  .footer-inquiries {
    --inquiries-gap: 4rem;
    padding-block: 5rem;
  }
}
@media screen and (max-width: 1100px) {
  .footer-inquiries {
    display: flex;
    flex-direction: column;
    gap: var(--inquiries-gap);
    margin-block-start: -2rem;
    padding-block-start: 0;
  }
}

.footer-inquiries__media {
  --map-height: 898px;
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
}
.footer-inquiries__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, var(--off-white) 0%, var(--off-white) 50%, color-mix(in srgb, var(--off-white) 0%, transparent) 78%);
}
@media screen and (max-width: 1100px) {
  .footer-inquiries__media {
    position: relative;
    order: 1;
    z-index: auto;
    height: 280px;
    margin-inline: var(--padding-inline);
    border: 1px solid var(--white);
    border-radius: var(--radius-24);
  }
  .footer-inquiries__media::after {
    content: none;
  }
}

.footer-inquiries__map {
  position: absolute;
  inset-block-end: 0;
  inset-inline: 0;
  height: var(--map-height);
}
@media screen and (max-width: 1100px) {
  .footer-inquiries__map {
    inset: 0;
    height: auto;
  }
}

.footer-inquiries__map[hidden] {
  display: none;
}

.footer-inquiries__background {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.footer-inquiries__frame {
  position: absolute;
  inset-block-start: -60px;
  inset-inline-start: -160px;
  display: block;
  width: calc(100% + 200px);
  height: calc(100% + 200px);
  border: 0;
  pointer-events: none;
}
@media screen and (max-width: 1100px) {
  .footer-inquiries__frame {
    inset-block-start: -455px;
    inset-inline-start: -16px;
    width: calc(100% + 600px);
    max-width: none;
    height: calc(100% + 600px);
    pointer-events: auto;
  }
}

.footer-inquiries__pin {
  position: absolute;
  inset-block-start: 79%;
  inset-inline-start: 37.5%;
  width: 10.1rem;
  height: auto;
  translate: -50% -100%;
}
@media screen and (max-width: 1100px) {
  .footer-inquiries__pin {
    display: none;
  }
}

.footer-inquiries__container {
  --max-width: var(--max-width-wide);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: var(--inquiries-gap);
}
@media screen and (max-width: 800px) {
  .footer-inquiries__container {
    grid-template-columns: minmax(0, 1fr);
  }
}

.footer-inquiries__details {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  max-width: 44rem;
}

@media screen and (max-width: 800px) {
  .footer-inquiries:not(.footer-inquiries--community) .footer-inquiries__details {
    align-items: center;
    max-width: none;
    text-align: center;
  }
  .footer-inquiries:not(.footer-inquiries--community) .footer-inquiries__line {
    justify-content: center;
  }
}

.footer-inquiries__office {
  display: contents;
}
.footer-inquiries__office[hidden] {
  display: none;
}

.footer-inquiries__title {
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  margin: 0 0 1rem;
  font-size: var(--text-64);
  font-weight: var(--weight-semibold);
  line-height: 1;
  text-wrap: nowrap;
}
@media screen and (max-width: 1100px) {
  .footer-inquiries__title {
    width: auto;
    text-wrap: wrap;
  }
}
@media screen and (max-width: 800px) {
  .footer-inquiries__title {
    margin: 0;
    color: var(--slate);
  }
}
.footer-inquiries__title em {
  color: var(--teal-dark);
  font-family: var(--font-cursive);
  font-weight: var(--weight-regular);
  font-style: italic;
}

.footer-inquiries__block {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.footer-inquiries__line {
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
  margin: 0;
  font-size: var(--text-18);
  line-height: 1.5;
}

.footer-inquiries__label {
  margin: 0;
  font-family: var(--font-regular);
  font-size: var(--text-18);
  font-weight: var(--weight-bold);
  line-height: 1.5;
}

.footer-inquiries__prefix {
  flex-shrink: 0;
}

.footer-inquiries__link {
  color: var(--teal-dark);
  font-family: var(--font-regular);
  font-size: var(--text-18);
  font-weight: var(--weight-bold);
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  transition: color 0.2s ease;
}
.footer-inquiries__link:hover, .footer-inquiries__link:focus-visible {
  color: var(--teal-darkest);
}

.footer-inquiries__form {
  width: 100%;
}

.footer-inquiries__link-icon {
  width: 1.4rem;
  height: 1.4rem;
  flex-shrink: 0;
}

.footer-inquiries--community .footer-inquiries__container {
  grid-template-areas: "title ." "details form";
  -moz-column-gap: 3.2rem;
       column-gap: 3.2rem;
  row-gap: 2rem;
}
@media screen and (max-width: 1100px) {
  .footer-inquiries--community .footer-inquiries__container {
    grid-template-areas: "title" "details" "form";
    row-gap: var(--inquiries-gap);
  }
}
.footer-inquiries--community .footer-inquiries__title {
  grid-area: title;
  margin: 0;
}
.footer-inquiries--community .footer-inquiries__details {
  grid-area: details;
  max-width: none;
}
.footer-inquiries--community .footer-inquiries__form {
  grid-area: form;
}
.footer-inquiries--community .footer-inquiries__label {
  font-size: var(--text-20);
  text-transform: uppercase;
}
.footer-inquiries--community .footer-inquiries__link {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: var(--text-16);
  font-weight: var(--weight-semibold);
}

.footer-inquiries__team {
  display: flex;
  flex-direction: column;
  gap: 2.8rem;
}
@media screen and (max-width: 800px) {
  .footer-inquiries__team {
    gap: 5rem;
  }
}
.footer-inquiries__team .contact-person {
  --contact-person-gap: 3.2rem;
}
@media screen and (max-width: 800px) {
  .footer-inquiries__team .contact-person {
    --contact-person-gap: 0rem;
    flex-direction: column;
    padding: 2.4rem 2.4rem 3.2rem;
    border: 2px solid var(--slate-light);
    border-radius: var(--radius-lg);
    text-align: center;
  }
}
@media screen and (max-width: 800px) {
  .footer-inquiries__team .contact-person__avatar {
    width: 150px;
  }
  .footer-inquiries__team .contact-person__tag .badge {
    padding: 0.9rem 1.6rem;
    font-size: var(--text-18);
  }
  .footer-inquiries__team .contact-person__body {
    flex: none;
    width: 100%;
    align-items: center;
  }
  .footer-inquiries__team .contact-person__name {
    font-size: var(--text-25);
  }
  .footer-inquiries__team .contact-person__role {
    font-size: var(--text-18);
  }
  .footer-inquiries__team .contact-person__tags,
  .footer-inquiries__team .contact-person__contact {
    justify-content: center;
  }
  .footer-inquiries__team .contact-person__contact {
    font-size: var(--text-18);
  }
  .footer-inquiries__team .contact-person__contact--email {
    font-size: var(--text-15);
  }
  .footer-inquiries__team .contact-person__link {
    text-decoration: none;
  }
}

.footer-inquiries__visit {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2.4rem;
  padding-block-start: 2.8rem;
  border-block-start: 1px solid var(--slate-light);
}
@media screen and (max-width: 500px) {
  .footer-inquiries__visit {
    grid-template-columns: minmax(0, 1fr);
  }
}

.footer-inquiries__hours {
  display: grid;
  grid-template-columns: max-content max-content;
  -moz-column-gap: 1.2rem;
       column-gap: 1.2rem;
  margin: 0;
  font-size: var(--text-16);
  line-height: 1.75;
}

.footer-inquiries__hours-row {
  display: contents;
}

.footer-inquiries__hours-row--closed {
  color: var(--error);
}

.footer-inquiries__hours-time {
  margin: 0;
}
.footer-inquiries__hours-time::before {
  content: "|";
  margin-inline-end: 0.8rem;
}

.footer-inquiries__locations {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

form input,
form textarea,
form select {
  display: block;
  padding: 1.5rem 1.8rem;
  width: 100%;
  font-family: var(--font-regular);
  font-size: var(--text-14);
  color: var(--teal-darkest);
  margin-block-end: 1.6rem;
  border: 1px solid var(--block-rule, rgba(6, 46, 50, 0.1));
  border-radius: var(--radius);
  background-color: var(--white);
  transition: border-color 0.2s ease;
}
form input::-moz-placeholder, form textarea::-moz-placeholder, form select::-moz-placeholder {
  -moz-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  font-size: inherit;
}
form input::placeholder,
form textarea::placeholder,
form select::placeholder {
  transition: opacity 0.3s ease;
  font-size: inherit;
}
form input:focus,
form textarea:focus,
form select:focus {
  outline: none;
  border-color: var(--block-accent, var(--teal-dark));
}
form input:focus::-moz-placeholder, form textarea:focus::-moz-placeholder, form select:focus::-moz-placeholder {
  opacity: 0;
}
form input:focus::placeholder,
form textarea:focus::placeholder,
form select:focus::placeholder {
  opacity: 0;
}
form textarea {
  resize: none;
  min-height: 14rem;
}
form label {
  font-size: inherit;
  font-family: var(--font-regular);
}
form input[type=checkbox] {
  display: inline;
  width: auto;
}

.asterisk {
  color: red;
}

/* Visually hide the labels */
.forminator-label {
  clip-path: inset(100%);
  clip: rect(1px 1px 1px 1px); /* IE 6/7 */
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap; /* added line */
  width: 1px;
}

.forminator-grouped-fields {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 1.5rem;
}
@media screen and (max-width: 800px) {
  .forminator-grouped-fields {
    grid-template-columns: 1fr;
    grid-gap: 0;
  }
}

.forminator-row,
.forminator-col {
  margin: 0 !important;
  padding: 0 !important;
}

.forminator-error-message {
  display: block;
  color: #f94e5f;
  font-size: 70%;
  margin-block-end: 1rem;
}

@media all and (max-width: 800px) {
  .forminator-2-col .forminator-grouped-fields {
    grid-template-columns: 1fr;
  }
}
.forminator-ui.forminator-custom-form {
  --field-bg: var(--white);
  --field-color: var(--teal-darkest);
  --field-border: transparent;
  --field-radius: var(--radius);
  --field-padding-block: 1.6rem;
  --field-padding-inline: 2.4rem;
  --field-gap: 0;
  --field-required: var(--error);
  display: grid;
  gap: var(--field-gap);
}
.forminator-ui.forminator-custom-form[style] {
  display: grid !important;
}

.forminator-ui.forminator-custom-form .forminator-row,
.forminator-ui.forminator-custom-form .forminator-col,
.forminator-ui.forminator-custom-form .forminator-field {
  margin: 0;
  padding: 0;
}
.forminator-ui.forminator-custom-form .forminator-row {
  display: grid;
  gap: var(--field-gap);
}

.forminator-ui.forminator-custom-form .forminator-field {
  position: relative;
}

.pseudo-select__trigger, .forminator-ui.forminator-custom-form .forminator-input,
.forminator-ui.forminator-custom-form .forminator-textarea,
.forminator-ui.forminator-custom-form .forminator-select--field {
  display: block;
  width: 100%;
  padding: var(--field-padding-block) var(--field-padding-inline);
  border: 1px solid var(--field-border);
  border-radius: var(--field-radius);
  background-color: var(--field-bg);
  color: var(--field-color);
  font-family: var(--font-regular);
  font-size: var(--text-18);
  line-height: 1.2;
  transition: border-color 0.2s ease;
}
.pseudo-select__trigger::-moz-placeholder, .forminator-ui.forminator-custom-form .forminator-input::-moz-placeholder, .forminator-ui.forminator-custom-form .forminator-textarea::-moz-placeholder, .forminator-ui.forminator-custom-form .forminator-select--field::-moz-placeholder {
  color: transparent;
}
.pseudo-select__trigger::placeholder, .forminator-ui.forminator-custom-form .forminator-input::placeholder,
.forminator-ui.forminator-custom-form .forminator-textarea::placeholder,
.forminator-ui.forminator-custom-form .forminator-select--field::placeholder {
  color: transparent;
}
.pseudo-select__trigger:focus, .forminator-ui.forminator-custom-form .forminator-input:focus,
.forminator-ui.forminator-custom-form .forminator-textarea:focus,
.forminator-ui.forminator-custom-form .forminator-select--field:focus, .pseudo-select__trigger:focus-visible, .forminator-ui.forminator-custom-form .forminator-input:focus-visible,
.forminator-ui.forminator-custom-form .forminator-textarea:focus-visible,
.forminator-ui.forminator-custom-form .forminator-select--field:focus-visible {
  outline: none;
  border-color: var(--teal-dark);
}

.forminator-ui.forminator-custom-form .forminator-textarea {
  height: 11rem;
  resize: vertical;
}

.forminator-ui.forminator-custom-form .forminator-label {
  position: absolute;
  inset-block-start: var(--field-padding-block);
  inset-inline-start: var(--field-padding-inline);
  z-index: 1;
  clip-path: none;
  clip: auto;
  width: auto;
  height: auto;
  overflow: visible;
  margin: 0;
  color: var(--field-color);
  font-family: var(--font-regular);
  font-size: var(--text-18);
  font-weight: var(--weight-regular);
  line-height: 1.2;
  white-space: nowrap;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
.forminator-ui.forminator-custom-form .forminator-label .forminator-required {
  color: var(--field-required);
}

.forminator-ui.forminator-custom-form .forminator-field:has(.forminator-input:not(:-moz-placeholder-shown)) .forminator-label, .forminator-ui.forminator-custom-form .forminator-field:has(.forminator-textarea:not(:-moz-placeholder-shown)) .forminator-label {
  opacity: 0;
}

.forminator-ui.forminator-custom-form .forminator-field:focus-within .forminator-label, .forminator-ui.forminator-custom-form .forminator-field:has(.forminator-input:not(:placeholder-shown)) .forminator-label, .forminator-ui.forminator-custom-form .forminator-field:has(.forminator-textarea:not(:placeholder-shown)) .forminator-label, .forminator-ui.forminator-custom-form .forminator-field:has(.pseudo-select--filled) .forminator-label {
  opacity: 0;
}

.forminator-ui.forminator-custom-form .forminator-select--field {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-inline-end: 5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23062e32' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--field-padding-inline) center;
  background-size: 1.8rem;
  cursor: pointer;
}

.forminator-ui.forminator-custom-form .forminator-row-last .forminator-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.forminator-ui.forminator-custom-form .forminator-button-submit {
  width: auto;
  min-height: 0;
  text-transform: uppercase;
}

.forminator-ui.forminator-custom-form .forminator-error-message {
  display: none;
  margin-block-start: 0.6rem;
  color: var(--error);
  font-size: var(--text-14);
  line-height: 1.4;
}
.forminator-ui.forminator-custom-form .forminator-has_error .forminator-input,
.forminator-ui.forminator-custom-form .forminator-has_error .forminator-textarea,
.forminator-ui.forminator-custom-form .forminator-has_error .forminator-select--field,
.forminator-ui.forminator-custom-form .forminator-has_error .pseudo-select__trigger {
  border-color: var(--error);
}
.forminator-ui.forminator-custom-form .forminator-response-message {
  margin: 0;
  padding: 1.6rem 2rem;
  border-radius: var(--field-radius);
  background-color: var(--white);
  font-size: var(--text-16);
  line-height: 1.5;
}
.forminator-ui.forminator-custom-form .forminator-response-message[aria-hidden=true] {
  display: none;
}
.forminator-ui.forminator-custom-form .forminator-error {
  color: var(--error);
}
.forminator-ui.forminator-custom-form .forminator-success {
  color: var(--teal-dark);
}

.floor-plan-download__form .forminator-ui.forminator-custom-form .forminator-row:has(.forminator-note) .forminator-col::before, .footer-inquiries__form .forminator-ui.forminator-custom-form .forminator-row-last .forminator-col::before {
  content: "* Required fields need to be filled out to your message be sent.";
  display: block;
  margin-block-end: 1.6rem;
  color: var(--field-color);
  font-size: var(--text-14);
  line-height: 1.4;
}

@media screen and (max-width: 800px) {
  .footer-inquiries__form .forminator-ui.forminator-custom-form .forminator-row-last .forminator-col {
    align-items: center;
    text-align: center;
  }
  .footer-inquiries__form .forminator-ui.forminator-custom-form .forminator-button-submit {
    --button-color: var(--mint);
    padding: 1.9rem 2.1rem;
    border-radius: var(--radius-sm);
  }
}

.floor-plan-download__form .forminator-ui.forminator-custom-form .forminator-row:has(.forminator-note) .forminator-col::before {
  margin-block-end: 1.2rem;
  font-size: var(--text-10);
  color: var(--off-black);
}

.pseudo-select {
  position: relative;
  width: 100%;
}

.pseudo-select__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  width: 100%;
  margin-block-end: 1.6rem;
  text-align: start;
  cursor: pointer;
}
.pseudo-select__trigger::after {
  content: "";
  flex-shrink: 0;
  width: 1rem;
  height: 0.6rem;
  background-color: currentcolor;
  transition: rotate 0.2s ease;
  -webkit-mask: url("../../images/select-arrow.svg") no-repeat center/contain;
          mask: url("../../images/select-arrow.svg") no-repeat center/contain;
}

.pseudo-select--open .pseudo-select__trigger::after {
  rotate: 180deg;
}

.pseudo-select__value {
  min-height: 1lh;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.pseudo-select__list {
  position: absolute;
  inset-inline: 0;
  inset-block-start: calc(100% + 0.6rem);
  z-index: 10;
  max-height: 24rem;
  overflow-y: auto;
  margin: 0;
  padding: 0.6rem;
  border-radius: var(--field-radius);
  background-color: var(--white);
  box-shadow: 0 1.2rem 3.2rem rgba(6, 46, 50, 0.15);
  list-style: none;
}

.pseudo-select__option {
  margin: 0;
  padding: 1.2rem 1.6rem;
  border-radius: var(--radius-sm);
  color: var(--field-color);
  font-family: var(--font-regular);
  font-size: var(--text-16);
  line-height: 1.3;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.pseudo-select__option--active {
  background-color: var(--teal-lightest);
}

.pseudo-select__option--selected {
  background-color: var(--teal-dark);
  color: var(--white);
}

.pseudo-select__option--placeholder {
  display: none;
}

.pseudo-select__native {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip-path: inset(100%);
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
}

.pill-nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pill-nav__item {
  margin: 0;
}

.pill-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1.4rem 2.4rem;
  border: 2px solid var(--teal-darkest);
  border-radius: var(--radius-pill);
  background-color: var(--white);
  color: var(--teal-darkest);
  font-family: var(--font-regular);
  font-size: var(--text-16);
  font-weight: var(--weight-bold);
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.pill-nav__link:hover, .pill-nav__link:focus-visible {
  background-color: var(--teal-darkest);
  color: var(--mint);
}
@media screen and (max-width: 500px) {
  .pill-nav__link {
    padding: 1.2rem 1.8rem;
    white-space: normal;
  }
}

.pill-nav__link--active,
.pill-nav__link--active:hover {
  background-color: var(--teal-darkest);
  color: var(--mint);
  cursor: default;
}

.pill-nav__link--selected,
.pill-nav__link--selected:hover {
  border-color: var(--mint);
  background-color: var(--mint);
  color: var(--teal-darkest);
  cursor: pointer;
}

.pill-nav__remove {
  width: 1.2rem;
  height: 1.2rem;
  flex-shrink: 0;
  -o-object-fit: contain;
     object-fit: contain;
}

.sort-select {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin: 0;
}

.sort-select__label {
  flex-shrink: 0;
  color: var(--slate);
  font-family: var(--font-regular);
  font-size: var(--text-16);
  font-weight: var(--weight-bold);
  line-height: 1;
  white-space: nowrap;
}

.sort-select .pseudo-select {
  min-width: 22rem;
  width: -moz-fit-content;
  width: fit-content;
}

.sort-select .pseudo-select__trigger {
  padding: 1.6rem;
  border: 2px solid var(--off-black);
  border-radius: var(--radius);
  color: var(--off-black);
  font-family: var(--font-regular);
  font-size: var(--text-14);
  font-weight: var(--weight-bold);
  margin-block-end: 0;
}

.plan-grid__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-block: 3rem 2.4rem;
}
@media screen and (max-width: 500px) {
  .plan-grid__bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
  }
}

.plan-grid__count {
  margin: 0;
  color: var(--slate);
  font-size: var(--text-16);
  line-height: 1;
}
.plan-grid__count strong {
  font-family: var(--font-regular);
  font-weight: var(--weight-bold);
}

.plan-grid__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 960px) {
  .plan-grid__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 800px) {
  .plan-grid__list {
    grid-template-columns: minmax(0, 1fr);
  }
}

.plan-grid__item {
  margin: 0;
  display: flex;
}
.plan-grid__item .plan-card {
  width: 100%;
}

@media screen and (max-width: 800px) {
  .plan-grid--run-mobile .plan-grid__list {
    display: flex;
    gap: 1.6rem;
    margin-block: 0;
    padding-block: 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    list-style: none;
    margin-inline: calc(((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline)) * -1);
    padding-inline: calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline));
    scroll-padding-inline: calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline));
  }
  .plan-grid--run-mobile .plan-grid__item {
    display: flex;
    flex: 0 0 95%;
    margin: 0;
    scroll-snap-align: start;
  }
}

.plan-grid__more {
  margin: 4rem 0 0;
  text-align: center;
}

.no-results {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
  padding-block: 8rem 0;
  text-align: center;
}

.no-results__image {
  width: 38rem;
  max-width: 100%;
  height: auto;
}

.no-results__title {
  margin: 0;
  color: var(--slate);
  font-size: var(--text-48);
  font-weight: var(--weight-semibold);
  line-height: 1.1;
}
.no-results__title .cursive {
  color: var(--teal-dark);
}

.no-results__text {
  margin: 0;
  color: var(--off-black);
  font-size: var(--text-16);
  font-weight: var(--weight-semibold);
}

.no-results__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.6rem 3.2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.no-results__action {
  margin: 0;
}

.no-results__button.button--dark {
  --button-color: var(--mint);
}

.no-results__button.button--secondary:not(:hover, :focus-visible) {
  --button-background: transparent;
}

.gm-style .gm-style-iw-chr {
  display: none;
}

.gm-style .gm-style-iw-c {
  max-width: 30rem !important;
  padding: 1.2rem 1.6rem !important;
  border-radius: var(--radius);
  box-shadow: 0 0.6rem 2rem rgba(6, 46, 50, 0.18);
}

.gm-style .gm-style-iw-d {
  max-width: none !important;
  max-height: none !important;
  overflow: visible !important;
}

.map-embed {
  border: 1px solid rgba(6, 46, 50, 0.12);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background-color: var(--off-white);
  height: 80rem;
}
@media screen and (max-width: 800px) {
  .map-embed {
    height: 60rem;
  }
}

.map-embed__frame {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.map-embed[hidden] {
  display: none;
}

.amenities-future {
  border: 1px solid rgba(6, 46, 50, 0.12);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background-color: var(--off-white);
}

.amenities-future[hidden] {
  display: none;
}

.amenities-future__image {
  display: block;
  width: 100%;
  height: auto;
}

.lot-map__plan {
  border: 1px solid rgba(6, 46, 50, 0.12);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background-color: var(--off-white);
  height: 80rem;
  position: relative;
  display: grid;
  overflow: auto;
  cursor: grab;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  scrollbar-width: none;
}
@media screen and (max-width: 800px) {
  .lot-map__plan {
    height: 60rem;
  }
}
.lot-map__plan::-webkit-scrollbar {
  display: none;
}
.lot-map__plan.is-dragging {
  cursor: grabbing;
}

.lot-map__scene {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}

.lot-map__image {
  min-height: calc(80rem - 2px);
  display: block;
  width: auto;
  max-width: none;
  height: auto;
  pointer-events: none;
  -webkit-user-drag: none;
}
@media screen and (max-width: 800px) {
  .lot-map__image {
    min-height: calc(60rem - 2px);
  }
}

.lot-map__layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.lot-map__lot {
  --lot-fill: var(--slate);
  fill: var(--lot-fill);
  fill-opacity: 0.6;
  stroke: var(--white);
  stroke-width: 2;
  pointer-events: auto;
  cursor: pointer;
  transition: fill-opacity 0.15s ease;
}
.lot-map__lot > * {
  vector-effect: non-scaling-stroke;
}
.lot-map__lot:hover, .lot-map__lot:focus-visible, .lot-map__lot.is-open {
  fill-opacity: 0.9;
}
.lot-map__lot:focus-visible {
  stroke: var(--teal-darkest);
}

.lot-map__popup {
  position: absolute;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
  min-width: 22rem;
  max-width: 32rem;
  padding: 1.6rem 3.2rem 1.6rem 1.6rem;
  border-radius: var(--radius);
  background-color: var(--white);
  box-shadow: 0 0.6rem 2rem rgba(6, 46, 50, 0.18);
  color: var(--teal-darkest);
  transform: translate(-50%, 1.2rem);
}

.lot-map__popup--above {
  transform: translate(-50%, calc(-100% - 1.2rem));
}

.lot-map__popup[hidden] {
  display: none;
}

.lot-map__popup-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 20rem;
  -o-object-fit: contain;
     object-fit: contain;
  margin-block-end: 0.4rem;
  border-radius: var(--radius-sm);
  background-color: var(--off-white);
}

.lot-map__popup-image[hidden] {
  display: none;
}

.lot-map__popup-title {
  margin: 0;
  font-size: var(--text-20);
  font-weight: var(--weight-bold);
  line-height: 1.2;
}

.lot-map__status {
  --badge-outline: var(--lot-fill);
}

.lot-map__popup-note {
  margin: 0;
  color: var(--slate);
  font-size: var(--text-16);
  line-height: 1.4;
}

.lot-map__popup-price {
  margin: 0;
  color: var(--teal-dark);
  font-family: var(--font-cursive);
  font-size: var(--text-24);
  font-style: italic;
  line-height: 1.2;
}

.lot-map__popup-cta {
  align-self: stretch;
  margin-block-start: 0.4rem;
}

.lot-map__popup-cta[hidden] {
  display: none;
}

.lot-map__close {
  position: absolute;
  width: 2.4rem;
  height: 2.4rem;
  padding: 0;
  border: 0;
  background-color: transparent;
  color: var(--teal-dark);
  cursor: pointer;
  opacity: 1;
  transition: opacity 0.2s ease, color 0.2s ease;
  inset-block-start: 0.6rem;
  inset-inline-end: 0.6rem;
}
.lot-map__close::before, .lot-map__close::after {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 25%;
  width: 50%;
  height: 2px;
  background-color: currentcolor;
}
.lot-map__close::before {
  rotate: 45deg;
}
.lot-map__close::after {
  rotate: -45deg;
}
.lot-map__close:hover {
  opacity: 1;
}

.lot-map__legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.4rem 8rem;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 3.2rem;
  padding: 2.4rem 4rem;
  border-radius: var(--radius-lg);
  background-color: var(--white);
  box-shadow: var(--block-shadow, 4px 4px 40px rgba(14, 92, 103, 0.1));
}

.lot-map__legend-title {
  margin: 0 0 1.2rem;
  color: var(--teal-darkest);
  font-size: var(--text-14);
  font-weight: var(--weight-bold);
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}

.lot-map__legend-list {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 0.8rem 2.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.lot-map__legend-item {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin: 0;
  font-size: var(--text-14);
  line-height: 1.2;
}
.lot-map__legend-item::before {
  content: "";
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0.3rem;
  background-color: var(--lot-fill);
}

[data-protect-images] img {
  -webkit-touch-callout: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

[data-protect-images=off] img {
  -webkit-touch-callout: default;
  -webkit-user-drag: auto;
  -webkit-user-select: auto;
     -moz-user-select: auto;
          user-select: auto;
}

.flexible-section.home-model__location {
  padding-block-end: 4rem;
}

.home-model__eyebrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem;
  margin: 0 0 1.6rem;
  color: var(--slate);
  font-family: var(--font-regular);
  font-size: var(--text-14);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  line-height: 1;
}

.home-model__community {
  color: var(--teal-dark);
  text-decoration: none;
  transition: color 0.2s ease;
}
.home-model__community:hover, .home-model__community:focus-visible {
  color: var(--teal-darkest);
}

.home-model__exterior {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-lg);
}

.home-model__highlight {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 2.4rem 0 0;
  color: var(--teal-dark);
  font-family: var(--font-cursive);
  font-size: var(--text-20);
  font-style: italic;
  line-height: 1.3;
}

.home-model__highlight-icon {
  flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
}

.home-model__site {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem 6rem;
  margin: 0;
}

.home-model__site-item {
  margin: 0;
}

.home-model__site-label {
  margin: 0 0 0.6rem;
  color: var(--slate);
  font-family: var(--font-regular);
  font-size: var(--text-14);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  line-height: 1;
}

.home-model__site-value {
  margin: 0;
  font-size: var(--text-18);
  line-height: 1.4;
}
.home-model__site-value a {
  color: var(--teal-dark);
}

.home-model__where-title {
  margin: 0 0 2rem;
  font-size: var(--text-32);
  line-height: 1.2;
}

.home-model__where {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-model__where-item {
  margin: 0;
}

.home-model__where-link {
  display: inline-block;
  padding: 1.2rem 2rem;
  border-radius: var(--radius-pill);
  background-color: var(--white);
  color: var(--teal-darkest);
  font-family: var(--font-regular);
  font-size: var(--text-14);
  font-weight: var(--weight-semibold);
  text-decoration: none;
  box-shadow: 0 0.2rem 0.8rem rgba(6, 46, 50, 0.08);
  transition: background-color 0.2s ease, color 0.2s ease;
}
.home-model__where-link:hover, .home-model__where-link:focus-visible {
  background-color: var(--teal-darkest);
  color: var(--white);
}

.home-model__video {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background-color: var(--teal-dark);
  aspect-ratio: 16/9;
}

.home-model__video-cover {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.85;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.home-model__video:hover .home-model__video-cover {
  opacity: 1;
  transform: scale(1.02);
}

.home-model__video-play {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background-color: var(--mint);
  translate: -50% -50%;
  box-shadow: 0 0.8rem 2.4rem rgba(6, 46, 50, 0.3);
}
.home-model__video-play::after {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 55%;
  border-style: solid;
  border-width: 1.4rem 0 1.4rem 2.4rem;
  border-color: transparent transparent transparent var(--teal-darkest);
  translate: -50% -50%;
}

.image-grid {
  --columns: 3;
  display: grid;
  grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
  gap: 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 800px) {
  .image-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 500px) {
  .image-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media screen and (max-width: 800px) {
  .image-grid--run-mobile {
    display: flex;
    gap: 1.6rem;
    margin-block: 0;
    padding-block: 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    list-style: none;
    margin-inline: calc(((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline)) * -1);
    padding-inline: calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline));
    scroll-padding-inline: calc((100vw - min(100vw, var(--max-width))) / 2 + var(--padding-inline));
  }
  .image-grid--run-mobile .image-grid__item {
    display: flex;
    flex: 0 0 95%;
    margin: 0;
    scroll-snap-align: start;
  }
  .image-grid--run-mobile .image-grid__figure {
    width: 100%;
  }
}

.image-grid__item {
  margin: 0;
}

.image-grid__figure {
  margin: 0;
}

.image-grid__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius);
}

.image-grid--cover .image-grid__image {
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
}

.image-grid__open {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: var(--radius);
  background: none;
  cursor: zoom-in;
  transition: opacity 0.2s ease;
}
.image-grid__open:hover {
  opacity: 0.85;
}
.image-grid__open:focus-visible {
  outline: 2px solid var(--teal-dark);
  outline-offset: 3px;
}

.image-grid__caption {
  margin: 1rem 0 0;
  color: var(--slate);
  font-size: var(--text-14);
  text-align: center;
}

.header {
  --header-pad: 1.6rem;
  --header-height-mobile: 72px;
  position: fixed;
  top: var(--wp-admin--admin-bar--height, 0px);
  left: 0;
  right: 0;
  background-color: var(--white);
  transition: box-shadow 0.3s ease;
  z-index: 999;
}
.header a {
  text-decoration: none;
}
@media screen and (max-width: 1100px) {
  .header::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 996;
    background-color: var(--white);
  }
}

.admin-bar .header {
  top: var(--wp-admin--admin-bar--height, 0px);
}
.admin-bar .mobile-navigation {
  top: calc(var(--header-height-mobile) + var(--wp-admin--admin-bar--height, 0px));
}

#wpadminbar {
  position: fixed;
}

.header__container {
  --max-width: var(--max-width-wide);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3rem;
  padding-block: var(--header-pad);
  transition: padding-block 0.3s ease;
}
@media screen and (max-width: 1100px) {
  .header__container {
    height: var(--header-height-mobile);
    padding-block: 0;
    padding-inline: 24px;
  }
}

.header__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  position: relative;
  z-index: 999;
  color: var(--teal-darkest);
}
.header__logo img {
  display: block;
  width: auto;
  height: 4.4rem;
  transition: height 0.3s ease;
}
@media screen and (max-width: 1100px) {
  .header__logo img {
    width: 117px;
    height: 40px;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.header__navigation {
  display: flex;
  align-items: center;
  gap: 3.2rem;
}

.header__login {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  flex-shrink: 0;
  padding: 1.3rem 2.2rem;
  border-radius: var(--radius);
  background-color: var(--teal-darkest);
  color: var(--cyan);
  font-family: var(--font-regular);
  font-weight: var(--weight-bold);
  font-size: var(--text-16);
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
  transition: background-color 0.25s ease;
}
.header__login:hover, .header__login:focus-visible {
  background-color: var(--teal-dark);
}
@media screen and (max-width: 1100px) {
  .header__login {
    display: none;
  }
}

.header__login-badge {
  display: block;
  flex-shrink: 0;
  width: auto;
  height: 2.4rem;
}
@media screen and (max-width: 1100px) {
  .header__login-badge {
    height: 3.5rem;
  }
}

.is-header-scrolled .header {
  --header-pad: 0.8rem;
  box-shadow: 0 3px 20px rgba(0, 0, 0, 0.1);
}

.hero {
  padding-block-start: 18rem;
  padding-block-end: 10rem;
  padding-inline: 0;
  background-color: var(--teal-darkest);
  color: var(--white);
}
@media screen and (max-width: 800px) {
  .hero {
    padding-block-start: 12.5rem;
  }
}
@media screen and (max-width: 800px) {
  .hero {
    padding-block-end: 7rem;
  }
}

.hero--content,
.hero--statement,
.hero--slider {
  --hero-min-height: 1080px;
  --hero-scrim: linear-gradient(180deg, rgb(6 46 50 / 55%) 0%, rgb(6 46 50 / 25%) 45%, rgb(6 46 50 / 65%) 100%);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: var(--hero-min-height);
  padding: 14rem 0 10rem;
  overflow: hidden;
  isolation: isolate;
}
@media screen and (max-width: 800px) {
  .hero--content,
  .hero--statement,
  .hero--slider {
    padding: 12rem 0 7rem;
  }
}

.hero__container,
.hero__inner {
  --max-width: var(--max-width-wide);
}

.hero__inner {
  position: relative;
  width: 100%;
}

.hero__title {
  margin: 0;
  max-width: 90rem;
  font-size: var(--text-70);
  line-height: 1.1;
}
.hero__title .cursive {
  color: var(--mint);
}

.hero__content {
  max-width: 68rem;
}

.hero__heading {
  font-size: var(--text-70);
  font-family: var(--font-regular);
  margin: 0;
  font-weight: 500;
  line-height: 1.1;
}
.hero__heading > * {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
}
.hero__heading > * + * {
  margin-block-start: 0.2em;
}
.hero__heading em {
  font-family: var(--font-cursive);
  font-weight: var(--weight-regular);
  color: var(--mint);
}

.hero__subheading {
  margin: 1.6rem 0 0;
  font-family: var(--font-regular);
  font-size: var(--text-64);
  line-height: 1.2;
  font-weight: 600;
}
.hero__subheading .cursive {
  color: var(--mint);
}

.hero__description {
  margin-block-start: 2.4rem;
  font-size: var(--text-16);
  line-height: 1.6;
}
.hero__description p:last-child {
  margin-bottom: 0;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  margin-block-start: 3.2rem;
}

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

.hero__statement {
  max-width: 90rem;
  margin: 0 auto;
  font-family: var(--font-cursive);
  font-size: var(--text-75);
  font-weight: var(--weight-regular);
  font-style: italic;
  line-height: 1.15;
}
.hero__statement > * {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  line-height: inherit;
}
.hero__statement > * + * {
  margin-block-start: 0.2em;
}

.hero--slider {
  --hero-min-height: 78rem;
  justify-content: flex-end;
  padding-block: 0;
}
@media screen and (max-width: 800px) {
  .hero--slider {
    --hero-min-height: 69rem;
  }
}

.hero--gallery {
  --hero-min-height: 108rem;
  --hero-scrim: none;
}
@media screen and (max-width: 1100px) {
  .hero--gallery {
    --hero-min-height: 60rem;
  }
}

.hero-slider {
  position: absolute;
  inset: 0;
  z-index: -1;
}

.hero-slider__slide {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
}

.hero-slider__inner {
  --max-width: var(--max-width-wide);
  position: relative;
  width: 100%;
}

.hero-slider__content {
  max-width: 78rem;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .hero-slider__content {
    max-width: 36rem;
    padding: 3.2rem 2.4rem;
    border-radius: var(--radius-lg);
    background-color: rgba(6, 46, 50, 0.6);
    backdrop-filter: blur(4px);
  }
}

.hero-slider__heading {
  margin: 0;
  font-family: var(--font-cursive);
  font-size: var(--text-95);
  font-weight: var(--weight-regular);
  font-style: italic;
  line-height: 1.1;
}
@media screen and (max-width: 800px) {
  .hero-slider__heading {
    font-size: var(--text-72);
  }
}

.hero-slider__subheading {
  margin: 1.2rem 0 0;
  font-family: var(--font-regular);
  font-size: var(--text-48);
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 800px) {
  .hero-slider__subheading {
    margin-block-start: 0.8rem;
    font-size: var(--text-20);
  }
}

.hero-slider__text {
  margin-block-start: 1.6rem;
  font-size: var(--text-16);
  line-height: 1.5;
}
@media screen and (max-width: 800px) {
  .hero-slider__text {
    margin-block-start: 1.2rem;
    font-size: var(--text-18);
    line-height: 1.3;
  }
}
.hero-slider__text :first-child {
  margin-top: 0;
}
.hero-slider__text :last-child {
  margin-bottom: 0;
}
.hero-slider__text .cursive {
  color: var(--mint);
}

.hero-slider__content .button {
  margin-block-start: 3.2rem;
}
@media screen and (max-width: 800px) {
  .hero-slider__content .button {
    margin-block-start: 2.4rem;
  }
}

.hero__badge {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: var(--padding-inline);
  z-index: 2;
  width: 9rem;
}
@media screen and (max-width: 800px) {
  .hero__badge {
    width: 7rem;
  }
}

.hero--gallery .hero__badge {
  inset-block-start: calc(5.8rem + 24px);
  inset-inline-start: calc(max(0px, (100% - var(--max-width-wide)) / 2) + var(--padding-inline));
  width: 16.4rem;
}
@media screen and (max-width: 1100px) {
  .hero--gallery .hero__badge {
    inset-block-start: 72px;
    inset-inline-start: 24px;
  }
}

.hero__badge-image {
  display: block;
  width: 100%;
  height: auto;
}

.hero-slider__nav {
  --max-width: var(--max-width-wide);
  position: absolute;
  inset-block-start: 50%;
  inset-inline: 0;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  width: 100%;
  transform: translateY(-50%);
  pointer-events: none;
}
@media screen and (max-width: 800px) {
  .hero-slider__nav {
    display: none;
  }
}

.hero-slider__arrow {
  display: grid;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  pointer-events: auto;
  transition: opacity 0.2s ease;
}
.hero-slider__arrow:hover, .hero-slider__arrow:focus-visible {
  opacity: 0.8;
}
.hero-slider__arrow.swiper-button-disabled {
  cursor: default;
}
.hero-slider__arrow.swiper-button-disabled:hover, .hero-slider__arrow.swiper-button-disabled:focus-visible {
  opacity: 1;
}

.hero-slider__arrow-icon {
  grid-area: 1/1;
  display: block;
  width: 3.6rem;
  height: 3.6rem;
}

.hero-slider__arrow--prev .hero-slider__arrow-icon--active,
.hero-slider__arrow--next .hero-slider__arrow-icon--inactive {
  transform: scaleX(-1);
}

.hero-slider__arrow-icon--inactive {
  visibility: hidden;
}

.hero-slider__arrow.swiper-button-disabled .hero-slider__arrow-icon--active {
  visibility: hidden;
}
.hero-slider__arrow.swiper-button-disabled .hero-slider__arrow-icon--inactive {
  visibility: visible;
}

.hero-slider__footer {
  --max-width: var(--max-width-wide);
  position: relative;
  z-index: 2;
  width: 100%;
  padding-block-end: 4rem;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .hero-slider__footer {
    padding-block-end: 2.4rem;
  }
}

.hero-slider__dots.carousel-nav {
  gap: 1.6rem;
  margin-block-start: 0;
}
.hero-slider__dots.carousel-nav .carousel-nav__dot {
  width: 10.5rem;
}
@media screen and (max-width: 800px) {
  .hero-slider__dots.carousel-nav {
    --carousel-dot: var(--white);
  }
  .hero-slider__dots.carousel-nav .carousel-nav__dot {
    width: 2.2rem;
    height: 2.2rem;
    border-radius: var(--radius-xs);
  }
}

.hero-slider__footnote {
  margin: 1.6rem 0 0;
  font-size: var(--text-12);
  opacity: 0.8;
}

.home-hero__backdrop, .awards__backdrop, .hero__backdrop {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: var(--teal-darkest);
}
.home-hero__backdrop::after, .awards__backdrop::after, .hero__backdrop::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--hero-scrim);
}

.home-hero__video, .awards__image, .hero__image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  color: var(--teal-dark);
  font-family: var(--font-regular);
  font-size: var(--text-16);
  font-weight: var(--weight-semibold);
  line-height: 1;
  text-decoration: underline;
  text-underline-offset: 0.4rem;
  transition: color 0.2s ease, gap 0.2s ease;
}
@media screen and (max-width: 800px) {
  .link-arrow {
    font-size: var(--text-18);
  }
}
.link-arrow:hover, .link-arrow:focus-visible {
  color: var(--teal-darkest);
  gap: 1.1rem;
}

.link-arrow__icon {
  display: block;
  width: 12px;
  height: 24px;
  flex-shrink: 0;
  background-color: currentcolor;
  -webkit-mask: url("../../images/link-arrow.png") no-repeat center/contain;
          mask: url("../../images/link-arrow.png") no-repeat center/contain;
}

.link-arrow__icon--external {
  transform: rotate(-45deg);
}

.link-list {
  --link-list-rule: var(--slate);
}

.link-list__intro {
  margin: 0 0 2.4rem;
  color: var(--slate);
  font-family: var(--font-regular);
  font-size: var(--text-16);
  line-height: 1.6;
}
@media screen and (max-width: 800px) {
  .link-list__intro {
    font-size: var(--text-18);
    line-height: 1.7;
  }
}

.link-list__heading {
  margin: 0 0 1.2rem;
  color: var(--teal-darkest);
  font-family: var(--font-regular);
  font-size: var(--text-20);
  font-weight: var(--weight-bold);
  line-height: 1.2;
}
@media screen and (max-width: 800px) {
  .link-list__heading {
    color: var(--off-black);
    text-transform: uppercase;
  }
}

.link-list__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -moz-column-gap: 2.4rem;
       column-gap: 2.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
  border-block-start: 1px solid var(--link-list-rule);
}
@media screen and (max-width: 500px) {
  .link-list__items {
    grid-template-columns: minmax(0, 1fr);
  }
}

.link-list__item {
  margin: 0;
  border-block-end: 1px solid var(--link-list-rule);
}

.link-list__link {
  padding-block: 1.2rem;
}

.navigation {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 3.2rem;
}

@media screen and (max-width: 1100px) {
  .desktop-navigation {
    display: none;
  }
}
.desktop-navigation .menu-item {
  position: relative;
  margin: 0;
}
.desktop-navigation > .navigation > .menu-item > a {
  color: var(--teal-darkest);
  font-family: var(--font-regular);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
  transition: color 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  padding-block: 1.2rem;
  font-size: var(--text-18);
}
.desktop-navigation > .navigation > .menu-item > a:hover, .desktop-navigation > .navigation > .menu-item > a:focus-visible {
  color: var(--teal-dark);
}
.desktop-navigation > .navigation > .menu-item:hover > a,
.desktop-navigation > .navigation > .menu-item:focus-within > a,
.desktop-navigation > .navigation > .current-menu-item > a,
.desktop-navigation > .navigation > .current-menu-ancestor > a {
  color: var(--teal-dark);
}
.desktop-navigation .menu-item-has-children::before {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 2.4rem;
}
.desktop-navigation .menu-item-has-children:hover > a::after, .desktop-navigation .menu-item-has-children:focus-within > a::after {
  transform: rotate(180deg);
}
.desktop-navigation .menu-item-has-children:hover > .sub-menu, .desktop-navigation .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.desktop-navigation .sub-menu {
  position: absolute;
  top: calc(100% + var(--header-pad) + 0.5rem);
  left: -2rem;
  z-index: 1000;
  min-width: 20rem;
  width: -moz-max-content;
  width: max-content;
  max-width: 32rem;
  margin: 0;
  padding: 2rem 2.4rem 2.2rem;
  list-style: none;
  background: var(--white);
  border-top: 4px solid var(--orange);
  border-radius: var(--radius);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-0.6rem);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
}
.desktop-navigation .sub-menu::after {
  content: "";
  position: absolute;
  top: -1rem;
  left: 50%;
  transform: translateX(-50%);
  width: 2rem;
  height: 1rem;
  background: url("../../images/orange-arrow-up.png") no-repeat center/contain;
}
.desktop-navigation .sub-menu a {
  display: block;
  color: var(--teal-darkest);
  font-family: var(--font-regular);
  font-weight: var(--weight-bold);
  font-size: var(--text-16);
  line-height: 1.3;
  transition: color 0.2s ease;
}
.desktop-navigation .sub-menu a:hover, .desktop-navigation .sub-menu a:focus-visible {
  color: var(--teal-dark);
}
.desktop-navigation .sub-menu .sub-menu {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 0;
  padding: 1.2rem 0 0 1.4rem;
  border-top: 0;
  border-radius: 0;
  box-shadow: none;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
}
.desktop-navigation .sub-menu .sub-menu::after {
  content: none;
}

.menu-item-has-children > a::after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 1.1rem;
  height: 0.7rem;
  background-color: currentcolor;
  transition: transform 0.2s ease;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.06 6.59"><path d="m10.53.53-5 5-5-5" style="fill:none;stroke:%23000;stroke-miterlimit:10;stroke-width:1.5px"/></svg>') no-repeat center/contain;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.06 6.59"><path d="m10.53.53-5 5-5-5" style="fill:none;stroke:%23000;stroke-miterlimit:10;stroke-width:1.5px"/></svg>') no-repeat center/contain;
}
.menu-item-has-children > a[href="#"] {
  cursor: pointer;
}

.sub-menu .menu-item {
  margin: 0 0 1.4rem;
}
.sub-menu .menu-item:last-child {
  margin: 0;
}
.sub-menu .menu-item::before {
  display: none;
}
.sub-menu .menu-item > a::after {
  display: none;
}

.mobile-navigation {
  right: 0;
  width: 75%;
  max-width: 350px;
  padding-inline: var(--padding-inline);
  background-color: var(--off-white);
  box-shadow: var(--box-shadow);
  display: none;
  position: fixed;
  z-index: 995;
  top: var(--header-height-mobile);
  height: auto;
  max-height: 85vh;
  padding-block: 2rem 4rem;
  transition: all 0.5s ease, opacity 0.4s ease;
  overflow: hidden;
  overflow-y: auto;
  opacity: 0;
  transform: translateY(-100%);
  visibility: hidden;
}
@media screen and (max-width: 1100px) {
  .mobile-navigation {
    display: block;
  }
}
@media screen and (max-width: 500px) {
  .mobile-navigation {
    padding-top: 0.5rem;
  }
}
.mobile-navigation .menu {
  display: flex;
  flex-direction: column;
}
.mobile-navigation .menu-item {
  position: relative;
  margin: 0;
  border-bottom: 1px solid var(--teal-lightest);
}
.mobile-navigation .menu-item > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 1.8rem;
  color: var(--teal-darkest);
  font-family: var(--font-regular);
  font-weight: var(--weight-bold);
  font-size: var(--text-20);
  text-transform: uppercase;
  line-height: 1.2;
}
.mobile-navigation .menu-item-has-children > a {
  cursor: pointer;
}
.mobile-navigation .sub-menu {
  opacity: 0;
  max-height: 0;
  visibility: hidden;
  width: 100%;
  margin: 0;
  padding-left: 0;
  list-style: none;
  overflow: hidden;
  transition: all 0.4s ease;
}
.mobile-navigation .sub-menu .menu-item {
  border-bottom: 0;
  margin: 0;
}
.mobile-navigation .sub-menu .menu-item > a {
  min-height: 44px;
  padding-block: 0.9rem;
  padding-left: 1.5rem;
  font-size: var(--text-18);
  text-transform: none;
  color: var(--teal-dark);
}
.mobile-navigation .header__login {
  display: inline-flex;
  min-height: 44px;
  margin-top: 3rem;
  font-size: var(--text-20);
  padding: 2.6rem;
}

.menu {
  list-style: none;
  padding: 0;
  position: relative;
}
.menu li::before {
  display: none;
}

.is-submenu-open > .sub-menu {
  opacity: 1;
  visibility: visible;
  max-height: 1000px;
  padding-block: 0.5rem 1.5rem;
}
.is-submenu-open > a::after {
  transform: rotate(180deg);
}

.is-menu-open .mobile-navigation {
  opacity: 1;
  transform: translateY(0%);
  visibility: visible;
}

.breadcrumb, .section-head {
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: var(--padding-inline);
}

.section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.4rem;
  margin-block-end: 4rem;
  color: var(--teal-darkest);
}
@media screen and (max-width: 800px) {
  .section-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
    margin-block-end: 4.3rem;
  }
}

.floor-plan-download__title, .section-head__title {
  color: var(--slate);
  font-size: var(--text-64);
  font-weight: var(--weight-semibold);
  line-height: 1.1;
}
.floor-plan-download__title .cursive, .section-head__title .cursive {
  color: var(--teal-dark);
}

.section-head__title {
  margin: 0;
}
@media screen and (max-width: 800px) {
  .section-head__title {
    font-size: var(--text-72);
  }
  .section-head__title .cursive {
    white-space: nowrap;
  }
}

.section-head__link,
.section-head__toggle {
  flex-shrink: 0;
}
.section-head__link .toggle__label,
.section-head__toggle .toggle__label {
  padding: 1.05rem 2.4rem;
}

@media screen and (max-width: 800px) {
  .section-head:has(> .toggle--fill-mobile) {
    gap: 0.3rem;
  }
  .section-head:has(> .toggle--fill-mobile) .toggle--fill-mobile {
    margin-block: 0.8rem 0;
  }
}

.section-head--center {
  justify-content: center;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .section-head--center {
    align-items: center;
  }
}

@media screen and (max-width: 800px) {
  .section-head--center-mobile {
    align-items: center;
    text-align: center;
  }
}

.section-head--page {
  margin-block-end: 7rem;
}
@media screen and (max-width: 800px) {
  .section-head--page {
    margin-block-end: 5rem;
  }
}

.section-head--page .section-head__title {
  font-size: var(--text-96);
}
@media screen and (max-width: 800px) {
  .section-head--page .section-head__title {
    font-size: var(--text-72);
  }
}

.section-head--tight {
  margin-block-end: 3rem;
}
@media screen and (max-width: 800px) {
  .section-head--tight {
    margin-block-end: 3.3rem;
  }
}

.section-head--light {
  color: var(--white);
}
.section-head--light .section-head__title {
  color: var(--white);
}
.section-head--light .section-head__title .cursive {
  color: var(--mint);
}
.section-head--light .section-head__link {
  color: var(--mint);
}
.section-head--light .section-head__link:hover, .section-head--light .section-head__link:focus-visible {
  color: var(--white);
}

.breadcrumb {
  margin-block-end: 2.4rem;
  color: var(--teal-dark);
  font-size: var(--text-16);
  line-height: 1.4;
}

.breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.breadcrumb__item {
  display: flex;
  align-items: center;
  margin: 0;
}

.breadcrumb__item + .breadcrumb__item::before {
  content: "/";
  margin-inline: 0.8rem;
  color: var(--slate);
  font-weight: var(--weight-semibold);
}

.breadcrumb__link {
  color: inherit;
  font-weight: var(--weight-semibold);
  text-decoration: none;
}
.breadcrumb__link:hover, .breadcrumb__link:focus-visible {
  text-decoration: underline;
}

.breadcrumb__item--current {
  color: var(--slate);
  font-style: italic;
}

.gallery-card {
  width: 100%;
}
.gallery-card .carousel-nav {
  margin-block-start: 2.4rem;
}

.gallery-card__frame {
  position: relative;
  padding: 1.6rem;
  border-radius: var(--radius-lg);
  background-color: var(--white);
}

.gallery-card__frame::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  padding: 2px;
  border-radius: inherit;
  background: linear-gradient(to right, var(--slate-light), transparent 25%, transparent 75%, var(--slate-light)) top/100% var(--radius-lg) no-repeat, linear-gradient(var(--slate-light) 0 0) bottom/100% calc(100% - var(--radius-lg)) no-repeat;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}

.gallery-card__carousel {
  overflow: hidden;
  margin-inline-end: -1.6rem;
}

.gallery-card__slide {
  position: relative;
  padding-inline-end: 1.6rem;
}

.gallery-card__image {
  display: block;
  width: 100%;
  aspect-ratio: 3/2;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--radius);
}

.gallery-card__label {
  inset-block-start: 1.6rem;
  inset-inline-end: 0;
  z-index: 2;
  padding: 0.8rem 1.2rem;
}

.location-map.is-live {
  border: 1px solid rgba(6, 46, 50, 0.12);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background-color: var(--off-white);
  aspect-ratio: 2/1;
}
@media screen and (max-width: 800px) {
  .location-map.is-live {
    aspect-ratio: 4/3;
  }
}

.walkthrough-banner, .model-communities {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2.4fr);
  overflow: hidden;
  border: 1px solid var(--slate-light);
  border-radius: var(--radius-lg);
  background-color: var(--white);
}
@media screen and (max-width: 800px) {
  .walkthrough-banner, .model-communities {
    grid-template-columns: minmax(0, 1fr);
  }
}

.walkthrough-banner__panel, .model-communities__panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3.2rem 4rem;
  background-color: var(--teal-darkest);
  color: var(--white);
}
@media screen and (max-width: 800px) {
  .walkthrough-banner__panel, .model-communities__panel {
    padding: 2.4rem;
  }
}

.model-communities__media {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-height: 26rem;
  padding: 1.6rem 1.6rem 0;
}

.model-communities__sky {
  -webkit-mask: linear-gradient(to right, transparent 0%, #000 15%, #000 calc(100% - 15%), transparent 100%), linear-gradient(to bottom, transparent 0%, #000 12%, #000 55%, transparent 92%);
          mask: linear-gradient(to right, transparent 0%, #000 15%, #000 calc(100% - 15%), transparent 100%), linear-gradient(to bottom, transparent 0%, #000 12%, #000 55%, transparent 92%);
  -webkit-mask-composite: source-in, xor;
          mask-composite: intersect;
  position: absolute;
  inset: 0 0 auto;
  width: 100%;
  height: 66%;
  -o-object-fit: cover;
     object-fit: cover;
}

.model-communities__house {
  position: relative;
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 22rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.model-communities__eyebrow {
  margin: 0 0 0.8rem;
  font-size: var(--text-16);
  font-weight: var(--weight-semibold);
  line-height: 1;
  text-transform: uppercase;
}

.model-communities__title {
  margin: 0 0 2rem;
  font-family: var(--font-regular);
  font-size: var(--text-48);
  font-weight: var(--weight-semibold);
  line-height: 1.1;
}
@media screen and (max-width: 800px) {
  .model-communities__title {
    font-size: var(--text-64);
  }
}
.model-communities__title .cursive {
  color: var(--mint);
}

.model-communities__link {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

.walkthrough-banner {
  width: 100%;
  padding: 0;
  color: inherit;
  font: inherit;
  text-align: start;
  text-decoration: none;
  cursor: pointer;
}

.walkthrough-banner__media {
  position: relative;
  display: block;
  min-height: 26rem;
  background-color: var(--teal-dark);
}

.walkthrough-banner__cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.walkthrough-banner__play {
  --play-size: 140px;
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: calc(var(--play-size) / -2);
  z-index: 1;
  width: var(--play-size);
  height: var(--play-size);
  border: 2px solid var(--mint);
  border-radius: 50%;
  background-color: var(--teal-darkest);
  translate: 0 -50%;
  transition: scale 0.2s ease;
}
.walkthrough-banner__play::after {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 55%;
  border-style: solid;
  border-width: 26px 0 26px 45px;
  border-color: transparent transparent transparent var(--mint);
  translate: -50% -50%;
}
.walkthrough-banner:hover .walkthrough-banner__play, .walkthrough-banner:focus-visible .walkthrough-banner__play {
  scale: 1.08;
}
@media screen and (max-width: 800px) {
  .walkthrough-banner__play {
    inset-inline-end: auto;
    inset-inline-start: 50%;
    translate: -50% -50%;
  }
}

.walkthrough-banner__panel {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 3.2rem;
  padding-inline-start: 12rem;
}
@media screen and (max-width: 800px) {
  .walkthrough-banner__panel {
    flex-direction: column;
    align-items: flex-start;
    padding-inline-start: 2.4rem;
  }
}

.walkthrough-banner__copy {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.walkthrough-banner__title {
  color: var(--mint);
  font-size: var(--text-48);
  font-weight: var(--weight-semibold);
  line-height: 1.1;
}
@media screen and (max-width: 800px) {
  .walkthrough-banner__title {
    font-size: var(--text-64);
  }
}

.walkthrough-banner__text {
  font-size: var(--text-16);
  line-height: 1.4;
}

.walkthrough-banner__action {
  flex-shrink: 0;
}
@media screen and (max-width: 800px) {
  .walkthrough-banner__action {
    border-radius: var(--radius-sm);
    font-size: var(--text-16);
  }
}

.sidebar__category {
  display: block;
  margin: 0 0 2rem;
}
.sidebar__category:last-child {
  margin: 0;
}

/** Most choices the sliding fill can track. */
.toggle {
  --toggle-gutter: 0.6rem;
  --toggle-index: 0;
  --toggle-accent: transparent;
  --toggle-ink: var(--teal-darkest);
  position: relative;
  isolation: isolate;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  padding: var(--toggle-gutter);
  border-radius: var(--radius-pill);
  background-color: var(--white);
  color: var(--teal-darkest);
}

.toggle--center {
  margin-inline: auto;
}

.toggle--spaced {
  margin-block: 4rem;
}

@media screen and (max-width: 800px) {
  .toggle--fill-mobile {
    width: 100%;
    margin-block: 3rem 3.2rem;
  }
  .toggle--fill-mobile .toggle__label {
    padding-block: 1.6rem;
    font-size: var(--text-18);
  }
}

.toggle__thumb {
  grid-area: 1/1;
  z-index: 0;
  border-radius: var(--radius-pill);
  background-color: var(--toggle-accent);
  translate: calc(var(--toggle-index) * 100%);
  transition: translate 0.3s ease, background-color 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .toggle__thumb {
    transition: none;
  }
}

.toggle__option {
  position: relative;
  z-index: 1;
  display: flex;
}

.toggle__option:nth-of-type(1) {
  grid-area: 1/1;
}

.toggle__option:nth-of-type(2) {
  grid-area: 1/2;
}

.toggle__option:nth-of-type(3) {
  grid-area: 1/3;
}

.toggle__option:nth-of-type(4) {
  grid-area: 1/4;
}

.toggle__input {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

.toggle__label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 1.2rem 3.2rem;
  border-radius: var(--radius-pill);
  font-family: var(--font-regular);
  font-size: var(--text-16);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 500px) {
  .toggle__label {
    padding: 1.2rem 2rem;
  }
}

.toggle__input:checked + .toggle__label,
.toggle__option--active .toggle__label {
  color: var(--toggle-ink);
}

.toggle__input:focus-visible + .toggle__label {
  outline: 2px solid var(--teal-dark);
  outline-offset: 2px;
}

.toggle:has(.toggle__option:nth-of-type(1) .toggle__input:checked),
.toggle:has(.toggle__option:nth-of-type(1).toggle__option--active) {
  --toggle-index: 0;
}

.toggle:has(.toggle__option:nth-of-type(2) .toggle__input:checked),
.toggle:has(.toggle__option:nth-of-type(2).toggle__option--active) {
  --toggle-index: 1;
}

.toggle:has(.toggle__option:nth-of-type(3) .toggle__input:checked),
.toggle:has(.toggle__option:nth-of-type(3).toggle__option--active) {
  --toggle-index: 2;
}

.toggle:has(.toggle__option:nth-of-type(4) .toggle__input:checked),
.toggle:has(.toggle__option:nth-of-type(4).toggle__option--active) {
  --toggle-index: 3;
}

.toggle:has(.toggle__option--orange .toggle__input:checked),
.toggle:has(.toggle__option--orange.toggle__option--active) {
  --toggle-accent: var(--orange);
  --toggle-ink: var(--teal-darkest);
}

.toggle:has(.toggle__option--mint .toggle__input:checked),
.toggle:has(.toggle__option--mint.toggle__option--active) {
  --toggle-accent: var(--mint);
  --toggle-ink: var(--teal-darkest);
}

.toggle:has(.toggle__option--teal .toggle__input:checked),
.toggle:has(.toggle__option--teal.toggle__option--active) {
  --toggle-accent: var(--teal-dark);
  --toggle-ink: var(--white);
}

.toggle:has(.toggle__option--yellow .toggle__input:checked),
.toggle:has(.toggle__option--yellow.toggle__option--active) {
  --toggle-accent: var(--yellow);
  --toggle-ink: var(--teal-darkest);
}

.burger {
  display: none;
  width: 36px;
  height: 16px;
}
@media screen and (max-width: 1100px) {
  .burger {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    position: relative;
    transform: translateY(-0.2rem);
    z-index: 999;
  }
  .burger::before {
    content: "";
    position: absolute;
    inset: -14px -4px;
  }
}

.burger__line {
  display: block;
  width: 36px;
  height: 4px;
  border-radius: 4px;
  background-color: var(--teal-darkest);
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -2px;
}
.burger__line:nth-child(1) {
  transform: translateY(-8px);
}
.burger__line:nth-child(3) {
  transform: translateY(8px);
}

.burger--two-line .burger__line:nth-child(1) {
  transform: translateY(-5px);
}
.burger--two-line .burger__line:nth-child(2) {
  transform: translateY(5px);
}
.burger--two-line.is-burger-active .burger__line:nth-child(2), .burger--two-line[aria-expanded=true] .burger__line:nth-child(2) {
  transform: rotate(-43deg);
}

.is-burger-active .burger__line--shorter,
.burger[aria-expanded=true] .burger__line--shorter {
  opacity: 0;
}
.is-burger-active .burger__line:nth-child(1),
.burger[aria-expanded=true] .burger__line:nth-child(1) {
  transform: rotate(43deg);
}
.is-burger-active .burger__line:nth-child(3),
.burger[aria-expanded=true] .burger__line:nth-child(3) {
  transform: rotate(-43deg);
}

.category__item--is-active {
  background-color: var(--grey);
  padding: 1rem;
}

.horizontal-categories {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  -moz-column-gap: 4rem;
       column-gap: 4rem;
  row-gap: 1rem;
  grid-column: span 3;
  margin-block-end: 2rem;
}

.horizontal-categories__title {
  margin: 0;
}

.horizontal-categories__container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2rem;
}

.modal {
  display: block;
  /** <-- Required to make the animation work */
  max-width: 1400px;
  width: 90%;
  opacity: 0;
  transform: translateY(15%);
  transition: transform 0.4s ease, opacity 0.2s ease;
  border: none;
  visibility: hidden;
  overflow: visible;
}
@media screen and (max-width: 500px) {
  .modal {
    width: 94%;
  }
}

.modal::backdrop {
  background: rgba(30, 68, 103, 0.8);
  backdrop-filter: blur(2px);
}

.modal[open] {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.close-modal {
  position: absolute;
  padding: 0;
  border: 0;
  background: none;
  top: 0;
  right: -5rem;
  cursor: pointer;
  width: 25px;
}
@media screen and (max-width: 1100px) {
  .close-modal {
    top: -6rem;
    right: 0;
  }
}
@media screen and (max-width: 800px) {
  .close-modal {
    width: 20px;
    top: -4rem;
  }
}

.modal--video {
  padding: 0;
}
.modal--video .modal__content {
  aspect-ratio: 16/9;
}
.modal--video iframe {
  width: 100%;
  height: 100%;
}

.modal--gallery {
  padding: 0;
  background: none;
}
.modal--gallery .carousel-nav {
  margin-block-start: 2.4rem;
}

.modal--gallery:not([open]) {
  content-visibility: hidden;
}

.modal--plans {
  padding: 3.2rem;
  border-radius: var(--radius-lg);
  background-color: var(--white);
}
.modal--plans .image-grid__full {
  max-height: 68vh;
  pointer-events: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}
.modal--plans .carousel-nav {
  --carousel-dot: rgb(6 46 50 / 20%);
  --carousel-dot-active: var(--teal-dark);
  --carousel-arrow: var(--teal-darkest);
}
.modal--plans .image-grid__caption--light {
  color: var(--off-black);
}
@media screen and (max-width: 500px) {
  .modal--plans {
    padding: 2.4rem;
  }
}

.image-grid__lightbox {
  overflow: hidden;
}

.image-grid__slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0;
}

.image-grid__full {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 78vh;
  border-radius: var(--radius);
  -o-object-fit: contain;
     object-fit: contain;
}

.image-grid__caption--light {
  color: var(--white);
}

.modal--download {
  max-width: 64rem;
  padding: 3.2rem;
  border-radius: var(--radius-lg);
  background-color: var(--white);
}
.modal--download .close-modal {
  top: 1.6rem;
  right: 1.6rem;
  width: 2.4rem;
}
.modal--download .forminator-ui.forminator-custom-form {
  --field-border: var(--off-black);
  --field-gap: 0.6rem;
}
.modal--download .forminator-ui.forminator-custom-form input,
.modal--download .forminator-ui.forminator-custom-form textarea,
.modal--download .forminator-ui.forminator-custom-form select {
  margin-block-end: 0;
}
.modal--download .forminator-ui.forminator-custom-form input[type=checkbox] {
  flex-shrink: 0;
  width: 3.2rem;
  height: 3.2rem;
  margin: 0;
  padding: 0;
  border: 1px solid var(--off-black);
  border-radius: var(--radius-sm);
  background: var(--white) no-repeat center/70%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.modal--download .forminator-ui.forminator-custom-form input[type=checkbox]:checked {
  border-color: var(--teal-dark);
  background-color: var(--teal-dark);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
.modal--download .forminator-ui.forminator-custom-form input[type=checkbox]:focus-visible {
  outline: 2px solid var(--teal-dark);
  outline-offset: 2px;
}
.modal--download .forminator-ui.forminator-custom-form .forminator-checkbox {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  cursor: pointer;
}
.modal--download .forminator-ui.forminator-custom-form .forminator-checkbox-box {
  display: none;
}
.modal--download .forminator-ui.forminator-custom-form .forminator-checkbox-label {
  font-family: var(--font-regular);
  font-size: var(--text-16);
}
.modal--download .forminator-ui.forminator-custom-form .forminator-row:has(.forminator-note) .forminator-field {
  padding-block-end: 2.4rem;
}
@media screen and (max-width: 500px) {
  .modal--download {
    padding: 2.4rem;
  }
}

.floor-plan-download__title {
  margin: 0 0 2.4rem 0;
  color: var(--off-black);
  font-size: var(--text-48);
}
.floor-plan-download__title .cursive {
  color: var(--off-black);
}

.floor-plan-download .forminator-note {
  margin: 0;
  font-size: var(--text-10);
  line-height: 1.4;
}

.gallery {
  display: grid;
  gap: 1rem;
  margin-block: 3rem;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

@media screen and (max-width: 1400px) {
  .gallery-columns-2, .gallery-columns-3, .gallery-columns-4, .gallery-columns-5, .gallery-columns-6, .gallery-columns-7, .gallery-columns-8, .gallery-columns-9 {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
}

.flexible-layout-wrapper {
  position: relative;
  background-color: var(--white);
  color: var(--teal-darkest);
  overflow-x: clip;
}

.flexible-section {
  --border-radius: 0;
  --card-radius: var(--radius-lg);
  --max-width: var(--max-width-wide);
  position: relative;
  padding-block: 10rem;
  padding-inline: 0;
  margin: 0 auto;
  border-radius: var(--border-radius);
  /* Remove bottom margin from last block in a column */
}
@media screen and (max-width: 1100px) {
  .flexible-section {
    padding-block: 8rem;
  }
}
@media screen and (max-width: 800px) {
  .flexible-section {
    padding-block: 4rem;
  }
}
.flexible-section .block-wrapper:last-of-type {
  margin-bottom: 0;
}
.flexible-section .post-list {
  margin-block-end: 4rem;
}

.edit-section-btn {
  position: absolute;
  top: 3rem;
  right: 4rem;
  color: var(--teal-darkest);
  padding: 5px 10px;
  font-size: 12px;
  text-decoration: none;
  border-radius: var(--radius-sm);
  z-index: 100;
  background: rgba(255, 255, 255, 0.8);
  opacity: 0.7;
  transition: all 0.2s ease;
}
.edit-section-btn img {
  width: 20px;
}
.edit-section-btn:hover {
  background: var(--white);
  opacity: 0.9;
}

/* ============= OPTIONS ============= */
.flexible-section--remove-bottom-spacing {
  margin-block-end: 0;
  padding-block-end: 0;
}

.flexible-section--remove-top-spacing {
  padding-block-start: 0;
  margin-block-start: 0;
}

.flexible-section--ruled::after {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline: 0;
  height: 1px;
  max-width: calc(var(--max-width) - var(--padding-inline) * 2);
  margin-inline: auto;
  background-color: var(--slate);
}
@media screen and (max-width: 800px) {
  .flexible-section--ruled::after {
    content: none;
  }
}

.flexible-section--reduce-width .flexible-section__container {
  max-width: calc(var(--max-width) - 20%);
}
@media screen and (max-width: 1100px) {
  .flexible-section--reduce-width .flexible-section__container {
    max-width: 100%;
  }
}

/* ============= COLOURS ============= */
/* Default/Light theme colours custom properties */
/*--------------------------------------------------------------------------------------------------------------- */
.flexible-section {
  --section-bg: transparent;
  --section-text: var(--teal-darkest);
  --block-bg: var(--white);
  --block-text: var(--teal-darkest);
  --block-muted: var(--slate);
  --block-accent: var(--teal-dark);
  --block-rule: rgb(6 46 50 / 10%);
  --block-shadow: 4px 4px 40px rgb(14 92 103 / 10%);
  --button-bg: var(--teal-darkest);
  --button-text: var(--white);
  --button-bg-hover: var(--mint);
  --button-text-hover: var(--teal-darkest);
  color: var(--section-text);
}
.flexible-section .media,
.flexible-section .article,
.flexible-section .feature-card,
.flexible-section .stat-card,
.flexible-section .toggle,
.flexible-section .award-card--panel {
  background-color: var(--block-bg);
  color: var(--block-text);
  box-shadow: var(--block-shadow);
}
.flexible-section .button:not([class*=button--]) {
  background-color: var(--button-bg);
  border-color: var(--button-bg);
  color: var(--button-text);
}
.flexible-section .button:not([class*=button--]):hover, .flexible-section .button:not([class*=button--]):focus-visible {
  background-color: var(--button-bg-hover);
  border-color: var(--button-bg-hover);
  color: var(--button-text-hover);
}
/* LIGHT --------------------------------------------------------------------------------------------------------------------- */
.flexible-section--light {
  --section-bg: var(--off-white);
  background-color: var(--section-bg);
}
.flexible-section--light .dropdown {
  --dropdown-shadow-open: 0 1.2rem 3.2rem rgb(6 46 50 / 12%);
}

.city-edmonton .flexible-section--light {
  --section-bg: var(--teal-tint);
}

/* DARK --------------------------------------------------------------------------------------------------------------------- */
.flexible-section--dark {
  --section-bg: var(--teal-darkest);
  --section-text: var(--white);
  --block-bg: var(--white);
  --block-text: var(--teal-darkest);
  --block-accent: var(--teal-dark);
  --button-bg: var(--mint);
  --button-text: var(--teal-darkest);
  --button-bg-hover: var(--white);
  --button-text-hover: var(--teal-darkest);
  --block-shadow: none;
  background-color: var(--section-bg);
}
.flexible-section--dark .button--primary {
  --button-background: var(--mint);
  --button-color: var(--teal-darkest);
  --button-border: var(--mint);
}
.flexible-section--dark .button--primary:hover, .flexible-section--dark .button--primary:focus-visible {
  --button-background: var(--teal-darkest);
  --button-color: var(--mint);
  --button-border: var(--mint);
}
.flexible-section--dark .banner {
  --banner-mask: var(--teal-dark);
}
.flexible-section--dark .text-block a {
  color: var(--mint);
}
.flexible-section--dark .promo {
  --promo-panel-bg: var(--teal-dark);
}
.flexible-section--dark .flexbile-section__column > .block-wrapper > .text-block .cursive {
  color: var(--mint);
}
.flexible-section--dark .home-details__cost,
.flexible-section--dark .home-details__floorplan {
  color: var(--mint);
}
.flexible-section--dark .dropdown {
  --dropdown-text: var(--white);
  --dropdown-text-open: var(--teal-darkest);
  --dropdown-rule: rgb(255 255 255 / 20%);
  --dropdown-answer: var(--slate);
  --dropdown-shadow-open: 0 1.2rem 3.2rem rgb(0 0 0 / 20%);
  --dropdown-icon: var(--mint);
  --dropdown-icon-open: var(--teal-dark);
}
.flexible-section--dark .home-details .home-details__icon--default {
  display: none;
}
.flexible-section--dark .home-details .home-details__icon--mint {
  display: inline-block;
}
.flexible-section--dark .flexbile-section__column > .block-wrapper > .text-block {
  --list-marker-color: var(--white);
}
.flexible-section--dark .carousel-nav {
  --carousel-dot: rgb(255 255 255 / 30%);
  --carousel-arrow: var(--white);
}

/* ============= COLUMN HANDLING ============= */
.flexible-section__container {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 3rem;
}

.flexible-section__container--center {
  align-items: center;
}

.flexible-section__container--flex-end {
  align-items: flex-end;
}

@media screen and (max-width: 800px) {
  .flexible-section__container--reverse .flexbile-section__column:first-child {
    order: 2;
  }
  .flexible-section__container--reverse .flexbile-section__column:last-child {
    order: 1;
  }
}

.flexible-section__container--2-cols {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.flexible-section__container--4-cols {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media screen and (max-width: 1100px) {
  .flexible-section__container--4-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.flexible-section__container--3-cols,
.flexible-section__container--2-thirds-1-third,
.flexible-section__container--1-third-2-thirds {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media screen and (max-width: 960px) {
  .flexible-section__container--3-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 800px) {
  .flexible-section__container--2-cols,
  .flexible-section__container--3-cols,
  .flexible-section__container--4-cols,
  .flexible-section__container--2-thirds-1-third,
  .flexible-section__container--1-third-2-thirds {
    grid-template-columns: minmax(0, 1fr);
  }
}

.flexible-section__container--2-thirds-1-third .flexbile-section__column:nth-child(1),
.flexible-section__container--1-third-2-thirds .flexbile-section__column:nth-child(2) {
  grid-column: span 2;
}
@media screen and (max-width: 800px) {
  .flexible-section__container--2-thirds-1-third .flexbile-section__column:nth-child(1),
  .flexible-section__container--1-third-2-thirds .flexbile-section__column:nth-child(2) {
    grid-column: auto;
  }
}

@media screen and (max-width: 800px) {
  .flexible-section__container--swipe {
    display: flex;
    gap: 1.6rem;
    margin-block: 0;
    padding-block: 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    list-style: none;
    scroll-padding-inline: var(--padding-inline);
    padding-block: 2rem;
    margin-block: -2rem;
  }
  .flexible-section__container--swipe > .flexbile-section__column {
    display: flex;
    flex: 0 0 95%;
    margin: 0;
    scroll-snap-align: start;
    flex-direction: column;
  }
  .flexible-section__container--swipe > .flexbile-section__column > * {
    flex-grow: 1;
  }
}

.hidden {
  display: none;
}

.hidden--visually {
  clip-path: inset(100%);
  clip: rect(1px 1px 1px 1px); /* IE 6/7 */
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap; /* added line */
  width: 1px;
}

.alignleft {
  float: left;
  margin: 0 2rem 1rem 0;
}

.alignright {
  float: right;
  margin: 0 0 1rem 1rem;
}

.aligncenter {
  margin: 3rem auto;
}
