/* stylelint-disable no-duplicate-selectors -- ordered legacy refinement layers. */
:root {
  --paper: #faf9f6;
  --cream: #f5f2ec;
  --sand: #e4d8c8;
  --ink: #26221f;
  --ink-soft: #625d57;
  --green: #344c40;
  --green-deep: #24382f;
  --sage: #a8b0a3;
  --terra: #b68a4a;
  --terra-dark: #8e6837;
  --champagne: #b68a4a;
  --graphite: #26221f;
  --milk: #f5f2ec;
  --line: #ddd5ca;
  --white: #fff;
  --shadow: 0 20px 60px rgb(39 49 43 / 9%);
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 30px;
}

/* stylelint-disable */
/* Presentation homepage and real inventory catalogue. */
.home-presentation {
  --motion-out: cubic-bezier(0.23, 1, 0.32, 1);
}
.hero--real .hero__media {
  inset: 0 0 0 43%;
  transition: transform 500ms var(--motion-out);
}
.hero--real .hero__media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(247, 243, 236, 0.36), transparent 48%);
}
.hero--real .hero__media img {
  object-position: center;
}
.filter-live-status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.home-presentation .news-card img,
.home-presentation .complex-card img,
.home-presentation .place-card img {
  transition: transform 650ms var(--motion-out);
}
.home-presentation .news-card__content {
  z-index: 2;
}
.news-card--mortgage .news-card__number {
  font-size: clamp(7rem, 12vw, 12rem);
  line-height: 0.8;
  opacity: 0.12;
  transform: rotate(-7deg);
}
.news-card--mortgage .news-card__number span {
  font-size: 0.35em;
}
.offer-icon b {
  display: inline-block;
  font: inherit;
  transition: transform 500ms var(--motion-out);
}
.places-grid--real {
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
}
.developer-row--single {
  grid-template-columns: minmax(300px, 620px);
}
.developer-row--single a {
  gap: 1rem;
  justify-content: flex-start;
}
.developer-row--single small {
  color: var(--muted);
  margin-left: auto;
}
.article-card--green {
  background: var(--green);
  color: #fff;
}
.apartments-hero {
  padding: clamp(9rem, 14vw, 13rem) 0 clamp(4rem, 7vw, 7rem);
  background: var(--warm);
}
.apartments-hero h1 {
  max-width: 900px;
  margin: 0.3em 0;
  font-size: clamp(3.2rem, 7vw, 7.4rem);
  line-height: 0.92;
}
.apartments-hero p {
  max-width: 720px;
  font-size: 1.2rem;
}
.unit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.unit-card {
  display: flex;
  flex-direction: column;
  min-height: 390px;
  padding: clamp(1.4rem, 2.3vw, 2.2rem);
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #fff;
}
.unit-card > p {
  margin: 1.2rem 0 0.5rem;
  color: var(--muted);
}
.unit-card h2 {
  font-size: clamp(1.45rem, 2vw, 2rem);
}
.unit-card dl {
  margin: 1.5rem 0;
}
.unit-card dl div {
  display: flex;
  justify-content: space-between;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--line);
}
.unit-card dd {
  font-weight: 700;
}
.unit-card__price {
  margin-top: auto;
  font-size: 1.5rem;
}
.unit-card > small {
  margin: 0.35rem 0 1.2rem;
  color: var(--muted);
}

.search-concept {
  padding: 0;
  background: var(--paper);
}

.search-concept__frame {
  position: relative;
  min-height: 680px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  padding: clamp(42px, 5vw, 74px) 0;
  isolation: isolate;
}

.search-concept__media,
.search-concept__shade {
  position: absolute;
  inset: 0;
}

.search-concept__media {
  z-index: -2;
}

.search-concept__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms var(--ease-out);
}

.search-concept__shade {
  z-index: -1;
  background:
    linear-gradient(90deg, rgb(22 37 30 / 92%) 0%, rgb(22 37 30 / 72%) 46%, rgb(22 37 30 / 16%) 100%),
    linear-gradient(0deg, rgb(22 37 30 / 52%), transparent 54%);
}

.search-concept__content {
  width: min(100% - 64px, 1380px);
  margin-inline: auto;
  color: var(--white);
}

.search-concept__content .eyebrow {
  color: #f1b59f;
}

.search-concept__content h1 {
  max-width: 780px;
  margin: 0 0 20px;
  font-size: clamp(44px, 6vw, 86px);
  font-weight: 520;
  line-height: 0.95;
  letter-spacing: -0.055em;
}

.search-concept__content h1 span,
.search-concept__content h1 em {
  display: block;
}

.search-concept__content h1 em {
  color: #f1b59f;
  font-family: Georgia, serif;
  font-weight: 400;
}

.search-concept__content > p:not(.eyebrow) {
  max-width: 620px;
  margin: 0 0 30px;
  color: rgb(255 255 255 / 80%);
  font-size: clamp(16px, 1.5vw, 20px);
}

.search-concept__form {
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr)) auto;
  gap: 8px;
  padding: 8px;
  border: 1px solid rgb(255 255 255 / 24%);
  border-radius: 18px;
  background: rgb(251 250 246 / 94%);
  box-shadow: 0 24px 70px rgb(0 0 0 / 20%);
  color: var(--ink);
  backdrop-filter: blur(18px);
}

.search-concept__form label {
  min-width: 0;
  padding: 9px 15px;
  border-right: 1px solid var(--line);
}

.search-concept__form label span {
  display: block;
  color: var(--ink-soft);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.search-concept__form select {
  width: 100%;
  padding: 4px 20px 2px 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 14px;
  font-weight: 750;
}

.search-concept__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin-top: 18px;
  font-size: 12px;
}

.search-concept__trust a {
  padding: 8px 13px;
  border: 1px solid rgb(255 255 255 / 42%);
  border-radius: 999px;
  background: rgb(255 255 255 / 88%);
  color: var(--ink-soft);
  font-size: 10px;
  font-weight: 650;
  backdrop-filter: blur(12px);
}

.catalogue-inset {
  grid-column: 1 / -1;
  min-height: 260px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  overflow: hidden;
  padding: clamp(30px, 5vw, 64px);
  border-radius: 28px;
  background:
    radial-gradient(circle at 82% 18%, rgb(255 255 255 / 16%) 0 9%, transparent 9.4%),
    linear-gradient(125deg, var(--terra-dark), var(--terra) 58%, #b45c40);
  color: var(--white);
  box-shadow: 0 22px 60px rgb(105 45 28 / 15%);
}

.catalogue-inset > div {
  max-width: 720px;
}

.catalogue-inset .eyebrow {
  color: #f4c1ae;
}

.catalogue-inset h2 {
  margin: 12px 0 14px;
  font-size: clamp(34px, 4.6vw, 68px);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.catalogue-inset p:last-child {
  max-width: 610px;
  margin: 0;
  color: rgb(255 255 255 / 78%);
}

.catalogue-inset .button {
  flex: 0 0 auto;
}

.catalogue-map {
  padding-top: 40px;
  background: var(--cream);
}

.catalogue-map__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.75fr);
  min-height: 620px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 30px;
  background: var(--white);
  box-shadow: var(--shadow);
}

.catalogue-map__canvas {
  min-height: 620px;
  background: #dfe5df;
}

.catalogue-map__canvas iframe {
  width: 100%;
  height: 100%;
  min-height: 620px;
  display: block;
  border: 0;
  filter: saturate(0.7) sepia(0.08);
}

.catalogue-map__list {
  overflow: auto;
  padding: 12px;
  background: var(--paper);
}

.catalogue-map__list a {
  min-height: 108px;
  display: grid;
  grid-template-columns: 36px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 20px 16px;
  border-bottom: 1px solid var(--line);
  border-radius: 16px;
  transition:
    background-color 160ms ease,
    transform 160ms var(--ease-out);
}

.catalogue-map__list a > span:first-child {
  color: var(--terra);
  font-family: Georgia, serif;
  font-size: 13px;
}

.catalogue-map__list strong,
.catalogue-map__list small {
  display: block;
}

.catalogue-map__list strong {
  font-size: 17px;
}

.catalogue-map__list small {
  margin-top: 5px;
  color: var(--ink-soft);
}

.catalogue-map__list i {
  font-style: normal;
}

@media (hover: hover) and (pointer: fine) {
  .search-concept__frame:hover .search-concept__media img {
    transform: scale(1.018);
  }

  .catalogue-map__list a:hover {
    background: var(--cream);
    transform: translateX(-3px);
  }
}

@media (max-width: 960px) {
  .search-concept__form {
    grid-template-columns: repeat(2, 1fr);
  }

  .search-concept__form .button {
    grid-column: 1 / -1;
  }

  .catalogue-map__layout {
    grid-template-columns: 1fr;
  }

  .catalogue-map__canvas,
  .catalogue-map__canvas iframe {
    min-height: 460px;
  }
}

@media (max-width: 640px) {
  .search-concept__frame {
    min-height: 720px;
    align-items: flex-end;
    padding: 36px 0;
  }

  .search-concept__shade {
    background: linear-gradient(0deg, rgb(22 37 30 / 95%) 0%, rgb(22 37 30 / 62%) 72%, rgb(22 37 30 / 24%) 100%);
  }

  .search-concept__content h1 {
    font-size: clamp(39px, 12vw, 56px);
  }

  .search-concept__content {
    width: min(100% - 32px, 1380px);
  }

  .search-concept__form {
    grid-template-columns: 1fr;
  }

  .search-concept__form label {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .search-concept__form .button {
    grid-column: auto;
  }

  .catalogue-inset {
    min-height: 370px;
    align-items: flex-start;
    flex-direction: column;
  }

  .catalogue-inset .button {
    width: 100%;
  }

  .catalogue-map__canvas,
  .catalogue-map__canvas iframe {
    min-height: 380px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .search-concept__media img,
  .catalogue-map__list a {
    transition: none;
  }
}

/* Premium 3D mortgage token — one continuous turn followed by a deliberate rest. */
.mini-tag {
  width: 142px;
  height: 118px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  perspective: 840px;
  perspective-origin: 50% 50%;
  transform: translateX(-50%);
  animation: none;
}

.mini-tag__body {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  transform-style: preserve-3d;
  will-change: transform;
  animation: mini-token-flip 4.8s infinite;
}

.mini-tag__face {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border: 1px solid rgb(194 154 87 / 72%);
  border-radius: 22px;
  background:
    radial-gradient(circle at 28% 18%, rgb(255 255 255 / 92%), transparent 34%),
    linear-gradient(145deg, #fffdf8 0%, #f4ead8 72%, #e9d8b8 100%);
  color: #2d2924;
  box-shadow:
    inset 0 0 0 1px rgb(255 255 255 / 70%),
    0 18px 38px rgb(25 19 13 / 24%);
  backface-visibility: hidden;
  overflow: hidden;
}

.mini-tag__face::after {
  content: '';
  position: absolute;
  inset: -30% -80%;
  background: linear-gradient(105deg, transparent 36%, rgb(255 255 255 / 62%) 49%, transparent 62%);
  opacity: 0.18;
  transform: translateX(-24%);
  animation: mini-token-highlight 4.8s infinite;
  pointer-events: none;
}

.mini-tag__face--front {
  transform: translateZ(6px);
}

.mini-tag__face--back {
  transform: rotateY(180deg) translateZ(6px);
}

.mini-tag__edge {
  position: absolute;
  top: 6px;
  bottom: 6px;
  width: 12px;
  border: 1px solid rgb(255 247 228 / 78%);
  border-radius: 6px;
  background: linear-gradient(90deg, #8d6331 0%, #d6ad69 48%, #8f642f 100%);
  box-shadow: 0 0 14px rgb(217 176 106 / 34%);
}

.mini-tag__edge--left {
  left: -6px;
  background: linear-gradient(90deg, #795127 0%, #bb8b49 62%, #dfbd80 100%);
  box-shadow: inset -2px 0 3px rgb(64 39 15 / 32%);
  transform: rotateY(-90deg);
}

.mini-tag__edge--right {
  right: -6px;
  background: linear-gradient(90deg, #dfbd80 0%, #bb8b49 38%, #795127 100%);
  box-shadow: inset 2px 0 3px rgb(64 39 15 / 32%);
  transform: rotateY(90deg);
}

.mini-tag__face b,
.mini-tag__face i {
  position: static;
  z-index: 1;
  font-style: normal;
  transform: none;
}

.mini-tag__face b {
  font: 600 62px/0.9 Georgia, 'Times New Roman', serif;
  letter-spacing: -0.07em;
}

.mini-tag__face i {
  align-self: flex-end;
  margin-bottom: 25px;
  color: #aa793d;
  font: 600 27px/1 Arial, sans-serif;
}

@keyframes mini-token-flip {
  0% {
    transform: rotateY(0deg);
    animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
  }

  58.333%,
  100% {
    transform: rotateY(360deg);
  }
}

@keyframes mini-token-highlight {
  0% {
    opacity: 0.16;
  }

  15%,
  44% {
    opacity: 0.28;
  }

  29% {
    opacity: 0.1;
  }

  58.333%,
  100% {
    opacity: 0.16;
  }
}

@media (width <= 760px) {
  .mini-tag {
    width: 136px;
    height: 112px;
  }

  .mini-tag__face b {
    font-size: 58px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mini-tag__body,
  .mini-tag__face::after {
    animation: none !important;
  }

  .mini-tag__body {
    transform: rotateY(0deg);
  }
}
.unit-empty {
  grid-column: 1/-1;
  padding: 4rem;
  border-radius: 24px;
  background: var(--warm);
  text-align: center;
}
@media (hover: hover) and (pointer: fine) {
  .home-presentation .news-card:hover img,
  .home-presentation .complex-card:hover img,
  .home-presentation .place-card:hover img {
    transform: scale(1.035);
  }
  [data-offer='mortgage']:hover .offer-icon b {
    transform: rotate(22deg);
  }
  [data-offer='finish']:hover .offer-icon b {
    transform: rotate(45deg) scale(1.08);
  }
  [data-offer='installment']:hover .offer-icon b {
    transform: translateX(5px);
  }
}
@media (max-width: 1100px) {
  .places-grid--real {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .unit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .hero--real .hero__media {
    inset: 0;
  }
  .hero--real .hero__media img {
    object-position: 62% center;
  }
  .hero--real .hero__wash {
    background: linear-gradient(
      180deg,
      rgba(247, 243, 236, 0.82),
      rgba(247, 243, 236, 0.48) 55%,
      rgba(247, 243, 236, 0.92)
    );
  }
  .places-grid--real,
  .unit-grid {
    grid-template-columns: 1fr;
  }
  .developer-row--single a {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .developer-row--single small {
    width: 100%;
    margin-left: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero--real .hero__media,
  .home-presentation img,
  .offer-icon b {
    transform: none !important;
    transition-duration: 0.01ms !important;
    animation: none !important;
  }
}
/* stylelint-enable */

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 90px;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, 'Segoe UI', Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

body.menu-open {
  overflow: hidden;
}

body.admin-bar .site-header {
  top: 32px;
}

body.home .home-presentation {
  margin-top: -80px;
}

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

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

button,
select {
  cursor: pointer;
}

img {
  display: block;
  max-width: 100%;
}

.shell {
  width: min(100% - 64px, 1380px);
  margin-inline: auto;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  z-index: 999;
  top: 12px;
  left: 12px;
  padding: 12px 16px;
  border-radius: 8px;
  background: var(--white);
  transform: translateY(-160%);
  transition: transform 180ms var(--ease-out);
}

.skip-link:focus {
  transform: none;
}

:focus-visible {
  outline: 3px solid var(--terra);
  outline-offset: 3px;
}

.site-header {
  position: sticky;
  z-index: 50;
  top: 0;
  background: rgb(251 250 246 / 92%);
  border-bottom: 1px solid transparent;
  backdrop-filter: blur(16px);
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.site-header.is-scrolled {
  border-color: var(--line);
  box-shadow: 0 8px 26px rgb(40 50 44 / 5%);
}

.site-header__inner {
  height: 102px;
  display: flex;
  align-items: center;
  gap: 34px;
}

.site-header .brand {
  display: inline-flex;
  align-items: center;
  min-width: max-content;
}

.brand__logo {
  width: 260px;
  height: auto;
}

.brand--footer .brand__logo {
  width: 260px;
}

.desktop-nav {
  display: flex;
  gap: clamp(18px, 1.65vw, 28px);
  margin-left: auto;
}

.desktop-nav a {
  position: relative;
  padding: 10px 0;
  font-size: 14px;
  font-weight: 650;
}

.desktop-nav a::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 3px;
  left: 0;
  height: 1px;
  background: var(--terra);
  opacity: 0;
  transform: scaleX(0.6);
  transition:
    opacity 160ms ease,
    transform 160ms var(--ease-out);
}

.site-header__actions {
  display: flex;
  align-items: center;
  gap: 15px;
}

.header-contact {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--terra);
}

.header-contact small {
  max-width: 88px;
  color: var(--ink-soft);
  font-size: 10px;
  line-height: 1.25;
}

.favorite-link {
  position: relative;
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
}

.favorite-link svg {
  width: 21px;
  fill: none;
  stroke: currentcolor;
  stroke-width: 1.5;
}

.button {
  min-height: 52px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  border: 0;
  border-radius: 9px;
  font-size: 12px;
  font-weight: 750;
  transition:
    color 160ms ease,
    background-color 160ms ease,
    transform 140ms var(--ease-out),
    box-shadow 160ms ease;
}

.button:active,
.heart-button:active,
.card-arrow:active {
  transform: scale(0.97);
}

.button--small {
  min-height: 52px;
  padding-inline: 24px;
  font-size: 13px;
}

.button--terracotta {
  background: var(--terra);
  color: var(--white);
  box-shadow: 0 10px 26px rgb(201 111 82 / 22%);
}

.button--cream {
  background: var(--cream);
  color: var(--green-deep);
}

.menu-toggle {
  width: 46px;
  height: 46px;
  display: none;
  place-content: center;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: transparent;
}

.menu-toggle i {
  width: 18px;
  height: 1px;
  display: block;
  background: currentcolor;
  transition: transform 180ms var(--ease-out);
}

.menu-toggle[aria-expanded='true'] i:first-of-type {
  transform: translateY(3.5px) rotate(45deg);
}

.menu-toggle[aria-expanded='true'] i:last-of-type {
  transform: translateY(-3.5px) rotate(-45deg);
}

.mobile-menu {
  position: absolute;
  z-index: 40;
  inset: 100% 0 auto;
  height: calc(100dvh - 86px);
  overflow-y: auto;
  background: var(--paper);
}

.mobile-menu__inner {
  width: min(100% - 40px, 600px);
  margin-inline: auto;
  padding: 32px 0;
}

.mobile-menu__inner > a:not(.button) {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  font-size: 22px;
  letter-spacing: -0.03em;
}

.mobile-menu__inner > a span {
  color: var(--terra);
  font-size: 10px;
}

.mobile-menu .button {
  width: 100%;
  margin-top: 28px;
}

.hero {
  position: relative;
  min-height: 680px;
  overflow: hidden;
  background: var(--cream);
}

.hero__media,
.hero__wash {
  position: absolute;
  inset: 0;
}

.hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 53%;
}

.hero__wash {
  background:
    linear-gradient(
      90deg,
      rgb(251 250 246 / 98%) 0%,
      rgb(251 250 246 / 87%) 30%,
      rgb(251 250 246 / 18%) 66%
    ),
    linear-gradient(0deg, rgb(251 250 246 / 48%), transparent 44%);
}

.hero__content {
  position: relative;
  z-index: 2;
  min-height: 680px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 6px;
}

.hero__copy {
  width: min(610px, 53%);
  margin-bottom: 44px;
}

.eyebrow {
  margin: 0 0 18px;
  color: var(--terra);
  font-size: 13px;
  font-weight: 750;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.hero h1,
.section h2,
.final-cta h2 {
  margin: 0;
  font-size: clamp(48px, 5vw, 78px);
  font-weight: 520;
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.hero h1 em,
.mortgage h2 em {
  color: var(--terra);
  font-family: Georgia, serif;
  font-weight: 400;
}

.hero__copy > p:last-child {
  max-width: 460px;
  margin: 22px 0 0;
  color: var(--ink-soft);
  font-size: 16px;
}

.quick-search {
  width: min(100%, 1120px);
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr)) auto;
  gap: 7px;
  padding: 8px;
  border: 1px solid rgb(255 255 255 / 80%);
  border-radius: 16px;
  background: rgb(255 255 255 / 92%);
  box-shadow: var(--shadow);
  backdrop-filter: blur(16px);
}

.form-field,
.range-field {
  min-width: 0;
}

.quick-search .form-field {
  padding: 9px 16px;
  border-right: 1px solid var(--line);
}

.form-field label,
.range-field > label,
.lead-form label {
  display: block;
  margin-bottom: 3px;
  color: var(--ink-soft);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.form-field select {
  width: 100%;
  padding: 2px 18px 2px 0;
  border: 0;
  background: transparent;
  font-size: 14px;
  font-weight: 750;
  outline: 0;
}

.search-submit {
  min-width: 210px;
  justify-content: space-between;
}

.quick-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 13px;
}

.quick-tags a,
.pill {
  padding: 8px 13px;
  border: 1px solid rgb(255 255 255 / 86%);
  border-radius: 999px;
  background: rgb(255 255 255 / 86%);
  color: var(--ink-soft);
  font-size: 10px;
  font-weight: 650;
  backdrop-filter: blur(12px);
  transition:
    color 160ms ease,
    background-color 160ms ease,
    transform 140ms var(--ease-out);
}

.section {
  padding: 112px 0;
}

.section--compact {
  padding: 84px 0;
}

.section--tint {
  background: var(--cream);
}

.section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 44px;
}

.section-heading > div {
  position: relative;
}

.section-index {
  display: none;
}

.section-heading h2,
.panel-heading h2,
.why h2,
.places-grid + h2 {
  font-size: clamp(38px, 4vw, 64px);
}

.section-heading .eyebrow {
  margin-bottom: 10px;
}

.arrow-link,
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--terra);
  color: var(--terra-dark);
  font-size: 13px;
  font-weight: 750;
}

.arrow-link span,
.text-link span {
  transition: transform 160ms var(--ease-out);
}

.news-grid {
  display: grid;
  grid-template-columns: 1.18fr 1fr 1fr 0.9fr;
  gap: 14px;
}

.news-card {
  position: relative;
  min-height: 330px;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--cream);
  box-shadow: 0 1px 0 rgb(40 50 44 / 8%);
}

.news-card img,
.complex-card__media img,
.place-card img,
.article-card > a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 260ms var(--ease-out);
}

.news-card img {
  position: absolute;
  inset: 0;
}

.news-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgb(27 42 34 / 86%), transparent 75%);
}

.news-card__content {
  position: absolute;
  z-index: 2;
  inset: 0;
  padding: 23px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.news-card__content h3 {
  margin: auto 0 9px;
  font-size: 23px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.news-card__content p {
  margin: 0;
  font-size: 11px;
  opacity: 0.78;
}

.news-card__content > a {
  position: absolute;
  right: 19px;
  bottom: 18px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--white);
  color: var(--ink);
}

.news-card--large,
.news-card--green {
  color: var(--white);
}

.news-card--warm .news-card__content,
.news-card--paper .news-card__content {
  background: linear-gradient(180deg, rgb(250 248 243 / 95%), rgb(250 248 243 / 12%) 61%);
}

.news-card--green {
  background: var(--green);
}

.news-card__number {
  position: absolute;
  right: -16px;
  bottom: -54px;
  color: rgb(255 255 255 / 7%);
  font-family: Georgia, serif;
  font-size: 250px;
  line-height: 1;
}

.pill {
  padding: 6px 10px;
  border: 0;
  background: rgb(255 255 255 / 78%);
  color: var(--terra-dark);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pill--light,
.pill--glass {
  background: rgb(255 255 255 / 17%);
  color: var(--white);
}

.complex-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
}

.complex-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--white);
  transition:
    transform 220ms var(--ease-out),
    box-shadow 220ms ease;
}

