:root {
  --serif: Georgia, "Times New Roman", serif;
  --blue: #000e35;
  --blue-deep: #000e35;
  --blue-ink: #000e35;
  --blue-soft: #efede5;
  --red: #660000;
  --red-dark: #830000;
  --ink: #11182f;
  --muted: #68675f;
  --line: #d8d4c8;
  --paper: #f7f5ee;
  --soft: #f7f5ee;
  --green: #14955a;
  --shadow: 0 22px 60px rgba(8, 32, 76, .14);
  --radius: 0;
  --max: 78rem;
}

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

html {
  scroll-behavior: smooth;
  scroll-padding-top: 6rem;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

body.dialog-open {
  overflow: hidden;
}

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

a {
  color: inherit;
}

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

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

:focus-visible {
  outline: 3px solid #ffcf33;
  outline-offset: 3px;
}

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

.skip-link {
  position: fixed;
  z-index: 1000;
  top: .75rem;
  left: .75rem;
  padding: .8rem 1rem;
  color: #fff;
  background: var(--blue-deep);
  transform: translateY(-160%);
  transition: transform .2s ease;
}

.skip-link:focus {
  transform: translateY(0);
}

.site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  min-height: 5rem;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 2rem;
  padding: .75rem clamp(1rem, 4vw, 3.5rem);
  border-bottom: 1px solid rgba(9, 47, 104, .1);
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(14px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: .85rem;
  color: var(--blue-deep);
  text-decoration: none;
  font-size: .88rem;
  font-weight: 800;
  letter-spacing: .02em;
}

.brand img {
  width: 8rem;
  height: auto;
}

.site-nav {
  justify-self: center;
  display: flex;
  align-items: center;
  gap: clamp(.9rem, 2.2vw, 2rem);
}

.site-nav a,
.header-phone {
  color: var(--blue-deep);
  text-decoration: none;
  font-size: .92rem;
  font-weight: 750;
}

.site-nav a {
  position: relative;
}

.site-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -.45rem;
  left: 0;
  height: 2px;
  background: var(--red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}

.site-nav a:hover::after,
.site-nav a:focus-visible::after {
  transform: scaleX(1);
}

.header-phone {
  padding: .7rem .95rem;
  border: 1px solid var(--blue);
  border-radius: 999px;
}

.nav-toggle {
  display: none;
  width: 2.8rem;
  height: 2.8rem;
  padding: .65rem;
  border: 1px solid var(--line);
  border-radius: .7rem;
  background: #fff;
}

.nav-toggle > span:not(.sr-only) {
  display: block;
  width: 100%;
  height: 2px;
  margin: .25rem 0;
  background: var(--blue-deep);
}

.hero {
  min-height: calc(100svh - 5rem);
  display: grid;
  grid-template-columns: minmax(26rem, .86fr) minmax(0, 1.14fr);
  background:
    radial-gradient(circle at 18% 18%, rgba(0, 61, 165, .12), transparent 28rem),
    var(--soft);
}

.hero-copy {
  position: relative;
  z-index: 2;
  align-self: center;
  padding: clamp(3.4rem, 7vw, 7.5rem) clamp(1.5rem, 5vw, 5.3rem);
}

.eyebrow {
  margin: 0 0 .9rem;
  color: var(--blue);
  font-size: .82rem;
  font-weight: 850;
  letter-spacing: .12em;
  line-height: 1.4;
}

.eyebrow-light {
  color: #e0b6b6;
}

h1,
h2,
h3,
p {
  overflow-wrap: anywhere;
}

h1,
h2,
h3 {
  margin-top: 0;
  color: var(--blue-deep);
  line-height: 1.06;
  letter-spacing: -.035em;
}

h1 {
  max-width: 11ch;
  margin-bottom: 1.25rem;
  font-size: clamp(3.1rem, 6vw, 6rem);
}

h2 {
  margin-bottom: 1.1rem;
  font-size: clamp(2rem, 4vw, 3.7rem);
}

h3 {
  margin-bottom: .65rem;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  letter-spacing: -.02em;
}

.lede {
  max-width: 39rem;
  margin: 0 0 1.7rem;
  color: #36445a;
  font-size: clamp(1.16rem, 1.7vw, 1.42rem);
  line-height: 1.55;
}

.hero-price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .65rem 1rem;
  margin: 0 0 1.7rem;
}

.hero-price strong {
  color: var(--blue-deep);
  font-size: clamp(1.65rem, 3vw, 2.25rem);
  letter-spacing: -.035em;
}

