:root {
  --offer-shadow: 0 26px 70px rgba(8, 25, 34, 0.14);
}

.offer-page { background: var(--paper); }
.offer-page.is-locked { overflow: hidden; }
.offer-page .site-header { background: var(--navy); }

.listing-hero {
  padding: 38px 0 136px;
  color: var(--white);
  background: var(--navy);
  position: relative;
  overflow: hidden;
}
.listing-hero::before {
  width: 580px;
  height: 580px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 50%;
  position: absolute;
  top: -420px;
  right: -45px;
  content: "";
}
.listing-breadcrumbs {
  margin: 0 0 31px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: rgba(255, 255, 255, 0.46);
  font-size: 9px;
  list-style: none;
}
.listing-breadcrumbs li + li::before { margin-right: 8px; content: "/"; }
.listing-breadcrumbs a:hover { color: var(--white); }
.listing-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  align-items: end;
  gap: 70px;
}
.listing-eyebrow {
  margin: 0 0 13px;
  color: var(--accent);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.listing-title {
  max-width: 930px;
  margin: 0;
  font-family: "Iowan Old Style", Baskerville, Georgia, serif;
  font-size: clamp(39px, 4.2vw, 61px);
  font-weight: 500;
  line-height: 1.06;
  letter-spacing: -0.035em;
}
.listing-address {
  max-width: 850px;
  margin: 19px 0 0;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
}
.listing-address svg { width: 15px; margin-top: 2px; flex: 0 0 auto; fill: none; stroke: var(--accent); }
.listing-heading-side { padding: 2px 0 3px 22px; border-left: 1px solid rgba(255, 255, 255, 0.16); }
.listing-id { margin: 0 0 9px; color: rgba(255, 255, 255, 0.4); font-size: 8px; font-weight: 750; letter-spacing: 0.14em; text-transform: uppercase; }
.listing-hero-price { margin: 0 0 12px; font-family: "Iowan Old Style", Baskerville, Georgia, serif; font-size: 29px; line-height: 1.15; white-space: nowrap; }
.listing-hero-price span { color: rgba(255, 255, 255, 0.45); font-family: Inter, Arial, sans-serif; font-size: 9px; font-weight: 650; }
.listing-status { display: flex; align-items: center; gap: 9px; font-size: 10px; }
.listing-status::before { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 5px rgba(111, 167, 163, 0.12); content: ""; }
.listing-actions { margin-top: 22px; display: flex; gap: 6px; }
.listing-action {
  height: 37px;
  padding: 0 9px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.78);
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex: 0 1 auto;
  white-space: nowrap;
  cursor: pointer;
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: 180ms ease;
}
.listing-action svg { width: 14px; height: 14px; flex: 0 0 auto; fill: none; stroke: currentColor; }
.listing-action:hover,
.listing-action.is-active { color: var(--navy); border-color: var(--accent); background: var(--accent); }
.listing-action.is-active svg { fill: currentColor; }

