@layer components {
  .newsletter-signup {
    display: grid;
    gap: 1rem;
    margin-block-start: var(--block-space);
    padding: 1.25rem;
    border: var(--pixel-border-width) solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: color-mix(in oklab, var(--surface-panel) 88%, var(--color-canvas));
  }

  .newsletter-signup--compact {
    padding: 1rem;
  }

  .newsletter-signup__copy {
    display: grid;
    gap: 0.35rem;
  }

  .newsletter-signup__copy h2 {
    margin: 0;
  }

  .newsletter-signup__copy p,
  .newsletter-signup__field {
    margin: 0;
  }

  .newsletter-signup__controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
  }

  .newsletter-signup__submit {
    min-inline-size: 9rem;
  }

  .newsletter-state {
    display: grid;
    gap: 0.9rem;
    padding: clamp(1.25rem, 3vw, 2rem);
    border: var(--pixel-border-width) solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: color-mix(in oklab, var(--surface-panel) 92%, var(--color-canvas));
  }

  .newsletter-state > * {
    margin: 0;
  }

  .newsletter-state__eyebrow {
    color: var(--color-ink-medium);
    font-family: var(--font-display);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  @media (max-width: 42rem) {
    .newsletter-signup__controls {
      grid-template-columns: 1fr;
    }

    .newsletter-signup__submit {
      inline-size: 100%;
    }
  }
}
