/* ============================================================
   Public Journal UK — modern newsroom layer (pjx) v1.0
   Borskollen-modern density x NYT serif remnant — stone/charcoal/red
   ============================================================ */
:root, html body {
  --pj-bg:#f2f3f0; --pj-ink:#101418; --pj-body:#2c3338; --pj-muted:#6b7480;
  --pj-red:#b8222e; --pj-red-dark:#921a24; --pj-teal:#0f6b5c;
  --pj-line:#e1e4e0; --pj-line-mid:#cdd2cc;
  --pj-serif:'Spectral',Georgia,'Times New Roman',serif;
  --pj-sans:'Archivo','Inter',system-ui,sans-serif;
  --pj-ui:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}

/* ---- GLOBAL ---- */

html{overflow-x:clip}
html body{background:var(--pj-bg)!important;color:var(--pj-body)!important;font-family:var(--pj-ui)!important;overflow-x:clip;max-width:100%}
html body h1,html body h2,html body h3,html body h4{font-family:var(--pj-sans)!important;color:var(--pj-ink)!important;letter-spacing:-0.01em!important}
html body .entry-content a,html body .n24-wrap a{color:var(--pj-red)!important;text-decoration:none!important;border-bottom:1px solid var(--pj-red)!important;transition:border-color 0.2s,color 0.2s}
html body .entry-content a:hover,html body .n24-wrap a:hover{color:var(--pj-red-dark)!important;border-bottom-color:var(--pj-red-dark)!important}
html body ::selection{background:var(--pj-ink)!important;color:#fff!important}
html body :focus-visible{outline:3px solid var(--pj-red)!important;outline-offset:2px!important}
html body button,html body input[type=submit]{background:var(--pj-red)!important;color:#fff!important;border:none!important;border-radius:3px!important;font-family:'Archivo',sans-serif!important;font-weight:700!important;font-size:13px!important;padding:8px 16px!important;cursor:pointer!important;transition:background 0.2s}
html body button:hover,html body input[type=submit]:hover{background:var(--pj-red-dark)!important}
html body img,html body figure,html body video,html body iframe{max-width:100%!important;height:auto!important}
html body table{display:block!important;overflow-x:auto!important;max-width:100%!important}
html body :where(p,li,h1,h2,h3,a,td,th):not(nav *):not(.topbar *){overflow-wrap:anywhere!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}

/* ---- HEADER/TOPBAR/TICKER ---- */

html body .pjx-topbar{background:var(--pj-ink)!important;color:#c6cdd4!important;font-size:11.5px!important}html body  .pjx-topbar-in{max-width:1200px!important;margin:auto!important;padding:7px 20px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important}html body  .pjx-topbar-date{color:#cfd6dd!important;font-weight:600!important}html body  .pjx-topbar-mid{font-size:10px!important;text-transform:uppercase!important;letter-spacing:.14em!important;color:#8d97a1!important}html body  .pjx-topbar-links{display:flex!important;gap:14px!important}html body  .pjx-topbar-links a{color:#e8ecef!important;font-weight:600!important;font-size:11.5px!important;text-decoration:none!important;white-space:nowrap!important}html body  .pjx-topbar-links a:hover{color:#fff!important}html body  .pjx-topbar-cta{background:var(--pj-red)!important;color:#fff!important;font-weight:700!important;text-transform:uppercase!important;font-size:10.5px!important;padding:5px 12px!important;border-radius:3px!important}html body  .pjx-topbar-cta:hover{background:var(--pj-red-dark)!important}html body .site-header{background:#fff!important;position:static!important;border:0!important;box-shadow:none!important}html body .site-header .inside-header{max-width:1200px!important;margin:0 auto!important;padding:16px 20px 10px!important;display:block!important;text-align:center!important}html body .site-branding,html body .main-title{float:none!important;text-align:center!important}html body .main-title a{font-family:var(--pj-serif)!important;font-weight:800!important;font-size:clamp(30px,4vw,44px)!important;color:var(--pj-ink)!important;letter-spacing:-.02em!important;text-decoration:none!important}html body .site-description{font-size:10px!important;text-transform:uppercase!important;letter-spacing:.2em!important;color:var(--pj-muted)!important;margin:4px 0 0!important}html body .site-header img,html body .site-logo,html body .header-image{display:none!important}html body .main-navigation{background:#fff!important;border-top:2px solid var(--pj-ink)!important;border-bottom:1px solid var(--pj-line)!important;position:sticky!important;top:0!important;z-index:900!important}html body .main-navigation .inside-navigation{max-width:1200px!important;margin:0 auto!important;display:flex!important;justify-content:center!important}html body .main-navigation .main-nav ul li a{font-family:var(--pj-sans)!important;font-size:12.5px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.05em!important;color:var(--pj-ink)!important;padding:12px 13px!important;border-bottom:3px solid transparent!important;transition:.15s!important}html body .main-navigation .main-nav ul li a:hover,html body .main-navigation .main-nav ul li.current-menu-item a{color:var(--pj-red)!important;border-bottom-color:var(--pj-red)!important}html body .menu-toggle{background:#fff!important;color:var(--pj-ink)!important;width:100%!important;text-transform:uppercase!important;padding:12px!important}html body .pjx-ticker{background:#fff!important;border-bottom:1px solid var(--pj-line)!important;font-size:12.5px!important}html body .pjx-ticker-in{max-width:1200px!important;margin:0 auto!important;padding:8px 20px!important;display:flex!important;align-items:center!important;gap:12px!important;overflow-x:auto!important;white-space:nowrap!important;scrollbar-width:none!important}html body .pjx-ticker-in::-webkit-scrollbar{display:none!important}html body .pjx-ticker-label{background:var(--pj-red)!important;color:#fff!important;font:800 10px var(--pj-sans)!important;text-transform:uppercase!important;letter-spacing:.07em!important;padding:4px 9px!important;border-radius:3px!important;flex-shrink:0!important}html body .pjx-ticker-in a{color:var(--pj-body)!important;font-weight:500!important;text-decoration:none!important;white-space:nowrap!important}html body .pjx-ticker-in a:hover{color:var(--pj-red)!important}html body .pjx-ticker-sep{color:var(--pj-line-mid)!important;flex-shrink:0!important}html body .pjx-topbar a,html body .pjx-topbar span,html body .main-navigation a,html body .pjx-ticker a{overflow-wrap:normal!important;word-break:keep-all!important;white-space:nowrap!important}@media (max-width:768px){html body .site-header .inside-header{padding:10px 14px!important}html body .main-title a{font-size:26px!important}html body .pjx-topbar-mid{display:none!important}}

/* ---- HOME ---- */

html body .pjx-sec {
  max-width: 1200px;
  margin: 0 auto 18px;
  padding: 0 20px;
}

html body .pjx-head {
  font-family: var(--pj-sans);
  font-weight: 800;
  font-size: 13.5px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--pj-ink) !important;
  display: flex;
  align-items: center;
  gap: 9px;
  border-bottom: 2px solid var(--pj-ink);
  padding-bottom: 8px;
  margin: 0 0 12px;
}

html body .pjx-head::before {
  content: "";
  width: 10px;
  height: 10px;
  background: var(--pj-red) !important;
  flex-shrink: 0;
  display: inline-block;
}

html body .pjx-head a.pjx-more {
  margin-left: auto;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--pj-red) !important;
  border: none !important;
  text-decoration: none !important;
}

html body .pjx-lead li.wp-block-post {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1.1fr);
  gap: 8px 30px;
  align-items: stretch;
  border-bottom: 1px solid var(--pj-line);
  padding-bottom: 12px;
}

