.structure-upravleniya {
    position: relative;
    --navy: #324266;
    --navy2: #4B6885;
    --steel: #6A829C;
    --steel-l: #829BB3;
    --gold: #E9B21E;
    --bg: #ffffff;
    --ink: #2A3550;
    --head: #eceff4;
    --gray: #D0D0CE;
    --conn: #9aa9bf;
    --conn-w: 1px;
    --line2: rgba(50, 66, 102, .20);
    --sans: "Google Sans", "Product Sans", "Google Sans Text", Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --mono: "JetBrains Mono", ui-monospace, Consolas, monospace;
    font-family: var(--sans);
    color: var(--ink);
    background: var(--bg);
    line-height: 1.4;
    -webkit-font-smoothing: antialiased;
}

.structure-upravleniya *,
.structure-upravleniya *::before,
.structure-upravleniya *::after {
    box-sizing: border-box;
}

.structure-upravleniya a {
    color: inherit;
    text-decoration: none;
}

.structure-upravleniya .wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(16px, 4vw, 40px);
}

.structure-upravleniya .masthead {
    padding: clamp(16px, 3vw, 28px) 0 clamp(4px, 1vw, 8px);
}

.structure-upravleniya .crumb {
    font-size: 12.5px;
    letter-spacing: .04em;
    color: var(--steel);
    margin-bottom: clamp(8px, 2vw, 14px);
}

.structure-upravleniya .crumb a:hover {
    color: var(--navy);
}

.structure-upravleniya .crumb span {
    opacity: .5;
    padding: 0 .5em;
}

.structure-upravleniya .structure-main {
    padding-top: clamp(8px, 2vw, 16px);
    padding-bottom: 0;
}

.structure-upravleniya .fanwrap {
    padding-bottom: 0;
}

.structure-upravleniya .box {
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
    position: relative;
    z-index: 1;
    background: #fff;
    border: 1px solid var(--line2);
    border-radius: 5px;
    padding: 9px 13px;
    font-weight: 700;
    font-size: 12.5px;
    color: var(--ink);
    line-height: 1.22;
    text-align: center;
    text-wrap: balance;
    transition: border-color .15s, box-shadow .15s;
}

.structure-upravleniya .box:hover,
.structure-upravleniya .box:focus-visible {
    border-color: var(--steel);
    box-shadow: 0 4px 14px -7px rgba(50, 66, 102, .4);
    outline: none;
}

.structure-upravleniya .b-sub {
    font-family: var(--mono);
    font-weight: 500;
    font-size: 10.5px;
    color: var(--steel);
}

.structure-upravleniya .box--apex,
.structure-upravleniya .box--board,
.structure-upravleniya .box--council,
.structure-upravleniya .box--rector,
.structure-upravleniya .box--management,
.structure-upravleniya .head {
    background: var(--head);
}

.structure-upravleniya .box--rector {
    font-size: 14px;
    padding: 11px 20px;
    min-width: 290px;
    max-width: 92vw;
    isolation: isolate;
}

.structure-upravleniya .box--mini {
    font-size: 11px;
    font-weight: 600;
    padding: 7px 11px;
    width: 100%;
    text-align: left;
    background: #fff;
}

.structure-upravleniya .gov {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.structure-upravleniya .conn-v {
    width: var(--conn-w);
    height: 24px;
    background: var(--conn);
    display: block;
    flex: none;
    align-self: center;
}

.structure-upravleniya .conn-v--tall {
    height: 30px;
}

.structure-upravleniya .conn-v--to-rector {
    height: 72px;
}

.structure-upravleniya .srow {
    position: relative;
    display: flex;
    justify-content: center;
    --board-half: 95px;
    --side-offset: 180px;
    --board-link-w: calc(var(--side-offset) - var(--board-half));
    /* Левая линия к «Службе внутреннего аудита»: длина и сдвиг по вертикали */
    --board-link-left-w: calc(var(--side-offset) - var(--board-half));
    --board-link-left-y: 0px;
    /* Правые блоки: вниз/вверх — --side-drop; влево/вправо — --side-offset */
    --side-drop: 6px;
}

.structure-upravleniya .box--board {
    font-size: 13.5px;
    width: 190px;
    min-width: 190px;
    max-width: 190px;
    isolation: isolate;
}

.structure-upravleniya .box--board::before,
.structure-upravleniya .box--board::after {
    content: "";
    position: absolute;
    top: 50%;
    height: var(--conn-w);
    background: var(--conn);
    z-index: -1;
    transform: translateY(-50%);
}

.structure-upravleniya .box--board::before {
    right: 100%;
    width: var(--board-link-left-w);
    top: calc(50% + var(--board-link-left-y));
}

.structure-upravleniya .box--board::after {
    left: 100%;
    width: var(--board-link-w);
}

.structure-upravleniya .side {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 220px;
}

.structure-upravleniya .side--left {
    right: calc(50% + var(--side-offset));
}

.structure-upravleniya .side--right {
    left: calc(50% + var(--side-offset));
    top: calc(50% + var(--side-drop));
}

.structure-upravleniya .side__cap {
    font-family: var(--mono);
    font-weight: 500;
    font-size: 9.5px;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--steel);
    text-align: left;
}

