@media screen and (min-width: 1001px) {
    .mobile-menu.active {
        display: none !important;
    }
}

#project-coming-soon-modal.lk-proto-modal .reg-modal.project-coming-soon-modal {
    width: min(560px, calc(100vw - 40px));
    max-width: 560px;
    border-radius: 30px;
    overflow: hidden;
}

#project-coming-soon-modal .reg-modal.project-coming-soon-modal::before {
    background: #1f315d;
    border-radius: 30px;
}

#project-coming-soon-modal .popup-types-header > div > h2 {
    font-size: 22px;
}

#project-coming-soon-modal .project-coming-soon-modal__body {
    padding: 28px 36px 36px;
    text-align: center;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#project-coming-soon-modal .project-coming-soon-modal__icon {
    width: 70px;
    height: 70px;
    min-width: 70px;
    margin: 0 auto 20px;
}

#project-coming-soon-modal .project-coming-soon-modal__text {
    margin: 0;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.85);
}

.home-card2-sub-card.js-project-coming-soon {
    cursor: pointer;
}

/* ---- Home page redesign ---- */
body.home-page {
    background-color: #ffffff !important;
    background-image: none !important;
}

body.home-page header {
    display: none !important;
}

body.home-page footer {
    background: #d90912;
}

body:not(.home-page) footer {
    margin-left: 10%;
    margin-right: 10%;
}

body:not(.home-page) footer .container {
    max-width: 100%;
}

.home-cards {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px 10%;
    box-sizing: border-box;
}

/* Card base */
.home-card {
    border-radius: 20px;
    width: 100%;
    box-sizing: border-box;
}

/* Card 1 — red */
.home-card--red {
    background-image: url(/public/img/background_section_1.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    min-height: 700px;
    padding: 40px;
}

.home-card-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    height: 72px;
}

.home-card-header .header-left-side {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
}

.home-card-header .header-left-side .logo {
    width: 44px;
    height: 78px;
    flex-shrink: 0;
}

.home-card-header .header-left-side .logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.home-card-header .menu {
    flex: 1;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 10px;
    margin-left: 30px;
}

header .menu {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px;
    margin-left: 30px;
}

header .menu .nav-card-wrap {
    display: flex;
}

header .menu .nav-card {
    max-width: 102px;
    padding: 11px 15px;
    white-space: normal;
    line-height: 1.2;
    position: relative;
}

header .menu .nav-card a::after {
    content: "";
    position: absolute;
    inset: 0;
}

header .menu .nav-card a {
    white-space: normal;
    line-height: 140%;
    text-transform: none;
    text-align: left;
}

header {
    margin: 1% 10%;
    overflow: visible;
    height: auto;
}

header > div.container {
    max-width: 100%;
}

header .profile,
header .header-left-side {
    align-self: flex-start;
}

.home-card-header .menu .nav-card-wrap {
    display: flex;
}

.home-card-header .menu .nav-card {
    max-width: 102px;
    padding: 11px 15px;
    flex: 1;
    text-transform: none;
    line-height: 1.2;
    position: relative;
}

.home-card-header .menu .nav-card a::after {
    content: "";
    position: absolute;
    inset: 0;
}

.home-card-header .menu .nav-card a {
    padding: 0;
    border: none !important;
    box-shadow: none !important;
    font-size: 14px;
    font-family: "Pragmatica Extended";
    font-weight: 700;
    white-space: normal;
    line-height: 140%;
    text-transform: none;
    text-align: left;
}

.home-card-header .menu .nav-card .nav-subtitle {
    font-size: 12px;
    line-height: 1.2;
}

.home-card-header .profile {
    display: flex;
    align-items: flex-start;
    align-self: flex-start;
}

.home-card-header .profile .logout {
    display: none;
}

.home-card-header .profile a.profile-img {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.home-card-header .profile a.profile-img img {
    height: 4.25em;
    width: auto;
    display: block;
}

.home-card-header .burger {
    display: none;
}

/* Подпроекты dropdown (shown at ≤1370px instead of 6 nav cards) */
.nav-projects-dropdown {
    display: none;
    position: relative;
    align-items: stretch;
}

.nav-projects-menu {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.18);
    padding: 8px 0;
    min-width: 210px;
    z-index: 200;
}

.nav-projects-menu a {
    display: block;
    padding: 10px 16px;
    color: #1a1a1a !important;
    text-decoration: none;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: none !important;
    white-space: nowrap;
    line-height: 140%;
}

.nav-projects-menu a:hover {
    background: rgba(0, 0, 0, 0.05);
}

.nav-projects-dropdown.open .nav-projects-menu {
    display: block;
}

.home-card-header .profile a.login-combined {
    display: flex;
    flex-direction: row;
    align-items: center;
    align-self: center;
    gap: 12px;
    background: white;
    color: #d90912;
    font-size: 16px;
    padding: 8px 12px;
    border-radius: 20px;
    white-space: nowrap;
    text-transform: none;
    text-decoration: none;
}

.home-card-header .profile a.login-combined img {
    height: 20px;
    width: auto;
}

.home-card-hero {
    margin-top: 48px;
    width: 66%;
    display: flex;
    flex-direction: column;
}

.home-hero-title {
    color: white;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 42px;
    text-transform: uppercase;
    margin: 0;
    line-height: 1.15;
    max-width: 700px;
}

.home-hero-text {
    color: white;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    margin: 20px 0 0;
}

.home-hero-btn {
    margin-top: 20px;
    align-self: flex-start;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    background: white;
    color: #d90912;
    font-size: 16px;
    padding: 12px 20px;
    border-radius: 20px;
    white-space: nowrap;
    text-transform: none;
    text-decoration: none;
}

.home-hero-btn img {
    height: 20px;
    width: auto;
}

.home-hero-icons {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    gap: 80px;
    width: 100%;
    box-sizing: border-box;
    padding-top: 40px;
}

.home-hero-icon-left {
    height: 127px;
    width: auto;
}

.home-hero-icon-right {
    height: 127px;
    width: auto;
}

@media screen and (max-width: 1300px) {
    .home-hero-icon-left {
        height: 107px;
        width: auto;
    }
    .home-hero-icon-right {
        height: 109px;
        width: auto;
    }
}

@media screen and (max-width: 1100px) {
    .home-hero-icons {
        padding: 0;
    }
}

/* Card 2 — blue */
.home-card--blue {
    background-image: url(/public/img/background_section_2.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 500px;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.home-card2-top {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    flex: 1;
}

.home-card2-left {
    width: 50%;
    padding: 40px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.home-card2-logo {
    height: 134px;
    width: auto;
}

.home-card2-dates {
    margin: 90px 0 0;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: white;
    line-height: 1.2;
}

.home-card2-title {
    margin: 20px 0 0;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 40px;
    color: white;
    line-height: 1.2;
}

.home-card2-desc {
    margin: 15px 0 0;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: white;
    line-height: 150%;
}

.home-card2-btns {
    margin-top: 30px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
}

.home-card2-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 16px;
    padding: 12px 20px;
    border-radius: 20px;
    text-decoration: none;
    white-space: nowrap;
    text-transform: none;
}

.home-card2-btn--red {
    background-color: #d90912;
    color: white;
}

.home-card2-btn--white {
    background-color: white;
    color: #1f315d;
}

.home-card2-right {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.home-card2-right img {
    max-height: 100%;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

/* Card 2 — subprojects panel */
.home-card2-subprojects {
    margin: 0 40px 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 30px;
    box-sizing: border-box;
}

.home-card3-disciplines {
    margin: 40px 0 40px;
}

.home-card3-sub-cards {
    grid-template-columns: repeat(5, 1fr) !important;
}

@media (max-width: 1380px) {
    .home-card3-sub-cards {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 1024px) {
    .home-card3-disciplines {
        margin: 40px 0 0 !important;
    }
    .home-card3-sub-cards {
        grid-template-columns: 1fr !important;
    }
}

.home-card2-sub-title {
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 24px;
    color: #ffffff;
    margin: 0;
}

.home-card2-sub-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-top: 15px;
}

@media (max-width: 1380px) {
    .home-card2-sub-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

.home-card2-sub-card {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 100px;
    background: rgba(237, 251, 255, 0.1);
    border-radius: 10px;
    padding: 15px;
    gap: 20px;
    box-sizing: border-box;
}

.home-card2-sub-icon {
    flex-shrink: 0;
    width: 70px;
    height: 70px;
    border-radius: 10px;
    padding: 13px;
    box-sizing: border-box;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-card2-sub-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0) invert(31%) sepia(98%) saturate(500%) hue-rotate(187deg) brightness(95%);
}

.home-card3-disciplines .home-card2-sub-icon img {
    filter: none;
}

.home-card2-sub-texts {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 4px;
    min-width: 0;
}

.home-card2-sub-name {
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #ffffff;
    line-height: 1.2;
}

.home-card2-sub-type {
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.2;
}

/* Card 3 — purple */
.home-card--purple {
    background-image: url(/public/img/background_section_3.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 500px;
    padding: 0 40px 100px 40px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    overflow: hidden;
}

@media screen and (min-width: 1025px) {
    .home-card3-content {
        position: relative;
        width: 100%;
        overflow: hidden;
    }

    .home-card3-bg {
        display: block;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 40%;
        height: auto;
        pointer-events: none;
    }

    .home-card3-icon,
    .home-card3-dates,
    .home-card3-title-img,
    .home-card3-desc,
    .home-card3-btns {
        max-width: 55% !important;
    }
}

.home-card3-icon {
    margin-top: 60px;
    height: 134px;
    width: auto;
}

.home-card3-dates {
    font-family: "Pragmatica", sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: #ffffff;
    margin-top: 87px;
    margin-bottom: 0;
}

.home-card3-title-img {
    width: 406px;
    height: auto;
    margin-top: 20px;
}

.home-card3-desc {
    font-family: "Pragmatica", sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #ffffff;
    margin-top: 20px;
    margin-bottom: 0;
    line-height: 1.5;
    max-width: 620px;
    width: 100%;
}

.home-card3-btns {
    display: flex;
    flex-direction: row;
    gap: 12px;
    margin-top: 20px;
}

@media screen and (max-width: 1000px) {
    .home-cards {
        padding: 0;
        gap: 10px;
    }

    .home-card {
        border-radius: 20px;
    }

    .home-card--red {
        background-image: url(/public/img/background_section_1_mob.png);
        padding: 16px 20px 32px;
        min-height: 700px;
    }

    .home-card-header {
        height: auto;
        gap: 12px;
    }

    /* Mobile header in the first (red) card — match design */
    body.home-page .home-card-header {
        align-items: flex-start;
    }

    body.home-page .home-card-header .header-left-side .logo {
        height: 78px;
        width: 44px;
    }

    body.home-page .home-card-header .header-left-side .logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    body.home-page .home-card-header .profile {
        margin-left: auto;
        display: flex;
        align-items: center;
    }

    body.home-page .home-card-header .profile .logout {
        display: none;
    }

    body.home-page .home-card-header .profile a.login-combined,
    body.home-page .home-card-header .profile a.profile-img {
        width: 44px;
        height: 44px;
        padding: 0;
        border-radius: 50%;
        background: #ffffff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        text-decoration: none;
        gap: 0;
    }

    body.home-page .home-card-header .profile a.login-combined span {
        display: none;
    }

    body.home-page .home-card-header .profile a.login-combined img,
    body.home-page .home-card-header .profile a.profile-img img {
        width: 20px;
        height: 20px;
        object-fit: contain;
        display: block;
        filter: none;
    }

    .home-card-header .profile a.login-combined {
        font-size: 14px;
    }

    .home-card-hero {
        width: 100%;
        margin-top: 16px;
    }

    .home-hero-title {
        font-size: 24px;
    }

    .home-hero-text {
        font-size: 14px;
    }

    .home-hero-btn {
        width: 100%;
        justify-content: center;
        box-sizing: border-box;
        white-space: normal;
        text-align: center;
    }

    .home-hero-icons {
        padding: 0;
        gap: 40px;
    }

    .home-hero-icon-left {
        height: 70px;
    }

    .home-hero-icon-right {
        height: 78px;
    }

    .home-card-header .menu {
        display: none;
    }

    .home-card-header .burger {
        display: block;
    }

    body.home-page .home-card-header .burger {
        width: 44px;
        height: 44px;
        border: none;
        border-radius: 50%;
        background: #ffffff;
        cursor: pointer;
        flex: 0 0 auto;
    }

    body.home-page .home-card-header .burger span {
        position: relative;
        width: 18px;
        height: 14px;
        display: block;
    }

    body.home-page .home-card-header .burger span::before,
    body.home-page .home-card-header .burger span::after,
    body.home-page .home-card-header .burger span {
        background: transparent;
    }

    body.home-page .home-card-header .burger span::before,
    body.home-page .home-card-header .burger span::after {
        content: "";
        position: absolute;
        height: 2px;
        background: #d90912;
        border-radius: 2px;
        transition:
            transform 0.18s ease,
            top 0.18s ease,
            opacity 0.18s ease;
    }

    body.home-page .home-card-header .burger span::before {
        top: 3px;
    }

    body.home-page .home-card-header .burger span::after {
        top: 9px;
    }

    /* Turn home-page burger into X when menu is open (uses span, not fc-burger-lines) */
    body.home-page #home-burger.active span::before {
        top: 6px !important;
        transform: rotate(45deg) !important;
    }

    body.home-page #home-burger.active span::after {
        top: 6px !important;
        transform: rotate(-45deg) !important;
    }

    /* Home page mobile menu as a blue modal */
    body.home-page #home-mobile-menu,
    body.firsts-call-page #firsts-call-mobile-menu {
        position: fixed !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        box-sizing: border-box;
        background: rgba(0, 0, 0, 0.35);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
        z-index: 10000;
        display: none;
        align-items: flex-start;
        justify-content: center;
        overflow: auto;
        color: #ffffff;
        padding: 10px !important;
    }

    body.home-page #home-mobile-menu.active,
    body.firsts-call-page #firsts-call-mobile-menu.active {
        display: flex;
    }

    body.home-page .home-mobile-modal,
    body.firsts-call-page .home-mobile-modal {
        width: 100%;
        height: 100%;
        max-width: 100%;
        border-radius: 28px;
        padding: 22px 18px 18px;
        box-sizing: border-box;
        background: linear-gradient(180deg, #0f6fb2 0%, #0b5e9a 52%, #0a568e 100%);
        box-shadow: 0 18px 60px rgba(0, 0, 0, 0.35);
    }

    body.home-page .home-mobile-modal-header,
    body.firsts-call-page .home-mobile-modal-header {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        padding-bottom: 14px;
    }

    body.home-page .home-mobile-brand,
    body.firsts-call-page .home-mobile-brand {
        display: flex;
        flex-direction: column;
        gap: 8px;
        align-items: flex-start;
    }

    body.home-page .home-mobile-brand > span,
    body.firsts-call-page .home-mobile-brand > span {
        font-family: "Pragmatica Extended", sans-serif;
        font-weight: 700;
        font-size: 14px;
        color: rgba(255, 255, 255, 0.92);
    }

    body.home-page .home-mobile-brand > img,
    body.firsts-call-page .home-mobile-brand > img {
        width: 44px;
        height: 78px;
        object-fit: contain;
        display: block;
        filter: brightness(0) invert(1);
    }

    body.home-page .home-mobile-actions,
    body.firsts-call-page .home-mobile-actions {
        display: flex;
        gap: 12px;
        align-items: center;
    }

    body.home-page .home-mobile-action-btn,
    body.firsts-call-page .home-mobile-action-btn {
        width: 48px;
        height: 48px;
        border-radius: 50%;
        background: #ffffff;
        border: none;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        cursor: pointer;
        text-decoration: none;
        flex: 0 0 auto;
    }

    body.home-page .home-mobile-action-btn img,
    body.firsts-call-page .home-mobile-action-btn img {
        width: 22px;
        height: 22px;
        object-fit: contain;
        display: block;
        filter: none;
    }

    body.home-page .home-mobile-action-btn--close .home-mobile-close-x,
    body.firsts-call-page .home-mobile-action-btn--close .home-mobile-close-x {
        position: relative;
        width: 18px;
        height: 18px;
        display: block;
    }

    body.home-page .home-mobile-action-btn--close .home-mobile-close-x::before,
    body.home-page .home-mobile-action-btn--close .home-mobile-close-x::after,
    body.firsts-call-page .home-mobile-action-btn--close .home-mobile-close-x::before,
    body.firsts-call-page .home-mobile-action-btn--close .home-mobile-close-x::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        width: 18px;
        height: 2px;
        background: #d90912;
        border-radius: 2px;
        transform-origin: center;
    }

    body.home-page .home-mobile-action-btn--close .home-mobile-close-x::before,
    body.firsts-call-page .home-mobile-action-btn--close .home-mobile-close-x::before {
        transform: translate(-50%, -50%) rotate(45deg);
    }

    body.home-page .home-mobile-action-btn--close .home-mobile-close-x::after,
    body.firsts-call-page .home-mobile-action-btn--close .home-mobile-close-x::after {
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    body.home-page .home-mobile-grid,
    body.firsts-call-page .home-mobile-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    body.home-page .home-mobile-card,
    body.firsts-call-page .home-mobile-card {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 6px;
        min-height: 92px;
        padding: 14px 16px;
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.12);
        text-decoration: none;
        color: inherit;
        box-sizing: border-box;
    }

    body.home-page .home-mobile-card__title,
    body.firsts-call-page .home-mobile-card__title {
        font-family: "Pragmatica Extended", sans-serif;
        font-weight: 700;
        font-size: 16px;
        line-height: 1.15;
        letter-spacing: 0;
    }

    body.home-page .home-mobile-card__subtitle,
    body.firsts-call-page .home-mobile-card__subtitle {
        font-family: "Pragmatica Extended", sans-serif;
        font-weight: 400;
        font-size: 12px;
        opacity: 0.7;
        line-height: 1.2;
    }

    body.home-page .home-mobile-links,
    body.firsts-call-page .home-mobile-links {
        margin-top: 18px;
        display: flex;
        flex-direction: column;
        gap: 14px;
        align-items: center;
        text-align: center;
    }

    body.home-page .home-mobile-links a,
    body.firsts-call-page .home-mobile-links a {
        color: rgba(255, 255, 255, 0.92);
        text-decoration: none;
        font-size: 14px;
        line-height: 1.3;
        white-space: normal;
        max-width: 100%;
    }

    body.home-page .home-mobile-social,
    body.firsts-call-page .home-mobile-social {
        margin-top: 18px;
        display: flex;
        justify-content: center;
        gap: 14px;
    }

    body.home-page .home-mobile-social a,
    body.firsts-call-page .home-mobile-social a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
    }

    body.home-page .home-mobile-social img,
    body.firsts-call-page .home-mobile-social img {
        width: 44px;
        height: 44px;
        object-fit: contain;
    }

    body.home-page .home-mobile-auth,
    body.firsts-call-page .home-mobile-auth {
        margin-top: 16px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
    }

    body.home-page .home-mobile-auth a,
    body.firsts-call-page .home-mobile-auth a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 10px 14px;
        border-radius: 999px;
        border: 1px solid rgba(255, 255, 255, 0.35);
        color: #fff;
        text-decoration: none;
        font-size: 13px;
        background: rgba(255, 255, 255, 0.08);
    }

    /* Firsts Call — mobile top bar (hide global header to avoid duplicate menus) */
    body.firsts-call-page header {
        display: none !important;
    }

    /* body.firsts-call-page .app-breadcrumbs {
        display: none !important;
    } */

    body.firsts-call-page .firsts-call-mobile-bar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 14px 16px;
        box-sizing: border-box;
        position: sticky;
        top: 0;
        z-index: 500;
        background: rgba(15, 111, 178, 0.35);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }

    body.firsts-call-page .firsts-call-mobile-bar__logo {
        width: 25px;
        height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 0;
        background: transparent;
        text-decoration: none;
    }

    body.firsts-call-page .firsts-call-mobile-bar__logo img {
        width: 25px;
        height: 44px;
        object-fit: contain;
        display: block;
    }

    body.firsts-call-page .firsts-call-mobile-bar__actions {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    body.firsts-call-page .firsts-call-mobile-bar .profile {
        display: flex;
        align-items: center;
    }

    body.firsts-call-page .firsts-call-mobile-bar .profile .logout {
        display: none;
    }

    body.firsts-call-page .firsts-call-mobile-bar .profile a.login-combined,
    body.firsts-call-page .firsts-call-mobile-bar .profile a.profile-img {
        width: 44px;
        height: 44px;
        padding: 0;
        border-radius: 50%;
        background: #ffffff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        text-decoration: none;
        gap: 0;
    }

    body.firsts-call-page .firsts-call-mobile-bar .profile a.login-combined span {
        display: none;
    }

    body.firsts-call-page .firsts-call-mobile-bar .profile a.login-combined img,
    body.firsts-call-page .firsts-call-mobile-bar .profile a.profile-img img {
        width: 20px;
        height: 20px;
        object-fit: contain;
        display: block;
        filter: none;
    }

    body.firsts-call-page .firsts-call-mobile-bar .burger {
        width: 44px;
        height: 44px;
        border: none;
        box-sizing: border-box;
        border-radius: 50%;
        background: #ffffff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        flex: 0 0 auto;
        overflow: hidden;
    }

    .fc-burger-lines {
        position: relative;
        width: 18px;
        height: 14px;
        display: block;
        flex-shrink: 0;
    }

    .fc-burger-lines::before,
    .fc-burger-lines::after {
        content: "";
        position: absolute;
        left: 0;
        width: 18px;
        height: 2px;
        background: #d90912;
        border-radius: 2px;
        transition: transform 0.18s ease, top 0.18s ease;
    }

    .fc-burger-lines::before { top: 3px; }
    .fc-burger-lines::after  { top: 9px; }

    .burger.active .fc-burger-lines::before {
        top: 7px;
        transform: rotate(45deg);
    }

    .burger.active .fc-burger-lines::after {
        top: 7px;
        transform: rotate(-45deg);
    }

    body.firsts-call-page .firsts-call-hero {
        margin-top: 0;
        padding-top: 110px;
    }

    /* Документы: отступ под липкую шапку как на firsts-call */
    body.docs-page.firsts-call-page .firsts-call-mobile-bar + .round-container {
        margin-top: 80px;
    }

    body.contacts-page.firsts-call-page .firsts-call-mobile-bar + .round-container {
        margin-top: 80px;
    }

    /* Card 2: stack on mobile */
    .home-card2-top {
        flex-direction: column;
    }

    .home-card2-left,
    .home-card2-right {
        width: 100%;
    }

    .home-card2-left {
        padding: 20px;
    }

    .home-card2-right {
        padding: 0 20px 20px;
        box-sizing: border-box;
    }

    .home-card2-right img {
        width: 100%;
        height: auto;
        max-height: 320px;
    }

    .home-card2-dates {
        margin-top: 20px;
        font-size: 16px;
    }

    .home-card2-title {
        font-size: 28px;
    }

    .home-card2-desc {
        font-size: 14px;
    }

    .home-card2-btns {
        gap: 12px;
        justify-content: center;
    }

    .home-card2-btn {
        justify-content: center;
        white-space: normal;
        text-align: center;
    }

    .home-card2-subprojects {
        margin: 0 20px 20px;
        padding: 16px;
    }

    .home-card2-sub-title {
        font-size: 18px;
    }

    .home-card2-sub-cards {
        grid-template-columns: 1fr;
    }

    .home-card2-sub-card {
        height: auto;
        padding: 12px;
        gap: 12px;
    }

    .home-card2-sub-icon {
        width: 54px;
        height: 54px;
        padding: 10px;
    }

    .home-card2-sub-name {
        font-size: 15px;
    }

    .home-card2-sub-type {
        font-size: 13px;
    }

    /* Card 3 */
    .home-card--purple {
        padding: 20px 16px 40px;
        align-items: center;
    }

    .home-card3-icon {
        margin-top: 20px;
        max-width: 100%;
        height: auto;
        display: block;
        margin-left: auto;
        margin-right: auto;
    }

    .home-card3-dates {
        margin-top: 20px;
        font-size: 16px;
        text-align: center;
    }

    .home-card3-title-img {
        width: 260px;
        max-width: 100%;
    }

    .home-card3-desc {
        font-size: 14px;
        text-align: center;
        max-width: 100%;
    }

    .home-card3-btns {
        width: 100%;
        flex-wrap: wrap;
        justify-content: center;
    }

    .nav-projects-dropdown {
        display: none;
    }
}

@media screen and (max-width: 1720px) {
    .home-card-header .profile a.login-combined span,
    header .profile a.login-combined span {
        display: none;
    }
    .home-card-header .profile a.login-combined,
    header .profile a.login-combined {
        gap: 0;
    }
}

@media screen and (max-width: 1370px) {
    /* Collapse 6 nav cards into Подпроекты dropdown */
    .home-card-header .menu .nav-card-wrap,
    header .menu .nav-card-wrap {
        display: none;
    }

    .pilots-hero-text {
        max-width: 50vw;
    }

    .nav-projects-dropdown {
        display: flex;
        align-items: flex-start;
    }

    /* Restore login button text (was hidden at ≤1700px to save space, now menu is compact) */
    .home-card-header .profile a.login-combined span,
    header .profile a.login-combined span {
        display: inline;
    }

    .home-card-header .profile a.login-combined,
    header .profile a.login-combined {
        gap: 12px;
    }
}

@media screen and (max-width: 900px) {
    header .menu,
    header .nav-projects-dropdown {
        display: none !important;
    }

    header .burger {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
    }
}

@media screen and (max-width: 750px) {
    .home-card-header .profile a.login-combined span,
    header .profile a.login-combined span {
        display: none;
    }

    .home-card-header .profile a.login-combined,
    header .profile a.login-combined {
        gap: 0;
    }
}

@media screen and (max-width: 500px) {
    .home-card-header .profile a.login-combined {
        padding: 6px 8px;
    }

    .home-card--red {
        padding: 14px 16px 28px;
    }

    .home-hero-title {
        font-size: 20px;
    }

    .home-card2-left {
        padding: 16px;
    }

    .home-card2-right {
        padding: 0 16px 16px;
    }

    .home-card2-subprojects {
        margin: 0 16px 16px;
    }

    .home-card--purple {
        padding: 16px 16px 32px;
        align-items: center;
    }
}

body.home-page .home-cards {
    padding-top: 0 !important;
}

@media screen and (max-width: 1024px) {
    footer a.enter {
        display: none;
    }

    body.home-page footer .social {
        margin-left: 0;
        width: 100%;
        justify-content: center;
    }
}

@media screen and (max-width: 700px) {
    footer .footer--links > a:last-child {
        text-align: center;
    }

    .footer-info {
        text-align: center;
    }

    .footer-info-address {
        margin-left: 0;
        text-align: center;
    }
}

@media screen and (max-width: 1000px) {
    /* Flatten left column so we can reorder trophy above dates */
    .home-card2-left {
        display: contents;
    }

    .home-card2-logo  { order: 1; width: 100%; padding: 20px 20px 0; box-sizing: border-box; }
    .home-card2-right { order: 2; }
    .home-card2-dates { order: 3; width: 100%; padding: 0 20px; margin-top: 16px; box-sizing: border-box; }
    .home-card2-title { order: 4; width: 100%; padding: 0 20px; margin-top: 16px; box-sizing: border-box; }
    .home-card2-desc  { order: 5; width: 100%; padding: 0 20px; margin-top: 10px; box-sizing: border-box; }
    .home-card2-btns  {
        order: 6;
        width: 100%;
        padding: 0 20px 20px;
        margin-top: 20px;
        justify-content: center;
        box-sizing: border-box;
    }
}

@media screen and (max-width: 640px) {
    .home-card--red {
        min-height: 600px !important;
    }

    .home-card-hero {
        margin-top: 30px !important;
    }

    .home-hero-text {
        margin-top: 12px;
    }

    .home-hero-btn {
        margin-top: 12px;
    }


}

@media screen and (max-width: 480px) {
    .home-card--red {
        min-height: 600px !important;
    }

    .home-card-hero {
        margin-top: 30px !important;
    }

    .home-hero-text {
        margin-top: 10px;
    }

    .home-hero-btn {
        margin-top: 10px;
    }

}

/* ---- End home page redesign ---- */

/* Главная: превью календаря «Вызов Первых» (карточка с синим градиентом) */
.home-firsts-calendar {
    margin: 0 40px 28px;
    padding: 24px 28px 20px;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.home-firsts-calendar__title {
    margin: 0 0 6px;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 22px;
    line-height: 1.2;
    color: #ffffff;
}

.home-firsts-calendar__subtitle {
    margin: 0 0 18px;
    font-size: 15px;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.85);
}

.home-firsts-calendar .firsts-call-s5-cards {
    margin-top: 0;
}