.complex-card__media {
  position: relative;
  height: 270px;
  display: block;
  overflow: hidden;
  background: var(--sand);
}

.complex-card__media .pill {
  position: absolute;
  top: 14px;
  left: 14px;
}

.heart-button {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: rgb(255 255 255 / 88%);
  font-size: 21px;
  transition:
    color 160ms ease,
    background-color 160ms ease,
    transform 140ms var(--ease-out);
}

.heart-button.is-favorite {
  background: var(--terra);
  color: var(--white);
}

.complex-card__body {
  position: relative;
  min-height: 176px;
  padding: 22px;
}

.complex-card__body p,
.complex-card__facts,
.article-card span {
  color: var(--ink-soft);
  font-size: 9px;
  letter-spacing: 0.05em;
}

.complex-card__body p {
  margin: 0 0 8px;
}

.complex-card__body h3 {
  max-width: 84%;
  margin: 0;
  font-size: 19px;
  font-weight: 650;
  line-height: 1.16;
  letter-spacing: -0.025em;
}

.complex-card__facts {
  position: absolute;
  right: 62px;
  bottom: 22px;
  left: 22px;
  display: flex;
  gap: 18px;
  color: var(--ink);
  font-weight: 750;
}

.card-arrow {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--terra-dark);
  transition:
    color 160ms ease,
    background-color 160ms ease,
    transform 140ms var(--ease-out);
}

.complex-card .card-arrow {
  position: absolute;
  right: 18px;
  bottom: 18px;
}

.split-layout {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 24px;
}

.filter-panel,
.offers-panel {
  padding: clamp(28px, 4vw, 54px);
  border-radius: var(--radius-lg);
}

.filter-panel {
  background: var(--white);
  box-shadow: var(--shadow);
}

.offers-panel {
  background: #e7ded0;
}

.panel-heading p:not(.eyebrow) {
  max-width: 430px;
  margin: 18px 0 30px;
  color: var(--ink-soft);
}

.apartment-filter {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.apartment-filter .form-field,
.range-field {
  padding: 12px 15px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--paper);
}

.range-field > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.range-field input {
  min-width: 0;
  padding: 5px 8px 2px 0;
  border: 0;
  background: transparent;
  font-size: 13px;
  outline: 0;
}

.range-field input + input {
  padding-left: 9px;
  border-left: 1px solid var(--line);
}

.apartment-filter .button {
  grid-column: 1 / -1;
  justify-content: flex-start;
  gap: 7px;
  margin-top: 5px;
  padding-inline: 24px 18px;
}

.offer-list {
  margin-top: 30px;
  border-top: 1px solid rgb(35 51 43 / 14%);
}

.offer-list a {
  display: grid;
  grid-template-columns: 54px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 19px 0;
  border-bottom: 1px solid rgb(35 51 43 / 14%);
}

.offer-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgb(201 111 82 / 38%);
  border-radius: 50%;
  color: var(--terra-dark);
  font-family: Georgia, serif;
  font-size: 19px;
}

.offer-list strong,
.offer-list small {
  display: block;
}

.offer-list strong {
  margin-bottom: 4px;
  font-size: 17px;
}

.offer-list small {
  color: var(--ink-soft);
  font-size: 13px;
}

.offer-list i {
  color: var(--terra-dark);
  font-style: normal;
}

.mortgage {
  position: relative;
  overflow: hidden;
  background: var(--green-deep);
  color: var(--white);
}

.mortgage::after {
  content: '19';
  position: absolute;
  right: -30px;
  bottom: -140px;
  color: rgb(255 255 255 / 3%);
  font-family: Georgia, serif;
  font-size: 420px;
  line-height: 1;
}

.mortgage__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 0.88fr 1.12fr;
  gap: 9vw;
  align-items: center;
}

.mortgage__copy p:not(.eyebrow) {
  max-width: 500px;
  margin: 26px 0;
  color: #c7d0c9;
}

.mortgage .section-index,
.mortgage .eyebrow,
.mortgage h2 em {
  color: #f1a58b;
}

.text-link--light {
  border-color: rgb(255 255 255 / 45%);
  color: var(--white);
}

.mortgage-calculator {
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid rgb(255 255 255 / 13%);
  border-radius: var(--radius-lg);
  background: rgb(255 255 255 / 7%);
  box-shadow: 0 30px 80px rgb(0 0 0 / 14%);
  backdrop-filter: blur(14px);
}

.calculator-total {
  display: grid;
  gap: 6px;
  margin-bottom: 34px;
}

.calculator-total > span,
.calculator-total small {
  color: #aebcb4;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.calculator-total strong {
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 550;
  letter-spacing: -0.04em;
}

.slider-field {
  display: block;
  margin-top: 26px;
}

.slider-field span {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 13px;
  color: #bfc9c3;
  font-size: 11px;
}

.slider-field output {
  color: var(--white);
  font-weight: 750;
}

.slider-field input {
  width: 100%;
  height: 4px;
  accent-color: var(--terra);
}

.mortgage-calculator .button {
  width: 100%;
  justify-content: space-between;
  margin-top: 34px;
}

.why {
  background: #e2e7df;
}

.why__grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 10vw;
}

.why__intro {
  align-self: start;
}

.why__intro > p:last-child {
  max-width: 430px;
  margin: 24px 0 0;
  color: var(--ink-soft);
  font-size: 17px;
  line-height: 1.55;
}

.why__list {
  border-top: 1px solid #bdc6be;
}

.why__list article {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 20px;
  padding: 27px 0;
  border-bottom: 1px solid #bdc6be;
}

.why__list article > span {
  color: var(--terra-dark);
  font-family: Georgia, serif;
  font-size: 14px;
}

.why__list h3 {
  margin: 0 0 7px;
  font-size: 21px;
}

.why__list p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.5;
}

.why__details {
  max-width: 520px;
  margin-top: clamp(42px, 6vw, 84px);
  padding-top: 24px;
  border-top: 1px solid #bdc6be;
}

.why__details p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.65;
}

.why__details p + p {
  margin-top: 16px;
}

.places-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr 0.8fr;
  grid-template-rows: repeat(2, 220px);
  gap: 14px;
}

.place-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--cream);
}

.place-card--wide {
  grid-row: span 2;
}

.place-card:nth-child(2) {
  grid-row: span 2;
}

.place-card::after {
  content: '';
  position: absolute;
  inset: 40% 0 0;
  background: linear-gradient(0deg, rgb(21 34 27 / 72%), transparent);
}

.place-card > span {
  position: absolute;
  z-index: 2;
  right: 20px;
  bottom: 18px;
  left: 20px;
  color: var(--white);
}

.place-card strong,
.place-card small {
  display: block;
}

.place-card strong {
  font-size: 20px;
}

.place-card small {
  margin-top: 5px;
  font-size: 10px;
  opacity: 0.75;
}

.place-card--text,
.place-card--green {
  padding: 22px;
}

.place-card--text::after,
.place-card--green::after {
  display: none;
}

.place-card--text > span,
.place-card--green > span {
  position: static;
  color: var(--ink);
}

.place-card--green {
  background: var(--terra);
}

.place-card--green > span {
  color: var(--white);
}

.place-card > i {
  position: absolute;
  right: 22px;
  bottom: 20px;
  font-style: normal;
}

.developers {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.developer-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--white);
}

.developer-row a {
  min-height: 118px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border-right: 1px solid var(--line);
}

.developer-row a:last-child {
  border-right: 0;
}

.developer-row span {
  color: var(--terra);
  font-family: Georgia, serif;
  font-size: 30px;
}

.developer-row strong {
  font-size: 14px;
  text-transform: uppercase;
}

.article-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 0.8fr;
  gap: 16px;
}

.article-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--white);
}

.article-card > a {
  height: 240px;
  display: block;
  overflow: hidden;
}

.article-card > div {
  position: relative;
  min-height: 190px;
  padding: 25px;
}

.article-card h3 {
  margin: 14px 0 9px;
  font-size: 22px;
  line-height: 1.15;
  letter-spacing: -0.03em;
}

.article-card p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 12px;
}

.article-card--accent {
  display: flex;
  align-items: flex-end;
  background: var(--terra);
  color: var(--white);
}

.article-card--accent > div {
  padding: 34px;
}

.article-card--accent span,
.article-card--accent p {
  color: var(--white);
}

.article-card--accent .card-arrow {
  margin-top: 32px;
  border-color: rgb(255 255 255 / 38%);
  color: var(--white);
}

.final-cta {
  padding-top: 56px;
}

.final-cta__panel {
  position: relative;
  min-height: 390px;
  padding: clamp(34px, 5vw, 76px);
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  gap: 8vw;
  align-items: center;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--terra);
  color: var(--white);
}

.final-cta__mark {
  position: absolute;
  right: 49%;
  bottom: -120px;
  color: rgb(255 255 255 / 7%);
  font-family: Georgia, serif;
  font-size: 360px;
  line-height: 1;
}

.final-cta__panel > div:not(.final-cta__mark) {
  position: relative;
  z-index: 2;
}

.final-cta .eyebrow {
  color: var(--white);
}

.final-cta h2 {
  font-size: clamp(46px, 5vw, 72px);
}

.final-cta__panel > div > p:last-child {
  max-width: 530px;
  margin: 22px 0 0;
  color: var(--white);
}

.lead-form {
  position: relative;
  z-index: 2;
  padding: 28px;
  border-radius: var(--radius-md);
  background: rgb(50 28 22 / 18%);
}

.lead-form label {
  color: var(--white);
}

.lead-form input {
  width: 100%;
  margin-bottom: 15px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid rgb(255 255 255 / 45%);
  background: transparent;
  color: var(--white);
  outline: 0;
}

.lead-form input::placeholder {
  color: rgb(255 255 255 / 54%);
}

.lead-form .button {
  width: 100%;
  justify-content: space-between;
  margin-top: 8px;
}

.lead-form small {
  display: block;
  margin-top: 12px;
  color: var(--white);
  font-size: 8px;
}

.form-status {
  margin: 14px 0 0;
  color: var(--white);
  font-size: 11px;
}

.site-footer {
  padding: 72px 0 26px;
  background: var(--paper);
}

.site-footer__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding-bottom: 38px;
  border-bottom: 1px solid var(--line);
}

.site-footer__top p {
  max-width: 360px;
  margin: 0;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.5;
}

.site-footer__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5vw;
  padding: 42px 0;
}

.site-footer__grid > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  color: var(--ink-soft);
  font-size: 14px;
}

.footer-label {
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.socials {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}

.socials a {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--green);
  font-size: 9px;
  font-weight: 800;
}

.site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
  color: #4f5752;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.site-footer__credit {
  color: inherit;
  letter-spacing: 0.01em;
  text-transform: none;
  opacity: 1;
}

.archive-hero {
  position: relative;
  min-height: 570px;
  display: grid;
  overflow: hidden;
  background: var(--green-deep);
  color: var(--white);
}

.archive-hero__media,
.archive-hero__overlay {
  position: absolute;
  inset: 0;
}

.archive-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 54%;
}

.archive-hero__overlay {
  background:
    linear-gradient(
      90deg,
      rgb(25 45 36 / 92%) 0%,
      rgb(25 45 36 / 66%) 48%,
      rgb(25 45 36 / 15%) 78%
    ),
    linear-gradient(0deg, rgb(20 36 29 / 38%), transparent 50%);
}

.archive-hero__content {
  position: relative;
  z-index: 1;
  min-height: 570px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding-block: 72px;
}

.archive-hero .eyebrow {
  color: #f2a58b;
}

.archive-hero h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(58px, 7vw, 102px);
  font-weight: 520;
  line-height: 0.92;
  letter-spacing: -0.06em;
}

.archive-hero__content > p:not(.eyebrow) {
  max-width: 590px;
  margin: 28px 0 34px;
  color: rgb(255 255 255 / 78%);
  font-size: 17px;
}

.archive-hero__count {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 18px;
  border: 1px solid rgb(255 255 255 / 26%);
  border-radius: 999px;
  background: rgb(255 255 255 / 10%);
  font-size: 13px;
  backdrop-filter: blur(12px);
  transition:
    background-color 160ms ease,
    transform 140ms var(--ease-out);
}

.archive-hero__count strong {
  font-size: 17px;
}

.archive-hero__count span {
  margin-left: 12px;
}

.archive-catalogue .section-heading {
  align-items: flex-end;
}

.archive-catalogue__lead {
  max-width: 430px;
  margin: 0 0 8px;
  color: var(--ink-soft);
  font-size: 16px;
}

.complex-grid--archive {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.complex-grid--archive .complex-card {
  position: relative;
}

.complex-grid--archive .complex-card__media {
  height: clamp(280px, 26vw, 390px);
}

.complex-grid--archive .complex-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 500ms var(--ease-out);
}

.complex-grid--archive .complex-card__body {
  min-height: 190px;
  padding: 24px;
}

.complex-grid--archive .complex-card__body p,
.complex-grid--archive .complex-card__facts {
  font-size: 11px;
}

.complex-grid--archive .complex-card__body h3 {
  font-size: 21px;
}

.navigation.pagination {
  margin-top: 46px;
}

.nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.nav-links .page-numbers {
  min-width: 42px;
  min-height: 42px;
  display: inline-grid;
  place-items: center;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 13px;
}

.nav-links .current {
  border-color: var(--green);
  background: var(--green);
  color: var(--white);
}

.archive-empty {
  padding: clamp(36px, 7vw, 90px);
  border-radius: var(--radius-lg);
  background: var(--cream);
  text-align: center;
}

.archive-empty h2 {
  margin: 0;
  font-size: clamp(34px, 5vw, 60px);
}

.archive-empty p {
  margin: 18px 0 28px;
  color: var(--ink-soft);
}

.archive-cta {
  padding: 0 0 112px;
}

.archive-cta__panel {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 48px;
  padding: clamp(34px, 5vw, 68px);
  border-radius: var(--radius-lg);
  background: var(--terra);
  color: var(--white);
}

.archive-cta .eyebrow {
  color: #ffd6c7;
}

.archive-cta h2 {
  max-width: 800px;
  margin: 0;
  font-size: clamp(38px, 5vw, 68px);
  font-weight: 520;
  line-height: 0.98;
  letter-spacing: -0.05em;
}

.archive-cta p:not(.eyebrow) {
  max-width: 650px;
  margin: 20px 0 0;
  color: rgb(255 255 255 / 78%);
}

.js [data-reveal] {
  opacity: 1;
  transform: translateY(14px);
  transition:
    opacity 560ms var(--ease-out),
    transform 560ms var(--ease-out);
}

.js [data-visible='true'] {
  opacity: 1;
  transform: none;
}

@media (hover: hover) and (pointer: fine) {
  .desktop-nav a:hover::after {
    opacity: 1;
    transform: scaleX(1);
  }

  .button:hover {
    transform: translateY(-2px);
  }

  .button--terracotta:hover {
    background: var(--terra-dark);
    box-shadow: 0 13px 32px rgb(173 89 64 / 26%);
  }

  .quick-tags a:hover {
    background: var(--green);
    color: var(--white);
    transform: translateY(-1px);
  }

  .arrow-link:hover span,
  .text-link:hover span {
    transform: translateX(4px);
  }

  .news-card:hover img,
  .complex-card:hover .complex-card__media img,
  .place-card:hover img,
  .article-card:hover > a img {
    transform: scale(1.025);
  }

  .complex-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow);
  }

  .heart-button:hover,
  .card-arrow:hover {
    background: var(--terra);
    color: var(--white);
  }

  .offer-list a:hover i {
    transform: translateX(3px);
  }

  .archive-hero__count:hover {
    background: rgb(255 255 255 / 18%);
    transform: translateY(-1px);
  }
}

@media (width <= 1180px) {
  .desktop-nav,
  .header-contact {
    display: none;
  }

  .site-header__actions {
    margin-left: auto;
  }

  .menu-toggle {
    display: grid;
  }

  .hero__copy {
    width: min(620px, 66%);
  }

  .quick-search {
    grid-template-columns: repeat(4, 1fr);
  }

  .quick-search .search-submit {
    grid-column: 1 / -1;
    min-height: 48px;
  }

  .news-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .complex-grid {
    grid-template-columns: repeat(2, 1fr);
  }

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

  .complex-card__media {
    height: 320px;
  }

  .places-grid {
    grid-template-columns: 1.2fr 1fr;
  }

  .place-card--wide {
    grid-row: span 2;
  }

  .place-card:nth-child(2) {
    grid-row: auto;
  }

  .place-card--text,
  .place-card--green {
    display: none;
  }
}

@media (width <= 782px) {
  body.admin-bar .site-header {
    top: 46px;
  }

  body.home .home-presentation {
    margin-top: -70px;
  }

  .shell {
    width: min(100% - 32px, 1380px);
  }

  .site-header__inner {
    height: 82px;
  }

  .archive-hero,
  .archive-hero__content {
    min-height: 600px;
  }

  .archive-hero__media img {
    object-position: 58% center;
  }

  .archive-hero__overlay {
    background: linear-gradient(
      0deg,
      rgb(24 43 35 / 96%) 0%,
      rgb(24 43 35 / 54%) 66%,
      rgb(24 43 35 / 18%) 100%
    );
  }

  .archive-hero__content {
    justify-content: flex-end;
    padding-block: 60px;
  }

  .archive-hero h1 {
    font-size: clamp(52px, 13vw, 76px);
  }

  .archive-hero__content > p:not(.eyebrow) {
    max-width: 520px;
    margin: 22px 0 28px;
    font-size: 15px;
  }

  .site-header__actions .button,
  .favorite-link {
    display: none;
  }

  .brand__logo {
    width: 205px;
  }

  .mobile-menu {
    height: calc(100dvh - 82px);
  }

  .hero {
    min-height: 760px;
  }

  .hero__media,
  .hero__wash {
    inset: 0 0 auto;
    height: 360px;
  }

  .hero__media img {
    object-position: 67% center;
  }

  .hero__wash {
    background: linear-gradient(0deg, var(--paper), transparent 50%);
  }

  .hero__content {
    min-height: 760px;
    justify-content: flex-start;
    padding-top: 260px;
  }

  .hero__copy {
    width: 100%;
    margin-bottom: 22px;
  }

  .hero h1 {
    max-width: 520px;
    font-size: clamp(40px, 11vw, 58px);
  }

  .hero__copy > p:last-child {
    max-width: 400px;
    margin-top: 15px;
    font-size: 14px;
  }

  .quick-search {
    grid-template-columns: repeat(2, 1fr);
    border-radius: 14px;
  }

  .quick-search .form-field {
    padding: 8px 12px;
    border-bottom: 1px solid var(--line);
  }

  .quick-search .form-field:nth-child(2),
  .quick-search .form-field:nth-child(4) {
    border-right: 0;
  }

  .quick-tags {
    flex-wrap: nowrap;
    margin-right: -16px;
    padding-right: 16px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .quick-tags a {
    flex: 0 0 auto;
  }

  .section,
  .section--compact {
    padding: 74px 0;
  }

  .section-heading {
    align-items: flex-start;
    margin-bottom: 32px;
  }

  .archive-catalogue .section-heading {
    display: block;
  }

  .archive-catalogue__lead {
    margin-top: 22px;
  }

  .section-heading h2,
  .panel-heading h2,
  .why h2 {
    font-size: clamp(36px, 10vw, 50px);
  }

  .section-heading .arrow-link {
    margin-top: 28px;
    white-space: nowrap;
  }

  .news-grid {
    display: flex;
    margin-right: -16px;
    padding-right: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .news-card {
    min-width: min(82vw, 340px);
    min-height: 360px;
    scroll-snap-align: start;
  }

  .complex-grid {
    grid-template-columns: 1fr;
  }

  .complex-grid--archive {
    grid-template-columns: 1fr;
  }

  .complex-grid--archive .complex-card__media {
    height: min(72vw, 390px);
  }

  .complex-card:nth-child(n + 4) {
    display: none;
  }

  .complex-card__media {
    height: min(65vw, 340px);
  }

  .split-layout,
  .mortgage__grid,
  .why__grid {
    grid-template-columns: 1fr;
  }

  .split-layout,
  .why__grid {
    gap: 18px;
  }

  .offers-panel {
    background: var(--white);
  }

  .apartment-filter {
    grid-template-columns: 1fr;
  }

  .apartment-filter .button {
    grid-column: auto;
  }

  .mortgage__grid {
    gap: 46px;
  }

  .mortgage-calculator {
    padding: 24px;
  }

  .why__list {
    margin-top: 28px;
  }

  .places-grid {
    grid-template-columns: 1fr;
    grid-template-rows: 330px 270px;
  }

  .place-card--wide {
    grid-row: auto;
  }

  .developer-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .developer-row a {
    min-height: 90px;
    border-bottom: 1px solid var(--line);
  }

  .developer-row a:nth-child(even) {
    border-right: 0;
  }

  .developer-row a:last-child {
    grid-column: 1 / -1;
  }

  .article-grid {
    grid-template-columns: 1fr;
  }

  .article-card > a {
    height: 230px;
  }

  .article-card--accent {
    min-height: 310px;
  }

  .final-cta {
    padding-top: 34px;
  }

  .final-cta__panel {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 34px 22px;
    border-radius: 22px;
  }

  .final-cta__mark {
    right: -40px;
    bottom: -60px;
    font-size: 260px;
  }

  .lead-form {
    padding: 22px;
  }

  .site-footer__top,
  .site-footer__bottom {
    display: grid;
  }

  .site-footer__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 38px 24px;
  }

  .archive-cta {
    padding-bottom: 74px;
  }

  .archive-cta__panel {
    display: grid;
    gap: 30px;
    padding: 34px 24px;
    border-radius: 22px;
  }

  .archive-cta .button {
    width: 100%;
  }
}

@media (width <= 430px) {
  .archive-hero,
  .archive-hero__content {
    min-height: 570px;
  }

  .archive-hero h1 {
    font-size: 50px;
  }

  .archive-hero__content {
    padding-block: 44px;
  }

  .archive-hero__count {
    font-size: 12px;
  }

  .hero {
    min-height: 805px;
  }

  .hero__content {
    min-height: 805px;
    padding-top: 245px;
  }

  .hero h1 {
    font-size: 40px;
  }

  .quick-search .form-field:nth-child(3),
  .quick-search .form-field:nth-child(4) {
    display: none;
  }

  .quick-search .form-field {
    border-bottom: 0;
  }

  .section-heading {
    display: block;
  }

  .section-heading .arrow-link {
    margin-top: 18px;
  }

  .complex-card__facts {
    gap: 10px;
  }

  .why__list article {
    grid-template-columns: 36px 1fr;
  }

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

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }

  .js [data-reveal] {
    opacity: 1;
    transform: none;
  }
}

