/* Colours: look A "lifted boxes" (James, 12 Nov 2026) comes from the tokens in forspec-site.css (--bg, --panel, --panel2, --line, --text, --dim).
   Nothing here sets a page or box colour of its own; white is used only on red buttons and badges and on the drawing sheets.
   FORSPEC news hub: /news/, /news/<slug>/, /news/topic/<key>/, /news/newsletter/. Owned by chat 10. Phone first.
   Look A "front page": lead story, In brief, latest rows. Reading pages: one column, 760 px at most. */
.nw{padding-top:73px;--edge:var(--line);--edge2:rgba(255,255,255,.34);--tint:var(--panel);--mono:"JetBrains Mono","JetBrains Mono Fallback","Courier New",monospace,monospace}
.nw .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.nw p{margin:0}
.nw h1.cond span,.nw h2.cond span{color:var(--redT)}
.nw h2.cond{font-size:clamp(28px,3.6vw,48px);margin:0 0 14px}
.nw :is(button,a,input,select):focus-visible{outline:2px solid var(--redT);outline-offset:2px}
.nwCrumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-block:14px 0;font:700 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.nwCrumbs a{padding:6px 0}.nwCrumbs a:hover{color:var(--text)}.nwCrumbs b{color:var(--text)}
.nwDraft{margin-top:10px !important;font:700 12px/1.4 var(--mono);letter-spacing:.04em;color:#000}
.nwDraft{background:var(--tbc);padding-block:8px}
.nwMeta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font:700 12px/1.3 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--dim)}
.nwMeta em{font-style:normal;color:var(--redT)}.nwMeta i{font-style:normal;opacity:.6}

/* ---------- top of the hub and the topic pages */
.nwTop{padding-block:16px 16px;background:radial-gradient(ellipse at 90% -40%,rgba(221,36,43,.26),transparent 55%)}
.nwTop h1{font-size:clamp(38px,6vw,88px);margin:10px 0 12px;max-width:17ch}
.nwTop .lead{max-width:640px}
.nwChips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-top:14px;padding-bottom:2px;-webkit-overflow-scrolling:touch}
.nwChips::-webkit-scrollbar{display:none}
.nwChip{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border:1.5px solid var(--edge2);color:var(--text);font:600 14px "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif;white-space:nowrap}
.nwChip i{font:700 12px var(--mono);font-style:normal;color:var(--dim);margin-left:6px}
.nwChip:hover{border-color:var(--text)}
.nwChip.on{background:var(--text);color:#000;border-color:var(--text)}.nwChip.on i{color:#333}

/* ---------- front: lead story + In brief */
.nwFront{display:contents}
.nwFront > section{padding-inline:max(16px,4vw)}
.nwLeadSec{padding-block:14px 20px;border-top:1px solid var(--line)}
.nwFront > .nwBrief{padding-block:0 28px}
.nwLead{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--edge);min-width:0}
.nwLead:hover{border-color:var(--text)}
.nwLeadPic{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--panel2)}
.nwLeadPic img{display:block;width:100%;height:100%;object-fit:cover}
.nwLeadTxt{display:flex;flex-direction:column;gap:6px;padding:12px 12px 14px}
.nwLeadTxt em{font:700 12px/1.2 var(--mono);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--redT)}
.nwLeadTxt b{font:800 26px/1.04 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif;font-stretch:75%;text-wrap:balance}
.nwLeadTxt .dek{font-size:15px;line-height:1.45;color:var(--dim)}
.nwBrief h2.cond{margin-bottom:6px}
.nwBrief ol{list-style:none;counter-reset:nb;border-top:1px solid var(--edge2)}
.nwBrief li{counter-increment:nb;border-bottom:1px solid var(--edge)}
.nwBrief li a{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:8px;row-gap:3px;padding:10px 0;min-height:60px;align-content:center}
.nwBrief li a::before{content:counter(nb,decimal-leading-zero);grid-row:1/3;font:800 26px/1 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif;font-stretch:68%;color:var(--redT)}
.nwBrief li b{font:700 16px/1.2 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif}
.nwBrief li a:hover b{text-decoration:underline;text-underline-offset:3px}
.nwBrief.solo{max-width:760px}

