.real-estate-v2 {
  --re-ink: #17312d;
  --re-ink-soft: #48625d;
  --re-evergreen: #174f46;
  --re-evergreen-deep: #0d3832;
  --re-copper: #b8643f;
  --re-sand: #eee7d8;
  --re-paper: #f8f5ed;
  --re-white: #fffefb;
  --re-line: rgba(23, 49, 45, .14);
  --re-shadow: 0 24px 70px rgba(19, 55, 49, .12);
  color: var(--re-ink);
  container-type: inline-size;
  margin: clamp(1rem, 2.8vw, 3rem) auto;
  max-width: 92rem;
  padding: clamp(.8rem, 2.8vw, 2.5rem);
}

.real-estate-v2 *,
.real-estate-v2 *::before,
.real-estate-v2 *::after { box-sizing: border-box; }
.real-estate-v2 a { color: inherit; }
.real-estate-v2 h1,
.real-estate-v2 h2,
.real-estate-v2 h3 { color: inherit; font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif; }
.real-estate-v2 :focus-visible { outline: 3px solid #e5966d; outline-offset: 4px; }

.real-estate-v2__hero {
  background:
    radial-gradient(circle at 86% 5%, rgba(225, 157, 119, .28), transparent 25rem),
    linear-gradient(128deg, var(--re-evergreen-deep), var(--re-evergreen) 62%, #2d6a5f);
  border-radius: clamp(1.35rem, 3vw, 2.8rem);
  box-shadow: var(--re-shadow);
  color: #fffdf7;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(2.2rem, 6vw, 6rem);
  position: relative;
}
.real-estate-v2__hero::after {
  background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 38px 38px;
  content: "";
  inset: 0;
  mask-image: linear-gradient(90deg, transparent 25%, #000);
  pointer-events: none;
  position: absolute;
  z-index: -1;
}
.real-estate-v2__hero--home,
.real-estate-v2__hero--catalogue { align-items: end; display: grid; gap: clamp(2rem, 5vw, 6rem); grid-template-columns: minmax(0, 1fr) minmax(13rem, .38fr); }
.real-estate-v2__hero-copy { max-width: 53rem; }
.real-estate-v2__hero h1,
.real-estate-v2__hero h2,
.real-estate-detail-hero h1 {
  font-size: clamp(2.5rem, 6.8vw, 6.2rem);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: .92;
  margin: .7rem 0 1.25rem;
  text-wrap: balance;
}
.real-estate-v2__hero p,
.real-estate-detail-hero__copy > p { color: rgba(255, 253, 247, .78); font-size: clamp(1rem, 1.5vw, 1.22rem); line-height: 1.7; margin: 0; max-width: 45rem; }
.real-estate-v2__kicker { color: #e9a784; display: inline-block; font-size: .72rem; font-weight: 850; letter-spacing: .18em; text-transform: uppercase; }
.real-estate-v2__hero-stat { backdrop-filter: blur(8px); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); border-radius: 1.5rem; display: grid; padding: 1.5rem; }
.real-estate-v2__hero-stat strong { font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(3rem, 7vw, 5.5rem); font-weight: 500; letter-spacing: -.06em; line-height: 1; }
.real-estate-v2__hero-stat span { color: rgba(255,255,255,.68); font-size: .76rem; font-weight: 800; letter-spacing: .12em; margin-top: .45rem; text-transform: uppercase; }
.real-estate-v2__hero-art { aspect-ratio: 4/3; border: 1px solid rgba(255,255,255,.22); border-radius: 50% 50% 1.5rem 1.5rem; overflow: hidden; position: relative; }
.real-estate-v2__hero-art::before { background: linear-gradient(#d8a379, #8fb2a4); content: ""; inset: 0; opacity: .7; position: absolute; }
.real-estate-v2__hero-art span { background: var(--re-evergreen-deep); bottom: 0; height: 43%; inset-inline: 12%; position: absolute; }
.real-estate-v2__hero-art i { border-color: transparent transparent var(--re-evergreen-deep); border-style: solid; border-width: 0 7rem 5rem; bottom: 43%; inset-inline-start: calc(50% - 7rem); position: absolute; }
.real-estate-v2__hero-art b { background: #e6b183; bottom: 0; height: 30%; inset-inline-start: 44%; position: absolute; width: 13%; }

.real-estate-button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: .84rem;
  font-weight: 850;
  gap: .65rem;
  justify-content: center;
  min-height: 2.9rem;
  padding: .72rem 1.2rem;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.real-estate-button:hover { transform: translateY(-2px); }
.real-estate-button--primary { background: var(--re-copper); color: #fff; }
.real-estate-button--quiet { background: transparent; border-color: var(--re-line); color: var(--re-evergreen); }
.real-estate-button--reserve { background: var(--re-evergreen); color: #fff; }
.real-estate-button--light { background: #fffdf7; color: var(--re-evergreen-deep); margin-top: 1.8rem; }

.real-estate-filter {
  align-items: end;
  background: var(--re-white);
  border: 1px solid var(--re-line);
  border-radius: 1.5rem;
  box-shadow: 0 18px 50px rgba(19, 55, 49, .08);
  display: grid;
  gap: .9rem;
  grid-template-columns: minmax(14rem, 2fr) repeat(5, minmax(8rem, 1fr));
  margin: -1.2rem clamp(.8rem, 3vw, 3rem) 2rem;
  padding: 1.25rem;
  position: relative;
  z-index: 3;
}
.real-estate-field { display: grid; gap: .42rem; min-width: 0; }
.real-estate-field > span { color: var(--re-ink-soft); font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.real-estate-control { background: var(--re-paper); border: 1px solid transparent; border-radius: .75rem; color: var(--re-ink); font: inherit; min-height: 2.85rem; min-width: 0; padding: .62rem .75rem; width: 100%; }
.real-estate-control:hover { border-color: rgba(23,79,70,.3); }
.real-estate-control:focus { background: #fff; border-color: var(--re-evergreen); outline: none; }
.real-estate-filter__actions { display: flex; gap: .55rem; grid-column: 1 / -1; justify-content: end; }
.real-estate-filter__error { color: #9c341f; font-size: .85rem; grid-column: 1 / -1; min-height: 0; }
.real-estate-filter__error:empty { display: none; }

.real-estate-results { min-height: 16rem; position: relative; }
.real-estate-results[aria-busy="true"] { opacity: .58; pointer-events: none; }
.real-estate-results[aria-busy="true"]::after { animation: re-spin .8s linear infinite; border: 3px solid rgba(23,79,70,.15); border-top-color: var(--re-copper); border-radius: 50%; content: ""; height: 2rem; inset: 4rem auto auto 50%; position: absolute; width: 2rem; }
.real-estate-results__head { align-items: end; display: flex; gap: 1rem; justify-content: space-between; margin: 1.5rem 0 1rem; }
.real-estate-results__head h2 { font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 500; letter-spacing: -.04em; line-height: 1; margin: .45rem 0 0; }
.real-estate-results__head > strong { color: var(--re-ink-soft); font-size: .82rem; }
.real-estate-active-filters { display: flex; flex-wrap: wrap; gap: .5rem; }
.real-estate-active-filters a { align-items: center; background: #edf3ee; border: 1px solid rgba(23,79,70,.12); border-radius: 999px; display: inline-flex; font-size: .76rem; gap: .45rem; padding: .42rem .7rem; text-decoration: none; }
.real-estate-active-filters strong { color: var(--re-evergreen); }
.real-estate-active-filters b { font-size: 1rem; font-weight: 400; line-height: 1; }

.real-estate-v2__grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.real-estate-v2__grid--featured { margin-top: 1.4rem; }
.real-estate-v2__home-stream { margin-top: clamp(2.4rem, 6vw, 5rem); }
.real-estate-v2__stream-head { max-width: 54rem; }
.real-estate-v2__stream-head h2 { color: var(--re-evergreen-deep); font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 500; letter-spacing: -.04em; line-height: 1.03; margin: .45rem 0 .7rem; }
.real-estate-v2__stream-head p { color: var(--re-muted); margin: 0 0 1.4rem; max-width: 46rem; }
.real-estate-v2-card { animation: re-rise .55s both; background: var(--re-white); border: 1px solid var(--re-line); border-radius: 1.25rem; box-shadow: 0 12px 36px rgba(19,55,49,.07); display: flex; flex-direction: column; min-width: 0; overflow: hidden; transition: box-shadow .24s ease, transform .24s ease; }
.real-estate-v2-card:nth-child(2) { animation-delay: .06s; }
.real-estate-v2-card:nth-child(3) { animation-delay: .12s; }
.real-estate-v2-card:hover { box-shadow: var(--re-shadow); transform: translateY(-5px); }
.real-estate-v2-card__media { aspect-ratio: 16/10; background: #dbe5df; display: block; overflow: hidden; position: relative; text-decoration: none; }
.real-estate-v2-card__media img { height: 100%; object-fit: cover; transition: transform .55s ease; width: 100%; }
.real-estate-v2-card:hover .real-estate-v2-card__media img { transform: scale(1.035); }
.real-estate-media-placeholder { background: linear-gradient(155deg, #d7e2db, #b8cfc3 55%, #e9d3b5); display: block; height: 100%; overflow: hidden; position: relative; width: 100%; }
.real-estate-media-placeholder::before { background: rgba(255,255,255,.45); border-radius: 50%; content: ""; height: 6rem; inset: 1.5rem 12% auto auto; position: absolute; width: 6rem; }
.real-estate-media-placeholder i { background: #3d6b60; bottom: 0; height: 43%; inset-inline: 12%; position: absolute; transform: skewY(-4deg); }
.real-estate-media-placeholder b { border-color: transparent transparent #28584f; border-style: solid; border-width: 0 5.5rem 3.6rem; bottom: 40%; inset-inline-start: calc(50% - 5.5rem); position: absolute; }
.real-estate-media-placeholder em { background: #e9b485; bottom: 0; height: 28%; inset-inline-start: 44%; position: absolute; width: 12%; }
.real-estate-v2-card__type { backdrop-filter: blur(8px); background: rgba(255,254,251,.88); border-radius: 999px; bottom: .85rem; color: var(--re-evergreen); font-size: .7rem; font-weight: 850; inset-inline-start: .85rem; padding: .42rem .7rem; position: absolute; }
.real-estate-v2-card__reserved { backdrop-filter: blur(8px); background: rgba(184, 100, 63, .94); border-radius: 999px; color: #fff; font-size: .7rem; font-weight: 850; inset-block-start: .85rem; inset-inline-end: .85rem; letter-spacing: .06em; padding: .42rem .7rem; position: absolute; text-transform: uppercase; }
.real-estate-v2-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.15rem 1.2rem .85rem; }
.real-estate-v2-card__topline { color: var(--re-evergreen); display: flex; font-size: .68rem; font-weight: 850; gap: .65rem; justify-content: space-between; letter-spacing: .07em; text-transform: uppercase; }
.real-estate-v2-card h3 { font-size: clamp(1.35rem, 2.2vw, 1.75rem); font-weight: 600; line-height: 1.08; margin: .8rem 0 .45rem; }
.real-estate-v2-card h3 a { text-decoration: none; }
.real-estate-v2-card__location { color: var(--re-copper); font-size: .8rem; margin: 0; }
.real-estate-v2-card__summary { color: var(--re-ink-soft); display: -webkit-box; font-size: .9rem; line-height: 1.55; margin: .75rem 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.real-estate-v2-card__facts { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: auto; }
.real-estate-v2-card__facts span { background: var(--re-paper); border-radius: .5rem; color: var(--re-evergreen); font-size: .72rem; font-weight: 750; padding: .38rem .52rem; }
.real-estate-v2-card__footer { align-items: center; border-top: 1px solid var(--re-line); display: flex; gap: 1rem; justify-content: space-between; min-height: 4.4rem; padding: .8rem 1.2rem 1rem; }
.real-estate-price strong { color: var(--re-ink); font-family: "Iowan Old Style", Georgia, serif; font-size: 1.2rem; font-weight: 650; }
.real-estate-v2-card__footer > a { align-items: center; background: var(--re-evergreen); border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 2.45rem; font-size: 1.05rem; height: 2.45rem; justify-content: center; text-decoration: none; }

.real-estate-v2__pager { background: var(--re-paper); border: 1px solid var(--re-line); border-radius: 1rem; margin-top: 1.4rem; padding: .75rem 1rem; }
.real-estate-v2__pager a { border-radius: .4rem; text-decoration: none; }
.real-estate-v2__empty { background: var(--re-paper); border: 1px dashed rgba(23,79,70,.25); border-radius: 1.3rem; margin-top: 1.5rem; padding: clamp(2rem, 6vw, 5rem); text-align: center; }
.real-estate-v2__empty h1,
.real-estate-v2__empty h2 { font-size: clamp(1.8rem, 4vw, 3.5rem); font-weight: 500; margin: .6rem auto; max-width: 22ch; }
.real-estate-v2__empty p { color: var(--re-ink-soft); margin: .6rem auto 1.4rem; max-width: 42rem; }
.real-estate-v2__empty--state { margin-inline: auto; max-width: 54rem; }
.real-estate-empty-mark { border: 2px solid var(--re-copper); border-radius: 50% 50% .6rem .6rem; display: inline-block; height: 3.5rem; opacity: .7; position: relative; width: 3.5rem; }
.real-estate-empty-mark::after { background: var(--re-copper); bottom: 0; content: ""; height: 45%; inset-inline: 25%; position: absolute; }
.real-estate-status { bottom: 1rem; inset-inline-end: 1rem; position: fixed; z-index: 50; }
.real-estate-status.is-visible { background: var(--re-evergreen-deep); border-radius: 999px; color: #fff; padding: .7rem 1rem; }

.real-estate-detail-hero { align-items: end; background: var(--re-evergreen-deep); border-radius: 2rem; color: #fffdf7; display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr) auto; padding: clamp(2rem, 5vw, 5rem); }
.real-estate-detail-hero__place { display: flex; flex-wrap: wrap; gap: .6rem 1.2rem; margin-top: 1.3rem; }
.real-estate-detail-hero__place span { color: rgba(255,255,255,.66); }
.real-estate-detail-price { border-inline-start: 1px solid rgba(255,255,255,.2); display: grid; min-width: 13rem; padding-inline-start: 2rem; }
.real-estate-detail-price strong { font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(2.4rem, 5vw, 4.7rem); font-weight: 500; letter-spacing: -.055em; line-height: 1; }
.real-estate-detail-price span { color: #e9a784; font-weight: 800; margin-top: .4rem; }
.real-estate-detail-price [data-real-estate-reserved-slot] { display: contents; }
.real-estate-detail-price .real-estate-reserved-badge { align-items: center; background: #a33b2b; border-radius: 999px; color: #fff; display: inline-flex; font-size: .72rem; justify-self: start; letter-spacing: .06em; margin: 0 0 .85rem; padding: .48rem .75rem; text-transform: uppercase; }
.real-estate-gallery { background: #c8d8cf; border-radius: 1.5rem; display: grid; gap: .35rem; grid-auto-rows: minmax(11rem, 20rem); grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); margin: 1.2rem 0; overflow: hidden; padding: .35rem; position: relative; }
.real-estate-gallery > img { height: 100%; min-height: clamp(16rem, 42vw, 34rem); object-fit: cover; width: 100%; }
.real-estate-gallery--mosaic { grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
.real-estate-gallery figure { display: block; height: 100%; margin: 0; min-height: 0; overflow: hidden; position: relative; }
.real-estate-gallery figure:first-child { grid-column: span 2; grid-row: span 2; }
.real-estate-gallery figure img { height: 100%; object-fit: cover; transition: transform .45s ease; width: 100%; }
.real-estate-gallery figure:hover img { transform: scale(1.018); }
.real-estate-gallery figcaption { background: rgba(14, 45, 39, .78); bottom: 0; color: #fff; font-size: .78rem; inset-inline: 0; padding: .55rem .75rem; position: absolute; }
.real-estate-gallery__placeholder { background: linear-gradient(145deg, #cdded5, #9cbeb0 55%, #ead1ad); height: 100%; overflow: hidden; position: relative; }
.real-estate-gallery__placeholder::before { background: rgba(255,255,255,.34); border-radius: 50%; content: ""; height: 14rem; inset: 9% 12% auto auto; position: absolute; width: 14rem; }
.real-estate-gallery__placeholder span { background: #31665a; bottom: 0; height: 45%; inset-inline: 12% 42%; position: absolute; }
.real-estate-gallery__placeholder i { background: #204d45; bottom: 0; height: 58%; inset-inline: 47% 13%; position: absolute; }
.real-estate-gallery__placeholder b { border-color: transparent transparent #19473f; border-style: solid; border-width: 0 10rem 7rem; bottom: 55%; inset-inline-end: 7%; position: absolute; }
.real-estate-gallery__placeholder em { background: #d9986e; bottom: 0; height: 28%; inset-inline-end: 28%; position: absolute; width: 7%; }
.real-estate-gallery__note { backdrop-filter: blur(9px); background: rgba(255,254,251,.86); border-radius: 1rem; bottom: 1rem; display: grid; inset-inline-start: 1rem; padding: .75rem 1rem; position: absolute; z-index: 2; }
.real-estate-gallery__note span { color: var(--re-copper); font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.real-estate-v2-detail { display: grid; gap: 1.2rem; grid-template-columns: minmax(0, 1fr) minmax(18rem, 25rem); }
.real-estate-v2-detail__main,
.real-estate-v2-detail__aside { background: var(--re-white); border: 1px solid var(--re-line); border-radius: 1.25rem; padding: clamp(1.3rem, 3vw, 2.6rem); }
.real-estate-v2-detail__facts { display: flex; flex-wrap: wrap; gap: .8rem; margin-bottom: 2rem; }
.real-estate-v2-detail__facts div { background: var(--re-paper); border-radius: .8rem; display: grid; min-width: 7rem; padding: .8rem 1rem; }
.real-estate-v2-detail__facts strong { font-family: "Iowan Old Style", Georgia, serif; font-size: 1.65rem; }
.real-estate-v2-detail__facts span { color: var(--re-ink-soft); font-size: .72rem; }
.real-estate-v2-detail__commercial { background: var(--re-paper); border: 1px solid var(--re-line); border-radius: .8rem; display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin: 0 0 1.5rem; padding: .8rem 1rem; }
.real-estate-v2-detail__commercial div { display: grid; gap: .16rem; }
.real-estate-v2-detail__commercial dt { color: var(--re-ink-soft); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.real-estate-v2-detail__commercial dd { color: var(--re-ink); font-weight: 800; margin: 0; }
.real-estate-v2-detail__description { color: var(--re-ink-soft); font-size: 1rem; line-height: 1.8; }
.real-estate-v2-detail__description > :first-child { margin-top: 0; }
.real-estate-v2-detail__description > :last-child { margin-bottom: 0; }
.real-estate-v2-detail__description :is(h2, h3, h4) { color: var(--re-ink); font-family: "Iowan Old Style", Georgia, serif; font-weight: 550; line-height: 1.18; margin: 1.6em 0 .55em; }
.real-estate-v2-detail__description :is(p, ul, ol, blockquote) { margin: 0 0 1em; }
.real-estate-v2-detail__description :is(ul, ol) { padding-inline-start: 1.35rem; }
.real-estate-v2-detail__description a { color: var(--re-forest); text-decoration-thickness: .08em; text-underline-offset: .16em; }
.real-estate-v2-detail__description img { border-radius: 1rem; display: block; height: auto; margin: 1.2rem 0; max-width: 100%; }
.real-estate-v2-detail__attributes { border-top: 1px solid var(--re-line); margin-top: 2rem; padding-top: 1.6rem; }
.real-estate-v2-detail__attributes h2 { font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(1.75rem, 3vw, 2.4rem); font-weight: 550; margin: .35rem 0 1rem; }
.real-estate-v2-detail__attributes dl { display: grid; gap: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.real-estate-v2-detail__attributes dl > div { align-items: baseline; border-bottom: 1px solid var(--re-line); display: flex; gap: 1rem; justify-content: space-between; padding: .8rem 0; }
.real-estate-v2-detail__attributes dl > div:nth-child(odd) { margin-inline-end: 1.25rem; }
.real-estate-v2-detail__attributes dl > .real-estate-v2-detail__attribute-group { border-bottom: 0; color: var(--re-evergreen); grid-column: 1 / -1; margin: 1.25rem 0 0; padding: 1rem 0 .35rem; }
.real-estate-v2-detail__attributes dl > .real-estate-v2-detail__attribute-group dt { color: inherit; font-family: "Iowan Old Style", Georgia, serif; font-size: 1.05rem; font-weight: 700; letter-spacing: .01em; }
.real-estate-v2-detail__attributes dt { color: var(--re-ink-soft); font-size: .78rem; font-weight: 750; }
.real-estate-v2-detail__attributes dd { color: var(--re-ink); font-weight: 720; margin: 0; text-align: end; }
.real-estate-v2-detail__aside { align-self: start; position: sticky; top: 1rem; }
.real-estate-v2-detail__aside h2 { font-size: 1.8rem; font-weight: 550; margin: .55rem 0; }
.real-estate-v2-detail__aside > p { color: var(--re-ink-soft); line-height: 1.55; }
.real-estate-contact-actions { display: grid; gap: .6rem; margin: 1.4rem 0; }
.real-estate-contact-actions .real-estate-button { align-items: flex-start; border-radius: .8rem; display: grid; justify-items: start; text-align: start; }
.real-estate-contact-actions span { font-size: .68rem; opacity: .78; text-transform: uppercase; }
.real-estate-contact-actions strong { overflow-wrap: anywhere; }
.real-estate-intake { border-top: 1px solid var(--re-line); display: grid; gap: 1rem; margin-top: 1.4rem; padding-top: 1.4rem; }
.real-estate-intake header { display: grid; gap: .35rem; }
.real-estate-intake header h3 { font-size: 1.45rem; font-weight: 560; margin: 0; }
.real-estate-intake header p { color: var(--re-ink-soft); font-size: .88rem; line-height: 1.55; margin: 0; }
.real-estate-intake__form { display: grid; gap: .75rem; }
.real-estate-intake__form > label:not(.real-estate-intake__consent) { display: grid; gap: .35rem; }
.real-estate-intake__form > label:not(.real-estate-intake__consent) > span { color: var(--re-ink-soft); font-size: .7rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.real-estate-intake__consent { align-items: start; color: var(--re-ink-soft); display: grid; font-size: .78rem; gap: .55rem; grid-template-columns: auto minmax(0, 1fr); line-height: 1.45; }
.real-estate-intake__consent input { accent-color: var(--re-evergreen); margin-top: .18rem; }
.real-estate-intake__actions { display: grid; gap: .55rem; grid-template-columns: 1fr; }
.real-estate-intake__actions .real-estate-button { width: 100%; }
.real-estate-intake__help { color: var(--re-ink-soft); font-size: .76rem; line-height: 1.5; margin: 0; }
.real-estate-intake__notice { border: 1px solid transparent; border-radius: .75rem; font-size: .82rem; line-height: 1.5; padding: .7rem .8rem; }
.real-estate-intake__notice--success { background: #e8f3ed; border-color: rgba(23, 79, 70, .22); color: var(--re-evergreen-deep); }
.real-estate-intake__notice--error { background: #fff0eb; border-color: rgba(156, 52, 31, .24); color: #8c2e1d; }
.real-estate-intake[data-outcome="unknown"] { border-color: rgba(184, 100, 63, .45); }
.real-estate-intake__form[aria-busy="true"] { opacity: .62; }
.real-estate-intake__form[aria-busy="true"] :is(input, button) { cursor: wait; }
.real-estate-reservation-dialog { background: transparent; border: 0; color: var(--re-ink); margin: auto; max-height: calc(100dvh - 2rem); max-width: min(38rem, calc(100vw - 2rem)); padding: 0; width: 100%; }
.real-estate-reservation-dialog::backdrop { backdrop-filter: blur(5px); background: rgba(7, 28, 24, .64); }
.real-estate-reservation-dialog__surface { background: var(--re-white); border: 1px solid var(--re-line); border-radius: 1.25rem; box-shadow: 0 30px 90px rgba(7, 28, 24, .32); display: grid; gap: 1rem; max-height: calc(100dvh - 2rem); overflow: auto; padding: clamp(1.25rem, 4vw, 2.2rem); position: relative; }
.real-estate-reservation-dialog__surface h4 { font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(1.65rem, 4vw, 2.35rem); font-weight: 550; line-height: 1.08; margin: 0; }
.real-estate-reservation-dialog__surface > p { color: var(--re-ink-soft); line-height: 1.6; margin: 0; }
.real-estate-reservation-dialog__close { align-items: center; background: transparent; border: 1px solid var(--re-line); border-radius: 50%; color: var(--re-ink); cursor: pointer; display: inline-flex; font: inherit; font-size: 1.25rem; height: 2.4rem; inset-block-start: 1rem; inset-inline-end: 1rem; justify-content: center; position: absolute; width: 2.4rem; }
.real-estate-reservation-dialog__terms,
.real-estate-reservation-fallback { border: 0; display: grid; gap: .65rem; margin: 0; padding: 0; }
.real-estate-reservation-dialog__terms legend,
.real-estate-reservation-fallback legend { color: var(--re-ink); font-size: .78rem; font-weight: 850; margin-bottom: .65rem; }
.real-estate-reservation-dialog__terms label,
.real-estate-reservation-fallback label { align-items: center; background: var(--re-paper); border: 1px solid var(--re-line); border-radius: .8rem; color: var(--re-ink); cursor: pointer; display: flex; font-weight: 750; gap: .7rem; line-height: 1.4; padding: .85rem 1rem; }
.real-estate-reservation-dialog__terms input,
.real-estate-reservation-fallback input { accent-color: var(--re-evergreen); flex: 0 0 auto; }
.real-estate-reservation-dialog__actions { display: flex; flex-wrap: wrap; gap: .65rem; justify-content: end; padding-top: .35rem; }
.real-estate-reservation-fallback { background: var(--re-paper); border: 1px solid var(--re-line); border-radius: .8rem; padding: 1rem; }
.real-estate-reservation-fallback > p { color: var(--re-ink-soft); line-height: 1.5; margin: 0; }
.real-estate-detail-back { color: var(--re-evergreen); display: inline-block; font-size: .82rem; font-weight: 850; margin-top: 1rem; text-decoration: none; }

[dir="rtl"].real-estate-v2 .real-estate-v2__hero::after { mask-image: linear-gradient(-90deg, transparent 25%, #000); }
[dir="rtl"].real-estate-v2 .real-estate-v2-card__footer > a,
[dir="rtl"].real-estate-v2 .real-estate-button span[aria-hidden="true"] { transform: scaleX(-1); }

@keyframes re-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes re-spin { to { transform: rotate(360deg); } }

@container (max-width: 75rem) {
  .real-estate-filter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .real-estate-field--search { grid-column: span 2; }
}
@container (max-width: 62rem) {
  .real-estate-v2__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .real-estate-v2__hero--home,
  .real-estate-v2__hero--catalogue { grid-template-columns: 1fr; }
  .real-estate-v2__hero-art { display: none; }
  .real-estate-v2-detail { grid-template-columns: 1fr; }
  .real-estate-v2-detail__aside { position: static; }
}
@container (max-width: 43rem) {
  .real-estate-v2 { padding: .35rem; }
  .real-estate-filter { grid-template-columns: 1fr 1fr; margin-inline: .45rem; }
  .real-estate-field--search { grid-column: 1 / -1; }
  .real-estate-v2__grid { grid-template-columns: 1fr; }
  .real-estate-results__head { align-items: start; flex-direction: column; }
  .real-estate-detail-hero { grid-template-columns: 1fr; }
  .real-estate-detail-price { border-inline-start: 0; border-top: 1px solid rgba(255,255,255,.2); padding: 1.3rem 0 0; }
  .real-estate-gallery { grid-auto-rows: minmax(13rem, 60vw); grid-template-columns: 1fr; }
  .real-estate-gallery--mosaic figure:first-child { grid-column: auto; grid-row: auto; }
  .real-estate-v2-detail__attributes dl { grid-template-columns: 1fr; }
  .real-estate-v2-detail__attributes dl > div:nth-child(odd) { margin-inline-end: 0; }
}
@container (max-width: 31rem) {
  .real-estate-filter { grid-template-columns: 1fr; }
  .real-estate-field--search { grid-column: auto; }
  .real-estate-filter__actions { align-items: stretch; flex-direction: column; }
  .real-estate-v2__hero-stat { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .real-estate-v2 *, .real-estate-v2 *::before, .real-estate-v2 *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .real-estate-gallery figure:hover img { transform: none; }
}