.home-firsts-calendar .firsts-call-s5-card {
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.home-firsts-calendar__footer {
    margin-top: 16px;
    text-align: right;
}

.home-firsts-calendar__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    font-weight: 600;
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.home-firsts-calendar__link:hover {
    color: rgba(255, 255, 255, 0.9);
}

@media (max-width: 1024px) {
    html {
        overflow-x: hidden;
    }

    .home-firsts-calendar {
        margin: 0 20px 20px;
        padding: 18px 16px 14px;
    }

    .home-firsts-calendar__title {
        font-size: 18px;
    }
}

@media (max-width: 600px) {
    .home-firsts-calendar {
        margin: 0 16px 16px;
        padding: 14px 12px 12px;
    }
}

/* ---- Firsts Call page ---- */
.firsts-call-mobile-bar {
    display: none;
}

.firsts-call-hero {
    background-image: url(/public/img/bg_section_1.png);
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    position: relative;
    z-index: 0;
    margin-top: -150px;
    padding-top: 150px;
    padding-bottom: 100px;
    padding-left: 10%;
    padding-right: 10%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.firsts-call-logo {
    height: 200px;
    width: auto;
    display: block;
    margin-top: 80px;
}

.firsts-call-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 40px;
    background: #d90912;
    color: white;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 18px;
    padding: 19px 60px;
    border-radius: 30px;
    text-decoration: none;
    text-transform: none;
    white-space: nowrap;
}

.firsts-call-btn img {
    height: 18px;
    width: auto;
}

.firsts-call-cards {
    margin-top: 80px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.firsts-call-card {
    width: 250px;
    flex-shrink: 0;
    background-image: url(/public/img/section_card_1.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    border-radius: 16px;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    text-decoration: none;
}

.firsts-call-card-icon {
    width: 70px;
    height: 70px;
    min-width: 70px;
    background: #29abe2;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 13px;
    box-sizing: border-box;
}

.firsts-call-card-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.firsts-call-card-title {
    color: white;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 16px;
    margin: 20px 0 0;
    text-align: left;
}

.firsts-call-card-subtitle {
    color: rgba(255, 255, 255, 0.8);
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 400;
    font-size: 14px;
    margin: 4px 0 0;
    text-align: left;
}

.firsts-call-intro {
    width: 750px;
    max-width: 100%;
    margin: 40px 0 0;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 150%;
    color: rgba(255, 255, 255, 0.8);
    text-align: center;
}
/* ---- Pilots page: full header (style.css not loaded in drone layout, scoped to pilots-page only) ---- */
body.pilots-page header {
    display: block;
    position: relative;
    z-index: 300;
    margin: 1% 10%;
    overflow: visible;
    height: auto;
    padding: 0;
    background-image: url('/public/img/section_header.svg');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-color: transparent;
    border-radius: 20px;
    box-sizing: border-box;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    color: white;
}

body.pilots-page header > div.container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 20px 40px;
    gap: 0.5em;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

body.pilots-page .header-left-side {
    display: flex;
    flex-direction: row;
    gap: 1em;
    align-items: center;
    align-self: flex-start;
}

body.pilots-page header .logo {
    height: 5.25em;
    width: 40px;
}

body.pilots-page header .logo img {
    height: 100%;
    width: 100%;
    object-fit: contain;
}

body.pilots-page header .menu {
    flex: 1;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;
    margin-left: 30px;
    font-size: 1em;
    text-transform: none;
    letter-spacing: normal;
    font-family: "Pragmatica Extended", sans-serif;
}

@media screen and (min-width: 1371px) {
    body.pilots-page header .menu .nav-card-wrap {
        display: flex;
        align-items: flex-start;
        width: fit-content;
    }
}

body.pilots-page .nav-card {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    max-width: 102px;
    padding: 10px 14px;
    gap: 3px;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border 0.1s linear, box-shadow 0.1s linear;
    text-transform: none;
    line-height: 1.2;
    font-size: 1em;
    color: white;
}

body.pilots-page .nav-card:hover {
    border: 2px solid white;
    box-shadow: 0px 0px 8px 0px rgba(255, 255, 255, 0.507);
}

body.pilots-page .nav-subtitle {
    color: rgba(255, 255, 255, 0.6);
    font-size: 12px;
    font-weight: 400;
    white-space: normal;
    line-height: 1.2;
}

body.pilots-page header .menu .nav-card a {
    padding: 0;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0;
    background: none;
    margin-bottom: 0;
    font-size: 14px;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    white-space: normal;
    line-height: 1.2;
    color: white;
    text-decoration: none;
    text-transform: none;
    display: block;
}

body.pilots-page header .profile {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    align-self: flex-start;
}

body.pilots-page header .profile a:not(.profile-img) {
    color: white;
    text-decoration: none;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    border-radius: 2em;
    border: 2px solid white;
    padding: 1em 2em;
    transition: all 0.25s ease-in-out;
    white-space: nowrap;
}

body.pilots-page header .profile a.login-combined {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    background: white;
    color: #D90912;
    font-size: 16px;
    padding: 8px 12px;
    border: none;
    border-radius: 20px;
    white-space: nowrap;
    text-transform: none;
}

body.pilots-page header .profile a.login-combined img {
    height: 20px;
    width: auto;
}

body.pilots-page header .profile a.profile-img img {
    height: 4.25em;
    width: auto;
}

body.pilots-page header .burger {
    display: none;
}

body.pilots-page header .mobile-menu {
    display: none;
}


@media screen and (max-width: 1300px) {
    body.pilots-page header { font-size: 0.9em; }
}
@media screen and (max-width: 1200px) {
    body.pilots-page header { font-size: 0.8em; }
}
@media screen and (max-width: 1050px) {
    body.pilots-page header { font-size: 0.7em; }
}

/* Pilots hero — mirrors .firsts-call-hero with pilots background */
.pilots-hero {
    background-image: url(/public/img/pilots_section_1.png);
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    position: relative;
    z-index: 0;
    margin-top: -180px;
    padding-top: 180px;
    padding-bottom: 100px;
    padding-left: 10%;
    padding-right: 10%;
    box-sizing: border-box;
    min-height: 1000px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.pilots-hero-logo {
    width: 30vw;
    height: auto;
    display: block;
    margin-top: 110px;
}

.pilots-hero-text {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 30px;
    text-align: center;
}

@media screen and (min-width: 1371px) {
    .pilots-hero-text {
        max-width: 33vw;
    }
}

.pilots-hero-title {
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 30px;
    color: white;
    margin: 0;
    line-height: 1.2;
}

.pilots-hero-subtitle {
    font-family: "Pragmatica", sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 150%;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
}

.pilots-hero .firsts-call-btn {
    background: #AE45F2;
}

.pilots-reg-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 40px;
}

.pilots-reg-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: 'Pragmatica Extended', sans-serif;
    font-weight: 700;
    font-size: 18px;
    padding: 19px 60px;
    border-radius: 30px;
    border: none;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: opacity 0.2s, background 0.2s;
}

.pilots-reg-btn img {
    height: 18px;
    width: auto;
}

.pilots-reg-btn--active {
    background: #AE45F2;
    color: #fff;
}

.pilots-reg-btn--active:hover {
    opacity: 0.88;
}

.pilots-reg-btn--disabled {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    cursor: default;
}

.pilots-reg-age-warning {
    margin-top: 10px;
    color: rgba(255, 255, 255, 0.8);
    font-family: 'Pragmatica', sans-serif;
    font-size: 16px;
    text-align: center;
}

.firsts-call-section2 {
    position: relative;
    z-index: 1;
    margin-top: -20px;
    border-radius: 30px 30px 0 0;
    background-color: #1f315d;
    background-image: url(/public/img/site_background.svg);
    background-size: 100% auto;
    background-position: top center;
    background-repeat: no-repeat;
    padding: 120px 5%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.firsts-call-section-heading {
    margin: 16px 0 0;
    text-align: center;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 40px;
    line-height: 1.2;
}

.firsts-call-section-heading--white {
    color: white;
}

.firsts-call-section-heading--cyan {
    color: #22bbe9;
}

.firsts-call-section-desc {
    margin: 16px 0 0 0 !important;
    padding: 0;
    text-align: center;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 400;
    font-size: 18px;
    color: rgba(255, 255, 255, 0.6);
}

.firsts-call-section-label {
    color: #22bbe9;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 500;
    font-size: 16px;
    text-transform: uppercase;
    text-align: center;
    margin: 0;
    letter-spacing: 0.05em;
}

.firsts-call-age-cards {
    margin-top: 80px;
    margin-bottom: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    background-size: 100% 99%;
}

.firsts-call-age-card {
    width: 424px;
    flex-shrink: 0;
    background-image: url(/public/img/section_card_2.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    border-radius: 16px;
    padding: 30px;
    box-sizing: border-box;
}

.firsts-call-age-card-top {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
}

.firsts-call-age-card-icon {
    width: 90px;
    height: 90px;
    min-width: 90px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

.firsts-call-age-card-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.firsts-call-age-badge {
    background: #22bbe9;
    color: white;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 18px;
    padding: 6px 18px;
    border-radius: 100px;
    white-space: nowrap;
}

.firsts-call-age-card-title {
    color: white;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 20px;
    margin: 25px 0 0;
}

.firsts-call-age-card-desc {
    color: rgba(255, 255, 255, 0.7);
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    margin: 12px 0 0;
}

.firsts-call-section3 {
    position: relative;
    z-index: 2;
    margin-top: -20px;
    border-radius: 30px 30px 0 0;
    background-image: url(/public/img/bg_section_2.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    padding: 120px 5%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.firsts-call-roadmap-cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-top: 60px;
    max-width: 1310px;
}

.firsts-call-roadmap-card {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 645px;
    flex-shrink: 0;
    background-image: url(/public/img/section_card_3.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    padding: 30px;
    box-sizing: border-box;
}

.firsts-call-roadmap-card-icon {
    width: 130px;
    height: 130px;
    min-width: 130px;
    border-radius: 10px;
    background-color: #22bbe9;
    padding: 20px;
    box-sizing: border-box;
}

.firsts-call-roadmap-card-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.firsts-call-roadmap-card-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    margin-left: 20px;
}

.firsts-call-roadmap-card-title {
    color: #ffffff;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.2;
    margin: 0 0 12px;
}

.firsts-call-roadmap-card-tags {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
}

.firsts-call-roadmap-tag {
    display: inline-block;
    background-color: #1671b5;
    color: #ffffff;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 18px;
    border-radius: 100px;
    padding: 6px 12px;
}

.firsts-call-roadmap-tag--status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background-color: #f4f4f4;
}

.firsts-call-roadmap-tag--open {
    color: #d90912;
}

.firsts-call-roadmap-tag--closed {
    color: #1f315d;
}

.firsts-call-section4 {
    position: relative;
    z-index: 3;
    margin-top: -20px;
    border-radius: 30px 30px 0 0;
    background-color: #1f315d;
    background-image: url(/public/img/site_background.svg);
    background-size: 100% auto;
    background-position: top center;
    background-repeat: no-repeat;
    padding: 120px 5%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.firsts-call-s4-pills {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    margin-top: 60px;
}

.firsts-call-s4-pill {
    background: #36466E;
    border: 1.5px solid #36466E;
    color: rgba(255, 255, 255, 0.7);
    border-radius: 100px;
    padding: 8px 20px;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 14px;
    font-weight: 400;
    cursor: pointer;
    transition:
        border-color 0.2s,
        color 0.2s,
        background 0.2s;
}

.firsts-call-s4-pill:hover {
    border-color: rgba(34, 187, 233, 0.6);
    color: rgba(255, 255, 255, 0.9);
    background: rgba(34, 187, 233, 0.12);
}

.firsts-call-s4-pill--active {
    background: #22bbe9;
    border-color: #22bbe9;
    color: #fff;
}

.firsts-call-s4-pill--active:hover {
    background: #22bbe9;
    border-color: #22bbe9;
    color: #fff;
}

.firsts-call-s4-card-img--svg img,
.firsts-call-s4-card-img img {
    filter: brightness(0) invert(1);
}

.firsts-call-s4-empty {
    color: rgba(255, 255, 255, 0.5);
    font-size: 14px;
    padding: 16px 0;
}

.firsts-call-s4-team-note {
    margin: 30px 0 0;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 400;
    font-size: 18px;
    color: white;
    text-align: center;
}

.firsts-call-s4-cards {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-top: 30px;
    max-width: calc(424px * 3 + 20px * 2);
}

.firsts-call-s4-card {
    width: 424px;
    flex-shrink: 0;
    background-image: url(/public/img/backgroundDisp.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.firsts-call-s4-card-img {
    width: 137px;
    height: 137px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.firsts-call-s4-card-img img {
    width: 137px;
    height: 137px;
    object-fit: contain;
}

.firsts-call-s4-card-title {
    margin: 10px 0 0;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 500;
    font-size: 20px;
    color: white;
    text-align: center;
}

.firsts-call-s4-all-btn,
.firsts-call-s6-all-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 20px 30px;
    background: transparent;
    border: 1px solid #22bbe9;
    border-radius: 30px;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #22bbe9;
    text-decoration: none;
    transition: background 0.2s;
}

.firsts-call-s4-all-btn:hover,
.firsts-call-s6-all-btn:hover {
    background: rgba(34, 187, 233, 0.1);
}

.firsts-call-s4-all-btn {
    margin-top: 40px;
}

.firsts-call-s4-all-btn-arrow {
    flex-shrink: 0;
}

.firsts-call-section-heading--navy {
    color: #1f315d;
}

.firsts-call-section5 {
    position: relative;
    z-index: 4;
    margin-top: -20px;
    border-radius: 30px 30px 0 0;
    background-color: #f4f4f4;
    background-image: url(/public/img/bg_section_3.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    padding: 120px 5%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.firsts-call-s5-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-top: 55px;
}

.firsts-call-s5-filter-select {
    width: 424px;
    height: 56px;
    background-color: #ffffff;
    border: 1.5px solid rgba(31, 49, 93, 0.2);
    border-radius: 30px;
    padding: 0 48px 0 20px;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 400;
    font-size: 15px;
    color: #1f315d;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='M1 1l7 7 7-7' stroke='%2322BBE9' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 20px center;
    cursor: pointer;
    box-sizing: border-box;
}

.firsts-call-s5-filter-select:focus {
    outline: none;
    border-color: #22bbe9;
}

.firsts-call-s5-filter-select.is-placeholder {
    color: rgba(31, 49, 93, 0.5);
}

.firsts-call-s5-empty {
    color: #1f315d;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 16px;
    margin-top: 40px;
    text-align: center;
    opacity: 0.6;
}

.firsts-call-s5-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(520px, 1fr));
    gap: 20px;
    width: 100%;
    max-width: 1310px;
    margin-top: 40px;
}

@media screen and (max-width: 1024px) {
    .firsts-call-s5-cards {
        grid-template-columns: 1fr;
    }
}

.firsts-call-s5-card {
    height: 467px;
    background: #ffffff;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.firsts-call-s5-card-header {
    background: linear-gradient(to right, #22bbe9, #1f315d);
    padding: 25px;
    flex-shrink: 0;
}

.firsts-call-s5-card-header-top {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
}

.firsts-call-s5-card-title,
.firsts-call-s5-card-dates {
    color: #ffffff;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.2;
}

.firsts-call-s5-card-pills {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.firsts-call-s5-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 20px;
    padding: 9px 12px;
    color: #ffffff;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 1;
}

.firsts-call-s5-pill--blue {
    background-color: #1671b5;
}

.firsts-call-s5-pill--cyan {
    background-color: #22bbe9;
}

.firsts-call-s5-pill-icon {
    width: 20px;
    height: 20px;
    object-fit: contain;
    filter: brightness(0) invert(1);
    flex-shrink: 0;
}

.firsts-call-s5-card-content {
    padding: 25px;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.firsts-call-s5-card-info-row {
    line-height: 1.5;
}

.firsts-call-s5-info-icon {
    display: inline;
    vertical-align: middle;
    width: 18px;
    height: 18px;
}

.firsts-call-s5-addr-icon {
    margin-left: 12px;
}

.firsts-call-s5-info-text {
    display: inline;
    vertical-align: middle;
    color: #000000;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 400;
    font-size: 15px;
    margin-left: 4px;
}

.firsts-call-s5-divider {
    height: 1px;
    background-color: rgba(31, 49, 93, 0.1);
    margin-top: 20px;
    flex-shrink: 0;
}

.firsts-call-s5-disciplines-title {
    color: #000000;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 500;
    font-size: 18px;
    margin: 20px 0 0;
    flex-shrink: 0;
}

.firsts-call-s5-disciplines {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
    align-content: flex-start;
}

.firsts-call-s5-discipline {
    background-color: #f1f5f9;
    border-radius: 10px;
    padding: 12px 16px;
}

.firsts-call-s5-discipline-name {
    color: #000000;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 400;
    font-size: 15px;
    margin: 0;
}

.firsts-call-s5-discipline-date {
    color: #22bbe9;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 500;
    font-size: 15px;
    margin: 12px 0 0;
}

.firsts-call-s5-pager-wrap {
    margin-top: 37px;
    width: 100%;
}

.firsts-call-s5-pager-wrap #pager {
    margin: 0 !important;
}

.firsts-call-page .firsts-call-s5-pager-wrap #pager.controls-buttons-white {
    gap: 2.6em;
}

.firsts-call-page .firsts-call-s5-pager-wrap #pager.controls-buttons-white > a.arrow {
    width: 44px;
    height: 44px;
    border: 2px solid #22bbe9;
    color: #22bbe9;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    box-sizing: border-box;
}

.firsts-call-page .firsts-call-s5-pager-wrap #pager.controls-buttons-white > a.arrow.disabled {
    opacity: 0.45 !important;
    border-color: rgba(34, 187, 233, 0.45);
    color: rgba(34, 187, 233, 0.45);
}

.firsts-call-page .firsts-call-s5-pager-wrap #pager.controls-buttons-white > a.arrow > .arrow-icon {
    height: 17px;
    width: 17px;
}

.firsts-call-page .firsts-call-s5-pager-wrap #pager.controls-buttons-white > div {
    gap: 1.45em;
}

.firsts-call-page .firsts-call-s5-pager-wrap #pager.controls-buttons-white > div > a {
    width: 44px;
    height: 44px;
    border-width: 2px;
    border-color: #22bbe9;
    background: transparent;
}

.firsts-call-page .firsts-call-s5-pager-wrap #pager.controls-buttons-white > div > a > span {
    color: #22bbe9;
    font-size: 16px;
    font-weight: 700;
    text-transform: none;
    background: none;
    -webkit-text-fill-color: currentColor;
}

.firsts-call-page .firsts-call-s5-pager-wrap #pager.controls-buttons-white > div > a.active {
    background: #22bbe9;
    border-color: #22bbe9;
}

.firsts-call-page .firsts-call-s5-pager-wrap #pager.controls-buttons-white > div > a.active > span {
    color: #ffffff;
}

.firsts-call-section6 {
    position: relative;
    z-index: 5;
    margin-top: -20px;
    border-radius: 30px 30px 0 0;
    background-color: #1f315d;
    background-image: url(/public/img/site_background.svg);
    background-size: 100% auto;
    background-position: top center;
    background-repeat: no-repeat;
    padding: 120px 5%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
}

.firsts-call-section6-trophy {
    position: absolute;
    bottom: 50px;
    right: 60px;
    max-width: 450px;
    pointer-events: none;
    z-index: 0;
}

@media screen and (max-width: 900px) {
    .firsts-call-section6-trophy {
        max-width: 300px;
    }
}

.firsts-call-s6-rating {
    position: relative;
    z-index: 1;
    margin-top: 50px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    padding-left: 5vw;
    padding-right: 5vw;
}

.firsts-call-s6-tabs-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 20px;
}

.firsts-call-page .firsts-call-s6-rating .rating-tabs {
    display: flex;
    align-items: center;
    gap: 0.6em;
    flex-wrap: wrap;
}

.firsts-call-page .firsts-call-s6-rating .rating-tabs-disciplines {
    gap: 0.8em;
}

.firsts-call-page .firsts-call-s6-rating .rating-tabs-stage {
    gap: 0.2em;
    padding: 0.25em;
    border-radius: 999px;
    background: rgba(126, 141, 186, 0.35);
    flex-wrap: wrap;
    justify-content: center;
}

.firsts-call-page .firsts-call-s6-rating .rating-tabs-disciplines .rating-tab {
    border: none;
    border-radius: 999px;
    background: rgba(95, 114, 166, 0.45);
    color: rgba(255, 255, 255, 0.8);
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 0.76em;
    font-weight: 700;
    line-height: 1;
    min-width: 11.2em;
    min-height: 2.95em;
    padding: 0.9em 1.5em;
    cursor: pointer;
    transition: all 0.2s ease;
}

.firsts-call-page .firsts-call-s6-rating .rating-tabs-disciplines .rating-tab:hover {
    background: rgba(111, 130, 183, 0.62);
    color: #fff;
}

.firsts-call-page .firsts-call-s6-rating .rating-tabs-disciplines .rating-tab.active {
    color: #fff;
    background: linear-gradient(60deg, #1eb8e5 0%, #2ad4f3 100%);
    box-shadow: 0 2px 8px rgba(30, 184, 229, 0.33);
}

.firsts-call-page .firsts-call-s6-rating .rating-tabs-stage .rating-tab {
    border: none;
    background: transparent;
    color: rgba(255, 255, 255, 0.78);
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 0.78em;
    font-weight: 700;
    min-width: 10.8em;
    padding: 0.9em 1.55em;
    border-radius: 999px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.firsts-call-page .firsts-call-s6-rating .rating-tabs-stage .rating-tab:hover {
    background: rgba(255, 255, 255, 0.08);
}

.firsts-call-page .firsts-call-s6-rating .rating-tabs-stage .rating-tab.active {
    color: #ffffff;
    background: #22bbe9;
    box-shadow: 0 1px 4px rgba(34, 187, 233, 0.4);
}

.firsts-call-s6-filters {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 12px;
    width: 100%;
    margin-bottom: 20px;
    background: transparent;
    border: none;
    padding: 0;
}
.firsts-call-s6-filters.firsts-call-s6-filters--with-nosology {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.firsts-call-page .firsts-call-s6-filter-input,
.firsts-call-page .firsts-call-s6-filter-select {
    width: 100%;
    height: 48px;
    background-color: #3b5591;
    border: 1px solid #22bbe9;
    border-radius: 30px;
    padding: 0 20px;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #e9f4ff;
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.2s;
}

.firsts-call-page .firsts-call-s6-filter-input {
    background-image: url("/public/img/search_magnifier.svg");
    background-repeat: no-repeat;
    background-position: center right 0.95em;
    background-size: 0.85em;
    color: #8f98ae;
}

.firsts-call-page .firsts-call-s6-filter-input::placeholder {
    color: #c9def0;
    font-size: 1em;
    opacity: 1;
}

.firsts-call-page .firsts-call-s6-filter-select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='M1 1l7 7 7-7' stroke='%2322BBE9' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px;
    cursor: pointer;
}

.firsts-call-page .firsts-call-s6-filter-select option {
    color: #1f315d;
    background: #fff;
}

.firsts-call-page .firsts-call-s6-filter-select:disabled {
    color: #9bb3c8;
    background-color: #344b80;
    cursor: not-allowed;
}

.firsts-call-page .firsts-call-s6-filter-input:focus,
.firsts-call-page .firsts-call-s6-filter-select:focus {
    border-color: #22bbe9;
    box-shadow: 0 0 0 2px rgba(34, 187, 233, 0.22);
}

.firsts-call-s6-table-wrap {
    width: 100%;
    margin-top: 0;
}

.firsts-call-page .firsts-call-s6-rating .teams-rating-page-table-scroller {
    background: linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1)) #1f315d;
    border-radius: 15px;
    overflow-x: auto;
    overflow-y: hidden;
    box-shadow: none;
    margin-top: 0;
}

/* teams/rating standalone page — allow horizontal scroll instead of clipping */
.teams-rating-page-table-scroller {
    overflow-x: auto;
}

@media screen and (min-width: 1371px) {
    .table__container--rating .teams-rating-page-table-scroller,
    .table__container--rating__min .teams-rating-page-table-scroller {
        max-width: 80vw !important;
    }

    .teams-rating-page .page-title-container > .container {
        max-width: 80vw;
    }
}

.firsts-call-page .firsts-call-s6-rating .rating-table {
    border: none !important;
    background-color: transparent !important;
}

.firsts-call-page .firsts-call-s6-rating .rating-table td,
.firsts-call-page .firsts-call-s6-rating .rating-table th {
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    vertical-align: middle;
}

.firsts-call-page .firsts-call-s6-rating .teams-rating-table td,
.firsts-call-page .firsts-call-s6-rating .teams-rating-table th {
    height: 64px;
    background: transparent !important;
}

.firsts-call-page .firsts-call-s6-rating .teams-rating-table tr:first-child th {
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.firsts-call-page .firsts-call-s6-rating .teams-rating-table tr:last-child td {
    border-bottom: none !important;
}

.firsts-call-page .firsts-call-s6-rating .teams-rating-table tr[data-href]:hover td {
    background-color: rgba(255, 255, 255, 0.08) !important;
}

.firsts-call-page .firsts-call-s6-rating .rating-table th {
    color: rgba(255, 255, 255, 0.5);
    text-transform: none;
    font-family: Pragmatica;
    font-weight: 400;
    font-size: 16px;
}

.firsts-call-page .firsts-call-s6-rating .rating-table th > span {
    background: none;
    -webkit-background-clip: unset;
    background-clip: unset;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.5);
    font-family: Pragmatica;
    font-weight: 400;
    font-size: 16px;
}

.firsts-call-page .firsts-call-s6-rating .rating-table td span,
.firsts-call-page .firsts-call-s6-rating .rating-table td a {
    color: #fff;
}

.firsts-call-page .firsts-call-s6-rating .rating-table--points {
    color: #22bbe9 !important;
}

.firsts-call-page .firsts-call-s6-rating .hoverable-tooltip .expanding-table--header--tags--expand,
.firsts-call-page .firsts-call-s6-rating .hoverable-tooltip .expanding-table--header--details-button--content {
    display: none !important;
}

.firsts-call-s6-all-btn {
    margin-top: 50px;
}

.firsts-call-section7 {
    position: relative;
    z-index: 6;
    margin-top: -20px;
    border-radius: 30px 30px 0 0;
    background-color: #f4f4f4;
    padding: 120px 5%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
}

/* Section 7 — switches */
.firsts-call-s7-switches {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 60px;
    width: 100%;
}

.firsts-call-s7-switch {
    display: flex;
    align-items: center;
    width: 320px;
    min-height: 100px;
    padding: 14px;
    margin: 0;
    border: none;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: transparent;
    background-image: url("/public/img/subproject.svg");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    cursor: pointer;
    gap: 20px;
    box-sizing: border-box;
}

.firsts-call-s7-switch:focus,
.firsts-call-s7-switch:focus-visible {
    outline: none;
}

.firsts-call-s7-switch.active {
    background-image: url("/public/img/subproject_active_switch.svg");
}

.firsts-call-s7-switch-box {
    flex-shrink: 0;
    width: 70px;
    height: 70px;
    border-radius: 10px;
    padding: 13px;
    box-sizing: border-box;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
}

.firsts-call-s7-switch.active .firsts-call-s7-switch-box {
    background: #ffffff;
}

.firsts-call-s7-switch-box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.firsts-call-s7-switch-label {
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.2;
    color: #22bbe9;
    white-space: nowrap;
}

.firsts-call-s7-switch.active .firsts-call-s7-switch-label {
    color: #ffffff;
}

/* Section 7 — content panels */
.firsts-call-s7-panels {
    margin-top: 30px;
    width: 100%;
    max-width: calc(4 * 320px + 3 * 10px);
}

.firsts-call-s7-panel {
    display: none;
    width: 100%;
    background-image: url("/public/img/subproject_active.svg");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    padding: 60px;
    box-sizing: border-box;
    flex-direction: row;
    align-items: flex-start;
    gap: 60px;
}

.firsts-call-s7-panel.active {
    display: flex;
}

.firsts-call-s7-panel-img {
    flex-shrink: 0;
    width: 290px;
    height: auto;
}

.firsts-call-s7-panel-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}

.firsts-call-s7-panel-title {
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 30px;
    color: #ffffff;
    margin: 0;
    text-align: left;
}

.firsts-call-s7-panel-pills {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

.firsts-call-s7-pill {
    background-color: #1671b5;
    border-radius: 100px;
    padding: 6px 12px;
    font-family: "Pragmatica", sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #ffffff;
    white-space: normal;
}

.firsts-call-s7-panel-desc {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.firsts-call-s7-panel-desc p {
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #ffffff;
    margin: 0;
    text-align: left;
    line-height: 1.6;
}

.firsts-call-s7-panel-footer {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
}

.firsts-call-s7-panel-footer .firsts-call-btn {
    margin-top: 0;
}

@media screen and (max-width: 800px) {
    .firsts-call-s7-panel.active {
        background-image: none !important;
        background: linear-gradient(85.31deg, #22bbe9 0%, #1f315d 100%) !important;
        border-radius: 20px;
        padding: 16px !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .firsts-call-s7-panel-img {
        width: 100%;
        max-width: 260px;
    }

    .firsts-call-s7-panel-body {
        width: 100%;
    }

    .firsts-call-s7-panel-footer {
        width: auto;
    }
}

/* ---- End Firsts Call page ---- */

.docs-page #pager.controls-buttons-white > a.arrow {
    width: 44px;
    height: 44px;
}

.docs-page #pager.controls-buttons-white > a.arrow > .arrow-icon {
    width: 17px;
    height: 17px;
}

.docs-page #pager.controls-buttons-white > div > a {
    width: 44px;
    height: 44px;
}

.docs-page #pager.controls-buttons-white > div > a > span {
    font-family: "Pragmatica", sans-serif;
    font-weight: 500;
    font-size: 16px;
}

