.panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: var(--space-8);
}

.panel--light {
  background: var(--bg-default);
  color: var(--text-primary);
}

.panel--paper {
  background: var(--bg-alt);
  color: var(--text-primary);
}

.panel--dark {
  background: var(--surface-dark);
  color: var(--text-on-dark);
}

.panel--dark .panel__h2 {
  color: var(--text-on-dark);
}

.panel--dark .panel__subhead {
  color: var(--text-on-dark-muted);
}

.panel__head {
  text-align: center;
  max-width: 880px;
  margin-inline: auto;
  margin-bottom: var(--space-7);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.panel__h2 {
  font-size: clamp(2rem, 3.5vw + 1rem, 3rem);
  font-weight: var(--weight-bold);
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--text-primary);
  text-wrap: balance;
}

.panel__subhead {
  font-size: 1.125rem;
  line-height: var(--lh-normal);
  color: var(--text-secondary);
  font-weight: var(--weight-regular);
}

@media (min-width: 1024px) {
  .panel {
    border-radius: var(--radius-xl);
    padding-block: var(--space-10);
    margin-bottom: 0;
    /* Sombra sutil que matiza el efecto de cards apiladas */
    box-shadow: 0 -10px 28px rgba(0, 0, 0, 0.06);
  }

  .panel__head {
    margin-bottom: var(--space-8);
  }

  /* Card-overlap effect — cada sibling siguiente cubre el bottom del anterior */
  main > * + * {
    margin-top: calc(-1 * var(--radius-xl));
  }
}
