:root {
    color-scheme: light;
}

html[data-theme="dark"] {
    color-scheme: dark;
    --primary: #f5f5f5;
    --primary-dark: #d4d4d4;
    --accent: #d81f26;
    --accent-hover: #f03b42;
    --text: #f5f5f5;
    --text-light: #a3a3a3;
    --text-muted: #737373;
    --bg: #000000;
    --bg-alt: #0b0b0b;
    --bg-dark: #000000;
    --border: rgba(255, 255, 255, 0.12);
    --success: #5fc98e;
}

html[data-theme="dark"] body {
    background:
        radial-gradient(circle at top, rgba(216, 31, 38, 0.1), transparent 26%),
        linear-gradient(180deg, #000000 0%, #050505 100%);
    color: var(--text);
}

html[data-theme="dark"] .nav,
html[data-theme="dark"] .lang-selector-menu,
html[data-theme="dark"] .nav-dropdown-menu,
html[data-theme="dark"] .topbar,
html[data-theme="dark"] .back-bar,
html[data-theme="dark"] .sidebar,
html[data-theme="dark"] .detail-panel,
html[data-theme="dark"] .modal,
html[data-theme="dark"] .search-results,
html[data-theme="dark"] .footer,
html[data-theme="dark"] .footer-bottom,
html[data-theme="dark"] .network-legend,
html[data-theme="dark"] .network-controls button {
    background: rgba(0, 0, 0, 0.94) !important;
    color: var(--text);
    border-color: var(--border) !important;
}

html[data-theme="dark"] .stats-bar,
html[data-theme="dark"] .mission,
html[data-theme="dark"] .research,
html[data-theme="dark"] .content,
html[data-theme="dark"] .chart-wrapper,
html[data-theme="dark"] .network-container {
    background: transparent !important;
}

html[data-theme="dark"] .stat-item,
html[data-theme="dark"] .research-card,
html[data-theme="dark"] .pub-item,
html[data-theme="dark"] .dataset-card,
html[data-theme="dark"] .contact-card,
html[data-theme="dark"] .method-card,
html[data-theme="dark"] .tool-card,
html[data-theme="dark"] .info-box,
html[data-theme="dark"] .highlight-box,
html[data-theme="dark"] .report-card,
html[data-theme="dark"] .donate-box,
html[data-theme="dark"] .team-card,
html[data-theme="dark"] .partner-card,
html[data-theme="dark"] .tour-card,
html[data-theme="dark"] .person-card,
html[data-theme="dark"] .detail-header,
html[data-theme="dark"] .detail-section,
html[data-theme="dark"] .filter-option:hover {
    background: rgba(11, 11, 11, 0.94) !important;
    color: var(--text);
    border-color: var(--border) !important;
}

html[data-theme="dark"] .hero::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.06) 0%, rgba(0, 0, 0, 0.8) 100%);
}

