/* IPNA category archive — approved reference V1. Scoped to category.php only. */
body.ipna-v2 .ipna-catp {
    --catp-navy: #07172e;
    --catp-dark: #0a213f;
    --catp-red: #d81e35;
    --catp-blue: #124f98;
    --catp-ink: #0d223c;
    --catp-line: #e2e6ed;
    --catp-muted: #677587;
    padding: 14px 0 48px;
    background: linear-gradient(180deg, #f5f7fa 0, #fff 135px, #f8f9fb 100%);
    color: var(--catp-ink);
}
body.ipna-v2 .ipna-catp *, body.ipna-v2 .ipna-catp *::before, body.ipna-v2 .ipna-catp *::after { box-sizing: border-box; }
body.ipna-v2 .ipna-catp__container { max-width: 1390px; width: 100%; }
body.ipna-v2 .ipna-catp a { text-decoration: none; }
body.ipna-v2 .ipna-catp a:focus-visible,body.ipna-v2 .ipna-catp button:focus-visible,body.ipna-v2 .ipna-catp select:focus-visible { outline: 3px solid #2389df; outline-offset: 3px; }

/* Cinematic category masthead */
body.ipna-v2 .ipna-catp-banner {
    position: relative; display: flex; align-items: center; isolation: isolate; overflow: hidden;
    min-height: 170px; margin-bottom: 19px; padding: 19px 28px 21px;
    border-radius: 5px; background: linear-gradient(115deg, #060e1e 0%, #0c2344 56%, #06162c 100%);
    color: #fff; box-shadow: 0 6px 18px rgba(5,22,43,.18);
}
body.ipna-v2 .ipna-catp-banner::before {
    content:""; position:absolute; z-index:0; inset:0;
    background: linear-gradient(270deg,#081d3d 0%,#071a34 38%,rgba(7,22,41,.77) 58%,rgba(7,16,30,.02) 100%);
}
body.ipna-v2 .ipna-catp-banner::after { content:""; position:absolute; z-index:0; top:0; right:0; bottom:0; width:10px; background:var(--catp-red); transform:skewX(-22deg); transform-origin:bottom; box-shadow:-12px 0 0 rgba(216,30,53,.38); }
body.ipna-v2 .ipna-catp-banner__slashes { position:absolute; z-index:1; top:-50px; left:24px; width:9px; height:330px; transform:rotate(25deg); background:var(--catp-red); box-shadow:13px 0 0 rgba(216,30,53,.58),21px 0 0 rgba(216,30,53,.22); }
body.ipna-v2 .ipna-catp-banner__photo { position:absolute; inset:0 auto 0 0; width:55%; opacity:.79; overflow:hidden; }
body.ipna-v2 .ipna-catp-banner__photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 38%; filter:grayscale(1) contrast(1.13); }
body.ipna-v2 .ipna-catp-banner__body { position:relative; z-index:2; width:100%; }
body.ipna-v2 .ipna-catp-banner__crumb { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:19px; color:rgba(228,237,255,.75); font-size:11px; }
body.ipna-v2 .ipna-catp-banner__crumb a { color:#eaf1ff; }
body.ipna-v2 .ipna-catp-banner__crumb a:hover { color:#fff; text-decoration:underline; }
body.ipna-v2 .ipna-catp-banner__crumb span { color:#a5afbf; }
body.ipna-v2 .ipna-catp-banner__crumb strong { color:#fff; }
body.ipna-v2 .ipna-catp-banner__title-row { display:flex; gap:16px; align-items:center; max-width:610px; }
body.ipna-v2 .ipna-catp-banner__emblem { width:82px; height:78px; flex:0 0 82px; display:grid; place-items:center; background:linear-gradient(145deg,#ec3048,#9f1122); transform:skewX(-12deg); box-shadow:12px 0 0 rgba(219,28,48,.16); }
body.ipna-v2 .ipna-catp-banner__emblem svg { width:55px; height:55px; color:#fff; transform:skewX(12deg); }
body.ipna-v2 .ipna-catp-banner__overline { display:block; color:#aebcd1; font-size:10px; font-weight:700; }
body.ipna-v2 .ipna-catp-banner h1 { margin:1px 0 6px; color:#fff; font-size:clamp(29px,3vw,42px); line-height:1.45; font-weight:900; }
body.ipna-v2 .ipna-catp-banner p { margin:0; max-width:490px; color:#ebf0f8; font-size:12px; line-height:2.05; text-wrap:pretty; }

/* Main on the right, complementary widgets on the left */
body.ipna-v2 .ipna-catp__columns { display:grid; grid-template-columns:minmax(0,1fr) 267px; align-items:start; gap:20px; direction:rtl; }
body.ipna-v2 .ipna-catp__main,body.ipna-v2 .ipna-catp__sidebar { min-width:0; }
body.ipna-v2 .ipna-catp__filter-top { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:38px; margin-bottom:10px; }
body.ipna-v2 .ipna-catp__archive-heading { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
body.ipna-v2 .ipna-catp__archive-heading h2 { margin:0; font-weight:900; font-size:17px; line-height:1.65; color:var(--catp-ink); }
body.ipna-v2 .ipna-catp__stack-icon { color:#203a56; font-size:23px; line-height:1; font-weight:900; }
body.ipna-v2 .ipna-catp__post-count { font-size:10px; color:#6c7888; }
body.ipna-v2 .ipna-catp__sort { display:flex; align-items:center; gap:7px; padding:2px 4px; border-radius:6px; white-space:nowrap; font-size:10px; }
body.ipna-v2 .ipna-catp__sort label { color:#647185; font-weight:700; }
body.ipna-v2 .ipna-catp__sort select { max-width:116px; padding:7px 10px; border:1px solid #d7dee7; border-radius:6px; background:#fff; color:#293c53; font:inherit; }
body.ipna-v2 .ipna-catp__sort button { padding:7px 10px; border:1px solid #dae2eb; border-radius:6px; background:#f1f4f8; color:#253a54; font:inherit; font-weight:800; cursor:pointer; }
body.ipna-v2 .ipna-catp__sort button:hover { border-color:#97b8db; background:#e5eef8; }
body.ipna-v2 .ipna-catp__filters { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:0 0 13px; }
body.ipna-v2 .ipna-catp__filters a { display:inline-flex; align-items:center; justify-content:center; min-height:29px; padding:7px 14px; border-radius:30px; background:#e9ecf1; color:#263141; font-size:11px; font-weight:800; line-height:1.2; transition:background .2s ease,color .2s ease,transform .2s ease; }
body.ipna-v2 .ipna-catp__filters a:hover { transform:translateY(-2px); background:#dbe4f0; color:#123d72; }
body.ipna-v2 .ipna-catp__filters a.is-active { color:#fff; background:linear-gradient(110deg,#dd213c,#b91027); box-shadow:0 4px 10px rgba(207,25,52,.18); }

/* Lead photographic story */
body.ipna-v2 .ipna-catp-feature { position:relative; height:348px; overflow:hidden; isolation:isolate; border-radius:7px; background:#061326; box-shadow:0 6px 13px rgba(10,28,51,.13); }
body.ipna-v2 .ipna-catp-feature__image { position:absolute; inset:0; display:block; }
body.ipna-v2 .ipna-catp-feature__image img { display:block; width:100%; height:100%; object-fit:cover; object-position:37% 37%; transition:transform .65s ease,filter .4s ease; }
body.ipna-v2 .ipna-catp-feature:hover .ipna-catp-feature__image img { transform:scale(1.04); }
body.ipna-v2 .ipna-catp-feature__shade { position:absolute; inset:0; pointer-events:none; background:linear-gradient(270deg,rgba(3,12,24,.96) 0%,rgba(3,12,24,.91) 35%,rgba(3,12,24,.28) 69%,rgba(3,12,24,.06) 100%),linear-gradient(0deg,rgba(0,0,0,.46),transparent 32%); }
body.ipna-v2 .ipna-catp-feature__content { position:absolute; right:28px; top:25px; bottom:23px; z-index:2; width:min(50%,435px); display:flex; flex-direction:column; align-items:flex-start; color:#fff; }
body.ipna-v2 .ipna-catp-feature__eyebrow { display:inline-flex; margin-bottom:16px; padding:6px 11px; border-radius:4px; color:#fff; background:var(--catp-red); font-size:10px; font-weight:850; }
body.ipna-v2 .ipna-catp-feature h2 { margin:0 0 15px; font-size:clamp(20px,2vw,29px); line-height:1.75; font-weight:900; text-wrap:balance; }
body.ipna-v2 .ipna-catp-feature h2 a { color:#fff; }
body.ipna-v2 .ipna-catp-feature h2 a:hover { color:#ffcfda; }
body.ipna-v2 .ipna-catp-feature p { margin:0; max-width:410px; color:#e7ecf4; font-size:12px; line-height:2.1; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden; }
body.ipna-v2 .ipna-catp-feature__meta { display:flex; flex-wrap:wrap; gap:9px; align-items:center; margin-top:auto; font-size:11px; color:#d6dfeb; }
body.ipna-v2 .ipna-catp-feature__meta span { padding:5px 10px; border-radius:20px; background:#bd1c31; color:#fff; font-weight:800; }
body.ipna-v2 .ipna-catp-feature__meta time { direction:rtl; }

/* Three compact secondary features */
body.ipna-v2 .ipna-catp-trio { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin:14px 0 13px; }
body.ipna-v2 .ipna-catp-trio__card,body.ipna-v2 .ipna-catp-grid__card { overflow:hidden; min-width:0; border:1px solid var(--catp-line); border-radius:7px; background:#fff; box-shadow:0 3px 9px rgba(17,39,61,.06); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
body.ipna-v2 .ipna-catp-trio__card:hover,body.ipna-v2 .ipna-catp-grid__card:hover { transform:translateY(-4px); box-shadow:0 12px 20px rgba(17,39,61,.12); border-color:#c9d8ea; }
body.ipna-v2 .ipna-catp-trio__media,body.ipna-v2 .ipna-catp-grid__media { display:block; position:relative; overflow:hidden; aspect-ratio: 1.87 / 1; background:#e1e6ee; }
body.ipna-v2 .ipna-catp-trio__media img,body.ipna-v2 .ipna-catp-grid__media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .42s ease; }
body.ipna-v2 .ipna-catp-trio__card:hover img,body.ipna-v2 .ipna-catp-grid__card:hover img { transform:scale(1.055); }
body.ipna-v2 .ipna-catp-trio__body { display:flex; flex-direction:column; padding:12px 13px 10px; min-height:180px; }
body.ipna-v2 .ipna-catp-trio__body h3,body.ipna-v2 .ipna-catp-grid__body h3 { margin:0; color:#152842; font-size:14px; font-weight:900; line-height:1.8; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
body.ipna-v2 .ipna-catp-trio__body h3 a,body.ipna-v2 .ipna-catp-grid__body h3 a { color:inherit; }
body.ipna-v2 .ipna-catp-trio__body h3 a:hover,body.ipna-v2 .ipna-catp-grid__body h3 a:hover { color:#b8142b; }
body.ipna-v2 .ipna-catp-trio__body p { margin:8px 0 10px; color:#647080; font-size:11px; line-height:1.85; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
body.ipna-v2 .ipna-catp-trio__meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:5px; margin-top:auto; font-size:10px; color:#6c7785; }
body.ipna-v2 .ipna-catp-trio__meta span { padding:4px 8px; border-radius:18px; background:#f8e7eb; color:#9c172a; }

/* Actual fifth post: wide editorial strip, not a fabricated promo */
body.ipna-v2 .ipna-catp-spotlight { position:relative; display:flex; align-items:center; gap:14px; min-height:96px; padding:17px 20px; overflow:hidden; isolation:isolate; margin:0 0 19px; border-radius:6px; background:#081e3b; color:#fff; box-shadow:0 5px 12px rgba(8,30,59,.14); }
body.ipna-v2 .ipna-catp-spotlight::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(270deg,#071832 0%,rgba(6,20,44,.95) 40%,rgba(6,20,44,.48) 72%,rgba(6,20,44,.7) 100%); }
body.ipna-v2 .ipna-catp-spotlight__image { position:absolute; z-index:-2; inset:0; }
body.ipna-v2 .ipna-catp-spotlight__image img { width:100%; height:100%; object-fit:cover; object-position:center 35%; }
body.ipna-v2 .ipna-catp-spotlight__content { position:relative; z-index:2; flex:1; min-width:0; }
body.ipna-v2 .ipna-catp-spotlight__content>span { display:inline-flex; background:#b91c30; color:#fff; padding:3px 8px; font-size:9px; font-weight:850; border-radius:3px; }
body.ipna-v2 .ipna-catp-spotlight__content h3 { margin:5px 0 0; font-size:clamp(16px,1.6vw,21px); font-weight:900; line-height:1.7; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
body.ipna-v2 .ipna-catp-spotlight__content h3 a { color:#fff; }
body.ipna-v2 .ipna-catp-spotlight__action { position:relative; z-index:2; display:inline-flex; gap:7px; flex:0 0 auto; align-items:center; padding:9px 13px; border-radius:5px; background:var(--catp-red); color:#fff; font-size:11px; font-weight:850; transition:transform .2s ease,background .2s ease; }
body.ipna-v2 .ipna-catp-spotlight__action:hover { transform:translateX(-3px); background:#f02c43; color:#fff; }

/* Lower four-up grid */
body.ipna-v2 .ipna-catp__section-title { display:flex; gap:10px; align-items:center; margin-bottom:12px; }
body.ipna-v2 .ipna-catp__section-title::before { content:""; width:5px; height:20px; transform:skewX(-20deg); background:var(--catp-red); }
body.ipna-v2 .ipna-catp__section-title h2 { margin:0; font-size:17px; font-weight:900; color:#102139; }
body.ipna-v2 .ipna-catp__section-title>span { flex:1; height:1px; background:var(--catp-line); }
body.ipna-v2 .ipna-catp-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
body.ipna-v2 .ipna-catp-grid__media { aspect-ratio:1.65 / 1; }
body.ipna-v2 .ipna-catp-grid__body { display:flex; flex-direction:column; padding:12px; min-height:192px; }
body.ipna-v2 .ipna-catp-grid__body h3 { font-size:13px; }
body.ipna-v2 .ipna-catp-grid__body p { margin:9px 0 10px; color:#697687; font-size:11px; line-height:1.9; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden; }
body.ipna-v2 .ipna-catp-grid__body time { margin-top:auto; color:#8692a2; font-size:10px; }
body.ipna-v2 .ipna-catp-pages { display:flex; justify-content:center; margin-top:23px; }
body.ipna-v2 .ipna-catp-pages ul { display:flex; align-items:center; gap:7px; flex-wrap:wrap; list-style:none; padding:0; margin:0; }
body.ipna-v2 .ipna-catp-pages li { margin:0; }
body.ipna-v2 .ipna-catp-pages .page-numbers { display:grid; place-items:center; min-width:32px; min-height:32px; padding:6px 10px; border:1px solid #e3e8ef; border-radius:6px; color:#27364b; background:#fff; font-size:11px; font-weight:800; transition:background .2s,color .2s; }
body.ipna-v2 .ipna-catp-pages a.page-numbers:hover { background:#f9e9ec; color:#aa1028; }
body.ipna-v2 .ipna-catp-pages .page-numbers.current { background:var(--catp-red); color:#fff; border-color:var(--catp-red); }
body.ipna-v2 .ipna-catp-empty { padding:64px 25px; text-align:center; background:#fff; border-radius:12px; border:1px solid var(--catp-line); }
body.ipna-v2 .ipna-catp-empty h2 { font-size:21px; }
body.ipna-v2 .ipna-catp-empty p { font-size:13px; color:var(--catp-muted); }
body.ipna-v2 .ipna-catp-empty a { display:inline-flex; margin-top:12px; padding:11px 20px; color:#fff; background:var(--catp-red); border-radius:6px; }

/* Editorial sidebar, in the reference order */
body.ipna-v2 .ipna-catp__sidebar { display:grid; gap:13px; }
body.ipna-v2 .ipna-catp-side { overflow:hidden; border:1px solid #dce2ea; background:#fff; border-radius:5px; box-shadow:0 3px 9px rgba(14,34,54,.08); }
body.ipna-v2 .ipna-catp-side__head { display:flex; align-items:center; justify-content:space-between; margin:0; min-height:33px; padding:7px 12px; background:linear-gradient(100deg,#041127,#0e294c); color:#fff; font-size:12px; font-weight:900; }
body.ipna-v2 .ipna-catp-side__head>span { color:#f02044; font-size:18px; font-weight:900; line-height:1; }
body.ipna-v2 .ipna-catp-side__latest { padding:5px 11px 1px; }
body.ipna-v2 .ipna-catp-side__latest-row { display:flex; flex-direction:row; gap:9px; align-items:center; padding:9px 0; border-bottom:1px solid #e7ebf0; color:#172943; }
body.ipna-v2 .ipna-catp-side__latest-row:last-child { border-bottom:0; }
body.ipna-v2 .ipna-catp-side__latest-photo { order:2; flex:0 0 83px; height:53px; overflow:hidden; background:#e2e8f0; border-radius:5px; }
body.ipna-v2 .ipna-catp-side__latest-photo img { width:100%; height:100%; display:block; object-fit:cover; }
body.ipna-v2 .ipna-catp-side__latest-copy { order:1; display:grid; gap:4px; flex:1; min-width:0; }
body.ipna-v2 .ipna-catp-side__latest-copy strong { font-size:11px; line-height:1.65; font-weight:850; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
body.ipna-v2 .ipna-catp-side__latest-copy small { color:#85909f; font-size:9px; }
body.ipna-v2 .ipna-catp-side__latest-row:hover strong { color:#c81934; }
body.ipna-v2 .ipna-catp-side__more { display:flex; gap:7px; align-items:center; margin:3px 12px 10px; color:#bd1930; font-size:10px; font-weight:850; }
body.ipna-v2 .ipna-catp-side__more:hover { color:#f52e4a; }
body.ipna-v2 .ipna-catp-side__popular { padding:0 12px; margin:0; list-style:none; }
body.ipna-v2 .ipna-catp-side__popular li { border-bottom:1px solid #e9edf2; }
body.ipna-v2 .ipna-catp-side__popular li:last-child { border-bottom:0; }
body.ipna-v2 .ipna-catp-side__popular li a { display:flex; align-items:center; gap:11px; padding:12px 0; color:#172941; }
body.ipna-v2 .ipna-catp-side__popular li a strong { font-size:11px; font-weight:850; line-height:1.8; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
body.ipna-v2 .ipna-catp-side__popular li a:hover strong { color:#c51835; }
body.ipna-v2 .ipna-catp-side__rank { display:grid; flex:0 0 27px; width:27px; height:27px; place-items:center; border-radius:5px; background:var(--catp-red); color:#fff; font-size:12px; font-weight:900; }
body.ipna-v2 .ipna-catp-side__media { display:block; padding:10px; color:#16293f; }
body.ipna-v2 .ipna-catp-side__picture { display:block; position:relative; overflow:hidden; border-radius:5px; aspect-ratio:1.8 / 1; background:#d7e0ed; }
body.ipna-v2 .ipna-catp-side__picture img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s; }
body.ipna-v2 .ipna-catp-side__media:hover img { transform:scale(1.045); }
body.ipna-v2 .ipna-catp-side__media>strong { display:block; margin-top:8px; color:#1b2d44; text-align:center; font-size:11px; line-height:1.8; font-weight:850; }
body.ipna-v2 .ipna-catp-side__play { position:absolute; left:50%; top:50%; width:42px; height:42px; display:grid; place-items:center; border:2px solid #fff; border-radius:50%; transform:translate(-50%,-50%); color:#fff; background:rgba(4,16,34,.63); font-size:14px; box-shadow:0 5px 15px rgba(0,0,0,.3); }
body.ipna-v2 .ipna-catp-side__quick { display:grid; padding:6px 10px; }
body.ipna-v2 .ipna-catp-side__quick a { display:flex; align-items:center; justify-content:space-between; gap:7px; padding:8px 5px; border-bottom:1px solid #ecf0f4; color:#304158; font-size:11px; font-weight:700; }
body.ipna-v2 .ipna-catp-side__quick a:last-child { border-bottom:0; }
body.ipna-v2 .ipna-catp-side__quick a span { color:var(--catp-red); font-size:20px; font-weight:900; line-height:1; }
body.ipna-v2 .ipna-catp-side__quick a:hover { color:#bd1b34; }

/* Responsive: no horizontal scrolling in cards, comfortable line lengths. */
@media (max-width:1199px) {
    body.ipna-v2 .ipna-catp__columns { grid-template-columns:minmax(0,1fr) 230px; gap:14px; }
    body.ipna-v2 .ipna-catp-banner { min-height:156px; }
    body.ipna-v2 .ipna-catp-feature { height:320px; }
    body.ipna-v2 .ipna-catp-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    body.ipna-v2 .ipna-catp__filter-top { align-items:flex-start; }
}
@media (max-width:900px) {
    body.ipna-v2 .ipna-catp__columns { grid-template-columns:minmax(0,1fr); }
    body.ipna-v2 .ipna-catp__sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); }
    body.ipna-v2 .ipna-catp__filter-top { align-items:center; }
}
@media (max-width:640px) {
    body.ipna-v2 .ipna-catp { padding:8px 0 36px; }
    body.ipna-v2 .ipna-catp-banner { min-height:170px; margin-bottom:13px; padding:14px 16px; border-radius:7px; }
    body.ipna-v2 .ipna-catp-banner__photo { width:100%; opacity:.42; }
    body.ipna-v2 .ipna-catp-banner::before { background:linear-gradient(270deg,rgba(5,17,37,.96) 0%,rgba(5,17,37,.89) 61%,rgba(5,17,37,.4) 100%); }
    body.ipna-v2 .ipna-catp-banner__crumb { margin-bottom:13px; font-size:10px; }
    body.ipna-v2 .ipna-catp-banner__title-row { gap:11px; }
    body.ipna-v2 .ipna-catp-banner__emblem { width:56px; height:57px; flex-basis:56px; }
    body.ipna-v2 .ipna-catp-banner__emblem svg { width:39px; height:39px; }
    body.ipna-v2 .ipna-catp-banner h1 { font-size:29px; }
    body.ipna-v2 .ipna-catp-banner p { font-size:11px; line-height:1.9; }
    body.ipna-v2 .ipna-catp-banner__slashes { display:none; }
    body.ipna-v2 .ipna-catp__filter-top { display:grid; gap:10px; }
    body.ipna-v2 .ipna-catp__archive-heading h2 { font-size:15px; }
    body.ipna-v2 .ipna-catp__sort { justify-content:flex-start; }
    body.ipna-v2 .ipna-catp__filters { gap:6px; margin-bottom:10px; }
    body.ipna-v2 .ipna-catp__filters a { font-size:10px; padding:7px 10px; min-height:28px; }
    body.ipna-v2 .ipna-catp-feature { height:360px; }
    body.ipna-v2 .ipna-catp-feature__shade { background:linear-gradient(0deg,rgba(3,12,25,.97) 0%,rgba(3,12,25,.85) 45%,rgba(3,12,25,.2) 100%); }
    body.ipna-v2 .ipna-catp-feature__image img { object-position:center 25%; }
    body.ipna-v2 .ipna-catp-feature__content { top:auto; right:17px; left:17px; bottom:16px; width:auto; }
    body.ipna-v2 .ipna-catp-feature__eyebrow { margin-bottom:8px; }
    body.ipna-v2 .ipna-catp-feature h2 { font-size:20px; line-height:1.6; margin-bottom:8px; }
    body.ipna-v2 .ipna-catp-feature p { font-size:11px; -webkit-line-clamp:2; margin-bottom:8px; }
    body.ipna-v2 .ipna-catp-feature__meta { margin-top:0; }
    body.ipna-v2 .ipna-catp-trio { grid-template-columns:minmax(0,1fr); gap:9px; margin-top:10px; }
    body.ipna-v2 .ipna-catp-trio__card { display:grid; grid-template-columns:40% minmax(0,1fr); min-height:147px; }
    body.ipna-v2 .ipna-catp-trio__media { aspect-ratio:auto; height:100%; }
    body.ipna-v2 .ipna-catp-trio__body { padding:10px 12px; min-height:0; }
    body.ipna-v2 .ipna-catp-trio__body h3 { font-size:12px; -webkit-line-clamp:3; }
    body.ipna-v2 .ipna-catp-trio__body p { font-size:10px; -webkit-line-clamp:2; margin:4px 0; }
    body.ipna-v2 .ipna-catp-spotlight { min-height:109px; padding:12px 15px; gap:8px; }
    body.ipna-v2 .ipna-catp-spotlight__content h3 { font-size:15px; }
    body.ipna-v2 .ipna-catp-spotlight__action { padding:8px; font-size:10px; }
    body.ipna-v2 .ipna-catp__section-title h2 { font-size:14px; }
    body.ipna-v2 .ipna-catp-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
    body.ipna-v2 .ipna-catp-grid__media { aspect-ratio:1.35 / 1; }
    body.ipna-v2 .ipna-catp-grid__body { padding:9px; min-height:176px; }
    body.ipna-v2 .ipna-catp-grid__body h3 { font-size:11px; }
    body.ipna-v2 .ipna-catp-grid__body p { font-size:10px; -webkit-line-clamp:3; }
    body.ipna-v2 .ipna-catp__sidebar { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:360px) {
    body.ipna-v2 .ipna-catp-grid { grid-template-columns:minmax(0,1fr); }
    body.ipna-v2 .ipna-catp-trio__card { grid-template-columns:39% minmax(0,1fr); }
    body.ipna-v2 .ipna-catp-spotlight__action { font-size:0; }
    body.ipna-v2 .ipna-catp-spotlight__action span { font-size:15px; }
}
@media (prefers-reduced-motion:reduce) {
    body.ipna-v2 .ipna-catp *,body.ipna-v2 .ipna-catp *::before,body.ipna-v2 .ipna-catp *::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; }
}
/* IPNA-CATEGORY-REFERENCE-V1.1-VISUAL-FIX — BEGIN */
/* 1. Fix a selector collision: WP paginate_links renders UL.page-numbers,
   but V1 .page-numbers applied button styles to the entire UL. */
body.ipna-v2 .ipna-catp nav.ipna-catp-pages {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 24px 0 8px !important;
    padding: 0 !important;
    text-align: center !important;
}
body.ipna-v2 .ipna-catp nav.ipna-catp-pages > ul.page-numbers {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    list-style: none !important;
}
body.ipna-v2 .ipna-catp nav.ipna-catp-pages > ul.page-numbers > li {
    display: block !important;
    flex: 0 0 auto !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    list-style: none !important;
}
body.ipna-v2 .ipna-catp nav.ipna-catp-pages > ul.page-numbers > li > .page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 38px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 12px !important;
    margin: 0 !important;
    border: 1px solid #dfe5ed !important;
    border-radius: 7px !important;
    color: #25364c !important;
    background: #fff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    box-shadow: 0 2px 6px rgba(12, 28, 51, .035) !important;
}
body.ipna-v2 .ipna-catp nav.ipna-catp-pages > ul.page-numbers > li > .page-numbers.current {
    color: #fff !important;
    border-color: #ce1c35 !important;
    background: linear-gradient(145deg, #e02a44, #b8142c) !important;
    box-shadow: 0 5px 13px rgba(210, 29, 53, .20) !important;
}
body.ipna-v2 .ipna-catp nav.ipna-catp-pages > ul.page-numbers > li > a.page-numbers:hover {
    color: #ba1731 !important;
    border-color: #edb7c2 !important;
    background: #fff1f4 !important;
}
/* 2. Keep a real photo contained on desktop; avoid magnifying/cutting off
   faces when the lead post has a portrait or a close-up source image. */
@media (min-width: 781px) {
    body.ipna-v2 .ipna-catp .ipna-catp-feature__image {
        inset: 0 auto 0 0 !important;
        width: 60% !important;
        background: radial-gradient(circle at 40% 50%, #173354 0, #08172d 80%) !important;
    }
    body.ipna-v2 .ipna-catp .ipna-catp-feature__image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform-origin: center center !important;
    }
    body.ipna-v2 .ipna-catp .ipna-catp-feature__shade {
        background:
            linear-gradient(270deg, #07182d 0%, rgba(7,24,45,.98) 32%, rgba(7,24,45,.84) 49%, rgba(7,24,45,.06) 72%, rgba(7,24,45,.03) 100%),
            linear-gradient(0deg, rgba(4,13,27,.34), transparent 50%) !important;
    }
    body.ipna-v2 .ipna-catp .ipna-catp-feature__content {
        width: min(48%, 440px) !important;
    }
}
/* A small masthead framing adjustment leaves more of the source visible. */
body.ipna-v2 .ipna-catp .ipna-catp-banner__photo img {
    object-position: 50% 19% !important;
}
/* 3. Make the fifth-story spotlight photo identifiable while preserving its
   right-hand title contrast and the site's dark navy/red visual identity. */
body.ipna-v2 .ipna-catp .ipna-catp-spotlight::after {
    background: linear-gradient(270deg,
        #071832 0%, rgba(7,24,50,.98) 33%,
        rgba(7,24,50,.66) 58%, rgba(7,24,50,.19) 100%) !important;
}
body.ipna-v2 .ipna-catp .ipna-catp-spotlight__image img {
    object-position: center 32% !important;
}
/* 4. Slightly sharpen news typography without changing card counts. */
body.ipna-v2 .ipna-catp .ipna-catp-trio__body h3,
body.ipna-v2 .ipna-catp .ipna-catp-grid__body h3 {
    letter-spacing: -.1px;
    line-height: 1.9;
}
body.ipna-v2 .ipna-catp .ipna-catp-feature h2 {
    text-shadow: 0 2px 12px rgba(0,0,0,.28);
}
@media (max-width: 780px) {
    body.ipna-v2 .ipna-catp .ipna-catp-feature__image {
        inset: 0 !important;
        width: 100% !important;
    }
    body.ipna-v2 .ipna-catp .ipna-catp-feature__image img {
        object-fit: cover !important;
        object-position: center 25% !important;
    }
    body.ipna-v2 .ipna-catp .ipna-catp-feature__shade {
        background: linear-gradient(0deg,rgba(3,12,25,.97) 0%,rgba(3,12,25,.85) 44%,rgba(3,12,25,.14) 100%) !important;
    }
    body.ipna-v2 .ipna-catp .ipna-catp-feature__content {
        right: 17px !important; left: 17px !important;
        top: auto !important; bottom: 16px !important;
        width: auto !important;
    }
}
@media (max-width: 420px) {
    body.ipna-v2 .ipna-catp nav.ipna-catp-pages > ul.page-numbers { gap: 5px !important; }
    body.ipna-v2 .ipna-catp nav.ipna-catp-pages > ul.page-numbers > li > .page-numbers {
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 9px !important;
        font-size: 11px !important;
    }
}
/* IPNA-CATEGORY-REFERENCE-V1.1-VISUAL-FIX — END */

/* IPNA-CATEGORY-BANNER-FADE-FIX-V1.1 — BEGIN */
/* Use one continuous banner image, fading naturally into the navy copy area. */
body.ipna-v2 .ipna-catp .ipna-catp-banner {
    overflow: hidden !important;
    isolation: isolate !important;
    background-color: #07182d !important;
}
body.ipna-v2 .ipna-catp .ipna-catp-banner__photo {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 1 !important;
    overflow: hidden !important;
    z-index: 0 !important;
}
body.ipna-v2 .ipna-catp .ipna-catp-banner__photo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 24% !important;
    filter: grayscale(1) contrast(1.08) brightness(.88) !important;
    -webkit-mask-image: linear-gradient(90deg,
        #000 0%, #000 43%, rgba(0,0,0,.88) 55%,
        rgba(0,0,0,.56) 67%, rgba(0,0,0,.18) 79%,
        transparent 91%) !important;
    mask-image: linear-gradient(90deg,
        #000 0%, #000 43%, rgba(0,0,0,.88) 55%,
        rgba(0,0,0,.56) 67%, rgba(0,0,0,.18) 79%,
        transparent 91%) !important;
}
body.ipna-v2 .ipna-catp .ipna-catp-banner::before {
    z-index: 1 !important;
    background: linear-gradient(270deg,
        rgba(5,17,37,.99) 0%, rgba(5,17,37,.94) 26%,
        rgba(5,17,37,.68) 48%, rgba(5,17,37,.24) 69%,
        rgba(5,17,37,.04) 87%, transparent 100%) !important;
}
body.ipna-v2 .ipna-catp .ipna-catp-banner__body {
    position: relative !important;
    z-index: 2 !important;
}
body.ipna-v2 .ipna-catp .ipna-catp-banner::after,
body.ipna-v2 .ipna-catp .ipna-catp-banner__slashes {
    z-index: 3 !important;
}
@media (max-width: 640px) {
    body.ipna-v2 .ipna-catp .ipna-catp-banner__photo img {
        object-position: center 22% !important;
        -webkit-mask-image: none !important;
        mask-image: none !important;
    }
    body.ipna-v2 .ipna-catp .ipna-catp-banner::before {
        background: linear-gradient(270deg,
            rgba(5,17,37,.97) 0%, rgba(5,17,37,.89) 48%,
            rgba(5,17,37,.54) 76%, rgba(5,17,37,.28) 100%) !important;
    }
}
/* IPNA-CATEGORY-BANNER-FADE-FIX-V1.1 — END */
