.np5-plan-layout { display: contents; }
.np5-plan-summary[hidden] { display: none; }
.np5-plan-layout.is-active { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr); align-items: stretch; gap: 18px; }
.np5-plan-layout.is-active .visual { min-width: 0; height: clamp(300px, 34vw, 470px); background: #fff; }
.np5-plan-layout.is-active .visual > img { padding: 6px; object-fit: contain; }
.np5-plan-summary { min-width: 0; align-self: stretch; padding: clamp(18px, 2.5vw, 28px); border: 1px solid var(--line, #dce1e5); background: #fff; }
.np5-plan-summary h3 { margin: 0 0 20px; color: var(--ink, #182c42); font-size: clamp(18px, 2vw, 23px); font-weight: 500; line-height: 1.25; }
.np5-plan-summary dl { margin: 0; border-top: 1px solid var(--line, #dce1e5); }
.np5-plan-summary dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--line, #dce1e5); }
.np5-plan-summary dt { color: var(--muted, #68737d); font-size: 13px; }
.np5-plan-summary dd { margin: 0; color: var(--ink, #182c42); font-size: 15px; font-weight: 650; text-align: right; }
.np5-plan-summary > p { margin: 16px 0 18px; color: var(--muted, #68737d); font-size: 12px; line-height: 1.6; }
.np5-plan-summary > a { display: inline-flex; min-height: 44px; align-items: center; color: var(--ink, #182c42); font-size: 12px; font-weight: 650; text-underline-offset: 4px; }
.np5-plan-summary > a:focus-visible { outline: 3px solid #417ca9; outline-offset: 3px; }

.ph-plan-layout, #specifications .plan-layout, .np5-collection-plan {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr);
  align-items: start;
  gap: clamp(24px, 4vw, 56px);
}
.ph-plan-layout[hidden] { display: none; }
.ph-plan-layout > .ph-plan-board, #specifications .plan-images { grid-column: 1; grid-row: 1; min-width: 0; }
.ph-plan-layout > div:not(.ph-plan-board), #specifications .plan-info { grid-column: 2; grid-row: 1; }
.ph-plan-layout .ph-plan-board img { width: 100%; height: clamp(340px, 45vw, 650px); max-height: none; object-fit: contain; }
#specifications .plan-images { display: grid; grid-template-columns: 1fr; gap: 20px; }
#specifications .plan-image-button img { width: 100%; height: clamp(340px, 42vw, 600px); object-fit: contain; }
#specifications .furnished-image-button img { width: 100%; max-height: 340px; object-fit: contain; }
.np5-collection-plan .xl-plan { margin: 0; min-width: 0; }
.np5-collection-plan .xl-plan img { width: 100%; height: clamp(340px, 45vw, 650px); max-height: none; object-fit: contain; }

@media (max-width: 1000px) {
  .np5-plan-layout.is-active { grid-template-columns: 1fr; }
  .np5-plan-layout.is-active .visual { height: clamp(280px, 65vw, 470px); }
}
@media (max-width: 760px) {
  .ph-plan-layout, #specifications .plan-layout, .np5-collection-plan { grid-template-columns: 1fr; gap: 24px; }
  .ph-plan-layout > .ph-plan-board, #specifications .plan-images { grid-column: 1; grid-row: 1; }
  .ph-plan-layout > div:not(.ph-plan-board), #specifications .plan-info { grid-column: 1; grid-row: 2; }
  .ph-plan-layout .ph-plan-board img, #specifications .plan-image-button img, .np5-collection-plan .xl-plan img {
    height: auto; min-height: 280px; max-height: 70svh; object-fit: contain;
  }
}
