/* DFC newsletter: dedicated panel, shared public signup and confirmation page. */
.dfc-newsletter { --nl-ink: var(--text, #0a2032); --nl-muted: var(--text-dim, #5b6b7a); --nl-rule: var(--grid, #d8e0e8); --nl-paper: var(--panel, #f2f5f8); --nl-field: var(--field, #fff); --nl-blue: var(--brand-l, #2f6fae); font-family: var(--sans, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif); color: var(--nl-ink); min-width: 0; }
.dfc-newsletter .nl-content { padding: 12px 14px 15px; }
.dfc-newsletter .nl-mast { overflow: hidden; border-radius: 8px; background: #0a2032; color: #fff; border: 1px solid #1b374f; text-align: center; }
.dfc-newsletter .nl-mast-heading { padding: 19px 10px 15px; }
.dfc-newsletter .nl-eyebrow { margin: 0 0 5px; color: #a3cdee; font: 500 9px/1.5 var(--mono, ui-monospace, monospace); letter-spacing: .2em; text-transform: uppercase; }
.dfc-newsletter .nl-wordmark { margin: 0; font-size: 34px; font-weight: 800; line-height: 1.08; letter-spacing: -.055em; }
.dfc-newsletter .nl-wordmark span { color: #8fc5f0; }
.dfc-newsletter .nl-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; }
.dfc-newsletter .nl-photo { margin: 0; min-width: 0; }
.dfc-newsletter .nl-photo img { display: block; width: 100%; height: 92px; object-fit: cover; }
.dfc-newsletter .nl-photo figcaption { padding: 8px 2px 10px; color: #c4e0f5; font: 500 8px/1.4 var(--mono, ui-monospace, monospace); letter-spacing: .1em; text-transform: uppercase; }
.dfc-newsletter .nl-pitch { margin: 15px 0 7px; font-size: 16px; line-height: 1.35; font-weight: 700; letter-spacing: -.015em; }
.dfc-newsletter .nl-details { margin: 0 0 10px; font-size: 12px; line-height: 1.65; color: var(--nl-muted); }
.dfc-newsletter .nl-preview { display: inline-flex; align-items: center; min-height: 44px; color: var(--nl-blue); font-size: 12px; font-weight: 600; text-underline-offset: 3px; margin-bottom: 9px; }
.dfc-newsletter .nl-form { margin: 0; }
.dfc-newsletter .nl-form fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.dfc-newsletter .nl-email-label { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 600; }
.dfc-newsletter .nl-form input[type="email"] { display: block; box-sizing: border-box; width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid var(--nl-rule); border-radius: 6px; background: var(--nl-field); color: var(--nl-ink); font: inherit; font-size: 16px; }
.dfc-newsletter .nl-form input::placeholder { color: var(--nl-muted); opacity: 1; }
.dfc-newsletter .nl-consent { display: flex; align-items: flex-start; gap: 9px; margin: 8px 0 9px; padding: 9px 0; font-size: 11px; line-height: 1.6; min-height: 44px; box-sizing: border-box; cursor: pointer; }
.dfc-newsletter .nl-consent input { flex: 0 0 auto; appearance: auto; width: 17px; height: 17px; margin: 0; margin-top: 1px; accent-color: #2f6fae; }
.dfc-newsletter .nl-consent a, .dfc-newsletter .nl-fine a { color: var(--nl-blue); text-underline-offset: 3px; }
.dfc-newsletter .nl-button { display: block; box-sizing: border-box; width: 100%; min-height: 46px; padding: 12px 15px; border: 1px solid #1d6bb4; border-radius: 6px; background: #1d6bb4; color: #fff; font: inherit; font-size: 12px; line-height: 1.5; font-weight: 700; cursor: pointer; text-align: center; }
.dfc-newsletter .nl-button:hover:not(:disabled) { background: #175b98; }
.dfc-newsletter .nl-button:disabled { opacity: .65; cursor: default; }
.dfc-newsletter :is(a, button, input):focus-visible { outline: 3px solid var(--nl-blue); outline-offset: 3px; }
.dfc-newsletter .nl-fine { margin: 10px 0 0; color: var(--nl-muted); font-size: 10px; line-height: 1.6; }
.dfc-newsletter .nl-status { margin: 0; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.dfc-newsletter .nl-status:not(:empty) { margin-top: 12px; padding: 11px 12px; border: 1px solid var(--nl-rule); border-radius: 6px; background: var(--nl-field); }
.dfc-newsletter .nl-status[data-state="error"] { border-left: 3px solid #cc594a; }
.dfc-newsletter .nl-status[data-state="success"] { border-left: 3px solid #249b70; }
.dfc-newsletter .nl-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.dfc-newsletter .nl-noscript { font-size: 12px; line-height: 1.6; color: var(--nl-muted); }
.dfc-newsletter .nl-credits { margin: 14px 0 0; font-size: 9px; line-height: 1.6; color: var(--nl-muted); }
.dfc-newsletter .nl-credits a { color: inherit; text-underline-offset: 2px; }
/* Confirmation uses the canonical Wire header and does not load analytics. */
.dfc-newsletter.nl-confirm-page { --nl-ink: #0a2032; --nl-muted: #526574; --nl-rule: #d8e0e8; --nl-paper: #fff; --nl-field: #f6f8fb; --nl-blue: #2f6fae; margin: 0; min-height: 100vh; background: #edf2f6; }
[data-theme="dark"] .dfc-newsletter.nl-confirm-page { --nl-ink: #e9f1f8; --nl-muted: #b0c5d5; --nl-rule: #244058; --nl-paper: #0e2a3d; --nl-field: #13314a; --nl-blue: #8fc5f0; background: #0a2032; }
.dfc-newsletter .nl-confirm-wrap { box-sizing: border-box; max-width: 540px; margin: 0 auto; padding: 48px 20px; }
.dfc-newsletter .nl-home { display: inline-flex; align-items: center; min-height: 44px; color: var(--nl-blue); font-size: 13px; text-underline-offset: 3px; margin-bottom: 14px; }
.dfc-newsletter .nl-confirm-card { padding: 28px; background: var(--nl-paper); border: 1px solid var(--nl-rule); border-radius: 12px; }
.dfc-newsletter .nl-confirm-brand { margin: 0 0 22px; font-size: 12px; font-weight: 700; color: var(--nl-blue); letter-spacing: .12em; }
.dfc-newsletter .nl-confirm-card h1 { margin: 0 0 13px; font-size: 29px; line-height: 1.15; letter-spacing: -.03em; }
.dfc-newsletter .nl-confirm-copy { margin: 0 0 22px; color: var(--nl-muted); font-size: 15px; line-height: 1.65; }
@media (max-width: 360px) { .dfc-newsletter .nl-wordmark { font-size: 30px; } .dfc-newsletter .nl-photo img { height: 78px; } .dfc-newsletter .nl-confirm-wrap { padding: 20px 12px; } .dfc-newsletter .nl-confirm-card { padding: 22px 18px; } }