/* ---------- rows: one post per row */
.nwSec{padding-block:26px 30px;border-top:1px solid var(--line)}
.nwSub{color:var(--dim);font-size:15px;max-width:640px;margin:-4px 0 14px !important}
.nwRows{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--edge2)}
.nwRow{display:flex;align-items:center;gap:12px;padding:10px 0;min-height:84px;border-bottom:1px solid var(--edge);min-width:0}
.nwRow .nwPic{flex:none;width:96px;aspect-ratio:4/3;overflow:hidden;background:var(--panel2);border:1px solid var(--edge)}
.nwRow .nwPic img{display:block;width:100%;height:100%;object-fit:cover}
.nwTxt{display:flex;flex-direction:column;gap:5px;min-width:0}
.nwTxt b{font:700 16px/1.2 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif;overflow-wrap:anywhere}
.nwRow:hover .nwTxt b{text-decoration:underline;text-underline-offset:3px}
.nwjs .nwRows.cut .nwRow.nwHid{display:none}
.nwMore{display:none;width:100%;max-width:420px;min-height:50px;margin-top:12px;border:1.5px solid var(--text);background:none;color:var(--text);font:700 13px var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.nwjs .nwMore{display:block}.nwjs .nwMore[hidden]{display:none}
.nwMore:hover{background:var(--text);color:#000}
.nwAllLink{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;font:700 13px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text);border-bottom:1.5px solid var(--redT)}

/* the picture slot when a post has no photo: a type plate */
.nwPlate{display:flex;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:8px;background:linear-gradient(135deg,#1a0c0d,var(--panel) 60%);border-left:3px solid var(--red);overflow:hidden}
/* the small label shows only on the large plate (12 px, the look A minimum); a row thumbnail is too small to carry it at 12 px, so there the plate is the big word alone */
.nwPlate i{display:none;font:700 12px/1.2 var(--mono);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.nwPlate b{margin-top:auto;font:800 22px/.95 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif;font-stretch:68%;text-transform:uppercase;color:var(--text);overflow-wrap:break-word}
.nwPlate.long b{font-size:15px;line-height:1}
.nwLeadPic .nwPlate{padding:16px}.nwLeadPic .nwPlate i{display:block}.nwLeadPic .nwPlate b,.nwLeadPic .nwPlate.long b{font-size:clamp(40px,10vw,120px)}

.nw img.whole{object-fit:contain !important;background:#fff}

/* ---------- watch: upright videos three across, then posts one per row */
.nwWatch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.nwW{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--edge);min-width:0}
.nwW:hover{border-color:var(--text)}
.nwWPic{position:relative;display:block;aspect-ratio:9/16;overflow:hidden;background:var(--panel2)}
.nwWPic img{display:block;width:100%;height:100%;object-fit:cover}
.nwPlay{position:absolute;left:6px;bottom:6px;display:flex;align-items:center;gap:6px;min-height:28px;padding:0 8px;background:var(--red);color:#fff;font:700 12px/1 var(--mono)}
.nwPlay i{font-style:normal}
.nwWTxt{display:block;padding:8px 8px 10px;min-width:0}
.nwWTxt b{font:700 14px/1.2 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif}
.nwPosts{display:grid;gap:6px;margin-top:10px}
.nwP{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;min-height:64px;padding:8px 10px;background:var(--tint);border:1px solid var(--edge)}
.nwP:hover{border-color:var(--text)}
.nwP.nwExt{border-style:dashed;border-color:var(--edge2);background:none}
.nwPIco{display:grid;place-items:center;width:44px;height:44px;background:var(--red);color:#fff;font:700 15px/1 var(--mono)}
.nwP.nwExt .nwPIco{background:none;border:1.5px solid var(--edge2)}
.nwPTxt{display:flex;flex-direction:column;gap:2px;min-width:0}
.nwPTxt em{font:700 12px/1.2 var(--mono);font-style:normal;letter-spacing:.04em;text-transform:uppercase;color:var(--redT)}
.nwPTxt b{font:700 16px/1.2 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif}
.nwPTxt small{font-size:13px;line-height:1.3;color:var(--dim)}

/* ---------- newsletter band */
.nwSign{padding-block:28px 30px;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(221,36,43,.14),transparent 70%)}
.nwSignIn{display:grid;gap:14px;max-width:1100px}
.nwSign p{color:var(--dim);max-width:520px}
.nwSign h2.cond{margin:8px 0 8px}
.nwForm{display:grid;gap:8px;max-width:520px}
.nwForm input[type=email],.nwForm select{width:100%;min-height:50px;padding:0 12px;background:var(--panel);border:1.5px solid var(--edge2);color:var(--text);font:400 16px "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif;border-radius:0;appearance:none}
.nwForm select{background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 18px) 22px,calc(100% - 12px) 22px;background-size:6px 6px;background-repeat:no-repeat}
.nwForm input::placeholder{color:rgba(255,255,255,.62)}
.nwForm .btn{width:100%}
.nwHp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.nwFine{font-size:13px !important;line-height:1.4;color:var(--dim)}
.nwMsg{font:700 13px/1.4 var(--mono);color:var(--text);min-height:0}
.nwMsg:empty{display:none}
.nwMsg.bad{color:var(--tbc)}

/* ---------- job band */
.nwJob{display:grid;gap:14px;padding-block:28px 34px;border-top:1px solid var(--line)}
.nwJob p{color:var(--dim);max-width:560px}
.nwJob h2.cond{margin:8px 0 8px}
.nwBtns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;max-width:520px}
.nwBtns .btn{padding-inline:8px;font-size:13px;letter-spacing:.04em;white-space:nowrap;gap:6px}

/* ---------- post page */
.nwHead{padding-block:12px 0}
.nwShare{padding-bottom:26px}
.nwPart{max-width:calc(760px + 2 * max(16px,4vw));margin-inline:auto}
.nwBody.nwPart{margin-top:22px}
.nw .nwBody.nwPart > :first-child{margin-top:0}
.nwOne .nwCrumbs,.nwOne .nwDraft,.nwOne .nwSec,.nwOne .nwJob,.nwOne .nwSign{max-width:calc(760px + 2 * max(16px,4vw));margin-inline:auto}
.nwHead h1{font-size:clamp(34px,5vw,64px);margin:8px 0 10px;text-wrap:balance}
.nwBy{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font:700 12px/1.3 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--dim)}
.nwBy i{font-style:normal;opacity:.6}
.nwProd{margin:12px 0 0}.nwProd .btn{min-height:50px;padding-inline:14px;font-size:13px;letter-spacing:.04em;white-space:nowrap}
.nwShort{margin-top:14px;padding:12px 14px 14px;background:var(--tint);border-left:3px solid var(--red)}
.nwShort h2{font:700 12px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--redT);margin:0 0 8px}
.nwShort ul{list-style:none;display:grid;gap:8px}
.nwShort li{position:relative;padding-left:18px;font-size:16px;line-height:1.4}
.nwShort li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;background:var(--red)}
.nwHeroPic,.nwFig{margin:16px 0 0;background:var(--panel2);border:1px solid var(--edge)}
.nwHeroPic img,.nwFig img{display:block;width:100%;height:auto}
.nwHeroPic.nwWhite,.nwFig.nwWhite{background:#fff}
.nwHeroPic.nwTall{max-width:300px}
.nwHeroPic figcaption,.nwFig figcaption{padding:8px 10px;font-size:13px;line-height:1.4;color:var(--dim);background:var(--panel)}
.nwVid a{position:relative;display:block}
.nwBody .nwP{text-decoration:none !important}
.nwSlot .nwFig{margin-top:12px}
.nwVid.tall{max-width:280px}
.nwBody{font-size:17px;line-height:1.6;color:var(--dim)}
.nw .nwBody > *{margin-top:14px}
.nw .nwBody h2.cond{font-size:clamp(26px,3.2vw,40px);margin:0;color:var(--text);scroll-margin-top:84px}
.nw .nwBody h3{font:700 19px/1.25 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif;color:var(--text);margin-top:20px}
.nwBody a{color:var(--text);text-decoration:underline;text-decoration-color:var(--redT);text-underline-offset:3px}
.nwBody b{color:var(--text);font-weight:700}
.nwTicks,.nwSteps{list-style:none;display:grid;gap:8px}
.nwTicks li{position:relative;padding-left:20px}
.nwTicks li::before{content:"";position:absolute;left:2px;top:.6em;width:8px;height:8px;background:var(--red)}
.nwSteps{counter-reset:st}
.nwSteps li{counter-increment:st;position:relative;padding-left:34px}
.nwSteps li::before{content:counter(st);position:absolute;left:0;top:.1em;width:24px;height:24px;display:grid;place-items:center;background:var(--red);color:#fff;font:700 12px/1 var(--mono)}
.nwFacts{display:grid;gap:4px}
.nwFacts div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:10px;align-items:baseline;padding:9px 10px;background:var(--tint)}
.nwFacts dt{font-size:15px;line-height:1.3;color:var(--dim)}
.nwFacts dd{font:700 15px/1.3 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif;color:var(--text)}
.nwNote{padding:12px 14px;border:1.5px solid var(--red);background:rgba(221,36,43,.1)}
.nwNote b{display:block;font:700 12px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--redT);margin-bottom:6px}
.nwNote p{font-size:16px;line-height:1.5}
.nwOut{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1.5px dashed var(--edge2);text-decoration:none !important}
.nwOut:hover{border-color:var(--text)}
.nwOut em{font:700 12px/1.2 var(--mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--redT)}
.nwOut b{font:700 17px/1.25 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif}
.nwOut small{font-size:13px;color:var(--dim)}
.nwSrc{margin-top:28px}
.nwSrc h2.cond{padding-top:20px;border-top:1px solid var(--line)}
.nwSrc h2.cond{font-size:clamp(24px,3vw,34px);margin-bottom:10px}
.nwSrc ul{list-style:none;display:grid;gap:4px;margin-bottom:10px}
.nwSrc li{padding:8px 10px;background:var(--tint);font-size:15px;line-height:1.35;color:var(--dim);overflow-wrap:anywhere}
.nwSrc li b{color:var(--text)}
.nwSrc li a{color:var(--text);text-decoration:underline;text-decoration-color:var(--redT);text-underline-offset:3px}
.nwShare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px !important;margin-inline:auto !important}
.nwShare :is(a,button){display:flex;align-items:center;justify-content:center;min-height:50px;padding:0 6px;white-space:nowrap;border:1.5px solid var(--edge2);background:none;color:var(--text);font:700 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.nwShare :is(a,button):hover{border-color:var(--text)}
.nwRels{display:grid;gap:6px}
.nwRel{display:grid;grid-template-columns:70px minmax(0,1fr) 16px;gap:10px;align-items:center;min-height:60px;padding:9px 10px;background:var(--tint);border:1px solid var(--edge)}
.nwRel:hover{border-color:var(--text)}
.nwRel .k{font:700 12px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--redT)}
.nwRel b{display:block;font:700 16px/1.2 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif}
.nwRel small{display:block;font-size:13px;line-height:1.3;color:var(--dim);margin-top:2px}
.nwRel i{font-style:normal;color:var(--dim)}

