/* ==========================================================
   AFDES CONFLICT OBSERVATORY — APPROVED PUBLIC PRESENTATION
   Reference direction: compact institutional masthead +
   map-centered analytical brief. Scoped to Conflict Observatory.
========================================================== */

.conflict-observatory-page,
.conflict-dossier-page,
.co-ref-page {
    --co-ink: #0d2f50;
    --co-ink-2: #183f61;
    --co-red: #b3242a;
    --co-red-soft: #f8e9e9;
    --co-blue-soft: #eef4f8;
    --co-text: #31465a;
    --co-muted: #708095;
    --co-line: #dbe3e9;
    --co-line-dark: #c9d3dc;
    --co-bg: #f7f9fb;
    --co-card: #ffffff;
    background: var(--co-bg);
    color: var(--co-text);
    overflow-x: clip;
}

.conflict-observatory-page *,
.conflict-dossier-page *,
.co-ref-page * { box-sizing: border-box; }

.conflict-observatory-page h1,
.conflict-observatory-page h2,
.conflict-observatory-page h3,
.conflict-dossier-page h1,
.conflict-dossier-page h2,
.conflict-dossier-page h3,
.co-ref-page h1,
.co-ref-page h2,
.co-ref-page h3 {
    color: var(--co-ink);
    font-family: "Merriweather", Georgia, "Times New Roman", serif;
}

.conflict-observatory-page p,
.conflict-dossier-page p,
.conflict-dossier-page .co-prose,
.co-ref-page p,
.co-ref-page .co-prose {
    font-size: 1rem;
    line-height: 1.62;
}

.co-v2-kicker,
.co-ref-kicker,
.co-ref-eyebrow,
.co-ref-label {
    display: inline-block;
    color: var(--co-red);
    font-family: "Inter", Arial, sans-serif;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .16em;
    text-transform: uppercase;
}

/* ==========================================================
   OBSERVATORY LANDING PAGE
========================================================== */

.co-v2-landing-hero {
    border-bottom: 1px solid var(--co-line);
    background:
        radial-gradient(circle at 88% 42%, rgba(13,47,80,.055), transparent 19%),
        linear-gradient(180deg, #fff 0%, #fbfcfd 100%);
}

.co-v2-landing-hero .container {
    padding-top: 34px;
    padding-bottom: 32px;
}

.co-v2-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1.55fr) minmax(250px,.45fr);
    gap: 42px;
    align-items: center;
}

.co-v2-hero-copy h1 {
    margin: 7px 0 0;
    color: var(--co-ink);
    font-size: clamp(2.15rem, 4.2vw, 3.7rem);
    line-height: 1.04;
    letter-spacing: -.035em;
}

.co-v2-hero-copy > p {
    max-width: 760px;
    margin: 8px 0 0;
    color: #617085;
    font-size: clamp(.98rem, 1.25vw, 1.08rem);
    line-height: 1.55;
}

.co-v2-status-row {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 12px;
    align-items: center;
    margin-top: 13px;
    color: var(--co-muted);
    font-size: .76rem;
    font-weight: 700;
}

.co-v2-status-row .co-live-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--co-red);
    box-shadow: none;
}

.co-v2-hero-actions { display: none; }

.co-v2-briefing-card {
    min-width: 0;
    padding: 0 0 0 24px;
    border: 0;
    border-left: 1px solid var(--co-line-dark);
    background: transparent;
}

.co-v2-briefing-card > strong {
    display: block;
    margin-top: 6px;
    color: var(--co-ink);
    font-family: "Inter", Arial, sans-serif;
    font-size: .95rem;
    line-height: 1.35;
}

.co-v2-briefing-list {
    display: grid;
    gap: 5px;
    margin-top: 10px;
}

.co-v2-briefing-list span {
    display: block;
    padding: 0;
    border: 0;
    color: var(--co-muted);
    font-size: .75rem;
    font-weight: 700;
    line-height: 1.35;
}