/* End of the first legacy refinement layer. */

/* Final homepage presentation pass. */
.js .home-presentation [data-reveal] {
  transition-delay: var(--reveal-delay, 0ms);
}

.js .home-presentation [data-reveal-direction='left'] {
  transform: translate3d(-58px, 30px, 0) scale(0.96);
}

.js .home-presentation [data-reveal-direction='right'] {
  transform: translate3d(58px, 30px, 0) scale(0.96);
}

.js .home-presentation [data-reveal-direction][data-visible='true'] {
  transform: none;
}

.complex-grid--featured {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 42px);
}

.complex-card--featured {
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
  border-radius: 30px;
  box-shadow: 0 22px 60px rgb(38 49 42 / 9%);
}

.complex-card--featured .complex-card__media {
  height: clamp(330px, 29vw, 470px);
}

.complex-card__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 58%, rgb(24 40 33 / 24%));
  opacity: 0.45;
  transition: opacity 260ms var(--ease-out);
}

.complex-card--featured .complex-card__body {
  flex: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: 1fr auto;
  gap: 32px 28px;
  padding: clamp(24px, 3vw, 38px);
}

.complex-card--featured .complex-card__copy {
  min-width: 0;
}

.complex-card--featured .complex-card__copy > p:first-child {
  font-size: 13px;
}

.complex-card--featured h3 {
  margin: 9px 0 12px;
  font-size: clamp(27px, 2.3vw, 38px);
  line-height: 1.02;
}

.complex-card__summary {
  max-width: 600px;
  margin: 0;
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.55;
}

.complex-card__meta {
  min-width: 185px;
  text-align: right;
}

.complex-card--featured .complex-card__facts {
  position: static;
  justify-content: flex-end;
  font-size: 12px;
}

.complex-card__price {
  display: block;
  margin-top: 16px;
  font-size: 17px;
}

.complex-card__cta {
  width: 100%;
  grid-column: 1 / -1;
  justify-content: space-between;
  padding-inline: 24px;
}

.article-grid--visual {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.article-grid--visual .article-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: var(--white);
  box-shadow: 0 20px 50px rgb(39 49 43 / 7%);
}

.article-grid--visual .article-card__media {
  display: block;
  height: clamp(240px, 21vw, 340px);
  overflow: hidden;
}

.article-grid--visual .article-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 600ms var(--ease-out);
}

.article-grid--visual .article-card > div {
  position: relative;
  min-height: 240px;
  padding: 26px 28px 30px;
}

.article-grid--visual .article-card h3 {
  margin: 12px 0;
  font-size: clamp(22px, 1.8vw, 30px);
  line-height: 1.08;
}

.article-grid--visual .article-card p {
  padding-right: 42px;
  font-size: 14px;
  line-height: 1.55;
}

.article-grid--visual .card-arrow {
  position: absolute;
  right: 26px;
  bottom: 26px;
}

.partner-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.partner-card {
  min-height: 190px;
}

.partner-card img {
  width: min(100%, 360px);
  max-height: 115px;
  object-fit: contain;
  filter: grayscale(1) contrast(0.78);
  opacity: 0.78;
}

.consent-field {
  display: grid !important;
  grid-template-columns: 20px 1fr;
  gap: 10px;
  align-items: start;
  margin: 8px 0 15px;
  color: rgb(255 255 255 / 84%);
  font-size: 10px;
  line-height: 1.45;
}

.consent-field input {
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: var(--cream);
}

.consent-field a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.site-footer {
  padding: clamp(76px, 8vw, 128px) 0 28px;
  background: #e9e3d9;
}

.site-footer__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.56fr);
  gap: 44px;
  align-items: end;
  padding-bottom: clamp(48px, 6vw, 84px);
  border-bottom: 1px solid rgb(36 54 45 / 18%);
}

.site-footer__intro > div > p {
  max-width: 520px;
  margin: 24px 0 0;
  color: var(--ink-soft);
  font-size: clamp(17px, 1.5vw, 22px);
  line-height: 1.5;
}

.site-footer .brand--footer {
  width: min(360px, 76vw);
}

.footer-callout {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 5px 20px;
  align-items: center;
  padding: 30px 32px;
  border: 0;
  border-radius: 22px;
  background: var(--terra);
  color: var(--white);
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 20px 45px rgb(150 63 41 / 23%);
  transition:
    transform 240ms var(--ease-out),
    box-shadow 240ms var(--ease-out);
}

.footer-callout span {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.9;
}

.footer-callout strong {
  grid-column: 1;
  font-size: clamp(23px, 2vw, 31px);
}

.footer-callout i {
  grid-row: 1 / 3;
  grid-column: 2;
  font-size: 28px;
  font-style: normal;
}

.site-footer__grid--expanded {
  grid-template-columns: 0.85fr 1.35fr 1fr 1fr;
  gap: clamp(30px, 5vw, 76px);
  padding: clamp(52px, 6vw, 82px) 0;
}

.site-footer__grid--expanded > div,
.site-footer__grid--expanded > nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 13px;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.45;
}

.site-footer__grid--expanded p {
  margin: 0;
}

.footer-label {
  margin-bottom: 12px;
  font-size: 12px;
}

.footer-label--spaced {
  margin-top: 22px;
}

.footer-hours {
  color: var(--ink);
  font-size: 24px;
  line-height: 1.25;
}

.footer-contact-link {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  color: var(--ink);
  font-weight: 700;
}

.footer-contact-link svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentcolor;
  stroke-width: 1.7;
}

.socials--large a {
  width: 54px;
  height: 54px;
  border-color: rgb(36 54 45 / 25%);
}

.socials--large svg {
  width: 25px;
  height: 25px;
  fill: currentcolor;
}

.social-icon-max {
  width: 27px;
  height: 27px;
  background: currentcolor;
  mask: url('../images/max-dark.svg') center / contain no-repeat;
}

.site-footer__legal {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 32px 60px;
  padding: 28px 0;
  border-top: 1px solid rgb(36 54 45 / 18%);
  color: var(--ink-soft);
  font-size: 11px;
}

.site-footer__legal div,
.site-footer__legal nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
}

.site-footer__legal nav {
  justify-content: flex-end;
}

@media (hover: hover) and (pointer: fine) {
  .complex-card--featured:hover .complex-card__veil {
    opacity: 0.8;
  }

  .article-grid--visual .article-card:hover {
    transform: translateY(-9px);
    box-shadow: 0 30px 66px rgb(39 49 43 / 14%);
  }

  .article-grid--visual .article-card:hover img {
    transform: scale(1.075);
  }

  .article-grid--visual .article-card:hover .card-arrow {
    transform: translateX(6px) rotate(-5deg);
  }

  .partner-card:hover img {
    filter: none;
    opacity: 1;
  }

  .footer-callout:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 58px rgb(150 63 41 / 29%);
  }
}

@media (width <= 980px) {
  .complex-card--featured .complex-card__body {
    grid-template-columns: 1fr;
  }

  .complex-card__meta {
    text-align: left;
  }

  .complex-card--featured .complex-card__facts {
    justify-content: flex-start;
  }

  .article-grid--visual,
  .partner-grid {
    grid-template-columns: 1fr;
  }

  .site-footer__intro,
  .site-footer__grid--expanded {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .site-footer__legal nav {
    justify-content: flex-start;
  }
}

@media (width <= 700px) {
  .complex-grid--featured {
    grid-template-columns: 1fr;
  }

  .complex-card--featured .complex-card__media {
    height: 300px;
  }

  .complex-card--featured .complex-card__body {
    padding: 22px;
  }

  .complex-card__summary {
    font-size: 14px;
  }

  .article-grid--visual .article-card__media {
    height: 250px;
  }

  .partner-card {
    min-height: 150px;
  }

  .site-footer__intro,
  .site-footer__grid--expanded {
    grid-template-columns: 1fr;
  }

  .site-footer__intro {
    gap: 34px;
  }

  .footer-callout {
    padding: 24px;
  }

  .site-footer__grid--expanded {
    gap: 42px;
  }

  .site-footer__bottom {
    flex-direction: column;
  }
}

/* Homepage promo cards — brighter imagery and unified animated artwork. */
.showcase-side {
  grid-template-rows: minmax(260px, 0.92fr) minmax(330px, 1.08fr);
}

.showcase-promo {
  min-height: 330px;
  padding: 24px 22px 25px;
  isolation: isolate;
}

.showcase-promo::after {
  background: linear-gradient(
    180deg,
    rgb(12 18 15 / 3%) 0%,
    rgb(15 21 18 / 9%) 38%,
    rgb(13 18 16 / 58%) 72%,
    rgb(11 15 13 / 88%) 100%
  );
}

.showcase-promo__photo {
  filter: brightness(1.08) saturate(1.03);
  transform: scale(1.01);
  transition:
    filter 650ms var(--ease-out),
    transform 750ms var(--ease-out);
}

.showcase-promo strong {
  max-width: 230px;
  font-size: clamp(20px, 1.45vw, 24px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.showcase-promo small {
  margin-top: 8px;
  font-size: clamp(14px, 0.95vw, 16px);
  line-height: 1.25;
  opacity: 0.88;
}

.showcase-promo--terra,
.showcase-promo--dark,
.showcase-promo--light {
  --promo-overlay: transparent;
}

.mini-tag {
  top: 28px;
  width: 134px;
  height: 134px;
  border-radius: 34px;
  box-shadow: 0 20px 46px rgb(56 36 22 / 22%);
  transform-origin: 50% 50%;
  animation: mini-tag-spin 9s linear infinite;
}

.mini-tag b {
  top: 29px;
  left: 29px;
  font-size: 68px;
}

.mini-tag i {
  right: 21px;
  bottom: 21px;
  font-size: 30px;
}

.mini-paint {
  position: absolute;
  z-index: 2;
  top: 10px;
  left: 50%;
  width: 184px;
  height: 174px;
  overflow: visible;
  filter: drop-shadow(0 16px 23px rgb(13 14 12 / 24%));
  transform: translateX(-50%);
}

.mini-paint__can {
  fill: #292b29;
}

.mini-paint__surface {
  fill: #c29a57;
}

.mini-paint__rim {
  fill: none;
  stroke: #f3eadc;
  stroke-width: 3;
  opacity: 0.72;
}

.mini-paint__brush {
  transform-box: fill-box;
  transform-origin: 80% 20%;
  animation: mini-brush-dip 3.2s var(--ease-in-out) infinite;
}

.mini-paint__handle {
  fill: #c29a57;
  stroke: #f2e8d8;
  stroke-width: 2;
}

.mini-paint__ferrule {
  fill: #ece3d4;
}

.mini-paint__bristles {
  fill: #343633;
}

.mini-paint__paint {
  fill: #c29a57;
}

.mini-zero {
  top: 14px;
  width: 176px;
  height: 156px;
}

.mini-zero::before,
.mini-zero::after {
  inset: 28px 8px;
  border-color: rgb(194 154 87 / 36%);
}

.mini-zero__value {
  width: 92px;
  height: 92px;
  display: grid;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 48%);
  border-radius: 50%;
  background: rgb(194 154 87 / 92%);
  color: #fffaf1;
  font-size: 42px;
  box-shadow: 0 18px 32px rgb(37 30 22 / 20%);
  animation: mini-zero-float 5.6s var(--ease-in-out) infinite;
}

.mini-zero i,
.mini-zero b,
.mini-zero em {
  width: 39px;
  height: 39px;
  margin: -19px 0 0 -19px;
  background: #a66d3d;
  font-size: 20px;
  box-shadow: 0 10px 18px rgb(42 31 22 / 18%);
}

.mini-zero i {
  animation: mini-money-one 6.8s var(--ease-in-out) infinite;
}

.mini-zero b {
  animation: mini-money-two 7.6s var(--ease-in-out) -2.2s infinite;
}

.mini-zero em {
  animation: mini-money-three 6.2s var(--ease-in-out) -1.1s infinite;
}

@keyframes mini-tag-spin {
  0% {
    transform: translateX(-50%) rotate(0deg) scale(1);
  }

  50% {
    transform: translateX(-50%) rotate(180deg) scale(1.03);
  }

  100% {
    transform: translateX(-50%) rotate(360deg) scale(1);
  }
}

@keyframes mini-brush-dip {
  0%,
  18%,
  100% {
    transform: translate3d(0, -15px, 0) rotate(-5deg);
  }

  48%,
  62% {
    transform: translate3d(-3px, 17px, 0) rotate(6deg);
  }

  78% {
    transform: translate3d(0, -15px, 0) rotate(-3deg);
  }
}

@keyframes mini-money-one {
  0%,
  100% {
    transform: translate3d(-67px, -31px, 0) rotate(-14deg);
  }

  50% {
    transform: translate3d(-61px, -42px, 0) rotate(18deg);
  }
}

@keyframes mini-money-two {
  0%,
  100% {
    transform: translate3d(65px, -25px, 0) rotate(12deg);
  }

  50% {
    transform: translate3d(59px, -38px, 0) rotate(-20deg);
  }
}

@keyframes mini-money-three {
  0%,
  100% {
    transform: translate3d(54px, 47px, 0) rotate(-10deg);
  }

  50% {
    transform: translate3d(48px, 36px, 0) rotate(22deg);
  }
}

@media (hover: hover) and (pointer: fine) {
  .showcase-promo:hover {
    box-shadow: 0 25px 48px rgb(39 49 43 / 20%);
    transform: translateY(-6px);
  }

  .showcase-promo:hover::after {
    opacity: 0.86;
  }

  .showcase-promo:hover .showcase-promo__photo {
    filter: brightness(1.16) saturate(1.06);
    transform: scale(1.035);
  }

  .showcase-promo:hover .mini-tag {
    animation-duration: 7s;
  }

  .showcase-promo:hover .mini-paint__brush {
    animation-duration: 2.7s;
  }

  .showcase-promo:hover .mini-zero i,
  .showcase-promo:hover .mini-zero b,
  .showcase-promo:hover .mini-zero em {
    animation-duration: 5.2s;
  }
}

@media (width <= 760px) {
  .showcase-promo {
    min-height: 350px;
    padding: 22px 20px 24px;
  }

  .showcase-promo strong {
    font-size: 22px;
  }

  .showcase-promo small {
    font-size: 15px;
  }

  .mini-tag {
    width: 126px;
    height: 126px;
  }

  .mini-paint {
    width: 176px;
    height: 166px;
  }

  .mini-zero {
    width: 168px;
    height: 150px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mini-tag,
  .mini-paint__brush,
  .mini-zero__value,
  .mini-zero i,
  .mini-zero b,
  .mini-zero em {
    animation: none !important;
  }

  .mini-tag {
    transform: translateX(-50%) rotate(18deg);
  }

  .mini-paint__brush {
    transform: translate3d(0, -8px, 0) rotate(-4deg);
  }

  .mini-zero i {
    transform: translate3d(-65px, -33px, 0);
  }

  .mini-zero b {
    transform: translate3d(64px, -27px, 0);
  }

  .mini-zero em {
    transform: translate3d(52px, 44px, 0);
  }
}

/* Homepage polish: full-bleed hero, clean project cards, readable unit titles. */
.home-presentation .hero--real .hero__media {
  inset: 0;
  height: auto;
}

.home-presentation .hero--real .hero__media::after {
  display: none;
}

.home-presentation .hero--real .hero__wash {
  inset: 0;
  height: auto;
  background: linear-gradient(
    90deg,
    rgb(251 250 246 / 98%) 0%,
    rgb(251 250 246 / 90%) 24%,
    rgb(251 250 246 / 48%) 43%,
    rgb(251 250 246 / 8%) 64%,
    transparent 78%
  );
}

.home-presentation .news-card--warm .news-card__content,
.home-presentation .news-card--paper .news-card__content {
  background: none;
  color: var(--white);
  text-shadow: 0 1px 18px rgb(13 30 25 / 45%);
}

.home-presentation .news-card--warm::after,
.home-presentation .news-card--paper::after {
  background: linear-gradient(0deg, rgb(20 35 28 / 78%), transparent 62%);
}

.unit-card h2 span,
.unit-card h2 small {
  display: block;
}

.unit-card h2 span {
  white-space: nowrap;
  font-size: clamp(1.55rem, 2.25vw, 2.35rem);
  letter-spacing: 0.012em;
}

.unit-card h2 small {
  margin-top: 0.18em;
  color: var(--ink);
  font-size: clamp(2.2rem, 4vw, 4rem);
  font-weight: 500;
  line-height: 0.95;
}

@media (width <= 760px) {
  .home-presentation .hero--real,
  .home-presentation .hero--real .hero__content {
    min-height: 650px;
  }

  .home-presentation .hero--real .hero__content {
    padding-top: 205px;
  }

  .home-presentation .hero--real .hero__media,
  .home-presentation .hero--real .hero__wash {
    inset: 0;
    height: 100%;
  }

  .home-presentation .hero--real .hero__wash {
    background: linear-gradient(
      180deg,
      rgb(251 250 246 / 12%) 0%,
      rgb(251 250 246 / 68%) 40%,
      rgb(251 250 246 / 98%) 72%
    );
  }

  .unit-card h2 span {
    font-size: clamp(1.5rem, 8vw, 2rem);
    letter-spacing: 0.012em;
  }
}

.editorial-page .editorial-hero {
  padding: clamp(9rem, 14vw, 13rem) 0 clamp(3rem, 6vw, 6rem);
  background: var(--cream);
}

.editorial-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: center;
}

.editorial-hero__grid > *,
.editorial-content > * {
  min-width: 0;
}

.editorial-page .editorial-hero h1 {
  margin: 0.3em 0;
  font-size: clamp(3rem, 6vw, 6.5rem);
  line-height: 0.94;
  letter-spacing: -0.055em;
  overflow-wrap: anywhere;
}

.editorial-hero p {
  max-width: 680px;
  color: var(--ink-soft);
  font-size: 1.15rem;
}

.editorial-hero time {
  display: block;
  margin-top: 1.5rem;
  color: var(--terra);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.editorial-page .editorial-hero__media {
  overflow: hidden;
  border-radius: var(--radius-lg);
}

.editorial-page .editorial-hero__media img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.editorial-page .editorial-content {
  display: grid;
  grid-template-columns: minmax(0, 760px) minmax(280px, 360px);
  gap: clamp(2.5rem, 7vw, 8rem);
  padding-top: clamp(4rem, 7vw, 7rem);
  padding-bottom: clamp(5rem, 9vw, 9rem);
  font-size: 1.12rem;
}

.editorial-content > :not(aside, .editorial-source) {
  grid-column: 1;
}

.editorial-page .editorial-content h2 {
  margin: 2.3em 0 0.65em;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1;
}

.editorial-page .editorial-content p {
  line-height: 1.75;
}

.editorial-page .editorial-content aside {
  grid-column: 2;
  grid-row: 1 / span 4;
  align-self: start;
  padding: 2rem;
  border-radius: var(--radius-md);
  background: var(--green);
  color: var(--white);
}

.editorial-content aside strong {
  font-size: 1.45rem;
}

.editorial-content aside p {
  color: rgb(255 255 255 / 72%);
  font-size: 0.95rem;
}

.editorial-page .editorial-source {
  grid-column: 1;
  margin-top: 3rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--line);
  color: var(--ink-soft);
  font-size: 0.85rem;
}

.editorial-source a {
  color: var(--terra);
  text-decoration: underline;
}

@media (width <= 900px) {
  .editorial-hero__grid,
  .editorial-content {
    grid-template-columns: 1fr;
  }

  .editorial-hero__media {
    order: -1;
  }

  .editorial-content aside,
  .editorial-source {
    grid-column: 1;
    grid-row: auto;
  }
}

/* Editorial articles: clear hierarchy, full-width media and readable body flow. */
.editorial-page article .editorial-hero {
  padding: clamp(120px, 11vw, 160px) 0 clamp(44px, 5vw, 70px);
}

.editorial-page article .editorial-hero h1 {
  max-width: 1200px;
  margin: 18px 0 24px;
  font-size: clamp(44px, 5.3vw, 78px);
  line-height: 0.98;
}

.editorial-hero__meta {
  display: flex;
  align-items: baseline;
  gap: 24px;
}

.editorial-hero__meta p {
  max-width: 760px;
  margin: 0;
  font-size: 17px;
}

.editorial-page article .editorial-hero__media {
  margin-top: 38px;
  border-radius: 24px;
}

.editorial-page article .editorial-hero__media img {
  aspect-ratio: 16 / 7;
  height: clamp(360px, 42vw, 600px);
}

.editorial-page article .editorial-content {
  display: block;
  padding-top: 54px;
  padding-bottom: 86px;
  font-size: 18px;
}

.editorial-body {
  max-width: 1180px;
}

.editorial-body::after {
  content: '';
  display: table;
  clear: both;
}

.editorial-page article .editorial-content h2 {
  margin: 1.7em 0 0.55em;
}

.editorial-page article .editorial-content p {
  margin: 0 0 1.2em;
  line-height: 1.7;
}

.editorial-page article .editorial-content aside {
  float: right;
  width: min(360px, 38%);
  margin: 0 0 28px 42px;
}

.editorial-page article .editorial-source {
  clear: both;
  max-width: 1180px;
  margin-top: 38px;
}

.news-archive__hero {
  padding: clamp(130px, 12vw, 180px) 0 64px;
  background: var(--cream);
}

.news-archive__hero h1 {
  margin: 14px 0 18px;
  font-size: clamp(54px, 7vw, 96px);
}

.news-archive__hero > .shell > p:last-child {
  max-width: 720px;
  color: var(--ink-soft);
  font-size: 18px;
}

.news-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.news-archive-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--white);
}