html body .pjx-lead li.wp-block-post figure {
  grid-column: 2;
  grid-row: 1 / span 4;
  height: 100%;
  margin: 0;
}

html body .pjx-lead li.wp-block-post figure a {
  display: block;
  height: 100%;
}

html body .pjx-lead li.wp-block-post figure img {
  height: 100%;
  min-height: 280px;
  max-height: 400px;
  object-fit: cover;
  width: 100%;
}

html body .pjx-lead .wp-block-post-terms {
  margin: 0;
}

html body .pjx-lead .wp-block-post-terms a {
  color: var(--pj-red) !important;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  font-family: var(--pj-sans);
  letter-spacing: 0.05em;
  text-decoration: none !important;
}

html body .pjx-lead li.wp-block-post h2 {
  margin: 0;
  font-family: var(--pj-serif);
  font-weight: 700;
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.13;
  color: var(--pj-ink) !important;
}

html body .pjx-lead li.wp-block-post h2 a {
  color: var(--pj-ink) !important;
  border-bottom: none !important;
  text-decoration: none !important;
}

html body .pjx-lead li.wp-block-post h2 a:hover {
  color: var(--pj-red) !important;
}

html body .pjx-lead .wp-block-post-date {
  font-size: 12px;
  color: var(--pj-muted) !important;
  margin: 0;
}