.structure-upravleniya .side__col {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.structure-upravleniya .rector-row {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 920px;
    --rector-half: 145px;
    --rector-side-offset: 158px;
    --rector-link-w: calc(var(--rector-side-offset) - var(--rector-half));
}

.structure-upravleniya .box--rector::before,
.structure-upravleniya .box--rector::after {
    content: "";
    position: absolute;
    top: 50%;
    height: var(--conn-w);
    width: var(--rector-link-w);
    background: var(--conn);
    z-index: -1;
    transform: translateY(-50%);
}

.structure-upravleniya .box--rector::before {
    right: 100%;
}

.structure-upravleniya .box--rector::after {
    left: 100%;
}

.structure-upravleniya .rector-row__center {
    position: relative;
    z-index: 1;
}

.structure-upravleniya .rector-row__side {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 210px;
}

.structure-upravleniya .rector-row__side--left {
    right: calc(50% + 158px);
}

.structure-upravleniya .rector-row__side--right {
    left: calc(50% + 158px);
}

.structure-upravleniya .rector-row__side::before {
    display: none;
}

.structure-upravleniya .box--management {
    font-size: 13.5px;
    min-width: 150px;
    cursor: default;
}

.structure-upravleniya .box--management-mobile {
    display: none;
}

.structure-upravleniya .conn-v--rector-gap {
    display: none;
}

.structure-upravleniya .fanwrap {
    position: relative;
    padding: 0 clamp(16px, 4vw, 40px);
}

.structure-upravleniya .leaf-section {
    position: relative;
    padding: 0 0 clamp(44px, 8vw, 100px);
}

.structure-upravleniya .leafwrap {
    margin-top: clamp(28px, 5vw, 52px);
}

.structure-upravleniya .leafrow {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
}

.structure-upravleniya .structure-links {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: visible;
    z-index: 0;
}

.structure-upravleniya .structure-links path {
    fill: none;
    stroke: var(--conn);
    stroke-width: var(--conn-w);
}

.structure-upravleniya .fan {
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 10px;
}

.structure-upravleniya .lvl {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    list-style: none;
    margin: 0;
    padding: 0;
    min-width: max-content;
}

.structure-upravleniya .col {
    position: relative;
    width: 214px;
    padding: 22px 9px 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    list-style: none;
}

.structure-upravleniya .col::before,
.structure-upravleniya .col::after {
    content: "";
    position: absolute;
    top: 0;
    right: 50%;
    border-top: var(--conn-w) solid var(--conn);
    width: 50%;
    height: 22px;
}

.structure-upravleniya .col::after {
    right: auto;
    left: 50%;
    border-left: var(--conn-w) solid var(--conn);
}

.structure-upravleniya .col:only-child::before,
.structure-upravleniya .col:only-child::after {
    display: none;
}

.structure-upravleniya .col:first-child::before,
.structure-upravleniya .col:last-child::after {
    border: 0 none;
}

.structure-upravleniya .col:last-child::before {
    border-right: var(--conn-w) solid var(--conn);
}

.structure-upravleniya .head {
    text-align: left;
    align-items: flex-start;
    padding: 11px 13px;
    font-size: 12.5px;
    min-height: 84px;
}

.structure-upravleniya .box--leaf {
    text-align: center;
    align-items: center;
    justify-content: center;
    font-size: 12.5px;
    font-weight: 700;
    min-height: 52px;
    min-width: 190px;
    background: var(--head);
}

.structure-upravleniya .col-units {
    list-style: none;
    margin: 12px 0 0;
    padding: 0 0 0 20px;
}

.structure-upravleniya .col-units > li {
    position: relative;
    margin-top: 8px;
}

.structure-upravleniya .col-units > li:first-child {
    margin-top: 0;
}

.structure-upravleniya .col-units > li::before {
    content: "";
    position: absolute;
    left: -12px;
    top: -8px;
    bottom: 0;
    border-left: var(--conn-w) solid var(--conn);
}

.structure-upravleniya .col-units > li:first-child::before {
    top: -14px;
}

.structure-upravleniya .col-units > li:last-child::before {
    bottom: auto;
    height: 27px;
}

.structure-upravleniya .col-units > li:first-child:last-child::before {
    top: -14px;
    height: 33px;
}

.structure-upravleniya .col-units > li::after {
    content: "";
    position: absolute;
    left: -12px;
    top: 19px;
    width: 12px;
    border-top: var(--conn-w) solid var(--conn);
}

.structure-upravleniya .box--unit {
    width: 100%;
    text-align: left;
    align-items: flex-start;
    font-size: 12px;
}

.structure-upravleniya .box--dept {
    font-weight: 700;
}

.structure-upravleniya .col-units .sub {
    margin-top: 8px;
    padding-left: 16px;
}

.structure-upravleniya .col-units .sub .box--unit {
    font-size: 11px;
    color: var(--navy2);
}

.structure-upravleniya .col-units .sub > li:first-child::before {
    top: -8px;
}

@media (min-width: 768px) and (max-width: 880px) {
    .structure-upravleniya {
        font-size: 11.5px;
    }

    .structure-upravleniya .srow {
        --side-offset: 116px;
        --side-drop: 10px;
    }

    .structure-upravleniya .box {
        font-size: 11px;
        padding: 7px 10px;
    }

    .structure-upravleniya .box--board {
        min-width: 0;
        width: 190px;
        max-width: 190px;
        font-size: 11.5px;
    }

    .structure-upravleniya .box--rector {
        min-width: 0;
        max-width: 220px;
        padding: 8px 12px;
        font-size: 11.5px;
    }

    .structure-upravleniya .box--management,
    .structure-upravleniya .box--council {
        font-size: 11.5px;
    }

    .structure-upravleniya .box--mini {
        font-size: 9.5px;
        padding: 5px 8px;
    }

    .structure-upravleniya .b-sub {
        font-size: 9px;
    }

    .structure-upravleniya .side {
        width: 155px;
    }

    .structure-upravleniya .side--left {
        right: calc(50% + var(--side-offset));
    }

    .structure-upravleniya .side--right {
        top: calc(50% + var(--side-drop));
    }

    .structure-upravleniya .conn-v--to-rector {
        height: 48px;
    }

    .structure-upravleniya .rector-row {
        max-width: 100%;
        --rector-half: 110px;
        --rector-side-offset: 131px;
    }

    .structure-upravleniya .rector-row__side {
        width: 155px;
    }

    .structure-upravleniya .rector-row__side--left {
        right: calc(50% + 131px);
    }

    .structure-upravleniya .rector-row__side--right {
        left: calc(50% + 131px);
    }

    .structure-upravleniya .box--management-mobile {
        display: none;
    }

    .structure-upravleniya .box--management.rector-row__side--right {
        display: inline-flex;
    }

    .structure-upravleniya .fan {
        overflow: visible;
    }

    .structure-upravleniya .lvl {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0 12px;
        min-width: 0;
    }

    .structure-upravleniya .col {
        width: calc(50% - 6px);
        padding: 14px 0 0;
        margin-top: 0;
    }

    .structure-upravleniya .col::before,
    .structure-upravleniya .col::after {
        display: none;
    }

    .structure-upravleniya .col:nth-child(1) { order: 1; }
    .structure-upravleniya .col:nth-child(2) { order: 5; }
    .structure-upravleniya .col:nth-child(3) { order: 2; }
    .structure-upravleniya .col:nth-child(4) { order: 3; }
    .structure-upravleniya .col:nth-child(5) { order: 4; }
    .structure-upravleniya .col:nth-child(6) { order: 6; }

    .structure-upravleniya .head {
        min-height: 0;
        font-size: 11px;
        padding: 9px 10px;
        text-align: left;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .structure-upravleniya .box--unit {
        font-size: 10.5px;
    }

    .structure-upravleniya .col-units .sub .box--unit {
        font-size: 10px;
    }

    .structure-upravleniya .leafrow {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
    }

    .structure-upravleniya .box--leaf {
        width: calc(50% - 6px);
        min-width: 0;
        font-size: 11px;
        min-height: 44px;
    }

    .structure-upravleniya .structure-links {
        display: none;
    }
}

@media (max-width: 767px) {
    .structure-upravleniya .box--board::before,
    .structure-upravleniya .box--board::after,
    .structure-upravleniya .box--rector::before,
    .structure-upravleniya .box--rector::after {
        display: none;
    }

    .structure-upravleniya .side--right {
        top: 50%;
    }

    .structure-upravleniya .box--board {
        width: auto;
        min-width: 0;
        max-width: none;
    }

    .structure-upravleniya .srow {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }

    .structure-upravleniya .conn-v--to-rector {
        height: 24px;
    }

    .structure-upravleniya .rector-row {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        max-width: none;
        margin: 0;
    }

    .structure-upravleniya .rector-row__side,
    .structure-upravleniya .rector-row__center {
        position: static;
        transform: none;
        width: 100%;
    }

    .structure-upravleniya .rector-row__side::before {
        display: none;
    }

    .structure-upravleniya .rector-row__side--left {
        order: 1;
    }

    .structure-upravleniya .conn-v--rector-gap {
        display: block;
        order: 2;
        align-self: center;
    }

    .structure-upravleniya .rector-row__center {
        order: 3;
    }

    .structure-upravleniya .box--management.rector-row__side--right {
        display: none;
    }

    .structure-upravleniya .box--management-mobile {
        display: block;
    }

    .structure-upravleniya .side {
        position: static;
        transform: none;
        width: 100%;
        max-width: 420px;
    }

    .structure-upravleniya .side::before {
        display: none;
    }

    .structure-upravleniya .side__cap {
        text-align: center;
    }

    .structure-upravleniya .fan {
        overflow: visible;
    }

    .structure-upravleniya .lvl {
        flex-direction: column;
        min-width: 0;
        gap: 0;
    }

    .structure-upravleniya .col {
        width: 100%;
        padding: 0 0 0 20px;
        margin-top: 14px;
    }

    .structure-upravleniya .col::before,
    .structure-upravleniya .col::after {
        display: none;
    }

    /* Левые соединительные линии между проректоратами */
    .structure-upravleniya .col .head {
        position: relative;
    }

    .structure-upravleniya .col .head::after {
        content: "";
        position: absolute;
        left: -12px;
        top: 50%;
        width: 12px;
        border-top: var(--conn-w) solid var(--conn);
        transform: translateY(-50%);
        z-index: 1;
    }

    .structure-upravleniya .col.col-spine-up::before {
        display: block;
        content: "";
        position: absolute;
        left: 8px;
        right: auto;
        top: -14px;
        bottom: auto;
        width: 0;
        height: calc(var(--head-mid, 22px) + 14px);
        border: none;
        border-left: var(--conn-w) solid var(--conn);
        background: none;
        z-index: 0;
    }

    .structure-upravleniya .col.col-spine-down::after {
        display: block;
        content: "";
        position: absolute;
        left: 8px;
        right: auto;
        top: var(--head-mid, 22px);
        bottom: 0;
        width: 0;
        height: auto;
        border: none;
        border-left: var(--conn-w) solid var(--conn);
        background: none;
        z-index: 0;
    }

    .structure-upravleniya .leafrow {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding-left: 20px;
        margin-left: 24px;
        position: relative;
        width: 268px;
        max-width: calc(100% - 56px);
    }

    .structure-upravleniya .box--leaf {
        width: 100%;
        min-width: 0;
        max-width: none;
    }

    .structure-upravleniya .leaf-section,
    .structure-upravleniya .leafwrap {
        overflow: visible;
    }

    .structure-upravleniya .leafrow--spine::before {
        content: "";
        position: absolute;
        left: var(--spine-left, 8px);
        top: var(--spine-top, 0);
        height: var(--spine-height, 0);
        width: 0;
        border-left: var(--conn-w) solid var(--conn);
        z-index: 0;
    }

    .structure-upravleniya .leafrow--spine .box--leaf {
        position: relative;
    }

    .structure-upravleniya .leafrow--spine .box--leaf::after {
        content: "";
        position: absolute;
        left: var(--branch-left, -12px);
        top: 50%;
        width: var(--branch-width, 12px);
        border-top: var(--conn-w) solid var(--conn);
        transform: translateY(-50%);
        z-index: 1;
    }

    .structure-upravleniya .col:nth-child(1) { order: 1; }
    .structure-upravleniya .col:nth-child(2) { order: 5; }
    .structure-upravleniya .col:nth-child(3) { order: 2; }
    .structure-upravleniya .col:nth-child(4) { order: 3; }
    .structure-upravleniya .col:nth-child(5) { order: 4; }
    .structure-upravleniya .col:nth-child(6) { order: 6; }

    .structure-upravleniya .head {
        min-height: 0;
        text-align: center;
        align-items: center;
        justify-content: center;
    }

    .structure-upravleniya .structure-links {
        display: none;
    }
}

@media (max-width: 640px) {
    .structure-upravleniya .gov {
        align-items: stretch;
    }

    .structure-upravleniya .box {
        width: 100%;
        min-width: 0;
        max-width: none;
    }

    .structure-upravleniya .box--rector,
    .structure-upravleniya .box--board {
        min-width: 0;
    }

    .structure-upravleniya .srow .side {
        max-width: none;
    }

    .structure-upravleniya .leafwrap {
        margin-top: clamp(20px, 5vw, 32px);
    }

    .structure-upravleniya .leafrow {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        margin-left: 24px;
        width: 268px;
        max-width: calc(100% - 56px);
    }

    .structure-upravleniya .box--leaf {
        width: 100%;
        min-width: 0;
        max-width: none;
    }

    .structure-upravleniya .col-units {
        padding-left: 16px;
    }
}

@media print {
    .structure-upravleniya .fan {
        overflow: visible;
    }

    .structure-upravleniya .box {
        box-shadow: none;
    }
}
