/* Weekly Wire redesign (2026-10-18): homepage + /week/ release pages.
 * Ported from the approved boards (desktop 1440, mobile 390). Everything is
 * scoped to body.pl-wire and .plw-* classes, so no other template changes.
 * Fonts: Archivo (headings, labels and numbers), Source Sans 3 (body). The
 * typewriter-style JetBrains Mono labels were dropped 2026-10-31 (Dan).
 * Breakpoints: compact header below 1100px, mobile layout below 768px. */

body.pl-wire {
  --plw-sky: #0ea5e9;
  --plw-sky-hi: #38bdf8;
  --plw-link: #0270b0;
  --plw-deep: #075985;
  --plw-tint: #e0f2fe;
  --plw-tint2: #f0f9ff;
  --plw-tint-rule: #bae6fd;
  --plw-ink: #0a0a0a;
  --plw-t2: #44403c;
  --plw-t3: #69625c;
  --plw-rule: #e7e5e4;
  --plw-rule2: #d6d3d1;
  --plw-mono: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif; /* labels, counts, numbers; was JetBrains Mono until 2026-10-31 */
  --plw-head: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
  --plw-body: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;
  background: #fff;
  color: var(--plw-ink);
  font-family: var(--plw-body);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* GeneratePress containers: full width, no sidebar padding. */
body.pl-wire #page,
body.pl-wire .site.grid-container {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
}
body.pl-wire .site-content { display: block; padding: 0; }
body.pl-wire .site-footer { background: transparent; padding: 0; }

body.pl-wire a { color: var(--plw-link); text-decoration: none; }
body.pl-wire a:hover { color: var(--plw-deep); text-decoration: underline; }
body.pl-wire img { max-width: 100%; }

.plw-wrap { max-width: 1280px; margin: 0 auto; padding: 0 32px; width: 100%; box-sizing: border-box; }
.plw-sec { padding-bottom: 72px; }
.plw-main { display: block; }

/* Shared type ------------------------------------------------------------ */
.plw-kick { font-family: var(--plw-mono); font-size: 14px; color: var(--plw-deep); font-weight: 600; line-height: 1.45; text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }
.plw-kick--muted { color: var(--plw-t3); }
.plw-mono { font-family: var(--plw-mono); font-size: 14px; color: var(--plw-t3); text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }
body.pl-wire .plw-h1 { font-family: var(--plw-head); font-weight: 800; font-size: 44px; line-height: 1.05; letter-spacing: -.02em; margin: 0; color: var(--plw-ink); text-wrap: balance; }
.plw-sub { font-size: 19px; color: var(--plw-t2); margin: 12px 0 0; max-width: 900px; }
body.pl-wire .plw-h2 { font-family: var(--plw-head); font-weight: 800; font-size: 34px; line-height: 1.1; letter-spacing: -.015em; margin: 0; }
body.pl-wire .plw-h3 { font-family: var(--plw-head); font-weight: 700; font-size: 20px; line-height: 1.25; margin: 0; color: var(--plw-ink); }
body.pl-wire .plw-h4 { font-family: var(--plw-head); font-weight: 700; font-size: 17px; line-height: 1.3; margin: 0; }
body.pl-wire .plw-h2 a, body.pl-wire .plw-h3 a, body.pl-wire .plw-h4 a { color: var(--plw-ink); }
body.pl-wire .plw-h2 a:hover, body.pl-wire .plw-h3 a:hover, body.pl-wire .plw-h4 a:hover { color: var(--plw-deep); }
.plw-dek { color: var(--plw-t2); font-size: 17px; margin: 0; }
.plw-meta { font-size: 13px; color: var(--plw-t3); }
.plw-meta b { color: var(--plw-t2); font-weight: 600; }
body.pl-wire .plw-more { font-family: var(--plw-head); font-weight: 600; font-size: 14px; }

.plw-sechead { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; border-top: 3px solid var(--plw-ink); padding-top: 12px; margin: 0 0 24px; }
body.pl-wire .plw-sechead__t { font-family: var(--plw-head); font-weight: 800; font-size: 24px; line-height: 1.2; margin: 0; letter-spacing: -.01em; color: var(--plw-ink); min-width: 0; text-wrap: balance; }
.plw-sechead .plw-more { white-space: nowrap; flex: none; }

/* Buttons and inputs */
body.pl-wire .plw-btn { display: inline-flex; align-items: center; justify-content: center; height: 40px; padding: 0 18px; border: 0; border-radius: 6px; background: var(--plw-sky); color: var(--plw-ink); font-family: var(--plw-head); font-weight: 700; font-size: 15px; line-height: 1; text-decoration: none; white-space: nowrap; cursor: pointer; }
body.pl-wire .plw-btn:hover { background: var(--plw-sky-hi); color: var(--plw-ink); text-decoration: none; }
body.pl-wire .plw-input { height: 44px; border: 1px solid var(--plw-rule2); border-radius: 6px; padding: 0 14px; font: inherit; font-size: 15px; width: 280px; background: #fff; color: var(--plw-ink); box-sizing: border-box; }

/* Drawings: the box sets the size; the image is contained inside it. */
.plw-plate, .plw-thumb { background: #fff; border: 1px solid var(--plw-rule); display: flex; align-items: center; justify-content: center; overflow: hidden; box-sizing: border-box; }
.plw-plate { padding: 10px; }
.plw-thumb { width: 114px; height: 88px; flex: none; padding: 4px; }
.plw-plate img, .plw-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.plw-noimg { display: block; width: 100%; height: 100%; background: repeating-linear-gradient(45deg, #fafaf9 0 8px, #f5f5f4 8px 16px); }

/* Ad slots: fixed size so nothing shifts when an ad fills them. */
.plw-ad { background: #f5f5f4; border: 1px dashed #a8a29e; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: #78716c; font-family: var(--plw-mono); font-size: 13px; text-align: center; box-sizing: border-box; max-width: 100%; text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }
.plw-ad--rail { width: 300px; height: 250px; }
.plw-ad--wide { width: 970px; height: 250px; }
.plw-adrow { display: flex; justify-content: center; }

/* Chips */
.plw-chips { display: flex; flex-wrap: wrap; gap: 8px; }
body.pl-wire .plw-chip { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--plw-rule2); border-radius: 999px; padding: 7px 13px; font-size: 14px; color: var(--plw-ink); background: #fff; line-height: 1.2; }
body.pl-wire .plw-chip:hover { border-color: var(--plw-sky); background: var(--plw-tint2); text-decoration: none; color: var(--plw-ink); }
.plw-chip span { font-family: var(--plw-mono); font-size: 13px; color: var(--plw-t3); text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }

/* Masthead --------------------------------------------------------------- */
.plw-topbar { height: 4px; background: var(--plw-sky); }
.plw-head { background: #fff; }
.plw-hdr { display: flex; align-items: center; gap: 28px; height: 68px; border-bottom: 1px solid var(--plw-rule); }
.plw-logo { display: flex; flex: none; }
.plw-logo__img { height: 40px; width: auto; display: block; }
.plw-logo__text { font-family: var(--plw-head); font-weight: 800; font-size: 22px; color: var(--plw-ink); }
.plw-nav { display: flex; gap: 22px; font-family: var(--plw-head); font-weight: 600; font-size: 15px; flex: 1; min-width: 0; }
body.pl-wire .plw-nav a { color: var(--plw-ink); white-space: nowrap; }
body.pl-wire .plw-nav a:hover { color: var(--plw-deep); }
/* Current section (audit F5, 10/31). */
body.pl-wire .plw-nav a.is-current { color: var(--plw-deep); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
body.pl-wire .plw-menu__panel a.is-current { background: var(--plw-tint2); color: var(--plw-deep); }
/* Visible keyboard focus (audit S6, 10/31): the header search shows a ring
   on its box; other fields and buttons get an outline even where an old
   template rule removed it. */
body.pl-wire .plw-search:focus-within { outline: 2px solid var(--plw-ink); outline-offset: 2px; }
body.pl-wire input:not(.plw-search__input):focus-visible, body.pl-wire textarea:focus-visible, body.pl-wire select:focus-visible, body.pl-wire button:focus-visible, body.pl-wire summary:focus-visible { outline: 2px solid var(--plw-ink) !important; outline-offset: 2px; }
.plw-search { position: relative; display: flex; align-items: center; gap: 8px; border: 1px solid var(--plw-rule2); border-radius: 999px; padding: 0 14px; height: 40px; width: 240px; color: var(--plw-t3); background: #fff; box-sizing: border-box; margin: 0; }
body.pl-wire .plw-search input { border: 0; outline: 0; background: transparent; font: inherit; font-size: 15px; width: 100%; min-width: 0; padding: 0; height: 38px; color: var(--plw-ink); box-shadow: none; }
.plw-search svg { flex: none; }
.plw-search .pl-ta__panel { font-family: var(--plw-body); left: auto; right: 0; width: 420px; max-width: calc(100vw - 32px); }

.plw-menu, .plw-msearch { display: none; position: relative; }
.plw-menu > summary, .plw-msearch > summary { list-style: none; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: var(--plw-ink); border-radius: 8px; cursor: pointer; }
.plw-menu > summary::-webkit-details-marker, .plw-msearch > summary::-webkit-details-marker { display: none; }
.plw-menu > summary:hover, .plw-msearch > summary:hover { background: #f5f5f4; }
.plw-menu__panel { position: absolute; top: 48px; left: 0; z-index: 10001; background: #fff; border: 1px solid var(--plw-rule); box-shadow: 0 12px 32px rgba(0,0,0,.12); padding: 8px 0; min-width: 240px; display: flex; flex-direction: column; }
body.pl-wire .plw-menu__panel a { padding: 10px 18px; font-family: var(--plw-head); font-weight: 600; font-size: 16px; color: var(--plw-ink); }
body.pl-wire .plw-menu__panel a:hover { background: var(--plw-tint2); text-decoration: none; }
.plw-msearch__panel { position: absolute; top: 48px; right: 0; z-index: 10001; background: #fff; border: 1px solid var(--plw-rule); box-shadow: 0 12px 32px rgba(0,0,0,.12); padding: 12px; width: min(360px, calc(100vw - 32px)); box-sizing: border-box; }
.plw-msearch__panel .plw-search { width: 100%; }
.plw-msearch__panel .pl-ta__panel { left: 0; right: 0; width: auto; min-width: 0; }

/* Release band */
.plw-band { background: var(--plw-tint); border-bottom: 1px solid var(--plw-tint-rule); }
.plw-band__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 24px; padding-top: 11px; padding-bottom: 11px; font-size: 15px; line-height: 1.45; }
.plw-band__main { display: flex; align-items: center; flex-wrap: nowrap; gap: 6px 14px; min-width: 0; }
.plw-band__side { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 16px; color: var(--plw-t2); }
.plw-dot { display: inline-block; width: 10px; height: 10px; background: var(--plw-sky); border-radius: 50%; flex: none; }
.plw-band__date { font-family: var(--plw-head); font-weight: 700; }
.plw-sep { color: var(--plw-t3); }

/* Homepage --------------------------------------------------------------- */
.plw-intro { padding-top: 40px; padding-bottom: 40px; }
.plw-lead { display: grid; grid-template-columns: minmax(0, 560fr) minmax(0, 420fr) 300px; gap: 36px; }
.plw-leadstory { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
/* Lead story label: the same 3px rule as the top stories and rail heads beside it (audit 11/5). */
.plw-sechead.plw-sechead--lead { margin: 0; }
.plw-plate--lead { height: 480px; }
.plw-top { min-width: 0; }
.plw-list, .plw-weeklist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
body.pl-wire .plw-list li, body.pl-wire .plw-weeklist li { margin: 0; }
.plw-row { display: flex; gap: 16px; padding: 16px 0; border-top: 1px solid var(--plw-rule); }
.plw-row:first-child { border-top: 0; padding-top: 0; }
.plw-row__body { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.plw-num { font-family: var(--plw-mono); font-size: 14px; color: var(--plw-deep); font-weight: 600; width: 22px; flex: none; padding-top: 3px; text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }
.plw-rail { display: flex; flex-direction: column; gap: 32px; min-width: 0; }
body.pl-wire .plw-rail .plw-sechead__t { font-size: 18px; }
.plw-rail__more { margin: 14px 0 0; }
.plw-rail__text { margin: 0; color: var(--plw-t2); font-size: 15px; }
.plw-bars { display: flex; flex-direction: column; gap: 10px; }
.plw-bar { display: grid; grid-template-columns: 84px 1fr 32px; align-items: center; gap: 10px; font-size: 15px; }
body.pl-wire .plw-bar a { color: var(--plw-ink); }
.plw-bar i { display: block; height: 10px; background: var(--plw-sky); }
.plw-bar em { font-style: normal; font-family: var(--plw-mono); font-size: 14px; text-align: right; color: var(--plw-t2); text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }

.plw-trends { max-width: 70ch; }
body.pl-wire .plw-trends__h { font-family: var(--plw-head); font-weight: 800; font-size: 24px; margin: 0 0 12px; letter-spacing: -.01em; color: var(--plw-ink); }
.plw-trends p { margin: 0; font-size: 18px; color: var(--plw-t2); }
body.pl-wire .plw-trends__q { margin: 16px 0 0; padding: 4px 0 4px 18px; border: 0; border-left: 4px solid var(--plw-sky); font-size: 17px; font-style: normal; color: var(--plw-t2); background: none; }

/* Company cards */
.plw-cogrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; }
.plw-co { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
/* "All N filings" sits at the bottom of every card, so the links line up
 * across a row (audit 11/13, Dan 11/14). Phones keep their own spacing. */
.plw-co > .plw-more { margin-top: auto; }
.plw-co__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border-bottom: 2px solid var(--plw-ink); padding-bottom: 6px; }
body.pl-wire .plw-co__name { font-family: var(--plw-head); font-weight: 800; font-size: 18px; color: var(--plw-ink); }
.plw-co__n { font-family: var(--plw-mono); font-size: 13px; color: var(--plw-t3); white-space: nowrap; text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }
.plw-co__pick { display: flex; gap: 14px; align-items: flex-start; }
.plw-thumb--co { width: 40%; height: auto; aspect-ratio: 4 / 3; padding: 6px; }
.plw-co__pick .plw-h4 { flex: 1; min-width: 0; }
.plw-cofoot { display: none; margin: 16px 0 0; }

/* Watchlists */
.plw-wlgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.plw-wl { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.plw-plate--wl { aspect-ratio: 1 / 1; padding: 16px; width: 100%; }
.plw-wl__body { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.plw-wl__desc { font-size: 15px; }
.plw-morewl { margin-top: 36px; }
body.pl-wire .plw-morewl__h { font-family: var(--plw-mono); font-size: 14px; color: var(--plw-t3); font-weight: 600; margin: 0 0 12px; text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }

/* Release tiles */
.plw-tiles { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
body.pl-wire .plw-tile { border: 1px solid var(--plw-rule); padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; background: #fff; }
body.pl-wire .plw-tile:hover { border-color: var(--plw-sky); background: var(--plw-tint2); text-decoration: none; }
.plw-tile__d { font-family: var(--plw-head); font-weight: 700; font-size: 16px; color: var(--plw-ink); }
.plw-tile__n { font-family: var(--plw-mono); font-size: 13px; color: var(--plw-t3); text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }

/* Newsletter (also carries .pl-newsletter so the sticky bar yields to it) */
body.pl-wire .plw-news.pl-newsletter { background: var(--plw-tint2); border: 1px solid var(--plw-tint-rule); padding: 36px 40px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: center; text-align: left; }
body.pl-wire .plw-news__h { font-family: var(--plw-head); font-weight: 800; font-size: 28px; line-height: 1.1; letter-spacing: -.015em; margin: 6px 0 0; color: var(--plw-ink); }
.plw-news .plw-dek { margin-top: 8px; }
body.pl-wire .plw-news__form.pl-newsletter__form { display: flex; gap: 10px; align-items: center; max-width: none; margin: 0; }
body.pl-wire .plw-news__form .plw-btn { height: 44px; }

/* About */
.plw-about { padding-bottom: 72px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; color: var(--plw-t2); font-size: 16px; }
.plw-about .plw-h3 { margin-bottom: 8px; }
.plw-about p { margin: 0; }

/* Footer */
.plw-foot { background: var(--plw-ink); color: #d6d3d1; font-size: 14px; line-height: 1.6; }
body.pl-wire .plw-foot a { color: #e7e5e4; }
body.pl-wire .plw-foot a:hover { color: #fff; }
.plw-foot__in { padding-top: 48px; padding-bottom: 32px; }
.plw-fcols { display: grid; grid-template-columns: var(--plw-fcols, 1.3fr 2fr 1fr 1fr); gap: 40px; }
.plw-fcol p { margin: 16px 0 0; }
.plw-foot__note { max-width: 300px; color: #a8a29e; }
.plw-foot__logo { display: inline-flex; background: #fff; padding: 6px 10px; border-radius: 4px; }
.plw-foot__logo .plw-logo__img { height: 34px; }
body.pl-wire .plw-fh { font-family: var(--plw-mono); font-size: 13px; font-weight: 400; color: #a8a29e; margin: 0 0 12px; text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }
.plw-fcols ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.plw-fcols li { margin: 0; }
.plw-fcol--cos ul { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(9, auto); grid-auto-flow: column; gap: 6px 40px; }

/* Week page -------------------------------------------------------------- */
.plw-crumbs { font-size: 14px; color: var(--plw-t3); margin: 0 0 14px; }
.plw-intro--week .plw-kick { margin-bottom: 8px; }
.plw-weeknav { display: flex; justify-content: space-between; gap: 16px; margin-top: 18px; }
.plw-weeknav__newer { margin-left: auto; }
.plw-weekco { scroll-margin-top: 16px; padding-bottom: 56px; }
.plw-weeklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
.plw-weeklist .plw-row { padding: 14px 0; }
.plw-weeklist .plw-row:first-child, .plw-weeklist .plw-row:nth-child(2) { border-top: 0; padding-top: 0; }
.plw-weekco__more { margin: 18px 0 0; }

/* Sticky signup bar and typeahead pick up the new fonts */
body.pl-wire .pl-stickybar, body.pl-wire .pl-stickybar input, body.pl-wire .pl-stickybar button { font-family: var(--plw-body); }
body.pl-wire .pl-ta__panel { font-family: var(--plw-body); }
body.pl-wire a.pl-ta__row, body.pl-wire a.pl-ta__row:hover { color: var(--plw-ink); text-decoration: none; }
body.pl-wire a.pl-ta__row--all, body.pl-wire a.pl-ta__row--all:hover { color: var(--plw-link); }

/* Compact header: below 1000px (was 1100px; audit 11/13, Dan 11/14). From
 * 1000 to 1099px the full nav shows with search as an icon, so iPad
 * landscape (1024px) gets the desktop header. */
@media (max-width: 999.98px) {
  .plw-hdr { justify-content: space-between; gap: 12px; }
  body.pl-wire .plw-nav, body.pl-wire .plw-hdr__search, body.pl-wire .plw-hdr__cta { display: none; }
  .plw-menu, .plw-msearch { display: block; }
}
@media (min-width: 1000px) and (max-width: 1099.98px) {
  body.pl-wire .plw-hdr__search { display: none; }
  .plw-msearch { display: block; }
}

/* Below 1100px ------------------------------------------------------------ */
@media (max-width: 1099px) {
  .plw-lead { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .plw-leadstory { grid-column: 1 / -1; }
  .plw-cogrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plw-wlgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plw-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .plw-band__in { flex-direction: column; align-items: flex-start; gap: 4px; }
  .plw-fcols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .plw-fcol--brand { grid-column: 1 / -1; }
}

/* Mobile: below 768px ---------------------------------------------------- */
@media (max-width: 767px) {
  body.pl-wire { font-size: 16px; }
  .plw-wrap { padding: 0 16px; }
  .plw-sec { padding-bottom: 40px; }
  .plw-hdr { height: 56px; }
  .plw-logo__img { height: 32px; }
  .plw-band__in { padding: 12px 16px; font-size: 15px; }
  .plw-band__main .plw-sep { display: none; }
  .plw-band__main { gap: 4px 10px; flex-wrap: wrap; }
  .plw-kick { font-size: 13px; }
  .plw-mono { font-size: 13px; }
  body.pl-wire .plw-h1 { font-size: 30px; line-height: 1.08; }
  .plw-sub { font-size: 16px; }
  body.pl-wire .plw-h2 { font-size: 26px; line-height: 1.12; }
  body.pl-wire .plw-h3 { font-size: 19px; }
  body.pl-wire .plw-h4 { font-size: 15px; }
  .plw-dek { font-size: 16px; }
  .plw-sechead { padding-top: 10px; margin-bottom: 16px; gap: 12px; }
  body.pl-wire .plw-sechead__t, body.pl-wire .plw-rail .plw-sechead__t { font-size: 19px; }
  .plw-intro { padding-top: 26px; padding-bottom: 28px; }

  .plw-lead { display: flex; flex-direction: column; gap: 40px; }
  .plw-leadstory { gap: 12px; }
  .plw-plate--lead { height: 280px; padding: 8px; }
  .plw-row { gap: 12px; padding: 10px 0; }
  .plw-num { padding-top: 2px; }
  .plw-thumb { width: 108px; height: 84px; }
  .plw-rail { gap: 40px; }
  .plw-rail .plw-ad--rail { order: -1; align-self: center; }

  body.pl-wire .plw-trends__h { font-size: 20px; margin-bottom: 10px; }
  .plw-trends p { font-size: 16px; }
  body.pl-wire .plw-trends__q { font-size: 15px; padding: 2px 0 2px 14px; margin-top: 14px; }

  .plw-chips { gap: 7px; }
  body.pl-wire .plw-chip { padding: 5px 10px; font-size: 13px; gap: 6px; }
  .plw-chip span { font-size: 12px; }

  /* Company cards become rows: drawing left, name + pick + link right */
  .plw-cogrid { display: flex; flex-direction: column; gap: 0; }
  .plw-co { display: grid; grid-template-columns: 100px minmax(0, 1fr); column-gap: 12px; row-gap: 4px; align-content: start; padding: 10px 0; border-top: 1px solid var(--plw-rule); }
  .plw-co:first-child { border-top: 0; padding-top: 0; }
  .plw-co__pick { display: contents; }
  .plw-thumb--co { grid-column: 1; grid-row: 1 / span 3; width: 100px; height: 76px; aspect-ratio: auto; padding: 4px; }
  .plw-co__head { grid-column: 2; border: 0; padding: 0; justify-content: flex-start; gap: 6px; flex-wrap: wrap; }
  body.pl-wire .plw-co__name { font-size: 15px; }
  .plw-co__n { font-size: 12px; }
  .plw-co .plw-h4, .plw-co > .plw-more { grid-column: 2; }
  .plw-co > .plw-more { margin-top: 2px; }
  .plw-co--nopick .plw-co__head, .plw-co--nopick > .plw-more { grid-column: 1 / -1; }
  .plw-sec .plw-sechead .plw-more--co { display: none; }
  .plw-cofoot { display: block; }

  .plw-ad--wide { width: 300px; height: 250px; }

  /* Watchlists become rows */
  .plw-wlgrid { display: flex; flex-direction: column; gap: 0; }
  .plw-wl { flex-direction: row; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--plw-rule); }
  .plw-wl:first-child { border-top: 0; padding-top: 0; }
  .plw-plate--wl { width: 110px; height: 84px; aspect-ratio: auto; flex: none; padding: 4px; }
  .plw-wl__body { gap: 3px; }
  .plw-wl__desc { font-size: 14px; line-height: 1.45; }
  .plw-morewl { margin-top: 24px; }
  body.pl-wire .plw-morewl__h { font-size: 13px; }
  .plw-chips--tight { gap: 6px; }
  body.pl-wire .plw-chips--tight .plw-chip { padding: 6px 10px; font-size: 13px; }

  .plw-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  body.pl-wire .plw-tile { padding: 12px 14px; gap: 2px; }
  .plw-tile__d { font-size: 15px; }
  .plw-tile__n { font-size: 12px; }

  body.pl-wire .plw-news.pl-newsletter { display: flex; flex-direction: column; align-items: stretch; gap: 10px; padding: 18px 16px; }
  body.pl-wire .plw-news__form.pl-newsletter__form { flex-direction: column; align-items: stretch; }
  body.pl-wire .plw-input { width: 100%; height: 46px; }
  body.pl-wire .plw-news__form .plw-btn { height: 46px; }
  body.pl-wire .plw-news__h { font-size: 24px; }

  .plw-about { display: flex; flex-direction: column; gap: 24px; padding-bottom: 40px; font-size: 15px; }

  .plw-foot__in { padding: 32px 16px 72px; }
  .plw-fcols { display: flex; flex-direction: column; gap: 20px; }
  .plw-fcols ul, .plw-fcol--cos ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: none; grid-auto-flow: row; gap: 6px 10px; }
  body.pl-wire .plw-fh { margin-bottom: 10px; }

  .plw-weeklist { display: flex; }
  .plw-weeklist .plw-row:nth-child(2) { border-top: 1px solid var(--plw-rule); padding-top: 10px; }
  .plw-weeklist .plw-row { padding: 10px 0; }
  .plw-weekco { padding-bottom: 40px; }
}

/* Parity with live (2026-10-22) ------------------------------------------ */
.plw-intro__kick { margin: 0 0 10px; }
.plw-trends .plw-trends__upd { font-size: 12px; margin: -4px 0 12px; color: var(--plw-t3); }
.plw-trends .plw-trends__more { margin: 10px 0 0; }
.plw-co__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
body.pl-wire .plw-co__hook { margin: 0; font-size: 14px; line-height: 1.45; color: var(--plw-t2); }
.plw-about p + p { margin-top: 12px; }
.plw-fcol .plw-foot__tag { margin: 14px 0 0; max-width: 300px; font-family: var(--plw-head); font-weight: 700; font-size: 15px; line-height: 1.35; color: #fff; }
.plw-fcol .plw-foot__tag + .plw-foot__note { margin-top: 8px; }

/* Pro section */
body.pl-wire .plw-pro { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 40px; align-items: center; background: #fff; border: 1px solid var(--plw-rule2); border-top: 3px solid var(--plw-ink); padding: 32px 40px; }
body.pl-wire .plw-pro__h { font-family: var(--plw-head); font-weight: 800; font-size: 28px; line-height: 1.1; letter-spacing: -.015em; margin: 6px 0 0; color: var(--plw-ink); text-wrap: balance; }
.plw-pro .plw-dek { margin-top: 10px; }
body.pl-wire .plw-pro__pts { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 15px; line-height: 1.45; color: var(--plw-t2); }
body.pl-wire .plw-pro__pts li { position: relative; margin: 0; padding-left: 20px; }
.plw-pro__pts li::before { content: ""; position: absolute; left: 2px; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: var(--plw-sky); }
.plw-pro__act { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; min-width: 0; }
.plw-pro__aud { margin: 0; font-size: 15px; line-height: 1.45; color: var(--plw-t2); }
body.pl-wire .plw-pro__form.pl-pro-cta__form { display: flex; flex-wrap: nowrap; gap: 10px; align-items: center; width: 100%; margin: 0; }
body.pl-wire .plw-pro__form .plw-input { flex: 1; width: auto; min-width: 0; }
body.pl-wire .plw-pro__form .plw-btn { height: 44px; }

/* Full nav between 1000 and 1279px: seven links (Pro added) overran the
 * search box at 1100 to about 1230px, so tighten the row there (from 1000px
 * since 11/14, where search is an icon). */
@media (min-width: 1000px) and (max-width: 1279px) {
  .plw-hdr { gap: 20px; }
  .plw-nav { gap: 16px; font-size: 14px; }
  .plw-hdr__search .plw-search { width: 180px; }
}

@media (max-width: 767px) {
  .plw-trends .plw-trends__upd { font-size: 12px; margin: -2px 0 10px; }
  .plw-co__txt { grid-column: 2; gap: 3px; }
  body.pl-wire .plw-co__hook { font-size: 13px; }
  body.pl-wire .plw-pro { display: flex; flex-direction: column; align-items: stretch; gap: 16px; padding: 20px 16px; }
  body.pl-wire .plw-pro__h { font-size: 24px; }
  .plw-pro__act { align-items: stretch; }
  body.pl-wire .plw-pro__form.pl-pro-cta__form { flex-direction: column; align-items: stretch; }
  body.pl-wire .plw-pro__form .plw-input { flex: none; width: 100%; height: 46px; }
  body.pl-wire .plw-pro__form .plw-btn { height: 46px; }
}


/* Audit fixes 2026-10-31 ------------------------------------------------- */

/* Item 7: section bar and back links on long pages (weekly release pages,
   watchlists). The bar is fixed to the top below 1024px and only shown by its
   script once the page's own contents list has scrolled away. */
.plw-secbar[hidden] { display: none !important; }
.plw-secbar { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; background: #fff; border-bottom: 1px solid var(--plw-rule); box-shadow: 0 4px 14px rgba(0,0,0,.06); }
.plw-secbar__in { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 48px; padding: 0 16px; }
.plw-secbar__menu { position: static; min-width: 0; flex: 1; }
.plw-secbar__menu > summary { list-style: none; display: inline-flex; align-items: center; gap: 6px; max-width: 100%; min-height: 44px; cursor: pointer; font-family: var(--plw-head); font-weight: 700; font-size: 15px; color: var(--plw-ink); }
.plw-secbar__menu > summary::-webkit-details-marker { display: none; }
.plw-secbar__cur { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.plw-secbar__menu > summary svg { flex: none; transition: transform .15s; }
.plw-secbar__menu[open] > summary svg { transform: rotate(180deg); }
.plw-secbar__panel { position: absolute; top: 48px; left: 0; right: 0; max-height: 60vh; overflow-y: auto; background: #fff; border-bottom: 1px solid var(--plw-rule); box-shadow: 0 12px 24px rgba(0,0,0,.10); padding: 6px 0; display: flex; flex-direction: column; }
body.pl-wire .plw-secbar__panel a { padding: 11px 16px; font-family: var(--plw-head); font-weight: 600; font-size: 15px; color: var(--plw-ink); }
body.pl-wire .plw-secbar__panel a[aria-current] { background: var(--plw-tint2); color: var(--plw-deep); }
body.pl-wire .plw-secbar__panel a:hover { background: var(--plw-tint2); text-decoration: none; }
body.pl-wire .plw-secbar__top { flex: none; font-family: var(--plw-head); font-weight: 600; font-size: 14px; color: var(--plw-link); padding: 12px 0 12px 8px; }
.plw-backsec { margin: 18px 0 0; }
body.pl-wire .plw-backsec a { font-family: var(--plw-head); font-weight: 600; font-size: 14px; }
@media (min-width: 1024px) {
  .plw-secbar { display: none !important; }
  .plw-backsec--m { display: none; }
}
@media (max-width: 1023px) {
  .plw-weekco, .plwh-block, .plwh-month, #sections, #on-this-page { scroll-margin-top: 64px; }
}
/* Logged-in admins only: keep the bar under the WordPress admin bar. */
@media (min-width: 601px) and (max-width: 782px) { body.admin-bar .plw-secbar { top: 46px; } }
@media (min-width: 783px) { body.admin-bar .plw-secbar { top: 32px; } }

/* Item 4: patent page "In this article" near the top on phones and tablets;
   the sidebar copy is hidden there, so each width shows the list once. */
.plw-mtoc { display: none; }
body.pl-wire .plw-mtoc__h { font-family: var(--plw-mono); font-size: 14px; font-weight: 600; color: var(--plw-deep); margin: 0 0 10px; text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }
@media (max-width: 1023px) {
  .plw-mtoc { display: block; margin: 0 0 28px; padding: 14px 16px; border: 1px solid var(--plw-rule); background: #fff; }
  .plw-side__block--toc { display: none; }
}

/* Item 5: drawing viewer on phones. The old rule hid the arrows at 640px and
   below (swipe only). Here they sit in a row under the drawing, beside the
   page count, so they never cover it; swipe still works. */
body.pl-wire-post .pl-pager__nav:disabled { opacity: .35; cursor: default; }
@media (max-width: 640px) {
  body.pl-wire-post .pl-pager[open] { display: grid; width: 92vw; grid-template-columns: 44px minmax(0, 1fr) 44px; grid-template-areas: "img img img" "prev count next" "cap cap cap"; align-items: center; column-gap: 8px; padding: 44px 10px 12px; box-sizing: border-box; }
  body.pl-wire-post .pl-pager__img { grid-area: img; max-width: 100%; max-height: calc(100vh - 220px); }
  body.pl-wire-post .pl-pager__nav { display: inline-flex; align-items: center; justify-content: center; position: static; transform: none; width: 44px; height: 44px; margin-top: 10px; font-size: 18px; }
  body.pl-wire-post .pl-pager__nav--prev { grid-area: prev; }
  body.pl-wire-post .pl-pager__nav--next { grid-area: next; }
  body.pl-wire-post .pl-pager__count { grid-area: count; margin: 10px 0 0; }
  body.pl-wire-post .pl-pager__caption { grid-area: cap; }
}

/* Old-template pieces still shown on Weekly Wire pages set their own
 * typewriter font (2026-10-31, Dan: no JetBrains Mono): same label font,
 * normal case. */
body.pl-wire .pl-mono, body.pl-wire figure.pl-hero figcaption, body.pl-wire .pl-accordion__body, body.pl-wire .pl-card__thumb--placeholder, body.pl-wire .pl-company-tile__count, body.pl-wire .pl-hub-tile__count, body.pl-wire .pl-section__count, body.pl-wire .pl-category-tile__count, body.pl-wire .pl-storyline__pub, body.pl-wire .pl-filing__cap, body.pl-wire .pl-pager__count, body.pl-wire .pl-filing__num, body.pl-wire .pl-trends__updated, body.pl-wire .pl-storyidx__stats, body.pl-wire .pl-rowtile__thumb--empty, body.pl-wire .pl-sponsor-slot__logo, body.pl-wire .pl-fq__label, body.pl-wire .pl-share__label, body.pl-wire .pl-kicker { font-family: var(--plw-mono); text-transform: none; letter-spacing: normal; font-variant-numeric: tabular-nums; }
body.pl-wire .pl-page details summary::after { font-family: var(--plw-mono); }

/* Homepage rail newsletter (audit 11/13, Dan 11/14) ----------------------- */
body.pl-wire .plw-news.plw-news--rail { display: flex; flex-direction: column; align-items: stretch; gap: 10px; padding: 20px; }
body.pl-wire .plw-news--rail .plw-news__h { font-size: 20px; line-height: 1.2; margin: 2px 0 0; }
body.pl-wire .plw-news--rail .plw-dek { font-size: 15px; margin: 0; }
body.pl-wire .plw-news--rail .plw-news__form.pl-newsletter__form { flex-direction: column; align-items: stretch; gap: 8px; margin-top: 4px; }
body.pl-wire .plw-news--rail .plw-input { width: 100%; }
body.pl-wire .plw-news--rail .plw-news__form .plw-btn { width: 100%; }

/* Trends block: summary beside a 12-week chart, full width (audit 11/13) -- */
.plw-trends.plw-trends--chart { max-width: none; display: grid; grid-template-columns: minmax(0, 70ch) minmax(0, 1fr); gap: 48px; align-items: start; }
.plw-trends__copy { min-width: 0; }
.plw-tchart { margin: 0; min-width: 0; }
.plw-tchart__cap { font-size: 13px; color: var(--plw-t3); margin: 0 0 12px; }
.plw-tchart__plot { display: flex; align-items: stretch; gap: 6px; height: 190px; padding-top: 22px; box-sizing: border-box; border-bottom: 1px solid var(--plw-rule2); }
body.pl-wire a.plw-tchart__col { position: relative; flex: 1 1 0; min-width: 0; display: block; text-decoration: none; }
.plw-tchart__bar { position: absolute; left: 0; right: 0; bottom: 0; height: var(--h, 2%); background: var(--plw-tint-rule); }
.plw-tchart__col.is-latest .plw-tchart__bar { background: var(--plw-sky); }
body.pl-wire a.plw-tchart__col:hover .plw-tchart__bar, body.pl-wire a.plw-tchart__col:focus-visible .plw-tchart__bar { background: var(--plw-sky-hi); }
.plw-tchart__n { position: absolute; left: 0; right: 0; bottom: calc(var(--h, 2%) + 4px); text-align: center; font-family: var(--plw-mono); font-size: 12px; line-height: 1; color: var(--plw-t3); font-variant-numeric: tabular-nums; }
.plw-tchart__col.is-latest .plw-tchart__n { color: var(--plw-ink); font-weight: 700; }
.plw-tchart__axis { display: flex; justify-content: space-between; margin-top: 6px; font-family: var(--plw-mono); font-size: 12px; color: var(--plw-t3); font-variant-numeric: tabular-nums; }
@media (max-width: 1023px) {
  .plw-trends.plw-trends--chart { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 767px) {
  .plw-tchart__plot { height: 150px; gap: 4px; }
  .plw-tchart__col:not(.is-latest) .plw-tchart__n { visibility: hidden; }
}

/* /week/ releases index (audit 11/13, Dan 11/14): one section per month. */
.plw-sec.plw-weekidx { padding-bottom: 40px; }
@media (max-width: 767px) {
  .plw-sec.plw-weekidx { padding-bottom: 28px; }
}

/* Phone menu: full width, page dimmed below the header (audit 11/13, Dan 11/14). */
@media (max-width: 999.98px) {
  .plw-hdr { position: relative; }
  .plw-menu { position: static; }
  .plw-menu__panel { top: 100%; left: 0; right: 0; min-width: 0; border-left: 0; border-right: 0; box-shadow: 0 12px 24px rgba(0,0,0,.12); }
  body.pl-wire .plw-menu__panel a { padding: 12px 16px; }
}
.plw-menu-backdrop { position: absolute; left: 0; right: 0; z-index: 10000; background: rgba(10,10,10,.5); }

/* Homepage on phones: 6 of the company blocks, then a button; the 12 biggest
 * topic chips, then "All N topics" (audit 11/13, Dan 11/14). */
.plw-cogrid__all { display: none; }
body.pl-wire .plw-chips--top .plw-chip--all { display: none; }
@media (max-width: 767px) {
  .plw-cogrid.is-collapsed > .plw-co:nth-child(n+7) { display: none; }
  .plw-cogrid.is-collapsed + .plw-cogrid__all { display: flex; align-items: center; justify-content: center; width: 100%; height: 46px; margin: 16px 0 0; padding: 0 16px; border: 1px solid var(--plw-sky); border-radius: 6px; background: #fff; color: var(--plw-ink); font-family: var(--plw-head); font-weight: 700; font-size: 15px; cursor: pointer; }
  .plw-cogrid.is-collapsed + .plw-cogrid__all:hover { background: var(--plw-tint2); }
  body.pl-wire .plw-chips--top > .plw-chip:nth-child(n+13):not(.plw-chip--all) { display: none; }
  body.pl-wire .plw-chips--top .plw-chip--all { display: inline-flex; font-weight: 700; }
}

/* Tap targets on phones and tablets (audit 11/13, Dan 11/14): an invisible
 * hit area 6px above and below small links, so each is at least 24px tall
 * (WCAG 2.5.8). Layout and text don't move. */
@media (max-width: 1023px) {
  body.pl-wire .plw-kick a, body.pl-wire .plw-crumb a, body.pl-wire .plw-crumbs a, body.pl-wire .plwh-crumb a, body.pl-wire a.plw-more, body.pl-wire .plw-toc a { position: relative; }
  body.pl-wire .plw-kick a::after, body.pl-wire .plw-crumb a::after, body.pl-wire .plw-crumbs a::after, body.pl-wire .plwh-crumb a::after, body.pl-wire a.plw-more::after, body.pl-wire .plw-toc a::after { content: ""; position: absolute; left: -2px; right: -2px; top: -6px; bottom: -6px; }
}
