.newsletter-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem 1.5rem;
    padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1.25rem, 3vw, 2.5rem);
    border-top: 1px solid var(--c-line-soft, oklch(86% .02 15));
}
.newsletter-footer p { margin: 0; }
.newsletter-footer__heading { font-weight: 500; font-size: clamp(1.1rem, 2vw, 1.4rem); }
.newsletter-footer > div { min-width: 0; }
.newsletter-footer > div:first-child { flex: 1 1 20rem; max-width: 30rem; }
.newsletter-cta { margin-block: clamp(1.25rem, 3vw, 2.25rem); }
.newsletter-cta__surface {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem 1.5rem;
    padding: clamp(.875rem, 2vw, 1.25rem);
    border: 1px solid var(--c-line-soft, oklch(86% .02 15));
    border-radius: .75rem;
    background: var(--c-surface, white);
}
.newsletter-cta .newsletter-cta__surface h2 {
    flex: 1 1 14rem;
    margin: 0;
    font-size: clamp(1rem, .95rem + .4vw, 1.25rem);
    line-height: 1.45;
}
.newsletter-cta__signup { min-width: 0; }
.newsletter-cta__signup:has(form[data-mounted]) { flex: 1 1 25rem; max-width: 32rem; }
.newsletter-cta .newsletter-form--inline { gap: .4rem; font-size: .9rem; }
.newsletter-cta .newsletter-permission, .newsletter-cta .newsletter-form__legal { margin: 0; font-size: .8rem; line-height: 1.5; }
.newsletter-cta .newsletter-form input[type=email], .newsletter-cta .newsletter-button { min-height: 2.75rem; padding-block: .45rem; }
.newsletter-form[hidden] { display: none; }
.newsletter-form__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; }
.newsletter-form__row .newsletter-button { align-self: stretch; white-space: nowrap; }
.newsletter-form__legal, .newsletter-permission small { font-size: .85rem; line-height: 1.6; }
.newsletter-form__legal a { text-underline-offset: .18em; }
.newsletter-form__status:not(:empty) { margin-block: .75rem; padding: .75rem; border-radius: .5rem; background: var(--c-surface, white); }
.newsletter-cta:has(form[data-mounted]) .newsletter-cta__fallback { display: none; }
.newsletter-button:disabled { cursor: wait; opacity: .65; }
@media (max-width: 24rem) { .newsletter-form__row { grid-template-columns: minmax(0, 1fr); } .newsletter-form__row .newsletter-button { justify-self: stretch; } }
.newsletter-page { padding-block: clamp(2.5rem, 7vw, 6rem); }
.newsletter-page__inner { max-width: 46rem; }
.newsletter-page h1, .newsletter-action h1 { font-size: clamp(1.6rem, 4vw, 2.75rem); line-height: 1.15; }
.newsletter-form { display: grid; gap: .8rem; margin: 1.25rem 0; max-width: 35rem; }
.newsletter-form--inline { margin: 0; max-width: none; }
.newsletter-form > label:first-of-type { font-weight: 500; }
.newsletter-form input[type=email] {
    box-sizing: border-box;
    width: 100%;
    min-height: 3rem;
    padding: .65rem .8rem;
    border: 1px solid var(--c-line-soft, oklch(69% .025 10));
    border-radius: .5rem;
    background: var(--c-surface, white);
    color: inherit;
    font: inherit;
}
.newsletter-permission { display: flex; gap: .6rem; align-items: flex-start; }
.newsletter-permission input { flex: 0 0 1rem; width: 1rem; height: 1rem; margin: .22rem 0 0; accent-color: var(--c-red-500, oklch(45% .14 15)); }
.newsletter-permission small { display: block; margin-top: .2rem; }
.newsletter-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    justify-self: start;
    min-height: 2.75rem;
    padding: .65rem .9rem;
    border: 1px solid var(--c-red-600, oklch(42% .14 15));
    border-radius: .5rem;
    background: var(--c-red-600, oklch(42% .14 15));
    color: white;
    font: inherit;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
}
.newsletter-button--quiet { background: transparent; border-color: currentColor; color: inherit; }
.newsletter-button:focus-visible, .newsletter-form input:focus-visible { outline: 2px solid var(--c-red-600, oklch(42% .14 15)); outline-offset: 3px; }
.newsletter-message { padding: .8rem 1rem; border-left: 3px solid oklch(49% .105 145); background: oklch(96% .02 145); color: oklch(23% .03 145); }
.newsletter-message--error { border-color: oklch(44% .16 20); background: oklch(95% .03 20); color: oklch(28% .09 20); }
.newsletter-page__secondary { margin-top: 1.5rem; }
.newsletter-action {
    margin: 0;
    padding: clamp(1rem, 4vw, 2rem);
    min-height: calc(100vh - 4rem);
    display: grid;
    place-items: center;
    color: oklch(22% .015 20);
    background: oklch(97% .012 25);
    font: 1rem/1.55 system-ui, sans-serif;
}
.newsletter-action__card { width: min(100%, 37rem); box-sizing: border-box; padding: clamp(1rem, 5vw, 2.5rem); border-radius: .8rem; background: white; }
.newsletter-action__card .eyebrow { font-weight: 700; }
.newsletter-action a { color: oklch(36% .115 15); }
