/* Dispatches newsletter signup (scripts/patch-newsletter-dist.py) */
.nl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nl-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.nl{display:grid;gap:28px;position:relative}
.nl-eyebrow{display:block;margin-bottom:12px}
.nl-h{font-family:var(--font-display);font-weight:600;font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.12;letter-spacing:-.01em;margin:0}
.nl-p{font-family:var(--font-serif);font-size:1.05rem;line-height:1.55;margin:10px 0 0;max-width:52ch}
.nl-row{display:flex;gap:10px}
.nl-input{flex:1 1 auto;min-width:0;font-family:var(--font-mono);font-size:15px;padding:13px 14px;border:1px solid var(--color-rule-ink);background:var(--color-card);color:var(--color-ink);border-radius:0}
.nl-input:focus-visible{outline:2px solid var(--color-bronze);outline-offset:2px}
.nl-input[aria-invalid=true]{border-color:#a8452f}
.nl-btn{flex:none}
.nl-btn:disabled{opacity:.6;cursor:default;transform:none}
.nl-fine{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.02em;line-height:1.5;margin:10px 0 0;color:var(--color-steel)}
.nl-fine a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.nl-status{font-family:var(--font-mono);font-size:12.5px;margin:10px 0 0;padding:8px 12px;border-left:3px solid #a8452f;background:rgba(168,69,47,.08)}
.nl-done{display:grid;gap:14px;justify-items:start}
.nl-done:focus{outline:none}
.nl-done-p{font-family:var(--font-serif);font-size:1.05rem;line-height:1.55;margin:0;max-width:54ch}
.nl-retry{background:none;border:0;padding:0;cursor:pointer}
.nl-band{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:end;padding-bottom:clamp(36px,5vw,56px);margin-bottom:clamp(36px,5vw,56px);border-bottom:1px solid var(--color-hair-dark)}
.nl-band .nl-h{color:var(--color-ivory)}
.nl-band .nl-p,.nl-band .nl-done-p{color:rgba(242,237,225,.72)}
.nl-band .nl-fine{color:rgba(242,237,225,.55)}
.nl-band .nl-input{background:rgba(242,237,225,.06);border-color:rgba(194,154,91,.5);color:var(--color-ivory)}
.nl-band .nl-input::placeholder{color:rgba(242,237,225,.45)}
.nl-band .nl-status{color:var(--color-ivory)}
.nl-after{max-width:680px;margin:56px auto 0}
.nl-inline{border:1px solid var(--color-rule-ink);border-top:3px solid var(--color-bronze);background:rgba(246,242,232,.7);padding:clamp(22px,3.5vw,36px)}
.nl-inline .nl-p{color:var(--color-steel)}
.nlp{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:start;max-width:1040px;margin-inline:auto}
.nlp-h1{margin-top:40px}
.nlp-lede{margin-top:24px}
.nlp-form{margin-top:40px}
.nlp-facts{list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;font-family:var(--font-serif);font-size:.98rem;line-height:1.5;color:var(--color-steel)}
.nlp-facts .subhead{display:block;margin-bottom:6px}
.nlp-side{border:1px solid var(--color-rule-ink);background:rgba(246,242,232,.6);padding:clamp(20px,3vw,32px)}
.nlp-list{list-style:none;padding:0;margin:0}
.nlp-list li+li{border-top:1px solid var(--color-hair-light)}
.nlp-list a{display:grid;gap:4px;padding-block:14px;text-decoration:none;color:inherit}
.nlp-no{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--color-bronze-deep)}
.nlp-t{font-family:var(--font-display);font-weight:600;font-size:1.25rem;line-height:1.2}
.nlp-list a:hover .nlp-t{color:var(--color-bronze-deep)}
.nlp-s{font-family:var(--font-serif);font-size:.92rem;line-height:1.45;color:var(--color-steel)}
.nlp-all{display:inline-block;margin-top:24px}
.nlc-wrap{max-width:680px;margin-inline:auto}
.nlc-wrap .lede a{text-decoration:underline;text-underline-offset:3px}
.nlc-sheet{margin-top:48px}
.nlc{display:grid;gap:8px;text-decoration:none;color:inherit}
.nlc-t{font-family:var(--font-display);font-weight:600;font-size:1.6rem;line-height:1.15}
.nlc-s{font-family:var(--font-serif);color:var(--color-steel);line-height:1.5}
@media (max-width:860px){.nlp{grid-template-columns:minmax(0,1fr)}.nlp-facts{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){.nl-band{grid-template-columns:minmax(0,1fr);align-items:start}}
@media (max-width:480px){.nl-row{flex-direction:column}.nl-btn{justify-content:center}}