.co-v2-briefing-list span::before { display: none; }

.co-v2-stat-strip {
    border-bottom: 1px solid var(--co-line);
    background: #fff;
}

.co-v2-stat-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
}

.co-v2-stat-grid > div {
    min-width: 0;
    padding: 15px 17px;
    border-left: 1px solid var(--co-line);
}

.co-v2-stat-grid > div:last-child { border-right: 1px solid var(--co-line); }
.co-v2-stat-grid strong { display:block; color:var(--co-ink); font-size:1.18rem; line-height:1; }
.co-v2-stat-grid span { display:block; margin-top:5px; color:var(--co-muted); font-size:.72rem; font-weight:700; }

.co-v2-dossiers {
    padding: 38px 0 64px;
    background: #fff;
}

.co-v2-section-heading {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: end;
    margin-bottom: 18px;
}

.co-v2-section-heading h2 {
    margin: 5px 0 0;
    font-size: clamp(1.65rem, 3vw, 2.35rem);
    line-height: 1.08;
    letter-spacing: -.025em;
}

.co-v2-section-heading p {
    max-width: 650px;
    margin: 7px 0 0;
    color: var(--co-muted);
    font-size: .9rem;
}

.co-result-count { color:var(--co-muted); font-size:.76rem; font-weight:800; }

.co-v2-page .co-filters,
.co-filters {
    display: grid;
    grid-template-columns: minmax(220px,1.25fr) repeat(3,minmax(140px,.7fr)) auto auto;
    gap: 8px;
    margin: 0 0 22px;
    padding: 10px;
    border: 1px solid var(--co-line);
    border-radius: 4px;
    background: var(--co-bg);
}

.co-filters input,
.co-filters select,
.co-filters button,
.co-filters > a {
    min-width: 0;
    min-height: 42px;
    border: 1px solid var(--co-line-dark);
    border-radius: 3px;
    background: #fff;
    color: var(--co-text);
    font: inherit;
    font-size: .8rem;
}

.co-filters input,
.co-filters select { width:100%; padding:9px 11px; }
.co-filters button { padding:9px 15px; border-color:var(--co-ink); background:var(--co-ink); color:#fff; font-weight:800; cursor:pointer; }
.co-filters > a { display:flex; align-items:center; justify-content:center; padding:9px 13px; color:var(--co-ink); font-weight:800; text-decoration:none; }

.co-case-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px;
}

.co-case-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--co-line);
    border-radius: 4px;
    background: #fff;
    box-shadow: none;
}

.co-case-visual {
    position: relative;
    display: block;
    min-height: 215px;
    overflow: hidden;
    background: #eaf0f4;
    text-decoration: none;
}

.co-case-visual,
.co-case-visual img,
.co-v2-page .co-case-visual,
.co-v2-page .co-case-visual img { height:215px; min-height:215px; }
.co-case-visual img { width:100%; object-fit:cover; display:block; }
.co-case-status-row { position:absolute; top:12px; left:12px; right:12px; display:flex; flex-wrap:wrap; gap:6px; }

.co-status-badge,
.co-intensity-badge,
.co-type-badge {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 9px;
    border: 1px solid rgba(13,47,80,.12);
    border-radius: 3px;
    background: rgba(255,255,255,.94);
    color: var(--co-ink);
    font-size: .68rem;
    font-weight: 800;
    line-height: 1.2;
}

.co-status-badge::before {
    content:"";
    width:6px;
    height:6px;
    margin-right:6px;
    border-radius:50%;
    background:var(--co-red);
}