.news-archive-card__media {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--sand);
}

.news-archive-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 500ms var(--ease-out);
}

.news-archive-card__body {
  padding: 26px;
}

.news-archive-card time {
  color: var(--terra);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.news-archive-card h2 {
  margin: 14px 0 12px;
  font-size: 26px;
  line-height: 1.08;
}

.news-archive-card p {
  min-height: 3em;
  color: var(--ink-soft);
  line-height: 1.55;
}

@media (hover: hover) and (pointer: fine) {
  .news-archive-card:hover img {
    transform: scale(1.04);
  }
}

@media (width <= 900px) {
  .news-archive__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (width <= 700px) {
  .editorial-page article .editorial-hero {
    padding: 104px 0 42px;
  }

  .editorial-page article .editorial-hero h1 {
    font-size: clamp(38px, 11vw, 52px);
  }

  .editorial-hero__meta {
    display: block;
  }

  .editorial-hero__meta p {
    margin-top: 16px;
    font-size: 15px;
  }

  .editorial-page article .editorial-hero__media {
    margin-top: 28px;
    border-radius: 18px;
  }

  .editorial-page article .editorial-hero__media img {
    aspect-ratio: 4 / 3;
    height: min(74vw, 360px);
  }

  .editorial-page article .editorial-content {
    padding-top: 38px;
    font-size: 16px;
  }

  .editorial-page article .editorial-content aside {
    float: none;
    width: auto;
    margin: 0 0 28px;
  }

  .news-archive__hero {
    padding: 108px 0 48px;
  }

  .news-archive__grid {
    grid-template-columns: 1fr;
  }
}

/* stylelint-disable at-rule-empty-line-before */

/* Expressive motion system. */
.js [data-reveal] {
  opacity: 0;
  transform: translate3d(0, 38px, 0) scale(0.985);
  transition:
    opacity 680ms var(--ease-out),
    transform 680ms var(--ease-out);
  will-change: transform, opacity;
}

.js .section:nth-of-type(3n) [data-reveal] {
  transform: translate3d(-34px, 20px, 0) scale(0.99);
}

.js .section:nth-of-type(3n + 1) [data-reveal] {
  transform: translate3d(34px, 20px, 0) scale(0.99);
}

.js [data-visible='true'] {
  opacity: 1;
  transform: none;
  will-change: auto;
}

.complex-grid > :nth-child(2),
.news-grid > :nth-child(2),
.places-grid > :nth-child(2) {
  transition-delay: 70ms;
}

.complex-grid > :nth-child(3),
.news-grid > :nth-child(3),
.places-grid > :nth-child(3) {
  transition-delay: 140ms;
}

.news-grid > :nth-child(4),
.places-grid > :nth-child(4) {
  transition-delay: 210ms;
}

.hero__copy .eyebrow,
.hero__copy h1 span,
.hero__copy > p:last-child,
.hero .quick-search,
.hero .quick-tags a {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  transition:
    opacity 720ms var(--ease-out),
    transform 720ms var(--ease-out);
}

.hero__copy h1 span {
  display: block;
  overflow: visible;
}

.hero .quick-search {
  opacity: 1;
}

.motion-ready .hero__copy .eyebrow,
.motion-ready .hero__copy h1 span,
.motion-ready .hero__copy > p:last-child,
.motion-ready .hero .quick-search,
.motion-ready .hero .quick-tags a {
  opacity: 1;
  transform: none;
}

.motion-ready .hero__copy h1 span:first-child {
  transition-delay: 90ms;
}

.motion-ready .hero__copy h1 span:nth-child(2) {
  transition-delay: 190ms;
}

.motion-ready .hero__copy > p:last-child {
  transition-delay: 300ms;
}

.motion-ready .hero .quick-search {
  transition-delay: 410ms;
}

.motion-ready .hero .quick-tags a:nth-child(1) {
  transition-delay: 520ms;
}

.motion-ready .hero .quick-tags a:nth-child(2) {
  transition-delay: 575ms;
}

.motion-ready .hero .quick-tags a:nth-child(3) {
  transition-delay: 630ms;
}

.motion-ready .hero .quick-tags a:nth-child(4) {
  transition-delay: 685ms;
}

.hero__media img {
  animation: hero-breathe 8s var(--ease-in-out) infinite alternate;
}

@keyframes hero-breathe {
  from {
    transform: scale(1.01);
  }

  to {
    transform: scale(1.045);
  }
}

[data-offer='mortgage'] .offer-icon b {
  animation: offer-orbit 6s var(--ease-in-out) infinite;
}

[data-offer='finish'] .offer-icon b {
  animation: offer-spark 4.8s var(--ease-in-out) infinite;
}

[data-offer='installment'] .offer-icon b {
  animation: offer-slide 4s var(--ease-in-out) infinite;
}

@keyframes offer-orbit {
  0%,
  72%,
  100% {
    transform: rotate(0);
  }

  84% {
    transform: rotate(18deg) scale(1.08);
  }
}
@keyframes offer-spark {
  0%,
  70%,
  100% {
    transform: rotate(0) scale(1);
  }

  82% {
    transform: rotate(45deg) scale(1.14);
  }
}
@keyframes offer-slide {
  0%,
  68%,
  100% {
    transform: translateX(0);
  }

  82% {
    transform: translateX(6px);
  }
}

.site-header__inner,
.brand__logo {
  transition: transform 240ms var(--ease-out);
}

.brand__logo {
  transform-origin: left center;
}

.site-header.is-scrolled .brand__logo {
  transform: scale(0.88);
}

@media (hover: hover) and (pointer: fine) {
  .complex-card:hover,
  .news-card:hover,
  .place-card:hover {
    transform: translate3d(0, -9px, 0);
    box-shadow: 0 28px 65px rgb(39 49 43 / 16%);
  }

  .complex-card:hover img,
  .news-card:hover img,
  .place-card:hover img {
    transform: scale(1.065);
  }

  .complex-card:hover .pill,
  .news-card:hover .pill {
    transform: translateY(-3px) scale(1.03);
  }

  .complex-card:hover .card-arrow,
  .news-card:hover .news-card__content > a {
    transform: translateX(5px) rotate(-5deg);
  }

  .place-card:hover span {
    transform: translateY(-7px);
  }
}

.complex-card,
.news-card,
.place-card,
.complex-card .pill,
.news-card .pill,
.place-card span,
.card-arrow,
.news-card__content > a {
  transition:
    transform 260ms var(--ease-out),
    box-shadow 260ms var(--ease-out),
    opacity 260ms var(--ease-out);
}

@media (prefers-reduced-motion: reduce) {
  .hero__media img,
  [data-offer] .offer-icon b {
    animation: none !important;
  }

  .hero__copy .eyebrow,
  .hero__copy h1 span,
  .hero__copy > p:last-child,
  .hero .quick-search,
  .hero .quick-tags a,
  .js [data-reveal] {
    opacity: 1;
    transform: none;
    transition: opacity 180ms ease;
  }
}
/* stylelint-enable at-rule-empty-line-before */

/* Compact result CTA and scalable partner logo grid. */
.apartment-filter .button > span:last-child {
  margin-left: auto;
}

.partner-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: 16px;
  max-width: none;
}

.partner-card {
  min-height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--white);
  transition:
    transform 240ms var(--ease-out),
    box-shadow 240ms var(--ease-out),
    border-color 240ms ease;
}

.partner-card img {
  display: block;
  width: min(100%, 390px);
  height: auto;
  transition:
    transform 240ms var(--ease-out),
    opacity 240ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .partner-card:hover {
    border-color: rgb(150 63 41 / 35%);
    box-shadow: 0 20px 48px rgb(39 49 43 / 10%);
    transform: translateY(-5px);
  }

  .partner-card:hover img {
    transform: scale(1.035);
  }
}

@media (width <= 700px) {
  .partner-grid {
    grid-template-columns: 1fr;
    max-width: none;
  }

  .partner-card {
    min-height: 128px;
    padding: 24px;
  }
}

/* Additional component refinements. */

/* Final responsive art direction. */

.brand {
  gap: 12px;
}

.brand__name {
  display: grid;
  color: #211d19;
  line-height: 0.92;
  text-transform: uppercase;
}

.brand__name strong {
  font: 400 clamp(1.4rem, 1.7vw, 2rem)/0.9 Georgia, serif;
  letter-spacing: 0.08em;
}

.brand__name small {
  margin-top: 5px;
  color: #8a653b;
  font: 600 0.57rem/1 Arial, sans-serif;
  letter-spacing: 0.28em;
}

.brand__mark {
  width: 62px;
  height: 38px;
  flex: 0 0 auto;
  background: url('../images/novostroyki19-logo.png') 50% 3% / 150px auto no-repeat;
}

.search-concept__frame {
  min-height: 100svh;
}

.complex-benefits__rail {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.complex-benefit {
  min-height: 0;
  aspect-ratio: 3 / 4;
  border-radius: 28px;
}

.complex-benefit__copy {
  padding: clamp(24px, 2.4vw, 38px);
}

.complex-benefit h3 {
  font-size: clamp(1.15rem, 1.5vw, 1.65rem);
}

.complex-visuals,
.complex-map {
  padding-top: clamp(70px, 8vw, 124px);
}

.complex-visuals__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 34px;
}

.complex-visuals figure {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  margin: 0;
  border-radius: 28px;
  background: var(--graphite);
}

.complex-visuals img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms var(--ease-out);
}

.complex-visuals figcaption {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  padding: 16px 18px;
  border: 1px solid rgb(255 255 255 / 25%);
  border-radius: 15px;
  background: rgb(7 18 27 / 65%);
  color: #fff;
  font-weight: 600;
  backdrop-filter: blur(12px);
}

.complex-gallery--editorial .complex-gallery__item:only-child {
  grid-column: 1 / -1;
  grid-row: 1 / 3;
}

.complex-map {
  display: grid;
  grid-template-columns: minmax(280px, 0.52fr) minmax(0, 1.48fr);
  gap: clamp(38px, 6vw, 90px);
  align-items: center;
}

.complex-map__copy p:not(.eyebrow) {
  max-width: 460px;
  color: var(--ink-soft);
  line-height: 1.65;
}

.complex-map__copy h2 {
  margin: 12px 0 24px;
  font: 400 clamp(3rem, 5vw, 5.7rem)/0.9 Georgia, serif;
  letter-spacing: -0.05em;
}

.complex-map__copy h2 em {
  color: var(--champagne);
  font-weight: 400;
}

.complex-map__frame {
  overflow: hidden;
  min-height: 620px;
  border-radius: 28px;
  background: #ddd;
}

.complex-map iframe {
  width: 100%;
  height: 620px;
  border: 0;
}

@media (hover: hover) and (pointer: fine) {
  .complex-visuals figure:hover img {
    transform: scale(1.025);
  }
}

@media (width <= 900px) {
  .complex-map {
    grid-template-columns: 1fr;
  }

  .complex-map__frame,
  .complex-map iframe {
    min-height: 480px;
    height: 480px;
  }
}

@media (width <= 700px) {
  .brand {
    gap: 8px;
  }

  .brand__name strong {
    font-size: 1.15rem;
  }

  .brand__name small {
    font-size: 0.48rem;
    letter-spacing: 0.2em;
  }

  .brand__mark {
    width: 44px;
    height: 29px;
    background-size: 112px auto;
  }

  .search-concept__frame {
    min-height: calc(100svh - 10px);
  }

  .complex-benefits__rail {
    gap: 14px;
  }

  .complex-benefit {
    flex-basis: 76%;
    aspect-ratio: 3 / 4;
  }

  .complex-visuals,
  .complex-map {
    padding-top: 52px;
  }

  .complex-visuals .section-heading {
    display: block;
  }

  .complex-visuals .section-heading h2 {
    margin-bottom: 20px;
    font-size: clamp(2.75rem, 13vw, 4.1rem);
    line-height: 0.94;
  }

  .complex-visuals .section-heading > p {
    max-width: 34rem;
    margin: 0;
  }

  .complex-visuals__grid {
    display: flex;
    overflow-x: auto;
    margin-inline: -14px;
    padding: 0 14px 12px;
    scroll-snap-type: x mandatory;
  }

  .complex-visuals figure {
    flex: 0 0 78%;
    scroll-snap-align: start;
  }

  .complex-map__frame,
  .complex-map iframe {
    min-height: 420px;
    height: 420px;
  }
}

/* End of responsive art direction. */

/* Denser homepage rhythm: preserve hierarchy without oversized empty bands. */
.home-presentation .section {
  padding-block: clamp(62px, 5.4vw, 78px);
}

.home-presentation .section--compact {
  padding-block: clamp(48px, 4.2vw, 62px);
}

.home-presentation .section-heading {
  margin-bottom: clamp(30px, 3vw, 38px);
}

@media (width <= 760px) {
  .home-presentation .section,
  .home-presentation .section--compact {
    padding-block: 54px;
  }

  .home-presentation .section-heading {
    margin-bottom: 28px;
  }
}

/* Keep every homepage section on the shared shell guide during reveal. */
.js .home-presentation .section [data-reveal] {
  transform: translate3d(0, 56px, 0) scale(0.965);
}

.js .home-presentation .section [data-reveal][data-visible='true'] {
  transform: none;
}

/* Animated purchase scenarios: large, independent decorative scenes. */
.home-presentation .showcase-section {
  padding-top: clamp(16px, 2vw, 28px);
}

.showcase {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 20px;
}

.showcase-slider {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  border-radius: 30px;
  background: var(--green-deep);
  box-shadow: 0 28px 70px rgb(35 51 43 / 16%);
}

.showcase-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transform: scale(1.045);
  transition:
    opacity 680ms var(--ease-out),
    transform 900ms var(--ease-out);
}

.showcase-slide.is-active {
  z-index: 1;
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}

.showcase-slide > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 8s var(--ease-in-out);
}

.showcase-slide.is-active > img {
  transform: scale(1.055);
}

.showcase-slide__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgb(20 34 28 / 4%) 24%, rgb(20 34 28 / 82%) 100%),
    linear-gradient(90deg, rgb(20 34 28 / 34%), transparent 62%);
}

.showcase-slide__content {
  position: absolute;
  z-index: 2;
  right: clamp(28px, 4vw, 56px);
  bottom: clamp(30px, 4vw, 54px);
  left: clamp(28px, 4vw, 56px);
  color: var(--white);
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  transition:
    opacity 620ms var(--ease-out) 160ms,
    transform 620ms var(--ease-out) 160ms;
}

.showcase-slide.is-active .showcase-slide__content {
  opacity: 1;
  transform: none;
}

.showcase-slide__content > span {
  display: inline-block;
  padding: 9px 13px;
  border: 1px solid rgb(255 255 255 / 58%);
  border-radius: 9px;
  font-size: 11px;
  font-weight: 700;
  backdrop-filter: blur(9px);
}

.showcase-slide__content h3 {
  max-width: 620px;
  margin: 19px 0 12px;
  font-size: clamp(38px, 4vw, 64px);
  font-weight: 600;
  line-height: 0.95;
  letter-spacing: -0.055em;
}

.showcase-slide__content p {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 24px;
}

.showcase-slide__content p strong {
  font-size: 18px;
}

.showcase-slide__content p small {
  color: rgb(255 255 255 / 72%);
}

.showcase-slide__content .button {
  width: fit-content;
  gap: 28px;
}

.showcase-controls {
  position: absolute;
  z-index: 4;
  right: 28px;
  bottom: 28px;
  display: flex;
  align-items: center;
  gap: 9px;
}

.showcase-controls button {
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 54%);
  border-radius: 50%;
  background: rgb(20 34 28 / 24%);
  color: var(--white);
  cursor: pointer;
  backdrop-filter: blur(8px);
  transition:
    background-color 200ms ease,
    transform 180ms var(--ease-out);
}

.showcase-controls button:active {
  transform: scale(0.94);
}

.showcase-controls span {
  min-width: 52px;
  color: rgb(255 255 255 / 72%);
  font-size: 11px;
  text-align: center;
}

.showcase-controls span b {
  color: var(--white);
}

.showcase-side {
  min-width: 0;
  display: grid;
  grid-template-rows: minmax(260px, 0.96fr) minmax(270px, 1.04fr);
  gap: 20px;
}

.showcase-news {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  overflow: hidden;
  border-radius: 30px;
  background: #eeeae3;
}

.showcase-news > div {
  position: relative;
  min-width: 0;
  padding: clamp(24px, 3vw, 40px);
}

.showcase-news h3 {
  margin: 13px 0 12px;
  font-size: clamp(20px, 2vw, 30px);
  line-height: 1;
  letter-spacing: -0.04em;
}

.showcase-news p {
  max-width: 360px;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.45;
}

.showcase-news .card-arrow {
  position: absolute;
  bottom: 27px;
  left: clamp(24px, 3vw, 40px);
}

.showcase-news > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 650ms var(--ease-out);
}

.showcase-promos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.showcase-promo {
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  padding: 18px;
  border-radius: 24px;
  transition:
    box-shadow 240ms var(--ease-out),
    transform 240ms var(--ease-out);
}

.showcase-promo::after {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 0;
  background: var(--promo-overlay);
  opacity: 1;
  pointer-events: none;
  transition: opacity 300ms var(--ease-out);
}

.showcase-promo__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.035);
  transition: transform 700ms var(--ease-out);
}

.showcase-promo strong,
.showcase-promo small {
  position: relative;
  z-index: 2;
  display: block;
}

.showcase-promo strong {
  font-size: 15px;
  line-height: 1.04;
  letter-spacing: -0.025em;
}

.showcase-promo small {
  margin-top: 7px;
  font-size: 10px;
  opacity: 0.9;
}

.showcase-promo--terra {
  --promo-overlay: linear-gradient(180deg, rgb(92 31 18 / 78%) 0%, rgb(65 20 11 / 94%) 100%);

  color: var(--white);
}

.showcase-promo--dark {
  --promo-overlay: linear-gradient(180deg, rgb(28 29 27 / 65%) 0%, rgb(24 25 23 / 89%) 100%);

  color: var(--white);
}

.showcase-promo--light {
  --promo-overlay: linear-gradient(180deg, rgb(244 238 226 / 62%) 0%, rgb(36 50 42 / 86%) 100%);

  color: var(--white);
}

.mini-tag {
  position: absolute;
  z-index: 2;
  top: 25px;
  left: 50%;
  width: 96px;
  height: 96px;
  border-radius: 25px;
  background: var(--white);
  color: var(--terra);
  box-shadow: 0 18px 35px rgb(70 24 13 / 20%);
  transform: translateX(-50%) rotate(45deg);
  animation: mini-tag-turn 3.8s var(--ease-in-out) infinite;
}

.mini-tag b,
.mini-tag i {
  position: absolute;
  font-style: normal;
  transform: rotate(-45deg);
}

.mini-tag b {
  top: 22px;
  left: 22px;
  font:
    700 49px/1 Georgia,
    serif;
}

.mini-tag i {
  right: 15px;
  bottom: 16px;
  font-size: 22px;
}

.mini-roller {
  position: absolute;
  z-index: 2;
  top: 16px;
  left: 50%;
  width: 132px;
  height: 110px;
  overflow: visible;
  transform: translateX(-50%);
}

.mini-wall {
  fill: #5b5852;
  stroke: rgb(255 255 255 / 16%);
  stroke-width: 1.5;
}

.mini-wall__line {
  fill: none;
  stroke: rgb(255 255 255 / 9%);
  stroke-width: 1;
}

.mini-roller__tool {
  transform-box: fill-box;
  transform-origin: center;
  animation: mini-roller-travel 3.9s var(--ease-in-out) infinite;
}

.mini-roller__head {
  fill: var(--terra);
}

.mini-roller__arm,
.mini-roller__handle {
  fill: none;
  stroke: #f4eee5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 6;
}

.mini-zero {
  position: absolute;
  z-index: 2;
  top: 19px;
  left: 50%;
  width: 128px;
  height: 116px;
  display: grid;
  place-items: center;
  color: var(--terra);
  transform: translateX(-50%);
}

.mini-zero::before,
.mini-zero::after {
  content: '';
  position: absolute;
  inset: 25px 5px;
  border: 1px solid rgb(150 63 41 / 16%);
  border-radius: 50%;
  transform: rotate(24deg);
}

.mini-zero::after {
  transform: rotate(-31deg);
}

.mini-zero__value {
  position: relative;
  z-index: 2;
  font:
    700 42px/1 Georgia,
    serif;
  animation: mini-zero-float 3.7s var(--ease-in-out) infinite;
}

.mini-zero i,
.mini-zero b,
.mini-zero em,
.mini-zero .mini-coin-four {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #c9804d;
  color: var(--white);
  font:
    14px/1 Georgia,
    serif;
  font-style: normal;
  margin: -13px 0 0 -13px;
}

.mini-zero i {
  animation: mini-coin-one 3.2s linear infinite;
}

.mini-zero b {
  animation: mini-coin-two 3.8s linear -1.4s infinite;
}

.mini-zero em {
  animation: mini-coin-three 4.4s linear -2.2s infinite;
}

.mini-zero .mini-coin-four {
  animation: mini-coin-four 3.5s linear -0.8s infinite;
}

@keyframes mini-tag-turn {
  0%,
  100% {
    transform: translate3d(-50%, 8px, 0) rotate(22deg);
  }

  50% {
    transform: translate3d(-50%, -12px, 0) rotate(68deg);
  }
}

