/* Keep the original homepage layout, full-height hero, copy and section order. */
.home .hero__wrap {
  box-sizing: border-box;
  min-height: 38rem;
  padding: 4rem clamp(1rem, 4vw, 3rem) 2rem;
}
.home .hero-title__wrap { padding-right: 0; }
/* Retain the mobile hero typography from the reviewed design. */
.home h2.hero-title__tagline {
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1.15;
}
.home .hero-title__body { font-size: 1.05rem; line-height: 1.65; margin-top: 1rem; }
.home .hero-title__body p { margin: 0 0 1rem; }
.home h1.hero-title__site { font-size: clamp(1rem, 2vw, 1.4rem); line-height: 1.4; padding-bottom: 0; }
.home .hero-branding { gap: .5rem; margin: 1rem 0 1.5rem; }
.home .hero-branding img { flex-shrink: 0; margin-right: 0; }
.home .hero__call-to-action { padding-bottom: 0; }
.home .hero__call-to-action .btn { display: inline-block; max-width: 100%; padding: .75rem 1.5rem; font-size: 1rem; line-height: 1.4; }
.home .hero__call-to-action .btn:focus-visible { outline-color: #fff; }

/* Use a common spacing and text scale across the existing homepage sections. */
.home #main-content > .content,
.home .front-page-section { padding: 2rem clamp(1rem, 3vw, 2rem); }
.home #main-content > .content:not(.front-page) { max-width: 74rem; margin: 0 auto; }
.home .panel { max-width: 70rem; margin: 0 auto; padding: clamp(1.25rem, 3vw, 2rem); font-size: 1rem; line-height: 1.65; }
.home .news__title,
.home .events__title,
.home .front-page__title {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  line-height: 1.25;
  margin: 0 0 1rem;
}
.home .news__body,
.home .event-item__details,
.home .front-page__body p { font-size: 1rem; line-height: 1.65; }
.home .news__body { max-width: 70ch; }
.home .news__date,
.home .event-item__location,
.home .upcoming-event__date { font-size: .95rem; line-height: 1.5; }
.home .event-item__title { font-size: 1.2rem; line-height: 1.4; }
.home .panel__title { gap: .75rem; margin-bottom: 1.5rem; }
.home .panel__title img { width: 2.75rem; margin-right: 0; }
.home .panel__title .events__title { margin: 0; }
.home .upcoming-event { gap: 1rem; margin: 0 0 2rem; }
.home .upcoming-event:last-of-type { margin-bottom: 0; }
.home .upcoming-event__date { margin: 0; padding: 0; }
.home .event-item__details { margin: .5rem 0 .75rem; }
.home .event-item__location { flex-wrap: wrap; gap: .5rem; margin: 0; }
.home .news__archive-wrap,
.home .upcoming-events__archive-wrap,
.home .featured-club__archive-wrap { margin: 1.5rem 0 0; }
.home .btn__call-to-action { font-size: 1rem; line-height: 1.4; display: inline-block; padding: .75rem 1.25rem; }
.home .featured-club-body h3 { font-size: 1.25rem; line-height: 1.35; }
.home .featured-club-body p { font-size: 1rem; line-height: 1.65; }
.home .front-page {
  max-width: 70rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  overflow: visible;
}
.home .front-page > * { min-width: 0; }
.home .front-page__body { max-width: 65ch; }
.home .front-page__body p { margin: 0 0 1rem; }
.home .front-page__image { margin-top: 0; }
.home .front-page__link { display: inline-block; margin: .5rem 0 0; font-size: .95rem; }
.home .contact-container { padding: 2rem clamp(1rem, 3vw, 2rem); gap: 2rem; align-items: center; justify-content: center; }
.home .contact__call { font-size: clamp(1.5rem, 2.5vw, 2rem); line-height: 1.3; padding: 0; }
.home .contact__form { font-size: 1rem; width: 100%; margin: 0; padding: 0; }
.home .perth-contact__alternative { margin-bottom: 0; }
@media (min-width: 768px) {
  .home h2.hero-title__tagline { font-size: clamp(2.5rem, 5vw, 4.3rem); }
  .home .upcoming-event__date { flex: 0 0 9rem; margin-right: 0; }
  .home .contact__call { flex: 1; max-width: 28rem; }
  .home .contact__form { flex: 1; max-width: 36rem; }
}
@media (max-width: 767px) {
  .home .front-page__body { max-width: 36rem; }
  .home .panel__title { align-items: center; }
  .home .contact__call { margin: 0; }
}
