/* Near-completion prompt: present only when the reader is ready for the next step. */
.reader-newsletter{position:fixed;z-index:80;right:24px;bottom:24px;width:min(430px,calc(100vw - 32px));padding:24px 26px;background:#fff;border:1px solid #d9d5cc;border-top:3px solid var(--gold);box-shadow:0 18px 50px rgba(7,26,46,.18);animation:reader-newsletter-rise .22s ease-out}
.reader-newsletter[hidden]{display:none}
.reader-newsletter .eyebrow{margin:0 0 6px;color:#8b651e;font-size:10px}
.reader-newsletter h2{margin:0 0 6px;color:var(--navy);font:600 27px/1.12 "Playfair Display"}
.reader-newsletter>p:not(.eyebrow){margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.45}
.reader-newsletter-close{position:absolute;top:8px;right:10px;border:0;background:transparent;color:#7b8490;font-size:24px;line-height:1;cursor:pointer}
.reader-newsletter-form{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.reader-newsletter-form label:not(.check):not(.honeypot){display:grid;gap:4px;color:var(--navy);font-size:11px;font-weight:700}
.reader-newsletter-form input[type="text"],.reader-newsletter-form input[type="email"]{width:100%;min-height:40px;padding:8px 10px;border:1px solid #cfc3ad;background:#fff;font:14px "DM Sans"}
.reader-newsletter-form .button{grid-column:1/-1;justify-self:start;border:0;min-height:40px;padding:9px 15px;cursor:pointer;font-size:13px}
.reader-newsletter-form .check{grid-column:1/-1;display:flex;align-items:flex-start;gap:7px;color:var(--muted);font-size:10px;line-height:1.35}
.reader-newsletter-form .check input{margin-top:2px;accent-color:var(--navy)}
.reader-newsletter-form .form-status{grid-column:1/-1;min-height:18px;margin:0;font-size:12px}
@keyframes reader-newsletter-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
/* This prompt is intentionally desktop-only; mobile readers keep an uninterrupted page. */
@media(max-width:900px){.reader-newsletter{display:none!important}}