html[data-theme="dark"] .page-header,
html[data-theme="dark"] .principles-box {
    background:
        radial-gradient(circle at top left, rgba(216, 31, 38, 0.16), transparent 32%),
        linear-gradient(135deg, #050505 0%, #111111 100%) !important;
}

html[data-theme="dark"] a:not(.nav-cta):not(.btn):not(.theme-toggle-button):not(.hero-caption-link):not(.featured-story-card) {
    color: #ff7b80;
}

html[data-theme="dark"] .nav-links a,
html[data-theme="dark"] .logo,
html[data-theme="dark"] .lang-selector-toggle,
html[data-theme="dark"] .nav-dropdown-menu a,
html[data-theme="dark"] .lang-selector-menu a,
html[data-theme="dark"] .mobile-section-header,
html[data-theme="dark"] .mobile-section-links a,
html[data-theme="dark"] .topbar h1,
html[data-theme="dark"] .detail-header h2,
html[data-theme="dark"] .content h2,
html[data-theme="dark"] .content h3,
html[data-theme="dark"] .section-header h2,
html[data-theme="dark"] .mission-text h2,
html[data-theme="dark"] .mission-text h3 {
    color: var(--text) !important;
}

html[data-theme="dark"] .page-header p,
html[data-theme="dark"] .content p,
html[data-theme="dark"] .section-header p,
html[data-theme="dark"] .footer p,
html[data-theme="dark"] .footer a,
html[data-theme="dark"] .pub-meta,
html[data-theme="dark"] .detail-header p,
html[data-theme="dark"] .person-card .meta,
html[data-theme="dark"] .filter-section h3,
html[data-theme="dark"] .filter-option .count,
html[data-theme="dark"] .stat-item p {
    color: var(--text-light) !important;
}

html[data-theme="dark"] .hero-caption-link,
html[data-theme="dark"] .featured-story-card,
html[data-theme="dark"] .lang-selector-toggle,
html[data-theme="dark"] .theme-toggle-button,
html[data-theme="dark"] .topbar .view-btns button,
html[data-theme="dark"] .topbar .search-box input {
    background: rgba(11, 11, 11, 0.92);
    color: var(--text);
    border-color: var(--border);
}

html[data-theme="dark"] .topbar .search-box input::placeholder {
    color: var(--text-muted);
}

html[data-theme="dark"] .mobile-menu {
    background: rgba(0, 0, 0, 0.98) !important;
}

html[data-theme="dark"] .tour-card h3,
html[data-theme="dark"] .tour-card strong,
html[data-theme="dark"] .tour-card .tour-stat strong,
html[data-theme="dark"] .dataset-card h3,
html[data-theme="dark"] .dataset-card strong,
html[data-theme="dark"] .dataset-card .card-stat strong,
html[data-theme="dark"] .overview-box h3,
html[data-theme="dark"] .section-title,
html[data-theme="dark"] .tours-section h2,
html[data-theme="dark"] .country-tooltip .tt-name {
    color: var(--text) !important;
}

html[data-theme="dark"] .tour-card p,
html[data-theme="dark"] .tour-card .tour-stat,
html[data-theme="dark"] .tours-section .subtitle,
html[data-theme="dark"] .section-subtitle,
html[data-theme="dark"] .dataset-card p,
html[data-theme="dark"] .dataset-card .card-stat,
html[data-theme="dark"] .dataset-card li,
html[data-theme="dark"] .overview-box p,
html[data-theme="dark"] .download-item .dl-meta,
html[data-theme="dark"] .country-tooltip,
html[data-theme="dark"] .country-tooltip .tt-status.soon {
    color: #d4d4d4 !important;
}

html[data-theme="dark"] .dataset-card,
html[data-theme="dark"] .overview-box,
html[data-theme="dark"] .download-item,
html[data-theme="dark"] .tour-card,
html[data-theme="dark"] .data-table,
html[data-theme="dark"] .exec-summary,
html[data-theme="dark"] .osint-disclaimer,
html[data-theme="dark"] .copyright-bar,
html[data-theme="dark"] .subject-card,
html[data-theme="dark"] .subject-card-header,
html[data-theme="dark"] .subject-card-body,
html[data-theme="dark"] .stat-card {
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.24);
}

html[data-theme="dark"] .download-item {
    background: rgba(11, 11, 11, 0.94) !important;
    border-color: var(--border) !important;
}

html[data-theme="dark"] .download-item .dl-info strong {
    color: var(--text) !important;
}

html[data-theme="dark"] .download-item .dl-info span {
    color: var(--text-light) !important;
}

html[data-theme="dark"] .downloads-grid .download-item {
    background: rgba(11, 11, 11, 0.94) !important;
    border-color: var(--border) !important;
}

html[data-theme="dark"] blockquote {
    background: rgba(11, 11, 11, 0.94) !important;
    border-left-color: var(--accent) !important;
    color: var(--text-light) !important;
}

html[data-theme="dark"] .tour-card.upcoming {
    opacity: 0.82;
}

html[data-theme="dark"] .stats-grid .stat-item {
    background:
        radial-gradient(circle at top, rgba(216, 31, 38, 0.1), transparent 52%),
        linear-gradient(180deg, rgba(10, 10, 10, 0.98) 0%, rgba(0, 0, 0, 0.99) 100%) !important;
    border-color: rgba(216, 31, 38, 0.18) !important;
    box-shadow: 0 22px 40px rgba(0, 0, 0, 0.28);
}

html[data-theme="dark"] .stats-grid .stat-item p {
    color: #b5b5b5 !important;
}

html[data-theme="dark"] .pub-item {
    background:
        radial-gradient(circle at top right, rgba(216, 31, 38, 0.1), transparent 32%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.98) 0%, rgba(11, 11, 11, 0.98) 100%) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.22);
}

html[data-theme="dark"] .pub-item:hover {
    box-shadow: 0 24px 44px rgba(0, 0, 0, 0.28);
}