.listing-visual { margin-top: -92px; position: relative; z-index: 2; }
.listing-gallery-shell { box-shadow: var(--offer-shadow); position: relative; }
.listing-gallery {
  height: clamp(420px, 42vw, 580px);
  padding: 7px;
  background: var(--white);
  display: grid;
  grid-template-columns: minmax(0, 1.78fr) minmax(250px, 0.72fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.listing-gallery.is-single { display: block; }
.listing-gallery.is-two { grid-template-rows: 1fr; }
.listing-gallery-tile {
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: #d8d5ce;
  position: relative;
  overflow: hidden;
  cursor: zoom-in;
}
.listing-gallery-main { grid-row: 1 / -1; }
.listing-gallery-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform 650ms ease, filter 250ms ease; }
.listing-gallery-tile::after { background: linear-gradient(180deg, transparent 55%, rgba(8, 22, 29, 0.26)); position: absolute; inset: 0; content: ""; pointer-events: none; }
.listing-gallery-tile:hover img { transform: scale(1.025); filter: saturate(1.04); }
.listing-gallery-label { padding: 7px 9px; color: var(--white); background: rgba(14, 33, 42, 0.73); position: absolute; bottom: 13px; left: 13px; z-index: 2; font-size: 8px; font-weight: 750; letter-spacing: 0.1em; text-transform: uppercase; backdrop-filter: blur(6px); }
.listing-gallery-arrow {
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 50%;
  color: var(--white);
  background: rgba(14, 33, 42, 0.72);
  position: absolute;
  top: 50%;
  z-index: 4;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  backdrop-filter: blur(7px);
  transition: 180ms ease;
}
.listing-gallery-arrow:hover { color: var(--navy); border-color: var(--accent); background: var(--accent); }
.listing-gallery-arrow svg { width: 19px; fill: none; stroke: currentColor; }
.listing-gallery-prev { left: 22px; }
.listing-gallery-next { right: calc(28.5% + 22px); }
.listing-gallery-count {
  min-width: 91px;
  height: 38px;
  padding: 0 12px;
  color: var(--white);
  background: rgba(14, 33, 42, 0.8);
  position: absolute;
  right: 21px;
  bottom: 21px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.05em;
  backdrop-filter: blur(7px);
}
.listing-gallery-count svg { width: 14px; fill: none; stroke: currentColor; }
.listing-gallery.is-single + .listing-gallery-arrow,
.listing-gallery.is-single + .listing-gallery-arrow + .listing-gallery-arrow { display: none; }

.listing-facts {
  border: 1px solid var(--line);
  border-top: 0;
  background: rgba(255, 254, 250, 0.95);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.listing-fact { min-height: 87px; padding: 18px 25px; display: flex; flex-direction: column; justify-content: center; }
.listing-fact + .listing-fact { border-left: 1px solid var(--line); }
.listing-fact span { margin-bottom: 3px; color: var(--muted); font-size: 7px; font-weight: 750; letter-spacing: 0.14em; text-transform: uppercase; }
.listing-fact strong { font-family: "Iowan Old Style", Baskerville, Georgia, serif; font-size: 19px; font-weight: 500; }

.listing-body { padding: 68px 0 100px; }
.listing-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(48px, 6.5vw, 90px); align-items: start; }
.listing-main { min-width: 0; }
.listing-section { padding-bottom: 56px; }
.listing-section + .listing-section { padding-top: 55px; border-top: 1px solid var(--line); }
.listing-section-kicker { margin: 0 0 9px; color: var(--teal); font-size: 8px; font-weight: 750; letter-spacing: 0.15em; text-transform: uppercase; }
.listing-section-title { max-width: 720px; margin: 0 0 23px; font-family: "Iowan Old Style", Baskerville, Georgia, serif; font-size: clamp(29px, 2.8vw, 40px); font-weight: 500; line-height: 1.16; letter-spacing: -0.024em; }
.listing-description { max-width: 790px; color: #35434a; font-size: 15px; line-height: 1.82; }
.listing-description p { margin: 0 0 15px; }
.listing-description p:last-child { margin-bottom: 0; }
.listing-description-note { margin-top: 23px; padding: 17px 21px; border-left: 2px solid var(--accent); color: var(--muted); background: rgba(255, 254, 250, 0.58); font-size: 10px; line-height: 1.7; }

.listing-features { margin: 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.listing-feature { min-height: 73px; padding: 17px 16px 16px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: minmax(105px, 0.78fr) 1fr; align-items: center; gap: 15px; }
.listing-feature:nth-child(odd) { padding-right: 29px; border-right: 1px solid var(--line); }
.listing-feature:nth-child(even) { padding-left: 29px; }
.listing-feature dt { color: var(--muted); font-size: 9px; }
.listing-feature dd { margin: 0; font-size: 11px; font-weight: 750; }

.listing-location {
  border: 1px solid var(--line);
  background: var(--white);
  display: grid;
  grid-template-columns: 285px minmax(0, 1fr);
  overflow: hidden;
}
.listing-location-info { padding: 25px; }
.listing-location-address { margin: 0 0 22px; font-family: "Iowan Old Style", Baskerville, Georgia, serif; font-size: 18px; line-height: 1.42; }
.listing-metros { margin: 0; padding: 0; display: grid; gap: 10px; list-style: none; }
.listing-metros li { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; align-items: center; gap: 8px; color: var(--muted); font-size: 9px; }
.listing-metro-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
.listing-metros strong { color: var(--ink); font-size: 10px; font-weight: 680; }
.listing-map-link { margin-top: 25px; padding-bottom: 3px; border-bottom: 1px solid currentColor; display: inline-flex; align-items: center; gap: 24px; font-size: 8px; font-weight: 750; letter-spacing: 0.1em; text-transform: uppercase; }
.listing-map-link:hover { color: var(--teal); }
.listing-map { min-height: 330px; background: #e5e2da; filter: grayscale(0.28) saturate(0.72) contrast(0.96); }
.listing-map iframe { width: 100%; height: 100%; min-height: 330px; border: 0; display: block; }

.listing-infrastructure { border: 1px solid var(--line); background: var(--white); }
.listing-infra-summary { padding: 16px 19px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--muted); font-size: 8px; }
.listing-infra-summary strong { color: var(--ink); font-size: 9px; }
.listing-infra-tabs { padding: 5px; border-bottom: 1px solid var(--line); background: rgba(17, 26, 34, 0.035); display: flex; gap: 4px; overflow-x: auto; scrollbar-width: thin; }
.listing-infra-tab { min-height: 37px; padding: 0 11px; border: 0; background: transparent; display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; font-size: 7px; font-weight: 750; letter-spacing: 0.07em; text-transform: uppercase; transition: 180ms ease; }
.listing-infra-tab b { min-width: 19px; height: 19px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; font-size: 7px; }
.listing-infra-tab:hover { background: rgba(255, 255, 255, 0.8); }
.listing-infra-tab.is-active { color: var(--white); background: var(--navy); }
.listing-infra-tab.is-active b { color: var(--accent); border-color: rgba(255, 255, 255, 0.22); }
.listing-infra-panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.listing-infra-object { min-width: 0; min-height: 126px; padding: 19px 20px 16px; border-bottom: 1px solid var(--line); background: var(--white); display: flex; flex-direction: column; transition: background 180ms ease; }
.listing-infra-object:nth-child(odd) { border-right: 1px solid var(--line); }
.listing-infra-object:nth-last-child(-n + 2) { border-bottom: 0; }
.listing-infra-object:hover { background: var(--paper); }
.listing-infra-name { max-width: calc(100% - 24px); margin: 0 0 6px; font-size: 10px; font-weight: 750; line-height: 1.42; }
.listing-infra-address { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.5; }
.listing-infra-hours { margin: 5px 0 0; color: #8b9297; font-size: 7px; line-height: 1.45; }
.listing-infra-meta { margin-top: auto; padding-top: 13px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.listing-infra-walk { color: var(--teal); font-size: 7px; font-weight: 750; letter-spacing: 0.08em; text-transform: uppercase; }
.listing-infra-arrow { width: 24px; height: 24px; border: 1px solid var(--line); display: grid; place-items: center; font-size: 9px; transition: 180ms ease; }
.listing-infra-object:hover .listing-infra-arrow { color: var(--white); border-color: var(--teal); background: var(--teal); }

.listing-steps { border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.listing-step { padding: 22px 20px 0 0; }
.listing-step + .listing-step { padding-left: 20px; border-left: 1px solid var(--line); }
.listing-step span { margin-bottom: 14px; color: var(--teal); display: block; font-family: "Iowan Old Style", Baskerville, Georgia, serif; font-size: 21px; }
.listing-step h3 { margin: 0 0 7px; font-size: 10px; }
.listing-step p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.62; }

.listing-offer-panel { padding: 28px 26px; border: 1px solid var(--line); background: var(--white); box-shadow: 0 22px 55px rgba(12, 29, 37, 0.08); position: sticky; top: 18px; }
.listing-offer-panel::before { width: 54px; height: 3px; background: linear-gradient(90deg, var(--teal) 0 64%, var(--accent) 64%); position: absolute; top: -1px; left: 26px; content: ""; }
.listing-panel-label { margin: 0 0 12px; color: var(--muted); font-size: 7px; font-weight: 750; letter-spacing: 0.14em; text-transform: uppercase; }
.listing-panel-price { margin: 0; font-family: "Iowan Old Style", Baskerville, Georgia, serif; font-size: 32px; line-height: 1.15; letter-spacing: -0.025em; }
.listing-panel-price span { font-family: Inter, Arial, sans-serif; font-size: 9px; font-weight: 650; letter-spacing: 0; }
.listing-price-meter { margin: 7px 0 21px; color: var(--muted); font-size: 9px; }
.listing-primary-button {
  width: 100%;
  min-height: 52px;
  padding: 0 18px;
  color: var(--white);
  background: var(--navy);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  transition: 180ms ease;
}
.listing-primary-button:hover { background: var(--teal); transform: translateY(-1px); }
.listing-primary-button span:last-child { font-size: 16px; font-weight: 400; }
.listing-panel-promise { margin: 20px 0 0; padding-top: 18px; border-top: 1px solid var(--line); display: flex; align-items: flex-start; gap: 10px; color: var(--muted); font-size: 8px; line-height: 1.58; }
.listing-panel-promise svg { width: 16px; flex: 0 0 auto; fill: none; stroke: var(--teal); }
.listing-agent { margin-top: 21px; padding-top: 19px; border-top: 1px solid var(--line); display: flex; align-items: center; gap: 11px; }
.listing-agent-mark { width: 38px; height: 38px; border-radius: 50%; color: var(--white); background: var(--teal); display: grid; place-items: center; font-family: Georgia, serif; font-size: 12px; }
.listing-agent strong { display: block; font-size: 9px; }
.listing-agent small { color: var(--muted); font-size: 7px; }

.listing-final-cta { padding: 70px 0; color: var(--white); background: var(--navy-soft); }
.listing-final-row { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: center; gap: 70px; }
.listing-final-cta h2 { max-width: 760px; margin: 0; font-family: "Iowan Old Style", Baskerville, Georgia, serif; font-size: clamp(30px, 3.4vw, 47px); font-weight: 500; line-height: 1.12; letter-spacing: -0.025em; }
.listing-final-cta p { margin: 13px 0 0; color: rgba(255, 255, 255, 0.55); font-size: 10px; }
.listing-final-cta .listing-primary-button { color: var(--navy); background: var(--accent); }
.listing-final-cta .listing-primary-button:hover { background: var(--white); }

.listing-lightbox { padding: 20px; color: var(--white); background: rgba(4, 13, 18, 0.97); position: fixed; inset: 0; z-index: 400; display: grid; grid-template-rows: auto minmax(0, 1fr) 88px; gap: 13px; opacity: 0; transition: opacity 180ms ease; }
.listing-lightbox.is-open { opacity: 1; }
.listing-lightbox-top { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.listing-lightbox-count { color: rgba(255, 255, 255, 0.6); font-size: 9px; font-weight: 750; letter-spacing: 0.12em; text-transform: uppercase; }
.listing-lightbox-close,
.listing-modal-close { width: 40px; height: 40px; padding: 0; border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 50%; color: inherit; background: transparent; display: grid; place-items: center; font-size: 21px; font-weight: 300; }
.listing-lightbox-stage { min-height: 0; position: relative; display: grid; place-items: center; }
.listing-lightbox-image { width: 100%; height: 100%; object-fit: contain; }
.listing-lightbox-arrow { width: 50px; height: 50px; padding: 0; border: 1px solid rgba(255, 255, 255, 0.28); border-radius: 50%; color: var(--white); background: rgba(4, 13, 18, 0.46); position: absolute; top: 50%; display: grid; place-items: center; transform: translateY(-50%); transition: 180ms ease; }
.listing-lightbox-arrow:hover { color: var(--navy); border-color: var(--accent); background: var(--accent); }
.listing-lightbox-arrow svg { width: 21px; fill: none; stroke: currentColor; }
.listing-lightbox-prev { left: 12px; }
.listing-lightbox-next { right: 12px; }
.listing-lightbox-thumbs { min-width: 0; display: flex; justify-content: center; gap: 6px; overflow-x: auto; scrollbar-width: thin; }
.listing-lightbox-thumb { width: 100px; height: 72px; padding: 3px; border: 1px solid transparent; background: transparent; flex: 0 0 auto; opacity: 0.5; transition: 180ms ease; }
.listing-lightbox-thumb img { width: 100%; height: 100%; object-fit: cover; }
.listing-lightbox-thumb.is-active { border-color: var(--accent); opacity: 1; }

.listing-modal { padding: 19px; background: rgba(7, 20, 27, 0.76); position: fixed; inset: 0; z-index: 350; display: grid; place-items: center; opacity: 0; transition: opacity 180ms ease; backdrop-filter: blur(7px); }
.listing-modal.is-open { opacity: 1; }
.listing-modal-card { width: min(100%, 560px); max-height: calc(100vh - 38px); padding: 39px; background: var(--white); position: relative; overflow-y: auto; box-shadow: var(--offer-shadow); }
.listing-modal-close { border-color: var(--line); color: var(--ink); position: absolute; top: 17px; right: 17px; }
.listing-modal-kicker { margin: 0 0 9px; color: var(--teal); font-size: 8px; font-weight: 750; letter-spacing: 0.14em; text-transform: uppercase; }
.listing-modal-title { max-width: 420px; margin: 0 0 12px; font-family: "Iowan Old Style", Baskerville, Georgia, serif; font-size: 32px; font-weight: 500; line-height: 1.18; }
.listing-modal-copy { margin: 0 0 24px; color: var(--muted); font-size: 10px; line-height: 1.65; }
.listing-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.listing-field { display: grid; gap: 6px; }
.listing-field.is-full { grid-column: 1 / -1; }
.listing-field label { color: var(--muted); font-size: 7px; font-weight: 750; letter-spacing: 0.12em; text-transform: uppercase; }
.listing-field input,
.listing-field select,
.listing-field textarea { width: 100%; min-height: 45px; padding: 0 12px; border: 1px solid var(--line); outline: 0; background: #fff; font-size: 10px; }
.listing-field textarea { min-height: 76px; padding-top: 11px; resize: vertical; }
.listing-field input:focus,
.listing-field select:focus,
.listing-field textarea:focus { border-color: var(--teal); }
.listing-form .listing-primary-button { grid-column: 1 / -1; margin-top: 4px; }
.listing-form-policy { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 7px; line-height: 1.55; }
.listing-form-status { grid-column: 1 / -1; min-height: 18px; margin: 0; color: #9d3c38; font-size: 9px; }
.listing-modal-success { padding: 38px 0 9px; text-align: center; }
.listing-success-mark { width: 56px; height: 56px; margin: 0 auto 20px; border: 1px solid var(--teal); border-radius: 50%; color: var(--teal); display: grid; place-items: center; font-size: 21px; }
.listing-modal-success h3 { margin: 0 0 8px; font-family: Georgia, serif; font-size: 28px; font-weight: 500; }
.listing-modal-success p { margin: 0; color: var(--muted); font-size: 10px; }
.listing-honeypot { width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; position: absolute !important; left: -9999px !important; }

.listing-toast { padding: 10px 15px; color: var(--white); background: var(--teal); position: fixed; right: 20px; bottom: 79px; z-index: 500; font-size: 9px; opacity: 0; visibility: hidden; transform: translateY(7px); transition: 180ms ease; }
.listing-toast.is-visible { opacity: 1; visibility: visible; transform: none; }
.listing-reveal { opacity: 0; transform: translateY(17px); transition: opacity 600ms ease, transform 600ms ease; }
.listing-reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1100px) {
  .listing-heading { grid-template-columns: minmax(0, 1fr) 285px; gap: 32px; }
  .listing-layout { grid-template-columns: minmax(0, 1fr) 325px; gap: 42px; }
  .listing-location { grid-template-columns: 235px minmax(0, 1fr); }
}

@media (max-width: 900px) {
  .listing-hero { padding: 31px 0 122px; }
  .listing-heading { display: block; }
  .listing-heading-side { margin-top: 27px; padding-left: 0; border-left: 0; display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
  .listing-status { display: none; }
  .listing-id { margin-bottom: 7px; }
  .listing-actions { margin-top: 0; }
  .listing-gallery { height: 500px; grid-template-columns: minmax(0, 1.55fr) minmax(205px, 0.75fr); }
  .listing-gallery-next { right: calc(31.5% + 20px); }
  .listing-layout { display: flex; flex-direction: column; gap: 0; }
  .listing-main { width: 100%; }
  .listing-offer-panel { width: 100%; margin-bottom: 57px; position: relative; top: auto; order: -1; display: grid; grid-template-columns: 1fr 1fr; column-gap: 26px; }
  .listing-panel-label,
  .listing-panel-price,
  .listing-price-meter { grid-column: 1; }
  .listing-offer-panel .listing-primary-button { grid-column: 2; grid-row: 1 / span 3; align-self: end; }
  .listing-panel-promise,
  .listing-agent { grid-column: 1 / -1; }
  .listing-final-row { grid-template-columns: minmax(0, 1fr) 250px; gap: 35px; }
}

@media (max-width: 650px) {
  .listing-hero { padding: 23px 0 96px; }
  .listing-hero::before { display: none; }
  .listing-breadcrumbs { margin-bottom: 21px; font-size: 7px; }
  .listing-breadcrumbs li:last-child { display: none; }
  .listing-eyebrow { margin-bottom: 9px; font-size: 7px; }
  .listing-title { font-size: 32px; line-height: 1.1; }
  .listing-address { margin-top: 14px; font-size: 10px; line-height: 1.55; }
  .listing-heading-side { margin-top: 21px; }
  .listing-hero-price { font-size: 25px; }
  .listing-action { width: 38px; padding: 0; border-radius: 50%; }
  .listing-action span { display: none; }
  .listing-visual { margin-top: -67px; }
  .listing-gallery { height: min(72vw, 380px); min-height: 275px; padding: 5px; display: block; }
  .listing-gallery-side { display: none; }
  .listing-gallery-label { display: none; }
  .listing-gallery-arrow { width: 39px; height: 39px; }
  .listing-gallery-prev { left: 12px; }
  .listing-gallery-next { right: 12px; }
  .listing-gallery-count { min-width: 75px; height: 33px; right: 11px; bottom: 11px; font-size: 7px; }
  .listing-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .listing-fact { min-height: 70px; padding: 13px 14px; }
  .listing-fact:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
  .listing-fact:nth-child(4) { border-top: 1px solid var(--line); }
  .listing-fact strong { font-size: 16px; }
  .listing-body { padding: 40px 0 69px; }
  .listing-offer-panel { margin-bottom: 44px; padding: 24px 20px; display: block; }
  .listing-panel-price { font-size: 29px; }
  .listing-offer-panel .listing-primary-button { margin-top: 18px; }
  .listing-offer-panel::before { left: 20px; }
  .listing-section { padding-bottom: 42px; }
  .listing-section + .listing-section { padding-top: 41px; }
  .listing-section-title { margin-bottom: 18px; font-size: 27px; }
  .listing-description { font-size: 12px; line-height: 1.75; }
  .listing-description-note { padding: 15px 16px; font-size: 9px; }
  .listing-features { grid-template-columns: 1fr; }
  .listing-feature,
  .listing-feature:nth-child(odd),
  .listing-feature:nth-child(even) { min-height: 62px; padding: 13px 0; border-right: 0; grid-template-columns: 1fr auto; }
  .listing-location { display: block; }
  .listing-location-info { padding: 20px; }
  .listing-map,
  .listing-map iframe { min-height: 275px; }
  .listing-infra-summary { align-items: flex-start; flex-direction: column; gap: 3px; }
  .listing-infra-panel { grid-template-columns: 1fr; }
  .listing-infra-object { min-height: 106px; padding: 16px; border-right: 0 !important; }
  .listing-infra-object:nth-last-child(2) { border-bottom: 1px solid var(--line); }
  .listing-steps { grid-template-columns: 1fr; }
  .listing-step,
  .listing-step + .listing-step { padding: 19px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .listing-step:first-child { padding-top: 0; }
  .listing-step:last-child { border-bottom: 0; }
  .listing-final-cta { padding: 52px 0; }
  .listing-final-row { display: block; }
  .listing-final-cta .listing-primary-button { margin-top: 27px; }
  .listing-lightbox { padding: 12px; grid-template-rows: auto minmax(0, 1fr) 68px; }
  .listing-lightbox-arrow { width: 40px; height: 40px; }
  .listing-lightbox-prev { left: 3px; }
  .listing-lightbox-next { right: 3px; }
  .listing-lightbox-thumbs { justify-content: flex-start; }
  .listing-lightbox-thumb { width: 81px; height: 60px; }
  .listing-modal-card { padding: 33px 20px 25px; }
  .listing-modal-title { padding-right: 23px; font-size: 27px; }
  .listing-form { grid-template-columns: 1fr; }
  .listing-field.is-full,
  .listing-form .listing-primary-button,
  .listing-form-policy,
  .listing-form-status { grid-column: auto; }
  .listing-toast { right: 12px; bottom: 66px; left: 12px; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .listing-reveal { opacity: 1; transform: none; }
  .listing-gallery-tile img { transition: none; }
}

.offer-page .footer-office > button {
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--accent);
  color: var(--white);
  background: transparent;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  line-height: 1.45;
  cursor: pointer;
}

.offer-page .footer-office > button:hover,
.offer-page .footer-office > button:focus-visible {
  color: var(--accent-soft);
}

@media print {
  @page { size: A4; margin: 12mm; }
  * { box-shadow: none !important; }
  body { color: #101d24; background: #fff; font-size: 10pt; }
  .container { width: 100%; }
  .site-header,
  .listing-breadcrumbs,
  .listing-actions,
  .listing-gallery-arrow,
  .listing-gallery-count,
  .listing-gallery-side,
  .listing-map,
  .listing-infra-tabs,
  .listing-offer-panel,
  .listing-final-cta,
  .site-footer,
  .back-to-top,
  .listing-lightbox,
  .listing-modal,
  .listing-toast { display: none !important; }
  .listing-hero { padding: 0 0 17px; color: #101d24; background: #fff; overflow: visible; }
  .listing-hero::before { display: none; }
  .listing-heading { grid-template-columns: minmax(0, 1fr) auto; gap: 24px; }
  .listing-title { font-size: 28pt; }
  .listing-eyebrow,
  .listing-address,
  .listing-id,
  .listing-hero-price span { color: #526068; }
  .listing-heading-side { padding-left: 17px; border-left-color: #ccd1d2; }
  .listing-hero-price { color: #101d24; }
  .listing-visual { margin-top: 0; }
  .listing-gallery-shell { border: 1px solid #ccd1d2; }
  .listing-gallery { height: 245px; padding: 0; display: block; }
  .listing-fact { min-height: 60px; padding: 10px 14px; }
  .listing-body { padding: 24px 0 0; }
  .listing-layout { display: block; }
  .listing-section,
  .listing-section + .listing-section { padding: 17px 0; break-inside: avoid; }
  .listing-section-title { margin-bottom: 13px; font-size: 20pt; }
  .listing-description { font-size: 10pt; line-height: 1.5; }
  .listing-location { grid-template-columns: 1fr; }
  .listing-infra-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .listing-infra-object { min-height: 72px; padding: 9px 11px; }
  .listing-infra-arrow { display: none; }
  .listing-reveal { opacity: 1 !important; transform: none !important; }
}