/* ---------- onward links */
.nwGos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}
.nwGo{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:64px;padding:9px 10px;background:var(--tint);border:1px solid var(--edge)}
.nwGo:hover{border-color:var(--text)}
.nwGo b{font:700 16px/1.2 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif}
.nwGo small{font-size:13px;line-height:1.3;color:var(--dim)}

/* ---------- newsletter page */
.nwGets{list-style:none;display:grid;gap:6px;max-width:760px}
.nwGets li{display:grid;gap:2px;padding:10px 12px;background:var(--tint);border-left:3px solid var(--red)}
.nwGets b{font:700 16px/1.25 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif}
.nwGets span{font-size:15px;line-height:1.4;color:var(--dim)}

/* ---------- viewer */
.nwBox{width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(5,6,7,.96)}
.nwBox::backdrop{background:rgba(5,6,7,.9)}
.nwBox .in{width:100%;height:100%;display:grid;place-items:center;padding:60px 12px 16px}
.nwBox video,.nwBox iframe{max-width:100%;max-height:100%;background:var(--panel2);border:0}
.nwBox iframe{width:min(100%,960px);aspect-ratio:16/9}
.nwBox iframe.tall{width:min(100%,400px);height:min(100%,720px);aspect-ratio:auto;background:#fff}
.nwBoxX{position:absolute;right:12px;top:10px;width:48px;height:48px;background:var(--panel2);border:1.5px solid var(--text);color:var(--text);font-size:26px;line-height:1;cursor:pointer;z-index:2}

/* ---------- trade journal (James, 12 Nov 2026): masthead */
.nwMast{padding-block:10px 14px;background:radial-gradient(ellipse at 90% -40%,rgba(221,36,43,.26),transparent 55%)}
.nwWord{font:900 clamp(54px,11vw,150px)/.82 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif;font-stretch:68%;text-transform:uppercase;letter-spacing:-.01em;margin:6px 0 8px !important}
.nwWord span{color:var(--redT)}
.nwStrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 14px;padding-block:7px;border-block:2px solid var(--red);font:700 12px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text)}
.nwStrap span:last-child{color:var(--dim)}
.nwMast h1{font:600 17px/1.4 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif;color:var(--dim);margin:10px 0 0;max-width:640px}
.nwMast h1 span{color:var(--text)}
.nwLeadTxt em{letter-spacing:.06em}

