/* ============================================================
   LockLeed News: the newsletter archive (/newsletter/) and one page per volume.
   Built by generate_newsletters.py on top of styles.css (its tokens, .btn, .section, .cta,
   .crumbs--hero). Linked with ?v=<hash of this file>, so an edit here is picked up by the next
   build of the pages without a sitewide stamp bump.
   Navy #143E6A is the printed masthead's colour. It is used only on these pages, next to the
   site's red, so the web issues read as the same publication as the printed ones.
   ============================================================ */
:root{--nl-navy:#143E6A;--nl-navy-d:#0B2440;--nl-navy-l:#E8EEF6;--nl-red-on-navy:#F07A7A;}

/* ---------- hero (hub and issue) ---------- */
.nl-hero{position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(135deg,#0B2440 0%,#143E6A 58%,#0F3158 100%);}
.nl-hero::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.55;
  background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:22px 22px;}
.nl-hero::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 50% 70% at 88% 18%,rgba(185,28,28,.34),transparent 62%);}
/* the printed footer's flag stripes, along the bottom edge */
.nl-hero .wrap{position:relative;z-index:2;}
.nl-hero__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:60px;align-items:center;
  padding-top:64px;padding-bottom:92px;}
.nl-hero__grid::after{content:'';position:absolute;left:0;right:0;bottom:0;height:10px;
  background:repeating-linear-gradient(90deg,#B91C1C 0 28px,#fff 28px 40px);opacity:.9;
  -webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}
.nl-hero h1{color:#fff;font-weight:800;font-size:clamp(32px,4.4vw,58px);letter-spacing:-.03em;line-height:1.04;
  margin-top:18px;max-width:20ch;text-wrap:balance;}
.nl-hero__dek{color:rgba(255,255,255,.78);font-size:18px;line-height:1.7;margin-top:20px;max-width:58ch;}
.nl-hero .btn-row{margin-top:30px;}
.nl-hero .crumbs--hero{margin-bottom:26px;}

/* hub masthead: the printed LOCKLEED NEWS banner, set in the site's type */
.nl-masthead{display:flex;flex-direction:column;gap:18px;max-width:none !important;margin-top:4px !important;}
.nl-masthead__sub{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.8);}
.nl-masthead__sub::before{content:'';flex:none;width:34px;height:2px;background:var(--nl-red-on-navy);}
.nl-masthead__since{white-space:nowrap;}
.nl-masthead__word{font-size:clamp(54px,8.6vw,118px);line-height:.88;letter-spacing:-.05em;text-transform:uppercase;
  font-weight:800;color:#fff;text-shadow:0 10px 40px rgba(0,0,0,.25);}

/* issue: volume label */
.nl-vol{display:inline-flex;align-items:stretch;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;box-shadow:0 8px 24px rgba(0,0,0,.2);}
.nl-vol__n{background:var(--red);color:#fff;padding:8px 13px;}
.nl-vol__d{background:rgba(255,255,255,.14);color:#fff;padding:8px 13px;}
.nl-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:22px;font-family:var(--mono);font-size:12px;
  letter-spacing:.06em;color:rgba(255,255,255,.72);}
.nl-meta li{position:relative;}
.nl-meta li+li::before{content:'';position:absolute;left:-13px;top:50%;width:4px;height:4px;margin-top:-2px;
  border-radius:50%;background:rgba(255,255,255,.45);}

/* issue: the printed cover, as an object */
.nl-hero__cover{position:relative;display:block;justify-self:center;width:100%;max-width:350px;
  transform:rotate(2.5deg);transition:transform .4s cubic-bezier(.2,.8,.2,1);}
.nl-hero__cover img{width:100%;height:auto;border-radius:2px;
  box-shadow:0 34px 70px rgba(0,0,0,.45),0 10px 22px rgba(0,0,0,.28);}
.nl-hero__cover:hover,.nl-hero__cover:focus-visible{transform:rotate(0deg) translateY(-6px);}
.nl-hero__cover-tag{position:absolute;left:-16px;bottom:30px;background:var(--red);color:#fff;font-family:var(--mono);
  font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:9px 13px;
  box-shadow:0 10px 24px rgba(0,0,0,.3);}

/* hub: the latest three covers, fanned like a stack on a desk */
.nl-stack{position:relative;display:block;justify-self:center;width:100%;max-width:320px;aspect-ratio:17/22;
  margin-left:70px;}
.nl-stack__item{position:absolute;inset:0;transition:transform .5s cubic-bezier(.2,.8,.2,1);}
.nl-stack__item img{width:100%;height:100%;object-fit:cover;border-radius:2px;
  box-shadow:0 30px 60px rgba(0,0,0,.42),0 8px 18px rgba(0,0,0,.25);}
.nl-stack__item--0{z-index:3;transform:rotate(3deg);}
.nl-stack__item--1{z-index:2;transform:translate(-44px,12px) rotate(-5deg);}
.nl-stack__item--2{z-index:1;transform:translate(-86px,30px) rotate(-12deg);}
.nl-stack:hover .nl-stack__item--0,.nl-stack:focus-visible .nl-stack__item--0{transform:translate(16px,-10px) rotate(1deg);}
.nl-stack:hover .nl-stack__item--1,.nl-stack:focus-visible .nl-stack__item--1{transform:translate(-78px,6px) rotate(-7deg);}
.nl-stack:hover .nl-stack__item--2,.nl-stack:focus-visible .nl-stack__item--2{transform:translate(-150px,30px) rotate(-15deg);}

/* ---------- hub: numbers ---------- */
.nl-statsbar{background:#fff;border-bottom:1px solid var(--line);}
.nl-statsbar ul{display:grid;grid-template-columns:repeat(4,1fr);}
.nl-statsbar li{padding:30px 18px;text-align:center;border-right:1px solid var(--line);}
.nl-statsbar li:last-child{border-right:0;}
.nl-statsbar strong{display:block;font-family:var(--serif);font-weight:800;font-size:clamp(28px,3.2vw,42px);
  color:var(--nl-navy);letter-spacing:-.03em;line-height:1;}
.nl-statsbar span{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);margin-top:10px;}

/* ---------- hub: latest issue ---------- */
.nl-latest__grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:72px;align-items:center;}
.nl-latest__cover{display:block;max-width:430px;}
.nl-latest__cover img{width:100%;height:auto;border-radius:2px;transform:rotate(-2deg);transition:transform .35s;
  box-shadow:0 34px 64px rgba(20,24,33,.2),0 8px 16px rgba(20,24,33,.1);}
.nl-latest__cover:hover img{transform:rotate(0deg) translateY(-5px);}
.nl-latest h2{font-size:clamp(28px,3.3vw,46px);font-weight:800;margin-top:18px;line-height:1.08;text-wrap:balance;}
.nl-latest h2 a:hover{color:var(--red);}
.nl-latest__dek{font-size:18px;line-height:1.7;margin-top:16px;color:var(--ink-2);}
.nl-latest__t{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:28px;}
.nl-latest__list{margin-top:10px;border-top:1px solid var(--line);}
.nl-latest__list li{border-bottom:1px solid var(--line);}
.nl-latest__list a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;
  font-family:var(--serif);font-weight:600;color:var(--ink);font-size:16px;line-height:1.35;}