html body .pjx-lead .wp-block-post-excerpt {
  font-family: var(--pj-ui);
  font-size: 15.5px;
  color: var(--pj-muted) !important;
  line-height: 1.6;
  margin: 0;
}

html body ul.pjx-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
  list-style: none !important;
  margin: 0;
  padding: 0;
}

html body .pjx-grid li.wp-block-post {
  background: #fff !important;
  border: 1px solid var(--pj-line);
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: box-shadow 0.15s, border-color 0.15s;
  margin: 0;
  padding: 0;
}

html body .pjx-grid li.wp-block-post:hover {
  border-color: var(--pj-line-mid);
  box-shadow: 0 6px 18px rgba(16,20,24,0.10);
}

html body .pjx-grid li.wp-block-post figure {
  margin: 0;
  overflow: hidden;
  position: relative;
}

html body .pjx-grid li.wp-block-post figure img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  display: block;
}

html body .pjx-grid .wp-block-post-terms {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  margin: 0;
}

html body .pjx-grid .wp-block-post-terms a {
  background: var(--pj-red) !important;
  color: #fff !important;
  font-family: var(--pj-sans);
  font-weight: 800;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 9px;
  border-radius: 3px;
  text-decoration: none !important;
  line-height: 1;
}

html body .pjx-grid li.wp-block-post h3 {
  padding: 10px 14px 0;
  margin: 0;
}