html[data-theme="dark"] .pub-date {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #e5e5e5 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

html[data-theme="dark"] .article-content p,
html[data-theme="dark"] .article-content ul,
html[data-theme="dark"] .article-content li,
html[data-theme="dark"] .exec-summary p,
html[data-theme="dark"] .osint-disclaimer p,
html[data-theme="dark"] .caption,
html[data-theme="dark"] .copyright-bar,
html[data-theme="dark"] .subject-card-body .subject-desc,
html[data-theme="dark"] .stat-card .stat-desc,
html[data-theme="dark"] .stat-card .stat-label {
    color: #d4d4d4 !important;
}

html[data-theme="dark"] .article-img,
html[data-theme="dark"] .data-table-wrapper,
html[data-theme="dark"] .exec-summary,
html[data-theme="dark"] .osint-disclaimer,
html[data-theme="dark"] .copyright-bar,
html[data-theme="dark"] .subject-card,
html[data-theme="dark"] .subject-card-header,
html[data-theme="dark"] .subject-card-body,
html[data-theme="dark"] .stat-card,
html[data-theme="dark"] .subject-table td,
html[data-theme="dark"] .subject-table tr {
    border-color: var(--border) !important;
}

html[data-theme="dark"] .copyright-bar,
html[data-theme="dark"] .subject-card,
html[data-theme="dark"] .subject-card-header,
html[data-theme="dark"] .subject-card-body,
html[data-theme="dark"] .stat-card {
    background: rgba(11, 11, 11, 0.94) !important;
    color: var(--text) !important;
}

html[data-theme="dark"] .subject-card-body h2,
html[data-theme="dark"] .stat-card .stat-value {
    color: #fafafa !important;
}

html[data-theme="dark"] .subject-table td {
    background: transparent !important;
}

html[data-theme="dark"] .subject-table td:first-child {
    color: #a3a3a3 !important;
}

html[data-theme="dark"] .subject-table td:last-child {
    color: #f1f5f9 !important;
}

html[data-theme="dark"] .stat-card .stat-icon {
    background: rgba(255, 255, 255, 0.06) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

html[data-theme="dark"] .data-table-wrapper {
    background: rgba(11, 11, 11, 0.94) !important;
}

html[data-theme="dark"] .data-table {
    background: rgba(11, 11, 11, 0.94) !important;
    color: var(--text) !important;
}

html[data-theme="dark"] .data-table thead th {
    background: #151515 !important;
    color: #fafafa !important;
    border-bottom: 1px solid var(--border);
}

html[data-theme="dark"] .table-view .data-table th,
html[data-theme="dark"] .table-view .data-table thead th {
    background: #151515 !important;
    color: #fafafa !important;
    border-bottom: 1px solid var(--border) !important;
}

html[data-theme="dark"] .table-view .data-table th:hover,
html[data-theme="dark"] .table-view .data-table thead th:hover {
    color: #ff7b80 !important;
    background: #1d1d1d !important;
}

html[data-theme="dark"] .data-table tbody td {
    background: rgba(11, 11, 11, 0.94) !important;
    color: #e5e5e5 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .data-table tbody tr:nth-child(even) td {
    background: rgba(16, 16, 16, 0.94) !important;
}

html[data-theme="dark"] .data-table tbody tr:hover td {
    background: rgba(24, 24, 24, 0.98) !important;
}

html[data-theme="dark"] .data-table .vessel-name,
html[data-theme="dark"] .data-table strong {
    color: #fafafa !important;
}

html[data-theme="dark"] .table-info {
    background: rgba(11, 11, 11, 0.96) !important;
    color: #b5b5b5 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .sebin-table-wrapper {
    border-color: rgba(255, 255, 255, 0.12) !important;
    background: rgba(11, 11, 11, 0.94) !important;
}

html[data-theme="dark"] .sebin-table {
    background: rgba(11, 11, 11, 0.94) !important;
    color: var(--text) !important;
}

html[data-theme="dark"] .sebin-table thead th {
    background: #151515 !important;
    color: #fafafa !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .sebin-table tbody td {
    background: rgba(11, 11, 11, 0.94) !important;
    color: #e5e5e5 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .sebin-table tbody tr:nth-child(even) td {
    background: rgba(16, 16, 16, 0.94) !important;
}

html[data-theme="dark"] .sebin-table tbody tr:hover td {
    background: rgba(24, 24, 24, 0.98) !important;
}

html[data-theme="dark"] .sebin-table tbody tr.highlight td {
    background: rgba(216, 31, 38, 0.16) !important;
    color: #fafafa !important;
}

html[data-theme="dark"] .sebin-table .rank-badge {
    background: rgba(216, 31, 38, 0.18) !important;
    color: #ff9ca0 !important;
    border: 1px solid rgba(216, 31, 38, 0.18);
}

html[data-theme="dark"] .data-table .flag-tag {
    background: rgba(201, 142, 86, 0.18) !important;
    color: #f3c9a0 !important;
}

html[data-theme="dark"] .data-table .sanctions-tag {
    background: rgba(239, 68, 68, 0.18) !important;
    color: #fecaca !important;
}

html[data-theme="dark"] .agency-table {
    background: rgba(11, 11, 11, 0.94) !important;
    color: var(--text) !important;
}

html[data-theme="dark"] .agency-table th {
    background: #151515 !important;
    color: #fafafa !important;
    border-bottom: 1px solid var(--border);
}

html[data-theme="dark"] .agency-table td {
    background: rgba(11, 11, 11, 0.94) !important;
    color: #e5e5e5 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .agency-table tr:hover td {
    background: rgba(24, 24, 24, 0.96) !important;
}

html[data-theme="dark"] .agency-table code {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #fafafa !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

html[data-theme="dark"] .finding-card {
    background: rgba(11, 11, 11, 0.94) !important;
    border-color: rgba(216, 31, 38, 0.16) !important;
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.24);
}

html[data-theme="dark"] .finding-card .number,
html[data-theme="dark"] .finding-card h3 {
    color: var(--text) !important;
}

html[data-theme="dark"] .finding-card .label,
html[data-theme="dark"] .finding-card p {
    color: #d4d4d4 !important;
}

html[data-theme="dark"] .exec-summary,
html[data-theme="dark"] .osint-disclaimer {
    background: rgba(11, 11, 11, 0.94) !important;
}

html[data-theme="dark"] .exec-summary h2,
html[data-theme="dark"] .osint-disclaimer h3 {
    color: var(--text) !important;
}

html[data-theme="dark"] .article-header,
html[data-theme="dark"] .page-hero {
    background:
        radial-gradient(circle at top, rgba(216, 31, 38, 0.12), transparent 28%),
        linear-gradient(135deg, #000000 0%, #0b0b0b 58%, #151515 100%) !important;
    color: #fafafa !important;
}

html[data-theme="dark"] .page-hero::before,
html[data-theme="dark"] .article-header::before {
    background: radial-gradient(ellipse at 30% 50%, rgba(216, 31, 38, 0.14) 0%, transparent 68%) !important;
}

html[data-theme="dark"] .article-header .subtitle,
html[data-theme="dark"] .page-hero .subtitle {
    color: rgba(255, 255, 255, 0.74) !important;
}

html[data-theme="dark"] .article-header .byline,
html[data-theme="dark"] .page-hero .meta-line {
    color: rgba(255, 255, 255, 0.52) !important;
}

html[data-theme="dark"] .page-hero .meta-line strong {
    color: rgba(255, 255, 255, 0.82) !important;
}

html[data-theme="dark"] .page-hero .hero-label,
html[data-theme="dark"] .badge-osint {
    background: rgba(216, 31, 38, 0.14) !important;
    color: #ffb3b6 !important;
    border-color: rgba(216, 31, 38, 0.22) !important;
}

html[data-theme="dark"] .badge-russia,
html[data-theme="dark"] .badge-chevron {
    background: #151515 !important;
    color: #f5f5f5 !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

html[data-theme="dark"] .badge-darkfleet {
    background: #111111 !important;
    color: #d4d4d4 !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
}

html[data-theme="dark"] .badge-gnetwork,
html[data-theme="dark"] .badge-narco {
    background: rgba(216, 31, 38, 0.16) !important;
    color: #ffe1e2 !important;
    border: 1px solid rgba(216, 31, 38, 0.18) !important;
}

html[data-theme="dark"] .topbar .view-btns button.active {
    background: #d81f26 !important;
    border-color: #d81f26 !important;
    color: #ffffff !important;
}

html[data-theme="dark"] .page-wrapper,
html[data-theme="dark"] .article-wrapper,
html[data-theme="dark"] .stats-section {
    background: transparent !important;
}

html[data-theme="dark"] .article-wrapper p,
html[data-theme="dark"] .article-wrapper li,
html[data-theme="dark"] .article-wrapper .image-caption,
html[data-theme="dark"] .article-wrapper .stat-desc {
    color: #d4d4d4 !important;
}

html[data-theme="dark"] .article-wrapper h2,
html[data-theme="dark"] .article-wrapper h3,
html[data-theme="dark"] .article-wrapper ul li strong,
html[data-theme="dark"] .download-section h3 {
    color: var(--text) !important;
}

html[data-theme="dark"] .highlight-box {
    background: rgba(216, 31, 38, 0.12) !important;
    border-left-color: var(--accent) !important;
}

html[data-theme="dark"] .highlight-box p,
html[data-theme="dark"] .highlight-box strong {
    color: #ffe3e4 !important;
}

html[data-theme="dark"] .download-section {
    background: linear-gradient(135deg, rgba(8, 8, 8, 0.98) 0%, rgba(18, 18, 18, 0.98) 100%) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .download-section p {
    color: #b5b5b5 !important;
}

html[data-theme="dark"] .insights-list li {
    background: rgba(11, 11, 11, 0.94) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #e5e5e5 !important;
}

html[data-theme="dark"] .insights-list li:hover {
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.2) !important;
    border-color: rgba(216, 31, 38, 0.18) !important;
}

.lang-selector-menu,
.nav-dropdown-menu {
    overflow: hidden;
}

.lang-selector-menu {
    display: block !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.16s ease, visibility 0.16s ease;
}

.nav-dropdown-menu {
    display: block !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.16s ease, visibility 0.16s ease;
}

.nav-dropdown:not(.is-open):hover > .nav-dropdown-menu,
.lang-selector:not(.is-open):hover > .lang-selector-menu {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.nav-dropdown:not(.is-open):hover > .nav-dropdown-toggle::after,
.lang-selector:not(.is-open):hover > .lang-selector-toggle::after {
    transform: none !important;
}

.nav-dropdown.is-open > .nav-dropdown-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.lang-selector.is-open > .lang-selector-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.lang-selector.is-open > .lang-selector-toggle::after,
.nav-dropdown.is-open > .nav-dropdown-toggle::after {
    transform: rotate(180deg);
}

.theme-menu-divider {
    height: 1px;
    margin: 6px 12px;
    background: var(--border);
}

.theme-toggle-button {
    width: 30px;
    height: 30px;
    margin: 0;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--bg-alt) 88%, transparent);
    color: var(--text);
    font: inherit;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 0;
    transition: border-color 0.2s, transform 0.2s, background 0.2s;
}

.theme-toggle-button:hover {
    border-color: var(--accent);
    transform: translateY(-1px);
}

.theme-nav-button {
    width: 30px;
    height: 30px;
    min-width: 30px;
    margin: 0;
    padding: 0;
    border-radius: 999px;
    flex: 0 0 auto;
    background: color-mix(in srgb, var(--bg-alt) 92%, transparent);
    gap: 0;
}

.theme-mobile-button {
    width: 32px;
    height: 32px;
    min-width: 32px;
    margin: 0 auto;
    padding: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
}

.mobile-menu-utility {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 6px 24px 0;
}

.theme-toggle-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 13px;
    line-height: 1;
    color: var(--text);
}

.theme-toggle-button:hover .theme-toggle-icon {
    color: var(--accent);
}

.featured-lab {
    padding: 28px 0 8px;
    background:
        linear-gradient(180deg, rgba(204, 0, 0, 0.03) 0%, transparent 100%);
}

.stats-bar {
    position: relative;
    z-index: 2;
    margin-top: -18px;
}

.stats-grid .stat-item {
    border-radius: 22px;
    border: 1px solid rgba(204, 0, 0, 0.08);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 249, 250, 0.92) 100%);
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.08);
    padding: 26px 20px;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background 0.22s ease;
}