/* ---------- a newsletter issue as a cover */
.nwCover{display:flex;flex-direction:column;justify-content:space-between;flex:none;width:104px;aspect-ratio:3/4;padding:9px;background:linear-gradient(162deg,var(--red) 0 36%,var(--panel) 36.2%);border:1px solid var(--edge2);color:var(--text);overflow:hidden}
a.nwCover:hover{border-color:var(--text)}
.nwCover i{font:700 12px/1.1 var(--mono);font-style:normal;letter-spacing:.04em;text-transform:uppercase}
.nwCover b{font:900 46px/.85 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif;font-stretch:68%}
.nwCover em{font:700 12px/1.1 var(--mono);font-style:normal;letter-spacing:.04em;text-transform:uppercase;color:var(--dim)}
.nwCover span{font:700 12px/1.15 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif;overflow-wrap:anywhere}
.nwCover i{display:none}
.nwCover.md{width:150px;padding:12px}
.nwCover.md b{font-size:68px}.nwCover.md i{display:block}.nwCover.md span{font-size:14px}
.nwCover.ghost{background:none;border-style:dashed;color:var(--dim)}
.nwShelf{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.nwShelf::-webkit-scrollbar{display:none}

/* ---------- this month's newsletter, on the hub */
.nwIssue{padding-block:20px 22px;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(221,36,43,.12),transparent 80%)}
.nwIssueIn{display:grid;grid-template-columns:104px minmax(0,1fr);gap:14px;align-items:center;max-width:760px}
.nwIssue h2.cond{font-size:clamp(26px,3.2vw,44px);margin:6px 0 6px}
.nwIssue p{font-size:15px;color:var(--dim);margin-bottom:10px !important}
.nwIssue .nwBtns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.nwIssue .nwBtns .btn{padding-inline:4px;font-size:12px;letter-spacing:.02em}

