/* The Almanac: air power in numbers (/numbers). Generated by scripts/build-numbers-pages.mjs.
   Sits on top of /zine.css: paper, ink, the stencil/condensed/serif/mono type and section red.
   The look is a printed data annual: charts on graph paper, Neurath isotype rows of planforms,
   profiles pasted up at one scale, and the occasional rubber stamp. */

:root{
  --n-grid:rgba(39,75,134,.10); --n-grid-2:rgba(39,75,134,.2);
  --n-panel:#F7F5E8;
  --isz:26px;
}
.n-main{font-size:17.5px;line-height:1.62}
.n-main a{color:var(--z-ink);text-decoration-color:var(--z-sec);text-decoration-thickness:2px;text-underline-offset:3px}
.n-main a:hover{color:var(--z-sec)}

/* ── Opener ──────────────────────────────────────────── */
.n-open{padding:34px 0 0;border-bottom:4px double var(--z-ink);overflow:hidden}
.n-open-top{display:flex;align-items:center;justify-content:space-between;gap:16px;
  border-bottom:2px solid var(--z-ink);padding-bottom:12px}
.n-open-top a.z-dymo{text-decoration:none}
.n-years{font-family:var(--z-stencil);font-size:clamp(26px,4vw,44px);line-height:1;color:var(--z-ink);letter-spacing:.02em}
.n-open-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;align-items:center;padding:34px 0 8px}
.n-title{font-family:var(--z-stencil);font-weight:400;text-transform:uppercase;line-height:.84;margin:6px 0 10px;
  font-size:min(148px,10.5vw,calc(56vw / var(--tw,6)));color:var(--z-ink);letter-spacing:-.005em;text-wrap:balance}
.n-sub{font-family:var(--z-cond);font-weight:700;text-transform:uppercase;font-size:clamp(20px,2.4vw,28px);
  letter-spacing:.04em;color:var(--z-sec);margin:0 0 16px}
.n-open .z-deck{margin:0}
.n-hero{margin:0;--tilt:2deg;max-width:560px;justify-self:end}
.n-hero img{aspect-ratio:4/3;object-fit:cover}
.n-hero figcaption{line-height:1.5}
.n-big{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 28px;margin:30px 0 0;
  padding:18px 0 0;border-top:1px solid var(--z-rule)}
.n-big-n{font-family:var(--z-stencil);font-size:min(260px,19vw,calc(135vw / var(--nc,4)));line-height:.78;color:var(--z-red);
  letter-spacing:-.02em;text-shadow:5px 5px 0 rgba(21,22,15,.13);font-variant-numeric:tabular-nums;padding-bottom:.06em}
.n-big-l{display:flex;align-items:flex-end;gap:16px;padding-bottom:10px;flex:1 1 280px}
.n-big-l p{margin:0;font-family:var(--z-serif);font-style:italic;font-size:clamp(18px,2vw,23px);line-height:1.35;max-width:24em}
.n-big-l .n-ic{flex:none}
.n-tally{margin-top:26px;margin-bottom:0;padding-bottom:28px}
.n-tally div{display:flex;flex-direction:column}
.n-tally dt{order:2;max-width:16em;line-height:1.4;margin-top:4px}
@media (max-width:820px){
  .n-open-grid{grid-template-columns:1fr;gap:28px}
  .n-title{font-size:min(120px,calc(150vw / var(--tw,6)))}
  .n-big-n{font-size:min(150px,calc(118vw / var(--nc,4)))}
  .n-hero{justify-self:start}
}

/* ── Contents strip and intro ────────────────────────── */
.n-toc{display:flex;gap:18px;align-items:baseline;flex-wrap:wrap;border-bottom:1px solid var(--z-rule);padding:16px 0}
.n-toc>span{font-family:var(--z-mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--z-sec)}
.n-toc ol{display:flex;flex-wrap:wrap;gap:6px 22px;list-style:none;margin:0;padding:0}
.n-toc a{font-family:var(--z-cond);font-weight:600;text-transform:uppercase;font-size:15px;letter-spacing:.04em;text-decoration:none}
.n-toc a b{font-family:var(--z-mono);font-weight:500;color:var(--z-sec);font-size:11px;margin-right:4px}
.n-intro{max-width:680px;margin:40px auto 10px;font-size:19px}
.n-intro p{margin:0 0 1em}
.n-text{max-width:680px;margin:22px auto}
.n-text p{margin:0 0 1em}
.n-part{scroll-margin-top:70px}
.n-dept{margin-top:84px}

