/* ============================================================
 *  newsletter.css — the Ronin Dispatch subscribe block (notebook skin: black + chalk,
 *  Bodoni Moda + IBM Plex Mono). Pairs with /assets/notebook.css and /assets/newsletter.js.
 *  Reusable on any page:
 *    <link rel="stylesheet" href="/assets/newsletter.css?v=1">
 *    <div data-ronin-newsletter data-source="about"></div>
 *    <script src="/assets/newsletter.js?v=1" defer></script>
 * ============================================================ */
.nl-block{position:relative;z-index:2;margin:52px 0 0;padding:30px 0 4px;border-top:1px solid var(--line,rgba(242,240,234,.16));}
.nl-block.nl-compact{margin-top:34px;padding-top:24px;}
.nl-kicker{display:flex;align-items:center;gap:12px;margin:0;font:500 11px/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.32em;text-transform:uppercase;color:var(--muted,#b7b5ae);}
.nl-kicker::before{content:"";width:32px;height:1.5px;background:var(--chalk,#f2f0ea);}
.nl-h{margin:14px 0 10px;font-family:"Bodoni Moda",Georgia,serif;font-weight:700;font-size:clamp(1.7rem,3.8vw,2.45rem);line-height:1.07;letter-spacing:-.01em;color:var(--ink-hi,#f6f4ef);}
.nl-compact .nl-h{font-size:clamp(1.4rem,3vw,1.9rem);}
.nl-blurb{max-width:620px;margin:0 0 20px;color:var(--ink-body,#d4d2cc);font-size:1.02rem;line-height:1.62;}
.nl-form{margin:0;}
.nl-label{display:block;margin:0 0 8px;font:500 10.5px/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--muted,#b7b5ae);}
.nl-row{display:flex;flex-wrap:wrap;gap:10px;}
.nl-input{flex:1 1 260px;min-width:0;padding:13px 14px;background:rgba(0,0,0,.55);border:1px solid var(--line,rgba(242,240,234,.16));border-radius:2px;color:var(--ink-hi,#f6f4ef);font:16px/1.4 "IBM Plex Mono",ui-monospace,monospace;}
.nl-input::placeholder{color:var(--dim,#8a8883);}
.nl-input:focus{outline:none;border-color:var(--chalk,#f2f0ea);box-shadow:0 0 0 3px rgba(242,240,234,.12);}
.nl-btn{flex:0 0 auto;justify-content:center;}
.nl-btn[disabled]{opacity:.6;cursor:progress;}
.nl-hp{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden;}
.nl-status{min-height:1.4em;margin:12px 0 0;color:var(--ink-hi,#f6f4ef);font-size:1rem;line-height:1.5;}
.nl-status.err{color:#f2b8b5;}
.nl-fine{margin:4px 0 0;font:12px/1.6 "IBM Plex Mono",ui-monospace,monospace;color:var(--dim,#8a8883);}
.nl-block.done .nl-row,.nl-block.done .nl-label{display:none;}
@media(max-width:560px){.nl-row{flex-direction:column;}.nl-btn{width:100%;}}
