/* Readable supporting text while retaining the compact four-section layout. */
body { font-family: Arial, Helvetica, sans-serif; font-size: 16px; }
:root { --muted: #505c53; }
nav, .main-facts dt, .main-facts p, .aspect,
.section-head > p, .count-line span, .floor-name h3, .floor-name b,
.floor-row .secondary, .feature h4, .photo-grid figcaption strong,
.film-grid p, .location strong, .location a, form label { font-size: 14px; }
.intro, .floor-row p, .feature p, .visit-info > p:not(.eyebrow) { font-size: 16px; line-height: 1.6; }
.eyebrow, .fine-print, .photo-grid figcaption span, .film-tag,
.optional, .form-action p, .location > span, footer { font-size: 12px; line-height: 1.5; }
.count-line small { font-size: 11px; }
.button { font-size: 14px; }
.features > h3, .film-grid strong { font-size: 17px; }
input, select, textarea { font-size: 16px; min-height: 46px; }
.exterior figcaption { font-size: 14px; }
.exterior figcaption span { font-size: 12px; }
.enquiry-result p, .enquiry-result dl, #copy-status { font-size: 14px; }

@media (max-width: 700px) {
  header { flex-wrap: wrap; }
  nav, .nav-cta { font-size: 13px; }
  nav a { padding-block: 8px; }
  .intro, .floor-row p, .floor-row .secondary, .feature p,
  .visit-info > p:not(.eyebrow), .location strong, .location a { font-size: 16px; }
  .main-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .main-facts > div { padding: 13px 0 !important; }
  .main-facts > div:nth-child(even) { padding-left: 15px !important; border-right: 0 !important; }
  .main-facts > div:nth-child(-n+2) { border-bottom: 1px solid var(--line) !important; }
  .main-facts dt { font-size: 14px; }
  .main-facts dd { font-size: 31px; }
  .main-facts dd small { font-size: 14px; }
  .main-facts p { font-size: 12px; line-height: 1.5; }
  .aspect { display: flex; flex-wrap: wrap; font-size: 13px; gap: 8px 16px; margin: 0 0 16px; }
  .eyebrow { font-size: 11px; letter-spacing: 1px; }
  .section-head > p { font-size: 14px; max-width: none; }
  .section-head { display: block; }
  .count-line { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; padding: 18px; }
  .count-line > div { display: flex; align-items: center; gap: 10px; }
  .count-line span { font-size: 14px; margin: 0; }
  .count-line small { font-size: 12px; }
  .floor-row { grid-template-columns: 82px minmax(0, 1fr); gap: 16px; }
  .floor-name { grid-template-columns: 1fr; }
  .floor-name h3, .floor-name b { grid-column: 1; font-size: 14px; }
  .floor-name > span { font-size: 11px; }
  .fine-print { font-size: 13px; }
  .features { display: block; }
  .feature h4 { font-size: 16px; }
  .photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .photo-grid figcaption strong { font-size: 14px; line-height: 1.45; }
  .photo-grid figcaption span { font-size: 13px; line-height: 1.5; margin-top: 3px; }
  .film-grid > figure { display: block; }
  .film-grid video { width: 100%; height: 182px; }
  .film-grid figcaption { padding: 12px; }
  .film-grid strong { font-size: 16px; }
  .film-grid p { font-size: 14px; line-height: 1.5; }
  .film-tag { font-size: 11px; letter-spacing: 0; }
  .exterior figcaption { font-size: 14px; }
  .exterior figcaption span { font-size: 11px; }
  .visit-info { display: block; }
  .location { border: 0; border-top: 1px solid #cfd5c8; margin: 16px 0 0; padding: 16px 0 0; }
  .location span { font-size: 13px; }
  form label { font-size: 14px; }
  .optional { font-size: 12px; }
  .button, .form-action .button { font-size: 15px; min-height: 46px; }
  .form-action { flex-wrap: wrap; gap: 12px; }
  .form-action p { font-size: 13px; }
  footer { font-size: 12px; line-height: 1.6; }
}

@media (max-width: 480px) {
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .main-facts dd { font-size: 29px; }
}