.co-case-body,
.co-v2-page .co-case-body { padding:18px 19px 16px; }
.co-case-meta { display:flex; flex-wrap:wrap; gap:6px 12px; color:var(--co-red); font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.co-case-body h3,
.co-v2-page .co-case-body h3 { margin:8px 0 0; font-size:1.25rem; line-height:1.24; }
.co-case-body h3 a { color:inherit; text-decoration:none; }
.co-case-body > p { margin:8px 0 0; color:#56677a; font-size:.88rem !important; line-height:1.5; }
.co-case-countries { color:var(--co-muted)!important; font-size:.75rem!important; font-weight:700; }
.co-case-footer { display:flex; flex-wrap:wrap; gap:7px 14px; align-items:center; margin-top:14px; padding-top:12px; border-top:1px solid var(--co-line); color:var(--co-muted); font-size:.69rem; font-weight:700; }
.co-case-footer a { margin-left:auto; color:var(--co-ink); font-weight:800; text-decoration:none; }

.co-pagination { display:flex; justify-content:center; gap:12px; align-items:center; margin-top:26px; font-size:.78rem; }
.co-pagination a { color:var(--co-ink); font-weight:800; text-decoration:none; }
.co-empty-state { padding:40px 24px; border:1px solid var(--co-line); background:var(--co-bg); text-align:center; }

/* ==========================================================
   APPROVED CASE PAGE: INTELLIGENCE BRIEF / DASHBOARD
========================================================== */

.co-ref-page { padding-bottom: 42px; }

.co-ref-masthead {
    border-bottom: 1px solid var(--co-line);
    background:
        radial-gradient(circle at 90% 50%, rgba(13,47,80,.055), transparent 18%),
        linear-gradient(180deg,#fff 0%,#fbfcfd 100%);
}

.co-ref-masthead .container {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(220px,.35fr);
    gap: 30px;
    align-items: center;
    padding-top: 25px;
    padding-bottom: 24px;
}

.co-ref-masthead h1 {
    margin: 6px 0 0;
    font-size: clamp(2rem,4vw,3.25rem);
    line-height: 1.05;
    letter-spacing: -.035em;
}

.co-ref-masthead p {
    margin: 5px 0 0;
    color: #637286;
    font-size: 1rem;
    line-height: 1.45;
}

.co-ref-masthead-side {
    padding-left: 23px;
    border-left: 1px solid var(--co-line-dark);
}

.co-ref-masthead-side span { display:block; color:var(--co-muted); font-size:.66rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.co-ref-masthead-side strong { display:block; margin-top:6px; color:var(--co-ink); font-size:.88rem; line-height:1.35; }

.co-ref-case-shell { padding-top: 16px; }

.co-ref-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
    color: var(--co-ink);
    font-size: .75rem;
    font-weight: 800;
    text-decoration: none;
}

.co-ref-main-grid {
    display: grid;
    grid-template-columns: minmax(0,1.06fr) minmax(360px,.94fr);
    gap: 20px;
    align-items: stretch;
}

.co-ref-map-card,
.co-ref-summary-panel {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--co-line);
    border-radius: 4px;
    background: #fff;
}

.co-ref-map-head {
    display: flex;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    padding: 9px 12px 9px 15px;
    border-bottom: 1px solid var(--co-line);
    background: #fbfcfd;
}

.co-ref-map-head h2 {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.25;
}

.co-ref-badges { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.co-ref-badges .co-status-badge,
.co-ref-badges .co-intensity-badge,
.co-ref-badges .co-type-badge { background:#fff; }

.co-ref-map-media {
    position: relative;
    display: grid;
    min-height: 410px;
    place-items: center;
    overflow: hidden;
    background: #edf3f6;
}

.co-ref-map-media img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 590px;
    object-fit: contain;
    background: #f3f7f9;
}

.co-ref-map-empty {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 410px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 28px;
    overflow: hidden;
    background: #e8eef2;
}

.co-ref-map-empty::before {
    content:"";
    position:absolute;
    inset:0;
    opacity:.48;
    background-image:
        linear-gradient(rgba(13,47,80,.065) 1px,transparent 1px),
        linear-gradient(90deg,rgba(13,47,80,.065) 1px,transparent 1px);
    background-size:34px 34px;
}

.co-ref-map-empty > * { position:relative; z-index:1; }
.co-ref-map-empty strong { color:var(--co-ink); font-family:"Merriweather",Georgia,serif; font-size:1.25rem; }
.co-ref-map-empty p { max-width:520px; margin:7px 0 0; color:#617184; font-size:.84rem!important; }

.co-ref-map-caption { padding:9px 12px; border-top:1px solid var(--co-line); color:var(--co-muted); font-size:.68rem; line-height:1.45; }
.co-ref-map-caption a { color:var(--co-ink); }

.co-ref-summary-panel { padding: 14px 17px 16px; }

.co-ref-summary-top {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: baseline;
}

.co-ref-summary-date { color:var(--co-muted); font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }

.co-ref-summary-panel h2 {
    margin: 5px 0 0;
    font-size: clamp(1.3rem,2vw,1.75rem);
    line-height: 1.22;
}

.co-ref-summary-panel .co-prose { margin-top:8px; color:#405366; font-size:.9rem; line-height:1.52; }
.co-ref-summary-panel .co-prose p { margin:.55em 0; font-size:inherit; line-height:inherit; }

.co-ref-summary-meta {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 0;
    margin-top: 12px;
    border-top: 1px solid var(--co-line);
    border-left: 1px solid var(--co-line);
}

.co-ref-summary-meta > div { min-width:0; padding:9px 10px; border-right:1px solid var(--co-line); border-bottom:1px solid var(--co-line); }
.co-ref-summary-meta span { display:block; color:var(--co-muted); font-size:.62rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.co-ref-summary-meta strong { display:block; margin-top:3px; color:var(--co-ink); font-size:.76rem; line-height:1.35; overflow-wrap:anywhere; }

.co-ref-key-developments {
    margin-top: 13px;
    padding-top: 12px;
    border-top: 1px solid var(--co-line);
}

.co-ref-key-developments h3 { margin:0 0 7px; font-family:"Inter",Arial,sans-serif; font-size:.69rem; letter-spacing:.11em; text-transform:uppercase; }
.co-ref-key-developments ul { display:grid; gap:5px; margin:0; padding:0; list-style:none; }
.co-ref-key-developments li { position:relative; padding-left:14px; color:#4b5d70; font-size:.8rem; line-height:1.35; }
.co-ref-key-developments li::before { content:""; position:absolute; left:1px; top:.5em; width:5px; height:5px; border-radius:50%; background:var(--co-red); }

.co-ref-featured-media {
    display: grid;
    grid-template-columns: 135px minmax(0,1fr);
    min-height: 92px;
    margin-top: 13px;
    border: 1px solid var(--co-line);
    background: #fff;
}

.co-ref-featured-thumb {
    position: relative;
    display: grid;
    min-height: 92px;
    place-items: center;
    overflow: hidden;
    background: #dce5ea;
}

.co-ref-featured-thumb img { width:100%; height:100%; object-fit:cover; }
.co-ref-play { position:absolute; display:grid; width:34px; height:34px; place-items:center; border:2px solid #fff; border-radius:50%; background:rgba(13,47,80,.72); color:#fff; font-size:.82rem; }
.co-ref-featured-copy { padding:10px 12px; }
.co-ref-featured-copy span { color:var(--co-red); font-size:.62rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.co-ref-featured-copy strong { display:block; margin-top:3px; color:var(--co-ink); font-family:"Merriweather",Georgia,serif; font-size:.88rem; line-height:1.3; }
.co-ref-featured-copy a { display:inline-block; margin-top:6px; color:var(--co-ink); font-size:.7rem; font-weight:800; text-decoration:none; }

.co-ref-metric-strip {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 8px;
    margin-top: 12px;
}

.co-ref-metric {
    min-width:0;
    min-height: 84px;
    padding: 11px 12px;
    border: 1px solid var(--co-line);
    border-radius: 4px;
    background: #fff;
}

.co-ref-metric span { display:block; color:var(--co-muted); font-size:.61rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.co-ref-metric strong { display:block; margin-top:6px; color:var(--co-ink); font-size:1.05rem; line-height:1.15; overflow-wrap:anywhere; }
.co-ref-metric strong.is-alert { color:var(--co-red); }
.co-ref-metric p { margin:5px 0 0; color:var(--co-muted); font-size:.64rem!important; line-height:1.3; }
.co-ref-metric a { color:inherit; text-decoration:none; }

.co-ref-section { padding-top: 24px; }
.co-ref-section + .co-ref-section { padding-top: 26px; }

.co-ref-section-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: end;
    margin-bottom: 10px;
}

.co-ref-section-head h2 { margin:0; font-size:1.55rem; line-height:1.15; }
.co-ref-section-head p { max-width:650px; margin:4px 0 0; color:var(--co-muted); font-size:.78rem; }
.co-ref-section-head a { color:var(--co-ink); font-size:.72rem; font-weight:800; text-decoration:none; white-space:nowrap; }

.co-ref-analysis-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 10px;
}

.co-ref-analysis-card {
    min-width:0;
    padding: 13px 14px 14px;
    border: 1px solid var(--co-line);
    border-radius: 4px;
    background: #fff;
}

.co-ref-analysis-card .co-ref-analysis-tag { color:var(--co-red); font-size:.61rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.co-ref-analysis-card h3 { margin:5px 0 0; font-size:1rem; line-height:1.3; }
.co-ref-analysis-card p { margin:7px 0 0; color:#596a7d; font-size:.78rem!important; line-height:1.45; }
.co-ref-analysis-card a { display:inline-block; margin-top:8px; color:var(--co-ink); font-size:.7rem; font-weight:800; text-decoration:none; }

.co-ref-timeline-strip {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 0;
    border-top: 1px solid var(--co-line-dark);
}

.co-ref-timeline-event {
    position:relative;
    min-width:0;
    padding: 12px 15px 0 14px;
}

.co-ref-timeline-event::before { content:""; position:absolute; top:-5px; left:14px; width:9px; height:9px; border-radius:50%; background:var(--co-ink); }
.co-ref-timeline-event:first-child::before { background:var(--co-red); }
.co-ref-timeline-event time { display:block; color:var(--co-muted); font-size:.62rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.co-ref-timeline-event strong { display:block; margin-top:5px; color:var(--co-text); font-size:.76rem; line-height:1.38; }
.co-ref-timeline-event p { margin:4px 0 0; color:var(--co-muted); font-size:.68rem!important; line-height:1.38; }

.co-ref-evidence-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 10px;
}

.co-ref-source-card {
    min-width:0;
    min-height: 112px;
    padding: 13px 14px;
    border: 1px solid var(--co-line);
    border-radius: 4px;
    background: #fff;
}

.co-ref-source-type { display:flex; align-items:center; gap:7px; color:var(--co-ink); font-size:.62rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.co-ref-source-icon { display:grid; width:25px; height:25px; place-items:center; border:1px solid var(--co-line-dark); border-radius:3px; color:var(--co-ink); font-size:.74rem; }
.co-ref-source-card h3 { margin:8px 0 0; font-size:.86rem; line-height:1.35; }
.co-ref-source-card h3 a { color:inherit; text-decoration:none; }
.co-ref-source-meta { display:flex; flex-wrap:wrap; gap:4px 8px; margin-top:6px; color:var(--co-muted); font-size:.66rem; line-height:1.35; }
.co-ref-source-card p { margin:6px 0 0; color:#667689; font-size:.68rem!important; line-height:1.4; }

.co-ref-video-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 10px;
}

.co-ref-video-card { min-width:0; }
.co-ref-video-thumb { position:relative; display:grid; aspect-ratio:16/9; place-items:center; overflow:hidden; border:1px solid var(--co-line); background:#dfe7ec; }
.co-ref-video-thumb img { width:100%; height:100%; object-fit:cover; }
.co-ref-video-card h3 { margin:7px 0 0; font-size:.85rem; line-height:1.35; }
.co-ref-video-card h3 a { color:inherit; text-decoration:none; }
.co-ref-video-card p { margin:3px 0 0; color:var(--co-muted); font-size:.66rem!important; line-height:1.35; }

.co-ref-actors-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 10px;
}

.co-ref-actor-card { padding:13px 14px; border:1px solid var(--co-line); border-radius:4px; background:#fff; }
.co-ref-actor-card > span { color:var(--co-red); font-size:.61rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.co-ref-actor-card h3 { margin:5px 0 0; font-size:.92rem; }
.co-ref-actor-card strong { display:block; margin-top:5px; color:var(--co-text); font-size:.72rem; line-height:1.4; }
.co-ref-actor-card p { margin:6px 0 0; color:var(--co-muted); font-size:.72rem!important; line-height:1.42; }
.co-ref-actor-card a { display:inline-block; margin-top:7px; color:var(--co-ink); font-size:.68rem; font-weight:800; text-decoration:none; }

.co-ref-full-analysis {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    border-top: 1px solid var(--co-line);
    border-left: 1px solid var(--co-line);
}

.co-ref-full-analysis article { min-width:0; padding:18px 19px; border-right:1px solid var(--co-line); border-bottom:1px solid var(--co-line); background:#fff; }
.co-ref-full-analysis h3 { margin:0; font-size:1rem; }
.co-ref-full-analysis .co-prose { margin-top:8px; color:#526477; font-size:.82rem; line-height:1.55; }
.co-ref-full-analysis .co-prose p { font-size:inherit; line-height:inherit; }

.co-ref-source-register { display:grid; gap:0; border:1px solid var(--co-line); background:#fff; }
.co-ref-source-register article { display:grid; grid-template-columns:38px minmax(0,1fr); gap:10px; padding:11px 12px; border-bottom:1px solid var(--co-line); }
.co-ref-source-register article:last-child { border-bottom:0; }
.co-ref-source-index { color:var(--co-red); font-size:.7rem; font-weight:800; }
.co-ref-source-register h3 { margin:0; font-family:"Inter",Arial,sans-serif; font-size:.8rem; line-height:1.35; }
.co-ref-source-register h3 a { color:var(--co-ink); text-decoration:none; }
.co-ref-source-register .co-source-meta { margin-top:3px; }
.co-ref-methodology { margin-top:10px; padding:13px 14px; border-left:3px solid var(--co-ink); background:var(--co-blue-soft); color:#536579; font-size:.76rem; line-height:1.5; }

.co-ref-authors { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:9px; }
.co-ref-authors > span { color:var(--co-muted); font-size:.62rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.co-ref-authors a { display:inline-flex; align-items:center; gap:6px; color:var(--co-ink); font-size:.7rem; font-weight:800; text-decoration:none; }
.co-ref-authors img { width:24px; height:24px; border-radius:50%; object-fit:cover; }

.co-ref-note { margin-top:24px; padding:12px 14px; border-top:1px solid var(--co-line); border-bottom:1px solid var(--co-line); background:#fff; }
.co-ref-note strong { color:var(--co-ink); font-size:.72rem; }
.co-ref-note p { margin:4px 0 0; color:var(--co-muted); font-size:.7rem!important; line-height:1.45; }

/* Hide old case presentation if a reference-layout case is present. */
.co-ref-page .co-v2-case-head,
.co-ref-page .co-v2-case-nav,
.co-ref-page .co-v2-intelligence,
.co-ref-page .co-data-band,
.co-ref-page .co-v2-analysis,
.co-ref-page .co-actors-section,
.co-ref-page .co-timeline-band,
.co-ref-page .co-v2-evidence,
.co-ref-page .co-v2-case-note { display:none!important; }

/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width: 1100px) {
    .co-v2-hero-grid { grid-template-columns:minmax(0,1fr) 260px; gap:28px; }
    .co-ref-main-grid { grid-template-columns:minmax(0,1fr) minmax(320px,.82fr); gap:14px; }
    .co-ref-metric-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .co-ref-analysis-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .co-ref-evidence-grid,
    .co-ref-video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
    .co-v2-hero-grid,
    .co-ref-masthead .container,
    .co-ref-main-grid { grid-template-columns:1fr; }
    .co-v2-briefing-card,
    .co-ref-masthead-side { padding:13px 0 0; border-left:0; border-top:1px solid var(--co-line); }
    .co-v2-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .co-v2-stat-grid > div:nth-child(3) { border-top:1px solid var(--co-line); }
    .co-v2-stat-grid > div:nth-child(4) { border-top:1px solid var(--co-line); }
    .co-filters,
    .co-v2-page .co-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .co-case-grid { grid-template-columns:1fr; }
    .co-ref-map-media,
    .co-ref-map-empty { min-height:360px; }
    .co-ref-timeline-strip { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:18px; }
    .co-ref-actors-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 650px) {
    .co-v2-landing-hero .container { padding-top:25px; padding-bottom:24px; }
    .co-v2-hero-copy h1 { font-size:clamp(2rem,11vw,2.8rem); }
    .co-v2-stat-grid { grid-template-columns:1fr 1fr; }
    .co-v2-section-heading,
    .co-ref-section-head { align-items:flex-start; flex-direction:column; gap:7px; }
    .co-filters,
    .co-v2-page .co-filters { grid-template-columns:1fr; }
    .co-case-visual,
    .co-case-visual img,
    .co-v2-page .co-case-visual,
    .co-v2-page .co-case-visual img { height:190px; min-height:190px; }

    .co-ref-masthead .container { padding-top:20px; padding-bottom:19px; }
    .co-ref-masthead h1 { font-size:2rem; }
    .co-ref-masthead p { font-size:.9rem; }
    .co-ref-case-shell { padding-top:11px; }
    .co-ref-map-head { align-items:flex-start; flex-direction:column; gap:8px; }
    .co-ref-badges { justify-content:flex-start; }
    .co-ref-map-media,
    .co-ref-map-empty { min-height:290px; }
    .co-ref-summary-top { align-items:flex-start; flex-direction:column; gap:4px; }
    .co-ref-summary-meta { grid-template-columns:1fr; }
    .co-ref-featured-media { grid-template-columns:110px minmax(0,1fr); }
    .co-ref-metric-strip { display:flex; overflow-x:auto; padding-bottom:4px; scroll-snap-type:x proximity; }
    .co-ref-metric { flex:0 0 min(70vw,220px); scroll-snap-align:start; }
    .co-ref-analysis-grid,
    .co-ref-evidence-grid,
    .co-ref-video-grid,
    .co-ref-actors-grid,
    .co-ref-full-analysis { grid-template-columns:1fr; }
    .co-ref-timeline-strip { display:flex; overflow-x:auto; padding:0 0 5px; scroll-snap-type:x proximity; }
    .co-ref-timeline-event { flex:0 0 min(72vw,240px); scroll-snap-align:start; }
    .co-ref-full-analysis { border-left:0; }
    .co-ref-full-analysis article { border-left:1px solid var(--co-line); }
}

@media (max-width: 420px) {
    .co-v2-stat-grid { grid-template-columns:1fr; }
    .co-v2-stat-grid > div { border-right:1px solid var(--co-line); border-top:1px solid var(--co-line); }
    .co-v2-stat-grid > div:first-child { border-top:0; }
    .co-ref-map-media,
    .co-ref-map-empty { min-height:245px; }
    .co-ref-featured-media { grid-template-columns:1fr; }
    .co-ref-featured-thumb { aspect-ratio:16/8; }
}