.lk-page-subtitle {
    font-family: "Pragmatica", sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: #22bbe9;
    text-transform: uppercase;
    text-align: center;
    margin: 80px 0 0;
}

.lk-page-title {
    font-family: "Pragmatica", sans-serif;
    font-weight: 700;
    font-size: 40px;
    color: #ffffff;
    text-align: center;
    margin: 10px 0 35px !important;
    text-transform: none;
}

.tabs-control {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 10px;
    row-gap: 10px;
    width: 100%;
}

.tabs-control > div {
    background-color: #36466e;
    border-radius: 100px;
    padding: 11.5px 22.5px;
    border: none;
}

.tabs-control > div > span {
    font-family: "Pragmatica", sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #ffffff !important;
    text-transform: none;
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    -webkit-text-fill-color: #ffffff !important;
}

.tabs-control > div.active {
    background-color: #22bbe9;
}

.lk-control .lk-control--logout {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    white-space: nowrap;
    gap: 10px;
    width: fit-content;
    align-self: center;
    margin-top: 0;
    margin-right: 0;
    margin-left: auto;
    background: transparent;
    border: 1px solid #22bbe9;
    border-radius: 100px;
    padding: 10.5px 36.5px;
    font-family: "Pragmatica", sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #22bbe9;
    text-transform: none;
}
.lk-control .lk-control--logout img {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}
#tabs {
    margin-top: 40px;
}
.lk-profile-card {
    position: relative;
    padding: 25px;
}
.lk-profile-card-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: fill;
    pointer-events: none;
}
.lk-profile-card-header {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.lk-profile-card-title {
    font-family: "Pragmatica", sans-serif;
    font-weight: 700;
    font-size: 24px;
    color: #ffffff;
}
.lk-profile-card-source {
    font-family: "Pragmatica", sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #ffffff;
}
.lk-profile-card-source a {
    color: #22bbe9;
    text-decoration: underline;
}
.lk-profile-card-form {
    position: relative;
    margin-top: 20px;
}
.lk-extra-section {
    display: grid;
    grid-template-columns: 1fr auto;
    margin-top: 40px;
}
.lk-extra-section > .lk-profile-card-header--secondary {
    grid-column: 1;
    grid-row: 1;
    margin-top: 0;
    align-self: center;
}
.lk-extra-section > .lk-extra-actions {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
}
.lk-extra-section > .lk-extra-form {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 20px;
}
.lk-profile-card-header--secondary {
    margin-top: 40px;
}
.lk-sports-card {
    padding: 35px;
    display: grid;
    grid-template-areas:
        "header actions"
        "content content";
    grid-template-columns: 1fr auto;
}
.lk-sports-card > .lk-profile-card-header {
    grid-area: header;
    align-self: center;
}
.lk-sports-card > .lk-extra-actions {
    grid-area: actions;
    align-self: center;
}
.lk-sports-card > .lk-sports-content {
    grid-area: content;
}
.lk-sports-edit-controls {
    display: flex;
    align-items: center;
    gap: 10px;
}
.lk-sports-content {
    position: relative;
    margin-top: 20px;
}
.lk-sports-empty {
    color: #ffffff;
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    opacity: 0.6;
}
.lk-sport-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

@media (max-width: 1280px) {
    .lk-sport-list {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 900px) {
    .lk-sport-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 700px) {
    .lk-sport-list {
        display: flex;
        flex-wrap: wrap;
    }
    .lk-sport-card {
        width: 300px;
        flex-shrink: 0;
    }
}

.lk-sport-card {
    display: flex;
    align-items: center;
    min-height: 100px;
    border-radius: 12px;
    background: linear-gradient(to right, #22bbe9, #1f315d);
    padding: 10px;
    cursor: pointer;
    transition: background 0.2s;
}
.lk-sport-card__img {
    height: 80px;
    width: auto;
    flex-shrink: 0;
    filter: brightness(0) invert(1);
    transition: filter 0.2s;
}
.lk-sport-card__name {
    margin-left: 20px;
    font-family: "Pragmatica", sans-serif;
    font-weight: 500;
    font-size: 18px;
    color: #ffffff;
    transition: color 0.2s;
}
.lk-sport-card--unselected {
    background: rgba(255, 255, 255, 0.1);
}
.lk-sport-card--unselected:hover .lk-sport-card__img {
    filter: brightness(0) saturate(100%) invert(63%) sepia(50%) saturate(600%) hue-rotate(159deg) brightness(98%);
}
.lk-sport-card--unselected:hover .lk-sport-card__name {
    color: #22bbe9;
}
.lk-profile-card-edit-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 1px solid #22bbe9;
    border-radius: 100px;
    padding: 14px 20px;
    font-family: "Pragmatica", sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #22bbe9;
    cursor: pointer;
}
.js-extra-cancel-btn,
.js-sports-cancel-btn {
    padding-left: 44px;
    padding-right: 44px;
}
.lk-multi-select {
    position: relative;
    width: 100%;
    min-width: 0;
}

.lk-multi-select-trigger {
    display: flex;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-radius: 20px;
    padding: 12.5px 44px 12.5px 20px;
    font-family: "Pragmatica", sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #fff;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 5L8 11L14 5' stroke='rgba(255,255,255,0.5)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 16px;
    background-position: right 16px center;
    user-select: none;
    box-sizing: border-box;
    width: 100%;
}

.lk-multi-select-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.lk-multi-select-dropdown {
    position: absolute;
    z-index: 1000;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.lk-multi-select-search {
    display: block;
    width: 100%;
    padding: 10px 16px;
    border: none;
    border-bottom: 1px solid #eee;
    font-family: "Pragmatica", sans-serif;
    font-size: 14px;
    color: #222;
    outline: none;
    box-sizing: border-box;
    background: #fff !important;
    max-width: 100% !important;
}

.lk-multi-select-list {
    list-style: none;
    margin: 0;
    padding: 4px 0;
    max-height: 220px;
    overflow-y: auto;
}
.lk-multi-select-list::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 0 12px 12px 0;
}

.lk-multi-select-list li {
    padding: 0;
}

.lk-multi-select-list label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    font-family: "Pragmatica", sans-serif;
    font-size: 14px;
    color: #222;
    cursor: pointer;
}
.lk-multi-select-list label input[type="checkbox"] {
    align-self: center;
}

.lk-multi-select-list label:hover {
    background: #f0f0f0;
}

.lk-multi-select-list input[type="checkbox"] {
    display: block;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin: 0;
    padding: 0;
    accent-color: #22bbe9;
    cursor: pointer;
}

.lk-extra-form--view .lk-multi-select-trigger {
    pointer-events: none;
    opacity: 0.6;
}

.lk-extra-actions {
    display: flex;
    align-items: center;
}

.lk-extra-edit-controls {
    display: flex;
    align-items: center;
    gap: 10px;
    gap: 10px;
}

.lk-extra-form--view .lk-extra-select,
.lk-extra-form--view .lk-extra-input,
.lk-extra-form--view .lk-edu-combobox-btn,
.lk-extra-form--view .lk-cselect-trigger {
    pointer-events: none;
    opacity: 0.6;
}
.lk-extra-form--view .lk-extra-select,
.lk-extra-form--view .lk-extra-input {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lk-extra-form--view .lk-edu-combobox-btn {
    display: none;
}

.lk-extra-form {
    position: relative;
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.lk-extra-row {
    display: flex;
    gap: 20px;
}
.lk-extra-field {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.lk-extra-field > span {
    font-family: "Pragmatica", sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: rgba(255, 255, 255, 0.5);
}
.lk-extra-select,
.lk-extra-input {
    font-family: "Pragmatica", sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.1) !important;
    border: none;
    border-radius: 20px;
    padding: 12.5px 20px;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    max-width: 100% !important;
}
.lk-extra-input::placeholder {
    color: #ffffff;
    font-family: "Pragmatica", sans-serif;
    font-weight: 400;
    opacity: 1;
}
.lk-extra-select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.5'%3E%3Cpath d='M2 5L8 11L14 5' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center right 16px;
    background-size: 16px 16px;
    padding-right: 44px;
}
.lk-extra-select option {
    color: #000000;
    background: #ffffff;
}
.lk-cselect {
    position: relative;
    width: 100%;
}
.lk-cselect .lk-extra-select {
    display: none;
}
.lk-cselect-trigger {
    display: block;
    font-family: "Pragmatica", sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.1);
    border: none;
    border-radius: 20px;
    padding: 12.5px 20px;
    padding-right: 44px;
    width: 100%;
    box-sizing: border-box;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.5'%3E%3Cpath d='M2 5L8 11L14 5' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center right 16px;
    background-size: 16px 16px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    user-select: none;
}
.lk-cselect-dropdown {
    position: absolute;
    z-index: 1000;
    background: #fff;
    border-radius: 12px;
    overflow-y: auto;
    max-height: 220px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}
.lk-cselect-dropdown::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 0 12px 12px 0;
}
.lk-cselect-list {
    list-style: none;
    margin: 0;
    padding: 4px 0;
}
.lk-cselect-list li {
    padding: 8px 16px;
    font-family: "Pragmatica", sans-serif;
    font-size: 14px;
    color: #222;
    cursor: pointer;
}
.lk-cselect-list li:hover {
    background: #f0f0f0;
}
.lk-cselect-list li.lk-cselect-selected {
    color: #22bbe9;
    font-weight: 600;
}
.lk-cselect-list li.lk-cselect-prompt {
    color: #999;
}
.lk-doc-tag-wrap {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.lk-doc-tag-delete {
    width: 36px;
    height: 36px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    opacity: 0.7;
}

.lk-doc-tag-delete:hover {
    opacity: 1;
}

.lk-extra-subtitle {
    font-family: "Pragmatica", sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #ffffff;
    margin: 20px 0 0;
}
.lk-extra-doc-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    min-height: 51px;
    align-content: flex-start;
}
.lk-extra-doc-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 1px solid #22bbe9;
    border-radius: 100px;
    padding: 14px 20px;
    font-family: "Pragmatica", sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #22bbe9;
}

.lk-edu-combobox {
    position: relative;
}

.lk-edu-combobox .lk-extra-input {
    padding-right: 44px;
}

.lk-edu-combobox-btn {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 5L8 11L14 5' stroke='rgba(255,255,255,0.5)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

.lk-edu-addr-suggestions {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 100;
    list-style: none;
    margin: 0;
    padding: 4px 0;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    max-height: 220px;
    overflow-y: auto;
}
.lk-edu-addr-suggestions::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 0 12px 12px 0;
}

.lk-edu-addr-suggestions li {
    padding: 10px 20px;
    font-family: "Pragmatica", sans-serif;
    font-size: 14px;
    color: #222;
    cursor: pointer;
}

.lk-edu-addr-suggestions li:hover {
    background: #f0f0f0;
}

.lk-edu-addr-suggestions li.lk-edu-addr-empty {
    color: #aaa;
    cursor: default;
    font-style: italic;
}

.lk-profile-card-form.lk-profile-info > div > * > span:nth-child(1) {
    font-family: "Pragmatica", sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 0;
}

