:root {
    --int-bg: #0b0f10;
    --int-bg-soft: #101516;
    --int-panel: #121819;
    --int-panel-2: #161d1e;
    --int-line: rgba(211, 220, 215, .13);
    --int-line-strong: rgba(211, 220, 215, .22);
    --int-text: #f1f4f1;
    --int-muted: #9ba49f;
    --int-green: #76d564;
    --int-warning: #d2aa55;
    --int-danger: #df6f69;
    --int-positive: #70cf72;
}

.ri-page,
.hi-page {
    min-height: 100vh;
    background:
        linear-gradient(rgba(118, 213, 100, .022) 1px, transparent 1px),
        linear-gradient(90deg, rgba(118, 213, 100, .018) 1px, transparent 1px),
        var(--int-bg);
    background-size: 72px 72px;
    color: var(--int-text);
}

.ri-shell,
.hi-shell {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding-right: clamp(1rem, 2vw, 2.25rem);
    padding-left: clamp(1rem, 2vw, 2.25rem);
}

.ri-research-header,
.hi-research-header {
    padding: 2rem 0 1.7rem;
    background: linear-gradient(180deg, #0e1314, #0b0f10);
    border-bottom: 1px solid var(--int-line);
}

.ri-breadcrumb,
.hi-breadcrumb {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1.35rem;
    color: #6f7873;
    font-size: .72rem;
    font-weight: 650;
    text-transform: none;
    letter-spacing: normal;
}

.ri-breadcrumb a,
.hi-breadcrumb a {
    color: #919b95;
    text-decoration: none;
}

.ri-breadcrumb a:hover,
.hi-breadcrumb a:hover {
    color: var(--int-green);
}

.ri-breadcrumb strong,
.hi-breadcrumb strong {
    color: #c8ceca;
}

.ri-header-grid,
.hi-header-grid {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) auto;
    align-items: end;
    gap: 3rem;
}

.ri-kicker,
.hi-kicker {
    color: var(--int-green);
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.ri-title-block h1,
.hi-title-block h1 {
    margin: .45rem 0 .55rem;
    color: #fff;
    font-family: "Bahnschrift Condensed", "Arial Narrow", sans-serif;
    font-size: clamp(2.6rem, 4vw, 4.2rem);
    font-weight: 700;
    line-height: .98;
    letter-spacing: -.035em;
    text-transform: uppercase;
}

.ri-title-block p,
.hi-title-block p {
    max-width: 790px;
    margin: 0;
    color: var(--int-muted);
    font-size: .9rem;
    line-height: 1.65;
}

.ri-dataset-strip,
.hi-dataset-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(88px, auto));
    margin: 0;
    background: var(--int-panel);
    border: 1px solid var(--int-line-strong);
}

.ri-dataset-strip > div,
.hi-dataset-strip > div {
    min-width: 0;
    padding: .8rem .9rem;
    border-right: 1px solid var(--int-line);
}

.ri-dataset-strip > div:last-child,
.hi-dataset-strip > div:last-child {
    border-right: 0;
}

.ri-dataset-strip dt,
.hi-dataset-strip dt {
    margin: 0 0 .25rem;
    color: #76807b;
    font-size: .62rem;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ri-dataset-strip dd,
.hi-dataset-strip dd {
    margin: 0;
    overflow: hidden;
    color: #f3f6f3;
    font-size: .8rem;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 1199.98px) {
    .ri-header-grid,
    .hi-header-grid { grid-template-columns: 1fr; gap: 1.5rem; }

    .ri-dataset-strip,
    .hi-dataset-strip { width: 100%; }
}

@media (max-width: 767.98px) {
    .ri-dataset-strip,
    .hi-dataset-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .ri-dataset-strip > div,
    .hi-dataset-strip > div { border-bottom: 1px solid var(--int-line); }
}