.stats-grid .stat-item h3 {
    font-family: 'IBM Plex Sans Condensed', 'Inter', sans-serif;
    letter-spacing: -0.04em;
    line-height: 0.95;
    color: inherit;
    text-shadow: none;
    -webkit-text-stroke: 0 transparent;
    transition: color 0.22s ease, text-shadow 0.22s ease, transform 0.22s ease, -webkit-text-stroke 0.22s ease;
}

.stats-grid .stat-item p {
    letter-spacing: 0.16em;
    transition: color 0.22s ease;
}

.stats-grid .stat-item:hover {
    transform: translateY(-4px);
    border-color: rgba(204, 0, 0, 0.24);
    box-shadow: 0 22px 44px rgba(15, 23, 42, 0.14);
}

.stats-grid .stat-item:hover h3 {
    color: inherit;
    -webkit-text-stroke: 1px rgba(204, 0, 0, 0.65);
    text-shadow: 0 0 10px rgba(204, 0, 0, 0.12);
    transform: scale(1.02);
}

.stats-grid .stat-item:hover p {
    color: var(--text);
}

.nav-dropdown {
    padding-bottom: 14px;
    margin-bottom: -14px;
}

.nav-dropdown-menu {
    margin-top: 4px !important;
}

.nav-dropdown-menu::before {
    top: -18px !important;
    height: 18px !important;
}

