/* ============================================================
   THE SOVEREIGNTY REPORT — Analysis Archive
   ============================================================ */

.analysis-archive-page { background: #040c13; }
.analysis-shell { width: min(1180px, calc(100% - 56px)); margin: 0 auto; }

.analysis-hero {
    position: relative;
    overflow: hidden;
    padding: 185px 0 82px;
    background:
        radial-gradient(ellipse at 74% 14%, rgba(54,88,108,.19), transparent 50%),
        radial-gradient(circle at 15% 0%, rgba(190,159,95,.05), transparent 30rem),
        linear-gradient(180deg, #071723 0%, #040c13 100%);
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.analysis-hero::after {
    content: "";
    position: absolute;
    top: -25rem;
    right: -12rem;
    width: 52rem;
    height: 52rem;
    border-radius: 50%;
    border: 1px solid rgba(193,165,105,.045);
    box-shadow: 0 0 0 7rem rgba(193,165,105,.012), 0 0 0 14rem rgba(193,165,105,.008);
    pointer-events: none;
}

.analysis-kicker,
.analysis-results-kicker,
.analysis-empty-kicker {
    color: #bca269;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.analysis-kicker { position: relative; z-index: 1; font-size: .72rem; letter-spacing: .19em; }

.analysis-hero-title {
    position: relative;
    z-index: 1;
    max-width: 930px;
    margin: 20px 0 0;
    color: #f1ece3;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.15rem, 6vw, 5rem);
    font-weight: 400;
    line-height: 1.01;
    letter-spacing: -.043em;
    text-wrap: balance;
}

.analysis-hero-lower {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0,760px) auto;
    justify-content: space-between;
    align-items: end;
    gap: 46px;
    margin-top: 30px;
}

.analysis-hero-intro {
    margin: 0;
    color: #aeb8be;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.06rem;
    line-height: 1.72;
}

.analysis-hero-count {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 118px;
    padding-left: 24px;
    border-left: 1px solid rgba(193,165,105,.2);
}

.analysis-hero-count strong {
    color: #f1ece3;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.15rem;
    font-weight: 400;
    line-height: 1;
}

.analysis-hero-count span,
.analysis-results-count {
    color: #6f7d85;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.analysis-hero-count span { margin-top: 6px; }

.analysis-filter-section {
    padding: 30px 0 34px;
    background: #06131d;
    border-bottom: 1px solid rgba(255,255,255,.065);
}

.analysis-filter-panel {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 26px;
    align-items: center;
}

.analysis-filter-label {
    color: rgba(174,184,190,.48);
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.analysis-filter-options { display: flex; flex-wrap: wrap; gap: 9px; }

.analysis-filter {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 0 15px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 999px;
    color: #8f9aa1;
    text-decoration: none;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
    transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}

.analysis-filter:hover { border-color: rgba(193,165,105,.42); color: #d3b879; transform: translateY(-1px); }
.analysis-filter.is-active { border-color: rgba(193,165,105,.68); background: rgba(193,165,105,.09); color: #d3b879; }

.analysis-results {
    padding: 72px 0 100px;
    background: linear-gradient(180deg, #040c13 0%, #03090e 100%);
}

.analysis-results-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255,255,255,.075);
}

.analysis-results-context {
    margin: 7px 0 0;
    color: #79878f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .95rem;
}

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

.analysis-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(10,26,38,.96), rgba(6,19,29,.98));
    box-shadow: 0 18px 48px rgba(0,0,0,.16);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.analysis-card:hover { transform: translateY(-3px); border-color: rgba(193,165,105,.18); box-shadow: 0 24px 58px rgba(0,0,0,.22); }

.analysis-card-image-link {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #091925;
    text-decoration: none;
}

.analysis-card-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.001);
    transition: transform .4s ease, opacity .2s ease;
}

.analysis-card:hover .analysis-card-image { transform: scale(1.035); }
.analysis-card-image--fallback { opacity: .42; }

.analysis-card-category {
    position: absolute;
    left: 16px;
    bottom: 15px;
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid rgba(190,159,95,.34);
    border-radius: 999px;
    background: rgba(4,12,19,.86);
    color: #c4a86d;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
}

.analysis-card-body { min-width: 0; display: flex; flex: 1; flex-direction: column; padding: 25px 24px 24px; }

.analysis-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
    color: #728089;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.analysis-card-meta > span[aria-hidden="true"] { color: #8f7b52; }

.analysis-card-title {
    margin: 0;
    color: #e7e1d8;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.45rem, 2.2vw, 1.75rem);
    font-weight: 400;
    line-height: 1.16;
    letter-spacing: -.022em;
}

.analysis-card-title a { color: inherit; text-decoration: none; transition: color .18s ease; }
.analysis-card-title a:hover { color: #e7c982; }

.analysis-card-summary {
    margin: 16px 0 0;
    color: #929da4;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .91rem;
    line-height: 1.7;
}

.analysis-card-footer { margin-top: auto; padding-top: 24px; }

.analysis-read-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(198,170,112,.38);
    color: #c6aa70;
    text-decoration: none;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.analysis-read-link span { transition: transform .18s ease; }
.analysis-read-link:hover span { transform: translateX(4px); }

.analysis-empty {
    padding: 76px 30px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 16px;
    background: #07141e;
    text-align: center;
}

.analysis-empty h2 {
    margin: 14px 0 0;
    color: #e7e1d8;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.1rem;
    font-weight: 400;
}

.analysis-empty p {
    max-width: 560px;
    margin: 18px auto 0;
    color: #8e9aa1;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .95rem;
    line-height: 1.7;
}

.analysis-empty-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    margin-top: 28px;
    padding: 0 18px;
    border: 1px solid rgba(193,165,105,.36);
    border-radius: 999px;
    color: #d3b879;
    text-decoration: none;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.analysis-pagination { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 56px; }
.analysis-page-link, .analysis-page-current { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 999px; font-size: .7rem; font-weight: 800; }
.analysis-page-link { border: 1px solid rgba(255,255,255,.10); color: #89959c; text-decoration: none; transition: border-color .18s ease, color .18s ease, transform .18s ease; }
.analysis-page-link:hover { border-color: rgba(193,165,105,.45); color: #d3b879; transform: translateY(-1px); }
.analysis-page-link--text { width: auto; min-width: 76px; padding: 0 14px; letter-spacing: .07em; text-transform: uppercase; }
.analysis-page-current { border: 1px solid rgba(194,165,105,.70); background: rgba(194,165,105,.10); color: #d2b575; }

@media (max-width: 980px) {
    .analysis-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .analysis-filter-panel { grid-template-columns: 1fr; gap: 14px; }
}

@media (max-width: 760px) {
    .analysis-shell { width: min(100% - 32px, 1180px); }
    .analysis-hero { padding-top: 145px; padding-bottom: 62px; }
    .analysis-hero-lower { grid-template-columns: 1fr; gap: 26px; }
    .analysis-hero-count { width: fit-content; align-items: flex-start; padding-left: 18px; }
    .analysis-results { padding-top: 56px; }
}

@media (max-width: 640px) {
    .analysis-hero { padding-top: 130px; padding-bottom: 50px; }
    .analysis-hero-title { font-size: clamp(2.55rem, 12vw, 4rem); }
    .analysis-hero-intro { font-size: .98rem; }
    .analysis-filter-section { padding: 22px 0 26px; }
    .analysis-filter { min-height: 36px; padding: 0 12px; font-size: .63rem; }
    .analysis-results { padding-bottom: 74px; }
    .analysis-results-header { align-items: flex-start; flex-direction: column; gap: 10px; }
    .analysis-grid { grid-template-columns: 1fr; gap: 20px; }
    .analysis-card { border-radius: 14px; }
    .analysis-card-body { padding: 22px; }
    .analysis-card-title { font-size: 1.55rem; }
}

@media (prefers-reduced-motion: reduce) {
    .analysis-card,
    .analysis-card-image,
    .analysis-filter,
    .analysis-page-link,
    .analysis-read-link span { transition: none; }
}