:root {
  --navy-950: #071a2f;
  --navy-900: #0b2341;
  --navy-800: #12365a;
  --text-secondary: #405268;
  --text-muted: #687687;

  --green-500: #2e8b3c;
  --green-700: #166d36;
  --green-800: #076732;

  --gold-500: #b99152;

  --bg-main: #f7f8f4;
  --surface: #ffffff;

  --border-light: rgba(7, 26, 47, 0.08);
  --border-default: rgba(7, 26, 47, 0.13);

  --gradient-cta: linear-gradient(90deg, #2e8b3c 0%, #166d36 50%, #076732 100%);
  --gradient-glass: linear-gradient(135deg, rgba(255,255,255,.92), rgba(239,246,238,.76));

  --shadow-sm: 0 6px 18px rgba(7, 26, 47, 0.06);
  --shadow-md: 0 14px 38px rgba(7, 26, 47, 0.09);
  --shadow-lg: 0 30px 85px rgba(7, 26, 47, 0.14);
  --shadow-cta: 0 16px 38px rgba(7, 103, 50, 0.2);

  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-xl: 36px;
  --radius-pill: 999px;

  --header-h: 86px;
  --shell: 1440px;
}

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

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: "Manrope", system-ui, sans-serif;
  color: var(--navy-950);
  background: var(--bg-main);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

button,
input {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

a {
  color: inherit;
  text-decoration: none;
}

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

.hero {
  position: relative;
  min-height: 100svh;
  height: 100svh;
  overflow: hidden;
  isolation: isolate;
  background: #edf4f2;
}

.hero__background {
  position: absolute;
  inset: 0;
  z-index: -4;
  background-image: url("assets/images/hero-bg.webp");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  transform: scale(1.015);
  animation: heroSettle 1.4s cubic-bezier(.2,.8,.2,1) both;
}

/* This layer intentionally masks the UI/text baked into the temporary reference image
   on the left so the real HTML remains readable and editable. Replace hero-reference.png
   with a clean architectural render later and reduce/remove this wash. */
.hero__wash {
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    linear-gradient(
      90deg,
      rgba(246, 249, 247, .99) 0%,
      rgba(246, 249, 247, .96) 26%,
      rgba(246, 249, 247, .72) 40%,
      rgba(246, 249, 247, .15) 56%,
      rgba(246, 249, 247, 0) 69%
    ),
    linear-gradient(
      180deg,
      rgba(244, 249, 248, .20) 0%,
      rgba(244, 249, 248, 0) 54%,
      rgba(244, 249, 248, .20) 100%
    );
}

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 40;
  transition: background .28s ease, box-shadow .28s ease, backdrop-filter .28s ease;
}

.site-header.is-scrolled {
  background: rgba(248, 250, 247, .83);
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  box-shadow: 0 8px 30px rgba(7, 26, 47, .06);
  border-bottom: 1px solid rgba(7, 26, 47, .06);
}

.site-header__inner {
  min-height: var(--header-h);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
}

.brand {
  display: inline-flex;
  width: max-content;
  flex-direction: column;
  color: var(--navy-950);
  line-height: 1;
}

.brand__top {
  font-size: .95rem;
  letter-spacing: .035em;
}

.brand__name {
  margin-top: -1px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2.35rem;
  font-weight: 500;
  letter-spacing: -.035em;
}

.brand__tagline {
  margin-top: 8px;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .16em;
}

.desktop-nav {
  display: flex;
  justify-content: center;
  gap: clamp(16px, 1.55vw, 29px);
  white-space: nowrap;
}

.desktop-nav a {
  position: relative;
  padding-block: 12px;
  font-size: .77rem;
  font-weight: 600;
  color: var(--navy-950);
}

.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 6px;
  height: 2px;
  border-radius: 9px;
  background: var(--green-700);
  transition: right .24s ease;
}

.desktop-nav a:hover::after,
.desktop-nav a.is-active::after {
  right: 0;
}

.btn {
  position: relative;
  display: inline-flex;
  min-height: 56px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 0 28px;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .095em;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1;
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    box-shadow .28s ease,
    background .28s ease,
    filter .28s ease;
}

.btn--primary {
  color: #fff;
  background: var(--gradient-cta);
  border-color: rgba(255,255,255,.56);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 8px 20px rgba(7,103,50,.22),
    0 20px 46px rgba(7,103,50,.14);
}

.btn--primary:hover {
  transform: translateY(-3px);
  filter: brightness(1.05);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    0 12px 24px rgba(7,103,50,.28),
    0 24px 54px rgba(7,103,50,.18);
}

.btn--secondary {
  color: #126834;
  background: rgba(255,255,255,.78);
  border-color: #16713a;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    0 8px 24px rgba(7,26,47,.06);
}

.btn--secondary:hover {
  transform: translateY(-2px);
  background: #fff;
  box-shadow: var(--shadow-md);
}

.btn:active {
  transform: translateY(-1px) scale(.99);
}

.btn__arrow {
  font-size: 1.25rem;
  transition: transform .24s ease;
}

.btn:hover .btn__arrow {
  transform: translateX(4px);
}

.header-cta {
  min-width: 218px;
}

.menu-toggle,
.mobile-menu {
  display: none;
}

.hero__content {
  position: relative;
  z-index: 2;
  height: 100%;
  padding-top: calc(var(--header-h) + clamp(54px, 6vh, 76px));
  padding-bottom: 146px;
  display: grid;
  grid-template-columns: minmax(0, 620px) 1fr;
}

.hero-copy {
  align-self: start;
  width: min(100%, 610px);
}

.hero-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .32em;
  font-size: .84rem;
  font-weight: 700;
}

.hero-title {
  margin: 0;
  display: flex;
  flex-direction: column;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  font-size: clamp(4.2rem, 6.1vw, 7.2rem);
  line-height: .77;
  letter-spacing: -.055em;
  text-transform: uppercase;
  text-wrap: balance;
}

.hero-subtitle {
  margin: 22px 0 0;
  text-transform: uppercase;
  letter-spacing: .075em;
  font-size: clamp(.95rem, 1vw, 1.15rem);
  font-weight: 800;
}

.hero-location {
  margin: 9px 0 0;
  font-size: clamp(.96rem, 1vw, 1.08rem);
  font-weight: 600;
  color: #173a5d;
}

.hero-description {
  width: min(100%, 575px);
  margin: 20px 0 0;
  font-size: clamp(.98rem, 1.05vw, 1.1rem);
  line-height: 1.52;
  color: #173a5d;
}

.hero-meta {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 28px;
}

.meta-item {
  display: flex;
  align-items: center;
  gap: 14px;
}

.meta-icon {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  color: var(--navy-950);
}

.meta-icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.meta-item strong,
.meta-item span {
  display: block;
}

.meta-item strong {
  font-size: 1.02rem;
  font-weight: 800;
}

.meta-item span {
  margin-top: 2px;
  color: #173a5d;
  font-size: .94rem;
}

.meta-divider {
  width: 1px;
  height: 43px;
  background: rgba(7,26,47,.12);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 28px;
}

.hero-actions .btn {
  min-width: 238px;
}

.scroll-cue {
  width: max-content;
  margin-top: 20px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-transform: uppercase;
  letter-spacing: .11em;
  font-size: .72rem;
  font-weight: 800;
}

.scroll-cue__mouse {
  width: 24px;
  height: 34px;
  display: grid;
  place-items: start center;
  padding-top: 7px;
  border: 2px solid var(--navy-950);
  border-radius: 999px;
}

.scroll-cue__mouse i {
  width: 3px;
  height: 7px;
  border-radius: 999px;
  background: var(--navy-950);
  animation: scrollDot 1.5s ease-in-out infinite;
}

.hero-sidecopy {
  position: absolute;
  top: 24%;
  right: 1.6%;
  width: 210px;
  text-align: center;
  color: #0a2a4a;
}

.hero-sidecopy > p {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .09em;
  line-height: 1.42;
  font-size: 1.05rem;
  font-weight: 700;
}

.hero-sidecopy__line {
  display: block;
  width: 1px;
  height: 62px;
  margin: 18px auto;
  background: #173a5d;
}

.hero-sidecopy ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.hero-sidecopy li {
  margin: 0 0 12px;
  text-transform: uppercase;
  letter-spacing: .055em;
  font-size: .69rem;
  font-weight: 700;
}

.hero-highlights-wrap {
  position: absolute;
  z-index: 8;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0 0 10px;
}

.hero-highlights {
  min-height: 128px;
  display: grid;
  grid-template-columns: 1fr 350px;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: var(--radius-xl);
  background: var(--gradient-glass);
  backdrop-filter: blur(26px) saturate(130%);
  -webkit-backdrop-filter: blur(26px) saturate(130%);
  box-shadow:
    0 20px 60px rgba(7,26,47,.10),
    inset 0 1px 0 rgba(255,255,255,.88);
}

.highlight-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}

.highlight-item {
  position: relative;
  min-width: 0;
  padding: 22px 18px 18px;
  text-align: center;
}

.highlight-item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 22%;
  right: 0;
  width: 1px;
  height: 58%;
  background: rgba(7,26,47,.12);
}

.highlight-icon {
  display: block;
  min-height: 32px;
  margin-bottom: 4px;
  font-family: Georgia, serif;
  font-size: 1.9rem;
  line-height: 1;
}

.highlight-item strong,
.highlight-item span:last-child {
  display: block;
}

.highlight-item strong {
  font-size: .78rem;
  line-height: 1.3;
}

.highlight-item span:last-child {
  margin-top: 4px;
  font-size: .7rem;
  color: #29435c;
}

.highlight-signature {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 14px 26px;
  text-align: center;
  background:
    radial-gradient(circle at 85% 50%, rgba(220,237,215,.72), transparent 58%),
    rgba(255,255,255,.28);
  border-top-left-radius: 70px;
}

.highlight-signature span,
.highlight-signature small {
  text-transform: uppercase;
  letter-spacing: .23em;
  font-weight: 700;
}

.highlight-signature span {
  font-size: .68rem;
}

.highlight-signature strong {
  margin-block: 1px 3px;
  font-family: "Cormorant Garamond", Georgia, serif;
  text-transform: uppercase;
  font-size: 2.55rem;
  line-height: 1;
  font-weight: 500;
}

.highlight-signature small {
  font-size: .6rem;
}

.lead-dialog {
  width: min(92vw, 480px);
  padding: 34px;
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 28px;
  color: var(--navy-950);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  box-shadow: var(--shadow-lg);
}

.lead-dialog::backdrop {
  background: rgba(2, 14, 27, .54);
  backdrop-filter: blur(4px);
}

.lead-dialog__close {
  position: absolute;
  top: 14px;
  right: 18px;
  border: 0;
  background: transparent;
  color: var(--navy-950);
  cursor: pointer;
  font-size: 2rem;
  line-height: 1;
}

.lead-dialog__eyebrow {
  margin: 0 0 8px;
  color: var(--green-700);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .72rem;
  font-weight: 800;
}

.lead-dialog h2 {
  margin: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2.7rem;
  line-height: .95;
  font-weight: 600;
}

.lead-dialog > p:not(.lead-dialog__eyebrow) {
  color: var(--text-secondary);
  line-height: 1.55;
}

.lead-form {
  display: grid;
  gap: 14px;
  margin-top: 22px;
}

.lead-form label {
  display: grid;
  gap: 7px;
  font-size: .78rem;
  font-weight: 700;
}

.lead-form input {
  height: 52px;
  padding-inline: 16px;
  border: 1px solid var(--border-default);
  border-radius: 12px;
  background: rgba(255,255,255,.82);
  color: var(--navy-950);
  outline: none;
}

.lead-form input:focus {
  border-color: var(--green-500);
  box-shadow: 0 0 0 4px rgba(46,139,60,.10);
}

.anchor-spacer {
  height: 1px;
}

/* 1366 / laptop refinement */
@media (max-width: 1380px) {
  :root {
    --header-h: 76px;
  }

  .shell {
    width: min(calc(100% - 34px), 1320px);
  }

  .desktop-nav {
    gap: 15px;
  }

  .desktop-nav a {
    font-size: .7rem;
  }

  .header-cta {
    min-width: 184px;
    padding-inline: 22px;
  }

  .brand__name {
    font-size: 2rem;
  }

  .hero__content {
    grid-template-columns: minmax(0, 560px) 1fr;
    padding-top: calc(var(--header-h) + 40px);
  }

  .hero-title {
    font-size: clamp(4rem, 5.7vw, 6rem);
  }

  .hero-sidecopy {
    right: 1.2%;
    width: 185px;
  }

  .hero-highlights {
    grid-template-columns: 1fr 290px;
    min-height: 118px;
  }
}

/* Tablet */
@media (max-width: 1100px) {
  .desktop-nav,
  .header-cta {
    display: none;
  }

  .site-header__inner {
    grid-template-columns: 1fr auto;
  }

  .menu-toggle {
    width: 48px;
    height: 48px;
    display: grid;
    place-content: center;
    gap: 6px;
    border: 1px solid rgba(7,26,47,.12);
    border-radius: 50%;
    background: rgba(255,255,255,.72);
    backdrop-filter: blur(12px);
  }

  .menu-toggle span {
    width: 20px;
    height: 2px;
    display: block;
    background: var(--navy-950);
    transition: transform .25s ease;
  }

  .mobile-menu {
    position: fixed;
    inset: var(--header-h) 18px auto;
    z-index: 50;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 24px;
    background: rgba(248,250,247,.95);
    backdrop-filter: blur(22px);
    box-shadow: var(--shadow-lg);
    transform: translateY(-16px) scale(.98);
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease, transform .22s ease;
  }

  .mobile-menu.is-open {
    transform: none;
    opacity: 1;
    pointer-events: auto;
  }

  .mobile-menu a {
    padding: 12px 14px;
    border-radius: 12px;
    font-size: .9rem;
    font-weight: 700;
  }

  .mobile-menu a:hover {
    background: rgba(22,109,54,.08);
  }

  .hero__content {
    grid-template-columns: minmax(0, 600px) 1fr;
  }

  .hero-sidecopy {
    display: none;
  }

  .hero__wash {
    background:
      linear-gradient(
        90deg,
        rgba(246,249,247,.99) 0%,
        rgba(246,249,247,.95) 42%,
        rgba(246,249,247,.55) 63%,
        rgba(246,249,247,.06) 100%
      );
  }

  .hero-highlights {
    grid-template-columns: 1fr 230px;
  }

  .highlight-grid {
    grid-template-columns: repeat(5, minmax(130px, 1fr));
    overflow-x: auto;
  }
}

/* Mobile */
@media (max-width: 760px) {
  :root {
    --header-h: 68px;
  }

  .shell {
    width: min(calc(100% - 28px), var(--shell));
  }

  .brand__top {
    font-size: .72rem;
  }

  .brand__name {
    font-size: 1.72rem;
  }

  .brand__tagline {
    margin-top: 4px;
    font-size: .46rem;
  }

  .hero {
    min-height: 100svh;
    height: auto;
    padding-bottom: 126px;
  }

  .hero__background {
    background-position: 68% center;
    transform: scale(1.02);
  }

  .hero__wash {
    background:
      linear-gradient(
        180deg,
        rgba(246,249,247,.90) 0%,
        rgba(246,249,247,.96) 23%,
        rgba(246,249,247,.94) 53%,
        rgba(246,249,247,.35) 78%,
        rgba(246,249,247,.12) 100%
      );
  }

  .hero__content {
    min-height: 100svh;
    height: auto;
    display: block;
    padding-top: calc(var(--header-h) + 38px);
    padding-bottom: 178px;
  }

  .hero-copy {
    width: 100%;
  }

  .hero-kicker {
    font-size: .68rem;
    letter-spacing: .24em;
  }

  .hero-title {
    font-size: clamp(3.75rem, 18vw, 5.4rem);
    line-height: .79;
  }

  .hero-subtitle {
    margin-top: 18px;
    font-size: .78rem;
    line-height: 1.35;
  }

  .hero-location {
    font-size: .9rem;
  }

  .hero-description {
    max-width: 34rem;
    margin-top: 16px;
    font-size: .91rem;
  }

  .hero-meta {
    gap: 18px;
    margin-top: 22px;
  }

  .meta-icon {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
  }

  .meta-item {
    gap: 10px;
  }

  .meta-item strong {
    font-size: .84rem;
  }

  .meta-item span {
    font-size: .76rem;
  }

  .meta-divider {
    height: 34px;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 22px;
  }

  .hero-actions .btn {
    min-width: 0;
    min-height: 52px;
    padding-inline: 14px;
    font-size: .64rem;
    letter-spacing: .07em;
  }

  .scroll-cue {
    margin-top: 18px;
    font-size: .62rem;
  }

  .hero-highlights-wrap {
    bottom: 8px;
  }

  .hero-highlights {
    min-height: 104px;
    display: block;
    border-radius: 24px;
  }

  .highlight-grid {
    grid-template-columns: repeat(5, 150px);
    overflow-x: auto;
    scrollbar-width: none;
  }

  .highlight-grid::-webkit-scrollbar {
    display: none;
  }

  .highlight-item {
    padding: 16px 12px;
  }

  .highlight-signature {
    display: none;
  }

  .highlight-icon {
    min-height: 28px;
    font-size: 1.6rem;
  }

  .highlight-item strong {
    font-size: .69rem;
  }

  .highlight-item span:last-child {
    font-size: .62rem;
  }

  .lead-dialog {
    padding: 28px 22px;
  }
}