html body .pjx-grid li.wp-block-post h3 a {
  font-family: var(--pj-sans);
  font-weight: 700;
  font-size: 15.5px;
  line-height: 1.3;
  color: var(--pj-ink) !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

html body .pjx-grid li.wp-block-post h3 a:hover {
  color: var(--pj-red) !important;
}

html body .pjx-grid .wp-block-post-date {
  font-size: 11px;
  color: var(--pj-muted) !important;
  padding: 6px 14px 0;
  margin: 0;
}

html body .pjx-grid .wp-block-post-excerpt {
  font-size: 13px;
  color: var(--pj-muted) !important;
  padding: 6px 14px 14px;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

html body .pjx-list .wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 36px;
  list-style: none !important;
  margin: 0;
  padding: 0;
}

html body .pjx-list .wp-block-post-template > li {
  padding: 10px 0;
  border-bottom: 1px solid var(--pj-line);
  display: flex;
  gap: 10px;
  align-items: baseline;
}

html body .pjx-list .wp-block-post-template > li::before {
  content: "";
  width: 7px;
  height: 7px;
  background: var(--pj-red) !important;
  flex-shrink: 0;
  display: inline-block;
  position: relative;
  top: -1px;
}

html body .pjx-list .wp-block-post-template h3 {
  margin: 0;
}

html body .pjx-list .wp-block-post-template h3 a {
  font-family: var(--pj-sans);
  font-weight: 600;
  font-size: 15px;
  color: var(--pj-ink) !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

html body .pjx-list .wp-block-post-template h3 a:hover {
  color: var(--pj-red) !important;
}

html body .pjx-list .wp-block-post-template .wp-block-post-date {
  font-size: 11px;
  color: var(--pj-muted) !important;
  margin-top: 2px;
  display: block;
}

/* Title links in queries: force ink, no border-bottom */
html body .pjx-sec a.wp-block-post-excerpt__more-link {
  border-bottom: none !important;
  color: var(--pj-ink) !important;
}

html body .pjx-sec .wp-block-post-title a {
  color: var(--pj-ink) !important;
  border-bottom: none !important;
  text-decoration: none !important;
}

/* Responsive: ≤980px */
@media (max-width: 980px) {
  html body ul.pjx-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  html body .pjx-lead li.wp-block-post {
    grid-template-columns: 1fr;
  }
  html body .pjx-lead li.wp-block-post figure {
    grid-column: 1;
    grid-row: auto;
  }
  html body .pjx-lead li.wp-block-post figure img {
    height: 260px;
    min-height: 0;
    max-height: none;
  }
  html body .pjx-list .wp-block-post-template {
    grid-template-columns: 1fr;
  }
}

/* Responsive: ≤640px */
@media (max-width: 640px) {
  html body ul.pjx-grid {
    grid-template-columns: 1fr;
  }
  html body .pjx-lead li.wp-block-post h2 {
    font-size: 22px;
  }
  html body .pjx-list .wp-block-post-template {
    grid-template-columns: 1fr;
  }
}

/* ---- SINGLE/PAGES ---- */

html body.single .content-area,
html body.page:not(.home) .content-area {
  max-width: 820px;
  margin: 0 auto;
  float: none;
}
html body .site-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 22px 20px;
  box-sizing: border-box;
}
html body .inside-article {
  background: #fff;
  border: 1px solid var(--pj-line);
  border-radius: 4px;
  padding: 32px clamp(18px, 4vw, 48px);
}
html body h1.entry-title {
  font-family: var(--pj-serif) !important;
  font-weight: 700 !important;
  font-size: clamp(1.7rem, 3.2vw, 2.5rem) !important;
  line-height: 1.13 !important;
  color: var(--pj-ink) !important;
  margin-bottom: 8px;
}
html body .entry-meta {
  font-family: var(--pj-sans);
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--pj-muted) !important;
  border-bottom: 1px solid var(--pj-line);
  padding-bottom: 11px;
}
html body .entry-meta a {
  color: var(--pj-red) !important;
  font-weight: 700;
}
html body figure.pjx-feat {
  margin: 14px 0 10px;
}
html body figure.pjx-feat img {
  width: 100%;
  border-radius: 3px;
}
html body .entry-content p {
  font-size: 16.5px;
  line-height: 1.75;
}
html body .entry-content h2 {
  font-family: var(--pj-serif) !important;
  font-weight: 700 !important;
  border-bottom: 1px solid var(--pj-line);
  padding-bottom: 7px;
  margin-top: 32px;
  color: var(--pj-ink) !important;
}
html body blockquote {
  background: #fff;
  border-left: 3px solid var(--pj-red);
  font-family: var(--pj-serif);
  font-style: italic;
  padding: 12px 18px;
}
html body .pjx-authorbox {
  display: flex;
  gap: 14px;
  margin: 26px 0 0;
  padding: 16px;
  background: var(--pj-bg);
  border: 1px solid var(--pj-line);
  border-radius: 4px;
}
html body .pjx-authorbox img {
  width: 56px !important;
  height: 56px !important;
  object-fit: cover;
  border-radius: 50%;
  aspect-ratio: 1/1;
}
html body .pjx-authorbox b {
  font-family: var(--pj-sans);
  font-size: 15px;
}
html body.single .featured-image,
html body.single .page-header-image-single,
html body.single .inside-article > .post-image,
html body #comments,
html body .comments-area,
html body .widget:has(.wp-block-latest-comments),
html body .widget_block:has(.wp-block-latest-comments),
html body.single footer.entry-meta,
html body.single .entry-footer,
html body.single .cat-links,
html body.single .post-navigation {
  display: none !important;
}
@media (max-width: 640px) {
  html body .inside-article {
    padding: 18px 13px;
  }
  html body h1.entry-title {
    font-size: 1.45rem !important;
  }
}

