/* ---------- Estate floor plan and personas ---------- */
.estate-floor-plan__header{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:var(--step-12);align-items:end;margin-bottom:var(--step-12)}
.estate-floor-plan__header .h2{max-width:15ch}
.estate-floor-plan__figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--paper-2);box-shadow:0 28px 70px -40px rgba(14,22,20,.42)}
.estate-floor-plan__image-wrap{padding:clamp(12px,3vw,36px)}
.estate-floor-plan__image-wrap img{width:100%;height:auto;border-radius:10px}
.estate-floor-plan__figure figcaption{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--step-4);padding:var(--step-5) var(--step-6);border-top:1px solid var(--line);background:var(--paper-3);color:var(--muted);font-size:13px;line-height:1.45}
.estate-floor-plan__figure figcaption span{padding-left:14px;border-left:2px solid var(--teal)}
.estate-floor-plan__figure figcaption b{display:block;color:var(--ink);font-weight:600}
.estate-floor-plan__note{max-width:78ch;margin:var(--step-4) auto 0;text-align:center;color:var(--muted);font-size:12.5px}
.estate-personas__grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:var(--step-4)}
.estate-persona{grid-column:span 2;min-height:255px;padding:var(--step-6);border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.estate-persona__number{display:block;color:var(--warm-text);font-size:11px;font-weight:600;letter-spacing:.14em}
.estate-persona h3{margin:var(--step-8) 0 var(--step-3);font-family:var(--font-serif);font-size:23px;font-weight:400;line-height:1.15}
.estate-persona p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.65}

@media (max-width:1000px){
  .estate-personas__grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .estate-persona{grid-column:span 2}
  .estate-persona:nth-child(4),.estate-persona:nth-child(5){grid-column:span 3}
}

@media (max-width:800px){
  .estate-floor-plan__header{grid-template-columns:1fr;gap:var(--step-5);align-items:start}
  .estate-floor-plan__header .h2{max-width:17ch}
  .estate-floor-plan__figure figcaption{grid-template-columns:1fr}
}

@media (max-width:640px){
  .estate-floor-plan__figure{border-radius:12px}
  .estate-floor-plan__figure figcaption{padding:var(--step-5)}
  .estate-personas__grid{grid-template-columns:1fr}
  .estate-persona,.estate-persona:nth-child(4),.estate-persona:nth-child(5){grid-column:auto;min-height:0}
  .estate-persona h3{margin-top:var(--step-5)}
}