/* ── Figure furniture ────────────────────────────────── */
.n-block{margin:34px auto 40px;max-width:1040px;background:var(--n-panel);
  background-image:linear-gradient(var(--n-grid) 1px,transparent 1px),linear-gradient(90deg,var(--n-grid) 1px,transparent 1px);
  background-size:24px 24px;border:1px solid var(--z-rule);border-top:3px solid var(--z-ink);
  padding:20px clamp(14px,3vw,30px) 18px;box-shadow:6px 6px 0 rgba(21,22,15,.08)}
.n-bh{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0 0 14px}
.n-bk{font-family:var(--z-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:var(--z-sec);padding:3px 7px 2px}
.n-bh h3{font-family:var(--z-cond);font-weight:700;text-transform:uppercase;font-size:clamp(21px,2.4vw,27px);line-height:1;margin:0;flex:1 1 18em;text-wrap:balance}
.n-unit{font-family:var(--z-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--z-ink-3)}
.n-src,.n-note{font-family:var(--z-mono);font-size:11px;line-height:1.55;color:var(--z-ink-3);margin:14px 0 0}
.n-src span{letter-spacing:.18em;text-transform:uppercase;color:var(--z-sec);margin-right:4px}
.n-note{font-family:var(--z-serif);font-style:italic;font-size:14.5px;color:var(--z-ink-2)}
.n-block ol,.n-block ul{list-style:none;margin:0;padding:0}

/* Silhouette icons: the planform PNGs used as masks so they print in ink or section colour */
.n-ic{display:inline-block;width:var(--isz);height:var(--isz);flex:none;background:var(--ic-c,var(--z-ink));
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;vertical-align:middle}
.n-ic.gen{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M20 2c1.6 0 2.4 2 2.4 5v8l14 7v3l-14-3.4V31l4.4 3.4V37L20 35.6 13.2 37v-2.6l4.4-3.4v-9.4L3.6 25v-3l14-7V7c0-3 .8-5 2.4-5z'/%3E%3C/svg%3E")}
.n-ic.g-person{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='6.5' r='5'/%3E%3Cpath d='M12.5 14h15a3 3 0 0 1 3 3v10h-4v12h-5v-11h-3v11h-5V27h-4V17a3 3 0 0 1 3-3z'/%3E%3C/svg%3E")}
.n-ic.g-bomb{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M20 9c4.5 0 7 4 7 11s-2.5 12-7 12-7-5-7-12 2.5-11 7-11zM16 3h8l-1 6h-6zM16 32h8l2 6H14z'/%3E%3C/svg%3E")}
.n-ic.g-ship{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M2 24h36l-5 9H8zM10 17h18v5H10zM15 10h6v6h-6zM24 12h2v5h-2z'/%3E%3C/svg%3E")}
.n-ic.sm{--isz:18px}
.n-ic.lg{--isz:64px}

/* ── Isotype ─────────────────────────────────────────── */
.n-key{display:flex;align-items:center;gap:8px;font-family:var(--z-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--z-ink-2);margin:0 0 12px;padding:6px 10px;border:1px dashed var(--z-rule);width:max-content;max-width:100%;background:var(--z-paper)}
.n-iso li{display:grid;grid-template-columns:minmax(110px,190px) minmax(0,1fr) auto;gap:14px;align-items:center;
  padding:9px 0;border-bottom:1px solid rgba(185,182,156,.6)}
.n-iso li:last-child{border-bottom:0}
.n-iso-l b{display:block;font-family:var(--z-cond);font-weight:700;text-transform:uppercase;font-size:16px;line-height:1.05}
.n-iso-l em,.n-bar-l em{display:block;font-size:12.5px;color:var(--z-ink-3);line-height:1.3;margin-top:2px}
.n-iso-ic{display:flex;flex-wrap:wrap;gap:3px 2px;align-items:center;container-type:inline-size}
.n-iso-ic>*{--isz:clamp(9px,calc(100cqi / var(--cap) - 2px),28px)}
.n-iso-ic .n-ic{transform:rotate(0)}
.n-iso li:nth-child(2n) .n-ic{--ic-c:var(--z-ink-2)}
.n-iso li:first-child .n-ic{--ic-c:var(--z-red)}
.n-part-ic{display:inline-block;overflow:hidden;height:var(--isz);vertical-align:middle}
.n-part-ic .n-ic{--isz:inherit}
.n-iso-n{font-family:var(--z-cond);font-weight:700;font-size:22px;font-variant-numeric:tabular-nums;text-align:right;min-width:4ch}
@media (max-width:640px){
  :root{--isz:15px}
  .n-iso li{grid-template-columns:1fr auto;gap:6px 10px}
  .n-iso-ic{grid-column:1/-1;grid-row:2}
}

/* ── Bars ────────────────────────────────────────────── */
.n-bars ol>li,.n-stack ol>li{display:grid;grid-template-columns:minmax(120px,230px) minmax(0,1fr);gap:14px;align-items:center;padding:6px 0}
.n-bar-l{display:flex;align-items:center;gap:8px}
.n-bar-l>span{display:block;min-width:0}
.n-bar-l b{display:block}
.n-bar-l b{font-family:var(--z-cond);font-weight:600;font-size:16px;line-height:1.1;text-transform:uppercase;letter-spacing:.02em}
.n-bar-t{display:flex;align-items:center;gap:10px}
.n-bar{display:block;height:20px;width:var(--w);min-width:2px;background:var(--z-ink);
  background-image:repeating-linear-gradient(90deg,transparent 0 23px,rgba(241,239,223,.35) 23px 24px);
  transform-origin:left;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.n-bars li.hi .n-bar{background-color:var(--z-red)}
.n-bars li.hi b{color:var(--z-red)}
.n-bar-n{font-family:var(--z-mono);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:640px){.n-bars ol>li,.n-stack ol>li{grid-template-columns:1fr;gap:4px}}

/* ── Stacked bars, legend ────────────────────────────── */
.n-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 14px!important;font-family:var(--z-mono);font-size:11.5px}
.n-legend i,.n-waf-k i{display:inline-block;width:12px;height:12px;background:var(--c);margin-right:6px;vertical-align:-1px}
.n-stk-t{display:flex;align-items:center;gap:10px}
.n-stk{display:flex;flex:1;height:24px;background:rgba(21,22,15,.05)}
.n-stk span{display:flex;align-items:center;justify-content:center;background:var(--c);min-width:2px;
  box-shadow:inset -1px 0 0 var(--n-panel);overflow:hidden}
.n-stk em{font-style:normal;font-family:var(--z-mono);font-size:10.5px;color:#fff;font-weight:600}

/* ── Line chart ──────────────────────────────────────── */
.n-chart{position:relative}
.n-chart svg{display:block;width:100%;height:auto;overflow:visible}
.n-chart .g{stroke:var(--n-grid-2);stroke-width:1}
.n-chart .ty,.n-chart .tx{font-family:var(--z-mono);font-size:11px;fill:var(--z-ink-3)}
.n-chart .ty{text-anchor:end}
.n-chart .tx{text-anchor:middle}
.n-chart .ln{fill:none;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.n-chart .ln.hi{stroke-width:3.6}
.n-chart .ar{opacity:.1}
.n-chart .nl{stroke:var(--z-red);stroke-dasharray:3 3;stroke-width:1}
.n-chart .nt{font-family:var(--z-mono);font-size:10.5px;fill:var(--z-red);font-weight:600;
  paint-order:stroke;stroke:var(--n-panel);stroke-width:4px}
.n-chart circle{stroke:var(--n-panel);stroke-width:1.2}
.n-tip{position:absolute;pointer-events:none;background:var(--z-ink);color:var(--z-paper);font-family:var(--z-mono);
  font-size:11.5px;line-height:1.5;padding:7px 10px;white-space:nowrap;z-index:3;transform:translate(-50%,calc(-100% - 12px));
  box-shadow:3px 3px 0 rgba(21,22,15,.2)}
.n-tip b{color:var(--z-yellow);font-weight:600}
.n-chart .cross{stroke:var(--z-ink);stroke-width:1;stroke-dasharray:2 3}

/* ── Waffle ──────────────────────────────────────────── */
.n-waf-in{display:grid;grid-template-columns:minmax(200px,300px) minmax(0,1fr);gap:28px;align-items:center}
.n-waf{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;aspect-ratio:1}
.n-waf i{background:var(--c);aspect-ratio:1;display:block}
.n-waf-k li{display:flex;align-items:baseline;gap:6px;padding:6px 0;border-bottom:1px solid rgba(185,182,156,.6);font-size:15px;line-height:1.3}
.n-waf-k b{font-family:var(--z-cond);font-size:22px;min-width:3.2ch}
.n-waf-k span{margin-left:auto;font-family:var(--z-mono);font-size:12px;color:var(--z-ink-3)}
@media (max-width:640px){.n-waf-in{grid-template-columns:1fr}.n-waf{max-width:280px}}

/* ── Versus ──────────────────────────────────────────── */
.n-vs-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:4px 0 16px;text-align:center}
.n-vs-top h4{font-family:var(--z-cond);font-weight:700;text-transform:uppercase;font-size:clamp(18px,2.2vw,24px);margin:8px 0 0;line-height:1}
.n-vs-top img{max-height:110px;max-width:100%;object-fit:contain}
.n-vs-a .n-ic{--ic-c:var(--z-blue);transform:rotate(90deg)}
.n-vs-b .n-ic{--ic-c:var(--z-red);transform:rotate(-90deg)}
.n-vs-a h4{color:var(--z-blue)} .n-vs-b h4{color:var(--z-red)}
.n-vs-v{font-family:var(--z-stencil);font-size:42px;line-height:1;color:var(--z-ink)}
.n-vs ul li{display:grid;grid-template-columns:5.5em 1fr minmax(7em,auto) 1fr 5.5em;align-items:center;gap:10px;padding:7px 0;border-top:1px solid rgba(185,182,156,.6)}
.n-vs li b{font-family:var(--z-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;text-align:center;font-weight:500;color:var(--z-ink-2)}
.n-vs .va{text-align:right;font-family:var(--z-cond);font-weight:700;font-size:19px}
.n-vs .vb{font-family:var(--z-cond);font-weight:700;font-size:19px}
.n-vs small{font-family:var(--z-mono);font-size:10px;font-weight:400;color:var(--z-ink-3)}
.vb-a,.vb-b{display:flex;height:12px}
.vb-a{justify-content:flex-end}
.vb-a i,.vb-b i{display:block;width:var(--w);height:100%;background:var(--z-rule);transition:transform .8s}
.vb-a i{transform-origin:right}
.vb-b i{transform-origin:left}
.n-vs li.wa .vb-a i{background:var(--z-blue)} .n-vs li.wa .va{color:var(--z-blue)}
.n-vs li.wb .vb-b i{background:var(--z-red)} .n-vs li.wb .vb{color:var(--z-red)}
.n-verdict{margin:16px 0 0;font-size:16px;display:flex;gap:14px;align-items:flex-start}
.n-verdict .z-stamp{flex:none}
@media (max-width:640px){
  .n-vs ul li{grid-template-columns:1fr 1fr;gap:2px 10px}
  .n-vs li b{grid-column:1/-1;grid-row:1}
  .vb-a,.vb-b{display:none}
  .n-vs .va{text-align:left}
  .n-vs .vb{text-align:right}
  .n-vs-top .n-ic.lg{--isz:44px}
}

/* ── Table ───────────────────────────────────────────── */
.n-tw{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.n-t{width:100%;border-collapse:collapse;font-size:15px;background:var(--z-paper)}
.n-t th{position:sticky;top:0;background:var(--z-ink);color:var(--z-paper);text-align:left;padding:0;white-space:nowrap}
.n-t th button{all:unset;cursor:pointer;display:block;padding:9px 10px;font-family:var(--z-mono);font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;width:100%;box-sizing:border-box}
.n-t th.num button{text-align:right}
.n-t th button::after{content:" \2195";opacity:.4}
.n-t th[aria-sort="ascending"] button::after{content:" \2191";opacity:1;color:var(--z-yellow)}
.n-t th[aria-sort="descending"] button::after{content:" \2193";opacity:1;color:var(--z-yellow)}
.n-t th button:focus-visible{outline:2px solid var(--z-yellow);outline-offset:-2px}
.n-t td{padding:7px 10px;border-bottom:1px solid var(--z-rule);vertical-align:top;line-height:1.35}
.n-t tbody tr:nth-child(2n) td{background:rgba(220,217,193,.28)}
.n-t tbody tr:hover td{background:rgba(217,166,46,.16)}
.n-t td.num{text-align:right;font-family:var(--z-mono);font-size:13.5px;font-variant-numeric:tabular-nums;white-space:nowrap;position:relative}
.n-t td.num .sp{position:absolute;left:6px;right:6px;bottom:3px;height:3px}
.n-t td.num .sp::before{content:"";position:absolute;right:0;height:100%;width:var(--w);background:var(--z-sec);opacity:.55}
.n-t td:first-child{font-weight:600}
.n-t tfoot td{font-family:var(--z-mono);font-size:11px;color:var(--z-ink-3);border:0;padding-top:10px}

/* ── Line-up at one scale ────────────────────────────── */
.n-lineup,.n-fleet{background-size:12px 12px;
  background-image:linear-gradient(var(--n-grid) 1px,transparent 1px),linear-gradient(90deg,var(--n-grid) 1px,transparent 1px)}
.n-lu{display:flex;flex-wrap:wrap;align-items:flex-end;gap:26px 4%;padding:6px 0}
.n-lu li{position:relative;width:calc(var(--l) * var(--lk,.62));min-width:90px}
.n-lu img{width:100%;height:auto;display:block;filter:drop-shadow(0 6px 3px rgba(21,22,15,.16))}
.n-lu-cap{display:block;font-family:var(--z-mono);font-size:10.5px;letter-spacing:.04em;color:var(--z-ink-3);border-top:1px solid var(--z-ink);
  padding-top:4px;margin-top:3px;line-height:1.35}
.n-lu-cap b{display:block;font-family:var(--z-cond);font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--z-ink);font-weight:700}
.n-lu-scale{display:flex;align-items:center;gap:8px;margin-top:16px;font-family:var(--z-mono);font-size:11px}
.n-lu-scale span{display:block;width:calc(var(--scale) * var(--lk,.62));height:8px;border:1.5px solid var(--z-ink);border-top:0;
  background:repeating-linear-gradient(90deg,var(--z-ink) 0 50%,transparent 50% 100%);background-size:20% 100%}
.n-lu-scale em{font-style:normal}

/* The whole Hangar: profiles flow into a wall, each sized to the same scale */
.n-fl{display:flex;flex-wrap:wrap;align-items:flex-end;gap:20px 2.5%;}
.n-fl li{width:calc(var(--l) * .48);min-width:46px}
.n-fl a{display:block;text-decoration:none}
.n-fl img{width:100%;height:auto;display:block;transition:transform .25s;filter:drop-shadow(0 4px 2px rgba(21,22,15,.14))}
.n-fl a:hover img,.n-fl a:focus-visible img{transform:translateY(-4px) scale(1.04)}
.n-fl span{display:block;font-family:var(--z-mono);font-size:9.5px;line-height:1.3;color:var(--z-ink-3);border-top:1px solid var(--z-ink-3);padding-top:2px;margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n-fl span b{font-family:var(--z-cond);font-size:11.5px;color:var(--z-ink);text-transform:uppercase;letter-spacing:.03em;display:block;overflow:hidden;text-overflow:ellipsis}
.n-fleet .n-lu-scale span{width:calc(var(--scale) * .48)}
@media (max-width:640px){.n-lineup{--lk:1}.n-fl li{width:calc(var(--l) * .95)}.n-fleet .n-lu-scale span{width:calc(var(--scale) * .95)}}

/* ── 3D apron ────────────────────────────────────────── */
.n-apron{padding-bottom:16px}
.n-ap{position:relative;aspect-ratio:16/9;min-height:300px;background:linear-gradient(#E9E6D2,#D6D2BA);overflow:hidden;
  border:1px solid var(--z-ink);touch-action:pan-y}
.n-ap canvas{display:block;width:100%!important;height:100%!important;cursor:grab}
.n-ap canvas:active{cursor:grabbing}
.n-ap-poster{position:absolute;inset:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4% 6%;padding:6% 8%;opacity:.5}
.n-ap-poster img{width:26%;height:auto;filter:grayscale(1) contrast(.8)}
.n-ap-go{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;cursor:pointer;border:0;
  background:var(--z-ink);color:var(--z-paper);padding:16px 26px;display:flex;flex-direction:column;align-items:center;gap:4px;
  box-shadow:6px 6px 0 var(--z-red)}
.n-ap-go span{font-family:var(--z-cond);font-weight:700;text-transform:uppercase;font-size:22px;letter-spacing:.06em}
.n-ap-go em{font-style:normal;font-family:var(--z-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--z-yellow)}
.n-ap-go:hover{background:var(--z-red);box-shadow:6px 6px 0 var(--z-ink)}
.n-ap.loading .n-ap-go span::after{content:"…"}
.n-ap.live .n-ap-go,.n-ap.live .n-ap-poster{display:none}
.n-ap-labels{position:absolute;inset:0;pointer-events:none;z-index:1}
.n-ap-labels span{position:absolute;transform:translate(-50%,-100%);font-family:var(--z-mono);font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;background:var(--z-paper);border:1px solid var(--z-ink);padding:2px 6px;white-space:nowrap;
  box-shadow:2px 2px 0 rgba(21,22,15,.25);transition:opacity .25s}
.n-ap-labels span::after{content:"";position:absolute;left:50%;top:100%;width:1px;height:14px;background:var(--z-ink)}
.n-ap-hint{position:absolute;left:12px;bottom:10px;margin:0;font-family:var(--z-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--z-ink-2);z-index:2}
.n-ap-ctl{position:absolute;right:10px;bottom:10px;display:flex;gap:6px;z-index:2}
.n-ap-ctl button{width:36px;height:36px;border:1px solid var(--z-ink);background:var(--z-paper);font-size:18px;cursor:pointer;line-height:1}
.n-ap-ctl button[aria-pressed="true"]{background:var(--z-ink);color:var(--z-paper)}
.n-ap-list{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:12px!important;font-family:var(--z-cond);font-weight:600;font-size:14px;text-transform:uppercase}
.n-ap-list span{font-family:var(--z-mono);font-weight:400;font-size:10.5px;text-transform:none;color:var(--z-ink-3)}
@media (max-width:640px){.n-ap{aspect-ratio:4/5}}

/* ── Photographs ─────────────────────────────────────── */
.n-photo{margin:38px auto 44px}
.n-photo.n-wide{max-width:1000px}
.n-photo.n-half{max-width:620px}
.n-photo .z-print{--tilt:-.6deg;padding:10px 10px 12px}
.n-photo:nth-of-type(2n) .z-print{--tilt:.8deg}
.n-ph-in{position:relative}
.n-ph-in img{width:100%;height:auto;display:block}
.n-pins li{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:var(--z-red);color:#fff;
  font-family:var(--z-mono);font-weight:600;font-size:12.5px;display:grid;place-items:center;z-index:2;
  box-shadow:0 0 0 2.5px rgba(251,250,243,.95),0 2px 6px rgba(0,0,0,.45)}

.n-photo figcaption{max-width:760px;margin:16px auto 0;font-size:15.5px;line-height:1.5;color:var(--z-ink-2)}
.n-cap{display:block;font-style:italic}
.n-pin-k{counter-reset:pin;list-style:none;padding:0;margin:10px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:6px 22px}
.n-pin-k li{counter-increment:pin;display:flex;gap:10px;align-items:baseline;font-size:15px}
.n-pin-k li::before{content:counter(pin);flex:none;width:22px;height:22px;border-radius:50%;background:var(--z-red);color:#fff;
  font-family:var(--z-mono);font-size:11px;font-weight:600;display:grid;place-items:center;transform:translateY(3px)}
.n-cr{display:block;font-family:var(--z-mono);font-size:10.5px;letter-spacing:.06em;color:var(--z-ink-3);margin-top:8px}
.n-photos{display:grid;gap:28px;max-width:1060px;margin:38px auto}
.n-photos.n-2{grid-template-columns:1fr 1fr}
.n-photos.n-3{grid-template-columns:repeat(3,1fr)}
.n-photos .n-photo{margin:0}
.n-photos img{aspect-ratio:4/3;object-fit:cover}
@media (max-width:760px){.n-photos.n-2,.n-photos.n-3{grid-template-columns:1fr}}

/* ── Timeline (a log book) ───────────────────────────── */
.n-tl ol{border-left:3px solid var(--z-ink);margin-left:6px!important}
.n-tl li{display:grid;grid-template-columns:8.5em minmax(0,1fr) auto;gap:14px;align-items:baseline;padding:9px 0 9px 24px;position:relative;
  border-bottom:1px dashed var(--z-rule)}
.n-tl li::before{content:"";position:absolute;left:-8px;top:15px;width:13px;height:13px;background:var(--z-paper);border:3px solid var(--z-sec);border-radius:50%}
.n-tl time{font-family:var(--z-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--z-sec);font-weight:600}
.n-tl li p{margin:0;font-size:16px;line-height:1.45}
.n-tl b{font-family:var(--z-cond);font-size:22px}
@media (max-width:640px){.n-tl li{grid-template-columns:1fr auto}.n-tl time{grid-column:1/-1}}

/* ── Facts, quote ────────────────────────────────────── */
.n-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0;margin:34px auto;max-width:1040px;border-top:3px solid var(--z-ink);border-bottom:1px solid var(--z-ink)}
.n-fact{padding:18px 18px 20px;border-right:1px solid var(--z-rule);border-bottom:1px solid var(--z-rule)}
.n-fact b{display:block;font-family:var(--z-stencil);font-weight:400;font-size:clamp(34px,3.5vw,50px);overflow-wrap:anywhere;line-height:.9;color:var(--z-sec);margin-bottom:8px}
.n-fact span{display:block;font-size:15.5px;line-height:1.4}
.n-fact em{display:block;font-family:var(--z-mono);font-style:normal;font-size:10.5px;color:var(--z-ink-3);margin-top:6px;line-height:1.5}
.n-quote{max-width:820px;margin:52px auto;padding:0 0 0 30px;border-left:6px solid var(--z-sec)}
.n-quote p{font-family:var(--z-cond);font-weight:700;text-transform:uppercase;font-size:clamp(26px,3.6vw,42px);line-height:1.02;margin:0}
.n-quote cite{display:block;margin-top:12px;font-family:var(--z-mono);font-style:normal;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--z-ink-3)}

/* ── Survivors ───────────────────────────────────────── */
.n-sv ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0 28px}
.n-sv li{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--z-rule)}
.n-sv .n-ic{--isz:46px}
.n-sv-t{font-family:var(--z-cond);font-weight:700;text-transform:uppercase;font-size:18px;text-decoration:none}
.n-sv-n{display:block;font-family:var(--z-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--z-sec);margin:2px 0 4px}
.n-sv p{margin:0;font-size:14px;line-height:1.5}

/* ── Sources ─────────────────────────────────────────── */
.n-sources{max-width:1040px;margin:80px auto 30px;padding-top:24px;border-top:4px double var(--z-ink)}
.n-sources h2{font-family:var(--z-cond);font-weight:700;text-transform:uppercase;font-size:22px;margin:0 0 12px}
.n-sources ol,.n-credits{columns:2;column-gap:36px;font-family:var(--z-mono);font-size:11.5px;line-height:1.55;padding-left:20px;margin:0 0 26px}
.n-credits{list-style:none;padding:0}
.n-sources li,.n-credits li{break-inside:avoid;margin-bottom:6px}
.n-method{font-style:italic;font-size:15px;color:var(--z-ink-2);max-width:70ch}
@media (max-width:720px){.n-sources ol,.n-credits{columns:1}}

/* ── Front: the series ───────────────────────────────── */
.n-front-iso{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;opacity:.9}
.n-front-iso .n-ic{--isz:100%;aspect-ratio:1;width:100%;height:auto}
.n-front-iso .n-ic:nth-child(5n+2){--ic-c:var(--z-red)}
.n-front-iso .n-ic:nth-child(7n+3){--ic-c:var(--z-ink-3)}
.n-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:26px}
.n-card{position:relative;display:flex;flex-direction:column;text-decoration:none;color:var(--z-ink);background:var(--n-panel);
  border:1px solid var(--z-ink);box-shadow:6px 6px 0 var(--z-ink);transition:transform .2s,box-shadow .2s}
.n-card:hover,.n-card:focus-visible{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--z-red)}
.n-card-no{position:absolute;top:10px;left:12px;z-index:1;font-family:var(--z-stencil);font-size:44px;line-height:1;color:var(--z-paper);
  text-shadow:2px 2px 0 var(--z-ink)}
.n-card-img{display:block;aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid var(--z-ink)}
.n-card-img img{width:100%;height:100%;object-fit:cover;filter:sepia(.25) contrast(1.05);transition:transform .4s}
.n-card:hover .n-card-img img{transform:scale(1.04)}
.n-card-b{display:flex;flex-direction:column;padding:14px 16px 16px;flex:1}
.n-card .k{font-family:var(--z-mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--z-sec)}
.n-card .t{font-family:var(--z-stencil);font-size:34px;line-height:.95;text-transform:uppercase;margin:6px 0 4px}
.n-card .s{font-style:italic;font-size:15.5px;color:var(--z-ink-2)}
.n-card-big{display:flex;gap:12px;align-items:flex-start;margin:14px 0 10px;padding-top:12px;border-top:1px solid var(--z-rule)}
.n-card-big b{font-family:var(--z-stencil);font-weight:400;font-size:42px;line-height:.85;color:var(--z-red);flex:none}
.n-card-big em{font-size:13.5px;line-height:1.35;font-style:normal}
.n-card-f{margin-top:auto;font-family:var(--z-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}

/* ── Motion ──────────────────────────────────────────── */
@media (prefers-reduced-motion:no-preference){
  .js .n-iso .n-ic,.js .n-iso .n-part-ic{opacity:0;transform:translateY(6px) scale(.7);transition:opacity .35s,transform .35s;transition-delay:calc(var(--d,0) * 18ms)}
  .js .n-iso.in .n-ic,.js .n-iso.in .n-part-ic{opacity:1;transform:none}
  .js .n-bars:not(.in) .n-bar{transform:scaleX(0)}
  .js .n-vs:not(.in) .vb-a i,.js .n-vs:not(.in) .vb-b i{transform:scaleX(0)}
  .js .n-waf i{transition:opacity .3s;transition-delay:calc(var(--d,0) * 9ms)}
  .js .n-waffle:not(.in) .n-waf i{opacity:.08}
  .js .n-chart .ln{transition:stroke-dashoffset 1.6s cubic-bezier(.3,.6,.2,1)}
}
@media print{.n-ap{display:none}.n-block{box-shadow:none;break-inside:avoid}}
.n-front-open .n-title{font-size:clamp(52px,8vw,112px)}
.n-main .z-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Breadcrumb trail, as on the Hangar plates */
.crumbs{font-family:var(--z-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--z-ink-3);margin:0 0 16px;line-height:1.7}
.crumbs a{color:var(--z-ink);text-decoration:none;border-bottom:1px solid var(--z-sec)}
.crumbs a:hover{color:var(--z-sec)}
.crumbs span[aria-hidden]{margin:0 .5em}

/* Section IV, Numbers: olive */
body[data-section="numbers"]{--z-sec:#56682F}