.research-card,
.tour-card,
.pub-item {
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.research-card:hover,
.tour-card:hover,
.pub-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.1);
    border-color: rgba(204, 0, 0, 0.2) !important;
}

.research-card,
.tour-card,
.pub-item,
.featured-story-card,
.finding-card,
.overview-box,
.highlight-box,
.download-item {
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background 0.22s ease;
}

.research-card:hover,
.tour-card:hover,
.pub-item:hover,
.finding-card:hover,
.overview-box:hover,
.highlight-box:hover,
.download-item:hover {
    border-color: rgba(204, 0, 0, 0.2);
}

.featured-story-card:hover {
    box-shadow: 0 24px 40px rgba(5, 10, 18, 0.28);
}

.featured-story-card:hover .featured-story-tag {
    border-color: rgba(255, 108, 97, 0.7);
    background: rgba(204, 0, 0, 0.28);
}

.pub-item:hover h3 a,
.research-card:hover h3,
.tour-card:hover h3 {
    color: var(--accent);
}

.download-item:hover .dl-btn,
.featured-story-card:hover .featured-story-cta {
    filter: brightness(1.08);
}

@media (min-width: 1025px) {
    html {
        --nav-start-gap: 28px;
        --nav-main-gap: 13px;
        --nav-group-gap: 10px;
        --nav-actions-gap: 8px;
        --nav-link-size: 13px;
        --nav-link-track: 0;
        --nav-cta-width: 118px;
        --nav-cta-pad-x: 16px;
        --nav-cta-size: 13px;
        --nav-lang-width: 52px;
    }

    .nav-inner {
        display: flex !important;
        align-items: center;
        justify-content: center;
    }

    .nav-links {
        display: flex !important;
        align-items: center;
        flex-wrap: nowrap;
        flex: 0 1 auto;
        min-width: 0;
        margin-left: 0;
        justify-content: flex-start;
        gap: var(--nav-group-gap);
    }

    .nav-links-main,
    .nav-links-actions {
        display: flex;
        align-items: center;
        min-width: 0;
    }

    .nav-links-main {
        flex: 0 1 auto;
        gap: var(--nav-main-gap);
    }

    .nav-links-actions {
        flex: 0 0 auto;
        gap: var(--nav-actions-gap);
        margin-left: 0;
    }

    .nav-links-main > *,
    .nav-links-actions > * {
        flex: 0 0 auto;
    }

    .logo {
        margin-right: var(--nav-start-gap) !important;
        flex: 0 0 auto;
    }

    .nav-links a,
    .nav-dropdown > .nav-dropdown-toggle {
        font-size: var(--nav-link-size);
        letter-spacing: var(--nav-link-track);
    }

    html[dir="rtl"] .nav-inner,
    html[dir="rtl"] .nav-links {
        direction: ltr;
    }

    html[dir="rtl"] .nav-dropdown > .nav-dropdown-toggle,
    html[dir="rtl"] .nav-links > a,
    html[dir="rtl"] .nav-cta,
    html[dir="rtl"] .lang-selector-toggle {
        direction: rtl;
    }

    html[dir="rtl"] .nav-dropdown-menu,
    html[dir="rtl"] .lang-selector-menu {
        direction: rtl;
        text-align: right;
    }

    .nav-cta,
    .lang-selector-toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        white-space: nowrap;
        min-height: 40px;
        line-height: 1;
        box-sizing: border-box;
    }

    .nav-cta {
        min-width: var(--nav-cta-width);
        padding: 9px var(--nav-cta-pad-x) !important;
        font-size: var(--nav-cta-size) !important;
    }

    .lang-selector-toggle {
        min-width: var(--nav-lang-width);
        padding: 8px 10px !important;
        font-size: 12px !important;
        gap: 5px !important;
        border-radius: 8px !important;
    }

    html[lang="fr"] {
        --nav-start-gap: 24px;
        --nav-main-gap: 11px;
        --nav-group-gap: 8px;
        --nav-actions-gap: 7px;
        --nav-link-size: 12px;
        --nav-cta-width: 120px;
        --nav-cta-pad-x: 11px;
        --nav-cta-size: 12px;
    }

    html[lang="es"] {
        --nav-start-gap: 18px;
        --nav-main-gap: 11px;
        --nav-group-gap: 8px;
        --nav-actions-gap: 7px;
        --nav-link-size: 12px;
        --nav-link-track: -0.01em;
        --nav-cta-width: 102px;
        --nav-cta-pad-x: 10px;
        --nav-cta-size: 12px;
    }

    html[lang="de"] {
        --nav-start-gap: 18px;
        --nav-main-gap: 9px;
        --nav-group-gap: 8px;
        --nav-actions-gap: 7px;
        --nav-link-size: 11.5px;
        --nav-link-track: -0.01em;
        --nav-cta-width: 104px;
        --nav-cta-pad-x: 9px;
        --nav-cta-size: 11.5px;
    }

    html[lang="pt"] {
        --nav-start-gap: 18px;
        --nav-main-gap: 9px;
        --nav-group-gap: 8px;
        --nav-actions-gap: 7px;
        --nav-link-size: 11.75px;
        --nav-link-track: -0.01em;
        --nav-cta-width: 102px;
        --nav-cta-pad-x: 9px;
        --nav-cta-size: 11.5px;
    }

    html[lang="uk"] {
        --nav-start-gap: 16px;
        --nav-main-gap: 8px;
        --nav-group-gap: 7px;
        --nav-actions-gap: 6px;
        --nav-link-size: 11px;
        --nav-link-track: -0.01em;
        --nav-cta-width: 98px;
        --nav-cta-pad-x: 8px;
        --nav-cta-size: 11px;
    }

    html[lang="ar"] {
        --nav-start-gap: 18px;
        --nav-main-gap: 8px;
        --nav-group-gap: 8px;
        --nav-actions-gap: 7px;
        --nav-link-size: 11.5px;
        --nav-link-track: -0.01em;
        --nav-cta-width: 88px;
        --nav-cta-pad-x: 8px;
        --nav-cta-size: 11px;
    }

    html[lang="he"] {
        --nav-start-gap: 18px;
        --nav-main-gap: 9px;
        --nav-group-gap: 8px;
        --nav-actions-gap: 7px;
        --nav-link-size: 11.5px;
        --nav-link-track: -0.01em;
        --nav-cta-width: 100px;
        --nav-cta-pad-x: 9px;
        --nav-cta-size: 11.5px;
    }
}