/* ---------- social proof: FORSPEC's Instagram covers */
.nwSocHead{display:grid;gap:6px;margin-bottom:12px}
.nwSocHead h2.cond{margin:0}
.nwFol{font-size:15px;color:var(--dim)}
.nwFol b{font:900 30px/1 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif;font-stretch:68%;color:var(--text);margin-right:4px}
.nwSocHead .btn{justify-self:start;min-height:50px;font-size:13px;letter-spacing:.04em;white-space:nowrap}
.nwSocs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.nwSocs.nwWall{grid-template-columns:repeat(3,minmax(0,1fr))}
.nwSoc{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:var(--panel);border:1px solid var(--edge)}
.nwSoc:hover{border-color:var(--text)}
.nwSoc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nwSoc i{position:absolute;left:4px;top:4px;padding:3px 5px;background:var(--red);color:#fff;font:700 12px/1 var(--mono);font-style:normal}
.nwSoc span{position:absolute;left:0;right:0;bottom:0;padding:16px 6px 6px;background:linear-gradient(0deg,rgba(5,6,7,.94),rgba(5,6,7,.72) 60%,transparent);font:700 12px/1.2 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif;color:var(--text)}

/* ---------- series */
.nwSeries .tag{margin-bottom:6px}
.nwSer{list-style:none;counter-reset:ns;border-top:1px solid var(--edge2)}
.nwSer li{counter-increment:ns;border-bottom:1px solid var(--edge)}
.nwSer li a{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:8px;row-gap:3px;padding:10px 0;min-height:60px;align-content:center}
.nwSer li a::before{content:counter(ns,decimal-leading-zero);grid-row:1/3;font:800 26px/1 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif;font-stretch:68%;color:var(--redT)}
.nwSer li b{font:700 16px/1.2 "Archivo","Archivo Fallback",Arial,Helvetica,sans-serif,sans-serif}
.nwSer li a:hover b{text-decoration:underline;text-underline-offset:3px}
.nwjs .nwSer.cut li.nwHid{display:none}

/* ---------- a section per trade */
.nwTradeHead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}
.nwTradeHead h2.cond{margin:0}
.nwTradeHead .nwAllLink{margin:0;flex:none}
.nwTrade{padding-block:22px 22px}