.nl-latest__list a::after{content:'\2192';color:var(--red);transition:transform .2s;}
.nl-latest__list a:hover{color:var(--red);}
.nl-latest__list a:hover::after{transform:translateX(4px);}
.nl-latest .btn-row{margin-top:30px;}

/* ---------- hub: archive tools ---------- */
.nl-tools{display:grid;gap:18px;padding:26px;background:#fff;border:1px solid var(--line);}
.nl-search{display:block;position:relative;max-width:620px;}
.nl-search input{width:100%;font:inherit;font-size:16px;color:var(--ink);padding:14px 16px 14px 46px;border:1px solid var(--line);
  background:var(--soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 15px center;
  border-radius:0;-webkit-appearance:none;appearance:none;}
.nl-search input:focus{outline:2px solid var(--nl-navy);outline-offset:1px;background-color:#fff;}
.nl-chips{display:flex;flex-wrap:wrap;gap:8px;}
.nl-chip{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:9px 13px;
  border:1px solid var(--line);background:#fff;color:var(--ink-2);cursor:pointer;transition:background .15s,color .15s,border-color .15s;}
.nl-chip span{color:var(--ink-4);margin-left:4px;}
.nl-chip:hover{border-color:var(--ink);}
.nl-chip[aria-pressed="true"]{background:var(--nl-navy);border-color:var(--nl-navy);color:#fff;}
.nl-chip[aria-pressed="true"] span{color:rgba(255,255,255,.72);}
.nl-years{display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;}
.nl-years::before{content:'Jump to';color:var(--ink-4);text-transform:uppercase;font-size:10.5px;letter-spacing:.14em;}
.nl-years a{color:var(--ink-2);border-bottom:1px solid transparent;padding:2px 0;}
.nl-years a:hover{color:var(--red);border-color:var(--red);}
.nl-count{font-family:var(--mono);font-size:12px;color:var(--ink-3);margin:18px 0 0;min-height:1.2em;}
.nl-sr{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;}
.nl-empty{margin-top:34px;font-size:17px;color:var(--ink-2);}

/* ---------- hub: a year of issues ---------- */
.nl-year{margin-top:54px;scroll-margin-top:96px;}
.nl-year__h{display:flex;align-items:baseline;gap:16px;font-size:clamp(32px,3.4vw,46px);font-weight:800;
  border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:30px;}
.nl-year__h span{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:500;}
.nl-card[hidden],.nl-year[hidden]{display:none !important;}

/* ---------- issue cards ---------- */
.nl-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 28px;}
.nl-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.nl-card{position:relative;display:flex;flex-direction:column;}
.nl-card__link{display:flex;flex-direction:column;color:inherit;}
.nl-card__cover{display:block;position:relative;aspect-ratio:17/22;background:#dfe6ee;}
.nl-card__cover img{width:100%;height:100%;object-fit:cover;border-radius:2px;
  box-shadow:0 12px 28px rgba(20,24,33,.14),0 2px 6px rgba(20,24,33,.08);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;}
.nl-card__link:hover .nl-card__cover img,.nl-card__link:focus-visible .nl-card__cover img{
  transform:translateY(-7px) rotate(-1.5deg);box-shadow:0 26px 46px rgba(20,24,33,.24),0 4px 10px rgba(20,24,33,.1);}
.nl-card__body{display:block;padding-top:20px;}
.nl-card__meta{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-3);}
.nl-card__vol{background:var(--nl-navy);color:#fff;padding:3px 7px;letter-spacing:.08em;}
.nl-card__title{display:block;font-family:var(--serif);font-size:18px;font-weight:700;line-height:1.28;color:var(--ink);
  margin-top:11px;letter-spacing:-.015em;transition:color .15s;}
.nl-card__link:hover .nl-card__title{color:var(--red);}
.nl-card__dek{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  font-size:14.5px;line-height:1.6;color:var(--ink-3);margin-top:8px;}
.nl-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px;}
.nl-tags li{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  color:var(--nl-navy);background:var(--nl-navy-l);padding:4px 8px;}
.nl-tags--links li{padding:0;}
.nl-tags--links a{display:block;padding:4px 8px;color:var(--nl-navy);transition:background .15s,color .15s;}
.nl-tags--links a:hover{background:var(--nl-navy);color:#fff;}

/* ---------- hub: subscribe ---------- */
.nl-sub__in{display:grid;grid-template-columns:1.35fr .65fr;gap:48px;align-items:center;background:#fff;
  border:1px solid var(--line);border-top:4px solid var(--nl-navy);padding:50px 54px;box-shadow:0 24px 60px rgba(20,24,33,.08);}
.nl-sub h2{font-size:clamp(28px,3vw,42px);font-weight:800;margin-top:16px;}
.nl-sub p{font-size:17px;line-height:1.7;margin-top:14px;color:var(--ink-2);max-width:56ch;}
.nl-sub__r{display:flex;flex-direction:column;align-items:flex-start;gap:16px;}
.nl-sub .nl-sub__social{font-size:14px;margin-top:0;}
.nl-sub__social a{color:var(--red);text-decoration:underline;text-underline-offset:2px;}

/* ---------- issue page ---------- */
.nl-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:1300;background:var(--red);
  transform-origin:0 50%;transform:scaleX(0);pointer-events:none;}
@supports (animation-timeline: scroll()){
  .nl-progress{animation:nl-grow linear both;animation-timeline:scroll(root);}
  @keyframes nl-grow{to{transform:scaleX(1);}}
}
@supports not (animation-timeline: scroll()){.nl-progress{display:none;}}
.nl-issue{padding:70px 0 34px;}
.nl-issue__grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:70px;align-items:start;}
.nl-issue__main{max-width:760px;min-width:0;}
.nl-toc{position:sticky;top:100px;}
.nl-toc__in{border-top:3px solid var(--nl-navy);padding-top:16px;}
.nl-toc__t{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;}
.nl-toc ol{counter-reset:toc;list-style:none;}
.nl-toc ol li{counter-increment:toc;border-bottom:1px solid var(--line);list-style:none;}
.nl-toc ol a{display:flex;gap:10px;padding:11px 0;font-size:14px;line-height:1.45;color:var(--ink-2);font-weight:500;transition:color .15s;}
.nl-toc ol a::before{content:counter(toc,decimal-leading-zero);flex:none;width:20px;font-family:var(--mono);font-size:11px;
  color:var(--ink-4);padding-top:2px;}
.nl-toc ol a:hover,.nl-toc ol a.is-active{color:var(--red);}
.nl-toc ol a.is-active::before{color:var(--red);}
.nl-toc__tag{font-style:normal;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-4);margin-left:4px;white-space:nowrap;}
.nl-toc__topics{margin-top:24px;}
.nl-toc__pdf{display:inline-block;margin-top:24px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.08em;
  text-transform:uppercase;color:var(--red);border-bottom:1px solid currentColor;padding-bottom:2px;}

/* stories */
.nl-story{padding-bottom:52px;margin-bottom:52px;border-bottom:1px solid var(--line);scroll-margin-top:100px;}
.nl-story:last-of-type{border-bottom:0;margin-bottom:24px;}
.nl-story__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:14px;}
.nl-story__kicker{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--red);}
.nl-brief,.nl-edition{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;}
.nl-brief{background:var(--soft-2);color:var(--ink-2);}
.nl-edition{background:var(--nl-navy-l);color:var(--nl-navy);}
.nl-story h2{font-size:clamp(27px,3.1vw,40px);font-weight:800;line-height:1.1;letter-spacing:-.028em;text-wrap:balance;}
.nl-story--summary h2{font-size:clamp(22px,2.4vw,29px);}
.nl-story__src{font-size:14px;line-height:1.6;color:var(--ink-3);margin-top:12px;}
.nl-story__by{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  color:var(--nl-navy);margin-top:14px;}
.nl-meta .nl-meta__by{color:#fff;font-weight:500;}
.nl-card__by{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--nl-navy);margin-top:10px;}
.nl-latest__by{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  color:var(--nl-navy);margin-top:12px;}
.nl-story__body{margin-top:24px;}
.nl-story__body::after{content:'';display:table;clear:both;}
.nl-story__body>p,.nl-callout p,.nl-story__body>h3{max-width:68ch;}
.nl-story__body p{font-size:18px;line-height:1.8;color:var(--ink-2);margin-bottom:20px;}
.nl-story__body p strong{font-weight:600;}
.nl-story__body a{color:var(--red);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere;}
.nl-story__body p,.nl-story__body li{overflow-wrap:break-word;}
.nl-story__body h3{font-size:22px;font-weight:700;line-height:1.25;margin:34px 0 12px;}
.nl-lede::first-letter{font-family:var(--serif);font-weight:800;float:left;font-size:4.2em;line-height:.8;
  margin:.1em .12em 0 0;color:var(--nl-navy);}
