
        .case-page {
            padding: 54px 0 90px;
        }

        .case-breadcrumbs {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 9px;
            margin-bottom: 36px;
            color: var(--muted);
            font-size: 12px;
        }

        .case-breadcrumbs a:hover {
            color: var(--ink);
        }

        .case-breadcrumbs span {
            opacity: .45;
        }


        /* ==========================================================
           SEARCH
        ========================================================== */

        .case-search-intro {
            display: grid;
            grid-template-columns: .55fr 1.45fr;
            gap: 30px;
            margin-bottom: 36px;
        }

        .case-search-intro h1 {
            font: 400 clamp(48px, 6vw, 86px) / .94 Georgia, "Times New Roman", serif;
            letter-spacing: -.05em;
            margin: 0;
            max-width: 900px;
        }

        .case-search-intro p {
            color: var(--muted);
            font-size: 16px;
            line-height: 1.55;
            max-width: 650px;
            margin: 22px 0 0;
        }

        .case-search-card {
            background: var(--navy);
            color: #fff;
            border-radius: 32px;
            padding: 38px;
            position: relative;
            overflow: hidden;
        }

        .case-search-card::after {
            content: "";
            position: absolute;
            width: 360px;
            height: 360px;
            right: -180px;
            top: -210px;
            border-radius: 50%;
            background: var(--aqua);
            opacity: .17;
        }

        .case-search-title {
            font: 400 33px / 1 Georgia;
            margin-bottom: 24px;
            position: relative;
            z-index: 1;
        }

        .case-search-form {
            display: grid;
            grid-template-columns: 1fr auto;
            gap: 10px;
            position: relative;
            z-index: 1;
        }

        .case-search-input {
            width: 100%;
            height: 64px;
            border: 0;
            outline: 0;
            border-radius: 16px;
            padding: 0 19px;
            background: #fff;
            color: var(--ink);
            font-size: 17px;
        }

        .case-search-button {
            height: 64px;
            padding: 0 26px;
            border: 0;
            border-radius: 16px;
            background: var(--lime);
            color: var(--ink);
            cursor: pointer;
            font-weight: 700;
        }

        .case-search-example {
            margin-top: 13px;
            color: rgba(255,255,255,.58);
            font-size: 12px;
            position: relative;
            z-index: 1;
        }


        /* ==========================================================
           NOT FOUND
        ========================================================== */

        .case-not-found {
            margin-top: 18px;
            padding: 26px 28px;
            border: 1px solid rgba(160, 66, 45, .22);
            border-radius: 22px;
            background: rgba(255,255,255,.62);
            display: grid;
            grid-template-columns: auto 1fr;
            gap: 18px;
            align-items: start;
        }

        .case-not-found-icon {
            width: 44px;
            height: 44px;
            border-radius: 50%;
            background: var(--sand);
            display: grid;
            place-items: center;
            font-size: 19px;
        }

        .case-not-found h3 {
            margin: 0 0 7px;
            font: 400 24px / 1.1 Georgia;
        }

        .case-not-found p {
            margin: 0;
            color: var(--muted);
            font-size: 13px;
            line-height: 1.5;
        }


        /* ==========================================================
           CASE HERO
        ========================================================== */

        .case-hero {
            display: grid;
            grid-template-columns: 1.25fr .75fr;
            gap: 18px;
            margin-bottom: 18px;
        }

        .case-main-card {
            background: var(--navy);
            color: #fff;
            border-radius: 32px;
            min-height: 370px;
            padding: 40px;
            position: relative;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .case-main-card::after {
            content: "";
            position: absolute;
            width: 360px;
            height: 360px;
            border-radius: 50%;
            background: var(--aqua);
            right: -150px;
            top: -180px;
            opacity: .15;
        }

        .case-status-row {
            display: flex;
            align-items: center;
            gap: 10px;
            position: relative;
            z-index: 2;
        }

        .case-status {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            min-height: 34px;
            border-radius: 999px;
            padding: 0 13px;
            background: rgba(255,255,255,.10);
            border: 1px solid rgba(255,255,255,.14);
            font-size: 11px;
        }

        .case-status::before {
            content: "";
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: var(--lime);
        }

        .case-main-number {
            position: relative;
            z-index: 2;
        }

        .case-main-number small {
            display: block;
            color: rgba(255,255,255,.52);
            text-transform: uppercase;
            letter-spacing: .14em;
            font-size: 10px;
            margin-bottom: 12px;
        }

        .case-main-number h1 {
            font: 400 clamp(45px, 5vw, 72px) / .96 Georgia, "Times New Roman", serif;
            letter-spacing: -.045em;
            margin: 0;
            word-break: break-word;
        }

        .case-main-category {
            margin-top: 18px;
            color: rgba(255,255,255,.68);
            font-size: 14px;
            line-height: 1.5;
            max-width: 750px;
        }


        /* ==========================================================
           NEXT HEARING
        ========================================================== */

        .next-hearing {
            background: var(--lime);
            border-radius: 32px;
            padding: 32px;
            min-height: 370px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .next-hearing-label {
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: .14em;
            opacity: .62;
        }

        .next-hearing-date {
            font: 400 42px / 1 Georgia;
            letter-spacing: -.035em;
            margin: 18px 0 10px;
        }

        .next-hearing-meta {
            color: rgba(16,24,32,.65);
            font-size: 13px;
            line-height: 1.5;
        }

        .next-hearing-bottom {
            padding-top: 22px;
            border-top: 1px solid rgba(16,24,32,.18);
        }

        .next-hearing-bottom small {
            display: block;
            color: rgba(16,24,32,.55);
            margin-bottom: 6px;
            font-size: 11px;
        }

        .next-hearing-bottom b {
            font-size: 14px;
        }


        /* ==========================================================
           SUMMARY
        ========================================================== */

        .case-summary {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 12px;
            margin-bottom: 68px;
        }

        .case-summary-item {
            min-height: 135px;
            padding: 22px;
            border: 1px solid var(--line);
            border-radius: 22px;
            background: var(--card);
        }

        .case-summary-item small {
            display: block;
            text-transform: uppercase;
            letter-spacing: .11em;
            font-size: 9px;
            color: var(--muted);
            margin-bottom: 18px;
        }

        .case-summary-item strong {
            display: block;
            font-size: 15px;
            line-height: 1.4;
        }

        .case-summary-item span {
            display: block;
            margin-top: 6px;
            color: var(--muted);
            font-size: 12px;
        }


        /* ==========================================================
           CONTENT SECTIONS
        ========================================================== */

        .case-section {
            padding: 68px 0;
            border-top: 1px solid var(--line);
        }

        .case-section-head {
            display: grid;
            grid-template-columns: .45fr 1.55fr;
            gap: 28px;
            margin-bottom: 30px;
        }

        .case-section-head h2 {
            margin: 0;
            font: 400 clamp(38px, 4vw, 58px) / .98 Georgia;
            letter-spacing: -.04em;
        }


        /* ==========================================================
           PARTIES
        ========================================================== */

        .party-list {
            display: grid;
            gap: 10px;
        }

        .party-row {
            background: var(--card);
            border: 1px solid var(--line);
            border-radius: 20px;
            padding: 22px 24px;
            display: grid;
            grid-template-columns: 180px 1fr auto;
            gap: 22px;
            align-items: center;
        }

        .party-role {
            color: var(--muted);
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: .1em;
        }

        .party-name {
            font-size: 15px;
            font-weight: 700;
        }

        .party-extra {
            text-align: right;
            color: var(--muted);
            font-size: 12px;
            line-height: 1.45;
        }


        /* ==========================================================
           TIMELINE
        ========================================================== */

        .case-timeline {
            position: relative;
        }

        .timeline-item {
            display: grid;
            grid-template-columns: 130px 44px 1fr;
            gap: 16px;
            min-height: 116px;
        }

        .timeline-date {
            padding-top: 4px;
            color: var(--muted);
            font-size: 12px;
            line-height: 1.45;
            text-align: right;
        }

        .timeline-marker {
            position: relative;
            display: flex;
            justify-content: center;
        }

        .timeline-marker::after {
            content: "";
            position: absolute;
            top: 38px;
            bottom: 0;
            width: 1px;
            background: var(--line);
        }

        .timeline-item:last-child .timeline-marker::after {
            display: none;
        }

        .timeline-dot {
            width: 34px;
            height: 34px;
            border-radius: 50%;
            background: var(--ink);
            color: #fff;
            display: grid;
            place-items: center;
            font-size: 9px;
            position: relative;
            z-index: 1;
        }

        .timeline-content {
            padding: 1px 0 32px;
        }

        .timeline-content h3 {
            font: 400 23px / 1.15 Georgia;
            margin: 0 0 8px;
        }

        .timeline-content p {
            margin: 0;
            max-width: 760px;
            color: var(--muted);
            font-size: 13px;
            line-height: 1.55;
        }

        .timeline-result {
            margin-top: 11px;
            display: inline-block;
            border-radius: 999px;
            padding: 7px 10px;
            background: var(--sand);
            font-size: 11px;
        }


        /* ==========================================================
           DOCUMENTS
        ========================================================== */

        .documents-list {
            border-top: 1px solid var(--ink);
        }

        .document-row {
            display: grid;
            grid-template-columns: 130px 1fr auto;
            gap: 22px;
            align-items: center;
            padding: 21px 0;
            border-bottom: 1px solid var(--line);
        }

        .document-date {
            color: var(--muted);
            font-size: 12px;
        }

        .document-title strong {
            display: block;
            font-size: 14px;
            margin-bottom: 5px;
        }

        .document-title span {
            color: var(--muted);
            font-size: 12px;
        }

        .document-open {
            width: 44px;
            height: 44px;
            display: grid;
            place-items: center;
            border-radius: 50%;
            background: var(--ink);
            color: #fff;
        }


        /* ==========================================================
           EMPTY
        ========================================================== */

        .case-empty {
            padding: 28px;
            border: 1px dashed var(--line);
            border-radius: 20px;
            color: var(--muted);
            font-size: 13px;
            line-height: 1.5;
        }


        /* ==========================================================
           BOTTOM NOTICE
        ========================================================== */

        .case-disclaimer {
            margin-top: 26px;
            background: var(--sand);
            border-radius: 22px;
            padding: 22px 25px;
            font-size: 12px;
            color: var(--muted);
            line-height: 1.55;
        }


        /* ==========================================================
           MOBILE
        ========================================================== */

        @media(max-width:980px) {

            .case-page {
                padding-top: 36px;
            }

            .case-search-intro,
            .case-section-head {
                grid-template-columns: 1fr;
                gap: 14px;
            }

            .case-hero {
                grid-template-columns: 1fr;
            }

            .case-main-card {
                min-height: 330px;
            }

            .next-hearing {
                min-height: 270px;
            }

            .case-summary {
                grid-template-columns: 1fr 1fr;
            }
        }

        @media(max-width:720px) {

            .case-page {
                padding: 25px 0 60px;
            }

            .case-breadcrumbs {
                margin-bottom: 24px;
            }

            .case-search-intro {
                margin-bottom: 25px;
            }

            .case-search-intro h1 {
                font-size: clamp(44px, 13vw, 60px);
            }

            .case-search-intro p {
                font-size: 14px;
            }

            .case-search-card {
                border-radius: 24px;
                padding: 24px;
            }

            .case-search-title {
                font-size: 28px;
            }

            .case-search-form {
                grid-template-columns: 1fr;
            }

            .case-search-input,
            .case-search-button {
                height: 56px;
            }

            .case-main-card,
            .next-hearing {
                border-radius: 24px;
                padding: 25px;
            }

            .case-main-card {
                min-height: 350px;
            }

            .case-main-number h1 {
                font-size: 47px;
            }

            .case-summary {
                grid-template-columns: 1fr 1fr;
                gap: 9px;
                margin-bottom: 48px;
            }

            .case-summary-item {
                min-height: 125px;
                padding: 18px;
            }

            .case-section {
                padding: 52px 0;
            }

            .case-section-head h2 {
                font-size: 42px;
            }

            .party-row {
                grid-template-columns: 1fr;
                gap: 8px;
                padding: 19px;
            }

            .party-extra {
                text-align: left;
            }

            .timeline-item {
                grid-template-columns: 38px 1fr;
                gap: 12px;
            }

            .timeline-date {
                grid-column: 2;
                grid-row: 1;
                text-align: left;
                padding: 0;
                margin-bottom: 7px;
            }

            .timeline-marker {
                grid-column: 1;
                grid-row: 1 / span 2;
            }

            .timeline-content {
                grid-column: 2;
                grid-row: 2;
            }

            .document-row {
                grid-template-columns: 1fr auto;
                gap: 12px;
            }

            .document-date {
                grid-column: 1;
            }

            .document-title {
                grid-column: 1;
            }

            .document-open {
                grid-column: 2;
                grid-row: 1 / span 2;
            }
        }

        @media(max-width:420px) {

            .case-summary {
                grid-template-columns: 1fr;
            }

        }


        /* Линия между этапами */
.timeline-item:not(:last-child) .timeline-marker::after {
    content: "";

    position: absolute;

    top: 52px;
    left: 50%;

    width: 1px;
    height: calc(100% - 45px);

    background: var(--line);

    transform: translateX(-50%);
}


/* Стрелочка вниз */
.timeline-item:not(:last-child) .timeline-marker::before {
    content: "";

    position: absolute;

    left: 50%;
    bottom: 4px;

    width: 7px;
    height: 7px;

    border-right: 1.5px solid var(--muted);
    border-bottom: 1.5px solid var(--muted);

    transform:
        translateX(-50%)
        rotate(45deg);

    z-index: 2;
}


.timeline-marker {
    position: relative;
}