.os007-page {
  padding-block:clamp(3rem,6vw,6rem);
}

.os007-page-heading {
  max-inline-size:65rem;
  margin-block-end:clamp(2.5rem,4.5vw,4.5rem);
}

.os007-page-heading h1 {
  margin-block-end:1.5rem;
}

.os007-page-heading>p:last-child:not(.os007-eyebrow) {
  max-inline-size:48rem;
  font-size:clamp(1.15rem,1.8vw,1.5rem);
}

.os007-stay-figure {
  max-inline-size:1191px;
}

.os007-stay-figure img {
  inline-size:100%;
}

.os007-stay-figure figcaption {
  font:400 .8rem var(--os-sans);
  color:var(--os-muted);
  margin-block-start:1rem;
}

.os007-page-links {
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem 2rem;
  margin-block-start:2.5rem;
  align-items:center;
}

.os007-gallery-section {
  margin-block:3rem 4rem;
}

.os007-gallery-section h2 {
  font-size:clamp(2rem,3.5vw,3.5rem);
  margin-block-end:1.25rem;
}

.os007-gallery-section>.os007-muted {
  margin-block-end:1.5rem;
}

.os007-gallery-link {
  display:block;
  position:relative;
  text-decoration:none;
}

.os007-gallery-link>span {
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:1.15rem;
  padding-block:.8rem;
}

.os007-gallery-link:hover>span {
  text-decoration:underline;
}

.os007-gallery-property {
  max-inline-size:900px;
}

.os007-gallery-property>img {
  inline-size:100%;
}

.os007-gallery-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
}

.os007-gallery-grid img {
  inline-size:100%;
  block-size:360px;
  object-fit:cover;
}

.os007-gallery-indio img {
  object-position:center 74%;
}

.os007-gallery-cave {
  grid-column:1 / -1;
}

.os007-gallery-cave img {
  block-size:auto;
}

.os007-destination {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(2rem,6vw,6rem);
  align-items:center;
  margin-block:5rem;
  scroll-margin-block-start:2rem;
}

.os007-destination-image img {
  inline-size:100%;
  block-size:auto;
}

.os007-destination-indio {
  max-inline-size:430px;
  margin-inline:auto;
}

.os007-destination h2 {
  font-size:clamp(2.5rem,4.5vw,4rem);
  margin-block-end:1.5rem;
}

.os007-destination p:not(.os007-eyebrow) {
  margin-block-end:1rem;
}

.os007-destination:nth-of-type(even) .os007-destination-image {
  order:2;
}

.os007-faq details {
  border-block-start:1px solid var(--os-border);
  padding-block:1.5rem;
}

.os007-faq details:last-of-type {
  border-block-end:1px solid var(--os-border);
}

.os007-faq summary {
  font:400 clamp(1.3rem,2.2vw,1.75rem)/1.4 var(--os-serif);
  cursor:pointer;
  min-block-size:44px;
}

.os007-faq details p {
  font:400 1.0625rem/1.8 var(--os-sans);
  margin-block:1rem;
}

.os007-lightbox {
  padding:clamp(1rem,3vw,2.5rem);
  border:0;
  background:var(--os-bg);
  color:var(--os-ink);
  max-inline-size:95vw;
  max-block-size:94dvh;
  inline-size:min(1100px,95vw);
  overflow:auto;
}

.os007-lightbox::backdrop {
  background:#001c24e8;
}

.os007-lightbox figure img {
  max-block-size:70dvh;
  max-inline-size:100%;
  object-fit:contain;
  margin-inline:auto;
}

.os007-lightbox figcaption {
  text-align:center;
  margin-block:1rem;
  font-size:1.1rem;
}

.os007-lightbox-close {
  display:flex;
  align-items:center;
  justify-content:center;
  inline-size:44px;
  block-size:44px;
  border:1px solid var(--os-border);
  background:var(--os-surface);
  margin-inline-start:auto;
  margin-block-end:.75rem;
}

.os007-lightbox-controls {
  display:flex;
  justify-content:center;
  gap:1rem;
  align-items:center;
  font:400 .85rem var(--os-sans);
}

.os007-lightbox-controls button {
  background:var(--os-teal);
  color:var(--os-surface);
  border:0;
  border-radius:4px;
  min-block-size:44px;
  padding:.6rem 1rem;
  font:400 .9rem var(--os-sans);
}

@media(max-width:767px) {
  .os007-page-heading h1 {
    font-size:clamp(2.7rem,9vw,4rem);
  }
  .os007-gallery-grid {
    grid-template-columns:1fr;
  }
  .os007-gallery-grid img {
    block-size:auto;
  }
  .os007-gallery-indio {
    max-inline-size:430px;
  }
  .os007-destination {
    grid-template-columns:1fr;
    gap:2rem;
    margin-block:3.5rem;
  }
  .os007-destination:nth-of-type(even) .os007-destination-image {
    order:0;
  }
  .os007-destination h2 {
    font-size:2.8rem;
  }
  .os007-lightbox {
    padding:1rem;
  }
  .os007-request-summary dd {
    font-size:1.2rem;
  }
}
