.space-gallery { padding-bottom: clamp(48px, 6vw, 106px); }
.space-gallery .section-head { align-items: center; }
.space-browse, .space-step { display: flex; align-items: center; gap: 12px; }
.space-step { gap: 2px; }
.space-step button { display: grid; place-items: center; width: 44px; height: 44px; }
.space-step button:disabled { opacity: .26; cursor: default; }
.space-photos {
  display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 36px) / 3);
  gap: 18px; overflow-x: auto; overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory; scrollbar-width: thin; scrollbar-color: #aaa transparent;
  padding-bottom: 9px;
}
.space-photos .plate { scroll-snap-align: start; min-width: 0; align-self: start; }
.space-photos .plate:focus-visible { outline-offset: -4px; position: relative; }
.rental-page { max-width: 1600px; }
.rental-title { padding-block: clamp(20px, 3.2vw, 50px) clamp(22px, 3.9vw, 65px); }
.rental-title .back { color: var(--muted); }
.rental-heading { display: grid; grid-template-columns: 1.4fr 1fr; align-items: end; gap: clamp(20px, 5vw, 80px); margin-top: clamp(25px, 3vw, 51px); }
.rental-heading .eyebrow { margin-bottom: 13px; }
.rental-heading h1 { font-size: clamp(50px, 6.8vw, 104px); }
.rental-welcome p, .rental-specs > p, .rental-booking p { font-size: clamp(16px, 1.3vw, 21px); line-height: 1.5; max-width: 39em; }
.rental-welcome .line-link { margin-top: 12px; }
.rental-tour .screen { aspect-ratio: 16 / 9; }
.rental-spread, .rental-booking { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(30px, 5vw, 94px); margin-block: clamp(55px, 7.2vw, 122px); }
.rental-access .rental-specs { grid-column: 2; grid-row: 1; }
.rental-access figure { grid-column: 1; grid-row: 1; }
.rental-spread h2, .rental-booking h2 { font-size: clamp(36px, 4.2vw, 70px); margin-bottom: .36em; max-width: 12em; }
.rental-spread figcaption { color: var(--muted); margin-top: 6px; }
.rental-specs dl { display: grid; gap: 13px; }
.rental-specs dl > div { display: grid; grid-template-columns: minmax(90px, 26%) 1fr; align-items: baseline; gap: 12px; }
.rental-specs dt { font: 500 11px/1.45 var(--mono); text-transform: uppercase; letter-spacing: .055em; }
.rental-specs dd { max-width: 29em; font-size: clamp(15px, 1.2vw, 19px); }
.rental-specs > p + p { margin-top: .65em; }
.rental-specs p a, .rental-booking small a { text-decoration: underline; text-underline-offset: .19em; }
.rental-specs .links { margin-top: 18px; flex-wrap: wrap; }
.rental-booking { background: #ededed; padding: clamp(25px, 4.6vw, 72px); align-items: start; }
.rental-booking h2 { max-width: 9em; }
.rental-booking .button { margin: 20px 0 10px; }
.rental-booking small { display: block; color: var(--muted); }
@media(max-width:1000px) {
  .space-photos { grid-auto-columns: 43%; }
}
@media(max-width:700px) {
  .rental-heading, .rental-spread, .rental-booking { grid-template-columns: 1fr; gap: 23px; }
  .rental-heading { align-items: start; }
  .rental-access .rental-specs, .rental-access figure { grid-column: auto; grid-row: auto; }
  .rental-specs dl > div { grid-template-columns: minmax(82px, 23%) 1fr; }
}
@media(max-width:620px) {
  .space-photos { grid-auto-columns: 83%; gap: 10px; }
  .space-browse { gap: 2px; }
  .space-step button { width: 37px; }
  .space-gallery .section-head { gap: 8px; }
  .space-gallery .section-head h2 { font-size: clamp(31px, 8vw, 43px); }
  .space-browse .micro { letter-spacing: .03em; font-size: 10px; }
  .rental-page { overflow-wrap: anywhere; }
  .rental-specs .links { gap: 15px; }
}