.pub-list {
    display: grid;
    gap: 18px;
}

.pub-item {
    position: relative;
    padding: 26px 28px !important;
    border: 1px solid rgba(148, 163, 184, 0.16) !important;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 249, 252, 0.98) 100%);
    grid-template-columns: 128px 1fr;
    gap: 28px;
    overflow: hidden;
}

.pub-item::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, rgba(255, 90, 79, 0.95) 0%, rgba(255, 123, 114, 0.32) 100%);
}

.pub-date {
    display: inline-flex;
    align-self: start;
    justify-self: start;
    align-items: center;
    min-height: 42px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(8, 18, 31, 0.06);
    border: 1px solid rgba(8, 18, 31, 0.08);
    color: #39506a;
    font-weight: 800;
    letter-spacing: 0.14em;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.pub-content {
    display: grid;
    gap: 10px;
}

.pub-content h3 {
    margin-bottom: 0 !important;
    line-height: 1.15;
}

.pub-content p {
    margin-bottom: 0;
}

.section-header h2,
.mission-text h2,
.mission-text h3,
.featured-lab-copy h2 {
    text-wrap: balance;
}

.featured-lab-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.featured-lab-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 10px;
}

.featured-lab-kicker::before {
    content: "";
    width: 28px;
    height: 1px;
    background: currentColor;
}

