/* newsletter.css (A9 §11.1) */
.nl-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);font-size:var(--fs-sm);font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}
.nl-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-8);align-items:start;padding-top:var(--s-2)}
.nl-hero-title{font-size:var(--fs-hero);line-height:1.04;letter-spacing:-0.03em}
.nl-hero-lede{margin-top:var(--s-4);font-size:var(--fs-md);line-height:1.45;color:var(--ink-2);max-width:42ch}
.nl-signup--page{margin-top:var(--s-6);max-width:560px}
.newsletter--page{display:block}
.newsletter--page .newsletter-row input,.newsletter--page .btn{min-height:56px}
.nl-inside{border-top:3px solid var(--ink);padding-top:var(--s-4)}
.nl-inside h2{font-size:var(--fs-base);margin-bottom:var(--s-2)}
.nl-inside-list li{display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:var(--s-3);padding-block:var(--s-3);border-bottom:1px solid var(--line)}
.nl-inside-no{font-weight:700;color:var(--lime-text);font-variant-numeric:tabular-nums}
.nl-inside-text{color:var(--ink-2);font-size:var(--fs-sm)}
.nl-inside-text strong{display:block;color:var(--ink);font-size:var(--fs-base)}
.nl-latest{display:grid;gap:var(--s-3);justify-items:start;max-width:760px;padding:var(--s-6);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}
.nl-latest-title{font-size:var(--fs-xl);letter-spacing:-0.02em}
.nl-latest-intro,.nl-issue-intro{color:var(--ink-2);max-width:66ch}
.nl-latest .btn{margin-top:var(--s-2)}
.nl-latest-grid.has-preview{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-6);align-items:start}
.nl-latest-grid.has-preview .nl-latest{max-width:none}
.nl-preview{padding:var(--s-6);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}
.nl-preview .nl-verdict.has-media{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-5)}
.nl-preview .nl-block-title{font-size:var(--fs-md)}
.nl-preview .meta{display:flex;flex-wrap:wrap;margin-bottom:var(--s-4)}
.nl-archive-signup{max-width:860px;margin-top:var(--s-7)}
.nl-issue-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}
.nl-promise{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-6)}
.nl-promise li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s-3);align-items:start;color:var(--ink-2)}
.nl-promise .icon{color:var(--lime-text);margin-top:2px}
.nl-promise strong{color:var(--ink)}
.nl-archive-link{margin-top:var(--s-6)}
.nl-state{max-width:640px;display:grid;gap:var(--s-3);justify-items:start;padding-block:var(--s-4) var(--s-6)}
.nl-state h1{font-size:clamp(1.875rem,1.4rem + 1.6vw,2.75rem);letter-spacing:-0.025em;line-height:1.1}
.nl-state-text{font-size:var(--fs-md);line-height:1.45;color:var(--ink-2);max-width:46ch}
.nl-notice{padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);background:oklch(95.5% 0.06 125);color:var(--ink);font-weight:600}
.nl-action .btn{min-height:56px;padding:0 var(--s-6)}
.nl-action,.nl-wait,.nl-state-form,.nl-state-links{margin-top:var(--s-3)}
.nl-state-form,.nl-state-form .nl-signup--page{width:100%;margin-top:var(--s-2)}
.nl-wait h2,.nl-pref-section h2,.nl-fieldset legend{font-size:var(--fs-md);font-weight:700;margin-bottom:var(--s-2);color:var(--ink)}
.nl-alt{margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--line);width:100%}
.nl-alt-title{font-weight:700;margin-bottom:var(--s-3)}
.nl-pref-section{width:100%;display:grid;gap:var(--s-3);justify-items:start;margin-top:var(--s-5);padding-top:var(--s-6);border-top:1px solid var(--line);color:var(--ink-2)}
.nl-fieldset{border:0;margin:0;padding:0;min-width:0}
.nl-fieldset legend{padding:0}
.nl-choices{display:flex;flex-wrap:wrap;gap:var(--s-3)}
.nl-choice,.nl-check{display:inline-flex;align-items:center;gap:var(--s-3);min-height:48px;cursor:pointer}
.nl-choice{padding:0 var(--s-4);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);font-weight:600}
.nl-choice:has(input:checked){box-shadow:inset 0 0 0 2px var(--ink);border-color:var(--ink)}
.nl-choice input,.nl-check input{width:20px;height:20px;margin:0;accent-color:var(--ink)}
.nl-issues{max-width:860px;border-top:1px solid var(--line)}
.nl-issue-row{display:grid;gap:var(--s-2);padding-block:var(--s-5);border-bottom:1px solid var(--line)}
.nl-issue-title{font-size:var(--fs-lg);letter-spacing:-0.015em}
.nl-empty .nl-signup--page{margin-top:var(--s-3);width:100%}
.nl-issue-head{max-width:800px}
.nl-issue-head h1{font-size:clamp(2rem,1.3rem + 2.2vw,3rem);letter-spacing:-0.03em;line-height:1.08}
.nl-issue-band{padding-top:0}
.nl-issue{max-width:800px}
.nl-block{padding-block:var(--s-7);border-top:1px solid var(--line)}
.nl-block:first-child{border-top:0;padding-top:var(--s-5)}
.nl-block-label{font-size:var(--fs-sm);font-weight:700;color:var(--ink-2);letter-spacing:0}
.nl-block-title{margin:var(--s-2) 0 var(--s-4);font-size:var(--fs-lg);letter-spacing:-0.02em}
.nl-block .meta{display:flex;flex-wrap:wrap;margin-bottom:var(--s-4)}
.nl-media{display:block;position:relative;overflow:hidden;border-radius:var(--r-sm);background:var(--sunken);aspect-ratio:4 / 3}
.nl-media img{width:100%;height:100%;object-fit:cover}
.nl-verdict.has-media,.nl-community.has-media{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-6);align-items:start}
.nl-verdict.has-media .nl-block-title,.nl-community.has-media .nl-block-title{margin-top:0}
.nl-winner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);margin-bottom:var(--s-2);font-size:var(--fs-md)}
.nl-chain{color:var(--muted);font-size:var(--fs-sm);font-weight:400}
.nl-picks{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-4);margin-bottom:var(--s-3)}
.nl-picks--3{grid-template-columns:repeat(3,1fr)}
.nl-picks--4{grid-template-columns:repeat(4,1fr)}
.nl-pick-media{aspect-ratio:1 / 1}
.nl-pick-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:var(--s-3);text-align:center;font-weight:700}
.nl-pick-name{margin-top:var(--s-2);font-size:var(--fs-sm);line-height:1.35}
.nl-more{color:var(--ink-2);font-size:var(--fs-sm);margin-bottom:var(--s-2)}
.nl-cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-4)}
.nl-cta-note,.nl-fine{color:var(--muted);font-size:var(--fs-sm)}
.nl-rank-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;margin-bottom:var(--s-3)}
.nl-rank-table th,.nl-rank-table td{padding:var(--s-3) var(--s-2);border-bottom:1px solid var(--line);text-align:left;font-weight:400}
.nl-rank-table thead th{padding-top:0;font-size:var(--fs-xs);font-weight:700;color:var(--muted)}
.nl-rank-pos{width:3.5rem;font-weight:700}
.nl-rank-table .nl-rank-score{text-align:right;font-weight:700}
.nl-link{min-height:44px}
.nl-drop-lines{border-top:1px solid var(--line);margin-bottom:var(--s-2)}
.nl-drop-line{display:grid;gap:var(--s-1);padding-block:var(--s-3);border-bottom:1px solid var(--line)}
.nl-drop-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2)}
.nl-drop-title{font-size:var(--fs-base);line-height:1.35;letter-spacing:-0.01em}
.nl-drop-title a:hover{text-decoration:underline;text-underline-offset:3px}
.nl-recipe{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:var(--s-6);align-items:center;margin-top:var(--s-4)}
.nl-recipe-facts{display:grid;gap:var(--s-2);justify-items:start}
.nl-recipe-desc{font-size:var(--fs-md);line-height:1.45;color:var(--ink-2);max-width:40ch}
.nl-community{margin-top:var(--s-4)}
.nl-credit{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);color:var(--ink-2)}
.nl-stat{margin:var(--s-3) 0 0}
.nl-stat blockquote{margin:0 0 var(--s-3)}
.nl-stat-text p{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);font-weight:700;line-height:1.2;letter-spacing:-0.02em;max-width:30ch;text-wrap:balance}
.nl-issue-ad{padding-block:var(--s-7);border-top:1px solid var(--line)}
.nl-issue-signup{margin-top:var(--s-2);padding-top:var(--s-7);border-top:1px solid var(--line)}
.nl-issue-nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s-3);max-width:800px}
.nl-issue-nav a:hover,.nl-block-title a:hover{text-decoration:underline;text-underline-offset:3px}
.nl-issue-nav a{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;color:var(--cobalt);font-weight:600}
.nl-issue-ad--bottom{margin-top:var(--s-7);max-width:800px}
@media (max-width:1100px){
.nl-latest-grid.has-preview{grid-template-columns:1fr}
.nl-hero{gap:var(--s-6)}
.nl-promise{grid-template-columns:1fr;gap:var(--s-4)}
}
@media (max-width:760px){
.nl-hero,.nl-verdict.has-media,.nl-community.has-media,.nl-recipe{grid-template-columns:1fr}
.nl-picks--3,.nl-picks--4{grid-template-columns:repeat(2,1fr)}
.nl-latest{padding:var(--s-5)}
.nl-latest-grid.has-preview,.nl-preview .nl-verdict.has-media{grid-template-columns:1fr}
.nl-preview{padding:var(--s-5)}
.nl-recipe-card{max-width:360px}
}
.nl-drops{margin-top:var(--s-4)}