@keyframes mini-roller-travel {
  0%,
  100% {
    transform: translate3d(-15px, 13px, 0) rotate(-7deg);
  }

  50% {
    transform: translate3d(18px, -13px, 0) rotate(8deg);
  }
}

@keyframes mini-zero-float {
  0%,
  100% {
    transform: translate3d(0, 3px, 0) scale(1);
  }

  50% {
    transform: translate3d(0, -5px, 0) scale(1.08);
  }
}

@keyframes mini-coin-one {
  from {
    transform: rotate(0deg) translateX(55px) rotate(0deg);
  }

  to {
    transform: rotate(360deg) translateX(55px) rotate(-360deg);
  }
}

@keyframes mini-coin-two {
  from {
    transform: rotate(100deg) translateX(50px) rotate(-100deg);
  }

  to {
    transform: rotate(460deg) translateX(50px) rotate(-460deg);
  }
}

@keyframes mini-coin-three {
  from {
    transform: rotate(210deg) translateX(58px) rotate(-210deg);
  }

  to {
    transform: rotate(570deg) translateX(58px) rotate(-570deg);
  }
}

@keyframes mini-coin-four {
  from {
    transform: rotate(285deg) translateX(44px) rotate(-285deg);
  }

  to {
    transform: rotate(645deg) translateX(44px) rotate(-645deg);
  }
}

@media (hover: hover) and (pointer: fine) {
  .showcase-controls button:hover {
    background: var(--terra);
    transform: translateY(-2px);
  }

  .showcase-news:hover > img {
    transform: scale(1.045);
  }

  .showcase-promo:hover {
    box-shadow: 0 22px 44px rgb(39 49 43 / 17%);
    transform: translateY(-7px);
  }

  .showcase-promo:hover::after {
    opacity: 0.91;
  }

  .showcase-promo:hover .showcase-promo__photo {
    transform: scale(1.105);
  }
}

@media (width <= 1100px) {
  .showcase {
    grid-template-columns: minmax(0, 1fr);
  }

  .showcase-side {
    grid-template-rows: 320px 280px;
  }
}

@media (width <= 760px) {
  .showcase-slider {
    min-height: 540px;
    border-radius: 22px;
  }

  .showcase-slide__content {
    right: 20px;
    bottom: 78px;
    left: 20px;
  }

  .showcase-slide__content h3 {
    font-size: 42px;
  }

  .showcase-controls {
    right: 18px;
    bottom: 18px;
  }

  .showcase-side {
    display: block;
  }

  .showcase-news {
    min-height: 470px;
    grid-template-columns: 1fr;
    grid-template-rows: auto 210px;
    margin-bottom: 16px;
    border-radius: 22px;
  }

  .showcase-news > div {
    min-height: 250px;
  }

  .showcase-promos {
    width: 100%;
    max-width: 100%;
    grid-template-columns: 82vw 82vw 82vw;
    margin-right: -16px;
    padding: 0 16px 12px 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .showcase-promo {
    min-height: 260px;
    scroll-snap-align: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .showcase-slide,
  .showcase-slide > img,
  .showcase-slide__content,
  .showcase-promo__photo {
    animation: none !important;
    transform: none;
    transition: opacity 180ms ease;
  }

  .mini-tag,
  .mini-roller,
  .mini-roller__tool,
  .mini-zero,
  .mini-zero__value,
  .mini-zero i,
  .mini-zero b,
  .mini-zero em,
  .mini-zero .mini-coin-four {
    animation: none !important;
  }

  .mini-tag {
    transform: translateX(-50%) rotate(45deg);
  }

  .mini-roller,
  .mini-zero {
    transform: translateX(-50%);
  }

  .mini-zero i {
    transform: translateX(55px);
  }

  .mini-zero b {
    transform: rotate(100deg) translateX(50px) rotate(-100deg);
  }

  .mini-zero em {
    transform: rotate(210deg) translateX(58px) rotate(-210deg);
  }

  .mini-zero .mini-coin-four {
    transform: rotate(285deg) translateX(44px) rotate(-285deg);
  }
}

.home-presentation .offer-list {
  display: grid;
  gap: 14px;
  margin-top: 28px;
  border: 0;
}

.home-presentation .offer-list > a {
  position: relative;
  min-height: 142px;
  display: grid;
  grid-template-columns: 146px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  overflow: hidden;
  padding: 16px 20px 16px 12px;
  border: 1px solid rgb(255 255 255 / 62%);
  border-radius: 22px;
  background: rgb(255 255 255 / 62%);
  box-shadow: 0 14px 36px rgb(53 48 40 / 7%);
  transition:
    transform 260ms var(--ease-out),
    box-shadow 260ms var(--ease-out),
    background-color 260ms ease;
}

.home-presentation .offer-list > a:nth-child(2) {
  background: rgb(246 238 226 / 82%);
  transition-delay: 80ms;
}

.home-presentation .offer-list > a:nth-child(3) {
  background: rgb(52 76 64 / 96%);
  color: var(--white);
  transition-delay: 160ms;
}

.offer-scene {
  position: relative;
  width: 146px;
  height: 108px;
  display: block;
  contain: layout paint;
  transform: translate3d(0, 0, 0);
  transition: transform 320ms var(--ease-out);
}

.offer-copy {
  position: relative;
  z-index: 2;
}

.home-presentation .offer-copy strong,
.home-presentation .offer-copy small {
  display: block;
}

.home-presentation .offer-copy strong {
  max-width: 300px;
  margin-bottom: 7px;
  font-size: clamp(16px, 1.35vw, 20px);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

.home-presentation .offer-copy small {
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.35;
}

.home-presentation .offer-list > a:nth-child(3) .offer-copy small {
  color: rgb(255 255 255 / 68%);
}

.home-presentation .offer-list > a > i {
  position: relative;
  z-index: 3;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgb(150 63 41 / 26%);
  border-radius: 50%;
  color: var(--terra-dark);
  font-style: normal;
  transition:
    color 220ms ease,
    background-color 220ms ease,
    transform 240ms var(--ease-out);
}

.home-presentation .offer-list > a:nth-child(3) > i {
  border-color: rgb(255 255 255 / 28%);
  color: var(--white);
}

.offer-tag {
  position: absolute;
  top: 13px;
  left: 38px;
  width: 78px;
  height: 78px;
  border-radius: 20px;
  background: var(--terra);
  color: var(--white);
  box-shadow: 0 18px 35px rgb(150 63 41 / 24%);
  transform: rotate(45deg);
  animation: offer-tag-float 6.4s var(--ease-in-out) infinite;
}

.offer-tag b,
.offer-tag em {
  position: absolute;
  display: block;
  font-style: normal;
  transform: rotate(-45deg);
}

.offer-tag b {
  top: 18px;
  left: 19px;
  font-family: Georgia, serif;
  font-size: 40px;
  line-height: 1;
}

.offer-tag em {
  right: 12px;
  bottom: 14px;
  font-size: 19px;
  animation: offer-percent-drift 4.2s var(--ease-in-out) infinite;
}

.offer-orbit {
  position: absolute;
  inset: 3px 20px 3px 18px;
  border: 1px solid rgb(150 63 41 / 17%);
  border-radius: 50%;
  animation: offer-ring-turn 7.5s linear infinite;
}

.offer-orbit::after {
  content: '';
  position: absolute;
  top: -4px;
  left: 51%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--terra);
}

.offer-roller {
  width: 100%;
  height: 100%;
  overflow: visible;
  animation: offer-roller-travel 5.8s var(--ease-in-out) infinite;
}

.offer-roller__head {
  fill: var(--terra);
  transform-box: fill-box;
  transform-origin: center;
  animation: offer-roller-spin 3.8s var(--ease-in-out) infinite;
}

.offer-roller__arm,
.offer-roller__handle {
  fill: none;
  stroke: var(--green-deep);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 6;
}

.offer-roller__grip {
  fill: var(--green-deep);
  transform-box: fill-box;
  transform-origin: top center;
  animation: offer-handle-sway 5.8s var(--ease-in-out) infinite;
}

.offer-paint {
  fill: none;
  stroke: rgb(150 63 41 / 18%);
  stroke-linecap: round;
  stroke-width: 32;
  transform: scaleX(0.12);
  transform-box: fill-box;
  transform-origin: left center;
  animation: offer-paint-trace 5.8s var(--ease-in-out) infinite;
}

.offer-scene--zero {
  display: grid;
  place-items: center;
  perspective: 500px;
}

.offer-zero {
  position: relative;
  z-index: 2;
  color: #f3c995;
  font-family: Georgia, serif;
  font-size: 45px;
  line-height: 1;
  text-shadow: 0 12px 28px rgb(0 0 0 / 20%);
  animation: offer-zero-breathe 4.8s var(--ease-in-out) infinite;
}

.offer-coin {
  position: absolute;
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border: 1px solid rgb(243 201 149 / 50%);
  border-radius: 50%;
  background: #c9804d;
  color: #fff5e8;
  font-family: Georgia, serif;
  box-shadow: 0 9px 18px rgb(0 0 0 / 18%);
}

.offer-coin--one {
  animation: offer-coin-one 6.4s var(--ease-in-out) infinite;
}

.offer-coin--two {
  animation: offer-coin-two 7.2s var(--ease-in-out) -2s infinite;
}

.offer-coin--three {
  animation: offer-coin-three 5.8s var(--ease-in-out) -1s infinite;
}

@keyframes offer-tag-float {
  0%,
  100% {
    transform: translate3d(0, 2px, 0) rotate(41deg);
  }

  50% {
    transform: translate3d(0, -7px, 0) rotate(50deg);
  }
}

@keyframes offer-percent-drift {
  0%,
  100% {
    transform: rotate(-45deg) translate3d(0, 0, 0);
  }

  50% {
    transform: rotate(-37deg) translate3d(3px, -3px, 0);
  }
}

@keyframes offer-ring-turn {
  to {
    transform: rotate(360deg);
  }
}

@keyframes offer-roller-travel {
  0%,
  100% {
    transform: translate3d(-5px, 3px, 0) rotate(-2deg);
  }

  50% {
    transform: translate3d(10px, -3px, 0) rotate(3deg);
  }
}

@keyframes offer-roller-spin {
  0%,
  100% {
    transform: rotate(-3deg);
  }

  50% {
    transform: rotate(9deg);
  }
}

@keyframes offer-handle-sway {
  0%,
  100% {
    transform: rotate(-3deg);
  }

  50% {
    transform: rotate(6deg);
  }
}

@keyframes offer-paint-trace {
  0%,
  12% {
    opacity: 0.2;
    transform: scaleX(0.12);
  }

  52%,
  78% {
    opacity: 1;
    transform: scaleX(1);
  }

  100% {
    opacity: 0.2;
    transform: scaleX(0.12);
  }
}

@keyframes offer-zero-breathe {
  0%,
  100% {
    transform: translate3d(0, 2px, 0) scale(1);
  }

  50% {
    transform: translate3d(0, -3px, 0) scale(1.055);
  }
}

@keyframes offer-coin-one {
  0%,
  100% {
    transform: translate3d(-48px, -28px, 0) rotateY(0deg) rotateZ(-8deg);
  }

  50% {
    transform: translate3d(47px, 20px, 0) rotateY(180deg) rotateZ(9deg);
  }
}

@keyframes offer-coin-two {
  0%,
  100% {
    transform: translate3d(49px, -30px, 0) rotateY(20deg);
  }

  50% {
    transform: translate3d(-42px, 27px, 0) rotateY(205deg);
  }
}

@keyframes offer-coin-three {
  0%,
  100% {
    transform: translate3d(-52px, 25px, 0) rotateY(0deg) scale(0.78);
  }

  50% {
    transform: translate3d(52px, -20px, 0) rotateY(180deg) scale(0.96);
  }
}

@media (hover: hover) and (pointer: fine) {
  .home-presentation .offer-list > a[data-visible='true']:hover {
    transform: translate3d(0, -9px, 0) scale(1.012);
    background: rgb(255 255 255 / 88%);
    box-shadow: 0 26px 52px rgb(53 48 40 / 17%);
  }

  .home-presentation .offer-list > a:nth-child(3)[data-visible='true']:hover {
    background: var(--green-deep);
  }

  .home-presentation .offer-list > a:hover > i {
    color: var(--white);
    background: var(--terra);
    transform: translate3d(5px, -2px, 0) rotate(-8deg);
  }

  .home-presentation [data-offer='mortgage']:hover .offer-tag {
    animation-duration: 3.2s;
  }

  .home-presentation [data-offer='mortgage']:hover .offer-orbit {
    animation-duration: 4.2s;
  }

  .home-presentation [data-offer='finish']:hover .offer-roller {
    animation-duration: 3s;
  }

  .home-presentation [data-offer='installment']:hover .offer-coin {
    animation-duration: 3.4s;
  }
}

@media (width <= 760px) {
  .home-presentation .offer-list > a {
    min-height: 128px;
    grid-template-columns: 112px minmax(0, 1fr) auto;
    gap: 10px;
    padding: 12px 14px 12px 8px;
  }

  .offer-scene {
    width: 112px;
    height: 96px;
    transform: scale(0.88);
  }

  .offer-tag {
    left: 21px;
  }

  .home-presentation .offer-list > a > i {
    width: 34px;
    height: 34px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .offer-tag,
  .offer-tag em,
  .offer-orbit,
  .offer-roller,
  .offer-roller__head,
  .offer-roller__grip,
  .offer-paint,
  .offer-zero,
  .offer-coin {
    animation: none !important;
  }

  .offer-scene {
    transform: none !important;
  }
}

/* Purposeful attention cues with long quiet phases. */
.attention-cta {
  isolation: isolate;
  animation: attention-button 2.35s var(--ease-in-out) infinite;
}

.attention-cta::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -5px;
  border: 1px solid currentcolor;
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
  animation: attention-ring 2.35s var(--ease-out) infinite;
}

.attention-cta > span:last-child {
  animation: attention-arrow 1.8s var(--ease-in-out) infinite;
}

.attention-favorite svg {
  transform-origin: center;
  animation: favorite-hint 7.5s var(--ease-in-out) 1.2s 2;
}

.mortgage-calculator.is-guided:not(.motion-settled) .slider-field:first-of-type input {
  animation: slider-guide 900ms var(--ease-in-out) 450ms 1;
}

.attention-cta.motion-settled,
.attention-cta.motion-settled::after,
.attention-cta.motion-settled > span:last-child,
.attention-favorite.motion-settled svg,
.news-grid.motion-settled > .news-card:first-child {
  animation: none;
}

@keyframes attention-button {
  0%,
  100% {
    box-shadow: 0 10px 28px rgb(150 63 41 / 18%);
    transform: scale(1);
  }

  50% {
    box-shadow: 0 14px 38px rgb(150 63 41 / 42%);
    transform: scale(1.025);
  }
}

@keyframes attention-ring {
  0%,
  100% {
    opacity: 0.08;
    transform: scale(0.99);
  }

  50% {
    opacity: 0.48;
    transform: scale(1.055);
  }
}

@keyframes attention-arrow {
  0%,
  100% {
    transform: translateX(0);
  }

  50% {
    transform: translateX(6px);
  }
}

@keyframes favorite-hint {
  0%,
  72%,
  100% {
    transform: scale(1);
  }

  80% {
    transform: scale(1.12);
  }

  88% {
    transform: scale(0.98);
  }
}

@keyframes slider-guide {
  0%,
  100% {
    opacity: 1;
    transform: scaleY(1);
  }

  48% {
    opacity: 0.82;
    transform: scaleY(1.7);
  }
}

@media (width <= 760px) {
  .news-grid.is-swipe-hint:not(.motion-settled) > .news-card:first-child {
    animation: swipe-hint 6s var(--ease-in-out) 1.5s 2;
  }
}

@keyframes swipe-hint {
  0%,
  72%,
  100% {
    transform: translateX(0);
  }

  82% {
    transform: translateX(-10px);
  }

  90% {
    transform: translateX(3px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .attention-cta::after,
  .attention-cta,
  .attention-cta > span:last-child,
  .attention-favorite svg,
  .mortgage-calculator input,
  .news-grid > .news-card:first-child {
    animation: none !important;
  }
}

/* Residential complex detail */
.complex-page {
  background: #f8f5ef;
  color: #26372f;
  padding: 22px 0 70px;
}

.complex-page .section-shell {
  width: min(1400px, calc(100% - 32px));
  margin-inline: auto;
}

.complex-hero__media {
  min-height: 680px;
  border-radius: 32px;
  overflow: hidden;
  position: relative;
  background: #324139;
}

.complex-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.complex-hero__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgb(22 39 31 / 82%) 0%,
    rgb(22 39 31 / 40%) 52%,
    rgb(22 39 31 / 8%) 100%
  );
}

.complex-hero__content {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding: clamp(30px, 6vw, 82px);
  color: #fff;
  max-width: 850px;
}

.complex-hero h1 {
  font-size: clamp(48px, 7vw, 98px);
  line-height: 0.94;
  letter-spacing: -0.055em;
  margin: 18px 0 24px;
}

.complex-back {
  color: #fff;
  text-decoration: none;
  position: absolute;
  top: 38px;
}

.complex-hero__address {
  font-size: 20px;
  margin: 0 0 30px;
}

.complex-hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.button--light {
  background: #fff;
  color: #27392f;
}

.button--ghost-light {
  background: rgb(255 255 255 / 12%);
  border: 1px solid rgb(255 255 255 / 50%);
  color: #fff;
}

.complex-facts {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1px;
  background: #ded8ce;
  border-radius: 20px;
  overflow: hidden;
  margin-top: 20px;
}

.complex-fact {
  background: #fff;
  padding: 24px 20px;
  display: grid;
  gap: 7px;
}

.complex-fact span {
  font-size: 12px;
  text-transform: uppercase;
  color: #8b887f;
}

.complex-fact strong {
  font-size: 18px;
}

.complex-intro {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 9vw;
  padding-top: 120px;
  padding-bottom: 90px;
}

.complex-intro h2,
.complex-benefits h2,
.complex-plans h2,
.complex-contact h2 {
  font-size: clamp(36px, 4.5vw, 68px);
  line-height: 1.02;
  letter-spacing: -0.045em;
  margin: 12px 0;
}

.complex-intro__copy {
  font-size: 20px;
  line-height: 1.65;
  color: #657068;
  padding-top: 40px;
}

.complex-gallery {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  grid-template-rows: 420px 180px;
  gap: 16px;
}

.complex-gallery figure {
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
}

.complex-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.complex-gallery__item--1 {
  grid-row: 1/3;
}

.complex-gallery__quote {
  border-radius: 24px;
  background: #c96f53;
  color: #fff;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.complex-gallery__quote span {
  font-size: 13px;
  text-transform: uppercase;
}

.complex-gallery__quote strong {
  font-size: 23px;
  line-height: 1.15;
}

.complex-benefits,
.complex-plans {
  padding-top: 120px;
}

.complex-benefits__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-top: 38px;
}

.complex-benefits article {
  background: #fff;
  border-radius: 24px;
  padding: 30px 34px;
  min-height: 126px;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  align-items: center;
  gap: 24px;
}

.complex-benefits article span {
  color: #c96f53;
}

.complex-benefits h3 {
  margin: 0;
  font-size: 24px;
  line-height: 1.25;
}

.complex-plans .section-heading > p {
  max-width: 430px;
  color: #737b74;
}

.plan-filters {
  display: flex;
  gap: 8px;
  margin: 32px 0 22px;
}

.plan-filters button {
  border: 1px solid #dad6ce;
  background: transparent;
  border-radius: 999px;
  padding: 12px 20px;
  cursor: pointer;
}

.plan-filters button.is-active {
  background: #263b31;
  color: #fff;
  border-color: #263b31;
}

.plan-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.plan-card[hidden] {
  display: none;
}

.plan-card__open {
  display: block;
  width: 100%;
  border: 0;
  background: #fff;
  border-radius: 28px;
  padding: 24px;
  text-align: left;
  cursor: pointer;
  transition:
    transform 0.25s,
    box-shadow 0.25s;
}

.plan-card__open:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 45px rgb(41 49 44 / 10%);
}

.plan-card img {
  width: 100%;
  height: 440px;
  object-fit: contain;
}

.plan-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #eee7dd;
  padding-top: 20px;
}

.plan-card__meta strong {
  font-size: 24px;
}

.plan-card__meta b {
  font-size: 22px;
  color: #c96f53;
}

.plan-card__link {
  display: block;
  color: #6d756f;
  margin-top: 14px;
}

.complex-contact {
  margin-top: 120px;
  background: #c96f53;
  color: #fff;
  border-radius: 28px;
  padding: clamp(28px, 5vw, 68px);
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
}

.complex-contact > div {
  max-width: 760px;
}

.complex-source {
  font-size: 13px;
  color: #777;
  margin-top: 24px;
}

.complex-source a {
  color: inherit;
}

.plan-dialog {
  width: min(1400px, calc(100% - 32px));
  height: min(900px, calc(100dvh - 32px));
  max-width: none;
  max-height: calc(100dvh - 32px);
  border: 0;
  padding: 0;
  border-radius: 28px;
  background: #f8f5ef;
  color: #26372f;
  grid-template-columns: 1.35fr 0.65fr;
  overflow: hidden;
}

.plan-dialog[open] {
  display: grid;
}

.plan-dialog::backdrop {
  background: rgb(17 35 29 / 86%);
  backdrop-filter: blur(8px);
}

.plan-dialog__media {
  background: #fff;
  min-height: 0;
  display: grid;
  place-items: center;
  padding: 30px;
}

.plan-dialog__media img {
  max-width: 100%;
  max-height: 700px;
  object-fit: contain;
}

.plan-dialog__body {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 80px 54px;
  overflow: hidden;
}

.plan-dialog__body-scroll {
  min-height: 0;
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: rgb(150 63 41 / 35%) transparent;
}

.plan-dialog__body h2 {
  font-size: 30px;
}

.plan-dialog__area {
  font-size: clamp(54px, 7vw, 90px);
  font-family: Georgia, serif;
  margin: 18px 0 28px;
}

.plan-dialog__body dl {
  margin: 30px 0;
}

.plan-dialog__body dl div {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #d9d3ca;
  padding: 13px 0;
}

.plan-dialog__body dd {
  font-weight: 700;
}

.plan-dialog__note {
  font-size: 13px;
  color: #7c7d77;
}

.plan-dialog__phone {
  position: relative;
  width: 100%;
  min-height: 64px;
  margin-top: 26px;
  padding-inline: 22px;
  border-radius: 12px;
  font-size: 15px;
}

