/* ============================================================
   NoSaveNoPay theme overrides — loads AFTER per-page styles.
   Enforces the editorial paper/ink/redline look on legacy markup.
   ============================================================ */

body{background:var(--paper,#F6F3EC) !important;color:var(--ink,#1C2420);}

/* Serif display type everywhere */
h1,h2,h3,h4,
.section-title,.hero h1,.article-title,.box-title,.related-title,
.card-link,.cluster-title,.toc-title,.sidebar-widget-title{
  font-family:"EB Garamond",Georgia,serif !important;
  font-weight:600;
  letter-spacing:-0.01em;
}
h1{line-height:1.04;}

/* Kill leftover gradient text effects */
.gradient-text,[class*="gradient-text"]{
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-fill-color:currentColor !important;
  color:var(--real,#1D5C42) !important;
}

/* Article body reads like a paper */
.article-body p,.article-content p,.paper p{
  font-family:"EB Garamond",Georgia,serif;
  font-size:1.18rem;
  line-height:1.62;
  color:var(--ink,#1C2420);
}
.article-body li,.article-content li{
  font-family:"EB Garamond",Georgia,serif;
  font-size:1.12rem;
  line-height:1.55;
}
/* …but UI components inside articles stay sans */
.nsp-blog-vendor-cta p,.cta-inline p,.newsletter-box p,.stat-desc,
.related-card p,.author-bio p,.post-meta *,.nsp-byline *,
.callout p,.warning-box p,.highlight-box p,.key-takeaways p,
.sidebar-card p,.toc-box *,.citation-block *{
  font-family:"Hanken Grotesk",system-ui,sans-serif !important;
  font-size:0.95rem;
}
.key-takeaways li,.toc-list li,.citation-block li{
  font-family:"Hanken Grotesk",system-ui,sans-serif !important;
  font-size:0.95rem;
}

/* Eyebrows / small labels go mono */
.eyebrow,.article-eyebrow,.hero-eyebrow,.dropdown-label,
.card-cat,.related-tag,.related-card-cat,.article-category,
.stat-label,.sidebar-stat-label,.trust-label,.meta-tag,.cs-tag{
  font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  letter-spacing:0.12em;
  text-transform:uppercase;
}

/* Sharp editorial corners on cards and pills */
.card,.stat-card,.related-card,.service-card,.problem-card,.industry-card,
.capability-card,.cluster-card,.blog-card,.sidebar-card,.cta-box,.info-box,
.warning-box,.highlight-box,.callout,.newsletter-box,.key-takeaways,
.citation-block,.toc-box,.author-box,.gate-form-box,.stat-block,
.nsp-blog-vendor-cta,.cs-card,.case-study-card,.tactic-card,.insight-card{
  border-radius:3px !important;
}
.btn,.btn-primary,.btn-secondary,.btn-cta,.btn-sm,.btn-nav,.btn-download,.cta-button{
  border-radius:2px !important;
  font-family:"Hanken Grotesk",system-ui,sans-serif !important;
}

/* Tables in the ledger style */
.data-table,.comparison-table,.compare-table,.pricing-table,.cost-table,.price-table{
  border-radius:0 !important;
}
.data-table th,.comparison-table th,.compare-table th,.pricing-table th{
  font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  font-size:0.68rem !important;
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-weight:500 !important;
}
.data-table td:last-child,.comparison-table td:last-child{
  font-family:"IBM Plex Mono",ui-monospace,monospace;
  font-variant-numeric:tabular-nums;
}

/* Numbers/stats in serif, the way a ledger prints them */
.stat-num,.stat-number,.stat-value,.metric-value,.hero-stat-num,
.sidebar-stat-num,.trust-stat,.count-up{
  font-family:"EB Garamond",Georgia,serif !important;
  font-variant-numeric:tabular-nums;
  font-weight:600;
  letter-spacing:-0.02em;
}

/* Legacy emoji icon chips get quiet */
.service-icon,.capability-icon,.industry-icon,.card-icon,
.footer-guarantee-icon,.trust-icon{filter:saturate(0.4);}

/* Breadcrumbs */
.article-breadcrumb,.breadcrumb{
  font-family:"IBM Plex Mono",ui-monospace,monospace;
  font-size:0.7rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--pencil,#6E726B);
}
.article-breadcrumb a:hover,.breadcrumb a:hover{color:var(--real,#1D5C42);}

/* Links inside running text */
.article-body a:not([class]),.article-content a:not([class]),.paper a:not([class]){
  color:var(--real,#1D5C42);
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:rgba(29,92,66,0.3);
  text-underline-offset:2px;
}
.article-body a:not([class]):hover,.article-content a:not([class]):hover{
  text-decoration-color:var(--real,#1D5C42);
}

/* Old fixed-nav body offset no longer needed (new header is sticky, in flow) */
body{padding-top:0 !important;}
main,#main{scroll-margin-top:90px;}

/* Hide any legacy chrome that survives extraction */
.guarantee-bar,.nav.legacy,#mainNav,.site-nav,#navLinks,#hamburger{display:none !important;}

/* Exit popup + consent banner, rethemed */
#nsp-exit-popup > div{background:#FFFFFF !important;border:1px solid rgba(28,36,32,0.14) !important;border-radius:3px !important;box-shadow:0 32px 80px rgba(28,36,32,0.35) !important;}
#nsp-exit-popup h3,#nsp-exit-popup [style*="font-weight:800"]{font-family:"EB Garamond",Georgia,serif !important;color:#1C2420 !important;}
#nspConsent,#nsp-consent,[id*="onsent"] .nsp-cb-inner{font-family:"Hanken Grotesk",system-ui,sans-serif;}

/* Focus visibility */
:focus-visible{outline:2px solid var(--real,#1D5C42);outline-offset:3px;}
