/* Rewritten by Hkdolts: the newsletter's own look inside the site (Inter, near-black, red-orange edit mark).
   Everything is scoped under .nl so the rest of the site is untouched. Inter is self-hosted (OFL, see fonts/licenses). */
@font-face{font-family:"Inter";src:url(../fonts/inter-400.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(../fonts/inter-600.woff) format("woff");font-weight:600;font-display:swap}
@font-face{font-family:"Inter";src:url(../fonts/inter-700.woff) format("woff");font-weight:700;font-display:swap}
@font-face{font-family:"Inter Display";src:url(../fonts/inter-display-800.woff) format("woff");font-weight:800;font-display:swap}
@font-face{font-family:"Inter Display";src:url(../fonts/inter-display-900.woff) format("woff");font-weight:900;font-display:swap}

.nl{--nl-bg:#0A0A0A;--nl-ink:#F5F3EE;--nl-muted:#9A978F;--nl-line:#262626;--nl-panel:#141414;--nl-acc:#FF4D2E;
  --nl-sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--nl-disp:"Inter Display","Inter",ui-sans-serif,system-ui,sans-serif;
  background:var(--nl-bg);color:var(--nl-ink);font:400 17px/1.6 var(--nl-sans)}
.nl a{color:inherit}
.nl h1,.nl h2,.nl h3{font-family:var(--nl-disp);font-weight:800;letter-spacing:-.035em;line-height:1.04;margin:0;color:var(--nl-ink)}
.nl h1{font-size:clamp(52px,8.5vw,112px)}
.nl h2{font-size:clamp(30px,4vw,48px);font-weight:800}
.nl h3{font-family:var(--nl-sans);font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.nl p{margin:0}
.nl-eyebrow{font:600 13px/1.4 var(--nl-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--nl-muted);text-decoration:none}
.nl-acc{color:var(--nl-acc)}
.nl-strike{position:relative;color:var(--nl-muted);white-space:nowrap}
.nl-strike::after{content:"";position:absolute;left:-2%;right:-2%;top:55%;height:.08em;background:var(--nl-acc)}
.nl-mark{position:relative;display:inline-block;font:900 88px/1 var(--nl-disp);letter-spacing:-.05em;color:var(--nl-ink)}
.nl-mark::after{content:"";position:absolute;left:-12%;right:-12%;top:54%;height:.08em;background:var(--nl-acc)}
.nl-btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 22px;background:var(--nl-ink);color:var(--nl-bg)!important;
  border:1px solid var(--nl-ink);border-radius:2px;font:600 15px var(--nl-sans);text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.nl-btn:hover{background:var(--nl-acc);border-color:var(--nl-acc);color:#fff!important}
.nl-btn--line{background:transparent;color:var(--nl-ink)!important;border-color:var(--nl-line)}
.nl-btn--line:hover{background:transparent;border-color:var(--nl-ink);color:var(--nl-ink)!important}
.nl-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.nl-note{color:var(--nl-muted)}

/* landing */
.nl-hero{padding:clamp(64px,9vw,112px) 0 clamp(56px,7vw,88px);border-bottom:1px solid var(--nl-line);
  background-image:linear-gradient(var(--nl-line) 1px,transparent 1px),linear-gradient(90deg,var(--nl-line) 1px,transparent 1px);background-size:96px 96px;background-position:-1px -1px}
.nl-hero .nl-mark{margin-bottom:28px}
.nl-hero h1{margin-top:16px}
.nl-by{display:flex;align-items:baseline;gap:8px;margin-top:16px!important;color:var(--nl-muted);font-size:16px}
.nl-by b{font:700 21px/1 var(--nl-disp);letter-spacing:-.02em;color:var(--nl-ink)}
.nl-lead{font-size:clamp(19px,2vw,23px);max-width:780px;margin:28px 0 36px!important}
.nl-meta{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:36px!important;font-size:15px;color:var(--nl-muted)}
.nl-sec{padding:clamp(64px,8vw,96px) 0;border-bottom:1px solid var(--nl-line)}
.nl-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:44px}
.nl-head h2{margin-top:14px}
.nl-head>p{color:var(--nl-muted);max-width:440px}
.nl-lenses{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--nl-line)}
.nl-lenses>div{padding:28px 28px 8px 0}
.nl-lenses>div+div{padding-left:28px;border-left:1px solid var(--nl-line)}
.nl-n{font:600 14px var(--nl-sans);letter-spacing:.15em;color:var(--nl-acc)}
.nl-lenses h3{margin:12px 0 10px}
.nl-lenses p{color:var(--nl-muted);font-size:16px}
.nl-format{list-style:none;margin:0;padding:0;counter-reset:f;border-top:1px solid var(--nl-line)}
.nl-format li{counter-increment:f;display:grid;grid-template-columns:72px 240px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--nl-line);align-items:baseline}
.nl-format li::before{content:counter(f,decimal-leading-zero);font:600 14px var(--nl-sans);letter-spacing:.15em;color:var(--nl-acc)}
.nl-format b{font-size:18px}
.nl-format span{color:var(--nl-muted)}
.nl-archive{display:grid;gap:20px}
.nl-card{display:grid;grid-template-columns:1.3fr 1fr;border:1px solid var(--nl-line);text-decoration:none;transition:border-color .2s}
.nl-card:hover{border-color:var(--nl-muted)}
.nl-card__body{padding:40px;display:flex;flex-direction:column;gap:14px}
.nl-card h3{font-family:var(--nl-disp);font-size:36px;font-weight:800;letter-spacing:-.035em;line-height:1.05}
.nl-card p{color:var(--nl-muted)}
.nl-card__go{margin-top:auto;font-weight:600}
.nl-card img{width:100%;height:100%;object-fit:cover;border-left:1px solid var(--nl-line)}
.nl-cta{padding:clamp(64px,8vw,96px) 0}
.nl-cta__row{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.nl-cta p{color:var(--nl-muted);margin-top:12px!important}

/* issue */
.nl-article{max-width:780px;margin:0 auto;padding:clamp(56px,7vw,80px) var(--gutter,24px) clamp(64px,8vw,96px)}
.nl-kicker{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:28px!important}
.nl-article h1{font-size:clamp(44px,7vw,84px)}
.nl-dek{font-size:22px;color:var(--nl-muted);margin:24px 0 40px!important;line-height:1.45}
.nl-cover{margin:0 0 56px;border:1px solid var(--nl-line)}
.nl-cover img{display:block;width:100%;height:auto}
.nl-body{counter-reset:s}
.nl-body h2{counter-increment:s;font-size:32px;margin:64px 0 20px;padding-top:28px;border-top:1px solid var(--nl-line);display:flex;gap:14px;align-items:baseline}
.nl-body h2::before{content:counter(s,decimal-leading-zero);font:600 13px var(--nl-sans);letter-spacing:.2em;color:var(--nl-acc)}
.nl-body p,.nl-body li{font-size:18.5px;color:#DDDAD3}
.nl-body p+p{margin-top:18px}
.nl-body strong{color:var(--nl-ink)}
.nl-body ul,.nl-body ol{margin:8px 0 0;padding:0;list-style:none}
.nl-body ul li{padding:14px 0 14px 24px;border-bottom:1px solid var(--nl-line);position:relative}
.nl-body ul li::before{content:"";position:absolute;left:0;top:27px;width:10px;height:2px;background:var(--nl-acc)}
.nl-body blockquote{margin:36px 0;padding:6px 0 6px 24px;border-left:3px solid var(--nl-acc);background:none}
.nl-body blockquote p{font:700 30px/1.2 var(--nl-disp);letter-spacing:-.025em;color:var(--nl-ink)}
.nl-body a{color:var(--nl-ink);text-decoration-color:var(--nl-acc);text-underline-offset:3px}
.nl-question{background:var(--nl-panel);border:1px solid var(--nl-line);padding:40px}
.nl-question p{font:700 28px/1.25 var(--nl-disp)!important;letter-spacing:-.02em;color:var(--nl-ink)!important}
.nl-signoff{margin-top:56px;padding-top:28px;border-top:1px solid var(--nl-line);color:var(--nl-muted);font-size:16px}
.nl-signoff em{display:block;color:var(--nl-ink);font-size:20px;margin-bottom:10px}
.nl-signoff b{color:var(--nl-ink)}
.nl-signoff .nl-actions{margin-top:24px}
.nl-pager{display:flex;justify-content:space-between;gap:24px;margin-top:56px;padding-top:28px;border-top:1px solid var(--nl-line)}
.nl-pager a{display:flex;flex-direction:column;gap:6px;text-decoration:none;font-weight:700;max-width:46%}
.nl-pager a span{font:600 13px var(--nl-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--nl-muted)}
.nl-pager__next{text-align:right;margin-left:auto}

@media (max-width:860px){
  .nl-lenses{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nl-lenses>div:nth-child(3){border-left:0;padding-left:0}
  .nl-format li{grid-template-columns:48px 1fr}.nl-format li span{grid-column:2}
  .nl-card{grid-template-columns:1fr}.nl-card img{border-left:0;border-bottom:1px solid var(--nl-line);order:-1}
  .nl-card__body{padding:28px}
}
@media (max-width:520px){
  .nl-lenses{grid-template-columns:1fr}
  .nl-lenses>div{padding-left:0!important;border-left:0!important}
}
