.hosts-hero {
  border-bottom: 1px solid rgba(72, 60, 50, 0.7);
}

.hosts-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
  gap: var(--space-24);
  align-items: flex-start;
}

.hosts-hero-main {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: var(--space-16);
  align-items: flex-start;
}

.hosts-hero-header {
  max-width: 34rem;
}

.hosts-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6);
  margin-top: var(--space-10);
}

.hosts-hero-media {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.hosts-portrait-group {
  box-shadow: var(--shadow-soft);
  border-radius: var(--radius-md);
  border: 1px solid rgba(72, 60, 50, 0.7);
  background-color: var(--gray-900);
}

.hosts-portrait-caption {
  max-width: 18rem;
}

.hosts-section-heading {
  max-width: 42rem;
  margin-bottom: var(--space-16);
}

.hosts-philosophy-columns p + p {
  margin-top: var(--space-6);
}

.hosts-dinner-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-24);
}

.hosts-article-header {
  margin-bottom: var(--space-6);
}

.hosts-article-body p + p {
  margin-top: var(--space-4);
}

.hosts-roles-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: var(--space-24);
  align-items: flex-start;
}

.hosts-roles-briefs h4 {
  font-size: var(--font-size-md);
  font-family: var(--font-serif-display);
  margin-bottom: var(--space-2);
}

.hosts-roles-briefs p {
  margin-bottom: 0;
}

.hosts-roles-image .hosts-action-figure {
  border-radius: var(--radius-md);
  border: 1px solid rgba(72, 60, 50, 0.8);
  background-color: var(--gray-900);
  box-shadow: var(--shadow-soft);
}

.hosts-action-caption {
  margin-top: var(--space-4);
}

.hosts-training-inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.hosts-training-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: var(--space-24);
  align-items: flex-start;
}

.hosts-training-card {
  background-color: rgba(245, 242, 231, 0.9);
}

.hosts-spotlights-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-16);
}

.hosts-spotlight-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
}

.hosts-spotlight-media {
  border-radius: var(--radius-md);
  border: 1px solid rgba(72, 60, 50, 0.7);
  background-color: var(--gray-900);
  overflow: hidden;
}

.hosts-spotlight-body .host-name {
  margin-bottom: var(--space-2);
}

.hosts-spotlight-body .host-bio {
  font-size: var(--font-size-sm);
}

.hosts-gallery-heading {
  text-align: left;
}

.hosts-gallery-cta {
  margin-top: var(--space-16);
}

@media (max-width: 1120px) {
  .hosts-hero-main {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 960px) {
  .hosts-hero-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .hosts-dinner-grid,
  .hosts-roles-grid,
  .hosts-training-layout,
  .hosts-spotlights-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .hosts-portrait-caption {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .hosts-hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hosts-section-heading {
    margin-bottom: var(--space-10);
  }
}