@media (max-width: 430px) {
  .hero-title {
    font-size: clamp(3.45rem, 17vw, 4.6rem);
  }

  .hero-description {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .hero-meta {
    align-items: stretch;
  }

  .meta-divider {
    align-self: center;
  }

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

  .scroll-cue {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@keyframes scrollDot {
  0%, 100% { transform: translateY(0); opacity: .35; }
  50% { transform: translateY(7px); opacity: 1; }
}

@keyframes heroSettle {
  from { transform: scale(1.06); filter: saturate(.92); }
  to { transform: scale(1.015); filter: saturate(1); }
}

/* =========================
   Screen-fit conversion footer
   ========================= */
.site-footer {
  min-height: 100svh;
  background: #fff;
  color: var(--navy-950);
  overflow: hidden;
}

.footer-cta {
  position: relative;
  min-height: clamp(330px, 43svh, 470px);
  display: flex;
  align-items: center;
  isolation: isolate;
  overflow: hidden;
}

.footer-cta__media {
  position: absolute;
  inset: 0;
  z-index: -3;
  background: url("assets/images/hero-bg.webp") center 54% / cover no-repeat;
  transform: scale(1.015);
}

.footer-cta__overlay {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(239,248,244,.97) 0%, rgba(239,248,244,.91) 31%, rgba(239,248,244,.26) 55%, rgba(7,26,47,.04) 100%),
    linear-gradient(0deg, rgba(7,26,47,.08), rgba(255,255,255,.02));
}

.footer-cta__inner {
  display: grid;
  grid-template-columns: minmax(420px, .92fr) 1.35fr;
  align-items: center;
  gap: clamp(44px, 6vw, 100px);
}

.footer-cta__copy { max-width: 620px; }
.footer-cta__eyebrow {
  margin: 0 0 18px;
  font-size: clamp(.72rem, .85vw, .9rem);
  font-weight: 700;
  letter-spacing: .34em;
  text-transform: uppercase;
}
.footer-cta__copy h2 {
  margin: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(3.1rem, 4vw, 5.2rem);
  font-weight: 600;
  line-height: .9;
  letter-spacing: -.045em;
  text-transform: uppercase;
}
.footer-cta__copy > p:last-child {
  margin: 14px 0 0;
  font-size: clamp(.95rem, 1.15vw, 1.2rem);
  font-weight: 500;
}
.footer-cta__actions {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(260px, .95fr);
  gap: 18px;
  align-items: center;
}
.footer-cta__button,
.footer-download { min-height: 64px; width: 100%; }
.footer-download {
  color: var(--navy-950);
  background: rgba(255,255,255,.92);
  border-color: rgba(7,26,47,.18);
  box-shadow: 0 12px 30px rgba(7,26,47,.13), inset 0 1px 0 #fff;
}
.footer-download:hover { transform: translateY(-2px); background: #fff; box-shadow: var(--shadow-md); }
.footer-download svg { width: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.footer-main {
  min-height: clamp(420px, 49svh, 560px);
  display: grid;
  grid-template-columns: 1.2fr 1.15fr .95fr 1.25fr;
  align-items: start;
  padding-block: clamp(42px, 5.5vh, 70px) 34px;
}
.footer-main > div { min-height: 290px; padding-inline: clamp(26px, 3.1vw, 58px); }
.footer-main > div:first-child { padding-left: 0; }
.footer-main > div:last-child { padding-right: 0; }
.footer-main > div + div { border-left: 1px solid rgba(7,26,47,.13); }
.footer-brand { display: inline-flex; flex-direction: column; line-height: 1; }
.footer-brand > span { font-size: 1.05rem; letter-spacing: .03em; }
.footer-brand > strong { margin-top: 2px; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(2.55rem, 3.2vw, 3.75rem); font-weight: 600; letter-spacing: -.045em; }
.footer-brand > small { margin-top: 10px; font-size: .7rem; font-weight: 700; letter-spacing: .3em; }
.footer-brand-col > p { margin: 25px 0 0; color: #233e5e; font-size: 1rem; line-height: 1.55; }
.footer-accent { display: block; width: 54px; height: 2px; margin-top: 34px; background: var(--green-700); }
.footer-signoff { display: block; margin-top: 22px; font-size: .64rem; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; color: #536982; white-space: nowrap; }
.footer-main h3 { margin: 2px 0 24px; font-size: 1rem; font-weight: 800; }
.footer-links { display: grid; gap: 15px; }
.footer-links--two { grid-template-columns: 1fr 1fr; column-gap: 36px; }
.footer-links a,
.footer-links button { padding: 0; border: 0; background: none; color: #253e5d; font: inherit; font-size: .92rem; text-align: left; cursor: pointer; transition: color .2s ease, transform .2s ease; }
.footer-links a:hover,
.footer-links button:hover { color: var(--green-700); transform: translateX(3px); }
.social-links { display: flex; gap: 28px; align-items: center; margin-bottom: 28px; }
.social-links a { width: 30px; height: 30px; display: grid; place-items: center; color: var(--navy-950); font-weight: 900; font-size: 1.15rem; }
.social-links svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.social-links .fill-dot { fill: currentColor; stroke: none; }
.footer-contact-list { display: grid; gap: 15px; font-style: normal; }
.footer-contact-list p { display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 14px; margin: 0; color: #253e5d; font-size: .9rem; }
.footer-contact-list svg { width: 25px; height: 25px; fill: none; stroke: var(--navy-950); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.footer-contact-list a:hover { color: var(--green-700); }
.footer-contact-col .footer-accent { margin-top: 28px; }
.footer-bottom { min-height: 8svh; border-top: 1px solid rgba(7,26,47,.11); display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #6a7888; font-size: .68rem; }

@media (max-width: 1100px) {
  .footer-cta__inner { grid-template-columns: .9fr 1.1fr; gap: 32px; }
  .footer-cta__actions { grid-template-columns: 1fr; max-width: 430px; justify-self: end; width: 100%; }
  .footer-main { grid-template-columns: 1fr 1fr; row-gap: 42px; }
  .footer-main > div { min-height: 0; }
  .footer-main > div:nth-child(3) { border-left: 0; padding-left: 0; }
  .footer-main > div:nth-child(2), .footer-main > div:nth-child(4) { padding-right: 0; }
}

@media (max-width: 760px) {
  .site-footer { min-height: 100svh; }
  .footer-cta { min-height: 520px; align-items: end; }
  .footer-cta__media { background-position: 69% center; }
  .footer-cta__overlay { background: linear-gradient(180deg, rgba(239,248,244,.35) 0%, rgba(239,248,244,.74) 40%, rgba(239,248,244,.98) 75%); }
  .footer-cta__inner { display: block; padding-bottom: 34px; }
  .footer-cta__copy { max-width: 520px; }
  .footer-cta__eyebrow { margin-bottom: 12px; font-size: .62rem; letter-spacing: .25em; }
  .footer-cta__copy h2 { font-size: clamp(2.7rem, 12vw, 4rem); }
  .footer-cta__copy > p:last-child { font-size: .88rem; }
  .footer-cta__actions { margin-top: 24px; display: grid; grid-template-columns: 1fr; gap: 10px; max-width: none; }
  .footer-cta__button, .footer-download { min-height: 54px; font-size: .68rem; }
  .footer-main { display: grid; grid-template-columns: 1fr; padding-block: 38px 24px; }
  .footer-main > div { padding: 30px 0 !important; border-left: 0 !important; border-top: 1px solid rgba(7,26,47,.11); }
  .footer-main > div:first-child { border-top: 0; padding-top: 0 !important; }
  .footer-brand > strong { font-size: 3rem; }
  .footer-links--two { column-gap: 24px; }
  .footer-signoff { white-space: normal; line-height: 1.6; }
  .footer-bottom { padding-block: 20px; flex-direction: column; align-items: flex-start; line-height: 1.5; }
}

/* Location / connectivity */
.location-section { position: relative; padding: clamp(56px, 8vh, 92px) 0; background: #f8faf7; overflow: hidden; }
.location-section::before { content:""; position:absolute; inset:0; pointer-events:none; background: radial-gradient(circle at 8% 50%, rgba(46,139,60,.07), transparent 25%), linear-gradient(180deg,#fbfcfa 0%,#f5f8f4 100%); }
.location-shell { position:relative; display:grid; grid-template-columns: minmax(340px,.9fr) minmax(430px,1.05fr) minmax(430px,1.15fr); min-height: 360px; align-items:stretch; border:1px solid rgba(7,26,47,.07); border-radius:24px; background:rgba(255,255,255,.84); box-shadow:0 24px 70px rgba(7,26,47,.08); overflow:hidden; }
.location-copy { padding: clamp(32px,3.4vw,54px); display:flex; flex-direction:column; justify-content:center; }
.section-eyebrow { display:flex; align-items:center; gap:14px; margin:0 0 12px; color:#536982; font-size:.68rem; font-weight:700; letter-spacing:.28em; text-transform:uppercase; }
.section-eyebrow span { width:54px; height:1px; background:#8a9baa; }
.location-copy h2 { margin:0; max-width:560px; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(2.35rem,3.25vw,3.55rem); line-height:.98; letter-spacing:-.035em; font-weight:600; text-transform:uppercase; color:var(--navy-950); }
.location-intro { margin:15px 0 20px; max-width:570px; color:#4e6073; font-size:.88rem; line-height:1.65; }
.location-cta { align-self:flex-start; min-height:48px; padding:0 25px; font-size:.72rem; letter-spacing:.08em; box-shadow:0 12px 30px rgba(7,103,50,.18); }
.location-cta i { font-size:1.15rem; transition:transform .25s ease; }
.location-cta:hover i { transform:translateX(5px); }
.connectivity-card { margin:14px 0; display:grid; grid-template-columns:repeat(3,1fr); background:rgba(255,255,255,.92); border:1px solid rgba(7,26,47,.06); border-radius:20px; box-shadow:0 14px 40px rgba(7,26,47,.07); overflow:hidden; }
.connectivity-point { position:relative; min-height:165px; padding:23px 12px 18px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:13px; text-align:center; transition:background .3s ease, transform .3s ease, box-shadow .3s ease; }
.connectivity-point:nth-child(-n+3) { border-bottom:1px solid rgba(7,26,47,.08); }
.connectivity-point:not(:nth-child(3n)) { border-right:1px solid rgba(7,26,47,.08); }
.connectivity-point:hover { z-index:2; background:#fbfdf9; transform:translateY(-4px); box-shadow:0 14px 30px rgba(7,26,47,.08); }
.connectivity-icon { width:62px; height:62px; display:grid; place-items:center; border-radius:50%; color:var(--navy-900); background:linear-gradient(145deg,#f4f8f4,#eaf2ed); box-shadow:inset 0 0 0 1px rgba(7,26,47,.03); transition:transform .35s cubic-bezier(.2,.8,.2,1), color .3s ease, background .3s ease; }
.connectivity-icon i { font-size:31px; line-height:1; }
.connectivity-point strong { color:#193451; font-size:.76rem; line-height:1.35; font-weight:700; }
.connectivity-point:hover .connectivity-icon { color:#fff; background:var(--gradient-cta); transform:translateY(-3px) rotate(-3deg) scale(1.06); box-shadow:0 10px 22px rgba(7,103,50,.2); }
.location-map { position:relative; min-height:360px; overflow:hidden; background:#eaf2ed; }
.location-map img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.2,.8,.2,1), filter .4s ease; }
.location-map::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.10),transparent 35%); pointer-events:none; }
.location-map:hover img { transform:scale(1.035); filter:saturate(1.05) contrast(1.02); }
.map-open { position:absolute; right:18px; bottom:18px; z-index:2; display:flex; align-items:center; gap:7px; padding:9px 13px; border-radius:999px; background:rgba(255,255,255,.92); color:var(--navy-950); font-size:.68rem; font-weight:700; box-shadow:0 8px 24px rgba(7,26,47,.12); opacity:0; transform:translateY(7px); transition:.25s ease; }
.location-map:hover .map-open { opacity:1; transform:none; }
.mdi { line-height:1; }
.meta-icon .mdi { font-size:24px; }
.highlight-icon .mdi { font-size:22px; }
.footer-download .mdi { font-size:24px; }
.social-links .mdi { font-size:27px; }
.footer-contact-list > p > .mdi { font-size:25px; color:var(--navy-950); }
@media (max-width:1180px) { .location-shell { grid-template-columns:1fr 1fr; } .location-copy { grid-column:1/-1; padding-bottom:30px; } .location-map { min-height:330px; } }
@media (max-width:760px) { .location-section { padding:44px 0; } .location-shell { display:block; border-radius:20px; } .location-copy { padding:30px 22px 28px; } .section-eyebrow { font-size:.58rem; letter-spacing:.22em; } .location-copy h2 { font-size:clamp(2rem,10vw,2.8rem); } .location-intro { font-size:.82rem; } .connectivity-card { margin:0 14px 14px; grid-template-columns:repeat(2,1fr); border-radius:16px; } .connectivity-point { min-height:132px; padding:18px 8px; } .connectivity-point:nth-child(-n+3) { border-bottom:0; } .connectivity-point:nth-child(-n+4) { border-bottom:1px solid rgba(7,26,47,.08); } .connectivity-point:not(:nth-child(3n)) { border-right:0; } .connectivity-point:nth-child(odd) { border-right:1px solid rgba(7,26,47,.08); } .connectivity-icon { width:52px; height:52px; } .connectivity-icon i { font-size:27px; } .connectivity-point strong { font-size:.7rem; } .location-map { min-height:260px; } .map-open { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { .connectivity-point,.connectivity-icon,.location-map img,.location-cta i,.map-open { transition:none !important; } }

/* Floor plans */
.floor-plans-section { position:relative; padding:clamp(58px,7.5vh,88px) 0; background:linear-gradient(180deg,#fbfcfb 0%,#f5f8f5 100%); overflow:hidden; }
.floor-plans-section::before { content:""; position:absolute; width:420px; height:420px; left:-210px; top:8%; border-radius:50%; background:radial-gradient(circle,rgba(46,139,60,.08),transparent 68%); pointer-events:none; }
.floor-plans-shell { position:relative; display:grid; grid-template-columns:minmax(250px,.78fr) minmax(0,2.35fr); gap:clamp(28px,3.2vw,52px); align-items:stretch; }
.floor-plans-intro { padding:clamp(12px,1.4vw,24px) 0; align-self:center; }
.floor-plans-intro h2 { margin:0; max-width:390px; color:var(--navy-950); font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(2.45rem,3.35vw,3.75rem); line-height:.94; letter-spacing:-.035em; font-weight:600; text-transform:uppercase; }
.floor-plans-intro > p:not(.section-eyebrow) { max-width:380px; margin:20px 0 0; color:#526478; font-size:.86rem; line-height:1.72; }
.floor-plan-note { margin-top:25px; max-width:350px; display:flex; gap:11px; align-items:flex-start; color:#476078; font-size:.72rem; line-height:1.5; }
.floor-plan-note i { flex:0 0 36px; width:36px; height:36px; display:grid; place-items:center; border-radius:10px; background:#edf4ef; color:var(--green-700); font-size:20px; }
.floor-plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.floor-plan-card { min-width:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid rgba(7,26,47,.065); border-radius:20px; background:rgba(255,255,255,.93); box-shadow:0 16px 42px rgba(7,26,47,.065); transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease; }
.floor-plan-card:hover { transform:translateY(-7px); border-color:rgba(22,109,54,.18); box-shadow:0 24px 55px rgba(7,26,47,.12); }
.floor-plan-visual { position:relative; display:block; margin:12px 12px 0; aspect-ratio:1.28/1; overflow:hidden; border-radius:14px; background:#f4f4ef; }
.floor-plan-visual img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .35s ease; }
.floor-plan-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(7,26,47,.22)); opacity:0; transition:opacity .3s ease; }
.floor-plan-card:hover .floor-plan-visual img { transform:scale(1.045); filter:contrast(1.025) saturate(1.02); }
.floor-plan-card:hover .floor-plan-visual::after { opacity:1; }
.plan-zoom { position:absolute; z-index:2; right:10px; bottom:10px; display:flex; align-items:center; gap:6px; padding:8px 11px; border-radius:999px; background:rgba(255,255,255,.94); color:var(--navy-950); font-size:.62rem; font-weight:800; box-shadow:0 8px 22px rgba(7,26,47,.13); opacity:0; transform:translateY(7px); transition:.25s ease; }
.floor-plan-card:hover .plan-zoom { opacity:1; transform:none; }
.floor-plan-body { flex:1; display:flex; flex-direction:column; padding:18px 16px 16px; }
.floor-plan-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.floor-plan-heading h3 { margin:0; color:var(--navy-950); font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(1.55rem,1.9vw,2rem); line-height:1; font-weight:600; letter-spacing:-.025em; }
.plan-chip { display:inline-flex; align-items:center; gap:5px; padding:6px 8px; border-radius:999px; background:#f1f6f2; color:#4f6659; font-size:.55rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; white-space:nowrap; }
.plan-chip i { color:var(--green-700); font-size:14px; }
.floor-plan-area { margin:9px 0 0; color:#29496a; font-size:.78rem; line-height:1.4; font-weight:700; }
.floor-plan-copy { margin:13px 0 18px; color:#53677b; font-size:.78rem; line-height:1.6; }
.floor-plan-btn { margin-top:auto; align-self:flex-start; min-height:45px; padding:0 21px; gap:14px; border:0; font-size:.66rem; letter-spacing:.09em; box-shadow:0 10px 24px rgba(7,103,50,.16); }
.floor-plan-btn i { font-size:17px; transition:transform .25s ease; }
.floor-plan-btn:hover i { transform:translateX(5px); }
.floor-plan-btn::after { content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.24) 45%,transparent 70%); transform:translateX(-130%); transition:transform .65s ease; }
.floor-plan-btn:hover::after { transform:translateX(130%); }
@media (max-width:1100px) { .floor-plans-shell { grid-template-columns:1fr; } .floor-plans-intro { display:grid; grid-template-columns:1fr 1fr; column-gap:28px; align-items:end; } .floor-plans-intro .section-eyebrow,.floor-plans-intro h2 { grid-column:1; } .floor-plans-intro > p:not(.section-eyebrow),.floor-plan-note { grid-column:2; } .floor-plans-intro > p:not(.section-eyebrow) { grid-row:1/3; align-self:end; margin:0; } .floor-plan-note { margin-top:14px; } }
@media (max-width:760px) { .floor-plans-section { padding:46px 0; } .floor-plans-intro { display:block; padding:0; } .floor-plans-intro h2 { font-size:clamp(2.35rem,11vw,3rem); } .floor-plans-intro > p:not(.section-eyebrow) { margin-top:15px; font-size:.8rem; } .floor-plan-note { margin-top:18px; } .floor-plan-grid { grid-template-columns:1fr; gap:14px; } .floor-plan-card { border-radius:17px; } .floor-plan-visual { aspect-ratio:1.48/1; } .floor-plan-body { padding:16px; } .floor-plan-heading h3 { font-size:1.75rem; } .plan-zoom { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { .floor-plan-card,.floor-plan-visual img,.plan-zoom,.floor-plan-btn i,.floor-plan-btn::after { transition:none !important; } }

/* Amenities */
.amenities-section{position:relative;padding:clamp(54px,7vh,82px) 0 30px;background:linear-gradient(180deg,#fbfcfb 0%,#f7faf7 100%);overflow:hidden}.amenities-section:before,.amenities-section:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(46,139,60,.08),transparent 68%);pointer-events:none}.amenities-section:before{left:-150px;top:60px}.amenities-section:after{right:-160px;bottom:-40px}.amenities-shell{position:relative}.amenities-top{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.75fr);gap:clamp(28px,3vw,48px);align-items:stretch}.amenities-intro{display:flex;flex-direction:column;justify-content:center;padding:4px 0 10px}.amenities-intro h2{margin:0;max-width:500px;color:var(--navy-950);font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2.5rem,3.55vw,3.9rem);font-weight:600;line-height:.94;letter-spacing:-.035em;text-transform:uppercase}.amenities-intro>p:not(.section-eyebrow){max-width:480px;margin:17px 0 20px;color:#4e6073;font-size:.86rem;line-height:1.65}.amenities-cta{align-self:flex-start;min-height:46px;padding:0 24px;gap:16px;font-size:.67rem;letter-spacing:.1em;box-shadow:0 12px 28px rgba(7,103,50,.17);overflow:hidden}.amenities-cta i{font-size:18px;transition:transform .25s ease}.amenities-cta:hover i{transform:translateX(6px)}.amenities-cta:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.25) 45%,transparent 70%);transform:translateX(-135%);transition:transform .7s ease}.amenities-cta:hover:after{transform:translateX(135%)}.amenity-categories{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;min-height:315px}.amenity-category{position:relative;overflow:hidden;border-radius:16px;isolation:isolate;box-shadow:0 13px 32px rgba(7,26,47,.09);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}.amenity-category img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .4s ease}.amenity-category__shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 43%,rgba(4,25,29,.8) 100%);z-index:1}.amenity-category h3{position:absolute;z-index:2;left:17px;right:12px;bottom:14px;margin:0;color:#fff;font-family:Manrope,sans-serif;font-size:clamp(.88rem,1.12vw,1.14rem);font-weight:600;line-height:1.08;letter-spacing:-.025em;text-shadow:0 2px 12px rgba(0,0,0,.28)}.amenity-category:hover{transform:translateY(-7px);box-shadow:0 22px 46px rgba(7,26,47,.16)}.amenity-category:hover img{transform:scale(1.075);filter:saturate(1.08) contrast(1.04)}.amenity-list{margin-top:34px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));border-top:1px solid rgba(7,26,47,.07);padding-top:22px}.amenity-point{position:relative;min-width:0;text-align:center;padding:0 7px 8px}.amenity-point:not(:last-child):after{content:"";position:absolute;right:0;top:10px;width:1px;height:70px;background:rgba(7,26,47,.1)}.amenity-point span{width:72px;height:72px;margin:0 auto 10px;display:grid;place-items:center;border-radius:50%;color:var(--navy-950);background:radial-gradient(circle at 35% 25%,#fff 0,#f6f7f3 58%,#e9eee8 100%);border:1px solid rgba(7,26,47,.06);box-shadow:0 10px 22px rgba(7,26,47,.1),inset 0 1px 0 #fff;transition:transform .35s cubic-bezier(.2,.8,.2,1),background .3s ease,color .3s ease,box-shadow .3s ease}.amenity-point i{font-size:37px;filter:drop-shadow(0 3px 3px rgba(7,26,47,.08));transition:transform .35s ease}.amenity-point strong{display:block;color:#102b4a;font-size:.58rem;line-height:1.35;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.amenity-point:hover span{transform:translateY(-6px) scale(1.05);background:var(--gradient-cta);color:#fff;box-shadow:0 15px 28px rgba(7,103,50,.2)}.amenity-point:hover i{transform:scale(1.08) rotate(-4deg)}.amenities-more{margin:8px auto 0;display:flex;align-items:center;justify-content:center;gap:18px;color:#526982}.amenities-more span{width:145px;height:1px;background:linear-gradient(90deg,transparent,#70869a)}.amenities-more span:last-child{background:linear-gradient(90deg,#70869a,transparent)}.amenities-more b{font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;white-space:nowrap}
@media(max-width:1180px){.amenities-top{grid-template-columns:1fr}.amenities-intro{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.amenities-intro .section-eyebrow,.amenities-intro h2{grid-column:1}.amenities-intro>p:not(.section-eyebrow){grid-column:2;grid-row:1/3;align-self:end;margin:0}.amenities-cta{grid-column:2;margin-top:16px}.amenity-list{grid-template-columns:repeat(6,1fr);row-gap:24px}.amenity-point:nth-child(6):after{display:none}}
@media(max-width:760px){.amenities-section{padding:46px 0 28px}.amenities-intro{display:block}.amenities-intro h2{font-size:clamp(2.3rem,10.5vw,3rem)}.amenities-intro>p:not(.section-eyebrow){margin-top:14px;font-size:.8rem}.amenities-cta{margin-top:0}.amenity-categories{margin-top:25px;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 2px 12px;gap:10px}.amenity-category{flex:0 0:68%;min-height:290px;scroll-snap-align:start}.amenity-list{grid-template-columns:repeat(3,1fr);gap:22px 0;margin-top:22px}.amenity-point:nth-child(3n):after{display:none}.amenity-point span{width:62px;height:62px}.amenity-point i{font-size:31px}.amenity-point strong{font-size:.54rem}.amenities-more span{width:55px}.amenities-more b{font-size:.54rem;letter-spacing:.2em}}
@media(prefers-reduced-motion:reduce){.amenity-category,.amenity-category img,.amenity-point span,.amenity-point i,.amenities-cta i,.amenities-cta:after{transition:none!important}}

/* Landscapes / nature section */
.landscape-section{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(560px,.92fr);min-height:clamp(390px,48vw,540px);margin:0;background:#eef6ed;overflow:hidden;isolation:isolate}.landscape-visual{position:relative;min-height:100%;overflow:hidden}.landscape-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 66%,rgba(237,246,236,.28) 82%,#edf6ec 100%);pointer-events:none}.landscape-visual img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform 1.1s cubic-bezier(.2,.8,.2,1),filter .6s ease}.landscape-section:hover .landscape-visual img{transform:scale(1.018);filter:saturate(1.04)}.landscape-panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 176px;align-items:center;gap:clamp(22px,3vw,52px);padding:clamp(38px,4.6vw,70px) clamp(28px,4vw,70px) clamp(38px,4.6vw,70px) clamp(24px,2.5vw,46px);background:radial-gradient(circle at 4% 50%,rgba(255,255,255,.9),rgba(244,250,243,.72) 48%,rgba(232,244,230,.92) 100%)}.landscape-panel:before{content:"";position:absolute;width:680px;height:680px;border:1px solid rgba(255,255,255,.9);border-radius:50%;left:-380px;top:50%;transform:translateY(-50%);box-shadow:0 0 80px rgba(255,255,255,.28);pointer-events:none}.landscape-copy{position:relative;z-index:1;max-width:610px}.landscape-eyebrow{margin:0 0 14px;color:#193752;font-size:.65rem;font-weight:700;letter-spacing:.38em;text-transform:uppercase}.landscape-copy h2{margin:0;color:#08743c;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2.45rem,3.7vw,4.1rem);font-weight:600;line-height:.95;letter-spacing:-.035em;text-transform:uppercase}.landscape-copy h2 span{color:var(--navy-950)}.landscape-description{max-width:580px;margin:14px 0 20px;color:#43566a;font-size:.84rem;line-height:1.68}.landscape-cta{position:relative;min-height:47px;padding:0 25px;gap:18px;font-size:.66rem;letter-spacing:.11em;overflow:hidden;box-shadow:0 13px 28px rgba(7,103,50,.18)}.landscape-cta:before{content:"";position:absolute;top:-60%;left:-35%;width:28%;height:220%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform:rotate(18deg);transition:left .65s ease}.landscape-cta:hover:before{left:115%}.landscape-cta i{font-size:18px;transition:transform .25s ease}.landscape-cta:hover i{transform:translateX(6px)}.landscape-values{position:relative;z-index:1;display:grid;gap:15px;padding-left:26px;border-left:1px solid rgba(13,86,49,.15)}.landscape-value{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:13px;min-height:58px;cursor:default}.landscape-value__icon{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;color:#08743c;background:linear-gradient(145deg,#fff,#edf4ea);border:1px solid rgba(9,102,54,.08);box-shadow:0 9px 20px rgba(20,65,39,.11),inset 0 1px 0 #fff;transition:transform .35s cubic-bezier(.2,.8,.2,1),color .3s ease,background .3s ease,box-shadow .3s ease}.landscape-value__icon i{font-size:29px;transition:transform .35s ease}.landscape-value strong{color:#18354d;font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;transition:color .25s ease,transform .25s ease}.landscape-value:hover .landscape-value__icon{transform:translateY(-4px) scale(1.06);color:#fff;background:var(--gradient-cta);box-shadow:0 14px 28px rgba(7,103,50,.2)}.landscape-value:hover .landscape-value__icon i{transform:scale(1.08) rotate(-5deg)}.landscape-value:hover strong{color:#08743c;transform:translateX(3px)}
@media(max-width:1080px){.landscape-section{grid-template-columns:1fr;min-height:0}.landscape-visual{height:430px}.landscape-visual:after{background:linear-gradient(180deg,transparent 68%,#edf6ec 100%)}.landscape-panel{grid-template-columns:1fr auto;margin-top:-2px;padding:38px clamp(24px,5vw,60px) 42px}.landscape-panel:before{display:none}.landscape-values{grid-template-columns:repeat(2,minmax(150px,1fr));width:350px}}
@media(max-width:720px){.landscape-visual{height:310px}.landscape-panel{display:block;padding:30px 20px 32px}.landscape-eyebrow{font-size:.58rem;letter-spacing:.3em;margin-bottom:10px}.landscape-copy h2{font-size:clamp(2.15rem,10.5vw,3rem)}.landscape-description{font-size:.79rem;margin:12px 0 18px}.landscape-values{width:auto;margin-top:28px;padding:20px 0 0;border-left:0;border-top:1px solid rgba(13,86,49,.13);grid-template-columns:repeat(2,1fr);gap:12px}.landscape-value{grid-template-columns:48px 1fr;gap:10px;min-height:48px}.landscape-value__icon{width:46px;height:46px}.landscape-value__icon i{font-size:25px}.landscape-value strong{font-size:.6rem}.landscape-cta{min-height:45px;padding:0 21px}}
@media(prefers-reduced-motion:reduce){.landscape-visual img,.landscape-value__icon,.landscape-value__icon i,.landscape-value strong,.landscape-cta:before,.landscape-cta i{transition:none!important}}

.residences-showcase{position:relative;padding:clamp(54px,6vw,86px) 0;background:linear-gradient(180deg,#fff 0%,#fbfcfa 100%);overflow:hidden}.residences-showcase__header{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);align-items:end;gap:clamp(34px,6vw,90px);margin-bottom:28px}.residences-showcase .section-eyebrow{margin:0 0 9px;color:#25425b;font-size:.64rem;font-weight:700;letter-spacing:.36em;text-transform:uppercase}.residences-showcase__header h2{margin:0;color:var(--navy-950);font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2.5rem,4vw,4.15rem);font-weight:600;line-height:.88;letter-spacing:-.035em;text-transform:uppercase}.residences-showcase__intro{max-width:650px;margin:0 0 4px;color:#526478;font-size:.86rem;line-height:1.7}.residence-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.residence-card{display:flex;flex-direction:column;border:1px solid rgba(21,53,76,.08);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(18,50,72,.07);overflow:hidden;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease,border-color .35s ease}.residence-card:hover{transform:translateY(-7px);border-color:rgba(8,116,60,.2);box-shadow:0 22px 48px rgba(18,50,72,.13)}.residence-card__media{position:relative;height:205px;overflow:hidden;background:#ece9e1}.residence-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .75s cubic-bezier(.2,.8,.2,1),filter .45s ease}.residence-card__media--utility img{object-position:58% center;transform:scale(1.09)}.residence-card__media--four img{object-position:78% center;transform:scale(1.08)}.residence-card:hover .residence-card__media img{transform:scale(1.07);filter:saturate(1.04)}.residence-card:hover .residence-card__media--utility img,.residence-card:hover .residence-card__media--four img{transform:scale(1.14)}.residence-card__badge{position:absolute;left:14px;bottom:13px;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;color:#fff;background:rgba(8,42,33,.76);backdrop-filter:blur(9px);font-size:.59rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.residence-card__badge i{font-size:16px}.residence-card__body{display:flex;flex:1;flex-direction:column;padding:20px 21px 21px}.residence-card__body h3{margin:0;color:var(--navy-950);font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.55rem,2vw,2rem);font-weight:600;line-height:1;text-transform:uppercase}.residence-card__area{margin:6px 0 15px;color:#53687b;font-size:.78rem;font-weight:700}.residence-card__body ul{display:grid;gap:7px;margin:0 0 19px;padding:0;list-style:none}.residence-card__body li{display:flex;align-items:flex-start;gap:9px;color:#526477;font-size:.76rem;line-height:1.35;transition:transform .25s ease,color .25s ease}.residence-card__body li i{color:#08743c;font-size:17px;transition:transform .3s ease}.residence-card__body li:hover{color:#183b2b;transform:translateX(3px)}.residence-card__body li:hover i{transform:scale(1.16) rotate(-8deg)}.residence-card__cta{position:relative;width:100%;min-height:46px;margin-top:auto;padding:0 19px;justify-content:space-between;gap:14px;overflow:hidden;font-size:.63rem;letter-spacing:.1em}.residence-card__cta:before{content:"";position:absolute;top:-70%;left:-35%;width:25%;height:240%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform:rotate(18deg);transition:left .65s ease}.residence-card__cta:hover:before{left:120%}.residence-card__cta i{font-size:18px;transition:transform .25s ease}.residence-card__cta:hover i{transform:translateX(6px)}@media(max-width:980px){.residences-showcase__header{grid-template-columns:1fr;gap:18px}.residence-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.residence-card:last-child{grid-column:1/-1;max-width:calc(50% - 9px);width:100%;justify-self:center}}@media(max-width:650px){.residences-showcase{padding:44px 0}.residences-showcase__header h2{font-size:clamp(2.35rem,12vw,3.15rem)}.residences-showcase__intro{font-size:.79rem}.residence-card-grid{grid-template-columns:1fr}.residence-card:last-child{grid-column:auto;max-width:none}.residence-card__media{height:190px}.residence-card__body{padding:18px}.residence-card__body li{font-size:.73rem}}@media(prefers-reduced-motion:reduce){.residence-card,.residence-card__media img,.residence-card__body li,.residence-card__body li i,.residence-card__cta:before,.residence-card__cta i{transition:none!important}}


/* Price & availability */
.price-section{position:relative;display:grid;grid-template-columns:minmax(330px,49%) 1fr;min-height:680px;background:#f4faf7;overflow:hidden}.price-section__visual{position:absolute;inset:0 51% 0 0;overflow:hidden;background:#dce9e5}.price-section__visual img{width:100%;height:100%;object-fit:cover;object-position:left center;display:block;transform:scale(1.015);transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}.price-section:hover .price-section__visual img{transform:scale(1.045)}.price-section__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,24,37,.03),transparent 55%,rgba(238,248,244,.22))}.price-section__content{position:relative;z-index:2;grid-column:1/-1;display:grid;grid-template-columns:minmax(330px,49%) 1fr;width:100%}.price-copy{align-self:start;max-width:620px;padding:58px clamp(28px,4.8vw,76px);text-shadow:0 1px 10px rgba(255,255,255,.22)}.price-eyebrow{margin:0 0 10px;color:#173d58;font-size:.63rem;font-weight:800;letter-spacing:.34em;text-transform:uppercase}.price-copy h2{margin:0 0 18px;color:#092f55;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2.75rem,4.2vw,4.55rem);font-weight:600;line-height:.86;letter-spacing:-.04em;text-transform:uppercase}.price-copy>p{max-width:475px;margin:0;color:#26435a;font-size:.82rem;line-height:1.62}.price-signoff{display:flex;align-items:flex-start;justify-content:flex-end;gap:14px;margin-top:18px;color:#163a57;font-size:.64rem;letter-spacing:.22em;text-transform:uppercase}.price-signoff span{width:46px;height:1px;margin-top:8px;background:#167542}.price-panel{align-self:stretch;margin:30px 30px 30px 0;padding:18px 20px 14px;border:1px solid rgba(255,255,255,.8);border-radius:22px;background:rgba(249,253,251,.89);box-shadow:0 18px 45px rgba(16,65,53,.10);backdrop-filter:blur(15px)}.price-table-wrap{overflow:hidden;border:1px solid rgba(15,72,56,.1);border-radius:14px;background:rgba(255,255,255,.65)}.price-table{width:100%;border-collapse:collapse;color:#173a59;font-size:.75rem}.price-table th,.price-table td{padding:16px 18px;text-align:left;border-right:1px solid rgba(18,71,57,.09);border-bottom:1px solid rgba(18,71,57,.09)}.price-table th:last-child,.price-table td:last-child{border-right:0}.price-table tr:last-child td{border-bottom:0}.price-table thead{background:linear-gradient(90deg,#e4f0e9,#dcebe3)}.price-table th{color:#0e3355;font-size:.72rem;font-weight:800}.price-table td:first-child{font-weight:800}.price-table td button{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:none;color:#173a59;font:inherit;cursor:pointer;transition:color .25s ease,transform .25s ease}.price-table td button i{font-size:15px;opacity:0;transform:translate(-4px,4px);transition:.25s ease}.price-table td button:hover{color:#08743c;transform:translateX(2px)}.price-table td button:hover i{opacity:1;transform:none}.price-request{display:grid;grid-template-columns:1fr 155px;align-items:center;gap:18px;margin-top:16px;padding:18px 10px 17px;border-top:1px solid rgba(16,111,62,.34);border-bottom:1px solid rgba(16,111,62,.16)}.price-request h3{margin:0 0 6px;color:#0c3155;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2rem,3vw,3.25rem);font-weight:600;line-height:.87;text-transform:uppercase}.price-request__copy>p:not(.price-eyebrow){max-width:410px;margin:0 0 13px;color:#536779;font-size:.75rem;line-height:1.55}.price-cta{min-width:210px;min-height:45px;padding:0 18px;justify-content:space-between;font-size:.62rem;letter-spacing:.11em;overflow:hidden}.price-cta i{font-size:18px;transition:transform .25s ease}.price-cta:hover i{transform:translateX(6px)}.price-sheet{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:125px;height:160px;margin:auto;color:#183f60;background:linear-gradient(155deg,#fff,#eef6f3);border:1px solid rgba(14,70,55,.12);border-radius:4px;box-shadow:10px 13px 20px rgba(12,55,45,.18);transform:rotate(7deg);transition:transform .4s ease,box-shadow .4s ease}.price-sheet:before{content:"";position:absolute;inset:9px;border:1px solid rgba(18,84,60,.12)}.price-sheet i{font-size:28px;color:#08743c;margin-bottom:9px}.price-sheet span{position:relative;text-align:center;font-family:"Cormorant Garamond",Georgia,serif;font-size:.8rem;line-height:.9;text-transform:uppercase}.price-sheet strong{font-size:1.1rem}.price-sheet small{display:block;margin-top:15px;font-family:inherit;font-size:.5rem;letter-spacing:.2em}.price-request:hover .price-sheet{transform:rotate(3deg) translateY(-5px);box-shadow:14px 20px 28px rgba(12,55,45,.22)}.price-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:12px}.price-benefits article{display:flex;align-items:center;justify-content:center;gap:10px;min-height:60px;border-right:1px solid rgba(18,71,57,.16);color:#163957;font-size:.61rem;letter-spacing:.03em;text-transform:uppercase}.price-benefits article:last-child{border-right:0}.price-benefits span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#08743c;background:#fff;box-shadow:0 5px 16px rgba(14,73,52,.11);transition:transform .3s ease,background .3s ease,color .3s ease}.price-benefits i{font-size:22px}.price-benefits article:hover span{transform:translateY(-4px) rotate(-5deg);color:#fff;background:#08743c}.price-disclaimer{margin:10px 0 0;text-align:center;color:#72808d;font-size:.52rem;line-height:1.4}
@media(max-width:980px){.price-section{display:block;min-height:0}.price-section__visual{position:relative;inset:auto;height:430px}.price-section__content{display:block}.price-copy{position:absolute;top:0;left:0;z-index:3;padding:42px 32px}.price-copy h2{font-size:3.25rem}.price-copy>p{max-width:430px}.price-panel{margin:0;padding:24px;border-radius:0;background:#f7fbf9}.price-signoff{display:none}}
@media(max-width:650px){.price-section__visual{height:470px}.price-section__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.84) 72%,#f7fbf9)}.price-copy{padding:34px 20px}.price-copy h2{font-size:clamp(2.5rem,13vw,3.25rem)}.price-copy>p{font-size:.76rem;line-height:1.55}.price-panel{padding:18px 14px}.price-table{font-size:.67rem}.price-table th,.price-table td{padding:12px 10px}.price-table th:nth-child(2),.price-table td:nth-child(2){display:none}.price-request{grid-template-columns:1fr 90px;padding:18px 4px}.price-request h3{font-size:2.15rem}.price-sheet{width:78px;height:108px}.price-sheet i{font-size:21px}.price-sheet strong{font-size:.8rem}.price-benefits article{flex-direction:column;gap:6px;text-align:center;font-size:.52rem}.price-benefits span{width:34px;height:34px}.price-benefits i{font-size:19px}}
@media(prefers-reduced-motion:reduce){.price-section__visual img,.price-table td button,.price-table td button i,.price-cta i,.price-sheet,.price-benefits span{transition:none!important}}


/* Imported hero, overview and lifestyle */
:root {
  --navy-950: #071a2f;
  --navy-900: #0b2341;
  --navy-800: #12365a;
  --text-secondary: #405268;
  --text-muted: #687687;

  --green-500: #2e8b3c;
  --green-700: #166d36;
  --green-800: #076732;

  --gold-500: #b99152;

  --bg-main: #f7f8f4;
  --surface: #ffffff;

  --border-light: rgba(7, 26, 47, 0.08);
  --border-default: rgba(7, 26, 47, 0.13);

  --gradient-cta: linear-gradient(90deg, #2e8b3c 0%, #166d36 50%, #076732 100%);
  --gradient-glass: linear-gradient(135deg, rgba(255,255,255,.92), rgba(239,246,238,.76));

  --shadow-sm: 0 6px 18px rgba(7, 26, 47, 0.06);
  --shadow-md: 0 14px 38px rgba(7, 26, 47, 0.09);
  --shadow-lg: 0 30px 85px rgba(7, 26, 47, 0.14);
  --shadow-cta: 0 16px 38px rgba(7, 103, 50, 0.2);

  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-xl: 36px;
  --radius-pill: 999px;

  --header-h: 86px;
  --shell: 1440px;
}

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

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: "Manrope", system-ui, sans-serif;
  color: var(--navy-950);
  background: var(--bg-main);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

button,
input {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

a {
  color: inherit;
  text-decoration: none;
}

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

.hero {
  position: relative;
  min-height: 100svh;
  height: 100svh;
  overflow: hidden;
  isolation: isolate;
  background: #edf4f2;
}

.hero__background {
  position: absolute;
  inset: 0;
  z-index: -4;
  background-image: url("assets/images/hero-bg.webp");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  transform: scale(1.015);
  animation: heroSettle 1.4s cubic-bezier(.2,.8,.2,1) both;
}

/* This layer intentionally masks the UI/text baked into the temporary reference image
   on the left so the real HTML remains readable and editable. Replace hero-reference.png
   with a clean architectural render later and reduce/remove this wash. */
.hero__wash {
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    linear-gradient(
      90deg,
      rgba(246, 249, 247, .99) 0%,
      rgba(246, 249, 247, .96) 26%,
      rgba(246, 249, 247, .72) 40%,
      rgba(246, 249, 247, .15) 56%,
      rgba(246, 249, 247, 0) 69%
    ),
    linear-gradient(
      180deg,
      rgba(244, 249, 248, .20) 0%,
      rgba(244, 249, 248, 0) 54%,
      rgba(244, 249, 248, .20) 100%
    );
}

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 40;
  transition: background .28s ease, box-shadow .28s ease, backdrop-filter .28s ease;
}

.site-header.is-scrolled {
  background: rgba(248, 250, 247, .83);
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  box-shadow: 0 8px 30px rgba(7, 26, 47, .06);
  border-bottom: 1px solid rgba(7, 26, 47, .06);
}

.site-header__inner {
  min-height: var(--header-h);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
}

.brand {
  display: inline-flex;
  width: max-content;
  flex-direction: column;
  color: var(--navy-950);
  line-height: 1;
}

.brand__top {
  font-size: .95rem;
  letter-spacing: .035em;
}

.brand__name {
  margin-top: -1px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2.35rem;
  font-weight: 500;
  letter-spacing: -.035em;
}

.brand__tagline {
  margin-top: 8px;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .16em;
}

.desktop-nav {
  display: flex;
  justify-content: center;
  gap: clamp(16px, 1.55vw, 29px);
  white-space: nowrap;
}

.desktop-nav a {
  position: relative;
  padding-block: 12px;
  font-size: .77rem;
  font-weight: 600;
  color: var(--navy-950);
}

.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 6px;
  height: 2px;
  border-radius: 9px;
  background: var(--green-700);
  transition: right .24s ease;
}

.desktop-nav a:hover::after,
.desktop-nav a.is-active::after {
  right: 0;
}

.btn {
  position: relative;
  display: inline-flex;
  min-height: 56px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 0 28px;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .095em;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1;
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    box-shadow .28s ease,
    background .28s ease,
    filter .28s ease;
}

.btn--primary {
  color: #fff;
  background: var(--gradient-cta);
  border-color: rgba(255,255,255,.56);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 8px 20px rgba(7,103,50,.22),
    0 20px 46px rgba(7,103,50,.14);
}

.btn--primary:hover {
  transform: translateY(-3px);
  filter: brightness(1.05);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    0 12px 24px rgba(7,103,50,.28),
    0 24px 54px rgba(7,103,50,.18);
}

.btn--secondary {
  color: #126834;
  background: rgba(255,255,255,.78);
  border-color: #16713a;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    0 8px 24px rgba(7,26,47,.06);
}

.btn--secondary:hover {
  transform: translateY(-2px);
  background: #fff;
  box-shadow: var(--shadow-md);
}

.btn:active {
  transform: translateY(-1px) scale(.99);
}

.btn__arrow {
  font-size: 1.25rem;
  transition: transform .24s ease;
}

.btn:hover .btn__arrow {
  transform: translateX(4px);
}

.header-cta {
  min-width: 218px;
}

.menu-toggle,
.mobile-menu {
  display: none;
}

.hero__content {
  position: relative;
  z-index: 2;
  height: 100%;
  padding-top: calc(var(--header-h) + clamp(54px, 6vh, 76px));
  padding-bottom: 146px;
  display: grid;
  grid-template-columns: minmax(0, 620px) 1fr;
}

.hero-copy {
  align-self: start;
  width: min(100%, 610px);
}

.hero-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .32em;
  font-size: .84rem;
  font-weight: 700;
}

.hero-title {
  margin: 0;
  display: flex;
  flex-direction: column;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  font-size: clamp(4.2rem, 6.1vw, 7.2rem);
  line-height: .77;
  letter-spacing: -.055em;
  text-transform: uppercase;
  text-wrap: balance;
}

.hero-subtitle {
  margin: 22px 0 0;
  text-transform: uppercase;
  letter-spacing: .075em;
  font-size: clamp(.95rem, 1vw, 1.15rem);
  font-weight: 800;
}

.hero-location {
  margin: 9px 0 0;
  font-size: clamp(.96rem, 1vw, 1.08rem);
  font-weight: 600;
  color: #173a5d;
}

.hero-description {
  width: min(100%, 575px);
  margin: 20px 0 0;
  font-size: clamp(.98rem, 1.05vw, 1.1rem);
  line-height: 1.52;
  color: #173a5d;
}

.hero-meta {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 28px;
}

.meta-item {
  display: flex;
  align-items: center;
  gap: 14px;
}

.meta-icon {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  color: var(--navy-950);
}

.meta-icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.meta-item strong,
.meta-item span {
  display: block;
}

.meta-item strong {
  font-size: 1.02rem;
  font-weight: 800;
}

.meta-item span {
  margin-top: 2px;
  color: #173a5d;
  font-size: .94rem;
}

.meta-divider {
  width: 1px;
  height: 43px;
  background: rgba(7,26,47,.12);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 28px;
}

.hero-actions .btn {
  min-width: 238px;
}

.scroll-cue {
  width: max-content;
  margin-top: 20px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-transform: uppercase;
  letter-spacing: .11em;
  font-size: .72rem;
  font-weight: 800;
}

.scroll-cue__mouse {
  width: 24px;
  height: 34px;
  display: grid;
  place-items: start center;
  padding-top: 7px;
  border: 2px solid var(--navy-950);
  border-radius: 999px;
}

.scroll-cue__mouse i {
  width: 3px;
  height: 7px;
  border-radius: 999px;
  background: var(--navy-950);
  animation: scrollDot 1.5s ease-in-out infinite;
}

.hero-sidecopy {
  position: absolute;
  top: 24%;
  right: 1.6%;
  width: 210px;
  text-align: center;
  color: #0a2a4a;
}

.hero-sidecopy > p {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .09em;
  line-height: 1.42;
  font-size: 1.05rem;
  font-weight: 700;
}

.hero-sidecopy__line {
  display: block;
  width: 1px;
  height: 62px;
  margin: 18px auto;
  background: #173a5d;
}

.hero-sidecopy ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.hero-sidecopy li {
  margin: 0 0 12px;
  text-transform: uppercase;
  letter-spacing: .055em;
  font-size: .69rem;
  font-weight: 700;
}

.hero-highlights-wrap {
  position: absolute;
  z-index: 8;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0 0 10px;
}

.hero-highlights {
  min-height: 128px;
  display: grid;
  grid-template-columns: 1fr 350px;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: var(--radius-xl);
  background: var(--gradient-glass);
  backdrop-filter: blur(26px) saturate(130%);
  -webkit-backdrop-filter: blur(26px) saturate(130%);
  box-shadow:
    0 20px 60px rgba(7,26,47,.10),
    inset 0 1px 0 rgba(255,255,255,.88);
}

.highlight-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}

.highlight-item {
  position: relative;
  min-width: 0;
  padding: 22px 18px 18px;
  text-align: center;
}

.highlight-item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 22%;
  right: 0;
  width: 1px;
  height: 58%;
  background: rgba(7,26,47,.12);
}

.highlight-icon {
  display: block;
  min-height: 32px;
  margin-bottom: 4px;
  font-family: Georgia, serif;
  font-size: 1.9rem;
  line-height: 1;
}

.highlight-item strong,
.highlight-item span:last-child {
  display: block;
}

.highlight-item strong {
  font-size: .78rem;
  line-height: 1.3;
}

.highlight-item span:last-child {
  margin-top: 4px;
  font-size: .7rem;
  color: #29435c;
}

.highlight-signature {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 14px 26px;
  text-align: center;
  background:
    radial-gradient(circle at 85% 50%, rgba(220,237,215,.72), transparent 58%),
    rgba(255,255,255,.28);
  border-top-left-radius: 70px;
}

.highlight-signature span,
.highlight-signature small {
  text-transform: uppercase;
  letter-spacing: .23em;
  font-weight: 700;
}

.highlight-signature span {
  font-size: .68rem;
}

.highlight-signature strong {
  margin-block: 1px 3px;
  font-family: "Cormorant Garamond", Georgia, serif;
  text-transform: uppercase;
  font-size: 2.55rem;
  line-height: 1;
  font-weight: 500;
}

.highlight-signature small {
  font-size: .6rem;
}

.lead-dialog {
  width: min(92vw, 480px);
  padding: 34px;
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 28px;
  color: var(--navy-950);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  box-shadow: var(--shadow-lg);
}

.lead-dialog::backdrop {
  background: rgba(2, 14, 27, .54);
  backdrop-filter: blur(4px);
}

.lead-dialog__close {
  position: absolute;
  top: 14px;
  right: 18px;
  border: 0;
  background: transparent;
  color: var(--navy-950);
  cursor: pointer;
  font-size: 2rem;
  line-height: 1;
}

.lead-dialog__eyebrow {
  margin: 0 0 8px;
  color: var(--green-700);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .72rem;
  font-weight: 800;
}

.lead-dialog h2 {
  margin: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2.7rem;
  line-height: .95;
  font-weight: 600;
}

.lead-dialog > p:not(.lead-dialog__eyebrow) {
  color: var(--text-secondary);
  line-height: 1.55;
}

.lead-form {
  display: grid;
  gap: 14px;
  margin-top: 22px;
}

.lead-form label {
  display: grid;
  gap: 7px;
  font-size: .78rem;
  font-weight: 700;
}

.lead-form input {
  height: 52px;
  padding-inline: 16px;
  border: 1px solid var(--border-default);
  border-radius: 12px;
  background: rgba(255,255,255,.82);
  color: var(--navy-950);
  outline: none;
}

.lead-form input:focus {
  border-color: var(--green-500);
  box-shadow: 0 0 0 4px rgba(46,139,60,.10);
}

.anchor-spacer {
  height: 1px;
}

/* 1366 / laptop refinement */
@media (max-width: 1380px) {
  :root {
    --header-h: 76px;
  }

  .shell {
    width: min(calc(100% - 34px), 1320px);
  }

  .desktop-nav {
    gap: 15px;
  }

  .desktop-nav a {
    font-size: .7rem;
  }

  .header-cta {
    min-width: 184px;
    padding-inline: 22px;
  }

  .brand__name {
    font-size: 2rem;
  }

  .hero__content {
    grid-template-columns: minmax(0, 560px) 1fr;
    padding-top: calc(var(--header-h) + 40px);
  }

  .hero-title {
    font-size: clamp(4rem, 5.7vw, 6rem);
  }

  .hero-sidecopy {
    right: 1.2%;
    width: 185px;
  }

  .hero-highlights {
    grid-template-columns: 1fr 290px;
    min-height: 118px;
  }
}

/* Tablet */
@media (max-width: 1100px) {
  .desktop-nav,
  .header-cta {
    display: none;
  }

  .site-header__inner {
    grid-template-columns: 1fr auto;
  }

  .menu-toggle {
    width: 48px;
    height: 48px;
    display: grid;
    place-content: center;
    gap: 6px;
    border: 1px solid rgba(7,26,47,.12);
    border-radius: 50%;
    background: rgba(255,255,255,.72);
    backdrop-filter: blur(12px);
  }

  .menu-toggle span {
    width: 20px;
    height: 2px;
    display: block;
    background: var(--navy-950);
    transition: transform .25s ease;
  }

  .mobile-menu {
    position: fixed;
    inset: var(--header-h) 18px auto;
    z-index: 50;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 24px;
    background: rgba(248,250,247,.95);
    backdrop-filter: blur(22px);
    box-shadow: var(--shadow-lg);
    transform: translateY(-16px) scale(.98);
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease, transform .22s ease;
  }

  .mobile-menu.is-open {
    transform: none;
    opacity: 1;
    pointer-events: auto;
  }

  .mobile-menu a {
    padding: 12px 14px;
    border-radius: 12px;
    font-size: .9rem;
    font-weight: 700;
  }

  .mobile-menu a:hover {
    background: rgba(22,109,54,.08);
  }

  .hero__content {
    grid-template-columns: minmax(0, 600px) 1fr;
  }

  .hero-sidecopy {
    display: none;
  }

  .hero__wash {
    background:
      linear-gradient(
        90deg,
        rgba(246,249,247,.99) 0%,
        rgba(246,249,247,.95) 42%,
        rgba(246,249,247,.55) 63%,
        rgba(246,249,247,.06) 100%
      );
  }

  .hero-highlights {
    grid-template-columns: 1fr 230px;
  }

  .highlight-grid {
    grid-template-columns: repeat(5, minmax(130px, 1fr));
    overflow-x: auto;
  }
}

/* Mobile */
@media (max-width: 760px) {
  :root {
    --header-h: 68px;
  }

  .shell {
    width: min(calc(100% - 28px), var(--shell));
  }

  .brand__top {
    font-size: .72rem;
  }

  .brand__name {
    font-size: 1.72rem;
  }

  .brand__tagline {
    margin-top: 4px;
    font-size: .46rem;
  }

  .hero {
    min-height: 100svh;
    height: auto;
    padding-bottom: 126px;
  }

  .hero__background {
    background-position: 68% center;
    transform: scale(1.02);
  }

  .hero__wash {
    background:
      linear-gradient(
        180deg,
        rgba(246,249,247,.90) 0%,
        rgba(246,249,247,.96) 23%,
        rgba(246,249,247,.94) 53%,
        rgba(246,249,247,.35) 78%,
        rgba(246,249,247,.12) 100%
      );
  }

  .hero__content {
    min-height: 100svh;
    height: auto;
    display: block;
    padding-top: calc(var(--header-h) + 38px);
    padding-bottom: 178px;
  }

  .hero-copy {
    width: 100%;
  }

  .hero-kicker {
    font-size: .68rem;
    letter-spacing: .24em;
  }

  .hero-title {
    font-size: clamp(3.75rem, 18vw, 5.4rem);
    line-height: .79;
  }

  .hero-subtitle {
    margin-top: 18px;
    font-size: .78rem;
    line-height: 1.35;
  }

  .hero-location {
    font-size: .9rem;
  }

  .hero-description {
    max-width: 34rem;
    margin-top: 16px;
    font-size: .91rem;
  }

  .hero-meta {
    gap: 18px;
    margin-top: 22px;
  }

  .meta-icon {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
  }

  .meta-item {
    gap: 10px;
  }

  .meta-item strong {
    font-size: .84rem;
  }

  .meta-item span {
    font-size: .76rem;
  }

  .meta-divider {
    height: 34px;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 22px;
  }

  .hero-actions .btn {
    min-width: 0;
    min-height: 52px;
    padding-inline: 14px;
    font-size: .64rem;
    letter-spacing: .07em;
  }

  .scroll-cue {
    margin-top: 18px;
    font-size: .62rem;
  }

  .hero-highlights-wrap {
    bottom: 8px;
  }

  .hero-highlights {
    min-height: 104px;
    display: block;
    border-radius: 24px;
  }

  .highlight-grid {
    grid-template-columns: repeat(5, 150px);
    overflow-x: auto;
    scrollbar-width: none;
  }

  .highlight-grid::-webkit-scrollbar {
    display: none;
  }

  .highlight-item {
    padding: 16px 12px;
  }

  .highlight-signature {
    display: none;
  }

  .highlight-icon {
    min-height: 28px;
    font-size: 1.6rem;
  }

  .highlight-item strong {
    font-size: .69rem;
  }

  .highlight-item span:last-child {
    font-size: .62rem;
  }

  .lead-dialog {
    padding: 28px 22px;
  }
}

@media (max-width: 430px) {
  .hero-title {
    font-size: clamp(3.45rem, 17vw, 4.6rem);
  }

  .hero-description {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .hero-meta {
    align-items: stretch;
  }

  .meta-divider {
    align-self: center;
  }

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

  .scroll-cue {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@keyframes scrollDot {
  0%, 100% { transform: translateY(0); opacity: .35; }
  50% { transform: translateY(7px); opacity: 1; }
}

@keyframes heroSettle {
  from { transform: scale(1.06); filter: saturate(.92); }
  to { transform: scale(1.015); filter: saturate(1); }
}


/* ===== Hero refinement: lighter, cleaner composition ===== */
.hero__content {
  padding-top: calc(var(--header-h) + clamp(34px, 4.5vh, 56px));
}

.hero-copy {
  width: min(100%, 560px);
}

.hero-title {
  font-size: clamp(3.55rem, 5.1vw, 5.9rem);
  line-height: .82;
  letter-spacing: -.048em;
}

.hero-subtitle {
  margin-top: 18px;
  font-size: clamp(.88rem, .9vw, 1.02rem);
  letter-spacing: .065em;
}

.hero-location {
  margin-top: 7px;
  font-size: clamp(.9rem, .92vw, 1rem);
}

.hero-description {
  width: min(100%, 530px);
  margin-top: 16px;
  font-size: clamp(.9rem, .93vw, 1rem);
  line-height: 1.48;
}

.hero-meta {
  margin-top: 22px;
  gap: 22px;
}

.meta-icon {
  width: 40px;
  height: 40px;
  flex-basis: 40px;
}

.meta-item {
  gap: 11px;
}

.meta-item strong {
  font-size: .94rem;
}

.meta-item span {
  font-size: .85rem;
}

.hero-actions {
  margin-top: 22px;
}

.hero-actions .btn {
  min-width: 220px;
  min-height: 52px;
}

@media (max-width: 1380px) {
  .hero__content {
    padding-top: calc(var(--header-h) + 30px);
  }

  .hero-copy {
    width: min(100%, 525px);
  }

  .hero-title {
    font-size: clamp(3.35rem, 4.85vw, 5.2rem);
  }

  .hero-description {
    width: min(100%, 500px);
  }
}

@media (max-width: 760px) {
  .hero__content {
    padding-top: calc(var(--header-h) + 28px);
  }

  .hero-title {
    font-size: clamp(3.1rem, 15vw, 4.45rem);
    line-height: .84;
  }

  .hero-subtitle {
    margin-top: 15px;
  }

  .hero-description {
    margin-top: 13px;
    font-size: .88rem;
  }

  .hero-meta {
    margin-top: 18px;
  }

  .hero-actions {
    margin-top: 18px;
  }
}


/* ===== Hero redesign with clean architectural background ===== */
.hero {
  background: #eef4f2;
}

.hero__background {
  background-image: url("assets/images/hero-bg.webp");
  background-position: center center;
  background-size: cover;
  transform: scale(1.01);
}

.hero__wash {
  background:
    linear-gradient(
      90deg,
      rgba(245, 248, 244, .97) 0%,
      rgba(245, 248, 244, .92) 20%,
      rgba(245, 248, 244, .76) 34%,
      rgba(245, 248, 244, .44) 47%,
      rgba(245, 248, 244, .12) 58%,
      rgba(245, 248, 244, 0) 68%
    ),
    linear-gradient(
      180deg,
      rgba(250,252,251,.08) 0%,
      rgba(250,252,251,0) 44%,
      rgba(7,26,47,.03) 100%
    );
}

.hero__content {
  align-items: center;
  padding-top: calc(var(--header-h) + clamp(22px, 3vh, 36px));
  padding-bottom: 168px;
  grid-template-columns: minmax(0, 640px) 1fr;
}

.hero-copy {
  width: min(100%, 560px);
  padding: 34px 34px 30px;
  border: 1px solid rgba(255,255,255,.58);
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.74), rgba(248,250,246,.52));
  backdrop-filter: blur(10px) saturate(118%);
  -webkit-backdrop-filter: blur(10px) saturate(118%);
  box-shadow:
    0 18px 60px rgba(7,26,47,.08),
    inset 0 1px 0 rgba(255,255,255,.72);
}

.hero-title {
  font-size: clamp(3.3rem, 4.7vw, 5.5rem);
  line-height: .84;
  letter-spacing: -.042em;
}

.hero-subtitle {
  margin-top: 16px;
  font-size: clamp(.88rem, .92vw, 1rem);
  line-height: 1.35;
}

.hero-location {
  margin-top: 8px;
  font-size: clamp(.95rem, .96vw, 1.04rem);
  font-weight: 700;
}

.hero-description {
  width: min(100%, 500px);
  margin-top: 14px;
  font-size: clamp(.92rem, .92vw, 1rem);
  line-height: 1.58;
  color: #27435c;
}

.hero-meta {
  margin-top: 20px;
  gap: 18px;
  padding: 15px 16px;
  border: 1px solid rgba(7,26,47,.07);
  border-radius: 18px;
  background: rgba(255,255,255,.52);
}

.meta-item {
  gap: 10px;
}

.meta-icon {
  width: 36px;
  height: 36px;
  flex-basis: 36px;
}

.meta-item strong {
  font-size: .94rem;
}

.meta-item span {
  font-size: .84rem;
}

.meta-divider {
  height: 34px;
}

.hero-actions {
  margin-top: 20px;
  gap: 14px;
}

.hero-actions .btn {
  min-width: 212px;
  min-height: 52px;
  padding-inline: 24px;
  font-size: .74rem;
  letter-spacing: .085em;
}

.hero-sidecopy {
  display: none;
}

.hero-highlights-wrap {
  padding-bottom: 12px;
}

.hero-highlights {
  grid-template-columns: 1fr 320px;
  min-height: 120px;
}

.highlight-item {
  padding: 20px 16px 16px;
}

.highlight-item strong {
  font-size: .76rem;
}

.highlight-item span:last-child {
  font-size: .68rem;
}

.highlight-signature strong {
  font-size: 2.35rem;
}

/* Laptop refinement */
@media (max-width: 1380px) {
  .hero__content {
    grid-template-columns: minmax(0, 600px) 1fr;
    padding-top: calc(var(--header-h) + 18px);
  }

  .hero-copy {
    width: min(100%, 530px);
    padding: 28px 28px 24px;
  }

  .hero-title {
    font-size: clamp(3.05rem, 4.3vw, 4.8rem);
  }

  .hero-description {
    width: min(100%, 470px);
  }

  .hero-highlights {
    grid-template-columns: 1fr 280px;
  }
}

/* Tablet */
@media (max-width: 1100px) {
  .hero__wash {
    background:
      linear-gradient(
        90deg,
        rgba(245,248,244,.96) 0%,
        rgba(245,248,244,.90) 36%,
        rgba(245,248,244,.62) 58%,
        rgba(245,248,244,.10) 100%
      );
  }

  .hero__content {
    grid-template-columns: minmax(0, 580px) 1fr;
    padding-bottom: 160px;
  }

  .hero-copy {
    padding: 24px 24px 22px;
    border-radius: 26px;
  }
}

/* Mobile */
@media (max-width: 760px) {
  .hero {
    padding-bottom: 128px;
  }

  .hero__background {
    background-position: 72% center;
  }

  .hero__wash {
    background:
      linear-gradient(
        180deg,
        rgba(245,248,244,.84) 0%,
        rgba(245,248,244,.92) 20%,
        rgba(245,248,244,.90) 44%,
        rgba(245,248,244,.52) 70%,
        rgba(245,248,244,.16) 100%
      );
  }

  .hero__content {
    padding-top: calc(var(--header-h) + 24px);
    padding-bottom: 176px;
  }

  .hero-copy {
    width: 100%;
    padding: 20px 18px 18px;
    border-radius: 22px;
    background:
      linear-gradient(135deg, rgba(255,255,255,.78), rgba(248,250,246,.62));
  }

  .hero-title {
    font-size: clamp(2.85rem, 13.2vw, 4rem);
    line-height: .86;
  }

  .hero-subtitle {
    margin-top: 14px;
    font-size: .8rem;
  }

  .hero-location {
    font-size: .9rem;
  }

  .hero-description {
    width: 100%;
    margin-top: 12px;
    font-size: .86rem;
    line-height: 1.52;
  }

  .hero-meta {
    margin-top: 16px;
    gap: 14px;
    padding: 12px 12px;
    border-radius: 16px;
  }

  .hero-actions {
    margin-top: 16px;
    gap: 10px;
  }

  .hero-actions .btn {
    min-height: 50px;
    font-size: .66rem;
    padding-inline: 14px;
  }

  .hero-highlights {
    min-height: 102px;
    border-radius: 24px;
  }
}

@media (max-width: 430px) {
  .hero-copy {
    padding: 18px 16px 16px;
  }

  .hero-title {
    font-size: clamp(2.65rem, 12.6vw, 3.65rem);
  }

  .hero-description {
    -webkit-line-clamp: 4;
  }
}


/* =========================================================
   PROJECT OVERVIEW
   Matches the hero's navy / ivory / green luxury language.
   ========================================================= */

.overview-section {
  position: relative;
  overflow: hidden;
  padding: clamp(78px, 7vw, 116px) 0;
  background:
    radial-gradient(circle at 10% 15%, rgba(255,255,255,.92), transparent 32%),
    linear-gradient(180deg, #f8faf6 0%, #f4f7f1 100%);
  isolation: isolate;
}

.overview-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  opacity: .34;
  background-image:
    linear-gradient(rgba(7,26,47,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7,26,47,.018) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
}

.overview-section__glow {
  position: absolute;
  z-index: -2;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(4px);
}

.overview-section__glow--one {
  width: 520px;
  height: 520px;
  left: -220px;
  bottom: -330px;
  background: radial-gradient(circle, rgba(46,139,60,.08), rgba(46,139,60,0) 70%);
}

.overview-section__glow--two {
  width: 640px;
  height: 640px;
  right: -300px;
  bottom: -400px;
  background: radial-gradient(circle, rgba(185,145,82,.09), rgba(185,145,82,0) 70%);
}

.overview-shell {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(520px, 1.12fr);
  align-items: center;
  gap: clamp(46px, 5vw, 86px);
}

.overview-copy {
  max-width: 620px;
}

.section-eyebrow {
  margin: 0 0 18px;
  color: var(--navy-800);
  text-transform: uppercase;
  letter-spacing: .28em;
  font-size: clamp(.7rem, .7vw, .78rem);
  font-weight: 800;
}

.overview-title {
  margin: 0;
  max-width: 720px;
  color: var(--navy-950);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.65rem, 3.65vw, 4.65rem);
  line-height: .96;
  letter-spacing: -.038em;
  text-transform: uppercase;
  font-weight: 600;
  text-wrap: balance;
}

.overview-text {
  max-width: 590px;
  margin: 22px 0 0;
  color: #29435c;
  font-size: clamp(.94rem, .96vw, 1.02rem);
  line-height: 1.72;
}

.overview-text--secondary {
  margin-top: 10px;
}

.overview-highlight {
  margin: 14px 0 0;
  color: var(--navy-950);
  font-size: .96rem;
  font-weight: 800;
}

.overview-cta {
  margin-top: 26px;
  min-width: 250px;
  min-height: 54px;
}

.overview-values {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 25px;
  color: var(--navy-800);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .72rem;
  font-weight: 800;
}

.overview-values i {
  width: 1px;
  height: 17px;
  background: rgba(7,26,47,.38);
}

.overview-media {
  position: relative;
  min-height: clamp(430px, 36vw, 560px);
  overflow: visible;
}

.overview-media__image {
  position: absolute;
  inset: 0 0 22px;
  overflow: hidden;
  border-radius: 30px;
  background:
    url("assets/images/hero-bg.webp") center 56% / cover no-repeat;
  box-shadow:
    0 24px 70px rgba(7,26,47,.12),
    0 4px 16px rgba(7,26,47,.05);
  transform: translateZ(0);
}

.overview-media__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(7,26,47,.02) 0%, rgba(7,26,47,.04) 54%, rgba(4,19,33,.46) 100%);
}

.overview-media__veil {
  position: absolute;
  inset: 0 0 22px;
  border-radius: 30px;
  pointer-events: none;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    inset 0 0 0 1px rgba(255,255,255,.18);
}

.overview-play {
  position: absolute;
  z-index: 4;
  top: 42%;
  left: 50%;
  width: 92px;
  height: 92px;
  display: grid;
  place-items: center;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 50%;
  color: #fff;
  background:
    linear-gradient(145deg, rgba(7,81,55,.94), rgba(4,53,41,.92));
  box-shadow:
    0 0 0 7px rgba(255,255,255,.16),
    0 18px 42px rgba(2,30,23,.28),
    inset 0 1px 0 rgba(255,255,255,.26);
  cursor: pointer;
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    box-shadow .28s ease;
}

.overview-play:hover {
  transform: translate(-50%, -50%) scale(1.06);
  box-shadow:
    0 0 0 9px rgba(255,255,255,.18),
    0 22px 52px rgba(2,30,23,.34),
    inset 0 1px 0 rgba(255,255,255,.3);
}

.overview-play__triangle {
  width: 0;
  height: 0;
  margin-left: 7px;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-left: 22px solid #fff;
}

.overview-media__caption {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 108px;
  width: max-content;
  transform: translateX(-50%);
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  text-shadow: 0 3px 22px rgba(0,0,0,.28);
}

.overview-media__caption span,
.overview-media__caption strong {
  display: block;
  font-family: "Cormorant Garamond", Georgia, serif;
  line-height: .86;
  font-weight: 600;
}

.overview-media__caption span {
  font-size: 2rem;
}

.overview-media__caption strong {
  margin-top: 3px;
  font-size: 2.35rem;
}

.overview-media__strap {
  position: absolute;
  z-index: 3;
  left: 28px;
  bottom: 44px;
  margin: 0;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .72rem;
  font-weight: 800;
}

.overview-slider {
  position: absolute;
  z-index: 5;
  right: -2px;
  bottom: 0;
  min-width: 330px;
  min-height: 72px;
  display: grid;
  grid-template-columns: 48px 1fr 48px;
  align-items: center;
  gap: 12px;
  padding: 8px 18px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 999px;
  background: rgba(249,251,247,.91);
  backdrop-filter: blur(18px) saturate(130%);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
  box-shadow:
    0 18px 42px rgba(7,26,47,.12),
    inset 0 1px 0 rgba(255,255,255,.92);
}

.overview-slider__arrow {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--navy-950);
  cursor: pointer;
  font-size: 2rem;
  line-height: 1;
  transition: background .22s ease, transform .22s ease;
}

.overview-slider__arrow:hover {
  background: rgba(22,109,54,.08);
  transform: scale(1.04);
}

.overview-slider__steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.overview-slider__steps button {
  position: relative;
  min-height: 42px;
  border: 0;
  background: transparent;
  color: #8a9b91;
  cursor: pointer;
  font-size: .92rem;
  font-weight: 700;
}

.overview-slider__steps button::after {
  content: "";
  position: absolute;
  left: 20%;
  right: 20%;
  bottom: 2px;
  height: 2px;
  border-radius: 99px;
  background: rgba(14,88,56,.28);
}

.overview-slider__steps button.is-active {
  color: var(--navy-950);
}

.overview-slider__steps button.is-active::after {
  background: var(--green-700);
}

/* Large laptop */
@media (max-width: 1380px) {
  .overview-section {
    padding-block: 84px;
  }

  .overview-shell {
    grid-template-columns: minmax(0, .9fr) minmax(470px, 1.1fr);
    gap: 48px;
  }

  .overview-title {
    font-size: clamp(2.45rem, 3.25vw, 4rem);
  }

  .overview-media {
    min-height: 450px;
  }

  .overview-play {
    width: 80px;
    height: 80px;
  }
}

/* Tablet */
@media (max-width: 1020px) {
  .overview-shell {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .overview-copy {
    max-width: 720px;
  }

  .overview-title {
    max-width: 680px;
  }

  .overview-text {
    max-width: 680px;
  }

  .overview-media {
    min-height: 500px;
  }
}

/* Mobile */
@media (max-width: 760px) {
  .overview-section {
    padding-block: 64px 76px;
  }

  .section-eyebrow {
    margin-bottom: 12px;
    font-size: .64rem;
    letter-spacing: .2em;
  }

  .overview-title {
    font-size: clamp(2.25rem, 10.8vw, 3.25rem);
    line-height: .98;
  }

  .overview-title br {
    display: none;
  }

  .overview-text {
    margin-top: 17px;
    font-size: .9rem;
    line-height: 1.62;
  }

  .overview-text--secondary {
    margin-top: 8px;
  }

  .overview-highlight {
    margin-top: 12px;
    font-size: .9rem;
  }

  .overview-cta {
    width: 100%;
    min-width: 0;
    margin-top: 22px;
  }

  .overview-values {
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
    font-size: .62rem;
    letter-spacing: .14em;
  }

  .overview-values i {
    height: 13px;
  }

  .overview-media {
    min-height: 390px;
  }

  .overview-media__image,
  .overview-media__veil {
    inset: 0 0 16px;
    border-radius: 24px;
  }

  .overview-media__image {
    background-position: 66% center;
  }

  .overview-play {
    top: 40%;
    width: 68px;
    height: 68px;
  }

  .overview-play__triangle {
    border-top-width: 10px;
    border-bottom-width: 10px;
    border-left-width: 16px;
  }

  .overview-media__caption {
    bottom: 92px;
  }

  .overview-media__caption span {
    font-size: 1.55rem;
  }

  .overview-media__caption strong {
    font-size: 1.8rem;
  }

  .overview-media__strap {
    left: 18px;
    bottom: 34px;
    max-width: 210px;
    font-size: .58rem;
    letter-spacing: .11em;
  }

  .overview-slider {
    right: 10px;
    min-width: 255px;
    min-height: 62px;
    grid-template-columns: 38px 1fr 38px;
    gap: 6px;
    padding: 6px 11px;
  }

  .overview-slider__arrow {
    width: 36px;
    height: 36px;
    font-size: 1.65rem;
  }

  .overview-slider__steps button {
    min-height: 38px;
    font-size: .8rem;
  }
}

@media (max-width: 430px) {
  .overview-media {
    min-height: 350px;
  }

  .overview-slider {
    min-width: 235px;
  }

  .overview-media__caption {
    bottom: 86px;
  }
}


/* =========================================================
   LIFESTYLE / AMENITIES INTRO
   Compact typography + premium glass card.
   ========================================================= */

.lifestyle-section {
  position: relative;
  overflow: hidden;
  padding: clamp(78px, 7vw, 112px) 0;
  background:
    radial-gradient(circle at 82% 12%, rgba(220,237,215,.34), transparent 30%),
    radial-gradient(circle at 0% 100%, rgba(46,139,60,.07), transparent 36%),
    linear-gradient(180deg, #f5f8f1 0%, #f8faf6 100%);
  isolation: isolate;
}

.lifestyle-section::before,
.lifestyle-section::after {
  content: "";
  position: absolute;
  z-index: -3;
  pointer-events: none;
  border-radius: 48% 52% 58% 42% / 42% 44% 56% 58%;
  border: 1px solid rgba(22,109,54,.08);
  background:
    linear-gradient(145deg, rgba(255,255,255,.52), rgba(226,238,221,.18));
}

.lifestyle-section::before {
  width: 760px;
  height: 420px;
  top: -240px;
  left: -170px;
  transform: rotate(-9deg);
}

.lifestyle-section::after {
  width: 900px;
  height: 430px;
  right: -250px;
  bottom: -300px;
  transform: rotate(6deg);
}

.lifestyle-orb {
  position: absolute;
  z-index: -2;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(1px);
}

.lifestyle-orb--left {
  width: 270px;
  height: 270px;
  left: -150px;
  bottom: -80px;
  background: radial-gradient(circle, rgba(46,139,60,.10), rgba(46,139,60,0) 70%);
}

.lifestyle-orb--right {
  width: 380px;
  height: 380px;
  right: -180px;
  top: -100px;
  background: radial-gradient(circle, rgba(185,145,82,.08), rgba(185,145,82,0) 72%);
}

.lifestyle-shell {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.72fr);
  align-items: center;
  gap: clamp(42px, 5.5vw, 82px);
}

.lifestyle-intro {
  max-width: 510px;
}

.lifestyle-title {
  margin: 0;
  color: var(--navy-950);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.75rem, 3.9vw, 4.75rem);
  line-height: .93;
  letter-spacing: -.035em;
  text-transform: uppercase;
  font-weight: 600;
  text-wrap: balance;
}

.lifestyle-copy {
  max-width: 470px;
  margin: 21px 0 0;
  color: #29435c;
  font-size: clamp(.91rem, .93vw, 1rem);
  line-height: 1.68;
}

.lifestyle-cta {
  min-width: 235px;
  min-height: 52px;
  margin-top: 26px;
  padding-inline: 26px;
}

.lifestyle-card {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-height: 350px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 48px 20px 48px 48px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.76), rgba(228,239,222,.66));
  backdrop-filter: blur(20px) saturate(125%);
  -webkit-backdrop-filter: blur(20px) saturate(125%);
  box-shadow:
    0 26px 70px rgba(7,26,47,.08),
    inset 0 1px 0 rgba(255,255,255,.9);
}

.lifestyle-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 35%, rgba(255,255,255,.66), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0));
}

.lifestyle-feature {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 38px 26px 34px;
  text-align: center;
}

.lifestyle-feature:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 17%;
  right: 0;
  width: 1px;
  height: 66%;
  background: rgba(7,26,47,.11);
}

.lifestyle-feature__icon {
  width: 56px;
  height: 56px;
  margin-bottom: 16px;
  color: #0a2f2b;
}

.lifestyle-feature__icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.lifestyle-feature h3 {
  margin: 0;
  max-width: 180px;
  color: #0b2c2b;
  text-transform: uppercase;
  letter-spacing: .02em;
  font-size: clamp(.84rem, .9vw, .98rem);
  line-height: 1.2;
  font-weight: 800;
}

.lifestyle-feature p {
  max-width: 180px;
  margin: 13px 0 0;
  color: #405268;
  font-size: clamp(.78rem, .82vw, .88rem);
  line-height: 1.52;
}

.lifestyle-feature {
  transition:
    transform .32s cubic-bezier(.2,.8,.2,1),
    background .32s ease;
}

.lifestyle-feature:hover {
  transform: translateY(-5px);
  background: rgba(255,255,255,.22);
}

.lifestyle-feature:hover .lifestyle-feature__icon {
  transform: translateY(-2px) scale(1.03);
}

.lifestyle-feature__icon {
  transition: transform .32s cubic-bezier(.2,.8,.2,1);
}

/* Laptop */
@media (max-width: 1380px) {
  .lifestyle-section {
    padding-block: 84px;
  }

  .lifestyle-shell {
    grid-template-columns: minmax(280px, .76fr) minmax(0, 1.74fr);
    gap: 46px;
  }

  .lifestyle-card {
    min-height: 320px;
  }

  .lifestyle-feature {
    padding-inline: 20px;
  }
}

/* Tablet */
@media (max-width: 1050px) {
  .lifestyle-shell {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .lifestyle-intro {
    max-width: 680px;
  }

  .lifestyle-copy {
    max-width: 620px;
  }

  .lifestyle-card {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 0;
    border-radius: 34px;
  }

  .lifestyle-feature {
    min-height: 230px;
  }

  .lifestyle-feature:nth-child(2)::after {
    display: none;
  }

  .lifestyle-feature:nth-child(-n+2)::before {
    content: "";
    position: absolute;
    left: 16%;
    right: 16%;
    bottom: 0;
    height: 1px;
    background: rgba(7,26,47,.10);
  }
}

/* Mobile */
@media (max-width: 680px) {
  .lifestyle-section {
    padding-block: 62px 70px;
  }

  .lifestyle-title {
    font-size: clamp(2.3rem, 11vw, 3.2rem);
    line-height: .97;
  }

  .lifestyle-title br {
    display: none;
  }

  .lifestyle-copy {
    margin-top: 16px;
    font-size: .89rem;
    line-height: 1.62;
  }

  .lifestyle-cta {
    width: 100%;
    min-width: 0;
    margin-top: 21px;
  }

  .lifestyle-card {
    grid-template-columns: 1fr;
    border-radius: 26px;
  }

  .lifestyle-feature {
    min-height: 188px;
    padding: 25px 20px 23px;
  }

  .lifestyle-feature:not(:last-child)::after {
    top: auto;
    left: 12%;
    right: 12%;
    bottom: 0;
    width: auto;
    height: 1px;
  }

  .lifestyle-feature:nth-child(-n+2)::before {
    display: none;
  }

  .lifestyle-feature__icon {
    width: 48px;
    height: 48px;
    margin-bottom: 12px;
  }

  .lifestyle-feature h3 {
    max-width: 240px;
    font-size: .88rem;
  }

  .lifestyle-feature p {
    max-width: 300px;
    margin-top: 9px;
    font-size: .8rem;
  }
}


/* Final-page visual system harmonization */
:root{--shell:1440px;--section-pad:clamp(58px,6vw,92px)}
main>section:not(.hero):not(.anchor-spacer){scroll-margin-top:92px}
.overview-section,.lifestyle-section,.amenities-section,.landscape-section,.residences-showcase,.floor-plans-section,.price-section,.location-section{min-height:auto!important;height:auto!important}
.overview-section,.lifestyle-section,.amenities-section,.residences-showcase,.floor-plans-section,.price-section,.location-section{padding-top:var(--section-pad);padding-bottom:var(--section-pad)}
.section-eyebrow{font-size:clamp(.62rem,.55rem + .12vw,.72rem)!important;letter-spacing:.28em!important}
.overview-title,.lifestyle-title,.amenities-copy h2,.landscape-copy h2,.residences-showcase__header h2,.floor-plans-copy h2,.price-copy h2,.location-copy h2{font-size:clamp(2.35rem,3.6vw,4rem)!important;line-height:.94!important}
.overview-text,.lifestyle-copy,.amenities-copy__text,.landscape-copy__text,.residences-showcase__intro,.floor-plans-copy__text,.price-copy__text,.location-copy__text{font-size:clamp(.78rem,.72rem + .12vw,.9rem)!important;line-height:1.7!important}
/* All raster imagery is intentionally text-free; labels remain semantic HTML. */
.amenities-card__image img,.residence-card__media img{object-fit:cover}
.location-map{position:relative;isolation:isolate;background:linear-gradient(135deg,#edf5ef,#dcebe3)!important;overflow:hidden}
.location-map img{display:none!important}
.location-map:before{content:"";position:absolute;inset:-20%;z-index:-1;background:repeating-linear-gradient(34deg,transparent 0 38px,rgba(255,255,255,.88) 39px 44px),repeating-linear-gradient(124deg,transparent 0 55px,rgba(18,86,59,.08) 56px 59px);transform:rotate(-4deg)}
.location-map:after{content:"";position:absolute;left:18%;right:12%;top:45%;height:8px;border-radius:999px;background:rgba(29,113,71,.17);transform:rotate(-22deg);box-shadow:0 0 0 8px rgba(255,255,255,.55)}
.location-map__pin{z-index:2}
@media(max-width:768px){:root{--section-pad:48px}.shell{width:min(calc(100% - 30px),var(--shell))}.overview-title,.lifestyle-title,.amenities-copy h2,.landscape-copy h2,.residences-showcase__header h2,.floor-plans-copy h2,.price-copy h2,.location-copy h2{font-size:clamp(2.15rem,10vw,3rem)!important}}

/* ===== Hero glass refinement: preserve the architectural image ===== */
.hero__wash {
  background:
    linear-gradient(90deg,
      rgba(238,246,241,.38) 0%,
      rgba(238,246,241,.22) 29%,
      rgba(238,246,241,.08) 48%,
      rgba(238,246,241,0) 66%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(6,31,45,.035));
}

.hero-copy {
  position: relative;
  isolation: isolate;
  background: linear-gradient(135deg,
    rgba(255,255,255,.30) 0%,
    rgba(255,255,255,.18) 54%,
    rgba(239,247,241,.12) 100%);
  border: 1px solid rgba(255,255,255,.52);
  box-shadow:
    0 24px 60px rgba(8,31,45,.10),
    0 5px 18px rgba(8,31,45,.055),
    inset 0 1px 0 rgba(255,255,255,.72);
  backdrop-filter: blur(7px) saturate(112%);
  -webkit-backdrop-filter: blur(7px) saturate(112%);
}

.hero-copy::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at 16% 12%, rgba(255,255,255,.24), transparent 48%);
  pointer-events: none;
}

.hero-title,
.hero-subtitle,
.hero-location,
.hero-description {
  text-shadow: 0 1px 1px rgba(255,255,255,.52), 0 5px 18px rgba(255,255,255,.24);
}

.hero-meta {
  background: rgba(255,255,255,.22);
  border-color: rgba(255,255,255,.46);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.44);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

@media (max-width: 1100px) {
  .hero__wash {
    background: linear-gradient(90deg,
      rgba(238,246,241,.46) 0%,
      rgba(238,246,241,.28) 43%,
      rgba(238,246,241,.08) 72%,
      rgba(238,246,241,0) 100%);
  }
}

@media (max-width: 760px) {
  .hero__wash {
    background: linear-gradient(180deg,
      rgba(239,247,242,.28) 0%,
      rgba(239,247,242,.18) 45%,
      rgba(239,247,242,.08) 72%,
      rgba(239,247,242,.02) 100%);
  }
  .hero-copy {
    background: linear-gradient(145deg,
      rgba(255,255,255,.40),
      rgba(250,252,249,.24));
    backdrop-filter: blur(8px) saturate(112%);
    -webkit-backdrop-filter: blur(8px) saturate(112%);
    box-shadow: 0 18px 42px rgba(8,31,45,.10), inset 0 1px 0 rgba(255,255,255,.68);
  }
  .hero-meta { background: rgba(255,255,255,.27); }
}

/* Project highlight strip — refined MDI icon system + premium interactions */
.hero-highlights {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.72);
  background: linear-gradient(105deg, rgba(255,255,255,.88), rgba(247,250,245,.80) 58%, rgba(239,243,232,.78));
  box-shadow: 0 18px 48px rgba(17,44,58,.10), inset 0 1px 0 rgba(255,255,255,.86);
  backdrop-filter: blur(18px) saturate(120%);
  -webkit-backdrop-filter: blur(18px) saturate(120%);
}
.highlight-item {
  position: relative;
  isolation: isolate;
  cursor: default;
  transition: transform .34s cubic-bezier(.2,.8,.2,1), background-color .34s ease, box-shadow .34s ease;
}
.highlight-item::before {
  content:"";
  position:absolute;
  inset:7px 8px;
  z-index:-1;
  border-radius:16px;
  background:linear-gradient(145deg,rgba(255,255,255,.56),rgba(222,240,224,.30));
  opacity:0;
  transform:scale(.94);
  transition:opacity .3s ease,transform .34s cubic-bezier(.2,.8,.2,1);
}
.highlight-item:hover { transform: translateY(-4px); }
.highlight-item:hover::before { opacity:1; transform:scale(1); }
.highlight-icon {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  margin:0 auto 8px;
  border-radius:12px;
  color:#0b6f3a;
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(224,241,228,.82));
  border:1px solid rgba(17,112,61,.11);
  box-shadow:0 8px 18px rgba(15,82,49,.09), inset 0 1px 0 #fff;
  transition:transform .34s cubic-bezier(.2,.8,.2,1), color .3s ease, background .3s ease, box-shadow .3s ease;
}
.highlight-icon .mdi { font-size:21px; line-height:1; }
.highlight-item:hover .highlight-icon {
  color:#fff;
  background:linear-gradient(135deg,#2e8b3c,#076732);
  transform:translateY(-2px) rotate(-4deg) scale(1.07);
  box-shadow:0 10px 22px rgba(7,103,50,.22);
}
.highlight-item strong { transition:color .25s ease, transform .25s ease; }
.highlight-item:hover strong { color:#086d39; transform:translateY(-1px); }
.highlight-signature {
  position:relative;
  overflow:hidden;
  transition:background .35s ease;
}
.highlight-signature::after {
  content:"";
  position:absolute;
  top:-50%; left:-28%;
  width:22%; height:200%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.46),transparent);
  transform:rotate(18deg);
  transition:left .8s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.highlight-signature:hover::after { left:118%; }
.highlight-signature strong { transition:letter-spacing .35s ease,color .3s ease; }
.highlight-signature:hover strong { letter-spacing:.025em; color:#0a6638; }
@media (prefers-reduced-motion: reduce) {
  .highlight-item,.highlight-item::before,.highlight-icon,.highlight-item strong,.highlight-signature::after,.highlight-signature strong { transition:none!important; }
}

/* Cinematic overview auto-slider */
.overview-media__images{position:absolute;inset:0 0 22px;overflow:hidden;border-radius:30px;background:#dfe8df;box-shadow:0 24px 70px rgba(7,26,47,.12),0 4px 16px rgba(7,26,47,.05);transform:translateZ(0)}
.overview-media__image{position:absolute;inset:-1.5%;border-radius:0;background-position:center;background-size:cover;background-repeat:no-repeat;box-shadow:none;opacity:0;transform:scale(1.035);transition:opacity 1.35s cubic-bezier(.22,.61,.36,1),transform 7s cubic-bezier(.2,.7,.2,1);will-change:opacity,transform}
.overview-media__image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,26,47,.015),rgba(7,26,47,.035) 52%,rgba(4,19,33,.48))}
.overview-media__image.is-active{opacity:1;transform:scale(1.095)}
.overview-media__veil{z-index:2}.overview-play{z-index:6;isolation:isolate}
.overview-play::before,.overview-play::after{content:"";position:absolute;inset:-1px;z-index:-1;border:1px solid rgba(255,255,255,.68);border-radius:50%;pointer-events:none;animation:overviewPlayWave 2.6s cubic-bezier(.2,.6,.25,1) infinite}.overview-play::after{animation-delay:1.3s}
@keyframes overviewPlayWave{0%{opacity:.72;transform:scale(.96)}70%,100%{opacity:0;transform:scale(1.72)}}
.overview-play:hover::before,.overview-play:hover::after{animation-duration:1.9s}.overview-slider__arrow i{font-size:27px;transition:transform .25s ease}.overview-slider__arrow:hover i{transform:scale(1.14)}
@media(prefers-reduced-motion:reduce){.overview-media__image{transition:opacity .25s ease;transform:none!important}.overview-play::before,.overview-play::after{animation:none}}
\n\n/* Amenities refinement: compact four-card editorial composition */
.amenities-section{padding-top:clamp(48px,5vw,68px)!important;padding-bottom:clamp(36px,4vw,54px)!important}
.amenities-top{grid-template-columns:minmax(390px,.92fr) minmax(0,1.65fr);gap:clamp(34px,4vw,68px);align-items:center}
.amenities-intro{padding:0;justify-content:center}
.amenities-intro h2{max-width:590px;font-size:clamp(2.7rem,3.65vw,4rem);line-height:.93}
.amenities-intro>p:not(.section-eyebrow){max-width:570px;margin:18px 0 0;font-size:.86rem;line-height:1.72}
.amenity-categories{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-height:0;height:286px}
.amenity-category{border-radius:18px;box-shadow:0 12px 30px rgba(7,26,47,.085);border:1px solid rgba(255,255,255,.7)}
.amenity-category:before{content:"";position:absolute;z-index:2;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);pointer-events:none}
.amenity-category__shade{background:linear-gradient(180deg,transparent 42%,rgba(4,25,29,.18) 58%,rgba(4,25,29,.86) 100%)}
.amenity-category h3{left:16px;bottom:15px;font-size:clamp(.82rem,.92vw,1rem);line-height:1.08}
.amenity-category:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(7,26,47,.14)}
.amenity-list{margin-top:28px;padding-top:20px}
.amenity-point span{width:66px;height:66px;margin-bottom:9px}
.amenity-point i{font-size:33px}
.amenity-point strong{font-size:.55rem}
.amenity-point:not(:last-child):after{height:64px}
.amenities-more{margin-top:5px}
@media(max-width:1180px){.amenities-top{grid-template-columns:1fr;gap:24px}.amenities-intro{display:block}.amenities-intro>p:not(.section-eyebrow){max-width:680px;margin-top:14px}.amenity-categories{height:270px}.amenity-list{grid-template-columns:repeat(6,1fr)}}
@media(max-width:760px){.amenities-section{padding-top:42px!important;padding-bottom:34px!important}.amenity-categories{height:auto;min-height:0;margin-top:8px}.amenity-category{flex:0 0:72%;min-height:230px;height:230px}.amenities-intro h2{font-size:clamp(2.25rem,10vw,3rem)}.amenity-list{margin-top:18px}.amenity-point span{width:60px;height:60px}.amenity-point i{font-size:30px}}


/* Global section H2 scale — compact two-line editorial system */
.overview-title,
.lifestyle-title,
.amenities-intro h2,
.landscape-copy h2,
.residences-showcase__header h2,
.floor-plans-intro h2,
.price-copy h2,
.location-copy h2,
.footer-cta__copy h2{
  font-size:clamp(2.15rem,3.05vw,3.35rem)!important;
  line-height:.96!important;
  letter-spacing:-.032em!important;
  text-wrap:balance;
}
.overview-title,.lifestyle-title{max-width:650px}
.amenities-intro h2{max-width:560px}
.residences-showcase__header h2{max-width:610px}
.floor-plans-intro h2{max-width:430px}
.price-copy h2{max-width:560px}
.location-copy h2{max-width:570px}
.footer-cta__copy h2{max-width:620px}
@media(max-width:768px){
  .overview-title,.lifestyle-title,.amenities-intro h2,.landscape-copy h2,.residences-showcase__header h2,.floor-plans-intro h2,.price-copy h2,.location-copy h2,.footer-cta__copy h2{
    font-size:clamp(2rem,8.7vw,2.75rem)!important;
    line-height:.98!important;
  }
}

/* Location section — professional map + compact connectivity refinement */
.location-shell{grid-template-columns:minmax(330px,.92fr) minmax(390px,1fr) minmax(500px,1.32fr);min-height:410px}
.location-copy{padding:clamp(30px,3vw,48px)}
.location-copy h2{font-size:clamp(2.15rem,2.8vw,3.05rem);line-height:.96}
.location-intro{max-width:470px;font-size:.84rem;line-height:1.62}
.connectivity-card{margin:16px 0;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 12px 34px rgba(7,26,47,.055)}
.connectivity-point{min-height:145px;padding:20px 10px 16px;gap:10px}
.connectivity-icon{width:48px;height:48px;border:1px solid rgba(12,91,55,.07);background:linear-gradient(145deg,#f5f9f6,#e9f2ec);box-shadow:0 7px 18px rgba(7,26,47,.045)}
.connectivity-icon i{font-size:23px}
.connectivity-point strong{font-size:.7rem;letter-spacing:-.01em}
.connectivity-point:hover{background:linear-gradient(180deg,#fff,#f7fbf8);transform:translateY(-3px);box-shadow:0 12px 26px rgba(7,26,47,.07)}
.connectivity-point:hover .connectivity-icon{transform:translateY(-2px) scale(1.045);box-shadow:0 9px 20px rgba(7,103,50,.17)}
.location-map{position:relative;min-height:410px;overflow:hidden;background:#e8f0eb;isolation:isolate}
.location-map::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(246,250,247,.18),transparent 25%,transparent 78%,rgba(7,103,50,.025));box-shadow:inset 0 0 0 1px rgba(7,26,47,.035)}
.location-map__frame{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.78) contrast(.94) brightness(1.04);transition:filter .35s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.location-map:hover .location-map__frame{filter:saturate(.95) contrast(.98) brightness(1.02)}
.location-map__card{position:absolute;z-index:3;top:20px;left:20px;display:flex;align-items:center;gap:11px;max-width:260px;padding:11px 14px 11px 11px;border:1px solid rgba(255,255,255,.82);border-radius:15px;background:rgba(255,255,255,.91);backdrop-filter:blur(12px);box-shadow:0 14px 32px rgba(7,26,47,.13);transition:transform .3s ease,box-shadow .3s ease}
.location-map:hover .location-map__card{transform:translateY(-2px);box-shadow:0 17px 38px rgba(7,26,47,.16)}
.location-map__pin{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--gradient-cta);box-shadow:0 8px 18px rgba(7,103,50,.2)}
.location-map__pin i{font-size:21px}
.location-map__card div{display:grid;gap:1px}.location-map__card small{color:#718091;font-size:.55rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.location-map__card strong{color:var(--navy-950);font-size:.72rem;line-height:1.3}.location-map__card div>span{color:#607286;font-size:.61rem}
.map-open{right:18px;bottom:18px;opacity:1;transform:none;padding:10px 14px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);transition:transform .25s ease,box-shadow .25s ease,color .25s ease}
.map-open:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(7,26,47,.16);color:#08743c}.map-open i{font-size:17px}
@media(max-width:1180px){.location-shell{grid-template-columns:1fr 1fr}.location-copy{grid-column:1/-1}.location-map{min-height:350px}}
@media(max-width:760px){.connectivity-point{min-height:112px;padding:15px 7px}.connectivity-icon{width:42px;height:42px}.connectivity-icon i{font-size:20px}.location-map{min-height:320px}.location-map__card{top:14px;left:14px;max-width:235px}.map-open{right:14px;bottom:14px}.location-copy h2{font-size:clamp(2rem,9vw,2.65rem)}}
@media(prefers-reduced-motion:reduce){.location-map__frame,.location-map__card{transition:none!important}}

/* Connectivity refinement — open, editorial point field (no boxed point cards) */
.location-shell{
  grid-template-columns:minmax(320px,.88fr) minmax(390px,.98fr) minmax(520px,1.34fr);
  min-height:400px;
}
.connectivity-card{
  position:relative;
  margin:0;
  padding:34px 28px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:center;
  gap:28px 24px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.connectivity-card::before{
  content:"KEY CONNECTIVITY";
  position:absolute;
  top:26px;
  left:30px;
  color:#7d8da0;
  font-size:.52rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.22em;
}
.connectivity-point,
.connectivity-point:nth-child(-n+3),
.connectivity-point:not(:nth-child(3n)){
  min-height:0;
  padding:0;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  align-items:center;
  justify-content:initial;
  gap:13px;
  text-align:left;
  border:0;
  background:transparent;
  box-shadow:none;
  transform:none;
  opacity:1;
}
.connectivity-point::after{
  content:"";
  position:absolute;
  left:57px;
  bottom:-10px;
  width:34px;
  height:1px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(17,126,69,.34),rgba(17,126,69,0));
  transform-origin:left center;
  transition:width .3s ease,background .3s ease;
}
.connectivity-icon{
  width:44px;
  height:44px;
  border:1px solid rgba(12,91,55,.08);
  background:rgba(247,251,248,.95);
  box-shadow:0 10px 24px rgba(7,26,47,.10), inset 0 0 0 5px rgba(18,128,70,.025);
}
.connectivity-icon i{font-size:21px}
.connectivity-point strong{
  color:#17344f;
  font-size:.72rem;
  line-height:1.28;
  font-weight:700;
  letter-spacing:-.01em;
}
.connectivity-point:hover{
  background:transparent;
  transform:none;
  box-shadow:none;
}
.connectivity-point:hover::after{width:54px;background:linear-gradient(90deg,rgba(17,126,69,.7),rgba(17,126,69,0))}
.connectivity-point:hover .connectivity-icon{
  color:#fff;
  background:var(--gradient-cta);
  transform:translateY(-3px) scale(1.05);
  box-shadow:0 14px 28px rgba(7,103,50,.22);
}
.connectivity-card.is-visible .connectivity-point{animation:connectivityRise .62s cubic-bezier(.2,.8,.2,1) both}
.connectivity-card.is-visible .connectivity-point:nth-child(2){animation-delay:.06s}
.connectivity-card.is-visible .connectivity-point:nth-child(3){animation-delay:.12s}
.connectivity-card.is-visible .connectivity-point:nth-child(4){animation-delay:.18s}
.connectivity-card.is-visible .connectivity-point:nth-child(5){animation-delay:.24s}
.connectivity-card.is-visible .connectivity-point:nth-child(6){animation-delay:.30s}
@keyframes connectivityRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:1180px){
  .location-shell{grid-template-columns:1fr 1fr}
  .connectivity-card{padding:48px 30px 34px;gap:26px 22px}
  .connectivity-card::before{top:22px}
}
@media(max-width:760px){
  .connectivity-card{margin:0;padding:42px 22px 28px;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
  .connectivity-card::before{left:22px;top:18px}
  .connectivity-point,.connectivity-point:nth-child(-n+3),.connectivity-point:not(:nth-child(3n)){grid-template-columns:39px minmax(0,1fr);gap:10px;border:0!important;padding:0;min-height:0}
  .connectivity-icon{width:39px;height:39px}
  .connectivity-icon i{font-size:18px}
  .connectivity-point strong{font-size:.66rem}
  .connectivity-point::after{left:49px;bottom:-8px;width:26px}
}
@media(prefers-reduced-motion:reduce){.connectivity-card.is-visible .connectivity-point{animation:none!important}}

/* ===== Premium Price & Availability — editorial split ===== */
.price-section.price-section--premium{
  position:relative;
  display:block!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  overflow:hidden;
  background:#f3f8f5;
  isolation:isolate;
}
.price-section--premium .price-section__visual{
  position:absolute;
  inset:0 54.5% 0 0;
  overflow:hidden;
  background:#dfe9e4;
}
.price-section--premium .price-section__visual img{
  width:100%;height:100%;object-fit:cover;object-position:54% center;display:block;
  transform:scale(1.01);
  filter:saturate(.96) contrast(.98) brightness(1.01);
  transition:transform 1.6s cubic-bezier(.2,.7,.2,1),filter .7s ease;
}
.price-section--premium.is-visible .price-section__visual img{transform:scale(1.045)}
.price-section--premium .price-section__shade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.02) 52%,rgba(236,246,241,.46) 100%),
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(4,30,43,.06));
}
.price-section--premium .price-section__content{
  position:relative;z-index:2;
  display:grid!important;
  grid-template-columns:45.5% 54.5%!important;
  width:100%;
  min-height:720px;
}
.price-section--premium .price-copy{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  max-width:none;
  padding:70px clamp(34px,4.2vw,76px) 52px clamp(34px,4.2vw,76px)!important;
  text-shadow:none;
  color:#0b3153;
}
.price-section--premium .price-eyebrow{
  display:flex;align-items:center;gap:15px;
  margin:0 0 18px;
  color:#173f60;
  font-size:.69rem;
  font-weight:800;
  letter-spacing:.36em;
  text-transform:uppercase;
}
.price-section--premium .price-copy>.price-eyebrow span{
  display:block;width:64px;height:1px;background:rgba(22,117,66,.68);
}
.price-section--premium .price-copy h2{
  max-width:640px!important;
  margin:0 0 22px!important;
  color:#0b2e50;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(3rem,4vw,4.9rem)!important;
  font-weight:600;
  line-height:.88!important;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.price-section--premium .price-copy__text{
  max-width:560px;
  margin:0;
  color:#29485f;
  font-size:clamp(.82rem,.78rem + .12vw,.94rem)!important;
  line-height:1.62!important;
}
.price-value-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  width:min(100%,560px);
  margin-top:30px;
}
.price-value-point{
  display:flex;align-items:center;gap:11px;
  min-width:0;
  padding:0 18px;
  border-right:1px solid rgba(17,74,57,.17);
  color:#113b5d;
  opacity:0;transform:translateY(14px);
  transition:opacity .6s ease,transform .6s cubic-bezier(.22,.61,.36,1);
}
.price-value-point:first-child{padding-left:0}
.price-value-point:last-child{padding-right:0;border-right:0}
.price-value-point>span{
  flex:0 0 48px;width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;
  color:#0b7442;
  background:rgba(236,247,241,.88);
  border:1px solid rgba(14,96,58,.09);
  box-shadow:0 8px 22px rgba(18,85,60,.10),inset 0 1px 0 rgba(255,255,255,.86);
  transition:transform .3s ease,background .3s ease,color .3s ease;
}
.price-value-point i{font-size:24px}
.price-value-point strong{font-size:.66rem;line-height:1.35;letter-spacing:.01em}
.price-value-point:hover>span{transform:translateY(-4px) rotate(-4deg);background:#0b7b43;color:#fff}
.price-section--premium.is-visible .price-value-point{opacity:1;transform:none}
.price-section--premium.is-visible .price-value-point:nth-child(2){transition-delay:.09s}
.price-section--premium.is-visible .price-value-point:nth-child(3){transition-delay:.18s}
.price-section--premium .price-signoff{
  margin-top:auto;
  padding-top:34px;
  justify-content:flex-end;
  align-items:flex-start;
  gap:14px;
  color:#183f5c;
  font-size:.65rem;
  letter-spacing:.25em;
  line-height:1.55;
  text-transform:uppercase;
}
.price-section--premium .price-signoff span{width:58px;background:#147345}

.price-section--premium .price-panel{
  align-self:center;
  margin:34px clamp(28px,3vw,48px) 34px 0!important;
  padding:20px 22px 16px!important;
  border:1px solid rgba(255,255,255,.9);
  border-radius:28px;
  background:linear-gradient(155deg,rgba(253,255,254,.94),rgba(246,251,248,.92));
  box-shadow:0 24px 60px rgba(25,77,61,.10),inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter:blur(18px);
  overflow:hidden;
  opacity:0;
  transform:translateX(26px);
  transition:opacity .75s ease,transform .85s cubic-bezier(.22,.61,.36,1);
}
.price-section--premium.is-visible .price-panel{opacity:1;transform:none}
.price-section--premium .price-table-wrap{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(15,72,56,.12);
  border-radius:16px;
  background:rgba(255,255,255,.72);
}
.price-section--premium .price-table-wrap::before{
  content:"";position:absolute;inset:0 auto 0 -35%;width:24%;pointer-events:none;z-index:2;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-18deg);
}
.price-section--premium.is-visible .price-table-wrap::before{animation:priceTableSheen 1.15s .7s ease forwards}
@keyframes priceTableSheen{to{left:120%}}
.price-section--premium .price-table{width:100%;border-collapse:collapse;color:#173a59;font-size:.78rem}
.price-section--premium .price-table thead{
  background:linear-gradient(90deg,#e4f0e9 0%,#dcebe3 100%);
}
.price-section--premium .price-table th,.price-section--premium .price-table td{
  padding:16px 20px;
  border-right:1px solid rgba(18,71,57,.09);
  border-bottom:1px solid rgba(18,71,57,.09);
  text-align:left;
}
.price-section--premium .price-table th{color:#0d3152;font-size:.72rem;font-weight:800}
.price-section--premium .price-table td{position:relative;background:rgba(255,255,255,.22);transition:background .3s ease,color .3s ease}
.price-section--premium .price-table tbody tr{
  opacity:0;transform:translateY(10px);
  transition:opacity .55s ease,transform .55s cubic-bezier(.22,.61,.36,1),box-shadow .25s ease;
}
.price-section--premium.is-visible .price-table tbody tr{opacity:1;transform:none}
.price-section--premium.is-visible .price-table tbody tr:nth-child(1){transition-delay:.18s}
.price-section--premium.is-visible .price-table tbody tr:nth-child(2){transition-delay:.29s}
.price-section--premium.is-visible .price-table tbody tr:nth-child(3){transition-delay:.40s}
.price-section--premium .price-table tbody tr:hover td{background:linear-gradient(90deg,rgba(224,244,234,.72),rgba(247,252,249,.68));color:#0b5f3b}
.price-section--premium .price-table td:first-child{font-weight:800;color:#153957}
.price-section--premium .price-table td button{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:0;border:0;background:none;color:#173a59;font:inherit;cursor:pointer;
  transition:color .25s ease,transform .25s ease;
}
.price-section--premium .price-table td button i{
  font-size:18px;opacity:.55;transform:none;transition:transform .25s ease,opacity .25s ease,color .25s ease;
}
.price-section--premium .price-table tbody tr:hover td button{color:#0a7240}
.price-section--premium .price-table tbody tr:hover td button i{opacity:1;transform:translateX(4px);color:#0a7240}

.price-section--premium .price-request{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 245px;
  align-items:center;
  gap:18px;
  margin-top:18px;
  padding:20px 4px 22px;
  border-top:1px solid rgba(16,111,62,.34);
  border-bottom:1px solid rgba(16,111,62,.18);
}
.price-section--premium .price-request__copy{position:relative;z-index:2}
.price-section--premium .price-request h3{
  margin:0 0 8px;
  color:#0b3155;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(2.4rem,3.1vw,3.65rem);
  font-weight:600;
  line-height:.86;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.price-section--premium .price-request__copy>p:not(.price-eyebrow):not(.price-secure){
  max-width:480px;margin:0 0 15px;color:#566d7e;font-size:.76rem;line-height:1.5;
}
.price-section--premium .price-cta{
  position:relative;min-width:235px;min-height:50px;padding:0 20px;justify-content:space-between;
  font-size:.68rem;letter-spacing:.11em;overflow:hidden;
  box-shadow:0 12px 24px rgba(8,121,64,.20);
}
.price-section--premium .price-cta::after{
  content:"";position:absolute;top:-30%;left:-35%;width:24%;height:160%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.46),transparent);transform:skewX(-18deg);
  transition:left .6s ease;
}
.price-section--premium .price-cta:hover::after{left:120%}
.price-section--premium .price-cta i{font-size:19px;transition:transform .25s ease}
.price-section--premium .price-cta:hover i{transform:translateX(6px)}
.price-secure{
  display:flex!important;align-items:center;gap:8px;max-width:none!important;
  margin:10px 0 0!important;color:#425f73!important;font-size:.67rem!important;
}
.price-secure i{color:#08743c;font-size:16px}
.price-sheet-wrap{position:relative;min-height:210px;display:grid;place-items:center}
.price-sheet{
  position:relative;z-index:3;width:145px;height:186px;margin:auto;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:#173e5f;background:linear-gradient(160deg,#fff,#eef6f3);
  border:1px solid rgba(14,70,55,.14);border-radius:4px;
  box-shadow:14px 18px 28px rgba(12,55,45,.20);
  transform:rotate(7deg);
  animation:priceSheetFloat 4.5s ease-in-out infinite;
}
@keyframes priceSheetFloat{0%,100%{transform:rotate(7deg) translateY(0)}50%{transform:rotate(4deg) translateY(-8px)}}
.price-sheet:before{content:"";position:absolute;inset:10px;border:1px solid rgba(18,84,60,.13)}
.price-sheet i{font-size:29px;color:#08743c;margin-bottom:9px}
.price-sheet span{position:relative;text-align:center;font-family:"Cormorant Garamond",Georgia,serif;font-size:.78rem;line-height:.92;text-transform:uppercase}
.price-sheet strong{font-size:1.16rem}
.price-sheet small{display:block;margin-top:5px;font-family:Arial,sans-serif;font-size:.37rem;font-weight:700;letter-spacing:.13em}
.price-sheet b{display:block;margin-top:14px;font-size:.52rem;font-weight:600;letter-spacing:.18em}
.price-sheet-leaf{position:absolute;z-index:1;width:78px;height:145px;border-radius:90% 0 90% 0;background:linear-gradient(155deg,#2c8a51,#0b6439);filter:drop-shadow(0 8px 10px rgba(15,82,47,.12));opacity:.95}
.price-sheet-leaf--one{right:17px;top:42px;transform:rotate(28deg)}
.price-sheet-leaf--two{right:52px;bottom:8px;transform:rotate(62deg) scale(.72)}
.price-download-badge{
  position:absolute;z-index:4;right:0;top:83px;width:82px;height:82px;border-radius:50%;
  display:grid;place-items:center;text-align:center;color:#173957;
  background:rgba(251,255,253,.94);border:1px solid rgba(18,101,63,.15);
  box-shadow:0 10px 24px rgba(16,72,52,.13),0 0 0 7px rgba(238,248,243,.72);
  font-size:.57rem;font-weight:800;line-height:1.15;text-transform:uppercase;
  animation:priceBadgePulse 2.7s ease-in-out infinite;
}
.price-download-badge i{display:block;margin-top:-4px;color:#08743c;font-size:23px}
@keyframes priceBadgePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}

.price-section--premium .price-benefits{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:14px;
}
.price-section--premium .price-benefits article{
  display:flex;align-items:center;justify-content:flex-start;gap:12px;
  min-height:72px;padding:0 18px;border-right:1px solid rgba(18,71,57,.16);
  color:#153957;text-transform:none;
}
.price-section--premium .price-benefits article:first-child{padding-left:4px}
.price-section--premium .price-benefits article:last-child{border-right:0;padding-right:4px}
.price-section--premium .price-benefits article>span{
  flex:0 0 44px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  color:#08743c;background:#f3fbf7;border:1px solid rgba(14,101,63,.10);
  box-shadow:0 6px 16px rgba(14,73,52,.09);
  transition:transform .3s ease,background .3s ease,color .3s ease;
}
.price-section--premium .price-benefits i{font-size:24px}
.price-section--premium .price-benefits strong{display:block;font-size:.63rem;line-height:1.3;letter-spacing:.01em;text-transform:uppercase}
.price-section--premium .price-benefits small{display:block;margin-top:4px;color:#758693;font-size:.54rem;line-height:1.25}
.price-section--premium .price-benefits article:hover>span{transform:translateY(-4px) rotate(-5deg);background:#08743c;color:#fff}
.price-section--premium .price-disclaimer{margin:8px 0 0;text-align:center;color:#7a8993;font-size:.48rem;line-height:1.4}

@media(max-width:1180px){
  .price-section--premium .price-section__content{grid-template-columns:44% 56%!important;min-height:700px}
  .price-section--premium .price-section__visual{inset:0 56% 0 0}
  .price-section--premium .price-copy{padding:56px 34px 42px!important}
  .price-value-point{padding:0 10px;gap:8px}.price-value-point>span{flex-basis:42px;width:42px;height:42px}.price-value-point i{font-size:21px}
  .price-section--premium .price-panel{margin-right:22px!important;padding:18px!important}
  .price-section--premium .price-request{grid-template-columns:1fr 205px}.price-sheet{width:128px;height:170px}.price-download-badge{width:72px;height:72px;right:-2px}
}
@media(max-width:980px){
  .price-section--premium .price-section__visual{position:relative;inset:auto;height:500px}
  .price-section--premium .price-section__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(244,250,247,.87) 87%,#f4faf7)}
  .price-section--premium .price-section__content{display:block!important;min-height:0}
  .price-section--premium .price-copy{position:absolute;top:0;left:0;right:0;z-index:4;padding:46px 34px!important;min-height:500px}
  .price-section--premium .price-copy h2{font-size:clamp(3rem,8vw,4.3rem)!important;max-width:650px!important}
  .price-section--premium .price-copy__text{max-width:570px}.price-value-points{max-width:560px}
  .price-section--premium .price-signoff{margin-top:auto}
  .price-section--premium .price-panel{margin:0!important;border-radius:0;padding:28px 28px 22px!important;transform:translateY(18px)}
  .price-section--premium.is-visible .price-panel{transform:none}
}
@media(max-width:700px){
  .price-section--premium .price-section__visual{height:560px}
  .price-section--premium .price-copy{padding:34px 20px!important;min-height:560px}
  .price-section--premium .price-copy h2{font-size:clamp(2.55rem,12vw,3.5rem)!important;line-height:.91!important;margin-bottom:18px!important}
  .price-section--premium .price-copy__text{font-size:.76rem!important;line-height:1.55!important}
  .price-value-points{grid-template-columns:1fr 1fr;gap:14px 0;margin-top:22px}.price-value-point{border-right:0;padding:0 8px 0 0}.price-value-point:nth-child(3){grid-column:1/-1}.price-value-point>span{flex-basis:40px;width:40px;height:40px}.price-value-point strong{font-size:.61rem}
  .price-section--premium .price-signoff{padding-top:22px;font-size:.57rem;letter-spacing:.18em}
  .price-section--premium .price-panel{padding:18px 14px 16px!important}
  .price-section--premium .price-table{font-size:.67rem}.price-section--premium .price-table th,.price-section--premium .price-table td{padding:13px 10px}.price-section--premium .price-table th:nth-child(2),.price-section--premium .price-table td:nth-child(2){display:none}
  .price-section--premium .price-request{grid-template-columns:1fr 100px;gap:8px;padding:18px 0}.price-section--premium .price-request h3{font-size:2.2rem}.price-sheet-wrap{min-height:145px}.price-sheet{width:83px;height:116px}.price-sheet i{font-size:20px;margin-bottom:5px}.price-sheet strong{font-size:.78rem}.price-sheet small{display:none}.price-sheet b{margin-top:9px;font-size:.39rem}.price-sheet-leaf{display:none}.price-download-badge{display:none}
  .price-section--premium .price-cta{min-width:0;width:100%;max-width:245px}.price-secure{font-size:.58rem!important}
  .price-section--premium .price-benefits article{flex-direction:column;justify-content:center;gap:6px;padding:8px 7px;text-align:center}.price-section--premium .price-benefits article>span{width:36px;height:36px;flex-basis:36px}.price-section--premium .price-benefits i{font-size:20px}.price-section--premium .price-benefits strong{font-size:.53rem}.price-section--premium .price-benefits small{display:none}
}
@media(prefers-reduced-motion:reduce){
  .price-section--premium .price-section__visual img,.price-section--premium .price-panel,.price-value-point,.price-section--premium .price-table tbody tr,.price-sheet,.price-download-badge,.price-section--premium .price-table-wrap::before{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}
}

/* =========================================================
   LIFESTYLE FEATURE — EXACT REFERENCE COMPOSITION
   User-supplied mint-wave background + existing MDI library
   ========================================================= */
.lifestyle-section {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  min-height: clamp(600px, 33.65vw, 690px) !important;
  padding: 0 !important;
  display: flex;
  align-items: center;
  background: linear-gradient(135deg,#eef3e7,#dceadd,#f5f8ef) !important;
}
.lifestyle-section::before,
.lifestyle-section::after,
.lifestyle-orb { display: none !important; }

.lifestyle-shell {
  width: min(calc(100% - 96px), 1900px) !important;
  margin-inline: auto !important;
  display: grid !important;
  grid-template-columns: minmax(500px, 0.88fr) minmax(0, 1.92fr) !important;
  gap: clamp(42px, 3.35vw, 72px) !important;
  align-items: center !important;
}

.lifestyle-intro {
  width: 100%;
  max-width: 610px !important;
  padding: 0 0 0 14px !important;
  transform: translateY(-2px);
}
.lifestyle-intro .section-eyebrow {
  margin: 0 0 24px !important;
  color: #173c59 !important;
  font-size: clamp(.70rem, .69vw, .87rem) !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .34em !important;
  text-transform: uppercase !important;
}
.lifestyle-title {
  max-width: 600px !important;
  margin: 0 !important;
  color: #071f36 !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(3.55rem, 3.75vw, 4.85rem) !important;
  line-height: .88 !important;
  letter-spacing: -.042em !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  text-wrap: nowrap;
}
.lifestyle-copy {
  max-width: 590px !important;
  margin: 28px 0 0 !important;
  color: #40566c !important;
  font-size: clamp(.91rem, .94vw, 1.05rem) !important;
  line-height: 1.63 !important;
}
.lifestyle-cta {
  position: relative !important;
  overflow: hidden !important;
  min-width: 330px !important;
  min-height: 68px !important;
  margin-top: 30px !important;
  padding: 0 40px !important;
  border-radius: 999px !important;
  font-size: .82rem !important;
  letter-spacing: .075em !important;
  box-shadow: 0 18px 34px rgba(11,111,58,.22) !important;
}
.lifestyle-cta::after {
  content: "";
  position: absolute;
  inset: -20% auto -20% -36%;
  width: 26%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.42), transparent);
  transform: skewX(-16deg);
  transition: left .7s ease;
}
.lifestyle-cta:hover::after { left: 125%; }
.lifestyle-cta .btn__arrow {
  font-size: 1.35rem;
  transition: transform .26s ease;
}
.lifestyle-cta:hover .btn__arrow { transform: translateX(6px); }

.lifestyle-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  min-height: clamp(365px, 19.25vw, 395px) !important;
  overflow: hidden !important;
  border: 2px solid rgba(255,255,255,.76) !important;
  border-radius: 136px 28px 28px 28px !important;
  background: linear-gradient(104deg, rgba(255,255,255,.53) 0%, rgba(243,247,232,.50) 36%, rgba(224,237,207,.52) 100%) !important;
  -webkit-backdrop-filter: blur(9px) saturate(108%) !important;
  backdrop-filter: blur(9px) saturate(108%) !important;
  box-shadow: 0 24px 42px rgba(43,65,45,.10), inset 0 1px 0 rgba(255,255,255,.9) !important;
}
.lifestyle-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 15% 18%, rgba(255,255,255,.42), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 58%) !important;
}
.lifestyle-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 45px rgba(255,255,255,.10);
}

.lifestyle-feature {
  position: relative !important;
  z-index: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 34px 24px 30px !important;
  text-align: center !important;
  background: transparent !important;
  transition: background .32s ease, transform .32s cubic-bezier(.2,.8,.2,1) !important;
}
.lifestyle-feature:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  top: 19% !important;
  right: 0 !important;
  width: 1px !important;
  height: 66% !important;
  background: rgba(44,75,66,.17) !important;
}
.lifestyle-feature__icon {
  width: 62px !important;
  height: 62px !important;
  margin: 0 0 22px !important;
  display: grid !important;
  place-items: center !important;
  color: #0c3834 !important;
  line-height: 1 !important;
  transition: transform .32s cubic-bezier(.2,.8,.2,1), color .28s ease !important;
}
.lifestyle-feature__icon i {
  display: block !important;
  font-size: 58px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  filter: drop-shadow(0 7px 15px rgba(17,58,53,.05));
}
.lifestyle-feature h3 {
  max-width: 235px !important;
  margin: 0 !important;
  color: #10352f !important;
  font-family: "Manrope", system-ui, sans-serif !important;
  font-size: clamp(.94rem, .92vw, 1.08rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.012em !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}
.lifestyle-feature p {
  max-width: 250px !important;
  margin: 18px 0 0 !important;
  color: #4d6271 !important;
  font-size: clamp(.82rem, .80vw, .93rem) !important;
  line-height: 1.52 !important;
}
.lifestyle-feature:hover {
  transform: translateY(-4px) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.035)) !important;
}
.lifestyle-feature:hover .lifestyle-feature__icon {
  transform: translateY(-4px) scale(1.045) !important;
  color: #0b7644 !important;
}

@media (max-width: 1500px) {
  .lifestyle-section { min-height: 610px !important; }
  .lifestyle-shell {
    width: min(calc(100% - 60px), 1760px) !important;
    grid-template-columns: minmax(420px, .86fr) minmax(0, 1.86fr) !important;
    gap: 38px !important;
  }
  .lifestyle-title { font-size: clamp(3.25rem, 4.05vw, 4.35rem) !important; }
  .lifestyle-card { min-height: 360px !important; border-top-left-radius: 118px !important; }
  .lifestyle-feature { padding-inline: 18px !important; }
  .lifestyle-feature__icon { width: 56px !important; height: 56px !important; margin-bottom: 18px !important; }
  .lifestyle-feature__icon i { font-size: 52px !important; }
}

@media (max-width: 1100px) {
  .lifestyle-section { min-height: auto !important; padding: 64px 0 68px !important; background-position: center center !important; }
  .lifestyle-shell { grid-template-columns: 1fr !important; gap: 38px !important; }
  .lifestyle-intro { max-width: 720px !important; padding-left: 0 !important; }
  .lifestyle-card { min-height: 350px !important; border-top-left-radius: 96px !important; }
}

@media (max-width: 760px) {
  .lifestyle-section { padding: 50px 0 56px !important; background-position: 44% center !important; }
  .lifestyle-shell { width: min(calc(100% - 28px), 1760px) !important; gap: 28px !important; }
  .lifestyle-intro .section-eyebrow { margin-bottom: 15px !important; font-size: .62rem !important; }
  .lifestyle-title { max-width: 100% !important; font-size: clamp(2.65rem, 11.8vw, 3.7rem) !important; text-wrap: balance; }
  .lifestyle-copy { margin-top: 18px !important; font-size: .86rem !important; }
  .lifestyle-cta { min-width: 0 !important; width: 100% !important; max-width: 330px !important; min-height: 56px !important; margin-top: 24px !important; padding-inline: 28px !important; }
  .lifestyle-card {
    grid-template-columns: 1fr 1fr !important;
    min-height: 0 !important;
    border-radius: 64px 22px 22px 22px !important;
  }
  .lifestyle-feature { min-height: 235px !important; padding: 26px 15px 24px !important; }
  .lifestyle-feature:nth-child(2)::after { display: none !important; }
  .lifestyle-feature:nth-child(-n+2) { border-bottom: 1px solid rgba(44,75,66,.14); }
  .lifestyle-feature__icon { width: 50px !important; height: 50px !important; margin-bottom: 14px !important; }
  .lifestyle-feature__icon i { font-size: 46px !important; }
  .lifestyle-feature h3 { font-size: .78rem !important; }
  .lifestyle-feature p { margin-top: 10px !important; font-size: .73rem !important; }
}

@media (max-width: 480px) {
  .lifestyle-card { grid-template-columns: 1fr !important; border-radius: 48px 18px 18px 18px !important; }
  .lifestyle-feature { min-height: 200px !important; }
  .lifestyle-feature::after { display: none !important; }
  .lifestyle-feature:not(:last-child) { border-bottom: 1px solid rgba(44,75,66,.14); }
}

@media (prefers-reduced-motion: reduce) {
  .lifestyle-feature,
  .lifestyle-feature__icon,
  .lifestyle-cta::after,
  .lifestyle-cta .btn__arrow { transition: none !important; }
}

/* ============================================================
   Experion Cascades — Advanced 3D Mint Wave Design System
   CSS-built decorative waves; no raster backgrounds required.
   ============================================================ */
:root{
  --wave-ivory:#f7f8f1;
  --wave-cream:#eef3e7;
  --wave-sage-1:#dce8d5;
  --wave-sage-2:#c9dac1;
  --wave-sage-3:#a8c39a;
  --wave-sage-4:#7fa06f;
  --wave-edge:rgba(255,255,255,.78);
  --wave-shadow:rgba(47,77,51,.16);
  --wave-mx:0px;
  --wave-my:0px;
}

/* selected non-image-led sections receive a consistent atmospheric system */
.overview-section,
.lifestyle-section,
.amenities-section,
.residences-showcase,
.floor-plans-section,
.location-section,
.footer-main{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 84% 18%, rgba(184,207,169,.25) 0%, rgba(184,207,169,0) 35%),
    radial-gradient(ellipse at 13% 78%, rgba(205,221,193,.24) 0%, rgba(205,221,193,0) 32%),
    linear-gradient(135deg,#fafbf6 0%,#f3f7ee 42%,#edf4e9 72%,#f8faf4 100%) !important;
}

/* ensure functional content stays above the decorative 3D layer */
.overview-shell,.lifestyle-shell,.amenities-shell,.residences-showcase__inner,
.floor-plans-shell,.location-shell,.footer-main>.shell,
.landscape-panel,.price-section__content{
  position:relative;
  z-index:3;
}

.section-wave-layer{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
  pointer-events:none;
  contain:paint;
}
.section-wave-layer::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 15%,rgba(255,255,255,.80),transparent 24%),
    linear-gradient(105deg,rgba(255,255,255,.24),transparent 34%,rgba(140,176,124,.07) 68%,transparent);
  mix-blend-mode:screen;
  opacity:.75;
}
.section-wave-layer::after{
  content:"";
  position:absolute;
  width:44%;
  height:52%;
  left:-10%;
  top:-23%;
  border:1px solid rgba(111,146,92,.13);
  border-radius:50%;
  transform:translate3d(calc(var(--wave-mx) * -.08),calc(var(--wave-my) * -.06),0) rotate(-14deg);
  box-shadow:0 35px 80px rgba(72,101,64,.05);
}

.section-wave-layer span{
  position:absolute;
  left:-8%;
  width:116%;
  transform-origin:50% 100%;
  will-change:transform;
}

/* back wave: broad soft sage hill */
.section-wave-layer .wave-back{
  height:43%;
  bottom:-25%;
  border-radius:48% 58% 0 0 / 72% 88% 0 0;
  background:
    linear-gradient(180deg,rgba(210,225,201,.90) 0%,rgba(171,196,156,.94) 55%,rgba(136,169,116,.96) 100%);
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.72),
    0 -14px 45px rgba(83,111,71,.10),
    0 -2px 0 rgba(95,126,79,.16);
  transform:translate3d(calc(var(--wave-mx) * .08),calc(var(--wave-my) * .04),0) rotate(-2.4deg) scaleX(1.06);
  opacity:.92;
}

/* mid wave: ivory ribbon producing the 3D separation */
.section-wave-layer .wave-mid{
  height:32%;
  bottom:-15%;
  left:-4%;
  width:110%;
  border-radius:54% 45% 0 0 / 82% 68% 0 0;
  background:
    linear-gradient(180deg,rgba(252,253,248,.98),rgba(238,244,231,.94) 52%,rgba(217,228,205,.91));
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.98),
    0 -16px 34px rgba(65,92,58,.13),
    0 -3px 0 rgba(255,255,255,.70);
  transform:translate3d(calc(var(--wave-mx) * -.05),calc(var(--wave-my) * -.025),0) rotate(2.1deg) scaleX(1.02);
  opacity:.98;
}

/* front wave: lower green volume, strongest depth */
.section-wave-layer .wave-front{
  height:27%;
  bottom:-17%;
  left:-10%;
  width:121%;
  border-radius:42% 58% 0 0 / 78% 62% 0 0;
  background:
    radial-gradient(ellipse at 52% 0%,rgba(255,255,255,.24),transparent 31%),
    linear-gradient(180deg,#bfd2b4 0%,#9dbb8e 51%,#789b67 100%);
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.65),
    0 -20px 50px rgba(64,91,57,.18),
    0 -1px 0 rgba(99,127,83,.24);
  transform:translate3d(calc(var(--wave-mx) * .13),calc(var(--wave-my) * .06),0) rotate(-1deg) scaleX(1.07);
  opacity:.96;
}

/* glossy highlight tracing the wave crest */
.section-wave-layer .wave-front::before,
.section-wave-layer .wave-back::before{
  content:"";
  position:absolute;
  left:4%; right:4%; top:2px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.9) 16%,rgba(255,255,255,.55) 54%,transparent 92%);
  box-shadow:0 2px 8px rgba(255,255,255,.36);
}

/* upper floating ribbon for selected alternating sections */
.wave-theme--reverse .wave-back{
  bottom:auto;
  top:-31%;
  transform:translate3d(calc(var(--wave-mx) * -.07),calc(var(--wave-my) * -.03),0) rotate(181deg) scaleX(1.06);
  opacity:.42;
}
.wave-theme--reverse .wave-mid{
  bottom:-19%;
  transform:translate3d(calc(var(--wave-mx) * .05),calc(var(--wave-my) * .025),0) rotate(-1.4deg) scaleX(1.05);
}
.wave-theme--reverse .wave-front{
  bottom:-20%;
  transform:translate3d(calc(var(--wave-mx) * -.11),calc(var(--wave-my) * .05),0) rotate(2.2deg) scaleX(1.08);
}

/* section-specific art direction so the page doesn't look copy-pasted */
.overview-section .section-wave-layer{opacity:.78}
.overview-section .wave-back{bottom:-30%;left:8%;width:103%;transform:rotate(-4deg) scaleX(1.12)}
.overview-section .wave-mid{bottom:-22%;left:-16%;width:110%;transform:rotate(3.2deg) scaleX(1.08)}

.lifestyle-section{
  background:
    radial-gradient(ellipse at 16% 15%,rgba(255,255,255,.70),transparent 31%),
    radial-gradient(ellipse at 83% 27%,rgba(188,208,173,.34),transparent 40%),
    linear-gradient(125deg,#f7f8f1 0%,#eff4e9 48%,#e3eddd 100%) !important;
}
.lifestyle-section .section-wave-layer{opacity:.86}
.lifestyle-section .wave-front{height:31%;bottom:-20%;background:linear-gradient(180deg,#c2d4b7,#98b888 57%,#72925f)}

.amenities-section{
  background:
    radial-gradient(circle at 8% 20%,rgba(209,224,198,.40),transparent 28%),
    linear-gradient(155deg,#fafbf7 0%,#f2f6ed 45%,#e7f0e2 100%) !important;
}
.amenities-section .wave-back{left:-18%;bottom:-31%;transform:rotate(4deg) scaleX(1.14)}
.amenities-section .wave-mid{left:10%;bottom:-23%;transform:rotate(-4deg) scaleX(1.08)}
.amenities-section .wave-front{left:-4%;bottom:-22%;transform:rotate(2deg) scaleX(1.11)}

.residences-showcase{
  background:
    radial-gradient(ellipse at 77% 11%,rgba(190,212,176,.38),transparent 36%),
    linear-gradient(135deg,#f6f8f1 0%,#eef4e9 54%,#e9f1e4 100%) !important;
}
.residences-showcase .section-wave-layer{transform:scaleX(-1)}
.residences-showcase .wave-back{bottom:-32%;opacity:.72}

.floor-plans-section{
  background:
    radial-gradient(ellipse at 50% 5%,rgba(255,255,255,.88),transparent 34%),
    linear-gradient(160deg,#edf4e9 0%,#fafbf6 44%,#e7efe1 100%) !important;
}
.floor-plans-section .wave-back{bottom:-34%;left:-15%;height:46%;opacity:.68}
.floor-plans-section .wave-mid{bottom:-22%;left:12%;width:102%}
.floor-plans-section .wave-front{bottom:-24%;left:-22%;width:128%;opacity:.78}

.location-section{
  background:
    radial-gradient(ellipse at 88% 20%,rgba(171,201,159,.30),transparent 36%),
    linear-gradient(135deg,#f9faf5,#eef4e9 52%,#e3eddd) !important;
}
.location-section .wave-back{bottom:-35%;left:12%;opacity:.58;transform:rotate(-5deg) scaleX(1.14)}
.location-section .wave-mid{bottom:-24%;left:-14%;transform:rotate(4deg) scaleX(1.09)}
.location-section .wave-front{bottom:-27%;left:18%;opacity:.72}

.footer-main{
  background:
    radial-gradient(ellipse at 12% 8%,rgba(255,255,255,.82),transparent 30%),
    linear-gradient(145deg,#f5f8f1,#e8f0e3 60%,#dce8d5) !important;
}
.footer-main .section-wave-layer{opacity:.62}
.footer-main .wave-back{bottom:-38%;opacity:.60}
.footer-main .wave-mid{bottom:-29%;opacity:.88}
.footer-main .wave-front{bottom:-34%;opacity:.58}

/* Give white cards a more dimensional material finish without becoming glass-heavy */
.amenity-category,
.residence-card,
.floor-plan-card,
.location-shell{
  border-color:rgba(255,255,255,.74) !important;
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(248,251,245,.83)) !important;
  box-shadow:
    0 24px 55px rgba(45,69,45,.10),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(120,150,108,.06) !important;
  backdrop-filter:blur(10px) saturate(1.08);
}
.amenity-point span,
.landscape-value__icon,
.floor-plan-note i,
.price-benefits span{
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(226,237,220,.92)) !important;
  box-shadow:0 10px 24px rgba(58,83,55,.11),inset 0 1px 0 rgba(255,255,255,.95) !important;
}

/* subtle raised rims around feature panels */
.lifestyle-card,
.location-shell{
  box-shadow:
    0 30px 70px rgba(51,77,48,.13),
    0 10px 22px rgba(55,82,52,.08),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
}

@keyframes waveBreathA{0%,100%{transform:translate3d(-.4%,0,0) scaleX(1.02)}50%{transform:translate3d(.8%,-4px,0) scaleX(1.035)}}
@keyframes waveBreathB{0%,100%{filter:saturate(1) brightness(1)}50%{filter:saturate(1.045) brightness(1.018)}}
.section-wave-layer{animation:waveBreathB 11s ease-in-out infinite}
.section-wave-layer .wave-mid{animation:waveBreathA 13s ease-in-out infinite}

@media(max-width:900px){
  .section-wave-layer .wave-back{height:33%;bottom:-20%}
  .section-wave-layer .wave-mid{height:26%;bottom:-15%}
  .section-wave-layer .wave-front{height:22%;bottom:-14%}
  .section-wave-layer::after{width:70%;height:34%;left:-28%;top:-12%}
}
@media(max-width:620px){
  .section-wave-layer{opacity:.55!important}
  .section-wave-layer .wave-back{height:25%;bottom:-13%}
  .section-wave-layer .wave-mid{height:20%;bottom:-11%}
  .section-wave-layer .wave-front{height:17%;bottom:-10%}
  .amenity-category,.residence-card,.floor-plan-card,.location-shell{backdrop-filter:none}
}
@media(prefers-reduced-motion:reduce){
  .section-wave-layer,.section-wave-layer .wave-mid{animation:none!important}
}

/* ========================================================================== 
   PROJECT GALLERY — cinematic, editorial and intentionally compact
   ========================================================================== */
.gallery-section{
  --gallery-bg:url("assets/images/project-overview.webp");
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(72px,7vw,108px) 0 clamp(66px,6.5vw,98px);
  background:
    radial-gradient(circle at 20% 12%,rgba(255,255,255,.94),transparent 28%),
    linear-gradient(135deg,#f7faf6 0%,#edf4ed 46%,#f7f8f3 100%);
}
.gallery-section::before{
  content:"";
  position:absolute;
  inset:-10%;
  z-index:-3;
  background-image:var(--gallery-bg);
  background-size:cover;
  background-position:center;
  filter:blur(38px) saturate(.78);
  opacity:.16;
  transform:scale(1.12);
  transition:background-image .5s ease,opacity .4s ease;
}
.gallery-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(180deg,rgba(249,251,248,.78),rgba(249,251,248,.93)),
    radial-gradient(circle at 85% 20%,rgba(179,207,169,.22),transparent 30%);
  pointer-events:none;
}
.gallery-atmosphere{
  position:absolute;
  inset:auto -8% -180px -8%;
  height:330px;
  z-index:-1;
  background:linear-gradient(180deg,rgba(189,213,181,.08),rgba(117,155,104,.2));
  border-radius:50% 52% 0 0 / 42% 46% 0 0;
  filter:blur(1px);
  box-shadow:0 -30px 80px rgba(82,117,72,.08),inset 0 1px rgba(255,255,255,.75);
  transform:rotate(-1.5deg);
}
.gallery-shell{position:relative}
.gallery-heading{text-align:center;max-width:920px;margin:0 auto clamp(28px,3vw,42px)}
.gallery-eyebrow{
  margin:0 0 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  font-size:.72rem;
  line-height:1;
  letter-spacing:.42em;
  text-transform:uppercase;
  font-weight:700;
  color:#234768;
}
.gallery-eyebrow span{width:66px;height:1px;background:linear-gradient(90deg,transparent,#73918c)}
.gallery-eyebrow span:last-child{background:linear-gradient(90deg,#73918c,transparent)}
.gallery-heading h2{
  margin:0;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(2.45rem,3.4vw,3.85rem);
  line-height:.98;
  letter-spacing:-.025em;
  font-weight:500;
  text-transform:uppercase;
  color:var(--navy-950);
}
.gallery-heading h2 em{font-style:normal;color:var(--green-700)}
.gallery-heading>p:last-child{
  max-width:760px;
  margin:10px auto 0;
  color:#365069;
  font-size:clamp(.92rem,1.05vw,1.05rem);
  line-height:1.65;
}
.gallery-stage{position:relative;margin-inline:auto}
.gallery-stage__frame{
  position:relative;
  height:clamp(390px,39vw,600px);
  overflow:hidden;
  border-radius:22px;
  background:#dce5db;
  box-shadow:0 30px 80px rgba(7,26,47,.14),0 8px 24px rgba(7,26,47,.08);
  border:1px solid rgba(255,255,255,.85);
  transform:translateZ(0);
}
.gallery-stage__frame::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:4;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),inset 0 -70px 110px rgba(4,18,30,.10);
  pointer-events:none;
}
.gallery-stage__frame img{
  width:100%;height:100%;display:block;object-fit:cover;object-position:center;
  transform:scale(1.015);
  transition:opacity .55s cubic-bezier(.22,.61,.36,1),transform 6s cubic-bezier(.2,.7,.2,1),filter .45s ease;
  will-change:transform,opacity;
}
.gallery-stage__frame.is-changing img{opacity:.22;transform:scale(1.045);filter:blur(5px)}
.gallery-stage__frame:not(.is-changing) img{transform:scale(1.055)}
.gallery-stage__shade{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,rgba(5,20,33,.02) 48%,rgba(5,20,33,.48) 100%);
}
.gallery-stage__caption{
  position:absolute;z-index:5;left:clamp(22px,3vw,46px);bottom:clamp(20px,2.7vw,40px);
  display:grid;gap:5px;color:white;text-shadow:0 2px 18px rgba(0,0,0,.3);
}
.gallery-stage__caption span{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;font-weight:700;opacity:.82}
.gallery-stage__caption strong{font-family:"Cormorant Garamond",serif;font-size:clamp(1.65rem,2.3vw,2.55rem);font-weight:600;line-height:1}
.gallery-arrow,
.gallery-play-toggle{
  position:absolute;z-index:6;display:grid;place-items:center;border:1px solid rgba(255,255,255,.8);color:white;
  background:rgba(7,26,47,.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 12px 32px rgba(5,20,33,.15);cursor:pointer;transition:transform .28s ease,background .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.gallery-arrow{top:50%;width:54px;height:54px;border-radius:50%;transform:translateY(-50%)}
.gallery-arrow--prev{left:22px}.gallery-arrow--next{right:22px}
.gallery-arrow i{font-size:27px;transition:transform .28s ease}
.gallery-arrow:hover{background:rgba(12,103,56,.78);border-color:rgba(255,255,255,.95);box-shadow:0 16px 34px rgba(5,72,38,.24)}
.gallery-arrow--prev:hover{transform:translateY(-50%) translateX(-3px)}
.gallery-arrow--next:hover{transform:translateY(-50%) translateX(3px)}
.gallery-play-toggle{right:22px;bottom:22px;width:40px;height:40px;border-radius:50%;opacity:.92}
.gallery-play-toggle i{font-size:20px}
.gallery-play-toggle:hover{background:rgba(12,103,56,.8);transform:translateY(-2px)}
.gallery-thumbs{
  display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px;margin-top:14px;
}
.gallery-thumb{
  position:relative;min-width:0;padding:0 2px 12px;border:0;background:transparent;color:var(--navy-900);cursor:pointer;
  transition:transform .28s ease,color .28s ease;
}
.gallery-thumb>span{
  position:relative;display:block;overflow:hidden;border-radius:12px;aspect-ratio:1.42/1;
  background:#e7eee5;border:2px solid transparent;
  box-shadow:0 8px 18px rgba(7,26,47,.05);
  transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease;
}
.gallery-thumb img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.gallery-thumb strong{display:block;margin-top:8px;font-size:clamp(.68rem,.75vw,.78rem);line-height:1.2;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gallery-thumb::after{
  content:"";position:absolute;left:8%;right:8%;bottom:0;height:2px;border-radius:9px;background:var(--navy-800);
  transform:scaleX(0);transform-origin:center;transition:transform .32s ease;
}
.gallery-thumb:hover{transform:translateY(-3px);color:var(--green-800)}
.gallery-thumb:hover>span{box-shadow:0 14px 28px rgba(7,26,47,.1)}
.gallery-thumb:hover img{transform:scale(1.08)}
.gallery-thumb.is-active>span{border-color:#0f6d53;box-shadow:0 0 0 2px rgba(255,255,255,.9),0 12px 28px rgba(7,26,47,.12)}
.gallery-thumb.is-active::after{transform:scaleX(1)}
.gallery-thumb.is-active strong{color:#0b4f45}
.gallery-thumb.is-active img{transform:scale(1.04)}
@media(max-width:1100px){
  .gallery-stage__frame{height:clamp(360px,52vw,520px)}
  .gallery-thumbs{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding:0 2px 12px;scrollbar-width:none}
  .gallery-thumbs::-webkit-scrollbar{display:none}
  .gallery-thumb{scroll-snap-align:start}
}
@media(max-width:700px){
  .gallery-section{padding:64px 0 60px}
  .gallery-heading{margin-bottom:24px}
  .gallery-eyebrow{gap:10px;font-size:.62rem;letter-spacing:.25em}.gallery-eyebrow span{width:34px}
  .gallery-heading h2{font-size:clamp(2.1rem,12vw,2.75rem)}
  .gallery-heading>p:last-child{font-size:.9rem;line-height:1.55}
  .gallery-stage__frame{height:clamp(300px,70vw,410px);border-radius:18px}
  .gallery-arrow{width:44px;height:44px}.gallery-arrow--prev{left:12px}.gallery-arrow--next{right:12px}.gallery-arrow i{font-size:23px}
  .gallery-play-toggle{right:12px;bottom:12px;width:36px;height:36px}
  .gallery-stage__caption{left:18px;bottom:18px}.gallery-stage__caption strong{font-size:1.55rem}
  .gallery-thumbs{grid-template-columns:repeat(9,132px);gap:8px;margin-top:10px}
  .gallery-thumb strong{font-size:.7rem}
}
@media(prefers-reduced-motion:reduce){
  .gallery-stage__frame img,.gallery-thumb,.gallery-thumb img,.gallery-arrow,.gallery-play-toggle{transition:none!important}
  .gallery-stage__frame:not(.is-changing) img{transform:none}
}


/* ========================================================================== 
   GALLERY SCREEN-FIT + CONTINUOUS CINEMATIC THUMBNAIL RAIL
   ========================================================================== */
.gallery-thumbs-viewport{
  position:relative;
  width:100%;
  overflow:hidden;
  margin-top:0;
  padding:2px 0 4px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 2.2%,#000 97.8%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 2.2%,#000 97.8%,transparent 100%);
}
.gallery-thumbs{
  display:flex!important;
  grid-template-columns:none!important;
  width:max-content;
  gap:10px;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  scroll-snap-type:none!important;
  scrollbar-width:none;
  will-change:transform;
  animation:galleryThumbMarquee 38s linear infinite;
}
.gallery-thumbs-viewport:hover .gallery-thumbs,
.gallery-thumbs-viewport:focus-within .gallery-thumbs{animation-play-state:paused}
.gallery-thumb{
  flex:0 0 clamp(132px,9.5vw,174px);
  width:clamp(132px,9.5vw,174px);
  padding:0 2px 9px;
  scroll-snap-align:none!important;
}
.gallery-thumb>span{aspect-ratio:1.5/1;border-radius:11px}
.gallery-thumb strong{margin-top:6px;font-size:clamp(.66rem,.7vw,.76rem)}
@keyframes galleryThumbMarquee{to{transform:translateX(-50%)}}

@media(min-width:1101px){
  .gallery-section{
    height:100svh;
    min-height:660px;
    max-height:980px;
    padding:clamp(22px,2.7vh,34px) 0 clamp(14px,2vh,24px);
    display:flex;
    align-items:stretch;
  }
  .gallery-shell{
    width:min(94vw,1840px);
    max-width:none;
    height:100%;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    gap:clamp(10px,1.55vh,17px);
  }
  .gallery-heading{
    max-width:900px;
    margin:0 auto;
  }
  .gallery-eyebrow{margin-bottom:6px;font-size:.68rem;letter-spacing:.38em}
  .gallery-heading h2{font-size:clamp(2.2rem,2.75vw,3.25rem)}
  .gallery-heading>p:last-child{margin-top:6px;font-size:clamp(.86rem,.9vw,.98rem);line-height:1.48}
  .gallery-stage{min-height:0;height:100%;}
  .gallery-stage__frame{
    height:100%;
    min-height:0;
    border-radius:20px;
    box-shadow:0 22px 60px rgba(7,26,47,.13),0 6px 18px rgba(7,26,47,.07);
  }
  .gallery-stage__caption{left:clamp(24px,2.3vw,38px);bottom:clamp(18px,2.1vh,30px)}
  .gallery-stage__caption strong{font-size:clamp(1.55rem,1.8vw,2.1rem)}
  .gallery-arrow{width:50px;height:50px}
  .gallery-arrow--prev{left:20px}.gallery-arrow--next{right:20px}
  .gallery-play-toggle{right:20px;bottom:18px;width:38px;height:38px}
  .gallery-thumbs-viewport{height:clamp(102px,14.6vh,132px)}
  .gallery-thumb{flex-basis:clamp(132px,9.4vw,174px);width:clamp(132px,9.4vw,174px)}
}

@media(max-width:1100px){
  .gallery-thumbs-viewport{margin-top:10px}
  .gallery-thumbs{display:flex!important;gap:9px;animation-duration:34s}
  .gallery-thumb{flex-basis:142px;width:142px}
}

@media(max-width:700px){
  .gallery-section{padding:48px 0 44px}
  .gallery-heading{margin-bottom:18px}
  .gallery-stage__frame{height:clamp(285px,64vw,380px)}
  .gallery-thumbs-viewport{margin-top:9px}
  .gallery-thumbs{gap:8px;animation-duration:30s}
  .gallery-thumb{flex-basis:116px;width:116px;padding-bottom:7px}
  .gallery-thumb>span{border-radius:9px}
  .gallery-thumb strong{margin-top:5px;font-size:.66rem}
}

@media(prefers-reduced-motion:reduce){
  .gallery-thumbs{animation:none!important;transform:none!important}
  .gallery-thumbs-viewport{overflow-x:auto;mask-image:none;-webkit-mask-image:none}
}

/* =========================================================
   Context-aware premium lead popup
   ========================================================= */
.lead-dialog {
  overflow: hidden;
  width: min(92vw, 520px);
  padding: 34px 36px 36px;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 30px;
  background:
    radial-gradient(circle at 92% 4%, rgba(183, 218, 187, .34), transparent 31%),
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(246,250,246,.93));
  box-shadow: 0 32px 90px rgba(5,25,42,.24), 0 8px 28px rgba(5,25,42,.10), inset 0 1px 0 rgba(255,255,255,.9);
  opacity: 0;
  transform: translateY(18px) scale(.972);
  transition: opacity .22s ease, transform .32s cubic-bezier(.2,.72,.2,1);
}
.lead-dialog.is-visible { opacity: 1; transform: translateY(0) scale(1); }
.lead-dialog::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #0f7435, #5ba968, #d7e9d9, #0f7435);
  background-size: 200% 100%;
  animation: leadAccentFlow 5s linear infinite;
}
.lead-dialog::backdrop {
  background: rgba(5,18,31,.58);
  -webkit-backdrop-filter: blur(8px) saturate(.8);
  backdrop-filter: blur(8px) saturate(.8);
}
.lead-dialog__close {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  top: 18px;
  right: 20px;
  border: 1px solid rgba(10,42,62,.10);
  border-radius: 50%;
  background: rgba(255,255,255,.72);
  box-shadow: 0 8px 22px rgba(9,34,50,.08);
  font-size: 1.45rem;
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.lead-dialog__close:hover { transform: rotate(90deg); background: #fff; box-shadow: 0 10px 25px rgba(9,34,50,.13); }
.lead-dialog h2 { max-width: 92%; font-size: clamp(2.2rem, 4vw, 3rem); line-height: .96; }
.lead-dialog > p:not(.lead-dialog__eyebrow) { max-width: 94%; margin: 16px 0 0; font-size: .96rem; }
.lead-form { gap: 13px; margin-top: 24px; }
.lead-form label > span { color: var(--navy-950); font-size: .76rem; }
.lead-form input {
  height: 54px;
  border-color: rgba(7,39,60,.14);
  background: rgba(255,255,255,.78);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
  transition: border-color .22s ease, box-shadow .22s ease, background .22s ease, transform .22s ease;
}
.lead-form input:hover { background: #fff; border-color: rgba(14,112,51,.25); }
.lead-form input:focus { transform: translateY(-1px); background: #fff; border-color: rgba(18,129,59,.58); box-shadow: 0 0 0 4px rgba(37,143,68,.10), 0 10px 24px rgba(17,70,43,.07); }
.lead-form .btn[type="submit"] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 58px;
  margin-top: 3px;
  border: 1px solid rgba(255,255,255,.2);
  background: linear-gradient(110deg, #248f40 0%, #087536 52%, #0a6231 100%);
  box-shadow: 0 16px 34px rgba(10,111,53,.25), inset 0 1px 0 rgba(255,255,255,.20);
  letter-spacing: .055em;
  transition: transform .3s cubic-bezier(.2,.75,.2,1), box-shadow .3s ease, filter .3s ease;
}
.lead-form .btn[type="submit"]::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -2px;
  background: linear-gradient(105deg, transparent 20%, rgba(255,255,255,.30) 43%, rgba(255,255,255,.06) 54%, transparent 72%);
  transform: translateX(-120%);
  animation: leadButtonShine 3.8s ease-in-out infinite;
}
.lead-form .btn[type="submit"]::after {
  content: "";
  position: absolute;
  inset: 4px;
  z-index: -1;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: inherit;
  pointer-events: none;
}
.lead-form .btn[type="submit"]:hover {
  transform: translateY(-3px);
  filter: saturate(1.08) brightness(1.03);
  box-shadow: 0 20px 40px rgba(10,111,53,.31), 0 0 0 5px rgba(31,135,61,.075), inset 0 1px 0 rgba(255,255,255,.25);
}
.lead-form .btn[type="submit"] .btn__arrow { transition: transform .28s ease; }
.lead-form .btn[type="submit"]:hover .btn__arrow { transform: translateX(6px); }
.lead-form .btn[type="submit"].is-success { background: linear-gradient(105deg,#0b6e36,#159248); }
.lead-submit-success { display: inline-flex; align-items: center; gap: 8px; }
.lead-submit-success i { font-size: 1.15rem; }

@keyframes leadButtonShine { 0%,58% { transform: translateX(-125%); } 76%,100% { transform: translateX(125%); } }
@keyframes leadAccentFlow { to { background-position: -200% 0; } }

@media (max-width: 640px) {
  .lead-dialog { width: min(94vw, 480px); padding: 30px 22px 24px; border-radius: 25px; }
  .lead-dialog__close { top: 14px; right: 14px; }
  .lead-dialog h2 { font-size: 2.2rem; }
  .lead-form input { height: 51px; }
  .lead-form .btn[type="submit"] { min-height: 55px; }
}

@media (prefers-reduced-motion: reduce) {
  .lead-dialog, .lead-dialog__close, .lead-form input, .lead-form .btn[type="submit"], .lead-form .btn[type="submit"] .btn__arrow { transition: none !important; }
  .lead-dialog::before, .lead-form .btn[type="submit"]::before { animation: none !important; }
}

/* === MASTERPLAN / replaces duplicate residences showcase === */
.masterplan-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:clamp(650px,calc(100svh - 72px),820px);
  display:flex;
  align-items:center;
  padding:clamp(44px,5.5vh,68px) 0;
  background:
    radial-gradient(circle at 82% 18%,rgba(151,185,119,.20),transparent 30%),
    radial-gradient(circle at 12% 82%,rgba(213,229,202,.72),transparent 28%),
    linear-gradient(135deg,#fbfcf8 0%,#f4f8ef 48%,#eef5e8 100%);
}
.masterplan-section::before,
.masterplan-section::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;border-radius:50%;
  border:1px solid rgba(78,116,85,.10);filter:drop-shadow(0 18px 32px rgba(48,79,54,.06));
}
.masterplan-section::before{width:780px;height:380px;left:-210px;top:-245px;transform:rotate(-10deg)}
.masterplan-section::after{width:920px;height:430px;right:-320px;bottom:-300px;transform:rotate(7deg)}
.masterplan-orbit{position:absolute;z-index:-1;border-radius:50%;pointer-events:none;filter:blur(.2px)}
.masterplan-orbit--one{width:560px;height:150px;right:4%;top:11%;background:linear-gradient(90deg,rgba(255,255,255,.58),rgba(195,218,177,.28));transform:rotate(-7deg);box-shadow:0 28px 80px rgba(38,74,49,.07)}
.masterplan-orbit--two{width:520px;height:130px;left:1%;bottom:5%;background:linear-gradient(90deg,rgba(177,203,153,.26),rgba(255,255,255,.7));transform:rotate(8deg);box-shadow:0 26px 70px rgba(38,74,49,.06)}
.masterplan-shell{position:relative;display:grid;grid-template-columns:minmax(330px,.72fr) minmax(620px,1.28fr);gap:clamp(34px,4.4vw,74px);align-items:center;width:min(calc(100% - 72px),1740px)}
.masterplan-copy{max-width:540px}
.masterplan-copy .section-eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 15px;color:#1f4f3a;font-size:.66rem;font-weight:800;letter-spacing:.34em;text-transform:uppercase}
.masterplan-copy .section-eyebrow span{width:64px;height:1px;background:linear-gradient(90deg,#2d6a4f,transparent)}
.masterplan-copy h2{margin:0;color:var(--navy-950);font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2.35rem,3.6vw,4rem)!important;font-weight:600;line-height:.94!important;letter-spacing:-.035em;text-transform:uppercase}
.masterplan-copy__text{max-width:505px;margin:22px 0 24px;color:#56697c;font-size:clamp(.78rem,.72rem + .12vw,.9rem)!important;line-height:1.72!important}
.masterplan-principles{display:grid;gap:9px;margin:0 0 24px}
.masterplan-principle{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:13px;min-height:54px;padding:8px 10px 8px 8px;border-radius:18px;background:linear-gradient(110deg,rgba(255,255,255,.82),rgba(245,250,241,.58));border:1px solid rgba(80,115,88,.11);box-shadow:0 10px 28px rgba(36,68,45,.055);transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease}
.masterplan-principle:hover{transform:translateX(6px);border-color:rgba(37,119,67,.22);box-shadow:0 14px 34px rgba(36,68,45,.10)}
.masterplan-principle>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#0d6d3e;background:linear-gradient(145deg,#eef7e9,#fff);box-shadow:inset 0 0 0 1px rgba(46,106,79,.10),0 8px 18px rgba(46,106,79,.09)}
.masterplan-principle i{font-size:21px}
.masterplan-principle strong{display:block;color:#163149;font-size:.78rem;line-height:1.2}
.masterplan-principle small{display:block;margin-top:3px;color:#748394;font-size:.66rem}
.masterplan-cta{min-width:220px;min-height:50px;justify-content:space-between;gap:22px;padding:0 22px;box-shadow:0 16px 32px rgba(4,113,55,.18);overflow:hidden}
.masterplan-cta i{font-size:19px;transition:transform .25s ease}.masterplan-cta:hover i{transform:translateX(5px)}
.masterplan-note{display:flex;align-items:center;gap:7px;margin:11px 0 0;color:#83908f;font-size:.61rem;line-height:1.35}.masterplan-note i{font-size:15px;color:#698476}
.masterplan-visual-wrap{perspective:1400px}
.masterplan-visual{position:relative;border-radius:34px 34px 34px 112px;padding:18px 18px 16px;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(235,244,228,.72));border:1px solid rgba(255,255,255,.92);box-shadow:0 28px 70px rgba(32,60,38,.13),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(16px);transform:rotateX(.7deg) rotateY(-.7deg);transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s ease}
.masterplan-visual:hover{transform:rotateX(0) rotateY(0) translateY(-4px);box-shadow:0 36px 84px rgba(32,60,38,.17),inset 0 1px 0 rgba(255,255,255,.95)}
.masterplan-visual__topline{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:5px 9px 13px 14px;border-bottom:1px solid rgba(39,82,53,.10)}
.masterplan-visual__topline span{display:block;color:#728579;font-size:.57rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.masterplan-visual__topline strong{display:block;margin-top:3px;color:#173348;font-size:.82rem}
.masterplan-compass{display:flex;align-items:center;gap:4px;color:#245c41}.masterplan-compass i{font-size:20px}.masterplan-compass span{color:#245c41;font-size:.6rem}
.masterplan-canvas{position:relative;height:clamp(410px,47vh,530px);min-height:0;overflow:hidden;border-radius:24px 24px 24px 92px;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.9),rgba(225,238,218,.88) 62%,rgba(206,224,194,.9));box-shadow:inset 0 0 0 1px rgba(46,83,54,.08),inset 0 -30px 60px rgba(44,80,49,.04)}
.masterplan-canvas::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(43,77,52,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(43,77,52,.03) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,transparent,black 20%,black 82%,transparent);pointer-events:none}
.masterplan-svg{position:absolute;inset:3% 3% 2%;width:94%;height:95%;overflow:visible;filter:drop-shadow(0 20px 24px rgba(35,70,45,.08))}
.mp-site{filter:drop-shadow(0 22px 28px rgba(29,62,38,.13))}.mp-perimeter{fill:none;stroke:#8daa78;stroke-width:3;stroke-dasharray:7 10;opacity:.65}.mp-spine{fill:none;stroke:#f7fbf2;stroke-width:28;stroke-linecap:round;filter:drop-shadow(0 5px 6px rgba(60,88,64,.08))}.mp-spine--secondary{stroke-width:12;opacity:.92}.mp-water{stroke:#ecf8f5;stroke-width:5;filter:drop-shadow(0 8px 14px rgba(66,135,124,.18))}.mp-green{stroke:#f4faee;stroke-width:4;filter:drop-shadow(0 10px 14px rgba(77,116,68,.16))}.mp-tower{fill:url(#mpTower);stroke:#99aa9c;stroke-width:2}.mp-tower+path{fill:none;stroke:#b7c3b8;stroke-width:2}.mp-club rect{fill:#f6f8ef;stroke:#7f9c70;stroke-width:2}.mp-club path{fill:none;stroke:#6e8d65;stroke-width:3;stroke-linecap:round}.mp-sport rect{fill:#c6ddba;stroke:#6d9369;stroke-width:2}.mp-sport path{fill:none;stroke:#edf6e9;stroke-width:2}.mp-arrival path{fill:#eef4e7;stroke:#8ba17d;stroke-width:2}.mp-arrival circle{fill:#90b06f;stroke:#f8fff4;stroke-width:4}.mp-tree-field circle{fill:#6e9958;stroke:#ecf7e7;stroke-width:4}
.masterplan-label{position:absolute;display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;color:#173448;background:rgba(255,255,255,.90);border:1px solid rgba(46,85,57,.10);box-shadow:0 8px 20px rgba(40,73,46,.10);font-size:.64rem;font-weight:800;white-space:nowrap;backdrop-filter:blur(8px);animation:masterplanFloat 5s ease-in-out infinite;transition:transform .3s ease,box-shadow .3s ease}
.masterplan-label i{font-size:16px;color:#0a7440}.masterplan-label:hover{transform:translateY(-4px) scale(1.03)!important;box-shadow:0 14px 28px rgba(40,73,46,.16)}
.masterplan-label--green{left:38%;top:31%;animation-delay:-1s}.masterplan-label--club{left:46%;top:15%;animation-delay:-2.3s}.masterplan-label--homes{left:7%;top:23%;animation-delay:-3.2s}.masterplan-label--sports{right:6%;bottom:26%;animation-delay:-.6s}.masterplan-label--arrival{left:46%;bottom:8%;animation-delay:-4s}
.masterplan-legend{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2vw,28px);flex-wrap:wrap;padding:14px 6px 0;color:#63766c;font-size:.6rem}.masterplan-legend span{display:inline-flex;align-items:center;gap:6px}.masterplan-legend__swatch{display:inline-block;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.76)}.masterplan-legend__swatch--home{background:#dce3dc}.masterplan-legend__swatch--green{background:#8eb371}.masterplan-legend__swatch--water{background:#8ec7bd}.masterplan-legend__swatch--amenity{background:#b8cf9b}
@keyframes masterplanFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.masterplan-section.is-visible .masterplan-copy>*{animation:masterplanReveal .7s both}.masterplan-section.is-visible .masterplan-copy>*:nth-child(2){animation-delay:.08s}.masterplan-section.is-visible .masterplan-copy>*:nth-child(3){animation-delay:.14s}.masterplan-section.is-visible .masterplan-copy>*:nth-child(4){animation-delay:.2s}.masterplan-section.is-visible .masterplan-copy>*:nth-child(5){animation-delay:.26s}.masterplan-section.is-visible .masterplan-visual{animation:masterplanVisualReveal .9s .08s both}
@keyframes masterplanReveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes masterplanVisualReveal{from{opacity:0;transform:translateY(24px) rotateX(2deg) rotateY(-2deg) scale(.98)}to{opacity:1;transform:rotateX(.7deg) rotateY(-.7deg)}}
@media(max-width:1180px){.masterplan-shell{grid-template-columns:minmax(300px,.8fr) minmax(520px,1.2fr);gap:28px}.masterplan-canvas{height:430px}.masterplan-label{font-size:.58rem;padding:7px 9px}}
@media(max-width:900px){.masterplan-section{min-height:auto;padding:56px 0}.masterplan-shell{grid-template-columns:1fr;width:min(calc(100% - 34px),900px)}.masterplan-copy{max-width:680px}.masterplan-principles{grid-template-columns:repeat(3,1fr);gap:8px}.masterplan-principle{grid-template-columns:38px 1fr}.masterplan-principle>span{width:38px;height:38px}.masterplan-canvas{height:430px}.masterplan-visual{border-radius:28px 28px 28px 72px}}
@media(max-width:640px){.masterplan-section{padding:46px 0}.masterplan-shell{width:min(calc(100% - 28px),620px)}.masterplan-copy h2{font-size:clamp(2.15rem,10vw,3rem)!important}.masterplan-principles{grid-template-columns:1fr}.masterplan-principle{min-height:50px}.masterplan-visual{padding:11px;border-radius:22px 22px 22px 48px}.masterplan-visual__topline{padding:4px 6px 10px 9px}.masterplan-visual__topline strong{font-size:.72rem}.masterplan-canvas{height:360px;border-radius:18px 18px 18px 40px}.masterplan-label{font-size:.53rem;padding:6px 8px}.masterplan-label--homes{left:3%;top:25%}.masterplan-label--green{left:30%;top:32%}.masterplan-label--club{left:43%;top:13%}.masterplan-label--sports{right:3%;bottom:25%}.masterplan-label--arrival{left:39%;bottom:7%}.masterplan-legend{gap:10px 16px;justify-content:flex-start;padding-left:6px}.masterplan-orbit{display:none}}
@media(prefers-reduced-motion:reduce){.masterplan-label{animation:none}.masterplan-section.is-visible .masterplan-copy>*,.masterplan-section.is-visible .masterplan-visual{animation:none}.masterplan-principle,.masterplan-visual,.masterplan-label,.masterplan-cta i{transition:none}}


/* Global call + WhatsApp contact system */
.contact-dock{
  position:fixed;
  right:clamp(14px,1.7vw,28px);
  bottom:clamp(16px,2vw,30px);
  z-index:1200;
  display:grid;
  gap:10px;
  filter:drop-shadow(0 14px 30px rgba(7,32,25,.18));
}
.contact-dock__item{
  min-width:142px;
  height:48px;
  padding:0 16px 0 12px;
  display:flex;
  align-items:center;
  gap:10px;
  border-radius:999px;
  text-decoration:none;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#fff;
  border:1px solid rgba(255,255,255,.32);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 12px 26px rgba(7,34,26,.16);
  transform:translateZ(0);
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,filter .28s ease;
  overflow:hidden;
  isolation:isolate;
}
.contact-dock__item::after{
  content:"";
  position:absolute;
  inset:-35% auto -35% -38%;
  width:34%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);
  transition:left .48s ease;
  z-index:-1;
}
.contact-dock__item:hover::after{left:120%;}
.contact-dock__item:hover{transform:translateY(-3px) scale(1.015);box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 18px 36px rgba(7,34,26,.22);}
.contact-dock__item i{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  font-size:18px;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
  transition:transform .28s ease;
}
.contact-dock__item:hover i{transform:rotate(-6deg) scale(1.08);}
.contact-dock__item--call{background:linear-gradient(135deg,#103d31,#0a2741);}
.contact-dock__item--whatsapp{background:linear-gradient(135deg,#25d366,#128c4a);}
.footer-contact-list .mdi-whatsapp{color:#168f50;}
.footer-contact-list a[href*="wa.me"]{font-weight:700;color:#177b49;}
.footer-contact-list a[href*="wa.me"]:hover{color:#0b5b36;}

@media(max-width:720px){
  .contact-dock{right:12px;bottom:12px;display:flex;gap:8px;}
  .contact-dock__item{min-width:0;width:48px;padding:0;justify-content:center;}
  .contact-dock__item span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
  .contact-dock__item i{width:34px;height:34px;font-size:20px;}
}
@media(prefers-reduced-motion:reduce){
  .contact-dock__item,.contact-dock__item i,.contact-dock__item::after{transition:none!important;}
}

/* Lead popup compact title + optional email refinement */
.lead-dialog h2 {
  max-width: calc(100% - 58px) !important;
  margin-top: 10px !important;
  font-size: clamp(1.9rem, 2.9vw, 2.45rem) !important;
  line-height: 1 !important;
  letter-spacing: -.025em;
  white-space: nowrap;
}
.lead-dialog > p[data-lead-description] { display: none !important; }
.lead-form { margin-top: 22px !important; }
.lead-form label > span small {
  font: inherit;
  font-weight: 500;
  color: #74877f;
  letter-spacing: 0;
  text-transform: none;
}
@media (max-width: 560px) {
  .lead-dialog h2 {
    max-width: calc(100% - 48px) !important;
    font-size: clamp(1.45rem, 7vw, 1.85rem) !important;
    letter-spacing: -.035em;
  }
  .lead-form { margin-top: 19px !important; }
}

/* =========================================================
   PRICE & AVAILABILITY — FULL-BLEED CINEMATIC BACKGROUND
   Full balcony render under the complete section + glass panel
   ========================================================= */
.price-section.price-section--premium{
  min-height:760px!important;
  background:#eaf3ee!important;
}
.price-section.price-section--premium::before,
.price-section.price-section--premium::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:1;
}
.price-section.price-section--premium::before{
  inset:0;
  background:
    linear-gradient(90deg,rgba(250,252,248,.14) 0%,rgba(250,252,248,.04) 34%,rgba(234,245,239,.26) 49%,rgba(237,248,243,.60) 60%,rgba(240,249,245,.74) 100%),
    linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(10,41,42,.04) 100%);
}
.price-section.price-section--premium::after{
  right:-9%;bottom:-24%;width:48vw;height:48vw;max-width:760px;max-height:760px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(149,196,158,.22) 0%,rgba(149,196,158,.08) 45%,transparent 72%);
  filter:blur(10px);
}
.price-section--premium .price-section__visual{
  position:absolute!important;
  inset:0!important;
  z-index:0;
  overflow:hidden;
  background:#dce8df;
}
.price-section--premium .price-section__visual img{
  width:100%;height:100%;object-fit:cover;object-position:center 58%;
  transform:scale(1.015);
  filter:saturate(.98) contrast(1.01) brightness(1.015);
  transition:transform 2.2s cubic-bezier(.2,.7,.2,1),filter .8s ease;
}
.price-section--premium.is-visible .price-section__visual img{transform:scale(1.045)}
.price-section--premium .price-section__shade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(255,251,239,.10) 0%,rgba(255,251,239,.03) 38%,rgba(237,247,242,.24) 50%,rgba(238,248,244,.66) 63%,rgba(242,250,246,.80) 100%),
    linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(8,38,42,.08) 100%);
}
.price-section--premium .price-section__content{
  position:relative;z-index:3;
  grid-template-columns:minmax(0,46%) minmax(0,54%)!important;
  min-height:760px;
  align-items:stretch;
}
.price-section--premium .price-copy{
  position:relative;
  padding:68px clamp(34px,4.35vw,82px) 54px!important;
}
.price-section--premium .price-copy::before{
  content:"";
  position:absolute;
  left:clamp(20px,2.4vw,42px);top:8%;bottom:8%;width:min(520px,80%);
  border-radius:44% 56% 50% 50% / 42% 46% 54% 58%;
  background:radial-gradient(ellipse at 42% 38%,rgba(255,252,240,.30),rgba(255,252,240,.08) 58%,transparent 75%);
  filter:blur(8px);
  z-index:-1;
}
.price-section--premium .price-copy h2{
  max-width:620px!important;
  text-shadow:0 2px 18px rgba(255,255,255,.34),0 1px 0 rgba(255,255,255,.35);
}
.price-section--premium .price-copy__text{
  color:#26465b!important;
  text-shadow:0 1px 12px rgba(255,255,255,.36);
}
.price-value-point>span{
  background:rgba(246,253,249,.82)!important;
  backdrop-filter:blur(10px);
  box-shadow:0 11px 26px rgba(15,74,55,.14),inset 0 1px 0 rgba(255,255,255,.92)!important;
}
.price-section--premium .price-panel{
  position:relative;
  align-self:center;
  margin:32px clamp(30px,3.1vw,54px) 32px 0!important;
  padding:22px 24px 16px!important;
  border:1px solid rgba(255,255,255,.78)!important;
  border-radius:32px!important;
  background:
    linear-gradient(150deg,rgba(253,255,254,.88),rgba(243,250,246,.78))!important;
  box-shadow:
    0 28px 80px rgba(25,72,58,.16),
    0 8px 24px rgba(22,70,54,.07),
    inset 0 1px 0 rgba(255,255,255,.96)!important;
  backdrop-filter:blur(26px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(26px) saturate(1.08)!important;
  isolation:isolate;
}
.price-section--premium .price-panel::before{
  content:"";
  position:absolute;inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(circle at 88% 18%,rgba(138,190,150,.20),transparent 32%),
    linear-gradient(120deg,rgba(255,255,255,.24),transparent 38%);
  z-index:-1;
}
.price-section--premium .price-panel::after{
  content:"";
  position:absolute;
  right:5%;bottom:-12%;width:34%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(106,169,122,.17),transparent 67%);
  filter:blur(7px);z-index:-1;pointer-events:none;
}
.price-section--premium .price-table-wrap{
  border-color:rgba(16,82,59,.13)!important;
  background:rgba(255,255,255,.58)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}
.price-section--premium .price-table thead{
  background:linear-gradient(90deg,rgba(224,240,231,.90),rgba(211,232,219,.84))!important;
}
.price-section--premium .price-table td{background:rgba(255,255,255,.26)!important}
.price-section--premium .price-table tbody tr:hover td{
  background:linear-gradient(90deg,rgba(216,240,226,.86),rgba(247,252,249,.66))!important;
}
.price-section--premium .price-request{
  background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(226,241,232,.14),rgba(255,255,255,.06));
}
.price-section--premium .price-sheet-wrap{
  filter:drop-shadow(0 14px 18px rgba(23,73,54,.10));
}
.price-section--premium .price-benefits article{
  transition:transform .3s ease,background .3s ease;
  border-radius:16px;
}
.price-section--premium .price-benefits article:hover{
  transform:translateY(-3px);
  background:rgba(237,248,242,.48);
}
.price-section--premium .price-cta{
  background:linear-gradient(100deg,#169047 0%,#087c3e 45%,#056d38 100%)!important;
  box-shadow:0 14px 34px rgba(8,118,60,.28)!important;
}
.price-section--premium .price-cta:hover{
  transform:translateY(-3px);
  box-shadow:0 19px 42px rgba(8,118,60,.34)!important;
}

@media (max-width:1180px){
  .price-section.price-section--premium{min-height:720px!important}
  .price-section--premium .price-section__content{grid-template-columns:44% 56%!important;min-height:720px!important}
  .price-section--premium .price-panel{margin-right:22px!important}
  .price-section--premium .price-section__visual{inset:0!important}
}
@media (max-width:980px){
  .price-section.price-section--premium{min-height:0!important}
  .price-section--premium .price-section__visual{position:absolute!important;inset:0!important;height:auto!important}
  .price-section--premium .price-section__visual::after{display:none!important}
  .price-section--premium .price-section__visual img{object-position:35% center}
  .price-section--premium .price-section__shade{
    background:linear-gradient(180deg,rgba(252,249,236,.08) 0%,rgba(238,248,243,.34) 48%,rgba(239,248,244,.90) 78%,rgba(241,249,245,.97) 100%);
  }
  .price-section--premium .price-section__content{display:block!important;min-height:0!important}
  .price-section--premium .price-copy{position:relative!important;min-height:510px;padding:46px 34px 36px!important}
  .price-section--premium .price-panel{
    margin:0 20px 24px!important;
    border-radius:26px!important;
    background:linear-gradient(150deg,rgba(253,255,254,.94),rgba(245,251,248,.90))!important;
  }
}
@media (max-width:700px){
  .price-section--premium .price-section__visual img{object-position:28% center}
  .price-section--premium .price-copy{min-height:535px;padding:34px 20px 30px!important}
  .price-section--premium .price-copy::before{left:0;top:0;width:100%;height:74%}
  .price-section--premium .price-panel{margin:0 12px 18px!important;padding:18px 14px 16px!important;border-radius:22px!important}
}
@media(prefers-reduced-motion:reduce){
  .price-section--premium .price-section__visual img,.price-section--premium .price-panel,.price-section--premium .price-benefits article,.price-section--premium .price-cta{transition:none!important}
}

/* === Refined icon interaction system: green-on-white -> white-on-green === */
.amenity-point span,
.landscape-value__icon{
  color:#0b7a42 !important;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,251,248,.96)) !important;
  border:1px solid rgba(11,122,66,.10) !important;
  box-shadow:0 10px 24px rgba(7,26,47,.08), inset 0 1px 0 rgba(255,255,255,.98) !important;
  transition:transform .32s cubic-bezier(.2,.8,.2,1), color .28s ease, background .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}
.amenity-point i,
.landscape-value__icon i{
  color:inherit !important;
  filter:none !important;
  transition:transform .32s cubic-bezier(.2,.8,.2,1), color .28s ease !important;
}
.amenity-point:hover span,
.amenity-point:focus-within span,
.landscape-value:hover .landscape-value__icon,
.landscape-value:focus-within .landscape-value__icon{
  color:#fff !important;
  background:linear-gradient(135deg,#239448 0%,#0b7a42 52%,#066734 100%) !important;
  border-color:rgba(255,255,255,.36) !important;
  transform:translateY(-5px) scale(1.055) !important;
  box-shadow:0 15px 30px rgba(8,112,58,.24), inset 0 1px 0 rgba(255,255,255,.28) !important;
}
.amenity-point:hover i,
.amenity-point:focus-within i,
.landscape-value:hover .landscape-value__icon i,
.landscape-value:focus-within .landscape-value__icon i{
  color:#fff !important;
  transform:scale(1.08) rotate(-4deg) !important;
}
.amenity-point:hover strong,
.landscape-value:hover strong{
  color:#0b7a42;
}
@media (prefers-reduced-motion:reduce){
  .amenity-point span,.amenity-point i,.landscape-value__icon,.landscape-value__icon i{transition:none!important;transform:none!important}
}


/* === MASTERPLAN REAL IMAGE / DETAIL LIGHTBOX === */
.masterplan-visual--image{overflow:hidden}
.masterplan-image-trigger{
  position:relative;display:block;width:100%;height:clamp(410px,47vh,530px);padding:0;border:0;
  overflow:hidden;cursor:pointer;border-radius:24px 24px 24px 92px;background:#e8efe2;
  box-shadow:inset 0 0 0 1px rgba(46,83,54,.08),inset 0 -28px 60px rgba(44,80,49,.04);
  isolation:isolate;
}
.masterplan-image-trigger img{
  width:100%;height:100%;object-fit:cover;object-position:center;display:block;
  filter:blur(5px) saturate(.94) contrast(.98);transform:scale(1.012);
  transition:filter .45s ease,transform .7s cubic-bezier(.2,.8,.2,1);
}
.masterplan-image-trigger__veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(246,250,242,.05),rgba(18,48,34,.07) 65%,rgba(12,39,27,.17));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.32);
}
.masterplan-image-trigger__hint{
  position:absolute;left:50%;top:50%;z-index:2;display:grid;grid-template-columns:42px auto;grid-template-areas:"icon title" "icon meta";
  align-items:center;column-gap:11px;min-width:190px;padding:11px 15px 11px 12px;border-radius:999px;
  color:#16364a;background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.92);
  box-shadow:0 14px 34px rgba(18,52,36,.18);backdrop-filter:blur(12px);transform:translate(-50%,-50%);
  transition:transform .32s ease,box-shadow .32s ease,background .32s ease;
}
.masterplan-image-trigger__hint i{grid-area:icon;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;font-size:22px;color:#fff;background:linear-gradient(145deg,#17894b,#08723c);box-shadow:0 8px 20px rgba(9,111,59,.2)}
.masterplan-image-trigger__hint b{grid-area:title;font-size:.72rem;line-height:1.05;text-transform:uppercase;letter-spacing:.04em}
.masterplan-image-trigger__hint small{grid-area:meta;margin-top:3px;color:#718277;font-size:.58rem}
.masterplan-image-trigger:hover img{filter:blur(5px) saturate(1) contrast(1);transform:scale(1.035)}
.masterplan-image-trigger:hover .masterplan-image-trigger__hint{transform:translate(-50%,-54%) scale(1.025);box-shadow:0 18px 42px rgba(18,52,36,.23);background:rgba(255,255,255,.94)}
.masterplan-legend--image{gap:clamp(12px,1.7vw,24px)}
.masterplan-legend--image span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.48);border:1px solid rgba(58,94,67,.08)}
.masterplan-legend--image i{font-size:14px;color:#16824a}

.masterplan-dialog{
  width:min(96vw,1500px);height:min(92vh,980px);max-width:none;max-height:none;margin:auto;padding:0;border:0;border-radius:28px;
  color:#173348;background:rgba(246,249,243,.98);box-shadow:0 40px 120px rgba(8,31,23,.35);overflow:hidden;
}
.masterplan-dialog::backdrop{background:rgba(6,22,17,.74);backdrop-filter:blur(8px)}
.masterplan-dialog[open]{animation:masterplanDialogIn .34s cubic-bezier(.2,.8,.2,1) both}
.masterplan-dialog__bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px 12px 22px;border-bottom:1px solid rgba(36,78,53,.1);background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(232,243,227,.86))}
.masterplan-dialog__bar span{display:block;color:#1c7548;font-size:.58rem;font-weight:800;letter-spacing:.24em}
.masterplan-dialog__bar strong{display:block;margin-top:2px;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.28rem;line-height:1;color:#102c42}
.masterplan-dialog__close{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;cursor:pointer;color:#153348;background:#fff;box-shadow:0 8px 22px rgba(13,42,29,.1);transition:transform .28s ease,background .28s ease,color .28s ease}
.masterplan-dialog__close:hover{transform:rotate(90deg);background:#0c7b42;color:#fff}
.masterplan-dialog__viewport{height:calc(100% - 108px);overflow:auto;background:#edf3e9;padding:14px}
.masterplan-dialog__viewport img{display:block;width:100%;height:100%;object-fit:contain;border-radius:17px;background:#fff;box-shadow:0 12px 34px rgba(17,49,34,.1)}
.masterplan-dialog__footer{height:48px;display:flex;align-items:center;justify-content:center;gap:8px;color:#718176;font-size:.65rem;border-top:1px solid rgba(36,78,53,.08)}
.masterplan-dialog__footer i{font-size:17px;color:#0d7b43}
@keyframes masterplanDialogIn{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:900px){.masterplan-image-trigger{height:430px;border-radius:20px 20px 20px 64px}.masterplan-dialog{width:96vw;height:88vh;border-radius:22px}}
@media(max-width:640px){.masterplan-image-trigger{height:350px;border-radius:17px 17px 17px 40px}.masterplan-image-trigger__hint{min-width:168px;padding:9px 13px 9px 9px;grid-template-columns:36px auto}.masterplan-image-trigger__hint i{width:36px;height:36px;font-size:19px}.masterplan-dialog{width:97vw;height:84vh;border-radius:18px}.masterplan-dialog__bar{padding:11px 10px 10px 14px}.masterplan-dialog__viewport{padding:8px;height:calc(100% - 100px)}.masterplan-dialog__footer{font-size:.58rem}}
@media(prefers-reduced-motion:reduce){.masterplan-image-trigger img,.masterplan-image-trigger__hint,.masterplan-dialog__close{transition:none}.masterplan-dialog[open]{animation:none}}

/* Compact landscape: keep image intrinsic dimensions from stretching the grid. */
.landscape-section { min-height:440px!important; }
.landscape-visual { min-height:0; }
.landscape-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.landscape-panel { padding-top:36px; padding-bottom:36px; }
@media (max-width:1080px) {
  .landscape-section { min-height:0!important; }
  .landscape-visual { height:320px; }
  .landscape-panel { padding-top:28px; padding-bottom:28px; }
}
@media (max-width:720px) {
  .landscape-visual { height:240px; }
  .landscape-panel { padding:24px 20px; }
  .landscape-values { margin-top:20px; padding-top:16px; }
}
html:has(.lead-dialog[open]) { overflow:hidden; }
/* Shared heading and green CTA system, based on the overview section. */
:root {
  --site-heading-size: clamp(2.15rem, 3.05vw, 3.35rem);
  --site-cta-height: 54px;
  --site-cta-padding: 28px;
}
:root body h2.site-heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: var(--site-heading-size) !important;
  font-weight: 600 !important;
  line-height: .96 !important;
  letter-spacing: -.032em !important;
  text-transform: uppercase;
  white-space: normal !important;
  text-wrap: balance;
  max-width: 100% !important;
}
:root body h2.site-heading br { display: block !important; }
:root body :is(.btn--primary, .contact-dock__item--whatsapp) {
  display: inline-flex;
  align-items: center;
  justify-content: center !important;
  justify-self: start;
  align-self: start;
  flex: 0 0 auto;
  gap: 16px !important;
  width: fit-content !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: var(--site-cta-height) !important;
  min-height: var(--site-cta-height) !important;
  padding: 0 var(--site-cta-padding) !important;
  border: 1px solid rgba(255,255,255,.56) !important;
  border-radius: 999px !important;
  background: var(--gradient-cta) !important;
  color: #fff !important;
  font-family: Manrope, sans-serif !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .095em !important;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 8px 20px rgba(7,103,50,.22), 0 20px 46px rgba(7,103,50,.14) !important;
  transition: transform .28s ease, box-shadow .28s ease, filter .28s ease !important;
}
:root body :is(.btn--primary, .contact-dock__item--whatsapp)::before,
:root body :is(.btn--primary, .contact-dock__item--whatsapp)::after { content: none !important; }
:root body :is(.btn--primary, .contact-dock__item--whatsapp):hover {
  transform: translateY(-3px) !important;
  filter: brightness(1.05);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.34), 0 12px 24px rgba(7,103,50,.28), 0 24px 54px rgba(7,103,50,.18) !important;
}
:root body .btn--primary :is(.btn__arrow, .mdi) { font-size: 20px !important; }
:root body .btn--primary:active { transform: translateY(0) !important; }
:root body .btn--primary:focus-visible { outline: 3px solid #153d30; outline-offset: 4px; }
@media (max-width:768px) {
  :root { --site-heading-size: clamp(2rem, 8.7vw, 2.75rem); --site-cta-padding: 20px; }
  :root body h2.site-heading { line-height: .98 !important; }
  .price-request { grid-template-columns: minmax(0,1fr); }
  .price-sheet-wrap { display: none; }
}
@media (max-width:720px) {
  :root body .contact-dock__item--whatsapp { width:54px!important; padding:0!important; }
}
@media (prefers-reduced-motion:reduce) {
  :root body :is(.btn--primary, .contact-dock__item--whatsapp) { transition:none!important; }
}
/* Hero essentials: subtle feedback, with readable compact mobile columns. */
.hero-meta .meta-item {
  min-width: 0;
  padding: 8px 10px;
  border-radius: 12px;
  transition: background .25s ease, box-shadow .25s ease, transform .25s ease;
}
.hero-meta .meta-icon { transition: color .25s ease, transform .25s ease; }
@media (hover:hover) and (pointer:fine) {
  .hero-meta .meta-item:hover {
    background: rgba(255,255,255,.65);
    box-shadow: 0 8px 20px rgba(13,69,44,.12);
    transform: translateY(-3px);
  }
  .hero-meta .meta-item:hover .meta-icon { color:#08743c; transform:scale(1.08); }
}
@media (max-width:768px) {
  :root { --site-heading-size:clamp(1.75rem,5.7vw,2.45rem); }
  .overview-section, .lifestyle-section {
    padding-block:32px!important;
    min-height:0!important;
  }
  .overview-shell, .lifestyle-shell {
    grid-template-columns:minmax(0,1fr)!important;
    gap:24px!important;
  }
  .overview-copy, .lifestyle-intro { min-width:0; padding:0!important; }
  .overview-copy .section-eyebrow, .lifestyle-intro .section-eyebrow {
    margin-bottom:12px!important;
    font-size:.6rem!important;
    letter-spacing:.2em!important;
  }
  .overview-text, .lifestyle-copy {
    margin-top:14px!important;
    font-size:.875rem!important;
    line-height:1.6!important;
  }
  .overview-text--secondary { margin-top:10px!important; }
  .overview-highlight { margin-top:12px; font-size:.875rem; line-height:1.5; }
  .overview-cta, .lifestyle-cta { margin-top:18px!important; }
  .overview-values { gap:10px; margin-top:18px; font-size:.56rem; letter-spacing:.1em; }
  .overview-media { min-height:310px; }
  .overview-media__images, .overview-media__veil { inset:0 0 22px; border-radius:22px; }
  .overview-media__images .overview-media__image { inset:0; border-radius:0; }
  .overview-play { width:60px; height:60px; top:38%; }
  .overview-media__caption { bottom:80px; }
  .overview-media__strap { bottom:42px; font-size:.5rem; max-width:210px; }
  .overview-slider { min-height:50px; min-width:220px; padding:4px 8px; right:8px; }
  .lifestyle-card {
    grid-template-columns:minmax(0,1fr)!important;
    min-height:0!important;
    border-radius:24px!important;
    padding:4px 16px!important;
  }
  .lifestyle-card .lifestyle-feature {
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    grid-template-rows:auto auto;
    column-gap:14px;
    row-gap:6px;
    align-items:start!important;
    justify-content:start!important;
    min-height:0!important;
    padding:18px 0!important;
    text-align:left!important;
    border:0!important;
    transform:none!important;
  }
  .lifestyle-card .lifestyle-feature:not(:last-child) { border-bottom:1px solid rgba(44,75,66,.13)!important; }
  .lifestyle-card .lifestyle-feature::before, .lifestyle-card .lifestyle-feature::after { content:none!important; display:none!important; }
  .lifestyle-card .lifestyle-feature__icon {
    grid-column:1;
    grid-row:1 / 3;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    background:rgba(255,255,255,.65);
    border-radius:12px;
  }
  .lifestyle-card .lifestyle-feature__icon i { font-size:30px!important; }
  .lifestyle-card .lifestyle-feature h3 {
    grid-column:2;
    max-width:none!important;
    font-size:.79rem!important;
    line-height:1.35!important;
    letter-spacing:0!important;
  }
  .lifestyle-card .lifestyle-feature p {
    grid-column:2;
    max-width:none!important;
    margin:0!important;
    font-size:.8rem!important;
    line-height:1.5!important;
  }
  .hero-meta {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    max-width:460px;
    gap:0;
    padding:10px 6px;
    border-radius:16px;
  }
  .hero-meta .meta-divider { display:none; }
  .hero-meta .meta-item { gap:8px; padding:4px 8px; }
  .hero-meta .meta-item:last-child { border-left:1px solid rgba(18,55,40,.15); border-radius:0; }
  .hero-meta .meta-icon { width:28px; height:28px; flex:0 0 28px; }
  .hero-meta .meta-icon svg { width:28px; height:28px; }
  .hero-meta .meta-item strong { font-size:.82rem; line-height:1.35; }
  .hero-meta .meta-item span { font-size:.7rem; line-height:1.4; }
  .hero-meta .meta-item > div:last-child { min-width:0; }
}
@media (max-width:360px) {
  .hero-meta .meta-item { padding-inline:5px; gap:6px; }
  .hero-meta .meta-item strong { font-size:.76rem; }
  .hero-meta .meta-item span { font-size:.65rem; }
  :root body .btn--primary { font-size:.7rem!important; gap:12px!important; padding-inline:18px!important; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-meta .meta-item, .hero-meta .meta-icon { transition:none; transform:none!important; }
}
/* Mobile-only: remove the collapsed image strip and keep planning points together. */
@media (max-width:760px) {
  .amenities-top { display:block; }
  .amenity-categories { display:none; }
  .amenities-intro { padding-bottom:0; }
  .amenities-intro > p:not(.section-eyebrow) { margin-bottom:0; }
  .amenity-list { margin-top:20px; padding-top:18px; }
  .masterplan-principles {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-bottom:20px;
  }
  .masterplan-principle {
    grid-template-columns:minmax(0,1fr);
    align-content:start;
    justify-items:center;
    gap:8px;
    min-width:0;
    min-height:0;
    padding:12px 6px;
    border-radius:14px;
    text-align:center;
  }
  .masterplan-principle > span { width:36px; height:36px; }
  .masterplan-principle > div { min-width:0; }
  .masterplan-principle strong { display:block; font-size:.72rem; line-height:1.35; }
  .masterplan-principle small { display:block; margin-top:5px; font-size:.64rem; line-height:1.4; }
}
/* Floor plans: compact mobile cards with uncropped plan previews. */
.floor-plan-visual:focus-visible { outline:3px solid #08743c; outline-offset:3px; }
@media (max-width:768px) {
  .floor-plans-section { padding-block:32px!important; }
  .floor-plans-shell { grid-template-columns:minmax(0,1fr); gap:22px; }
  .floor-plans-intro { display:block; padding:0; min-width:0; }
  .floor-plans-intro > p:not(.section-eyebrow) {
    max-width:none;
    margin-top:12px;
    font-size:.875rem;
    line-height:1.6;
  }
  .floor-plan-note { max-width:none; margin-top:14px; gap:10px; font-size:.75rem; }
  .floor-plan-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .floor-plan-card { border-radius:20px; box-shadow:0 8px 24px rgba(7,26,47,.06); }
  .floor-plan-visual {
    display:flex;
    flex-direction:column;
    align-items:center;
    margin:10px 10px 0;
    padding:10px 10px 8px;
    aspect-ratio:auto;
    border-radius:13px;
    background:#f5f6f0;
  }
  .floor-plan-visual img {
    width:100%;
    height:clamp(175px,48vw,240px);
    object-fit:contain;
    object-position:center;
  }
  .floor-plan-visual .plan-zoom {
    position:static;
    align-self:flex-end;
    margin-top:6px;
    min-height:36px;
    padding:8px 12px;
    opacity:1;
    transform:none;
    font-size:.65rem;
    box-shadow:0 3px 10px rgba(7,26,47,.07);
  }
  .floor-plan-visual::after { display:none; }
  .floor-plan-body { padding:14px 16px 16px; }
  .floor-plan-heading { flex-wrap:wrap; align-items:center; gap:8px; }
  .floor-plan-heading h3 { font-size:clamp(1.55rem,6vw,1.9rem); line-height:1.1; }
  .floor-plan-heading .plan-chip { flex:0 0 auto; font-size:.56rem; padding:6px 8px; }
  .floor-plan-area { margin-top:8px; font-size:.79rem; line-height:1.45; }
  .floor-plan-copy { margin:10px 0 14px; font-size:.82rem; line-height:1.55; }
  .floor-plan-btn { margin-top:auto; }
}
@media (hover:none) {
  .floor-plan-card:hover { transform:none; }
  .floor-plan-card:hover .floor-plan-visual img { transform:none; filter:none; }
}
/* Pricing benefit icons: green circle and white glyph on hover. */
.price-section--premium .price-benefits article > span > i { color:inherit; }
.price-section--premium .price-benefits article:hover > span {
  background:#08743c!important;
  color:#fff!important;
  border-color:#08743c!important;
  box-shadow:0 8px 20px rgba(8,116,60,.22)!important;
}
.price-section--premium .price-benefits article:hover > span > i { color:#fff!important; }
/* Unified footer: architectural image, forest-green surface and clear actions. */
.site-footer { min-height:0; background:#102f29; color:#f5f8ef; }
.site-footer .footer-cta {
  min-height:0; padding:64px 0; background:#102f29;
  border-bottom:1px solid #ffffff24;
}
.site-footer .footer-cta__media { background-image:url("assets/images/price-balcony-view.webp"); background-position:center 55%; }
.site-footer .footer-cta__overlay {
  background:linear-gradient(90deg,#102f29 0%,rgba(16,47,41,.96) 30%,rgba(16,47,41,.78) 53%,rgba(16,47,41,.16) 100%);
}
.site-footer .footer-cta__inner { display:flex; flex-direction:column; align-items:flex-start; gap:26px; padding-bottom:0; }
.site-footer .footer-cta__copy { max-width:760px; }
.site-footer .footer-cta__eyebrow { color:#c0d9ad; font-size:.66rem; letter-spacing:.23em; margin-bottom:18px; }
.site-footer .footer-cta__copy h2 { color:#fff; text-shadow:0 2px 18px #0002; }
.site-footer .footer-cta__copy > p:last-child { color:#e0ebe2; font-size:.95rem; line-height:1.6; margin-top:18px; }
.site-footer .footer-cta__actions { display:flex; flex-wrap:wrap; gap:14px; width:auto; max-width:none; margin:0; }
:root body .site-footer .footer-cta__actions .btn {
  position:relative; isolation:isolate; overflow:hidden; width:fit-content; min-width:0;
  height:var(--site-cta-height); min-height:var(--site-cta-height); padding:0 var(--site-cta-padding);
  border-radius:999px; gap:16px; font-size:.78rem; font-weight:800; letter-spacing:.075em;
}
:root body .site-footer .footer-cta__button { border-color:#84b994!important; box-shadow:0 8px 26px #0003,inset 0 1px 0 #ffffff40!important; }
.site-footer .footer-download { background:#f2f6e9; color:#123a2c; border:1px solid #e4eed7; box-shadow:0 8px 26px #0003; }
:root body .site-footer .footer-cta__actions .btn::after {
  content:""!important; position:absolute; inset:-40% auto -40% -65%; width:40%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);
  transform:skewX(-18deg); transition:left .65s ease; pointer-events:none;
}
:root body .site-footer .footer-cta__actions .btn:hover::after { left:130%; }
.site-footer .footer-download:hover { background:#fff; color:#08743c; transform:translateY(-3px); box-shadow:0 14px 30px #0004; }
.site-footer .footer-download i { font-size:22px; transition:transform .25s ease; }
.site-footer .footer-download:hover i { transform:translateY(3px); }
.site-footer .footer-main {
  display:grid; grid-template-columns:1.15fr 1fr .85fr 1.1fr; gap:32px;
  min-height:0; padding-block:44px 36px; background:none!important; isolation:isolate;
}
.site-footer .footer-main > .section-wave-layer,
.site-footer .footer-main::before,.site-footer .footer-main::after { display:none!important; }
.site-footer .footer-main > div { padding:0; min-height:0; border:0; min-width:0; }
.site-footer .footer-brand { color:#f6f8ef; }
.site-footer .footer-brand > span { font-size:.8rem; letter-spacing:.16em; color:#c2d5c8; }
.site-footer .footer-brand > strong { font-size:clamp(2.4rem,3.2vw,3.4rem); }
.site-footer .footer-brand > small { color:#c2d5c8; font-size:.6rem; letter-spacing:.2em; line-height:1.6; }
.site-footer .footer-brand-col > p { color:#c7d8ce; font-size:.85rem; line-height:1.7; margin-top:20px; }
.site-footer .footer-accent { background:#92b77c; margin-top:22px; width:40px; }
.site-footer .footer-signoff { white-space:normal; color:#b0c7b7; font-size:.57rem; letter-spacing:.16em; line-height:1.8; margin-top:16px; }
.site-footer .footer-main h3 { color:#f7f9f0; font-size:.87rem; margin:0 0 16px; }
.site-footer .footer-links { gap:3px; }
.site-footer .footer-links--two { column-gap:16px; }
.site-footer .footer-links a,.site-footer .footer-links button {
  position:relative; display:inline-flex; align-items:center; width:fit-content;
  min-height:36px; color:#c7d8ce; font-size:.8rem; line-height:1.45; padding:5px 0;
}
.site-footer .footer-links a::after,.site-footer .footer-links button::after {
  content:""; position:absolute; left:0; bottom:3px; height:1px; width:100%;
  background:#bde399; transform:scaleX(0); transform-origin:left; transition:transform .25s ease;
}
.site-footer .footer-links a:hover,.site-footer .footer-links button:hover { color:#fff; transform:translateX(3px); }
.site-footer .footer-links a:hover::after,.site-footer .footer-links button:hover::after { transform:scaleX(1); }
.site-footer .social-links { gap:10px; margin-bottom:20px; }
.site-footer .social-links a {
  width:42px; height:42px; border-radius:12px; border:1px solid #ffffff29;
  background:#ffffff0b; color:#e9f2e6; font-size:22px;
  transition:background .25s ease,transform .25s ease,color .25s ease;
}
.site-footer .social-links a:hover { background:#2c874c; color:white; transform:translateY(-4px); }
.site-footer .footer-contact-list { gap:12px; }
.site-footer .footer-contact-list p { grid-template-columns:30px minmax(0,1fr); gap:8px; color:#c7d8ce; font-size:.8rem; line-height:1.6; }
.site-footer .footer-contact-list i { color:#b7d3a6; font-size:23px; }
.site-footer .footer-contact-list a { color:#e7f2e4; overflow-wrap:anywhere; }
.site-footer .footer-contact-list a:hover { color:#bde399; }
.site-footer .footer-contact-list a[href*="wa.me"] { color:#bde399; }
.site-footer .footer-bottom { min-height:0; padding-block:20px 28px; color:#afc5b7; border-color:#ffffff24; font-size:.66rem; line-height:1.6; }
.site-footer :is(a,button):focus-visible { outline:2px solid #c5e7ad; outline-offset:4px; }
@media (max-width:1100px) {
  .site-footer .footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
  .site-footer .footer-cta__overlay { background:linear-gradient(90deg,#102f29f5,#102f29c9 55%,#102f294d); }
}
@media (max-width:760px) {
  .site-footer .footer-cta { padding:36px 0; }
  .site-footer .footer-cta__overlay { background:linear-gradient(90deg,#102f29ef,#102f29c9),linear-gradient(0deg,#102f29,transparent); }
  .site-footer .footer-cta__inner { gap:22px; }
  .site-footer .footer-cta__eyebrow { font-size:.58rem; line-height:1.8; letter-spacing:.18em; margin-bottom:12px; }
  .site-footer .footer-cta__copy > p:last-child { font-size:.86rem; margin-top:14px; }
  .site-footer .footer-cta__actions { gap:12px; }
  .site-footer .footer-main { gap:26px 20px; padding-block:30px; }
  .site-footer .footer-main > div { padding:0!important; border:0!important; }
  .site-footer .footer-brand-col,.site-footer .footer-contact-col { grid-column:1 / -1; }
  .site-footer .footer-contact-col { padding-top:24px!important; border-top:1px solid #ffffff24!important; }
  .site-footer .footer-links--two { grid-template-columns:1fr; }
  .site-footer .footer-links--two > span { display:none; }
  .site-footer .footer-links a,.site-footer .footer-links button { min-height:40px; }
  .site-footer .footer-bottom { flex-direction:column; align-items:flex-start; gap:6px; padding-bottom:88px; }
}
@media (prefers-reduced-motion:reduce) {
  .site-footer :is(a,button,i),:root body .site-footer .footer-cta__actions .btn::after { transition:none!important; }
  :root body .site-footer .footer-cta__actions .btn:hover,.site-footer .social-links a:hover { transform:none!important; }
}
/* Footer screen-fit refinements: fluid columns without fixed viewport heights. */
.site-footer { width:100%; min-width:0; height:auto; }
.site-footer .shell { width:min(calc(100% - 48px),1440px); margin-inline:auto; }
.site-footer .footer-cta { padding-block:clamp(32px,4.5vh,52px); }
.site-footer .footer-cta__inner { min-width:0; }
.site-footer .footer-cta__copy,
.site-footer .footer-cta__actions { min-width:0; max-width:100%; }
.site-footer .footer-main { gap:clamp(20px,2.5vw,36px); padding-block:32px 28px; }
.site-footer .footer-links { min-width:0; }
.site-footer .footer-links a,
.site-footer .footer-links button { max-width:100%; overflow-wrap:anywhere; }
.site-footer .footer-bottom { flex-wrap:wrap; }
:root body .site-footer .footer-cta__actions .btn { max-width:100%!important; text-align:center; line-height:1.3!important; }
.site-footer .footer-cta__actions .btn > span { min-width:0; overflow-wrap:anywhere; }
.site-footer .footer-cta__actions .btn > i,
.site-footer .footer-cta__actions .btn > .btn__arrow { flex-shrink:0; }
@media (min-width:1101px) {
  .site-footer .footer-cta__inner {
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);
    gap:32px;
    align-items:center;
  }
  .site-footer .footer-cta__actions { flex-direction:column; align-items:flex-start; justify-self:end; }
}
@media (max-width:760px) {
  .site-footer .shell { width:calc(100% - 36px); }
  .site-footer .footer-cta { padding-block:30px; }
  .site-footer .footer-cta__inner { gap:20px; }
  .site-footer .footer-cta__actions { width:100%; gap:12px; }
  .site-footer .footer-main { grid-template-columns:minmax(0,1fr); gap:24px; padding-block:28px 24px; }
  .site-footer .footer-main > div { grid-column:auto; }
  .site-footer .footer-brand-col { text-align:center; }
  .site-footer .footer-brand { align-items:center; }
  .site-footer .footer-brand-col > p { margin-top:12px; font-size:.82rem; }
  .site-footer .footer-brand-col .footer-accent { margin:16px auto 0; }
  .site-footer .footer-brand-col .footer-signoff { margin-top:12px; }
  .site-footer .footer-main > .footer-nav-col {
    padding-top:20px!important;
    border-top:1px solid #ffffff24!important;
  }
  .site-footer .footer-main h3 { margin-bottom:10px; font-size:.85rem; }
  .site-footer .footer-links,
  .site-footer .footer-links--two { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
  .site-footer .footer-links a,
  .site-footer .footer-links button { min-height:44px; font-size:.8rem; }
  .site-footer .footer-contact-col { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px 12px; align-items:center; }
  .site-footer .footer-contact-col h3 { margin:0; }
  .site-footer .social-links { margin:0; gap:8px; }
  .site-footer .social-links a { width:44px; height:44px; }
  .site-footer .footer-contact-list { grid-column:1 / -1; gap:8px; }
  .site-footer .footer-contact-list p { min-height:40px; }
  .site-footer .footer-contact-list a { display:inline-flex; align-items:center; min-height:44px; }
  .site-footer .footer-contact-col .footer-accent { display:none; }
  .site-footer .footer-contact-col .footer-signoff { grid-column:1 / -1; margin:0; }
  .site-footer .footer-bottom { padding-top:16px; padding-bottom:calc(84px + env(safe-area-inset-bottom,0px)); font-size:.62rem; }
}
@media (max-width:400px) {
  .site-footer .shell { width:calc(100% - 28px); }
  :root body .site-footer .footer-cta__actions .btn { padding-inline:16px!important; gap:10px!important; font-size:.68rem!important; letter-spacing:.04em!important; }
  .site-footer .footer-cta__actions { flex-direction:column; align-items:flex-start; }
  .site-footer .footer-contact-col { grid-template-columns:minmax(0,1fr); }
  .site-footer .social-links { justify-content:flex-start; }
}
/* Persistent header and hero spacing: keep highlights in normal document flow. */
.site-header {
  position:fixed; inset:0 0 auto; z-index:1100;
  background:rgba(248,251,246,.93);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(18,63,42,.1);
  box-shadow:0 4px 20px rgba(9,42,28,.06);
}
.site-header.is-scrolled { background:rgba(248,251,246,.98); box-shadow:0 6px 24px rgba(9,42,28,.12); }
.site-header__inner { min-height:var(--header-h); gap:24px; padding-block:12px; }
.desktop-nav { justify-content:center; gap:clamp(14px,1.5vw,26px); }
.desktop-nav a { white-space:nowrap; }
:root body .site-header .header-cta {
  align-self:center!important; justify-self:end; margin:0;
  height:48px!important; min-height:48px!important; padding-inline:24px!important;
  font-size:.72rem!important; gap:12px!important; white-space:nowrap;
  box-shadow:0 6px 16px rgba(7,103,50,.18)!important;
}
.hero { display:flex; flex-direction:column; height:auto; min-height:100svh; padding-bottom:0; }
.hero__content {
  flex:1; min-height:0; height:auto;
  padding-top:calc(var(--header-h) + 40px);
  padding-bottom:40px;
}
.hero-highlights-wrap { position:relative; inset:auto; flex-shrink:0; margin:0; padding:0 0 20px; }
section[id], footer[id], .hero-highlights-wrap[id] { scroll-margin-top:calc(var(--header-h) + 24px); }
@media (max-width:1100px) {
  .site-header__inner { grid-template-columns:minmax(0,1fr) auto auto; gap:14px; }
  :root body .site-header .header-cta { display:inline-flex; }
  .mobile-menu { max-height:calc(100dvh - var(--header-h) - 24px); overflow-y:auto; }
}
@media (max-width:760px) {
  .site-header__inner { padding-block:10px; gap:10px; }
  .site-header .brand__name { font-size:1.7rem; }
  .site-header .brand__top { font-size:.64rem; }
  .site-header .brand__tagline { font-size:.4rem; letter-spacing:.08em; }
  :root body .site-header .header-cta { height:42px!important; min-height:42px!important; padding-inline:14px!important; font-size:.62rem!important; }
  .site-header .header-cta .btn__arrow { display:none; }
  .site-header .menu-toggle { width:40px; height:40px; }
  .hero__content { padding-top:calc(var(--header-h) + 24px); padding-bottom:28px; }
  .hero-highlights-wrap { padding-bottom:18px; }
}
@media (max-width:360px) {
  .site-header__inner { gap:7px; }
  .site-header .brand__name { font-size:1.45rem; }
  :root body .site-header .header-cta { padding-inline:10px!important; font-size:.58rem!important; }
}
/* Mobile footer: branding first, compact navigation and a clear contact area. */
@media (max-width:760px) {
  .site-footer .footer-cta { display:none; }
  .site-footer { background:linear-gradient(155deg,#173f34 0%,#102f29 48%,#0c2723 100%); border-top:1px solid #ffffff26; }
  .site-footer .shell { width:calc(100% - 36px); }
  .site-footer .footer-main { padding-block:30px 22px; gap:22px; }
  .site-footer .footer-brand-col { padding-bottom:2px!important; }
  .site-footer .footer-brand > span { font-size:.7rem; letter-spacing:.2em; }
  .site-footer .footer-brand > strong { font-size:2.65rem; margin-top:5px; }
  .site-footer .footer-brand > small { font-size:.55rem; margin-top:10px; }
  .site-footer .footer-brand-col > p { margin-top:14px; font-size:.8rem; line-height:1.65; }
  .site-footer .footer-brand-col .footer-signoff { font-size:.53rem; letter-spacing:.13em; }
  .site-footer .footer-main h3 { font-size:.78rem; letter-spacing:.06em; color:#eef6e8; }
  .site-footer .footer-main > .footer-nav-col { padding-top:18px!important; }
  .site-footer .footer-links { gap:2px 12px; }
  .site-footer .footer-links a,.site-footer .footer-links button {
    min-height:44px; font-size:.78rem; color:#d4e2d8; border-radius:6px;
  }
  .site-footer .footer-project-col .footer-links button {
    width:100%; padding:10px 12px; min-height:46px;
    border:1px solid #b6d9ad30; border-radius:10px;
    background:#ffffff09; color:#eef6e8; font-size:.74rem;
  }
  .site-footer .footer-project-col .footer-links { gap:8px 10px; }
  .site-footer .footer-project-col .footer-links button:hover { background:#277247; transform:none; }
  .site-footer .footer-project-col .footer-links button::after { display:none; }
  .site-footer .footer-contact-col {
    grid-template-columns:minmax(0,1fr); gap:14px;
    padding-top:20px!important;
  }
  .site-footer .social-links { grid-row:3; justify-content:flex-start; gap:10px; }
  .site-footer .social-links a { width:44px; height:44px; border-radius:50%; background:#ffffff0a; }
  .site-footer .footer-contact-list { grid-row:2; gap:6px; }
  .site-footer .footer-contact-list p { grid-template-columns:34px minmax(0,1fr); gap:10px; font-size:.8rem; }
  .site-footer .footer-contact-list i { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#ffffff09; font-size:20px; }
  .site-footer .footer-contact-list a[href*="wa.me"] { color:#c4e7aa; font-weight:700; }
  .site-footer .footer-contact-col .footer-signoff { font-size:.51rem; letter-spacing:.12em; color:#a8c3b2; }
  .site-footer .footer-bottom { gap:6px; font-size:.61rem; line-height:1.6; color:#b6cdbf; padding-top:16px; padding-bottom:calc(84px + env(safe-area-inset-bottom,0px)); }
}
@media (max-width:360px) {
  .site-footer .shell { width:calc(100% - 28px); }
  .site-footer .footer-project-col .footer-links button { padding-inline:8px; font-size:.7rem; }
}
/* Clear hero image with glass confined to the content card. */
.site-header:not(.is-scrolled) {
  background:transparent;
  border-bottom-color:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.site-header.is-scrolled {
  background:rgba(248,251,246,.96);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(18,63,42,.1);
  box-shadow:0 6px 24px rgba(9,42,28,.12);
}
.hero__wash { display:none; }
@media (min-width:761px) {
  .hero__content { grid-template-columns:minmax(0,660px) minmax(0,1fr); }
  .hero-copy { width:min(100%,620px); padding:26px 30px 24px; }
  .hero-copy .hero-subtitle { margin-top:14px; }
  .hero-copy .hero-location { margin-top:6px; }
  .hero-copy .hero-description { width:100%; max-width:560px; margin-top:12px; line-height:1.5; }
  .hero-copy .hero-meta { margin-top:16px; padding:10px 12px; }
  .hero-copy .hero-actions { margin-top:16px; }
}
@media (min-width:761px) and (max-width:1380px) {
  .hero-copy { width:min(100%,580px); padding:24px 26px 22px; }
}
@media (max-width:760px) {
  .hero-copy { width:100%; padding:18px 16px; }
}

/* Tighter mobile footer rhythm, keeping links and actions easy to tap. */
@media (max-width:760px) {
  .site-footer .footer-main { padding-block:20px 16px; gap:14px; }
  .site-footer .footer-brand > strong { font-size:2.25rem; margin-top:3px; }
  .site-footer .footer-brand > small { margin-top:6px; }
  .site-footer .footer-brand-col > p { margin:10px 0 0; font-size:.77rem; line-height:1.5; }
  .site-footer .footer-brand-col .footer-accent,
  .site-footer .footer-brand-col .footer-signoff,
  .site-footer .footer-contact-col .footer-signoff { display:none; }
  .site-footer .footer-main > .footer-nav-col { padding-top:12px!important; }
  .site-footer .footer-main h3 { margin-bottom:6px; }
  .site-footer .footer-links--two { grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:8px; row-gap:0; }
  .site-footer .footer-links a,.site-footer .footer-links button { padding-block:6px; min-height:40px; font-size:.75rem; }
  .site-footer .footer-project-col .footer-links { gap:6px 8px; }
  .site-footer .footer-project-col .footer-links button { min-height:44px; padding:8px 10px; font-size:.72rem; }
  .site-footer .footer-contact-col { grid-template-columns:minmax(0,1fr) auto; gap:8px 10px; padding-top:12px!important; }
  .site-footer .footer-contact-col h3 { margin:0; }
  .site-footer .social-links { grid-row:1; grid-column:2; gap:6px; }
  .site-footer .social-links a { width:40px; height:40px; font-size:20px; }
  .site-footer .footer-contact-list { grid-row:2; grid-column:1 / -1; gap:0; }
  .site-footer .footer-contact-list p { min-height:38px; gap:8px; font-size:.77rem; }
  .site-footer .footer-contact-list a { min-height:40px; }
  .site-footer .footer-contact-list i { width:30px; height:30px; font-size:18px; }
  .site-footer .footer-bottom { padding-top:12px; gap:4px; }
}
@media (max-width:360px) {
  .site-footer .footer-links--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
/* Simplified footer navigation and bottom legal links. */
.site-footer .footer-main { grid-template-columns:1.1fr 1fr 1fr; }
.site-footer .footer-links--two { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
.site-footer .footer-links--two a {
  width:100%; min-height:42px; padding:10px 12px;
  border-bottom:1px solid #ffffff14; border-radius:0;
}
.site-footer .footer-links--two a:nth-child(odd) { border-right:1px solid #ffffff14; }
.site-footer .footer-links--two a:hover { background:#ffffff08; transform:none; }
.site-footer .footer-links--two a::after { display:none; }
.site-footer .footer-legal { display:flex; flex-wrap:wrap; gap:0 18px; }
.site-footer .footer-legal a { display:inline-flex; align-items:center; min-height:40px; color:#d4e2d8; font-size:.72rem; text-underline-offset:4px; }
.site-footer .footer-legal a:hover { color:#c4e7aa; text-decoration:underline; }
.site-footer .footer-bottom { gap:8px 24px; }
@media (max-width:1100px) {
  .site-footer .footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-footer .footer-contact-col { grid-column:1 / -1; }
}
@media (max-width:760px) {
  .site-footer .footer-main { grid-template-columns:minmax(0,1fr); }
  .site-footer .footer-contact-col { grid-template-columns:minmax(0,1fr); }
  .site-footer .footer-contact-col h3 { grid-row:1; }
  .site-footer .footer-contact-list { grid-row:2; }
  .site-footer .footer-bottom { align-items:center; text-align:center; gap:4px; }
  .site-footer .footer-legal { justify-content:center; }
}
/* Scrollable legal notices with a persistent close control. */
.legal-dialog { width:min(92vw,740px); max-height:86dvh; margin:auto; padding:0; border:1px solid #ffffff80; border-radius:22px; background:#f7faf5; color:#19392e; box-shadow:0 28px 100px #0005; overflow:hidden; }
.legal-dialog::backdrop { background:#081d17bd; backdrop-filter:blur(6px); }
.legal-dialog[open] { display:flex; flex-direction:column; }
.legal-dialog__header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 26px; border-bottom:1px solid #19392e20; flex-shrink:0; }
.legal-dialog__header p { margin:0 0 6px; font-size:.6rem; letter-spacing:.18em; color:#507560; }
.legal-dialog__header h2 { margin:0; font-family:"Cormorant Garamond",Georgia,serif; font-size:2rem; line-height:1.1; }
.legal-dialog__header button { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:1px solid #19392e26; border-radius:50%; background:white; color:#19392e; cursor:pointer; font-size:26px; transition:background .2s,color .2s; }
.legal-dialog__header button:hover { color:white; background:#08743c; }
.legal-dialog__body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:22px 26px 28px; font-size:.9rem; line-height:1.75; color:#415a4f; }
.legal-dialog__body p { margin:0 0 16px; }
.legal-dialog__body h3 { margin:22px 0 8px; font-size:1rem; color:#19392e; }
.legal-dialog__body a { color:#086b38; text-decoration:underline; text-underline-offset:3px; }
.legal-dialog :focus-visible { outline:2px solid #08743c; outline-offset:3px; }
html:has(.legal-dialog[open]) { overflow:hidden; }
@media(max-width:600px) {
  .legal-dialog { width:calc(100% - 24px); max-height:88dvh; border-radius:18px; }
  .legal-dialog__header { padding:16px 18px; }
  .legal-dialog__header h2 { font-size:1.7rem; }
  .legal-dialog__body { padding:18px; font-size:.83rem; line-height:1.65; }
}
@media(prefers-reduced-motion:reduce) { .legal-dialog__header button { transition:none; } }

/* Footer quick links — clean professional single-column navigation. */
.site-footer .footer-links--single {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  width:100%;
  max-width:250px;
}
.site-footer .footer-links--single a {
  position:relative;
  display:inline-flex;
  align-items:center;
  width:auto;
  min-height:34px;
  padding:5px 0;
  border:0!important;
  background:transparent!important;
  color:#c7d8ce;
  font-size:.8rem;
  line-height:1.4;
  transition:color .22s ease, transform .22s ease;
}
.site-footer .footer-links--single a::before {
  content:"";
  width:0;
  height:1px;
  margin-right:0;
  background:#bde399;
  transition:width .22s ease, margin-right .22s ease;
}
.site-footer .footer-links--single a::after { display:none!important; }
.site-footer .footer-links--single a:hover {
  color:#fff;
  background:transparent!important;
  transform:translateX(3px);
}
.site-footer .footer-links--single a:hover::before {
  width:14px;
  margin-right:8px;
}

@media (max-width:1100px) {
  .site-footer .footer-main {
    grid-template-columns:minmax(0,1.15fr) minmax(180px,.75fr);
    align-items:start;
  }
  .site-footer .footer-contact-col {
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:28px;
    align-items:start;
    padding-top:24px!important;
    border-top:1px solid #ffffff1f!important;
  }
  .site-footer .footer-contact-col h3 { grid-column:1 / -1; }
}

@media (max-width:760px) {
  .site-footer .footer-main {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:0;
    padding-block:24px 18px;
  }
  .site-footer .footer-brand-col {
    text-align:left;
    padding-bottom:20px!important;
  }
  .site-footer .footer-brand { align-items:flex-start; }
  .site-footer .footer-brand > strong { font-size:clamp(2.15rem,11vw,2.55rem); }
  .site-footer .footer-nav-col {
    padding:18px 0!important;
    border-top:1px solid #ffffff1f!important;
  }
  .site-footer .footer-main h3 {
    margin-bottom:10px;
    font-size:.76rem;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .site-footer .footer-links--single {
    max-width:none;
    gap:0;
  }
  .site-footer .footer-links--single a {
    width:100%;
    min-height:38px;
    padding:7px 0;
    font-size:.78rem;
  }
  .site-footer .footer-links--single a:hover { transform:none; }
  .site-footer .footer-links--single a:hover::before { width:12px; margin-right:7px; }
  .site-footer .footer-contact-col {
    grid-column:auto;
    display:block;
    padding-top:18px!important;
    border-top:1px solid #ffffff1f!important;
  }
  .site-footer .footer-contact-list { margin-top:4px; }
  .site-footer .footer-contact-list p { min-height:40px; }
  .site-footer .footer-bottom {
    flex-direction:column;
    align-items:flex-start;
    text-align:left;
    gap:4px;
    padding-top:14px;
    padding-bottom:calc(84px + env(safe-area-inset-bottom,0px));
  }
  .site-footer .footer-legal { justify-content:flex-start; gap:0 16px; }
}

@media (max-width:380px) {
  .site-footer .shell { width:calc(100% - 28px); }
  .site-footer .footer-brand > strong { font-size:2rem; }
  .site-footer .footer-links--single a { min-height:36px; font-size:.75rem; }
}

/* ======================================================================
   Final interaction refinements — 2026-09-24
   ====================================================================== */

/* Hero project essentials: reduce visual footprint without losing clarity. */
.hero-meta {
  width: min(100%, 540px);
  min-height: 72px;
  padding: 8px 12px;
  border-radius: 18px;
}
.hero-meta .meta-item {
  gap: 10px;
  padding: 5px 10px;
}
.hero-meta .meta-icon {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
}
.hero-meta .meta-icon svg {
  width: 30px;
  height: 30px;
}
.hero-meta .meta-item strong {
  font-size: .92rem;
  line-height: 1.25;
}
.hero-meta .meta-item span {
  font-size: .73rem;
  line-height: 1.4;
}
.hero-meta .meta-divider {
  height: 34px;
}


/* Footer quick links: refined single-column navigation + animated hover cue. */
.site-footer .footer-links,
.site-footer .footer-links--single,
.site-footer .footer-links--two {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start;
  gap: 2px !important;
}
.site-footer .footer-links a,
.site-footer .footer-links button {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  min-height: 38px;
  padding: 5px 12px 5px 0;
  overflow: hidden;
  transform: translateX(0);
  transition: color .28s ease, transform .34s cubic-bezier(.2,.8,.2,1), padding .34s cubic-bezier(.2,.8,.2,1);
}
.site-footer .footer-links a::before,
.site-footer .footer-links button::before {
  content: "";
  width: 0;
  height: 1px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #bde399;
  box-shadow: 0 0 12px rgba(189,227,153,.42);
  transition: width .34s cubic-bezier(.2,.8,.2,1);
}
.site-footer .footer-links a::after,
.site-footer .footer-links button::after {
  left: 0;
  right: auto;
  bottom: 2px;
  width: calc(100% - 12px);
  transform-origin: left center;
  transition: transform .38s cubic-bezier(.2,.8,.2,1);
}
@media (hover:hover) and (pointer:fine) {
  .site-footer .footer-links a:hover,
  .site-footer .footer-links button:hover {
    color: #fff;
    padding-left: 2px;
    transform: translateX(5px);
  }
  .site-footer .footer-links a:hover::before,
  .site-footer .footer-links button:hover::before {
    width: 16px;
  }
}

@media (max-width: 760px) {
  .hero-meta {
    max-width: 390px;
    min-height: 62px;
    padding: 7px 5px;
    border-radius: 15px;
  }
  .hero-meta .meta-item {
    gap: 7px;
    padding: 3px 7px;
  }
  .hero-meta .meta-icon {
    width: 25px;
    height: 25px;
    flex-basis: 25px;
  }
  .hero-meta .meta-icon svg {
    width: 25px;
    height: 25px;
  }
  .hero-meta .meta-item strong { font-size: .77rem; }
  .hero-meta .meta-item span { font-size: .64rem; }

  /* Keep Quick Links genuinely single-column on phones as well. */
  .site-footer .footer-links,
  .site-footer .footer-links--single,
  .site-footer .footer-links--two {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  .site-footer .footer-links a,
  .site-footer .footer-links button {
    min-height: 42px;
    width: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-footer .footer-links a,
  .site-footer .footer-links button,
  .site-footer .footer-links a::before,
  .site-footer .footer-links button::before,
  .site-footer .footer-links a::after,
  .site-footer .footer-links button::after {
    transition: none !important;
  }
}

/* Mobile footer refinement: Quick Links + Stay Connected side-by-side. */
@media (max-width:760px) {
  .site-footer .footer-main {
    grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
    gap:24px 22px;
    align-items:start;
  }
  .site-footer .footer-brand-col {
    grid-column:1 / -1;
  }
  .site-footer .footer-main > .footer-nav-col,
  .site-footer .footer-contact-col {
    grid-column:auto;
    min-width:0;
    padding-top:18px!important;
    border-top:1px solid rgba(255,255,255,.14)!important;
  }
  .site-footer .footer-main > .footer-nav-col {
    padding-right:4px!important;
  }
  .site-footer .footer-contact-col {
    display:block;
    padding-left:2px!important;
  }
  .site-footer .footer-main h3 {
    margin:0 0 14px;
    line-height:1.25;
  }
  .site-footer .footer-links,
  .site-footer .footer-links--single,
  .site-footer .footer-links--two {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:2px;
  }
  .site-footer .footer-links a,
  .site-footer .footer-links button {
    min-height:38px;
    padding:7px 0;
    font-size:.76rem;
    line-height:1.35;
  }
  .site-footer .footer-contact-list {
    display:grid;
    gap:7px;
  }
  .site-footer .footer-contact-list p {
    grid-template-columns:30px minmax(0,1fr);
    gap:8px;
    min-height:38px;
    font-size:.74rem;
    line-height:1.42;
  }
  .site-footer .footer-contact-list i {
    width:30px;
    height:30px;
    border-radius:9px;
    font-size:18px;
  }
  .site-footer .footer-contact-list a,
  .site-footer .footer-contact-list span {
    min-width:0;
    overflow-wrap:anywhere;
  }
  .site-footer .footer-contact-col .footer-accent {
    display:block;
    margin-top:14px;
    width:32px;
  }
  .site-footer .footer-contact-col .footer-signoff {
    display:block;
    margin-top:10px;
    font-size:.48rem;
    line-height:1.55;
    letter-spacing:.09em;
  }
}

@media (max-width:390px) {
  .site-footer .footer-main {
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
    gap:20px 14px;
  }
  .site-footer .footer-links a,
  .site-footer .footer-links button { font-size:.72rem; }
  .site-footer .footer-contact-list p { font-size:.69rem; gap:6px; }
  .site-footer .footer-contact-list i { width:28px; height:28px; font-size:17px; }
  .site-footer .footer-contact-col .footer-signoff { font-size:.45rem; }
}

/* =========================================================
   PRICE SECTION — COMPACT PARALLAX REFINEMENT
   Keeps the balcony image visually fixed inside this section
   while the section content moves through the viewport.
   ========================================================= */
@media (min-width: 981px){
  .price-section.price-section--premium{
    min-height: 650px !important;
  }

  .price-section--premium .price-section__content{
    min-height: 650px !important;
    grid-template-columns: minmax(0,45.5%) minmax(0,54.5%) !important;
  }

  /* Section-scoped fixed background: clipped by the section itself. */
  .price-section--premium .price-section__visual{
    position:absolute !important;
    inset:0 !important;
    background-image:url("assets/images/price-balcony-view.webp") !important;
    background-size:cover !important;
    background-position:center 58% !important;
    background-repeat:no-repeat !important;
    background-attachment:fixed !important;
    transform:translateZ(0);
  }

  .price-section--premium .price-section__visual img{
    opacity:0 !important;
    visibility:hidden !important;
  }

  .price-section--premium .price-copy{
    padding:50px clamp(30px,3.7vw,68px) 38px !important;
  }

  .price-section--premium .price-copy > .price-eyebrow{
    margin-bottom:13px !important;
  }

  .price-section--premium .price-copy h2{
    max-width:570px !important;
    margin-bottom:16px !important;
    font-size:clamp(2.7rem,3.55vw,4.2rem) !important;
    line-height:.89 !important;
  }

  .price-section--premium .price-copy__text{
    max-width:535px !important;
    font-size:clamp(.78rem,.74rem + .1vw,.88rem) !important;
    line-height:1.55 !important;
  }

  .price-value-points{
    width:min(100%,525px) !important;
    margin-top:23px !important;
  }

  .price-value-point{
    gap:9px !important;
    padding:0 14px !important;
  }

  .price-value-point:first-child{padding-left:0 !important}
  .price-value-point:last-child{padding-right:0 !important}

  .price-value-point > span{
    flex-basis:43px !important;
    width:43px !important;
    height:43px !important;
    transition:transform .34s cubic-bezier(.2,.8,.2,1),background .28s ease,color .28s ease,box-shadow .28s ease,border-color .28s ease !important;
  }

  .price-value-point i{font-size:21px !important}
  .price-value-point strong{font-size:.62rem !important}

  /* Hover/focus: icon becomes a premium green action disc. */
  .price-value-point:hover > span,
  .price-value-point:focus-within > span{
    color:#fff !important;
    background:linear-gradient(145deg,#1b934d 0%,#0b7b43 55%,#066735 100%) !important;
    border-color:rgba(255,255,255,.38) !important;
    box-shadow:0 13px 28px rgba(6,110,56,.28),inset 0 1px 0 rgba(255,255,255,.26) !important;
    transform:translateY(-4px) scale(1.055) !important;
  }

  .price-value-point:hover i,
  .price-value-point:focus-within i{
    color:#fff !important;
    transform:scale(1.07) rotate(-4deg);
  }

  .price-section--premium .price-signoff{
    padding-top:24px !important;
  }

  .price-section--premium .price-panel{
    margin:24px clamp(24px,2.7vw,46px) 24px 0 !important;
    padding:18px 20px 13px !important;
    border-radius:28px !important;
  }

  .price-section--premium .price-request{
    padding-top:20px !important;
    padding-bottom:18px !important;
  }

  .price-section--premium .price-request__copy h3{
    font-size:clamp(2.35rem,3.05vw,3.55rem) !important;
    line-height:.86 !important;
  }
}

/* iOS/Safari and touch devices do not reliably support fixed backgrounds.
   Keep the same composition there without scroll-jank. */
@media (hover:none), (pointer:coarse){
  .price-section--premium .price-section__visual{
    background-attachment:scroll !important;
  }
}

@media (max-width:980px){
  .price-section--premium .price-section__visual{
    background-image:none !important;
  }
  .price-section--premium .price-section__visual img{
    opacity:1 !important;
    visibility:visible !important;
  }
  .price-value-point:hover > span,
  .price-value-point:focus-within > span{
    color:#fff !important;
    background:linear-gradient(145deg,#1b934d,#0b7b43 58%,#066735) !important;
    border-color:rgba(255,255,255,.34) !important;
    box-shadow:0 12px 25px rgba(6,110,56,.24) !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .price-value-point > span,
  .price-value-point i{
    transition:none !important;
  }
}


/* Professional interactive map — scroll-safe by default, fully interactive on intent. */
.location-map[data-interactive-map] {
  position: relative;
  overscroll-behavior: contain;
}
.location-map[data-interactive-map] .location-map__frame {
  pointer-events: none;
  user-select: none;
}
.location-map[data-interactive-map].is-interactive .location-map__frame {
  pointer-events: auto;
  user-select: auto;
}
.location-map__gate {
  position: absolute;
  z-index: 6;
  inset: 0;
  border: 0;
  padding: 0;
  background: rgba(7, 26, 47, .02);
  display: grid;
  place-items: center;
  cursor: pointer;
  color: var(--navy-950);
  transition: background .25s ease, opacity .25s ease, visibility .25s ease;
}
.location-map__gate > span:last-child {
  display: grid;
  gap: 2px;
  min-width: 174px;
  padding: 12px 16px;
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 15px;
  background: rgba(255,255,255,.93);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 12px 30px rgba(7,26,47,.14);
  transform: translateY(4px);
  transition: transform .25s ease, box-shadow .25s ease;
}
.location-map__gate:hover > span:last-child,
.location-map__gate:focus-visible > span:last-child {
  transform: translateY(0);
  box-shadow: 0 16px 34px rgba(7,26,47,.18);
}
.location-map__gate strong {
  font-size: .75rem;
  line-height: 1.2;
  letter-spacing: .02em;
}
.location-map__gate small {
  color: #607286;
  font-size: .61rem;
  line-height: 1.35;
}
.location-map__gate-icon {
  width: 42px;
  height: 42px;
  margin-bottom: -34px;
  transform: translateY(-31px);
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--gradient-cta);
  box-shadow: 0 9px 22px rgba(7,103,50,.24);
  pointer-events: none;
}
.location-map__gate-icon i { font-size: 21px; }
.location-map[data-interactive-map].is-interactive .location-map__gate {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.location-map__exit {
  position: absolute;
  z-index: 8;
  top: 14px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 36px;
  padding: 7px 11px;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  color: var(--navy-950);
  font: inherit;
  font-size: .62rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(7,26,47,.13);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-5px);
  transition: opacity .2s ease, visibility .2s ease, transform .2s ease, color .2s ease;
}
.location-map[data-interactive-map].is-interactive .location-map__exit {
  opacity: 1;
  visibility: visible;
  transform: none;
}
.location-map__exit:hover { color: #08743c; }
.location-map[data-interactive-map].is-interactive .location-map__card {
  opacity: .28;
  pointer-events: none;
}
.location-map[data-interactive-map].is-interactive .map-open {
  opacity: .28;
  pointer-events: none;
}
@media (max-width: 760px) {
  .location-map__gate > span:last-child { min-width: 154px; padding: 10px 14px; }
  .location-map__gate-icon { width: 38px; height: 38px; transform: translateY(-29px); }
  .location-map__exit span { display: none; }
  .location-map__exit { width: 36px; padding: 0; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .location-map__gate,
  .location-map__gate > span:last-child,
  .location-map__exit { transition: none !important; }
}


/* === Sector 88A content refinements: gated plans, connectivity distances, FAQ === */
.masterplan-image-trigger{overflow:hidden}
.masterplan-image-trigger img{
  filter:blur(11px) saturate(.72) brightness(.92)!important;
  transform:scale(1.075)!important;
}
.masterplan-image-trigger__veil{
  background:linear-gradient(135deg,rgba(9,42,31,.20),rgba(243,248,244,.23),rgba(8,46,34,.18))!important;
  backdrop-filter:blur(2px);
}
.masterplan-image-trigger__hint{z-index:3}
.floor-plan-visual--gated{
  position:relative;width:100%;padding:0;border:0;cursor:pointer;text-align:inherit;background:#edf3ef;overflow:hidden;
}
.floor-plan-visual--gated img{
  filter:blur(10px) saturate(.62) brightness(.96)!important;
  transform:scale(1.09)!important;
}
.floor-plan-visual--gated::after{
  content:"Request floor plan";position:absolute;left:50%;top:50%;z-index:4;transform:translate(-50%,-50%);
  padding:10px 14px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(8,55,38,.82);
  box-shadow:0 12px 30px rgba(7,26,47,.18);backdrop-filter:blur(10px);color:#fff;font-size:.64rem;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;
}
.floor-plan-visual--gated::before{
  content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(135deg,rgba(231,242,235,.12),rgba(6,62,40,.12));pointer-events:none;
}
.connectivity-point{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px}
.connectivity-point .connectivity-icon{margin-bottom:4px}
.connectivity-point strong{line-height:1.25}
.connectivity-point small{display:block;color:#6d7f76;font-size:.61rem;font-weight:700;letter-spacing:.02em}

.faq-section{position:relative;overflow:hidden;padding:clamp(58px,7vw,96px) 0;background:linear-gradient(145deg,#f7faf7 0%,#eef5f0 53%,#f9fbf9 100%)}
.faq-section::before{content:"";position:absolute;width:620px;height:300px;border-radius:50%;right:-190px;top:-170px;background:rgba(169,204,179,.18);filter:blur(4px);transform:rotate(-8deg)}
.faq-shell{position:relative;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr);gap:clamp(38px,6vw,92px);align-items:start}
.faq-intro{position:sticky;top:116px;max-width:470px}
.faq-intro .section-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 14px;color:#1f6047;font-size:.64rem;font-weight:800;letter-spacing:.27em;text-transform:uppercase}
.faq-intro .section-eyebrow span{width:54px;height:1px;background:linear-gradient(90deg,#287157,transparent)}
.faq-intro h2{margin:0;color:var(--navy-950);font-size:clamp(2.05rem,3.15vw,3.4rem);line-height:.98;letter-spacing:-.045em}
.faq-intro>p:last-child{max-width:420px;margin:20px 0 0;color:#65766f;font-size:.82rem;line-height:1.72}
.faq-list{display:grid;gap:10px}
.faq-item{border:1px solid rgba(31,96,71,.12);border-radius:16px;background:rgba(255,255,255,.76);box-shadow:0 12px 34px rgba(23,55,43,.055);overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.faq-item[open]{border-color:rgba(31,96,71,.24);box-shadow:0 17px 42px rgba(23,55,43,.09)}
.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:70px;padding:18px 21px;cursor:pointer;color:#17334d;font-size:.87rem;font-weight:750;line-height:1.4}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary i{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:50%;background:#edf6f0;color:#176347;font-size:17px;transition:transform .24s ease,background .24s ease,color .24s ease}
.faq-item[open] summary i{transform:rotate(45deg);background:#176347;color:#fff}
.faq-answer{padding:0 21px 19px}
.faq-answer p{margin:0;padding-top:14px;border-top:1px solid rgba(31,96,71,.09);color:#64766f;font-size:.79rem;line-height:1.72}
@media(max-width:900px){.faq-shell{grid-template-columns:1fr;gap:28px}.faq-intro{position:static;max-width:620px}.faq-intro h2{font-size:clamp(2rem,8vw,2.8rem)}}
@media(max-width:600px){.faq-section{padding:48px 0}.faq-item summary{min-height:64px;padding:16px;font-size:.8rem}.faq-answer{padding:0 16px 16px}.faq-answer p{font-size:.75rem}.connectivity-point small{font-size:.58rem}}


/* === 2026-09-25 premium location + FAQ polish === */
/* Floor plan: keep gated blur, remove hover-only floating layout pill. */
.floor-plan-visual .plan-zoom{display:none!important}
.floor-plan-visual--gated::after{
  content:"Floor plan available on request";
  top:auto;bottom:18px;left:18px;transform:none;
  padding:8px 11px;border-radius:10px;
  background:rgba(8,45,34,.72);border:1px solid rgba(255,255,255,.35);
  box-shadow:0 9px 24px rgba(7,26,47,.12);
  font-size:.56rem;letter-spacing:.075em;
  backdrop-filter:blur(8px);
}
.floor-plan-card:hover .floor-plan-visual--gated img{filter:blur(10px) saturate(.62) brightness(.96)!important;transform:scale(1.09)!important}

/* Connectivity: denser, cleaner cards with a clear distance hierarchy. */
.connectivity-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  padding:22px!important;
  border:1px solid rgba(18,83,61,.10)!important;
  border-radius:26px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.90),rgba(245,250,246,.82))!important;
  box-shadow:0 24px 60px rgba(7,26,47,.07)!important;
  backdrop-filter:blur(16px);
}
.connectivity-card::before{
  content:"Key Connectivity"!important;
  position:static!important;
  grid-column:1/-1;
  width:auto!important;height:auto!important;
  margin:0 0 2px!important;
  background:none!important;
  color:#2c6d55!important;
  font-size:.61rem!important;font-weight:800!important;letter-spacing:.22em!important;text-transform:uppercase!important;
}
.connectivity-point,
.connectivity-point:nth-child(-n+3),
.connectivity-point:not(:nth-child(3n)){
  position:relative!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) auto!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  column-gap:13px!important;row-gap:2px!important;
  min-height:82px!important;
  padding:14px 14px!important;
  border:1px solid rgba(23,99,71,.09)!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 10px 24px rgba(12,48,36,.045)!important;
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease!important;
}
.connectivity-point:hover{transform:translateY(-3px)!important;box-shadow:0 17px 34px rgba(12,48,36,.09)!important;border-color:rgba(23,99,71,.19)!important}
.connectivity-point::after{display:none!important}
.connectivity-icon{
  grid-row:1/3;grid-column:1;
  width:46px!important;height:46px!important;margin:0!important;
  border:1px solid rgba(23,99,71,.10)!important;
  background:linear-gradient(145deg,#f8fcf9,#eef7f1)!important;
  box-shadow:inset 0 1px 0 #fff,0 7px 18px rgba(12,48,36,.05)!important;
}
.connectivity-icon i{font-size:20px!important}
.connectivity-point strong{
  grid-column:2;grid-row:1;
  font-size:.78rem!important;line-height:1.25!important;color:#173a55!important;font-weight:750!important;
}
.connectivity-point small{
  grid-column:2;grid-row:2;
  margin:0!important;color:#7a8b83!important;font-size:.63rem!important;font-weight:650!important;letter-spacing:0!important;
}
.connectivity-point small::before{content:"Distance · ";color:#9aa8a1;font-weight:600}

/* FAQ: centered editorial heading + premium single-column accordion. */
.faq-section{
  padding:clamp(64px,7vw,100px) 0!important;
  background:
    radial-gradient(circle at 12% 0%,rgba(190,218,196,.22),transparent 34%),
    radial-gradient(circle at 88% 16%,rgba(214,231,217,.24),transparent 29%),
    linear-gradient(180deg,#f8fbf8 0%,#eef5f0 55%,#f8faf8 100%)!important;
}
.faq-section::before{display:none!important}
.faq-shell{display:block!important;max-width:1040px!important}
.faq-intro{
  position:static!important;
  max-width:760px!important;
  margin:0 auto clamp(30px,4vw,46px)!important;
  text-align:center!important;
}
.faq-intro .section-eyebrow{
  justify-content:center!important;
  gap:13px!important;
  margin:0 0 12px!important;
  font-size:.6rem!important;letter-spacing:.245em!important;
}
.faq-intro .section-eyebrow span{display:block!important;width:38px!important;height:1px!important;background:linear-gradient(90deg,transparent,#287157)!important}
.faq-intro .section-eyebrow span:last-child{background:linear-gradient(90deg,#287157,transparent)!important}
.faq-intro h2{
  margin:0!important;
  font-family:"Cormorant Garamond",Georgia,serif!important;
  font-size:clamp(2.25rem,4vw,3.6rem)!important;
  line-height:1!important;letter-spacing:-.035em!important;font-weight:600!important;
  text-transform:none!important;
}
.faq-intro>p:last-child{
  max-width:620px!important;margin:16px auto 0!important;
  font-size:.84rem!important;line-height:1.7!important;color:#6a7c73!important;
}
.faq-list{display:grid!important;gap:11px!important;max-width:920px!important;margin:0 auto!important}
.faq-item{
  overflow:hidden!important;
  border:1px solid rgba(29,93,68,.11)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.84)!important;
  box-shadow:0 10px 28px rgba(16,52,40,.045)!important;
  transform:translateY(0);
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease,background .28s ease!important;
}
.faq-item:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(16,52,40,.075)!important;border-color:rgba(29,93,68,.18)!important}
.faq-item.is-open{background:rgba(255,255,255,.96)!important;border-color:rgba(29,93,68,.23)!important;box-shadow:0 20px 46px rgba(16,52,40,.09)!important}
.faq-question{
  width:100%;min-height:72px;padding:19px 21px 19px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  border:0;background:transparent;cursor:pointer;text-align:left;
  color:#173a55;font:inherit;font-size:.9rem;font-weight:760;line-height:1.42;
}
.faq-question:focus-visible{outline:3px solid rgba(24,112,77,.20);outline-offset:-3px}
.faq-toggle{
  width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;
  color:#176347;background:#edf6f0;border:1px solid rgba(23,99,71,.08);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),background .25s ease,color .25s ease;
}
.faq-toggle i{font-size:18px;line-height:1}
.faq-item.is-open .faq-toggle{transform:rotate(45deg);background:#176347;color:#fff}
.faq-answer{height:0;overflow:hidden;transition:height .42s cubic-bezier(.2,.8,.2,1)}
.faq-answer__inner{padding:0 24px 21px}
.faq-answer__inner::before{content:"";display:block;height:1px;margin-bottom:15px;background:linear-gradient(90deg,rgba(31,96,71,.13),rgba(31,96,71,0))}
.faq-answer p{margin:0!important;padding:0!important;border:0!important;color:#64766f!important;font-size:.81rem!important;line-height:1.76!important}

@media(max-width:900px){
  .connectivity-card{grid-template-columns:1fr!important}
  .faq-shell{max-width:760px!important}
}
@media(max-width:600px){
  .connectivity-card{padding:16px!important;gap:10px!important;border-radius:20px!important}
  .connectivity-point,.connectivity-point:nth-child(-n+3),.connectivity-point:not(:nth-child(3n)){
    grid-template-columns:43px minmax(0,1fr)!important;min-height:72px!important;padding:12px!important;border-radius:14px!important
  }
  .connectivity-icon{width:41px!important;height:41px!important}
  .connectivity-point strong{font-size:.75rem!important}
  .connectivity-point small{font-size:.6rem!important}
  .faq-section{padding:54px 0!important}
  .faq-intro{margin-bottom:26px!important}
  .faq-intro .section-eyebrow{font-size:.55rem!important;letter-spacing:.18em!important;gap:9px!important}
  .faq-intro .section-eyebrow span{width:24px!important}
  .faq-intro h2{font-size:clamp(2rem,10vw,2.65rem)!important}
  .faq-intro>p:last-child{font-size:.78rem!important}
  .faq-question{min-height:64px;padding:16px 15px 16px 17px;font-size:.8rem}
  .faq-toggle{width:30px;height:30px;flex-basis:30px}
  .faq-answer__inner{padding:0 17px 17px}
  .faq-answer p{font-size:.76rem!important;line-height:1.68!important}
  .floor-plan-visual--gated::after{left:12px;bottom:12px;font-size:.5rem;padding:7px 9px}
}
@media(prefers-reduced-motion:reduce){
  .faq-item,.faq-toggle,.faq-answer,.connectivity-point{transition:none!important}
}


/* Gallery thumbnail caption visibility refinement */
.gallery-thumbs-viewport{
  padding-bottom:10px;
}
.gallery-thumb{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  overflow:visible;
  padding-bottom:12px;
}
.gallery-thumb strong{
  display:block;
  min-height:1.45em;
  margin-top:8px;
  padding:0 3px 2px;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  text-align:center;
  line-height:1.25;
}
@media(min-width:1101px){
  .gallery-thumbs-viewport{height:clamp(138px,17vh,162px)}
}
@media(max-width:1100px){
  .gallery-thumbs-viewport{min-height:132px;padding-bottom:12px}
}
@media(max-width:700px){
  .gallery-thumbs-viewport{min-height:116px;padding-bottom:10px}
  .gallery-thumb strong{font-size:.64rem;line-height:1.18;margin-top:6px}
}

/* 2026-09-25 refinement: connectivity icon hover + compact 2-column FAQ */
.connectivity-point:hover .connectivity-icon,
.connectivity-point:focus-within .connectivity-icon{
  color:#fff!important;
  background:linear-gradient(135deg,#116c49 0%,#238b57 100%)!important;
  border-color:rgba(17,108,73,.9)!important;
  box-shadow:0 10px 24px rgba(17,108,73,.24)!important;
  transform:translateY(-2px) scale(1.045)!important;
}
.connectivity-point:hover .connectivity-icon i,
.connectivity-point:focus-within .connectivity-icon i{
  color:#fff!important;
}

/* Desktop FAQ uses two balanced columns to reduce section height. */
.faq-shell{max-width:1180px!important}
.faq-intro{max-width:800px!important;margin-bottom:clamp(28px,3.2vw,40px)!important}
.faq-list{
  max-width:1120px!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
}
.faq-item{
  align-self:start!important;
  border-radius:16px!important;
}
.faq-question{
  min-height:68px!important;
  padding:17px 18px 17px 20px!important;
  font-size:.85rem!important;
  line-height:1.38!important;
}
.faq-answer__inner{padding:0 20px 18px!important}
.faq-answer p{font-size:.78rem!important;line-height:1.67!important}
.faq-toggle{width:32px!important;height:32px!important;flex-basis:32px!important}

@media(max-width:900px){
  .faq-list{grid-template-columns:1fr!important;max-width:760px!important;gap:10px!important}
}
@media(max-width:600px){
  .faq-question{min-height:62px!important;padding:15px 14px 15px 16px!important;font-size:.79rem!important}
  .faq-answer__inner{padding:0 16px 16px!important}
  .faq-toggle{width:30px!important;height:30px!important;flex-basis:30px!important}
}

/* JR Real Buildwell branding — project-specific logo/favicons */
.site-header .brand.brand--image {
  display: inline-flex;
  align-items: center;
  width: clamp(180px, 15vw, 260px);
  min-width: 0;
  line-height: 1;
}
.site-header .brand__logo {
  display: block;
  width: 100%;
  height: auto;
  max-height: 54px;
  object-fit: contain;
  object-position: left center;
}
.footer-brand.footer-brand--image {
  display: inline-block;
  width: min(100%, 310px);
  max-width: 100%;
  box-sizing: border-box;
  padding: 16px 18px;
  background: #fffaf0;
  border: 1px solid rgba(191, 160, 103, .4);
  border-radius: 12px;
  line-height: 0;
}
.footer-brand__logo {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: left center;
}
@media (max-width: 1100px) {
  .site-header .brand.brand--image { width: clamp(165px, 22vw, 220px); }
  .site-header .brand__logo { max-height: 48px; }
}
@media (max-width: 760px) {
  .site-header .brand.brand--image { width: 180px; }
  .site-header .brand__logo { max-height: 44px; }
  .footer-brand.footer-brand--image { width: 245px; }
}
@media (max-width: 390px) {
  .site-header .brand.brand--image { width: 158px; }
}