/* ---- FOOTER ---- */

html body .site-footer {
    display: none !important;
}
html body footer.pjx-footer {
    margin-top: 44px;
    background: var(--pj-ink);
    color: #c6cdd4;
}
html body .pjx-footer-in {
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px 20px 16px;
}
html body .pjx-footer-brand {
    font-family: var(--pj-serif);
    font-weight: 800;
    font-size: 26px;
    color: #fff;
    margin: 0 0 2px;
}
html body .pjx-footer-tag {
    color: #8d97a1;
    font-size: 13px;
    font-style: italic;
    font-family: var(--pj-serif);
    margin: 0 0 16px;
}
html body .pjx-footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 20px;
    border-top: 1px solid rgba(255, 255, 255, .14);
    padding-top: 18px;
}
html body .pjx-footer-col h4 {
    font-family: var(--pj-sans);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #fff;
    margin: 0 0 9px;
    display: flex;
    align-items: center;
    gap: 7px;
}
html body .pjx-footer-col h4::before {
    content: "";
    width: 8px;
    height: 8px;
    background: var(--pj-red);
}
html body .pjx-footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
html body .pjx-footer-col ul li {
    margin: 0 0 7px;
}
html body .pjx-footer-col ul li a {
    color: #c6cdd4;
    font-size: 13px;
    text-decoration: none;
}
html body .pjx-footer-col ul li a:hover {
    color: #fff;
}
html body .pjx-footer-col p {
    color: #8d97a1;
    font-size: 12px;
    line-height: 1.6;
}
html body .pjx-footer-imprint {
    border-top: 1px solid rgba(255, 255, 255, .12);
    margin-top: 18px;
    padding-top: 12px;
    font-size: 11.5px;
    color: #8d97a1;
    line-height: 1.6;
}
html body .pjx-footer-imprint a {
    color: #c6cdd4;
}
html body .pjx-footer-imprint a:hover {
    color: #fff;
}
html body .pjx-footer-meta {
    font-size: 11.5px;
    color: #717b85;
    margin-top: 6px;
}
html body .pjx-footer-meta a {
    color: #c6cdd4;
}
html body .pjx-footer-meta a:hover {
    color: #fff;
}
@media (max-width: 640px) {
    html body .pjx-footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 420px) {
    html body .pjx-footer-grid {
        grid-template-columns: 1fr;
    }
}

/* ---- WIDGETS/ARCHIVES ---- */

html body .widget-area .widget,
html body .widget-area .widget_block {
    background: #fff;
    border: 1px solid var(--pj-line);
    border-radius: 4px;
    padding: 16px;
    margin-bottom: 16px;
}
html body .widget-title,
html body .widget_block h2 {
    font-family: var(--pj-sans) !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--pj-ink) !important;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 2px solid var(--pj-ink);
    padding-bottom: 7px;
    margin: 0 0 11px !important;
}
html body .widget-title::before,
html body .widget_block h2::before {
    content: '';
    display: inline-block;
    width: 9px;
    height: 9px;
    background: var(--pj-red);
    flex-shrink: 0;
}
html body .widget-area .widget ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
html body .widget-area .widget ul li {
    padding: 7px 0;
    border-bottom: 1px solid var(--pj-line);
}
html body .widget-area .widget ul li:last-child {
    border-bottom: none;
}
html body .widget-area .widget ul li a {
    font-family: var(--pj-sans);
    font-weight: 600;
    font-size: 13.5px;
    color: var(--pj-ink);
    text-decoration: none;
}
html body .widget-area .widget ul li a:hover {
    color: var(--pj-red) !important;
}
html body .widget-area .widget_search input[type="search"],
html body .widget-area .widget_search .search-field {
    border: 1px solid var(--pj-line-mid);
    border-radius: 3px;
    padding: 8px 11px;
    width: 100%;
    box-sizing: border-box;
}
html body .widget-area .widget_search button,
html body .widget-area .widget_search input[type="submit"] {
    background: var(--pj-red);
    color: #fff;
    border: none;
    border-radius: 3px;
    padding: 8px 14px;
    cursor: pointer;
    font-family: var(--pj-ui);
    font-weight: 600;
    font-size: 13px;
}

