/*! HTML5 Boilerplate v7.1.0 | MIT License | https://html5boilerplate.com/ */

/* main.css 1.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html, body {
    font-family: 'Noto Serif Light';
    color: #fff;
    font-size: 34px;
    line-height: 42px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background: #131314;
    margin: 0;

    width: 100%;
    min-height: 100%;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/*
  FONT SETUP
  ---------
  The supplied project fonts are intentionally referenced by filename rather
  than bundled in this delivery. Place your licensed font files at:
   fonts/Montserrat-Medium.otf
   fonts/NotoSerif-Light.ttf
   fonts/NotoSerif-Regular.ttf
*/@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Medium.eot');
    src: url('../fonts/Montserrat-Medium.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Montserrat-Medium.woff2') format('woff2'),
        url('../fonts/Montserrat-Medium.woff') format('woff'),
        url('../fonts/Montserrat-Medium.ttf') format('truetype'),
        url('../fonts/Montserrat-Medium.svg#Montserrat-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Serif Light';
    src: url('../fonts/NotoSerif-Light.eot');
    src: url('../fonts/NotoSerif-Light.eot?#iefix') format('embedded-opentype'),
        url('../fonts/NotoSerif-Light.woff2') format('woff2'),
        url('../fonts/NotoSerif-Light.woff') format('woff'),
        url('../fonts/NotoSerif-Light.ttf') format('truetype'),
        url('../fonts/NotoSerif-Light.svg#NotoSerif-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Serif';
    src: url('../fonts/NotoSerif-Regular.eot');
    src: url('../fonts/NotoSerif-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/NotoSerif-Regular.woff2') format('woff2'),
        url('../fonts/NotoSerif-Regular.woff') format('woff'),
        url('../fonts/NotoSerif-Regular.ttf') format('truetype'),
        url('../fonts/NotoSerif-Regular.svg#NotoSerif-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}



:root {
  --ink: #20262E;
  --ink-soft: #20262E;
  --paper: #E8E6E0;
  --paper-warm: #C6BAAB;
  --sage: #919A89;
  --sage-dark: #7F8978;
  --white: #ffffff;
  --shell: 1520px;
  --serif: "Noto Serif Montage", Georgia, serif;
  --sans: "Montserrat Montage", Arial, sans-serif;
}

.contact-field{
	line-height: 10px;
}

.contact-form__status {
  display: none;
}

.contact-form__status.is-error,
.contact-form__status.is-success {
  display: block;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--serif);
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { display: block; width: 100%; height: 100%; object-fit: cover; }
a { color: inherit; }
button { font: inherit; }

.shell {
  width: min(calc(100% - 320px), var(--shell));
  margin: 0 auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(32, 38, 46, 0.98);
  color: var(--paper);
  font-family: var(--sans);
}
.site-header__inner {
  min-height: 86px;
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 0;
  align-items: center;
}
.site-logo { width: 220px; }
.site-logo img { height: auto; object-fit: contain; }
.site-nav { display: flex; align-items: center; gap: 70px; }
.site-nav a {
  text-decoration: none;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.19em;
  transition: opacity .2s ease;
}
.site-nav a:hover { opacity: .65; }
.menu-button {
  width: 28px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  display: grid;
  align-content: center;
  gap: 4px;
  cursor: pointer;
}
.menu-button span { display: block; height: 1px; background: var(--paper); }

.section-light,
.story-block--light,
.residence-feature { background-color: var(--paper); }
.section-light,
.story-block--light,
.residence-feature,
.cta-section,
.story-block--dark,
.site-footer {
  background-image: url("../img/pattern.png");
  background-size: 422px auto;
  background-position: top left;
  background-repeat: repeat;
}
.subtle-pattern {
  background-image: url("../img/pattern.png");
  background-size: 422px auto;
  background-position: top left;
  background-repeat: repeat;
}
.patterned-section {
  background-color: var(--ink);
  background-image: url("../img/pattern.png");
  background-size: 422px auto;
  background-position: top left;
  background-repeat: repeat;
}

.hero { padding: 80px 0 80px; overflow: hidden; }
.hero-grid {
  display: grid;
  grid-template-columns: .5fr .6fr .8fr;
  grid-template-rows: 380px 285px;
  gap: 14px;
}
.hero-grid figure { margin: 0; overflow: hidden; }
.hero-grid__exterior { grid-column: 1 / 3; grid-row: 1; }
.hero-grid__lobby { grid-column: 3; grid-row: 1 / 3; }
.hero-grid__dining { grid-column: 2; grid-row: 2; }
.hero-card {
  grid-column: 1;
  grid-row: 2;
  background: var(--sage);
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.hero-card .eyebrow {
  margin: 0 0 20px;
  font-family: var(--sans);
  color: var(--paper);
  font-weight: 500;
  text-transform: uppercase;
  
}


.story-block--light .eyebrow{
  color: var(--ink);
}

.story-block--dark .eyebrow{
  color: var(--paper);
}
.eyebrow{
  margin: 0 0 8px;
  font-family: var(--sans);
  font-weight: 500;
  text-transform: uppercase;
  font-size: 30px;
  line-height: 36px;
letter-spacing: 1px;	
}

/* Shared page-title sizing */
.residences-page .residences-hero__title,
.amenities-page .amenities-hero__title,
.availability-page .availability-hero__title,
.neighborhood-page .neighborhood-hero__title {
  font-size: 30px;
  line-height: 36px;
}

.hero-card p:last-child {
  margin: 0;
  color: var(--paper);
  font-family: var(--serif);
  font-weight: 300;
    font-size: 16px;
  line-height: 22px;
  letter-spacing: .5px;
}

/* Homepage hero card: tighter fit and larger type */
body:not(.residences-page):not(.amenities-page):not(.availability-page):not(.neighborhood-page):not(.contact-page) .hero-card {
  padding: 28px 30px;
}

body:not(.residences-page):not(.amenities-page):not(.availability-page):not(.neighborhood-page):not(.contact-page) .hero-card .eyebrow {
  font-size: 30px;
  line-height: 36px;
  margin-bottom: 16px;
}

body:not(.residences-page):not(.amenities-page):not(.availability-page):not(.neighborhood-page):not(.contact-page) .hero-card p:last-child {
  font-size: 16px;
  line-height: 22px;
}


.story-block { padding: 120px 0; }
.split-module {
  display: grid;
  grid-template-columns: 1.8fr .85fr;
  gap: 125px;
  align-items: center;
}
.split-module--image-right { grid-template-columns: .85fr 1.8fr; }
.story-block figure { margin: 0; min-height: 440px; }
.copy-block { max-width: 440px; }
.story-block--dark .copy-block { color: var(--paper); }
.copy-block h2,
.residence-feature h2 {
  margin: 0 0 22px;
  font-size: 26px;
  line-height: 32px;
}
.copy-block p,
.residence-feature__copy {
  margin: 0;
 max-width: 300px;	
  font-family: var(--serif);
  font-weight: 300;
  font-size: 16px;
  line-height: 22px;
  letter-spacing: .5px;
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
  padding: 9px 21px 8px;
  background: var(--sage);
  color: var(--paper);
  font-family: var(--sans);
  font-weight: 500;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 12px;
  line-height: 16px;
  letter-spacing: .14em;
  transition: background .2s ease, transform .2s ease;
}
.text-link::after {
  content: "";
  width: 18px;
  height: 12px;
  flex: 0 0 auto;
  background: url("../img/arrow.svg") center / contain no-repeat;
}
.text-link:hover { background: var(--ink); transform: translateY(-1px); }
.text-link--light { color: var(--paper); }

.residence-feature { padding: 105px 0 115px; }
.residence-feature__inner {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 160px;
  align-items: end;
}
.residence-feature__heading { max-width: 460px; }
.residence-feature__copy { max-width: 610px; }

.cta-section { background: var(--paper-warm); padding: 120px 0; }
.cta-section__inner { text-align: center; max-width: 960px; }
.cta-section h2 { margin: 0 0 14px; font-size: 24px; line-height: 28px; }
.cta-section p {
  max-width: 790px;
  margin: 0 auto 22px;
  font-family: var(--serif);
  font-weight: 300;
  font-size: 14px;
  line-height: 20px;
}
.button {
  display: inline-flex;
  padding: 10px 30px 9px;
  background: var(--sage);
  color: var(--paper);
  font-family: var(--sans);
  font-weight: 500;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 16px;
  letter-spacing: .14em;
}

.button {
  transition: background .2s ease;
}

.button:hover {
  background: var(--ink);
}

.site-footer {
  background: var(--ink);
  background-image: none;
  color: var(--paper);
  padding: 0;
}

.site-footer__inner {
  min-height: 205px;
  display: grid;
  /* Distribute the footer content evenly from the left logo to the right accessibility icons. */
  grid-template-columns: 1.35fr .9fr 1.25fr 1.15fr 1.15fr .45fr;
  align-items: center;
  column-gap: clamp(28px, 3.25vw, 68px);
}

.site-footer__logo {
  width: 75%;
  max-width: 100%;
  margin-top: 0px;	
 position: relative;
  height: auto;
  top: -3px;	
  object-fit: contain;
}


.site-footer__address,
.site-footer__contact,
.site-footer__credit,
.site-footer__legal {
  font-family: 'Noto Serif Light';
  font-weight: 300;
}

.site-footer__address p,
.site-footer__contact p,
.site-footer__credit p {
  margin: 0;
}

.site-footer__address p,
.site-footer__contact p,
.site-footer__contact a,
.site-footer__legal a {
  color: var(--paper);
  font-size: 12px;
  line-height: 18px;
  letter-spacing: 0;
  text-decoration: none;
}

.site-footer__contact a,
.site-footer__legal a {
  white-space: nowrap;
}

.site-footer__credit-label {
  margin: 0 0 5px;
  color: var(--paper);
  font-size: 9px;
  line-height: 11px;
}

.site-footer__credit img {
  display: block;
  width: auto;
  height: auto;
  object-fit: contain;
}

.site-footer__credit--development img {
  width: 60%;
  max-width: 100%;
}

.site-footer__credit--branding img {
  width: 60%;
  max-width: 100%;
}

.site-footer__legal a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.site-footer__accessibility {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.site-footer__accessibility img {
  width: 35%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.site-footer__address,
.site-footer__contact,
.site-footer__credit,
.site-footer__legal,
.site-footer__accessibility {
  min-width: 0;
}


/* Reusable scroll-reveal module */
.media-reveal { overflow: hidden; }
.media-reveal__mask {
  height: 100%;
  min-height: inherit;
  overflow: hidden;
  clip-path: inset(100% 0 0 0);
  opacity: 0;
  transform: translateY(24px);
  transition:
    clip-path 1.5s cubic-bezier(.19,1,.22,1) .2s,
    opacity 1.1s ease .2s,
    transform 1.5s cubic-bezier(.19,1,.22,1) .2s;
}
.media-reveal.is-visible .media-reveal__mask {
  clip-path: inset(0 0 0 0);
  opacity: 1;
  transform: translateY(0);
}
.media-reveal img {
  transform: scale(1.035);
  transition: transform 1.75s cubic-bezier(.19,1,.22,1) .2s;
}
.media-reveal.is-visible img { transform: scale(1); }

.reveal-copy {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .7s ease, transform .8s cubic-bezier(.19,1,.22,1);
}
.reveal-copy.is-visible { opacity: 1; transform: translateY(0); }

.hero-fade {
  opacity: 0;
  transform: translateY(8px);
  animation: heroFade .9s ease forwards;
}
.hero-delay-1 { animation-delay: .10s; }
.hero-delay-2 { animation-delay: .18s; }
.hero-delay-3 { animation-delay: .26s; }
@keyframes heroFade {
  to { opacity: 1; transform: translateY(0); }
}


/* ==========================================================================
   Hamburger navigation
   ========================================================================== */

body.menu-open {
  overflow: hidden;
}

.menu-button {
  position: relative;
  z-index: 202;
}

.menu-button span {
  transition: transform .3s ease, opacity .2s ease;
  transform-origin: center;
}

.menu-button.is-active span:nth-child(1) {
  transform: translateY(5px) rotate(45deg);
}

.menu-button.is-active span:nth-child(2) {
  opacity: 0;
}

.menu-button.is-active span:nth-child(3) {
  transform: translateY(-5px) rotate(-45deg);
}

.menu-panel {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 200;
  width: 350px;
  min-height: 575px;
  padding: 58px 48px 46px;
  background: var(--sage);
  color: var(--paper);
  font-family: var(--sans);
  opacity: 0;
  visibility: hidden;
  transform: translateX(100%);
  transition:
    transform .45s cubic-bezier(.19,1,.22,1),
    opacity .3s ease,
    visibility 0s linear .45s;
}

.menu-panel.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  transition:
    transform .45s cubic-bezier(.19,1,.22,1),
    opacity .3s ease,
    visibility 0s linear 0s;
}

.menu-panel__nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 34px;
}

.menu-panel__nav a {
  position: relative;
  color: var(--paper);
  font-family: var(--sans);
  font-size: 18px;
  line-height: 24px;
  font-weight: 500;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}

.menu-panel__nav a.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -7px;
  height: 3px;
  background: var(--ink);
}

@media (prefers-reduced-motion: reduce) {
  .residences-page .residences-hero__dining,
  .residences-page .residences-hero__living,
  .residences-page .residences-hero__bedroom,
  .residences-page .residences-hero__title {
    clip-path: none;
    opacity: 1;
    animation: none;
  }


  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .media-reveal__mask { clip-path: none; opacity: 1; transform: none; }
  .reveal-copy, .hero-fade { opacity: 1; transform: none; }
}

.cta-section p{
	max-width: 480px;
}

@media (max-width: 1550px) {
	
.split-module--image-right { grid-template-columns: .85fr 1.8fr; }
.story-block figure { margin: 0; min-height: 440px; }
.copy-block { max-width: 440px; }
.story-block--dark .copy-block { color: var(--paper); }
.copy-block h2,
.residence-feature h2 {
  margin: 0 0 22px;
  font-size: 26px;
  line-height: 32px;
}	
.hero-grid {
  grid-template-columns: .65fr .75fr .9fr;
  grid-template-rows: 340px 250px;
}
	.hero-card {
		padding: 30px;
	}
	
	.hero-card .eyebrow{
		margin-bottom: 20px;
	}
 .eyebrow {
	 margin-bottom: 10px;

  font-size: 24px;
  line-height: 30px;
}

.hero-card p:last-child {

    font-size: 16px;
  line-height: 22px;
}

body:not(.residences-page):not(.amenities-page):not(.availability-page):not(.neighborhood-page):not(.contact-page) .hero-card {
  padding: 18px 24px;
}

body:not(.residences-page):not(.amenities-page):not(.availability-page):not(.neighborhood-page):not(.contact-page) .hero-card .eyebrow {
  font-size: 24px;
  line-height: 28px;
  margin-bottom: 14px;
}	
}

@media (max-width: 1450px) {

body:not(.residences-page):not(.amenities-page):not(.availability-page):not(.neighborhood-page):not(.contact-page) .hero-card .eyebrow {
  font-size: 20px;
  line-height: 24px;
}	
}
/* Desktop / large-tablet safety only. Mobile intentionally not designed yet. */
@media (max-width: 1250px) {
  .shell { width: min(calc(100% - 90px), var(--shell)); }
  .site-nav { gap: 35px; }
  .split-module { gap: 70px; }
  .hero-grid { grid-template-rows: 230px 240px; }
}
@media (max-width: 850px) {

body:not(.residences-page):not(.amenities-page):not(.availability-page):not(.neighborhood-page):not(.contact-page) .hero-card .eyebrow {
  font-size: 18px;
  line-height: 20px;
}	
    .hero-grid {
        grid-template-rows: 280px 280px;
    }	
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {
  display: none !important;
}

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
  white-space: inherit;
}

.invisible {
  visibility: hidden;
}

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   ========================================================================== */

@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 1.25dppx),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important;
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre {
        white-space: pre-wrap !important;
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}


/* ==========================================================================
   Residences page
   ========================================================================== */

.residences-page .residences-hero {
  padding: 80px 0;
}

.residences-page .residences-hero__grid {
  display: grid;
  grid-template-columns: .62fr .92fr .82fr;
  grid-template-rows: 300px 260px;
  gap: 14px;
}

.residences-page .residences-hero__grid figure {
  margin: 0;
  overflow: hidden;
}

.residences-page .residences-hero__dining {
  grid-column: 1;
  grid-row: 1;
}

.residences-page .residences-hero__living {
  grid-column: 2 / 4;
  grid-row: 1;
}

.residences-page .residences-hero__bedroom {
  grid-column: 1 / 3;
  grid-row: 2;
}

.residences-page .residences-hero__title {
  grid-column: 3;
  grid-row: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--sage);
  color: var(--paper);
  font-family: var(--sans);
  font-weight: 500;
  text-transform: uppercase;
  font-size: 28px;
  line-height: 34px;
  letter-spacing: 1px;
}

.residences-page .residence-story {
  padding: 120px 0;
}

.residences-page .residence-story__inner {
  display: grid;
  grid-template-columns: 1.55fr .8fr;
  gap: 95px;
  align-items: center;
}

.residences-page .residence-story--image-right .residence-story__inner {
  grid-template-columns: .8fr 1.55fr;
}

.residences-page .residence-story figure {
  margin: 0;
  min-height: 470px;
}

.residences-page .residence-story .copy-block {
  max-width: 420px;
}

.residences-page .residence-story--dark {
  background-color: var(--ink);
  background-image: url("../img/pattern.png");
  background-size: 422px auto;
  background-position: top left;
  background-repeat: repeat;
}

.residences-page .residence-story--light {
  background-color: var(--paper);
  background-image: url("../img/pattern.png");
  background-size: 422px auto;
  background-position: top left;
  background-repeat: repeat;
}

.residences-page .residence-story--dark .copy-block {
  color: var(--paper);
}

.residences-page .residence-story--light .copy-block {
  color: var(--ink);
}

.residences-page .residences-finale {
  padding: 95px 0 120px;
  background-color: var(--ink);
  background-image: url("../img/pattern.png");
  background-size: 422px auto;
  background-position: top left;
  background-repeat: repeat;
  color: var(--paper);
}

.residences-page .residences-finale__copy {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 48px;
}

.residences-page .residences-finale__copy .eyebrow {
  color: var(--paper);
  margin-bottom: 12px;
}

.hero-card p{
	max-width: 360px;
}

.residences-page .residences-finale__copy p {
  max-width: 620px;
  margin: 0 auto;
  font-family: var(--serif);
  font-weight: 300;
  font-size: 16px;
  line-height: 22px;
  letter-spacing: .5px;
}

.residences-page .residences-finale figure {
  margin: 0;
  min-height: 560px;
}

.residences-page .site-footer {
  background: var(--sage);
  background-image: none;
}



/* Residences hero directional mask reveals */
.residences-page .residences-hero__dining,
.residences-page .residences-hero__living,
.residences-page .residences-hero__bedroom,
.residences-page .residences-hero__title {
  opacity: 0;
  transform: none;
  will-change: clip-path, opacity;
}

.residences-page .residences-hero__dining {
  clip-path: inset(0 100% 0 0);
  animation: residencesMaskFromLeft 1.5s cubic-bezier(.19,1,.22,1) .25s forwards;
}

.residences-page .residences-hero__living {
  clip-path: inset(100% 0 0 0);
  animation: residencesMaskFromTop 1.5s cubic-bezier(.19,1,.22,1) .40s forwards;
}

.residences-page .residences-hero__bedroom {
  clip-path: inset(0 0 100% 0);
  animation: residencesMaskFromBottom 1.5s cubic-bezier(.19,1,.22,1) .55s forwards;
}

.residences-page .residences-hero__title {
  clip-path: inset(0 0 0 100%);
  animation: residencesMaskFromRight 1.5s cubic-bezier(.19,1,.22,1) .70s forwards;
}

@keyframes residencesMaskFromLeft {
  from {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
  to {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}

@keyframes residencesMaskFromTop {
  from {
    clip-path: inset(100% 0 0 0);
    opacity: 0;
  }
  to {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}

@keyframes residencesMaskFromBottom {
  from {
    clip-path: inset(0 0 100% 0);
    opacity: 0;
  }
  to {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}

@keyframes residencesMaskFromRight {
  from {
    clip-path: inset(0 0 0 100%);
    opacity: 0;
  }
  to {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}

@media (max-width: 1550px) {
  .residences-page .residences-hero__grid {
    grid-template-rows: 260px 220px;
  }

  .residences-page .residence-story__inner {
    gap: 70px;
  }

  .residences-page .residence-story figure {
    min-height: 420px;
  }

  .residences-page .residences-finale figure {
    min-height: 500px;
  }
}


/* ==========================================================================
   Homepage hero directional mask reveals
   ========================================================================== */

body:not(.residences-page) .hero .hero-grid__exterior,
body:not(.residences-page) .hero .hero-grid__lobby,
body:not(.residences-page) .hero .hero-card,
body:not(.residences-page) .hero .hero-grid__dining {
  opacity: 0;
  transform: none;
  will-change: clip-path, opacity;
}

body:not(.residences-page) .hero .hero-grid__exterior {
  clip-path: inset(0 100% 0 0);
  animation: homeHeroMaskFromLeft 1.5s cubic-bezier(.19,1,.22,1) .25s forwards;
}

body:not(.residences-page) .hero .hero-grid__lobby {
  clip-path: inset(100% 0 0 0);
  animation: homeHeroMaskFromTop 1.5s cubic-bezier(.19,1,.22,1) .40s forwards;
}

body:not(.residences-page) .hero .hero-card {
  clip-path: inset(0 0 100% 0);
  animation: homeHeroMaskFromBottom 1.5s cubic-bezier(.19,1,.22,1) .55s forwards;
}

body:not(.residences-page) .hero .hero-grid__dining {
  clip-path: inset(0 0 0 100%);
  animation: homeHeroMaskFromRight 1.5s cubic-bezier(.19,1,.22,1) .70s forwards;
}

@keyframes homeHeroMaskFromLeft {
  from { clip-path: inset(0 100% 0 0); opacity: 0; }
  to { clip-path: inset(0 0 0 0); opacity: 1; }
}

@keyframes homeHeroMaskFromTop {
  from { clip-path: inset(100% 0 0 0); opacity: 0; }
  to { clip-path: inset(0 0 0 0); opacity: 1; }
}

@keyframes homeHeroMaskFromBottom {
  from { clip-path: inset(0 0 100% 0); opacity: 0; }
  to { clip-path: inset(0 0 0 0); opacity: 1; }
}

@keyframes homeHeroMaskFromRight {
  from { clip-path: inset(0 0 0 100%); opacity: 0; }
  to { clip-path: inset(0 0 0 0); opacity: 1; }
}


@media (prefers-reduced-motion: reduce) {
  body:not(.residences-page) .hero .hero-grid__exterior,
  body:not(.residences-page) .hero .hero-grid__lobby,
  body:not(.residences-page) .hero .hero-card,
  body:not(.residences-page) .hero .hero-grid__dining {
    clip-path: none;
    opacity: 1;
    animation: none;
  }
}


/* ==========================================================================
   Amenities page
   ========================================================================== */

.amenities-page .amenities-hero {
  padding: 86px 0 92px;
}

.amenities-page .amenities-hero__grid {
  display: grid;
  grid-template-columns: .92fr 1.02fr .86fr;
  grid-template-rows: 255px 240px;
  gap: 14px;
}

.amenities-page .amenities-hero__grid figure {
  margin: 0;
  overflow: hidden;
}

.amenities-page .amenities-hero__people {
  grid-column: 1;
  grid-row: 1 / 3;
}

.amenities-page .amenities-hero__fitness {
  grid-column: 2 / 4;
  grid-row: 1;
}

.amenities-page .amenities-hero__title {
  grid-column: 2;
  grid-row: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--sage);
  color: var(--paper);
  font-family: var(--sans);
  font-weight: 500;
  text-transform: uppercase;
  font-size: 28px;
  line-height: 34px;
  letter-spacing: 5px;
}

.amenities-page .amenities-hero__lounge {
  grid-column: 3;
  grid-row: 2;
}

/* Directional hero mask reveals */
.amenities-page .amenities-hero__people,
.amenities-page .amenities-hero__fitness,
.amenities-page .amenities-hero__title,
.amenities-page .amenities-hero__lounge {
  opacity: 0;
  transform: none;
  will-change: clip-path, opacity;
}

.amenities-page .amenities-hero__people {
  clip-path: inset(0 100% 0 0);
  animation: amenitiesMaskFromLeft 1.5s cubic-bezier(.19,1,.22,1) .25s forwards;
}

.amenities-page .amenities-hero__fitness {
  clip-path: inset(100% 0 0 0);
  animation: amenitiesMaskFromTop 1.5s cubic-bezier(.19,1,.22,1) .40s forwards;
}

.amenities-page .amenities-hero__title {
  clip-path: inset(0 0 100% 0);
  animation: amenitiesMaskFromBottom 1.5s cubic-bezier(.19,1,.22,1) .55s forwards;
}

.amenities-page .amenities-hero__lounge {
  clip-path: inset(0 0 0 100%);
  animation: amenitiesMaskFromRight 1.5s cubic-bezier(.19,1,.22,1) .70s forwards;
}

@keyframes amenitiesMaskFromLeft {
  from { clip-path: inset(0 100% 0 0); opacity: 0; }
  to { clip-path: inset(0 0 0 0); opacity: 1; }
}

@keyframes amenitiesMaskFromTop {
  from { clip-path: inset(100% 0 0 0); opacity: 0; }
  to { clip-path: inset(0 0 0 0); opacity: 1; }
}

@keyframes amenitiesMaskFromBottom {
  from { clip-path: inset(0 0 100% 0); opacity: 0; }
  to { clip-path: inset(0 0 0 0); opacity: 1; }
}

@keyframes amenitiesMaskFromRight {
  from { clip-path: inset(0 0 0 100%); opacity: 0; }
  to { clip-path: inset(0 0 0 0); opacity: 1; }
}

.amenities-page .amenities-showcase {
  padding: 52px 0 135px;
  background-color: var(--ink);
  background-image: url("../img/pattern.png");
  background-size: 422px auto;
  background-position: top left;
  background-repeat: repeat;
  color: var(--paper);
  overflow: hidden;
}

.amenities-page .amenities-showcase__intro {
  max-width: 700px;
  margin: 0 auto 32px;
  text-align: center;
}

.amenities-page .amenities-showcase__intro .eyebrow {
  margin-bottom: 10px;
  color: var(--paper);
}

.amenities-page .amenities-showcase__intro p {
  max-width: 620px;
  margin: 0 auto;
  font-family: var(--serif);
  font-weight: 300;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: .2px;
}

.amenities-page .amenities-carousel-wrap {
  position: relative;
  width: 100%;
  max-width: 1800px;
  margin: 0 auto;
}

.amenities-page .amenities-carousel .owl-stage {
  display: flex;
}

.amenities-page .amenities-carousel .owl-item {
  display: flex;
  height: auto;
}

.amenities-page .amenity-card {
  width: 100%;
  background: var(--paper);
  color: var(--ink);
  display: flex;
  flex-direction: column;
}

.amenities-page .amenity-card__image {
  height: 305px;
  overflow: hidden;
}

.amenities-page .amenity-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.amenities-page .amenity-card__copy {
  min-height: 155px;
  padding: 22px 36px 26px;
}

.amenities-page .amenity-card__copy h3 {
  margin: 0 0 14px;
  font-family: var(--sans);
  font-size: 19px;
  line-height: 24px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.amenities-page .amenity-card__copy p {
  max-width: 360px;
  margin: 0;
  font-family: var(--serif);
  font-weight: 300;
  font-size: 14px;
  line-height: 20px;
}

.amenities-page .amenities-carousel .owl-nav {
  margin: 0;
}

.amenities-page .amenities-carousel .owl-nav button.owl-prev,
.amenities-page .amenities-carousel .owl-nav button.owl-next {
  position: absolute;
  top: 150px;
  width: 61px;
  height: 61px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjEiIGhlaWdodD0iNjEiIHZpZXdCb3g9IjAgMCA2MSA2MSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjYxIiBoZWlnaHQ9IjYxIiByeD0iMzAuNSIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgMCAwIDEgNjEgMCkiIGZpbGw9IiNFOEU2RTAiLz4KPHBhdGggZD0iTTMyLjYzNTggMzIuOTE0MkMzMy40MTY4IDMyLjEzMzIgMzMuNDE2OCAzMC44NjY4IDMyLjYzNTggMzAuMDg1OEwyNS42ODkyIDIzLjEzOTJDMjQuOTA4MiAyMi4zNTgyIDI0LjkwODIgMjEuMDkxOCAyNS42ODkyIDIwLjMxMDhMMjUuODM1OCAyMC4xNjQyQzI2LjYxNjggMTkuMzgzMiAyNy44ODMyIDE5LjM4MzIgMjguNjY0MiAyMC4xNjQyTDM4LjU4NTggMzAuMDg1OEMzOS4zNjY4IDMwLjg2NjggMzkuMzY2OCAzMi4xMzMyIDM4LjU4NTggMzIuOTE0MkwyOC42NjQyIDQyLjgzNThDMjcuODgzMiA0My42MTY4IDI2LjYxNjggNDMuNjE2OCAyNS44MzU4IDQyLjgzNThMMjUuNjg5MiA0Mi42ODkyQzI0LjkwODIgNDEuOTA4MiAyNC45MDgyIDQwLjY0MTggMjUuNjg5MiAzOS44NjA4TDMyLjYzNTggMzIuOTE0MloiIGZpbGw9IiMyMDI2MkUiLz4KPC9zdmc+Cg==") center / contain no-repeat;
  color: transparent;
  display: block;
  transition: transform .2s ease;
}

.amenities-page .amenities-carousel .owl-nav button.owl-prev {
  left: 18px;
  transform: scaleX(-1);
}

.amenities-page .amenities-carousel .owl-nav button.owl-next {
  right: 18px;
}

.amenities-page .amenities-carousel .owl-nav button.owl-prev:hover {
  transform: scaleX(-1) scale(1.04);
}

.amenities-page .amenities-carousel .owl-nav button.owl-next:hover {
  transform: scale(1.04);
}

.amenities-page .amenities-carousel .owl-nav button span {
  display: none;
}

.amenities-page .amenities-carousel .owl-dots {
  display: none;
}

.amenities-page .site-footer {
  background: var(--sage);
  background-image: none;
}

@media (max-width: 1550px) {
  .amenities-page .amenities-hero__grid {
    grid-template-rows: 245px 235px;
  }

  .amenities-page .amenity-card__image {
    height: 285px;
  }

  .amenities-page .amenities-carousel .owl-nav button.owl-prev,
  .amenities-page .amenities-carousel .owl-nav button.owl-next {
    top: 140px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .amenities-page .amenities-hero__people,
  .amenities-page .amenities-hero__fitness,
  .amenities-page .amenities-hero__title,
  .amenities-page .amenities-hero__lounge {
    clip-path: none;
    opacity: 1;
    animation: none;
  }
}


/* ==========================================================================
   Availability page
   ========================================================================== */

.availability-page .availability-main {
  padding: 86px 0 100px;
}

.availability-page .availability-hero__grid {
  display: grid;
  grid-template-columns: .92fr 1.05fr .96fr;
  grid-template-rows: 250px 270px;
  gap: 14px;
}

.availability-page .availability-hero__grid figure {
  position: relative;
  margin: 0;
  overflow: hidden;
}

.availability-page .availability-hero__lounge {
  grid-column: 1;
  grid-row: 1;
}

.availability-page .availability-hero__title {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--sage);
  color: var(--paper);
  font-family: var(--sans);
  font-weight: 500;
  text-transform: uppercase;
  font-size: 28px;
  line-height: 34px;
  letter-spacing: 5px;
}

.availability-page .availability-hero__kitchen {
  grid-column: 3;
  grid-row: 1 / 3;
}

.availability-page .availability-hero__living {
  grid-column: 1 / 3;
  grid-row: 2;
}

.availability-page .availability-hero__fpo {
  position: absolute;
  left: 18px;
  bottom: 16px;
  z-index: 2;
  color: rgba(255,255,255,.9);
  font-family: var(--sans);
  font-size: 28px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 1px;
}

/* Directional hero mask reveals */
.availability-page .availability-hero__lounge,
.availability-page .availability-hero__title,
.availability-page .availability-hero__living,
.availability-page .availability-hero__kitchen {
  opacity: 0;
  transform: none;
  will-change: clip-path, opacity;
}

.availability-page .availability-hero__lounge {
  clip-path: inset(0 100% 0 0);
  animation: availabilityMaskFromLeft 1.5s cubic-bezier(.19,1,.22,1) .25s forwards;
}

.availability-page .availability-hero__title {
  clip-path: inset(100% 0 0 0);
  animation: availabilityMaskFromTop 1.5s cubic-bezier(.19,1,.22,1) .40s forwards;
}

.availability-page .availability-hero__living {
  clip-path: inset(0 0 100% 0);
  animation: availabilityMaskFromBottom 1.5s cubic-bezier(.19,1,.22,1) .55s forwards;
}

.availability-page .availability-hero__kitchen {
  clip-path: inset(0 0 0 100%);
  animation: availabilityMaskFromRight 1.5s cubic-bezier(.19,1,.22,1) .70s forwards;
}

@keyframes availabilityMaskFromLeft {
  from { clip-path: inset(0 100% 0 0); opacity: 0; }
  to { clip-path: inset(0 0 0 0); opacity: 1; }
}

@keyframes availabilityMaskFromTop {
  from { clip-path: inset(100% 0 0 0); opacity: 0; }
  to { clip-path: inset(0 0 0 0); opacity: 1; }
}

@keyframes availabilityMaskFromBottom {
  from { clip-path: inset(0 0 100% 0); opacity: 0; }
  to { clip-path: inset(0 0 0 0); opacity: 1; }
}

@keyframes availabilityMaskFromRight {
  from { clip-path: inset(0 0 0 100%); opacity: 0; }
  to { clip-path: inset(0 0 0 0); opacity: 1; }
}

.availability-page .availability-listing {
  padding-top: 62px;
}

.availability-page .availability-listing__intro {
  margin: 0 auto 42px;
  text-align: center;
}

.availability-page .availability-listing__intro .eyebrow {
  margin-bottom: 8px;
  color: var(--ink);
  letter-spacing: 5px;
}

.availability-page .availability-listing__intro p {
  margin: 0;
  font-family: var(--serif);
  font-weight: 300;
  font-size: 14px;
  line-height: 20px;
}

.availability-page .availability-table-wrap {
  width: 100%;
}

.availability-page .availability-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-family: var(--sans);
  font-size: 12px;
  line-height: 16px;
  text-transform: uppercase;
}

.availability-page .availability-table col:nth-child(1) { width: 12%; }
.availability-page .availability-table col:nth-child(2) { width: 30%; }
.availability-page .availability-table col:nth-child(3) { width: 15%; }
.availability-page .availability-table col:nth-child(4) { width: 27%; }
.availability-page .availability-table col:nth-child(5) { width: 16%; }

.availability-page .availability-table th,
.availability-page .availability-table td {
  padding: 15px 22px;
  text-align: left;
  font-weight: 500;
  vertical-align: middle;
}

.availability-page .availability-table thead th {
  background: var(--ink);
  color: var(--paper);
}

.availability-page .availability-table tbody tr:nth-child(odd) {
  background: rgba(232, 230, 224, .68);
}

.availability-page .availability-table tbody tr:nth-child(even) {
  background: #C6BAAB;
}

.availability-page .availability-table tbody td {
  color: var(--ink);
}

.availability-page .availability-table a {
  color: inherit;
  text-decoration: none;
}

.availability-page .availability-table a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.availability-page .site-footer {
  background: var(--ink);
  background-image: none;
}

@media (max-width: 1550px) {
  .availability-page .availability-hero__grid {
    grid-template-rows: 230px 245px;
  }

  .availability-page .availability-table th,
  .availability-page .availability-table td {
    padding: 14px 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .availability-page .availability-hero__lounge,
  .availability-page .availability-hero__title,
  .availability-page .availability-hero__living,
  .availability-page .availability-hero__kitchen {
    clip-path: none;
    opacity: 1;
    animation: none;
  }
}


/* ==========================================================================
   Hamburger panel close button
   ========================================================================== */

.menu-panel__close {
  position: absolute;
  top: 24px;
  right: 24px;
  z-index: 203;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--paper);
  cursor: pointer;
}

.menu-panel__close::before,
.menu-panel__close::after {
  content: "";
  position: absolute;
  top: 15px;
  left: 4px;
  width: 24px;
  height: 1px;
  background: currentColor;
  transform-origin: center;
}

.menu-panel__close::before {
  transform: rotate(45deg);
}

.menu-panel__close::after {
  transform: rotate(-45deg);
}

.menu-panel.is-open ~ .menu-button,
.site-header:has(.menu-panel.is-open) .menu-button {
  visibility: hidden;
  pointer-events: none;
}


/* ==========================================================================
   Neighborhood page
   ========================================================================== */

.neighborhood-page .neighborhood-main {
  background-color: var(--paper);
  background-image: url("../img/pattern.png");
  background-size: 422px auto;
  background-position: top left;
  background-repeat: repeat;
}

.neighborhood-page .neighborhood-hero {
  padding: 86px 0 76px;
}

.neighborhood-page .neighborhood-hero__grid {
  display: grid;
  grid-template-columns: 1fr 1.02fr .92fr;
  grid-template-rows: 245px 255px;
  gap: 14px;
}

.neighborhood-page .neighborhood-hero__grid figure {
  position: relative;
  margin: 0;
  overflow: hidden;
}

.neighborhood-page .neighborhood-hero__title {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--sage);
  color: var(--paper);
  font-family: var(--sans);
  font-weight: 500;
  text-transform: uppercase;
  font-size: 28px;
  line-height: 34px;
  letter-spacing: 5px;
}

.neighborhood-page .neighborhood-hero__street {
  grid-column: 2 / 4;
  grid-row: 1;
}

.neighborhood-page .neighborhood-hero__train {
  grid-column: 1 / 3;
  grid-row: 2;
}

.neighborhood-page .neighborhood-hero__courtyard {
  grid-column: 3;
  grid-row: 2;
}

.neighborhood-page .neighborhood-hero__fpo {
  position: absolute;
  left: 18px;
  bottom: 16px;
  z-index: 2;
  color: rgba(255,255,255,.92);
  font-family: var(--sans);
  font-size: 28px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 1px;
}

/* Directional hero masks */
.neighborhood-page .neighborhood-hero__title,
.neighborhood-page .neighborhood-hero__street,
.neighborhood-page .neighborhood-hero__train,
.neighborhood-page .neighborhood-hero__courtyard {
  opacity: 0;
  transform: none;
  will-change: clip-path, opacity;
}

.neighborhood-page .neighborhood-hero__title {
  clip-path: inset(0 100% 0 0);
  animation: neighborhoodMaskFromLeft 1.5s cubic-bezier(.19,1,.22,1) .25s forwards;
}

.neighborhood-page .neighborhood-hero__street {
  clip-path: inset(100% 0 0 0);
  animation: neighborhoodMaskFromTop 1.5s cubic-bezier(.19,1,.22,1) .40s forwards;
}

.neighborhood-page .neighborhood-hero__train {
  clip-path: inset(0 0 100% 0);
  animation: neighborhoodMaskFromBottom 1.5s cubic-bezier(.19,1,.22,1) .55s forwards;
}

.neighborhood-page .neighborhood-hero__courtyard {
  clip-path: inset(0 0 0 100%);
  animation: neighborhoodMaskFromRight 1.5s cubic-bezier(.19,1,.22,1) .70s forwards;
}

@keyframes neighborhoodMaskFromLeft {
  from { clip-path: inset(0 100% 0 0); opacity: 0; }
  to { clip-path: inset(0 0 0 0); opacity: 1; }
}

@keyframes neighborhoodMaskFromTop {
  from { clip-path: inset(100% 0 0 0); opacity: 0; }
  to { clip-path: inset(0 0 0 0); opacity: 1; }
}

@keyframes neighborhoodMaskFromBottom {
  from { clip-path: inset(0 0 100% 0); opacity: 0; }
  to { clip-path: inset(0 0 0 0); opacity: 1; }
}

@keyframes neighborhoodMaskFromRight {
  from { clip-path: inset(0 0 0 100%); opacity: 0; }
  to { clip-path: inset(0 0 0 0); opacity: 1; }
}

.neighborhood-page .neighborhood-intro {
  padding: 12px 0 42px;
}

.neighborhood-page .neighborhood-intro__copy {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.neighborhood-page .neighborhood-intro__copy .eyebrow {
  margin-bottom: 12px;
  color: var(--ink);
  letter-spacing: 4px;
}

.neighborhood-page .neighborhood-intro__copy p {
  max-width: 660px;
  margin: 0 auto;
  font-family: var(--serif);
  font-weight: 300;
  font-size: 14px;
  line-height: 20px;
}

.neighborhood-page .neighborhood-map-section {
  padding: 0 0 92px;
}

.neighborhood-page .neighborhood-map-layout {
  display: grid;
  grid-template-columns: 1.65fr .75fr;
  align-items: start;
  gap: 32px;
}

.neighborhood-page .neighborhood-map {
  position: relative;
  min-height: 470px;
  overflow: hidden;
  background: #d9dedf;
}

.neighborhood-page .neighborhood-map img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.neighborhood-page .neighborhood-map__marker {
  position: absolute;
  left: 48%;
  top: 49%;
  transform: translate(-50%, -50%);
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: var(--sage);
  border: 4px solid rgba(232,230,224,.95);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--paper);
  font-family: var(--sans);
  font-size: 9px;
  line-height: 11px;
  letter-spacing: 1px;
  text-align: center;
  text-transform: uppercase;
}

.neighborhood-page .neighborhood-map__note {
  position: absolute;
  left: 16px;
  bottom: 14px;
  padding: 7px 10px;
  background: rgba(232,230,224,.92);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 9px;
  line-height: 12px;
  letter-spacing: .8px;
  text-transform: uppercase;
}

.neighborhood-page .neighborhood-categories {
  padding-top: 18px;
  font-family: var(--sans);
}

.neighborhood-page .neighborhood-category {
  border-bottom: 1px solid rgba(32,38,46,.22);
}

.neighborhood-page .neighborhood-category__button {
  width: 100%;
  padding: 11px 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
  cursor: pointer;
  font-family: var(--sans);
  font-size: 15px;
  line-height: 20px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.neighborhood-page .neighborhood-category__button::before {
  content: "+";
  flex: 0 0 16px;
  font-size: 20px;
  line-height: 16px;
  font-weight: 300;
}

.neighborhood-page .neighborhood-category.is-open .neighborhood-category__button::before {
  content: "−";
}

.neighborhood-page .neighborhood-category__button--static::before {
  content: "●";
  color: var(--sage);
  font-size: 10px;
}

.neighborhood-page .neighborhood-category__content {
  display: none;
  padding: 0 0 13px 26px;
}

.neighborhood-page .neighborhood-category.is-open .neighborhood-category__content {
  display: block;
}

.neighborhood-page .neighborhood-category__content p {
  margin: 0 0 5px;
  font-family: var(--serif);
  font-size: 11px;
  line-height: 15px;
  text-transform: none;
  letter-spacing: 0;
}

.neighborhood-page .neighborhood-gallery {
  padding: 88px 0 74px;
  background-color: var(--ink);
  background-image: url("../img/pattern.png");
  background-size: 422px auto;
  background-position: top left;
  background-repeat: repeat;
  color: var(--paper);
}

.neighborhood-page .neighborhood-gallery__frame {
  width: min(calc(100% - 160px), 1220px);
  margin: 0 auto;
}

.neighborhood-page .neighborhood-gallery .owl-stage-outer {
  overflow: hidden;
}

.neighborhood-page .neighborhood-gallery__slide {
  height: 560px;
  overflow: hidden;
}

.neighborhood-page .neighborhood-gallery__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.neighborhood-page .neighborhood-gallery .owl-dots {
  margin-top: -65px;
  position: relative;
  z-index: 3;
  text-align: center;
}

.neighborhood-page .neighborhood-gallery .owl-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
}

.neighborhood-page .neighborhood-gallery .owl-dot span {
  width: 9px;
  height: 9px;
  margin: 0;
  border-radius: 50%;
  background: rgba(232,230,224,.45);
}

.neighborhood-page .neighborhood-gallery .owl-dot.active span {
  background: var(--paper);
}

.neighborhood-page .neighborhood-gallery .owl-nav {
  margin: 0;
}

.neighborhood-page .neighborhood-gallery .owl-nav button.owl-prev,
.neighborhood-page .neighborhood-gallery .owl-nav button.owl-next {
  position: absolute;
  top: 50%;
  width: 61px;
  height: 61px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjEiIGhlaWdodD0iNjEiIHZpZXdCb3g9IjAgMCA2MSA2MSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjYxIiBoZWlnaHQ9IjYxIiByeD0iMzAuNSIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgMCAwIDEgNjEgMCkiIGZpbGw9IiNFOEU2RTAiLz4KPHBhdGggZD0iTTMyLjYzNTggMzIuOTE0MkMzMy40MTY4IDMyLjEzMzIgMzMuNDE2OCAzMC44NjY4IDMyLjYzNTggMzAuMDg1OEwyNS42ODkyIDIzLjEzOTJDMjQuOTA4MiAyMi4zNTgyIDI0LjkwODIgMjEuMDkxOCAyNS42ODkyIDIwLjMxMDhMMjUuODM1OCAyMC4xNjQyQzI2LjYxNjggMTkuMzgzMiAyNy44ODMyIDE5LjM4MzIgMjguNjY0MiAyMC4xNjQyTDM4LjU4NTggMzAuMDg1OEMzOS4zNjY4IDMwLjg2NjggMzkuMzY2OCAzMi4xMzMyIDM4LjU4NTggMzIuOTE0MkwyOC42NjQyIDQyLjgzNThDMjcuODgzMiA0My42MTY4IDI2LjYxNjggNDMuNjE2OCAyNS44MzU4IDQyLjgzNThMMjUuNjg5MiA0Mi42ODkyQzI0LjkwODIgNDEuOTA4MiAyNC45MDgyIDQwLjY0MTggMjUuNjg5MiAzOS44NjA4TDMyLjYzNTggMzIuOTE0MloiIGZpbGw9IiMyMDI2MkUiLz4KPC9zdmc+Cg==") center / contain no-repeat;
  color: transparent;
  display: block;
  transition: transform .2s ease;
  z-index: 4;
}

.neighborhood-page .neighborhood-gallery .owl-nav button.owl-prev {
  left: 18px;
  transform: translateY(-50%) scaleX(-1);
}

.neighborhood-page .neighborhood-gallery .owl-nav button.owl-next {
  right: 18px;
  transform: translateY(-50%);
}

.neighborhood-page .neighborhood-gallery .owl-nav button.owl-prev:hover {
  transform: translateY(-50%) scaleX(-1) scale(1.04);
}

.neighborhood-page .neighborhood-gallery .owl-nav button.owl-next:hover {
  transform: translateY(-50%) scale(1.04);
}

.neighborhood-page .neighborhood-gallery .owl-nav button span {
  display: none;
}

.neighborhood-page .neighborhood-gallery__copy {
  max-width: 760px;
  margin: 60px auto 0;
  text-align: center;
}

.neighborhood-page .neighborhood-gallery__copy .eyebrow {
  margin-bottom: 10px;
  color: var(--paper);
  letter-spacing: 4px;
}

.neighborhood-page .neighborhood-gallery__copy p {
  max-width: 680px;
  margin: 0 auto;
  font-family: var(--serif);
  font-size: 13px;
  line-height: 19px;
}

.neighborhood-page .site-footer {
  background: var(--sage);
  background-image: none;
}

@media (max-width: 1550px) {
  .neighborhood-page .neighborhood-hero__grid {
    grid-template-rows: 220px 230px;
  }

  .neighborhood-page .neighborhood-map {
    min-height: 420px;
  }

  .neighborhood-page .neighborhood-gallery__slide {
    height: 500px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .neighborhood-page .neighborhood-hero__title,
  .neighborhood-page .neighborhood-hero__street,
  .neighborhood-page .neighborhood-hero__train,
  .neighborhood-page .neighborhood-hero__courtyard {
    clip-path: none;
    opacity: 1;
    animation: none;
  }
}


/* ==========================================================================
   Contact page
   ========================================================================== */

.contact-page .contact-main {
  padding: 86px 0 92px;
  background-color: var(--paper);
  background-image: url("../img/pattern.png");
  background-size: 422px auto;
  background-position: top left;
  background-repeat: repeat;
}

.contact-page .contact-layout {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 92px;
  align-items: start;
}

.contact-page .contact-image {
  position: relative;
  margin: 0;
  min-height: 560px;
  overflow: hidden;
}

.contact-page .contact-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.contact-page .contact-image__fpo {
  position: absolute;
  left: 18px;
  bottom: 16px;
  z-index: 2;
  color: rgba(255,255,255,.92);
  font-family: var(--sans);
  font-size: 28px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 1px;
}

.contact-page .contact-image {
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  animation: contactMaskFromLeft 1.5s cubic-bezier(.19,1,.22,1) .30s forwards;
}

@keyframes contactMaskFromLeft {
  from {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
  to {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}

.contact-page .contact-copy {
  padding-top: 10px;
}

.contact-page .contact-copy .eyebrow {
  margin-bottom: 10px;
  color: var(--ink);
  letter-spacing: 4px;
}

.contact-page .contact-copy__intro {
  max-width: 560px;
  margin: 0 0 34px;
  font-family: var(--serif);
  font-weight: 300;
  font-size: 14px;
  line-height: 20px;
}

.contact-page .contact-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 46px;
  row-gap: 22px;
}

.contact-page .contact-field {
  min-width: 0;
}

.contact-page .contact-field--full {
  grid-column: 1 / -1;
}

.contact-page .contact-field label {
  display: block;
  margin-bottom: 6px;
  font-family: var(--sans);
  font-size: 10px;
  line-height: 13px;
  font-weight: 500;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}

.contact-page .contact-field input,
.contact-page .contact-field select {
  width: 100%;
  height: 32px;
  padding: 0 0 7px;
  border: 0;
  border-bottom: 1px solid rgba(32,38,46,.48);
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 12px;
  line-height: 16px;
  appearance: none;
}

.contact-page .contact-field input::placeholder {
  color: rgba(32,38,46,.34);
}

.contact-page .contact-field--select {
  position: relative;
}

.contact-page .contact-field--select::after {
  content: "";
  position: absolute;
  right: 2px;
  bottom: 12px;
  width: 7px;
  height: 7px;
  border-right: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  transform: rotate(45deg);
  pointer-events: none;
}

.contact-page .contact-form__submit {
  grid-column: 1 / -1;
  margin-top: 8px;
}

.contact-page .contact-form__submit button {
  width: 100%;
  min-height: 36px;
  border: 0;
  background: var(--sage);
  color: var(--paper);
  font-family: var(--sans);
  font-size: 10px;
  line-height: 14px;
  font-weight: 500;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s ease;
}

.contact-page .contact-form__submit button:hover {
  background: var(--ink);
}

.contact-page .contact-form__legal {
  grid-column: 1 / -1;
  margin: -10px 0 0;
  color: rgba(32,38,46,.38);
  font-family: var(--serif);
  font-size: 8px;
  line-height: 12px;
}

.contact-page .site-footer {
  background: var(--ink);
  background-image: none;
}

@media (max-width: 1550px) {
  .contact-page .contact-layout {
    gap: 72px;
  }

  .contact-page .contact-image {
    min-height: 520px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-page .contact-image {
    clip-path: none;
    opacity: 1;
    animation: none;
  }
}


/* ==========================================================================
   Mobile styles
   ========================================================================== */

@media (max-width: 767px) {

  /* --------------------------------------------------------------------------
     Global mobile foundation
     -------------------------------------------------------------------------- */

  html,
  body {
    width: 100%;
    min-width: 0;
    overflow-x: hidden;
  }

  body {
    font-size: 16px;
    line-height: 22px;
  }

  .shell {
    width: calc(100% - 40px);
    margin: 0 auto;
  }

  /* --------------------------------------------------------------------------
     Unified mobile typography
     -------------------------------------------------------------------------- */

  /* Shared headline sizing */
  .eyebrow,
  .copy-block h2,
  .residence-feature h2,
  .cta-section h2,
  .residences-page .residences-hero__title,
  .amenities-page .amenities-hero__title,
  .availability-page .availability-hero__title,
  .neighborhood-page .neighborhood-hero__title {
    font-size: 24px;
    line-height: 30px;
  }

  .eyebrow {
    margin-bottom: 8px;
    letter-spacing: 1px;
  }

  /* Shared body-copy sizing */
  .hero-card p:last-child,
  .copy-block p,
  .residence-feature__copy,
  .cta-section p,
  .residences-page .residences-finale__copy p,
  .amenities-page .amenities-showcase__intro p,
  .amenities-page .amenity-card__copy p,
  .availability-page .availability-listing__intro p,
  .neighborhood-page .neighborhood-intro__copy p,
  .neighborhood-page .neighborhood-category__content p,
  .neighborhood-page .neighborhood-gallery__copy p,
  .contact-page .contact-copy__intro {
    font-size: 16px;
    line-height: 22px;
  }

  /* UI / navigation / form / footer text stays independently sized */
  .menu-panel__nav a { font-size: 19px; line-height: 25px; }
  .text-link,
  .button { font-size: 10px; line-height: 14px; }
  .site-footer__address p,
  .site-footer__contact p,
  .site-footer__contact a,
  .site-footer__legal a { font-size: 11px; line-height: 17px; }
  .amenities-page .amenity-card__copy h3 { font-size: 15px; line-height: 20px; }
  .availability-page .availability-table { font-size: 10px; line-height: 14px; }
  .neighborhood-page .neighborhood-category__button { font-size: 13px; line-height: 18px; }
  .contact-page .contact-field input,
  .contact-page .contact-field select { font-size: 13px; line-height: 17px; }

  .copy-block,
  .residence-feature__heading,
  .residence-feature__copy {
    width: 100%;
  }

  .copy-block h2,
  .residence-feature h2 {
    margin-bottom: 16px;
  }

  .copy-block p,
  .residence-feature__copy {
    letter-spacing: .3px;
  }

  .text-link,
  .button {
	  display: inline-block;
    min-height: 0;
    padding: 15px 40px;
	text-align: center;  
    font-size: 14px;
    line-height: 14px;
    letter-spacing: 1.4px;
  }

  /* --------------------------------------------------------------------------
     Header + mobile navigation
     -------------------------------------------------------------------------- */
  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
  }

  body {
    padding-top: 70px;
  }
  .site-header__inner {
    min-height: 70px;
    grid-template-columns: 1fr auto;
    gap: 20px;
  }

  .site-logo {
    width: 160px;
  }

  .site-nav {
    display: block;
  }

  .menu-button {
    width: 27px;
    height: 22px;
    gap: 4px;
  }

  .menu-panel {
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    padding: 92px 28px 48px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .menu-panel__nav {
    width: 100%;
    gap: 30px;
  }

  .menu-panel__nav a {
    font-size: 19px;
    line-height: 25px;
    letter-spacing: 1.5px;
  }

  .menu-panel__nav a.is-active::after {
    bottom: -6px;
    height: 2px;
  }

  .menu-panel__close {
    top: 20px;
    right: 20px;
  }

  /* --------------------------------------------------------------------------
     Homepage hero
     -------------------------------------------------------------------------- */

  .hero {
    padding: 20px 0;
  }

  .hero-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 180px 235px 175px;
    gap: 8px;
  }

  .hero-grid__exterior {
    grid-column: 1 / 3;
    grid-row: 1;
  }

  .hero-card {
    grid-column: 1;
    grid-row: 2;
    padding: 22px 18px;
  }

  .hero-grid__lobby {
    grid-column: 2;
    grid-row: 2 / 4;
  }

  .hero-grid__dining {
    grid-column: 1;
    grid-row: 3;
  }

  .hero-card .eyebrow {
    margin-bottom: 12px;
    font-size: 24px;
    line-height: 29px;
  }

  .hero-card {
    padding: 18px 16px;
  }

  .hero-card p:last-child {
    letter-spacing: .2px;
  }

  /* --------------------------------------------------------------------------
     Homepage story modules
     -------------------------------------------------------------------------- */

  .story-block {
    padding: 68px 0;
  }

  .split-module,
  .split-module--image-right {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
  }

  .split-module > figure,
  .split-module--image-right > figure {
    order: 1;
  }

  .split-module > .copy-block,
  .split-module--image-right > .copy-block {
    order: 2;
  }

  .story-block figure {
    min-height: 0;
    height: 330px;
  }

  .residence-feature {
    padding: 68px 0 72px;
  }

  .residence-feature__inner {
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: start;
  }

  .cta-section {
    padding: 72px 0;
  }

  .cta-section__inner {
    width: calc(100% - 40px);
  }

  .cta-section h2 {
    margin-bottom: 12px;
  }

  .cta-section p, .contact-page .contact-copy__intro, .copy-block p, .residence-feature__copy, .neighborhood-page .neighborhood-intro__copy p, .neighborhood-page .neighborhood-gallery__copy p, .amenities-page .amenities-showcase__intro p {
	max-width: 500px;  
   width: 100%;
    margin-bottom: 20px;
  }

  /* --------------------------------------------------------------------------
     Footer
     -------------------------------------------------------------------------- */

  .site-footer__inner {
    min-height: 0;
    padding-top: 42px;
    padding-bottom: 42px;
    grid-template-columns: 1fr 1fr;
    column-gap: 24px;
    row-gap: 28px;
    align-items: start;
  }

  .site-footer__logo {
    grid-column: 1 / -1;
    width: 150px;
  }

  .site-footer__address,
  .site-footer__contact,
  .site-footer__credit,
  .site-footer__legal,
  .site-footer__accessibility {
    width: 100%;
  }

  .site-footer__address p,
  .site-footer__contact p,
  .site-footer__contact a,
  .site-footer__legal a {
    font-size: 11px;
    line-height: 17px;
  }

  .site-footer__credit-label {
    margin-bottom: 7px;
    font-size: 8px;
    line-height: 10px;
  }

  .site-footer__credit--development img,
  .site-footer__credit--branding img {
    width: auto;
    max-width: 120px;
    max-height: 36px;
  }
	
	.site-footer__credit--branding img{
		position: relative;
		top: -3px
	}

  .site-footer__accessibility {
    justify-content: flex-start;
	  
  }

  .site-footer__accessibility img {
    width: auto;
    max-width: 68px;
	margin-top: 5px;  
  }

  /* --------------------------------------------------------------------------
     Residences page
     -------------------------------------------------------------------------- */

  .residences-page .residences-hero {
    padding: 20px 0;
  }

  .residences-page .residences-hero__grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 175px 165px 210px;
    gap: 8px;
  }

  .residences-page .residences-hero__living {
    grid-column: 1 / 3;
    grid-row: 1;
  }

  .residences-page .residences-hero__dining {
    grid-column: 1;
    grid-row: 2;
  }

  .residences-page .residences-hero__title {
    grid-column: 2;
    grid-row: 2;
    letter-spacing: 2px;
  }

  .residences-page .residences-hero__bedroom {
    grid-column: 1 / 3;
    grid-row: 3;
  }

  .residences-page .residence-story {
    padding: 68px 0;
  }

  .residences-page .residence-story__inner,
  .residences-page .residence-story--image-right .residence-story__inner {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
  }

  .residences-page .residence-story__inner > figure {
    order: 1;
  }

  .residences-page .residence-story__inner > .copy-block {
    order: 2;
  }

  .residences-page .residence-story figure {
    min-height: 0;
    height: 340px;
  }


  .residences-page .residences-finale {
    padding: 68px 0 72px;
  }

  .residences-page .residences-finale__copy {
    margin-bottom: 30px;
  }

  .residences-page .residences-finale__copy p {
  }

  .residences-page .residences-finale figure {
    min-height: 0;
    height: 340px;
  }

  /* --------------------------------------------------------------------------
     Amenities page
     -------------------------------------------------------------------------- */

  .amenities-page .amenities-hero {
    padding: 20px 0;
  }

  .amenities-page .amenities-hero__grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 175px 165px 190px;
    gap: 8px;
  }

  .amenities-page .amenities-hero__people {
    grid-column: 1;
    grid-row: 1 / 3;
  }

  .amenities-page .amenities-hero__fitness {
    grid-column: 2;
    grid-row: 1;
  }

  .amenities-page .amenities-hero__title {
    grid-column: 2;
    grid-row: 2;
    letter-spacing: 2px;
  }

  .amenities-page .amenities-hero__lounge {
    grid-column: 1 / 3;
    grid-row: 3;
  }

  .amenities-page .amenities-showcase {
    padding: 62px 0 78px;
  }

  .amenities-page .amenities-showcase__intro {
    width: calc(100% - 40px);
    margin-bottom: 28px;
  }

  .amenities-page .amenities-showcase__intro p {
  }

  .amenities-page .amenities-carousel-wrap {
    width: calc(100% - 40px);
  }

  .amenities-page .amenity-card__image {
    height: 235px;
  }

  .amenities-page .amenity-card__copy {
    min-height: 0;
    padding: 22px 22px 26px;
  }

  .amenities-page .amenity-card__copy h3 {
    margin-bottom: 10px;
    letter-spacing: 2px;
  }

  .amenities-page .amenity-card__copy p {
  }

  .amenities-page .amenities-carousel .owl-nav button.owl-prev,
  .amenities-page .amenities-carousel .owl-nav button.owl-next {
    top: 105px;
    width: 48px;
    height: 48px;
  }

  .amenities-page .amenities-carousel .owl-nav button.owl-prev {
    left: 10px;
  }

  .amenities-page .amenities-carousel .owl-nav button.owl-next {
    right: 10px;
  }

  .amenities-page .amenities-carousel .owl-nav button span {
    display: none;
  }

  /* --------------------------------------------------------------------------
     Availability page
     -------------------------------------------------------------------------- */

  .availability-page .availability-main {
    padding: 20px 0 72px;
  }

  .availability-page .availability-hero__grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 165px 180px 190px;
    gap: 8px;
  }

  .availability-page .availability-hero__title {
    grid-column: 1;
    grid-row: 1;
    letter-spacing: 2px;
  }

  .availability-page .availability-hero__lounge {
    grid-column: 2;
    grid-row: 1;
  }

  .availability-page .availability-hero__living {
    grid-column: 1 / 3;
    grid-row: 2;
  }

  .availability-page .availability-hero__kitchen {
    grid-column: 1 / 3;
    grid-row: 3;
  }

  .availability-page .availability-hero__fpo {
    left: 12px;
    bottom: 10px;
    font-size: 18px;
  }

  .availability-page .availability-listing {
    padding-top: 48px;
  }

  .availability-page .availability-listing__intro {
    margin-bottom: 28px;
  }

  .availability-page .availability-listing__intro .eyebrow {
    letter-spacing: 2px;
  }

  .availability-page .availability-listing__intro p {
  }

  .availability-page .availability-table-wrap {
    width: calc(100vw - 20px);
    margin-right: -20px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  .availability-page .availability-table {
    width: 720px;
    min-width: 720px;
    font-size: 10px;
    line-height: 14px;
  }

  .availability-page .availability-table th,
  .availability-page .availability-table td {
    padding: 13px 14px;
    white-space: nowrap;
  }

  /* --------------------------------------------------------------------------
     Neighborhood page
     -------------------------------------------------------------------------- */

  .neighborhood-page .neighborhood-hero {
    padding: 20px 0;
  }

  .neighborhood-page .neighborhood-hero__grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 165px 180px 185px;
    gap: 8px;
  }

  .neighborhood-page .neighborhood-hero__title {
    grid-column: 1;
    grid-row: 1;
    letter-spacing: 1.8px;
  }

  .neighborhood-page .neighborhood-hero__courtyard {
    grid-column: 2;
    grid-row: 1;
  }

  .neighborhood-page .neighborhood-hero__street {
    grid-column: 1 / 3;
    grid-row: 2;
  }

  .neighborhood-page .neighborhood-hero__train {
    grid-column: 1 / 3;
    grid-row: 3;
  }

  .neighborhood-page .neighborhood-hero__fpo {
    left: 12px;
    bottom: 10px;
    font-size: 18px;
  }

  .neighborhood-page .neighborhood-intro {
    padding: 8px 0 40px;
  }



  .neighborhood-page .neighborhood-intro__copy .eyebrow {
    letter-spacing: 2px;
  }

  .neighborhood-page .neighborhood-intro__copy p {
  }

  .neighborhood-page .neighborhood-map-section {
    padding-bottom: 70px;
  }

  .neighborhood-page .neighborhood-map-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .neighborhood-page .neighborhood-map {
    min-height: 0;
    height: 390px;
  }

  .neighborhood-page .neighborhood-map__marker {
    width: 52px;
    height: 52px;
    border-width: 3px;
    font-size: 8px;
    line-height: 10px;
  }

  .neighborhood-page .neighborhood-map__note {
    left: 10px;
    bottom: 10px;
    padding: 6px 8px;
    font-size: 8px;
    line-height: 10px;
  }

  .neighborhood-page .neighborhood-categories {
    padding-top: 0;
  }

  .neighborhood-page .neighborhood-category__button {
    padding: 13px 0;
    font-size: 13px;
    line-height: 18px;
    letter-spacing: 1.5px;
  }

  .neighborhood-page .neighborhood-category__content {
    padding-left: 26px;
  }

  .neighborhood-page .neighborhood-category__content p {
  }

  .neighborhood-page .neighborhood-gallery {
    padding: 62px 0 66px;
  }

  .neighborhood-page .neighborhood-gallery__frame {
    width: calc(100% - 40px);
  }

  .neighborhood-page .neighborhood-gallery__slide {
    height: 330px;
  }

  .neighborhood-page .neighborhood-gallery .owl-dots {
    margin-top: -22px;
  }

  .neighborhood-page .neighborhood-gallery .owl-nav button.owl-prev,
  .neighborhood-page .neighborhood-gallery .owl-nav button.owl-next {
    width: 48px;
    height: 48px;
  }

  .neighborhood-page .neighborhood-gallery .owl-nav button.owl-prev { left: 10px; }
  .neighborhood-page .neighborhood-gallery .owl-nav button.owl-next { right: 10px; }

  .neighborhood-page .neighborhood-gallery .owl-nav button span {
    display: none;
  }

  .neighborhood-page .neighborhood-gallery__copy {
    margin-top: 34px;
  }

  .neighborhood-page .neighborhood-gallery__copy .eyebrow {
    letter-spacing: 2px;
  }

  .neighborhood-page .neighborhood-gallery__copy p {
  }

  /* --------------------------------------------------------------------------
     Contact page
     -------------------------------------------------------------------------- */

  .contact-page .contact-main {
    padding: 28px 0 72px;
  }

  .contact-page .contact-layout {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .contact-page .contact-image {
    min-height: 0;
    height: 390px;
  }

  .contact-page .contact-image__fpo {
    left: 12px;
    bottom: 10px;
    font-size: 18px;
  }

  .contact-page .contact-copy {
    padding-top: 0;
  }

  .contact-page .contact-copy .eyebrow {
    letter-spacing: 2px;
  }

  .contact-page .contact-copy__intro {
    margin-bottom: 28px;
  }

  .contact-page .contact-form {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 20px;
  }

  .contact-page .contact-field--full,
  .contact-page .contact-form__submit,
  .contact-page .contact-form__legal {
    grid-column: 1;
  }

  .contact-page .contact-field label {
    font-size: 9px;
    line-height: 12px;
    letter-spacing: 1.5px;
  }

  .contact-page .contact-field input,
  .contact-page .contact-field select {
    height: 36px;
    font-size: 16px;
    line-height: 20px;
  }

  .contact-page .contact-form__submit {
    margin-top: 6px;
  }

  .contact-page .contact-form__submit button {
    min-height: 42px;
	font-size: 14px;  
  }

  .contact-page .contact-form__legal {
    margin-top: -8px;
    font-size: 8px;
    line-height: 12px;
  }
}

@media (max-width: 690px) {

  /* Shared headline sizing */
  .eyebrow,
  .copy-block h2,
  .residence-feature h2,
  .cta-section h2,
  .residences-page .residences-hero__title,
  .amenities-page .amenities-hero__title,
  .availability-page .availability-hero__title,
  .neighborhood-page .neighborhood-hero__title {
    font-size: 20px;
    line-height: 24px;
  }
}


/* ==========================================================================
   Neighborhood hero: small-mobile layout refinement
   ========================================================================== */

@media (max-width: 600px) {
  .neighborhood-page .neighborhood-hero__grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 118px 165px 185px;
    gap: 8px;
  }

  .neighborhood-page .neighborhood-hero__title {
    grid-column: 1 / 3;
    grid-row: 1;
    padding: 0 16px;
    text-align: center;
    white-space: nowrap;
    letter-spacing: 1.5px;
  }

  .neighborhood-page .neighborhood-hero__courtyard {
    grid-column: 1;
    grid-row: 2;
  }

  .neighborhood-page .neighborhood-hero__street {
    grid-column: 2;
    grid-row: 2;
  }

  .neighborhood-page .neighborhood-hero__train {
    grid-column: 1 / 3;
    grid-row: 3;
  }
}

@media (max-width: 390px) {

  .hero,
  .residences-page .residences-hero,
  .amenities-page .amenities-hero,
  .neighborhood-page .neighborhood-hero {
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .availability-page .availability-main {
    padding-top: 16px;
  }


  .shell {
    width: calc(100% - 32px);
  }

  .site-logo {
    width: 148px;
  }
body:not(.residences-page):not(.amenities-page):not(.availability-page):not(.neighborhood-page):not(.contact-page) .hero-card{
	padding: 15px
	}
	
	body:not(.residences-page):not(.amenities-page):not(.availability-page):not(.neighborhood-page):not(.contact-page) .hero-card .eyebrow{
		font-size: 16px;
		line-height: 22px;
	}
	
	body:not(.residences-page):not(.amenities-page):not(.availability-page):not(.neighborhood-page):not(.contact-page) .hero-card p:last-child{
		font-size: 14px;
		line-height: 20px;
	}

  .hero-grid {
    grid-template-rows: 160px 240px 160px;
  }

  .hero-card {
    padding: 18px 15px;
  }

  .hero-card .eyebrow {
    font-size: 20px;
    line-height: 24px;
  }

  .hero-card p:last-child {
  }

  .story-block figure,
  .residences-page .residence-story figure,
  .residences-page .residences-finale figure {
    height: 300px;
  }

  .residences-page .residences-hero__grid {
    grid-template-rows: 155px 145px 185px;
  }

  .amenities-page .amenities-hero__grid {
    grid-template-rows: 155px 145px 170px;
  }

  .availability-page .availability-hero__grid {
    grid-template-rows: 150px 165px 175px;
  }

  .neighborhood-page .neighborhood-hero__grid {
    grid-template-rows: 150px 165px 170px;
  }

  .amenities-page .amenities-showcase__intro,
  .amenities-page .amenities-carousel-wrap,
  .neighborhood-page .neighborhood-gallery__frame,
  .cta-section__inner {
    width: calc(100% - 32px);
  }

  .amenities-page .amenity-card__image {
    height: 215px;
  }

  .amenities-page .amenities-carousel .owl-nav button.owl-prev,
  .amenities-page .amenities-carousel .owl-nav button.owl-next {
    top: 96px;
  }

  .neighborhood-page .neighborhood-map,
  .contact-page .contact-image {
    height: 340px;
  }

  .neighborhood-page .neighborhood-gallery__slide {
    height: 290px;
  }

  .site-footer__inner {
    grid-template-columns: 1fr;
    row-gap: 24px;
  }

  .site-footer__logo {
    grid-column: 1;
  }
}

/* Footer vertical alignment: keep the row centered in the footer while aligning each item to a common bottom edge. */
@media (min-width: 768px) {
  .site-footer__inner {
    align-items: end;
    padding-top: 62px;
    padding-bottom: 62px;
  }

  .site-footer__logo {
    margin-top: 0;
  }

  .site-footer__credit {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }

  .site-footer__credit-label {
    margin-top: 0 !important;
  }

  .site-footer__accessibility {
    align-self: end;
  }
}

/* ==========================================================================
   Residences finale gallery - match Neighborhood gallery
   ========================================================================== */

.residences-page .residences-finale__gallery {
  width: 100%;
  margin: 0 auto;
  overflow: visible;
}

.residences-page .residences-finale__gallery .media-reveal__mask {
  overflow: visible;
}

.residences-page .residences-finale__carousel {
  position: relative;
}

.residences-page .residences-finale__carousel .owl-stage-outer {
  overflow: hidden;
}

.residences-page .residences-finale__slide {
  height: 560px;
  overflow: hidden;
}

.residences-page .residences-finale__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.residences-page .residences-finale__carousel .owl-dots {
  margin-top: -65px;
  position: relative;
  z-index: 3;
  text-align: center;
}

.residences-page .residences-finale__carousel .owl-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
}

.residences-page .residences-finale__carousel .owl-dot span {
  width: 9px;
  height: 9px;
  margin: 0;
  border-radius: 50%;
  background: rgba(232,230,224,.45);
}

.residences-page .residences-finale__carousel .owl-dot.active span {
  background: var(--paper);
}

.residences-page .residences-finale__carousel .owl-nav {
  margin: 0;
}

.residences-page .residences-finale__carousel .owl-nav button.owl-prev,
.residences-page .residences-finale__carousel .owl-nav button.owl-next {
  position: absolute;
  top: 50%;
  width: 61px;
  height: 61px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  display: block;
  transform: translateY(-50%);
  transition: transform .2s ease;
  z-index: 4;
}

.residences-page .residences-finale__carousel .owl-nav button.owl-prev {
  left: 18px;
}

.residences-page .residences-finale__carousel .owl-nav button.owl-next {
  right: 18px;
}

.residences-page .residences-finale__carousel .owl-nav button.owl-prev:hover,
.residences-page .residences-finale__carousel .owl-nav button.owl-next:hover {
  transform: translateY(-50%) scale(1.04);
}

.residences-page .residences-finale__carousel .owl-nav button img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.residences-page .residences-finale__carousel .owl-nav button.owl-prev img {
  transform: scaleX(-1);
}

@media (max-width: 1550px) {
  .residences-page .residences-finale__slide {
    height: 500px;
  }
}

@media (max-width: 767px) {
  .residences-page .residences-finale__gallery {
    width: calc(100% - 40px);
  }

  .residences-page .residences-finale__slide {
    height: 330px;
  }

  .residences-page .residences-finale__carousel .owl-dots {
    margin-top: -22px;
  }

  .residences-page .residences-finale__carousel .owl-nav button.owl-prev,
  .residences-page .residences-finale__carousel .owl-nav button.owl-next {
    width: 48px;
    height: 48px;
  }

  .residences-page .residences-finale__carousel .owl-nav button.owl-prev {
    left: 10px;
  }

  .residences-page .residences-finale__carousel .owl-nav button.owl-next {
    right: 10px;
  }
}

@media (max-width: 390px) {
  .residences-page .residences-finale__gallery {
    width: calc(100% - 32px);
  }

  .residences-page .residences-finale__slide {
    height: 290px;
  }
}


/* Inactive slideshow dots */
.amenities-page .amenities-carousel .owl-dot span,
.neighborhood-page .neighborhood-gallery .owl-dot span,
.residences-page .residences-finale__carousel .owl-dot span {
  background: var(--ink);
}


/* ==========================================================================
   Homepage hero card: responsive fill
   ========================================================================== */

body:not(.residences-page):not(.amenities-page):not(.availability-page):not(.neighborhood-page):not(.contact-page) .hero-card {
  padding: clamp(15px, 2.10vw, 25px);
}

body:not(.residences-page):not(.amenities-page):not(.availability-page):not(.neighborhood-page):not(.contact-page) .hero-card .eyebrow {
  font-size: clamp(20px, 1.72vw, 32px);
  line-height: 1.18;
  margin-bottom: 0;
}

body:not(.residences-page):not(.amenities-page):not(.availability-page):not(.neighborhood-page):not(.contact-page) .hero-card p:last-child {
  max-width: none;
  font-size: clamp(15px, 1.02vw, 20px);
  line-height: 1.4;
}

@media (max-width: 767px) {
  body:not(.residences-page):not(.amenities-page):not(.availability-page):not(.neighborhood-page):not(.contact-page) .hero-card {
    padding: clamp(15px, 4vw, 22px);
  }

  body:not(.residences-page):not(.amenities-page):not(.availability-page):not(.neighborhood-page):not(.contact-page) .hero-card .eyebrow {
    font-size: clamp(12px, 4.2vw, 18px);
    line-height: 1.2;
    margin-bottom: 0;
  }

  body:not(.residences-page):not(.amenities-page):not(.availability-page):not(.neighborhood-page):not(.contact-page) .hero-card p:last-child {
    font-size: clamp(14px, 3.7vw, 16px);
    line-height: 1.4;
  }
}

/* ==========================================================================
   Slideshow navigation: larger thin white arrow-only controls
   ========================================================================== */

/* Shared arrow-only treatment for all Owl Carousel slideshows. */
.amenities-page .amenities-carousel .owl-nav button.owl-prev,
.amenities-page .amenities-carousel .owl-nav button.owl-next,
.neighborhood-page .neighborhood-gallery .owl-nav button.owl-prev,
.neighborhood-page .neighborhood-gallery .owl-nav button.owl-next,
.residences-page .residences-finale__carousel .owl-nav button.owl-prev,
.residences-page .residences-finale__carousel .owl-nav button.owl-next {
  width: 54px;
  height: 64px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: transparent;
  opacity: 1;
  clip-path: none;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s ease, opacity .2s ease;
}

/* Remove the old SVG/image artwork and Owl's text arrow. */
.amenities-page .amenities-carousel .owl-nav button span,
.neighborhood-page .neighborhood-gallery .owl-nav button span,
.residences-page .residences-finale__carousel .owl-nav button span,
.residences-page .residences-finale__carousel .owl-nav button img {
  display: none !important;
}

/* Draw a larger, thinner white chevron. */
.amenities-page .amenities-carousel .owl-nav button::before,
.neighborhood-page .neighborhood-gallery .owl-nav button::before,
.residences-page .residences-finale__carousel .owl-nav button::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
}

.amenities-page .amenities-carousel .owl-nav button.owl-prev,
.neighborhood-page .neighborhood-gallery .owl-nav button.owl-prev,
.residences-page .residences-finale__carousel .owl-nav button.owl-prev,
.amenities-page .amenities-carousel .owl-nav button.owl-next,
.neighborhood-page .neighborhood-gallery .owl-nav button.owl-next,
.residences-page .residences-finale__carousel .owl-nav button.owl-next {
  transform: translateY(-50%) !important;
}

.amenities-page .amenities-carousel .owl-nav button.owl-prev::before,
.neighborhood-page .neighborhood-gallery .owl-nav button.owl-prev::before,
.residences-page .residences-finale__carousel .owl-nav button.owl-prev::before {
  transform: rotate(-135deg);
}

.amenities-page .amenities-carousel .owl-nav button.owl-next::before,
.neighborhood-page .neighborhood-gallery .owl-nav button.owl-next::before,
.residences-page .residences-finale__carousel .owl-nav button.owl-next::before {
  transform: rotate(45deg);
}

.amenities-page .amenities-carousel .owl-nav button.owl-prev:hover,
.amenities-page .amenities-carousel .owl-nav button.owl-next:hover,
.neighborhood-page .neighborhood-gallery .owl-nav button.owl-prev:hover,
.neighborhood-page .neighborhood-gallery .owl-nav button.owl-next:hover,
.residences-page .residences-finale__carousel .owl-nav button.owl-prev:hover,
.residences-page .residences-finale__carousel .owl-nav button.owl-next:hover {
  opacity: 1;
}

@media (max-width: 767px) {
  .amenities-page .amenities-carousel .owl-nav button.owl-prev,
  .amenities-page .amenities-carousel .owl-nav button.owl-next,
  .neighborhood-page .neighborhood-gallery .owl-nav button.owl-prev,
  .neighborhood-page .neighborhood-gallery .owl-nav button.owl-next,
  .residences-page .residences-finale__carousel .owl-nav button.owl-prev,
  .residences-page .residences-finale__carousel .owl-nav button.owl-next {
    width: 46px;
    height: 56px;
  }

  .amenities-page .amenities-carousel .owl-nav button::before,
  .neighborhood-page .neighborhood-gallery .owl-nav button::before,
  .residences-page .residences-finale__carousel .owl-nav button::before {
    width: 20px;
    height: 20px;
  }
}

\n\n/* ==========================================================================\n   Temporary launch: landing + contact only\n   ========================================================================== */\n\n.temporary-launch .site-header__inner {\n  grid-template-columns: 1fr;\n}\n\n.temporary-launch .site-nav,\n.temporary-launch .menu-button,\n.temporary-launch .menu-panel,\n.temporary-launch .site-footer__legal {\n  display: none !important;\n}\n\n.temporary-launch .site-footer__inner {\n  grid-template-columns: 20% 12% 21% 16% 15% 7%;\n  justify-content: space-between;\n}\n\n.contact-page.temporary-launch .contact-calendly {\n  margin-top: 2px;\n}\n\n.contact-page.temporary-launch .contact-calendly__label {\n  display: block;\n  margin-bottom: 10px;\n  font-family: var(--sans);\n  font-size: 10px;\n  line-height: 13px;\n  font-weight: 500;\n  letter-spacing: 1.8px;\n  text-transform: uppercase;\n}\n\n.contact-page.temporary-launch .contact-calendly__button {\n  width: 100%;\n  min-height: 40px;\n  padding: 12px 18px 10px;\n  background: var(--sage);\n  color: var(--paper);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-family: var(--sans);\n  font-size: 10px;\n  line-height: 14px;\n  font-weight: 500;\n  letter-spacing: 1.8px;\n  text-transform: uppercase;\n  text-decoration: none;\n  transition: background .2s ease;\n}\n\n.contact-page.temporary-launch .contact-calendly__button:hover {\n  background: var(--ink);\n}\n\n@media (max-width: 767px) {\n  .temporary-launch .site-header__inner {\n    grid-template-columns: 1fr;\n  }\n\n  .temporary-launch .site-footer__inner {\n    grid-template-columns: 1fr 1fr;\n  }\n}\n\n@media (max-width: 390px) {\n  .temporary-launch .site-footer__inner {\n    grid-template-columns: 1fr;\n  }\n}\n
/* Contact page refinements: viewport-height section + quieter tour link */
@media (min-width: 768px) {
  .contact-page.temporary-launch .contact-main {
    min-height: calc(100vh - 86px);
    box-sizing: border-box;
    display: flex;
    align-items: center;
  }

  .contact-page.temporary-launch .contact-main > .contact-layout {
    width: min(calc(100% - 320px), var(--shell));
  }
}

.contact-page.temporary-launch .contact-calendly {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin-top: 2px;
}

.contact-page.temporary-launch .contact-calendly__label,
.contact-page.temporary-launch .contact-calendly__button {
  width: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  color: var(--ink);
  display: inline;
  font-family: var(--serif);
  font-size: 14px;
  line-height: 20px;
  font-weight: 300;
  letter-spacing: 0;
  text-transform: none;
}

.contact-page.temporary-launch .contact-calendly__button {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.contact-page.temporary-launch .contact-calendly__button:hover {
  background: transparent;
  opacity: .65;
}

@media (max-width: 767px) {
  .contact-page.temporary-launch .contact-calendly {
    flex-wrap: wrap;
  }
}


/* Temporary launch: static contact form handling */
.contact-form__honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.contact-form__status {
  grid-column: 1 / -1;
  margin: 10px 0 0;
  min-height: 20px;
  font-size: 14px;
  line-height: 20px;
}

.contact-form__status.is-success {
  font-weight: 600;
}

.contact-form__status.is-error {
  font-weight: 600;
}

.contact-form__submit button:disabled {
  cursor: wait;
  opacity: .65;
}

/* Contact page: match image height to the full form column */
@media (min-width: 768px) {
  .contact-page.temporary-launch .contact-layout {
    align-items: stretch;
  }

  .contact-page.temporary-launch .contact-image {
    min-height: 0;
    height: auto;
    align-self: stretch;
  }

  .contact-page.temporary-launch .contact-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }
}

/* Contact page: tighten label-to-field spacing */
.contact-page.temporary-launch .contact-field label {
  margin-bottom: 0;
}

.contact-page.temporary-launch .contact-field input,
.contact-page.temporary-launch .contact-field select {
  height: 26px;
  padding-top: 0;
  padding-bottom: 4px;
}

@media (max-width: 767px) {
  .contact-page.temporary-launch .contact-field input,
  .contact-page.temporary-launch .contact-field select {
    height: 30px;
  }
}


/* Contact page: successful inquiry state */
.contact-page.temporary-launch .contact-success {
  padding-top: 0px;
}

.contact-page.temporary-launch .contact-success[hidden],
.contact-page.temporary-launch .contact-copy__form-content[hidden] {
  display: none !important;
}

.contact-page.temporary-launch .contact-success .eyebrow {
  margin-bottom: 10px;
  color: var(--ink);
  letter-spacing: 4px;
}

.contact-page.temporary-launch .contact-success .contact-copy__intro {
  margin-bottom: 0;
}

/* ==========================================================================
   Temporary homepage hero redesign
   ========================================================================== */

.temporary-launch:not(.contact-page) .hero { padding: 80px 0; }

.temporary-launch:not(.contact-page) .hero-grid {
  display: grid;
  grid-template-columns: 1.35fr .95fr 1fr;
  grid-template-rows: 310px 168px 260px;
  gap: 14px;
}

.temporary-launch:not(.contact-page) .hero-grid figure {
  margin: 0;
  overflow: hidden;
}

.temporary-launch:not(.contact-page) .hero-grid__exterior {
  grid-column: 1 / 3;
  grid-row: 1;
}

.temporary-launch:not(.contact-page) .hero-grid__lobby {
  grid-column: 3;
  grid-row: 1;
}

.temporary-launch:not(.contact-page) .hero-card {
  grid-column: 1 / 4;
  grid-row: 2;
  padding: 24px 40px;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: var(--sage);
}

.temporary-launch:not(.contact-page) .hero-card .eyebrow {
  margin: 0;
  max-width: 980px;
  color: var(--paper);
  font-size: 30px;
  line-height: 40px;
  letter-spacing: 5px;
  text-align: center;
}

.temporary-launch:not(.contact-page) .hero-grid__dining {
  grid-column: 1;
  grid-row: 3;
}

.temporary-launch:not(.contact-page) .hero-grid__residence {
  grid-column: 2 / 4;
  grid-row: 3;
}

.temporary-launch:not(.contact-page) .hero-grid__exterior img,
.temporary-launch:not(.contact-page) .hero-grid__lobby img,
.temporary-launch:not(.contact-page) .hero-grid__dining img,
.temporary-launch:not(.contact-page) .hero-grid__residence img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.temporary-launch:not(.contact-page) .hero .hero-grid__residence {
  opacity: 0;
  transform: none;
  will-change: clip-path, opacity;
  clip-path: inset(0 0 0 100%);
  animation: homeHeroMaskFromRight 1.5s cubic-bezier(.19,1,.22,1) .82s forwards;
}

.hero-delay-4 { animation-delay: .34s; }

@media (max-width: 1550px) {
  .temporary-launch:not(.contact-page) .hero-grid {
    grid-template-rows: 275px 150px 230px;
  }
  .temporary-launch:not(.contact-page) .hero-card .eyebrow {
    font-size: 26px;
    line-height: 34px;
    letter-spacing: 4px;
  }
}

@media (max-width: 1250px) {
  .temporary-launch:not(.contact-page) .hero-grid {
    grid-template-rows: 240px 140px 210px;
  }
  .temporary-launch:not(.contact-page) .hero-card .eyebrow {
    font-size: 22px;
    line-height: 30px;
    letter-spacing: 3px;
  }
}

@media (max-width: 850px) {
	.contact-page.temporary-launch .contact-main > .contact-layout{
		width: 90% !important;
	}	
  .temporary-launch:not(.contact-page) .hero { padding: 48px 0; }
  .temporary-launch:not(.contact-page) .hero-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 220px auto 190px;
  }
  .temporary-launch:not(.contact-page) .hero-grid__exterior { grid-column: 1; }
  .temporary-launch:not(.contact-page) .hero-grid__lobby { grid-column: 2; }
  .temporary-launch:not(.contact-page) .hero-card {
    grid-column: 1 / 3;
    padding: 30px 24px;
  }
  .temporary-launch:not(.contact-page) .hero-grid__dining { grid-column: 1; }
  .temporary-launch:not(.contact-page) .hero-grid__residence { grid-column: 2; }
  .temporary-launch:not(.contact-page) .hero-card .eyebrow {
    font-size: 18px;
    line-height: 25px;
    letter-spacing: 2px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .temporary-launch:not(.contact-page) .hero .hero-grid__residence {
    clip-path: none;
    opacity: 1;
    animation: none;
  }
}

/* Bottom-left homepage hero image: reveal left to right */
.temporary-launch:not(.contact-page) .hero .hero-grid__dining {
  clip-path: inset(0 100% 0 0);
  animation: homeHeroMaskFromLeft 1.5s cubic-bezier(.19,1,.22,1) .70s forwards;
}

/* ==========================================================================
   Temporary contact page: Calendly link + laptop accessibility mark sizing
   ========================================================================== */

.contact-page.temporary-launch .contact-calendly {
  margin-top: 2px;
}

.contact-page.temporary-launch .contact-calendly__label,
.contact-page.temporary-launch .contact-calendly__button {
  display: none;
}

.contact-page.temporary-launch .contact-calendly__link {
  display: inline-block;
  color: var(--ink);
  font-family: 'Noto Serif Light';
  font-weight: 300;
  font-size: 15px;
  line-height: 20px;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
  transition: opacity .2s ease;
}

.contact-page.temporary-launch .contact-calendly__link:hover {
  opacity: .6;
}

/* Keep the wheelchair / EHO mark a little smaller at laptop sizes. */
@media (min-width: 768px) and (max-width: 1550px) {
  .temporary-launch .site-footer__accessibility img {
    width: 42%;
    max-width: 48px;
  }
}

/* Connect page: keep footer at the bottom of taller browser windows */
.contact-page.temporary-launch {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.contact-page.temporary-launch .site-header,
.contact-page.temporary-launch .site-footer {
  flex: 0 0 auto;
}

.contact-page.temporary-launch .contact-main {
  flex: 1 0 auto;
  display: flex;
  align-items: center;
}

.contact-page.temporary-launch .contact-main > .contact-layout {
  width: min(calc(100% - 320px), var(--shell));
  margin-left: auto;
  margin-right: auto;
}

@supports (min-height: 100dvh) {
  .contact-page.temporary-launch {
    min-height: 100dvh;
  }
}


/* Temporary launch footer: align accessibility / EHO mark to the header's right edge */
@media (min-width: 768px) {
  .temporary-launch .site-footer__inner {
    position: relative;
  }

  .temporary-launch .site-footer__accessibility {
    position: absolute;
    right: 0;
    bottom: 62px;
    width: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }

  .temporary-launch .site-footer__accessibility img {
    width: 50px;
    height: auto;
  }
}

@media (min-width: 768px) and (max-width: 1550px) {
  .temporary-launch .site-footer__accessibility img {
    width: auto;
    max-width: 48px;
  }
}
