.hero--volunteer {
  background: radial-gradient(circle at top left, var(--color-primary-soft), transparent 55%),
              radial-gradient(circle at bottom right, var(--color-accent-soft), transparent 55%);
}

.hero__layout {
  gap: var(--space-8);
}

.hero__media {
  margin-top: var(--space-4);
}

.hero__image-wrapper {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}

.hero__note {
  margin-top: var(--space-3);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.volunteer-section {
  gap: var(--space-8);
}

.volunteer-benefits {
  display: grid;
  gap: var(--space-4);
  margin-top: var(--space-4);
}

.volunteer-benefits h3 {
  font-size: var(--font-size-lg);
  margin-bottom: var(--space-1);
}

.volunteer-benefits-list {
  list-style: disc;
  padding-left: 1.25rem;
  margin-top: var(--space-3);
}

.volunteer-events-grid {
  align-items: stretch;
}

.volunteer-event__image img {
  border-radius: var(--radius-md);
  margin-bottom: var(--space-4);
}

.volunteer-form-grid {
  gap: var(--space-8);
}

.volunteer-form-card {
  align-self: flex-start;
}

.volunteer-form-benefits {
  list-style: disc;
  padding-left: 1.25rem;
  margin-top: var(--space-3);
}

.volunteer-form-fieldset {
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  padding: var(--space-4);
}

.volunteer-form-fieldset legend {
  padding: 0 var(--space-1);
  font-weight: 600;
}

.volunteer-form-options {
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-2);
}

.volunteer-checkbox {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
}

.volunteer-checkbox input[type="checkbox"] {
  margin-top: 0.15rem;
}

.form-actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.volunteer-gear-card,
.volunteer-stat,
.volunteer-support-card,
.volunteer-callout {
  height: 100%;
}

.how-steps {
  display: grid;
  gap: var(--space-4);
  margin-top: var(--space-4);
  counter-reset: step;
}

.how-steps li {
  padding-left: var(--space-2);
}

.volunteer-results-grid {
  gap: var(--space-8);
  align-items: center;
}

.volunteer-results-image-wrapper {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}

.volunteer-stats-grid {
  margin-top: var(--space-4);
}

.volunteer-stat {
  text-align: center;
}

.volunteer-stat__number {
  font-family: var(--font-heading);
  font-size: var(--font-size-3xl);
  color: var(--color-primary-strong);
  margin-bottom: var(--space-1);
}

.volunteer-stat__label {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.volunteer-faq-layout {
  gap: var(--space-8);
}

.volunteer-faq-list {
  margin-top: var(--space-4);
  display: grid;
  gap: var(--space-2);
}

.volunteer-faq-item {
  border-radius: var(--radius-md);
  border: 1px solid var(--color-gray-200);
  background-color: var(--color-bg-alt);
  padding: var(--space-3) var(--space-4);
}

.volunteer-faq-item summary {
  cursor: pointer;
  font-weight: 600;
  list-style: none;
}

.volunteer-faq-item summary::-webkit-details-marker {
  display: none;
}

.volunteer-faq-item p {
  margin-top: var(--space-2);
  font-size: var(--font-size-sm);
}

.volunteer-quotes-card {
  display: grid;
  gap: var(--space-3);
}

.volunteer-quote {
  border-left: 3px solid var(--color-primary);
  padding-left: var(--space-3);
}

.volunteer-quote blockquote {
  font-style: italic;
  color: var(--color-gray-800);
}

.volunteer-quote figcaption {
  margin-top: var(--space-1);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.volunteer-eligibility-grid,
.volunteer-safety-grid,
.volunteer-contact-grid {
  gap: var(--space-8);
}

.volunteer-eligibility-list,
.bring-list,
.safety-list,
.support-list,
.contact-list {
  list-style: disc;
  padding-left: 1.25rem;
  margin-top: var(--space-3);
}

.volunteer-callout .card__actions {
  margin-top: var(--space-4);
}

@media (max-width: 768px) {
  .hero {
    padding-block: var(--space-12);
  }

  .hero__title {
    font-size: var(--font-size-3xl);
  }

  .volunteer-form-card {
    margin-top: var(--space-4);
  }

  .volunteer-results-grid,
  .volunteer-faq-layout,
  .volunteer-eligibility-grid,
  .volunteer-safety-grid,
  .volunteer-contact-grid {
    gap: var(--space-6);
  }
}
