@layer components {
  .services-hero {
    background: radial-gradient(circle at top left, rgba(215, 185, 138, 0.18), transparent 55%), radial-gradient(circle at bottom right, rgba(15, 107, 87, 0.4), transparent 55%);
  }
  .services-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: var(--space-12);
    align-items: center;
  }
  .services-hero-lead {
    max-width: 40rem;
    font-size: var(--font-size-lg);
    color: var(--color-text-muted);
  }
  .services-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-6);
    margin-bottom: var(--space-4);
  }
  .services-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
  }
  .services-hero-figure {
    max-width: 520px;
    margin-left: auto;
  }
  .services-hero-figcaption {
    position: absolute;
    left: var(--space-5);
    right: var(--space-5);
    bottom: var(--space-5);
    font-size: var(--font-size-sm);
    color: var(--gray-100);
  }
  .services-intro {
    max-width: 44rem;
  }
  .services-grid {
    margin-top: var(--space-8);
  }
  .services-card {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }
  .services-points {
    margin: 0;
    padding-left: 1.1rem;
    color: var(--color-text-muted);
    font-size: var(--font-size-sm);
  }
  .services-points li + li {
    margin-top: 0.35rem;
  }
  .services-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: var(--space-3);
    font-size: var(--font-size-sm);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-accent-champagne);
  }
  .services-link::after {
    content: "\2197";
    font-size: 0.8em;
  }
  .services-links-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
  }
  .services-experiences-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    gap: var(--space-12);
    align-items: center;
  }
  .services-secondary-figure {
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
  }
  .services-figure-caption {
    position: absolute;
    left: var(--space-4);
    right: var(--space-4);
    bottom: var(--space-4);
    font-size: var(--font-size-xs);
    color: var(--gray-50);
  }
  .services-detail-grid h2 {
    max-width: 34rem;
  }
  .services-detail-columns {
    margin-top: var(--space-6);
    align-items: flex-start;
  }
  .services-detail-item {
    height: 100%;
  }
  .services-personnel-media {
    margin-top: var(--space-10);
    display: flex;
    justify-content: center;
  }
  .services-venue-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: var(--space-10);
    align-items: flex-start;
  }
  .services-venue-block + .services-venue-block {
    margin-top: var(--space-6);
  }
  .services-points-alt {
    color: var(--gray-700);
  }
  .services-themes-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: var(--space-12);
    align-items: center;
  }
  .services-editorial-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
  }
  .services-editorial-header {
    max-width: 46rem;
  }
  .services-editorial-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-6);
  }
  .services-editorial-card {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .services-editorial-image {
    gap: var(--space-4);
  }
  .services-editorial-note {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
  }
  .services-cta-inline {
    margin-top: auto;
    align-self: flex-start;
  }
  .services-final-cta {
    background: radial-gradient(circle at top, rgba(215, 185, 138, 0.14), transparent 60%);
  }
  .services-final-cta-inner {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-6);
    align-items: center;
    justify-content: space-between;
  }
  .services-final-text {
    max-width: 40rem;
  }
  .services-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
  }
  @media (max-width: 1024px) {
    .services-hero-grid,
    .services-experiences-layout,
    .services-venue-layout,
    .services-themes-layout {
      grid-template-columns: minmax(0, 1fr);
    }
    .services-hero-media,
    .services-experiences-media,
    .services-themes-media {
      order: -1;
    }
    .services-hero-figure,
    .services-secondary-figure {
      max-width: 100%;
    }
  }
  @media (max-width: 768px) {
    .services-hero-actions {
      flex-direction: column;
      align-items: stretch;
    }
    .services-editorial-grid {
      grid-template-columns: minmax(0, 1fr);
    }
    .services-final-cta-inner {
      align-items: flex-start;
    }
  }
}
