/* Main Content Layout - BEM naming */

.main {
  min-height: calc(100vh - 340px);
}

.main__content {
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding: 0 var(--container-padding);
}

/* Page header component */
.page-header {
  text-align: center;
  margin-bottom: var(--spacing-xl);
  margin-top: var(--spacing-2xl);
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.page-header__title {
  font-size: 2.5rem;
  margin-bottom: 0.5rem;
}

.page-header__lead {
  font-size: 1.2rem;
  color: var(--color-text-light);
}

/* Links inside lead text need a non-colour cue (WCAG link-in-text-block). */
.page-header__lead-link {
  color: var(--color-primary-dark);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

/* Mobile optimizations */
@media (max-width: 768px) {
  .page-header {
    margin-top: var(--spacing-lg);
    margin-bottom: var(--spacing-md);
  }
  
  .page-header__title {
    font-size: 2rem;
    margin-bottom: 0.25rem;
  }
  
  .page-header__lead {
    font-size: 1rem;
    margin-bottom: 0.5rem;
  }
}

@media (max-width: 640px) {
  .page-header {
    margin-top: var(--spacing-md);
    margin-bottom: var(--spacing-sm);
  }
  
  .page-header__title {
    font-size: 1.75rem;
    margin-bottom: 0.25rem;
  }
  
  .page-header__lead {
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
  }
}
