/* ================================================================
   Renn Driver theme · "Paddock Journal" (redesign stage 1, 2026-10-28)
   Loaded after renndriver.css + rd-light.css. Stage 1 covers tokens,
   header and footer only. Page templates migrate in later stages.
   ================================================================ */
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/instrument-serif-400.woff2) format('woff2');
}

:root {
  --pj-paper:   #f7f5f0;
  --pj-white:   #ffffff;
  --pj-ink:     #121212;
  --pj-ink-2:   #3a3833;
  --pj-mute:    #6b6862;
  --pj-line:    #dcd7cc;
  --pj-red:     #c0182b;
  --pj-red-dk:  #9c1222;
  --pj-night:   #111214;
  --pj-display: 'Instrument Serif', Georgia, 'Times New Roman', serif;
  --pj-sans:    'Be Vietnam Pro', 'Be Vietnam Pro Fallback', sans-serif;
  --pj-label:   600 11px/1 var(--pj-sans);
}

/* ---------------- HEADER ---------------- */
.lnav {
  background: rgba(255,255,255,0.96);
  border-bottom: 1px solid var(--pj-line);
}
.lnav-inner { height: 68px; gap: 28px; }
.lnav-links { gap: 30px; margin-left: auto; align-items: stretch; height: 100%; }
.lnav-item { display: flex; align-items: stretch; }
.lnav-link {
  font: 600 12px/1 var(--pj-sans) !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
  color: var(--pj-ink) !important;
  display: flex; align-items: center; height: 100%;
  padding: 2px 0 0;
  border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s;
}
.lnav-link:hover { color: var(--pj-red) !important; }
.lnav-link--on { color: var(--pj-ink) !important; border-bottom-color: var(--pj-red); }
.lnav-sub {
  border-radius: 0 !important;
  border: 1px solid var(--pj-line) !important;
  border-top: 2px solid var(--pj-ink) !important;
  box-shadow: 0 18px 40px -24px rgba(0,0,0,.35);
  padding: 6px 0 !important;
}
.lnav-sub a {
  font: 500 12px/1 var(--pj-sans) !important;
  letter-spacing: .12em !important;
  color: var(--pj-ink-2) !important;
  padding: 12px 18px !important;
}
.lnav-sub a:hover { color: var(--pj-red) !important; background: var(--pj-paper) !important; }
body.rd-light .lnav-search { color: var(--pj-ink); border-radius: 0; margin-left: 0; }
body.rd-light .lnav-search:hover, body.rd-light .lnav-search:focus-visible { color: var(--pj-red); background: transparent; }
.lnav-burger { color: var(--pj-ink); }
.lnav-mobile { background: var(--pj-white); padding: 8px 24px 18px; }
.lnav-mobile a {
  font: 600 13px/1 var(--pj-sans) !important;
  letter-spacing: .12em !important;
  color: var(--pj-ink) !important;
  padding: 15px 0 !important;
  border-bottom-color: var(--pj-line) !important;
}
.lnav-mobile a.lnav-mobile-sub { font-weight: 500 !important; color: var(--pj-mute) !important; }

