body.home-page main {
  padding-top: var(--space-24);
}

.home-hero {
  padding-top: var(--space-32);
  padding-bottom: var(--space-32);
}

.home-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr);
  gap: var(--space-24);
  align-items: center;
}

@media (min-width: 960px) {
  .home-hero__grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  }
}

.home-hero__content {
  max-width: 640px;
}

.home-hero__lead {
  font-size: var(--font-size-lg);
}

.home-hero__chips {
  margin-top: var(--space-12);
}

.home-hero__chips-text {
  margin-top: var(--space-4);
  max-width: 420px;
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  margin-top: var(--space-16);
}

.home-hero__stats {
  display: grid;
  gap: var(--space-12);
  margin-top: var(--space-16);
}

@media (min-width: 640px) {
  .home-hero__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.home-hero__stat-item dt {
  font-size: var(--font-size-xs);
  letter-spacing: var(--letter-spacing-wide);
  text-transform: uppercase;
  color: var(--color-text-soft);
  margin-bottom: var(--space-2);
}

.home-hero__stat-item dd {
  font-size: var(--font-size-lg);
  font-weight: 600;
}

.home-hero__note {
  margin-top: var(--space-8);
  max-width: 520px;
}

.home-hero__media {
  display: grid;
  gap: var(--space-12);
}

.home-hero__media-card {
  margin-top: var(--space-8);
}

.home-hero__media-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
}

.home-hero__image {
  max-height: 420px;
}

.home-section-header {
  max-width: 720px;
  margin-inline: auto;
  margin-bottom: var(--space-24);
}

.home-section-header--center {
  text-align: center;
}

.home-section-header--center p {
  margin-inline: auto;
}

.home-differentiators__grid {
  margin-top: var(--space-8);
}

.home-differentiators__item .card-body p {
  font-size: var(--font-size-sm);
}

.home-link-inline {
  font-size: var(--font-size-sm);
}

.home-events__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-24);
  align-items: center;
}

@media (min-width: 960px) {
  .home-events__grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  }
}

.home-events__list {
  display: grid;
  gap: var(--space-12);
  margin-top: var(--space-8);
}

.home-events__list h3 {
  margin-bottom: var(--space-4);
}

.home-events__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  margin-top: var(--space-16);
}

.home-interiors__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-24);
  align-items: center;
}

@media (min-width: 960px) {
  .home-interiors__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  }
}

.home-interiors__list {
  margin-top: var(--space-8);
  display: grid;
  gap: var(--space-4);
}

.home-interiors__list li {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.home-how-it-works__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-24);
  align-items: flex-start;
}

@media (min-width: 960px) {
  .home-how-it-works__grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr);
  }
}

.home-steps {
  display: grid;
  gap: var(--space-12);
  counter-reset: step-counter;
}

.home-steps li {
  position: relative;
  padding-left: var(--space-16);
}

.home-steps li::before {
  counter-increment: step-counter;
  content: counter(step-counter);
  position: absolute;
  left: 0;
  top: 0.1rem;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 999px;
  border: 1px solid var(--color-border-strong);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-xs);
  background: var(--color-primary-soft);
}

.home-steps h3 {
  margin-bottom: var(--space-2);
}

.home-steps p {
  font-size: var(--font-size-sm);
}

.home-how-it-works__footer {
  display: grid;
  gap: var(--space-8);
}

.home-gallery__preview {
  display: grid;
  gap: var(--space-16);
  align-items: center;
}

@media (min-width: 768px) {
  .home-gallery__preview {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  }
}

.home-gallery__text p:last-child {
  margin-bottom: 0;
}

.home-gallery__links {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

@media (min-width: 480px) {
  .home-gallery__links {
    flex-direction: row;
  }
}

.home-private__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr);
  gap: var(--space-24);
  align-items: flex-start;
}

@media (min-width: 960px) {
  .home-private__grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  }
}

.home-private__list {
  display: grid;
  gap: var(--space-4);
  margin-top: var(--space-8);
}

.home-private__list li {
  font-size: var(--font-size-sm);
}

.home-private__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  margin-top: var(--space-16);
}

.home-membership__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr);
  gap: var(--space-24);
  align-items: stretch;
}

@media (min-width: 960px) {
  .home-membership__grid {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.9fr);
  }
}

.home-membership__list {
  display: grid;
  gap: var(--space-4);
  margin-top: var(--space-8);
}

.home-testimonials__grid {
  margin-top: var(--space-8);
}

.home-testimonials__item .card-body p {
  font-size: var(--font-size-sm);
}

.home-team__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr);
  gap: var(--space-24);
  align-items: flex-start;
}

@media (min-width: 960px) {
  .home-team__grid {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.9fr);
  }
}

.home-team__list {
  display: grid;
  gap: var(--space-4);
  margin-top: var(--space-8);
}

.home-contact__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr);
  gap: var(--space-24);
  align-items: flex-start;
}

@media (min-width: 960px) {
  .home-contact__grid {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.1fr);
  }
}

.home-contact__options {
  display: grid;
  gap: var(--space-16);
  margin-top: var(--space-8);
}

@media (min-width: 640px) {
  .home-contact__options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.home-contact__options h3 {
  margin-bottom: var(--space-4);
}

.home-contact__options p {
  font-size: var(--font-size-sm);
}

.home-contact__privacy {
  margin-top: var(--space-12);
}

.home-contact__form .card-body {
  padding-bottom: 0;
}

.home-contact__form .card-footer {
  margin-top: var(--space-12);
}

@media (min-width: 768px) {
  .home-contact__form {
    position: sticky;
    top: var(--space-24);
  }
}