.newsletter-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-10);
    border-top: 1px solid var(--line);
    padding-block: var(--space-10);
}
.newsletter-footer .eyebrow { margin-bottom: var(--space-2); }
.newsletter-footer h2 { font: var(--weight-display) clamp(2rem, 4vw, 3rem)/1.12 var(--display); margin-bottom: var(--space-3); }
.newsletter-footer p:last-child { color: var(--muted); margin: 0; }
.newsletter-footer > .button { gap: var(--space-5); flex-shrink: 0; }
.newsletter-dialog {
    color: var(--text);
    background: var(--panel);
    border: 1px solid var(--gold);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-dialog);
    width: min(40rem, calc(100% - 2rem));
    max-height: calc(100dvh - 2rem);
    overflow-y: auto;
    padding: clamp(1.25rem, 5vw, 2.5rem);
}
.newsletter-dialog::backdrop { background: #000b; }
html:has(.newsletter-dialog[open]) { overflow: hidden; }
.newsletter-close { position: absolute; inset: var(--space-4) var(--space-4) auto auto; min-width: 44px; padding: 0; font-size: 1.75rem; }
.newsletter-dialog > .eyebrow { padding-right: 3rem; margin-bottom: var(--space-4); }
.newsletter-dialog h2, .newsletter-page h1 { font: var(--weight-display) clamp(2rem, 5vw, 3rem)/1.15 var(--display); margin-bottom: var(--space-4); letter-spacing: 0; overflow-wrap: anywhere; }
.newsletter-description { color: var(--prose-ink); font-size: var(--text-prose); line-height: var(--leading-body); margin-bottom: var(--space-8); }
.newsletter-form fieldset { padding: 0; margin: 0; border: 0; min-width: 0; }
.newsletter-field { display: grid; gap: var(--space-2); font-size: var(--text-compact); font-weight: 600; }
.newsletter-field input { width: 100%; min-width: 0; font-weight: 400; }
.newsletter-names { margin-block: var(--space-4) var(--space-6); }
.newsletter-names summary { padding-block: var(--space-3); cursor: pointer; font-size: var(--text-compact); }
.newsletter-names summary span { color: var(--muted); }
.newsletter-name-fields { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); padding-top: var(--space-3); }
.newsletter-consent { display: grid; grid-template-columns: auto 1fr; gap: var(--space-3); align-items: start; margin-top: var(--space-4); font-size: var(--text-control); line-height: var(--leading-body); }
.newsletter-consent input { width: 1.125rem; height: 1.125rem; margin: .25em 0 0; accent-color: var(--gold); }
.newsletter-consent label { cursor: pointer; }
.newsletter-privacy { margin: var(--space-2) 0 var(--space-6); font-size: var(--text-sm); }
.newsletter-form-wrap { overflow-wrap: anywhere; }
.newsletter-submit { width: 100%; border-radius: var(--radius-md); justify-content: space-between; gap: var(--space-3); cursor: pointer; }
.newsletter-submit .newsletter-submit-label { font: inherit; min-width: 0; }
.newsletter-help, .newsletter-setup { font-size: var(--text-control); line-height: var(--leading-body); color: var(--muted); margin: var(--space-4) 0 0; }
.newsletter-result:empty { display: none; }
.newsletter-result, .newsletter-fallback { font-size: var(--text-compact); line-height: var(--leading-body); margin-top: var(--space-5); }
.newsletter-setup { margin: 0 0 var(--space-5); padding: var(--space-3); border-left: 2px solid var(--gold); }
.newsletter-form :disabled { cursor: not-allowed; }
.newsletter-submit:disabled { opacity: .65; }
.newsletter-page { max-width: 45rem; padding-block: var(--space-14) var(--space-20); }
@media (max-width: 700px) {
    .newsletter-footer { flex-direction: column; align-items: flex-start; gap: var(--space-6); }
    .newsletter-footer > .button { width: 100%; }
}
@media (max-width: 450px) {
    .newsletter-name-fields { grid-template-columns: 1fr; }
    .newsletter-dialog { border-radius: var(--radius-md); }
}
@media (forced-colors: active) { .newsletter-dialog, .newsletter-setup { border-color: CanvasText; } }