.nl-list{margin:0 0 22px 22px;}
.nl-list li{list-style:disc;font-size:17.5px;line-height:1.7;color:var(--ink-2);margin-bottom:8px;font-weight:300;}
.nl-list li::marker{color:var(--red);}
.nl-story--summary .nl-story__body{background:var(--soft);border-left:3px solid var(--nl-navy);padding:24px 28px 6px;}
.nl-story--summary .nl-story__body p{font-size:17px;}
.nl-story--summary .nl-fig{margin-top:6px;}

/* pictures */
.nl-fig{margin:30px 0;}
.nl-fig img{width:100%;height:auto;background:var(--soft);}
.nl-fig figcaption{font-size:13.5px;line-height:1.55;color:var(--ink-3);margin-top:10px;padding-left:12px;border-left:2px solid var(--red);}
.nl-credit{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--ink-4);}
.nl-fig--inline{float:right;width:44%;margin:6px 0 18px 32px;}
.nl-fig--portrait{float:right;width:34%;margin:6px 0 18px 32px;}
.nl-gallery{display:grid;gap:14px;margin:30px 0;}
.nl-gallery--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.nl-gallery--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.nl-gallery--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.nl-gallery .nl-fig{margin:0;}
.nl-gallery .nl-fig img{aspect-ratio:4/3;object-fit:cover;}