.hero-price span {
  color: var(--muted);
  font-size: .9rem;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.button {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  padding: .9rem 1.25rem;
  border: 2px solid transparent;
  border-radius: .2rem;
  text-decoration: none;
  font-size: .95rem;
  font-weight: 850;
  line-height: 1.25;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

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

.button-primary {
  color: #fff;
  background: var(--red);
}

.button-primary:hover {
  background: var(--red-dark);
}

.button-outline {
  color: var(--blue-deep);
  border-color: var(--blue);
  background: transparent;
}

.button-outline:hover {
  color: #fff;
  background: var(--blue);
}

.button-light {
  color: var(--blue-deep);
  background: #fff;
}

.button-outline-dark {
  color: var(--ink);
  border-color: #8792a3;
  background: #fff;
}

.button-full {
  width: 100%;
}

.reference {
  margin: 1.4rem 0 0;
  color: var(--muted);
  font-size: .85rem;
}

.hero-media {
  position: relative;
  min-height: 38rem;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: var(--blue-soft);
  cursor: zoom-in;
}

.hero-media picture,
.hero-media img {
  width: 100%;
  height: 100%;
}

.hero-media img {
  object-fit: cover;
  object-position: center;
  transition: transform .7s cubic-bezier(.2, .7, .2, 1);
}

.hero-media:hover img {
  transform: scale(1.025);
}

.photo-label {
  position: absolute;
  right: 1.2rem;
  bottom: 1.2rem;
  padding: .7rem .95rem;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 999px;
  background: rgba(4, 24, 58, .72);
  backdrop-filter: blur(10px);
  font-size: .9rem;
  font-weight: 800;
}

.fact-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.fact-strip > div {
  min-height: 7rem;
  display: grid;
  align-content: center;
  gap: .25rem;
  padding: 1rem clamp(.65rem, 2vw, 1.5rem);
  text-align: center;
  border-right: 1px solid var(--line);
}

.fact-strip > div:last-child {
  border-right: 0;
}

.fact-strip strong {
  color: var(--blue-deep);
  font-size: clamp(1.05rem, 1.7vw, 1.35rem);
}

.fact-strip span {
  color: var(--muted);
  font-size: .8rem;
}

.seller-bridge {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: clamp(2.2rem, 5vw, 4rem) max(clamp(1.5rem, 6vw, 6rem), calc((100vw - var(--max)) / 2));
  color: #fff;
  background:
    linear-gradient(110deg, rgba(0, 61, 165, .98), rgba(6, 36, 81, .98)),
    var(--blue);
}

.seller-bridge > div {
  max-width: 50rem;
}

.seller-bridge h2 {
  margin-bottom: .55rem;
  color: #fff;
  font-size: clamp(1.7rem, 3.3vw, 2.8rem);
}

.seller-bridge p:last-child {
  margin-bottom: 0;
  color: #dce9ff;
}

.section {
  max-width: var(--max);
  margin-inline: auto;
  padding: clamp(4.5rem, 9vw, 8.5rem) clamp(1.25rem, 4vw, 2.4rem);
}

.section-heading {
  max-width: 55rem;
  margin-bottom: clamp(2.2rem, 5vw, 4rem);
}

.section-heading > p:last-child {
  color: var(--muted);
  font-size: 1.08rem;
}

.two-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(22rem, .95fr);
  gap: clamp(2.5rem, 7vw, 6.5rem);
  align-items: start;
}

.prose p {
  margin-top: 0;
  color: #354257;
  font-size: 1.08rem;
}

.check-list {
  display: grid;
  gap: .6rem;
  padding: 0;
  margin: 1.8rem 0 0;
  list-style: none;
}

.check-list li {
  position: relative;
  padding-left: 1.8rem;
}

.check-list li::before {
  content: "";
  position: absolute;
  top: .56rem;
  left: 0;
  width: .8rem;
  height: .8rem;
  border: 3px solid var(--red);
  border-radius: 50%;
}

.room-list {
  margin: 0;
  border-top: 3px solid var(--blue);
  box-shadow: var(--shadow);
}

.room-list > div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  padding: 1rem 1.2rem;
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.room-list dt {
  color: #465269;
}

.room-list dd {
  margin: 0;
  color: var(--blue-deep);
  font-weight: 850;
}

.investment-section {
  max-width: none;
  color: #fff;
  background:
    radial-gradient(circle at 100% 0, rgba(33, 108, 219, .33), transparent 38rem),
    linear-gradient(145deg, #041e47, #082f6a 65%, #073f8f);
  padding-inline: max(clamp(1.25rem, 5vw, 4rem), calc((100vw - var(--max)) / 2));
}

.heading-on-dark h2 {
  color: #fff;
}

.heading-on-dark > p:last-child {
  color: #c7d8f4;
}

.investment-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.metric-card {
  min-height: 15rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.45rem;
  border: 1px solid rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .08);
  backdrop-filter: blur(12px);
}

.metric-featured {
  border-color: rgba(255, 255, 255, .45);
  background: #fff;
  color: var(--ink);
}

.metric-label {
  color: #bdd2f4;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.metric-featured .metric-label {
  color: var(--blue);
}

.metric-card strong {
  display: block;
  margin: 1rem 0;
  color: #fff;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  letter-spacing: -.04em;
}

.metric-featured strong {
  color: var(--blue-deep);
}

.metric-card p {
  margin: 0;
  color: #c8d7ef;
  font-size: .92rem;
}

.metric-featured p {
  color: var(--muted);
}

.calculation-panel {
  display: grid;
  grid-template-columns: minmax(16rem, .65fr) minmax(24rem, 1.35fr);
  gap: 2.5rem 4rem;
  margin-top: 1rem;
  padding: clamp(1.7rem, 4vw, 3.2rem);
  color: var(--ink);
  background: #fff;
}

.calculation-panel h3 {
  font-size: clamp(1.7rem, 3vw, 2.7rem);
}

.panel-kicker {
  margin: 0 0 .7rem;
  color: var(--red);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .1em;
}

.formula > div {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  padding: .7rem 0;
  border-bottom: 1px solid var(--line);
}

.formula span {
  color: var(--muted);
}

.formula-total {
  color: var(--blue-deep);
  border-bottom: 3px solid var(--blue) !important;
}

.formula p {
  margin: 1rem 0 0;
  color: var(--blue-deep);
  font-size: 1.15rem;
  text-align: right;
}

.calculation-panel > .small-note {
  grid-column: 1 / -1;
  margin: 0;
}

.small-note {
  color: var(--muted);
  font-size: .84rem;
  line-height: 1.55;
}

.small-note a {
  color: var(--blue);
  font-weight: 750;
}

.financial-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.financial-facts article {
  padding: 1.4rem;
  border: 1px solid rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .07);
}

.financial-facts h3 {
  color: #bdd2f4;
  font-size: 1rem;
}

.large-value {
  margin: .7rem 0;
  color: #fff;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 850;
  letter-spacing: -.035em;
}

.financial-facts article > p:last-child {
  margin-bottom: 0;
  color: #c7d8f4;
  font-size: .9rem;
}

.attention-box {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.4rem;
  margin-top: 1rem;
  padding: 1.4rem 1.55rem;
  color: var(--blue-deep);
  background: #dcecff;
}

.attention-box p {
  margin: 0;
}

.verified-section {
  position: relative;
}

.verified-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.verified-grid article {
  padding: 1.45rem;
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  background: #fff;
}

.verified-number {
  display: block;
  margin-bottom: 2rem;
  color: #9aa7ba;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .1em;
}

.verified-grid p {
  margin-bottom: 0;
  color: var(--muted);
  font-size: .94rem;
}

.source-note {
  margin: 2rem 0 0;
  padding: 1.2rem 1.4rem;
  color: #3b4658;
  border-left: 4px solid var(--red);
  background: var(--soft);
  font-size: .9rem;
}

.heading-row {
  max-width: none;
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  gap: 2rem;
  align-items: end;
}

.heading-row > p {
  margin: 0;
  color: var(--muted);
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 13rem;
  gap: .65rem;
}

.gallery-item {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: #dfe6f1;
  cursor: zoom-in;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s ease;
}

.gallery-item:hover img {
  transform: scale(1.035);
}

.gallery-item span {
  position: absolute;
  right: .65rem;
  bottom: .65rem;
  left: .65rem;
  padding: .6rem .75rem;
  color: #fff;
  background: rgba(5, 28, 66, .78);
  text-align: left;
  font-size: .82rem;
  font-weight: 750;
  backdrop-filter: blur(8px);
}

