/* СБРОС СТИЛЕЙ */
        /* -------------------------------------
           СЕКЦИЯ 1: HERO
           ------------------------------------- */
        .hero-section {
            position: relative;
            width: 100vw;
            min-height: 100vh;
            padding: 120px 20px 60px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            background-color: #0a0a0a;
            overflow: hidden;
        }

        .hero-video {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: 1;
        }









        .hero-content {
            position: relative;
            text-align: center;
            z-index: 10;
        }

        .main-title {
            font-size: clamp(3rem, 9vw, 9rem);
            font-weight: 900;
            text-transform: uppercase;
            line-height: 0.9;
            letter-spacing: -2px;
            margin-bottom: 24px;
        }

        .hero-subtitle {
            font-size: clamp(0.85rem, 1.4vw, 1.1rem);
            font-weight: 500;
            color: #d1d1d1;
            letter-spacing: 0;
            line-height: 1.4;
            margin-bottom: 36px;
        }

        .hero-buttons {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            flex-wrap: nowrap;
        }




        /* -------------------------------------
           СЕКЦИЯ 2: ЛОР 
           ------------------------------------- */
        .lore-section {
            padding: 150px 20px;
            display: flex;
            justify-content: center;
            background-color: #000;
        }

        .lore-container {
            max-width: 900px;
            width: 100%;
        }

        .lore-text-block {
            border-left: 6px solid #fff;
            padding-left: 30px;
            margin-bottom: 30px;
        }

        .lore-text {
            font-size: clamp(1.6rem, 3vw, 2.6rem);
            font-weight: 700;
            line-height: 1.05;
            letter-spacing: -1.5px;
            color: #d1d1d1;
        }

        .lore-text .highlight {
            color: #fff;
            font-weight: 700;
        }

        .redacted-block {
            display: inline-block;
            background-color: #fff;
            width: min(280px, 42vw);
            height: 0.85em;
            vertical-align: baseline;
            margin-left: 5px;
        }

        .lore-callout {
            display: inline-flex;
            align-items: baseline;
            gap: 6px;
            white-space: nowrap;
        }

        .lore-source {
            text-align: right;
            font-size: 14px;
            color: #888;
            font-weight: 400;
        }

        /* -------------------------------------
           СЕКЦИЯ 3: ABERRATION LOGO 
           ------------------------------------- */
        .aberration-section {
            position: relative;
            width: 100%;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-end;
            padding: 0 20px 40px;
            overflow: hidden;
            isolation: isolate;
        }

        .aberration-section::after {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            height: 40%;
            background: linear-gradient(to top, rgba(0, 0, 0, 0.82), rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0));
            z-index: 1;
            pointer-events: none;
        }

        .aberration-image-box {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;

            background-color: #080808;
            background-size: contain;
            background-position: center;
            background-repeat: no-repeat;
            object-fit: contain;
        }

        video.aberration-image-box {
            opacity: 0.58;
            filter: brightness(0.72) contrast(1.05);
        }

        .aberration-logo-overlay {
            position: relative;
            z-index: 2;
            width: min(82vw, 860px);
            height: auto;
            margin-bottom: 28px;
            pointer-events: none;
        }

        .anthology-text {
            position: relative;
            z-index: 2;
            text-align: center;
            font-size: clamp(1.2rem, 2vw, 1.8rem);
            font-weight: 300;
            line-height: 1.2;
            color: #d0d0d0;
            letter-spacing: -0.5px;
            text-shadow: 0 2px 10px rgba(0, 0, 0, 0.9);
        }

        /* -------------------------------------
           СЕКЦИЯ 4: FIELD CASES (ИДЕАЛЬНАЯ ТИПОГРАФИКА)
           ------------------------------------- */
        .cases-section {
            position: relative;
            z-index: 3;
            padding: 100px 20px;
            max-width: 1500px;
            margin: 0 auto;
            background-color: #000;
        }

        .cases-header {
            margin-bottom: 50px;
        }

        .cases-title {
            font-size: clamp(2.5rem, 5vw, 4rem);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: -2px;
            margin-bottom: 5px;
        }

        .cases-subtitle {
            font-size: clamp(1.2rem, 2vw, 1.8rem);
            font-weight: 600;
            color: #888888;
            letter-spacing: -0.5px;
        }

        .cases-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 50px;
        }

        .case-card {
            display: flex;
            flex-direction: column;
        }

        .case-image {
            width: 100%;
            aspect-ratio: 4 / 5;
            background-color: #080808;
            background-size: cover;
            background-position: center;
            margin-bottom: 25px;
        }

        .case-image--case01 {
            background-image: url('../assets/cases/case-01-analyst/main-capsule.png');
            transition: background-image 0.6s ease;
        }

        /* Теги */
        .case-meta {
            font-family: 'Roboto Mono', monospace;
            font-size: 13px;
            font-weight: 700;
            color: #ffffff;
            margin-bottom: 16px;
            letter-spacing: 0px;
            white-space: nowrap;
        }

        .case-meta .meta-gray {
            color: #888888;
            font-weight: 500;
        }

        /* Заголовки игр (очень плотные буквы) */
        .case-name {
            font-size: 42px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: -2.5px;
            margin-bottom: 12px;
            line-height: 1;
            white-space: nowrap;
        }

        /* Описание */
        .case-desc {
            font-size: 18px;
            color: #999999;
            line-height: 1.3;
            font-weight: 600;
            margin-bottom: 35px;
            letter-spacing: -0.2px;
        }

        /* Кнопка */
        .btn-steam {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 4px;
            background-color: #fff;
            color: #000;
            text-decoration: none;
            width: var(--case-button-width);
            height: var(--case-button-height);
            padding: 0 var(--case-button-padding-x);
            font-family: 'Inter', sans-serif;
            font-size: 14px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: -0.5px;
            line-height: 1;
            white-space: nowrap;
            overflow: hidden;
            align-self: flex-start;
            transition: background-color 0.2s, color 0.2s;
        }

        .btn-steam:hover {
            background-color: #ccc;
        }

        .case-card--featured {
            grid-column: 1 / -1;
        }

        .case-card--featured .case-image {
            aspect-ratio: 16 / 9;
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            background-color: #000;
        }

        .case-card--featured .case-meta {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .case-meta-bracket {
            color: #fff;
        }

        .case-meta-detail {
            color: #999999;
            font-weight: 500;
        }

        .case-card--featured .case-meta-nav {
            display: flex;
            gap: 12px;
            align-items: center;
        }

        .case-meta-nav-btn {
            background: none;
            border: none;
            padding: 0;
            width: 42px;
            height: 42px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            line-height: 1;
            font-family: 'Inter', sans-serif;
            font-weight: 800;
            font-size: 14px;
            transition: color 0.2s;
        }

        .case-meta-nav-btn svg {
            width: 24px;
            height: 24px;
            display: block;
        }

        .case-meta-nav-btn--prev { color: #999999; }
        .case-meta-nav-btn--next { color: #fff; }
        .case-meta-nav-btn--prev:hover { color: #999; }
        .case-meta-nav-btn--next:hover { color: #ccc; }

        .case-meta-nav-arrow {
            display: inline-block;
            font-size: 16px;
            line-height: 1;
            font-weight: 900;
            transform-origin: center;
        }

        .case-meta-nav-arrow--prev {
            transform: rotate(90deg);
        }

        .case-meta-nav-arrow--next {
            transform: rotate(-90deg);
        }

        .case-card--featured .case-desc {
            max-width: 600px;
            margin-bottom: 30px;
        }

        .case-card--featured .case-desc p {
            margin-bottom: 16px;
        }

        .case-buttons {
            display: flex;
            gap: 12px;
            align-items: center;
            flex-wrap: nowrap;
        }
        .btn-steam--outline {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 4px;
            background-color: transparent;
            color: #fff;
            text-decoration: none;
            width: var(--case-button-width);
            height: var(--case-button-height);
            padding: 0 var(--case-button-padding-x);
            font-family: 'Inter', sans-serif;
            font-size: 14px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: -0.5px;
            line-height: 1;
            white-space: nowrap;
            overflow: hidden;
            border: 2px solid #fff;
            transition: background-color 0.2s, color 0.2s;
        }

        .btn-steam--outline:hover {
            background-color: #fff;
            color: #000;
        }
        .btn-steam--gray {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background-color: transparent;
            color: #999999;
            text-decoration: none;
            width: var(--case-button-width);
            height: var(--case-button-height);
            padding: 0 var(--case-button-padding-x);
            font-size: 14px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: -0.5px;
            line-height: 1;
            white-space: nowrap;
            overflow: hidden;
            border: 2px solid #999999;
            transition: background-color 0.2s, color 0.2s, border-color 0.2s;
        }

        .btn-steam--gray:hover {
            border-color: #fff;
            color: #fff;
        }

        .next-case-label {
            grid-column: 1 / -1;
            font-size: clamp(2rem, 4vw, 3rem);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: -2px;
            color: var(--site-gray-unified) !important;
            padding-top: 60px;
        }

        /* Case 02 block on main page: force all text and button to unified gray */
        #case02Card,
        #case02Card .case-meta,
        #case02Card .case-meta *,
        #case02Card .case-name,
        #case02Card .case-desc,
        #case02Card .case-desc p,
        #case02Card .case-image-id,
        #case02Card .case-image-footer,
        #case02Card .system-status-label,
        #case02Card .btn-steam--gray,
        #case02Card .btn-steam--gray * {
            color: var(--site-gray-unified) !important;
        }

        #case02Card .btn-steam--gray {
            border-color: var(--site-gray-unified) !important;
        }

        .case-card--locked .case-name,
        .case-card--locked .case-desc,
        .case-card--locked .case-meta-bracket,
        .case-card--locked .case-meta-detail,
        .case-card--locked .case-image-id,
        .case-card--locked .case-image-footer {
            color: var(--site-gray-unified);
        }

        .case-card--locked .btn-steam--gray {
            border-color: var(--site-gray-unified);
            color: var(--site-gray-unified);
        }

        .case-image--classified {
            position: relative;
            overflow: hidden;
            aspect-ratio: 16 / 6;
            margin-bottom: 20px;
            background-color: #000;
        }

        .case-image--classified .case-image-bg {
            position: absolute;
            top: 0; left: 0; width: 100%; height: 100%;
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            transition: filter 0.3s, transform 0.3s;
            z-index: 1;
        }

        .case-image-bg--comfort-hero {
            background-image: url('../assets/cases/case-02-comfort-zone/hero.png');
        }

        .case-card--locked .case-image-bg {
            filter: blur(5px) brightness(1) !important;
            transform: scale(1.02);
        }

        .is-denied-active .case-image-bg,
        .is-sealed-active .case-image-bg {
            filter: blur(10px) brightness(1) !important;
            transform: scale(1.05);
        }

        .case-card--locked:hover .case-image-bg {
            filter: blur(3px) brightness(1) !important;
        }

        .case-image-id {
            position: absolute;
            top: 16px;
            left: 16px;
            font-family: 'Roboto Mono', monospace;
            font-size: 13px;
            font-weight: 500;
            color: #aaa;
            z-index: 2;
        }

        .case-image-footer {
            position: absolute;
            bottom: 16px;
            right: 16px;
            display: flex;
            gap: 20px;
            align-items: center;
            font-family: 'Roboto Mono', monospace;
            font-size: 13px;
            font-weight: 500;
            color: #aaa;
            z-index: 2;
        }

        .case-image-footer--relative {
            z-index: 2;
            position: relative;
        }

        .evidence-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 2;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .evidence-overlay-id {
            position: absolute;
            top: 12px;
            right: 12px;
            font-family: 'Roboto Mono', monospace;
            font-size: 13px;
            font-weight: 500;
            color: #aaa;
        }

        .evidence-overlay-denied {
            font-family: 'Roboto Mono', monospace;
            font-size: 13px;
            font-weight: 500;
            color: #fff;
        }

        .evidence-image--ratio-9x16 {
            aspect-ratio: 9/16;
        }

        .evidence-image--video-shell {
            position: relative;
            overflow: hidden;
            background-color: #000;
        }

        .preview-video--cover {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: 1;
        }

        .evidence-image--video-shell .preview-video--cover {
            filter: blur(4.5px) brightness(0.7);
            transform: scale(1.06);
            transition: filter 0.25s ease, transform 0.25s ease;
        }

        .evidence-card:hover .evidence-image--video-shell .preview-video--cover {
            filter: blur(1.2px) brightness(0.82);
            transform: scale(0.995);
        }

        .evidence-section {
            padding: 120px 20px 80px;
            max-width: 1500px;
            margin: 0 auto;
        }

        .evidence-header {
            margin-bottom: 60px;
        }

        .evidence-title {
            font-size: clamp(2.5rem, 5vw, 72.5px);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: -0.07em;
            line-height: 0.912;
            margin-bottom: 10px;
        }

        .evidence-subtitle {
            font-size: clamp(1.4rem, 3.6vw, 52.43px);
            font-weight: 600;
            color: var(--site-gray-unified);
            letter-spacing: -0.07em;
            line-height: 0.912;
            margin-bottom: 25px;
        }

        /* Unified gray tone across the page (only true gray elements) */
        .lore-source,
        .anthology-text,
        .cases-subtitle,
        .case-meta-detail,
        .case-meta-nav-btn--prev,
        .next-case-label,
        .case-image-id,
        .case-image-footer,
        .evidence-meta,
        .access-response {
            color: var(--site-gray-unified);
        }

        .evidence-filters {
            display: flex;
            align-items: center;
            gap: 12px;
            flex-wrap: wrap;
        }

        .evidence-filter {
            display: inline-flex;
            align-items: center;
            padding: 0;
            background: transparent;
            border: none;
            color: #999999;
            font-family: 'Inter', sans-serif;
            font-size: clamp(14px, 1vw, 18px);
            font-weight: 800;
            letter-spacing: -0.5px;
            line-height: 1;
            white-space: nowrap;
            overflow: hidden;
            cursor: pointer;
            transition: color 0.3s;
            text-transform: uppercase;
        }

        .evidence-filter.active {
            color: #fff;
        }

        .evidence-filter:hover {
            color: #aaa;
        }

        .filter-separator {
            color: #999999;
            font-family: 'Inter', sans-serif;
            font-size: clamp(14px, 1vw, 18px);
            font-weight: 800;
        }

        .evidence-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 80px 40px;
            align-items: start;
        }

        /* Смещение колонок для masonry-эффекта */
        .evidence-card:nth-child(3n+1) { margin-top: 0; }
        .evidence-card:nth-child(3n+2) { margin-top: 80px; }
        .evidence-card:nth-child(3n+3) { margin-top: 40px; }

        @media (max-width: 991px) {
            .evidence-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 80px 40px;
            }
            .evidence-card:nth-child(2n+2) { margin-top: 80px; }
        }

        @media (max-width: 768px) {
            .evidence-grid {
                grid-template-columns: 1fr;
                gap: 60px;
            }
            .evidence-card:nth-child(n) { margin-top: 0; }
        }

        .evidence-card {
            cursor: pointer;
            opacity: 1;
            transition: opacity 0.4s, transform 0.3s;
        }

        .evidence-card.hidden {
            display: none;
        }

        .evidence-card.filtered-out {
            display: none;
        }


        .evidence-image {
            width: 100%;
            overflow: hidden;
            margin-bottom: 12px;
            background-color: #111;
            position: relative;
        }

        .evidence-image-bg {
            position: absolute;
            inset: 0;
            z-index: 1;
            background-color: #111;
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            transition: transform 0.5s ease, filter 0.5s ease;
        }

        .evidence-image-bg--locked-01 {
            background-image: url('../assets/evidence/analyst/locked-file-01.png');
        }

        .evidence-image-bg--locked-02 {
            background-image: url('../assets/evidence/analyst/locked-file-02.png');
        }

        .evidence-card[data-access="level-2"] .evidence-image-bg,
        .evidence-card[data-access="sealed"] .evidence-image-bg {
            filter: blur(5px) brightness(1);
        }

        .evidence-image--nonactive {
            background-image: url('../assets/evidence/shared/nonactive-image.png');
        }

        .evidence-card:hover .evidence-image-bg {
            transform: scale(1.06);
        }

        .evidence-card[data-access="level-2"]:hover .evidence-image-bg,
        .evidence-card[data-access="sealed"]:hover .evidence-image-bg {
            filter: blur(3px) brightness(1);
        }

        .locked-hover-preview {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: 2;
            opacity: 0;
            filter: grayscale(100%) blur(4px) brightness(0.35);
            transform: scale(1.04);
            transition: opacity 0.3s ease;
            pointer-events: none;
        }

        .evidence-image.is-hover-preview-active .locked-hover-preview {
            opacity: 1;
        }

        .evidence-image.is-hover-preview-active .evidence-image-bg {
            opacity: 0.18;
        }

        .evidence-image.is-hover-preview-active .evidence-overlay,
        .evidence-image.is-hover-preview-active .system-status-label {
            z-index: 3;
        }

        .evidence-image--locked {
            filter: none !important;
        }

        /* Серый плейсхолдер с реальными фото */
        .evidence-image.placeholder {
            background-color: #111;
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: transform 0.5s ease, filter 0.5s ease;
        }

        .evidence-image.placeholder .evidence-image-bg {
            filter: grayscale(100%) blur(4px) brightness(0.5);
        }

        .evidence-card:hover .evidence-image.placeholder {
            transform: scale(1.03);
        }

        .evidence-card:hover .evidence-image.placeholder .evidence-image-bg {
            filter: grayscale(100%) blur(2px) brightness(0.6);
        }

        .evidence-card:hover .evidence-image--locked.placeholder {
            transform: none;
            filter: none;
        }

        /* Первая карточка — чётче */
        .evidence-card:not(.blurred) .evidence-image.placeholder .evidence-image-bg {
            filter: grayscale(80%) brightness(0.7);
        }

        .evidence-card:not(.blurred):hover .evidence-image.placeholder .evidence-image-bg {
            filter: grayscale(60%) brightness(0.8);
        }

        .evidence-card .evidence-image--locked.placeholder,
        .evidence-card:not(.blurred) .evidence-image--locked.placeholder,
        .evidence-card:not(.blurred):hover .evidence-image--locked.placeholder {
            filter: none;
            transform: none;
        }

        .evidence-meta {
            font-family: 'Roboto Mono', monospace;
            font-size: 15.3px;
            font-weight: 500;
            color: #999999;
            letter-spacing: 0;
            margin-bottom: 8px;
            text-transform: uppercase;
        }

        .evidence-name {
            font-size: clamp(1.5rem, 3.2vw, 42px);
            word-break: normal;
            overflow-wrap: normal;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: -0.07em;
            line-height: 0.915;
        }

        .load-more-container {
            text-align: right;
            margin-top: 60px;
        }

        .btn-load-more {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: var(--case-button-width);
            height: var(--case-button-height);
            padding: 0 var(--case-button-padding-x);
            background: transparent;
            border: none;
            color: #666;
            font-family: 'Inter', sans-serif;
            font-size: clamp(14px, 1vw, 18px);
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: -0.5px;
            line-height: 1;
            white-space: nowrap;
            overflow: hidden;
            cursor: pointer;
            transition: color 0.3s;
        }

        .btn-load-more:hover {
            color: #fff;
        }

        /* -------------------------------------
           KEEP WATCHING
           ------------------------------------- */
        .keep-watching {
            max-width: 1500px;
            width: 100%;
            margin: 0 auto;
            padding: 120px 20px 80px;
        }

        .keep-watching-title {
            font-family: 'Inter', sans-serif;
            font-size: clamp(2.5rem, 5vw, 72.5px);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: -0.07em;
            line-height: 0.912;
            margin-bottom: 10px;
            color: #fff;
        }

        .keep-watching-sub {
            font-family: 'Inter', sans-serif;
            font-size: clamp(1.4rem, 3.6vw, 52.43px);
            font-weight: 600;
            color: #888;
            letter-spacing: -0.07em;
            line-height: 0.912;
        }

        /* АДАПТИВ удален отсюда и перенесен в конец стилей */

        /* -------------------------------------
           СЕКЦИЯ 6: ACCESS (CLEARANCE)
           ------------------------------------- */
        .access-wrapper {
            background-color: #000;
            display: flex;
            flex-direction: column;
            width: 100%;
        }

        .access-header {
            max-width: 1500px;
            width: 100%;
            margin: 0 auto;
            padding: 120px 20px 0;
        }

        .access-title {
            font-size: clamp(2.5rem, 5vw, 72.5px);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: -0.07em;
            line-height: 0.912;
            margin-bottom: 10px;
            color: #fff;
        }

        .access-warning {
            font-size: clamp(1.4rem, 3.6vw, 52.43px);
            font-weight: 600;
            color: #888;
            letter-spacing: -0.07em;
            line-height: 0.912;
            text-transform: none;
            margin-bottom: 0;
        }

        .access-section {
            position: relative;
            padding: 60px 20px 80px;
            min-height: max(72vh, 48vw);
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            background-color: #000;
            width: 100%;
        }

        .access-bg-video {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            z-index: 1;
            filter: brightness(0.55) contrast(1.05);
            opacity: 0.38;
        }

        .access-card {
            position: relative;
            z-index: 2;
            background-color: rgba(5, 5, 5, 0.62);
            border: 2px solid #fff;
            padding: 30px 32px 24px;
            max-width: 520px;
            width: 100%;
            transform: translateY(30px);
        }

        .access-card-title {
            font-family: 'Inter', sans-serif;
            font-size: clamp(1.4rem, 3vw, 1.8rem);
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: -0.07em;
            line-height: 0.912;
            margin-bottom: 16px;
            color: #fff;
        }

        .access-card-desc {
            font-family: 'Inter', sans-serif;
            font-size: 14px;
            font-weight: 500;
            color: #888;
            line-height: 1.4;
            margin-bottom: 28px;
            letter-spacing: -0.2px;
        }

        .access-form {
            display: grid;
            grid-template-columns: minmax(0, 1fr) var(--case-button-width);
            gap: 12px;
            align-items: stretch;
        }

        .access-input {
            flex: 1;
            width: 100%;
            height: var(--case-button-height);
            background: rgba(0, 0, 0, 0.4);
            border: 2px solid #fff;
            color: #fff;
            padding: 0 var(--case-button-padding-x);
            font-family: 'Inter', sans-serif;
            font-size: 14px;
            font-weight: 800;
            text-transform: none;
            letter-spacing: -0.2px;
            line-height: normal;
            outline: none;
            -webkit-appearance: none;
            appearance: none;
            caret-color: #fff;
        }

        .access-input::placeholder {
            color: rgba(240, 240, 240, 0.88);
            opacity: 1;
            text-transform: uppercase;
            letter-spacing: 0;
            font-weight: 700;
            font-size: 14px;
        }

        .access-input:focus {
            border-color: #fff;
            box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.14);
        }
        .access-submit {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #fff;
            color: #000;
            border: 2px solid #fff;
            width: var(--case-button-width);
            height: var(--case-button-height);
            padding: 0 var(--case-button-padding-x);
            font-family: 'Inter', sans-serif;
            font-size: 14px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: -0.5px;
            line-height: 1;
            cursor: pointer;
            transition: background 0.3s, color 0.3s;
            white-space: nowrap;
        }

        .access-submit:hover {
            background: transparent;
            color: #fff;
        }

        .access-response {
            margin-top: 12px;
            min-height: 16px;
            font-family: 'Roboto Mono', monospace;
            font-size: 12px;
            color: #888;
            letter-spacing: 0;
            text-transform: uppercase;
        }

        /* -------------------------------------
           CLEARANCE STATE VIEWS
           ------------------------------------- */
        .clearance-state {
            display: none;
            width: 100%;
        }

        .clearance-state.active {
            display: block;
        }

        .clearance-state-title {
            font-family: 'Inter', sans-serif;
            font-size: clamp(1.4rem, 3vw, 1.8rem);
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: -0.07em;
            line-height: 0.912;
            margin-bottom: 16px;
            color: #fff;
        }

        .clearance-state-line {
            font-family: 'Inter', sans-serif;
            font-size: 14px;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: -0.2px;
            line-height: 1.4;
            color: #fff;
        }

        .clearance-progress-track {
            margin-top: 16px;
            height: 24px;
            background-color: #222;
            position: relative;
        }

        .clearance-progress-fill {
            height: 100%;
            background-color: #fff;
            width: 0%;
            transition: width 0.4s ease;
        }

        .clearance-progress-pct {
            position: absolute;
            right: 8px;
            top: 50%;
            transform: translateY(-50%);
            font-family: 'Roboto Mono', monospace;
            font-size: 12px;
            font-weight: 500;
            color: #000;
            mix-blend-mode: difference;
        }

        /* Адаптив access-card перенесен в конец стилей */

        /* -------------------------------------
           СЕКЦИЯ 7: FOOTER
           ------------------------------------- */











        /* --- ACCESS MODALS --- */
        .access-modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.4);
            z-index: 10000;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 20px;
            backdrop-filter: blur(8px);
        }

        .access-modal-card {
            background-color: #050505;
            border: 2px solid #fff;
            padding: 30px 32px 24px;
            max-width: 520px;
            width: 100%;
            display: none;
            position: relative;
        }

        .access-modal-title {
            font-family: 'Inter', sans-serif;
            font-size: clamp(1.4rem, 3vw, 1.8rem);
            font-weight: 600;
            color: #ff4444;
            text-transform: uppercase;
            letter-spacing: -0.07em;
            line-height: 0.912;
            margin-bottom: 16px;
        }

        .access-modal-text {
            font-family: 'Inter', sans-serif;
            font-size: 14px;
            font-weight: 500;
            color: #888;
            line-height: 1.4;
            margin-bottom: 28px;
            letter-spacing: -0.2px;
        }

        .access-modal-buttons {
            display: flex;
            gap: 12px;
            flex-wrap: nowrap;
        }
        .access-modal-btn {
            flex: 0 0 var(--case-button-width);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: var(--case-button-width);
            height: var(--case-button-height);
            padding: 0 var(--case-button-padding-x);
            font-family: 'Inter', sans-serif;
            font-size: 12px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: -0.2px;
            line-height: 1;
            cursor: pointer;
            transition: all 0.2s;
            border: 2px solid #fff;
            white-space: nowrap;
            overflow: hidden;
        }


        .access-modal-btn--primary {
            background-color: #fff;
            color: #000;
        }

        .access-modal-btn:hover { background-color: #ccc; }
        .access-modal-btn--secondary {
            background-color: transparent;
            color: #fff;
            border: 2px solid #fff;
        }
        .access-modal-btn--secondary:hover {
            background-color: #fff;
            color: #000;
        }

        /* -------------------------------------
           IN-CARD ACCESS WARNING OVERLAY
           ------------------------------------- */
        .access-warning-overlay {
            position: absolute;
            inset: 0;
            z-index: 10;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            align-items: flex-start;
            text-align: left;
            padding: 40px 20px 20px;
            background: transparent;
        }

        .access-warning-overlay h3 {
            font-family: 'Inter', sans-serif;
            font-size: clamp(24px, 4vw, 36px);
            font-weight: 800;
            color: #fff;
            text-transform: uppercase;
            letter-spacing: -0.05em;
            line-height: 0.95;
            margin-bottom: 24px;
        }

        .access-warning-overlay p {
            font-family: 'Inter', sans-serif;
            font-size: 16px;
            font-weight: 500;
            color: #fff;
            letter-spacing: -0.5px;
            line-height: 1.1;
            margin-bottom: 24px;
            max-width: 90%;
        }

        .is-denied-active .evidence-image-bg,
        .is-sealed-active .evidence-image-bg {
            filter: blur(10px) brightness(1) !important;
            transform: scale(1.05);
        }

        /* System Labels */
        .system-status-label {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            font-family: 'Roboto Mono', monospace;
            font-size: 13px;
            font-weight: 500;
            color: #fff;
            z-index: 20;
            pointer-events: none;
            display: none;
            text-transform: uppercase;
        }

        .system-status-label--inline {
            position: static;
            transform: none;
            display: inline-block;
        }

        .flicker {
            animation: flickerAnim 0.2s infinite;
        }

        @keyframes flickerAnim {
            0% { opacity: 1; }
            50% { opacity: 0.3; }
            100% { opacity: 1; }
        }

        .preview-content {
            max-width: 90vw;
            max-height: 85vh;
            border: 2px solid #fff;
            background: #000;
            position: relative;
        }

        .preview-content--hidden {
            display: none;
        }

        .clearance-progress-fill--full {
            width: 100%;
        }

        .preview-content img, .preview-content video {
            display: block;
            max-width: 100%;
            max-height: 85vh;
        }

        @media (max-width: 1024px) {
            .case-name { white-space: normal; }
            .case-meta { white-space: normal; }
        }

        @media (max-width: 768px) {
            body {
                --case-button-width: max-content;
                --case-button-height: 44px;
                --case-button-padding-x: 16px;
            }

            .lore-section {
                padding: 72px 20px 34px;
            }

            .lore-text-block {
                margin-bottom: 18px;
            }

            .hero-section {
                min-height: 92vh;
                padding: 150px 16px 56px;
            }

            .hero-content {
                width: min(100%, 420px);
            }

            .main-title {
                font-size: clamp(2.4rem, 13vw, 3.6rem);
                letter-spacing: -1px;
                white-space: nowrap;
            }

            .hero-subtitle {
                font-size: 0.95rem;
                margin-bottom: 24px;
            }

            .hero-buttons {
                width: 100%;
                flex-direction: row;
                flex-wrap: nowrap;
                justify-content: center;
                gap: 10px;
                align-items: center;
            }

            .hero-buttons .btn-clearance {
                width: calc(50% - 5px);
                min-width: 0;
                height: var(--case-button-height);
                padding-left: 10px;
                padding-right: 10px;
                font-size: 11px;
                justify-content: center;
            }

            .cases-section,
            .evidence-section {
                padding-left: 16px;
                padding-right: 16px;
            }

            .cases-grid {
                grid-template-columns: 1fr;
                gap: 72px;
            }

            .case-card--featured .case-meta {
                display: block;
            }

            .case-card--featured .case-meta-nav {
                margin-top: 10px;
                justify-content: flex-end;
            }

            .case-card--featured .case-image {
                aspect-ratio: 689 / 938;
                background-size: contain;
                background-repeat: no-repeat;
                background-position: center;
            }

            .case-name {
                font-size: clamp(1.8rem, 10vw, 2.5rem);
                line-height: 0.95;
            }

            .case-desc {
                font-size: 15px;
                line-height: 1.35;
            }

            .case-buttons {
                flex-direction: row;
                align-items: center;
                gap: 10px;
                flex-wrap: nowrap;
            }

            .case-buttons .btn-steam,
            .case-buttons .btn-steam--outline,
            .case-buttons .btn-steam--gray {
                width: calc(50% - 5px);
                min-width: 0;
                height: 44px;
                padding-left: 10px;
                padding-right: 10px;
                font-size: 12px;
                justify-content: center;
            }

            .next-case-label {
                padding-top: 20px;
                margin-bottom: -6px;
            }

            .evidence-grid {
                grid-template-columns: 1fr;
                gap: 56px;
            }

            .evidence-filters {
                gap: 8px;
                justify-content: flex-start;
            }

            .evidence-filter {
                width: auto;
                min-height: 44px;
                padding: 0 10px;
            }

            .filter-separator {
                line-height: 1;
            }

            .evidence-card,
            .evidence-card:nth-child(n) {
                margin-top: 0 !important;
            }

            .evidence-meta {
                font-size: 16px;
                letter-spacing: 0.4px;
            }

            .evidence-name {
                font-size: clamp(1.6rem, 8.2vw, 2.2rem);
                line-height: 1.02;
                font-weight: 800;
            }

            .evidence-card[data-category="analyst"][data-access="sealed"] .evidence-meta,
            .evidence-card[data-category="analyst"][data-access="sealed"] .evidence-name,
            .evidence-card[data-category="comfort"] .evidence-meta,
            .evidence-card[data-category="comfort"] .evidence-name {
                color: #999999 !important;
            }

            .btn-load-more {
                width: max-content;
                min-width: 200px;
                height: 44px;
            }

            .load-more-container {
                text-align: right;
            }

            .access-modal-buttons {
                flex-direction: column;
            }

            .access-modal-btn {
                width: 100%;
                flex: 1 1 auto;
                height: 44px;
            }

            .aberration-section {
                min-height: 72vh;
                padding: 0 20px 18px;
            }

            video.aberration-image-box {
                width: 108%;
                height: 108%;
                left: -4%;
                top: -2%;
                opacity: 0.52;
                filter: brightness(0.68) contrast(1.06);
                object-fit: cover;
                object-position: center 62%;
            }

            .aberration-logo-overlay {
                width: min(94vw, 620px);
                margin-bottom: 8px;
            }

            .aberration-section::after {
                height: 28%;
                background: linear-gradient(to top, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0));
            }

            .case-image--case01 {
                background-image: url('../assets/cases/mobile/case-01-analyst-mobile.png');
                background-size: contain;
                background-repeat: no-repeat;
                background-position: center;
            }

            .case-image--classified {
                aspect-ratio: 689 / 938;
                background-color: #000;
            }

            .case-image--classified .case-image-bg {
                background-size: contain;
                background-repeat: no-repeat;
                background-position: center;
            }

            .case-image-bg--comfort-hero {
                background-image: url('../assets/cases/mobile/case-02-comfort-zone-mobile.png');
            }

            .access-warning-overlay h3 {
                font-size: clamp(28px, 8vw, 38px);
                line-height: 0.92;
                margin-bottom: 20px;
            }

            .access-warning-overlay p {
                font-size: 19px;
                line-height: 1.12;
                max-width: 95%;
            }

            .access-warning-overlay .incard-request-btn {
                min-height: 44px;
                font-size: 13px;
                padding: 0 14px;
            }

            /* Unified ACCESS mobile overrides (single source of truth) */
            .access-section {
                padding: 48px 16px 64px;
                min-height: auto;
            }

            .access-bg-video {
                width: 100%;
                height: 100%;
                left: 0;
                top: 0;
                object-fit: cover;
                object-position: center;
                filter: brightness(0.58) contrast(1.05);
                opacity: 0.4;
            }

            .access-card {
                width: 100%;
                max-width: 520px;
                padding: 26px 16px 22px;
                background: rgba(0, 0, 0, 0.62);
                backdrop-filter: blur(2px);
                -webkit-backdrop-filter: blur(2px);
            }

            .access-card-title {
                font-size: clamp(1.6rem, 6.5vw, 2rem);
                letter-spacing: -1px;
                margin-bottom: 26px;
            }

            .access-card-desc {
                margin-bottom: 20px;
            }

            .access-form {
                width: 100%;
                margin-bottom: 0;
                display: grid;
                grid-template-columns: 1fr;
                align-items: stretch;
                gap: 10px;
            }

            .access-input,
            .access-submit {
                width: 100% !important;
                min-width: 0;
                max-width: none;
                height: var(--case-button-height);
                box-sizing: border-box;
            }

            .access-input {
                border-width: 2px;
                background: rgba(0, 0, 0, 0.4);
                font-size: 14px;
                font-weight: 800;
                letter-spacing: -0.2px;
                line-height: normal;
                padding: 0 var(--case-button-padding-x);
                text-transform: none;
            }

            .access-input::placeholder {
                color: #f0f0f0;
                opacity: 1;
                letter-spacing: 0;
                text-transform: uppercase;
                font-size: 14px;
            }

            .access-submit {
                border-width: 2px;
                font-size: 14px;
                font-weight: 800;
                letter-spacing: -0.5px;
                line-height: normal;
                white-space: nowrap;
            }
        }

        @media (max-width: 420px) {
            .hero-section {
                padding-top: 138px;
            }

            .main-title {
                font-size: clamp(2.1rem, 11.5vw, 3rem);
            }

            .case-name {
                font-size: clamp(1.55rem, 9.5vw, 2.15rem);
            }

            .hero-buttons {
                gap: 8px;
            }

            .hero-buttons .btn-clearance {
                font-size: 9px;
                padding-left: 10px;
                padding-right: 10px;
            }

            .case-buttons .btn-steam,
            .case-buttons .btn-steam--outline,
            .case-buttons .btn-steam--gray {
                font-size: 11px;
                padding-left: 8px;
                padding-right: 8px;
            }

            .case-card--featured .case-image,
            .case-image--classified {
                max-height: 72vh;
            }

            .access-card {
                padding: 28px 18px 24px;
            }

            .access-card-title {
                font-size: clamp(1.4rem, 6.5vw, 1.7rem);
            }
        }

        @media (hover: none), (pointer: coarse) {
            .evidence-card:hover .evidence-image-bg,
            .evidence-card:hover .evidence-image.placeholder {
                transform: none;
            }

            .evidence-card:hover .evidence-image--video-shell .preview-video--cover {
                filter: blur(2.4px) brightness(0.76);
                transform: scale(1.01);
            }

            .case-card--locked:hover .case-image-bg {
                filter: blur(5px) brightness(1) !important;
                transform: scale(1.02);
            }
        }

