.masterplan {
  grid-template-columns: minmax(260px,.62fr) minmax(560px,1.38fr);
  gap: clamp(3rem,7vw,8rem);
  padding-block: clamp(7rem,10vw,11rem);
  background: #292c25;
}
.plan-copy { max-width: 430px; }
.plan-copy h2 { margin-top: 1.4rem; }
.plan-copy > p:not(.eyebrow) { margin: 2rem 0 0; max-width: 34rem; font-size: 17px; }
.project-plan-link { margin-top: 3rem; }
.masterplan-key { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:2.2rem; }
.masterplan-key span { border:1px solid rgba(255,255,255,.24); border-radius:99px; padding:.62rem .85rem; font:600 9px var(--sans); letter-spacing:.09em; text-transform:uppercase; color:rgba(255,255,255,.76); }
.site-plan { height:auto; margin:0; background:transparent !important; transform:none; overflow:visible; box-shadow:none; color:#fff; }
.site-plan img { display:block; width:100%; height:auto; border:1px solid rgba(255,255,255,.14); border-radius:18px; box-shadow:0 28px 70px rgba(0,0,0,.25); }
.site-plan figcaption { display:flex; justify-content:space-between; gap:2rem; margin-top:1rem; color:rgba(255,255,255,.48); font:500 9px var(--sans); letter-spacing:.1em; text-transform:uppercase; }
.masterplan,.floorplan-section { scroll-margin-top:84px; }
.floorplan-section { padding-block:clamp(7rem,10vw,11rem); background:#f5f0e7; }
.floorplan-heading { gap:clamp(3rem,8vw,9rem); }
.floorplan-heading h2 { max-width:760px; }
.floorplan-heading > div:last-child { max-width:560px; }
.architectural-plan { margin-top:5rem; padding:clamp(.8rem,1.5vw,1.5rem); background:#ebe3d5; border:1px solid rgba(24,40,61,.12); border-radius:18px; box-shadow:0 24px 70px rgba(24,40,61,.08); }
.architectural-plan img { min-width:0 !important; border:0; border-radius:10px; background:#f8f5ee; }
.architectural-plan figcaption { padding:.9rem .2rem 0; }
@media (max-width: 1050px) {
  .masterplan { grid-template-columns:1fr; }
  .plan-copy { max-width:680px; }
  .site-plan { max-width:1000px; }
}
@media (max-width: 900px) {
  .architectural-plan { overflow:visible; margin-top:3.5rem; }
  .floorplan-heading { grid-template-columns:1fr; }
}
@media (max-width: 600px) {
  .masterplan,.floorplan-section { padding:5.5rem 5vw; }
  .plan-copy > p:not(.eyebrow) { font-size:15px; }
  .masterplan-key { gap:.45rem; }
  .masterplan-key span { font-size:8px; padding:.5rem .7rem; }
  .site-plan img { border-radius:10px; }
  .site-plan figcaption,.architectural-plan figcaption { flex-direction:column; gap:.35rem; }
  .architectural-plan { margin-inline:-1vw; padding:.45rem; border-radius:12px; }
}
