/* Nova newsletter sign-up (templates/_newsletter.html). Static CSS only (site CSP: no inline styles/scripts). Uses landing.css variables. */
.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;opacity:0}
.nl-box{display:flex;gap:26px;align-items:flex-start;margin:26px 0 0;padding:28px 30px;border-color:#3A2C7A;background:radial-gradient(420px 220px at 0% 0%,rgba(139,92,246,.22),transparent 70%),var(--card)}
.nl-star{flex:none;width:76px;height:76px;filter:drop-shadow(0 0 18px rgba(139,92,246,.55))}
.nl-main{flex:1;min-width:0}
.nl-box .lp-kicker{color:var(--vl);margin-bottom:6px}
.nl-box h2{font-size:24px;line-height:1.25;margin-bottom:8px}
.nl-box .nl-lead{max-width:640px;margin-bottom:18px}
.nl-row{display:flex;gap:10px;max-width:560px}
.nl-in{flex:1;min-width:0;height:50px;padding:0 16px;border-radius:14px;border:1px solid var(--line);background:#0E1628;color:var(--tx);font:inherit;font-size:16px}
.nl-in::placeholder{color:#64748F}
.nl-in:focus{outline:2px solid var(--vl);outline-offset:1px;border-color:transparent}
.nl-row .lp-btn{height:50px;padding:0 24px;white-space:nowrap;font-family:inherit}
.nl-check{display:flex;gap:11px;align-items:flex-start;margin-top:14px;max-width:600px;font-size:14.5px;line-height:1.45;cursor:pointer}
.nl-check input{appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;margin-top:1px;border-radius:6px;border:1.5px solid #5B4A9E;background:#0E1628;display:grid;place-content:center;cursor:pointer}
.nl-check input:checked{background:linear-gradient(135deg,var(--vl),var(--v));border-color:transparent}
.nl-check input:checked::after{content:"";width:10px;height:6px;border-left:2.4px solid #0B1220;border-bottom:2.4px solid #0B1220;transform:translateY(-1px) rotate(-45deg)}
.nl-priv{font-size:12.5px;color:var(--mut);margin-top:12px;max-width:600px;line-height:1.5}
.nl-priv a{color:var(--vl);text-decoration:underline;text-underline-offset:2px}
/* states */
.nl-err .nl-check input{border-color:var(--am);box-shadow:0 0 0 3px rgba(255,209,102,.18)}
.nl-msg{display:none;margin-top:10px;font-size:14px;font-weight:600}
.nl-err .nl-msg{display:block;color:var(--am)}
.nl-done{display:flex;gap:14px;align-items:flex-start;max-width:600px;padding:16px 18px;border-radius:16px;border:1px solid rgba(46,189,133,.4);background:rgba(46,189,133,.08)}
.nl-done svg{flex:none;width:26px;height:26px;fill:none;stroke:var(--gr);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.nl-done strong{display:block;font-size:17px;margin-bottom:3px}
.nl-done p{font-size:14.5px;color:#C9D3E6}
/* footer variant */
.nl-foot{width:380px;flex:none}
.nl-foot-t{font-weight:800;font-size:16px;margin-bottom:2px}
.nl-foot .mut{font-size:14px;margin-bottom:12px}
.nl-foot .nl-row .nl-in,.nl-foot .nl-row .lp-btn{height:44px;font-size:15px}
.nl-foot .nl-row .lp-btn{padding:0 16px}
.nl-foot .nl-check{font-size:13px;margin-top:10px}
.nl-foot .nl-check input{width:18px;height:18px}
.nl-foot .nl-priv{font-size:12px;margin-top:8px}
@media (max-width:900px){.nl-foot{width:100%}}
@media (max-width:600px){
  .nl-box{flex-direction:column;gap:12px;padding:22px 20px}
  .nl-star{width:54px;height:54px}
  .nl-box h2{font-size:21px}
  .nl-row{flex-direction:column}
  .nl-in{flex:none;width:100%}
  .nl-row .lp-btn{width:100%}
}
.nl-hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.nl-form button[disabled]{opacity:.7;cursor:progress}
.nl-foot .nl-done{padding:12px 14px}.nl-foot .nl-done strong{font-size:15px}.nl-foot .nl-done p{font-size:13px}