html body.blog article .inside-article,
html body.archive article .inside-article {
    background: #fff;
    border: 1px solid var(--pj-line);
    border-radius: 4px;
    padding: 20px 24px;
    margin-bottom: 16px;
    transition: .15s;
}
html body.blog article .inside-article:hover,
html body.archive article .inside-article:hover {
    border-color: var(--pj-line-mid);
    box-shadow: 0 6px 18px rgba(16, 20, 24, .08);
}
html body.blog .entry-title a,
html body.archive .entry-title a {
    font-family: var(--pj-sans) !important;
    font-weight: 700;
    font-size: 20px;
    color: var(--pj-ink) !important;
    text-decoration: none;
}
html body.blog .entry-title a:hover,
html body.archive .entry-title a:hover {
    color: var(--pj-red) !important;
}
html body.archive .page-header {
    border-bottom: 2px solid var(--pj-ink);
    margin-bottom: 20px;
    padding-bottom: 10px;
}
html body.archive .page-title {
    font-family: var(--pj-sans) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: .08em;
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
}
html body.archive .page-title::before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    background: var(--pj-red);
    flex-shrink: 0;
}
html body.archive .archive-description {
    font-size: 13.5px;
    color: var(--pj-muted);
    margin-top: 6px;
}
html body .pagination .page-numbers {
    display: inline-block;
    background: #fff;
    border: 1px solid var(--pj-line-mid);
    border-radius: 3px;
    padding: 7px 12px;
    color: var(--pj-ink);
    text-decoration: none;
    font-family: var(--pj-ui);
    font-size: 14px;
    line-height: 1;
}
html body .pagination .page-numbers:hover,
html body .pagination .page-numbers.current {
    border-color: var(--pj-red);
    color: var(--pj-red) !important;
}