/* quote, sidebar, numbers */
.nl-quote{margin:34px 0;padding:4px 0 4px 28px;border-left:4px solid var(--red);clear:both;}
.nl-quote blockquote p{font-family:var(--serif);font-size:clamp(20px,2.2vw,26px);line-height:1.45;color:var(--ink);
  font-weight:500;letter-spacing:-.01em;margin:0;}
.nl-quote figcaption{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:14px;}
.nl-callout{background:var(--nl-navy);color:rgba(255,255,255,.86);padding:28px 30px 12px;margin:32px 0;clear:both;
  box-shadow:0 20px 44px rgba(11,36,64,.18);}
.nl-story__body .nl-callout p{color:rgba(255,255,255,.86);font-size:16px;line-height:1.7;margin-bottom:14px;}
.nl-story__body .nl-callout .nl-callout__t{font-family:var(--serif);font-size:20px;font-weight:700;color:#fff;line-height:1.3;margin-bottom:12px;}
.nl-callout .nl-list li{color:rgba(255,255,255,.86);font-size:15.5px;}
.nl-callout .nl-list li::marker{color:var(--nl-red-on-navy);}
.nl-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);margin:32px 0;clear:both;}
.nl-stats li{background:#fff;padding:22px 20px;}
.nl-stats strong{display:block;font-family:var(--serif);font-size:32px;font-weight:800;color:var(--red);letter-spacing:-.03em;line-height:1;}
.nl-stats span{display:block;font-size:14px;line-height:1.5;color:var(--ink-2);margin-top:10px;}

.nl-archival{font-size:14px;line-height:1.7;color:var(--ink-3);border-top:1px solid var(--line);padding-top:20px;margin-top:6px;}

/* previous and next */
.nl-pager{background:#fff;border-top:1px solid var(--line);}
.nl-pager__in{display:grid;grid-template-columns:1fr 1fr;}
.nl-pager__item{display:flex;align-items:center;gap:18px;padding:30px 28px 30px 0;min-width:0;}
.nl-pager__item--next{flex-direction:row-reverse;text-align:right;border-left:1px solid var(--line);padding:30px 0 30px 28px;}
.nl-pager__cover{flex:none;width:66px;}
.nl-pager__cover img{width:66px;height:auto;border-radius:2px;box-shadow:0 8px 18px rgba(20,24,33,.18);transition:transform .25s;}
.nl-pager__item:hover .nl-pager__cover img{transform:translateY(-3px) rotate(-2deg);}
.nl-pager__text{display:flex;flex-direction:column;gap:5px;min-width:0;}
.nl-pager__label{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--red);}
.nl-pager__vol{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);}
.nl-pager__title{font-family:var(--serif);font-weight:700;color:var(--ink);font-size:16px;line-height:1.3;transition:color .15s;}
.nl-pager__item:hover .nl-pager__title{color:var(--red);}
.nl-more__all{text-align:center;margin-top:44px;}
.nl-more__all .btn{display:inline-flex;}