/* ---------------- FOOTER ---------------- */
.lfoot { background: var(--pj-night); color: #b9b6ae; margin-top: 80px; }
.pj-foot {
  max-width: 1280px; margin: 0 auto; padding: 64px 28px 48px;
  display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px;
}
.pj-foot-brand .pj-foot-logo {
  font-family: var(--pj-display); font-weight: 400; font-size: 40px; line-height: 1;
  color: #fff; letter-spacing: 0;
}
.pj-foot-brand .pj-foot-logo span { color: var(--pj-red); }
.pj-foot-brand p { font-size: 14px; line-height: 1.6; color: #9a978f; margin-top: 14px; max-width: 300px; }
.pj-foot-heading {
  font: var(--pj-label); letter-spacing: .18em; text-transform: uppercase;
  color: #fff; margin: 0 0 16px; padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,.12);
}
.pj-foot-col a {
  display: block; font-size: 14px; line-height: 1.3; color: #b9b6ae;
  padding: 7px 0; transition: color .15s;
}
.pj-foot-col a:hover { color: #fff; }
.pj-foot-social { display: flex; gap: 18px; margin-top: 24px; }
.pj-foot-social a { color: #8a877f; transition: color .15s; }
.pj-foot-social a:hover { color: var(--pj-red); }
.lfoot-copy { border-top: 1px solid rgba(255,255,255,.1); }
.lfoot-copy p {
  font: 500 11px/1.4 var(--pj-sans); letter-spacing: .12em; text-transform: uppercase; color: #6f6c66;
  padding: 20px 28px;
}

@media (max-width: 960px) {
  .pj-foot { grid-template-columns: 1fr 1fr; gap: 32px; padding: 48px 24px 36px; }
  .pj-foot-brand { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .pj-foot { grid-template-columns: 1fr; }
}

/* ---------------- CHROME FOCUS ----------------
   Article links, selection and global focus move to stage 2 (guide template). */
.lnav :focus-visible, .lfoot :focus-visible { outline: 2px solid var(--pj-red); outline-offset: 3px; }
.lfoot :focus-visible { outline-color: #fff; }

/* ================================================================
   STAGE 2 · Bolder header (all pages)
   ================================================================ */
.lnav {
  background: var(--pj-paper);
  border-top: 3px solid var(--pj-red);
  border-bottom: 1px solid var(--pj-ink);
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
.lnav-inner { height: 76px; }
.lnav-logo img { height: 34px !important; }
.lnav-sub { background: var(--pj-paper) !important; }
.lnav-sub a:hover { background: #fff !important; }
.lnav-mobile { background: var(--pj-paper); }

/* ================================================================
   STAGE 2 · Guide + resource articles (body.pj-article)
   ================================================================ */
body.pj-article { background: var(--pj-paper); }
html:has(body.pj-article) { scroll-padding-top: 96px; }
body.pj-article .entry-content [id] { scroll-margin-top: 96px; }
body.pj-article .site-main { background: var(--pj-paper); }

/* Masthead: text-led, so low-res legacy photos never get stretched */
.pj-mast { border-bottom: 1px solid var(--pj-line); padding: 56px 0 0; margin-bottom: 40px; }
.pj-mast-inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.pj-kicker {
  display: inline-block; font: var(--pj-label); letter-spacing: .2em; text-transform: uppercase;
  color: var(--pj-red) !important; margin-bottom: 18px;
}
a.pj-kicker:hover { text-decoration: underline; }
body.pj-article h1.pj-title {
  font-family: var(--pj-display) !important; font-weight: 400 !important;
  font-size: clamp(2.6rem, 5.4vw, 4.6rem) !important; line-height: 1.02 !important;
  letter-spacing: -0.01em; color: var(--pj-ink); max-width: 960px; margin: 0 0 20px;
  text-wrap: balance;
}
.pj-meta {
  display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0 0 32px;
  font: 500 12px/1.4 var(--pj-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--pj-mute);
}
.pj-meta .author { color: var(--pj-ink); }

/* Generation strip + timeline (B components) */
.pj-gen { margin: 0 0 -1px; }
.pj-specs {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 2px solid var(--pj-ink); margin: 0;
}
.pj-specs div { padding: 16px 20px 16px 0; border-right: 1px solid var(--pj-line); margin-right: 20px; }
.pj-specs div:last-child { border-right: 0; }
.pj-specs dt { font: 600 10px/1 var(--pj-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--pj-mute); margin-bottom: 8px; }
.pj-specs dd { font: 400 26px/1.1 var(--pj-display); color: var(--pj-ink); margin: 0; }
.pj-tl {
  display: grid; grid-template-columns: repeat(8, minmax(0, 1fr));
  border-top: 1px solid var(--pj-line); margin-top: 0;
}
.pj-tl-item {
  position: relative; padding: 18px 8px 18px 0; color: var(--pj-ink) !important;
  border-bottom: 3px solid transparent; transition: border-color .15s, color .15s;
}
.pj-tl-item::before {
  content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%;
  background: var(--pj-paper); border: 1px solid var(--pj-ink);
}
.pj-tl-item:hover { color: var(--pj-red) !important; }
.pj-tl-item--on { border-bottom-color: var(--pj-red); }
.pj-tl-item--on::before { background: var(--pj-red); border-color: var(--pj-red); }
.pj-tl-year { display: block; font: 500 11px/1 var(--pj-sans); letter-spacing: .08em; color: var(--pj-mute); }
.pj-tl-model { display: block; font: 400 28px/1.1 var(--pj-display); margin-top: 6px; }

/* Article body typography */
body.pj-article .entry-content { color: #26241f; }
body.pj-article .entry-content > p,
body.pj-article .entry-content li { font-size: 1.04rem; line-height: 1.75; }
body.pj-article .entry-content h2 {
  font-family: var(--pj-display) !important; font-weight: 400 !important;
  font-size: 2.3rem !important; line-height: 1.08 !important; color: var(--pj-ink);
  margin-top: 1.6em; padding-top: .7em; border-top: 1px solid var(--pj-line);
}
body.pj-article .entry-content h3 { font-weight: 600; color: var(--pj-ink); }
body.pj-article .entry-content p a,
body.pj-article .entry-content li a,
body.pj-article .entry-content td a,
body.pj-article .entry-content th a {
  color: var(--pj-ink); text-decoration: underline; text-decoration-color: var(--pj-red);
  text-decoration-thickness: 1px; text-underline-offset: 3px;
}
body.pj-article .entry-content p a:hover,
body.pj-article .entry-content li a:hover,
body.pj-article .entry-content td a:hover,
body.pj-article .entry-content th a:hover { color: var(--pj-red); }

/* Quick Answer: editorial rule instead of the blue WordPress box */
body.pj-article .quick-answer {
  background: transparent !important; border: 0 !important; border-top: 3px solid var(--pj-ink) !important; border-radius: 0 !important;
  padding: 18px 0 4px !important; margin: 0 0 28px !important;
}
body.pj-article .quick-answer p { font-size: 1.2rem; line-height: 1.55; color: var(--pj-ink); }
body.pj-article .quick-answer strong:first-child {
  display: block; font: var(--pj-label); letter-spacing: .2em; text-transform: uppercase; color: var(--pj-red); margin-bottom: 10px;
}
body.pj-article .quick-summary-box {
  background: #fff; border: 1px solid var(--pj-line); border-left: 1px solid var(--pj-line); border-radius: 0;
}
body.pj-article .entry-content .quick-summary-box h2 { border-top: 0; padding-top: 0; margin-top: 0; font-size: 1.7rem !important; }

/* TOC */
body.pj-article #toc_container { background: #fff; border: 1px solid var(--pj-line); border-top: 2px solid var(--pj-ink); border-radius: 0; }
body.pj-article #toc_container .toc_title { font: var(--pj-label); letter-spacing: .18em; text-transform: uppercase; }
body.pj-article #toc_container .toc_number { color: var(--pj-red); }

/* Images, captions, tables, quotes */
body.pj-article .wp-block-image img, body.pj-article .entry-content img { border-radius: 0; }
body.pj-article .wp-block-image figcaption, body.pj-article .entry-content figcaption {
  text-align: left; font-size: .78rem; color: var(--pj-mute); border-left: 2px solid var(--pj-red); padding-left: 10px;
}
body.pj-article .entry-content table { background: #fff; }
body.pj-article .entry-content th { background: var(--pj-ink); color: #fff; font-weight: 600; }
body.pj-article .entry-content td, body.pj-article .entry-content th { border-color: var(--pj-line); }
body.pj-article blockquote {
  border-left: 0; border-top: 1px solid var(--pj-ink); border-bottom: 1px solid var(--pj-ink); background: transparent;
  font-family: var(--pj-display); font-size: 1.6rem; line-height: 1.3; padding: 18px 0; margin: 2em 0;
}

/* Opt-in + tools rail */
body.pj-article .email-signup {
  background: #fff !important; border: 1px solid var(--pj-line) !important; border-top: 3px solid var(--pj-red) !important;
  border-radius: 0 !important; box-shadow: none !important;
}
body.pj-article .email-signup__heading { font-family: var(--pj-display) !important; font-weight: 400 !important; font-size: 1.6rem !important; line-height: 1.1 !important; }
body.pj-article .email-signup__input { border-radius: 0 !important; }
body.pj-article .email-signup__btn {
  border-radius: 0 !important; background: var(--pj-ink) !important; color: #fff !important;
  font: 600 12px/1 var(--pj-sans) !important; letter-spacing: .14em; text-transform: uppercase; padding: 14px 16px !important;
}
body.pj-article .email-signup__btn:hover { background: var(--pj-red) !important; }
body.pj-article .rt-list { border-top: 2px solid var(--pj-ink); padding-top: 14px; margin-top: 22px; }
body.pj-article .rt-h { border-bottom: 0 !important; font: var(--pj-label) !important; letter-spacing: .18em !important; text-transform: uppercase; padding-bottom: 4px !important; }
body.pj-article .rt-emoji { display: none; }
body.pj-article .rt-list li { border-bottom: 1px solid var(--pj-line); }
body.pj-article .rt-list a { justify-content: space-between; font-weight: 500 !important; }
body.pj-article .rt-list a::after { content: "→"; color: var(--pj-mute); }

/* Related guides */
body.pj-article .related-guides { border-top: 2px solid var(--pj-ink) !important; }
body.pj-article .related-guides h2 { border-top: 0 !important; padding-top: 0 !important; font-family: var(--pj-display) !important; font-weight: 400 !important; font-size: 2rem !important; color: var(--pj-ink); }
body.pj-article .related-guide-card img { border-radius: 0 !important; }
body.pj-article .related-guide-title { font-family: var(--pj-display); font-size: 1.2rem !important; font-weight: 400 !important; line-height: 1.15; }

@media (max-width: 767px) {
  .lnav-inner { height: 64px; }
  html:has(body.pj-article) { scroll-padding-top: 80px; }
  body.pj-article .entry-content [id] { scroll-margin-top: 80px; }
  .lnav-logo img { height: 28px !important; }
  .pj-mast { padding-top: 32px; margin-bottom: 24px; }
  .pj-meta { margin-bottom: 22px; }
  .pj-specs { grid-template-columns: 1fr; }
  .pj-specs div { border-right: 0; border-bottom: 1px solid var(--pj-line); margin-right: 0; padding: 12px 0; display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
  .pj-specs dt { margin: 0; }
  .pj-specs dd { font-size: 20px; text-align: right; }
  .pj-tl { display: flex; overflow-x: auto; scrollbar-width: none; padding-top: 6px; margin-top: -6px; }
  .pj-tl::-webkit-scrollbar { display: none; }
  .pj-tl-item { flex: 0 0 72px; }
  .pj-tl-item::before { top: 1px; }
  .pj-tl-model { font-size: 22px; }
  body.pj-article .entry-content h2 { font-size: 1.8rem !important; }
}

@media (min-width: 1180px) { body.pj-article .article-optin-sticky { top: 108px; } }

/* ================================================================
   STAGE 3 · Homepage + listing hubs (body.pj-page)
   ================================================================ */
body.pj-page, body.pj-page .site-main, body.pj-page main { background: var(--pj-paper); }
body.pj-page h1, body.pj-page h2 { font-family: var(--pj-display) !important; font-weight: 400 !important; letter-spacing: -0.01em !important; color: var(--pj-ink) !important; }
body.pj-page .hp-eyebrow, body.pj-page .lsb-h {
  font: var(--pj-label) !important; letter-spacing: .2em !important; text-transform: uppercase; color: var(--pj-red) !important;
}
body.pj-page .hp-btn {
  border-radius: 0 !important; font: 600 12px/1 var(--pj-sans) !important; letter-spacing: .14em !important;
  text-transform: uppercase; padding: 16px 22px !important; box-shadow: none !important; transform: none !important;
}
body.pj-page .hp-btn--primary { background: var(--pj-ink) !important; border: 1px solid var(--pj-ink) !important; color: #fff !important; }
body.pj-page .hp-btn--secondary { background: transparent !important; border: 1px solid var(--pj-ink) !important; color: var(--pj-ink) !important; }
body.pj-page .hp-btn:hover { background: var(--pj-red) !important; border-color: var(--pj-red) !important; color: #fff !important; }

/* Hero: split, photo bleeds to the right edge */
.pj-home .hp-hero {
  max-width: none; margin: 0 0 0; padding: 0; gap: 0;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: stretch; min-height: 560px;
  border-bottom: 1px solid var(--pj-ink);
}
.pj-home .hp-hero-text { padding: 72px 56px 64px max(20px, calc((100vw - 1180px) / 2)); display: flex; flex-direction: column; justify-content: flex-end; }
.pj-home .hp-hero-text h1 { font-size: clamp(3rem, 5.6vw, 5.4rem) !important; line-height: .98 !important; max-width: 620px; }
.pj-home .hp-subtitle { font-size: 1.08rem; color: var(--pj-ink-2); max-width: 520px; }
.pj-home .hp-hero-img { border-radius: 0; box-shadow: none; background: #000; }
.pj-home .hp-hero-img img { aspect-ratio: auto; height: 100%; width: 100%; object-fit: cover; }

/* Sections: rules instead of tinted boxes */
.pj-home .hp-section { margin: 0 auto; padding: 72px 20px; border-bottom: 1px solid var(--pj-line); }
.pj-home .hp-section--soft { background: transparent !important; border-radius: 0 !important; }
.pj-home .hp-section-heading h2, .pj-home .hp-section h2 { font-size: clamp(2.2rem, 3.6vw, 3.2rem) !important; line-height: 1.02 !important; }
.pj-home .hp-section-heading p { color: var(--pj-mute); }
.pj-home .hp-about { text-align: left; }

/* Tools: ink band, thin dividers, no emoji */
.pj-home .hp-tools-panel { background: var(--pj-night) !important; border-radius: 0 !important; padding: 48px !important; }
.pj-home .hp-tools-panel h2 { color: #fff !important; }
.pj-home .hp-tools-sub { color: #a8a59d !important; }
.pj-home .hp-tools-grid { gap: 0 !important; border-top: 1px solid rgba(255,255,255,.15); }
.pj-home .hp-tool-card {
  background: transparent !important; border: 0 !important; border-right: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 0 !important; padding: 24px 22px 8px !important;
}
.pj-home .hp-tool-card:last-child { border-right: 0 !important; }
.pj-home .hp-tool-card h3 { font: 400 26px/1.1 var(--pj-display) !important; color: #fff !important; }
.pj-home .hp-tool-card p { color: #a8a59d !important; }
.pj-home .hp-tool-go { background: transparent !important; color: #fff !important; padding: 0 !important; border-radius: 0 !important; font: var(--pj-label) !important; letter-spacing: .16em !important; text-transform: uppercase; }
.pj-home .hp-tool-go::after { content: " →"; color: var(--pj-red); }
.pj-home .hp-tool-card:hover h3 { color: var(--pj-red) !important; }

/* Events: dated editorial rows */
.pj-home .hp-event-grid { display: block !important; border-top: 2px solid var(--pj-ink); }
.pj-home .hp-event-card {
  display: grid !important; grid-template-columns: 190px 1fr auto; grid-template-rows: auto auto; column-gap: 28px; row-gap: 0; align-items: baseline;
  min-height: 0 !important;
  padding: 22px 0 !important; border: 0 !important; border-bottom: 1px solid var(--pj-line) !important;
  border-radius: 0 !important; background: transparent !important; box-shadow: none !important; transform: none !important;
}
.pj-home .hp-event-card:hover { padding-left: 12px !important; background: #fff !important; }
.pj-home .hp-event-date { grid-column: 1; grid-row: 1 / span 2; font: 400 30px/1 var(--pj-display) !important; color: var(--pj-red) !important; background: none !important; padding: 0 !important; }
.pj-home .hp-event-card h3 { grid-column: 2; grid-row: 1; font: 400 28px/1.1 var(--pj-display) !important; margin: 0 !important; color: var(--pj-ink) !important; }
.pj-home .hp-event-card p { grid-column: 2; grid-row: 2; margin: 4px 0 0 !important; color: var(--pj-mute) !important; font-size: 14px; }
.pj-home .hp-card-link { grid-column: 3; grid-row: 1 / span 2; align-self: center; font: var(--pj-label) !important; letter-spacing: .16em !important; text-transform: uppercase; color: var(--pj-ink) !important; }

/* Generations + model cards: square photos, serif captions */
.pj-home .hp-gen-card, .pj-home .hp-model-card {
  border-radius: 0 !important; box-shadow: none !important; border: 0 !important; background: transparent !important; transform: none !important;
}
.pj-home .hp-landscape { border-radius: 0 !important; background: #e8e5de !important; }
.pj-home .hp-landscape img { transition: transform .5s ease; }
.pj-home .hp-gen-card:hover .hp-landscape img, .pj-home .hp-model-card:hover .hp-landscape img { transform: scale(1.04); }
.pj-home .hp-gen-copy, .pj-home .hp-model-copy { padding: 12px 0 0 !important; border-top: 2px solid var(--pj-ink); margin-top: 10px; }
.pj-home .hp-gen-copy h3, .pj-home .hp-model-copy h3 { font: 400 24px/1.1 var(--pj-display) !important; color: var(--pj-ink) !important; }
.pj-home .hp-gen-copy p { font: 500 12px/1 var(--pj-sans) !important; letter-spacing: .08em; color: var(--pj-mute) !important; }
.pj-home .hp-model-copy p { color: var(--pj-mute) !important; }

/* Closing: popular list + signup */
.pj-home .hp-closing-panel { background: var(--pj-night) !important; border-radius: 0 !important; box-shadow: none !important; }
.pj-home .hp-popular h2 { color: #fff !important; }
.pj-home .hp-pillars a {
  border-radius: 0 !important; background: transparent !important; border: 0 !important; border-bottom: 1px solid rgba(255,255,255,.15) !important;
  color: #fff !important; font: 400 22px/1.2 var(--pj-display) !important; padding: 12px 0 !important;
}
.pj-home .hp-pillars a:hover { color: var(--pj-red) !important; }
body.pj-page .email-signup {
  background: #fff !important; border: 1px solid var(--pj-line) !important; border-top: 3px solid var(--pj-red) !important;
  border-radius: 0 !important; box-shadow: none !important;
}
body.pj-page .email-signup__heading { font-family: var(--pj-display) !important; font-weight: 400 !important; font-size: 1.6rem !important; line-height: 1.1 !important; }
body.pj-page .email-signup__input { border-radius: 0 !important; }
body.pj-page .email-signup__btn {
  border-radius: 0 !important; background: var(--pj-ink) !important; color: #fff !important;
  font: 600 12px/1 var(--pj-sans) !important; letter-spacing: .14em; text-transform: uppercase; padding: 14px 16px !important;
}
body.pj-page .email-signup__btn:hover { background: var(--pj-red) !important; }

/* Intro video block */
.pj-home .renn-introduction, .pj-home .intro-player { border-radius: 0 !important; }

/* ---------- Guides + Resources listing ---------- */
body.pj-page .listing-section { padding-top: 56px; }
body.pj-page .listing-section h1.entry-title { font-size: clamp(3rem, 6vw, 5rem) !important; line-height: 1 !important; margin-bottom: 26px; padding-bottom: 22px; border-bottom: 1px solid var(--pj-ink); }
body.pj-page .lcat-bar { gap: 0 !important; border-bottom: 1px solid var(--pj-line); margin-bottom: 36px; }
body.pj-page .lcat {
  border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--pj-ink) !important;
  font: 600 12px/1 var(--pj-sans) !important; letter-spacing: .14em; text-transform: uppercase; padding: 14px 18px 13px !important;
  border-bottom: 2px solid transparent !important; margin-bottom: -1px;
}
body.pj-page .lcat:hover { color: var(--pj-red) !important; }
body.pj-page .lcat.is-active { border-bottom-color: var(--pj-red) !important; color: var(--pj-ink) !important; }
body.pj-page .listing-card {
  background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; transform: none !important;
}
body.pj-page .listing-card-image { border-radius: 0 !important; background: #e8e5de !important; }
body.pj-page .listing-card-image img { transition: transform .5s ease; }
body.pj-page .listing-card:hover .listing-card-image img { transform: scale(1.04); }
body.pj-page .listing-card-content { padding: 14px 0 0 !important; border-top: 2px solid var(--pj-ink); margin-top: 12px; }
body.pj-page .listing-card-content h3, body.pj-page .listing-card-content h3 a { font: 400 28px/1.08 var(--pj-display) !important; color: var(--pj-ink) !important; }
body.pj-page .listing-card:hover h3 { color: var(--pj-red) !important; }
body.pj-page .listing-card-meta { font: 500 11px/1 var(--pj-sans) !important; letter-spacing: .14em; text-transform: uppercase; color: var(--pj-mute) !important; }
body.pj-page .listing-card-excerpt { color: var(--pj-ink-2) !important; }
body.pj-page .listing-card-readmore { font: var(--pj-label) !important; letter-spacing: .16em; text-transform: uppercase; color: var(--pj-ink) !important; border-bottom: 1px solid var(--pj-red); }
body.pj-page .lsb-h { border-bottom: 2px solid var(--pj-ink) !important; }
body.pj-page .lsb-pop-img { border-radius: 0 !important; }
body.pj-page .lsb-pop-title { font-family: var(--pj-display); font-size: 1.1rem; line-height: 1.15; }
body.pj-page .lsb-yt { border-radius: 0 !important; background: #fff !important; }
body.pj-page .pagination-wrap a, body.pj-page .pagination-wrap span { border-radius: 0 !important; }
body.pj-page .pagination-wrap span.active { background: var(--pj-ink) !important; border-color: var(--pj-ink) !important; color: #fff !important; }

@media (max-width: 900px) {
  .pj-home .hp-hero { grid-template-columns: 1fr; min-height: 0; }
  .pj-home .hp-hero-img { order: -1; aspect-ratio: 4 / 3; }
  .pj-home .hp-hero-text { padding: 36px 20px 44px; }
  .pj-home .hp-section { padding: 52px 16px; }
  .pj-home .hp-tools-panel { padding: 32px 22px !important; }
  .pj-home .hp-tool-card { border-right: 0 !important; border-bottom: 1px solid rgba(255,255,255,.12) !important; padding: 20px 0 !important; }
  .pj-home .hp-event-card { grid-template-columns: 1fr; gap: 6px; }
  .pj-home .hp-event-date, .pj-home .hp-event-card h3, .pj-home .hp-event-card p, .pj-home .hp-card-link { grid-column: 1; grid-row: auto; }
  body.pj-page .lcat-bar { overflow-x: auto; flex-wrap: nowrap !important; scrollbar-width: none; }
  body.pj-page .lcat { white-space: nowrap; }
}

/* Stage 3 fixes: kill legacy tinted section boxes, fill hero photo */
.pj-home .hp-hero-img { position: relative; }
.pj-home .hp-hero-img img { position: absolute; inset: 0; height: 100% !important; margin: 0 !important; }
.pj-home .hp-events, .pj-home .hp-generations, .pj-home .hp-section--soft {
  background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--pj-line) !important;
  border-radius: 0 !important; box-shadow: none !important; padding-top: 72px !important; padding-bottom: 72px !important;
}
.pj-home .hp-events .hp-section-heading > p, .pj-home .hp-generations .hp-section-heading > p { color: var(--pj-mute) !important; }
.pj-home .hp-generations .hp-eyebrow { color: var(--pj-red) !important; }
.pj-home .hp-events-fallback { background: #fff !important; border: 1px solid var(--pj-line) !important; border-radius: 0 !important; color: var(--pj-mute) !important; }
@media (max-width: 900px) {
  .pj-home .hp-events, .pj-home .hp-generations, .pj-home .hp-section--soft { padding-top: 52px !important; padding-bottom: 52px !important; }
}
.pj-home .hp-generations .hp-landscape { padding: 0 !important; aspect-ratio: 4 / 3; }
body.rd-light.pj-home .hp-generations .hp-landscape img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

/* ================================================================
   STAGE 4 · Events directory + venue atlas (body.pj-dir)
   ================================================================ */
.pj-dir .rmk { --maxw: 1200px; font-family: var(--pj-sans); }
.pj-dir .rmk-hero { width: 100%; max-width: none; margin: 0; background: var(--pj-paper); color: var(--pj-ink); border-top: 0; border-bottom: 1px solid var(--pj-ink); }
.pj-dir .rmk-hero-inner { max-width: 1200px; margin: 0 auto; padding: 56px 20px 40px; min-height: 0; }
.pj-dir .rmk-eyebrow { font: var(--pj-label); letter-spacing: .2em; color: var(--pj-red); margin-bottom: 16px; }
.pj-dir .rmk-hero h1 { color: var(--pj-ink) !important; font-size: clamp(3rem, 6vw, 5.2rem) !important; line-height: .98 !important; max-width: 14ch; }
.pj-dir .rmk-hero p { color: var(--pj-ink-2); font-size: 1.05rem; margin-top: 16px; }
.pj-dir .rmk-search { border: 1px solid var(--pj-ink); background: #fff; padding: 6px 6px 6px 14px; }
.pj-dir .rmk-search input { font-size: .95rem; }
.pj-dir .rmk-stats { color: var(--pj-mute); font: 500 11px/1 var(--pj-sans); letter-spacing: .14em; }
.pj-dir .rmk-stats span + span { border-left-color: var(--pj-line); }
.pj-dir .rmk-nav { width: 100%; max-width: none; margin: 0; background: var(--pj-paper); border-bottom: 1px solid var(--pj-line); top: var(--pj-head-h, 79px); }
@media (max-width: 767px) { .pj-dir { --pj-head-h: 67px; } }
.pj-dir .rmk-nav-inner { max-width: 1200px; padding: 0 20px; }
.pj-dir .rmk-nav button { font: 600 12px/1 var(--pj-sans); letter-spacing: .14em; color: var(--pj-ink); padding: 18px 20px 16px; }
.pj-dir .rmk-nav button:hover { color: var(--pj-red); }
.pj-dir .rmk-nav button.active { color: var(--pj-ink); border-bottom-color: var(--pj-red); }
.pj-dir .rmk-section { width: calc(100% - 40px); padding-top: 40px; }
.pj-dir .rmk-section-head { border-bottom: 0; }
.pj-dir .rmk-section-head h2 { font-size: 2.6rem !important; line-height: 1 !important; }
.pj-dir .rmk-section-head--events h2 { font: var(--pj-label) !important; letter-spacing: .2em !important; color: var(--pj-mute) !important; text-transform: uppercase; }
.pj-dir .rmk-count { color: var(--pj-mute); letter-spacing: .14em; }
.pj-dir .rmk-pill { border-color: var(--pj-line); color: var(--pj-ink); font: 600 11px/1 var(--pj-sans); letter-spacing: .12em; text-transform: uppercase; padding: 10px 14px; background: #fff; }
.pj-dir .rmk-pill:hover { border-color: var(--pj-ink); background: #fff; color: var(--pj-ink); }
.pj-dir .rmk-pill.active { background: var(--pj-ink); border-color: var(--pj-ink); color: #fff; }

/* Month-grouped event rows */
.pjd-month { margin-bottom: 44px; }
.pjd-month-h { font: 400 2.2rem/1 var(--pj-display) !important; color: var(--pj-ink); margin: 0 0 0 !important; padding-bottom: 14px; border-bottom: 2px solid var(--pj-ink); letter-spacing: -0.01em; }
.pjd-month-h span { font: 500 12px/1 var(--pj-sans); letter-spacing: .12em; color: var(--pj-mute); vertical-align: middle; margin-left: 8px; }
.pj-dir .pjd-row {
  display: grid !important; grid-template-columns: 110px minmax(0, 1fr) 220px; gap: 28px; align-items: center;
  padding: 20px 0; border: 0 !important; border-bottom: 1px solid var(--pj-line) !important; background: transparent !important;
  box-shadow: none !important; transform: none !important; transition: background .15s, padding .15s;
}
.pj-dir .pjd-row:hover { background: #fff !important; padding-left: 14px; }
.pjd-date { display: flex; flex-direction: column; align-items: flex-start; }
.pjd-wd, .pjd-now { font: 600 11px/1 var(--pj-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--pj-red); }
.pjd-now { background: var(--pj-red); color: #fff; padding: 4px 6px; }
.pjd-day { font: 400 58px/.95 var(--pj-display); color: var(--pj-ink); margin-top: 4px; }
.pjd-to { font: 500 11px/1.2 var(--pj-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--pj-mute); margin-top: 4px; }
.pj-dir .pjd-main h3 { font: 400 30px/1.08 var(--pj-display) !important; color: var(--pj-ink) !important; margin: 0 0 6px !important; letter-spacing: -0.005em !important; }
.pj-dir .pjd-row:hover .pjd-main h3 { color: var(--pj-red) !important; }
.pj-dir .pjd-main .rmk-ecard-loc { font-size: 14px; color: var(--pj-mute); margin: 0 0 10px; }
.pj-dir .rmk-tag, .pj-dir .rmk-tag-freq, .pj-dir .rmk-tag-status { font: 600 10px/1 var(--pj-sans); letter-spacing: .14em; padding: 6px 8px; border-color: var(--pj-line); color: var(--pj-ink-2); background: #fff; }
.pj-dir .rmk-tag-status--confirmed { border-color: #a5b6a8; color: #2f5a3d; }
.pj-dir .rmk-tag-status--tentative { border-color: #d3a04a; color: #7a4f0d; }
.pjd-thumb { aspect-ratio: 16 / 10; background: #e8e5de; overflow: hidden; }
.pjd-thumb img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.pjd-thumb--art { background: #fff; }
.pjd-thumb--art img { object-fit: contain; padding: 6px; }

/* Regulars / TBC */
.pjd-reg-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--pj-line); border: 1px solid var(--pj-line); border-top: 0; }
.pj-dir .pjd-reg { display: block !important; background: var(--pj-paper) !important; padding: 18px 18px 20px; border: 0 !important; box-shadow: none !important; transform: none !important; min-height: 0 !important; }
.pj-dir .pjd-reg:hover { background: #fff !important; }
.pjd-reg-k { display: block; font: 600 10px/1.3 var(--pj-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--pj-red); margin-bottom: 8px; }
.pj-dir .pjd-reg h3 { font: 400 22px/1.1 var(--pj-display) !important; color: var(--pj-ink) !important; margin: 0 0 6px !important; letter-spacing: 0 !important; }
.pj-dir .pjd-reg:hover h3 { color: var(--pj-red) !important; }
.pj-dir .pjd-reg p { font-size: 13px; color: var(--pj-mute); margin: 0; }

/* Venue atlas */
.pjd-atlas { display: grid; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); border-top: 2px solid var(--pj-ink); }
.pjd-vlist { max-height: 720px; overflow-y: auto; border-right: 1px solid var(--pj-line); scrollbar-width: thin; }
.pj-dir .pjd-venue {
  position: static !important; display: grid !important; grid-template-columns: 120px minmax(0, 1fr); gap: 16px; align-items: center;
  min-height: 0 !important; padding: 14px 18px 14px 0; background: transparent !important; color: var(--pj-ink) !important;
  border-bottom: 1px solid var(--pj-line); overflow: visible !important; transition: background .15s;
}
.pj-dir .pjd-venue:hover, .pj-dir .pjd-venue.is-on { background: #fff !important; }
.pj-dir .pjd-venue.is-on { box-shadow: inset 3px 0 0 var(--pj-red); }
.pjd-vimg { display: block; width: 120px; height: 84px; background: #e8e5de; overflow: hidden; }
.pjd-vimg img { position: static !important; width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.pjd-vtext { display: flex; flex-direction: column; min-width: 0; }
.pjd-vtype { font: 600 10px/1 var(--pj-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--pj-red); }
.pjd-vname { font: 400 23px/1.08 var(--pj-display); color: var(--pj-ink); margin: 5px 0 4px; }
.pjd-vcity { font-size: 13px; color: var(--pj-mute); }
.pjd-vnext { font: 500 12px/1.35 var(--pj-sans); color: var(--pj-ink); margin-top: 6px; }
.pjd-map-wrap { position: sticky; top: 140px; align-self: start; }
.pjd-map { height: 720px; background: #e9e6df; display: grid; place-items: center; }
.pjd-map.is-live { display: block; }
.pjd-map .leaflet-tile-pane { filter: grayscale(1) contrast(.92) brightness(1.04); }
.pjd-map-load { font: 600 12px/1 var(--pj-sans); letter-spacing: .14em; text-transform: uppercase; background: var(--pj-ink); color: #fff; border: 0; padding: 16px 22px; cursor: pointer; }
.pjd-map-load:hover { background: var(--pj-red); }
.pjd-map-note { font-size: 12px; color: var(--pj-mute); margin: 10px 0 0 16px; }
.pjd-pin { display: block; width: 16px; height: 16px; border-radius: 50%; background: var(--pj-ink); border: 2px solid #fff; box-shadow: 0 0 0 1px var(--pj-ink); }
.pjd-pin.r { background: var(--pj-red); box-shadow: 0 0 0 1px var(--pj-red); }
.pjd-pin.c { background: #a87a2a; box-shadow: 0 0 0 1px #a87a2a; }
.pjd-pin.m { background: #3d5a80; box-shadow: 0 0 0 1px #3d5a80; }
.pjd-map .leaflet-popup-content-wrapper { border-radius: 0; padding: 0; overflow: hidden; }
.pjd-map .leaflet-popup-content { margin: 0; width: 240px !important; }
.pjd-pop { display: block; color: var(--pj-ink) !important; text-decoration: none; font-family: var(--pj-sans); }
.pjd-pop img { width: 100%; height: 120px; object-fit: cover; display: block; }
.pjd-pop span { display: block; padding: 10px 12px 12px; font-size: 12px; color: var(--pj-mute); }
.pjd-pop small { display: block; font: 600 10px/1 var(--pj-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--pj-red); }
.pjd-pop b { display: block; font: 400 20px/1.1 var(--pj-display); color: var(--pj-ink); margin: 4px 0 2px; }
.pjd-pop em { display: block; font-style: normal; color: var(--pj-ink); margin-top: 6px; }
.pjd-pop i { display: block; font-style: normal; font-weight: 600; color: var(--pj-red); margin-top: 8px; }

/* Calendar + SEO block */
.pj-dir .rmk-cal { border-color: var(--pj-line); }
.pj-dir .rmk-cal-header h3 { font: 400 26px/1 var(--pj-display); }
.pj-dir .rmk-seo { border-top: 1px solid var(--pj-ink); }
.pj-dir .rmk-seo h2 { font-size: 2.2rem !important; }
.pj-dir .rmk-seo-card { background: var(--pj-paper); }
.pj-dir .rmk-seo-card h3 { font: 400 22px/1.1 var(--pj-display); }
.pj-dir .rmk-seo-card h3 a { color: var(--pj-ink); }
.pj-dir .rmk-seo-card h3 a:hover { color: var(--pj-red); }

@media (max-width: 980px) {
  .pjd-reg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .pjd-atlas { grid-template-columns: 1fr; }
  .pjd-map-wrap { position: static; order: -1; }
  .pjd-map { height: 340px; }
  .pjd-vlist { max-height: none; border-right: 0; }
}
@media (max-width: 680px) {
  .pj-dir .rmk-hero-inner { padding: 32px 18px 28px; }
  .pj-dir .pjd-row { grid-template-columns: 70px minmax(0, 1fr); gap: 16px; }
  .pjd-thumb { display: none; }
  .pjd-day { font-size: 44px; }
  .pj-dir .pjd-main h3 { font-size: 24px !important; }
  .pjd-reg-grid { grid-template-columns: 1fr; }
  .pj-dir .pjd-venue { grid-template-columns: 92px minmax(0, 1fr); }
  .pjd-vimg { width: 92px; height: 70px; }
  .pjd-vname { font-size: 20px; }
}

/* ================================================================
   STAGE 5 · Tools hub + tool pages (body.pj-tool / .pj-tools-hub)
   Visual only: forms, IDs and tool JS untouched.
   ================================================================ */
/* Tools hub reuses the stage-3 listing look */
.pj-tools-hub .listing-section h1.entry-title + p { font-size: 1.08rem; color: var(--pj-ink-2); max-width: 680px; margin: -6px 0 36px; }
.pj-tools-hub .listing-card-content h2, .pj-tools-hub .listing-card-content h2 a { font: 400 30px/1.08 var(--pj-display) !important; color: var(--pj-ink) !important; margin: 0 0 8px; }
.pj-tools-hub .listing-card:hover h2, .pj-tools-hub .listing-card:hover h2 a { color: var(--pj-red) !important; }

/* Tool page shells */
body.pj-tool .garage-page, body.pj-tool .vin-tool-page {
  --g-navy: var(--pj-ink); --g-ink: var(--pj-ink); --g-teal: var(--pj-red); --g-teal-dark: var(--pj-red-dk);
  --g-teal-light: #f6e3e5; --g-line: var(--pj-line); --g-muted: var(--pj-mute);
  padding-top: 56px;
}
body.pj-tool .garage-page__eyebrow, body.pj-tool .vin-tool-page__eyebrow { font: var(--pj-label) !important; letter-spacing: .2em !important; color: var(--pj-red) !important; margin-bottom: 16px; }
body.pj-tool .garage-page h1, body.pj-tool .vin-tool-page__header h1 {
  font-family: var(--pj-display) !important; font-weight: 400 !important; color: var(--pj-ink) !important;
  font-size: clamp(2.8rem, 6vw, 4.8rem) !important; line-height: 1 !important; letter-spacing: -0.01em;
}
body.pj-tool .garage-page__lede, body.pj-tool .vin-tool-page__header > p:last-child { color: var(--pj-ink-2) !important; }
body.pj-tool .garage-page h2, body.pj-tool .vin-tool-page h2 { font-family: var(--pj-display) !important; font-weight: 400 !important; color: var(--pj-ink) !important; letter-spacing: -0.005em; }
body.pj-tool .garage-page a, body.pj-tool .vin-tool-page__report a, body.pj-tool .vin-tool-page__section a { color: var(--pj-ink) !important; text-decoration: underline; text-decoration-color: var(--pj-red); text-underline-offset: 3px; }
body.pj-tool .garage-page a:hover, body.pj-tool .vin-tool-page a:hover { color: var(--pj-red) !important; }
body.pj-tool .vin-tool-page__section { border-top-color: var(--pj-ink) !important; }

/* Panels + forms: square, ink band instead of navy/teal gradient */
body.pj-tool .garage-panel { border-radius: 0 !important; border: 1px solid var(--pj-ink) !important; box-shadow: none !important; }
body.pj-tool .mcf-form, body.pj-tool .pc-controls { background: var(--pj-night) !important; }
body.pj-tool .garage-page input, body.pj-tool .garage-page select, body.pj-tool .garage-page button { border-radius: 0 !important; }
body.pj-tool .garage-page button[type="submit"], body.pj-tool .mcf-form__actions button {
  background: var(--pj-red) !important; color: #fff !important; border-color: var(--pj-red) !important;
  font: 600 12px/1 var(--pj-sans) !important; letter-spacing: .14em; text-transform: uppercase;
}
body.pj-tool .mcf-top { border-radius: 0 !important; background: #fff !important; }
body.pj-tool .mcf-top:first-child { border: 2px solid var(--pj-ink) !important; border-top: 4px solid var(--pj-red) !important; }
body.pj-tool .mcf-top__rank { border-radius: 0 !important; background: var(--pj-ink) !important; }
body.pj-tool .pc-table thead th { font-family: var(--pj-display); font-weight: 400; font-size: 1.2rem; border-bottom: 2px solid var(--pj-ink); }
body.pj-tool .garage-page .pc-table tbody th { background: var(--pj-paper) !important; }
body.pj-tool .garage-pairs a { border-radius: 0 !important; background: #fff; }

/* VIN decoder: ink panel, red action, square corners (keep yellow off) */
body.pj-tool .rd-vin { --vin-ink: var(--pj-night); --vin-navy: #1c1d21; --vin-yellow: #ffffff; --vin-teal: var(--pj-red); border-radius: 0 !important; }
body.pj-tool .rd-vin, body.pj-tool .rd-vin * { border-radius: 0 !important; }
body.pj-tool .rd-vin__decode { background: var(--pj-red) !important; color: #fff !important; font: 600 12px/1 var(--pj-sans) !important; letter-spacing: .14em; text-transform: uppercase; }
body.pj-tool .rd-vin__decode:hover { background: var(--pj-red-dk) !important; }
body.pj-tool .rd-vin__decode:focus-visible, body.pj-tool .rd-vin__sample button:focus-visible, body.pj-tool .rd-vin__copy-result:focus-visible { outline-color: #fff !important; }
body.pj-tool .rd-vin__sample button { border-color: rgba(255,255,255,.55) !important; color: #fff !important; }
body.pj-tool .rd-vin__sample button:hover { background: #fff !important; color: var(--pj-ink) !important; }
body.pj-tool .rd-vin__result-head > a, body.pj-tool .rd-vin__result-head > .rd-vin__result-status, body.pj-tool .rd-vin__help a { color: var(--pj-red) !important; }
body.pj-tool .rd-vin__copy-result:hover { background: var(--pj-red) !important; border-color: var(--pj-red) !important; }
body.pj-tool .rd-vin__warning { border-left-color: #d3a04a !important; }

/* ================================================================
   POLISH · remaining page types (venue/event/rental detail, contact,
   about, search, newsletter, rentals hub). Visual only.
   ================================================================ */
/* Detail pages (places, events, rentals) */
body.pj-detail .entry-title { font-family: var(--pj-display) !important; font-weight: 400 !important; font-size: clamp(2.4rem, 5vw, 4rem) !important; line-height: 1.02 !important; color: var(--pj-ink) !important; letter-spacing: -0.01em; text-wrap: balance; }
body.pj-detail .post-meta { font: 500 11px/1.4 var(--pj-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--pj-mute); }
body.pj-detail .back-to-hub { background: transparent !important; border-radius: 0 !important; padding: 0 !important; font: 600 11px/1 var(--pj-sans) !important; letter-spacing: .16em; text-transform: uppercase; color: var(--pj-red) !important; }
body.pj-detail .ev-hero { background: var(--pj-night) !important; border-radius: 0 !important; box-shadow: none !important; border-top: 3px solid var(--pj-red); }
body.pj-detail .ev-hero-img, body.pj-detail .place-hero-img { border-radius: 0 !important; }
body.pj-detail .place-type-badge { border-radius: 0 !important; background: var(--pj-red) !important; letter-spacing: .14em; }
body.pj-detail .ev-info { background: #fff !important; border: 1px solid var(--pj-line); border-top: 2px solid var(--pj-ink); border-radius: 0 !important; box-shadow: none !important; }
body.pj-detail .ev-socials a { border-radius: 0 !important; }
body.pj-detail .entry-content h2 { font-family: var(--pj-display) !important; font-weight: 400 !important; font-size: 2.1rem !important; line-height: 1.08 !important; color: var(--pj-ink); margin-top: 1.6em; padding-top: .7em; border-top: 1px solid var(--pj-line); }
body.pj-detail .entry-content p a, body.pj-detail .entry-content li a { color: var(--pj-ink); text-decoration: underline; text-decoration-color: var(--pj-red); text-underline-offset: 3px; }
body.pj-detail .entry-content img, body.pj-detail .rd-carousel, body.pj-detail .rd-gallery-item, body.pj-detail iframe { border-radius: 0 !important; }
body.pj-detail .renn-take { border-radius: 0 !important; background: #fff !important; border: 1px solid var(--pj-line) !important; border-top: 3px solid var(--pj-red) !important; }

/* Plain pages: contact, about, search */
body.pj-plain h1, body.pj-plain .entry-title, body.pj-plain .rd-search-title {
  font-family: var(--pj-display) !important; font-weight: 400 !important; font-size: clamp(2.8rem, 6vw, 4.6rem) !important;
  line-height: 1 !important; color: var(--pj-ink) !important; letter-spacing: -0.01em !important;
}
body.pj-plain h2 { font-family: var(--pj-display) !important; font-weight: 400 !important; color: var(--pj-ink) !important; letter-spacing: -0.005em !important; }
body.pj-plain .rd-search-sub { color: var(--pj-ink-2) !important; }
body.pj-plain input[type="text"], body.pj-plain input[type="email"], body.pj-plain input[type="search"], body.pj-plain textarea, body.pj-plain select {
  border-radius: 0 !important; border-color: var(--pj-line) !important; background: #fff !important;
}
body.pj-plain input:focus, body.pj-plain textarea:focus { border-color: var(--pj-ink) !important; outline: none; box-shadow: none !important; }
body.pj-plain .form-submit-btn, body.pj-plain button[type="submit"] {
  border-radius: 0 !important; background: var(--pj-ink) !important; color: #fff !important;
  font: 600 12px/1 var(--pj-sans) !important; letter-spacing: .14em; text-transform: uppercase; padding: 16px 22px !important;
}
body.pj-plain .form-submit-btn:hover, body.pj-plain button[type="submit"]:hover { background: var(--pj-red) !important; }
body.pj-plain .entry-content p a, body.pj-plain .entry-content li a { color: var(--pj-ink); text-decoration: underline; text-decoration-color: var(--pj-red); text-underline-offset: 3px; }
body.pj-plain .entry-content img { border-radius: 0 !important; }

/* Newsletter landing */
body.pj-news h1 { font-family: var(--pj-display) !important; font-weight: 400 !important; font-size: clamp(2.8rem, 5vw, 4.4rem) !important; line-height: 1 !important; letter-spacing: -0.01em !important; color: var(--pj-ink) !important; }
body.pj-news h1 span { color: var(--pj-red) !important; }
body.pj-news .newsletter-intro, body.pj-news .newsletter-fineprint { color: var(--pj-ink-2) !important; }
body.pj-news input { border-radius: 0 !important; border-color: var(--pj-line) !important; }
body.pj-news .newsletter-form button { border-radius: 0 !important; background: var(--pj-ink) !important; border-color: var(--pj-ink) !important; font: 600 12px/1 var(--pj-sans) !important; letter-spacing: .14em; text-transform: uppercase; }
body.pj-news .newsletter-form button:hover { background: var(--pj-red) !important; border-color: var(--pj-red) !important; }
body.pj-news .newsletter-photo, body.pj-news .newsletter-photo img { border-radius: 0 !important; }
body.pj-news .newsletter-fineprint a { color: var(--pj-ink) !important; text-decoration-color: var(--pj-red) !important; }

/* Rentals hub: ink band instead of teal box */
body.pj-rentals .rentals-hero { background: var(--pj-night) !important; border-top: 3px solid var(--pj-red); margin-left: 0 !important; margin-right: 0 !important; }
body.pj-rentals .rentals-hero-eyebrow { font: var(--pj-label) !important; letter-spacing: .2em !important; color: #e8a3ab !important; }
body.pj-rentals .rentals-hero-title { font-family: var(--pj-display) !important; font-weight: 400 !important; font-size: clamp(2.6rem, 5vw, 4rem) !important; line-height: 1.02 !important; }
body.pj-rentals .rentals-card { border-radius: 0 !important; box-shadow: none !important; background: #fff !important; border: 1px solid var(--pj-line) !important; }
body.pj-rentals .rentals-card-img { border-radius: 0 !important; }
body.pj-rentals .rentals-card-name { font-family: var(--pj-display) !important; font-weight: 400 !important; font-size: 1.7rem !important; line-height: 1.08 !important; }
body.pj-rentals .rentals-card-cta { color: var(--pj-red) !important; font: 600 11px/1 var(--pj-sans) !important; letter-spacing: .14em; text-transform: uppercase; }
body.pj-rentals .rentals-card-img-wrap { border-radius: 0 !important; }
/* rentals hero sits on the ink band: beat the generic body.pj-page h1 ink colour */
body.pj-rentals .rentals-hero h1, body.pj-rentals .rentals-hero-title { color: #fff !important; }
body.pj-rentals .rentals-hero-sub { color: #cfccc4 !important; }

/* ================================================================
   TOOLS PREMIUM · one "instrument" system for every tool
   (VIN decoder, Compare, Manual Car Finder, Gift Finder, Diagnostic
   checker). Light paper panels, hairlines, small-caps labels,
   underline fields, serif results, tabular figures. No pills, no
   gradients, no shadows, no teal/navy. Ink is the action colour;
   red is reserved for the one primary button and markers.
   Visual only: markup, IDs, data-attributes and tool JS untouched.
   ================================================================ */
:root {
  --ti-hair: #d9d4c8;
  --ti-soft: #fbfaf6;
  --ti-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23121212' stroke-width='1.4'/%3E%3C/svg%3E");
}

/* ---------- Shared panel shell ---------- */
body.pj-tool .garage-panel,
.gift-finder,
.diagnostic-finder,
body.pj-tool .rd-vin {
  background: #fff !important;
  color: var(--pj-ink) !important;
  border: 0 !important;
  border-top: 2px solid var(--pj-ink) !important;
  border-bottom: 1px solid var(--pj-ink) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.gift-finder *, .diagnostic-finder *, body.pj-tool .garage-panel *, body.pj-tool .rd-vin * { border-radius: 0 !important; box-shadow: none !important; }

/* ---------- Panel intros (gift + diagnostic) ---------- */
.gift-finder__intro, .diagnostic-finder__intro {
  background: transparent !important; color: var(--pj-ink) !important;
  padding: 34px 40px 26px !important; border-bottom: 1px solid var(--ti-hair) !important;
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px;
}
.gift-finder__intro::after, .diagnostic-finder__intro::after { display: none !important; }
.gift-finder__eyebrow, .diagnostic-finder__eyebrow {
  font: var(--pj-label) !important; letter-spacing: .22em !important; text-transform: uppercase;
  color: var(--pj-red) !important; border: 0 !important; padding: 0 !important; margin: 0 !important; width: auto !important;
}
.gift-finder__eyebrow::after, .diagnostic-finder__eyebrow::after { display: none !important; }
.gift-finder__intro h2, .diagnostic-finder__intro h2 {
  font: 400 clamp(2rem, 3.4vw, 2.75rem)/1.04 var(--pj-display) !important; color: var(--pj-ink) !important;
  letter-spacing: -.01em; margin: 0 !important; border: 0 !important; padding: 0 !important; text-wrap: balance;
}
.gift-finder__intro > p:last-of-type { color: var(--pj-ink-2) !important; font-size: 1rem !important; max-width: 60ch; margin: 2px 0 0 !important; }

/* ---------- Field labels: small caps ---------- */
body.pj-tool .mcf-form > label, body.pj-tool .pc-controls > label,
.gift-finder legend, .gift-finder__search label, .diagnostic-finder legend,
body.pj-tool .rd-vin__form > label {
  font: 600 10.5px/1.2 var(--pj-sans) !important; letter-spacing: .18em !important; text-transform: uppercase;
  color: var(--pj-mute) !important;
}
.gift-finder legend span {
  background: transparent !important; color: var(--pj-red) !important; width: auto !important; height: auto !important;
  display: inline !important; font: inherit !important; margin-right: 8px !important;
}
.gift-finder legend span::before { content: "0"; }
.gift-finder fieldset, .diagnostic-finder fieldset { border: 0 !important; padding: 0 !important; margin: 0 !important; min-width: 0; }

/* ---------- Underline fields ---------- */
body.pj-tool .garage-page select, body.pj-tool .garage-page input[type="search"], body.pj-tool .garage-page input[type="text"],
.gift-finder select, .gift-finder input[type="search"],
.diagnostic-finder select,
body.pj-tool .rd-vin input[type="text"] {
  -webkit-appearance: none !important; appearance: none !important;
  background-color: transparent !important; color: var(--pj-ink) !important;
  border: 0 !important; border-bottom: 1px solid var(--pj-ink) !important;
  padding: 10px 26px 10px 0 !important; min-height: 46px !important; height: auto !important;
  font: 500 16px/1.3 var(--pj-sans) !important; letter-spacing: 0 !important; width: 100%;
  transition: border-color .15s ease;
}
body.pj-tool .garage-page select, .gift-finder select, .diagnostic-finder select {
  background-image: var(--ti-chev) !important; background-repeat: no-repeat !important; background-position: right 2px center !important; background-size: 12px 8px !important;
  cursor: pointer;
}
body.pj-tool .garage-page select:hover, .gift-finder select:hover, .diagnostic-finder select:hover { border-bottom-color: var(--pj-red) !important; }
body.pj-tool .garage-page select:focus-visible, body.pj-tool .garage-page input[type="search"]:focus-visible, body.pj-tool .garage-page input[type="text"]:focus-visible,
.gift-finder select:focus-visible, .gift-finder input:focus-visible, .diagnostic-finder select:focus-visible,
body.pj-tool .rd-vin input:focus-visible {
  outline: none !important; border-bottom: 2px solid var(--pj-red) !important; padding-bottom: 9px !important;
}
body.pj-tool .garage-page ::placeholder, .gift-finder ::placeholder, body.pj-tool .rd-vin ::placeholder { color: #9a968d !important; opacity: 1; }
.gift-finder button:focus-visible, .gift-finder a:focus-visible, .diagnostic-finder button:focus-visible,
.diagnostic-finder a:focus-visible, .diagnostic-finder summary:focus-visible,
body.pj-tool .garage-page button:focus-visible, body.pj-tool .garage-page a:focus-visible, body.pj-tool .rd-vin button:focus-visible {
  outline: 2px solid var(--pj-ink) !important; outline-offset: 3px !important;
}

/* ---------- Buttons ---------- */
body.pj-tool .garage-page button[type="submit"], body.pj-tool .mcf-form__actions button,
.gift-finder__search button, body.pj-tool .rd-vin__decode {
  background: var(--pj-ink) !important; color: #fff !important; border: 1px solid var(--pj-ink) !important;
  font: 600 11.5px/1 var(--pj-sans) !important; letter-spacing: .18em !important; text-transform: uppercase;
  padding: 0 26px !important; min-height: 46px !important; cursor: pointer; transition: background .15s ease, border-color .15s ease;
}
body.pj-tool .garage-page button[type="submit"]:hover, body.pj-tool .mcf-form__actions button:hover,
.gift-finder__search button:hover, body.pj-tool .rd-vin__decode:hover { background: var(--pj-red) !important; border-color: var(--pj-red) !important; }
.gift-finder__reset, .diagnostic-finder__reset, body.pj-tool .rd-vin__copy-result {
  background: transparent !important; color: var(--pj-ink) !important; border: 0 !important; border-bottom: 1px solid var(--pj-ink) !important;
  padding: 4px 0 !important; font: 600 10.5px/1.2 var(--pj-sans) !important; letter-spacing: .18em !important; text-transform: uppercase; cursor: pointer;
}
.gift-finder__reset:hover, .diagnostic-finder__reset:hover, body.pj-tool .rd-vin__copy-result:hover { color: var(--pj-red) !important; border-bottom-color: var(--pj-red) !important; background: transparent !important; }
.gift-finder__reset[hidden], .diagnostic-finder__reset[hidden] { display: none !important; }

/* ================= Manual Car Finder + Compare ================= */
body.pj-tool .mcf-form, body.pj-tool .pc-controls {
  background: #fff !important; color: var(--pj-ink) !important;
  padding: 30px 40px 32px !important; gap: 26px 32px !important; border-bottom: 1px solid var(--ti-hair);
}
body.pj-tool .mcf-form > label, body.pj-tool .pc-controls > label { display: flex !important; flex-direction: column; gap: 4px; }
body.pj-tool .mcf-form__check {
  flex-direction: row !important; align-items: center; gap: 12px !important; align-self: end; min-height: 46px;
  font: 500 15px/1.2 var(--pj-sans) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--pj-ink) !important;
  border-bottom: 1px solid var(--pj-ink); cursor: pointer;
}
body.pj-tool .mcf-form__check input {
  -webkit-appearance: none; appearance: none; width: 18px !important; height: 18px !important; margin: 0 !important;
  border: 1px solid var(--pj-ink) !important; background: #fff; display: grid; place-content: center; flex: none;
}
body.pj-tool .mcf-form__check input:checked { background: var(--pj-ink); }
body.pj-tool .mcf-form__check input:checked::after { content: ""; width: 9px; height: 5px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: translateY(-1px) rotate(-45deg); }
body.pj-tool .mcf-form__actions { align-self: end; }
body.pj-tool .mcf-form__actions button { width: 100%; }

body.pj-tool .mcf-out, body.pj-tool .pc-out { padding: 34px 40px 40px !important; background: #fff !important; }
body.pj-tool .mcf-h {
  font: 400 2rem/1.05 var(--pj-display) !important; color: var(--pj-ink) !important; margin: 0 0 18px !important;
  padding-bottom: 12px; border-bottom: 1px solid var(--pj-ink);
}
/* Top picks: catalogue columns separated by hairlines, not boxes */
body.pj-tool .mcf-tops { gap: 0 !important; border-left: 1px solid var(--ti-hair); margin-bottom: 44px !important; }
body.pj-tool .mcf-top, body.pj-tool .mcf-top:first-child {
  background: transparent !important; border: 0 !important; border-right: 1px solid var(--ti-hair) !important;
  border-top: 2px solid transparent !important; padding: 22px 26px 26px !important;
}
body.pj-tool .mcf-top:first-child { border-top-color: var(--pj-red) !important; background: var(--ti-soft) !important; }
body.pj-tool .mcf-top__rank {
  background: transparent !important; color: var(--pj-red) !important; padding: 0 !important;
  font: 600 10.5px/1 var(--pj-sans) !important; letter-spacing: .2em !important; text-transform: uppercase; display: block !important; margin-bottom: 14px !important;
}
body.pj-tool .mcf-top h3 { font: 400 1.75rem/1.06 var(--pj-display) !important; color: var(--pj-ink) !important; margin: 0 0 8px !important; letter-spacing: -.005em; }
body.pj-tool .mcf-top__meta { font-size: .84rem !important; color: var(--pj-mute) !important; line-height: 1.55 !important; }
body.pj-tool .mcf-top__price { font: 400 2.3rem/1 var(--pj-display) !important; color: var(--pj-ink) !important; font-variant-numeric: tabular-nums lining-nums; margin: 16px 0 6px !important; }
body.pj-tool .mcf-top__why { list-style: none !important; padding: 12px 0 !important; margin: 12px 0 !important; border-top: 1px solid var(--ti-hair); border-bottom: 1px solid var(--ti-hair); }
body.pj-tool .mcf-top__why li { position: relative; padding-left: 18px !important; font-size: .9rem !important; line-height: 1.5 !important; margin: 4px 0 !important; }
body.pj-tool .mcf-top__why li::before { content: ""; position: absolute; left: 0; top: .72em; width: 9px; height: 1px; background: var(--pj-red); }
body.pj-tool .mcf-top__verdict { font-size: .92rem !important; line-height: 1.6 !important; color: var(--pj-ink-2) !important; }
body.pj-tool .mcf-top__check { font-size: .84rem !important; color: var(--pj-ink-2) !important; }
body.pj-tool .mcf-top__check strong { color: var(--pj-ink) !important; font: 600 10px/1.4 var(--pj-sans) !important; letter-spacing: .16em; text-transform: uppercase; display: block; margin-bottom: 2px; }
body.pj-tool .mcf-top__links a, body.pj-tool .mcf-card__guide { font: 600 10.5px/1.2 var(--pj-sans) !important; letter-spacing: .16em; text-transform: uppercase; }

/* All matches: ledger rows */
body.pj-tool .mcf-list { border-top: 1px solid var(--pj-ink) !important; gap: 0 !important; }
body.pj-tool .mcf-row { background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--ti-hair) !important; padding: 16px 4px !important; transition: background .15s ease; }
body.pj-tool .mcf-row:hover { background: var(--ti-soft) !important; }
body.pj-tool .mcf-row strong { font: 400 1.3rem/1.15 var(--pj-display) !important; color: var(--pj-ink) !important; }
body.pj-tool .mcf-row span { color: var(--pj-mute) !important; }
body.pj-tool .mcf-row__right { font-variant-numeric: tabular-nums; }
body.pj-tool .mcf-row__right strong { font: 600 1rem/1.2 var(--pj-sans) !important; }
body.pj-tool .mcf-near, body.pj-tool .pc-sources { background: transparent !important; border: 0 !important; border-top: 1px solid var(--ti-hair) !important; padding: 16px 0 !important; }
body.pj-tool .mcf-near summary, body.pj-tool .pc-sources summary { font: 600 10.5px/1.4 var(--pj-sans) !important; letter-spacing: .16em; text-transform: uppercase; color: var(--pj-ink) !important; cursor: pointer; }
body.pj-tool .mcf-note, body.pj-tool .mcf-empty, body.pj-tool .pc-empty { background: transparent !important; border: 0 !important; border-left: 2px solid var(--pj-ink) !important; padding: 4px 0 4px 16px !important; color: var(--pj-ink-2) !important; font-size: .9rem !important; }

/* Compare: spec sheet */
body.pj-tool .pc-scroll { border: 0 !important; }
body.pj-tool .pc-table { border-collapse: collapse !important; border: 0 !important; font-variant-numeric: tabular-nums lining-nums; }
body.pj-tool .pc-table th, body.pj-tool .pc-table td { border: 0 !important; border-bottom: 1px solid var(--ti-hair) !important; padding: 14px 18px !important; background: transparent !important; vertical-align: top; }
body.pj-tool .pc-table thead th {
  font: 400 1.6rem/1.08 var(--pj-display) !important; color: var(--pj-ink) !important;
  border-bottom: 2px solid var(--pj-ink) !important; padding-bottom: 18px !important; vertical-align: bottom;
}
body.pj-tool .pc-table thead th a { display: block; margin-top: 10px; font: 600 10px/1 var(--pj-sans) !important; letter-spacing: .18em; text-transform: uppercase; }
body.pj-tool .garage-page .pc-table tbody th {
  background: transparent !important; font: 600 10.5px/1.4 var(--pj-sans) !important; letter-spacing: .14em; text-transform: uppercase;
  color: var(--pj-mute) !important; width: 17%; padding-left: 0 !important;
}
body.pj-tool .garage-page .pc-table td { font-size: .96rem !important; color: var(--pj-ink) !important; }
body.pj-tool .garage-page .pc-table td.pc-win, body.pj-tool .pc-win {
  background: transparent !important; color: var(--pj-ink) !important; font-weight: 600 !important; position: relative;
}
body.pj-tool .garage-page .pc-table td.pc-win::before { content: ""; position: absolute; left: 0; top: 16px; bottom: 16px; width: 2px; background: var(--pj-red); }
body.pj-tool .pc-issues li { border-color: var(--ti-hair) !important; }
body.pj-tool .garage-pairs a {
  background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--pj-ink) !important; padding: 6px 0 !important;
  font: 500 .95rem/1.3 var(--pj-sans) !important; text-decoration: none !important;
}
body.pj-tool .garage-pairs a:hover { color: var(--pj-red) !important; border-bottom-color: var(--pj-red) !important; }

/* ================= VIN decoder ================= */
body.pj-tool .rd-vin { margin: 8px 0 40px !important; }
body.pj-tool .rd-vin__form { padding: 30px 40px 24px !important; background: transparent !important; }
body.pj-tool .rd-vin__form > label { display: block; margin-bottom: 6px !important; }
body.pj-tool .rd-vin__input-row { gap: 20px !important; align-items: end; }
body.pj-tool .rd-vin input[type="text"] {
  font: 500 clamp(20px, 2.4vw, 28px)/1.2 var(--pj-sans) !important; letter-spacing: .14em !important; text-transform: uppercase;
  min-height: 60px !important; font-variant-numeric: tabular-nums;
}
body.pj-tool .rd-vin__decode { min-height: 52px !important; }
body.pj-tool .rd-vin__samples { padding: 18px 40px 26px !important; background: var(--ti-soft) !important; border-top: 1px solid var(--ti-hair); color: var(--pj-ink) !important; }
body.pj-tool .rd-vin__samples > p { font: 600 10.5px/1.2 var(--pj-sans) !important; letter-spacing: .18em; text-transform: uppercase; color: var(--pj-mute) !important; }
body.pj-tool .rd-vin__sample-grid { gap: 0 !important; border-left: 1px solid var(--ti-hair); }
body.pj-tool .rd-vin__sample { background: transparent !important; border: 0 !important; border-right: 1px solid var(--ti-hair) !important; padding: 6px 20px !important; color: var(--pj-ink) !important; }
body.pj-tool .rd-vin__sample span { color: var(--pj-mute) !important; font: 600 10px/1.2 var(--pj-sans) !important; letter-spacing: .16em; }
body.pj-tool .rd-vin__sample code { color: var(--pj-ink) !important; background: transparent !important; font-size: 15px !important; letter-spacing: .1em; }
body.pj-tool .rd-vin__sample button {
  background: transparent !important; color: var(--pj-ink) !important; border: 0 !important; border-bottom: 1px solid var(--pj-ink) !important;
  padding: 3px 0 !important; font: 600 10px/1 var(--pj-sans) !important; letter-spacing: .18em; text-transform: uppercase;
}
body.pj-tool .rd-vin__sample button:hover { color: var(--pj-red) !important; border-bottom-color: var(--pj-red) !important; background: transparent !important; }
body.pj-tool .rd-vin__copy-status { color: var(--pj-mute) !important; }
body.pj-tool .rd-vin__result { background: #fff !important; color: var(--pj-ink) !important; border-top: 1px solid var(--pj-ink) !important; padding: 30px 40px !important; }
body.pj-tool .rd-vin__result h3 { font: 400 2.2rem/1.04 var(--pj-display) !important; color: var(--pj-ink) !important; }
body.pj-tool .rd-vin__summary { color: var(--pj-ink-2) !important; }
body.pj-tool .rd-vin__fields { border-top: 1px solid var(--ti-hair) !important; gap: 0 !important; }
body.pj-tool .rd-vin__fields dt { font: 600 10px/1.3 var(--pj-sans) !important; letter-spacing: .16em; text-transform: uppercase; color: var(--pj-mute) !important; }
body.pj-tool .rd-vin__fields dd { color: var(--pj-ink) !important; font-variant-numeric: tabular-nums; }
body.pj-tool .rd-vin__fields > * { border-color: var(--ti-hair) !important; background: transparent !important; }
body.pj-tool .rd-vin__warning { background: var(--ti-soft) !important; color: var(--pj-ink) !important; border: 0 !important; border-left: 2px solid var(--pj-red) !important; }
body.pj-tool .rd-vin__help, body.pj-tool .rd-vin__help a { color: var(--pj-ink-2) !important; }

/* ================= Gift Finder ================= */
.gift-finder { margin-top: 8px !important; }
.gift-finder__search { background: transparent !important; padding: 26px 40px 6px !important; border: 0 !important; }
.gift-finder__search > div { gap: 20px !important; align-items: end; }
.gift-finder__controls {
  background: transparent !important; padding: 22px 40px 30px !important; border: 0 !important;
  display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 28px !important;
}
.gift-finder fieldset { display: flex; flex-direction: column; gap: 4px; }
.gift-finder__result-bar {
  background: transparent !important; border: 0 !important; border-top: 1px solid var(--pj-ink) !important;
  margin: 0 40px !important; padding: 18px 0 10px !important; display: flex; align-items: baseline; justify-content: space-between;
}
.gift-finder__result-bar strong { font: 400 1.9rem/1.05 var(--pj-display) !important; color: var(--pj-ink) !important; display: block; }
.gift-finder__result-bar span { font: 600 10.5px/1.6 var(--pj-sans) !important; letter-spacing: .16em; text-transform: uppercase; color: var(--pj-mute) !important; }
.gift-finder__disclosure { margin: 0 40px 22px !important; padding: 0 !important; background: transparent !important; color: var(--pj-mute) !important; font-size: .76rem !important; }
.gift-finder__disclosure strong { color: var(--pj-ink-2) !important; font-weight: 600 !important; }
.gift-finder__empty { margin: 0 40px 20px !important; background: transparent !important; border: 0 !important; border-left: 2px solid var(--pj-ink) !important; padding: 4px 0 4px 16px !important; }
.gift-finder__results {
  background: transparent !important; padding: 0 !important; margin: 0 40px 34px !important;
  display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 0 !important;
  border-top: 1px solid var(--ti-hair); border-left: 1px solid var(--ti-hair);
}
.gift-card {
  background: #fff !important; border: 0 !important; border-right: 1px solid var(--ti-hair) !important; border-bottom: 1px solid var(--ti-hair) !important;
  padding: 24px 24px 20px !important; display: flex !important; flex-direction: column; min-height: 250px; position: relative;
  transform: none !important; transition: background .18s ease !important;
}
.gift-card::before { content: ""; position: absolute; left: -1px; right: -1px; top: -1px; height: 2px; background: transparent; transition: background .18s ease; }
.gift-card:hover, .gift-card:focus-within { background: var(--ti-soft) !important; border-color: var(--ti-hair) !important; }
.gift-card:hover::before, .gift-card:focus-within::before { background: var(--pj-red); }
.gift-card[hidden] { display: none !important; }
.gift-card__topline { display: flex !important; justify-content: space-between; align-items: baseline; margin-bottom: 18px !important; gap: 12px; }
.gift-card__icon {
  background: transparent !important; color: var(--pj-mute) !important; padding: 0 !important; min-width: 0 !important; height: auto !important;
  font: 600 10px/1 var(--pj-sans) !important; letter-spacing: .2em !important;
}
.gift-card__badge { color: var(--pj-red) !important; background: transparent !important; padding: 0 !important; font: 600 10px/1.2 var(--pj-sans) !important; letter-spacing: .18em !important; text-transform: uppercase; text-align: right; }
.gift-card__title { font: 400 1.5rem/1.1 var(--pj-display) !important; color: var(--pj-ink) !important; margin: 0 0 10px !important; letter-spacing: -.003em; text-wrap: balance; }
.gift-card__description { font-size: .88rem !important; line-height: 1.55 !important; color: var(--pj-ink-2) !important; margin: 0 0 18px !important; }
.gift-card__footer {
  margin-top: auto !important; padding-top: 14px !important; border-top: 1px solid var(--ti-hair) !important;
  display: flex !important; justify-content: space-between; align-items: baseline; gap: 12px;
}
.gift-card__footer > span { font: 600 10px/1.2 var(--pj-sans) !important; letter-spacing: .16em !important; text-transform: uppercase; color: var(--pj-mute) !important; }
.gift-card__footer a, body:has(.gift-finder) .entry-content .gift-card__footer a {
  color: var(--pj-ink) !important; background: transparent !important; text-decoration: none !important; padding: 0 !important; border: 0 !important;
  font: 600 10.5px/1.2 var(--pj-sans) !important; letter-spacing: .16em !important; text-transform: uppercase; white-space: nowrap;
}
.gift-card:hover .gift-card__footer a { color: var(--pj-red) !important; }
.gift-finder__report { margin: 0 40px !important; padding: 0 0 28px !important; background: transparent !important; border: 0 !important; }
.gift-finder__report a { color: var(--pj-ink) !important; font-size: .86rem !important; text-decoration: underline !important; text-decoration-color: var(--pj-red) !important; text-underline-offset: 3px; }

/* ================= Diagnostic checker ================= */
.diagnostic-finder__controls {
  background: transparent !important; padding: 26px 40px 30px !important; border: 0 !important;
  display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 32px !important;
}
.diagnostic-finder fieldset { display: flex; flex-direction: column; gap: 4px; }
.diagnostic-finder details { margin-top: 10px !important; }
.diagnostic-finder details summary { font: 500 .84rem/1.4 var(--pj-sans) !important; color: var(--pj-ink-2) !important; cursor: pointer; }
.diagnostic-finder details p { font-size: .84rem !important; color: var(--pj-ink-2) !important; }
.diagnostic-finder__status {
  margin: 0 40px !important; padding: 18px 0 !important; background: transparent !important;
  border: 0 !important; border-top: 1px solid var(--pj-ink) !important; color: var(--pj-ink-2) !important;
  font: 400 1.35rem/1.25 var(--pj-display) !important;
}
.diagnostic-finder__reset { margin: 0 40px 12px !important; }
.diagnostic-finder__results { padding: 0 40px 24px !important; background: transparent !important; display: grid; gap: 0 !important; border: 0 !important; }
.diagnostic-finder__grouping { font-size: .84rem !important; color: var(--pj-mute) !important; margin: 0 0 14px !important; }
.diagnostic-card {
  background: transparent !important; border: 0 !important; border-top: 1px solid var(--ti-hair) !important;
  padding: 20px 0 20px 22px !important; margin: 0 !important; position: relative;
}
.diagnostic-card::before { content: ""; position: absolute; left: 0; top: 24px; bottom: 24px; width: 2px; background: var(--ti-hair); }
.diagnostic-card--documented::before { background: var(--pj-ink); }
.diagnostic-card h3 { font: 400 1.6rem/1.08 var(--pj-display) !important; color: var(--pj-ink) !important; margin: 0 0 4px !important; }
.diagnostic-card h3 a { color: var(--pj-ink) !important; text-decoration: underline; text-decoration-color: var(--pj-red); text-underline-offset: 4px; }
.diagnostic-card p { font-size: .9rem !important; line-height: 1.55 !important; color: var(--pj-ink-2) !important; }
.diagnostic-card__outcome { font: 600 10.5px/1.4 var(--pj-sans) !important; letter-spacing: .16em !important; text-transform: uppercase; color: var(--pj-ink) !important; background: transparent !important; padding: 0 !important; }
.diagnostic-card--documented .diagnostic-card__outcome { color: var(--pj-red) !important; }
.diagnostic-finder__meta { margin: 0 40px !important; padding: 16px 0 24px !important; border-top: 1px solid var(--ti-hair); font-size: .78rem !important; color: var(--pj-mute) !important; }
.diagnostic-finder__meta a { color: var(--pj-ink) !important; text-decoration-color: var(--pj-red) !important; }

/* ================= Responsive ================= */
@media (max-width: 960px) {
  .gift-finder__results { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.pj-tool .mcf-form, body.pj-tool .pc-controls { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
  .gift-finder__intro, .diagnostic-finder__intro { padding: 26px 20px 20px !important; }
  .gift-finder__search { padding: 20px 20px 4px !important; }
  .gift-finder__search > div { flex-direction: column; align-items: stretch; gap: 12px !important; }
  .gift-finder__controls, .diagnostic-finder__controls { grid-template-columns: 1fr !important; padding: 18px 20px 24px !important; gap: 20px !important; }
  .gift-finder__result-bar, .gift-finder__disclosure, .gift-finder__empty, .gift-finder__report,
  .diagnostic-finder__status, .diagnostic-finder__reset, .diagnostic-finder__meta { margin-left: 20px !important; margin-right: 20px !important; }
  .gift-finder__results { grid-template-columns: 1fr !important; margin: 0 20px 26px !important; }
  .gift-card { min-height: 0; padding: 20px 18px 16px !important; }
  .diagnostic-finder__results { padding: 0 20px 20px !important; }
  body.pj-tool .mcf-form, body.pj-tool .pc-controls { grid-template-columns: 1fr !important; padding: 22px 20px 26px !important; gap: 20px !important; }
  body.pj-tool .mcf-out, body.pj-tool .pc-out { padding: 26px 20px 30px !important; }
  body.pj-tool .mcf-tops { border-left: 0; }
  body.pj-tool .mcf-top, body.pj-tool .mcf-top:first-child { border-right: 0 !important; border-bottom: 1px solid var(--ti-hair) !important; padding: 20px 4px 22px !important; }
  body.pj-tool .mcf-top:first-child { padding: 20px 16px 22px !important; }
  body.pj-tool .rd-vin__form, body.pj-tool .rd-vin__samples, body.pj-tool .rd-vin__result { padding-left: 20px !important; padding-right: 20px !important; }
  body.pj-tool .rd-vin__input-row { flex-direction: column; align-items: stretch; gap: 14px !important; }
  body.pj-tool .rd-vin__sample-grid { border-left: 0; }
  body.pj-tool .rd-vin__sample { border-right: 0 !important; border-bottom: 1px solid var(--ti-hair) !important; padding: 10px 0 !important; }
  body.pj-tool .pc-table th, body.pj-tool .pc-table td { padding: 12px 12px !important; }
  body.pj-tool .pc-table thead th { font-size: 1.25rem !important; }
}
@media (prefers-reduced-motion: reduce) {
  .gift-card, .gift-card::before, body.pj-tool .mcf-row { transition: none !important; }
}

/* --- fixes after first overlay pass --- */
body .gift-finder .gift-finder__intro h2, body.pj-article .entry-content .gift-finder__intro h2,
body .diagnostic-finder .diagnostic-finder__intro h2, body.pj-article .entry-content .diagnostic-finder__intro h2 {
  color: var(--pj-ink) !important; -webkit-text-fill-color: var(--pj-ink) !important; background: none !important;
  font: 400 clamp(2rem, 3.4vw, 2.75rem)/1.04 var(--pj-display) !important; border: 0 !important; padding: 0 !important; margin: 0 !important;
}
body.pj-tool .mcf-form > label.mcf-form__check { font: 500 15px/1.2 var(--pj-sans) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--pj-ink) !important; }
body.pj-tool .mcf-form__actions button { background: transparent !important; color: var(--pj-ink) !important; border: 1px solid var(--pj-ink) !important; }
body.pj-tool .mcf-form__actions button:hover { background: var(--pj-ink) !important; color: #fff !important; border-color: var(--pj-ink) !important; }
.gift-finder__result-bar > div { border: 0 !important; padding: 0 !important; }
.gift-finder__disclosure { border: 0 !important; }
.diagnostic-card__scope { background: transparent !important; padding: 0 0 0 14px !important; border-left: 1px solid var(--ti-hair); font-size: .86rem !important; color: var(--pj-mute) !important; }
body .diagnostic-card__outcome { font: 600 10.5px/1.5 var(--pj-sans) !important; letter-spacing: .16em !important; margin: 10px 0 !important; }
body.pj-tool .pc-result-actions { margin-bottom: 22px !important; }
body.pj-tool .pc-copy {
  background: transparent !important; color: var(--pj-ink) !important; border: 0 !important; border-bottom: 1px solid var(--pj-ink) !important;
  padding: 4px 0 !important; font: 600 10.5px/1.2 var(--pj-sans) !important; letter-spacing: .18em !important; text-transform: uppercase; cursor: pointer;
}
body.pj-tool .pc-copy:hover { color: var(--pj-red) !important; border-bottom-color: var(--pj-red) !important; }
body.pj-tool .rd-vin__result { margin: 0 !important; }
body.pj-tool .rd-vin__result-head > a { font: 600 10.5px/1.4 var(--pj-sans) !important; letter-spacing: .14em; text-transform: uppercase; }

/* Codex review fixes */
.diagnostic-finder__results[hidden] { display: none !important; }
body.pj-tool .mcf-form__check input:focus-visible { outline: 2px solid var(--pj-red) !important; outline-offset: 3px; }

/* ================================================================
   TOOLS UX · tool-first layout: one header line, tap chips, live
   count, mobile "Show N results" bar. Paired with tool-ui.mjs.
   ================================================================ */
.tool-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tool-lede {
  margin: 0 !important; padding: 26px 40px 4px !important; color: var(--pj-ink-2) !important;
  font: 400 1.04rem/1.5 var(--pj-sans) !important; max-width: 62ch;
}
.tool-hint {
  margin: 0 !important; padding: 18px 40px 0 !important; color: var(--pj-mute) !important;
  font: 600 10.5px/1.4 var(--pj-sans) !important; letter-spacing: .16em; text-transform: uppercase;
}
body.pj-tool-page .pj-mast { padding-bottom: 18px !important; }

.pj-meta--after-tool { margin: 30px 0 8px !important; padding-top: 14px; border-top: 1px solid var(--ti-hair); }

/* Chips: the <select> stays as hidden source of truth */
select.tool-chips__source { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; opacity: 0 !important; pointer-events: none !important; padding: 0 !important; border: 0 !important; }
.tool-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.tool-chip {
  -webkit-appearance: none; appearance: none; cursor: pointer;
  background: #fff; color: var(--pj-ink); border: 1px solid var(--pj-line);
  padding: 10px 14px; min-height: 42px; border-radius: 0;
  font: 500 14px/1.2 var(--pj-sans); letter-spacing: 0; text-align: left;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.tool-chip:hover { border-color: var(--pj-ink); }
.tool-chip[aria-pressed="true"] { background: var(--pj-ink); color: #fff; border-color: var(--pj-ink); }
.tool-chip:focus-visible { outline: 2px solid var(--pj-red); outline-offset: 2px; }

/* Gift finder: compact search field with icon button */
.gift-finder__search { padding-top: 18px !important; }
.gift-finder__search > div { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 0 !important; border-bottom: 1px solid var(--pj-ink); }
.gift-finder__search input[type="search"] { border-bottom: 0 !important; }
.gift-finder__search input[type="search"]:focus-visible { border-bottom: 0 !important; padding-bottom: 10px !important; }
.gift-finder__search > div:focus-within { border-bottom: 2px solid var(--pj-red); }
.gift-finder__search button.tool-search-btn {
  background: transparent !important; color: var(--pj-ink) !important; border: 0 !important;
  min-height: 46px !important; width: 46px; padding: 0 !important; display: grid; place-items: center; flex: none;
}
.gift-finder__search button.tool-search-btn:hover { color: var(--pj-red) !important; background: transparent !important; }
.gift-finder__controls { grid-template-columns: 1fr !important; gap: 22px !important; }
.gift-finder fieldset select { display: block; }
.diagnostic-finder__controls { grid-template-columns: 1fr !important; gap: 22px !important; }
.diagnostic-finder .tool-chips { max-width: 900px; }

/* Mobile results bar */
.tool-results-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(247,245,240,.96); border-top: 1px solid var(--pj-ink); backdrop-filter: blur(6px); }
.tool-results-bar[hidden] { display: none !important; }
.tool-results-bar button {
  width: 100%; min-height: 50px; border: 0; border-radius: 0; cursor: pointer;
  background: var(--pj-red); color: #fff; font: 600 12px/1 var(--pj-sans); letter-spacing: .16em; text-transform: uppercase;
}
@media (min-width: 900px) { .tool-results-bar { display: none !important; } }
@media (max-width: 640px) {
  .tool-lede { padding: 20px 20px 2px !important; font-size: .98rem !important; }
  .tool-hint { padding: 14px 20px 0 !important; }
  .tool-chip { padding: 9px 12px; font-size: 13.5px; min-height: 44px; }
  .gift-finder__search > div { flex-direction: row !important; }
}
body.pj-tool .pc-search-status { margin: 4px 0 0 !important; font-size: .82rem; color: var(--pj-mute); min-height: 1em; }

/* ================================================================
   COMPACT · less chrome above the fold, sitewide (CSS only; H1/title
   text unchanged). Tool pages get the tightest header.
   ================================================================ */
.pj-mast { padding-top: 32px !important; margin-bottom: 24px !important; }
.pj-kicker { margin-bottom: 10px !important; }
body.pj-article h1.pj-title { font-size: clamp(2.2rem, 4.2vw, 3.5rem) !important; margin-bottom: 12px !important; }
.pj-meta { margin-bottom: 20px !important; }
body.pj-tool-page .pj-mast { padding-top: 22px !important; padding-bottom: 0 !important; margin-bottom: 14px !important; border-bottom: 0 !important; }
body.pj-tool-page .pj-kicker { display: none !important; }
body.pj-tool-page h1.pj-title { font-size: clamp(1.9rem, 3.4vw, 2.7rem) !important; margin: 0 !important; max-width: 820px; }
body.pj-tool-page .tool-lede { padding-top: 18px !important; }
body.pj-tool .garage-page, body.pj-tool .vin-tool-page { padding-top: 22px !important; }
body.pj-tool .garage-page__eyebrow, body.pj-tool .vin-tool-page__eyebrow { display: none !important; }
body.pj-tool .garage-page h1, body.pj-tool .vin-tool-page__header h1 { font-size: clamp(1.9rem, 3.4vw, 2.7rem) !important; margin-bottom: 8px !important; }
body.pj-tool .garage-page__lede { margin-bottom: 18px !important; font-size: 1rem !important; }
@media (max-width: 640px) {
  .pj-mast { padding-top: 20px !important; margin-bottom: 16px !important; }
  body.pj-tool-page .pj-mast { padding-top: 14px !important; margin-bottom: 6px !important; }
  body.pj-tool-page h1.pj-title, body.pj-tool .garage-page h1, body.pj-tool .vin-tool-page__header h1 { font-size: 1.75rem !important; line-height: 1.08 !important; }
  .tool-lede { padding-top: 14px !important; }
  body.pj-tool .garage-page, body.pj-tool .vin-tool-page { padding-top: 14px !important; }
}

/* Compare table: one consistent cell style */
body.pj-tool .garage-page .pc-table td, body.pj-tool .pc-issues li { font: 400 .95rem/1.5 var(--pj-sans) !important; color: var(--pj-ink) !important; }
body.pj-tool .pc-issues { list-style: none !important; padding: 0 !important; margin: 0 !important; }
body.pj-tool .pc-issues li { margin: 0 0 8px !important; }
body.pj-tool .pc-issues li strong { font-weight: 600 !important; }
body.pj-tool .pc-issues a, body.pj-tool .pc-table td a { font-weight: 500 !important; text-decoration: underline; text-decoration-color: var(--pj-red); text-underline-offset: 3px; }
body.pj-tool .garage-page .pc-table tbody th { width: 18%; white-space: normal; line-height: 1.35 !important; padding-top: 16px !important; }
body.pj-tool .garage-page .pc-table td.pc-win { padding-left: 18px !important; }
body.pj-tool .garage-page .pc-table td.pc-win::before { left: 6px !important; top: 15px !important; bottom: auto !important; height: 1.3em; }
body.pj-tool .garage-page .pc-table tbody th { line-height: 22px !important; padding-top: 14px !important; }

/* ================================================================
   TOOLS · instrument header + desktop density
   ================================================================ */
body.pj-tool-page .pj-mast { padding-top: 18px !important; }
body.pj-tool-page h1.pj-title { max-width: none !important; text-wrap: pretty; }
.tool-head { background: var(--pj-night); color: #fff; padding: 22px 40px 20px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px 40px; align-items: center; border-bottom: 3px solid var(--pj-red); }
.tool-head .tool-lede { padding: 0 !important; color: #e9e6df !important; max-width: 46ch; }
.tool-stats { display: flex; margin: 0; gap: 0; }
.tool-stats > div { padding: 0 22px; border-left: 1px solid rgba(255,255,255,.18); }
.tool-stats > div:first-child { border-left: 0; padding-left: 0; }
.tool-stats dt { font: 600 9.5px/1.2 var(--pj-sans); letter-spacing: .18em; text-transform: uppercase; color: #a8a59d; margin: 0 0 6px; white-space: nowrap; }
.tool-stats dd { margin: 0; font: 400 1.75rem/1 var(--pj-display); color: #fff; font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; }
.gift-finder, .diagnostic-finder { border-top: 0 !important; }
/* Desktop: filter groups side by side instead of stacked */
@media (min-width: 900px) {
  .gift-finder__controls { grid-template-columns: 1.15fr 1fr 1fr !important; gap: 28px !important; padding-top: 18px !important; padding-bottom: 24px !important; }
  .diagnostic-finder__controls { grid-template-columns: 1.4fr 1fr !important; gap: 32px !important; }
  .gift-finder__search { padding-top: 14px !important; }
}
@media (max-width: 899px) {
  .tool-head { grid-template-columns: 1fr; padding: 18px 20px 16px; }
  .tool-stats { flex-wrap: wrap; row-gap: 12px; }
  .tool-stats > div { padding: 0 14px; }
  .tool-stats dd { font-size: 1.35rem; }
}
@media (max-width: 420px) {
  .tool-stats > div:nth-child(4) { display: none; }
}

body.pj-tool-page .pj-mast { padding-top: 6px !important; }
@media (max-width: 899px) {
  .tool-stats { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; column-gap: 0; }
  .tool-stats > div:nth-child(4) { display: none; }
  .tool-stats > div:nth-child(n) { padding: 0 16px; border-left: 1px solid rgba(255,255,255,.18); }
  .tool-stats > div:first-child { padding-left: 0; border-left: 0; }
}

/* ================================================================
   VERDICTS · Compare + Manual Finder "short answer" panels
   ================================================================ */
body.pj-tool .pc-verdict, body.pj-tool .mcf-verdict { background: var(--pj-night); color: #fff; padding: 26px 30px 28px; margin: 0 0 30px; border-bottom: 3px solid var(--pj-red); }
body.pj-tool .pc-verdict__h, body.pj-tool .mcf-verdict__k { font: 600 10.5px/1.2 var(--pj-sans) !important; letter-spacing: .2em; text-transform: uppercase; color: #e8a3ab !important; margin: 0 0 16px !important; border: 0 !important; padding: 0 !important; }
body.pj-tool .pc-verdict__facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 22px; border-bottom: 1px solid rgba(255,255,255,.16); padding-bottom: 18px; }
body.pj-tool .pc-verdict__facts > div { padding: 0 18px; border-left: 1px solid rgba(255,255,255,.16); }
body.pj-tool .pc-verdict__facts > div:first-child { border-left: 0; padding-left: 0; }
body.pj-tool .pc-verdict__facts dt { font: 600 9.5px/1.2 var(--pj-sans); letter-spacing: .16em; text-transform: uppercase; color: #a8a59d; margin-bottom: 6px; }
body.pj-tool .pc-verdict__facts dd { margin: 0; font: 400 1.25rem/1.15 var(--pj-display); color: #fff; }
body.pj-tool .pc-verdict__facts dd span { display: block; font: 500 .82rem/1.4 var(--pj-sans); color: #cfccc4; margin-top: 4px; font-variant-numeric: tabular-nums; }
body.pj-tool .pc-verdict__picks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 26px; }
body.pj-tool .pc-verdict__car { display: block; font: 400 1.5rem/1.1 var(--pj-display); color: #fff; margin-bottom: 8px; }
body.pj-tool .pc-verdict__picks p, body.pj-tool .mcf-verdict__alt { margin: 0 0 6px; font-size: .92rem; line-height: 1.5; color: #e9e6df; }
body.pj-tool .pc-verdict__picks strong { color: #fff; font-weight: 600; }
body.pj-tool .mcf-verdict__main { font: 400 1.6rem/1.25 var(--pj-display); color: #fff; margin: 0 0 10px; max-width: 60ch; }
body.pj-tool .mcf-verdict__main strong, body.pj-tool .mcf-verdict__alt strong { font-weight: 600; color: #fff; }
@media (max-width: 760px) {
  body.pj-tool .pc-verdict, body.pj-tool .mcf-verdict { padding: 20px 18px 22px; }
  body.pj-tool .pc-verdict__facts { grid-template-columns: 1fr 1fr; row-gap: 16px; }
  body.pj-tool .pc-verdict__facts > div:nth-child(3) { border-left: 0; padding-left: 0; }
  body.pj-tool .mcf-verdict__main { font-size: 1.3rem; }
}
body.pj-tool .garage-page h2.pc-verdict__h { color: #e8a3ab !important; font: 600 10.5px/1.2 var(--pj-sans) !important; letter-spacing: .2em !important; }
body.pj-tool .pc-verdict__facts { grid-template-columns: repeat(auto-fit, minmax(170px, max-content)) !important; }

/* Diagnostic checker: short answer */
.diag-answer { background: var(--pj-night); color: #fff; padding: 24px 28px 22px; margin: 4px 0 24px; border-bottom: 3px solid var(--pj-red); }
.diag-answer__k { font: 600 10.5px/1.2 var(--pj-sans) !important; letter-spacing: .2em; text-transform: uppercase; color: #e8a3ab !important; margin: 0 0 12px !important; }
.diagnostic-finder .diag-answer .diag-answer__main { font: 400 1.55rem/1.25 var(--pj-display) !important; color: #fff !important; margin: 0 0 12px !important; max-width: 60ch; }
.diagnostic-finder .diag-answer p.diag-answer__row { margin: 6px 0 0 !important; font-size: .92rem !important; color: #e9e6df !important; }
.diag-answer__row span { display: inline-block; min-width: 170px; font: 600 10px/1.4 var(--pj-sans); letter-spacing: .16em; text-transform: uppercase; color: #a8a59d; }
.diagnostic-finder .diag-answer a { color: #fff !important; text-decoration: underline; text-decoration-color: var(--pj-red); text-underline-offset: 3px; }
@media (max-width: 640px) { .diag-answer { padding: 20px 18px; } .diagnostic-finder .diag-answer .diag-answer__main { font-size: 1.3rem !important; } .diag-answer__row span { display: block; } }

/* Final QA: tool header must never exceed the viewport on phones */
.tool-head > * { min-width: 0; }
@media (max-width: 899px) {
  .tool-head { grid-template-columns: minmax(0, 1fr) !important; }
  .tool-head .tool-lede { max-width: none; overflow-wrap: anywhere; }
  .tool-stats { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; width: 100%; }
  .tool-stats > div:nth-child(n) { padding: 0 10px; min-width: 0; }
  .tool-stats dt { white-space: normal; font-size: 9px; letter-spacing: .12em; }
}