/* ---- n24 article blocks: pjx skin ---- */
html body {
  --n24-bg:#ffffff; --n24-surface:#ffffff; --n24-surface-soft:#f2f3f0; --n24-surface-muted:#f2f3f0;
  --n24-border:#e1e4e0; --n24-border-strong:#cdd2cc;
  --n24-text:#2c3338; --n24-text-soft:#6b7480; --n24-heading:#101418;
  --n24-accent:#b8222e; --n24-accent-soft:#f8e9ea; --n24-highlight:#b8222e;
  --n24-radius-xs:3px; --n24-radius-sm:3px; --n24-radius:4px; --n24-radius-lg:5px;
  --n24-shadow-xs:none; --n24-shadow-sm:none; --n24-shadow:none;
  --n24-serif:'Spectral',Georgia,serif;
  --n24-sans:'Inter',system-ui,sans-serif;
}
html body article .n24-wrap { padding: 0 !important; margin: 14px auto 0 !important; font-family: var(--n24-serif) !important; font-size: 16.5px !important; line-height: 1.75 !important; }
html body article .n24-wrap h2 { font-family: var(--pj-serif) !important; font-weight: 700 !important; font-size: clamp(1.35rem,2.2vw,1.75rem) !important; border-bottom: 1px solid var(--pj-line); padding-bottom: 7px; margin: 32px 0 12px !important; }
html body article .n24-wrap h3 { font-family: var(--pj-sans) !important; font-weight: 700 !important; font-size: 1rem !important; text-transform: uppercase; letter-spacing: .03em; }
html body article .n24-stats-line { border-radius: 3px !important; background: var(--pj-bg) !important; border: 1px solid var(--pj-line) !important; border-left: 3px solid var(--pj-red) !important; box-shadow: none !important; font-family: var(--pj-ui) !important; font-size: .86rem !important; }
html body article .n24-snapshot-block { background: var(--pj-bg) !important; border-radius: 4px !important; box-shadow: none !important; }
html body article .n24-grid-heading { color: var(--pj-ink) !important; display: flex; align-items: center; gap: 8px; font-family: var(--pj-sans) !important; }
html body article .n24-grid-heading::before { content: ""; width: 9px; height: 9px; background: var(--pj-red); flex-shrink: 0; }
html body article .n24-card { border-radius: 3px !important; box-shadow: none !important; }
html body article .n24-card-header { background: #fff !important; }
html body article .n24-card-num { background: var(--n24-accent-soft) !important; color: var(--pj-red) !important; font-family: Georgia, serif !important; }
html body article .n24-tip, html body article .n24-note { background: var(--pj-bg) !important; border: 1px solid var(--pj-line) !important; border-left: 3px solid var(--pj-red) !important; border-radius: 3px !important; box-shadow: none !important; }
html body article .n24-tldr { background: var(--pj-bg) !important; border: 1px solid var(--pj-line) !important; border-left: 3px solid var(--pj-ink) !important; border-radius: 3px !important; box-shadow: none !important; font-family: var(--n24-serif) !important; }
html body article .n24-warning { border-radius: 3px !important; box-shadow: none !important; }
html body article .n24-tip-label, html body article .n24-note-label { background: var(--n24-accent-soft) !important; color: var(--pj-red) !important; }
html body article .n24-table { border-radius: 3px !important; box-shadow: none !important; }
html body article .n24-table thead th { background: var(--pj-bg) !important; color: var(--pj-ink) !important; border-bottom: 2px solid var(--pj-ink) !important; font-family: var(--pj-sans) !important; }
html body article .n24-faq-item { border-radius: 3px !important; box-shadow: none !important; }
html body article .n24-faq-item summary { background: #fff !important; font-family: var(--pj-sans) !important; }
html body article .n24-faq-item summary::after { background: var(--n24-accent-soft) !important; color: var(--pj-red) !important; }
html body article .n24-wrap blockquote { background: #fff !important; border: 0 !important; border-left: 3px solid var(--pj-red) !important; border-radius: 0 !important; font-family: var(--n24-serif) !important; font-style: italic; }

/* ---- generic content blocks ---- */
html body .entry-content table:not(.n24-table) { width: 100%; border-collapse: collapse; margin: 20px 0; background: #fff; border: 1px solid var(--pj-line); font-family: var(--pj-ui); font-size: 14px; }
html body .entry-content table:not(.n24-table) thead th { background: var(--pj-bg); color: var(--pj-ink); font-weight: 700; font-size: 11.5px; text-transform: uppercase; letter-spacing: .06em; text-align: left; padding: 10px 13px; border-bottom: 2px solid var(--pj-ink); }
html body .entry-content table:not(.n24-table) td { padding: 9px 13px; border-bottom: 1px solid var(--pj-line); vertical-align: top; }
html body .entry-content table:not(.n24-table) tbody tr:nth-child(even) { background: #fafbf9; }
html body .entry-content table:not(.n24-table) td:first-child { font-weight: 700; color: var(--pj-ink); }
html body .entry-content li::marker, html body article .n24-wrap li::marker { color: var(--pj-red); }
html body .entry-content figcaption { font-family: var(--pj-ui); font-size: 12px; color: var(--pj-muted); text-align: center; margin-top: 7px; }
/* dark callout helper for policy/sources pages */
html body .pjx-dark-callout { background: linear-gradient(135deg, #101418, #1d2733); color: #c8d2dc; border-radius: 5px; padding: 16px 19px; margin: 16px 0; }
html body .pjx-dark-callout h3 { color: #fff !important; font-family: var(--pj-sans) !important; margin: 0 0 7px; }
html body .pjx-dark-callout p { color: #c8d2dc !important; margin: 0; font-size: 14.5px; line-height: 1.6; }
html body .pjx-dark-callout strong { color: #fff !important; }
@media (max-width: 640px) {
  html body .entry-content table:not(.n24-table) { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap; }
  html body .entry-content table:not(.n24-table) td:first-child { white-space: normal; }
}

/* ---- GUARDS/MOBILE — LAST ---- */

html body.home .content-area,
html body.home #primary {
  width: 100% !important;
  float: none !important;
  max-width: 100% !important;
}
html body.home .site-content {
  max-width: 100% !important;
  padding: 6px 0 0 !important;
}
html body.home .inside-article {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
html body.home .entry-header,
html body.home .page-header {
  display: none !important;
}
html body.home .widget-area,
html body.home #right-sidebar,
html body.home #left-sidebar {
  display: none !important;
}
html body.home .site-main {
  margin: 0 !important;
}
html body.home .entry-content > * {
  margin-top: 0 !important;
  max-width: none;
}
html body.home .pjx-sec {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
html body .pjx-sec .wp-block-query,
html body .pjx-sec .wp-block-post-template {
  margin: 0 !important;
}
html body .wp-block-post-template {
  list-style: none;
  padding: 0;
}
html body .wp-block-post-excerpt p,
html body .wp-block-post-excerpt__excerpt {
  margin: 0 !important;
}
html body .pjx-lead .wp-block-post {
  grid-template-columns: 1fr;
}
html body .pjx-lead .wp-block-post:has(.wp-block-post-featured-image) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
}
html body .pjx-lead .wp-block-post:not(:has(.wp-block-post-featured-image)) .wp-block-post-title a {
  font-size: clamp(28px, 4vw, 44px);
}
@media (max-width: 980px) {
  html body .pjx-lead .wp-block-post:has(.wp-block-post-featured-image) {
    grid-template-columns: 1fr !important;
  }
  html body .pjx-lead .wp-block-post-featured-image img {
    height: 260px !important;
    min-height: 0;
  }
}
@media (max-width: 768px) {
  html body .pjx-grid {
    grid-template-columns: 1fr 1fr !important;
  }
  html body .pjx-list .wp-block-post-template {
    grid-template-columns: 1fr !important;
  }
  html body .pjx-sec {
    padding: 0 14px;
  }
  html body .pjx-grid .wp-block-post-featured-image img {
    height: 170px !important;
  }
}
@media (max-width: 560px) {
  html body .pjx-grid {
    grid-template-columns: 1fr !important;
  }
  html body h1.entry-title {
    font-size: 1.45rem !important;
  }
  html body .inside-article {
    padding: 16px 12px !important;
  }
}


/* ============================================================
   MOBILE WIDTH GUARD (flex min-content fix) ??? posts must fit viewport
   ============================================================ */
html body .site-content,
html body .content-area,
html body .site-main {
  min-width: 0 !important;
}
html body.single .content-area,
html body.page:not(.home) .content-area {
  width: 100% !important;
}
html body .inside-article {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: clip;
  box-sizing: border-box;
}
html body .entry-content,
html body .entry-header,
html body article .n24-wrap,
html body article .n24-snapshot-block,
html body article .n24-grid-wrap {
  max-width: 100% !important;
  min-width: 0 !important;
}
/* ALL article tables become internal scrollers on small screens (incl. n24) */
@media (max-width: 680px) {
  html body .entry-content table,
  html body article .n24-wrap table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    white-space: nowrap !important;
  }
  html body article .n24-grid {
    grid-template-columns: 1fr !important;
  }
  html body .entry-content pre {
    max-width: 100% !important;
    overflow-x: auto !important;
  }
}