.lk-profile-card-form.lk-profile-info > div > * > span:not(:nth-child(1)),
.lk-profile-card-form.lk-profile-info > div > * > a span:first-child {
    font-family: "Pragmatica", sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 12.5px 20px;
    margin-bottom: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lk-profile-card-form.lk-profile-info > div > * {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.lk-profile-card-form.lk-profile-info > div > *:last-child {
    margin-bottom: 0;
}

.lk-profile-card-form.lk-profile-info {
    gap: 20px;
}

.lk-info-tooltip {
    position: fixed;
    z-index: 9999;
    background: #1f315d;
    border: 1px solid rgba(34, 187, 233, 0.4);
    border-radius: 12px;
    padding: 10px 16px;
    font-family: "Pragmatica", sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #ffffff;
    white-space: normal;
    word-break: break-word;
    max-width: 320px;
    pointer-events: none;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}
.d-none {
    display: none;
}

.jq-toast-wrap {
    z-index: 10000000 !important;
    width: 300px;
}

.jq-toast-wrap .jq-toast-single {
    font-size: 0.85em;
    border: 1px solid #fff;
}

.close-jq-toast-single {
    top: 5px;
    right: 9px;
    font-size: 24px;
}

.p-t-0 {
    padding-top: 0 !important;
}

.m-b-0 {
    margin-bottom: 0 !important;
}
/* Schedule placeholder */
.lk-schedule-empty-wrap {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

.lk-schedule-empty-card {
    position: relative;
    width: 624px;
    max-width: 100%;
    min-height: 200px;
    padding: 30px 50px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.lk-schedule-empty-card-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    pointer-events: none;
    object-fit: cover;
}

.lk-schedule-empty-icon-box {
    position: relative;
    z-index: 1;
    width: 90px;
    height: 90px;
    border-radius: 12px;
    background: linear-gradient(to bottom, #22bbe9, #1f315d);
    padding: 8px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.lk-schedule-empty-icon-box img {
    width: 74px;
    height: 74px;
}

.lk-schedule-empty-text {
    position: relative;
    z-index: 1;
    margin: 30px 0 0 0;
    color: #ffffff;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 500;
    font-size: 20px;
    text-align: center;
    line-height: 1.4;
}

/* Schedule blocks */
.lk-schedule-blocks {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.lk-schedule-block {
    position: relative;
    width: 100%;
    padding: 35px;
    box-sizing: border-box;
}

.lk-schedule-block-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    pointer-events: none;
    border-radius: inherit;
}

.lk-schedule-block-header {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: auto 1fr auto;
    column-gap: 20px;
    row-gap: 16px;
    align-items: start;
}

.lk-schedule-block-logo      { grid-column: 1; grid-row: 1 / 3; }
.lk-schedule-block-center    { grid-column: 2; grid-row: 1; }
.lk-schedule-block-tags      { grid-column: 3; grid-row: 1 / 3; }
.lk-schedule-block-info-tags { grid-column: 2; grid-row: 2; }

@media screen and (max-width: 1200px) {
    .lk-schedule-block-tags      { grid-row: 1; }
    .lk-schedule-block-info-tags { grid-column: 2 / 4; grid-row: 2; }
}

.lk-schedule-block-logo {
    flex-shrink: 0;
    width: 290px;
    height: 128px;
    border-radius: 12px;
    background: linear-gradient(to bottom, #22bbe9, #1f315d);
    padding: 22px 26px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lk-schedule-block-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.lk-schedule-block-logo-text {
    color: #ffffff;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 28px;
    text-align: center;
    line-height: 1.2;
}

.lk-schedule-block-center {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.lk-schedule-block-header-text {
    margin: 0;
    color: #ffffff;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.3;
}

.lk-schedule-block-info-tags {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
}

.lk-schedule-block-tags {
    flex-shrink: 0;
    width: 200px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

.lk-schedule-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 100px;
    padding: 6px 12px;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    white-space: nowrap;
}

.lk-schedule-tag--address {
    padding: 12px 30px;
    white-space: normal;
    word-break: break-all;
    overflow-wrap: anywhere;
    max-width: 100%;
}

.lk-schedule-tag--status {
    background: #ffffff;
    font-size: 18px;
    color: #d90912;
}

.lk-schedule-tag-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.lk-schedule-tag--date {
    background: #1671b5;
    font-size: 16px;
    color: #ffffff;
}

.lk-schedule-table {
    position: relative;
    z-index: 1;
    margin-top: 20px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 15px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.lk-schedule-table-header,
.lk-schedule-table-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.lk-schedule-table-row:last-child {
    border-bottom: none;
}

.lk-schedule-th {
    padding: 14px 20px;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: rgba(255, 255, 255, 0.5);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lk-schedule-td {
    padding: 16px 20px;
    display: flex;
    align-items: center;
    border-right: none;
    min-width: 0;
}

.lk-schedule-td--datetime {
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #ffffff;
}

.lk-schedule-td--sport {
    gap: 12px;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #ffffff;
    padding-right: 40px;
}

.lk-schedule-td--sport span {
    min-width: 0;
    word-break: break-all;
}

.lk-schedule-sport-icon {
    width: 44px;
    height: 44px;
    object-fit: contain;
    flex-shrink: 0;
    filter: invert(63%) sepia(72%) saturate(435%) hue-rotate(158deg) brightness(95%) contrast(93%);
}

.lk-schedule-td--status {
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #ffffff;
}

.lk-schedule-td--protocol {
    font-family: "Pragmatica Extended", sans-serif;
}

.lk-schedule-td--planned {
    font-weight: 400;
    font-size: 16px;
    color: #ffffff;
}

.lk-schedule-protocol-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: transparent;
    border: 1px solid #22bbe9;
    border-radius: 30px;
    padding: 14px 12px;
    cursor: pointer;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #22bbe9;
}

.lk-schedule-protocol-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

.lk-schedule-table--drone .lk-schedule-table-header,
.lk-schedule-table--drone .lk-schedule-table-row,
.lk-schedule-table--guru .lk-schedule-table-header,
.lk-schedule-table--guru .lk-schedule-table-row {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr) minmax(0, 1fr);
}

.lk-schedule-block--drone .lk-schedule-tag--status-planned {
    color: #ff4d6d;
}

.lk-proto-row--self {
    background: rgba(34, 187, 233, 0.12);
}

.lk-proto-row--self .lk-proto-td--team,
.lk-proto-row--self .lk-proto-td--points {
    color: #22bbe9;
}

.lk-schedule-protocol-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    filter: invert(63%) sepia(72%) saturate(435%) hue-rotate(158deg) brightness(95%) contrast(93%);
}

.lk-schedule-pager {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 2.6em;
    margin-top: 20px;
    position: relative;
    z-index: 1;
}

.lk-schedule-pager > a.arrow {
    width: 44px;
    height: 44px;
    border: 2px solid #22bbe9;
    color: #22bbe9;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    box-sizing: border-box;
    cursor: pointer;
    flex-shrink: 0;
}

.lk-schedule-pager > a.arrow.disabled {
    opacity: 0.45;
    border-color: rgba(34, 187, 233, 0.45);
    color: rgba(34, 187, 233, 0.45);
    cursor: default;
}

.lk-schedule-pager > a.arrow > .arrow-icon {
    display: block;
    width: 17px;
    height: 17px;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

.lk-schedule-pager > a.arrow > .arrow-icon-left {
    -webkit-mask-image: url("/public/img/ArrowPaginationLeft.svg");
    mask-image: url("/public/img/ArrowPaginationLeft.svg");
}

.lk-schedule-pager > a.arrow > .arrow-icon-right {
    -webkit-mask-image: url("/public/img/ArrowPaginationRight.svg");
    mask-image: url("/public/img/ArrowPaginationRight.svg");
}

.lk-schedule-pager > div {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 1.45em;
}

.lk-schedule-pager > div > a {
    width: 44px;
    height: 44px;
    border: 2px solid #22bbe9;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-sizing: border-box;
    background: transparent;
    text-decoration: none;
}

.lk-schedule-pager > div > a > span {
    color: #22bbe9;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 16px;
    font-weight: 700;
    -webkit-text-fill-color: currentColor;
}

.lk-schedule-pager > div > a.active {
    background: #22bbe9;
    border-color: #22bbe9;
}

.lk-schedule-pager > div > a.active > span {
    color: #ffffff;
}

/* Protocol modal */
.lk-proto-modal {
    padding-bottom: 30px;
}
.lk-proto-modal .reg-modal {
    width: 1000px;
}

.lk-proto-modal .popup-types-header {
    background: linear-gradient(to right, #22bbe9, #1f315d);
    border-radius: 30px 30px 0 0;
    padding: 30px;
    padding-right: 74px;
    min-height: unset;
    margin-bottom: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    position: relative;
}

.lk-proto-modal .popup-types-header::before {
    content: none;
}

.lk-proto-modal .popup-types-header > div {
    flex: 1;
    display: flex;
    justify-content: center;
    width: 100%;
}

.lk-proto-modal .popup-types-header > div > h2 {
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 24px;
    text-transform: none;
    color: #ffffff;
    -webkit-text-fill-color: #ffffff;
    margin: 0;
    text-align: center;
    line-height: 1.3;
}

.lk-proto-modal .popup-types-header > .cross {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    filter: brightness(10);
}
.lk-proto-modal .popup-types-header.lk-proto-header--title-below {
    flex-direction: column;
    align-items: center;
    padding-top: 52px;
    padding-right: 30px;
}
.lk-proto-modal .popup-types-header.lk-proto-header--title-below > div {
    width: 100%;
    justify-content: center;
}
.lk-proto-modal .popup-types-header.lk-proto-header--title-below > div > h2 {
    text-align: center;
    white-space: normal;
}
.lk-proto-modal .popup-types-header.lk-proto-header--title-below > .cross {
    top: 20px;
    transform: none;
}

.lk-proto-body {
    padding: 0 40px 40px;
}

.lk-proto-tags {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    padding-top: 40px;
}

.lk-proto-table-wrap {
    overflow-x: auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.1);
    margin-top: 40px;
}

.lk-proto-table-header,
.lk-proto-row {
    display: grid;
    grid-template-columns: 100px 1fr 160px;
    min-width: 560px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.lk-proto-row:last-child {
    border-bottom: none;
}

.lk-proto-th {
    padding: 14px 20px;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: rgba(255, 255, 255, 0.5);
    text-align: left;
}

.lk-proto-td {
    padding: 0 20px;
    height: 72px;
    display: flex;
    align-items: center;
    font-family: "Pragmatica Extended", sans-serif;
    color: #ffffff;
    box-sizing: border-box;
}

.lk-proto-td--place {
    font-weight: 700;
    font-size: 16px;
    justify-content: center;
}

.lk-proto-place-img {
    height: 40px;
    width: auto;
    flex-shrink: 0;
}

.lk-proto-td--team {
    font-weight: 400;
    font-size: 16px;
}

.lk-proto-td--points {
    font-weight: 700;
    font-size: 16px;
    color: #22bbe9;
}

.lk-invite-link-body {
    padding: 40px 40px 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.lk-invite-link-label {
    font-family: "Pragmatica", sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: #22bbe9;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 20px 0;
    text-align: center;
}

.lk-invite-link-pill {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50px;
    padding: 14px 28px;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    margin-bottom: 40px;
}

.lk-invite-link-text {
    font-family: "Pragmatica", sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: #ffffff;
    text-decoration: underline;
    word-break: break-all;
}

.lk-invite-copy-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: transparent;
    border: 1px solid #22bbe9;
    border-radius: 100px;
    padding: 20px;
    color: #22bbe9;
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    font-weight: 400;
    cursor: pointer;
    transition: opacity 0.15s;
}

.lk-invite-copy-btn:hover {
    opacity: 0.8;
}

.lk-invite-accept-modal {
    max-width: 1000px;
}

.lk-invite-accept-body {
    padding: 40px 40px 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}

.lk-invite-error-label {
    font-family: "Pragmatica", sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: #22bbe9;
    text-transform: uppercase;
    text-align: center;
    margin: 0 0 20px 0;
}

.lk-invite-status-label {
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #22bbe9;
    text-transform: uppercase;
    margin: 0;
}

.lk-invite-status-label--error {
    color: #d90912;
}

.lk-invite-accept-desc {
    font-family: "Pragmatica", sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: #fff;
    line-height: 1.4;
    margin: 0;
    text-align: center;
}

.lk-invite-team-id {
    font-family: "Pragmatica", sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: #22bbe9;
    text-transform: uppercase;
    text-align: center;
    margin: 0 0 10px 0;
}

.lk-invite-team-name {
    font-family: "Pragmatica", sans-serif;
    font-weight: 700;
    font-size: 40px;
    color: #fff;
    text-align: center;
    margin: 0 0 20px 0;
    line-height: 1.1;
}

.lk-invite-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-bottom: 20px;
}

.lk-invite-tag {
    display: inline-block;
    background: #1671b5;
    border-radius: 100px;
    padding: 6px 12px;
    color: #fff;
    font-family: "Pragmatica", sans-serif;
    font-weight: 700;
    font-size: 18px;
}

.lk-invite-tag--cyan {
    background: linear-gradient(to right, #22bbe9, #1f315d);
    border-radius: 100px;
    padding: 10px 20px;
    color: #fff;
    border: none;
}

.lk-invite-team-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: transparent;
    border: 1px solid #22bbe9;
    border-radius: 30px;
    padding: 10px 30px;
    font-family: "Pragmatica", sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #22bbe9;
    text-decoration: none;
    margin-bottom: 40px;
    transition: opacity 0.15s;
}

.lk-invite-team-link:hover {
    opacity: 0.85;
    text-decoration: none;
}

.lk-invite-info-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-bottom: 40px;
}

.lk-invite-info-label {
    font-family: "Pragmatica", sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: #fff;
    text-align: center;
    margin: 0;
}

.lk-invite-mentor-note {
    color: rgba(255, 255, 255, 0.5);
    font-family: "Pragmatica", sans-serif;
    font-weight: 400;
    font-size: 16px;
    text-align: center;
    margin: 30px 0 0 0;
    line-height: 1.5;
}

.lk-invite-accept-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 40px;
}

.lk-invite-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: transparent;
    border: 1px solid #22bbe9;
    border-radius: 30px;
    padding: 10px 30px;
    font-family: "Pragmatica", sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #22bbe9;
    cursor: pointer;
    text-decoration: none;
    transition: opacity 0.15s;
}

.lk-invite-btn:hover {
    opacity: 0.85;
}

/* removed empty modifiers */

.contact-card-phones {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
    min-width: 0;
}

.contact-card-phone-link {
    display: block;
    text-decoration: none;
}

.contact-card-phone-link:hover {
    text-decoration: underline;
}

.contact-card {
    height: auto;
    min-height: 100px;
}

.contact-cards {
    align-items: stretch;
}

.contact-card-icon {
    width: 60px;
    height: 60px;
    align-self: center;
    aspect-ratio: unset;
    flex-shrink: 0;
}

.contact-card-text {
    justify-content: center;
    gap: 6px;
}

@media screen and (max-width: 1024px) {
    .firsts-call-s6-rating {
        padding-left: 16px;
        padding-right: 16px;
    }

    .home-card--blue {
        padding-left: 20px;
        padding-right: 20px;
    }

    .home-card--purple {
        padding: 20px 20px 40px;
        align-items: center;
        background-image: url(/public/img/bg_min_copter.png);
    }

    .home-card3-icon {
        margin-top: 20px;
        max-width: 100%;
        height: auto;
        display: block;
        margin-left: auto;
        margin-right: auto;
    }

    .home-card3-dates {
        margin-top: 20px;
        font-size: 16px;
        text-align: left;
        align-self: flex-start;
    }

    .home-card3-title-img {
        width: 260px;
        max-width: 100%;
        align-self: flex-start;
    }

    .home-card3-desc {
        font-size: 14px;
        text-align: left;
        max-width: 100%;
        align-self: flex-start;
    }

    .home-card3-btns {
        width: 100%;
        flex-wrap: wrap;
        justify-content: center;
    }

    .home-card3-bg {
        display: block;
        width: 260px;
        max-width: 100%;
        margin: 0 auto;
    }
}

@media screen and (max-width: 800px) {
    .lk-schedule-block {
        padding: 20px;
    }
    .lk-schedule-block-header {
        flex-direction: column;
    }
    .lk-schedule-block-logo {
        width: 100%;
        height: auto;
        max-width: 180px;
        justify-content: flex-start;
    }
    .lk-schedule-block-logo img {
        max-height: 70px;
    }
    .lk-schedule-block-tags {
        width: auto;
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .lk-schedule-container {
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
        margin-right: 0;
    }

    /* Schedule block: stack everything in a single column */
    .lk-schedule-block-header {
        grid-template-columns: 1fr;
    }
    .lk-schedule-block-logo      { grid-column: 1; grid-row: 1; width: 100%; height: 90px; }
    .lk-schedule-block-tags      { grid-column: 1; grid-row: 2; width: auto; align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
    .lk-schedule-block-center    { grid-column: 1; grid-row: 3; width: 100%; min-width: 0; }
    .lk-schedule-block-info-tags { grid-column: 1; grid-row: 4; width: 100%; min-width: 0; }
    .lk-schedule-block-header-text {
        font-size: 18px;
        word-break: break-word;
    }
    .lk-schedule-tag {
        white-space: normal;
        overflow-wrap: anywhere;
        max-width: 100%;
        min-width: 0;
    }
    .lk-schedule-tag--date,
    .lk-schedule-tag--address {
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        max-width: 100%;
        min-width: 0;
    }
    .lk-schedule-table {
        overflow-x: auto;
    }
    .lk-schedule-table-header,
    .lk-schedule-table-row {
        min-width: 900px;
    }
}

@media screen and (max-width: 900px) {
    footer .social {
        margin-left: 0;
        width: 100%;
        justify-content: center;
    }
}

@media screen and (max-width: 768px) {
    .lk-profile-page {
        padding-top: 120px;
    }

    content.lk-profile-page {
        min-height: 0;
    }

    .lk-profile-page .tabs-container > div.background-red-blue {
        min-height: 0;
        padding-bottom: 40px;
    }

    .lk-profile-page .page-title-container {
        padding-top: 0;
    }

    .lk-profile-page .tabs-container {
        margin-top: -40px !important;
    }    

    .lk-profile-page .tabs-container > div {
        padding-top: 0;
        margin-top: 0;
    }

    .lk-page-subtitle {
        margin-top: 40px;
    }
    .lk-page-title {
        font-size: 26px;
    }
    .lk-control {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        flex-wrap: nowrap;
        justify-content: flex-start;
        padding-bottom: 6px;
        gap: 0;
    }
    .lk-control::-webkit-scrollbar {
        display: none;
    }
    .tabs-control {
        display: inline-flex;
        flex-wrap: nowrap;
        flex-shrink: 0;
        width: auto;
        min-width: max-content;
        gap: 10px;
        align-items: center;
    }
    .lk-control .lk-control--logout {
        flex-shrink: 0;
        margin-left: 10px;
    }
    .lk-profile-page .app-breadcrumbs {
        padding: 0 16px !important;
        margin: 0 !important;
    }
    .lk-profile-page .app-breadcrumbs__list {
        justify-content: center;
    }

    /* LK profile card — full-bleed, no horizontal gap from viewport, reduced padding */
    .lk-profile-card {
        margin-left: -1em;
        margin-right: -1em;
        padding: 16px;
    }

    /* LK sports card — reduced padding, flex column so buttons land at bottom */
    .lk-sports-card {
        padding: 16px;
        display: flex;
        flex-direction: column;
    }
    .lk-sports-card > .lk-profile-card-header,
    .lk-sports-card > .lk-extra-actions {
        align-self: stretch;
    }
    .lk-sports-card > .lk-extra-actions {
        margin-top: 20px;
        justify-content: flex-start;
    }

    /* LK profile card — hide source attribution */
    .lk-profile-card-source {
        display: none;
    }

    /* LK profile card — buttons move to bottom */
    .lk-extra-section {
        display: flex;
        flex-direction: column;
        margin-top: 20px;
    }
    .lk-extra-section > .lk-profile-card-header--secondary {
        order: 1;
    }
    .lk-extra-section > .lk-extra-form {
        order: 2;
        margin-top: 16px;
    }
    .lk-extra-section > .lk-extra-actions {
        order: 3;
        margin-top: 20px;
        justify-content: flex-end;
        align-self: stretch;
    }
    .lk-extra-row {
        flex-direction: column;
    }


    /* Modal blue gradient headers — small screen fixes */
    .popup-types-header {
        min-height: 66px;
        align-items: center;
    }
    .popup-types-header > div {
        flex: 1;
        min-width: 0;
        width: auto;
    }
    .popup-types-header > div > h2 {
        font-size: 20px;
        text-align: left;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .popup-types-header .cross {
        width: 36px !important;
        height: 36px !important;
        flex-shrink: 0;
    }

    .lk-proto-modal .popup-types-header {
        min-height: 66px;
    }
    .lk-proto-modal .popup-types-header > div {
        justify-content: flex-start;
        min-width: 0;
    }
    .lk-proto-modal .popup-types-header > div > h2 {
        font-size: 20px;
        text-align: left;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .lk-proto-modal .popup-types-header > .cross {
        width: 36px;
        height: 36px;
    }

    /* Invite accept modal */
    .lk-invite-accept-modal {
        width: calc(100vw - 32px);
        max-width: calc(100vw - 32px);
    }
    .lk-invite-accept-body {
        padding: 24px 16px;
    }
    .lk-invite-btn {
        width: 100%;
        box-sizing: border-box;
    }
    .lk-invite-accept-actions {
        width: 100%;
    }

}

@media screen and (max-width: 700px) {
    body content > *:not(.js-app-content):first-child,
    body content > *.js-app-content:first-child > *:first-child {
        padding-top: 0px;
    }
    body {
        margin: 0px !important;
    }
    .home-cards {
        gap: 10px !important;
    }
    .home-card--red {
        width: 96vw !important;
        left: 2.5vw;
        position: relative;
        overflow: hidden;
        border-radius: 20px !important;
        margin-top: 10px;
        min-height: 780px;
        display: flex !important;
        flex-direction: column !important;
        align-content: center !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        .home-card-hero {
            margin-top: 0px !important;
        }
        .home-hero-title {
            font-family: Pragmatica Extended;
            font-weight: 700;
            font-style: Bold;
            font-size: 26px;
            line-height: 120%;
            letter-spacing: 0%;
            text-transform: uppercase;
        }
        .home-hero-text {
            font-family: Pragmatica;
            font-weight: 400;
            font-style: Regular;
            font-size: 16px;
            line-height: 140%;
            letter-spacing: 0%;
        }
        .home-hero-icons {
            flex-direction: column !important;
            align-items: center !important;
            justify-content: flex-start !important;
            gap: 40px;
        }
    }
    .home-card--blue {
        width: 96vw !important;
        left: 2.5vw;
        position: relative;
        overflow: hidden;
        border-radius: 20px !important;
    }
    .home-card--purple {
        width: 96vw !important;
        left: 2.5vw;
        position: relative;
        overflow: hidden;
        border-radius: 20px !important;
        margin-bottom: 10px !important;

        background-image: url(/public/img/bg_min_copter.png) !important;
        /* bg_min_copter.png */
        /* helicopter.png */
        .home-card3-bg {
            display: block !important;
            width: 260px;
            max-width: 100%;
            margin: 0 auto;
        }
    }

    .footer-info {
        display: flex;
        flex-direction: column !important;
        gap: 25px !important;
        color: rgba(255, 255, 255, 0.6);
        font-size: 14px !important;
        margin-top: 30px;
        width: 100% !important;
        align-items: center !important;
    }

    .firsts-call-logo {
        width: 100%;
    }

    .pilots-hero-logo {
        width: 80vw;
    }

    .pilots-hero-text {
        max-width: 100%;
        box-sizing: border-box;
    }

    .pilots-hero-title {
        font-size: 20px;
    }

    .pilots-hero-subtitle {
        font-size: 16px;
    }

    .pilots-hero .firsts-call-btn {
        margin-left: 16px;
        margin-right: 16px;
    }

    .pilots-hero {
        background-image: url(/public/img/pilots_section_1_mob.png);
        min-height: unset;
    }

    body.pilots-page .pilots-hero {
        margin-top: 0;
        padding-top: 110px;
    }

    body.firsts-call-page .firsts-call-mobile-bar .burger {
        display: inline-flex !important;
    }

    body.firsts-call-page .firsts-call-mobile-bar {
        position: absolute;
        width: 95%;
        background: #ffffff1a;
        left: 2.5%;
        top: 15px;
        border-radius: 20px;
        height: 76px;
        padding: 10px !important;
    }

    body.firsts-call-page .firsts-call-mobile-bar__logo img {
        width: 25px !important;
        height: 44px !important;
    }

    body.docs-page.firsts-call-page .firsts-call-mobile-bar + .round-container {
        margin-top: 104px;
    }

    body.contacts-page.firsts-call-page .firsts-call-mobile-bar + .round-container {
        margin-top: 104px;
    }

    body.home-page #home-mobile-menu,
    body.firsts-call-page #firsts-call-mobile-menu,
    body.docs-page #firsts-call-mobile-menu,
    body.contacts-page #firsts-call-mobile-menu {
        max-width: 100vw;
    }

    .firsts-call-age-card {
        max-width: 97vw;
    }

    .firsts-call-age-card-title {
        margin: 10px 0 0;
    }

    .firsts-call-roadmap-cards {
        max-width: 100vw;
        width: 95vw;
        flex-shrink: 0;
        background-size: 100% 100%;
        background-repeat: no-repeat;
        padding: 30px;
        box-sizing: border-box;
        justify-content: center;
        align-content: flex-start;
    }

    .firsts-call-roadmap-card {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        width: 95vw;
        background-image: url(/public/img/rectMobRoadMap.png) !important;
    }
    .firsts-call-roadmap-card-info {
        margin-top: 10px !important;
    }
    .firsts-call-s4-cards {
        max-width: 100vw;
    }
    .firsts-call-s4-card {
        width: 95vw;
    }
    .firsts-call-s5-filters {
        max-width: 95vw;
    }
    .firsts-call-s5-results {
        max-width: 100vw;
    }
    .firsts-call-s5-cards {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px;
    }
    .firsts-call-s5-card {
        width: 95vw;
        left: 2.5vw;
        height: auto;
    }
    .firsts-call-s6-filters {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px;
        max-width: 95vw;
    }
    .firsts-call-page .firsts-call-s6-rating .rating-tabs-disciplines .rating-tab {
        min-width: 18.2em !important;
        min-height: 3.95em !important;
    }
    .firsts-call-page .firsts-call-s6-rating .rating-tabs-stage .rating-tab {
        min-width: 14.5em !important;
        min-height: 3.95em !important;
    }
    .firsts-call-section6-trophy {
        display: none !important;
    }
    .firsts-call-s7-panel.active {
        background-image: none !important;
        background: linear-gradient(85.31deg, #22bbe9 0%, #1f315d 100%) !important;
        border-radius: 20px;
        padding: 16px !important;
    }
    .firsts-call-s7-panel.active {
        display: flex;
        flex-direction: column;
        align-content: center;
        align-items: center;
    }
    .firsts-call-s7-panel-footer {
        width: auto;
        align-self: center;
    }
    .firsts-call-s7-panel-body {
        width: 100%;
    }
    .firsts-call-s7-pill {
        white-space: break-spaces;
    }
    .docs-page {
        padding-top: 50px;
    }
    .app-breadcrumbs {
        width: 100%;
        padding-left: 17px !important;
        margin: 0%;
    }
    .page-title-container.small-page-title {
        min-height: 40px;
        margin: 0px;
    }
    .docs-page .rating-tabs-row {
        gap: 2.6em;
    }
    .docs-page .docs-search-form .search-input {
        width: 95vw;
    }
    .contacts-page__offset {
        padding-top: 100px;
    }
    .contact-section-bg {
        display: none;
    }
    .contacts-sections {
        align-items: center;
    }
    .contact-section {
        background: #ffffff1a;
        width: 90vw;
        border-radius: 20px;
        padding: 16px;
    }
    body {
        margin: 0px !important;
        max-width: 100vw;
        width: 100vw;
    }


    .lk-profile-page {
        padding-top: 120px;
    }

    .lk-page-subtitle {
        margin-top: 20px;
    }
    .lk-page-title {
        font-size: 26px;
    }
    .lk-control {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        flex-wrap: nowrap;
        justify-content: flex-start;
        padding-bottom: 6px;
        gap: 0;
    }
    .lk-control::-webkit-scrollbar {
        display: none;
    }
    .tabs-control {
        display: inline-flex;
        flex-wrap: nowrap;
        flex-shrink: 0;
        width: auto;
        min-width: max-content;
        gap: 10px;
        align-items: center;
    }
    .lk-control .lk-control--logout {
        flex-shrink: 0;
        margin-left: 10px;
    }
    .lk-profile-page .app-breadcrumbs {
        padding: 0 16px !important;
        margin: 0 !important;
    }
    .lk-profile-page .app-breadcrumbs__list {
        justify-content: center;
    }


    .lk-schedule-block {
        padding: 20px;
    }
    .lk-schedule-block-header {
        flex-direction: column;
    }
    .lk-schedule-block-logo {
        width: 100%;
        height: auto;
        max-width: 180px;
        justify-content: flex-start;
    }
    .lk-schedule-block-logo img {
        max-height: 70px;
    }
    .lk-schedule-block-tags {
        width: auto;
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: wrap;
    }


    /* LK profile card — full-bleed, no horizontal gap from viewport, reduced padding */
    .lk-profile-card {
        margin-left: -1em;
        margin-right: -1em;
        padding: 16px;
    }

    /* LK sports card — reduced padding, flex column so buttons land at bottom */
    .lk-sports-card {
        padding: 16px;
        display: flex;
        flex-direction: column;
    }
    .lk-sports-card > .lk-profile-card-header,
    .lk-sports-card > .lk-extra-actions {
        align-self: stretch;
    }
    .lk-sports-card > .lk-extra-actions {
        margin-top: 20px;
        justify-content: flex-start;
    }

    /* LK profile card — hide source attribution */
    .lk-profile-card-source {
        display: none;
    }

    /* LK profile card — buttons move to bottom */
    .lk-extra-section {
        display: flex;
        flex-direction: column;
        margin-top: 20px;
    }
    .lk-extra-section > .lk-profile-card-header--secondary {
        order: 1;
    }
    .lk-extra-section > .lk-extra-form {
        order: 2;
        margin-top: 16px;
    }
    .lk-extra-section > .lk-extra-actions {
        order: 3;
        margin-top: 20px;
        justify-content: flex-end;
        align-self: stretch;
    }
    .lk-extra-row {
        flex-direction: column;
    }

    .lk-schedule-container {
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
        margin-right: 0;
    }

    /* Modal blue gradient headers — small screen fixes */
    .popup-types-header {
        min-height: 66px;
        align-items: center;
    }
    .popup-types-header > div {
        flex: 1;
        min-width: 0;
        width: auto;
    }
    .popup-types-header > div > h2 {
        font-size: 20px;
        text-align: left;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .popup-types-header .cross {
        width: 36px !important;
        height: 36px !important;
        flex-shrink: 0;
    }

    .lk-proto-modal .popup-types-header {
        min-height: 66px;
    }
    .lk-proto-modal .popup-types-header > div {
        justify-content: flex-start;
        min-width: 0;
    }
    .lk-proto-modal .popup-types-header > div > h2 {
        font-size: 20px;
        text-align: left;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .lk-proto-modal .popup-types-header > .cross {
        width: 36px;
        height: 36px;
    }

    /* Invite accept modal */
    .lk-invite-accept-modal {
        width: calc(100vw - 32px);
        max-width: calc(100vw - 32px);
    }
    .lk-invite-accept-body {
        padding: 24px 16px;
    }
    .lk-invite-btn {
        width: 100%;
        box-sizing: border-box;
    }
    .lk-invite-accept-actions {
        width: 100%;
    }

    /* Schedule block: stack vertically, tags come right after logo */
    .lk-schedule-block-header {
        flex-direction: column;
    }
    .lk-schedule-block-logo {
        order: 1;
        width: 100%;
        height: 90px;
    }
    .lk-schedule-block-tags {
        order: 2;
        width: auto;
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .lk-schedule-block-center {
        order: 3;
    }

    /* Header text: allow wrapping */
    .lk-schedule-block-header-text {
        font-size: 18px;
        word-break: break-word;
    }

    /* Info tags: allow text to wrap inside each tag */
    .lk-schedule-tag {
        white-space: normal;
        word-break: break-word;
    }

    /* Schedule table: horizontal scroll instead of shrinking */
    .lk-schedule-table {
        overflow-x: auto;
    }
    .lk-schedule-table-header,
    .lk-schedule-table-row {
        min-width: 900px;
    }

}

@media screen and (max-width: 900px) {
    body.firsts-call-page .firsts-call-mobile-bar {
        position: absolute;
        width: 95%;
        background: #ffffff1a;
        left: 2.5%;
        top: 15px;
        border-radius: 20px;
        height: 76px;
        padding: 10px !important;
    }

    body.firsts-call-page .firsts-call-mobile-bar__logo {
        background: transparent !important;
    }

    body.firsts-call-page .firsts-call-mobile-bar__logo img {
        width: 24px !important;
        height: 44px !important;
    }

    body.firsts-call-page .firsts-call-mobile-bar .burger {
        display: inline-flex !important;
    }

    body.docs-page.firsts-call-page .firsts-call-mobile-bar + .round-container {
        margin-top: 104px;
    }

    body.contacts-page.firsts-call-page .firsts-call-mobile-bar + .round-container {
        margin-top: 104px;

    }
    @media screen and (max-width: 640px) {
        .home-card--red .home-card-hero {
            margin-top: 30px !important;
        }
    }
}

/* Pilots of the Future: extend the polished floating mobile bar (normally ≤900px) up to 1000px,
   closing the gap where the page fell back to the older sticky/blue-tinted bar between 901-1000px */
@media screen and (max-width: 1000px) {
    body.pilots-page .firsts-call-mobile-bar {
        position: absolute;
        width: 95%;
        background: #ffffff1a;
        left: 2.5%;
        top: 15px;
        border-radius: 20px;
        height: 76px;
        padding: 10px !important;
    }

    body.pilots-page .firsts-call-mobile-bar__logo {
        background: transparent !important;
    }

    body.pilots-page .firsts-call-mobile-bar__logo img {
        width: 24px !important;
        height: 44px !important;
    }

    body.pilots-page .firsts-call-mobile-bar .burger {
        display: inline-flex !important;
    }
}

/* ---- Pilots page: black background ---- */
body.pilots-page {
    background-color: black;
}

/* ---- Pilots page: 15% horizontal padding on all sections except hero, header (>1024px) ---- */
@media screen and (min-width: 1025px) {
    body.pilots-page .drone-v3-section,
    body.pilots-page .pilots-s2,
    body.pilots-page .pilots-s4 {
        padding-left: 15%;
        padding-right: 15%;
        box-sizing: border-box;
    }

    body.pilots-page .white-background {
        padding-left: 15%;
        padding-right: 15%;
        box-sizing: border-box;
    }
}

/* ---- Pilots page: Section 3 (Этапы чемпионата) ---- */
.pilots-s3 {
    background-image: url(/public/img/pilots_section_3.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.pilots-s3__title-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 40px;
}

.pilots-s3__title-block--calendar {
    margin-top: 60px;
    margin-bottom: 0;
}

.pilots-s3__roadmap {
    margin-top: 60px;
}

.pilots-s3__roadmap-empty {
    color: rgba(255, 255, 255, 0.6);
    text-align: center;
    margin: 0;
}

.pilots-s3__roadmap-wrapper {
    max-width: 100%;
}

.sport-roadmap-month-grid {
    display: grid;
    gap: 0;
}

.sport-roadmap-months {
    margin-bottom: 8px;
}

.sport-roadmap-month {
    background: rgba(255, 255, 255, 0.12);
    padding: 10px 6px;
    text-align: center;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 14px;
    border-right: 1px solid rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
}

.sport-roadmap-month:first-child { border-radius: 8px 0 0 8px; }
.sport-roadmap-month:last-child  { border-radius: 0 8px 8px 0; border-right: none; }

/* Pilots page month header override */
body.pilots-page .sport-roadmap-month-grid {
    gap: 6px;
}

body.pilots-page .sport-roadmap-month {
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.8), #824DA6);
    border: 2px solid #3B3838;
    border-radius: 10px;
    font-family: 'Pragmatica', sans-serif;
    font-weight: 500;
    font-size: 14px;
    color: white;
}

body.pilots-page .sport-roadmap-month:first-child,
body.pilots-page .sport-roadmap-month:last-child {
    border-radius: 10px;
    border-right: 2px solid #3B3838;
}

body.pilots-page .sport-roadmap-cell {
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.8), #824DA6);
    border: 2px solid #3B3838;
    border-radius: 10px;
}

body.pilots-page .sport-roadmap-cell:first-child,
body.pilots-page .sport-roadmap-cell:last-child {
    border-radius: 10px;
    border-right: 2px solid #3B3838;
}

body.pilots-page .sport-roadmap-bar {
    background: #AE45F2;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

body.pilots-page .sport-roadmap-bar-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    flex-shrink: 1;
}

body.pilots-page .sport-roadmap-bar-dates,
body.pilots-page .sport-roadmap-bar-stage {
    font-family: 'Pragmatica', sans-serif;
    font-weight: 500;
    font-size: 13px;
    color: white;
    max-width: 140px;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
}

body.pilots-page .sport-roadmap-bar-icon {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    object-fit: contain;
}

body.pilots-page .sport-roadmap-bar.is-collapsed {
    justify-content: center;
    padding: 10px;
    overflow: hidden;
    cursor: pointer;
    /* Только opacity/цвета — width+transform вместе дают кадр с переполнением и scrollbar */
    transition: box-shadow 0.2s ease;
    z-index: 1;
}

body.pilots-page .sport-roadmap-bar.is-collapsed .sport-roadmap-bar-text {
    display: none;
}

body.pilots-page .sport-roadmap-bar.is-collapsed.is-expanded {
    overflow: hidden;
    justify-content: space-between;
    padding: 10px 14px;
    z-index: 20;
}

body.pilots-page .sport-roadmap-bar.is-collapsed.is-expanded .sport-roadmap-bar-text {
    display: flex;
}

.sport-roadmap-grid {
    position: relative;
}

.sport-roadmap-cell {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    border-right: 1px solid rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
}

.sport-roadmap-cell:first-child { border-radius: 8px 0 0 8px; }
.sport-roadmap-cell:last-child  { border-radius: 0 8px 8px 0; border-right: none; }

.sport-roadmap-bars {
    position: relative;
    pointer-events: none;
    overflow: visible;
}

.sport-roadmap-bar {
    position: absolute;
    height: 72px;
    border-radius: 12px;
    padding: 10px 14px;
    box-sizing: border-box;
    background: linear-gradient(85.31deg, #22BBE9 0%, #1F315D 100%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    pointer-events: auto;
    overflow: hidden;
}

.sport-roadmap-bar-dates {
    font-size: 12px;
    font-family: "Pragmatica Extended", sans-serif;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sport-roadmap-bar-stage {
    font-size: 20px;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sport-roadmap-bar-status {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(217, 9, 18, 0.95);
    font-size: 11px;
    vertical-align: middle;
}

.sport-roadmap-cutoff {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 2px;
    height: 100%;
    background: #22BBE9;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1);
    z-index: 3;
    pointer-events: none;
}

.sport-roadmap-grid-wrapper {
    overflow-x: auto;
}

.sport-roadmap-grid-container {
    min-width: 800px;
    /* Клип раскрытия коротких баров (финал), чтобы не появлялся горизонтальный скролл */
    overflow: hidden;
}

@media screen and (max-width: 900px) {
    .sport-roadmap-month {
        font-size: 12px;
        padding: 8px 4px;
    }

    .sport-roadmap-bar {
        padding: 8px 10px;
    }

    .sport-roadmap-bar-stage {
        font-size: 16px;
    }

    .sport-roadmap-bar-dates {
        font-size: 11px;
    }
}

.pilots-s3__label {
    font-family: 'Pragmatica', sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: #AE45F2;
    text-transform: uppercase;
}

.pilots-s3__title {
    font-family: 'Space Ranger_Rus', sans-serif;
    font-size: 60px;
    color: white;
    margin: 0;
    line-height: 1;
}

body.pilots-page .drone-v3-stages__list {
    grid-template-columns: 1fr;
}

body.pilots-page .drone-v3-stage-card {
    position: relative;
    background: none;
    border: none;
    border-radius: 0;
    padding: 0;
}

.pilots-s3__card-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.pilots-s3__card-bg--mobile {
    display: none;
}

.pilots-s3__card-content {
    position: relative;
    z-index: 1;
    padding: 30px;
}

.pilots-s3__card-mobile {
    display: none;
}

.pilots-s3__card-desktop {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 24px;
}

.pilots-s3__stage-num {
    position: relative;
    width: 130px;
    height: 130px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pilots-s3__stage-num-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.pilots-s3__stage-num-text {
    position: relative;
    z-index: 1;
    font-family: 'Space Ranger_Rus', sans-serif;
    font-size: 70px;
    color: white;
    line-height: 1;
}

.pilots-s3__stage-mid {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.pilots-s3__stage-name {
    font-family: 'Space Ranger_Rus', sans-serif;
    font-size: 40px;
    color: white;
    margin: 0;
    line-height: 1;
}

.pilots-s3__stage-desc {
    font-family: 'Pragmatica', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: rgba(255, 255, 255, 0.7);
    margin: 20px 0 0;
}

.pilots-s3__stage-tags {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

.pilots-s3__stage-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 100px;
    padding: 6px 12px;
    font-family: 'Pragmatica Extended', sans-serif;
    font-weight: 700;
    font-size: 18px;
    white-space: nowrap;
}

.pilots-s3__stage-tag-icon {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
}

.pilots-s3__stage-tag--period {
    background-color: #AE45F2;
    color: white;
}

.pilots-s3__stage-tag--completed {
    background-color: white;
    color: black;
}

.pilots-s3__stage-tag--active {
    background-color: white;
    color: #D90912;
}

.pilots-s3__stage-tag--upcoming {
    background-color: white;
    color: #7D7D7D;
}

@media screen and (max-width: 1024px) {
    .pilots-s3 {
        background-image: url(/public/img/pilots_section_3_mob.png);
    }

    .pilots-s3__title {
        font-size: 40px;
    }

    .pilots-s3__card-bg--desktop {
        display: none;
    }

    .pilots-s3__card-bg--mobile {
        display: block;
    }

    .pilots-s3__card-desktop {
        display: none;
    }

    .pilots-s3__card-mobile {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .pilots-s3__card-mobile-top {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }

    .pilots-s3__card-mobile .pilots-s3__stage-tags {
        align-items: flex-start;
    }

    body.pilots-page .drone-v3-stage-card {
        max-width: 100%;
        overflow: hidden;
    }

    .pilots-s3__stage-name {
        font-size: 32px;
    }
}

/* ---- Pilots page: Section 4 (Дисциплины проекта) ---- */
.pilots-s4 {
    background-image: url(/public/img/pilots_section_4.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

@media screen and (max-width: 1024px) {
    .pilots-s4 {
        background-image: url(/public/img/pilots_section_4_mob.png);
    }
}

.pilots-s4__subtitle {
    margin-top: 20px;
    margin-bottom: 60px;
    font-family: 'Pragmatica', sans-serif;
    font-weight: 400;
    font-size: 18px;
    color: rgba(255, 255, 255, 0.6);
    text-align: center;
}

.pilots-s4__grid {
    margin-top: 0;
}

.pilots-s4__card {
    position: relative;
    min-height: 227px;
    background: transparent;
    border: none;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding: 20px;
    box-sizing: border-box;
    overflow: hidden;
}

.pilots-s4__card-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.pilots-s4__card-icon {
    position: relative;
    width: 137px;
    height: 137px;
    object-fit: contain;
}

.pilots-s4__card-name {
    position: relative;
    margin-top: 10px;
    font-family: 'Pragmatica Extended', sans-serif;
    font-weight: 500;
    font-size: 20px;
    color: #fff;
    line-height: 1.2;
    text-align: center;
}

/* ---- Pilots page: Section 2 ---- */
.pilots-s2 {
    background-image: url(/public/img/pilots_section_2.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    box-sizing: border-box;
    padding-top: 120px;
    padding-bottom: 120px;
}

.pilots-s2__drone {
    display: none;
}

.pilots-s2__cards {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 756px;
    max-width: 100%;
}

.pilots-s2__card {
    position: relative;
    width: 756px;
    max-width: 100%;
    box-sizing: border-box;
}

.pilots-s2__card-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.pilots-s2__card-content {
    position: relative;
    z-index: 1;
    padding: 30px;
}

.pilots-s2__card-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.pilots-s2__card-title {
    font-family: 'Space Ranger_Rus', sans-serif;
    font-size: 40px;
    color: white;
    line-height: 1;
}

.pilots-s2__card-line {
    display: block;
    flex-shrink: 0;
}

.pilots-s2__age-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 30px;
}

.pilots-s2__age-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 30px;
}

.pilots-s2__age-avatar {
    width: 120px;
    height: 120px;
    flex-shrink: 0;
}

.pilots-s2__age-info {
    display: flex;
    flex-direction: column;
}

.pilots-s2__age-tags {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
}

.pilots-s2__age-tag {
    background-color: #AE45F2;
    border-radius: 100px;
    padding: 6px 12px;
    font-family: 'Pragmatica Extended', sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: white;
}

.pilots-s2__age-desc {
    font-family: 'Pragmatica', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: rgba(255, 255, 255, 0.7);
    margin: 20px 0 0;
}

.pilots-s2__card-body {
    margin-top: 30px;
}

.pilots-s2__card-p1 {
    font-family: 'Pragmatica Extended', sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: white;
    margin: 0;
}

.pilots-s2__card-p2 {
    font-family: 'Pragmatica', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: rgba(255, 255, 255, 0.7);
    margin: 12px 0 0;
}

@media screen and (max-width: 1024px) {
    .pilots-s2 {
        background-image: url(/public/img/pilots_section_2_mob.png);
        padding: 16px;
        align-items: stretch;
    }

    .pilots-s2__drone {
        display: block;
        width: 100%;
        height: auto;
        margin-bottom: 30px;
    }

    .pilots-s2__cards {
        width: 100%;
    }

    .pilots-s2__card {
        width: 100%;
    }

    .pilots-s2__card-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .pilots-s2__card-line {
        max-width: 100%;
        height: auto;
        overflow: hidden;
    }
}

/* ---- Pilots page: Section 5 (Игровые туры) ---- */
.pilots-s5 {
    background-image: url(/public/img/pilots_section_5.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    padding-top: 60px;
    padding-bottom: 60px;
    min-height: 1000px;
}

.pilots-s5--empty {
    display: flex;
    flex-direction: column;
}

.pilots-s5--empty .container {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.pilots-s5__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 20px;
    flex: 1;
    width: 100%;
}

.pilots-s5__empty-title {
    font-family: 'Pragmatica Extended', sans-serif;
    font-weight: 700;
    font-size: 30px;
    color: white;
}

.pilots-s5__empty-subtitle {
    font-family: 'Pragmatica', sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: rgba(255, 255, 255, 0.8);
}

@media screen and (max-width: 1024px) {
    .pilots-s5 {
        background-image: none;
        background-color: black;
    }
}

/* ---- Pilots s5: tour filter bar ---- */
.pilots-s5__filter-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-top: 40px;
    flex-wrap: wrap;
}

.pilots-s5__pills {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    height: 44px;
    box-sizing: border-box;
    border-radius: 999px;
    background: rgba(174, 69, 242, 0.18);
}

.pilots-s5__pill {
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.7);
    border-radius: 999px;
    padding: 9px 22px;
    font-family: 'Pragmatica Extended', sans-serif;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    white-space: nowrap;
}

.pilots-s5__pill:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.pilots-s5__pill.is-active {
    background: #AE45F2;
    color: #fff;
    box-shadow: 0 1px 4px rgba(174, 69, 242, 0.4);
}

.pilots-s5__dropdowns {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.pilots-s5__select-wrap {
    position: relative;
}

.pilots-s5__select-wrap::after {
    display: none;
}

.pilots-s5__select {
    appearance: none;
    -webkit-appearance: none;
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M1 3.5l5 5 5-5' stroke='rgba(174%2C69%2C242%2C0.4)' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    border: 1.5px solid rgba(174, 69, 242, 0.4);
    border-radius: 100px;
    color: rgba(255, 255, 255, 0.5);
    font-family: 'Pragmatica', sans-serif;
    font-size: 14px;
    padding: 0 40px 0 18px;
    height: 44px;
    line-height: 44px;
    display: block;
    cursor: pointer;
    width: 220px;
    transition: border-color 0.2s, color 0.2s;
}

.pilots-s5__select:not(:disabled):hover {
    border-color: #AE45F2;
}

.pilots-s5__select option {
    background: #1a0a2e;
    color: #fff;
}

.pilots-s5__select:disabled {
    opacity: 0.4;
    cursor: default;
}

/* When a real value is selected, full opacity */
.pilots-s5__select.has-value {
    color: rgba(255, 255, 255, 1);
}

.pilots-s5__cards {
    margin-top: 32px;
}

.pilots-s5__empty {
    color: rgba(255, 255, 255, 0.5);
    font-family: 'Pragmatica', sans-serif;
    font-size: 16px;
    text-align: center;
    padding: 40px 0;
}

/* Tour cards grid */
.pilots-s5-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(520px, 1fr));
    gap: 20px;
    width: 100%;
    margin-top: 32px;
}

@media screen and (max-width: 1024px) {
    .pilots-s5-cards {
        grid-template-columns: 1fr;
    }
}

.pilots-s5-card {
    background: linear-gradient(135deg, #824DA6, rgba(0, 0, 0, 0.8));
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.pilots-s5-card__header {
    background: rgba(0, 0, 0, 0.6);
    border-radius: 0 0 20px 20px;
    padding: 25px;
    flex-shrink: 0;
}

.pilots-s5-card__header-top {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.pilots-s5-card__title {
    color: #fff;
    font-family: 'Pragmatica Extended', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.2;
}

.pilots-s5-card__dates {
    color: #fff;
    font-family: 'Pragmatica Extended', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.2;
    white-space: nowrap;
    flex-shrink: 0;
}

.pilots-s5-card__pills {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.pilots-s5-card__pill {
    display: inline-flex;
    align-items: center;
    border-radius: 20px;
    padding: 7px 14px;
    background: #AE45F2;
    color: #fff;
    font-family: 'Pragmatica Extended', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1;
}

.pilots-s5-card__content {
    padding: 25px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.pilots-s5-card__info-row {
    line-height: 1.5;
}

.pilots-s5-card__info-icon {
    display: inline;
    vertical-align: middle;
    width: 18px;
    height: 18px;
    filter: brightness(0) saturate(100%) invert(47%) sepia(62%) saturate(1200%) hue-rotate(255deg) brightness(110%);
}

.pilots-s5-card__info-icon--addr {
    margin-left: 12px;
}

.pilots-s5-card__info-text {
    display: inline;
    vertical-align: middle;
    color: rgba(255, 255, 255, 0.85);
    font-family: 'Pragmatica Extended', sans-serif;
    font-weight: 400;
    font-size: 15px;
    margin-left: 4px;
}

.pilots-s5-card__divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.15);
    margin-top: 20px;
    flex-shrink: 0;
}

.pilots-s5-card__disciplines-title {
    color: rgba(255, 255, 255, 0.9);
    font-family: 'Pragmatica Extended', sans-serif;
    font-weight: 500;
    font-size: 18px;
    margin: 20px 0 0;
    flex-shrink: 0;
}

.pilots-s5-card__disciplines {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
    align-content: flex-start;
}

.pilots-s5-card__discipline {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid #3B3838;
    border-radius: 10px;
    padding: 12px 16px;
}

.pilots-s5-card__discipline-name {
    color: rgba(255, 255, 255, 0.9);
    font-family: 'Pragmatica Extended', sans-serif;
    font-weight: 400;
    font-size: 15px;
    margin: 0;
}

.pilots-s5-card__discipline-date {
    color: #AE45F2;
    font-family: 'Pragmatica Extended', sans-serif;
    font-weight: 500;
    font-size: 14px;
    margin: 8px 0 0;
}

/* Pagination */
.pilots-s5-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.6em;
    margin-top: 37px;
}

.pilots-s5-pager__pages {
    display: flex;
    align-items: center;
    gap: 1.45em;
}

.pilots-s5-pager__arrow,
.pilots-s5-pager__page {
    width: 44px;
    height: 44px;
    border: 2px solid #AE45F2;
    border-radius: 50%;
    background: transparent;
    color: #AE45F2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-sizing: border-box;
    font-family: 'Pragmatica Extended', sans-serif;
    font-size: 16px;
    font-weight: 700;
    transition: background 0.2s, color 0.2s, opacity 0.2s;
}

.pilots-s5-pager__arrow.is-disabled {
    opacity: 0.35;
    cursor: default;
}

.pilots-s5-pager__page.is-active {
    background: #AE45F2;
    color: #fff;
}

.pilots-s5-pager__page:not(.is-active):hover {
    background: rgba(174, 69, 242, 0.1);
}

.pilots-s5-pager__dots {
    cursor: default;
    font-size: 20px;
    letter-spacing: 1px;
}

.pilots-s5-pager__dots:hover {
    background: transparent;
}

@media (max-width: 1370px) {
    .pilots-s5__select {
        width: 180px;
    }
    .pilots-s5__pill {
        padding: 10px 14px;
        font-size: 13px;
    }
}

@media (max-width: 1024px) {
    .pilots-s5__filter-row {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ── Section 6: Турнирная таблица ─────────────────────────────────── */

.pilots-s6 {
    background-image: url(/public/img/pilots_section_6.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    padding: 60px 0;
    min-height: 1000px;
    display: flex;
    flex-direction: column;
}

@media (max-width: 768px) {
    .pilots-s6 {
        background-image: url(/public/img/pilots_section_6_mob.png);
    }
}

.pilots-s6 .container {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.pilots-s6__filter-row {
    margin-top: 32px;
}

.pilots-s6__table-wrap {
    margin-top: 28px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.pilots-s6__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 20px;
    flex: 1;
    width: 100%;
    margin-top: -120px;
    pointer-events: none;
}

.pilots-s6__empty-title {
    font-family: 'Pragmatica Extended', sans-serif;
    font-weight: 700;
    font-size: 30px;
    color: white;
}

.pilots-s6__empty-subtitle {
    font-family: 'Pragmatica', sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: rgba(255, 255, 255, 0.8);
}

.pilots-s6__table-scroller {
    width: 100%;
    overflow-x: auto;
    border-radius: 15px;
}

.pilots-s6__table {
    width: 100%;
    border-collapse: collapse;
    background: #15081E;
    border-radius: 15px;
    overflow: hidden;
    font-family: 'Pragmatica', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: rgba(255, 255, 255, 0.9);
}

.pilots-s6__table thead tr {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.pilots-s6__table th {
    font-family: 'Pragmatica Extended', sans-serif;
    font-weight: 500;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
    text-align: left;
    padding: 14px 18px;
    white-space: nowrap;
}

.pilots-s6__table th.pilots-s6__th-center {
    text-align: center;
}

.pilots-s6__table td {
    padding: 14px 18px;
    font-family: 'Pragmatica', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: rgba(255, 255, 255, 0.9);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    white-space: nowrap;
}

.pilots-s6__table tbody tr:last-child td {
    border-bottom: none;
}

.pilots-s6__table tbody tr:hover td {
    background: rgba(174, 69, 242, 0.07);
}

.pilots-s6__td-place {
    text-align: center;
    font-weight: 700;
}

.pilots-s6__place-img {
    height: 40px;
    width: auto;
    display: block;
    margin: 0 auto;
}

.pilots-s6__table td.pilots-s6__td-total {
    font-family: 'Pragmatica Extended', sans-serif;
    font-weight: 700;
    color: #AE45F2;
}

.pilots-s6__pager {
    margin-top: 32px;
}

/* ── Pilots page footer ───────────────────────────────────────────── */

body.pilots-page footer {
    background: #000 !important;
    background-image: none !important;
    border-radius: 0;
    padding: 60px 0 40px;
    margin-left: 0;
    margin-right: 0;
}

body.pilots-page footer .row.container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
    padding-bottom: 0;
}

body.pilots-page .footer-logos {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

body.pilots-page .footer-logos .logo img {
    height: 50px;
    width: auto;
}

body.pilots-page .footer-logo-firsts {
    height: 36px;
    width: auto;
}

body.pilots-page .footer-center {
    flex: 1;
    min-width: 0;
}

body.pilots-page .footer--links {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 24px;
}

body.pilots-page .footer--links a {
    color: rgba(255, 255, 255, 0.7);
    font-family: 'Pragmatica', sans-serif;
    font-size: 14px;
    text-decoration: none;
    transition: color 0.2s;
}

body.pilots-page .footer--links a:hover {
    color: #fff;
}

body.pilots-page footer .social {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

body.pilots-page footer .social img {
    height: 36px;
    width: auto;
}

body.pilots-page .footer-bottom {
    display: block;
    margin-top: 32px;
}

body.pilots-page .footer-delimiter {
    height: 1px;
    background: rgba(255, 255, 255, 0.12);
    margin-bottom: 20px;
}

body.pilots-page .footer-info {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    color: rgba(255, 255, 255, 0.35);
    font-family: 'Pragmatica', sans-serif;
    font-size: 13px;
}

body.pilots-page .footer-info-address {
    margin-left: auto;
}

@media (max-width: 768px) {
    /* Fix 4: filter pills scroll horizontally on mobile */
    .pilots-s5__pills {
        overflow-x: auto;
        max-width: 100%;
        flex-shrink: 1;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .pilots-s5__pills::-webkit-scrollbar {
        display: none;
    }

    /* Fix 5: footer items centered on mobile */
    body.pilots-page footer .row.container {
        flex-direction: column;
        align-items: center;
    }
    body.pilots-page .footer-logos {
        justify-content: center;
    }
    body.pilots-page .footer--links {
        justify-content: center;
        text-align: center;
    }
    body.pilots-page footer .social {
        justify-content: center;
    }
    body.pilots-page .footer-info {
        justify-content: center;
        text-align: center;
    }
}

/* ── Drone auth page (purple redesign, closer to Pilots of the Future) ─── */

body.drone-auth-page {
    background: linear-gradient(160deg, #1a0f30 0%, #4a2a6b 45%, #1a0f30 100%) !important;
    background-attachment: fixed;
}

@media screen and (max-width: 950px) {
    body.drone-auth-page {
        background-attachment: scroll;
    }
}

body.drone-auth-page .drone-auth-header {
    padding-left: 6%;
    padding-right: 6%;
    position: static !important;
    background-color: transparent !important;
}

body.drone-auth-page .drone-auth-back {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 30px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-radius: 100px;
    color: white;
    text-decoration: none;
    font-family: 'Pragmatica Extended', sans-serif;
    font-weight: 700;
    font-size: 15px;
    white-space: nowrap;
    transition: all 0.25s ease-in-out;
}

body.drone-auth-page .drone-auth-back:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: white;
}

body.drone-auth-page .drone-auth-back img {
    height: 1em;
    width: auto;
}

body.drone-auth-page .drone-auth-container {
    padding-left: 8%;
    padding-right: 8%;
}

body.drone-auth-page .drone-auth-text {
    font-family: 'Pragmatica', sans-serif;
    font-weight: 400;
    line-height: 1.5;
}

@media screen and (max-width: 600px) {
    body.drone-auth-page .drone-auth-back {
        padding: 10px 20px;
        font-size: 13px;
    }
}

/* On the auth page the burger/submenu are removed from the markup —
   keep these rules as a safety net in case the layout markup changes. */
body.drone-auth-page .burger,
body.drone-auth-page .mobile-menu {
    display: none !important;
}

/* ── Drone auth page footer (same layout as Pilots of the Future, transparent) ─ */

body.drone-auth-page footer {
    background: transparent !important;
    background-image: none !important;
    border-radius: 0;
    padding: 60px 0 40px;
    margin-left: 0;
    margin-right: 0;
}

body.drone-auth-page footer .row.container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
    padding-bottom: 0;
}

body.drone-auth-page .footer-logos {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

body.drone-auth-page .footer-logos .logo img {
    height: 50px;
    width: auto;
}

body.drone-auth-page .footer-logo-firsts {
    height: 36px;
    width: auto;
}

body.drone-auth-page .footer-center {
    flex: 1;
    min-width: 0;
}

body.drone-auth-page .footer--links {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 24px;
}

body.drone-auth-page .footer--links a {
    color: rgba(255, 255, 255, 0.7);
    font-family: 'Pragmatica', sans-serif;
    font-size: 14px;
    text-decoration: none;
    transition: color 0.2s;
}

body.drone-auth-page .footer--links a:hover {
    color: #fff;
}

body.drone-auth-page footer .social {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

body.drone-auth-page footer .social img {
    height: 36px;
    width: auto;
}

body.drone-auth-page .footer-bottom {
    display: block;
    margin-top: 32px;
}

body.drone-auth-page .footer-delimiter {
    height: 1px;
    background: rgba(255, 255, 255, 0.12);
    margin-bottom: 20px;
}

body.drone-auth-page .footer-info {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    color: rgba(255, 255, 255, 0.35);
    font-family: 'Pragmatica', sans-serif;
    font-size: 13px;
}

body.drone-auth-page .footer-info-address {
    margin-left: auto;
}

@media (max-width: 768px) {
    body.drone-auth-page footer .row.container {
        flex-direction: column;
        align-items: center;
    }
    body.drone-auth-page .footer-logos {
        justify-content: center;
    }
    body.drone-auth-page .footer--links {
        justify-content: center;
        text-align: center;
    }
    body.drone-auth-page footer .social {
        justify-content: center;
    }
    body.drone-auth-page .footer-info {
        justify-content: center;
        text-align: center;
    }
}

/* ── Footer horizontal padding (must come after the footer base rules above) ─ */
@media screen and (min-width: 1025px) {
    body.pilots-page footer,
    body.drone-auth-page footer {
        padding-left: 15%;
        padding-right: 15%;
        box-sizing: border-box;
    }
}

/* ── Guru page (Гуру Физкультуры) — свой UI, без pilots-* ───────────────── */

body.guru-page {
    --guru-accent: #23B4B1;
    --guru-cyan: #22BBE9;
    --guru-navy: #1F315D;
    --guru-bg: #06182f;
    --guru-clip-stage: polygon(
        0 0,
        calc(100% - 28px) 0,
        100% 28px,
        100% 100%,
        0 100%
    );
    --guru-clip-stage-inner: polygon(
        0 0,
        calc(100% - 27px) 0,
        100% 27px,
        100% 100%,
        0 100%
    );
    --guru-clip-history: polygon(
        0 0,
        calc(100% - 36px) 0,
        100% 36px,
        100% 100%,
        36px 100%,
        0 calc(100% - 36px)
    );
    --guru-clip-history-inner: polygon(
        0 0,
        calc(100% - 35px) 0,
        100% 35px,
        100% 100%,
        35px 100%,
        0 calc(100% - 35px)
    );
    background: var(--guru-bg);
    color: #fff;
}

/* Header как на остальных страницах (section_header.svg из style.css) */
body.guru-page header {
    position: relative;
    z-index: 300;
    margin: 1% 10%;
    background-image: url('/public/img/section_header.svg');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-color: transparent;
}

@media (max-width: 1024px) and (min-width: 700px) {
    body.guru-page header {
        position: absolute;
        width: 90%;
        left: 5%;
        top: 20px;
    }

    /* Иначе на 1000–901 остаётся сплошная синяя полоска без SVG-рамки */
    body.guru-page.firsts-call-page .firsts-call-mobile-bar {
        position: absolute;
        width: 90%;
        left: 5%;
        top: 20px;
        height: 76px;
        background: transparent;
        background-image: url('/public/img/section_header.svg');
        background-size: 100% 100%;
        background-repeat: no-repeat;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        border-radius: 0;
        box-sizing: border-box;
    }
}

body.guru-page header .nav-card:has(> a[href="/guru-fizkultury/"]) a,
body.guru-page header .nav-card:has(> a[href="/guru-fizkultury/"]) .nav-subtitle {
    color: #fff;
}

/* Hero — фон до самого верха; шапка сверху с margin, поэтому тянем сильнее */
body.guru-page .guru-hero {
    background-image: url(/public/img/guru/hero-bg.png);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    position: relative;
    z-index: 0;
    width: 100%;
    margin-top: calc(-150px - 1%);
    padding: calc(150px + 1%) 10% 80px;
    box-sizing: border-box;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

body.guru-page .guru-hero__title {
    width: min(426px, 78vw);
    height: auto;
    display: block;
    margin-top: 0;
}

body.guru-page .guru-hero__lead {
    margin: 36px auto 0;
    max-width: 820px;
    font-family: "Pragmatica", sans-serif;
    font-size: 20px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.85);
}

body.guru-page .guru-hero__cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 40px;
}

body.guru-page .guru-cta {
    margin-top: 0;
}

/* SPORTM-662: фиксированные размеры CTA на всех разрешениях */
body.guru-page .guru-hero__cta .guru-cta {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    height: 60px;
    min-height: 60px;
    padding: 0 24px;
    margin-top: 0;
    font-size: 18px;
    line-height: 1.2;
    text-align: center;
    max-width: 100%;
}

body.guru-page .guru-hero__cta .guru-cta--accept {
    width: 304px;
    white-space: nowrap;
}

body.guru-page .guru-hero__cta .guru-cta--closed {
    width: 301px;
    white-space: nowrap;
}

body.guru-page .guru-hero__cta .guru-cta--unavailable {
    width: 305px;
    white-space: nowrap;
}

body.guru-page .guru-hero__cta .guru-cta--later {
    width: 425px;
    white-space: normal;
}

body.guru-page .guru-cta--disabled {
    background: #3a4a6b;
    color: rgba(255, 255, 255, 0.65);
    pointer-events: none;
    cursor: not-allowed;
}

body.guru-page .guru-cta-age-hint {
    margin: 10px 0 0;
    color: rgba(255, 255, 255, 0.8);
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
}

/* Sections */
body.guru-page .guru-section .guru-tours__body {
    max-width: 1312px;
    margin: 0 auto;
    padding: 80px 24px;
    box-sizing: border-box;
}

body.guru-page .guru-section .guru-rating__body {
    max-width: 1312px;
    margin: 0 auto;
    padding: 80px 24px;
    box-sizing: border-box;
}


body.guru-page .guru-section .guru-about__body {
    max-width: 1312px;
    margin: 0 auto;
    padding: 80px 24px;
    box-sizing: border-box;
}

body.guru-page .guru-section .firsts-call-section-label {
    color: var(--guru-accent);
}

body.guru-page .guru-section .firsts-call-section-heading--white {
    color: #fff;
}

/* About — пропорции как в Figma: illus 592, cards 756, content 1312 */
body.guru-page .guru-about {
    overflow: visible;
}

body.guru-page .guru-about__layout {
    display: grid;
    grid-template-columns: 556px minmax(0, 756px);
    gap: 0;
    align-items: start;
    margin-top: 40px;
    overflow: visible;
}

body.guru-page .guru-about__layout--bottom {
    grid-template-columns: minmax(0, 756px) 556px;
    align-items: end;
    margin-top: -270px;
}

body.guru-page .guru-about__illus {
    position: relative;
    z-index: 0;
    overflow: visible;
}

body.guru-page .guru-about__illus img {
    display: block;
    width: 592px;
    max-width: none;
    height: auto;
    max-height: none;
}

body.guru-page .guru-about__illus--basket {
    width: 556px;
}

body.guru-page .guru-about__illus--basket .guru-about__illus-img,
body.guru-page .guru-about__illus--basket img {
    margin-left: -36px;
    margin-top: 84px;
    position: relative;
}

body.guru-page .guru-about__illus--jackets {
    width: 556px;
    justify-self: end;
}

body.guru-page .guru-about__illus--jackets img {
    margin-right: -35px;
    margin-left: auto;
    object-fit: contain;
    object-position: bottom center;
}

body.guru-page .guru-about__cards {
    display: flex;
    flex-direction: column;
    gap: 30px;
    position: relative;
    z-index: 1;
}

body.guru-page .guru-card {
    position: relative;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    overflow: visible;
    clip-path: none;
}

body.guru-page .guru-card__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: fill;
    pointer-events: none;
    z-index: 0;
}

body.guru-page .guru-card__inner {
    position: relative;
    z-index: 1;
    padding: 30px;
}

body.guru-page .guru-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

body.guru-page .guru-card__title {
    margin: 0;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 32px;
    color: #fff;
}

body.guru-page .guru-card__deco {
    display: block;
    flex: 0 0 auto;
    width: 180px;
    height: auto;
    max-width: 36%;
}

body.guru-page .guru-card__deco--whom {
    width: 160px;
}

body.guru-page .guru-card__deco--rings {
    width: 150px;
}

body.guru-page .guru-card__headline {
    margin: 0 0 12px;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.35;
    color: #fff;
}

body.guru-page .guru-card__text {
    margin: 0;
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.72);
}

body.guru-page .guru-card__whom {
    display: flex;
    align-items: flex-start;
    gap: 24px;
}

body.guru-page .guru-card__sport-icon {
    position: relative;
    flex: 0 0 120px;
    width: 120px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 8px;
    box-sizing: border-box;
    background: transparent;
    overflow: hidden;
}

body.guru-page .guru-card__sport-icon::before,
body.guru-page .guru-card__sport-icon::after {
    content: none;
}

body.guru-page .guru-card__sport-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

body.guru-page .guru-card__whom-body {
    flex: 1 1 auto;
    min-width: 0;
}

body.guru-page .guru-badge {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    border-radius: 100px;
    background: linear-gradient(90deg, #1F315D 0%, #23B4B1 100%);
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 15px;
    margin-bottom: 14px;
}

body.guru-page .guru-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

body.guru-page .guru-steps li {
    display: flex;
    gap: 16px;
    align-items: center;
}

body.guru-page .guru-steps__num {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid var(--guru-accent);
    color: var(--guru-accent);
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body.guru-page .guru-steps strong {
    display: block;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 18px;
    margin-bottom: 4px;
}

body.guru-page .guru-steps p {
    margin: 0;
    font-size: 15px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.7);
}

/* Stages wrap — top bg + bottom lines-bg + navy gradient (Figma 5474:43531) */
body.guru-page .guru-stages-wrap {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    background: 
    linear-gradient(90deg, #1F315D 0%, #1E6B81 100%);
    padding-bottom: 130px;
    padding-top: 60px;

}

/* ~350/1378 сверху — cover, без плющения */
body.guru-page .guru-stages-wrap::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 26%;
    background: url(/public/img/guru/stages-bg-top.png) center top / cover no-repeat;
    pointer-events: none;
    z-index: 0;
}

/* ~586/1378 снизу */
body.guru-page .guru-stages-wrap::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 43%;
    background: url(/public/img/guru/stages-bg-lines.png) center bottom / cover no-repeat;
    pointer-events: none;
    z-index: 0;
}

body.guru-page .guru-stages-wrap > .guru-stages {
    position: relative;
    z-index: 1;
    max-width: 1312px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

body.guru-page .guru-stages .firsts-call-section-label,
body.guru-page .guru-stages .firsts-call-section-heading,
body.guru-page .guru-roadmap .firsts-call-section-label,
body.guru-page .guru-roadmap .firsts-call-section-heading {
    text-align: center;
}

body.guru-page .guru-stages__list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 40px;
}

body.guru-page .guru-stage {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr) auto;
    grid-template-areas: "num body meta";
    column-gap: 30px;
    align-items: center;
    min-height: 172px;
    padding: 28px 30px;
    position: relative;
    overflow: hidden;
    border: none;
    border-radius: 20px;
    background: rgba(35, 180, 177, 0.45);
    box-sizing: border-box;
    clip-path: var(--guru-clip-stage);
}

body.guru-page .guru-stage::before {
    content: "";
    position: absolute;
    inset: 1px;
    z-index: 0;
    pointer-events: none;
    background: #1F315D;
    border-radius: 19px;
    clip-path: var(--guru-clip-stage-inner);
}

body.guru-page .guru-stage > * {
    position: relative;
    z-index: 1;
}

body.guru-page .guru-stage__num {
    grid-area: num;
    width: 110px;
    height: 110px;
    position: relative;
    overflow: hidden;
    border: 1px solid var(--guru-accent);
    border-radius: 20px;
    background: transparent;
    clip-path: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    font-size: 56px;
    line-height: 1;
    color: var(--guru-accent);
    box-sizing: border-box;
    flex-shrink: 0;
}

body.guru-page .guru-stage__num::before {
    content: none;
}

body.guru-page .guru-stage__body {
    grid-area: body;
    min-width: 0;
}

body.guru-page .guru-stage__title {
    margin: 0 0 10px;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: #fff;
    line-height: 1.25;
}

body.guru-page .guru-stage__desc {
    margin: 0;
    font-family: "Pragmatica", sans-serif;
    font-size: 15px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.85);
}

body.guru-page .guru-stage__meta {
    grid-area: meta;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-end;
    justify-content: center;
    flex-shrink: 0;
}

body.guru-page .guru-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 35px;
    padding: 0 16px;
    border-radius: 100px;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    box-sizing: border-box;
}

body.guru-page .guru-pill--accent {
    background: var(--guru-accent);
    color: #06223b;
}

body.guru-page .guru-pill--date {
    background: linear-gradient(90deg, #1E6B81 0%, var(--guru-accent) 100%);
    border: none;
    color: #fff;
}

body.guru-page .guru-pill--format {
    background: transparent;
    border: 1px solid var(--guru-accent);
    color: var(--guru-accent);
}

body.guru-page .guru-pill--status {
    background: rgba(35, 180, 177, 0.2);
    color: var(--guru-accent);
}

body.guru-page .guru-roadmap {
    margin-top: 80px;
    position: relative;
}

body.guru-page .guru-roadmap__grid {
    margin-top: 40px;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

body.guru-page .guru-roadmap__months,
body.guru-page .guru-roadmap__cells {
    display: grid;
    gap: 8px;
    min-width: 720px;
}

body.guru-page .guru-roadmap__months {
    margin-bottom: 8px;
}

body.guru-page .guru-roadmap__month {
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background-color: #1F315D;
    background-image: none;
    opacity: 1;
    border: 1px solid rgba(35, 180, 177, 0.35);
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 14px;
    font-weight: 500;
    box-sizing: border-box;
}

body.guru-page .guru-roadmap__track {
    position: relative;
    min-width: 720px;
    isolation: isolate;
}

body.guru-page .guru-roadmap__cells {
    position: relative;
    z-index: 0;
}

body.guru-page .guru-roadmap__cell {
    border-radius: 10px;
    background-color: #1F315D;
    background-image: none;
    opacity: 1;
    border: 1px solid rgba(35, 180, 177, 0.35);
    box-sizing: border-box;
}

body.guru-page .guru-roadmap__bars {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    overflow: visible;
}

body.guru-page .guru-roadmap__bar {
    position: absolute;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 14px;
    box-sizing: border-box;
    background: linear-gradient(90deg, #1F315D 0%, #1E6B81 55%, #23B4B1 100%);
    pointer-events: auto;
    overflow: hidden;
    min-width: 0;
}

body.guru-page .guru-roadmap__bar-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    flex: 1;
}

body.guru-page .guru-roadmap__bar-dates {
    font-family: "Pragmatica", sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.guru-page .guru-roadmap__bar-stage {
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.guru-page .guru-roadmap__bar-icon {
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    object-fit: contain;
}

body.guru-page .guru-roadmap__bar.is-collapsed {
    justify-content: center;
    padding: 10px;
    overflow: hidden;
    cursor: pointer;
    transition: box-shadow 0.2s ease;
    z-index: 1;
}

body.guru-page .guru-roadmap__bar.is-collapsed .guru-roadmap__bar-text {
    display: none;
}

body.guru-page .guru-roadmap__bar.is-collapsed.is-expanded {
    overflow: hidden;
    justify-content: space-between;
    padding: 10px 14px;
    z-index: 20;
}

body.guru-page .guru-roadmap__bar.is-collapsed.is-expanded .guru-roadmap__bar-text {
    display: flex;
}

/* Filters / tabs — сегмент как в Figma 5474:43787 */
body.guru-page .guru-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: space-between;
    align-items: center;
    margin: 36px 0 24px;
}

body.guru-page .guru-tabs {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    min-height: 44px;
    padding: 2px;
    border-radius: 999px;
    border: 1px solid rgba(35, 180, 177, 0.35);
    background: rgba(6, 24, 47, 0.4);
    box-sizing: border-box;
}

body.guru-page .guru-tab {
    min-height: 40px;
    padding: 9px 20px;
    border-radius: 100px;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.78);
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
    -webkit-text-fill-color: currentColor;
}

body.guru-page .guru-tab:hover {
    background: rgba(35, 180, 177, 0.18);
    color: #fff;
}

body.guru-page .guru-tab.is-active,
body.guru-page .guru-tab.is-active:hover {
    background: var(--guru-accent);
    color: #06223b;
    -webkit-text-fill-color: #06223b;
    box-shadow: 0 1px 6px rgba(35, 180, 177, 0.35);
}

/* Select — Figma 5501:10688 (260×44, outline pill) */
body.guru-page .guru-select {
    box-sizing: border-box;
    width: 260px;
    min-width: 260px;
    height: 44px;
    padding: 0 44px 0 20px;
    border-radius: 100px;
    border: 1px solid var(--guru-accent);
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%2323B4B1' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 20px center;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 42px;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
    appearance: none;
    -webkit-appearance: none;
}

body.guru-page .guru-select:hover {
    background-color: rgba(35, 180, 177, 0.12);
}

body.guru-page .guru-select:focus {
    outline: none;
    background-color: rgba(35, 180, 177, 0.16);
    box-shadow: 0 0 0 2px rgba(35, 180, 177, 0.22);
}

body.guru-page .guru-select option {
    background: #1F315D;
    color: #fff;
    font-weight: 700;
}

/* Tours */
body.guru-page .guru-tours {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: 30px 30px 0px 0px;
    width: 100%;
    margin-top: -30px;
    padding-bottom: 48px;
}

body.guru-page .guru-tours::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: url(/public/img/guru/section-tours.png) no-repeat, linear-gradient(90deg, rgb(31, 49, 93) 0%, rgb(35, 180, 177) 100%);
    z-index: -1;
    background-size: cover;
    background-position: center top;
    pointer-events: none;
}

body.guru-page .guru-tours__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    align-items: start;
}

body.guru-page .guru-tour {
    height: 443px;
    border-radius: 20px;
    border: 1px solid rgba(35, 180, 177, 0.35);
    background: #1F315D;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

body.guru-page .guru-tour__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "title dates"
        "pill dates";
    align-items: start;
    column-gap: 12px;
    row-gap: 16px;
    min-height: 129px;
    padding: 25px 25px 24px;
    box-sizing: border-box;
    background: linear-gradient(90deg, #1F315D 0%, #1E6B81 55%, #23B4B1 100%);
}

body.guru-page .guru-tour__title {
    grid-area: title;
    margin: 0;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 26px;
    line-height: 1;
    color: #fff;
}

body.guru-page .guru-tour__stage-pill {
    grid-area: pill;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.55);
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    box-sizing: border-box;
}

body.guru-page .guru-tour__dates {
    grid-area: dates;
    padding-top: 2px;
    font-family: "Pragmatica Extended", sans-serif;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.95);
    white-space: nowrap;
    font-size: 18px;
    line-height: 1.4;
}

body.guru-page .guru-tour__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px;
    padding: 25px 25px 18px;
    color: rgba(255, 255, 255, 0.75);
    font-size: 16px;
    line-height: 1.15;
}

body.guru-page .guru-tour__meta-item {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 18px;
    padding-left: 26px;
    min-width: 0;
}

body.guru-page .guru-tour__meta-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 18px;
    height: 18px;
    transform: translateY(-50%);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    box-sizing: border-box;
}

body.guru-page .guru-tour__meta-item--region::before {
    background-image: url(/public/img/guru/icon-building.svg);
}

body.guru-page .guru-tour__meta-item--address::before {
    background-image: url(/public/img/guru/icon-pin.svg);
}

body.guru-page .guru-tour__meta-item::after {
    content: none;
}

body.guru-page .guru-tour__disc-wrap {
    margin: 0 25px 25px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    margin-top: auto;
    min-height: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

body.guru-page .guru-tour__disc-title {
    margin: 0 0 20px;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 20px;
    line-height: 1.15;
    color: #fff;
    font-weight: 700;
}

body.guru-page .guru-tour__disc {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    min-height: 0;
    overflow: auto;
    align-content: start;
    padding-right: 6px;
}

body.guru-page .guru-tour__disc::-webkit-scrollbar {
    width: 6px;
}

body.guru-page .guru-tour__disc::-webkit-scrollbar-thumb {
    background: rgba(35, 180, 177, 0.45);
    border-radius: 999px;
}

body.guru-page .guru-tour__disc::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.06);
    border-radius: 999px;
}

body.guru-page .guru-tour__disc-item {
    min-height: 74px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 12px;
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.02);
}

body.guru-page .guru-tour__disc-name {
    font-size: 18px;
    line-height: 1.1;
    color: #fff;
}

body.guru-page .guru-tour__disc-date {
    font-size: 15px;
    line-height: 1.2;
    color: var(--guru-accent);
}

/* Rating */
body.guru-page .guru-rating {
    position: relative;
    overflow: hidden;
    border-radius: 30px 30px 0 0;
    width: 100%;
    margin-top: -80px;
    z-index: 1;
    padding-bottom: 100px;
}

body.guru-page .guru-rating::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: url(/public/img/guru/section-rating.png) no-repeat, linear-gradient(90deg, #1F315D 0%, #1E6B81 100%);
    background-size: 125%;
    background-position: center top;
    z-index: 0;
    pointer-events: none;
}

/* Левый верхний угол: заливка «дырки» border-radius поверх туров (там тот же #1F315D) */
body.guru-page .guru-rating::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    background: radial-gradient(circle at 100% 100%, transparent 30px, var(--guru-bg) 31px);
    z-index: 0;
    pointer-events: none;
}

body.guru-page .guru-rating__body {
    position: relative;
    z-index: 1;
    max-width: 1312px;
    margin: 0 auto;
    padding: 80px 24px;
    box-sizing: border-box;
}

body.guru-page .guru-rating-pane {
    display: none;
}

body.guru-page .guru-rating-pane.is-active {
    display: block;
}

body.guru-page .guru-table-wrap {
    border-radius: 20px;
    border: 1px solid rgba(35, 180, 177, 0.35);
    /* Только горизонтальный скролл (для узкой таблицы на адаптиве, см.
       SPORTM-578 ниже). Декоративная медаль места (.guru-table__medal)
       крупнее своей ячейки (transform: scale(2.5)) и «вылезает» за пределы
       строки по дизайну — с overflow:auto по обеим осям это визуальное
       переполнение засчитывалось как прокручиваемый контент и включало
       вертикальный скролл таблицы даже при одной строке.
       overflow-y: hidden (а не visible) — иначе браузер сам вычисляет
       overflow-y как auto, раз overflow-x не visible (правило CSS Overflow
       §3), и скролл возвращается. */
    overflow-x: auto;
    overflow-y: hidden;
    background: linear-gradient(90deg, #1F315D 0%, #1E6B81 100%);
}

body.guru-page .guru-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

body.guru-page .guru-table__col--place {
    width: 107px;
}

body.guru-page .guru-table__col--bp {
    width: 38.1%;
}

body.guru-page .guru-table__col--region {
    width: 38.1%;
}

body.guru-page .guru-table__col--points {
    width: 206px;
}

body.guru-page .guru-table th,
body.guru-page .guru-table td {
    height: 63px;
    padding: 20px 25px;
    text-align: left;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-sizing: border-box;
    vertical-align: middle;
}

body.guru-page .guru-table th {
    height: 61px;
    color: rgba(255, 255, 255, 0.72);
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 16px;
    font-weight: 500;
    background: rgba(255, 255, 255, 0.03);
}

body.guru-page .guru-table td {
    color: #fff;
    font-size: 18px;
    line-height: 1.2;
}

body.guru-page .guru-table__points {
    color: #1e6b81;
    font-weight: 700;
}

body.guru-page .guru-table th.guru-table__points,
body.guru-page .guru-table td.guru-table__points {
    text-align: center;
}

body.guru-page .guru-table th.guru-table__place,
body.guru-page .guru-table td.guru-table__place {
    text-align: center;
    padding-left: 0;
    padding-right: 0;
}

body.guru-page .guru-table td.guru-table__place {
    font-weight: 700;
}

body.guru-page .guru-table__medal {
    width: 40px;
    height: 40px;
    transform: scale(2.5);
    display: block;
    margin: 0 auto;
}

body.guru-page .guru-table__row.is-hidden {
    display: none;
}

/* History */
body.guru-page .guru-history {
    position: relative;
    overflow: hidden;
    border-radius: 30px 30px 0 0;
    width: 100%;
    margin-top: -100px;
    z-index: 1;
    /* Figma 5474:44220 — сплошной #1F315D, линии отдельным слоем */
    background: #1F315D;
}

body.guru-page .guru-history::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    /* Диагональные линии/блики поверх заливки (в макете opacity ~0.12) */
    background: url(/public/img/guru/section-history.png) no-repeat center;
    background-size: cover;
    opacity: 0.12;
    z-index: 0;
    pointer-events: none;
}

body.guru-page .guru-history::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    background: radial-gradient(circle at 100% 100%, transparent 30px, var(--guru-bg) 31px);
    z-index: 0;
    pointer-events: none;
}

body.guru-page .guru-history__body {
    position: relative;
    z-index: 1;
    max-width: 1312px;
    margin: 0 auto;
    padding: 80px 24px 96px;
    box-sizing: border-box;
}

body.guru-page .guru-history .firsts-call-section-label,
body.guru-page .guru-history .firsts-call-section-heading {
    text-align: center;
}

body.guru-page .guru-history__slider {
    margin-top: 60px;
}

body.guru-page .guru-history__card {
    display: none;
    position: relative;
    width: 100%;
    min-height: 432px;
    box-sizing: border-box;
}

body.guru-page .guru-history__card.is-active {
    display: block;
}

body.guru-page .guru-history__card-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: fill;
    pointer-events: none;
    z-index: 0;
}

body.guru-page .guru-history__card-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 576px) minmax(0, 1fr);
    gap: 40px;
    align-items: stretch;
    padding: 40px;
    box-sizing: border-box;
    min-height: 432px;
}

body.guru-page .guru-history__card--text-only .guru-history__card-inner {
    grid-template-columns: 1fr;
}

body.guru-page .guru-history__card--text-only .guru-history__content {
    min-height: 0;
}

body.guru-page .guru-history__media {
    position: relative;
    width: 100%;
    max-width: 576px;
    height: 347px;
    border-radius: 16px;
    overflow: hidden;
    background: rgba(6, 24, 47, 0.45);
    flex-shrink: 0;
    align-self: center;
}

body.guru-page .guru-history__media img,
body.guru-page .guru-history__thumb,
body.guru-page .guru-history__placeholder {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body.guru-page .guru-history__placeholder {
    background: linear-gradient(135deg, rgba(31, 49, 93, 0.9), rgba(30, 107, 129, 0.7));
    z-index: 0;
}

body.guru-page .guru-history__thumb {
    z-index: 1;
}

body.guru-page .guru-history__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 75px;
    height: 75px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
    z-index: 2;
}

body.guru-page .guru-history__play::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    transform: translate(-50%, -50%);
    border-style: solid;
    border-width: 12px 0 12px 18px;
    border-color: transparent transparent transparent #06182f;
}

body.guru-page .guru-history__content {
    display: flex;
    flex-direction: column;
    min-height: 347px;
    min-width: 0;
    padding-top: 4px;
}

body.guru-page .guru-history__title {
    margin: 0 0 20px;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
}

body.guru-page .guru-history__text {
    margin: 0;
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.92);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 7;
    overflow: hidden;
}

body.guru-page .guru-history__tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    margin-top: auto;
    padding-top: 24px;
}

body.guru-page .guru-history__pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 35px;
    padding: 6px 12px;
    border-radius: 100px;
    border: 1px solid var(--guru-accent);
    background: transparent;
    color: var(--guru-accent);
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    box-sizing: border-box;
}

body.guru-page .guru-history__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    margin-top: 30px;
}

body.guru-page .guru-history__nav .guru-pager__arrow {
    cursor: pointer;
    padding: 0;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
}

body.guru-page .guru-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 48px auto 0;
    max-width: max-content;
    min-height: 52px;
    padding: 14px 28px;
    box-sizing: border-box;
    border-radius: 100px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(6, 24, 47, 0.45);
    color: #fff;
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
}

body.guru-page .guru-pager {
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: center;
    margin-top: 28px;
}

body.guru-page .guru-pager__pages {
    display: flex;
    align-items: center;
    gap: 12px;
}

body.guru-page .guru-pager__page,
body.guru-page .guru-pager__arrow {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(35, 180, 177, 0.9);
    background: transparent;
    color: var(--guru-accent);
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    box-sizing: border-box;
    transition: background 0.2s, border-color 0.2s, color 0.2s, opacity 0.2s;
}

body.guru-page .guru-pager__page > span {
    color: inherit;
    line-height: 1;
}

body.guru-page .guru-pager__page--dots {
    cursor: default;
}

body.guru-page .guru-pager__arrow.is-disabled {
    opacity: 0.45;
    cursor: default;
}

body.guru-page .guru-pager__arrow-icon {
    display: block;
    width: 17px;
    height: 17px;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

body.guru-page .guru-pager__arrow-icon--left {
    -webkit-mask-image: url("/public/img/ArrowPaginationLeft.svg");
    mask-image: url("/public/img/ArrowPaginationLeft.svg");
}

body.guru-page .guru-pager__arrow-icon--right {
    -webkit-mask-image: url("/public/img/ArrowPaginationRight.svg");
    mask-image: url("/public/img/ArrowPaginationRight.svg");
}

body.guru-page .guru-pager__page.is-active {
    background: var(--guru-accent);
    border-color: var(--guru-accent);
    color: #fff;
}

/* Rating mobile cards + roadmap stack — desktop defaults */
body.guru-page .guru-rating-cards {
    display: none;
    flex-direction: column;
    gap: 12px;
}

body.guru-page .guru-rating-card {
    display: flex;
    align-items: stretch;
    gap: 16px;
    padding: 16px;
    border-radius: 16px;
    border: 1px solid rgba(35, 180, 177, 0.35);
    background: rgba(31, 49, 93, 0.72);
    box-sizing: border-box;
}

body.guru-page .guru-rating-card.is-hidden {
    display: none;
}

body.guru-page .guru-rating-card__place {
    flex: 0 0 56px;
    display: flex;
    align-items: center;
    justify-content: center;
}

body.guru-page .guru-rating-card__place .guru-table__medal {
    width: 40px;
    height: 40px;
    transform: none;
    margin: 0;
}

body.guru-page .guru-rating-card__place-num {
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #fff;
}

body.guru-page .guru-rating-card__body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

body.guru-page .guru-rating-card__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

body.guru-page .guru-rating-card__label {
    flex: 0 0 auto;
    color: rgba(255, 255, 255, 0.55);
    font-family: "Pragmatica", sans-serif;
    font-size: 13px;
}

body.guru-page .guru-rating-card__value {
    flex: 1 1 auto;
    min-width: 0;
    text-align: right;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 15px;
    font-weight: 700;
    word-break: break-word;
}

body.guru-page .guru-roadmap__stack {
    display: none;
    flex-direction: column;
    gap: 30px;
    margin-top: 24px;
}

body.guru-page .guru-roadmap__months-pills {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
    gap: 8px;
}

body.guru-page .guru-roadmap__month-pill {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    padding: 12px 18px;
    border-radius: 10px;
    background: #1F315D;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 16px;
    font-weight: 700;
    box-sizing: border-box;
}

body.guru-page .guru-roadmap__stack-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 96px;
    padding: 20px 22px;
    border-radius: 20px;
    box-sizing: border-box;
    background: linear-gradient(90deg, #1F315D 0%, #1E6B81 55%, #23B4B1 100%);
}

/* ── Guru page footer ─────────────────────────────────────────────── */

body.guru-page footer {
    background: var(--guru-navy) !important;
    background-image: none !important;
    border-radius: 0;
    padding: 60px 0 40px;
    margin-left: 0;
    margin-right: 0;
}

body.guru-page footer .row.container,
body.guru-page footer .footer-bottom {
    max-width: 1312px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;
}

body.guru-page footer .row.container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
    padding-bottom: 0;
}

body.guru-page .footer-logos {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

body.guru-page .footer-logos .logo img {
    height: 50px;
    width: auto;
}

body.guru-page .footer-logo-firsts {
    height: 36px;
    width: auto;
}

body.guru-page .footer-center {
    flex: 1;
    min-width: 0;
}

body.guru-page .footer--links {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 24px;
}

body.guru-page .footer--links a {
    color: rgba(255, 255, 255, 0.7);
    font-family: 'Pragmatica', sans-serif;
    font-size: 14px;
    text-decoration: none;
    transition: color 0.2s;
}

body.guru-page .footer--links a:hover {
    color: #fff;
}

body.guru-page footer .social {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

body.guru-page footer .social img {
    height: 36px;
    width: auto;
}

body.guru-page .footer-bottom {
    display: block;
    margin-top: 32px;
}

body.guru-page .footer-delimiter {
    height: 1px;
    background: rgba(255, 255, 255, 0.12);
    margin-bottom: 20px;
}

body.guru-page .footer-info {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    color: rgba(255, 255, 255, 0.35);
    font-family: 'Pragmatica', sans-serif;
    font-size: 13px;
}

body.guru-page .footer-info-address {
    margin-left: auto;
}

/* ── Guru adaptive: tablet / laptop ───────────────────────────────── */

@media (max-width: 1280px) and (min-width: 1025px) {
    body.guru-page .guru-about__layout {
        grid-template-columns: minmax(360px, 42%) minmax(0, 1fr);
    }

    body.guru-page .guru-about__layout--bottom {
        grid-template-columns: minmax(0, 1fr) minmax(360px, 42%);
        margin-top: -80px;
    }

    body.guru-page .guru-about__illus,
    body.guru-page .guru-about__illus--basket,
    body.guru-page .guru-about__illus--jackets {
        width: 100%;
    }

    body.guru-page .guru-about__illus img,
    body.guru-page .guru-about__illus--basket img,
    body.guru-page .guru-about__illus--jackets img {
        width: 100%;
        max-width: 520px;
        margin-left: 0;
        margin-right: 0;
    }

    body.guru-page .guru-about__illus--basket img {
        margin-top: 40px;
    }

    body.guru-page .guru-card__whom {
        gap: 16px;
    }

    body.guru-page .guru-card__deco--whom {
        width: 120px;
    }

    body.guru-page .guru-card__inner {
        padding: 24px;
    }
}

@media (max-width: 1024px) {
    body.guru-page {
        overflow-x: hidden;
    }

    body.guru-page header {
        margin: 12px 16px;
    }

    body.guru-page .guru-hero {
        margin-top: 0;
        min-height: 100vh;
        min-height: 100dvh;
        height: auto;
        padding: 96px 24px 48px;
        background-position: center top;
        background-size: cover;
        background-color: #1F315D;
        justify-content: center;
        align-items: center;
        text-align: center;
        box-sizing: border-box;
    }

    /* Контент по центру секции; небольшой запас сверху под шапку. */
    body.guru-page .guru-hero__title {
        width: min(340px, 86vw);
        margin: 0 auto;
    }

    body.guru-page .guru-hero__lead {
        margin-top: 20px;
        font-size: 16px;
        line-height: 1.45;
        max-width: 640px;
    }

    /* width:100% (не auto) — важно для .guru-cta--later ниже: её
       max-width:100% резолвится в проценты от containing block, а он
       height/width считается «indefinite», пока сам .guru-hero__cta —
       flex-item с width:auto (shrink-to-fit). Из-за этого max-width:100%
       кнопки не работал вообще, и «Регистрация откроется …» (425px)
       вылезала за экран на 360 вместо переноса на вторую строку. */
    body.guru-page .guru-hero__cta {
        width: 100%;
        max-width: 100%;
        margin: 24px auto 0;
        padding: 0 12px;
        box-sizing: border-box;
    }

    /* SPORTM-662/663: width не переопределяем — фиксированная ширина каждого
       состояния (.guru-cta--accept/--closed/--unavailable/--later) задана
       в базовых стайлах (см. выше) и должна оставаться одинаковой на всех
       разрешениях, включая 1024/768/640/480/360. */
    body.guru-page .guru-hero__cta .firsts-call-btn,
    body.guru-page .guru-hero__cta .guru-cta {
        display: inline-flex;
        box-sizing: border-box;
        justify-content: center;
        align-items: center;
        text-align: center;
        line-height: 1.2;
        padding: 0 24px;
        font-size: 18px;
        margin-top: 0;
        height: 60px;
        min-height: 60px;
    }

    body.guru-page .guru-hero__cta .guru-cta--later {
        height: auto;
        min-height: 60px;
        padding-top: 8px;
        padding-bottom: 8px;
        white-space: normal;
    }

    body.guru-page .guru-section .guru-about__body,
    body.guru-page .guru-section .guru-tours__body,
    body.guru-page .guru-section .guru-rating__body,
    body.guru-page .guru-history__body,
    body.guru-page .guru-rating__body {
        padding: 56px 16px;
    }

    body.guru-page .guru-stages-wrap > .guru-stages {
        padding-left: 16px;
        padding-right: 16px;
    }

    body.guru-page .guru-stages-wrap {
        padding-top: 40px;
        padding-bottom: 72px;
    }

    body.guru-page .guru-about__layout,
    body.guru-page .guru-about__layout--bottom {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-top: 28px;
    }

    body.guru-page .guru-about__layout--bottom {
        margin-top: 36px;
    }

    /* Порядок на 1024–360: О проекте → корзина → Для кого → Задачи → куртки → Как принять участие */
    body.guru-page .guru-about__body {
        display: flex;
        flex-direction: column;
        gap: 24px;
    }

    body.guru-page .guru-about__layout,
    body.guru-page .guru-about__layout--bottom,
    body.guru-page .guru-about__cards {
        display: contents;
    }

    body.guru-page .guru-card--about { order: 1; }
    body.guru-page .guru-about__illus--basket { order: 2; }
    body.guru-page .guru-card--whom { order: 3; }
    body.guru-page .guru-card--tasks { order: 4; }
    body.guru-page .guru-about__illus--jackets { order: 5; }
    body.guru-page .guru-card--how { order: 6; }

    body.guru-page .guru-about__illus,
    body.guru-page .guru-about__illus--basket,
    body.guru-page .guru-about__illus--jackets {
        width: min(420px, 78vw);
        margin: 0 auto;
        justify-self: center;
    }

    body.guru-page .guru-about__illus img,
    body.guru-page .guru-about__illus--basket img,
    body.guru-page .guru-about__illus--jackets img {
        width: 100%;
        max-width: 420px;
        margin: 0 auto;
        position: static;
    }

    body.guru-page .guru-about__illus--basket img {
        margin-top: 0;
        margin-left: auto;
    }

    body.guru-page .guru-about__illus--jackets img {
        margin-right: auto;
    }

    body.guru-page .guru-card__inner {
        padding: 22px 18px;
    }

    body.guru-page .guru-card__whom {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    body.guru-page .guru-card__title {
        font-size: 24px;
    }

    body.guru-page .guru-card__deco {
        max-width: 42%;
        width: 120px;
    }

    body.guru-page .guru-badge {
        white-space: normal;
        text-align: left;
        line-height: 1.3;
    }

    body.guru-page .guru-stage {
        grid-template-columns: auto 1fr;
        grid-template-areas:
            "num meta"
            "body body";
        height: auto;
        min-height: 0;
        padding: 20px;
        gap: 12px 16px;
        align-items: center;
        overflow: hidden;
        border: none;
        border-radius: 0;
        background: rgba(35, 180, 177, 0.45);
        clip-path: var(--guru-clip-stage);
    }

    body.guru-page .guru-stage::before {
        display: block;
        border-radius: 0;
        clip-path: var(--guru-clip-stage-inner);
        background: #1F315D;
    }

    body.guru-page .guru-stage__num {
        width: 84px;
        height: 84px;
        font-size: 38px;
        clip-path: none;
        border-radius: 10px;
        border: 1px solid var(--guru-accent);
        background: transparent;
    }

    body.guru-page .guru-stage__num::before {
        display: none;
    }

    body.guru-page .guru-stage__title {
        font-size: 20px;
    }

    body.guru-page .guru-stage__desc {
        font-size: 14px;
    }

    body.guru-page .guru-stage__meta {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
    }

    body.guru-page .guru-pill {
        white-space: normal;
        height: auto;
        min-height: 35px;
        padding: 8px 14px;
        text-align: center;
        line-height: 1.25;
    }

    body.guru-page .guru-roadmap {
        margin-top: 56px;
    }

    body.guru-page .guru-roadmap__grid {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        padding-bottom: 8px;
    }

    body.guru-page .guru-roadmap__months,
    body.guru-page .guru-roadmap__cells,
    body.guru-page .guru-roadmap__track {
        min-width: 960px;
    }

    body.guru-page .guru-roadmap__stack {
        display: none;
    }

    body.guru-page .guru-roadmap__bar-stage {
        font-size: 13px;
    }

    body.guru-page .guru-roadmap__bar-icon {
        width: 40px;
        height: 40px;
    }

    body.guru-page .guru-filters {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        margin: 28px 0 20px;
    }

    body.guru-page .guru-tabs {
        display: flex;
        width: 100%;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
    }

    body.guru-page .guru-tab {
        flex: 1 1 0;
        min-width: max-content;
        padding: 9px 14px;
        font-size: 14px;
        white-space: nowrap;
    }

    body.guru-page .guru-select {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    body.guru-page .guru-tours,
    body.guru-page .guru-rating,
    body.guru-page .guru-history {
        border-radius: 24px 24px 0 0;
    }

    body.guru-page .guru-tours {
        margin-top: -20px;
        padding-bottom: 40px;
    }

    body.guru-page .guru-rating {
        margin-top: -56px;
        padding-bottom: 64px;
    }

    body.guru-page .guru-history {
        margin-top: -64px;
    }

    body.guru-page .guru-tours__grid {
        grid-template-columns: 1fr;
    }

    body.guru-page .guru-tour {
        height: auto;
        min-height: 0;
    }

    body.guru-page .guru-tour__head {
        min-height: 0;
        padding: 20px;
        grid-template-columns: 1fr;
        grid-template-areas:
            "title"
            "dates"
            "pill";
        gap: 12px;
    }

    body.guru-page .guru-tour__title {
        margin: 0;
        font-size: 22px;
    }

    body.guru-page .guru-tour__dates {
        font-size: 16px;
        white-space: normal;
    }

    body.guru-page .guru-tour__meta {
        padding: 20px 20px 16px;
        font-size: 14px;
    }

    body.guru-page .guru-tour__disc-wrap {
        margin: 0 20px 20px;
        padding-top: 16px;
    }

    body.guru-page .guru-tour__disc {
        grid-template-columns: 1fr;
        overflow: visible;
    }

    body.guru-page .guru-tour__disc-name {
        font-size: 16px;
    }

    body.guru-page .guru-tour__disc-date {
        font-size: 14px;
        word-break: break-word;
    }

    body.guru-page .guru-history__slider {
        margin-top: 36px;
        touch-action: pan-y;
        width: 100%;
        min-width: 0;
    }

    body.guru-page .guru-history__card {
        min-height: 0;
        width: 100%;
        overflow: hidden;
        border-radius: 0;
        background: rgba(255, 255, 255, 0.3);
        clip-path: var(--guru-clip-history);
    }

    body.guru-page .guru-history__card-bg {
        display: none;
    }

    body.guru-page .guru-history__card::before {
        content: "";
        position: absolute;
        inset: 1px;
        z-index: 0;
        pointer-events: none;
        border-radius: 0;
        background: linear-gradient(270deg, #1F315D 0%, #1E6B81 100%);
        clip-path: var(--guru-clip-history-inner);
    }

    body.guru-page .guru-history__card-inner {
        grid-template-columns: 1fr;
        padding: 20px;
        min-height: 0;
        gap: 20px;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    body.guru-page .guru-history__media {
        width: 100%;
        max-width: none;
        height: auto;
        aspect-ratio: 16 / 10;
        align-self: stretch;
    }

    body.guru-page .guru-history__play {
        width: 56px;
        height: 56px;
    }

    body.guru-page .guru-history__play::before {
        border-width: 9px 0 9px 14px;
    }

    body.guru-page .guru-history__content {
        min-height: 0;
        width: 100%;
    }

    body.guru-page .guru-history__title {
        font-size: 22px;
        margin-bottom: 14px;
        overflow-wrap: anywhere;
    }

    body.guru-page .guru-history__text {
        -webkit-line-clamp: unset;
        font-size: 15px;
        overflow: visible;
    }

    body.guru-page .guru-history__tags {
        justify-content: flex-end;
        width: 100%;
        max-width: 100%;
    }

    body.guru-page .guru-history__pill {
        white-space: normal;
        max-width: 100%;
        text-align: center;
        overflow-wrap: anywhere;
    }

    body.guru-page .guru-history__nav {
        gap: 20px;
        margin-top: 24px;
    }

    body.guru-page .guru-pager {
        gap: 8px;
        margin-top: 24px;
        flex-wrap: wrap;
    }

    body.guru-page .guru-pager__pages {
        gap: 8px;
        flex-wrap: wrap;
        justify-content: center;
    }

    body.guru-page .guru-pager__page,
    body.guru-page .guru-pager__arrow {
        width: 40px;
        height: 40px;
        font-size: 14px;
    }

    body.guru-page .guru-empty {
        margin-top: 36px;
        padding: 12px 20px;
        font-size: 15px;
        line-height: 1.35;
        max-width: calc(100% - 32px);
    }

    body.guru-page .firsts-call-section-heading {
        font-size: 32px;
        line-height: 1.15;
    }
}

/* ── Guru adaptive: mobile ────────────────────────────────────────── */

@media (max-width: 768px) {
    body.guru-page footer {
        padding: 40px 0 28px;
    }

    body.guru-page footer .row.container,
    body.guru-page footer .footer-bottom {
        padding-left: 16px;
        padding-right: 16px;
    }

    body.guru-page footer .row.container {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 20px;
    }

    body.guru-page .footer-logos {
        justify-content: center;
        flex-wrap: wrap;
    }

    body.guru-page .footer--links {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 10px;
        text-align: center;
    }

    body.guru-page footer .social {
        justify-content: center;
    }

    body.guru-page .footer-info {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: 6px;
    }

    body.guru-page .footer-info-address {
        margin-left: 0;
    }

    body.guru-page .guru-hero {
        padding: 80px 16px 40px;
        background-position: center top;
        background-size: cover;
        min-height: 100vh;
        min-height: 100dvh;
        justify-content: center;
        align-items: center;
    }

    body.guru-page .guru-hero__title {
        width: min(280px, 82vw);
        margin: 0 auto;
    }

    body.guru-page .guru-hero__lead {
        font-size: 15px;
        margin-top: 20px;
    }

    body.guru-page .guru-hero__cta {
        max-width: none;
    }

    body.guru-page .guru-section .guru-about__body,
    body.guru-page .guru-section .guru-tours__body,
    body.guru-page .guru-section .guru-rating__body,
    body.guru-page .guru-history__body,
    body.guru-page .guru-rating__body {
        padding: 44px 16px;
    }

    body.guru-page .guru-about__cards {
        gap: 20px;
    }

    body.guru-page .guru-card__title {
        font-size: 22px;
    }

    body.guru-page .guru-card__headline {
        font-size: 16px;
    }

    body.guru-page .guru-card__text,
    body.guru-page .guru-steps p {
        font-size: 14px;
    }

    body.guru-page .guru-steps strong {
        font-size: 16px;
    }

    body.guru-page .guru-steps__num {
        flex-basis: 36px;
        width: 36px;
        height: 36px;
        font-size: 15px;
    }

    /* Мобилка: тот же таймлайн, горизонтальный скролл */
    body.guru-page .guru-roadmap__grid {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
    }

    body.guru-page .guru-roadmap__stack {
        display: none;
    }

    body.guru-page .guru-roadmap__stack-item {
        width: 100%;
        box-sizing: border-box;
        min-height: 80px;
        padding: 16px 20px;
    }

    body.guru-page .guru-roadmap__bar-stage {
        font-size: 15px;
    }

    body.guru-page .guru-roadmap__bar-dates {
        font-size: 14px;
        white-space: normal;
    }

    body.guru-page .guru-stage {
        grid-template-columns: 84px 1fr;
        grid-template-areas:
            "num meta"
            "body body";
        padding: 16px;
        column-gap: 12px;
        row-gap: 12px;
    }

    body.guru-page .guru-stage__num {
        width: 84px;
        height: 84px;
        font-size: 38px;
        border-radius: 10px;
    }

    body.guru-page .guru-stage__title {
        font-size: 18px;
        margin-bottom: 8px;
    }

    body.guru-page .guru-tour__head {
        padding: 16px;
    }

    body.guru-page .guru-tour__title {
        font-size: 20px;
    }

    body.guru-page .guru-tour__meta {
        padding: 16px;
    }

    body.guru-page .guru-tour__disc-wrap {
        margin: 0 16px 16px;
    }

    body.guru-page .guru-tour__disc-item {
        min-height: 64px;
        padding: 12px 14px;
    }

    /* SPORTM-578: таблица остаётся на всех ширинах (без карточек), горизонтальный скролл */
    body.guru-page .guru-table-wrap {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.guru-page .guru-rating-cards {
        display: none;
    }

    body.guru-page .guru-table {
        min-width: 640px;
    }

    body.guru-page .guru-rating-card__place .guru-table__medal {
        transform: none;
        width: 36px;
        height: 36px;
    }

    body.guru-page .guru-history__card-inner {
        padding: 20px;
    }

    body.guru-page .guru-history__content {
        min-height: 0;
    }

    body.guru-page .guru-history__title {
        font-size: 22px;
    }

    body.guru-page .guru-history__text {
        font-size: 16px;
    }

    body.guru-page .guru-history__pill {
        white-space: normal;
        text-align: center;
    }

    body.guru-page .firsts-call-section-heading {
        font-size: 28px;
    }

    body.guru-page .guru-tours::before,
    body.guru-page .guru-rating::before {
        background-size: cover;
    }
}

@media (max-width: 640px) {
    body.guru-page .guru-hero {
        padding: 72px 16px 32px;
        background-position: center top;
        background-size: cover;
        min-height: 100vh;
        min-height: 100dvh;
        justify-content: center;
        align-items: center;
    }

    body.guru-page .guru-hero__title {
        width: min(260px, 88vw);
        margin: 0 auto;
    }

    /* SPORTM-628: заголовок карточки и декоративная полоса — столбиком, слева */
    body.guru-page .guru-card__head {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 24px;
    }

    body.guru-page .guru-card__deco,
    body.guru-page .guru-card__deco--whom,
    body.guru-page .guru-card__deco--rings {
        width: 198px;
        max-width: 100%;
        flex: none;
        align-self: flex-start;
    }

    body.guru-page .guru-card--about .guru-card__deco {
        width: 244px;
    }

    body.guru-page .guru-card--whom .guru-card__deco {
        width: 206px;
    }

    body.guru-page .guru-roadmap__stack-item {
        padding: 16px 18px;
    }

    body.guru-page .guru-history__card-inner {
        padding: 16px;
    }

    body.guru-page .guru-history__text {
        font-size: 15px;
    }
}

@media (max-width: 480px) {
    body.guru-page .guru-hero {
        padding: 64px 12px 28px;
        background-position: center top;
        background-size: cover;
        min-height: 100vh;
        min-height: 100dvh;
        justify-content: center;
        align-items: center;
    }

    body.guru-page .guru-hero__title {
        margin: 0 auto;
    }

    body.guru-page .guru-hero__cta .firsts-call-btn,
    body.guru-page .guru-hero__cta .guru-cta {
        font-size: 18px;
        padding: 0 20px;
    }

    body.guru-page .guru-hero__cta .guru-cta--later {
        height: auto;
        min-height: 60px;
        padding: 8px 16px;
        white-space: normal;
    }

    body.guru-page .guru-roadmap__stack-item {
        padding: 14px 16px;
    }

    body.guru-page .guru-roadmap__bar-stage,
    body.guru-page .guru-roadmap__bar-dates {
        font-size: 14px;
    }

    body.guru-page .guru-tour__head {
        padding: 16px 14px;
    }

    body.guru-page .guru-tour__meta {
        padding: 14px;
    }

    body.guru-page .guru-tour__disc-wrap {
        margin-left: 14px;
        margin-right: 14px;
        margin-bottom: 14px;
    }

    body.guru-page .guru-history__card-inner {
        padding: 14px;
    }

    body.guru-page .guru-history__title {
        font-size: 20px;
    }

    body.guru-page .guru-tab {
        font-size: 13px;
        padding: 8px 12px;
    }

    body.guru-page .guru-select {
        font-size: 14px;
        padding-left: 16px;
        padding-right: 40px;
        background-position: right 14px center;
    }

    body.guru-page .guru-pager__page,
    body.guru-page .guru-pager__arrow {
        width: 36px;
        height: 36px;
    }

    body.guru-page .firsts-call-section-heading {
        font-size: 24px;
    }
    body.guru-page .guru-about__illus--basket .guru-about__illus-img, body.guru-page .guru-about__illus--basket img {
        /* margin-left: 0px;
        margin-top: 0; */
    }
}

@media (max-width: 360px) {
    body.guru-page .guru-hero {
        padding: 56px 12px 24px;
        background-size: cover;
        min-height: 100vh;
        min-height: 100dvh;
        justify-content: center;
        align-items: center;
    }

    body.guru-page .guru-hero__title {
        width: min(240px, 90vw);
        margin: 0 auto;
    }

    body.guru-page .guru-hero__lead {
        font-size: 14px;
        margin-top: 16px;
    }

    body.guru-page .guru-hero__cta {
        margin-top: 20px;
    }

    /* SPORTM-629: теги даты/формата третьего этапа — столбиком */
    body.guru-page .guru-stage__meta {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-start;
    }
}

/* ==========================================================================
   Гуру Физкультуры — блок ЛК «Команды» (пайплайн этапов)
   ========================================================================== */

.lk-guru-root {
    --lk-guru-cut: 34px;
    --lk-guru-cut-inner: calc(var(--lk-guru-cut) - 1px);
    --lk-guru-radius: 20px;
    --lk-guru-radius-inner: calc(var(--lk-guru-radius) - 1px);
    --lk-guru-card-clip: polygon(
        0px 20px,
        0.17px 17.39px,
        0.68px 14.82px,
        1.52px 12.35px,
        2.68px 10px,
        4.13px 7.82px,
        5.86px 5.86px,
        7.82px 4.13px,
        10px 2.68px,
        12.35px 1.52px,
        14.82px 0.68px,
        17.39px 0.17px,
        20px 0px,
        calc(100% - 34px) 0,
        100% 34px,
        100% calc(100% - 20px),
        calc(100% - 0.17px) calc(100% - 17.39px),
        calc(100% - 0.68px) calc(100% - 14.82px),
        calc(100% - 1.52px) calc(100% - 12.35px),
        calc(100% - 2.68px) calc(100% - 10px),
        calc(100% - 4.13px) calc(100% - 7.82px),
        calc(100% - 5.86px) calc(100% - 5.86px),
        calc(100% - 7.82px) calc(100% - 4.13px),
        calc(100% - 10px) calc(100% - 2.68px),
        calc(100% - 12.35px) calc(100% - 1.52px),
        calc(100% - 14.82px) calc(100% - 0.68px),
        calc(100% - 17.39px) calc(100% - 0.17px),
        calc(100% - 20px) 100%,
        34px 100%,
        0 calc(100% - 34px)
    );
    --lk-guru-card-clip-inner: polygon(
        0px 19px,
        0.16px 16.52px,
        0.65px 14.08px,
        1.45px 11.73px,
        2.55px 9.5px,
        3.93px 7.43px,
        5.56px 5.56px,
        7.43px 3.93px,
        9.5px 2.55px,
        11.73px 1.45px,
        14.08px 0.65px,
        16.52px 0.16px,
        19px 0px,
        calc(100% - 33px) 0,
        100% 33px,
        100% calc(100% - 19px),
        calc(100% - 0.16px) calc(100% - 16.52px),
        calc(100% - 0.65px) calc(100% - 14.08px),
        calc(100% - 1.45px) calc(100% - 11.73px),
        calc(100% - 2.55px) calc(100% - 9.5px),
        calc(100% - 3.93px) calc(100% - 7.43px),
        calc(100% - 5.56px) calc(100% - 5.56px),
        calc(100% - 7.43px) calc(100% - 3.93px),
        calc(100% - 9.5px) calc(100% - 2.55px),
        calc(100% - 11.73px) calc(100% - 1.45px),
        calc(100% - 14.08px) calc(100% - 0.65px),
        calc(100% - 16.52px) calc(100% - 0.16px),
        calc(100% - 19px) 100%,
        33px 100%,
        0 calc(100% - 33px)
    );
    --lk-guru-clip-md: polygon(
        0px 20px,
        0.17px 17.39px,
        0.68px 14.82px,
        1.52px 12.35px,
        2.68px 10px,
        4.13px 7.82px,
        5.86px 5.86px,
        7.82px 4.13px,
        10px 2.68px,
        12.35px 1.52px,
        14.82px 0.68px,
        17.39px 0.17px,
        20px 0px,
        calc(100% - 28px) 0,
        100% 28px,
        100% calc(100% - 20px),
        calc(100% - 17.39px) calc(100% - 0.17px),
        calc(100% - 14.82px) calc(100% - 0.68px),
        calc(100% - 12.35px) calc(100% - 1.52px),
        calc(100% - 10px) calc(100% - 2.68px),
        calc(100% - 7.82px) calc(100% - 4.13px),
        calc(100% - 5.86px) calc(100% - 5.86px),
        calc(100% - 4.13px) calc(100% - 7.82px),
        calc(100% - 2.68px) calc(100% - 10px),
        calc(100% - 1.52px) calc(100% - 12.35px),
        calc(100% - 0.68px) calc(100% - 14.82px),
        calc(100% - 0.17px) calc(100% - 17.39px),
        calc(100% - 20px) 100%,
        28px 100%,
        0 calc(100% - 28px)
    );
    --lk-guru-clip-md-inner: polygon(
        0px 19px,
        0.16px 16.52px,
        0.65px 14.08px,
        1.45px 11.73px,
        2.55px 9.5px,
        3.93px 7.43px,
        5.56px 5.56px,
        7.43px 3.93px,
        9.5px 2.55px,
        11.73px 1.45px,
        14.08px 0.65px,
        16.52px 0.16px,
        19px 0px,
        calc(100% - 27px) 0,
        100% 27px,
        100% calc(100% - 19px),
        calc(100% - 16.52px) calc(100% - 0.16px),
        calc(100% - 14.08px) calc(100% - 0.65px),
        calc(100% - 11.73px) calc(100% - 1.45px),
        calc(100% - 9.5px) calc(100% - 2.55px),
        calc(100% - 7.43px) calc(100% - 3.93px),
        calc(100% - 5.56px) calc(100% - 5.56px),
        calc(100% - 3.93px) calc(100% - 7.43px),
        calc(100% - 2.55px) calc(100% - 9.5px),
        calc(100% - 1.45px) calc(100% - 11.73px),
        calc(100% - 0.65px) calc(100% - 14.08px),
        calc(100% - 0.16px) calc(100% - 16.52px),
        calc(100% - 19px) 100%,
        27px 100%,
        0 calc(100% - 27px)
    );
    --lk-guru-cut-sm: 22px;
    --lk-guru-cut-sm-inner: 21px;
    --lk-guru-radius-sm: 10px;
    --lk-guru-radius-sm-inner: 9px;
    --lk-guru-clip-sm: polygon(
        0px 10px,
        0.09px 8.69px,
        0.34px 7.41px,
        0.76px 6.17px,
        1.34px 5px,
        2.07px 3.91px,
        2.93px 2.93px,
        3.91px 2.07px,
        5px 1.34px,
        6.17px 0.76px,
        7.41px 0.34px,
        8.69px 0.09px,
        10px 0px,
        calc(100% - 22px) 0,
        100% 22px,
        100% calc(100% - 10px),
        calc(100% - 0.09px) calc(100% - 8.69px),
        calc(100% - 0.34px) calc(100% - 7.41px),
        calc(100% - 0.76px) calc(100% - 6.17px),
        calc(100% - 1.34px) calc(100% - 5px),
        calc(100% - 2.07px) calc(100% - 3.91px),
        calc(100% - 2.93px) calc(100% - 2.93px),
        calc(100% - 3.91px) calc(100% - 2.07px),
        calc(100% - 5px) calc(100% - 1.34px),
        calc(100% - 6.17px) calc(100% - 0.76px),
        calc(100% - 7.41px) calc(100% - 0.34px),
        calc(100% - 8.69px) calc(100% - 0.09px),
        calc(100% - 10px) 100%,
        22px 100%,
        0 calc(100% - 22px)
    );
    --lk-guru-clip-sm-inner: polygon(
        0px 9px,
        0.08px 7.83px,
        0.31px 6.67px,
        0.69px 5.56px,
        1.21px 4.5px,
        1.86px 3.52px,
        2.64px 2.64px,
        3.52px 1.86px,
        4.5px 1.21px,
        5.56px 0.69px,
        6.67px 0.31px,
        7.83px 0.08px,
        9px 0px,
        calc(100% - 21px) 0,
        100% 21px,
        100% calc(100% - 9px),
        calc(100% - 0.08px) calc(100% - 7.83px),
        calc(100% - 0.31px) calc(100% - 6.67px),
        calc(100% - 0.69px) calc(100% - 5.56px),
        calc(100% - 1.21px) calc(100% - 4.5px),
        calc(100% - 1.86px) calc(100% - 3.52px),
        calc(100% - 2.64px) calc(100% - 2.64px),
        calc(100% - 3.52px) calc(100% - 1.86px),
        calc(100% - 4.5px) calc(100% - 1.21px),
        calc(100% - 5.56px) calc(100% - 0.69px),
        calc(100% - 6.67px) calc(100% - 0.31px),
        calc(100% - 7.83px) calc(100% - 0.08px),
        calc(100% - 9px) 100%,
        21px 100%,
        0 calc(100% - 21px)
    );
    --lk-guru-border: rgba(255, 255, 255, 0.3);
    --lk-guru-fill: linear-gradient(90deg, #1F315D 0%, #1E6B81 100%);
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Обводка + заливка через два clip-path (скругления + скосы, без border-radius) */
.lk-guru-chamfer,
.lk-guru-root .lk-guru-team-card,
.lk-guru-root .team-empty-card.lk-guru-stub-card,
.lk-guru-root .lk-guru-stage,
.lk-guru-root .lk-guru-step-box {
    border: none !important;
    border-radius: 0 !important;
    position: relative;
    overflow: hidden;
    background: var(--lk-guru-chamfer-border, var(--lk-guru-border));
    clip-path: var(--lk-guru-chamfer-clip, var(--lk-guru-card-clip));
}

.lk-guru-chamfer::before,
.lk-guru-root .lk-guru-team-card::before,
.lk-guru-root .team-empty-card.lk-guru-stub-card::before,
.lk-guru-root .lk-guru-stage::before,
.lk-guru-root .lk-guru-step-box::before {
    content: "";
    position: absolute;
    inset: 1px;
    z-index: 0;
    pointer-events: none;
    background: var(--lk-guru-chamfer-fill, var(--lk-guru-fill));
    clip-path: var(--lk-guru-chamfer-clip-inner, var(--lk-guru-card-clip-inner));
}

.lk-guru-chamfer > *,
.lk-guru-root .lk-guru-team-card > *,
.lk-guru-root .lk-guru-stage > *,
.lk-guru-root .lk-guru-step-box > * {
    position: relative;
    z-index: 1;
}

/* clip-path + border-radius на одном элементе — обводка в углах «съедается» */
.lk-guru-chamfer,
.lk-guru-root .lk-guru-team-card,
.lk-guru-root .team-empty-card.lk-guru-stub-card,
.lk-guru-root .lk-guru-stage,
.lk-guru-root .lk-guru-step-box {
    border-radius: 0 !important;
}

.lk-guru-root .lk-guru-team-card,
.lk-guru-root .team-empty-card.lk-guru-stub-card {
    --lk-guru-chamfer-clip: var(--lk-guru-card-clip);
    --lk-guru-chamfer-clip-inner: var(--lk-guru-card-clip-inner);
}

/* Логотип — готовый PNG (градиент + текст), без CSS-обводки/clip-path */
.lk-guru-root .lk-guru-stub-logo-badge,
.lk-guru-root .lk-guru-card-logo-badge {
    background: transparent;
    border: none !important;
    border-radius: 0 !important;
    clip-path: none;
    box-shadow: none;
    overflow: visible;
    padding: 0;
}

.lk-guru-root .lk-guru-stage {
    background: #1F315D;
    clip-path: none;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 20px !important;
}

.lk-guru-root .lk-guru-step-box {
    background: transparent;
    clip-path: none;
    border: 1px solid #23B4B1 !important;
    border-radius: 10px !important;
}

.team-empty-card.lk-guru-stub-card {
    position: relative;
    align-items: center;
    height: auto;
    overflow: hidden;
    padding: 35px;
    gap: 20px;
}

.team-empty-card.lk-guru-stub-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image:
        radial-gradient(circle at 78% 50%, rgba(35, 180, 177, 0.35) 0%, rgba(35, 180, 177, 0) 55%),
        url('/public/img/guru/lk-stub-jackets.png');
    background-repeat: no-repeat, no-repeat;
    background-position: right center, right -20px center;
    background-size: 440px 440px, 420px auto; 
    pointer-events: none;
}

.lk-guru-stub-card .team-empty-card-logo,
.lk-guru-stub-card .team-empty-card-main {
    position: relative;
    z-index: 1;
}

.lk-guru-stub-card .team-empty-card-logo.lk-guru-stub-logo {
    flex: 0 0 auto;
    width: 290px;
    height: 128px;
    max-width: 100%;
    align-self: center;
    justify-content: center;
    align-items: center;
    padding: 0;
    background: transparent;
}

.lk-guru-stub-logo-badge {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    width: 290px;
    height: 128px;
    padding: 0;
    box-sizing: border-box;
}

.lk-guru-stub-logo-img {
    display: block;
    width: 290px;
    max-width: 100%;
    height: 128px;
    object-fit: contain;
}

.lk-guru-stub-card .team-empty-card-main {
    flex: 1 1 auto;
    gap: 10px;
    justify-content: flex-start;
    padding: 0 180px 0 0;
    max-width: 932px;
}

.lk-guru-stub-title {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
}

.lk-guru-stub-date {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 100px;
    background: #23B4B1;
    border: 1px solid #23B4B1;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}

.lk-guru-stub-text {
    margin: 0;
    max-width: 837px;
    color: #fff;
    opacity: 0.7;
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
}

.lk-guru-stub-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 0;
}

.lk-guru-stub-actions .lk-guru-btn--red,
.lk-guru-stub-actions .js-guru-register {
    width: 304px;
    height: 60px;
    min-width: 304px;
    min-height: 60px;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0 20px;
    border-radius: 30px;
    font-size: 18px;
}

.lk-guru-stub-btn-muted {
    min-width: 301px;
    min-height: 60px;
    padding: 10px 20px;
    border: none;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: normal;
    cursor: default;
}

.lk-guru-stub-btn-muted:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.lk-guru-stub-btn-muted.is-disabled,
.lk-guru-stub-btn-muted[disabled] {
    opacity: 1;
    color: #fff;
}


.lk-guru-team-card {
    padding: 35px;
    box-shadow: none;
}

.lk-guru-team-card.lk-team-card {
    background: var(--lk-guru-border) !important;
}

.lk-guru-team-card::after {
    content: none;
}

.lk-guru-card-header {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 0;
}

.lk-guru-card-logo-badge {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 290px;
    height: 128px;
    max-width: 100%;
    padding: 0;
    box-sizing: border-box;
}

.lk-guru-card-logo-img {
    display: block;
    width: 290px;
    max-width: 100%;
    height: 128px;
    object-fit: contain;
}

.lk-guru-card-brand-text {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 4px;
}

.lk-guru-card-title {
    margin: 0;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.lk-guru-card-subtitle {
    margin: 0;
    max-width: 742px;
    color: #fff;
    opacity: 0.7;
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
}

.lk-guru-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 60px;
    padding: 6px 20px;
    border-radius: 100px;
    border: 1px solid #23B4B1;
    background: #23B4B1;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
}

/* «Начать» — Hug 180×60 по макету (SPORTM-606) */
.lk-guru-btn.js-guru-start {
    min-width: 180px;
}

.lk-guru-btn:hover { background: #2fc9c6; color: #fff; }

.lk-guru-btn--instruction {
    flex: 0 0 auto;
    align-self: flex-start;
    box-sizing: border-box;
    width: 180px;
    min-width: 180px;
    max-width: 180px;
    height: 60px;
    min-height: 60px;
    padding: 6px 20px;
    background: #23B4B1;
    border-color: #23B4B1;
    color: #fff;
}

.lk-guru-btn--instruction:hover {
    background: #2fc9c6;
    color: #fff;
}

.lk-guru-btn--ghost { background: rgba(34, 187, 233, 0.18); color: #fff; border-color: transparent; }
.lk-guru-btn--ghost:hover { background: rgba(34, 187, 233, 0.32); color: #fff; }

.lk-guru-btn--red { background: #d90912; border-color: #d90912; color: #fff; }
.lk-guru-btn--red:hover { background: #f01018; color: #fff; }

.lk-guru-btn.is-disabled,
.lk-guru-btn[disabled] {
    background: rgba(255, 255, 255, 0.12);
    border-color: transparent;
    color: rgba(255, 255, 255, 0.55);
    cursor: not-allowed;
    pointer-events: none;
}

.lk-guru-step-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 110px;
    width: 110px;
    height: 110px;
    color: #23B4B1;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 58px;
    font-weight: 700;
    line-height: 1.3;
    box-sizing: border-box;
}

.lk-guru-step-box::before {
    display: none;
}

.lk-guru-stages {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 40px;
}

.lk-guru-stage {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    grid-template-areas:
        "head head"
        "div div"
        "num body";
    column-gap: 20px;
    row-gap: 20px;
    padding: 20px 25px;
    align-items: start;
}

.lk-guru-stage::before {
    display: none;
}

.lk-guru-stage > .lk-guru-step-box {
    grid-area: num;
}

.lk-guru-stage__head {
    grid-area: head;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 0;
}

.lk-guru-stage__head-left {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.lk-guru-stage__title {
    margin: 0;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: normal;
}

.lk-guru-stage__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.lk-guru-stage__dates {
    display: inline-flex;
    align-items: center;
    padding: 14px;
    border-radius: 30px;
    background: linear-gradient(90deg, #1F315D 0%, #23B4B1 100%);
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    min-height: 35px;
    box-sizing: border-box;
}

.lk-guru-stage__divider {
    grid-area: div;
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.1);
}

.lk-guru-stage__body {
    grid-area: body;
    display: flex;
    gap: 20px;
    align-items: flex-start;
    min-width: 0;
}

.lk-guru-stage__content {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.lk-guru-stage__description {
    margin: 0;
    color: #fff;
    opacity: 0.7;
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
}

.lk-guru-stage__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.lk-guru-stage__notice {
    margin: 10px 0 0;
    color: rgba(255, 255, 255, 0.6);
    font-family: "Pragmatica", sans-serif;
    font-size: 13px;
    font-style: italic;
    line-height: 1.4;
}

.lk-guru-stage__group {
    margin: 0;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.lk-guru-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 100px;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
}

.lk-guru-badge__dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: currentColor;
    opacity: 1;
}

.lk-guru-badge__play {
    display: block;
    width: 12px;
    height: 14px;
}

.lk-guru-badge--in_progress { background: #F4F4F4; color: #D90912; }
.lk-guru-badge--planned { background: #F4F4F4; color: #7D7D7D; }
.lk-guru-badge--completed { background: #F4F4F4; color: #000; }
.lk-guru-badge--unavailable { background: #F4F4F4; color: #7D7D7D; }


.lk-guru-locked-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    border: none;
}

.lk-guru-locked-row__title {
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.lk-guru-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 100px;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
}

.lk-guru-status__play {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 0 7px 12px;
    border-color: transparent transparent transparent currentColor;
}

.lk-guru-status__play-img {
    display: block;
    width: 12px;
    height: 14px;
}

.lk-guru-status__cross {
    position: relative;
    display: inline-block;
    width: 12px;
    height: 12px;
    flex: 0 0 auto;
}

.lk-guru-status__cross::before,
.lk-guru-status__cross::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 3px;
    height: 14px;
    margin: -7px 0 0 -1.5px;
    background: currentColor;
    border-radius: 1px;
}

.lk-guru-status__cross::before { transform: rotate(45deg); }
.lk-guru-status__cross::after { transform: rotate(-45deg); }

.lk-guru-status--draft,
.lk-guru-status--accepted { background: #F4F4F4; color: #D90912; }
.lk-guru-status--pending {
    background: #fff;
    color: #D90912;
    border: 1px solid #D90912;
}
.lk-guru-status--needs_revision { background: #F4F4F4; color: #000; }
.lk-guru-status--video-not_done { background: #F4F4F4; color: #000; }
.lk-guru-status--video-done { background: #F4F4F4; color: #D90912; }

.lk-guru-comment {
    box-sizing: border-box;
    width: 100%;
    padding: 20px;
    border-radius: 20px;
    border: 1px solid #23B4B1;
    background: linear-gradient(90deg, #1F315D 0%, #1E6B81 100%);;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
}

.lk-guru-comment b {
    display: block;
    margin: 0;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: normal;
}

.lk-guru-comment p {
    margin: 0;
    color: #fff;
    opacity: 0.5;
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
}

/* ---- Анкета ---- */

.lk-guru-anketa {
    margin-top: 0;
    padding: 0;
    background: transparent;
    border: none;
    width: 100%;
}

.lk-guru-anketa__layout {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.lk-guru-anketa__layout--collapsed {
    display: block;
}

.lk-guru-anketa__main {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.lk-guru-anketa__title {
    margin: 0;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.lk-guru-anketa__title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 0;
}

.lk-guru-anketa__title-row .lk-guru-anketa__title {
    margin: 0;
}

.lk-guru-anketa--collapsed { padding: 0; background: transparent; border: none; }

.lk-guru-anketa__row {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 60px;
    padding: 6px 20px;
    border-radius: 100px;
    background: transparent;
    border: 1px solid #23B4B1;
    color: #23B4B1;
    cursor: pointer;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
}

.lk-guru-anketa__row-title {
    flex: 0 0 auto;
    text-align: center;
    color: #23B4B1;
}

.lk-guru-anketa__chevron {
    width: 15px;
    height: 9px;
    display: block;
    transition: transform 0.2s ease;
}

.lk-guru-anketa--collapsed.is-expanded .lk-guru-anketa__chevron { transform: rotate(180deg); }

.lk-guru-anketa__body {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.lk-guru-anketa--collapsed .lk-guru-anketa__body { display: none; }

.lk-guru-anketa--collapsed.is-expanded .lk-guru-anketa__body { display: flex; }

.lk-guru-anketa__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.lk-guru-field {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.lk-guru-field--full,
.lk-guru-field--address { grid-column: 1 / -1; }

.lk-guru-field__label {
    margin: 0;
    color: #fff;
    opacity: 0.7;
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
}

.lk-guru-field__box {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 12px 20px 10px;
    border-radius: 20px;
    border: none;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    line-height: 1.3;
    word-break: break-word;
    box-sizing: border-box;
}

.lk-guru-field__box.is-placeholder {
    color: #fff;
    opacity: 0.5;
}

/* SPORTM-659: все поля анкеты приглушены, адрес — белый во всех статусах */
.lk-guru-anketa .lk-guru-field:not(.lk-guru-field--address) .lk-guru-field__box {
    color: rgba(255, 255, 255, 0.5);
}

.lk-guru-anketa .lk-guru-field:not(.lk-guru-field--address) .lk-guru-field__box.is-placeholder {
    color: rgba(255, 255, 255, 0.5);
    opacity: 1;
}

.lk-guru-anketa .lk-guru-field--address .lk-guru-field__box {
    color: #fff;
    opacity: 1;
}

.lk-guru-anketa .lk-guru-field--address input.lk-guru-input[type="text"],
.lk-guru-anketa .lk-guru-field--address input.lk-guru-input[type="url"] {
    color: #fff;
}

.lk-guru-required { color: #fff; }

.lk-guru-field__error {
    display: none;
    margin: 0;
    color: #D90912;
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
}

.lk-guru-field__error a {
    color: inherit;
    text-decoration: underline;
}

.lk-guru-team-card input.lk-guru-input[type="text"],
.lk-guru-team-card input.lk-guru-input[type="url"],
.lk-guru-anketa input.lk-guru-input[type="text"],
.lk-guru-anketa input.lk-guru-input[type="url"],
.lk-guru-video input.lk-guru-input[type="text"],
.lk-guru-video input.lk-guru-input[type="url"] {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
    min-height: 44px;
    height: 44px;
    padding: 12px 20px 10px;
    border-radius: 20px;
    border: 1px solid transparent;
    background: rgba(255, 255, 255, 0.1);
    background-color: rgba(255, 255, 255, 0.1);
    color: #fff;
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
    outline: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.lk-guru-team-card input.lk-guru-input::placeholder,
.lk-guru-anketa input.lk-guru-input::placeholder,
.lk-guru-video input.lk-guru-input::placeholder {
    color: rgba(255, 255, 255, 0.5);
    opacity: 1;
}

.lk-guru-team-card input.lk-guru-input[readonly],
.lk-guru-anketa input.lk-guru-input[readonly] {
    background: rgba(255, 255, 255, 0.06);
    background-color: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.55);
}

.lk-guru-team-card input.lk-guru-input.has-error,
.lk-guru-anketa input.lk-guru-input.has-error,
.lk-guru-video input.lk-guru-input.has-error {
    border: 1px solid #D90912;
    box-shadow: none;
}

.lk-guru-team-card input.lk-guru-input.has-error + .lk-guru-field__error,
.lk-guru-team-card input.lk-guru-input.has-error ~ .lk-guru-field__error,
.lk-guru-anketa input.lk-guru-input.has-error + .lk-guru-field__error,
.lk-guru-anketa input.lk-guru-input.has-error ~ .lk-guru-field__error,
.lk-guru-video input.lk-guru-input.has-error + .lk-guru-field__error,
.lk-guru-video input.lk-guru-input.has-error ~ .lk-guru-field__error {
    display: block;
}

.lk-guru-documents {
    margin-top: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.lk-guru-documents__title {
    margin: 0;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}

.lk-guru-doc-row {
    padding: 0;
    border-radius: 0;
    margin-bottom: 0;
    background: transparent;
    border: none;
}

.lk-guru-doc-row__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 0;
}

.lk-guru-doc-row .lk-guru-input { margin-top: 10px; }

.lk-guru-doc-row__label {
    flex: 1 1 auto;
    color: #fff;
    opacity: 0.7;
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    line-height: 1.3;
}

.lk-guru-doc-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex: 0 0 auto;
    color: #23B4B1;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
}

.lk-guru-doc-status__img {
    width: 18px;
    height: 18px;
    display: block;
}

.lk-guru-doc-row.is-filled .lk-guru-doc-status { color: #23B4B1; }
.lk-guru-doc-row.is-empty .lk-guru-doc-status { color: #D90912; }

.lk-guru-anketa__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 0;
}

.lk-guru-anketa__actions .lk-guru-btn {
    min-width: 191px;
    width: auto;
    max-width: 100%;
}

.lk-guru-notice {
    border-radius: 20px;
    padding: 20px;
    background: #1F315D;
    border: 1px solid #23B4B1;
    color: #fff;
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    line-height: normal;
}

.lk-guru-notice b {
    display: block;
    margin-bottom: 10px;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 24px;
    font-weight: 700;
}

.lk-guru-notice p {
    margin: 0 0 10px;
    color: #fff;
    opacity: 0.7;
}

.lk-guru-notice p:last-child { margin-bottom: 0; }
.lk-guru-notice a { color: #22BBE9; text-decoration: underline; }

.lk-guru-submitted-note {
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    width: auto;
    max-width: 100%;
    min-width: 0;
    min-height: 60px;
    padding: 10px 20px;
    box-sizing: border-box;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    text-align: left;
    gap: 10px;
}

/* Анкета: компактнее по высоте, если нужно; видео — полный pill 60px по Figma */
.lk-guru-anketa .lk-guru-submitted-note {
    min-height: 48px;
}

.lk-guru-video {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 30px;
    background: transparent;
    border: none;
    border-radius: 0;
}

.lk-guru-video__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.lk-guru-video__title {
    margin: 0;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.lk-guru-video__guide {
    box-sizing: border-box;
    padding: 20px;
    border-radius: 20px;
    border: 1px solid #23B4B1;
    background: linear-gradient(90deg, #1F315D 0%, #1E6B81 100%);;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.lk-guru-video__guide-title {
    margin: 0;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: normal;
}

.lk-guru-video__guide-cols {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.lk-guru-video__guide-main {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.lk-guru-video__guide-text {
    margin: 0;
    color: #fff;
    opacity: 0.7;
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
}

.lk-guru-video__guide-tech {
    flex: 0 0 292px;
    width: 292px;
    box-sizing: border-box;
    padding: 15px;
    border-radius: 20px;
    border: 1px solid #23B4B1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.lk-guru-video__guide-tech-title {
    margin: 0;
    color: #fff;
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: normal;
}

.lk-guru-video__guide-tech-text {
    margin: 0;
    color: #fff;
    font-family: "Pragmatica", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
}

.lk-guru-video__field {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* SPORTM-660: выполненное задание — ссылка серая, как disabled */
.lk-guru-video__field .lk-guru-field__box {
    color: rgba(255, 255, 255, 0.5);
}

.lk-guru-video__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.lk-guru-video__actions .lk-guru-btn {
    min-width: 191px;
}

/* ---- Поздравление / этап пройден ---- */

.lk-guru-congrats {
    padding: 0;
    margin: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.lk-guru-congrats__title {
    margin: 0;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.lk-guru-congrats__score {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 100px;
    background: #23B4B1;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
}

.lk-guru-stage__address {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin-top: 0;
}

.lk-guru-stage__address-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-family: "Pragmatica", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1;
}

.lk-guru-stage__address-item img {
    width: 18px;
    height: 17px;
    display: block;
    flex: 0 0 auto;
}

/* ---- Расписание внутри секции этапа ---- */

.lk-guru-schedule { margin: 6px 0 4px; }

.lk-guru-schedule__row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.85);
    font-size: 14px;
}

.lk-guru-schedule__row:last-child { border-bottom: none; }
.lk-guru-schedule__date { color: #22BBE9; font-weight: 700; white-space: nowrap; }

/* ---- Результаты (медали) ---- */

.lk-guru-results {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 12px;
    margin-top: 0;
}

.lk-guru-result {
    box-sizing: border-box;
    width: 151px;
    min-height: 145px;
    padding: 12px 16px;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid #3B3838;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    text-align: center;
}

.lk-guru-result--total {
    background: rgba(0, 0, 0, 0.3);
    border-color: #3B3838;
    justify-content: center;
}

.lk-guru-result__value-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    min-height: 76px;
}

.lk-guru-result__value-row--plain {
    min-height: 76px;
}

.lk-guru-result__laurel {
    width: 33px;
    height: 76px;
    display: block;
    flex: 0 0 auto;
    object-fit: contain;
}

.lk-guru-result__value {
    display: block;
    min-width: 1.2em;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 40px;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
}

.lk-guru-result__name {
    display: block;
    margin-top: 0;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
    overflow-wrap: anywhere;
}

/* ---- Модалка «Инструкция» ---- */

.lk-guru-modal.reg-modal,
.lk-guru-modal {
    width: 980px;
    max-width: 94vw;
    max-height: calc(100vh - 32px);
    border-radius: 34px;
    overflow: hidden;
    background: #1F315D;
    border: none;
    box-shadow:
        0 0 64px #23B4B1,
        0 0 0 1px rgba(35, 180, 177, 0.35);
    text-align: left;
    display: flex;
    flex-direction: column;
}

.lk-guru-modal.reg-modal::before,
.lk-guru-modal::before {
    background: #1F315D;
    border-radius: 34px;
}

.lk-guru-modal.reg-modal > div:not(.popup-footer):not(.popup-types-header),
.lk-guru-modal > .lk-guru-modal__body {
    overflow: hidden;
    max-height: none;
}

.lk-guru-modal__header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 91px;
    padding: 30px 56px;
    box-sizing: border-box;
    background: linear-gradient(90deg, #1F315D 0%, #23B4B1 100%);
    flex: 0 0 auto;
}

.lk-guru-modal__header-title {
    margin: 0;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: normal;
    text-align: center;
}

.lk-guru-modal__close {
    position: absolute;
    top: 50%;
    right: 24px;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 50%;
    border: 1.5px solid #1F315D;
    background: transparent;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.lk-guru-modal__close span,
.lk-guru-modal__close span::before,
.lk-guru-modal__close span::after {
    display: block;
    box-sizing: border-box;
}

.lk-guru-modal__close span {
    position: relative;
    width: 14px;
    height: 14px;
}

.lk-guru-modal__close span::before,
.lk-guru-modal__close span::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 16px;
    height: 2px;
    margin: -1px 0 0 -8px;
    background: #1F315D;
    border-radius: 1px;
}

.lk-guru-modal__close span::before { transform: rotate(45deg); }
.lk-guru-modal__close span::after { transform: rotate(-45deg); }

.lk-guru-modal__body {
    padding: 20px 40px 24px;
    color: #fff;
    background: #1F315D;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow: hidden;
    overscroll-behavior: contain;
}

/* Скролл только между картинкой и кнопкой «Понятно» (SPORTM-582). */
.lk-guru-modal__scroll {
    width: 100%;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.lk-guru-modal__hero {
    width: 100%;
    max-width: 900px;
    height: 230px;
    border-radius: 0;
    overflow: hidden;
    flex: 0 0 auto;
}

.lk-guru-modal__hero img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.lk-guru-modal__subtitle {
    margin: 0;
    width: 100%;
    max-width: 900px;
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: normal;
    text-align: center;
}

.lk-guru-modal__subtitle--center { text-align: center; }

.lk-guru-modal__steps {
    width: 100%;
    max-width: 900px;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.lk-guru-modal__step {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.lk-guru-modal__step-num {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    background: #fff;
    color: #23B4B1;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.lk-guru-modal__step-body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.lk-guru-modal__step-body b {
    color: #fff;
    font-family: "Pragmatica Extended", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: normal;
}

.lk-guru-modal__step-body p {
    margin: 0;
    color: #fff;
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
}

.lk-guru-modal__text {
    margin: 0;
    width: 100%;
    max-width: 900px;
    color: #fff;
    font-family: "Pragmatica", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
}

.lk-guru-modal__actions {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 0;
    padding-top: 4px;
    flex: 0 0 auto;
    position: static;
    background: #1F315D;
    z-index: 1;
}

.lk-guru-modal__actions .lk-guru-btn {
    box-sizing: border-box;
    width: 180px;
    min-width: 180px;
    max-width: 180px;
    height: 60px;
    min-height: 60px;
    padding: 6px 20px;
}

@media (max-width: 1024px) {
    .lk-guru-root,
    .lk-guru-root * {
        min-width: 0;
    }

    .lk-guru-stub-card .team-empty-card-main {
        padding-right: 120px;
        max-width: none;
    }

    /* SPORTM-647: логотип 290×128, без квадрата 290×290 из flex-basis в колонке */
    .lk-guru-stub-card .team-empty-card-logo.lk-guru-stub-logo {
        flex: 0 0 auto;
        flex-basis: auto;
        width: 290px;
        height: 128px;
        max-width: 100%;
        max-height: 128px;
        padding: 0;
        overflow: hidden;
        align-self: flex-start;
    }

    .lk-guru-stub-logo-badge,
    .lk-guru-card-logo-badge {
        width: 290px;
        height: 128px;
        padding: 0;
    }

    .lk-guru-stub-logo-img,
    .lk-guru-card-logo-img {
        width: 290px;
        height: 128px;
    }

    .team-empty-card.lk-guru-stub-card::after {
        background-size: 300px auto;
        opacity: 0.1;
    }

    .lk-guru-root .team-empty-card.lk-guru-stub-card {
        border-radius: 20px !important;
        clip-path: none;
        border: 1px solid rgba(255, 255, 255, 0.3) !important;
        background: linear-gradient(90deg, #1F315D 0%, #1E6B81 100%) !important;
    }

    .lk-guru-root .team-empty-card.lk-guru-stub-card::before {
        display: none;
    }

    .lk-guru-team-card {
        padding: 24px 20px;
        border-radius: 20px !important;
        clip-path: none;
        border: 1px solid rgba(255, 255, 255, 0.3);
        box-shadow: none;
        background: linear-gradient(90deg, #1F315D 0%, #1E6B81 100%);
    }

    .lk-guru-team-card.lk-team-card {
        background: linear-gradient(90deg, #1F315D 0%, #1E6B81 100%) !important;
    }

    .lk-guru-team-card::before {
        display: none;
    }

    .lk-guru-card-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .lk-guru-card-brand-text {
        width: 100%;
        gap: 12px;
    }

    .lk-guru-card-logo-badge {
        width: 290px;
        max-width: 100%;
        flex: 0 0 auto;
        flex-basis: auto;
        height: 128px;
        max-height: 128px;
        padding: 0;
        overflow: hidden;
        align-self: flex-start;
    }

    .lk-guru-card-logo-img {
        width: 290px;
        max-width: 100%;
        height: 128px;
    }

    .lk-guru-btn--instruction {
        width: 180px;
        min-width: 180px;
        max-width: 180px;
        height: 60px;
        min-height: 60px;
    }

    .lk-guru-btn,
    .lk-guru-badge,
    .lk-guru-status,
    .lk-guru-stage__dates,
    .lk-guru-congrats__score,
    .lk-guru-doc-status {
        white-space: normal;
        text-align: center;
    }

    .lk-guru-anketa__layout {
        flex-direction: column;
        gap: 14px;
    }

    .lk-guru-stub-logo-badge,
    .lk-guru-card-logo-badge {
        background: transparent;
        border: none !important;
        border-radius: 0 !important;
        clip-path: none;
        padding: 0;
    }

    .lk-guru-stage {
        clip-path: none;
        border-radius: 20px !important;
        border: 1px solid rgba(255, 255, 255, 0.3);
        background: #1F315D;
        grid-template-columns: 60px minmax(0, 1fr);
    }

    .lk-guru-stage::before {
        display: none;
    }

    .lk-guru-step-box {
        flex: 0 0 60px;
        width: 60px;
        height: 60px;
        font-size: 28px;
        clip-path: none;
        border-radius: 10px !important;
        border: 1px solid #23B4B1;
        background: transparent;
    }

    .lk-guru-step-box::before {
        display: none;
    }

    .lk-guru-stage__title {
        font-size: 22px;
    }
}

@media (max-width: 768px) {
    .lk-guru-root {
        overflow-x: clip;
    }

    .team-empty-card.lk-guru-stub-card {
        flex-direction: column;
        align-items: stretch;
        min-height: 0;
        padding: 20px;
        gap: 16px;
    }

    .lk-guru-stub-card .team-empty-card-logo.lk-guru-stub-logo {
        flex: 0 0 auto;
        flex-basis: auto;
        width: 290px;
        height: 128px;
        max-width: 100%;
        max-height: 128px;
        padding: 0;
        overflow: hidden;
        align-self: flex-start;
    }

    .lk-guru-stub-logo-badge {
        width: 290px;
        max-width: 100%;
        height: 128px;
        padding: 0;
    }

    .lk-guru-stub-logo-img {
        width: 290px;
        max-width: 100%;
        height: 128px;
    }

    .lk-guru-stub-card .team-empty-card-main {
        padding: 0;
        max-width: none;
    }

    .team-empty-card.lk-guru-stub-card::after {
        background-size: 220px auto;
        background-position: right -30px bottom -20px;
        opacity: 0.08;
    }

    .lk-guru-stub-title { font-size: 20px; }

    .lk-guru-stub-date { font-size: 16px; }

    .lk-guru-stub-title,
    .lk-guru-card-title,
    .lk-guru-stage__title,
    .lk-guru-video__title,
    .lk-guru-anketa__title,
    .lk-guru-locked-row__title,
    .lk-guru-stage__group {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .lk-guru-video__actions .lk-guru-btn {
        width: 100%;
        min-width: 0;
    }

    /* SPORTM-651: «Понятно» 180×60 на всех разрешениях, не на всю ширину */
    .lk-guru-modal__actions .lk-guru-btn {
        width: 180px;
        min-width: 180px;
        max-width: 180px;
        height: 60px;
        min-height: 60px;
        padding: 6px 20px;
    }

    .lk-guru-anketa__actions {
        justify-content: flex-start;
    }

    .lk-guru-anketa__actions .lk-guru-btn {
        width: 191px;
        min-width: 191px;
        max-width: 100%;
        height: 60px;
        min-height: 60px;
    }

    .lk-guru-stub-actions .lk-guru-btn--red,
    .lk-guru-stub-actions .js-guru-register,
    .lk-guru-stub-btn-muted {
        width: 304px;
        min-width: 0;
        max-width: 100%;
        height: 60px;
        min-height: 60px;
    }

    .lk-guru-btn {
        white-space: normal;
        min-height: 56px;
        padding: 10px 18px;
        font-size: 16px;
        line-height: 1.25;
    }

    .lk-guru-card-title {
        font-size: 22px;
        line-height: 1.25;
    }

    .lk-guru-card-subtitle {
        font-size: 14px;
        line-height: 1.4;
    }

    .lk-guru-anketa__fields { grid-template-columns: 1fr; }

    .lk-guru-btn--instruction {
        width: 180px;
        min-width: 180px;
        max-width: 180px;
        height: 60px;
        min-height: 60px;
        padding: 6px 20px;
        font-size: 18px;
    }

    .lk-guru-anketa__title-row,
    .lk-guru-video__head,
    .lk-guru-stage__head {
        align-items: flex-start;
    }

    .lk-guru-anketa__title-row {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
    }

    .lk-guru-video__head {
        flex-direction: column;
    }

    .lk-guru-anketa__row {
        min-height: 56px;
        padding: 10px 16px;
    }

    .lk-guru-anketa__row-title {
        flex: 1 1 auto;
    }

    .lk-guru-field__error,
    .lk-guru-video .lk-guru-field__error {
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .lk-guru-documents,
    .lk-guru-notice,
    .lk-guru-comment,
    .lk-guru-video__guide,
    .lk-guru-video__guide-tech {
        padding: 16px;
    }

    .lk-guru-doc-row__label,
    .lk-guru-notice p,
    .lk-guru-comment p,
    .lk-guru-video__guide-text {
        overflow-wrap: anywhere;
    }

    .lk-guru-stage {
        display: grid;
        grid-template-columns: 60px minmax(0, 1fr);
        grid-template-areas:
            "num head"
            "div div"
            "body body";
        column-gap: 12px;
        row-gap: 16px;
        padding: 16px;
        align-items: start;
    }

    .lk-guru-stage > .lk-guru-step-box {
        grid-area: num;
        flex: 0 0 60px;
        width: 60px;
        min-width: 60px;
        height: 60px;
        font-size: 28px;
        align-self: start;
        box-sizing: border-box;
    }

    .lk-guru-stage__head {
        grid-area: head;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: flex-end;
        gap: 10px;
        min-width: 0;
    }

    .lk-guru-stage__head-left {
        display: contents;
    }

    .lk-guru-stage__title {
        flex: 1 0 100%;
        width: 100%;
        order: 1;
        text-align: left;
    }

    .lk-guru-stage__dates,
    .lk-guru-stage__head > .lk-guru-badge {
        order: 2;
        flex: 0 0 auto;
        margin-left: 0;
    }

    .lk-guru-stage__head > .lk-guru-badge {
        order: 3;
    }

    .lk-guru-stage__divider {
        grid-area: div;
        margin: 0;
    }

    .lk-guru-stage__body {
        grid-area: body;
        display: block;
        min-width: 0;
    }

    .lk-guru-stage__content {
        min-width: 0;
    }

    .lk-guru-stage__title { font-size: 18px; }

    .lk-guru-stage__dates,
    .lk-guru-badge,
    .lk-guru-status {
        font-size: 15px;
        line-height: 1.25;
    }

    .lk-guru-video {
        gap: 20px;
    }

    .lk-guru-video__guide-cols { flex-direction: column; }

    .lk-guru-video__guide-tech {
        flex: 0 0 auto;
        width: 100%;
    }

    .lk-guru-video__guide-title { font-size: 20px; }

    .lk-guru-video__field,
    .lk-guru-video__actions,
    .lk-guru-anketa__actions {
        width: 100%;
    }

    .lk-guru-video .lk-guru-input,
    .lk-guru-anketa .lk-guru-input {
        width: 100%;
        max-width: 100%;
    }

    .lk-guru-doc-row__top { flex-direction: column; align-items: flex-start; }

    .lk-guru-locked-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .lk-guru-locked-row .lk-guru-badge {
        align-self: flex-start;
    }

    .lk-guru-congrats__title { font-size: 20px; }
    .lk-guru-stage__group { font-size: 18px; }
    .lk-guru-stage__address { flex-direction: column; align-items: flex-start; gap: 10px; }

    .lk-guru-stage__address-item,
    .lk-guru-schedule__date,
    .lk-guru-schedule__discipline {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .lk-guru-results {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .lk-guru-result {
        width: auto;
        min-width: 0;
        min-height: 132px;
        padding: 12px;
    }

    .lk-guru-result--total {
        grid-column: auto;
    }

    .lk-guru-result__value { font-size: 32px; }
    .lk-guru-result__laurel { width: 24px; height: 56px; }

    .lk-guru-modal.reg-modal,
    .lk-guru-modal {
        width: 100%;
        max-width: 94vw;
        border-radius: 20px;
    }

    .lk-guru-modal__header {
        min-height: 72px;
        padding: 18px 48px 18px 20px;
    }

    .lk-guru-modal__header-title { font-size: 18px; }

    .lk-guru-modal__body {
        padding: 16px 16px 24px;
        max-height: none;
    }

    .lk-guru-modal__hero { height: 140px; }

    .lk-guru-modal__subtitle { font-size: 20px; }

    .lk-guru-modal__step {
        gap: 12px;
    }

    .lk-guru-modal__step-body b { font-size: 16px; }

    .lk-guru-modal__step-body p,
    .lk-guru-modal__text { font-size: 14px; }
}

@media (max-width: 480px) {
    .lk-guru-team-card {
        padding: 18px 14px;
    }

    .team-empty-card.lk-guru-stub-card {
        padding: 16px 14px;
    }

    .lk-guru-stub-card .team-empty-card-logo.lk-guru-stub-logo,
    .lk-guru-card-logo-badge {
        flex: 0 0 auto;
        width: 290px;
        max-width: 100%;
        height: 128px;
        padding: 0;
    }

    .lk-guru-stub-logo-badge,
    .lk-guru-card-logo-badge {
        width: 290px;
        max-width: 100%;
        height: 128px;
        padding: 0;
    }

    .lk-guru-stub-logo-img,
    .lk-guru-card-logo-img {
        width: 290px;
        max-width: 100%;
        height: 128px;
        object-fit: contain;
    }

    .lk-guru-stub-title,
    .lk-guru-card-title,
    .lk-guru-video__guide-title,
    .lk-guru-modal__subtitle {
        font-size: 18px;
    }

    .lk-guru-step-box,
    .lk-guru-stage > .lk-guru-step-box {
        width: 60px;
        height: 60px;
        flex: 0 0 60px;
        flex-basis: 60px;
        font-size: 28px;
    }

    .lk-guru-stage__group {
        font-size: 16px;
    }

    .lk-guru-results {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lk-guru-result,
    .lk-guru-result--total {
        grid-column: auto;
    }

    .lk-guru-modal__header {
        padding: 16px 44px 16px 16px;
    }

    .lk-guru-modal__close {
        right: 16px;
        width: 32px;
        height: 32px;
    }

    .lk-guru-modal__actions {
        width: 100%;
    }
}

/* «Анкета» и бейдж статуса («Отправлена на модерацию» / «Требует
   доработки») теснились в одной строке nowrap на узкой мобилке, из-за чего
   «Анкета» переносилось посимвольно («Анк ета»). Раньше это лечилось
   процентным сплитом с отдельным брейкпоинтом — но подобранный процент/
   брейкпоинт снова ломался на других ширинах экрана (проверено подряд на
   360–768: 405–470px с текстом «Отправлена на модерацию» всё ещё ломали
   «Анкета» при узких вариантах сплита). Вместо процентов — «Анкета» вообще
   не сжимается (flex-shrink:0, держит свою естественную ширину в одну
   строку на любой ширине экрана), а под бейдж статуса выделяется весь
   остаток строки; если текст не помещается — переносится внутри себя, не
   отнимая место у заголовка и не растягиваясь пустым местом сверх своего
   контента.
   Это уже покрыто общим max-width:768px, где .lk-guru-anketa__title-row
   становится строкой nowrap (см. выше), поэтому здесь без отдельного
   брейкпоинта — решение не привязано к конкретной ширине. */
.lk-guru-anketa__title-row .lk-guru-anketa__title {
    flex: 0 0 auto;
    overflow-wrap: normal;
    word-break: normal;
    white-space: nowrap;
}

.lk-guru-anketa__title-row .lk-guru-status {
    flex: 0 1 auto;
    min-width: 0;
    white-space: normal;
    text-align: center;
    justify-content: center;
}

/* На <400 «Отправлена на модерацию» переносилась на 3 строки: бейдж —
   единственный сжимаемый элемент строки (у «Анкета» flex-shrink:0), поэтому
   его ширина жёстко равна остатку строки за вычетом заголовка и gap — это
   геометрический потолок, увеличить его нельзя, не полезнув за карточку
   (проверено: искусственный min-width просто вылезал за край card, т.к.
   .lk-guru-anketa__title-row has overflow:visible). Вместо расширения
   бейджа — ужимаем его шрифт/иконку/паддинги, чтобы «Отправлена на»
   поместилось на одну строку в той же ширине. */
@media (max-width: 399px) {
    .lk-guru-anketa__title-row .lk-guru-status {
        gap: 4px;
        padding: 6px 8px;
        font-size: 15px;
    }

    .lk-guru-anketa__title-row .lk-guru-status .lk-guru-status__play-img {
        width: 10px;
        height: 12px;
    }
}