.featured-lab-copy h2 {
    font-size: clamp(1.6rem, 2vw, 2.2rem);
    line-height: 1.05;
    margin-bottom: 10px;
    letter-spacing: -0.04em;
}

.featured-lab-copy p {
    max-width: 760px;
    color: var(--text-light);
}

.featured-lab-meta {
    display: grid;
    gap: 4px;
    min-width: 180px;
    text-align: right;
}

.featured-lab-meta strong {
    font-size: 1.6rem;
    color: var(--accent);
}

.featured-lab-meta span {
    font-size: 13px;
    color: var(--text-light);
}

.featured-lab-grid {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 12px;
    padding: 4px 12px 18px;
    border-radius: 18px;
}

.featured-lab-reel {
    position: relative;
    isolation: isolate;
}

.featured-lab-grid::-webkit-scrollbar {
    height: 10px;
}

.featured-lab-grid::-webkit-scrollbar-track {
    background: transparent;
}

.featured-lab-grid::-webkit-scrollbar-thumb {
    background: rgba(8, 18, 31, 0.16);
    border-radius: 999px;
}

.featured-reel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 1px solid rgba(8, 18, 31, 0.14);
    background: rgba(255, 255, 255, 0.78);
    color: rgba(8, 18, 31, 0.84);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.12);
    transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, opacity 0.18s ease, box-shadow 0.18s ease;
    opacity: 0;
    pointer-events: none;
}

