/* Editorial Noir — minimal, serif rhythm */
.pv-root.pv-noir { --bg: #fafafa; --ink: #1a1a1a; --muted: #6b6b6b; --line: #e0e0e0; --accent: #2c2c2c; font-family: "El Messiri", "Noto Naskh Arabic", serif; background: var(--bg); color: var(--ink); margin: 0; line-height: 1.75; }
.pv-noir *, .pv-noir *::before, .pv-noir *::after { box-sizing: border-box; }
.pv-noir img, .pv-noir video { max-width: 100%; height: auto; display: block; }
.pv-noir .pv-skip { position: absolute; left: -9999px; }
.pv-noir .pv-skip:focus { position: fixed; left: 1rem; top: 1rem; padding: .5rem 1rem; background: var(--ink); color: #fff; z-index: 10000; width: auto; height: auto; }
.pv-noir .pv-preview-banner { text-align: center; padding: .5rem; background: var(--ink); color: #eee; font-size: .78rem; }
.pv-noir .pv-preview-banner a { color: #a3a3a3; margin: 0 .5rem; }
.pv-noir .pt-strip--noir { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; display: flex; align-items: center; gap: 1rem; padding: .5rem 1rem; font-family: Amiri, serif; font-size: .88rem; }
.pv-noir .pt-strip__badge { font-size: .65rem; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); flex-shrink: 0; }
.pv-noir .pt-strip__track { display: flex; flex-wrap: wrap; gap: .35rem .75rem; align-items: center; }
.pv-noir .pt-strip__link { color: var(--ink); text-decoration: none; border-bottom: 1px solid transparent; }
.pv-noir .pt-strip__link:hover { border-bottom-color: var(--ink); }
.pv-noir .pt-strip__dot { color: var(--muted); }
.pv-head--noir { background: #fff; border-bottom: 1px solid var(--line); }
.pv-noir .pv-head__inner { max-width: 720px; margin: 0 auto; padding: 1.25rem 1rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.pv-noir .pv-logo img { height: 40px; width: auto; object-fit: contain; }
.pv-noir .pv-nav-toggle { display: none; border: 1px solid var(--line); background: #fff; padding: .4rem .8rem; font-family: inherit; cursor: pointer; }
.pv-nav--noir { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; justify-content: flex-end; }
.pv-nav--noir a { color: var(--muted); text-decoration: none; font-size: .88rem; }
.pv-nav--noir a:hover { color: var(--ink); }
.pv-container--narrow { max-width: 680px; }
.pv-noir-hero { padding: 2.5rem 1rem 1rem; }
.pv-noir-hero__row { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 700px) { .pv-noir-hero__row { grid-template-columns: minmax(200px, 38%) 1fr; align-items: start; } }
.pv-noir-hero__frame { display: block; border: 1px solid var(--line); }
.pv-noir-hero__frame img, .pv-noir-hero__frame video { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.pv-noir-kicker { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin: 0 0 .5rem; }
.pv-noir-display { font-family: Amiri, serif; font-size: clamp(1.6rem, 4.5vw, 2.35rem); font-weight: 700; line-height: 1.25; margin: 0 0 .75rem; }
.pv-noir-display a { color: var(--ink); text-decoration: none; }
.pv-noir-display a:hover { opacity: .75; }
.pv-noir-dek { color: var(--muted); margin: 0 0 1rem; font-size: 1.05rem; }
.pv-noir-byline { font-size: .85rem; color: var(--muted); margin: 0; }
.pv-noir-rail { list-style: none; padding: 1.5rem 0 0; margin: 1.5rem 0 0; border-top: 1px solid var(--line); }
.pv-noir-rail li { padding: .85rem 0; border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: .25rem; }
.pv-noir-rail a { font-family: Amiri, serif; font-weight: 700; color: var(--ink); text-decoration: none; font-size: 1.05rem; }
.pv-noir-rail span { font-size: .78rem; color: var(--muted); }
.pv-section--noir { padding: 1rem 1rem 3rem; }
.pv-noir-section-title { font-family: Amiri, serif; font-size: 1.35rem; font-weight: 700; border-bottom: 2px solid var(--ink); padding-bottom: .5rem; margin: 0 0 1.25rem; }
.pv-noir-list { list-style: none; padding: 0; margin: 0; }
.pv-noir-list > li { padding: 1.1rem 0; border-bottom: 1px solid var(--line); }
.pv-noir-list a { font-family: Amiri, serif; font-size: 1.12rem; font-weight: 700; color: var(--ink); text-decoration: none; line-height: 1.4; }
.pv-noir-list a:hover { color: var(--muted); }
.pv-noir-list__meta { display: flex; gap: .75rem; margin-top: .4rem; font-size: .8rem; color: var(--muted); }
.pv-noir .pagination-nav { margin-top: 2rem; }
.pv-noir .pagination-list { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; justify-content: center; }
.pv-noir .pagination-link { border: 1px solid var(--line); padding: .4rem .65rem; text-decoration: none; color: var(--ink); background: #fff; font-size: .85rem; }
.pv-noir .pagination-item.is-active .pagination-link { background: var(--ink); color: #fff; border-color: var(--ink); }
.pv-noir .pagination-meta { text-align: center; font-size: .8rem; color: var(--muted); }
.pv-noir .pv-article-title { font-family: Amiri, serif; font-size: clamp(1.65rem, 4vw, 2.4rem); }
.pv-noir .pv-cat { color: var(--muted); font-weight: 500; letter-spacing: .05em; }
.pv-noir .pv-article-body { font-family: Amiri, serif; font-size: 1.12rem; }
.pv-noir .pv-disclaimer { background: #f0f0f0; border: 1px solid var(--line); color: var(--muted); }
.pv-foot--noir { border-top: 1px solid var(--line); padding: 2rem 1rem; text-align: center; background: #fff; margin-top: 3rem; }
.pv-foot--noir p { color: var(--muted); font-size: .88rem; margin: .5rem 0 0; }
.pv-noir .pv-page-head h1 { font-family: Amiri, serif; }
.pv-noir .pv-card-grid { grid-template-columns: 1fr; }
.pv-noir .pv-card { border: 1px solid var(--line); box-shadow: none; border-radius: 0; }
.pv-noir .pv-filter input { border-radius: 0; }
.pv-noir .pv-filter button { background: var(--ink); border-radius: 0; }
.pv-noir .pv-container { max-width: 680px; margin: 0 auto; padding: 0 1rem 2rem; }
.pv-noir .pv-container--article { padding-top: 2rem; }
.pv-noir .pv-page-head h1 { margin: 0 0 .5rem; }
.pv-noir .pv-subnav { margin-top: .5rem; }
.pv-noir .pv-card { border: 1px solid var(--line); background: #fff; }
.pv-noir .pv-card__media { aspect-ratio: 16/10; overflow: hidden; display: block; }
.pv-noir .pv-card__media img, .pv-noir .pv-card__media video { width: 100%; height: 100%; object-fit: cover; }
.pv-noir .pv-card__body { padding: 1rem; }
.pv-noir .pv-card h2 { margin: 0; font-size: 1.02rem; font-family: Amiri, serif; }
.pv-noir .pv-card h2 a { color: var(--ink); text-decoration: none; }
.pv-noir .pv-card time { font-size: .8rem; color: var(--muted); }
.pv-noir .pv-feed-row { display: grid; grid-template-columns: 100px 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
@media (max-width: 560px) { .pv-noir .pv-feed-row { grid-template-columns: 1fr; } }
.pv-noir .pv-feed-row__thumb { border: 1px solid var(--line); aspect-ratio: 4/3; overflow: hidden; }
.pv-noir .pv-feed-row__thumb img, .pv-noir .pv-feed-row__thumb video { width: 100%; height: 100%; object-fit: cover; }
.pv-noir .pv-feed-row h3 { margin: .35rem 0; font-family: Amiri, serif; font-size: 1.05rem; }
.pv-noir .pv-feed-row h3 a { color: var(--ink); text-decoration: none; }
.pv-noir .pv-feed-row__meta { font-size: .8rem; color: var(--muted); }
.pv-noir .pv-filter { display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-end; margin-top: 1rem; }
.pv-noir .pv-filter label { display: flex; flex-direction: column; gap: .25rem; font-size: .85rem; }
.pv-noir .pv-filter input { padding: .4rem .6rem; border: 1px solid var(--line); font-family: inherit; }
.pv-noir .pv-filter button { padding: .5rem 1rem; cursor: pointer; font-family: inherit; }
.pv-noir .pv-timeline { list-style: none; padding: 0; margin: 0 0 1rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.pv-noir .pv-timeline a { font-size: .85rem; color: var(--ink); text-decoration: none; padding: .35rem .6rem; border: 1px solid var(--line); background: #fff; }
.pv-noir .pv-search-form { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .75rem; }
.pv-noir .pv-search-form input { flex: 1; min-width: 200px; padding: .55rem .75rem; border: 1px solid var(--line); font-family: inherit; }
.pv-noir .pv-search-form button { padding: .55rem 1rem; cursor: pointer; font-family: inherit; }
.pv-noir .pv-search-excerpt { color: var(--muted); font-size: .9rem; }
.pv-noir .pv-pagination-wrap { margin-top: 1.5rem; }
.pv-noir .pv-pill--urgent { background: var(--ink); color: #fff; }
@media (max-width: 768px) {
  .pv-noir .pv-nav-toggle { display: inline-block; }
  .pv-nav--noir { display: none; width: 100%; flex-direction: column; }
  .pv-nav--noir.is-open { display: flex; }
}