/* ---------- responsive ---------- */
@media(max-width:1180px){
  .nl-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:1080px){
  .nl-issue__grid{grid-template-columns:1fr;gap:30px;}
  .nl-toc{position:static;}
  .nl-toc__in{background:var(--soft);border-top-width:3px;padding:18px 22px 20px;}
  .nl-toc__topics{display:none;}
  .nl-toc__pdf{margin-top:16px;}
}
@media(max-width:920px){
  .nl-hero__grid{grid-template-columns:1fr;gap:44px;padding-top:48px;padding-bottom:80px;}
  .nl-hero__cover{max-width:250px;justify-self:start;margin-left:18px;}
  .nl-stack{max-width:240px;justify-self:start;margin-left:96px;}
  .nl-latest__grid{grid-template-columns:1fr;gap:40px;}
  .nl-latest__cover{max-width:300px;}
  .nl-sub__in{grid-template-columns:1fr;gap:26px;padding:36px 30px;}
  .nl-grid,.nl-grid--3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .nl-statsbar ul{grid-template-columns:repeat(2,1fr);}
  .nl-statsbar li:nth-child(2){border-right:0;}
  .nl-statsbar li:nth-child(-n+2){border-bottom:1px solid var(--line);}
}
@media(max-width:760px){
  .nl-fig--inline,.nl-fig--portrait{float:none;width:100%;margin:26px 0;}
  .nl-fig--portrait{max-width:360px;}
  .nl-gallery--3,.nl-gallery--4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .nl-pager__in{grid-template-columns:1fr;}
  .nl-pager__item{padding:22px 0;}
  .nl-pager__item--next{border-left:0;border-top:1px solid var(--line);padding:22px 0;}
  .nl-story__body p{font-size:17px;}
  .nl-lede::first-letter{font-size:3.6em;}
}
@media(max-width:560px){
  .nl-hero__grid{padding-top:36px;padding-bottom:70px;}
  .nl-masthead__word{font-size:clamp(46px,15vw,70px);}
  .nl-masthead__sub{flex-wrap:wrap;row-gap:4px;}
  .nl-masthead__dot{display:none;}
  .nl-hero__cover{max-width:200px;}
  .nl-stack{max-width:190px;margin-left:84px;}
  .nl-tools{padding:18px;}
  .nl-grid,.nl-grid--3{grid-template-columns:1fr;gap:22px;}
  .nl-card{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:16px;}
  .nl-card__link{display:contents;}
  .nl-card__cover{grid-row:1 / span 2;align-self:start;}
  .nl-card__body{padding-top:0;}
  .nl-card .nl-tags{grid-column:2;margin-top:10px;}
  .nl-card__title{font-size:17px;margin-top:8px;}
  .nl-card__dek{-webkit-line-clamp:2;}
  .nl-story--summary .nl-story__body{padding:20px 20px 4px;}
  .nl-gallery--2,.nl-gallery--3{grid-template-columns:1fr;}
  .nl-gallery--4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .nl-latest__list a{font-size:15px;}
}
@media(prefers-reduced-motion:reduce){
  .nl-stack__item,.nl-hero__cover,.nl-card__cover img,.nl-latest__cover img,.nl-pager__cover img{transition:none;}
  .nl-progress{display:none;}
}