.plan-dialog__phone svg {
  width: 25px;
  height: 25px;
  flex: 0 0 auto;
}

.lead-dialog {
  width: min(760px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  padding: clamp(24px, 4vw, 52px);
  border: 0;
  border-radius: 28px;
  background: #f7f3ec;
  color: var(--ink);
  box-shadow: 0 28px 90px rgb(24 38 31 / 28%);
  overflow: auto;
}

.lead-dialog[open] {
  animation: lead-dialog-in 320ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.lead-dialog::backdrop {
  background: rgb(20 33 28 / 62%);
  backdrop-filter: blur(8px);
}

.lead-dialog__intro {
  max-width: 580px;
  margin-bottom: 24px;
}

.lead-dialog__intro h2 {
  margin: 8px 0 12px;
  font-size: clamp(2rem, 5vw, 4.25rem);
  line-height: 0.98;
}

.lead-dialog__close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  width: 46px;
  height: 46px;
  border: 1px solid rgb(31 53 43 / 20%);
  border-radius: 50%;
  background: #fff;
  color: var(--ink);
  font-size: 28px;
  cursor: pointer;
}

.lead-dialog__form {
  min-height: 320px;
}

.lead-dialog__technical-field {
  display: none !important;
}

.lead-dialog .b24-form-wrapper,
.lead-dialog .b24-form,
.lead-dialog .b24-form-content,
.lead-dialog .b24-form-inner-box {
  background: transparent !important;
}

.lead-dialog .b24-form-padding-side,
.lead-dialog .b24-form-content {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.lead-dialog .b24-form-control,
.lead-dialog .b24-form-control-string,
.lead-dialog .b24-form-control-text {
  border-color: rgb(36 54 45 / 22%) !important;
  border-radius: 12px !important;
  background: #eee8dd !important;
  color: var(--ink) !important;
  box-shadow: none !important;
}

.lead-dialog .b24-form-control:focus {
  border-color: var(--terra) !important;
  box-shadow: 0 0 0 3px rgb(150 63 41 / 15%) !important;
}

.lead-dialog .b24-form-control-label,
.lead-dialog .b24-form-control-desc,
.lead-dialog .b24-form-field-agreement-link {
  color: var(--ink-soft) !important;
}

.lead-dialog .b24-form-field-agreement-link a {
  color: var(--terra-dark) !important;
}

.lead-dialog .b24-form-control-agreement input {
  accent-color: var(--terra);
}

.lead-dialog .b24-form-btn {
  min-height: 58px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--terra) !important;
  color: var(--white) !important;
  font:
    700 15px/1 Arial,
    sans-serif !important;
  box-shadow: 0 14px 30px rgb(150 63 41 / 22%) !important;
  transition:
    transform 220ms var(--ease-out),
    background 220ms var(--ease-out) !important;
}

.lead-dialog .b24-form-sign {
  display: none !important;
}

.lead-dialog .b24-form-border-bottom {
  border-bottom: 0 !important;
}

@media (hover: hover) and (pointer: fine) {
  .lead-dialog .b24-form-btn:hover {
    background: var(--terra-dark) !important;
    transform: translateY(-2px);
  }
}

.lead-form--launcher {
  align-content: center;
}

.lead-form--launcher p {
  margin: 0 0 24px;
  color: rgb(255 255 255 / 78%);
}

.layout-page {
  padding: calc(var(--header-height, 88px) + 36px) 0 80px;
  background: var(--paper, #f7f3ec);
}

.layout-breadcrumbs {
  display: flex;
  gap: 10px;
  margin-bottom: 28px;
  color: rgb(31 53 43 / 65%);
  font-size: 14px;
}

.layout-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(340px, 0.75fr);
  overflow: hidden;
  border: 1px solid rgb(31 53 43 / 14%);
  border-radius: 32px;
  background: #fff;
}

.layout-detail__media {
  display: grid;
  min-height: 620px;
  place-items: center;
  padding: clamp(24px, 4vw, 64px);
  background: #fbf9f5;
}

.layout-detail__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.layout-detail__body {
  padding: clamp(32px, 5vw, 72px);
}

.layout-detail__body h1 {
  margin: 12px 0;
  font-size: clamp(2.6rem, 5vw, 5.4rem);
  line-height: 0.95;
}

.layout-detail__complex {
  font-size: 1.2rem;
  font-weight: 700;
}

.layout-detail__body dl div {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 14px 0;
  border-bottom: 1px solid rgb(31 53 43 / 14%);
}

.layout-detail__body dd {
  margin: 0;
  font-weight: 700;
}

.layout-detail__note {
  margin: 28px 0;
  color: rgb(31 53 43 / 62%);
  font-size: 14px;
}

.plan-dialog__permalink {
  display: inline-block;
  margin: 4px 0 20px;
  text-decoration: underline;
  text-underline-offset: 4px;
}

@keyframes lead-dialog-in {
  from {
    opacity: 0;
    transform: translateY(28px) scale(0.96);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (width <= 820px) {
  .layout-detail {
    grid-template-columns: 1fr;
  }

  .layout-detail__media {
    min-height: 380px;
  }

  .layout-breadcrumbs {
    overflow-x: auto;
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lead-dialog[open] {
    animation: none;
  }
}

.plan-dialog__close {
  position: absolute;
  right: 22px;
  top: 20px;
  border: 1px solid #ccc;
  background: #fff;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  font-size: 32px;
  cursor: pointer;
  z-index: 3;
}

.has-dialog {
  overflow: hidden;
}

@media (width <= 1000px) {
  .complex-hero__media {
    min-height: 600px;
  }

  .complex-facts {
    grid-template-columns: repeat(3, 1fr);
  }

  .complex-intro {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .complex-intro__copy {
    padding-top: 0;
  }

  .complex-benefits__grid {
    grid-template-columns: 1fr;
  }

  .plan-dialog[open] {
    grid-template-columns: 1fr 1fr;
  }

  .plan-dialog__media {
    min-height: 600px;
  }

  .plan-dialog__body {
    padding: 60px 30px;
  }
}

@media (width <= 700px) {
  .complex-page {
    padding-top: 8px;
  }

  .complex-page .section-shell {
    width: calc(100% - 28px);
  }

  .complex-hero__media {
    min-height: 620px;
    border-radius: 20px;
  }

  .complex-hero__shade {
    background: linear-gradient(0deg, rgb(22 39 31 / 90%), rgb(22 39 31 / 8%));
  }

  .complex-hero__content {
    padding: 28px 22px;
  }

  .complex-back {
    top: 24px;
  }

  .complex-hero h1 {
    font-size: 50px;
  }

  .complex-hero__actions {
    width: 100%;
  }

  .complex-hero__actions .button {
    width: 100%;
    justify-content: center;
  }

  .complex-facts {
    grid-template-columns: repeat(2, 1fr);
  }

  .complex-fact {
    padding: 18px 14px;
  }

  .complex-intro,
  .complex-benefits,
  .complex-plans {
    padding-top: 76px;
  }

  .complex-gallery {
    grid-template-columns: 1fr;
    grid-template-rows: 330px 250px auto;
  }

  .complex-gallery__item--1 {
    grid-row: auto;
  }

  .complex-gallery__quote {
    min-height: 170px;
  }

  .complex-benefits article {
    min-height: 112px;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    padding: 22px 20px;
  }

  .complex-benefits h3 {
    font-size: 20px;
  }

  .plan-grid {
    grid-template-columns: 1fr;
  }

  .plan-card img {
    height: 340px;
  }

  .complex-contact {
    margin-top: 76px;
    display: block;
  }

  .complex-contact .button {
    margin-top: 25px;
    width: 100%;
    justify-content: center;
  }

  .plan-dialog[open] {
    display: flex;
    flex-direction: column;
    height: calc(100dvh - 20px);
    max-height: calc(100dvh - 20px);
    overflow: hidden;
    border-radius: 20px;
  }

  .plan-dialog__media {
    flex: 0 0 40%;
    min-height: 0;
    height: auto;
    padding: 48px 15px 18px;
  }

  .plan-dialog__media img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 38vh;
  }

  .plan-dialog__body {
    position: relative;
    z-index: 1;
    flex: 1 1 auto;
    margin: 0;
    padding: 24px 22px 18px;
    background: #f8f5ef;
  }

  .plan-dialog__area {
    font-size: 54px;
  }

  .plan-dialog__phone {
    flex: 0 0 auto;
    margin-top: 14px;
  }

  .plan-dialog__close {
    position: fixed;
    right: 20px;
    top: 16px;
  }
}

/* Final cascade guards for homepage-only layouts. */
.home-presentation .partner-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.home-presentation .partner-card {
  min-height: 190px;
}

/* Architectural editorial system — 2026 refresh. */
.brand {
  display: flex;
  align-items: center;
  color: var(--graphite);
  text-decoration: none;
}

.brand__new-logo {
  display: block;
  width: clamp(150px, 14vw, 220px);
  height: auto;
}

.brand__wordmark {
  font: 600 clamp(0.84rem, 1vw, 1.05rem) / 1.1 Arial, sans-serif;
  letter-spacing: 0.13em;
}

.brand__wordmark b {
  color: var(--champagne);
  font-weight: 700;
}

.brand > small {
  color: var(--ink-soft);
  font: 500 0.57rem/1 Arial, sans-serif;
  letter-spacing: 0.26em;
}

.button--champagne {
  border: 1px solid var(--champagne);
  background: var(--champagne);
  color: #fff;
  box-shadow: 0 14px 34px rgb(82 59 28 / 18%);
}

.complex-page--editorial {
  --complex-gutter: clamp(20px, 4.4vw, 72px);

  padding-top: 18px;
  background: var(--milk);
  color: var(--graphite);
}

.complex-page--editorial .section-shell {
  width: min(1520px, calc(100% - 32px));
}

.complex-page--editorial h1,
.complex-page--editorial h2,
.complex-page--editorial .plan-dialog__area {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
}

.complex-page--editorial h2 em {
  color: var(--champagne);
  font-weight: 400;
}

.complex-page--editorial .layout-breadcrumbs {
  margin-bottom: 18px;
  color: rgb(38 34 31 / 58%);
}

.complex-page--editorial .complex-hero__media {
  min-height: min(790px, calc(100svh - 120px));
  border-radius: 4px 4px 40px;
  background: var(--graphite);
}

.complex-page--editorial .complex-hero__image {
  transition: transform 1.1s var(--ease-out);
}

.complex-page--editorial .complex-hero__shade {
  background:
    linear-gradient(90deg, rgb(17 16 15 / 68%) 0%, rgb(17 16 15 / 30%) 48%, transparent 82%),
    linear-gradient(0deg, rgb(17 16 15 / 36%), transparent 58%);
}

.complex-page--editorial .complex-hero__content {
  max-width: 100%;
  padding: clamp(34px, 6vw, 90px);
}

.complex-page--editorial .complex-hero__copy {
  max-width: 980px;
}

.complex-page--editorial .complex-hero h1 {
  max-width: 1100px;
  margin: 16px 0 24px;
  font-size: clamp(4rem, 9vw, 9.5rem);
  line-height: 0.82;
  letter-spacing: -0.065em;
  text-wrap: balance;
}

.complex-hero__meta {
  margin: 0 0 12px;
  font: 600 0.78rem/1.5 Arial, sans-serif;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.complex-page--editorial .complex-hero__address {
  margin-bottom: 28px;
  color: rgb(255 255 255 / 78%);
  font-size: 1rem;
}

.complex-page--editorial .complex-back {
  top: clamp(26px, 4vw, 52px);
  display: flex;
  gap: 18px;
  align-items: center;
  font-size: 0.78rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.complex-page--editorial .complex-facts {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  margin-top: 0;
  border: 1px solid var(--line);
  border-top: 0;
  border-radius: 0 0 4px 4px;
  background: transparent;
}

.complex-page--editorial .complex-fact {
  min-height: 118px;
  padding: 24px clamp(18px, 2.5vw, 38px);
  background: var(--paper);
}

.complex-page--editorial .complex-fact span {
  color: var(--champagne);
  letter-spacing: 0.14em;
}

.complex-page--editorial .complex-fact strong {
  font-size: 1rem;
  font-weight: 500;
}

.complex-page--editorial .complex-intro,
.complex-location {
  padding-block: clamp(92px, 11vw, 170px);
}

.complex-page--editorial .complex-intro {
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.65fr);
  gap: clamp(48px, 10vw, 180px);
}

.complex-page--editorial .complex-intro h2,
.complex-page--editorial .complex-benefits h2,
.complex-page--editorial .complex-plans h2,
.complex-page--editorial .complex-contact h2,
.complex-location h2,
.complex-related h2 {
  font-size: clamp(3rem, 6.4vw, 7.3rem);
  line-height: 0.88;
  letter-spacing: -0.055em;
}

.complex-page--editorial .complex-intro__copy {
  align-self: end;
  padding: 0 0 8px;
  color: var(--ink-soft);
  font-size: clamp(1.05rem, 1.5vw, 1.32rem);
  line-height: 1.75;
}

.complex-location {
  display: grid;
  grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(46px, 8vw, 130px);
  align-items: center;
  border-top: 1px solid var(--line);
}

.complex-location__copy p:last-child {
  max-width: 580px;
  color: var(--ink-soft);
  font-size: 1.1rem;
  line-height: 1.75;
}

.complex-location__media {
  overflow: hidden;
  min-height: 590px;
  margin: 0;
  border-radius: 4px 80px 4px 4px;
}

.complex-location__media img {
  width: 100%;
  height: 100%;
  min-height: 590px;
  object-fit: cover;
}

.complex-page--editorial .complex-benefits,
.complex-gallery-section,
.complex-page--editorial .complex-plans,
.complex-related {
  padding-top: clamp(90px, 10vw, 160px);
}

.complex-benefits__rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 46px;
}

.complex-benefit {
  position: relative;
  overflow: hidden;
  min-height: 540px;
  border-radius: 3px 36px 3px 3px;
  background: var(--graphite);
  color: #fff;
}

.complex-benefit > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms var(--ease-out);
}

.complex-benefit__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgb(12 11 10 / 86%), rgb(12 11 10 / 4%) 70%);
}

.complex-benefit__copy {
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  padding: 28px;
}

.complex-benefit__copy span {
  color: var(--champagne);
  font-size: 0.74rem;
  letter-spacing: 0.16em;
}

.complex-benefit h3 {
  margin: 14px 0 7px;
  font: 500 clamp(1.15rem, 1.5vw, 1.5rem)/1.08 Arial, sans-serif;
  text-transform: uppercase;
}

.complex-benefit p {
  margin: 0;
  color: rgb(255 255 255 / 72%);
  line-height: 1.45;
}

.complex-gallery--editorial {
  grid-template-columns: 1.2fr 0.8fr 0.8fr;
  grid-template-rows: 330px 330px;
  gap: 12px;
  margin-top: 40px;
}

.complex-gallery--editorial .complex-gallery__item {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: 3px;
  cursor: zoom-in;
}

.complex-gallery--editorial .complex-gallery__item--1 {
  grid-row: 1 / 3;
}

.complex-gallery--editorial .complex-gallery__item:nth-child(4n + 2) {
  grid-column: span 2;
}

.complex-page--editorial .plan-filters button.is-active {
  border-color: var(--graphite);
  background: var(--graphite);
}

.complex-page--editorial .plan-card__open {
  border: 1px solid var(--line);
  border-radius: 3px 28px 3px 3px;
  background: var(--paper);
  box-shadow: none;
}

.complex-page--editorial .plan-card__meta b,
.complex-page--editorial .plan-card__link {
  color: var(--champagne);
}

.complex-developer {
  margin-top: clamp(90px, 10vw, 150px);
  padding: clamp(50px, 7vw, 100px);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  text-align: center;
}

.complex-developer h2 {
  margin: 12px 0 18px;
  font-size: clamp(3rem, 6vw, 7rem);
}

.complex-developer p:last-child {
  max-width: 680px;
  margin-inline: auto;
  color: var(--ink-soft);
}

.complex-page--editorial .complex-contact {
  border-radius: 3px 48px 3px 3px;
  background: var(--graphite);
}

.complex-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 38px;
}

.complex-related__card a {
  position: relative;
  display: block;
  overflow: hidden;
  min-height: 430px;
  color: #fff;
}

.complex-related__card img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms var(--ease-out);
}

.complex-related__card span {
  position: absolute;
  inset: auto 0 0;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  padding: 70px 24px 24px;
  background: linear-gradient(0deg, rgb(20 18 16 / 84%), transparent);
}

.complex-related__card small {
  grid-column: 1 / -1;
  color: rgb(255 255 255 / 70%);
}

.complex-related__card strong {
  font: 400 1.7rem/1 Georgia, serif;
}

.complex-lightbox {
  width: min(1500px, calc(100% - 32px));
  height: min(920px, calc(100dvh - 32px));
  padding: 0;
  border: 0;
  background: #111;
}

.complex-lightbox[open] {
  display: grid;
  place-items: center;
}

.complex-lightbox::backdrop {
  background: rgb(15 13 12 / 90%);
  backdrop-filter: blur(10px);
}

.complex-lightbox img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.complex-lightbox button {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  width: 48px;
  height: 48px;
  border: 1px solid rgb(255 255 255 / 35%);
  border-radius: 50%;
  background: rgb(0 0 0 / 38%);
  color: #fff;
  font-size: 28px;
  cursor: pointer;
}

@media (hover: hover) and (pointer: fine) {
  .complex-page--editorial .complex-hero:hover .complex-hero__image,
  .complex-benefit:hover > img,
  .complex-related__card:hover img {
    transform: scale(1.025);
  }

  .button--champagne:hover {
    background: var(--terra-dark);
  }
}

@media (width <= 1000px) {
  .complex-benefits__rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .complex-location__media,
  .complex-location__media img {
    min-height: 480px;
  }
}

@media (width <= 700px) {
  .brand__new-logo {
    width: 145px;
  }

  .brand > small {
    display: none;
  }

  .complex-page--editorial .complex-hero__media {
    min-height: 580px;
    border-radius: 3px 3px 24px;
  }

  .complex-page--editorial .complex-hero h1 {
    font-size: clamp(3.4rem, 17vw, 5.1rem);
  }

  .complex-page--editorial .complex-facts {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }

  .complex-page--editorial .complex-fact {
    flex: 0 0 72%;
    scroll-snap-align: start;
  }

  .complex-page--editorial .complex-intro,
  .complex-location {
    grid-template-columns: 1fr;
    padding-block: 82px;
  }

  .complex-location__media,
  .complex-location__media img {
    min-height: 390px;
  }

  .complex-benefits__rail {
    display: flex;
    overflow-x: auto;
    margin-inline: -14px;
    padding: 0 14px 12px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .complex-benefit {
    flex: 0 0 82%;
    min-height: 470px;
    scroll-snap-align: start;
  }

  .complex-gallery--editorial {
    display: flex;
    overflow-x: auto;
    height: 420px;
    scroll-snap-type: x mandatory;
  }

  .complex-gallery--editorial .complex-gallery__item {
    flex: 0 0 88%;
    scroll-snap-align: center;
  }

  .complex-related__grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .complex-page--editorial .complex-hero__image,
  .complex-benefit > img,
  .complex-related__card img {
    transition: none;
  }
}

.home-presentation .partner-card img {
  width: min(100%, 360px);
  max-height: 115px;
  object-fit: contain;
  filter: grayscale(1) contrast(0.78);
  opacity: 0.78;
}

/* Browser-local favorites. */
.favorite-link__count {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  display: grid;
  place-items: center;
  border: 2px solid var(--cream);
  border-radius: 999px;
  background: var(--terra);
  color: var(--white);
  font-size: 10px;
  font-weight: 800;
}

.unit-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.heart-button--inline {
  position: static;
  flex: 0 0 40px;
  border: 1px solid var(--line);
}

.favorites-hero {
  padding: clamp(128px, 13vw, 190px) 0 clamp(54px, 7vw, 92px);
  background: var(--cream);
}

.favorites-hero h1 {
  margin: 20px 0 18px;
  font-size: clamp(58px, 8vw, 112px);
}

.favorites-hero > .shell > p:last-child {
  max-width: 650px;
  color: var(--ink-soft);
  font-size: clamp(16px, 1.5vw, 20px);
}

.favorites-toolbar {
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 18px;
}

.favorites-toolbar p {
  margin: 0;
  color: var(--ink-soft);
}

.favorites-toolbar strong {
  color: var(--ink);
  font-size: 28px;
}

.favorites-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.favorite-card {
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--white);
}

.favorite-card__media,
.favorite-card__placeholder {
  aspect-ratio: 16 / 10;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: var(--sand);
}