.gallery-wide {
  grid-column: span 2;
}

.gallery-tall {
  grid-row: span 2;
}

.tzen-teaser {
  display: grid;
  grid-template-columns: minmax(24rem, .85fr) minmax(0, 1.15fr);
  color: #fff;
  background: #0b3d35;
}

.tzen-copy {
  align-self: center;
  padding: clamp(3.5rem, 8vw, 7rem);
}

.tzen-copy h2 {
  color: #fff;
}

.tzen-copy p:not(.eyebrow) {
  color: #d7eee8;
  font-size: 1.06rem;
}

.tzen-visual {
  min-height: 32rem;
  display: block;
  overflow: hidden;
  background: #edf2e4;
}

.tzen-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .5s ease;
}

.tzen-visual:hover img {
  transform: scale(1.02);
}

.neighborhood-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.1rem;
}

.neighborhood-grid article {
  min-height: 18rem;
  padding: 1.7rem;
  border: 1px solid var(--line);
  background: var(--soft);
}

.neighborhood-grid article > span {
  display: block;
  margin-bottom: 3rem;
  color: var(--red);
  font-size: .8rem;
  font-weight: 850;
}

.neighborhood-grid p {
  margin-bottom: 0;
  color: var(--muted);
}

.energy-section {
  padding-top: 0;
}

.energy-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 3rem;
  align-items: center;
  padding: clamp(1.7rem, 4vw, 3.5rem);
  color: #fff;
  background: var(--blue-deep);
}

.energy-card h2 {
  color: #fff;
}

.energy-card p:last-child {
  max-width: 47rem;
  margin-bottom: 0;
  color: #d9e6f8;
}

.energy-rating {
  display: flex;
  align-items: center;
  gap: .35rem;
}

.energy-rating span,
.energy-rating strong {
  width: 2.35rem;
  height: 2.35rem;
  display: grid;
  place-items: center;
  color: #fff;
  border-radius: 50%;
  font-size: .82rem;
}

