.mosaic-signup { margin-block: 72px; padding-block: 48px; border-block: 1px solid rgb(var(--color-border)); display: grid; gap: 32px; scroll-margin-top: 32px; }
.mosaic-kicker { color: rgb(var(--color-bronze)); text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; margin: 0 0 12px; }
.mosaic-signup h2 { font-family: var(--font-display); font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 400; line-height: 1.2; margin: 0 0 16px; }
.mosaic-signup-copy > p:last-child { color: rgb(var(--color-warm-gray)); max-width: 42ch; line-height: 1.7; margin: 0; }
.mosaic-signup-form { align-self: center; min-width: 0; }
.mosaic-signup-form label { display: block; font-size: .875rem; margin-bottom: 8px; }
.mosaic-input-row { display: flex; gap: 8px; }
.mosaic-input-row input { min-width: 0; flex: 1; border: 1px solid rgb(var(--color-border)); border-radius: 0; padding: 14px; background: rgb(var(--color-parchment-light)); color: rgb(var(--color-charcoal)); font: inherit; font-size: 16px; }
.mosaic-input-row button { border: 1px solid rgb(var(--color-charcoal)); background: rgb(var(--color-charcoal)); color: rgb(var(--color-parchment)); padding: 14px 20px; font: inherit; cursor: pointer; }
.mosaic-input-row button:disabled { opacity: .6; cursor: wait; }
.mosaic-signup-form :focus-visible, .mosaic-nav-link:focus-visible { outline: 2px solid rgb(var(--color-bronze)); outline-offset: 4px; }
.mosaic-consent { color: rgb(var(--color-warm-gray)); font-size: .75rem; line-height: 1.6; margin: 12px 0 0; }
.mosaic-status { font-size: .875rem; line-height: 1.6; margin: 12px 0 0; }
.mosaic-nav-link { color: rgb(var(--color-bronze)); font-size: .875rem; white-space: nowrap; }
@media (min-width: 860px) { .mosaic-signup { grid-template-columns: 1fr 1fr; gap: 64px; } }
@media (max-width: 540px) { .mosaic-input-row { flex-direction: column; } .mosaic-signup { margin-block: 40px; padding-block: 32px; } }