.featured-lab-reel.has-overflow .featured-reel-arrow {
    opacity: 0.92;
    pointer-events: auto;
}

.featured-lab-reel:hover .featured-reel-arrow {
    opacity: 1;
}

.featured-reel-arrow:hover:not(:disabled) {
    transform: translateY(-50%) scale(1.05);
    border-color: rgba(204, 0, 0, 0.24);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.16);
}

.featured-reel-arrow:disabled {
    opacity: 0.35 !important;
    cursor: default;
}

.featured-reel-prev { left: 6px; }
.featured-reel-next { right: 6px; }

.featured-story-card {
    position: relative;
    overflow: hidden;
    display: grid;
    flex: 0 0 clamp(280px, 30vw, 380px);
    scroll-snap-align: start;
    min-height: 270px;
    border-radius: 18px;
    border: 1px solid var(--border);
    background: #050505;
    text-decoration: none !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.featured-story-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 52px rgba(15, 23, 42, 0.2);
    border-color: rgba(204, 0, 0, 0.36);
}

.featured-story-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.featured-story-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: end;
    padding: 18px;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.14) 34%, rgba(0, 0, 0, 0.58) 72%, rgba(0, 0, 0, 0.94) 100%);
}

.featured-story-tag {
    align-self: flex-start;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(135deg, rgba(216, 31, 38, 0.94) 0%, rgba(170, 20, 27, 0.9) 100%);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 12px 24px rgba(80, 0, 0, 0.28);
    border-radius: 999px;
    padding: 6px 9px;
    margin-bottom: auto;
}

.featured-story-tag:not(:empty) {
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.featured-story-overlay h3 {
    font-size: 1.08rem;
    line-height: 1.18;
    color: #ffffff !important;
    margin-bottom: 9px;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.48);
    font-weight: 800;
    letter-spacing: -0.02em;
    -webkit-text-stroke: 0;
}

.featured-story-overlay p {
    color: rgba(248, 250, 252, 0.96) !important;
    font-size: 13px;
    line-height: 1.45;
    margin-bottom: 12px;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.36);
    font-weight: 600;
    -webkit-text-stroke: 0;
}

.featured-story-overlay h3,
.featured-story-overlay p,
.featured-story-cta {
    position: relative;
    z-index: 1;
}

.featured-story-cta {
    color: #ff8a90;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.36);
}

html[data-theme="dark"] .featured-lab {
    background:
        radial-gradient(circle at top left, rgba(216, 31, 38, 0.1), transparent 28%),
        linear-gradient(180deg, rgba(11, 11, 11, 0.9) 0%, transparent 100%);
}

@media (max-width: 1024px) {
    .featured-story-card {
        flex-basis: clamp(260px, 52vw, 420px);
    }
}

@media (max-width: 768px) {
    .featured-lab-grid {
        overflow: visible;
        flex-direction: column;
        padding: 0;
    }

    .featured-reel-arrow {
        display: none !important;
    }

    .featured-story-card {
        flex: 1 1 auto;
        width: 100%;
        min-height: 260px;
    }
}

html.odint-force-mobile .nav-inner {
    justify-content: space-between !important;
}

html.odint-force-mobile .logo {
    margin-right: 0 !important;
}

html.odint-force-mobile .nav-links {
    display: none !important;
}

html.odint-force-mobile .hamburger {
    display: flex !important;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
}

html.odint-force-mobile .mobile-menu {
    top: 60px !important;
}

@media (max-width: 768px) {
    .pub-item {
        padding: 22px 22px 22px 24px !important;
        border-radius: 20px;
        grid-template-columns: 1fr !important;
        gap: 14px;
    }

    .featured-lab {
        padding-top: 20px;
    }

    .featured-lab-header {
        grid-template-columns: 1fr;
        display: grid;
    }

    .featured-lab-meta {
        text-align: left;
        min-width: 0;
    }
}

@media (max-width: 640px) {
    .hero-caption {
        max-width: min(82vw, 280px) !important;
    }

    .stats-bar {
        margin-top: -10px;
    }

    .featured-lab-grid {
        grid-template-columns: 1fr;
    }

    .featured-story-card {
        min-height: 240px;
    }

    .theme-mobile-button {
        width: 30px;
        height: 30px;
    }
}