.energy-rating span:nth-child(1) { background: #289b59; }
.energy-rating span:nth-child(2) { background: #6ab24f; }
.energy-rating strong { width: 3.3rem; height: 3.3rem; background: #c6cb36; font-size: 1.4rem; box-shadow: 0 0 0 5px #fff; }
.energy-rating span:nth-child(4) { background: #f0d432; }
.energy-rating span:nth-child(5) { background: #f4aa32; }
.energy-rating span:nth-child(6) { background: #ec6c30; }
.energy-rating span:nth-child(7) { background: #d52b27; }

.info-table {
  border-top: 3px solid var(--blue);
}

.info-table > div {
  display: grid;
  grid-template-columns: minmax(10rem, .75fr) minmax(14rem, 1.25fr);
  gap: 2rem;
  padding: 1rem 1.2rem;
  border-bottom: 1px solid var(--line);
}

.info-table > div:nth-child(even) {
  background: var(--soft);
}

.info-table span {
  color: var(--muted);
}

.info-table strong {
  color: var(--blue-deep);
}

.faq-list {
  border-top: 1px solid var(--line);
}

.faq-list details {
  border-bottom: 1px solid var(--line);
}

.faq-list summary {
  position: relative;
  padding: 1.3rem 3rem 1.3rem 0;
  color: var(--blue-deep);
  font-size: 1.06rem;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.faq-list summary::-webkit-details-marker {
  display: none;
}

.faq-list summary::after {
  content: "+";
  position: absolute;
  top: 1.05rem;
  right: .25rem;
  color: var(--red);
  font-size: 1.6rem;
}

.faq-list details[open] summary::after {
  content: "−";
}

.faq-list details p {
  max-width: 62rem;
  margin: 0 0 1.35rem;
  color: var(--muted);
}

.contact-section {
  display: grid;
  grid-template-columns: minmax(22rem, .75fr) minmax(25rem, 1.25fr);
  gap: clamp(2.5rem, 7vw, 6rem);
  padding: clamp(4.5rem, 9vw, 8rem) max(clamp(1.25rem, 5vw, 4rem), calc((100vw - var(--max)) / 2));
  color: #fff;
  background:
    linear-gradient(145deg, rgba(5, 27, 64, .98), rgba(0, 61, 165, .96)),
    var(--blue-deep);
}

.contact-intro {
  align-self: start;
  position: sticky;
  top: 7rem;
}

.contact-intro h2 {
  color: #fff;
}

.contact-intro > p:not(.eyebrow) {
  color: #c9daf2;
}

.contact-direct {
  display: grid;
  gap: .55rem;
  margin-top: 2rem;
}

.contact-direct a {
  color: #fff;
  font-weight: 750;
}

.lead-form {
  display: grid;
  gap: 1rem;
  padding: clamp(1.4rem, 4vw, 2.4rem);
  color: var(--ink);
  background: #fff;
  box-shadow: var(--shadow);
}

.field-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.field-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.field {
  display: grid;
  gap: .4rem;
}

.field label {
  color: #344158;
  font-size: .88rem;
  font-weight: 750;
}

.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 3rem;
  padding: .72rem .8rem;
  color: var(--ink);
  border: 1px solid #9ca8b8;
  border-radius: 0;
  background: #fff;
}

.field textarea {
  min-height: 7rem;
  resize: vertical;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--blue);
  outline: 3px solid rgba(0, 61, 165, .17);
}

.consent {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .75rem;
  align-items: start;
  color: #4b5668;
  font-size: .82rem;
  line-height: 1.5;
}

.consent input {
  width: 1.15rem;
  height: 1.15rem;
  margin-top: .1rem;
}

.form-note {
  margin: 0;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.5;
}

.estimate-section {
  max-width: 72rem;
}

.seller-form {
  border: 1px solid var(--line);
  box-shadow: 0 18px 50px rgba(8, 32, 76, .09);
}

.agent-section {
  max-width: var(--max);
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 2.5rem;
  align-items: center;
  margin-inline: auto;
  padding: clamp(3rem, 7vw, 5rem) clamp(1.25rem, 4vw, 2.4rem);
  border-top: 1px solid var(--line);
}

.agent-mark img {
  width: 10rem;
  height: auto;
}

.agent-section h2 {
  margin-bottom: .45rem;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
}

.agent-section p:last-child {
  margin-bottom: 0;
  color: var(--muted);
}

.agent-links {
  display: grid;
  gap: .4rem;
  justify-items: end;
}

.agent-links a {
  color: var(--blue);
  font-weight: 800;
}

.site-footer {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 2rem;
  align-items: center;
  padding: 2.2rem clamp(1.25rem, 4vw, 3.5rem) 6rem;
  color: #d5e3f6;
  background: #050b1f;
  font-size: .82rem;
}

.site-footer p {
  margin: .25rem 0 0;
}

.site-footer > p {
  justify-self: end;
}

.site-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem 1.2rem;
}

.site-footer a,
.link-button {
  color: #fff;
}

.link-button {
  padding: 0;
  border: 0;
  background: transparent;
  text-decoration: underline;
  cursor: pointer;
}

.mobile-actions {
  display: none;
}

.gallery-dialog {
  width: min(96vw, 90rem);
  max-width: none;
  height: min(94svh, 58rem);
  max-height: none;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: #07172f;
  box-shadow: 0 30px 100px rgba(0, 0, 0, .5);
}

.gallery-dialog::backdrop {
  background: rgba(0, 8, 24, .86);
  backdrop-filter: blur(7px);
}

.dialog-inner {
  position: relative;
  height: 100%;
  display: grid;
  grid-template-rows: 1fr auto auto;
  padding: 2.8rem 4.5rem 1rem;
}

.dialog-inner figure {
  min-height: 0;
  display: grid;
  grid-template-rows: 1fr auto;
  margin: 0;
}

.dialog-inner figure img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
}

.dialog-inner figcaption {
  padding: .7rem .5rem .25rem;
  color: #fff;
  text-align: center;
  font-size: .92rem;
}

.dialog-close,
.dialog-arrow {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 50%;
  background: rgba(4, 18, 44, .68);
  cursor: pointer;
}

.dialog-close {
  top: .75rem;
  right: .85rem;
  width: 2.65rem;
  height: 2.65rem;
  font-size: 1.7rem;
}

.dialog-arrow {
  top: 44%;
  width: 3rem;
  height: 3rem;
  font-size: 2.2rem;
}

.dialog-prev { left: .75rem; }
.dialog-next { right: .75rem; }

.dialog-meta {
  color: #bccbe1;
  text-align: center;
  font-size: .8rem;
}

.dialog-thumbnails {
  display: flex;
  gap: .45rem;
  justify-content: center;
  overflow-x: auto;
  padding: .55rem .25rem 0;
}

.dialog-thumbnails button {
  flex: 0 0 4.2rem;
  width: 4.2rem;
  height: 3rem;
  padding: 0;
  overflow: hidden;
  border: 2px solid transparent;
  background: #1c2d49;
  opacity: .65;
  cursor: pointer;
}

.dialog-thumbnails button[aria-current="true"] {
  border-color: #fff;
  opacity: 1;
}

.dialog-thumbnails img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cookie-banner {
  position: fixed;
  z-index: 500;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  max-width: 64rem;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1.5rem;
  align-items: center;
  margin-inline: auto;
  padding: 1.2rem 1.3rem;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 24px 70px rgba(0, 14, 40, .24);
}

.cookie-banner[hidden] {
  display: none;
}

.cookie-banner h2 {
  margin-bottom: .25rem;
  font-size: 1.1rem;
}

.cookie-banner p {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
}

.cookie-actions {
  display: flex;
  gap: .6rem;
}

/* Sous-pages */
.subpage-hero {
  padding: clamp(4.2rem, 10vw, 8rem) max(clamp(1.25rem, 6vw, 5rem), calc((100vw - var(--max)) / 2));
  color: #fff;
  background:
    radial-gradient(circle at 85% 0, rgba(63, 141, 255, .35), transparent 30rem),
    var(--blue-deep);
}

.subpage-hero h1 {
  max-width: 14ch;
  color: #fff;
}

.subpage-hero p:not(.eyebrow) {
  max-width: 55rem;
  color: #d6e3f7;
  font-size: 1.12rem;
}

.breadcrumb {
  margin-bottom: 2rem;
  color: #c2d5f3;
  font-size: .84rem;
}

.breadcrumb a {
  font-weight: 750;
}

.document-page {
  max-width: 68rem;
  margin-inline: auto;
  padding: clamp(3.5rem, 8vw, 7rem) clamp(1.25rem, 4vw, 2.4rem);
}

.document-page section + section {
  margin-top: 3.5rem;
  padding-top: 3rem;
  border-top: 1px solid var(--line);
}

.document-page h2 {
  font-size: clamp(1.65rem, 3vw, 2.4rem);
}

.document-page h3 {
  margin-top: 1.6rem;
}

.document-page p,
.document-page li {
  color: #465268;
}

.document-page a {
  color: var(--blue);
  font-weight: 750;
}

.legal-grid,
.timeline-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.legal-grid article,
.timeline-grid article {
  padding: 1.35rem;
  border: 1px solid var(--line);
  background: var(--soft);
}

.tzen-page-image {
  margin: 0;
  padding: .75rem;
  background: var(--soft);
}

.tzen-page-image button {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}

.tzen-page-image img {
  width: 100%;
  height: auto;
}

.tzen-page-image figcaption {
  padding: .7rem .3rem .15rem;
  color: var(--muted);
  font-size: .8rem;
}

.fact-callout {
  padding: 1.4rem;
  border-left: 5px solid var(--red);
  background: var(--blue-soft);
}

.back-to-property {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 2rem;
  color: #fff;
  background: var(--blue);
}

.back-to-property h2 {
  margin-bottom: .4rem;
  color: #fff;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
}

.back-to-property p {
  margin: 0;
  color: #d8e5f8;
}

@media (max-width: 1080px) {
  .site-header {
    gap: 1rem;
  }

  .site-nav {
    gap: .9rem;
  }

  .brand span {
    display: none;
  }

  .hero {
    grid-template-columns: minmax(23rem, .9fr) minmax(0, 1.1fr);
  }

  .fact-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .fact-strip > div:nth-child(3) {
    border-right: 0;
  }

  .fact-strip > div:nth-child(-n + 3) {
    border-bottom: 1px solid var(--line);
  }

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

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

@media (max-width: 820px) {
  html {
    scroll-padding-top: 5rem;
  }

  body {
    padding-bottom: 4rem;
  }

  .site-header {
    grid-template-columns: 1fr auto;
    min-height: 4.5rem;
  }

  .brand img {
    width: 7rem;
  }

  .header-phone {
    display: none;
  }

  .nav-toggle {
    display: block;
  }

  .site-nav {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: none;
    padding: 1rem 1.25rem 1.35rem;
    border-bottom: 1px solid var(--line);
    background: #fff;
    box-shadow: 0 18px 35px rgba(5, 28, 66, .12);
  }

  .site-nav.is-open {
    display: grid;
  }

  .site-nav a {
    padding: .7rem 0;
  }

  .hero {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .hero-media {
    order: -1;
    min-height: 48svh;
  }

  .hero-copy {
    padding: 3.3rem 1.25rem 3.6rem;
  }

  h1 {
    max-width: 13ch;
    font-size: clamp(2.65rem, 12vw, 4.4rem);
  }

  .seller-bridge,
  .two-columns,
  .calculation-panel,
  .heading-row,
  .tzen-teaser,
  .contact-section,
  .energy-card,
  .agent-section,
  .site-footer,
  .back-to-property {
    grid-template-columns: 1fr;
  }

  .seller-bridge {
    align-items: start;
  }

  .two-columns {
    gap: 2rem;
  }

  .calculation-panel {
    gap: 1.2rem;
  }

  .financial-facts,
  .neighborhood-grid {
    grid-template-columns: 1fr;
  }

  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 12rem;
  }

  .tzen-teaser {
    display: grid;
  }

  .tzen-visual {
    min-height: 22rem;
  }

  .contact-intro {
    position: static;
  }

  .agent-links {
    justify-items: start;
  }

  .site-footer > p {
    justify-self: start;
  }

  .mobile-actions {
    position: fixed;
    z-index: 300;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    box-shadow: 0 -7px 28px rgba(0, 18, 50, .18);
  }

  .mobile-actions a {
    display: grid;
    min-height: 4rem;
    place-items: center;
    color: #fff;
    background: var(--blue-deep);
    text-decoration: none;
    font-size: .9rem;
    font-weight: 850;
  }

  .mobile-actions a:last-child {
    background: var(--red);
  }

  .dialog-inner {
    padding: 3.1rem .6rem .7rem;
  }

  .dialog-arrow {
    top: 42%;
    width: 2.6rem;
    height: 2.6rem;
  }

  .dialog-prev { left: .35rem; }
  .dialog-next { right: .35rem; }

  .cookie-banner {
    bottom: 4.6rem;
    grid-template-columns: 1fr;
  }

  .cookie-actions .button {
    flex: 1;
  }
}

@media (max-width: 580px) {
  .hero-actions,
  .button {
    width: 100%;
  }

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

  .fact-strip > div:nth-child(3) {
    border-right: 1px solid var(--line);
  }

  .fact-strip > div:nth-child(2n) {
    border-right: 0;
  }

  .fact-strip > div:nth-child(-n + 4) {
    border-bottom: 1px solid var(--line);
  }

  .investment-grid,
  .verified-grid,
  .field-row,
  .field-grid,
  .legal-grid,
  .timeline-grid {
    grid-template-columns: 1fr;
  }

  .metric-card {
    min-height: 12.5rem;
  }

  .formula > div {
    display: grid;
    gap: .2rem;
  }

  .formula p {
    text-align: left;
  }

  .attention-box {
    grid-template-columns: 1fr;
  }

  .gallery-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 15rem;
  }

  .gallery-wide,
  .gallery-tall {
    grid-column: auto;
    grid-row: auto;
  }

  .gallery-item:has(img[width="366"]),
  .gallery-item:has(img[width="900"]),
  .gallery-item:has(img[width="488"]) {
    min-height: 22rem;
  }

  .energy-rating {
    gap: .15rem;
  }

  .energy-rating span {
    width: 2rem;
    height: 2rem;
  }

  .energy-rating strong {
    width: 2.8rem;
    height: 2.8rem;
  }

  .info-table > div {
    grid-template-columns: 1fr;
    gap: .2rem;
  }

  .dialog-thumbnails {
    justify-content: start;
  }
}

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

@media print {
  .site-header,
  .mobile-actions,
  .cookie-banner,
  .hero-actions,
  .photo-label,
  .gallery-dialog {
    display: none !important;
  }

  body {
    padding: 0;
    color: #000;
    background: #fff;
  }

  .hero,
  .investment-section,
  .contact-section,
  .tzen-teaser {
    color: #000;
    background: #fff;
  }

  .hero {
    min-height: 0;
  }
}

/* Presentation shared with the familial Vitry site. */
:root { --navy:#000e35; --cream:#f7f5ee; --red:#660000; --ink:#11182f; --muted:#68675f; --line:#d8d4c8; --max:90rem; }
body {background:var(--cream)}
h1,h2,h3 {font-family:var(--serif);font-weight:400;overflow-wrap:normal;word-wrap:normal;letter-spacing:-.035em;line-height:1.12}
h1 {max-width:none;font-size:clamp(2.5rem,4.7vw,4.8rem)}
h2 {font-size:clamp(2.25rem,4.1vw,4.7rem);line-height:1.1}
h3 {font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.2}
.eyebrow {color:var(--red);font-size:.875rem;letter-spacing:.18em;line-height:1.6;font-weight:750}
.eyebrow-light,.heading-on-dark .eyebrow {color:#e0b6b6}
.site-header {min-height:78px;background:rgba(247,245,238,.97);padding:.85rem clamp(20px,4vw,70px);gap:clamp(1rem,2.2vw,2rem);border-color:rgba(0,14,53,.12)}
.brand {gap:1rem;line-height:1.25}
.brand img {width:8rem;height:auto;object-fit:contain;flex:0 0 auto}
.brand span {display:flex;flex-direction:column;gap:.25rem}
.brand strong {font-size:.875rem;letter-spacing:.08em;text-transform:uppercase}
.brand small {font-size:.75rem;letter-spacing:.01em;color:var(--muted);font-weight:400}
.site-nav a {font-size:.875rem;font-weight:650}
.header-phone {background:var(--red);color:#fff;border-color:var(--red);border-radius:0;white-space:nowrap;font-size:.875rem}
.nav-toggle {border-radius:0;background:transparent}
.button {border-radius:0;border-width:1px;padding:1rem 1.4rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.065em;font-weight:750;min-height:48px}
.button-primary {background:var(--red);border-color:var(--red)}
.button-primary:hover {background:#830000;border-color:#830000}
.button-light {background:var(--cream);border-color:var(--cream);color:var(--navy)}
.button-outline {color:white;border-color:white;background:transparent}
.button-outline:hover {color:var(--navy);background:white}
.button-outline-dark {border-color:var(--navy);color:var(--navy);background:transparent}
.hero {position:relative;display:flex;align-items:center;min-height:calc(100svh - 78px);background:var(--navy);isolation:isolate;overflow:hidden}
.hero-media {position:absolute;inset:0;z-index:0;width:100%;height:100%;min-height:0;aspect-ratio:auto;border-radius:0;display:block;background:var(--navy)}
.hero-media img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-shade {position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(0,14,53,.94) 0%,rgba(0,14,53,.7) 46%,rgba(0,14,53,.13) 100%),linear-gradient(0deg,rgba(0,14,53,.55),transparent 65%)}
.hero-copy {position:relative;z-index:2;width:min(920px,78%);padding:clamp(3rem,6vw,6rem) clamp(24px,6.5vw,105px) 11rem;align-self:auto;color:white;pointer-events:none}
.hero-copy a,.hero-copy button {pointer-events:auto}
.hero-copy h1 {color:white;max-width:22ch;margin-bottom:1.8rem;font-size:clamp(2.5rem,4.2vw,4.5rem);line-height:1.13}
.hero-copy h1 span {color:#f0dfd5}
.hero-copy>.eyebrow {font-size:clamp(.875rem,1.1vw,1rem);margin-bottom:1.5rem;color:#ead9cd}
.lede {font-size:clamp(1rem,1.3vw,1.25rem);color:#f3f1eb;max-width:42rem;line-height:1.7;margin-bottom:1.8rem}
.hero-actions {gap:.8rem}
.hero-calendar {max-width:40rem;color:#e8e3dc;font-size:.875rem;margin:1.5rem 0 0;line-height:1.6}
.hero-calendar a {text-underline-offset:4px}
.hero-price {position:absolute;z-index:3;bottom:3rem;right:clamp(24px,5vw,74px);display:flex;align-items:flex-start;flex-direction:column;gap:.2rem;padding:1.3rem 1.6rem;margin:0;background:var(--cream);color:var(--navy);pointer-events:none}
.hero-price strong {font-family:var(--serif);font-weight:400;color:var(--navy);font-size:2.25rem}
.hero-price span {font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}
.hero-price small {font-size:.75rem;color:var(--muted)}
.photo-label {left:clamp(24px,6.5vw,105px);right:auto;bottom:3rem;border:1px solid rgba(255,255,255,.65);border-radius:0;background:rgba(0,14,53,.45);padding:.7rem 1rem;color:white;font-size:.875rem}
.fact-strip {max-width:none;background:var(--cream);border-bottom:1px solid var(--line)}
.fact-strip>div {padding:2rem .8rem;border-color:var(--line)}
.fact-strip strong {font-family:var(--serif);font-size:1.65rem;font-weight:400;color:var(--navy)}
.fact-strip span {font-size:.875rem;color:var(--muted)}
.seller-bridge {max-width:none;margin:0;border-radius:0;padding:clamp(2.5rem,5vw,5rem) clamp(24px,7vw,105px);background:#eae5d9;color:var(--navy);gap:3rem;box-shadow:none}
.seller-bridge h2 {color:var(--navy);font-size:clamp(2rem,3vw,3.2rem)}
.seller-bridge .eyebrow {color:var(--red)}
.seller-bridge p:last-child {color:#4d4c47}
.seller-bridge .button {background:var(--red);color:#fff;border-color:var(--red)}
.section {max-width:var(--max);margin:0 auto;padding:clamp(4rem,8vw,8rem) clamp(24px,7vw,105px)}
.section-heading {max-width:68rem;margin-bottom:3rem}
.section-heading>p:last-child {font-size:1.06rem;line-height:1.75;color:var(--muted);max-width:58rem}
.story-layout {display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.story-copy p:not(.eyebrow) {font-size:1.06rem;line-height:1.8;max-width:42rem}
.story-figure {margin:0;min-width:0}
.story-figure figcaption,.tzen-figure figcaption {font-size:.875rem;line-height:1.55;margin-top:.75rem;color:var(--muted)}
.editorial-photo {display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.editorial-photo img {width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.story-section .editorial-photo img {display:block;aspect-ratio:16/10;object-fit:cover;object-position:center}
.text-link {font-size:.875rem;letter-spacing:.06em;text-transform:uppercase;font-weight:750;display:inline-block;margin-top:.8rem;text-underline-offset:5px;color:var(--red)}
.rooms-section {display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:center;background:#fff;max-width:none}
.rooms-section>div {max-width:45rem}
.rooms-section .editorial-photo img {aspect-ratio:4/5}
.rooms-section>div>p:not(.eyebrow) {line-height:1.8}
.room-list {padding:0;border:0;border-top:1px solid var(--line);background:transparent;border-radius:0;margin:2rem 0 1rem}
.room-list>div {padding:.8rem 0;border-bottom:1px solid var(--line);gap:1rem}
.room-list dd {font-family:var(--serif);font-size:1.2rem;font-weight:400;color:var(--navy)}
.investment-section {background:var(--navy);max-width:none;border-radius:0;color:#fff;margin:0}
.heading-on-dark h2 {color:white}
.heading-on-dark>p:last-child {color:#ced1dd}
.investment-grid {gap:1px;background:#596078;border:1px solid #596078}
.metric-card {background:var(--navy);border:0;border-radius:0;padding:1.8rem;box-shadow:none;color:#fff}
.metric-card strong {font-family:var(--serif);font-weight:400;color:white;font-size:clamp(1.6rem,2.5vw,2.4rem)}
.metric-featured {background:#f7f5ee;color:var(--navy)}
.metric-featured strong {color:var(--navy)}
.metric-card .metric-label {color:#e0b6b6;font-size:.875rem}
.metric-card p {color:#d2d5e0;font-size:.95rem}
.metric-featured .metric-label {color:var(--red)}
.metric-featured p {color:#555650}
.calculation-panel {border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.045);border-radius:0;margin-top:2rem}
.calculation-panel h3,.financial-facts h3 {color:#fff}
.panel-kicker {color:#e0b6b6}
.formula span,.calculation-panel>.small-note,.financial-facts article>p:last-child {color:#d2d5e0}
.formula p {background:rgba(255,255,255,.08);color:white;border-radius:0}
.formula-total {border-color:rgba(255,255,255,.25)}
.financial-facts article {background:transparent;border:0;border-top:1px solid rgba(255,255,255,.3);border-radius:0;padding:1.6rem 0}
.large-value {font-family:var(--serif);font-weight:400;color:white}
.attention-box {background:rgba(255,255,255,.06);border:0;border-left:3px solid #d7a3a3;border-radius:0;color:white}
.attention-box p {color:#d2d5e0}
.verified-section {background:white;max-width:none}
.verified-grid {gap:1px;background:var(--line);border:1px solid var(--line)}
.verified-grid article {background:white;padding:2rem;border:0;border-radius:0}
.verified-number {font-family:var(--serif);color:var(--red);font-weight:400;background:transparent}
.verified-grid p {font-size:.95rem;line-height:1.7;color:var(--muted)}
.source-note,.small-note {font-size:.875rem;line-height:1.7}
.source-note {background:transparent;border:0;border-top:1px solid var(--line);padding:1.3rem 0 0;margin-top:2rem;color:var(--muted)}
.heading-row {align-items:start;gap:2.5rem}
.heading-row>p {max-width:24rem;font-size:1rem}
.gallery-grid {gap:14px;grid-auto-rows:15rem}
.gallery-item {border-radius:0;background:var(--navy)}
.gallery-item span {font-size:.9rem;font-weight:500;line-height:1.3;background:rgba(0,14,53,.84);padding:.55rem .9rem}
.neighborhood-section {background:white;max-width:none}
.neighborhood-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 4rem}
.neighborhood-grid article {padding:1.6rem 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
.neighborhood-grid article>span {font-family:var(--serif);color:var(--red);font-weight:400;background:none;font-size:1.3rem}
.neighborhood-grid p {font-size:1rem;color:var(--muted);line-height:1.8}
.tzen-teaser {display:grid;grid-template-columns:1fr 1fr;align-items:center;background:var(--navy);gap:clamp(2rem,5vw,5rem);padding:clamp(4rem,7vw,7rem) clamp(24px,7vw,105px);border-radius:0}
.tzen-copy {padding:0;min-width:0}
.tzen-copy h2 {color:#fff;font-size:clamp(2.25rem,3.7vw,4rem)}
.tzen-copy p:not(.eyebrow) {color:#d2d5e0;font-size:1rem;line-height:1.8}
.tzen-copy .tzen-date {font-weight:750;color:white;margin-bottom:.5rem}
.tzen-copy p.small-note,.tzen-copy p.source-note {font-size:.875rem}
.tzen-copy .source-note {border-color:#596078}
.tzen-figure {margin:0;min-width:0}
.tzen-visual {display:block;width:100%;min-height:0;border:0;padding:.6rem;background:white;border-radius:0;cursor:zoom-in}
.tzen-visual img {height:auto;aspect-ratio:auto;width:100%;object-fit:contain}
.tzen-figure figcaption {color:#c9ccda}
.energy-section {padding-top:4rem;padding-bottom:4rem}
.energy-card {grid-template-columns:minmax(16rem,.68fr) minmax(0,1.32fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start;background:transparent;border:1px solid var(--line);border-radius:0;box-shadow:none;padding:2rem;color:var(--navy)}
.energy-card h2 {font-size:clamp(2rem,3vw,3rem);color:var(--navy)}
.energy-card .eyebrow {color:var(--red)}
.energy-card p:last-child {color:#3f4655;line-height:1.75}
.energy-diagnostic {margin:0;min-width:0}
.energy-diagnostic img {display:block;width:100%;height:auto;border:1px solid var(--line);background:#fff}
.energy-diagnostic figcaption {margin-top:.75rem;color:#3f4655;font-size:.875rem;line-height:1.55}
.info-section {max-width:none;background:var(--red);color:#fff}
.info-section h2 {color:#fff}
.info-section .eyebrow {color:#e5c8c8}
.info-table {border:1px solid rgba(255,255,255,.3);border-radius:0;background:transparent;max-width:75rem}
.info-table>div {background:transparent!important;border-color:rgba(255,255,255,.3);padding:1rem 1.5rem}
.info-table span {color:#e5c8c8}
.info-table strong {color:#fff;font-weight:500}
.info-section .small-note {color:#e5c8c8}
.faq-section {display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem)}
.faq-list {margin:0}
.faq-list details {border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
.faq-list details:last-child {border-bottom:1px solid var(--line)}
.faq-list summary {font-size:1rem;padding:1.5rem 2rem 1.5rem 0}
.faq-list details p {padding:0 1.5rem 1.5rem 0;color:var(--muted);line-height:1.75}
.contact-section {padding:clamp(4rem,7vw,7rem) clamp(24px,7vw,105px);background:var(--navy);gap:clamp(2rem,5vw,5rem);border-radius:0}
.contact-intro {padding:0;position:static}
.contact-intro h2 {font-size:clamp(2.25rem,3.7vw,4rem);color:#fff}
.contact-intro>p:not(.eyebrow) {color:#d2d5e0;line-height:1.8}
.contact-direct a {font-size:1rem;overflow-wrap:anywhere}
.contact-direct a:last-child {margin-top:.75rem;padding:.75rem 1rem;background:var(--red);border:1px solid #d7a3a3;display:inline-flex;width:fit-content;text-decoration:none}
.lead-form {border-radius:0;background:#fff;box-shadow:none;color:var(--ink);padding:clamp(1.3rem,3vw,2.5rem)}
.field label {font-size:.875rem;font-weight:650;color:var(--navy)}
.field input,.field select,.field textarea {border-radius:0;border-color:#aaa99f;background:white;font-size:1rem;min-height:48px}
.field input:focus,.field select:focus,.field textarea:focus {border-color:var(--navy);box-shadow:0 0 0 2px rgba(0,14,53,.15)}
.consent,.form-note {font-size:.875rem;line-height:1.6;color:#56564f}
.consent input {min-width:20px;min-height:20px;accent-color:var(--red)}
.form-note a {text-underline-offset:3px}
.estimate-section {background:#eae5d9;max-width:none}
.estimate-section .section-heading {max-width:65rem}
.seller-form {max-width:75rem;margin:0}
.agent-section {background:var(--cream);padding:4rem clamp(24px,7vw,105px);max-width:none;gap:2.5rem}
.agent-mark img {width:11rem;object-fit:contain}
.agent-section h2 {font-size:2.2rem}
.agent-links a {font-size:1rem;overflow-wrap:anywhere}
.site-footer {background:#050b1f;font-size:.875rem;padding:2.5rem clamp(24px,7vw,105px);gap:2rem}
.site-footer nav,.site-footer p {font-size:.875rem}
.cookie-banner {border-radius:0;border:1px solid var(--line);background:var(--cream);box-shadow:0 8px 40px rgba(0,14,53,.2)}
.cookie-banner h2 {font-family:var(--serif);font-size:1.45rem}
.cookie-banner p {font-size:.875rem;line-height:1.6}
.cookie-actions {gap:.7rem;display:flex}
.cookie-actions .button {flex:1}
.subpage-hero {background:var(--navy);padding:clamp(3rem,7vw,6rem) clamp(24px,7vw,105px);color:#fff}
.subpage-hero h1 {color:#fff;max-width:22ch;font-size:clamp(2.4rem,4.8vw,5rem)}
.subpage-hero p:not(.eyebrow) {color:#d2d5e0;max-width:48rem;font-size:1.1rem}
.document-page {max-width:80rem;padding:clamp(3rem,6vw,6rem) clamp(24px,5vw,70px);margin:auto}
.document-page h2 {font-size:clamp(2rem,3.5vw,3.5rem)}
.document-page h3 {font-size:1.5rem}
.timeline-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.timeline-grid article {background:var(--cream);border:0;border-radius:0;padding:1.6rem}
.legal-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 3rem}
.legal-grid article {border-top:1px solid var(--line);padding-top:1.5rem}
.transport-numbers {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);margin-top:2.5rem}
.transport-numbers>div {padding:1.5rem;border-right:1px solid var(--line)}
.transport-numbers strong {display:block;font-family:var(--serif);font-weight:400;font-size:2rem;color:var(--navy)}
.transport-numbers span {font-size:.875rem;color:var(--muted)}
.tzen-page-image {margin:2rem 0}
.fact-callout {background:#eae5d9;border:0;border-left:3px solid var(--red);border-radius:0}
.back-to-property {background:var(--navy);border-radius:0;padding:2.5rem}
.gallery-dialog {border-radius:0;background:#080b14}
.dialog-inner figcaption {font-size:.95rem}
.dialog-thumbnails button {border-radius:0}
.mobile-actions {background:var(--navy)}
.mobile-actions a:last-child {background:var(--red)}
[hidden] {display:none!important}
@media(min-width:1500px) {.hero-copy {width:70%;max-width:1050px}}
@media(max-width:1180px) {.brand span {display:none}.hero-copy {width:83%;padding-bottom:11rem}.investment-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.verified-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px) {
 .hero-copy {width:100%;padding:4rem 2rem 12rem;max-width:800px}
 .hero-copy h1 {font-size:clamp(2.5rem,5.5vw,3.7rem);max-width:22ch}
 .hero-shade {background:linear-gradient(90deg,rgba(0,14,53,.93),rgba(0,14,53,.6)),linear-gradient(0deg,rgba(0,14,53,.6),transparent)}
 .hero-price {left:2rem;right:auto;bottom:2rem}
 .photo-label {left:auto;right:2rem;bottom:2rem}
 .story-layout,.rooms-section,.tzen-teaser,.faq-section,.contact-section {grid-template-columns:1fr}
 .rooms-section .story-figure {order:2}.editorial-photo img,.rooms-section .editorial-photo img {aspect-ratio:4/3}
 .seller-bridge {grid-template-columns:1fr;gap:1.5rem}
 .seller-bridge .button {justify-self:start}.financial-facts {grid-template-columns:1fr}
 .tzen-figure {max-width:800px}.faq-section {gap:1rem}.section-heading {margin-bottom:2rem}
}
@media(max-width:820px) {
 .site-header {min-height:68px;padding:.9rem 20px;grid-template-columns:1fr auto}
 .brand span {display:flex}.brand img {width:7rem}.site-nav {background:var(--cream)}
 .hero {min-height:760px;grid-template-columns:none;display:flex}
 .hero-media {order:0;min-height:0}.hero-copy {padding-top:3rem;padding-bottom:14rem}
 .hero-copy .eyebrow {font-size:.875rem}
 .site-footer {padding-bottom:6rem}.agent-section {grid-template-columns:1fr;gap:1.5rem}
 .cookie-banner {bottom:5rem;max-height:calc(100svh - 7rem);overflow:auto}
 .tzen-visual {min-height:0}.gallery-grid {grid-auto-rows:13rem}
}
@media(max-width:560px) {
 .brand span {display:none}.brand img {width:7.5rem}
 .hero {min-height:840px}
 .hero-copy {padding:3rem 20px 17rem;width:100%}
 .hero-copy h1 {font-size:2.6rem;max-width:100%;line-height:1.15}
 .hero-copy .eyebrow {letter-spacing:.11em}
 .lede {font-size:1rem;line-height:1.7}
 .hero-actions .button {width:100%;font-size:.8rem;letter-spacing:.04em}
 .hero-price {left:20px;bottom:4.8rem;padding:1rem 1.3rem;max-width:calc(100% - 40px)}
 .hero-price strong {font-size:2rem}.photo-label {right:auto;left:20px;bottom:1rem}
 .hero-calendar {font-size:.8rem;margin-top:1rem}
 .section {padding:4rem 20px}.section-heading h2 {font-size:2.45rem}
 .seller-bridge,.contact-section,.tzen-teaser {padding:3rem 20px}
 .fact-strip>div {padding:1.4rem .5rem}.fact-strip strong {font-size:1.45rem}
 .fact-strip span {font-size:.8rem}
 .investment-grid,.verified-grid,.neighborhood-grid,.legal-grid,.timeline-grid {grid-template-columns:1fr}
 .metric-card {padding:1.6rem}.metric-card strong {font-size:2.2rem}
 .calculation-panel {padding:1.4rem}.formula p {font-size:1rem}
 .gallery-grid {grid-template-columns:1fr;grid-auto-rows:16rem}
 .gallery-wide,.gallery-tall {grid-column:auto;grid-row:auto}
 .gallery-tall {height:28rem}.gallery-item:has(img[width="488"]) {height:26rem}
 .energy-card {padding:1.4rem;display:grid;grid-template-columns:1fr;gap:1.5rem}
 .info-table>div {padding:1rem;grid-template-columns:1fr;gap:.35rem}
 .field-grid,.field-row {grid-template-columns:1fr}
 .transport-numbers {grid-template-columns:repeat(2,minmax(0,1fr))}
 .transport-numbers>div {padding:1.2rem;border-bottom:1px solid var(--line)}
 .cookie-actions {display:grid;grid-template-columns:1fr 1fr}.cookie-actions .button {font-size:.8rem;padding:.9rem}
 .source-note {overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce) {html{scroll-behavior:auto}.hero-media img,.button {transition:none}}
