:root {
  --primary: #b91c1c;
  --accent: #1e3a5f;
  --bg: #fafafa;
  --text: #111827;
  --card: #ffffff;
  --radius: 16px;
}
body.site-np {
  font-family: 'DM Sans', system-ui, sans-serif;
  background: var(--bg);
  color: var(--text);
}
.site-np h1, .site-np h2, .site-np h3 { font-weight: 700; letter-spacing: -0.02em; }
.site-np .nav-split { background: var(--card); border-bottom: 2px solid var(--accent); }
.site-np .brand-mark { color: var(--primary); font-weight: 800; font-size: 1.25rem; }
.site-np .nav-split .nav-link { color: var(--text); opacity: .85; }
.site-np .nav-split .nav-link:hover { color: var(--primary); }
.site-np .nav-dark { background: #0f172a !important; border-color: var(--accent) !important; }
.site-np .nav-dark .brand-mark, .site-np .nav-dark .nav-link { color: #e2e8f0 !important; }
.site-np .nav-gradient { background: linear-gradient(135deg, var(--primary), var(--accent)) !important; }
.site-np .nav-gradient .brand-mark, .site-np .nav-gradient .nav-link { color: #fff !important; }
.site-np .nav-yellow-band { border-top: 4px solid var(--accent); }
.site-np .nav-forest { background: var(--primary) !important; }
.site-np .nav-forest .brand-mark, .site-np .nav-forest .nav-link { color: #ecfdf5 !important; }
.site-np .nav-coral .brand-mark { color: var(--primary); }
.site-np .nav-mint { background: linear-gradient(180deg, #f0fdfa, var(--bg)); }
.site-np .nav-earth { border-bottom: 3px double var(--accent); }
.site-np .feat-np { border-radius: var(--radius); overflow: hidden; background: var(--card); box-shadow: 0 12px 40px rgba(0,0,0,.08); transition: transform .2s; }
.site-np .feat-np:hover { transform: translateY(-2px); }
.site-np .feat-badge { background: var(--primary); color: #fff; font-size: .75rem; padding: .35rem .75rem; border-radius: 999px; display: inline-block; }
.site-np .card-np { background: var(--card); border-radius: var(--radius); border: 1px solid rgba(0,0,0,.06); height: 100%; overflow: hidden; }
.site-np .card-np img { width: 100%; height: 180px; object-fit: cover; }
.site-np .card-np .card-body { padding: 1rem 1.15rem 1.25rem; }
.site-np .card-list-np { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(0,0,0,.08); }
.site-np .card-list-np img { width: 120px; height: 90px; object-fit: cover; border-radius: 8px; flex-shrink: 0; }
.site-np .article-hero-img { width: 100%; border-radius: var(--radius); margin: 1rem 0; max-height: 420px; object-fit: cover; }
.site-np .ad-note-np{max-width:760px;margin:0 auto 1.25rem;padding:.75rem 1rem;background:#fff3f3;border-left:4px solid var(--primary);border-radius:0 8px 8px 0;font-size:.88rem;color:var(--text)}
.site-np .disclaimer-block { background: rgba(0,0,0,.04); border-left: 4px solid var(--accent); padding: 1rem 1.25rem; margin-top: 2rem; font-size: .9rem; }
.site-np .longread-body h2 { margin-top: 2rem; font-size: 1.35rem; color: var(--primary); }
.site-np .article-pullquote { border-left: 4px solid var(--primary); padding-left: 1rem; font-style: italic; margin: 1.5rem 0; }
.site-np .article-box { background: var(--card); border: 1px solid rgba(0,0,0,.1); padding: 1rem; border-radius: var(--radius); margin: 1.5rem 0; }
.site-np .quiz-wrap { background: var(--card); border-radius: var(--radius); padding: 1.5rem; margin: 2rem 0; border: 2px solid var(--accent); }
.site-np .quiz-cta { background: var(--primary); color: #fff !important; border: none; padding: .75rem 1.5rem; border-radius: var(--radius); text-decoration: none; display: inline-block; }
.site-np .quiz-cta:hover { opacity: .9; color: #fff; }
.site-np .hidden { display: none !important; }
.site-np .footer-np { background: var(--primary); color: #fff; margin-top: 3rem; }
.site-np .footer-np a, .site-np .footer-np button.legal-link { color: rgba(255,255,255,.9); background: none; border: none; text-decoration: underline; cursor: pointer; }
.site-np .footer-dark { background: #020617 !important; }
.site-np .cookie-bar { position: fixed; bottom: 0; left: 0; right: 0; background: #111; color: #fff; padding: .75rem 1rem; display: flex; justify-content: center; gap: 1rem; z-index: 9999; font-size: .9rem; }
.site-np .home-magazine .feat-np { display: grid; grid-template-columns: 1fr 1fr; }
@media (max-width: 768px) { .site-np .home-magazine .feat-np { grid-template-columns: 1fr; } }
.site-np .home-tabs .nav-pills .nav-link.active { background: var(--primary); }
.site-np .home-timeline { border-left: 3px solid var(--accent); padding-left: 1.5rem; }
.site-np .home-timeline .card-np { margin-bottom: 1.5rem; }
.site-np .home-newspaper { column-count: 1; }
@media (min-width: 992px) { .site-np .home-newspaper .col-lg-6 { border-right: 1px solid rgba(0,0,0,.1); } }
.site-np .home-masonry .card-np { break-inside: avoid; margin-bottom: 1rem; }
.site-np .home-dark-grid { background: var(--bg); }
.site-np .home-dark-grid .card-np { background: #1e293b; border-color: #334155; color: #e2e8f0; }
.site-np .cta-banner { background: linear-gradient(90deg, var(--primary), var(--accent)); color: #fff; padding: 2rem; border-radius: var(--radius); text-align: center; margin: 2rem 0; }
.site-np .quiz-progress { height: 8px; background: rgba(0,0,0,.1); border-radius: 4px; overflow: hidden; }
.site-np .quiz-progress-fill { height: 100%; background: var(--accent); transition: width .3s; }
.site-np .quiz-flip-card { perspective: 800px; min-height: 200px; }
.site-np .quiz-flip-inner { transition: transform .5s; transform-style: preserve-3d; }
.site-np .quiz-flip-card.flipped .quiz-flip-inner { transform: rotateY(180deg); }
.hdr-np-bar{background:var(--primary)}.hdr-np-sub{background:#fff}.hdr-np-pill{background:#fee2e2;color:var(--primary);padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600}.hero-np-label{position:absolute;top:1rem;left:1rem;background:var(--primary);color:#fff;padding:.2rem .6rem;font-size:.75rem;border-radius:4px}.ftr-np a,.ftr-np button.legal-link{color:#fff;background:none;border:none}

.cookie-bar-np{background:#1f2937;color:#fff;justify-content:space-between}.cookie-bar-np .cookie-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