.favorite-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.favorite-card__placeholder {
  color: var(--terra);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.favorite-card__body {
  flex: 1;
  padding: 24px;
  display: flex;
  flex-direction: column;
}

.favorite-card__body h2 {
  margin: 12px 0;
  font-size: clamp(24px, 2.2vw, 34px);
  line-height: 1.08;
}

.favorite-card__body > p {
  margin: 0;
  color: var(--ink-soft);
  line-height: 1.5;
}

.favorite-card__actions {
  margin-top: auto;
  padding-top: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.favorite-card__remove {
  border: 0;
  background: none;
  color: var(--muted);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.favorites-empty {
  min-height: 430px;
  padding: clamp(34px, 7vw, 80px);
  display: grid;
  justify-items: center;
  align-content: center;
  text-align: center;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--white);
}

.favorites-empty > span {
  color: var(--terra);
  font-size: 70px;
  line-height: 1;
}

.favorites-empty h2 {
  margin: 18px 0 10px;
  font-size: clamp(34px, 4vw, 54px);
}

.favorites-empty p {
  max-width: 590px;
  color: var(--ink-soft);
  line-height: 1.6;
}

.favorites-empty > div {
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

.button--outline {
  border: 1px solid var(--line-strong);
  background: transparent;
  color: var(--ink);
}

@media (width <= 900px) {
  .favorites-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (width <= 620px) {
  .favorites-grid {
    grid-template-columns: 1fr;
  }

  .favorites-toolbar {
    align-items: flex-start;
  }

  .favorites-empty {
    min-height: 380px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .home-presentation .partner-card:hover img {
    filter: none;
    opacity: 1;
  }

  .js .home-presentation .complex-card--featured[data-reveal][data-visible='true']:hover,
  .js
    .home-presentation
    .article-grid--visual
    .article-card[data-reveal][data-visible='true']:hover {
    transform: translate3d(0, -9px, 0);
  }
}

@media (width <= 980px) {
  .home-presentation .partner-grid {
    grid-template-columns: 1fr;
  }
}

/* Final cross-template refinement layer. */

/* Premium catalogue refinement — compact rhythm, cinematic complex pages. */
.site-header {
  top: 0;
  width: min(1560px, calc(100% - 28px));
  margin-inline: auto;
  border: 1px solid rgb(44 39 34 / 10%);
  border-radius: 22px;
  background: rgb(255 253 249 / 94%);
  box-shadow: 0 14px 44px rgb(35 29 23 / 8%);
}

body.admin-bar .site-header {
  top: 32px;
}

.site-header__inner {
  width: calc(100% - 40px);
  height: 78px;
}

.brand__new-logo {
  width: clamp(210px, 16vw, 280px);
  max-height: 70px;
  object-fit: contain;
}

.desktop-nav a {
  font-size: 13px;
}

.complex-page--editorial {
  padding-top: 28px;
}

.complex-page--editorial .layout-breadcrumbs {
  margin-bottom: 12px;
  font-size: 12px;
}

.complex-page--editorial .complex-hero.section-shell {
  width: calc(100% - 24px);
  max-width: none;
}

.complex-page--editorial .complex-hero__media {
  min-height: calc(100svh - 132px);
  border-radius: 28px;
}

.complex-page--editorial .complex-hero__shade {
  background:
    linear-gradient(90deg, rgb(9 19 30 / 78%) 0%, rgb(9 19 30 / 40%) 50%, rgb(9 19 30 / 10%) 80%),
    linear-gradient(0deg, rgb(8 15 22 / 60%), transparent 62%);
}

.complex-page--editorial .complex-hero__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 460px);
  grid-template-rows: 1fr auto;
  gap: 22px clamp(34px, 5vw, 88px);
  align-items: end;
  padding: clamp(34px, 5vw, 76px);
}

.complex-page--editorial .complex-hero__copy {
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  max-width: 760px;
}

.complex-page--editorial .complex-hero__actions {
  grid-column: 1;
  grid-row: 2;
}

.complex-hero-lead {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: end;
  width: 100%;
  color: #fff;
}

.complex-hero-lead > .eyebrow {
  margin-bottom: 10px;
  color: var(--champagne-light, #e5c995);
}

.complex-hero-lead > h2 {
  margin: 0 0 10px;
  color: #fff;
  font: 400 clamp(2rem, 3vw, 3.3rem) / 0.95 Georgia, 'Times New Roman', serif;
  letter-spacing: -0.045em;
}

.complex-hero-lead > p:not(.eyebrow) {
  max-width: 430px;
  margin: 0 0 18px;
  color: rgb(255 255 255 / 76%);
  font-size: 14px;
  line-height: 1.5;
}

.complex-hero-lead .lead-dialog__form {
  min-height: 360px;
}

.complex-hero-lead .b24-form-wrapper,
.complex-hero-lead .b24-form,
.complex-hero-lead .b24-form-content,
.complex-hero-lead .b24-form-inner-box {
  max-width: none !important;
  margin: 0 !important;
  background: transparent !important;
}

.complex-hero-lead .b24-form-header,
.complex-hero-lead .b24-form-sign {
  display: none !important;
}

.complex-hero-lead .b24-form-padding-side,
.complex-hero-lead .b24-form-content {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.complex-hero-lead .b24-form-control {
  border: 1px solid rgb(255 255 255 / 34%) !important;
  border-radius: 13px !important;
  background: rgb(255 255 255 / 12%) !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 9%) !important;
  backdrop-filter: blur(14px);
}

/* Bitrix repeats `b24-form-control-string/text` on the field wrapper. Keep that
   wrapper visually neutral so each input has a single crisp glass surface. */
.complex-hero-lead .b24-form-field {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.complex-hero-lead .b24-form-control:focus {
  border-color: rgb(255 255 255 / 72%) !important;
  background: rgb(255 255 255 / 18%) !important;
  box-shadow: 0 0 0 3px rgb(255 255 255 / 11%) !important;
}

.complex-hero-lead .b24-form-control-label,
.complex-hero-lead .b24-form-control-desc,
.complex-hero-lead .b24-form-field-agreement-link,
.complex-hero-lead .b24-form-field-agreement-link a {
  color: rgb(255 255 255 / 84%) !important;
}

.complex-hero-lead .b24-form-control-agreement input {
  accent-color: var(--champagne);
}

.complex-hero-lead .b24-form-btn {
  min-height: 58px !important;
  border: 1px solid rgb(255 255 255 / 18%) !important;
  border-radius: 13px !important;
  background: var(--champagne) !important;
  color: #fff !important;
  font: 700 15px/1 Arial, sans-serif !important;
  box-shadow: 0 16px 36px rgb(0 0 0 / 18%) !important;
  transition: transform 220ms var(--ease-out), filter 220ms var(--ease-out) !important;
}

.complex-hero-lead .b24-form-border-bottom {
  border-bottom: 0 !important;
}

@media (hover: hover) and (pointer: fine) {
  .complex-hero-lead .b24-form-btn:hover {
    filter: brightness(1.08);
    transform: translateY(-2px);
  }
}

/* Brighter sales action with one restrained travelling highlight. */
.site-header__actions > .button--terracotta {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(115deg, #d97552 0%, #e99a57 48%, #d77a4f 100%);
  color: #fff;
  box-shadow:
    0 12px 30px rgb(211 105 70 / 32%),
    inset 0 1px 0 rgb(255 255 255 / 28%);
}

.site-header__actions > .button--terracotta::after {
  content: '';
  position: absolute;
  z-index: -1;
  top: -45%;
  bottom: -45%;
  left: -42%;
  width: 30%;
  background: linear-gradient(90deg, transparent, rgb(255 238 204 / 48%), transparent);
  transform: translate3d(0, 0, 0) skewX(-18deg);
  animation: header-cta-sheen 5.2s ease-in-out infinite;
  pointer-events: none;
}

@keyframes header-cta-sheen {
  0%,
  58% {
    transform: translate3d(0, 0, 0) skewX(-18deg);
    opacity: 0;
  }

  66% {
    opacity: 0.75;
  }

  82%,
  100% {
    transform: translate3d(520%, 0, 0) skewX(-18deg);
    opacity: 0;
  }
}

@media (hover: hover) and (pointer: fine) {
  .site-header__actions > .button--terracotta:hover {
    background: linear-gradient(115deg, #df7b55 0%, #f0a25c 48%, #dd8052 100%);
    box-shadow:
      0 15px 34px rgb(211 105 70 / 38%),
      inset 0 1px 0 rgb(255 255 255 / 32%);
    transform: translateY(-1px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header__actions > .button--terracotta::after {
    animation: none;
  }
}

.complex-page--editorial .complex-hero h1 {
  max-width: 800px;
  margin: 14px 0 20px;
  font-size: clamp(3.4rem, 6.2vw, 7rem);
  line-height: 0.9;
}

.complex-page--editorial .complex-facts {
  width: min(1380px, calc(100% - 56px));
  margin-top: -18px;
  position: relative;
  z-index: 2;
  overflow: hidden;
  border: 0;
  border-radius: 20px;
  box-shadow: 0 18px 60px rgb(35 29 23 / 9%);
}

.complex-page--editorial .complex-fact {
  min-height: 98px;
  padding-block: 20px;
}

.complex-page--editorial .complex-intro,
.complex-location {
  padding-block: clamp(68px, 7vw, 108px);
}

.complex-page--editorial .complex-intro {
  grid-template-columns: minmax(0, 0.78fr) minmax(360px, 0.7fr);
  gap: clamp(44px, 7vw, 110px);
}

.complex-page--editorial .complex-intro h2,
.complex-page--editorial .complex-benefits h2,
.complex-page--editorial .complex-plans h2,
.complex-page--editorial .complex-contact h2,
.complex-location h2,
.complex-related h2 {
  font-size: clamp(2.8rem, 5vw, 5.7rem);
  line-height: 0.92;
}

.complex-page--editorial .complex-intro__copy {
  align-self: center;
  font-size: clamp(1rem, 1.25vw, 1.18rem);
  line-height: 1.65;
}

.complex-page--editorial .complex-benefits,
.complex-gallery-section,
.complex-page--editorial .complex-plans,
.complex-related {
  padding-top: clamp(66px, 7vw, 110px);
}

.complex-benefits__rail {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 32px;
}

.complex-benefit {
  min-height: clamp(250px, 22vw, 340px);
  border-radius: 24px;
}

.complex-benefit__copy {
  padding: 24px;
}

.complex-benefit h3 {
  max-width: 390px;
  font-size: clamp(1rem, 1.25vw, 1.32rem);
}

.news-archive__hero {
  padding: clamp(56px, 7vw, 94px) 0 clamp(36px, 5vw, 64px);
}

.news-archive__hero h1 {
  max-width: 960px;
  margin: 14px 0 18px;
  font-size: clamp(2.8rem, 5.2vw, 5.3rem);
  line-height: 0.94;
}

.news-archive .section {
  padding-top: 24px;
}

.news-archive__grid {
  gap: 20px;
}

.news-archive-card {
  border-radius: 24px;
}

.site-footer {
  position: relative;
  isolation: isolate;
  margin: 18px 14px 14px;
  padding: clamp(74px, 8vw, 120px) 0 28px;
  overflow: hidden;
  border-radius: 30px;
  background: #f3eee5 url('../images/footer-light-residence-v1.png') center / cover no-repeat;
  color: var(--graphite);
}

.site-footer::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgb(255 252 246 / 97%) 0%, rgb(255 252 246 / 91%) 48%, rgb(255 252 246 / 68%) 100%);
}

.site-footer a,
.site-footer p,
.site-footer span,
.site-footer .site-footer__intro > div > p,
.site-footer .site-footer__grid--expanded p {
  color: rgb(38 34 31 / 76%);
}

.site-footer strong,
.site-footer .footer-label,
.site-footer .footer-hours,
.site-footer .footer-contact-link {
  color: var(--graphite);
}

.site-footer__intro,
.site-footer__legal {
  border-color: rgb(38 34 31 / 16%);
}

.site-footer__bottom {
  border-color: rgb(38 34 31 / 13%);
}

.site-footer .socials a {
  border-color: rgb(38 34 31 / 28%);
  color: var(--graphite);
}

.site-footer .brand__new-logo {
  width: clamp(260px, 24vw, 390px);
  max-height: none;
}

.footer-callout {
  background: rgb(188 142 74 / 92%);
  box-shadow: 0 22px 60px rgb(0 0 0 / 20%);
}

@media (width <= 1000px) {
  .complex-benefits__rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (width <= 700px) {
  .site-header {
    top: 0;
    width: calc(100% - 16px);
    border-radius: 18px;
  }

  body.admin-bar .site-header {
    top: 46px;
  }

  .site-header__inner {
    width: calc(100% - 24px);
    height: 68px;
  }

  .brand__new-logo {
    width: 170px;
    max-height: 58px;
  }

  .complex-page--editorial {
    padding-top: 18px;
  }

  .complex-page--editorial .layout-breadcrumbs {
    display: none;
  }

  .complex-page--editorial .complex-hero.section-shell {
    width: calc(100% - 12px);
  }

  .complex-page--editorial .complex-hero__media {
    min-height: max(1080px, calc(100svh - 96px));
    border-radius: 22px;
  }

  .complex-page--editorial .complex-hero__content {
    display: flex;
    gap: 18px;
    justify-content: flex-end;
    padding: 28px 22px;
  }

  .complex-hero-lead {
    width: 100%;
  }

  .complex-hero-lead > h2 {
    font-size: 2.25rem;
  }

  .complex-hero-lead > p:not(.eyebrow) {
    margin-bottom: 10px;
    font-size: 13px;
  }

  .complex-hero-lead .lead-dialog__form {
    min-height: 330px;
  }

  .complex-page--editorial .complex-hero h1 {
    font-size: clamp(3rem, 15vw, 4.6rem);
  }

  .complex-page--editorial .complex-facts {
    width: calc(100% - 28px);
    margin-top: -12px;
  }

  .complex-page--editorial .complex-intro,
  .complex-location {
    gap: 32px;
    padding-block: 48px;
  }

  .complex-page--editorial .complex-intro h2,
  .complex-page--editorial .complex-benefits h2,
  .complex-page--editorial .complex-plans h2,
  .complex-page--editorial .complex-contact h2,
  .complex-location h2,
  .complex-related h2 {
    font-size: clamp(2.7rem, 13vw, 4.1rem);
  }

  .complex-benefits__rail {
    display: flex;
  }

  .complex-page--editorial .complex-benefits,
  .complex-gallery-section,
  .complex-page--editorial .complex-plans,
  .complex-related {
    padding-top: 44px;
  }

  .complex-benefit {
    flex-basis: 88%;
    min-height: 310px;
  }

  .news-archive__hero {
    padding: 44px 0 24px;
  }

  .news-archive__hero h1 {
    font-size: clamp(2.35rem, 10.5vw, 3.15rem);
    line-height: 0.98;
  }

  .news-archive .section {
    padding-top: 14px;
  }

  .site-footer {
    margin: 10px 8px 8px;
    border-radius: 22px;
    background-position: 62% center;
  }
}

/* End of cross-template refinement layer. */

/* Dense editorial rhythm audit — shared across every public template. */
:root {
  --space-xs: 10px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 40px;
  --space-xl: 64px;
  --section-gap: clamp(44px, 5vw, 70px);
  --section-gap-mobile: 38px;
  --type-h1: clamp(3.25rem, 5vw, 4.25rem);
  --type-h2: clamp(2.5rem, 3.8vw, 3.25rem);
  --type-h3: clamp(1.625rem, 2.2vw, 2.125rem);
  --type-body: clamp(1rem, 1.15vw, 1.125rem);
}

em,
h1 em,
h2 em,
h3 em {
  font-style: normal;
}

.section {
  padding-block: var(--section-gap);
}

.section--compact {
  padding-block: var(--space-lg);
}

.section-heading {
  gap: var(--space-lg);
  align-items: end;
  margin-bottom: 30px;
}

.section-heading h2,
.complex-page--editorial .section-heading h2 {
  margin: 8px 0 0;
  font-size: var(--type-h2);
  line-height: 1.02;
  letter-spacing: -0.035em;
}

.section-heading h2 span,
.complex-page--editorial h2 span {
  color: var(--champagne);
  font-weight: inherit;
}

.section-heading > p,
.archive-catalogue__lead {
  max-width: 520px;
  font-size: max(15px, 0.95rem);
  line-height: 1.55;
}

.complex-page--editorial .complex-intro,
.complex-page--editorial .complex-benefits,
.complex-gallery-section,
.complex-page--editorial .complex-plans,
.complex-map,
.complex-related {
  padding-top: var(--section-gap);
  padding-bottom: 0;
}

.complex-page--editorial .complex-intro {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
  gap: clamp(36px, 5vw, 76px);
  align-items: center;
}

.complex-intro__text {
  min-width: 0;
}

.complex-page--editorial .complex-intro h2 {
  max-width: 620px;
  margin: 10px 0 22px;
  font-size: var(--type-h2);
  line-height: 1.02;
  letter-spacing: -0.035em;
}

.complex-page--editorial .complex-intro__copy {
  max-width: 660px;
  padding: 0;
  font-size: var(--type-body);
  line-height: 1.65;
}

.complex-page--editorial .complex-intro__copy p {
  margin: 0 0 var(--space-sm);
}

.complex-intro__media {
  overflow: hidden;
  min-height: 500px;
  margin: 0;
  border-radius: 28px;
  background: var(--paper);
}

.complex-intro__media img {
  width: 100%;
  height: 100%;
  min-height: 500px;
  object-fit: cover;
}

.complex-intro__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-md);
  margin: var(--space-md) 0 0;
  border-top: 1px solid var(--line);
}

.complex-intro__facts > div {
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}

.complex-intro__facts dt {
  color: var(--ink-soft);
  font-size: 14px;
}

.complex-intro__facts dd {
  margin: 5px 0 0;
  font-size: 16px;
  font-weight: 600;
}

.complex-benefits__rail {
  margin-top: 28px;
}

.complex-page--editorial .complex-benefits h2 {
  max-width: 820px;
}

.complex-gallery-section .section-heading,
.complex-plans .section-heading {
  margin-bottom: 28px;
}

.complex-gallery--editorial {
  margin-top: 0;
}

.complex-gallery--editorial .complex-gallery__item:only-child {
  max-height: 680px;
}

.complex-page--editorial .complex-plans .section-heading {
  grid-template-columns: minmax(260px, 0.65fr) minmax(400px, 1fr);
}

.complex-page--editorial .complex-plans .section-heading > div {
  order: 2;
  justify-self: end;
  max-width: 680px;
}

.complex-page--editorial .complex-plans .section-heading > p {
  order: 1;
  align-self: end;
}

.complex-page--editorial .complex-plans h2 {
  font-size: var(--type-h2);
}

.complex-page--editorial .plan-filters {
  margin: 0 0 22px;
}

.complex-map {
  gap: clamp(32px, 5vw, 70px);
}

.complex-map__copy h2 {
  font-size: var(--type-h2);
  line-height: 1.02;
}

.complex-map__frame,
.complex-map iframe {
  min-height: 500px;
  height: 500px;
}

.complex-page--editorial .complex-contact,
.complex-developer {
  margin-top: var(--section-gap);
}

.apartments-hero,
.editorial-page .editorial-hero,
.editorial-page article .editorial-hero,
.news-archive__hero {
  padding: clamp(72px, 7vw, 104px) 0 var(--space-lg);
}

.apartments-hero h1,
.archive-hero h1,
.editorial-page .editorial-hero h1,
.editorial-page article .editorial-hero h1,
.news-archive__hero h1,
.favorites-page h1 {
  font-size: var(--type-h1);
  line-height: 1;
  letter-spacing: -0.04em;
}

.editorial-page .editorial-content,
.editorial-page article .editorial-content {
  padding-top: var(--space-lg);
  padding-bottom: var(--section-gap);
}

.editorial-page .editorial-content h2,
.editorial-page article .editorial-content h2 {
  margin: var(--space-lg) 0 var(--space-sm);
  font-size: var(--type-h2);
}

.editorial-page .editorial-content p,
.editorial-page article .editorial-content p,
.apartments-hero p,
.news-archive__hero > .shell > p:last-child {
  font-size: var(--type-body);
  line-height: 1.65;
}

.news-archive .section {
  padding-top: var(--space-md);
}

.news-archive__hero {
  padding: 52px 0 28px;
}

.news-archive-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.layout-page {
  padding-top: var(--space-md);
}

.layout-page section,
.favorites-page .section,
.complex-archive .section {
  padding-block: var(--section-gap);
}

.eyebrow,
.section-index,
.complex-fact span,
.news-archive-card time {
  font-size: max(12px, 0.75rem);
}

.complex-fact strong,
.plan-card__link,
.button,
.text-link {
  font-size: max(14px, 0.875rem);
}

@media (width <= 700px) {
  :root {
    --section-gap: var(--section-gap-mobile);
    --type-h1: clamp(2.5rem, 11vw, 3.35rem);
    --type-h2: clamp(2.1rem, 9vw, 2.75rem);
    --type-h3: clamp(1.45rem, 7vw, 1.9rem);
    --type-body: 1rem;
  }

  .section-heading,
  .complex-page--editorial .complex-plans .section-heading {
    display: block;
    margin-bottom: 22px;
  }

  .section-heading > p,
  .complex-page--editorial .complex-plans .section-heading > p {
    margin: 14px 0 0;
  }

  .complex-page--editorial .complex-intro {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .complex-intro__media,
  .complex-intro__media img {
    min-height: 360px;
  }

  .complex-intro__facts {
    grid-template-columns: 1fr 1fr;
  }

  .complex-page--editorial .complex-benefits,
  .complex-gallery-section,
  .complex-page--editorial .complex-plans,
  .complex-map,
  .complex-related {
    padding-top: var(--section-gap-mobile);
  }

  .complex-gallery--editorial {
    height: 360px;
  }

  .complex-map__frame,
  .complex-map iframe {
    min-height: 360px;
    height: 360px;
  }

  .apartments-hero,
  .editorial-page .editorial-hero,
  .editorial-page article .editorial-hero,
  .news-archive__hero {
    padding: 46px 0 26px;
  }

  .editorial-page .editorial-content,
  .editorial-page article .editorial-content {
    padding-top: 28px;
    padding-bottom: 42px;
  }
}

/* Final promo cascade: keep these overrides after legacy responsive layers. */
.showcase-side {
  grid-template-rows: minmax(260px, 0.92fr) minmax(330px, 1.08fr);
}

.showcase-promo {
  min-height: 330px;
  padding: 24px 22px 25px;
  isolation: isolate;
}

.showcase-promo::after {
  background: linear-gradient(180deg, rgb(12 18 15 / 3%) 0%, rgb(15 21 18 / 9%) 38%, rgb(13 18 16 / 58%) 72%, rgb(11 15 13 / 88%) 100%);
}

.showcase-promo__photo {
  filter: brightness(1.08) saturate(1.03);
  transform: scale(1.01);
}

.showcase-promo strong {
  max-width: 230px;
  font-size: clamp(20px, 1.45vw, 24px);
  font-weight: 700;
  line-height: 1.08;
}

.showcase-promo small {
  margin-top: 8px;
  font-size: clamp(14px, 0.95vw, 16px);
  line-height: 1.25;
}

.mini-tag {
  top: 28px;
  width: 134px;
  height: 134px;
  border-radius: 34px;
  transform-origin: 50% 50%;
  animation: mini-tag-spin 9s linear infinite;
}

.mini-tag b {
  top: 29px;
  left: 29px;
  font-size: 68px;
}

.mini-tag i {
  right: 21px;
  bottom: 21px;
  font-size: 30px;
}

.mini-zero {
  top: 14px;
  width: 176px;
  height: 156px;
}

.mini-zero__value {
  width: 92px;
  height: 92px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgb(194 154 87 / 92%);
  color: #fffaf1;
  font-size: 42px;
}

.mini-zero i,
.mini-zero b,
.mini-zero em {
  width: 39px;
  height: 39px;
  margin: -19px 0 0 -19px;
  background: #a66d3d;
  font-size: 20px;
}

.mini-zero i {
  animation: mini-money-one 6.8s var(--ease-in-out) infinite;
}

.mini-zero b {
  animation: mini-money-two 7.6s var(--ease-in-out) -2.2s infinite;
}

.mini-zero em {
  animation: mini-money-three 6.2s var(--ease-in-out) -1.1s infinite;
}

@media (hover: hover) and (pointer: fine) {
  .showcase-promo:hover .showcase-promo__photo {
    filter: brightness(1.16) saturate(1.06);
    transform: scale(1.035);
  }
}

@media (width <= 760px) {
  .showcase-promo {
    min-height: 350px;
    padding: 22px 20px 24px;
  }

  .showcase-promo strong {
    font-size: 22px;
  }

  .showcase-promo small {
    font-size: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mini-tag,
  .mini-paint__brush,
  .mini-zero__value,
  .mini-zero i,
  .mini-zero b,
  .mini-zero em {
    animation: none !important;
  }
}

/* Keep the 3D token authoritative after legacy promo cascade rules. */
.mini-tag {
  width: 142px;
  height: 118px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  perspective: 840px;
  perspective-origin: 50% 50%;
  transform: translateX(-50%);
  animation: none;
}

@media (width <= 760px) {
  .mini-tag {
    width: 136px;
    height: 112px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mini-tag {
    transform: translateX(-50%);
  }
}

/* September portal refinement: denser editorial sections and object-first flows. */
.showcase-news__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  color: var(--terra-dark);
  font-size: 13px;
  font-weight: 750;
}

.showcase-news > img {
  object-position: 43% center;
}

.mini-repair-token {
  position: absolute;
  z-index: 2;
  top: 24px;
  left: 50%;
  width: 142px;
  height: 118px;
  perspective: 840px;
  perspective-origin: 50% 50%;
  transform: translateX(-50%);
}

.mini-repair-token__body {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  will-change: transform;
  animation: mini-token-flip 4.8s infinite;
}

.mini-repair-token__face {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgb(214 173 105 / 72%);
  border-radius: 22px;
  background:
    radial-gradient(circle at 28% 18%, rgb(255 255 255 / 11%), transparent 36%),
    linear-gradient(145deg, #353431 0%, #1c1d1d 74%, #121313 100%);
  box-shadow:
    inset 0 1px rgb(255 255 255 / 14%),
    inset 0 0 0 1px rgb(0 0 0 / 22%),
    0 18px 38px rgb(9 8 7 / 32%);
  backface-visibility: hidden;
  overflow: hidden;
}

.mini-repair-token__face::after {
  content: '';
  position: absolute;
  inset: -30% -80%;
  background: linear-gradient(105deg, transparent 38%, rgb(255 230 177 / 28%) 49%, transparent 61%);
  opacity: 0.16;
  transform: translateX(-24%);
  animation: mini-token-highlight 4.8s infinite;
  pointer-events: none;
}

.mini-repair-token__face--front {
  transform: translateZ(6px);
}

.mini-repair-token__face--back {
  transform: rotateY(180deg) translateZ(6px);
}

.mini-repair-token__edge {
  position: absolute;
  top: 6px;
  bottom: 6px;
  width: 12px;
  border: 1px solid rgb(255 235 196 / 56%);
  border-radius: 6px;
  background: linear-gradient(90deg, #745027 0%, #c5964f 48%, #7d5528 100%);
  box-shadow: 0 0 13px rgb(211 164 88 / 28%);
}

.mini-repair-token__edge--left {
  left: -6px;
  box-shadow: inset -2px 0 3px rgb(47 28 11 / 42%);
  transform: rotateY(-90deg);
}

.mini-repair-token__edge--right {
  right: -6px;
  box-shadow: inset 2px 0 3px rgb(47 28 11 / 42%);
  transform: rotateY(90deg);
}

.mini-repair-mark {
  position: relative;
  z-index: 1;
  width: 104px;
  height: 104px;
  filter: drop-shadow(0 8px 10px rgb(0 0 0 / 28%));
}

.mini-repair-mark__hammer {
  fill: #f0dfba;
  stroke: rgb(255 247 226 / 38%);
  stroke-width: 1;
}

.mini-repair-mark__claw-gap {
  fill: #292927;
  stroke: none;
}

.mini-repair-mark__wrench-gap {
  fill: #292927;
  stroke: none;
}

.mini-repair-mark__wrench {
  fill: #c9974c;
  stroke: #efd39a;
  stroke-width: 1.25;
}

@media (width <= 760px) {
  .mini-repair-token {
    width: 136px;
    height: 112px;
  }

  .mini-repair-mark {
    width: 100px;
    height: 100px;
  }
}

.showcase-promo--light {
  padding: 24px 24px 28px;
}

.showcase-promo--light .mini-zero {
  top: 24px;
}

.why--portal {
  overflow: hidden;
  background: #202823;
  color: #fff;
}

.why-portal__head {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.65fr);
  align-items: end;
  gap: clamp(36px, 7vw, 110px);
  margin-bottom: clamp(34px, 5vw, 66px);
}

.why-portal__head h2 {
  margin: 10px 0 0;
  font: 400 clamp(3.1rem, 6vw, 6.8rem) / 0.88 Georgia, serif;
  letter-spacing: -0.055em;
}

.why-portal__head h2 em {
  color: var(--champagne-light, #e1bd7b);
  font-weight: 400;
}

.why-portal__head > p {
  margin: 0;
  color: rgb(255 255 255 / 70%);
  font-size: clamp(16px, 1.3vw, 20px);
  line-height: 1.55;
}

.why-portal__layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.15fr);
  gap: 18px;
}

.why-portal__layout figure {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  margin: 0;
  border-radius: 28px;
}

.why-portal__layout figure::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgb(15 21 18 / 78%), transparent 58%);
}

.why-portal__layout figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% center;
}

.why-portal__layout figcaption {
  position: absolute;
  z-index: 1;
  right: 28px;
  bottom: 28px;
  left: 28px;
  font: 400 28px/1.08 Georgia, serif;
}

.why-portal__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.why-portal__cards article {
  min-height: 300px;
  padding: clamp(26px, 3vw, 42px);
  border: 1px solid rgb(255 255 255 / 13%);
  border-radius: 28px;
  background: rgb(255 255 255 / 6%);
}

.why-portal__cards svg {
  width: 52px;
  height: 52px;
  margin-bottom: 48px;
  fill: none;
  stroke: #e1bd7b;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.why-portal__cards h3 {
  margin: 0 0 12px;
  font-size: clamp(20px, 1.5vw, 26px);
}

.why-portal__cards p {
  margin: 0;
  color: rgb(255 255 255 / 64%);
  line-height: 1.55;
}

.places-heading > div {
  max-width: 900px;
}

.places-heading h2 {
  margin-bottom: 16px;
}

.places-heading p:last-child {
  max-width: 670px;
  color: var(--ink-soft);
}

.places-grid--real {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-flow: dense;
  grid-auto-rows: 210px;
  gap: 16px;
}

.places-grid--real .place-card {
  grid-column: span 4;
  grid-row: span 2;
  min-height: 0;
}

.places-grid--real .place-card:nth-child(6n + 1),
.places-grid--real .place-card:nth-child(6n + 2) {
  grid-column: span 6;
  grid-row: span 3;
}

.places-grid--real .place-card:nth-child(6n + 5) {
  grid-column: span 8;
}

.places-grid--real .place-card img {
  object-position: center;
}

.final-cta--embedded {
  padding-bottom: 0;
  background: var(--paper);
}

.final-cta--embedded .final-cta__panel {
  position: relative;
  grid-template-columns: minmax(0, 0.82fr) minmax(420px, 0.72fr);
  align-items: center;
  overflow: hidden;
  padding: clamp(46px, 6vw, 86px);
  border-radius: 30px 30px 0 0;
  background: linear-gradient(118deg, #202823 0%, #29312c 58%, #35342f 100%);
  color: #fff;
}

.final-cta__architecture {
  position: absolute;
  inset: auto auto -70px -40px;
  width: 50%;
  height: 72%;
  background: url('../images/hero-khakassia-residence.webp') center / cover no-repeat;
  opacity: 0.12;
  filter: grayscale(1);
  mask-image: linear-gradient(0deg, #000, transparent 92%);
}

.final-cta__copy,
.final-cta__form {
  position: relative;
  z-index: 1;
}

.final-cta--embedded .final-cta__copy {
  grid-column: 1;
  grid-row: 1;
}

.final-cta--embedded .final-cta__form {
  grid-column: 2;
  grid-row: 1;
}

.final-cta--embedded h2 {
  color: #fff;
  font-size: clamp(3.1rem, 5vw, 5.9rem);
}

.final-cta--embedded .final-cta__copy > p:last-child {
  max-width: 540px;
  color: rgb(255 255 255 / 68%);
}

.final-cta__form .lead-dialog__form {
  min-height: 380px;
}

.final-cta__form .b24-form-wrapper,
.final-cta__form .b24-form,
.final-cta__form .b24-form-content,
.final-cta__form .b24-form-inner-box {
  max-width: none !important;
  margin: 0 !important;
  background: transparent !important;
}

.final-cta__form .b24-form-header,
.final-cta__form .b24-form-sign {
  display: none !important;
}

.final-cta__form .b24-form-padding-side,
.final-cta__form .b24-form-content {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.final-cta__form .b24-form-field {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.final-cta__form .b24-form-control {
  border: 1px solid rgb(255 255 255 / 24%) !important;
  border-radius: 13px !important;
  background: rgb(255 255 255 / 8%) !important;
  color: #fff !important;
}

.final-cta__form .b24-form-control-label,
.final-cta__form .b24-form-control-desc,
.final-cta__form .b24-form-field-agreement-link,
.final-cta__form .b24-form-field-agreement-link a {
  color: rgb(255 255 255 / 78%) !important;
}

.final-cta__form .b24-form-btn {
  min-height: 58px !important;
  border-radius: 13px !important;
  background: var(--champagne) !important;
  color: #fff !important;
  font-weight: 750 !important;
}

.site-footer {
  margin: 0 14px 14px;
  border-radius: 0 0 30px 30px;
  background: #161d19 url('../images/hero-khakassia-residence.webp') center bottom / cover no-repeat;
  color: #fff;
}

.site-footer::before {
  background: linear-gradient(105deg, rgb(17 24 20 / 98%) 0%, rgb(20 28 23 / 95%) 54%, rgb(19 25 22 / 84%) 100%);
}

.site-footer a,
.site-footer p,
.site-footer span,
.site-footer .site-footer__intro > div > p,
.site-footer .site-footer__grid--expanded p {
  color: rgb(255 255 255 / 69%);
}

.site-footer strong,
.site-footer .footer-label,
.site-footer .footer-hours,
.site-footer .footer-contact-link {
  color: #fff;
}

.site-footer__intro {
  grid-template-columns: minmax(280px, 700px);
}

.site-footer .brand__new-logo {
  filter: brightness(0) invert(1);
}

.site-footer__intro,
.site-footer__legal,
.site-footer__bottom {
  border-color: rgb(255 255 255 / 14%);
}

.site-footer .socials a {
  border-color: rgb(255 255 255 / 24%);
  color: #fff;
}

.footer-callout--compact {
  width: 100%;
  min-height: 100px;
  margin-top: 26px;
  background: rgb(188 142 74 / 92%);
}

.unit-card__title {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}

.unit-detail-dialog {
  width: min(1080px, calc(100% - 40px));
  max-height: calc(100dvh - 40px);
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.8fr);
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 28px;
  background: #fbfaf7;
  box-shadow: 0 34px 100px rgb(0 0 0 / 34%);
}

.unit-detail-dialog[open] {
  display: grid;
}

.unit-detail-dialog::backdrop {
  background: rgb(16 22 18 / 72%);
  backdrop-filter: blur(8px);
}

.unit-detail-dialog__close {
  position: absolute;
  z-index: 3;
  top: 18px;
  right: 18px;
  width: 46px;
  height: 46px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: rgb(255 255 255 / 92%);
  font-size: 26px;
}

.unit-detail-dialog__media {
  min-height: 640px;
  display: grid;
  place-items: center;
  padding: clamp(28px, 5vw, 70px);
  background: #f1ede6;
}

.unit-detail-dialog__media img {
  width: 100%;
  max-height: 560px;
  object-fit: contain;
}

.unit-detail-dialog__media-note {
  display: none;
  max-width: 310px;
  margin: 0;
  color: var(--ink-soft);
  font-family: var(--font-serif);
  font-size: clamp(1.7rem, 3vw, 2.8rem);
  line-height: 1.08;
  text-align: center;
}

.unit-detail-dialog__media.is-empty img {
  display: none;
}

.unit-detail-dialog__media.is-empty .unit-detail-dialog__media-note {
  display: block;
}

.unit-detail-dialog__body {
  display: flex;
  flex-direction: column;
  padding: clamp(38px, 5vw, 72px);
}

.unit-detail-dialog__complex {
  color: var(--ink-soft);
}

.unit-detail-dialog h2 {
  margin: 12px 0 28px;
  font-size: clamp(2.5rem, 4vw, 4.7rem);
  line-height: 0.95;
}

.unit-detail-dialog h2 span,
.unit-detail-dialog h2 em {
  display: block;
  font-style: normal;
}

.unit-detail-dialog h2 em {
  color: var(--terra);
  font-family: Georgia, serif;
  font-weight: 400;
}

.unit-detail-dialog dl {
  margin: 0 0 24px;
}

.unit-detail-dialog dl div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
}

.unit-detail-dialog dd {
  margin: 0;
  font-weight: 700;
  text-align: right;
}

.unit-detail-dialog__price {
  margin-top: auto;
  font-size: 30px;
}

.unit-detail-dialog__note {
  color: var(--ink-soft);
  font-size: 13px;
}

@media (width <= 980px) {
  .why-portal__head,
  .why-portal__layout,
  .final-cta--embedded .final-cta__panel {
    grid-template-columns: 1fr;
  }

  .final-cta--embedded .final-cta__copy {
    grid-column: 1;
    grid-row: 1;
  }

  .final-cta--embedded .final-cta__form {
    grid-column: 1;
    grid-row: 2;
  }

  .why-portal__layout figure {
    min-height: 480px;
  }

  .places-grid--real .place-card,
  .places-grid--real .place-card:nth-child(n) {
    grid-column: span 6;
    grid-row: span 2;
  }

  .unit-detail-dialog {
    grid-template-columns: 1fr;
    overflow-y: auto;
  }

  .unit-detail-dialog__media {
    min-height: 420px;
  }
}

@media (width <= 640px) {
  .why-portal__cards {
    grid-template-columns: 1fr;
  }

  .why-portal__cards article {
    min-height: 240px;
  }

  .why-portal__layout figure {
    min-height: 390px;
  }

  .places-grid--real {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }

  .places-grid--real .place-card,
  .places-grid--real .place-card:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
    min-height: 390px;
  }

  .final-cta--embedded .final-cta__panel {
    padding: 40px 20px;
    border-radius: 24px 24px 0 0;
  }

  .final-cta__form .lead-dialog__form {
    min-height: 460px;
  }

  .site-footer {
    margin-inline: 8px;
    border-radius: 0 0 24px 24px;
  }

  .unit-detail-dialog {
    width: calc(100% - 16px);
    max-height: calc(100dvh - 16px);
    border-radius: 22px;
  }

  .unit-detail-dialog__media {
    min-height: 300px;
    padding: 34px 22px;
  }

  .unit-detail-dialog__body {
    padding: 34px 22px 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mini-repair-token__body,
  .mini-repair-token__face::after {
    animation: none !important;
  }

  .mini-repair-token__body {
    transform: rotateY(0deg);
  }
}

/* September density pass: fill the footer and catalogue grids without dead zones. */
.site-footer__main {
  display: grid;
  grid-template-columns: minmax(250px, 0.72fr) minmax(0, 2.28fr);
  gap: clamp(38px, 5vw, 76px);
  align-items: start;
  padding-bottom: clamp(46px, 5vw, 68px);
  border-bottom: 1px solid rgb(38 34 31 / 16%);
}

.site-footer__main .site-footer__intro {
  display: block;
  padding: 0;
  border: 0;
}

.site-footer__main .site-footer__intro > div > p {
  margin-top: 20px;
  font-size: clamp(15px, 1.15vw, 18px);
}

.site-footer__main .site-footer__grid--expanded {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 48px);
  padding: 4px 0 0;
}

.site-footer__main .site-footer__grid--expanded > div,
.site-footer__main .site-footer__grid--expanded > nav {
  font-size: 14px;
}

.site-footer__main .footer-hours {
  font-size: 21px;
}

.site-footer__main .footer-callout--compact {
  width: calc(100% + 28px);
  min-height: 82px;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  gap: 4px 12px;
  margin: 10px 0 0 -28px;
  padding: 13px 18px 14px;
  border-radius: 20px;
}

.site-footer__main .footer-callout--compact span {
  grid-row: 1;
  grid-column: 1 / -1;
  align-self: end;
  font-size: 10px;
}

.site-footer__main .footer-callout--compact strong {
  grid-row: 2;
  grid-column: 1;
  align-self: start;
  font-size: 18px;
  line-height: 1.15;
  white-space: nowrap;
}

.site-footer__main .footer-callout--compact i {
  grid-row: 2;
  grid-column: 2;
  align-self: start;
  font-size: 20px;
}

.places-grid--real .place-card:nth-child(6n + 5) {
  grid-column: span 4;
}

.unit-card__media {
  width: calc(100% + clamp(2.8rem, 4.6vw, 4.4rem));
  height: 230px;
  margin: calc(clamp(1.4rem, 2.3vw, 2.2rem) * -1) calc(clamp(1.4rem, 2.3vw, 2.2rem) * -1) 20px;
  object-fit: cover;
  object-position: center;
}

.unit-card {
  overflow: hidden;
}

@media (width <= 1180px) {
  .site-footer__main {
    grid-template-columns: 1fr;
  }

  .site-footer__main .site-footer__grid--expanded {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (width <= 640px) {
  .places-grid--real {
    grid-template-columns: minmax(0, 1fr);
  }

  .places-grid--real .place-card,
  .places-grid--real .place-card:nth-child(n) {
    grid-column: 1;
    width: 100%;
    min-height: 24rem;
    transform: none;
  }

  .site-footer__main .site-footer__grid--expanded {
    grid-template-columns: 1fr;
  }

  .site-footer__main .footer-callout--compact {
    width: 100%;
    margin-left: 0;
  }

  .unit-card__media {
    height: 210px;
  }
}

/* Brighter homepage imagery and a cohesive third 3D promo token. */
.home-presentation .hero--real .hero__wash {
  background: linear-gradient(
    90deg,
    rgb(251 250 246 / 92%) 0%,
    rgb(251 250 246 / 78%) 24%,
    rgb(251 250 246 / 32%) 43%,
    rgb(251 250 246 / 4%) 64%,
    transparent 76%
  );
}

.showcase-slide > img {
  filter: brightness(1.09) saturate(1.04);
}

.showcase-slide__shade {
  background:
    linear-gradient(180deg, rgb(20 34 28 / 1%) 30%, rgb(20 34 28 / 66%) 100%),
    linear-gradient(90deg, rgb(20 34 28 / 18%), transparent 64%);
}

.mini-zero-token {
  position: absolute;
  z-index: 2;
  top: 24px;
  left: 50%;
  width: 142px;
  height: 118px;
  perspective: 840px;
  perspective-origin: 50% 50%;
  transform: translateX(-50%);
}

.mini-zero-token__body {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  will-change: transform;
  animation: mini-token-flip 4.8s infinite;
}

.mini-zero-token__face {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid rgb(205 165 96 / 78%);
  border-radius: 22px;
  background:
    radial-gradient(circle at 28% 18%, rgb(255 255 255 / 62%), transparent 38%),
    linear-gradient(145deg, #fffdf6 0%, #f1e4ca 76%, #e1c999 100%);
  color: #27251f;
  box-shadow:
    inset 0 0 0 1px rgb(255 255 255 / 70%),
    0 18px 38px rgb(25 19 13 / 24%);
  backface-visibility: hidden;
  overflow: hidden;
}

.mini-zero-token__face::after {
  content: '';
  position: absolute;
  inset: -30% -80%;
  background: linear-gradient(105deg, transparent 36%, rgb(255 255 255 / 62%) 49%, transparent 62%);
  opacity: 0.18;
  transform: translateX(-24%);
  animation: mini-token-highlight 4.8s infinite;
  pointer-events: none;
}

.mini-zero-token__face--front {
  transform: translateZ(6px);
}

.mini-zero-token__face--back {
  transform: rotateY(180deg) translateZ(6px);
}

.mini-zero-token__face b,
.mini-zero-token__face i {
  position: relative;
  z-index: 1;
  font-style: normal;
}

.mini-zero-token__face b {
  font: 600 62px/0.9 Georgia, 'Times New Roman', serif;
  letter-spacing: -0.06em;
}

.mini-zero-token__face i {
  align-self: flex-end;
  margin-bottom: 24px;
  color: #9d7039;
  font: 650 29px/1 Arial, sans-serif;
}

.mini-zero-token__edge {
  position: absolute;
  top: 6px;
  bottom: 6px;
  width: 12px;
  border: 1px solid rgb(255 247 228 / 76%);
  border-radius: 6px;
  background: linear-gradient(90deg, #7c5429 0%, #c99a52 48%, #825a2b 100%);
  box-shadow: 0 0 14px rgb(217 176 106 / 34%);
}

.mini-zero-token__edge--left {
  left: -6px;
  box-shadow: inset -2px 0 3px rgb(64 39 15 / 34%);
  transform: rotateY(-90deg);
}

.mini-zero-token__edge--right {
  right: -6px;
  box-shadow: inset 2px 0 3px rgb(64 39 15 / 34%);
  transform: rotateY(90deg);
}

.showcase-promo--light > strong {
  max-width: 205px;
  padding-right: 8px;
  font-size: clamp(19px, 1.28vw, 22px);
  line-height: 1.1;
}

@media (width <= 760px) {
  .home-presentation .hero--real .hero__wash {
    background: linear-gradient(
      180deg,
      rgb(251 250 246 / 5%) 0%,
      rgb(251 250 246 / 48%) 43%,
      rgb(251 250 246 / 92%) 74%
    );
  }

  .mini-zero-token {
    width: 136px;
    height: 112px;
  }

  .showcase-promo--light > strong {
    max-width: 215px;
    font-size: 21px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mini-zero-token__body,
  .mini-zero-token__face::after {
    animation: none !important;
  }

  .mini-zero-token__body {
    transform: rotateY(0deg);
  }
}
