.casita-page { padding: 36px var(--page-gutter) 110px; }
.casita-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 7vw; }
.casita-hero h1 { margin: 24px 0; color: var(--blue); font-size: var(--type-page-title); font-weight: 400; line-height: 1.08; letter-spacing: -.045em; text-wrap: balance; }
.casita-page .button { gap: 12px; }
.casita-page p { font-size: var(--type-story); line-height: var(--type-story-leading); }
.casita-facts { display: flex; flex-wrap: wrap; gap: 10px 24px; padding: 22px 0 28px; list-style: none; color: var(--blue); }
.casita-facts li { padding-bottom: 7px; border-bottom: 1px solid rgba(3,59,82,.25); }
.casita-page figure { margin: 0; min-width: 0; }
.casita-page img { display: block; width: 100%; height: auto; }
.casita-hero-photo img { aspect-ratio: 4 / 5; object-fit: cover; object-position: center bottom; }
.casita-intro { max-width: 780px; margin: 110px auto; }
.casita-page h2 { margin: 18px 0 24px; font-size: var(--type-section-title); line-height: 1.12; font-weight: 400; letter-spacing: -.035em; color: var(--blue); }
.casita-section-heading { max-width: 650px; margin-bottom: 36px; }
.casita-kitchen img { aspect-ratio: 4 / 3; object-fit: cover; }
.casita-page h3 { margin: 20px 0 8px; color: var(--blue); font-size: var(--type-feature-title); font-weight: 400; letter-spacing: -.025em; }
.casita-page figcaption p { margin: 0; max-width: 690px; }
.casita-spaces-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 5vw; margin-top: 60px; }
.casita-spaces-pair img { aspect-ratio: 3 / 4; object-fit: cover; }
.casita-spaces-pair figure:last-child { padding-top: 85px; }
.casita-contact { max-width: 800px; margin: 110px auto 0; text-align: center; scroll-margin-top: 30px; }
.casita-contact p { margin-bottom: 30px; }
.casita-phone { display: block; width: fit-content; margin: 22px auto 0; padding: 12px; }
@media (max-width: 760px) {
  .casita-page { padding-top: 24px; padding-bottom: 65px; }
  .casita-hero { grid-template-columns: 1fr; gap: 34px; }
  .casita-hero h1 { max-width: 550px; }
  .casita-intro { margin-block: 65px; }
  .casita-spaces-pair { grid-template-columns: 1fr; gap: 40px; margin-top: 40px; }
  .casita-spaces-pair figure:last-child { padding-top: 0; }
  .casita-contact { margin-top: 65px; }
  .casita-page .button { gap: 12px; }
}