/* ---------- one issue as a page */
.nwIssueTop{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:center;padding-block:14px 18px}
.nwIssueTop h1{font-size:clamp(32px,5vw,72px);margin:8px 0 8px}
.nwIssueTop .lead{font-size:15px;margin-bottom:10px}
.nwIssueTop .nwBtns{grid-template-columns:minmax(0,1fr);max-width:260px}

/* ---------- tablet and up */
@media (min-width:768px){
  .nwWatch{gap:12px;max-width:720px}
  .nwPosts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:1100px}
  .nwRow{gap:16px;min-height:104px}
  .nwRow .nwPic{width:132px}
  .nwTxt b{font-size:19px}
  .nwBrief li b{font-size:18px}
  .nwSignIn{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center}
  .nwForm{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);justify-self:end;width:100%}
  .nwForm .btn,.nwForm .nwFine,.nwForm .nwMsg{grid-column:1/-1}
  .nwJob{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px}
  .nwBtns{min-width:440px}
  .nwOne .nwSignIn{grid-template-columns:minmax(0,1fr)}
  .nwOne .nwForm{justify-self:start}
  .nwOne .nwJob{grid-template-columns:minmax(0,1fr)}
  .nwGets{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:none}
  .nwSocs.nwWall{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
  .nwSocs{gap:10px;max-width:760px}
  .nwSocs.nwWall{max-width:none}
  .nwSocHead{grid-template-columns:minmax(0,1fr) auto;align-items:end}
  .nwSocHead h2.cond{grid-column:1/-1}
  .nwCover{width:130px}.nwCover b{font-size:58px}.nwCover span{font-size:13px}
  .nwCover.md{width:190px}.nwCover.md b{font-size:86px}.nwCover.md span{font-size:16px}
  .nwIssueIn{grid-template-columns:130px minmax(0,1fr);gap:22px}
  .nwIssue .nwBtns{max-width:440px}.nwIssue .nwBtns .btn{font-size:13px}
  .nwIssueTop{grid-template-columns:190px minmax(0,1fr);gap:26px}
  .nwIssueTop .nwBtns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:440px}
  .nwSer li b{font-size:18px}
  .nwGos{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .nwLeadTxt b{font-size:32px}
  .nwPlate b{font-size:28px}.nwPlate.long b{font-size:20px}
}
@media (min-width:1024px){
  .nwFront{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:32px;padding-block:22px 40px;padding-inline:max(16px,4vw);border-top:1px solid var(--line)}
  .nwFront > section{padding:0;border:0}
  .nwHub > .nwFront,.nwIssuePg > .nwFront{max-width:1500px;margin-inline:auto}
  .nwLeadTxt{padding:16px 18px 18px}
  .nwFront{align-items:stretch}
  .nwBrief{display:flex;flex-direction:column}
  .nwBrief ol{flex:1;display:grid;grid-auto-rows:1fr}
  .nwBrief li{display:grid}
  .nwGos{grid-template-columns:repeat(6,minmax(0,1fr))}
  .nwLeadTxt b{font-size:clamp(32px,2.8vw,48px)}
  .nwLeadTxt .dek{font-size:17px}
  .nwHub .nwRows,.nwTopic .nwRows{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px}
  .nwSec{padding-block:36px 40px}
  .nwBody{font-size:18px}
  .nwHub > section,.nwTopic > section,.nwLetter > section,.nwIssuePg > section,.nwHub > .nwCrumbs,.nwTopic > .nwCrumbs,.nwLetter > .nwCrumbs,.nwIssuePg > .nwCrumbs,.nwIssuePg > .nwDraft{max-width:1500px;margin-inline:auto}
  .nwSer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px}
  .nwIssuePg .nwRows{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px}
  .nwIssuePg .nwFront{grid-template-columns:minmax(0,1fr)}
  .nwIssuePg .nwLead{flex-direction:row}
  .nwIssuePg .nwLeadPic{flex:0 0 46%}
  .nwIssuePg .nwLeadTxt{justify-content:center}
  .nwIssuePg .nwBrief ol{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px;grid-auto-rows:auto;flex:none}
}
@media (prefers-reduced-motion:reduce){.nw *{transition:none !important}}
/* Class names here all start with nw: the shared stylesheet already uses .wall, .out, .more and .sheet for the home page. */
