@charset 'UTF-8';

/* Шрифты
   ========================================================================== */

@font-face
{
    font-family: 'Stapel';
    font-weight: 400;
    font-style: normal;

    src: url('../fonts/stapel/Stapel-Regular.woff2') format('woff2'), url('../fonts/stapel/Stapel-Regular.woff') format('woff');
    font-display: swap;
}

@font-face
{
    font-family: 'Stapel';
    font-weight: 500;
    font-style: normal;

    src: url('../fonts/stapel/Stapel-Medium.woff2') format('woff2'), url('../fonts/stapel/Stapel-Medium.woff') format('woff');
    font-display: swap;
}

@font-face
{
    font-family: 'Stapel';
    font-weight: 700;
    font-style: normal;

    src: url('../fonts/stapel/Stapel-Bold.woff2') format('woff2'), url('../fonts/stapel/Stapel-Bold.woff') format('woff');
    font-display: swap;
}

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

*
{
    -webkit-tap-highlight-color: transparent;
}

html
{
    font-size: 100%;
}

@media (min-width: 1920px)
{
    html
    {
        font-size: 110%;
    }
}

body
{
    font: 1.25rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;
    overflow-x: hidden;
    flex-direction: column;

    min-height: 100dvh;
    margin: 0;

    text-align: left;
    word-break: break-word;

    color: #000;
    background: #fff;

    scrollbar-gutter: stable;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

header
{
    flex: 0 0 auto;
}

main
{
    position: relative;
    z-index: 20;

    flex: 1 0 auto;
}

footer
{
    flex: 0 0 auto;
}

[tabindex='-1']:focus
{
    outline: none !important;
}

[role=button]
{
    cursor: pointer;
}

[type=search]::-webkit-search-decoration
{
    -webkit-appearance: none;
}

a,
button,
[role=button],
input,
label,
select,
textarea
{
    margin: 0;

    touch-action: manipulation;
}

button,
input
{
    overflow: visible;

    text-transform: none;
}

button,
html [type=button],
[type=reset],
[type=submit]
{
    -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner
{
    padding: 0;

    border-style: none;
}

input[type=date],
input[type=time],
input[type=datetime-local],
input[type=month]
{
    -webkit-appearance: listbox;
}

textarea
{
    overflow: auto;

    resize: vertical;
}

svg
{
    fill: currentColor;
}

a svg,
button svg
{
    pointer-events: none;
}

svg:not(:root)
{
    overflow: hidden;
}

img
{
    max-width: 100%;
    height: auto;
}

a
{
    text-decoration: underline;

    color: #0f7bff;
    background: transparent;
}

a:hover,
a:focus
{
    text-decoration: none;
}

@media (min-width: 1380px)
{
    a[href^='tel:']
    {
        white-space: nowrap;
        text-decoration: inherit;

        color: inherit;
    }
}

hr
{
    overflow: visible;

    box-sizing: content-box;
    height: 0;
    margin-top: 2em;
    margin-bottom: 2em;

    border: 0;
    border-top: 1px solid #000;
}

p,
ul,
ol,
dl,
table,
blockquote,
pre,
address,
figure
{
    margin: 0;
}

p:not([class]),
ul:not([class]),
ol:not([class]),
dl:not([class]),
table:not([class]),
blockquote:not([class]),
pre:not([class]),
address:not([class]),
figure:not([class])
{
    margin-bottom: 1em;
}

address
{
    font-style: normal;
}

ul,
ol
{
    margin-bottom: 1em;
    padding-left: 1.5em;
}

ul ul,
ul ol,
ol ul,
ol ol
{
    margin-top: 0;
    margin-bottom: 0;
}

li
{
    line-height: inherit;
}

small
{
    font-size: .75em;
}

sub,
sup
{
    font-size: .75em;
}

b,
strong
{
    font-weight: bolder;
}

blockquote
{
    margin-right: 0;
    margin-left: 0;
    padding: 0;
}

code,
kbd,
pre
{
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
}

code
{
    padding: .06em .3em;

    color: #000;
    border-radius: 3px;
    background: rgba(0, 0, 0, .08);
}

kbd
{
    padding: .06em .3em;

    color: #000;
    border-radius: 3px;
}

kbd kbd
{
    padding: 0;
}

pre
{
    display: block;
    overflow-x: auto;

    width: 100%;
    margin-bottom: 1em;

    -moz-tab-size: 2;
      -o-tab-size: 2;
         tab-size: 2;

    background: rgba(0, 0, 0, .08);
}

pre code
{
    background: transparent;
}

/* https://github.com/mozdevs/cssremedy/issues/11#issuecomment-462867630 */

@media (prefers-reduced-motion: reduce)
{
    *:not(.safe-animation),
    *:not(.safe-animation)::before,
    *:not(.safe-animation)::after
    {
        transition-delay: 0s !important;
        transition-duration: 0s !important;
        animation-duration: .01s !important;
        animation-delay: 0s !important;
        animation-iteration-count: 1 !important;

        scroll-behavior: auto !important;
    }
}

abbr[title]
{
    text-decoration: none;
}

/* Бургер
   ==================================================== */

.burger
{
    position: relative;
    z-index: 1;

    display: inline-flex;

    width: 32px;
    height: 32px;
    padding: 0;

    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;

    border: none;
    background: transparent;

    align-items: center;
    justify-content: center;
}

.burger > span
{
    font-size: 0;

    position: relative;

    display: block;

    width: 90%;
    height: 2px;

    transition: background .3s .3s;

    color: transparent;
    background: #333;
}

.burger > span::before,
.burger > span::after
{
    position: absolute;
    left: 0;

    width: 100%;
    height: 2px;

    content: '';
    transition: top .3s .3s, transform .3s;
    transform-origin: 50% 50%;

    background: #333;
}

.burger > span::before
{
    top: -10px;
}

.burger > span::after
{
    top: 10px;
}

.burger--close > span
{
    transition: background .3s 0s;

    background: transparent;
}

.burger--close > span::before,
.burger--close > span::after
{
    top: 0;

    transition: top .3s, transform .3s .3s;
}

.burger--close > span::before
{
    transform: rotate3d(0, 0, 1, 45deg);
}

.burger--close > span::after
{
    transform: rotate3d(0, 0, 1, -45deg);
}

/* Главное меню
   ========================================================================== */

.main-nav__list
{
    display: flex;

    margin: 0;
    padding: 0;

    list-style: none;

    align-items: center;
}

.main-nav__item
{
    position: relative;

    display: flex;

    height: 68px;

    align-items: center;
}

.main-nav__link
{
    font: 500 .75rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    padding: 0 8px;

    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
    letter-spacing: .04em;
    text-transform: uppercase;

    color: #fff;

    align-items: center;
    gap: 4px;
}

.main-nav__link:hover,
.main-nav__link:focus-visible
{
    outline: none;
}

.main-nav__link:hover .main-nav__text span,
.main-nav__link:focus-visible .main-nav__text span
{
    transform: translateY(-100%);
}

.main-nav__text
{
    display: flex;
    overflow: hidden;
    flex-direction: column;

    height: 15px;
}

.main-nav__text span
{
    line-height: 15px;

    height: 15px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);

    flex-shrink: 0;
}

.main-nav__icon
{
    display: block;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);

    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
}

.main-nav__item--open > .main-nav__link .main-nav__icon
{
    transform: rotate(180deg);
}

.main-nav__dropdown
{
    position: absolute;
    top: 100%;
    left: 0;

    display: flex;
    visibility: hidden;
    flex-direction: column;

    width: 340px;
    padding: 14px;

    transition: opacity .2s cubic-bezier(.4, 0, .6, 1), visibility .2s cubic-bezier(.4, 0, .6, 1);
    pointer-events: none;

    opacity: 0;
    border-radius: 0 0 6px 6px;
    background: #fff;
    box-shadow: 0 8px 12px rgba(0, 0, 0, .15);

    gap: 4px;
}

.main-nav__item--open .main-nav__dropdown
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}

.main-nav__sport-item
{
    display: flex;

    padding: 14px;

    text-decoration: none;

    color: #000;
    border-radius: 3px;

    align-items: flex-start;
    gap: 10px;
}

.main-nav__sport-item:hover,
.main-nav__sport-item:focus-visible
{
    outline: none;
    background: #ecf3fb;
}

.main-nav__sport-icon
{
    display: block;

    width: 22px;
    height: 22px;

    flex-shrink: 0;
}

.main-nav__sport-texts
{
    display: flex;
    flex-direction: column;

    gap: 3px;
}

.main-nav__sport-name
{
    font: 500 .875rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #000;
}

.main-nav__sport-desc
{
    font: 400 .75rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #6a6c73;
}

/* Кнопки
   ========================================================================== */

.btn
{
    font: bold .9375rem/1.125rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: inline-flex;
    overflow: hidden;

    width: 276px;
    max-width: 100%;
    height: 59px;
    margin: 0;
    padding: 10px 20px;

    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    text-decoration: none;
    text-transform: none;
    text-overflow: ellipsis;

    color: #fff;
    border: 0;
    border-radius: 50px;
    background: none #000;

    align-items: center;
    justify-content: center;
}

.btn:hover,
.btn:focus
{
    opacity: .9;
}

.btn:active,
.btn:focus
{
    outline: 0;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .8);
}

.btn--disabled,
.btn:disabled
{
    cursor: not-allowed;

    opacity: .8;
}

a.btn--disabled
{
    pointer-events: none;
}

.btn--disabled:hover,
.btn--disabled:focus,
.btn:disabled:hover,
.btn:disabled:focus
{
    cursor: not-allowed;

    opacity: .8;
}

.btn sup
{
    position: relative;
    top: -5px;
}

.btn--white
{
    color: #000;
    background: #fff;
}

.btn--small
{
    width: 212px;
    height: 46px;
}

.btn--smaller
{
    font-size: .75rem;
    line-height: 1.125rem;

    width: 189px;
    height: 35px;
}

/* Хедер
   ========================================================================== */

.page-header__social-link,
.page-header__ctrl
{
    line-height: 1;

    display: flex;

    height: 28px;
    padding: 0 10px;

    cursor: pointer;
    transition: background-color .3s cubic-bezier(.4, 0, .6, 1), color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #fff;
    border: 2px solid #fff;
    border-radius: 100px;
    background: none;

    align-items: center;
    justify-content: center;
}

.page-header__social-link:hover,
.page-header__ctrl:hover,
.page-header__social-link:focus-visible,
.page-header__ctrl:focus-visible
{
    color: #0f7bff;
    outline: none;
    background: #fff;
}

.page-header
{
    position: fixed;
    z-index: 130;
    top: 10px;
    right: 20px;
    left: 20px;

    animation: header-entry 300ms ease-out 0s both;
}

.page--inner .page-header
{
    animation: none;
}

.page-header__bar
{
    display: flex;

    height: 67px;
    padding: 0 20px;

    border-radius: 24px 24px 2px 2px;
    background: #0f7bff;

    align-items: center;
    justify-content: space-between;
}

.page-header__left
{
    display: flex;

    align-items: center;
    gap: 46px;
}

.page-header__logo
{
    flex-shrink: 0;
}

.page-header__logo-inner
{
    position: relative;

    overflow: hidden;

    width: 224px;
    height: 41px;
}

.page-header__logo-title
{
    position: absolute;
    top: 0;
    left: 64px;

    overflow: hidden;

    width: 153px;
    height: 41px;

    transition: opacity .3s cubic-bezier(.4, 0, .6, 1);

    opacity: 0;
}

.page-header__logo-title path
{
    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
}

.page-header__logo:hover .page-header__logo-title
{
    opacity: 1;
}

.page-header__logo:hover .page-header__logo-title path
{
    transform: translateX(145px);
}

.page-header__logo-symbol
{
    position: absolute;
    top: 0;
    left: 91px;

    width: 42px;
    height: 41px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
}

.page-header__logo:hover .page-header__logo-symbol
{
    transform: translateX(-83px);
}

.page-header__right
{
    display: flex;
    flex-direction: row-reverse;

    align-items: center;
    gap: 8px;
}

.page-header__ctrl svg
{
    display: block;
}

.page-header__ctrl--lang
{
    font: 500 .8125rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    white-space: nowrap;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.page-header__search-wrap
{
    position: relative;

    width: 38px;
    height: 28px;

    flex-shrink: 0;
}

.page-header__ctrl--search
{
    position: absolute;
    top: 0;
    right: 0;

    overflow: hidden;

    width: 38px;

    transition: width .3s cubic-bezier(.4, 0, .6, 1), background-color .3s cubic-bezier(.4, 0, .6, 1), color .3s cubic-bezier(.4, 0, .6, 1);

    justify-content: center;
    will-change: width;
}

.page-header__ctrl--search svg
{
    fill: none;
    flex-shrink: 0;
}

.page-header__ctrl--search:hover,
.page-header__ctrl--search:focus-within
{
    width: 322px;

    color: #6a6c73;
    background: #fff;

    justify-content: flex-start;
}

.page-header__search-input
{
    font: .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: absolute;
    top: 50%;
    right: 10px;
    left: 36px;

    padding: 0;

    transform: translateY(-50%);

    opacity: 0;
    color: #6a6c73;
    border: none;
    outline: none;
    background: none;
}

.page-header__search-input::-moz-placeholder
{
    color: #6a6c73;
}

.page-header__search-input::placeholder
{
    color: #6a6c73;
}

.page-header__ctrl--search:hover .page-header__search-input,
.page-header__ctrl--search:focus-within .page-header__search-input
{
    opacity: 1;
}

.page-header__ctrl--profile
{
    justify-content: flex-start;
}

.page-header__ctrl--profile:hover,
.page-header__ctrl--profile:focus-visible
{
    color: #001e62;
}

.page-header__profile-text
{
    font: 400 .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    overflow: hidden;

    max-width: 0;
    margin-left: 0;

    transition: max-width .2s cubic-bezier(.4, 0, .6, 1), opacity .2s cubic-bezier(.4, 0, .6, 1), margin-left .2s cubic-bezier(.4, 0, .6, 1);
    white-space: nowrap;

    opacity: 0;
    color: #6a6c73;

    will-change: max-width, margin-left;
}

.page-header__ctrl--profile:hover .page-header__profile-text,
.page-header__ctrl--profile:focus-visible .page-header__profile-text
{
    max-width: 80px;
    margin-left: 8px;

    opacity: 1;
}

.page-header__social
{
    display: flex;

    gap: 8px;
}

.page-header__social-link svg
{
    display: block;
}

.page-header__social-link:hover,
.page-header__social-link:focus-visible
{
    color: #001e62;
}

.page-header__vk
{
    display: flex;

    align-items: center;
}

.page-header__vk .page-header__social-link
{
    overflow: hidden;

    max-width: 50px;

    transition: max-width .2s cubic-bezier(.4, 0, .6, 1), padding .2s cubic-bezier(.4, 0, .6, 1), border .2s cubic-bezier(.4, 0, .6, 1), opacity .2s cubic-bezier(.4, 0, .6, 1), background-color .3s cubic-bezier(.4, 0, .6, 1), color .3s cubic-bezier(.4, 0, .6, 1);

    flex-shrink: 0;
}

.page-header__vk--open .page-header__social-link
{
    max-width: 0;
    padding: 0;

    pointer-events: none;

    opacity: 0;
    border: none;
}

.page-header__vk--open .page-header__vk-expanded
{
    max-width: 290px;
}

.page-header__vk-expanded
{
    display: flex;
    overflow: hidden;

    max-width: 0;

    transition: max-width .2s cubic-bezier(.4, 0, .6, 1);

    align-items: center;
    gap: 8px;
    will-change: max-width;
}

.page-header__vk-logo
{
    display: flex;

    height: 28px;

    transition: opacity .3s cubic-bezier(.4, 0, .6, 1);

    align-items: center;
}

.page-header__vk-logo:hover
{
    opacity: .75;
}

.page-header__vk-logo img
{
    display: block;

    width: auto;
    height: 100%;
}

.page-header__panel
{
    position: absolute;
    top: 67px;
    right: 0;
    left: 0;
}

.page-header__panel[hidden]
{
    display: none;
}

.page-header__logo-mobile
{
    display: none;

    align-items: center;
    gap: 12px;
}

.page-header__logo-mobile img
{
    display: block;
}

.page-header__burger
{
    display: none;
    flex-direction: column;

    height: 28px;
    padding: 0 9.5px;

    cursor: pointer;

    border: 1.5px solid #fff;
    border-radius: 100px;
    background: none;

    align-items: center;
    justify-content: center;
    gap: 4px;
}

.page-header__burger-line
{
    display: block;

    width: 14px;
    height: 1.5px;

    background: #fff;
}

@media (min-width: 1600px)
{
    .page-header__bar
    {
        position: relative;
    }

    .page-header__logo
    {
        position: absolute;
        z-index: 1;
        left: 50%;

        transform: translateX(-50%);
    }
}

@media (max-width: 1600px)
{
    .page-header__left
    {
        gap: 0;
    }
}

@media (max-width: 1599px)
{
    .page-header__vk
    {
        position: relative;
    }

    .page-header__vk-expanded
    {
        position: absolute;
        top: calc(100% + 8px);
        right: 0;

        max-width: none;
        max-height: 0;
        padding: 0 8px;

        transition: max-height .2s cubic-bezier(.4, 0, .6, 1), right .2s cubic-bezier(.4, 0, .6, 1), padding .2s cubic-bezier(.4, 0, .6, 1);

        border-radius: 12px;
        background: #0f7bff;
    }

    .page-header__vk--open .page-header__social-link
    {
        max-width: 50px;
        padding: 0 10px;

        pointer-events: auto;

        opacity: 1;
        border: 2px solid #fff;
    }

    .page-header__vk--open .page-header__vk-expanded
    {
        right: -8px;

        max-width: none;
        max-height: 60px;
        padding: 8px;
    }
}

@media (max-width: 1380px)
{
    .page-header__logo-inner
    {
        display: none;
    }

    .page-header__logo-mobile
    {
        display: flex;
    }

    .page-header__logo
    {
        order: -1;
    }

    .page-header__left
    {
        gap: 40px;
    }

    .page-header__social
    {
        display: none;
    }
}

@media (max-width: 1170px)
{
    .page-header .main-nav
    {
        display: none;
    }

    .page-header__search-wrap
    {
        display: none;
    }

    .page-header__burger
    {
        display: inline-flex;
    }
}

@media (max-width: 1025px)
{
    .page-header
    {
        top: 0;
        right: 0;
        left: 0;

        animation: none;
    }

    .page-header__bar
    {
        height: 64px;
        padding: 0 14px 14px;

        border-radius: 0;

        align-items: flex-end;
    }

    .page-header__right
    {
        gap: 14px;
    }

    .page-header__ctrl
    {
        border-width: 1.5px;
    }

    .page-header__ctrl:hover
    {
        color: #fff;
        background: none;
    }

    .page-header__ctrl--profile:hover
    {
        color: #fff;
    }

    .page-header__profile-text
    {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce)
{
    .page-header
    {
        animation: none;
    }
}

@keyframes header-entry
{
    from
    {
        transform: translateY(calc(-100% - 10px));
    }

    to
    {
        transform: translateY(0);
    }
}

/* Мобильное меню (бургер), ≤ $tablet
   Figma 465-4554: дровер 325px справа, фон $corporate, контент 277px
   ========================================================================== */

.mobile-menu__label,
.mobile-menu__section-toggle,
.mobile-menu__link
{
    font: 500 .875rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;
    padding: 0;

    text-align: left;
    text-decoration: none;
    letter-spacing: .03em;
    text-transform: uppercase;

    color: #fff;
}

.has-mobile-menu
{
    overflow: hidden;
}

.mobile-menu
{
    position: fixed;
    z-index: 140;

    visibility: hidden;

    transition: visibility .3s;

    inset: 0;
}

.mobile-menu--open
{
    visibility: visible;
}

@media (min-width: 1171px)
{
    .mobile-menu
    {
        display: none;
    }
}

.mobile-menu__overlay
{
    position: absolute;

    padding: 0;

    cursor: pointer;
    transition: opacity .3s cubic-bezier(.4, 0, .6, 1);

    opacity: 0;
    border: none;
    background: rgba(0, 0, 0, .4);

    inset: 0;
}

.mobile-menu--open .mobile-menu__overlay
{
    opacity: 1;
}

.mobile-menu__drawer
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;

    overflow-y: auto;

    width: 325px;
    max-width: 100%;
    padding: 52px 24px 40px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
    transform: translateX(100%);

    background: #0f7bff;
}

.mobile-menu--open .mobile-menu__drawer
{
    transform: translateX(0);
}

.mobile-menu__nav
{
    display: flex;
    flex-direction: column;

    gap: 24px;
}

.mobile-menu__search
{
    display: flex;

    height: 38px;
    padding: 0 14px;

    color: #6a6c73;
    border-radius: 6px;
    background: #fff;

    align-items: center;
    gap: 8px;
}

.mobile-menu__search svg
{
    display: block;

    flex-shrink: 0;
    fill: none;
}

.mobile-menu__field-input
{
    font: .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    min-width: 0;
    padding: 0;

    color: #6a6c73;
    border: none;
    outline: none;
    background: none;

    flex: 1;
}

.mobile-menu__field-input::-moz-placeholder
{
    color: #6a6c73;
}

.mobile-menu__field-input::placeholder
{
    color: #6a6c73;
}

.mobile-menu__section
{
    display: flex;
    flex-direction: column;

    gap: 4px;
}

.mobile-menu__section-toggle
{
    display: flex;

    cursor: pointer;

    border: none;
    background: none;

    align-items: center;
    gap: 4px;
}

.mobile-menu__chevron
{
    display: block;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);

    flex-shrink: 0;
    fill: none;
}

.mobile-menu__section--open .mobile-menu__chevron
{
    transform: rotate(180deg);
}

.mobile-menu__section-body
{
    display: grid;

    transition: grid-template-rows .3s cubic-bezier(.4, 0, .6, 1);

    grid-template-rows: 0fr;
    will-change: grid-template-rows;
}

.mobile-menu__section--open .mobile-menu__section-body
{
    grid-template-rows: 1fr;
}

.mobile-menu__section-inner
{
    overflow: hidden;
}

.mobile-menu__sublist
{
    font-size: .875rem;
    line-height: 1;

    display: flex;
    flex-direction: column;

    margin: 0;
    padding: 8px 0;

    list-style: none;

    gap: 14px;
}

.mobile-menu__sublink
{
    font: 400 .875rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: block;

    text-decoration: none;

    color: #fff;
}

.mobile-menu__divider
{
    height: 1px;

    background: rgba(255, 255, 255, .2);
}

.mobile-menu__subscribe
{
    display: flex;
    flex-direction: column;

    gap: 20px;
}

.mobile-menu__subscribe-field
{
    display: flex;

    height: 38px;
    padding: 0 14px;

    border-radius: 6px;
    background: #fff;

    align-items: center;
    gap: 8px;
}

.mobile-menu__subscribe-btn
{
    display: flex;

    padding: 0;

    cursor: pointer;

    color: #6a6c73;
    border: none;
    background: none;

    flex-shrink: 0;
}

.mobile-menu__subscribe-btn svg
{
    display: block;

    fill: none;
}

.mobile-menu__address
{
    display: flex;
    flex-direction: column;

    gap: 20px;
}

.mobile-menu__address-text
{
    font: normal 400 .875rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    white-space: nowrap;

    color: #fff;
}

.mobile-menu__contact-link
{
    text-decoration: none;

    color: #fff;
}

.mobile-menu__socials
{
    display: flex;
    flex-direction: column;

    gap: 14px;
}

.mobile-menu__socials-row
{
    display: flex;

    align-items: center;
    gap: 8px;
}

.mobile-menu__social-link
{
    display: flex;

    height: 28px;
    padding: 0 10px;

    color: #fff;
    border: 1.5px solid #fff;
    border-radius: 100px;

    align-items: center;
    justify-content: center;
}

.mobile-menu__social-link svg
{
    display: block;
}

.mobile-menu__vk-link
{
    display: block;

    color: #fff;
}

.mobile-menu__vk-link svg
{
    display: block;
}

/* Субнавигация
   ========================================================================== */

.subnav
{
    position: relative;
    z-index: 10;

    display: flex;

    width: 1440px;
    margin: 0 auto 0;
    padding: 13px 60px;

    border-radius: 0 0 20px 20px;
    background: #fff;

    align-items: center;
    justify-content: center;
    gap: 28px;
}

.subnav__item
{
    font: 500 .75rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    padding: 0 8px;

    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
    letter-spacing: .04em;
    text-transform: uppercase;

    color: #000;

    align-items: center;
}

.subnav__item:hover,
.subnav__item:focus-visible
{
    outline: none;
}

.subnav__item:hover .subnav__text span,
.subnav__item:focus-visible .subnav__text span
{
    transform: translateY(-100%);
}

.subnav__item:focus-visible
{
    outline: none;
}

.subnav__item--active
{
    padding: 5px 12px 4px;

    color: #fff;
    border-radius: 100px;
    background: #001e62;
}

.subnav__text
{
    display: flex;
    overflow: hidden;
    flex-direction: column;

    height: 15px;
}

.subnav__text span
{
    line-height: 15px;

    height: 15px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);

    flex-shrink: 0;
}

@media (max-width: 1440px)
{
    .subnav
    {
        width: auto;
        margin: 0 20px;
    }
}

@media (max-width: 1025px)
{
    .subnav
    {
        overflow-x: auto;

        margin: 0 20px;
        padding: 12px 14px;

        justify-content: flex-start;
        gap: 14px;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 14px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .subnav::-webkit-scrollbar
    {
        display: none;
    }

    .subnav__item
    {
        flex-shrink: 0;
        scroll-snap-align: start;
    }

    .subnav__item:hover .subnav__text span
    {
        transform: none;
    }
}

/* Баннер главной страницы
   ========================================================================== */

.page-banner
{
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    padding-top: 82px;

    background: #0f7bff;
}

.page-banner__panel
{
    position: relative;

    overflow: hidden;

    height: 580px;

    border-radius: 66px 66px 0 0;
}

.page-banner__media
{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    overflow: hidden;

    height: 581px;
}

.page-banner__img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}

.page-banner__overlay
{
    position: absolute;

    background: linear-gradient(to bottom, rgba(0, 30, 98, .6) 0%, rgba(0, 30, 98, 0) 71.312%);

    inset: 0;
}

.page-banner__content
{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    display: flex;
    flex-direction: column;

    height: 438px;
    padding: 0 40px;

    text-align: center;

    align-items: center;
    justify-content: center;
    gap: 16px;
}

.page-banner__title
{
    font: 500 5rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #fff;
}

.page-banner__subtitle
{
    font: 500 1.125rem/1.375rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #fff;
}

/* Секция «О нас»
   ========================================================================== */

.page-about
{
    position: relative;
    z-index: 120;

    overflow: clip;

    margin-top: 520px;

    border-radius: 60px 60px 0 0;
    background: linear-gradient(to bottom, #ecf3fb 0%, #ecf3fb 88.7%, rgba(237, 243, 252, 0) 100%) #fff;
}

/* О нас — история федерации
   ========================================================================== */

.about-history
{
    position: relative;
}

.about-history__inner
{
    position: relative;

    width: 1000px;
    margin: 0 auto;
    padding: 100px 0 215px;
}

.about-history__line
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;

    width: 2px;
    margin-left: -1px;

    pointer-events: none;

    background: rgba(0, 0, 0, .1);
}

.about-history__item
{
    position: relative;

    display: grid;

    grid-template-columns: 500px 500px;
    align-items: center;
}

.about-history__item + .about-history__item,
.about-history__item + .about-history__stages-block,
.about-history__stages-block + .about-history__item
{
    margin-top: 100px;
}

.about-history__col--text
{
    display: flex;

    padding-right: 48px;

    justify-content: flex-end;
}

.about-history__col--media
{
    padding-left: 48px;
}

.about-history__item--reverse .about-history__col--text
{
    padding-right: 0;
    padding-left: 48px;

    justify-content: flex-start;
    order: 2;
}

.about-history__item--reverse .about-history__col--media
{
    padding-left: 0;

    order: 1;
}

.about-history__item--reverse .about-history__date,
.about-history__item--reverse .about-history__title,
.about-history__item--reverse .about-history__body
{
    text-align: left;
}

.about-history__content
{
    display: flex;
    flex-direction: column;

    width: 361px;

    gap: 8px;
}

.about-history__date
{
    font: 400 1.875rem/1.2 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: block;

    text-align: right;

    color: #0f7bff;
}

.about-history__title
{
    font: 700 1.25rem/1.4 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    text-align: right;

    color: #001e62;
}

.about-history__body
{
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.571;

    margin: 0;

    text-align: right;

    color: #6a6c73;
}

.about-history__body--medium
{
    font-weight: 500;
}

.about-history__img
{
    display: block;

    width: 452px;
    height: auto;

    border-radius: 16px;

    -o-object-fit: cover;
       object-fit: cover;
}

.about-history__dot
{
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;

    width: 32px;
    height: 32px;

    transform: translate(-50%, -50%);

    border: 4px solid #0f7bff;
    border-radius: 50%;
    background: #ecf3fb;
}

.about-history__stages-block
{
    position: relative;
    z-index: 1;

    padding: 47px 48px 48px;

    text-align: center;

    border-radius: 24px;
    background: #fff;
}

.about-history__heading
{
    font: 700 1.875rem/2.5rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    max-width: 617px;
    margin: 0 auto 24px;

    color: #001e62;
}

.about-history__stages
{
    display: flex;

    justify-content: center;
    gap: 16px;
}

.about-history__stage
{
    display: flex;
    flex-direction: column;

    width: 214px;
    padding: 16px;

    text-align: center;

    border-radius: 6px;
    box-shadow: inset 0 0 0 1px rgba(102, 171, 255, .2);

    gap: 4px;
    justify-content: center;
}

.about-history__stage-period
{
    font: 700 1.125rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: block;

    color: #001e62;
}

.about-history__stage-name
{
    font-size: .75rem;
    font-weight: 500;

    display: block;

    letter-spacing: .04em;
    text-transform: uppercase;

    color: #001e62;
}

.about-history__stages-block--dark
{
    background: #001e62;
}

.about-history__stages-block--dark .about-history__heading
{
    color: #fff;
}

.about-history__stages-block--dark .about-history__stage-period
{
    color: #fff;
}

.about-history__stages-block--dark .about-history__stage-name
{
    color: rgba(255, 255, 255, .8);
}

.about-history__duo
{
    display: flex;

    align-items: flex-start;
    gap: 16px;
}

.about-history__duo-img
{
    display: block;

    width: 218px;
    height: 179px;

    border-radius: 16px;

    -o-object-fit: cover;
       object-fit: cover;
}

.about-history__duo-img:last-child
{
    margin-top: 81px;
}

@media (max-width: 1025px)
{
    .about-history__inner
    {
        width: auto;
        max-width: 480px;
        margin: 0 auto;
        padding: 50px 0 70px;
    }

    .about-history__line
    {
        left: 22px;

        margin-left: 0;
    }

    .about-history__item
    {
        display: flex;
        flex-direction: column;

        padding-right: 14px;
        padding-left: 46px;

        align-items: stretch;
    }

    .about-history__item + .about-history__item,
    .about-history__item + .about-history__stages-block,
    .about-history__stages-block + .about-history__item
    {
        margin-top: 40px;
    }

    .about-history__col--text,
    .about-history__content
    {
        display: contents;
    }

    .about-history__date
    {
        margin-bottom: 14px;

        text-align: left;

        order: 1;
    }

    .about-history__col--media
    {
        margin-bottom: 14px;
        padding: 0;

        order: 2;
    }

    .about-history__title
    {
        font-size: 1.125rem;

        margin-bottom: 4px;

        text-align: left;

        order: 3;
    }

    .about-history__body
    {
        font-size: .75rem;
        line-height: 1.3;

        text-align: left;

        order: 4;
    }

    .about-history__body + .about-history__body
    {
        margin-top: 8px;
    }

    .about-history__item--reverse .about-history__col--media
    {
        padding: 0;

        order: 2;
    }

    .about-history__img
    {
        width: 100%;
        height: auto;

        border-radius: 6px;

        aspect-ratio: 315/216;
    }

    .about-history__duo-img
    {
        width: auto;
        min-width: 0;
        height: auto;

        border-radius: 6px;

        flex: 1;
    }

    .about-history__duo-img:last-child
    {
        margin-top: 0;
    }

    .about-history__dot
    {
        top: 18px;
        left: 14px;

        width: 18px;
        height: 18px;

        transform: translateY(-50%);

        border-width: 3px;
    }

    .about-history__stages-block
    {
        padding: 24px;

        border-radius: 0;
    }

    .about-history__heading
    {
        font-size: 1.5rem;
        line-height: 1.2;

        max-width: none;
    }

    .about-history__stages
    {
        display: grid;

        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 16px;
    }

    .about-history__stage
    {
        width: auto;

        text-align: center;
    }
}

/* Reveal-анимации истории (вариант C): строки хронологии разъезжаются по
   горизонтали от центра, панель этапов поднимается снизу с каскадом карточек,
   точки «щёлкают» из нуля. Класс .is-inview навешивает JS через
   IntersectionObserver. Скрытое стартовое состояние — только при активном JS
   (html без .no-js снимается в <head> до отрисовки, без мигания контента).
   ========================================================================== */

html:not(.no-js) .about-history__col,
html:not(.no-js) .about-history__item,
html:not(.no-js) .about-history__heading,
html:not(.no-js) .about-history__stage
{
    transition: opacity .7s cubic-bezier(.4, 0, .6, 1), transform .7s cubic-bezier(.4, 0, .6, 1);
}

html:not(.no-js) .about-history__heading,
html:not(.no-js) .about-history__stage
{
    transform: translateY(30px);

    opacity: 0;
}

html:not(.no-js) .about-history__dot
{
    transition: opacity .4s cubic-bezier(.4, 0, .6, 1), transform .55s linear(0, .06, .182, .317, .443, .553, .644, .719, .779, .826, .864, .894, .917, .935, .95, .961, .97, .976, .982, .986, .989, .992, .994, .995, .997, .998, .998, .999, .999, 1, 1);
    transition-delay: .12s;

    opacity: 0;
}

html:not(.no-js) .about-history__stage:nth-child(2)
{
    transition-delay: .08s;
}

html:not(.no-js) .about-history__stage:nth-child(3)
{
    transition-delay: .16s;
}

html:not(.no-js) .about-history__stage:nth-child(4)
{
    transition-delay: .24s;
}

html:not(.no-js) .about-history__col.is-inview,
html:not(.no-js) .about-history__item.is-inview,
html:not(.no-js) .about-history__heading.is-inview,
html:not(.no-js) .about-history__stage.is-inview
{
    transform: none;

    opacity: 1;
}

html:not(.no-js) .about-history__dot.is-inview
{
    opacity: 1;
}

@media (min-width: 1026px)
{
    html:not(.no-js) .about-history__col
    {
        opacity: 0;
    }

    html:not(.no-js) .about-history__col--text
    {
        transform: translateX(-40px);
    }

    html:not(.no-js) .about-history__col--media
    {
        transform: translateX(40px);
    }

    html:not(.no-js) .about-history__item--reverse html:not(.no-js) .about-history__col--text
    {
        transform: translateX(40px);
    }

    html:not(.no-js) .about-history__item--reverse html:not(.no-js) .about-history__col--media
    {
        transform: translateX(-40px);
    }

    html:not(.no-js) .about-history__dot
    {
        transform: translate(-50%, -50%) scale(0);
    }

    html:not(.no-js) .about-history__dot.is-inview
    {
        transform: translate(-50%, -50%) scale(1);
    }
}

@media (max-width: 1025px)
{
    html:not(.no-js) .about-history__item
    {
        transform: translateY(30px);

        opacity: 0;
    }

    html:not(.no-js) .about-history__dot
    {
        transform: translateY(-50%) scale(0);
    }

    html:not(.no-js) .about-history__dot.is-inview
    {
        transform: translateY(-50%) scale(1);
    }
}

@media (prefers-reduced-motion: reduce)
{
    html:not(.no-js) .about-history__col,
    html:not(.no-js) .about-history__item,
    html:not(.no-js) .about-history__heading,
    html:not(.no-js) .about-history__stage
    {
        transition: none !important;
        transform: none !important;

        opacity: 1 !important;
    }

    html:not(.no-js) .about-history__dot
    {
        transition: none !important;
        transform: translate(-50%, -50%) !important;

        opacity: 1 !important;
    }
}

@media (prefers-reduced-motion: reduce) and (max-width: 1025px)
{
    html:not(.no-js) .about-history__dot
    {
        transform: translateY(-50%) !important;
    }
}

@media (max-width: 480px)
{
    .about-history__inner
    {
        padding-bottom: 0;
    }

    .about-history__stages-block--dark
    {
        padding-bottom: 54px;
    }
}

/* Президиум — страница «Структура»
   ========================================================================== */

.presidium
{
    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;
    padding-top: 100px;
    padding-bottom: 160px;
}

@media (max-width: 1440px)
{
    .presidium
    {
        padding-right: 20px;
        padding-left: 20px;
    }
}

.presidium__head
{
    margin-bottom: 32px;
}

.presidium__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 14px;

    text-align: center;

    color: #000;
}

.presidium__divider
{
    height: 1px;

    background: #0f7bff;
}

.presidium__inner
{
    max-width: 952px;
    margin: 0 auto;
}

.presidium__grid
{
    display: grid;

    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.presidium--commission .presidium__divider
{
    background: #001e62;
}

@media (min-width: 1026px)
{
    .presidium--commission .presidium__head
    {
        margin-bottom: 20px;
    }

    .presidium--commission .presidium__inner
    {
        max-width: none;
    }

    .presidium--commission .presidium__grid
    {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 1025px)
{
    .presidium
    {
        padding: 24px 14px 70px;
    }

    .presidium__head
    {
        max-width: 480px;
        margin: 0 auto 14px;
    }

    .presidium__title
    {
        font-size: 1.25rem;

        text-align: left;
    }

    .presidium__divider
    {
        display: none;
    }

    .presidium--commission .presidium__divider
    {
        display: block;
    }

    .presidium__inner
    {
        max-width: 480px;
    }

    .presidium__grid
    {
        grid-template-columns: 1fr;
        gap: 14px;
    }
}

/* Карточка председателя — страница «Структура»
   Figma 596:9467
   ========================================================================== */

.presidium-lead
{
    display: flex;

    margin-bottom: 35px;
    padding: 24px;

    border-radius: 6px 6px 24px 6px;
    background: #fff;

    align-items: flex-start;
    gap: 30px;
}

.presidium-lead__photo
{
    position: relative;

    overflow: hidden;

    width: 223px;
    height: 223px;

    border-radius: 24px 6px 24px 6px;

    flex-shrink: 0;
}

.presidium-lead__img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.presidium-lead__body
{
    display: flex;
    flex-direction: column;

    min-width: 0;

    flex: 1;
    align-items: flex-start;
    gap: 14px;
}

.presidium-lead__label
{
    font: 500 .875rem/1.25rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    letter-spacing: 1.4px;
    text-transform: uppercase;

    color: #0f7bff;
}

.presidium-lead__name
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;
}

.presidium-lead__divider
{
    width: 100%;
    height: 1px;

    background: #cfd0cf;
}

.presidium-lead__text
{
    font: 400 .875rem/1.375rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #6a6c73;
}

@media (max-width: 1025px)
{
    .presidium-lead
    {
        display: none;
    }
}

/* Карточка члена президиума — страница «Структура»
   Figma 596:9478 / 596:9489
   ========================================================================== */

.presidium-card
{
    display: flex;
    flex-direction: column;

    min-height: 187px;
    padding: 14px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);

    border-radius: 6px 6px 24px 6px;
    background: #fff;

    gap: 16px;
}

.presidium-card:hover
{
    transform: translateY(-10px);
}

.presidium-card__top
{
    display: flex;

    min-height: 98px;

    align-items: flex-end;
    gap: 8px;
}

.presidium-card__ava
{
    position: relative;

    overflow: hidden;

    width: 98px;
    height: 98px;

    border-radius: 24px 6px 24px 6px;

    flex-shrink: 0;
}

.presidium-card__img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.presidium-card__name
{
    font: 500 1.25rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    min-width: 0;
    margin: 0;

    text-align: right;

    color: #000;

    flex: 1;
}

.presidium-card__divider
{
    height: 1px;

    background: #cfd0cf;
}

.presidium-card__role
{
    display: flex;

    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.presidium-card__post
{
    font: 400 .875rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    text-align: right;
    white-space: nowrap;

    color: #48484a;
}

.presidium-card__sport
{
    width: 28px;
    height: 28px;

    flex-shrink: 0;
}

.presidium-card--lead
{
    display: none;
}

@media (max-width: 1025px)
{
    .presidium-card--lead
    {
        display: flex;
    }
}

/* Страница «Комиссии»: дропдаун выбора + карточка члена (Figma 596:9835)
   ========================================================================== */

.commission-select
{
    margin-bottom: 30px;
    padding-right: 164px;
    padding-left: 164px;
}

@media (max-width: 1380px)
{
    .commission-select
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media (max-width: 1025px)
{
    .commission-select
    {
        margin-bottom: 14px;
        padding-right: 0;
        padding-left: 0;
    }
}

.commission-select .media-select__trigger
{
    border-color: rgba(0, 0, 0, .25);
}

.commission-select .media-select__value
{
    color: #48484a;
}

.commission-select .media-select__list
{
    position: absolute;
    z-index: 10;
    top: 100%;
    right: 0;
    left: 0;
}

.commission-card
{
    display: flex;
    flex-direction: column;

    min-height: 132px;
    padding: 14px;

    border-radius: 6px 6px 24px 6px;
    background: #fff;

    gap: 16px;
}

.commission-card__name-wrap
{
    display: flex;
    flex-direction: column;

    min-height: 53px;

    justify-content: flex-end;
}

.commission-card__name
{
    font: 500 1.25rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;
}

.commission-card__divider
{
    height: 1px;

    background: #cfd0cf;
}

.commission-card__role
{
    font: 400 .875rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #48484a;
}

/* pop-member — модалка с информацией о члене президиума
   Открывается кликом по кликабельной карточке (.pop-member-trigger).
   Анимация: снизу в центр (как pop-login), Figma: Move in ↑, Slow, 400ms.
   Оверлей: ::backdrop #000 60%.
   ========================================================================== */

.pop-member
{
    overflow-y: auto;

    width: 1200px;
    max-width: none;
    max-width: calc(100vw - 40px);
    max-height: none;
    max-height: 90vh;
    padding: 0;

    border: none;
    border-radius: 6px;
    outline: none;
    background: #fff;

    scrollbar-width: thin;
    scrollbar-color: #cfd0cf transparent;
}

.pop-member::-webkit-scrollbar
{
    width: 6px;
}

.pop-member::-webkit-scrollbar-thumb
{
    border-radius: 3px;
    background: #cfd0cf;
}

.pop-member::-webkit-scrollbar-track
{
    background: transparent;
}

.pop-member
{
    top: 50%;
    left: 50%;

    margin: 0;

    transform: translate(-50%, -50%);
}

.pop-member::backdrop
{
    animation: pop-member-backdrop-in 400ms cubic-bezier(.4, 0, .6, 1) both;

    background: rgba(0, 0, 0, .6);
}

.pop-member[open]
{
    animation: pop-member-slide-in 400ms cubic-bezier(.4, 0, .6, 1) forwards;
}

.pop-member--closing
{
    animation: pop-member-slide-out 400ms cubic-bezier(.4, 0, .6, 1) forwards;
}

.pop-member--closing::backdrop
{
    animation: pop-member-backdrop-out 400ms cubic-bezier(.4, 0, .6, 1) forwards;
}

.pop-member__inner
{
    display: flex;

    padding: 32px 32px 40px;

    gap: 64px;
}

.pop-member__aside
{
    width: 350px;

    flex-shrink: 0;
}

.pop-member__photo
{
    position: relative;

    overflow: hidden;

    margin-bottom: 32px;

    border-radius: 24px 6px 24px 6px;

    aspect-ratio: 1;
}

.pop-member__photo::after
{
    position: absolute;

    content: '';

    background: rgba(0, 0, 0, .1);

    inset: 0;
}

.pop-member__img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.pop-member__role
{
    font: 500 .875rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 8px;

    letter-spacing: 1px;
    text-transform: uppercase;

    color: #277eff;
}

.pop-member__name
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 24px;

    color: #081b40;
}

.pop-member__age
{
    font: 500 1rem/1.5rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    margin: 0;

    color: #6a6c73;

    align-items: center;
    gap: 8px;
}

.pop-member__age svg
{
    width: 18px;
    height: 18px;

    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
}

.pop-member__main
{
    display: flex;
    flex-direction: column;

    min-width: 0;

    flex: 1;
    gap: 32px;
}

.pop-member__bio
{
    display: flex;
    flex-direction: column;

    padding: 24px 32px;

    border: 1px solid #e8e8e8;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);

    gap: 14px;
}

.pop-member__bio-title
{
    font: 500 1.25rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;
}

.pop-member__bio-list
{
    font: 400 1.125rem/1.625 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;
    flex-direction: column;

    margin: 0;
    padding: 0;

    list-style: none;

    color: #000;

    gap: 12px;
}

.pop-member__bio-divider
{
    height: 1px;
    margin: 8px 0;

    background: #e8e8e8;
}

.pop-member__bio-note
{
    font: 400 1.125rem/1.667 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #6a6c73;
}

.pop-member__section
{
    display: flex;
    flex-direction: column;

    gap: 24px;
}

.pop-member__heading
{
    font: 500 1.25rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;
}

.pop-member__timeline
{
    display: flex;
    flex-direction: column;

    margin: 0 0 0 16px;
    padding: 0 0 0 28px;

    list-style: none;

    border-left: 2px solid #e8e8e8;

    gap: 16px;
}

.pop-member__edu
{
    position: relative;
}

.pop-member__edu::before
{
    position: absolute;
    top: 10px;
    left: -35px;

    width: 12px;
    height: 12px;

    content: '';

    border-radius: 50%;
    background: #e8e8e8;
    box-shadow: 0 0 0 4px #f7f9fc;
}

.pop-member__edu--active::before
{
    background: #277eff;
}

.pop-member__edu-year
{
    font: 500 1rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: block;

    margin-bottom: 4px;

    color: #000;
}

.pop-member__edu-desc
{
    font: 400 .875rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #6a6c73;
}

.pop-member__lang
{
    display: flex;

    margin-top: 8px;
    padding: 16px;

    border-radius: 6px;
    background: #eff6ff;

    align-items: flex-start;
    gap: 12px;
}

.pop-member__lang svg
{
    width: 20px;
    height: 20px;

    color: #277eff;

    flex-shrink: 0;
    fill: none;
    stroke: #277eff;
}

.pop-member__lang p
{
    font: 500 .875rem/1.25rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #081b40;
}

@media (max-width: 1025px)
{
    .pop-member
    {
        max-width: min(600px, 100vw - 28px);

        border-radius: 14px;
    }

    .pop-member__inner
    {
        flex-direction: column;

        padding: 24px 16px;

        gap: 24px;
    }

    .pop-member__aside
    {
        width: auto;
    }

    .pop-member__photo
    {
        width: 180px;
        margin-bottom: 16px;
    }

    .pop-member__name
    {
        font-size: 1.625rem;
    }

    .pop-member__bio
    {
        padding: 20px;
    }

    .pop-member__bio-list,
    .pop-member__bio-note
    {
        font-size: 1rem;
        line-height: 1.5;
    }
}

.pop-member-trigger
{
    cursor: pointer;
}

@keyframes pop-member-slide-in
{
    from
    {
        transform: translate(-50%, calc(-50% + 100vh));
    }

    to
    {
        transform: translate(-50%, -50%);
    }
}

@keyframes pop-member-backdrop-in
{
    from
    {
        opacity: 0;
    }

    to
    {
        opacity: 1;
    }
}

@keyframes pop-member-slide-out
{
    from
    {
        transform: translate(-50%, -50%);
    }

    to
    {
        transform: translate(-50%, calc(-50% + 100vh));
    }
}

@keyframes pop-member-backdrop-out
{
    from
    {
        opacity: 1;
    }

    to
    {
        opacity: 0;
    }
}

/* Футер
   ========================================================================== */

.page-footer
{
    font: .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    z-index: 125;

    margin-top: auto;

    color: #fff;
    background: #0f7bff;
}

.page-footer__wrapper
{
    display: flex;

    padding: 70px 50px 50px;
}

.page-footer__left
{
    display: flex;
    flex-direction: column;

    padding-right: 40px;

    flex: 0 0 50%;
    justify-content: space-between;
}

.page-footer__legal
{
    display: flex;
    flex-direction: column;

    margin: 0;
    padding: 0;

    list-style: none;

    gap: 14px;
}

.page-footer__legal-link
{
    font-size: .875rem;

    display: inline-block;

    transition: opacity .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #fff;
}

.page-footer__legal-link:hover,
.page-footer__legal-link:focus-visible
{
    opacity: .7;
    outline: none;
}

.page-footer__copyright
{
    font-size: .875rem;
}

.page-footer__brand
{
    display: flex;
    flex-direction: column;

    gap: 35px;
    align-items: flex-start;
}

.page-footer__logo
{
    display: block;

    text-decoration: none;

    color: #fff;
}

.page-footer__logo-inner
{
    display: flex;

    align-items: center;
    gap: 20px;
}

.page-footer__logo-symbol
{
    display: block;

    width: 53px;
    height: 52px;

    flex-shrink: 0;
}

.page-footer__logo-title
{
    display: block;

    width: 175px;
    height: 47px;
}

.page-footer__merch
{
    font: .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    width: 154px;
    height: 28px;
    padding: 0 10px 0 14px;

    transition: border-color .3s cubic-bezier(.4, 0, .6, 1), background-color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #fff;
    border: 1.5px solid rgba(255, 255, 255, .5);
    border-radius: 100px;
    background: none;

    align-items: center;
    justify-content: space-between;
}

.page-footer__merch svg
{
    display: block;

    flex-shrink: 0;
    fill: none;
}

.page-footer__merch:hover,
.page-footer__merch:focus-visible
{
    border-color: #fff;
    outline: none;
    background: rgba(255, 255, 255, .15);
}

.page-footer__right
{
    display: flex;
    flex-direction: column;

    flex: 0 0 50%;
    justify-content: space-between;
}

.page-footer__nav
{
    display: flex;

    padding-bottom: 51px;

    gap: 60px;
    align-items: flex-start;
}

.page-footer__nav-col
{
    display: flex;
    flex-direction: column;

    gap: 49px;
}

.page-footer__nav-title
{
    font-size: .875rem;
    font-weight: 500;

    margin: 0;

    white-space: nowrap;
    letter-spacing: .03em;
    text-transform: uppercase;

    color: #fff;
}

.page-footer__nav-list
{
    display: flex;
    flex-direction: column;

    margin: 0;
    padding: 0;

    list-style: none;

    gap: 10px;
}

.page-footer__nav-link
{
    font-size: .875rem;

    display: block;

    transition: opacity .3s cubic-bezier(.4, 0, .6, 1);
    white-space: nowrap;
    text-decoration: none;

    color: #fff;
}

.page-footer__nav-link:hover,
.page-footer__nav-link:focus-visible
{
    opacity: .7;
    outline: none;
}

.page-footer__bottom
{
    display: flex;

    padding-top: 30px;

    border-top: 1px solid rgba(255, 255, 255, .5);

    justify-content: space-between;
    align-items: flex-start;
}

.page-footer__address
{
    display: flex;
    flex-direction: column;

    gap: 35px;
}

.page-footer__address-info
{
    display: flex;
    flex-direction: column;

    gap: 20px;
}

.page-footer__address-title
{
    font-size: .875rem;
    font-weight: 500;

    margin: 0;

    letter-spacing: .03em;
    text-transform: uppercase;

    color: #fff;
}

.page-footer__address-text p
{
    font-size: .875rem;
    line-height: normal;

    margin: 0;

    color: #fff;
}

.page-footer__address-link
{
    text-decoration: none;

    color: inherit;
}

.page-footer__social
{
    display: flex;

    gap: 8px;
    align-items: center;
}

.page-footer__social-link
{
    display: flex;

    height: 28px;
    padding: 0 10px;

    transition: background-color .3s cubic-bezier(.4, 0, .6, 1), color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #fff;
    border: 2px solid #fff;
    border-radius: 100px;
    background: none;

    align-items: center;
    justify-content: center;
}

.page-footer__social-link svg
{
    display: block;
}

.page-footer__social-link:hover,
.page-footer__social-link:focus-visible
{
    color: #001e62;
    outline: none;
    background: #fff;
}

.page-footer__vk-link
{
    display: block;

    transition: color .3s cubic-bezier(.4, 0, .6, 1), background-color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #fff;
    border-radius: 100px;

    flex-shrink: 0;
}

.page-footer__vk-link svg
{
    display: block;
}

.page-footer__vk-link:hover,
.page-footer__vk-link:focus-visible
{
    color: #001e62;
    outline: none;
    background: #fff;

    --sport-icon-color: #001e62;
}

.page-footer__subscribe
{
    display: flex;
    flex-direction: column;

    gap: 20px;
}

.page-footer__subscribe-title
{
    font-size: .875rem;
    font-weight: 500;

    margin: 0;

    white-space: nowrap;
    letter-spacing: .03em;
    text-transform: uppercase;

    color: #fff;
}

.page-footer__field
{
    position: relative;

    overflow: hidden;

    width: 328px;
    height: 38px;

    border-radius: 6px;
    background: #fff;
}

.page-footer__input
{
    font: .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: absolute;

    width: 100%;
    height: 100%;
    padding: 0 44px 0 16px;

    color: #000;
    border: none;
    outline: none;
    background: transparent;

    inset: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

.page-footer__input::-moz-placeholder
{
    color: #6a6c73;
}

.page-footer__input::placeholder
{
    color: #6a6c73;
}

.page-footer__submit
{
    position: absolute;
    top: 50%;
    right: 4px;

    display: flex;

    padding: 10px;

    cursor: pointer;
    transition: opacity .3s cubic-bezier(.4, 0, .6, 1);
    transform: translateY(-50%);

    color: #6a6c73;
    border: none;
    background: none;

    align-items: center;
    justify-content: center;
}

.page-footer__submit svg
{
    display: block;

    fill: none;
}

@media (max-width: 1600px)
{
    .page-footer__left
    {
        flex: 0 0 auto;
    }

    .page-footer__right
    {
        flex: 1;
    }
}

@media (max-width: 1200px)
{
    .page-footer__wrapper
    {
        padding: 30px 14px 52px;
    }

    .page-footer__right
    {
        display: none;
    }

    .page-footer__left
    {
        padding-right: 0;

        flex: 1;
        justify-content: flex-start;
        gap: 32px;
    }

    .page-footer__brand
    {
        flex-direction: row;

        order: -1;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 24px;
    }

    .page-footer__logo-inner
    {
        gap: 15px;
    }

    .page-footer__logo-symbol
    {
        width: 42px;
        height: 41px;
    }

    .page-footer__logo-title
    {
        width: 137px;
        height: auto;
    }

    .page-footer__merch
    {
        width: auto;

        gap: 24px;
    }

    .page-footer__merch:hover
    {
        border-color: rgba(255, 255, 255, .5);
        background: none;
    }

    .page-footer__legal
    {
        gap: 12px;
    }

    .page-footer__legal-link:hover
    {
        opacity: 1;
    }
}

/* pop-login — попап авторизации
   Вызывается кликом на page-header__ctrl--profile.
   Анимация: снизу в центр, 300ms ease-out (Figma: Move in ↑).
   Оверлей: ::backdrop #001e62 90%.
   ========================================================================== */

.pop-login
{
    top: 50%;
    left: 50%;

    overflow: hidden;

    width: 358px;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;

    transform: translate(-50%, -50%);

    border: none;
    border-radius: 6px 26px 6px 26px;
    background: #fff;
}

.pop-login::backdrop
{
    animation: pop-backdrop-in 300ms ease-out both;

    background: rgba(0, 30, 98, .9);
}

.pop-login[open]
{
    animation: pop-login-slide-in 300ms ease-out forwards;
}

.pop-login--closing
{
    animation: pop-login-slide-out 300ms ease-out forwards;
}

.pop-login--closing::backdrop
{
    animation: pop-backdrop-out 300ms ease-out forwards;
}

.pop-login__form
{
    display: flex;
    flex-direction: column;

    padding: 44px;

    align-items: center;
    gap: 24px;
}

.pop-login__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    text-align: center;
    white-space: nowrap;

    color: #000;
}

.pop-login__input
{
    font: .875rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: block;

    width: 100%;
    padding: 11px 15px;

    transition: border-color .3s cubic-bezier(.4, 0, .6, 1);

    color: #6a6c73;
    border: 1px solid #cfd0cf;
    border-radius: 6px;
    outline: none;
    background: none;
}

.pop-login__input::-moz-placeholder
{
    color: #6a6c73;
}

.pop-login__input::placeholder
{
    color: #6a6c73;
}

.pop-login__input:focus
{
    border-color: #0f7bff;
}

.pop-login__remember
{
    display: flex;

    width: 100%;

    cursor: pointer;

    align-items: center;
    gap: 8px;
}

.pop-login__remember input[type=checkbox]
{
    width: 14px;
    height: 14px;

    cursor: pointer;
    transition: background-color .3s cubic-bezier(.4, 0, .6, 1), border-color .3s cubic-bezier(.4, 0, .6, 1);

    border: 1px solid #cfd0cf;
    border-radius: 3px;

       -moz-appearance: none;
            appearance: none;
    -webkit-appearance: none;
    flex-shrink: 0;
}

.pop-login__remember input[type=checkbox]:checked
{
    border-color: #0f7bff;
    background: #0f7bff;
}

.pop-login__remember span
{
    font: .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #6a6c73;
}

.pop-login__divider
{
    width: 100%;
    margin: 0;

    border: none;
    border-top: 1px solid #cfd0cf;
}

.pop-login__legal
{
    font: .875rem/1.4 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    width: 270px;
    margin: 0;

    text-align: center;

    color: #6a6c73;
}

.pop-login__submit
{
    font: 500 .75rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    width: 270px;
    height: 44px;

    cursor: pointer;
    transition: opacity .3s cubic-bezier(.4, 0, .6, 1);
    letter-spacing: .6px;
    text-transform: uppercase;

    color: #fff;
    border: none;
    border-radius: 6px;
    background: #0f7bff;
}

.pop-login__submit:hover,
.pop-login__submit:focus-visible
{
    opacity: .85;
    outline: none;
}

.pop-login__links
{
    font: .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    width: 265px;

    white-space: nowrap;

    justify-content: space-between;
}

.pop-login__link
{
    text-decoration: none;

    color: #0f7bff;
}

.pop-login__link:hover
{
    text-decoration: underline;
}

.pop-login__or
{
    color: #6a6c73;
}

@keyframes pop-login-slide-in
{
    from
    {
        transform: translate(-50%, calc(-50% + 100vh));
    }

    to
    {
        transform: translate(-50%, -50%);
    }
}

@keyframes pop-backdrop-in
{
    from
    {
        opacity: 0;
    }

    to
    {
        opacity: 1;
    }
}

@keyframes pop-login-slide-out
{
    from
    {
        transform: translate(-50%, -50%);
    }

    to
    {
        transform: translate(-50%, calc(-50% + 100vh));
    }
}

@keyframes pop-backdrop-out
{
    from
    {
        opacity: 1;
    }

    to
    {
        opacity: 0;
    }
}

/* pop-subscribe — попап подтверждения подписки
   Анимация идентична pop-login (те же keyframes).
   ========================================================================== */

.pop-subscribe
{
    top: 50%;
    left: 50%;

    overflow: hidden;

    width: 358px;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;

    transform: translate(-50%, -50%);

    border: none;
    border-radius: 6px 26px 6px 26px;
    background: #fff;
}

.pop-subscribe::backdrop
{
    animation: pop-backdrop-in 300ms ease-out both;

    background: rgba(0, 30, 98, .9);
}

.pop-subscribe[open]
{
    animation: pop-login-slide-in 300ms ease-out forwards;
}

.pop-subscribe--closing::backdrop
{
    animation: pop-backdrop-out 300ms ease-out forwards;
}

.pop-subscribe__inner
{
    display: flex;
    flex-direction: column;

    padding: 44px;

    align-items: center;
    gap: 24px;
}

.pop-subscribe__icon
{
    display: block;

    flex-shrink: 0;
    fill: none;
}

.pop-subscribe__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    text-align: center;

    color: #000;
}

.pop-subscribe__text
{
    font: 400 1rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    width: 256px;
    margin: 0;

    text-align: center;

    color: #6a6c73;
}

.pop-subscribe__close
{
    font: 500 .75rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    width: 270px;
    height: 44px;

    cursor: pointer;
    transition: opacity .3s cubic-bezier(.4, 0, .6, 1);
    letter-spacing: .6px;
    text-transform: uppercase;

    color: #fff;
    border: none;
    border-radius: 6px;
    background: #0f7bff;
}

.pop-subscribe__close:hover,
.pop-subscribe__close:focus-visible
{
    opacity: .85;
    outline: none;
}

/* events-bar — панель онлайн-событий (fixed под хедером)
   ========================================================================== */

.events-bar
{
    font-family: 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: fixed;
    z-index: 125;
    top: 77px;
    right: 20px;
    left: 20px;

    overflow: hidden;

    animation: events-bar-entry 400ms cubic-bezier(.4, 0, .6, 1) 1.3s both;
}

.page--inner .events-bar
{
    animation: none;
}

.events-bar__panel
{
    transition: transform 600ms linear(0, .06, .182, .317, .443, .553, .644, .719, .779, .826, .864, .894, .917, .935, .95, .961, .97, .976, .982, .986, .989, .992, .994, .995, .997, .998, .998, .999, .999, 1, 1) 80ms;
}

.events-bar__body
{
    overflow: hidden;

    padding-right: 20px;
    padding-left: 20px;

    border-radius: 3px 3px 26px 26px;
    background: #fff;
}

.events-bar__track
{
    overflow: hidden;

    height: 100%;
    padding-top: 20px;
    padding-bottom: 15px;
}

.events-bar__track .swiper-wrapper
{
    display: flex;

    align-items: center;
}

.events-bar__event
{
    position: relative;

    display: flex;
    flex-direction: column;

    width: 340px !important;
    padding: 16px;

    transition: background-color .3s cubic-bezier(.4, 0, .6, 1), border-color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: inherit;
    border: 1.5px solid rgba(102, 171, 255, .1);
    border-radius: 3px 60px 3px 48px;
    background: rgba(102, 171, 255, .1);

    justify-content: space-between;
    flex-shrink: 0;
}

.events-bar__event:not(.events-bar__event--live):hover
{
    border-color: rgba(102, 171, 255, .2);
    background: rgba(102, 171, 255, .5);
}

.events-bar__event--live:hover
{
    border-color: #eb3a26;
    background: rgba(182, 213, 243, .3);
}

.events-bar__event-top
{
    display: flex;
    flex-direction: column;

    margin-bottom: 11px;
    padding-right: 56px;
}

.events-bar__sport
{
    font-size: .875rem;
    font-weight: 500;
    line-height: normal;

    margin-bottom: 12px;
}

.events-bar__sport--swim
{
    color: #0f7bff;
}

.events-bar__sport--sync
{
    color: #e50361;
}

.events-bar__sport--dive
{
    color: #7807fe;
}

.events-bar__sport--polo
{
    color: #7807fe;
}

.events-bar__sport--dive-grad
{
    background: linear-gradient(200deg, #0bcf9b 6%, #0f7bff 92%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}

.events-bar__titles
{
    display: flex;
    flex-direction: column;

    gap: 4px;
}

.events-bar__name
{
    font-size: .875rem;
    font-weight: 500;
    line-height: normal;

    margin: 0;

    color: #001e62;
}

.events-bar__stage
{
    font-size: .75rem;
    font-weight: 400;
    line-height: normal;

    margin: 0;

    color: #6a6c73;
}

.events-bar__event-bottom
{
    display: flex;

    width: 100%;

    align-items: center;
}

.events-bar__teams
{
    display: flex;
    overflow: hidden;

    height: 36px;
    padding: 4px 18px;

    transition: background-color .3s cubic-bezier(.4, 0, .6, 1);

    border-radius: 0 30px;
    background: rgba(255, 255, 255, .6);

    align-items: center;
    gap: 4px;
    flex: 1;
}

.events-bar__event:not(.events-bar__event--live):hover .events-bar__teams
{
    background: #fff;
}

.events-bar__teams
{
    width: 198px;
    min-width: 0;
}

.events-bar__team
{
    display: flex;

    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.events-bar__team-logo
{
    display: flex;
    overflow: hidden;

    width: 24px;
    height: 24px;

    border-radius: 50%;
    background: #fff;

    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.events-bar__team-img
{
    display: block;

    max-width: 100%;
    max-height: 100%;

    -o-object-fit: contain;
       object-fit: contain;
}

.events-bar__team-name
{
    font-size: .625rem;
    font-weight: 400;
    line-height: normal;

    white-space: nowrap;

    color: #000;
}

.events-bar__sep
{
    font-size: .625rem;

    color: #000;

    flex-shrink: 0;
}

.events-bar__online
{
    display: flex;
    overflow: hidden;
    flex-direction: column;

    width: 109px;
    height: 36px;
    padding: 2px 18px 4px;

    transition: background-color .3s cubic-bezier(.4, 0, .6, 1), border-color .3s cubic-bezier(.4, 0, .6, 1);

    border-radius: 0 30px;
    background: rgba(255, 255, 255, .6);

    align-items: flex-start;
    justify-content: center;
    gap: 2px;
    flex-shrink: 0;
}

.events-bar__event:not(.events-bar__event--live):hover .events-bar__online
{
    background: #fff;
}

.events-bar__online--live
{
    border: 1px solid #eb3a26;
    background: #eb3a26;
}

.events-bar__event--live:hover .events-bar__online--live
{
    border-color: transparent;
    background: #eb3a26;
}

.events-bar__online-label
{
    font-size: .75rem;
    font-weight: 400;
    line-height: .6875rem;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    white-space: nowrap;

    color: #000;
}

.events-bar__online--live .events-bar__online-label
{
    color: #fff;
}

.events-bar__event--live:hover .events-bar__online--live .events-bar__online-label
{
    color: #fff;
}

.events-bar__online-wave
{
    display: block;

    width: 100%;
    height: 8px;

    flex-shrink: 0;
}

.events-bar__icon-wrap
{
    position: absolute;
    top: 25px;
    right: 25px;

    width: 40px;
    height: 40px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
    pointer-events: none;
}

.events-bar__event:not(.events-bar__event--live):hover .events-bar__icon-wrap
{
    transform: translateY(-5px);
}

.events-bar__event--live .events-bar__icon-wrap::before,
.events-bar__event--live .events-bar__icon-wrap::after
{
    position: absolute;
    top: 50%;
    left: 50%;

    content: '';
    transform: translate(-50%, -50%);

    border-radius: 50%;
}

.events-bar__event--live .events-bar__icon-wrap::before
{
    width: 46px;
    height: 46px;

    border: 1px solid rgba(120, 7, 254, .5);
}

.events-bar__event--live .events-bar__icon-wrap::after
{
    width: 52px;
    height: 52px;

    border: .5px solid rgba(120, 7, 254, .3);
}

.events-bar__icon
{
    display: block;

    width: 40px;
    height: 40px;
}

.events-bar__toggle
{
    display: flex;

    width: auto;
    height: 34px;
    margin: 0 auto;
    padding: 0 16px;

    cursor: pointer;
    transition: background-color .3s cubic-bezier(.4, 0, .6, 1), box-shadow .3s cubic-bezier(.4, 0, .6, 1);

    border: none;
    border-radius: 26px;
    background: transparent;

    justify-content: center;
    align-items: center;
}

.events-bar__toggle:focus-visible
{
    outline: 2px solid #0f7bff;
    outline-offset: 2px;
}

.events-bar__handle
{
    display: block;

    width: 56px;
    height: 5px;

    animation: events-handle-idle 2s ease-in-out infinite;

    border-radius: 100px;
    background: rgba(192, 192, 192, .8);
}

.events-bar__toggle:hover .events-bar__handle
{
    background: #fff;
}

.events-bar--collapsed
{
    pointer-events: none;
}

.events-bar--collapsed .events-bar__panel
{
    transition-delay: 0s;
    transform: translateY(calc(-100% + 34px));
}

.events-bar--collapsed .events-bar__toggle
{
    pointer-events: auto;
}

@media (prefers-reduced-motion: reduce)
{
    .events-bar
    {
        animation: none;
    }

    .events-bar .events-bar__panel
    {
        transition: none;
    }
}

@keyframes events-bar-entry
{
    from
    {
        transform: translateY(-10px);

        opacity: 0;
    }

    to
    {
        transform: translateY(0);

        opacity: 1;
    }
}

@keyframes events-handle-idle
{
    0%,
    100%
    {
        transform: translateY(-4px);
    }

    50%
    {
        transform: translateY(4px);
    }
}

@media (max-width: 1025px)
{
    .events-bar
    {
        display: none;
    }
}

/* scene-intro — фиксированная «сцена» на весь вьюпорт
   Содержит: фон, паттерн, banner (title + slider), анимированный занавес.
   Остаётся position: fixed всегда. scene-spacer создаёт scroll-пространство.
   После спейсера <main> (z-index: 20) выезжает поверх scene-intro (z-index: 15).
   ========================================================================== */

.scene-intro
{
    font-family: 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: relative;
    z-index: 15;

    overflow: hidden;

    width: 100%;
    height: calc(100vh + 60px);
}

.scene-intro__bg
{
    position: absolute;

    background: #0f7bff;

    inset: 0;
}

.scene-intro__branding
{
    position: absolute;

    animation: scene-branding-entry 1250ms linear(0, .06, .182, .317, .443, .553, .644, .719, .779, .826, .864, .894, .917, .935, .95, .961, .97, .976, .982, .986, .989, .992, .994, .995, .997, .998, .998, .999, .999, 1, 1) 0s both;
    pointer-events: none;

    inset: 0;
}

.scene-intro__branding img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.scene-intro__banner
{
    position: absolute;

    display: flex;
    flex-direction: column;

    animation: scene-banner-entry 1667ms linear(0, .06, .182, .317, .443, .553, .644, .719, .779, .826, .864, .894, .917, .935, .95, .961, .97, .976, .982, .986, .989, .992, .994, .995, .997, .998, .998, .999, .999, 1, 1) 1.25s both;

    inset: 0;
}

.scene-intro__title
{
    font-size: clamp(2.5rem, 4vw, 4.25rem);
    font-weight: 500;
    line-height: 1.05;

    margin: 31vh 0 0;
    padding: 0 40px;

    text-align: center;

    color: #fff;
}

.scene-intro__curtain
{
    position: absolute;

    overflow: hidden;

    animation: scene-curtain-out .3s ease-out .75s both;
    pointer-events: none;

    background: #cfd0cf;

    inset: 0;
}

.scene-intro__stripe
{
    position: absolute;
    right: 0;
    left: 0;

    height: 100%;
}

.scene-intro__stripe--1
{
    animation: scene-stripe-fly .6s cubic-bezier(.4, 0, .6, 1) both;

    background: #483dff;

    --stripe-from: 100%;
}

.scene-intro__stripe--2
{
    animation: scene-stripe-fly .6s cubic-bezier(.4, 0, .6, 1) both;

    background: #07f;

    --stripe-from: 156.5%;
}

.scene-intro__stripe--3
{
    animation: scene-stripe-fly .6s cubic-bezier(.4, 0, .6, 1) both;

    background: #0ea7cb;

    --stripe-from: 222.8%;
}

.scene-intro__stripe--4
{
    animation: scene-stripe-fly .6s cubic-bezier(.4, 0, .6, 1) both;

    background: #001e62;

    --stripe-from: 298.4%;
}

.scene-intro__stripe--5
{
    animation: scene-stripe-fly .6s cubic-bezier(.4, 0, .6, 1) both;

    background: #39bdf5;

    --stripe-from: 388.4%;
}

.scene-intro__stripe--6
{
    animation: scene-stripe-land .6s cubic-bezier(.4, 0, .6, 1) both;

    background: #0f7bff;
}

@media (prefers-reduced-motion: reduce)
{
    .scene-intro__curtain
    {
        animation-duration: .01s;
        animation-delay: 0s;
    }

    .scene-intro__stripe
    {
        display: none;
    }

    .scene-intro__branding
    {
        animation: none;
    }

    .scene-intro__banner
    {
        animation: none;
    }
}

@media (max-width: 1025px)
{
    .scene-intro
    {
        height: 475px;
    }

    .scene-intro__curtain
    {
        display: none;
    }

    .scene-intro__branding
    {
        display: none;
    }

    .scene-intro__banner
    {
        animation: none;
    }

    .scene-intro__title
    {
        display: none;
    }
}

@keyframes scene-branding-entry
{
    from
    {
        transform: translate(-1230px, 1959px);
    }

    to
    {
        transform: translate(0, 0);
    }
}

@keyframes scene-banner-entry
{
    from
    {
        transform: translateY(100vh);
    }

    to
    {
        transform: translateY(0);
    }
}

@keyframes scene-stripe-fly
{
    from
    {
        transform: translateY(var(--stripe-from, 100%));
    }

    to
    {
        transform: translateY(-110%);
    }
}

@keyframes scene-stripe-land
{
    from
    {
        transform: translateY(479.4%);
    }

    to
    {
        transform: translateY(0);
    }
}

@keyframes scene-curtain-out
{
    to
    {
        opacity: 0;
    }
}

/* Десктоп: раскрытие сцены по классу .scene-intro--revealed
   Заголовок уходит параллаксом вниз и тает, брендинг-паттерн гаснет.
   (заменяет прежний scroll-scrub; обратимо при возврате наверх)
   ========================================================================== */

@media (min-width: 1026px)
{
    .scene-intro__title
    {
        transition: transform .7s cubic-bezier(.4, 0, .6, 1), opacity .7s cubic-bezier(.4, 0, .6, 1);
    }

    .scene-intro__branding
    {
        transition: opacity .7s cubic-bezier(.4, 0, .6, 1);
    }

    .scene-intro--revealed .scene-intro__title
    {
        transform: translateY(80px);

        opacity: 0;
    }

    .scene-intro--revealed .scene-intro__branding
    {
        opacity: 0;
    }
}

/* scene-slider — слайдер внутри scene-intro
   Позиционируется внутри .scene-intro__banner (position: absolute, inset: 0).
   Figma Step-2: photo top 524px в 1130px фрейме ≈ 46vh; высота ~100vh (снизу обрезается).
   scroll-логика будет переработана отдельно.
   ========================================================================== */

.scene-slider
{
    font-family: 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: absolute;
    top: 46vh;
    right: 0;
    left: 0;

    overflow: hidden;

    height: 100vh;

    color: #fff;
    border-radius: 160px 160px 0 0;
}

@media (max-height: 750px)
{
    .scene-slider
    {
        height: 130vh;
    }
}

.scene-slider__slides
{
    position: absolute;

    inset: 0;
}

.scene-slider__slide
{
    position: absolute;

    display: flex;
    flex-direction: column;

    padding-top: 55px;

    opacity: 0;

    inset: 0;
    align-items: center;
}

.scene-slider__slide--active
{
    opacity: 1;
}

.scene-slider__photo
{
    position: absolute;
    z-index: 0;

    inset: 0;
}

.scene-slider__photo picture
{
    display: block;

    width: 100%;
    height: 100%;
}

.scene-slider__photo img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.scene-slider__body
{
    position: relative;
    z-index: 3;

    display: flex;
    flex-direction: column;

    width: 100%;
    max-width: 731px;
    padding: 0 40px;

    text-align: center;

    opacity: 0;

    align-items: center;
    gap: 24px;
}

.scene-slider__title
{
    font-size: 2rem;
    font-weight: 500;
    line-height: 1;

    margin: 0;

    color: #fff;
}

.scene-slider__text
{
    font-size: 1rem;
    line-height: 1.3;

    margin: 0;

    letter-spacing: .06em;

    color: #fff;
}

.scene-slider__link
{
    font-size: 1rem;
    font-weight: 400;
    line-height: normal;

    display: inline-flex;
    overflow: hidden;

    padding: 8px 20px;

    transition: background-color 100ms cubic-bezier(.4, 0, .6, 1), color 100ms cubic-bezier(.4, 0, .6, 1), gap 100ms cubic-bezier(.4, 0, .6, 1), padding-right 100ms cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #fff;
    border: 1.5px solid #fff;
    border-radius: 100px;

    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.scene-slider__link svg
{
    display: block;

    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
}

.scene-slider__link:hover,
.scene-slider__link:focus-visible
{
    padding-right: 13px;

    color: #001e62;
    outline: none;
    background: #fff;

    gap: 15px;
}

.scene-slider__nav
{
    position: absolute;
    top: 50%;
    right: 50px;

    transform: translateY(-50%);
}

@media (max-height: 750px)
{
    .scene-slider__nav
    {
        top: 50vh;
    }
}

.scene-slider__nav
{
    z-index: 4;

    display: flex;
    flex-direction: column;

    opacity: 0;

    gap: 15px;
}

.scene-slider__nav-btn
{
    font: 500 .875rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    width: 36px;
    height: 36px;

    cursor: pointer;

    color: #001e62;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #fff;

    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.scene-slider__nav-btn--active
{
    color: #fff;
    background: transparent;
}

.scene-slider__nav-btn:focus-visible
{
    outline: 2px solid #fff;
    outline-offset: 3px;
}

@media (max-width: 1025px)
{
    .scene-slider
    {
        top: 64px;

        height: 411px;

        border-radius: 20px 20px 0 0;
    }

    .scene-slider__slide
    {
        padding-top: 24px;
    }

    .scene-slider__body
    {
        padding: 0 14px;

        opacity: 1;

        gap: 18px;
    }

    .scene-slider__title
    {
        font-size: 1.375rem;
    }

    .scene-slider__text
    {
        display: none;
    }

    .scene-slider__link
    {
        font-size: .75rem;
    }

    .scene-slider__link:hover
    {
        padding-right: 20px;

        color: #fff;
        background: none;

        gap: 8px;
    }

    .scene-slider__nav
    {
        top: auto;
        right: auto;
        bottom: 46px;
        left: 50%;

        flex-direction: row;

        transform: translateX(-50%);

        opacity: 1;

        gap: 6px;
    }

    .scene-slider__nav-btn
    {
        font-size: 0;
        line-height: 0;

        width: 6px;
        height: 6px;
        padding: 0;

        color: transparent;
        border: none;
        background: #fff;
    }

    .scene-slider__nav-btn--active
    {
        background: #0f7bff;
    }
}

/* Десктоп: раскрытие сцены по классу .scene-intro--revealed
   (заменяет прежний scroll-scrub; класс вешает JS при первом скролле, обратимо)
   ========================================================================== */

@media (min-width: 1026px)
{
    .scene-slider
    {
        transition: top .7s cubic-bezier(.4, 0, .6, 1), border-radius .7s cubic-bezier(.4, 0, .6, 1), transform .3s ease-out;
    }

    .scene-intro:not(.scene-intro--revealed) .scene-slider:hover
    {
        transform: translateY(-30px);
    }

    .scene-slider__body
    {
        transition: transform .45s cubic-bezier(.4, 0, .6, 1) .3s;
        transform: translateY(100vh);

        opacity: 1;
    }

    .scene-slider__nav
    {
        transition: opacity .4s cubic-bezier(.4, 0, .6, 1) .3s;
    }

    .scene-intro--revealed .scene-slider
    {
        top: 87px;

        border-radius: 66px 66px 0 0;
    }

    .scene-intro--revealed .scene-slider__body
    {
        transform: translateY(0);
    }

    .scene-intro--revealed .scene-slider__nav
    {
        opacity: 1;
    }
}

/* sport-icon — круглая пиктограмма вида спорта
   Цвет фона и рисунок закодированы в SVG-символах спрайта (src/pages/index.html).
   Для ховера используется filter: brightness() — см. news-section.scss.
   ========================================================================== */

.sport-icon
{
    display: inline-flex;

    width: 28px;
    height: 28px;

    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.sport-icon svg
{
    display: block;

    width: 100%;
    height: 100%;
}

/* news-section — секция новостей главной страницы
   ========================================================================== */

.news-section
{
    position: relative;
    z-index: 25;

    margin-top: -60px;
    padding: 48px 0 100px;
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);

    border-radius: 60px 60px 0 0;
    background: linear-gradient(to bottom, #ecf3fb 68.734%, transparent 100%), #fff;
}

@media screen and (max-width: 1380px)
{
    .news-section
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .news-section
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.news-section--latest
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .news-section--latest
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .news-section--latest
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.news-section--latest
{
    padding-top: 100px;
    padding-bottom: 0;
}

.news-section--latest + .news-section--other
{
    margin-top: 50px;
}

.news-section--other
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .news-section--other
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .news-section--other
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.news-section--other
{
    padding-top: 0;
    padding-bottom: 160px;
}

.news-section__head
{
    position: relative;

    display: flex;

    max-width: 1440px;
    margin-right: auto;
    margin-bottom: 14px;
    margin-left: auto;

    align-items: center;
    justify-content: center;
}

.news-section__head--left
{
    justify-content: flex-start;
}

.news-section__head--left .news-section__title
{
    text-align: left;
}

.news-section__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    text-align: center;

    color: #000;
}

.news-section__all
{
    font: 500 .6875rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: absolute;
    right: 0;

    display: flex;

    white-space: nowrap;
    text-decoration: none;
    letter-spacing: .066em;
    text-transform: uppercase;

    color: #001e62;

    align-items: center;
    gap: 14px;
}

.news-section__all svg
{
    display: block;

    width: 16px;
    height: 9px;

    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
}

.news-section__all:hover,
.news-section__all:focus-visible
{
    outline: none;
}

.news-section__all:hover .news-section__all-text,
.news-section__all:focus-visible .news-section__all-text
{
    transform: translateX(-5px);
}

.news-section__all-text
{
    display: inline-block;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
}

.news-section__divider
{
    max-width: 1440px;
    height: 1px;
    margin-right: auto;
    margin-bottom: 30px;
    margin-left: auto;

    background: #001e62;
}

.news-section__grid
{
    display: grid;

    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;

    grid-template-columns: 725fr 685fr;
    gap: 30px;
    align-items: start;
}

.news-section__cards
{
    display: flex;
    flex-direction: column;

    margin-top: 5px;

    gap: 25px;
}

.news-section__small-grid
{
    display: grid;

    margin-top: 25px;

    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.news-section--single
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .news-section--single
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .news-section--single
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.news-section--single
{
    padding-top: 100px;
    padding-bottom: 130px;
}

.news-section--single .news-section__article-img,
.news-section--single .news-section__article-body
{
    max-width: 1228px;
    margin-right: auto;
    margin-left: auto;
}

.news-section__article-img
{
    display: block;

    width: 100%;
    margin-bottom: 50px;

    border-radius: 6px 60px 6px 6px;
}

.news-section__article-body
{
    font: 400 1.25rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;
    flex-direction: column;

    color: #000;

    gap: 24px;
}

.news-section__article-body p
{
    margin: 0;
}

.news-section__article-link
{
    text-decoration: none;

    color: #0f7bff;
}

.news-section__article-link:hover,
.news-section__article-link:focus-visible
{
    text-decoration: underline;
}

.news-section__head--back .news-section__title
{
    font-weight: 500;
}

.news-section__back
{
    font: 500 .6875rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: absolute;
    left: 0;

    display: flex;

    white-space: nowrap;
    text-decoration: none;
    letter-spacing: .066em;
    text-transform: uppercase;

    color: #001e62;

    align-items: center;
    gap: 14px;
}

.news-section__back svg
{
    display: block;

    width: 16px;
    height: 9px;

    transform: scaleX(-1);

    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
}

.news-section__back:hover,
.news-section__back:focus-visible
{
    outline: none;
}

.news-section__back:hover .news-section__back-text,
.news-section__back:focus-visible .news-section__back-text
{
    transform: translateX(5px);
}

.news-section__back-text
{
    display: inline-block;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
}

.news-section__more
{
    display: flex;

    margin-top: 50px;
    padding: 0 36px;

    justify-content: center;
}

.news-section__more-btn
{
    font: 400 1rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;
    flex-direction: column;

    width: 100%;
    padding: 0;

    cursor: pointer;
    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #0f7bff;
    border: none;
    background: none;

    align-items: center;
    gap: 18px;
}

.news-section__more-btn::before
{
    display: block;

    width: 514px;
    height: 1px;

    content: '';
    transition: width .3s cubic-bezier(.4, 0, .6, 1), background-color .3s cubic-bezier(.4, 0, .6, 1);

    background: #0f7bff;

    will-change: width;
}

.news-section__more-btn:hover,
.news-section__more-btn:focus-visible
{
    color: #001e62;
    outline: none;
}

.news-section__more-btn:hover::before,
.news-section__more-btn:focus-visible::before
{
    width: 100%;

    background: #001e62;
}

.news-section__dots
{
    display: none;
}

.news-section__dot
{
    width: 6px;
    height: 6px;
    padding: 0;

    cursor: pointer;
    transition: background-color .3s cubic-bezier(.4, 0, .6, 1);

    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, .15);
}

.news-section__dot--active
{
    background: #0f7bff;
}

@media (max-width: 1025px)
{
    .news-section
    {
        margin-top: -20px;
        padding-top: 30px;
        padding-bottom: 30px;

        border-radius: 20px 20px 0 0;
    }

    .news-section__head
    {
        margin-bottom: 8px;

        justify-content: space-between;
    }

    .news-section__title
    {
        font-size: 1.25rem;
        font-weight: 500;

        text-align: left;
    }

    .news-section__all
    {
        font-size: .625rem;

        position: static;

        gap: 8px;
    }

    .news-section__all:hover .news-section__all-text
    {
        transform: none;
    }

    .news-section__head--back .news-section__title
    {
        order: 1;
    }

    .news-section__head--back .news-section__back
    {
        position: static;

        flex-direction: row-reverse;

        order: 2;
    }

    .news-section__head--back .news-section__back svg
    {
        transform: none;
    }

    .news-section__head--back .news-section__back:hover .news-section__back-text
    {
        transform: none;
    }

    .news-section__divider
    {
        margin-bottom: 14px;
    }

    .news-section__grid
    {
        display: flex;
        flex-direction: column;

        gap: 14px;
    }

    .news-section__cards
    {
        width: 100%;
        margin-top: 0;

        gap: 14px;
    }

    .news-section--latest
    {
        padding-top: 24px;
        padding-bottom: 0;
    }

    .news-section--latest + .news-section--other
    {
        margin-top: 30px;
    }

    .news-section--other
    {
        padding-top: 0;
        padding-bottom: 70px;
    }

    .news-section--single
    {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .news-section__article-img
    {
        margin-bottom: 24px;

        border-radius: 6px 20px 6px 6px;
    }

    .news-section__article-body
    {
        font-size: .875rem;
    }

    .news-section__small-grid
    {
        margin-top: 0;

        grid-template-columns: 1fr;
        gap: 14px;
    }

    .news-section__small-grid + .news-section__small-grid
    {
        margin-top: 14px;
    }

    .news-section__more
    {
        margin-top: 14px;
        padding: 0;
    }

    .news-section__more-btn::before
    {
        width: 100%;
    }

    .news-section__more-btn:hover,
    .news-section__more-btn:focus-visible
    {
        color: #0f7bff;
    }

    .news-section__more-btn:hover::before,
    .news-section__more-btn:focus-visible::before
    {
        width: 100%;

        background: #0f7bff;
    }

    .news-section--slider .news-section__grid
    {
        overflow-x: auto;
        flex-direction: row;

        gap: 14px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .news-section--slider .news-section__grid::-webkit-scrollbar
    {
        display: none;
    }

    .news-section--slider .news-section__cards
    {
        display: contents;
    }

    .news-section--slider .news-card-big,
    .news-section--slider .news-card
    {
        flex: 0 0 100%;
        scroll-snap-align: start;
    }

    .news-section--slider .news-section__dots
    {
        position: relative;
        z-index: 1;

        display: flex;

        width: -moz-fit-content;
        width:      fit-content;
        margin: -24px auto 0;
        padding: 4px 8px;

        border-radius: 6px 6px 0 0;
        background: #ecf3fb;

        gap: 6px;
    }
}

/* Большая карточка новости
   ========================================================================== */

.news-card-big
{
    position: relative;

    display: block;
    overflow: hidden;

    height: 559px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    border-radius: 3px 3px 34px 3px;
}

.news-card-big:hover,
.news-card-big:focus-visible
{
    transform: translateY(-10px);

    outline: none;
}

.news-card-big:hover .news-card-big__title,
.news-card-big:focus-visible .news-card-big__title
{
    color: #0f7bff;
}

.news-card-big:hover .news-card-big__divider,
.news-card-big:focus-visible .news-card-big__divider
{
    transform: scaleX(1);
}

.news-card-big__photo
{
    position: absolute;
    top: 10px;
    right: 0;
    left: 0;

    overflow: hidden;

    height: 471px;

    border-radius: 6px 6px 0 0;
}

.news-card-big__photo img
{
    position: absolute;

    display: block;

    width: 100%;
    height: 100%;

    inset: 0;
    -o-object-fit: cover;
       object-fit: cover;
}

.news-card-big__info
{
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    display: flex;
    flex-direction: column;

    height: 144px;
    padding: 14px;
    padding-bottom: 32px;

    border-radius: 0 0 34px 6px;
    background: #fff;

    justify-content: space-between;
}

.news-card-big__title
{
    font: 500 1.4375rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);

    color: #000;
}

.news-card-big__divider
{
    height: 1px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
    transform: scaleX(0);
    transform-origin: left center;

    background: #282828;

    flex-shrink: 0;
}

.news-card-big__date
{
    font: 400 .75rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: inline-flex;

    padding: 4px 10px 3px;

    color: #000;
    border-radius: 14px 0 14px 0;
    background: #ecf3fb;

    align-items: center;
    align-self: flex-start;
}

.news-card-big__icon
{
    position: absolute;
    right: 14px;
    bottom: 14px;
}

.news-card-big--small
{
    height: 318px;

    border-radius: 6px 6px 20px 0;
}

.news-card-big--small .news-card-big__photo
{
    height: 204px;

    border-radius: 6px 6px 0 0;
}

.news-card-big--small .news-card-big__info
{
    height: 114px;

    border-radius: 0 0 20px 0;

    justify-content: flex-start;
    gap: 10px;
}

.news-card-big--small .news-card-big__title
{
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.35;
}

.news-card-big--small .news-card-big__divider
{
    flex-shrink: 0;
}

.news-card-big--small .news-card-big__date
{
    font-size: .6875rem;

    color: #000;
    background: #ecf3fb;
}

@media (max-width: 1025px)
{
    .news-card-big
    {
        width: 100%;
        height: auto;

        transition: none;

        border-radius: 6px 6px 20px 0;
    }

    .news-card-big__photo
    {
        position: relative;
        top: auto;

        height: 204px;

        border-radius: 6px 6px 0 0;
    }

    .news-card-big__info
    {
        position: static;

        height: auto;
        padding-bottom: 14px;

        border-radius: 0 0 20px 0;

        justify-content: flex-start;
        gap: 4px;
    }

    .news-card-big__title
    {
        font-size: .875rem;
        font-weight: 500;
        line-height: 1.3;
    }

    .news-card-big__date
    {
        font-size: .6875rem;
    }

    .news-card-big:hover
    {
        transform: none;
    }

    .news-card-big:hover .news-card-big__title
    {
        color: #000;
    }

    .news-card-big:hover .news-card-big__divider
    {
        transform: scaleX(0);
    }
}

/* Малая карточка новости
   ========================================================================== */

.news-card
{
    display: flex;

    height: 168px;
    padding-top: 5px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    border-radius: 6px;
}

.news-card:hover,
.news-card:focus-visible
{
    transform: translateY(-5px);

    outline: none;
}

.news-card:hover .news-card__title,
.news-card:focus-visible .news-card__title
{
    color: #0f7bff;
}

.news-card:hover .news-card__divider,
.news-card:focus-visible .news-card__divider
{
    transform: scaleX(1);
}

.news-card__photo
{
    overflow: hidden;

    width: 315px;

    border-radius: 6px 0 0 6px;

    flex-shrink: 0;
}

.news-card__photo img
{
    display: block;

    width: 100%;
    height: 100%;

    transition: transform .6s cubic-bezier(.4, 0, .6, 1);

    -o-object-fit: cover;
       object-fit: cover;
}

.news-card__content
{
    display: flex;
    flex-direction: column;

    min-width: 0;
    padding: 14px;

    border-radius: 0 6px 24px 0;
    background: #fff;

    flex: 1 0 0;
    gap: 10px;
}

.news-card__title
{
    font: 400 1rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: -webkit-box;
    overflow: hidden;

    margin: 0;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);

    color: #1e1e1e;

    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.news-card__divider
{
    height: 1px;
    margin-top: auto;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
    transform: scaleX(0);
    transform-origin: left center;

    background: #cfd0cf;

    flex-shrink: 0;
}

.news-card__meta
{
    display: flex;

    width: 100%;

    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}

.news-card__date
{
    font: 400 .6875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    white-space: nowrap;
    letter-spacing: .033em;
    text-transform: uppercase;

    color: #6a6c73;
}

@media (max-width: 1025px)
{
    .news-card
    {
        flex-direction: column;

        width: 100%;
        height: auto;
        padding-top: 0;
    }

    .news-card__photo
    {
        width: 100%;
        height: 204px;

        border-radius: 6px 6px 0 0;
    }

    .news-card__content
    {
        border-radius: 0 0 20px 0;

        gap: 4px;
    }

    .news-card__title
    {
        font-size: .875rem;
        font-weight: 500;
        line-height: 1.3;

        display: block;

        color: #000;

        flex: none;
        -webkit-line-clamp: none;
    }

    .news-card__date
    {
        font-size: .6875rem;

        padding: 3px 10px 2px;

        letter-spacing: 0;
        text-transform: none;

        color: #000;
        border-radius: 14px 0 14px 0;
        background: #ecf3fb;

        align-self: flex-start;
    }

    .news-card:hover
    {
        transform: none;
    }

    .news-card:hover .news-card__title
    {
        color: #000;
    }

    .news-card:hover .news-card__divider
    {
        transform: scaleX(0);
    }
}

/* «Новости по теме» на странице одиночной новости — горизонтальный слайдер
   ========================================================================== */

@media (max-width: 1025px)
{
    .page--news-single .news-section__small-grid
    {
        display: flex;
        overflow-x: auto;

        margin: 0 -14px;
        padding: 0 14px;

        grid-template-columns: none;
        gap: 8px;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 14px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .page--news-single .news-section__small-grid::-webkit-scrollbar
    {
        display: none;
    }

    .page--news-single .news-section__small-grid .news-card-big
    {
        width: min(347px, 100vw - 28px);

        flex: 0 0 auto;
        scroll-snap-align: start;
    }

    .page--news-single .news-section__more
    {
        display: none;
    }
}

/* events-section — секция событий главной страницы
   ========================================================================== */

.events-section
{
    position: relative;
    z-index: 25;

    padding: 81px 0 160px;
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);

    background: linear-gradient(90deg, #001e62 -11%, #004eff 89%);
}

@media screen and (max-width: 1380px)
{
    .events-section
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

.events-section
{
    overflow: hidden;

    border-radius: 60px 60px 0 0;
}

.events-section::after
{
    position: absolute;
    z-index: -1;
    right: 0;
    bottom: 0;

    width: 62.6%;

    content: '';
    pointer-events: none;

    background: url('../img/events-deco.svg') no-repeat right bottom/contain;

    aspect-ratio: 1081/916;
}

.events-section__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    min-width: 0;
    margin: 0;
    padding-bottom: 14px;

    text-align: center;

    color: #fff;

    flex: 1 0 0;
}

.events-section__grid
{
    display: grid;

    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;

    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.events-section__grid[hidden]
{
    display: none;
}

.events-section__more-wrap
{
    display: contents;
}

.events-section__more
{
    font: 400 1rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: none;
    flex-direction: column;

    width: 100%;
    margin-top: 8px;
    padding: 0;

    cursor: pointer;

    color: #fff;
    border: none;
    background: none;

    align-items: center;
    gap: 14px;
}

.events-section__more::before
{
    display: block;

    width: 100%;
    height: 1px;

    content: '';

    background: #0f7bff;
}

@media (max-width: 1025px)
{
    .events-section
    {
        padding: 20px 0 66px;

        border-radius: 20px 20px 0 0;
    }

    .events-section__title
    {
        font-size: 1.25rem;

        padding-bottom: 0;

        text-align: left;
    }

    .events-section__grid
    {
        display: flex;
        overflow: visible;
        flex-direction: column;

        max-width: 480px;
        margin: 0 auto;
        padding: 0 14px;

        grid-template-columns: none;
        gap: 0;
    }

    .events-section__more-wrap
    {
        display: flex;
        overflow: hidden;
        flex-direction: column;

        max-height: 0;

        transition: max-height .5s cubic-bezier(.4, 0, .6, 1), margin-top .5s cubic-bezier(.4, 0, .6, 1);
    }

    .events-section__grid--expanded .events-section__more-wrap
    {
        margin-top: 8px;
    }

    .events-section__grid--has-more .events-section__more
    {
        display: flex;
        overflow: hidden;

        max-height: 60px;

        transition: max-height .5s cubic-bezier(.4, 0, .6, 1), margin-top .5s cubic-bezier(.4, 0, .6, 1), opacity .3s cubic-bezier(.4, 0, .6, 1);
    }

    .events-section__grid--expanded .events-section__more
    {
        max-height: 0;
        margin-top: 0;

        pointer-events: none;

        opacity: 0;
    }
}

/* events-tabs — панель: табы / заголовок / кнопка календаря
   ========================================================================== */

.events-tabs
{
    display: flex;

    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;
    padding-top: 4px;

    align-items: center;
}

.events-tabs__nav
{
    position: relative;

    display: flex;

    align-items: center;
    align-self: stretch;
    gap: 24px;
    flex-shrink: 0;
}

.events-tabs__tab
{
    font: 500 .6875rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    height: 100%;
    padding: 0 4px;

    cursor: pointer;
    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    white-space: nowrap;
    letter-spacing: .066em;
    text-transform: uppercase;

    color: #fff;
    border: none;
    background: none;

    align-items: center;
}

.events-tabs__tab--active
{
    color: #fff;
}

.events-tabs__indicator
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 0;
    height: 2px;

    transition: left .3s cubic-bezier(.4, 0, .6, 1), width .3s cubic-bezier(.4, 0, .6, 1);
    pointer-events: none;

    background: #e50361;
}

.events-tabs__line
{
    max-width: 1440px;
    height: 1px;
    margin-right: auto;
    margin-bottom: 20px;
    margin-left: auto;

    background: #0f7bff;
}

.events-tabs__calendar
{
    font: 500 .6875rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    white-space: nowrap;
    text-decoration: none;
    letter-spacing: .066em;
    text-transform: uppercase;

    color: #fff;

    align-items: center;
    gap: 14px;
}

.events-tabs__calendar svg
{
    display: block;

    width: 20px;
    height: 20px;

    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
}

.events-tabs__calendar:hover,
.events-tabs__calendar:focus-visible
{
    outline: none;
}

.events-tabs__calendar:hover .events-tabs__calendar-text,
.events-tabs__calendar:focus-visible .events-tabs__calendar-text
{
    transform: translateX(-5px);
}

.events-tabs__calendar-text
{
    display: inline-block;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
}

@media (max-width: 1025px)
{
    .events-tabs
    {
        min-height: 38px;
        margin: 0 14px;
        padding-top: 0;

        gap: 14px;
    }

    .events-tabs__calendar
    {
        order: -1;
        gap: 0;
    }

    .events-tabs__calendar:hover .events-tabs__calendar-text
    {
        transform: none;
    }

    .events-tabs__calendar-text
    {
        display: none;
    }

    .events-tabs__nav
    {
        order: 1;
        gap: 14px;
    }

    .events-tabs__tab
    {
        font-size: .625rem;

        color: #fff;
    }

    .events-tabs__tab:hover:not(.events-tabs__tab--active)
    {
        color: #fff;
    }

    .events-tabs__line
    {
        margin: 0 14px 14px;

        background-color: #0f7bff;
    }
}

/* event-card — карточка соревнования
   ========================================================================== */

.event-card
{
    display: flex;
    flex-direction: column;

    padding: 14px 0;

    text-decoration: none;

    gap: 4px;
}

.event-card:hover,
.event-card:focus-visible
{
    outline: none;
}

.event-card:hover .event-card__body,
.event-card:focus-visible .event-card__body
{
    transform: translateY(-10px);
}

.event-card:hover .event-card__title,
.event-card:focus-visible .event-card__title
{
    color: #0f7bff;
}

.event-card:hover .event-card__divider,
.event-card:focus-visible .event-card__divider
{
    transform: scaleX(1);
}

.event-card:hover .event-card__location,
.event-card:focus-visible .event-card__location
{
    color: #000;
}

.event-card__date
{
    font: 400 .75rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    margin-bottom: 13px;

    white-space: nowrap;
    text-transform: uppercase;

    align-items: center;
    gap: 8px;
}

.event-card__date-range
{
    display: flex;

    color: #cfd0cf;

    align-items: center;
}

.event-card__date-year
{
    background: linear-gradient(to bottom, rgba(190, 215, 240, .3), rgba(255, 255, 255, .3));
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}

.event-card__body
{
    display: flex;
    flex-direction: column;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);

    flex: 1;
}

.event-card__photo
{
    overflow: hidden;

    height: 206px;

    border-radius: 6px 6px 0 0;

    flex-shrink: 0;
}

.event-card__photo img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.event-card__info
{
    display: flex;
    flex-direction: column;

    padding: 10px;

    border-radius: 0 0 20px 6px;
    background: #fff;

    flex: 1;
    gap: 14px;
}

.event-card__title
{
    font: 400 .875rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);

    color: #000;
}

.event-card__divider
{
    height: 1px;
    margin-top: auto;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
    transform: scaleX(0);
    transform-origin: left;

    background: #cfd0cf;
}

.event-card__meta
{
    display: flex;

    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}

.event-card__location
{
    font: 400 .6875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    white-space: nowrap;
    letter-spacing: .033em;
    text-transform: uppercase;

    color: #6a6c73;
}

@media (max-width: 1025px)
{
    .event-card
    {
        width: 100%;
    }

    .event-card + .event-card
    {
        margin-top: 8px;
    }

    .event-card__date
    {
        margin-bottom: 0;
    }

    .event-card__info
    {
        gap: 8px;
    }

    .event-card__photo
    {
        height: auto;
    }

    .event-card:hover .event-card__body
    {
        transform: none;
    }

    .event-card:hover .event-card__title
    {
        color: #000;
    }

    .event-card:hover .event-card__divider
    {
        transform: scaleX(0);
    }

    .event-card:hover .event-card__location
    {
        color: #6a6c73;
    }
}

/* birthday — «Поздравляем с днём рождения» (карточки президиума)
   Между events-section и page-bottom. Стандартная секция: радиус 60 сверху,
   перехлёст -60 на events-section. Снизу её перехлёстывает белый page-bottom
   (через margin-top:-60 у .sports-section), поэтому padding-bottom ≥ 60.
   ========================================================================== */

.birthday
{
    position: relative;
    z-index: 32;

    overflow: hidden;

    margin-top: -60px;
    padding-top: 100px;
    padding-bottom: 100px;

    border-radius: 60px 60px 0 0;
    background: #ecf3fb;
}

.birthday__head
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .birthday__head
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .birthday__head
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.birthday__head
{
    margin-bottom: 30px;
}

.birthday__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 14px;

    text-align: center;

    color: #000;
}

.birthday__divider
{
    height: 1px;

    background: #001e62;
}

.birthday__slider
{
    max-width: 1440px;
    margin-top: -10px;
    margin-right: auto;
    margin-left: auto;
    padding-top: 10px;
}

.birthday__slider.swiper-container-initialized
{
    overflow: hidden;

    width: 100%;
    max-width: none;
}

.birthday__cards
{
    display: flex;

    align-items: stretch;
    justify-content: center;
    gap: 30px;
}

.birthday__slider.swiper-container-initialized .birthday__cards
{
    justify-content: flex-start;
    gap: 0;
}

@media (max-width: 1025px)
{
    .birthday
    {
        margin-top: -20px;
        padding-top: 30px;
        padding-bottom: 50px;

        border-radius: 20px 20px 0 0;
    }

    .birthday__head
    {
        margin-bottom: 14px;
    }

    .birthday__title
    {
        font-size: 1.25rem;
    }

    .birthday__slider
    {
        overflow-x: auto;

        margin-top: 0;
        padding: 0 14px;

        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .birthday__slider::-webkit-scrollbar
    {
        display: none;
    }

    .birthday__cards
    {
        justify-content: flex-start;
        gap: 14px;
    }
}

@media (max-width: 600px)
{
    .birthday__slider
    {
        scroll-snap-type: x mandatory;
    }
}

/* Карточка члена президиума (аватар + имя + должность)
   ========================================================================== */

.member-card
{
    width: 464px !important;
    padding-top: 5px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);

    flex-shrink: 0;
}

.member-card:hover,
.member-card:focus-visible
{
    transform: translateY(-10px);

    outline: none;
}

.member-card__inner
{
    display: flex;
    flex-direction: column;

    padding: 14px;

    border-radius: 6px 6px 24px 6px;
    background: #fff;

    gap: 16px;
}

.member-card__top
{
    display: flex;

    gap: 8px;
}

.member-card__ava
{
    position: relative;

    overflow: hidden;

    width: 98px;
    height: 98px;

    border-radius: 24px 6px 24px 6px;

    flex-shrink: 0;
}

.member-card__ava img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.member-card__ava::after
{
    position: absolute;

    content: '';

    background: rgba(0, 0, 0, .1);

    inset: 0;
}

.member-card__name
{
    font: 500 1.25rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    min-width: 0;
    margin: 0;

    text-align: right;

    color: #000;

    flex: 1;
    align-self: flex-end;
}

.member-card__divider
{
    height: 1px;

    background: #cfd0cf;
}

.member-card__post
{
    font: 400 .875rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    text-align: right;

    color: #48484a;
}

@media (max-width: 1025px)
{
    .member-card:hover,
    .member-card:focus-visible
    {
        transform: none;
    }
}

@media (max-width: 600px)
{
    .member-card
    {
        width: 100% !important;

        scroll-snap-align: start;
    }
}

/* page-bottom — белая секция перед футером (виды спорта + спонсоры)
   ========================================================================== */

.page-bottom
{
    position: relative;
    z-index: 30;

    border-radius: 60px 60px 0 0;
    background: #fff;
}

@media (max-width: 1025px)
{
    .page-bottom
    {
        margin-top: -20px;

        border-radius: 20px 20px 0 0;
    }
}

/* sports-section — секция «Виды спорта» на главной странице
   ========================================================================== */

.sports-section
{
    margin-top: -60px;
    padding: 100px 0 30px;
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);

    border-radius: 60px 60px 0 0;
}

@media screen and (max-width: 1380px)
{
    .sports-section
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

.sports-section__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    max-width: 1440px;
    margin: 0 0 14px;
    margin-right: auto;
    margin-left: auto;

    text-align: center;

    color: #000;
}

.sports-section__line
{
    max-width: 1440px;
    height: 1px;
    margin-right: auto;
    margin-bottom: 50px;
    margin-left: auto;

    background: #001e62;
}

.sports-section__grid
{
    display: grid;

    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;

    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

@media (max-width: 1025px)
{
    .sports-section
    {
        margin-top: -20px;
        padding: 30px 14px 50px;
    }

    .sports-section__title
    {
        font-size: 1.25rem;

        margin-bottom: 8px;
    }

    .sports-section__line
    {
        margin-bottom: 8px;

        background: #001e62;
    }

    .sports-section__grid
    {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
}

@media (max-width: 1025px) and (max-width: 600px)
{
    .sports-section__grid
    {
        grid-template-columns: 1fr;
    }
}

/* sport-card — карточка вида спорта
   ========================================================================== */

.sport-card
{
    display: flex;
    flex-direction: column;

    padding: 14px 22px 24px;

    transition: background-color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    border-radius: 24px 6px 24px 6px;
    background: #ecf3fb;

    align-items: center;
    justify-content: center;
}

.sport-card:focus-visible
{
    border-radius: 24px 6px 24px 6px;
    outline: 2px solid #0f7bff;
    outline-offset: 4px;
}

.sport-card__inner
{
    position: relative;

    display: flex;
    overflow: hidden;

    width: 100%;
    height: 92px;
    padding-top: 27px;
}

.sport-card__vector
{
    position: absolute;
    bottom: -70%;
    left: 5.63%;

    width: 108%;
    max-width: none;

    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
    pointer-events: none;
}

.sport-card__name
{
    font: 400 1rem/1.1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: relative;
    z-index: 1;

    white-space: nowrap;
    letter-spacing: .063em;
    pointer-events: none;

    color: #001e62;
}

.sport-card__icon
{
    position: absolute;
    top: 50%;

    display: block;

    transform: translateY(-50%);
    pointer-events: none;
}

.sport-card:hover .sport-card__vector
{
    transform: translateX(15px) translateY(-10px);
}

@media (max-width: 1025px)
{
    .sport-card:hover .sport-card__vector
    {
        transform: none;
    }
}

.sport-card--plav .sport-card__inner
{
    border-bottom: 1px solid #483dff;
}

.sport-card--plav .sport-card__icon
{
    right: 23%;

    width: 52px;
    height: 40px;
}

.sport-card--polo .sport-card__inner
{
    border-bottom: 1px solid #2299fa;
}

.sport-card--polo .sport-card__icon
{
    top: calc(50% - 3px);
    right: 24.5%;

    width: 42px;
    height: 46px;
}

.sport-card--prig .sport-card__inner
{
    border-bottom: 1px solid #0ea7cb;
}

.sport-card--prig .sport-card__icon
{
    right: 26%;

    width: 33px;
    height: 45px;
}

.sport-card--sinh .sport-card__inner
{
    border-bottom: 1px solid #6c48bb;
}

.sport-card--sinh .sport-card__icon
{
    right: 23.3%;

    width: 49px;
    height: 37px;
}

/* sponsors-section — секция «Спонсоры» в page-bottom
   ========================================================================== */

.sponsors-section
{
    overflow: hidden;

    padding-bottom: 160px;
}

.sponsors-section--inner
{
    position: relative;
    z-index: 120;

    margin-top: -60px;
    padding-bottom: 100px;

    border-radius: 60px 60px 0 0;
    background: #fff;
}

.sponsors-section__header
{
    padding: 70px 0 30px;
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .sponsors-section__header
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

.sponsors-section__title
{
    font: 500 .875rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    max-width: 1440px;
    margin: 0 0 14px;
    margin-right: auto;
    margin-left: auto;

    text-align: center;
    letter-spacing: .357em;
    text-transform: uppercase;

    color: #6a6c73;
}

.sponsors-section__line
{
    max-width: 1440px;
    height: 1px;
    margin-right: auto;
    margin-left: auto;

    background: #001e62;
}

@media (max-width: 1025px)
{
    .sponsors-section
    {
        padding-bottom: 70px;
    }

    .sponsors-section--inner
    {
        margin-top: -20px;
        padding-top: 40px;
        padding-bottom: 50px;

        border-radius: 20px 20px 0 0;
    }

    .sponsors-section__header
    {
        padding: 0 14px 14px;
    }

    .sponsors-section__title
    {
        font-size: .75rem;

        margin-bottom: 8px;
    }

    .sponsors-section__line
    {
        background: #001e62;
    }
}

/* partners-swiper — горизонтальный тикер логотипов
   ========================================================================== */

.partners-swiper
{
    overflow: hidden;
}

.partners-swiper .swiper-wrapper
{
    display: flex;

    align-items: center;
}

@media (max-width: 1025px)
{
    .partners-swiper
    {
        overflow-x: auto;

        padding: 0 14px;

        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .partners-swiper::-webkit-scrollbar
    {
        display: none;
    }

    .partners-swiper .swiper-wrapper
    {
        gap: 14px;
    }
}

/* partner-logo — слайд-карточка логотипа спонсора
   ========================================================================== */

.partner-logo
{
    width: 160px !important;
    height: 76px;
}

.partner-logo__card
{
    display: flex;

    width: 160px;
    height: 68px;
    margin-top: 8px;
    padding: 16px 20px;

    transition: margin-top .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    border: 1px solid rgba(0, 0, 0, .4);
    border-radius: 24px 0 24px 0;
    background: #fff;

    align-items: center;
    justify-content: center;
    will-change: margin-top;
}

.partner-logo:hover .partner-logo__card
{
    margin-top: 0;
}

@media (max-width: 1025px)
{
    .partner-logo:hover .partner-logo__card
    {
        margin-top: 8px;
    }
}

.partner-logo__img-wrap
{
    display: flex;

    width: 100%;
    height: 30px;

    align-items: center;
    justify-content: center;
}

.partner-logo__img
{
    display: block;

    max-width: 100%;
    max-height: 100%;

    -o-object-fit: contain;
       object-fit: contain;
}

/* Список спонсоров — контент страницы sponsors (Figma 1022:3066 «partners-list»).
   Карточка: логотип (фикс. 385px) + текстовая часть (остаток ширины).
   ========================================================================== */

.partners-list
{
    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;
}

.partners-list__item
{
    display: flex;

    margin-bottom: 25px;

    text-decoration: none;

    color: inherit;

    align-items: center;
    gap: 4px;
}

.partners-list__item:last-child
{
    margin-bottom: 0;
}

.partners-list__logo
{
    overflow: hidden;

    width: 385px;

    border-radius: 6px 0 0 6px;
    background: #fff;

    flex-shrink: 0;
    align-self: stretch;
}

.partners-list__logo-img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: contain;
       object-fit: contain;
}

.partners-list__body
{
    display: flex;
    flex-direction: column;

    min-width: 0;
    padding: 24px;

    border-radius: 0 6px 24px 0;
    background: #fff;

    flex: 1 1 auto;
    justify-content: center;
    align-self: stretch;
}

.partners-list__name
{
    font: 500 1.25rem/1.25 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 10px;

    color: #000;
}

.partners-list__role
{
    font: 400 1rem/1.25 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 10px;

    color: #000;
}

.partners-list__text
{
    font: 400 1rem/1.25 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #6a6c73;
}

@media (max-width: 1025px)
{
    .partners-list__item
    {
        flex-direction: column;
    }

    .partners-list__logo
    {
        width: 100%;
        height: 85px;
    }

    .partners-list__body
    {
        padding: 14px;
    }
}

/* Плашки-цифры на странице «Стать партнером» (Figma 2311:1409, компонент judge).
   Десктоп — 4 в ряд, мобилка — в столбик.
   ========================================================================== */

.partner-stats
{
    display: flex;

    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;

    gap: 14px;
}

.partner-stats__item
{
    min-width: 0;
    padding: 24px;

    border-radius: 6px 6px 24px 6px;
    background: #fff;

    flex: 1 1 0;
}

.partner-stats__value
{
    font: 500 1.25rem/1.25 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 4px;

    color: #000;
}

.partner-stats__label
{
    font: 400 .875rem/1.125rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #48484a;
}

@media (max-width: 1025px)
{
    .partner-stats
    {
        flex-direction: column;
    }
}

/* Секция «Аудитория водных видов спорта» (Figma 2311:1490 / 2311:1493).
   Карточка = плашка с цифрой + кольцевая диаграмма с легендой.
   Десктоп — 3 в ряд, мобилка — горизонтальный скролл.
   ========================================================================== */

.audience
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .audience
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .audience
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.audience
{
    margin-top: 64px;
}

.audience__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 4px;

    text-align: center;

    color: #000;
}

.audience__divider
{
    display: none;
}

.audience__subtitle
{
    font: 500 .875rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 26px;

    text-align: center;

    color: #6b7280;
}

.audience__list
{
    display: flex;

    gap: 14px;
}

.audience__card
{
    display: flex;
    flex-direction: column;

    min-width: 0;

    flex: 1 1 0;
}

.audience__head
{
    padding: 24px 24px 14px;

    border-radius: 24px 6px 0 0;
    background: #fff;
}

.audience__value
{
    font: 400 2.5rem/3.5rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 8px;

    color: #000;
}

.audience__label
{
    font: 400 1rem/1.5rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #6a6c73;
}

.audience__chart
{
    display: flex;
    flex-direction: column;

    padding-bottom: 24px;

    border-top: 1px solid rgba(0, 0, 0, .25);
    border-radius: 0 0 24px 6px;
    background: #fff;

    flex: 1 1 auto;
    align-items: center;
}

.audience__donut
{
    position: relative;

    width: 100%;
    height: 320px;
    margin-bottom: 10px;
}

.audience__ring
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    width: 272px;
    height: 272px;

    transform: translate(-50%, -50%);

    fill: none;
}

.audience__center
{
    font: 400 2rem/3.375rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: absolute;
    top: 50%;
    left: 50%;

    transform: translate(-50%, -50%);
    white-space: nowrap;

    color: #001e62;
}

.audience__pin
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    color: #001e62;
}

.audience__pin--tg
{
    width: 18px;
    height: 15px;
    margin: -112px 0 0 37px;

    transform: translate(-50%, -50%);
}

.audience__pin--max
{
    width: 16px;
    height: 16px;
    margin: -84px 0 0 87px;

    transform: translate(-50%, -50%);

    color: #fff;
}

.audience__pin--vk
{
    width: 20px;
    height: 20px;
    margin: 0 0 0 119px;

    transform: translate(-50%, -50%);

    color: #fff;
}

.audience__pin--site
{
    width: 20px;
    height: 20px;
    margin: 0 0 0 -120px;

    transform: translate(-50%, -50%);
}

.audience__pin--ig
{
    width: 20px;
    height: 20px;
    margin: -114px 0 0 -36px;

    transform: translate(-50%, -50%);
}

.audience__legend
{
    width: 240px;
}

.audience__row
{
    display: flex;

    margin-bottom: 12px;

    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.audience__row:last-child
{
    margin-bottom: 0;
}

.audience__key
{
    display: flex;

    align-items: center;
    gap: 8px;
}

.audience__dot
{
    width: 12px;
    height: 12px;

    border-radius: 50%;

    flex-shrink: 0;
}

.audience__name
{
    font: 400 .875rem/1.25rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #6a6c73;
}

.audience__value-group
{
    display: flex;

    align-items: center;
    gap: 4px;
}

.audience__trend
{
    width: 16px;
    height: 16px;

    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
}

.audience__percent
{
    font: 400 .875rem/1.25rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;
}

.audience__legend--wide
{
    width: 100%;
    padding: 0 35px;
}

.audience__row--media
{
    align-items: center;
    gap: 8px;
}

.audience__name--media
{
    font-weight: 500;

    min-width: 0;

    word-break: keep-all;
    hyphens: none;

    flex: 1 1 auto;
    overflow-wrap: normal;
}

.audience__count
{
    font: 400 .875rem/1.25rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #6a6c73;

    flex-shrink: 0;
}

@media (max-width: 1025px)
{
    .audience
    {
        margin-top: 24px;
    }

    .audience__title
    {
        font-size: 1.25rem;

        margin-bottom: 8px;
    }

    .audience__divider
    {
        display: block;

        height: 1px;
        margin-bottom: 14px;

        background-color: #001e62;
    }

    .audience__subtitle
    {
        margin-bottom: 14px;
    }

    .audience__list
    {
        overflow-x: auto;

        margin: 0 -14px;
        padding: 0 14px;
    }

    .audience__card
    {
        flex: 0 0 330px;
    }

    .audience__head
    {
        padding: 14px 24px;
    }

    .audience__value
    {
        font-size: 2rem;

        margin-bottom: 0;
    }
}

/* Секция итогов чемпионатов мира (Figma 4:2282).
   Две карточки «фото + подпись»: заголовка и разделителя у секции нет,
   в обновлённом макете дизайнер убрал их вместе со списком фактов и кнопкой.
   ========================================================================== */

.champ-facts
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .champ-facts
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .champ-facts
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.champ-facts
{
    position: relative;

    margin-top: 44px;
    padding-top: 64px;
    padding-bottom: 161px;

    border-radius: 60px 60px 0 0;
    background: #fff;
}

.champ-facts__list
{
    display: flex;

    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;

    gap: 48px;
}

.champ-facts__card
{
    min-width: 0;
    margin: 0;

    flex: 1 1 0;
}

.champ-facts__pic
{
    display: block;

    width: 100%;
    margin-bottom: 24px;

    border-radius: 6px;

    aspect-ratio: 990/555;
    -o-object-fit: cover;
       object-fit: cover;
}

.champ-facts__name
{
    font: 500 1.5rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 12px;

    color: #000;
}

.champ-facts__result
{
    font: 400 1.125rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;
}

.champ-facts__result b
{
    font-weight: 700;
}

@media (max-width: 1025px)
{
    .champ-facts
    {
        margin-top: 38px;
        padding-top: 24px;
        padding-bottom: 44px;

        border-radius: 20px 20px 0 0;
    }

    .champ-facts__list
    {
        flex-direction: column;

        gap: 14px;
    }

    .champ-facts__name
    {
        font-size: 1.25rem;
    }

    .champ-facts__result
    {
        font-size: .875rem;
    }
}

/* Синяя секция «Календарь соревнований 2026» (Figma 1:1323).
   Карточки — существующий блок calendar-card (тот же Figma-компонент).
   Десктоп — сетка 3×2, мобилка — горизонтальный скролл.
   ========================================================================== */

.calendar-promo
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .calendar-promo
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .calendar-promo
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.calendar-promo
{
    position: relative;

    overflow: hidden;

    margin-top: -60px;
    padding-top: 77px;
    padding-bottom: 139px;

    border-radius: 60px 60px 0 0;
    background: linear-gradient(109.71deg, #001e62 18.097%, #004eff 100%);
}

.calendar-promo::before
{
    position: absolute;
    top: 150px;
    right: .75%;

    width: 62.51%;

    content: '';
    pointer-events: none;

    background: url('../img/calendar-decor.svg') no-repeat right top/contain;

    aspect-ratio: 1081/916;
}

.calendar-promo__inner
{
    position: relative;
    z-index: 1;

    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;
}

.calendar-promo__head
{
    position: relative;

    display: flex;

    min-height: 46px;
    padding-top: 4px;

    border-bottom: 1px solid #0f7bff;

    align-items: center;
    justify-content: center;
}

.calendar-promo__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    text-align: center;

    color: #fff;
}

.calendar-promo__all
{
    font: 500 .6875rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: absolute;
    top: 50%;
    right: 0;

    display: flex;

    transition: opacity .3s cubic-bezier(.4, 0, .6, 1);
    transform: translateY(-50%);
    text-decoration: none;
    letter-spacing: .66px;
    text-transform: uppercase;

    color: #fff;

    align-items: center;
    gap: 14px;
}

.calendar-promo__all:hover,
.calendar-promo__all:focus-visible
{
    opacity: .8;
}

.calendar-promo__all-icon
{
    display: block;

    width: 20px;
    height: 20px;

    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
}

.calendar-promo__subtitle
{
    font: 500 .875rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 15px 0 21px;

    text-align: center;

    color: #fff;
}

.calendar-promo__grid
{
    display: grid;

    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.calendar-promo__more
{
    display: flex;
    flex-direction: column;

    margin-top: 45px;

    align-items: center;
}

.calendar-promo__more-line
{
    width: 514px;
    max-width: 100%;
    height: 1px;
    margin-bottom: 18px;

    background: #fff;
}

.calendar-promo__more-text
{
    font: 400 1rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #fff;
}

@media (max-width: 1025px)
{
    .calendar-promo
    {
        margin-top: -20px;
        padding-top: 37px;
        padding-bottom: 45px;

        border-radius: 20px 20px 0 0;
    }

    .calendar-promo::before
    {
        display: none;
    }

    .calendar-promo__head
    {
        display: block;

        min-height: 0;
        padding-top: 0;

        border-bottom: 0;
    }

    .calendar-promo__title
    {
        font-size: 1.25rem;

        padding-bottom: 8px;

        border-bottom: 1px solid #0f7bff;
    }

    .calendar-promo__all
    {
        position: static;

        margin-top: 10px;
        padding-bottom: 8px;

        transform: none;

        border-bottom: 1px solid #0f7bff;

        justify-content: center;
    }

    .calendar-promo__subtitle
    {
        margin: 10px 0 14px;
    }

    .calendar-promo__grid
    {
        display: flex;
        overflow-x: auto;

        margin: 0 -14px;
        padding: 0 14px;

        gap: 8px;
    }

    .calendar-promo .calendar-card
    {
        flex: 0 0 344px;
    }

    .calendar-promo__more
    {
        margin-top: 24px;
    }

    .calendar-promo__more-line
    {
        background: #0f7bff;
    }
}

/* Секция «Трансляции на МАТЧ.ТВ» (Figma 4:2787).
   Цифры просмотров + афиши. Группа «Трансляции на VK» удалена дизайнером
   в обновлённом макете.
   ========================================================================== */

.broadcasts
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .broadcasts
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .broadcasts
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.broadcasts
{
    position: relative;

    margin-top: -60px;
    padding-top: 64px;
    padding-bottom: 100px;

    border-radius: 60px 60px 0 0;
    background: #fff;
}

.broadcasts__inner
{
    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;
}

.broadcasts__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 14px;

    text-align: center;

    color: #000;
}

.broadcasts__divider
{
    height: 1px;
    margin-bottom: 32px;

    background: #001e62;
}

.broadcasts__stats
{
    display: flex;

    margin-bottom: 32px;

    gap: 20px;
}

.broadcasts__stat
{
    min-width: 0;

    flex: 1 1 0;
}

@media screen and (max-width: 1380px)
{
    .broadcasts__stats
    {
        flex-wrap: wrap;
    }

    .broadcasts__stat
    {
        flex: 0 0 calc((100% - 40px) / 3);
    }
}

.broadcasts__stat-box
{
    display: flex;
    flex-direction: column;

    margin-bottom: 14px;
    padding: 14px 24px;

    border-radius: 24px 6px 24px 6px;
    background: #ecf3fb;

    align-items: center;
}

.broadcasts__stat-value
{
    font: 400 2.25rem/2.5rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 4px;

    white-space: nowrap;

    color: #001e62;
}

.broadcasts__stat-label
{
    font: 400 .875rem/1.25rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #6a6c73;
}

.broadcasts__stat-caption
{
    font: 400 1rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #48484a;
}

.broadcasts__stat-caption b
{
    font-weight: 500;
}

.broadcasts__posters
{
    display: flex;

    gap: 20px;
}

.broadcasts__poster
{
    display: block;

    width: 100%;
    min-width: 0;

    border-radius: 6px;

    flex: 1 1 0;
    aspect-ratio: 345/206;
    -o-object-fit: cover;
       object-fit: cover;
}

@media (max-width: 1025px)
{
    .broadcasts
    {
        margin-top: -20px;
        padding-top: 24px;
        padding-bottom: 60px;

        border-radius: 20px 20px 0 0;
    }

    .broadcasts__title
    {
        font-size: 1.25rem;

        margin-bottom: 8px;
    }

    .broadcasts__divider
    {
        margin-bottom: 14px;
    }

    .broadcasts__stats
    {
        flex-direction: column;

        margin-bottom: 14px;

        gap: 20px;
    }

    .broadcasts__stat
    {
        flex: 0 0 auto;
    }

    .broadcasts__stat-box
    {
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .broadcasts__stat-value
    {
        font-size: 2rem;

        margin-bottom: 0;
    }

    .broadcasts__posters
    {
        overflow-x: auto;

        margin: 0 -14px;
        padding: 0 14px;

        gap: 8px;
    }

    .broadcasts__poster
    {
        flex: 0 0 344px;
    }
}

/* Секция «Популярные спортсмены» (Figma 4:2824).
   Лента карточек устроена как .birthday на главной: на десктопе Swiper
   (loop + драг, без автоплея), на мобилке — нативный горизонтальный скролл.
   Секция во всю ширину, боковые поля живут на шапке, чтобы лента могла
   уходить за края (в макете трек 1686 при контенте 1440).
   ========================================================================== */

.pop-athletes
{
    position: relative;

    overflow: hidden;

    margin-top: 0;
    padding-top: 64px;
    padding-bottom: 140px;
}

.pop-athletes__head
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .pop-athletes__head
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .pop-athletes__head
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.pop-athletes__head
{
    margin-bottom: 24px;
}

.pop-athletes__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 14px;

    text-align: center;

    color: #000;
}

.pop-athletes__divider
{
    height: 1px;

    background: #001e62;
}

.pop-athletes__slider
{
    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;
}

.pop-athletes__slider.swiper-container-initialized
{
    overflow: hidden;

    width: 100%;
    max-width: none;
}

.pop-athletes__cards
{
    display: flex;

    align-items: stretch;
    gap: 24px;
}

.pop-athletes__slider.swiper-container-initialized .pop-athletes__cards
{
    gap: 0;
}

.pop-athletes__card
{
    display: flex;
    flex-direction: column;

    width: 318px !important;
    padding: 24px;

    border-radius: 6px 6px 24px 6px;
    background: #fff;

    flex-shrink: 0;
}

.pop-athletes__top
{
    display: flex;

    margin-bottom: 16px;

    align-items: center;
    gap: 8px;
}

.pop-athletes__photo
{
    display: block;

    width: 98px;
    height: 98px;

    flex-shrink: 0;
    -o-object-fit: cover;
       object-fit: cover;
}

.pop-athletes__ident
{
    display: flex;
    flex-direction: column;

    min-width: 0;

    flex: 1 1 auto;
    align-items: flex-end;
    justify-content: space-between;
    align-self: stretch;
}

.pop-athletes__sports
{
    display: flex;

    gap: 8px;
}

.pop-athletes__sport
{
    width: 28px;
    height: 28px;
}

.pop-athletes__name
{
    font: 500 1.25rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    text-align: right;

    color: #000;
}

.pop-athletes__card-divider
{
    height: 1px;
    margin-bottom: 16px;

    background: #cfd0cf;
}

.pop-athletes__facts
{
    margin: 0;
    padding: 0;

    list-style: none;
}

.pop-athletes__fact
{
    font: 400 1rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin-bottom: 15px;

    color: #48484a;
}

.pop-athletes__fact:last-child
{
    margin-bottom: 0;
}

@media (max-width: 1025px)
{
    .pop-athletes
    {
        margin-top: -20px;
        padding-top: 24px;
        padding-bottom: 44px;

        border-radius: 20px 20px 0 0;
        background-color: #ecf3fb;
    }

    .pop-athletes__head
    {
        margin-bottom: 14px;
    }

    .pop-athletes__title
    {
        font-size: 1.25rem;

        margin-bottom: 8px;
    }

    .pop-athletes__slider
    {
        overflow-x: auto;

        padding: 0 14px;

        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .pop-athletes__slider::-webkit-scrollbar
    {
        display: none;
    }

    .pop-athletes__cards
    {
        gap: 8px;
    }

    .pop-athletes__card
    {
        width: 340px !important;
    }
}

/* Секция «Возможности для партнёров» (Figma 1:2050).
   Синий блок со списком + фото, ниже 4 карточки направлений.
   ========================================================================== */

.partner-options
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .partner-options
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .partner-options
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.partner-options
{
    position: relative;

    margin-top: -60px;
    padding-top: 64px;
    padding-bottom: 64px;

    border-radius: 60px 60px 0 0;
    background: #fff;
}

.partner-options__inner
{
    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;
}

.partner-options__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 14px;

    text-align: center;

    color: #000;
}

.partner-options__divider
{
    height: 1px;
    margin-bottom: 16px;

    background: #001e62;
}

.partner-options__subtitle
{
    font: 400 .875rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 40px;

    text-align: center;

    color: #6a6c73;
}

.partner-options__promo
{
    display: flex;

    gap: 24px;
    align-items: stretch;
}

.partner-options__box
{
    display: flex;
    flex-direction: column;

    min-width: 0;
    padding: 60px 30px;

    border-radius: 6px;
    background: #0f7bff;

    flex: 730 1 0;
    justify-content: center;
}

.partner-options__box-title
{
    font: 500 2.125rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 30px;

    color: #fff;
}

.partner-options__list
{
    margin: 0;
    padding-left: 30px;

    list-style: disc;
}

.partner-options__list-item
{
    font: 400 1.25rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin-bottom: 20px;

    color: #fff;
}

.partner-options__list-item:last-child
{
    margin-bottom: 0;
}

.partner-options__photo
{
    display: block;

    width: 100%;
    min-width: 0;

    border-radius: 6px;

    flex: 686 1 0;
    -o-object-fit: cover;
       object-fit: cover;
}

.partner-options__cards
{
    display: flex;

    padding-top: 72px;

    gap: 24px;
}

.partner-options__card
{
    min-width: 0;
    padding: 25px;

    border: 1px solid #e5e7eb;
    border-radius: 6px;
    background: #fff;

    flex: 1 1 0;
}

.partner-options__card-img
{
    display: block;

    width: 100%;
    height: 366px;
    margin-bottom: 16px;

    border-radius: 4px;

    -o-object-fit: cover;
       object-fit: cover;
}

.partner-options__card-title
{
    font: 700 1.125rem/1.75rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 8px;

    color: #111827;
}

.partner-options__card-list
{
    margin: 0;
    padding: 0;

    list-style: none;
}

.partner-options__card-item
{
    font: 400 .875rem/1.25rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #4b5563;
}

@media (max-width: 1025px)
{
    .partner-options
    {
        margin-top: -20px;
        padding-top: 24px;
        padding-bottom: 24px;

        border-radius: 20px 20px 0 0;
    }

    .partner-options__title
    {
        font-size: 1.25rem;

        margin-bottom: 8px;
    }

    .partner-options__divider
    {
        margin-bottom: 14px;
    }

    .partner-options__subtitle
    {
        margin-bottom: 14px;
    }

    .partner-options__promo
    {
        flex-direction: column;

        gap: 14px;
    }

    .partner-options__box
    {
        padding: 30px 20px;
    }

    .partner-options__box-title
    {
        font-size: 1.5rem;

        margin-bottom: 20px;
    }

    .partner-options__list-item
    {
        font-size: 1rem;

        margin-bottom: 14px;
    }

    .partner-options__cards
    {
        flex-direction: column;

        padding: 14px 0 0;

        gap: 14px;
    }

    .partner-options__card-img
    {
        height: 240px;
    }
}

/* Обёртка формы «Оставить заявку» на странице partners (Figma 1:2102).
   Сама форма — существующий блок feedback-form: его padding 64/156, gap 32/24/9
   и радиус совпали с макетом, поэтому переиспользуется как есть.
   ========================================================================== */

.partners-form
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .partners-form
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .partners-form
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.partners-form
{
    padding-top: 60px;
    padding-bottom: 160px;
}

.partners-form__inner
{
    max-width: 1091px;
    margin: 0 auto;
}

.partners-form__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 14px;

    text-align: center;

    color: #000;
}

.partners-form__divider
{
    height: 1px;
    margin-bottom: 14px;

    background: #001e62;
}

@media (max-width: 1025px)
{
    .partners-form
    {
        padding-top: 24px;
        padding-bottom: 72px;
    }

    .partners-form__title
    {
        font-size: 1.25rem;

        margin-bottom: 8px;
    }
}

/* Шапка внутренней страницы
   ========================================================================== */

.page-head
{
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    padding-top: 82px;

    background: #0f7bff;
}

.page-head__panel
{
    position: relative;

    overflow: hidden;

    height: 580px;

    border-radius: 66px 66px 0 0;
}

.page-head__media
{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    overflow: hidden;

    height: 581px;
}

.page-head__media picture
{
    display: block;

    width: 100%;
    height: 100%;
}

.page-head__img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}

.page-head__overlay
{
    position: absolute;

    background: linear-gradient(to bottom, rgba(0, 30, 98, .6) 0%, rgba(0, 30, 98, 0) 71.312%);

    inset: 0;
}

.page-head__bg
{
    position: absolute;
    z-index: 0;

    inset: 0;
}

.page-head__bg img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.page-head__bg::after
{
    position: absolute;

    content: '';

    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .35) 100%);

    inset: 0;
}

.page-head__content
{
    position: relative;
    z-index: 1;

    display: flex;
    flex-direction: column;

    padding-top: 110px;

    text-align: center;

    align-items: center;
}

.page-head__picto
{
    margin-bottom: 12px;
}

.page-head__eyebrow
{
    font: 500 1.125rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #fff;
}

.page-head__title
{
    font: 500 5rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #fff;
}

.page-head__subtitle
{
    font: 500 1.125rem/1.375rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 11px 0 0;

    color: #fff;
}

.page-head__meta
{
    display: flex;

    margin-top: 14px;

    align-items: center;
    gap: 8px;
}

.page-head__meta-when
{
    display: inline-flex;

    align-items: center;
    gap: 8px;
}

.page-head__meta-icon
{
    display: block;

    width: 14px;
    height: 14px;

    flex-shrink: 0;
    fill: none;
    stroke: #fff;
}

.page-head__meta-date,
.page-head__meta-author
{
    font: 400 1.125rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    white-space: nowrap;
    letter-spacing: 1px;

    color: #fff;
}

.page-head__meta-sep
{
    font: 400 1.5rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    letter-spacing: 2px;

    color: #6a6c73;
}

@media (max-width: 1025px)
{
    .page-head
    {
        position: static;

        padding-top: 64px;
    }

    .page-head__panel
    {
        height: 411px;

        border-radius: 20px 20px 0 0;
    }

    .page-head__media
    {
        height: 100%;
    }

    .page-head__content
    {
        position: absolute;

        padding-top: 0;
        padding-bottom: 20px;

        inset: 0;
        justify-content: center;
    }

    .page-head__picto
    {
        width: 24px;
        height: 24px;
        margin-bottom: 10px;
    }

    .page-head__eyebrow
    {
        font-size: 1rem;
    }

    .page-head__title
    {
        font-size: 3rem;
    }

    .page-head__subtitle
    {
        margin-top: 6px;
    }
}

/* Обёртка контента внутренних страниц
   ========================================================================== */

.page-inner
{
    position: relative;
    z-index: 120;

    overflow: clip;

    margin-top: 520px;

    border-radius: 60px 60px 0 0;
    background: linear-gradient(to bottom, #edf3fc 0%, #edf3fc 88.7%, rgba(237, 243, 252, 0) 100%) #fff;
}

@media (max-width: 1025px)
{
    .page-inner
    {
        margin-top: -31px;

        border-radius: 20px 20px 0 0;
    }
}

/* Страница одиночной новости — меньший panel, другой контент
   ========================================================================== */

.page--news-single .page-head__panel
{
    height: 70px;
}

@media (max-width: 1025px)
{
    .page--news-single .page-head__panel
    {
        height: 22px;

        border-radius: 20px 20px 0 0;
    }
}

.page--news-single .page-head__content
{
    position: relative;

    padding-top: 55px;
    padding-bottom: 124px;

    border-radius: 60px 60px 0 0;
    background: #001e62;
}

.page--news-single .page-head__content + .news-section--single
{
    position: relative;
    z-index: 10;

    margin-top: -60px;

    border-radius: 60px 60px 0 0;
    background: #edf3fc;
}

@media (max-width: 1025px)
{
    .page--news-single .page-head__content + .news-section--single
    {
        margin-top: -20px;

        border-radius: 20px 20px 0 0;
    }
}

.page--news-single .page-head__title
{
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.3;

    max-width: 946px;
}

@media (max-width: 1025px)
{
    .page--news-single .page-head__content
    {
        position: static;

        padding-top: 31px;
        padding-right: 14px;
        padding-bottom: 50px;
        padding-left: 14px;

        border-radius: 20px 20px 0 0;
    }

    .page--news-single .page-head__picto
    {
        display: block;
    }

    .page--news-single .page-head__picto svg
    {
        width: 36px;
        height: 36px;
    }

    .page--news-single .page-inner
    {
        margin-top: -20px;
    }

    .page--news-single .page-head__title
    {
        font-size: 1.375rem;
        line-height: 1.2;
    }

    .page--news-single .page-head__meta
    {
        height: 100%;

        flex-wrap: wrap;
        justify-content: center;
    }

    .page--news-single .page-head__meta-sep
    {
        display: none;
    }

    .page--news-single .page-head__meta-date,
    .page--news-single .page-head__meta-author
    {
        font-size: .875rem;

        letter-spacing: 0;
    }

    .page--news-single .page-head__meta-author
    {
        text-align: center;

        flex-basis: 100%;
    }
}

/* Страница поиска
   ========================================================================== */

.page--search .page-head__panel
{
    height: 70px;
}

@media (max-width: 1025px)
{
    .page--search .page-head__panel
    {
        height: 22px;

        border-radius: 20px 20px 0 0;
    }
}

.page--search .page-head__content
{
    position: relative;

    padding-top: 50px;
    padding-bottom: 110px;

    border-radius: 60px 60px 0 0;
    background: #001e62;
}

.page--search .page-head__title
{
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.3;

    max-width: 946px;
}

@media (max-width: 1025px)
{
    .page--search .page-head__content
    {
        position: static;

        padding-top: 31px;
        padding-right: 14px;
        padding-bottom: 50px;
        padding-left: 14px;

        border-radius: 20px 20px 0 0;
    }

    .page--search .page-head__picto
    {
        display: block;
    }

    .page--search .page-head__picto svg
    {
        width: 36px;
        height: 36px;
    }

    .page--search .page-inner
    {
        margin-top: -20px;
    }

    .page--search .page-head__title
    {
        font-size: 1.375rem;
        line-height: 1.2;
    }

    .page--search .page-head__meta
    {
        height: 100%;

        flex-wrap: wrap;
        justify-content: center;
    }

    .page--search .page-head__meta-sep
    {
        display: none;
    }

    .page--search .page-head__meta-date,
    .page--search .page-head__meta-author
    {
        font-size: .875rem;

        letter-spacing: 0;
    }

    .page--search .page-head__meta-author
    {
        text-align: center;

        flex-basis: 100%;
    }
}

/* Страница персоналии (спортсмен) — тёмно-синяя плашка с именем и пиктограммами
   видов спорта по центру. Механика как у .page--search (navy-блок + page--fluid-head).
   ========================================================================== */

.page--single-person .page-head__panel
{
    height: 70px;
}

.page--single-person .page-head__content
{
    position: relative;

    padding-top: 50px;
    padding-bottom: 110px;

    border-radius: 60px 60px 0 0;
    background: #001e62;
}

.page--single-person .page-head__person
{
    display: flex;

    align-items: center;
    justify-content: center;
    gap: 24px;
}

.page--single-person .page-head__title
{
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.3;
}

.page--single-person .page-head__pictos
{
    display: flex;

    align-items: center;
    gap: 10px;
}

.page--single-person .page-head__picto
{
    width: 54px;
    height: 54px;
    margin-bottom: 0;
}

.page--single-person .page-inner
{
    margin-top: 82px;
}

@media (max-width: 1025px)
{
    .page--single-person .page-head__panel
    {
        height: 22px;

        border-radius: 20px 20px 0 0;
    }

    .page--single-person .page-head__content
    {
        position: static;

        padding: 24px 14px 40px;

        border-radius: 20px 20px 0 0;
    }

    .page--single-person .page-head__person
    {
        flex-direction: column-reverse;

        gap: 14px;
    }

    .page--single-person .page-head__title
    {
        font-size: 1.375rem;
        line-height: 1.2;
    }

    .page--single-person .page-head__picto
    {
        width: 36px;
        height: 36px;
    }

    .page--single-person .page-inner
    {
        margin-top: -20px;
    }
}

/* Страница «Антидопинг» — фото-баннер, только заголовок.
   Позиция заголовка по макету 729:4232: глиф ≈ на 39% высоты баннера
   (центр ≈ 224px в панели 580px), а не в геометрическом центре (50%).
   ========================================================================== */

.page--antidoping .news-section--latest
{
    padding-bottom: 160px;
}

.page--antidoping .page-head__content
{
    padding-top: 175px;
}

@media (max-width: 1025px)
{
    .page--antidoping .page-head__content
    {
        padding-top: 0;
    }

    .page--antidoping .news-section--latest
    {
        padding-bottom: 70px;
    }
}

/* Страница «Стать партнером» — фото-баннер, заголовок + подпись.
   Figma 2311:1104: строка заголовка (80px, lh 1) начинается на 179px от верха панели.
   ========================================================================== */

.page--partners .page-head__content
{
    padding-top: 179px;
}

@media (max-width: 1025px)
{
    .page--partners .page-head__content
    {
        padding-top: 0;
    }
}

.page--media .page-head__panel
{
    height: 498px;
}

.page--media .page-inner
{
    margin-top: 500px;
}

.page--media .page-head__content
{
    padding-top: 160px;
}

@media (max-width: 1025px)
{
    .page--media .page-head__content
    {
        padding-top: 0;
    }
}

@media (max-width: 1025px)
{
    .page--media .page-head__panel
    {
        height: 411px;
    }

    .page--media .page-inner
    {
        margin-top: -20px;

        background-color: #ecf3fb;
        background-image: none;
    }
}

/* Страница «Контакты» — шапка с Яндекс-картой
   ========================================================================== */

.page-head__sr-only
{
    position: absolute;

    overflow: hidden;
    clip: rect(0 0 0 0);

    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;

    white-space: nowrap;

    border: 0;

    clip-path: inset(50%);
}

.page-head__map
{
    position: absolute;

    width: 100%;
    height: 100%;

    background: #e6edf5;

    inset: 0;
}

.page-head__map img
{
    max-width: none;
}

.ymap-pin
{
    position: absolute;
}

.ymap-pin__dot
{
    position: absolute;
    top: -7px;
    left: -7px;

    width: 14px;
    height: 14px;

    border: 2px solid #fff;
    border-radius: 50%;
    background: #0f7bff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .15);
}

.ymap-pin__label
{
    font: 500 1rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: absolute;
    top: 0;
    left: 9px;

    width: -moz-max-content;
    width:      max-content;
    padding: 14px;

    transform: translateY(calc(-100% - 8px));
    white-space: nowrap;
    pointer-events: none;

    color: #000;
    border-radius: 24px 6px 24px 0;
    background: #fff;
    box-shadow: 0 4px 7px rgba(0, 0, 0, .15);
}

.page--contacts .page-head__panel
{
    height: 498px;
}

.page--contacts .page-inner
{
    margin-top: 520px;
}

@media (max-width: 1025px)
{
    .page--contacts .page-head__panel
    {
        height: 411px;
    }

    .page--contacts .page-inner
    {
        margin-top: -31px;
    }
}

.page--media-single .page-inner
{
    overflow: visible;
}

.page--media-single .page-head__panel
{
    height: 375px;
}

@media (max-width: 1025px)
{
    .page--media-single .page-head__panel
    {
        height: 420px;

        border-radius: 20px 20px 0 0;
    }
}

.page--media-single .page-head__content
{
    position: relative;

    padding-top: 0;
    padding-top: 40px;
    padding-bottom: 120px;

    border-radius: 60px 60px 0 0;
    background: #001e62;
}

.page--media-single .page-head__content + .media-gallery
{
    position: relative;
    z-index: 10;

    margin-top: -60px;

    border-radius: 60px 60px 0 0;
    background: linear-gradient(to bottom, #edf3fc 0%, #edf3fc 88.7%, rgba(237, 243, 252, 0) 100%) #fff;
}

@media (max-width: 1025px)
{
    .page--media-single .page-head__content + .media-gallery
    {
        margin-top: -20px;

        border-radius: 20px 20px 0 0;
    }
}

.page--media-single .page-head__picto
{
    position: absolute;
    top: 0;
    left: 50%;

    transform: translate(-50%, -50%);
}

.page--media-single .page-head__title
{
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.3;

    max-width: 946px;
}

@media (max-width: 1025px)
{
    .page--media-single .page-head__content
    {
        margin-top: -225px;
        padding: 30px 14px 44px;

        border-radius: 20px 20px 0 0;
    }

    .page--media-single .page-head__media
    {
        height: 100%;
    }

    .page--media-single .page-head__picto
    {
        display: block;

        width: 36px;
        height: 36px;
    }

    .page--media-single .page-head__picto svg
    {
        width: 36px;
        height: 36px;
    }

    .page--media-single .page-head__title
    {
        font-size: 1.375rem;
        line-height: 1.2;
    }

    .page--media-single .page-head__meta-date
    {
        font-size: .875rem;

        letter-spacing: 0;
    }

    .page--media-single .page-head__pill
    {
        font-size: .75rem;
    }
}

@media (max-width: 360px)
{
    .page--media-single .page-head__meta
    {
        flex-wrap: wrap;
        justify-content: center;
        row-gap: 8px;
    }

    .page--media-single .page-head__meta-sep
    {
        display: none;
    }

    .page--media-single .page-head__pills
    {
        flex-basis: 100%;
        justify-content: center;
    }
}

/* Страница «Карточка события» — тёмно-синяя панель с закруглениями,
   фото-баннер выглядывает сверху (как media-single) + субнав внизу панели
   ========================================================================== */

.page--event-info .news-section--latest
{
    padding-bottom: 160px;
}

.page--event-info .page-head__panel
{
    height: auto;
}

@media (max-width: 1025px)
{
    .page--event-info .page-head__panel
    {
        height: auto;

        border-radius: 20px 20px 0 0;
    }
}

.page--event-info .page-head__content
{
    position: relative;

    margin-top: 0;
    padding-top: 50px;
    padding-bottom: 61px;

    border-radius: 60px 60px 0 0;
    background: #001e62;
}

.page--event-info .page-head__content + .event-info
{
    position: relative;
    z-index: 10;

    margin-top: -60px;

    border-radius: 60px 60px 0 0;
    background: linear-gradient(to bottom, #edf3fc 0%, #edf3fc 88.7%, rgba(237, 243, 252, 0) 100%) #fff;
}

@media (max-width: 1025px)
{
    .page--event-info .page-head__content + .event-info
    {
        margin-top: -20px;

        border-radius: 20px 20px 0 0;
    }
}

.page--event-info .page-head__content + .docs-section
{
    position: relative;
    z-index: 10;

    margin-top: -60px;

    border-radius: 60px 60px 0 0;
    background: linear-gradient(to bottom, #edf3fc 0%, #edf3fc 88.7%, rgba(237, 243, 252, 0) 100%) #fff;
}

@media (max-width: 1025px)
{
    .page--event-info .page-head__content + .docs-section
    {
        margin-top: -20px;

        border-radius: 20px 20px 0 0;
    }
}

.page--event-info .page-head__content + .news-section--latest,
.page--event-info .page-head__content + .event-schedule,
.page--event-info .page-head__content + .event-results
{
    position: relative;
    z-index: 10;

    margin-top: -60px;

    border-radius: 60px 60px 0 0;
    background: linear-gradient(to bottom, #edf3fc 0%, #edf3fc 88.7%, rgba(237, 243, 252, 0) 100%) #fff;
}

@media (max-width: 1025px)
{
    .page--event-info .page-head__content + .news-section--latest,
    .page--event-info .page-head__content + .event-schedule,
    .page--event-info .page-head__content + .event-results
    {
        margin-top: -20px;

        border-radius: 20px 20px 0 0;
    }
}

.page--event-info .page-head__picto
{
    position: absolute;
    top: 0;
    left: 50%;

    margin-bottom: 0;

    transform: translate(-50%, -50%);
}

@media (max-width: 1025px)
{
    .page--event-info .page-head__picto
    {
        width: 36px;
        height: 36px;
    }
}

.page--event-info .page-head__title
{
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.3;

    max-width: 760px;
}

.page--event-info .page-head__meta
{
    margin-top: 14px;
}

.page--event-info .page-head__media
{
    position: static;

    height: 493px;
}

.page--event-info .page-head__meta-icon
{
    display: none;
}

.page--event-info .event-subnav
{
    margin-top: 32px;
}

.page--event-info .page-inner
{
    overflow: visible;
}

@media (max-width: 1025px)
{
    .page--event-info .news-section--latest
    {
        padding-bottom: 70px;
    }

    .page--event-info .page-head__content
    {
        margin-top: 0;
        padding: 30px 14px 24px;

        border-radius: 20px 20px 0 0;
    }

    .page--event-info .page-head__media
    {
        position: static;

        height: 100%;
    }

    .page--event-info .page-head__picto
    {
        display: block;
    }

    .page--event-info .page-head__picto svg
    {
        width: 36px;
        height: 36px;
    }

    .page--event-info .page-head__title
    {
        font-size: 1.375rem;
        line-height: 1.2;

        max-width: none;
    }

    .page--event-info .page-head__meta
    {
        flex-wrap: wrap;
        justify-content: center;
    }

    .page--event-info .page-head__meta-date
    {
        font-size: .875rem;

        letter-spacing: 0;
    }

    .page--event-info .page-head__meta-icon
    {
        display: block;
    }

    .page--event-info .event-subnav
    {
        overflow-x: auto;

        margin: 14px -14px 0;
        padding: 13px 14px;

        align-self: stretch;
        justify-content: flex-start;
        gap: 14px;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 14px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .page--event-info .event-subnav::-webkit-scrollbar
    {
        display: none;
    }

    .page--event-info .event-subnav__item
    {
        flex-shrink: 0;
        scroll-snap-align: start;
    }

    .page--event-info .event-subnav__item:hover .event-subnav__text span,
    .page--event-info .event-subnav__item:focus-visible .event-subnav__text span
    {
        transform: none;
    }

    .page--event-info .page-inner
    {
        margin-top: -20px;
    }
}

.page--about
{
    /* Баннер главной страницы
  ========================================================================== */
}

.page--about .page-head
{
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    padding-top: 82px;

    background: #0f7bff;
}

.page--about .page-head__panel
{
    position: relative;

    overflow: hidden;

    height: 580px;

    border-radius: 66px 66px 0 0;
}

.page--about .page-head__media
{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    overflow: hidden;

    height: 581px;
}

.page--about .page-head__img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}

.page--about .page-head__content
{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    display: flex;
    flex-direction: column;

    padding: 0 40px;
    padding-top: 170px;

    text-align: center;

    align-items: center;
    justify-content: center;
    gap: 16px;
}

.page--about .page-head__title
{
    font: 500 5rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #fff;
}

.page--about .page-head__subtitle
{
    font: 500 1.125rem/1.375rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    max-width: 640px;
    margin: 0;

    color: #fff;
}

@media (max-width: 1025px)
{
    .page--about .page-head
    {
        position: static;

        padding-top: 64px;
    }

    .page--about .page-head__panel
    {
        height: 411px;

        border-radius: 20px 20px 0 0;
    }

    .page--about .page-head__media
    {
        height: 100%;
    }

    .page--about .page-head__content
    {
        padding: 0 14px 20px;

        inset: 0;
        justify-content: center;
    }

    .page--about .page-head__title
    {
        font-size: 3rem;
    }

    .page--about .page-head__subtitle
    {
        font-size: .875rem;
        line-height: 1.3;
    }

    .page--about .page-about
    {
        margin-top: -20px;

        border-radius: 20px 20px 0 0;
        background-color: #ecf3fb;
        background-image: none;
    }
}

/* Страница 404 — высокий центрированный hero: бейдж «Ошибка 404» + заголовок
   + подзаголовок + кнопка. Фото бассейна с navy-градиентом. Figma 752:1594.
   ========================================================================== */

.page--404 .page-head__panel
{
    height: 760px;
}

.page--404 .page-head__media
{
    height: 100%;
}

.page--404 .page-head__content
{
    position: absolute;

    padding: 0 40px;
    padding-top: 220px;

    inset: 0;
    gap: 14px;
}

.page--404 .page-head__subtitle
{
    font: 500 1.125rem/1.375rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #fff;
}

.page--404 .page-head__btn
{
    font: 500 .75rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: inline-flex;

    width: 270px;
    height: 44px;

    transition: background-color .3s cubic-bezier(.4, 0, .6, 1), color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;
    letter-spacing: .6px;
    text-transform: uppercase;

    color: #001e62;
    border-radius: 6px;
    background: #fff;

    align-items: center;
    justify-content: center;
    gap: 8px;
}

@media (hover: hover)
{
    .page--404 .page-head__btn:hover
    {
        color: #fff;
        background-color: #001e62;
    }
}

.page--404 .page-inner
{
    margin-top: 785px;

    background: none #fff;
}

@media (max-width: 1025px)
{
    .page--404 .page-head__panel
    {
        height: 411px;
    }

    .page--404 .page-head__content
    {
        padding: 0 14px 20px;
    }

    .page--404 .page-inner
    {
        margin-top: -20px;
    }
}

.page--regions .sec
{
    margin-top: 82px;
    padding-bottom: 60px;

    border-radius: 60px 60px 0 0;
}

.page--regions .page-head
{
    position: absolute;
}

.page--regions .tbl-sec
{
    margin-top: -60px;
    padding-top: 100px;
    padding-bottom: 100px;

    border-radius: 60px 60px 0 0;
    background: #fff;
}

.page--regions .tbl-head h2
{
    font-weight: 500;
}

.page--regions .sec-head h1
{
    font-weight: 500;
}

@media (max-width: 1025px)
{
    .page--regions .tbl-sec
    {
        margin-top: -20px;
        padding-top: 24px;
        padding-bottom: 70px;

        border-radius: 20px 20px 0 0;
    }

    .page--regions .sec
    {
        margin-top: 100px;
        padding-bottom: 20px;

        border-radius: 20px 20px 0 0;
    }
}

@media (max-width: 760px)
{
    .page--regions .sec
    {
        margin: 0;
        margin-top: 100px;

        border-radius: 20px 20px 0 0;
    }
}

.page-head__pills
{
    display: flex;

    flex-shrink: 0;
    gap: 8px;
}

.page-head__pill
{
    font: 400 1rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    height: 30px;
    padding: 4px 12px;

    white-space: nowrap;

    color: #fff;
    border: 1.5px solid #fff;
    border-radius: 100px;

    flex-shrink: 0;
    align-items: center;
    gap: 8px;
}

.page-head__pill__icon
{
    display: block;

    flex-shrink: 0;
    fill: none;
}

/* Страница медиа — основная секция
   ========================================================================== */

.has-media-filters
{
    overflow: hidden;
}

.media-section
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .media-section
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .media-section
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.media-section
{
    padding-top: 100px;
    padding-bottom: 160px;
}

.media-section__head-row
{
    display: grid;

    margin-bottom: 14px;

    grid-template-columns: 319px 1fr;
    gap: 30px;
    align-items: center;
}

.media-section__label
{
    font: 500 .6875rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;
    padding-left: 6px;

    letter-spacing: .066em;
    text-transform: uppercase;

    color: #001e62;
}

.media-section__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;
}

.media-section__main-head
{
    display: flex;

    align-items: center;
    justify-content: space-between;
    gap: 16px 24px;
    flex-wrap: wrap;
}

.media-section__divider
{
    height: 1px;
    margin-bottom: 32px;

    background: #001e62;
}

.media-section__body
{
    display: grid;

    grid-template-columns: 319px 1fr;
    gap: 30px;
    align-items: start;
}

.media-section__sidebar
{
    align-self: stretch;
}

.media-section__filters-overlay
{
    display: none;
}

.media-section__right
{
    display: flex;
    flex-direction: column;
}

.media-section__right .media-section__more
{
    padding-right: 0;
    padding-left: 0;
}

.media-section__grid
{
    display: grid;

    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.media-section__more
{
    display: flex;

    margin-top: 50px;
    padding-right: 36px;
    padding-left: 36px;

    justify-content: center;
}

.media-section__more-btn
{
    font: 400 1rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;
    flex-direction: column;

    width: 100%;
    padding: 0;

    cursor: pointer;
    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #0f7bff;
    border: none;
    background: none;

    align-items: center;
    gap: 18px;
}

.media-section__more-btn::before
{
    display: block;

    width: 514px;
    height: 1px;

    content: '';
    transition: width .3s cubic-bezier(.4, 0, .6, 1), background-color .3s cubic-bezier(.4, 0, .6, 1);

    background: #0f7bff;
}

.media-section__more-btn:hover,
.media-section__more-btn:focus-visible
{
    color: #001e62;
    outline: none;
}

.media-section__more-btn:hover::before,
.media-section__more-btn:focus-visible::before
{
    width: 100%;

    background: #001e62;
}

@media (max-width: 1025px)
{
    .media-section
    {
        padding-top: 24px;
        padding-bottom: 70px;
    }

    .media-section__head-row
    {
        display: flex;

        margin-bottom: 8px;

        justify-content: space-between;
        align-items: center;
        gap: 8px;
    }

    .media-section__title
    {
        font-size: 1.25rem;

        order: 1;
    }

    .media-section__label
    {
        order: 2;
    }

    .media-section__divider
    {
        margin-bottom: 14px;
    }

    .media-section__body
    {
        display: block;
    }

    .media-section__sidebar
    {
        position: fixed;
        z-index: 140;

        display: block;
        visibility: hidden;

        transition: visibility .3s;

        inset: 0;
    }

    .media-section__sidebar--open
    {
        visibility: visible;
    }

    .media-section__filters-overlay
    {
        position: absolute;

        display: block;

        padding: 0;

        cursor: pointer;
        transition: opacity .3s cubic-bezier(.4, 0, .6, 1);

        opacity: 0;
        border: none;
        background: rgba(0, 0, 0, .4);

        inset: 0;
    }

    .media-section__sidebar--open .media-section__filters-overlay
    {
        opacity: 1;
    }

    .media-section__grid
    {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .media-section__more
    {
        margin-top: 14px;
        padding-right: 0;
        padding-left: 0;
    }

    .media-section__more-btn::before
    {
        width: 100%;
    }

    .media-section__more-btn:hover,
    .media-section__more-btn:focus-visible
    {
        color: #0f7bff;
    }

    .media-section__more-btn:hover::before,
    .media-section__more-btn:focus-visible::before
    {
        width: 100%;

        background: #0f7bff;
    }
}

/* Медиа-карточка (фотоальбом)
   ========================================================================== */

.media-card
{
    display: flex;
    overflow: hidden;
    flex-direction: column;

    padding-top: 5px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    border-radius: 6px;
}

.media-card:hover,
.media-card:focus-visible
{
    transform: translateY(-6px);

    outline: none;
}

.media-card:hover .media-card__title,
.media-card:focus-visible .media-card__title
{
    color: #0f7bff;
}

.media-card__photo
{
    display: block;
    overflow: hidden;

    width: 100%;

    border-radius: 3px 3px 0 0;

    aspect-ratio: 16/9;
}

.media-card__photo img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.media-card__strip
{
    display: flex;

    margin-top: 4px;

    gap: 4px;
}

.media-card__thumb
{
    display: block;

    min-width: 0;
    height: 44px;

    border-radius: 3px;

    flex: 1;
    -o-object-fit: cover;
       object-fit: cover;
}

.media-card__info
{
    display: flex;

    padding: 14px;

    background: #fff;

    flex: 1;
    align-items: flex-end;
    gap: 14px;
}

.media-card__title
{
    font: 400 .875rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    min-width: 0;
    margin: 0;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);

    color: #1e1e1e;

    flex: 1 0 0;
}

.media-card__icon
{
    flex-shrink: 0;
    align-self: flex-end;
}

/* Панель фильтров медиа-страницы
   ========================================================================== */

.media-filters
{
    position: sticky;
    top: 100px;

    display: flex;
    flex-direction: column;

    padding: 24px;

    border-radius: 6px;
    background: #fff;

    gap: 32px;
}

.media-filters__heading
{
    font: 700 .875rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    letter-spacing: .02em;

    color: #0a090e;
}

.media-filters__fields
{
    display: flex;
    flex-direction: column;

    gap: 16px;
}

.media-filters__search-wrap
{
    position: relative;

    height: 40px;
}

.media-filters__search
{
    font: 400 .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    box-sizing: border-box;
    width: 100%;
    height: 40px;
    padding: 10px 40px 10px 14px;

    color: #000;
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    outline: none;
    background: #f8f8f7;
}

.media-filters__search::-moz-placeholder
{
    color: #6a6c73;
}

.media-filters__search::placeholder
{
    color: #6a6c73;
}

.media-filters__search:focus
{
    border-color: #0f7bff;
}

.media-filters__search::-webkit-search-cancel-button
{
    display: none;
}

.media-filters__search-icon
{
    position: absolute;
    top: 50%;
    right: 14px;

    display: block;

    width: 14px;
    height: 14px;

    transform: translateY(-50%);
    pointer-events: none;

    fill: none;
    stroke: #6a6c73;
}

.media-filters__actions
{
    display: flex;
    flex-direction: column;

    padding-top: 8px;

    gap: 0;
}

.media-filters__submit
{
    font: 400 .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    height: 46px;

    cursor: pointer;
    transition: background-color .3s cubic-bezier(.4, 0, .6, 1);

    color: #fff;
    border: none;
    border-radius: 6px;
    background: #0f7bff;
}

.media-filters__submit:hover,
.media-filters__submit:focus-visible
{
    outline: none;
    background: rgb(0, 103.14, 229.2);
}

.media-filters__reset
{
    font: 400 .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    height: 46px;

    cursor: pointer;
    transition: color .3s cubic-bezier(.4, 0, .6, 1);

    color: #6a6c73;
    border: none;
    background: none;
}

.media-filters__reset:hover,
.media-filters__reset:focus-visible
{
    color: #000;
    outline: none;
}

@media (max-width: 1025px)
{
    .media-filters
    {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;

        overflow-y: auto;

        width: 325px;
        max-width: 100%;
        max-height: none;

        transition: transform .3s cubic-bezier(.4, 0, .6, 1);
        transform: translateX(100%);

        border-radius: 0;
    }

    .media-section__sidebar--open .media-filters
    {
        transform: translateX(0);
    }
}

/* Кастомный select (дропдаун)
   ========================================================================== */

.media-select
{
    position: relative;
}

.media-select__trigger
{
    font: 400 .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    box-sizing: border-box;
    width: 100%;
    height: 40px;
    padding: 10px 14px;

    cursor: pointer;
    text-align: left;

    color: #000;
    border: 1px solid #cfd0cf;
    border-radius: 6px;
    background: none;

    align-items: center;
    justify-content: space-between;
}

.media-select__trigger:focus-visible
{
    outline: 2px solid #0f7bff;
    outline-offset: 2px;
}

.media-select__value
{
    overflow: hidden;

    min-width: 0;

    white-space: nowrap;
    text-overflow: ellipsis;

    flex: 1 0 0;
}

.media-select__value--placeholder
{
    color: #6a6c73;
}

.media-select__arrow
{
    display: block;

    width: 10px;
    height: 6px;
    margin-left: 8px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);

    flex-shrink: 0;
    fill: none;
    stroke: #7a7a7a;
}

.media-select__list
{
    display: flex;
    flex-direction: column;

    margin: 0;
    padding: 14px;

    list-style: none;

    border: 1px solid #cfd0cf;
    border-top: none;
    border-radius: 0 0 6px 6px;
    background: #fff;

    gap: 13px;
}

.media-select__list[hidden]
{
    display: none;
}

.media-select__item
{
    font: 400 .875rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    padding: 0;

    cursor: pointer;

    color: #000;

    align-items: center;
    justify-content: space-between;
}

.media-select__item::after
{
    display: none;

    width: 12px;
    height: 12px;

    content: '';

    background: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'10\' height=\'8\' viewBox=\'0 0 10 8\'%3E%3Cpath d=\'M1 4l3 3 5-6\' stroke=\'%230f7bff\' stroke-width=\'1.5\' fill=\'none\' stroke-linecap=\'round\' stroke-linejoin=\'round\'/%3E%3C/svg%3E') no-repeat center;

    flex-shrink: 0;
}

.media-select__item[aria-selected=true]
{
    color: #0f7bff;
}

.media-select__item[aria-selected=true]::after
{
    display: block;
}

.media-select__item:hover
{
    color: #0f7bff;
}

.media-select--open .media-select__trigger
{
    border-bottom: none;
    border-radius: 6px 6px 0 0;
}

.media-select--open .media-select__arrow
{
    transform: scaleY(-1);
}

/* Фотогалерея медиа-альбома (страница media-single)
   ========================================================================== */

.media-gallery
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .media-gallery
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .media-gallery
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.media-gallery
{
    padding-top: 100px;
    padding-bottom: 160px;
}

.media-gallery__head-row
{
    position: relative;

    display: flex;

    align-items: center;
}

.media-gallery__back
{
    font: 500 .6875rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: absolute;
    z-index: 1;
    left: 0;

    display: flex;

    white-space: nowrap;
    text-decoration: none;
    letter-spacing: .066em;
    text-transform: uppercase;

    color: #001e62;

    align-items: center;
    gap: 14px;
}

.media-gallery__back svg
{
    display: block;

    width: 16px;
    height: 9px;

    transform: scaleX(-1);

    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
}

.media-gallery__back:hover,
.media-gallery__back:focus-visible
{
    outline: none;
}

.media-gallery__back:hover .media-gallery__back-text,
.media-gallery__back:focus-visible .media-gallery__back-text
{
    transform: translateX(5px);
}

.media-gallery__back-text
{
    display: inline-block;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
}

.media-gallery__tabs
{
    position: relative;

    display: flex;

    flex: 1;
    align-items: flex-end;
    justify-content: center;
    gap: 26px;
}

.media-gallery__indicator
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 0;
    height: 2px;

    transition: left .3s cubic-bezier(.4, 0, .6, 1), width .3s cubic-bezier(.4, 0, .6, 1);
    pointer-events: none;

    background: #e50361;
}

.media-gallery__tab
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;
    padding: 0;
    padding-right: 10px;
    padding-bottom: 14px;
    padding-left: 10px;

    cursor: pointer;
    transition: color .3s cubic-bezier(.4, 0, .6, 1), opacity .3s cubic-bezier(.4, 0, .6, 1);

    color: #0f7bff;
    border: none;
    background: none;
}

.media-gallery__tab:hover,
.media-gallery__tab:focus-visible
{
    opacity: .75;
    outline: none;
}

.media-gallery__tab--active
{
    cursor: default;

    color: #000;
}

.media-gallery__tab--active:hover,
.media-gallery__tab--active:focus-visible
{
    opacity: 1;
}

.media-gallery__divider
{
    height: 1px;
    margin-bottom: 25px;

    background: #001e62;
}

.media-gallery__grid
{
    display: grid;

    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 4%;
         column-gap: 4%;
    row-gap: 80px;
}

.media-gallery__photo
{
    display: block;
    overflow: hidden;

    padding: 0;

    cursor: pointer;

    border: none;
    border-radius: 6px;
    background: none;
}

.media-gallery__photo:focus-visible
{
    outline: 2px solid #0f7bff;
    outline-offset: 2px;
}

.media-gallery__img
{
    display: block;

    width: 100%;
    height: 100%;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);

    border-radius: 6px;

    -o-object-fit: cover;
       object-fit: cover;
}

.media-gallery__video
{
    position: relative;

    display: block;
    overflow: hidden;

    text-decoration: none;

    border-radius: 6px;

    aspect-ratio: 449/266;
}

.media-gallery__video:focus-visible
{
    outline: 2px solid #0f7bff;
    outline-offset: 2px;
}

.media-gallery__play
{
    position: absolute;

    display: flex;

    transition: background-color .3s cubic-bezier(.4, 0, .6, 1);

    background: rgba(0, 0, 0, .35);

    inset: 0;
    align-items: center;
    justify-content: center;
}

.media-gallery__video:hover .media-gallery__play
{
    background: rgba(0, 0, 0, .55);
}

@media (max-width: 1025px)
{
    .media-gallery
    {
        padding-top: 24px;
        padding-bottom: 70px;
    }

    .media-gallery__head-row
    {
        justify-content: space-between;
    }

    .media-gallery__back
    {
        position: static;
    }

    .media-gallery__tabs
    {
        flex: 0 0 auto;
        gap: 14px;
    }

    .media-gallery__tab
    {
        font-size: 1.25rem;

        height: 38px;
        padding: 0 4px;

        color: #000;
    }

    .media-gallery__divider
    {
        margin-bottom: 14px;
    }

    .media-gallery__grid
    {
        grid-template-columns: repeat(2, 1fr);
        -moz-column-gap: 7px;
             column-gap: 7px;
        row-gap: 7px;
    }
}

/* «Последние медиа» — featured-блок: 1 большая карточка + 3 малых.
   Каждая = фото + лента превью + инфо (заголовок, дата, счётчики VK, пиктограмма).
   Figma 701:16526.
   ========================================================================== */

.media-feature
{
    display: grid;

    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;

    grid-template-columns: 725fr 685fr;
    gap: 30px;
    align-items: stretch;
}

.media-feature__photo,
.media-feature__thumb
{
    overflow: hidden;
}

.media-feature__photo img,
.media-feature__thumb img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.media-feature__date
{
    font-family: 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #6a6c73;
}

.media-feature__stats
{
    display: flex;

    align-items: center;
    gap: 8px;
}

.media-feature__stat
{
    font: 1rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: inline-flex;

    height: 30px;
    padding: 4px 12px;

    color: #0f7bff;
    border: 1.5px solid #0f7bff;
    border-radius: 100px;

    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.media-feature__stat-icon
{
    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
}

.media-feature__picto
{
    flex-shrink: 0;
}

.media-feature__main
{
    display: flex;
    flex-direction: column;

    text-decoration: none;

    gap: 4px;
}

.media-feature__main-photo
{
    height: 419px;

    border-radius: 6px 6px 3px 3px;
}

@media (max-width: 1025px)
{
    .media-feature__main-photo
    {
        height: auto;
    }
}

.media-feature__main-strip
{
    display: flex;

    gap: 4px;
}

.media-feature__main-strip .media-feature__thumb
{
    min-width: 0;
    height: 111px;

    border-radius: 3px;

    flex: 1 0 0;
}

@media (max-width: 1025px)
{
    .media-feature__main-strip .media-feature__thumb
    {
        height: auto;
    }
}

.media-feature__main-info
{
    display: flex;
    flex-direction: column;

    padding: 14px;

    border-radius: 3px 3px 34px 3px;
    background: #fff;

    gap: 14px;
}

.media-feature__main-title
{
    font: 500 1.4375rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;
}

.media-feature__main-meta
{
    display: flex;

    align-items: center;
    gap: 14px;
}

.media-feature__main-meta .media-feature__date
{
    font-size: .75rem;

    min-width: 0;

    flex: 1 0 0;
}

.media-feature__aside
{
    display: flex;
    flex-direction: column;

    gap: 24px;
}

.media-feature__row
{
    display: flex;

    min-height: 0;

    text-decoration: none;

    flex: 1 0 0;
    gap: 4px;
    align-items: stretch;
}

.media-feature__row-photo
{
    width: 236px;

    border-radius: 6px 3px 3px 6px;

    flex-shrink: 0;
}

.media-feature__row-strip
{
    display: flex;
    flex-direction: column;

    width: 86px;

    gap: 4px;
    flex-shrink: 0;
}

.media-feature__row-strip .media-feature__thumb
{
    min-height: 0;

    border-radius: 3px;

    flex: 1 0 0;
}

.media-feature__row-info
{
    display: flex;
    overflow: hidden;
    flex-direction: column;

    min-width: 0;
    padding: 14px;

    border-radius: 3px 6px 24px 3px;
    background: #fff;

    flex: 1 0 0;
    gap: 10px;
}

.media-feature__row-title
{
    font: 400 1rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: -webkit-box;
    overflow: hidden;

    margin: 0;

    color: #000;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.media-feature__row-meta
{
    display: flex;

    margin-top: auto;

    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 6px 8px;
}

.media-feature__row-meta .media-feature__date
{
    font-size: .6875rem;

    white-space: nowrap;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.media-feature__row-tail
{
    display: flex;

    align-items: center;
    flex-shrink: 0;
    gap: 8px;
}

.media-feature__row .media-feature__stat
{
    font-size: .6875rem;

    height: 24px;
    padding: 4px 8px;

    gap: 4px;
}

@media (max-width: 1025px)
{
    .media-feature
    {
        display: flex;
        flex-direction: column;

        gap: 14px;
    }

    .media-feature__row
    {
        flex: none;
    }

    .media-feature__main-title
    {
        font-size: 1rem;
        font-weight: 400;
    }

    .media-feature__main-meta .media-feature__date
    {
        font-size: .6875rem;

        letter-spacing: .03em;
        text-transform: uppercase;
    }

    .media-feature__main .media-feature__stat
    {
        font-size: .6875rem;

        height: 24px;
        padding: 4px 8px;

        gap: 4px;
    }

    .media-feature__main .media-feature__stat-icon[width='16']
    {
        width: 14px;
        height: 14px;
    }

    .media-feature__main .media-feature__stat-icon[width='15']
    {
        width: 14px;
        height: 9px;
    }
}

@media (max-width: 600px)
{
    .media-feature__row
    {
        flex-direction: column;
    }

    .media-feature__row-photo
    {
        width: 100%;

        aspect-ratio: 16/9;
    }

    .media-feature__row-strip
    {
        flex-direction: row;

        width: 100%;
        height: 72px;
    }

    .media-feature__row-strip .media-feature__thumb
    {
        min-width: 0;
    }

    .media-feature__row-info
    {
        flex: none;
    }
}

/* Страница «Календарь» — двухколоночник (на базе media-section)
   Сайдбар-фильтры + контент с помесячными секциями. Figma 676:9876
   ========================================================================== */

.has-calendar-filters
{
    overflow: hidden;
}

.calendar-section
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .calendar-section
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .calendar-section
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.calendar-section
{
    padding-top: 100px;
    padding-bottom: 160px;
}

.calendar-section__body
{
    display: grid;

    grid-template-columns: 320px 1fr;
    gap: 30px;
    align-items: start;
}

.calendar-section__sidebar
{
    align-self: stretch;
}

.calendar-section__filters-overlay
{
    display: none;
}

.calendar-section__content
{
    min-width: 0;
}

.calendar-section__grid
{
    display: grid;

    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    align-items: stretch;
}

@media (max-width: 1025px)
{
    .calendar-section
    {
        padding-top: 24px;
        padding-bottom: 50px;
    }

    .calendar-section__body
    {
        display: block;
    }

    .calendar-section__grid
    {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .calendar-section__sidebar
    {
        position: fixed;
        z-index: 140;

        display: block;
        visibility: hidden;

        transition: visibility .3s;

        inset: 0;
    }

    .calendar-section__sidebar--open
    {
        visibility: visible;
    }

    .calendar-section__filters-overlay
    {
        position: absolute;

        display: block;

        padding: 0;

        cursor: pointer;
        transition: opacity .3s cubic-bezier(.4, 0, .6, 1);

        opacity: 0;
        border: none;
        background: rgba(0, 0, 0, .4);

        inset: 0;
    }

    .calendar-section__sidebar--open .calendar-section__filters-overlay
    {
        opacity: 1;
    }
}

/* Тулбар «Календаря»: «Фильтр» + заголовок месяца + «добавить все события»
   Figma 676:10063. Сетка совпадает с calendar-section__body для выравнивания.
   ========================================================================== */

.calendar-toolbar__row
{
    display: grid;

    margin-bottom: 14px;

    grid-template-columns: 320px 1fr auto;
    grid-template-areas: 'label month add';
    -moz-column-gap: 30px;
         column-gap: 30px;
    align-items: center;
}

.calendar-toolbar__label
{
    font: 500 .6875rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    letter-spacing: .066em;
    text-transform: uppercase;

    color: #001e62;

    grid-area: label;
}

.calendar-toolbar__month
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    min-width: 0;
    margin: 0;

    color: #000;

    grid-area: month;
}

.calendar-toolbar__month-year
{
    color: #cfd0cf;
}

.calendar-toolbar__add
{
    font: 500 .6875rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    padding: 0;

    cursor: pointer;
    white-space: nowrap;
    letter-spacing: .066em;
    text-transform: uppercase;

    color: #001e62;
    border: none;
    background: none;

    grid-area: add;
    justify-self: end;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}

.calendar-toolbar__add:hover,
.calendar-toolbar__add:focus-visible
{
    outline: none;
}

.calendar-toolbar__add:hover .calendar-toolbar__add-text,
.calendar-toolbar__add:focus-visible .calendar-toolbar__add-text
{
    transform: translateX(-5px);
}

.calendar-toolbar__add-text
{
    display: inline-block;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
}

.calendar-toolbar__add-icon
{
    width: 20px;
    height: 20px;

    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
}

.calendar-toolbar__divider
{
    height: 1px;
    margin-bottom: 32px;

    background: #001e62;
}

@media (max-width: 1025px)
{
    .calendar-toolbar
    {
        margin-bottom: 24px;
    }

    .calendar-toolbar__row
    {
        margin-bottom: 0;

        grid-template-columns: 1fr auto;
        grid-template-areas: 'label add' 'month month';
        -moz-column-gap: 8px;
             column-gap: 8px;
        row-gap: 14px;
    }

    .calendar-toolbar__label
    {
        cursor: pointer;
    }

    .calendar-toolbar__month
    {
        font-size: 1.25rem;

        justify-self: center;
    }

    .calendar-toolbar__add-word
    {
        display: none;
    }

    .calendar-toolbar__divider
    {
        display: none;
    }
}

/* Сайдбар-фильтры «Календаря»: ВИД СПОРТА (радио) + ПАРАМЕТРЫ (Figma 676:10000)
   Дропдауны переиспользуют .media-select. Sticky как у media-filters.
   ========================================================================== */

.calendar-filters
{
    position: sticky;
    top: 100px;

    display: flex;
    flex-direction: column;

    padding: 24px;

    border-radius: 6px;
    background: #fff;

    gap: 32px;
}

.calendar-filters__group
{
    display: flex;
    flex-direction: column;

    gap: 16px;
}

.calendar-filters__heading
{
    font: 700 .875rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    letter-spacing: .03em;
    text-transform: uppercase;

    color: #0a090e;
}

.calendar-filters__radios
{
    display: flex;
    flex-direction: column;

    gap: 12px;
}

.calendar-filters__radio
{
    font: .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    cursor: pointer;

    color: #000;

    align-items: center;
    gap: 12px;
}

.calendar-filters__radio-input
{
    position: absolute;

    width: 16px;
    height: 16px;
    margin: 0;

    cursor: pointer;

    opacity: 0;
}

.calendar-filters__radio-dot
{
    position: relative;

    width: 16px;
    height: 16px;

    transition: border-color .3s cubic-bezier(.4, 0, .6, 1);

    border: 1px solid #cfd0cf;
    border-radius: 50%;
    background: #fff;

    flex-shrink: 0;
}

.calendar-filters__radio-dot::after
{
    position: absolute;

    width: 9.6px;
    height: 9.6px;
    margin: auto;

    content: '';
    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
    transform: scale(0);

    border-radius: 50%;
    background: #0075ff;

    inset: 0;
}

.calendar-filters__radio-input:checked + .calendar-filters__radio-dot
{
    border-color: #0075ff;
}

.calendar-filters__radio-input:checked + .calendar-filters__radio-dot::after
{
    transform: scale(1);
}

.calendar-filters__divider
{
    height: 1px;

    background: #cfd0cf;
}

.calendar-filters__fields
{
    display: flex;
    flex-direction: column;

    gap: 16px;
}

.calendar-filters__period
{
    font: 400 .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    box-sizing: border-box;
    width: 100%;
    padding: 11px 15px;

    cursor: pointer;
    text-align: left;

    color: #6a6c73;
    border: 1px solid #cfd0cf;
    border-radius: 6px;
    background: none;

    align-items: center;
    justify-content: space-between;
}

.calendar-filters__period:focus-visible
{
    outline: 2px solid #0f7bff;
    outline-offset: 2px;
}

.calendar-filters__period-arrow
{
    width: 10px;
    height: 6px;
    margin-left: 8px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);

    flex-shrink: 0;
    fill: none;
    stroke: #7a7a7a;
}

.calendar-filters__actions
{
    display: flex;
    flex-direction: column;

    padding-top: 8px;
}

.calendar-filters__submit
{
    font: 400 .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    padding: 14px;

    cursor: pointer;
    transition: background-color .3s cubic-bezier(.4, 0, .6, 1);

    color: #fff;
    border: none;
    border-radius: 6px;
    background: #0f7bff;

    align-items: center;
    justify-content: center;
}

.calendar-filters__submit:hover,
.calendar-filters__submit:focus-visible
{
    outline: none;
    background: rgb(0, 103.14, 229.2);
}

.calendar-filters__reset
{
    font: 400 .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    padding: 14px;

    cursor: pointer;
    transition: color .3s cubic-bezier(.4, 0, .6, 1);

    color: #6a6c73;
    border: none;
    border-radius: 8px;
    background: none;

    align-items: center;
    justify-content: center;
}

.calendar-filters__reset:hover,
.calendar-filters__reset:focus-visible
{
    color: #000;
    outline: none;
}

@media (max-width: 1025px)
{
    .calendar-filters
    {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;

        overflow-y: auto;

        width: 325px;
        max-width: 100%;
        max-height: none;

        transition: transform .3s cubic-bezier(.4, 0, .6, 1);
        transform: translateX(100%);

        border-radius: 0;
    }

    .calendar-section__sidebar--open .calendar-filters
    {
        transform: translateX(0);
    }
}

/* Плавающая кнопка вызова фильтра (моб. «Календарь») — Figma 988:9875
   Выезжает справа, когда «Фильтр» (calendar-toolbar__label) ушёл вверх за экран,
   уезжает обратно при возврате к нему. По клику открывает тот же дровер фильтров.
   ========================================================================== */

.calendar-filter-fab
{
    display: none;
}

@media (max-width: 1025px)
{
    .calendar-filter-fab
    {
        position: fixed;
        z-index: 125;
        top: 50%;
        top: 50svh;
        right: 14px;

        display: flex;

        width: 56px;
        height: 56px;
        padding: 0;

        cursor: pointer;
        transition: transform .3s cubic-bezier(.4, 0, .6, 1);
        transform: translate(calc(100% + 14px), -50%);

        color: #fff;
        border: none;
        border-radius: 50%;
        background-color: #0f7bff;
        box-shadow: 0 4px 4px rgba(0, 0, 0, .25);

        align-items: center;
        justify-content: center;
    }

    .calendar-filter-fab.is-visible
    {
        transform: translate(0, -50%);
    }
}

.calendar-filter-fab__icon
{
    display: block;

    width: 24px;
    height: 24px;
}

/* Карточка события «Календаря» (calendar-cart-altern, Figma 676:10074).
   Вся карточка — ссылка на страницу мероприятия.
   Ховер (690:2789 Variant2): карточка приподнимается на 5px, кружок календаря
   заливается синим, иконка белеет.
   ========================================================================== */

.calendar-card
{
    position: relative;

    display: flex;
    flex-direction: column;

    padding: 14px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    border-radius: 6px 6px 24px 6px;
    background: #fff;
}

@media (hover: hover)
{
    .calendar-card:hover,
    .calendar-card:focus-within
    {
        transform: translateY(-5px);
    }

    .calendar-card:hover .calendar-card__cal-btn,
    .calendar-card:focus-within .calendar-card__cal-btn
    {
        color: #fff;
        background: #0f7bff;
    }
}

.calendar-card__link
{
    text-decoration: none;
}

.calendar-card__link::after
{
    position: absolute;
    z-index: 1;

    content: '';

    inset: 0;
}

.calendar-card__link:focus-visible
{
    outline: none;
}

.calendar-card__top
{
    display: flex;

    justify-content: flex-end;
}

.calendar-card__cal-btn
{
    display: flex;

    width: 28px;
    height: 28px;

    transition: background-color .3s cubic-bezier(.4, 0, .6, 1), color .3s cubic-bezier(.4, 0, .6, 1);

    color: #0f7bff;
    border-radius: 100px;
    background: #ecf3fb;

    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.calendar-card__cal-icon
{
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;
}

.calendar-card__head
{
    display: flex;
    flex-direction: column;

    margin-top: auto;
    padding-bottom: 18px;

    gap: 14px;
}

.calendar-card__logo
{
    width: 60px;
    height: 60px;

    -o-object-fit: contain;
       object-fit: contain;
}

.calendar-card__title
{
    font: 400 1rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #000;
}

.calendar-card__progress
{
    position: relative;

    height: 19px;
}

.calendar-card__track,
.calendar-card__fill
{
    position: absolute;
    top: 0;
    left: 0;

    height: 3px;

    border-radius: 2px;
}

.calendar-card__track
{
    width: 100%;

    background: #d9d9d9;
}

.calendar-card__fill
{
    width: var(--progress, 0%);
    max-width: 100%;

    background: #0f7bff;
}

.calendar-card__date-start,
.calendar-card__date-end
{
    font: 400 .75rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: absolute;
    bottom: 0;
}

.calendar-card__date-start
{
    left: 0;

    color: #0f7bff;
}

.calendar-card__date-end
{
    right: 0;

    color: #6a6c73;
}

.calendar-card__parent
{
    font: 400 .875rem/1.25rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: relative;
    z-index: 2;

    display: block;

    padding-top: 16px;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #001e62;
}

@media (hover: hover)
{
    .calendar-card__parent:hover,
    .calendar-card__parent:focus-visible
    {
        color: #0f7bff;
        outline: none;
    }
}

.calendar-card__footer
{
    display: flex;

    padding-top: 16px;

    align-items: center;
    gap: 8px;
}

.calendar-card__pin
{
    width: 14px;
    height: 14px;

    color: #7a7a7a;

    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
}

.calendar-card__place
{
    font: 400 .875rem/1.25rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    min-width: 0;

    color: #7a7a7a;

    flex: 1 1 auto;
}

.calendar-card__sport
{
    margin-left: 8px;

    flex-shrink: 0;
}

@media (max-width: 1025px)
{
    .calendar-card__cal-btn
    {
        color: #fff;
        background: #0f7bff;
    }
}

/* Помесячная секция «Календаря»: заголовок месяца + дивайдер + сетка карточек.
   Первый месяц (Январь) использует тулбар как заголовок; остальные — этот блок.
   Figma 676:10069.
   ========================================================================== */

.calendar-month
{
    margin-top: 50px;
}

.calendar-month__header
{
    margin-bottom: 32px;
}

.calendar-month__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 14px;

    color: #000;
}

.calendar-month__year
{
    color: #cfd0cf;
}

.calendar-month__divider
{
    height: 1px;

    background: #001e62;
}

@media (max-width: 1025px)
{
    .calendar-month
    {
        margin-top: 32px;
    }

    .calendar-month__header
    {
        margin-bottom: 14px;
    }

    .calendar-month__title
    {
        font-size: 1.25rem;

        margin: 0;

        text-align: center;
    }

    .calendar-month__divider
    {
        display: none;
    }
}

/* Инлайн date-range picker «Календаря» (макет 676:10055).
   Раскрывается под «Выбрать период», два месяца столбиком, сдвигая «Показать».
   Собирается в main.js.
   ========================================================================== */

.calendar-datepicker
{
    display: none;
    flex-direction: column;

    gap: 20px;
}

.calendar-datepicker--open
{
    display: flex;
}

.calendar-datepicker__month-head
{
    position: relative;

    display: flex;

    margin-bottom: 12px;

    align-items: center;
    justify-content: center;
}

.calendar-datepicker__month-title
{
    font: 500 .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: inline-flex;

    padding: 0;

    cursor: pointer;

    color: #0f7bff;
    border: none;
    background: none;

    align-items: center;
    gap: 6px;
}

.calendar-datepicker__caret
{
    width: 8px;
    height: 8px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
    transform: translateY(-2px) rotate(45deg);

    border-right: 1.5px solid #0f7bff;
    border-bottom: 1.5px solid #0f7bff;
}

.calendar-datepicker__month-head--open .calendar-datepicker__caret
{
    transform: translateY(1px) rotate(225deg);
}

.calendar-datepicker__month-menu
{
    position: absolute;
    z-index: 60;
    top: calc(100% + 6px);
    left: 50%;

    display: none;
    overflow-y: auto;

    width: 160px;
    max-height: 220px;
    padding: 6px;

    transform: translateX(-50%);

    border: 1px solid #cfd0cf;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(0, 30, 98, .12);
}

.calendar-datepicker__month-head--open .calendar-datepicker__month-menu
{
    display: block;
}

.calendar-datepicker__month-opt
{
    font: .8125rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: block;

    width: 100%;
    padding: 8px 12px;

    cursor: pointer;
    transition: background-color .3s cubic-bezier(.4, 0, .6, 1);
    text-align: left;

    color: #000;
    border: none;
    border-radius: 6px;
    background: none;
}

.calendar-datepicker__month-opt:hover
{
    background: #ecf3fb;
}

.calendar-datepicker__month-opt--active
{
    font-weight: 500;

    color: #0f7bff;
}

.calendar-datepicker__weekdays
{
    display: grid;

    margin-bottom: 6px;

    grid-template-columns: repeat(7, 1fr);
}

.calendar-datepicker__weekdays span
{
    font: .6875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    text-align: center;

    color: #6a6c73;
}

.calendar-datepicker__weekend
{
    color: #ef6b78;
}

.calendar-datepicker__grid
{
    display: grid;

    grid-template-columns: repeat(7, 1fr);
}

.calendar-datepicker__day
{
    font: .8125rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    height: 34px;

    cursor: pointer;

    color: #000;
    border: none;
    background: none;

    align-items: center;
    justify-content: center;
}

.calendar-datepicker__day--empty
{
    visibility: hidden;
}

.calendar-datepicker__day--disabled
{
    cursor: default;

    color: #cfd0cf;
}

.calendar-datepicker__day--in-range
{
    background: #ecf3fb;
}

.calendar-datepicker__day--start,
.calendar-datepicker__day--end
{
    color: #fff;
    border-radius: 6px;
    background: #0f7bff;
}

.calendar-filters__period--active
{
    color: #000;
    border-color: #0f7bff;
}

.calendar-filters__period--open .calendar-filters__period-arrow
{
    transform: rotate(180deg);
}

/* Страница «Документация» — тулбар + двухколоночник (Figma 596:10627)
   ========================================================================== */

.has-docs-filters
{
    overflow: hidden;
}

.docs-section
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .docs-section
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .docs-section
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.docs-section
{
    padding-top: 100px;
    padding-bottom: 160px;
}

.docs-section__toolbar
{
    display: grid;

    margin-bottom: 14px;

    grid-template-columns: 319px 1fr;
    gap: 30px;
    align-items: center;
}

.docs-section__filter-label
{
    font: 500 .6875rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    letter-spacing: .066em;
    text-transform: uppercase;

    color: #001e62;
}

.docs-section__bar
{
    display: flex;

    align-items: center;
    gap: 24px;
}

.docs-section__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;
    margin-right: auto;

    color: #000;
}

.docs-section__title span
{
    color: #cfd0cf;
}

.docs-section__total
{
    font: 500 .6875rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    white-space: nowrap;
    letter-spacing: .066em;
    text-transform: uppercase;

    color: #001e62;
}

.docs-section__views
{
    display: flex;

    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}

.docs-section__view
{
    display: flex;

    padding: 7px;

    cursor: pointer;
    transition: background-color .3s cubic-bezier(.4, 0, .6, 1), color .3s cubic-bezier(.4, 0, .6, 1);

    color: #001e62;
    border: none;
    border-radius: 3px;
    background: #fff;

    align-items: center;
    justify-content: center;
}

.docs-section__view svg
{
    display: block;

    width: 12px;
    height: 12px;

    fill: currentColor;
}

.docs-section__view--active
{
    cursor: default;

    color: #fff;
    background: #001e62;
}

.docs-section__divider
{
    height: 1px;
    margin-bottom: 30px;

    background: #001e62;
}

.docs-section__body
{
    display: grid;

    grid-template-columns: 319px 1fr;
    gap: 30px;
    align-items: start;
}

.docs-section__sidebar
{
    align-self: stretch;
}

.docs-section__filters-overlay
{
    display: none;
}

.docs-section__sticky
{
    position: sticky;
    top: 100px;

    display: flex;
    flex-direction: column;

    gap: 10px;
}

.docs-section__content
{
    min-width: 0;
}

.docs-section__list
{
    display: flex;
    flex-direction: column;

    gap: 14px;
}

.docs-section__list--grid
{
    display: grid;

    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.docs-section__more
{
    display: flex;

    margin-top: 50px;

    justify-content: center;
}

.docs-section__more-btn
{
    font: 400 1rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;
    flex-direction: column;

    width: 100%;
    padding: 0;

    cursor: pointer;
    transition: color .3s cubic-bezier(.4, 0, .6, 1);

    color: #0f7bff;
    border: none;
    background: none;

    align-items: center;
    gap: 18px;
}

.docs-section__more-btn::before
{
    display: block;

    width: 514px;
    height: 1px;

    content: '';
    transition: width .3s cubic-bezier(.4, 0, .6, 1), background-color .3s cubic-bezier(.4, 0, .6, 1);

    background: #0f7bff;
}

.docs-section__more-btn:hover,
.docs-section__more-btn:focus-visible
{
    color: #001e62;
    outline: none;
}

.docs-section__more-btn:hover::before,
.docs-section__more-btn:focus-visible::before
{
    width: 100%;

    background: #001e62;
}

@media (max-width: 1025px)
{
    .docs-section
    {
        padding-top: 34px;
        padding-bottom: 50px;
    }

    .docs-section__toolbar
    {
        display: flex;

        margin-bottom: 8px;

        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }

    .docs-section__bar
    {
        order: 1;
    }

    .docs-section__title
    {
        font-size: 1.25rem;
    }

    .docs-section__filter-label
    {
        cursor: pointer;

        order: 2;
    }

    .docs-section__total,
    .docs-section__views
    {
        display: none;
    }

    .docs-section__divider
    {
        margin-bottom: 14px;
    }

    .docs-section__body
    {
        display: block;
    }

    .docs-section__list,
    .docs-section__list--grid
    {
        display: flex;
        flex-direction: column;

        gap: 14px;
    }

    .docs-section__more
    {
        margin-top: 14px;
    }

    .docs-section__more-btn::before
    {
        width: 100%;
    }

    .docs-section__sidebar
    {
        position: fixed;
        z-index: 140;

        display: block;
        visibility: hidden;

        transition: visibility .3s;

        inset: 0;
    }

    .docs-section__sidebar--open
    {
        visibility: visible;
    }

    .docs-section__filters-overlay
    {
        position: absolute;

        display: block;

        padding: 0;

        cursor: pointer;
        transition: opacity .3s cubic-bezier(.4, 0, .6, 1);

        opacity: 0;
        border: none;
        background: rgba(0, 0, 0, .4);

        inset: 0;
    }

    .docs-section__sidebar--open .docs-section__filters-overlay
    {
        opacity: 1;
    }

    .docs-section__sticky
    {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;

        overflow-y: auto;

        width: 325px;
        max-width: 100%;
        max-height: none;
        padding: 24px;

        transition: transform .3s cubic-bezier(.4, 0, .6, 1);
        transform: translateX(100%);

        background: #fff;

        gap: 32px;
    }

    .docs-section__sidebar--open .docs-section__sticky
    {
        transform: translateX(0);
    }

    .docs-section__sticky .docs-filters,
    .docs-section__sticky .docs-categories
    {
        padding: 0;

        background: none;
    }
}

/* Карточка «ПАРАМЕТРЫ» — фильтр страницы «Документация» (Figma 596:10802)
   Дропдауны переиспользуют .media-select. Sticky/дровер — на обёртке сайдбара.
   ========================================================================== */

.docs-filters
{
    display: flex;
    flex-direction: column;

    padding: 24px;

    border-radius: 6px;
    background: #fff;

    gap: 32px;
}

.docs-filters__heading
{
    font: 700 .875rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    letter-spacing: .02em;

    color: #0a090e;
}

.docs-filters__fields
{
    display: flex;
    flex-direction: column;

    gap: 16px;
}

.docs-filters__search-wrap
{
    position: relative;

    height: 40px;
}

.docs-filters__search
{
    font: 400 .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    box-sizing: border-box;
    width: 100%;
    height: 40px;
    padding: 10px 40px 10px 14px;

    color: #000;
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    outline: none;
    background: #f8f8f7;
}

.docs-filters__search::-moz-placeholder
{
    color: #6a6c73;
}

.docs-filters__search::placeholder
{
    color: #6a6c73;
}

.docs-filters__search:focus
{
    border-color: #0f7bff;
}

.docs-filters__search::-webkit-search-cancel-button
{
    display: none;
}

.docs-filters__search-icon
{
    position: absolute;
    top: 50%;
    right: 14px;

    display: block;

    width: 14px;
    height: 14px;

    transform: translateY(-50%);
    pointer-events: none;

    fill: none;
    stroke: #6a6c73;
}

.docs-filters__actions
{
    display: flex;
    flex-direction: column;

    padding-top: 8px;
}

.docs-filters__submit
{
    font: 400 .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    height: 46px;

    cursor: pointer;
    transition: background-color .3s cubic-bezier(.4, 0, .6, 1);

    color: #fff;
    border: none;
    border-radius: 6px;
    background: #0f7bff;
}

.docs-filters__submit:hover,
.docs-filters__submit:focus-visible
{
    outline: none;
    background: rgb(0, 103.14, 229.2);
}

.docs-filters__reset
{
    font: 400 .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    height: 46px;

    cursor: pointer;
    transition: color .3s cubic-bezier(.4, 0, .6, 1);

    color: #6a6c73;
    border: none;
    background: none;
}

.docs-filters__reset:hover,
.docs-filters__reset:focus-visible
{
    color: #000;
    outline: none;
}

/* Карточка «Все документы» — категории с аккордеоном (Figma 596:10844)
   ========================================================================== */

.docs-categories
{
    display: flex;
    flex-direction: column;

    padding: 24px;

    border-radius: 6px;
    background: #fff;

    gap: 16px;
}

.docs-categories__heading
{
    font: 700 1.125rem/1.75rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;
}

.docs-categories__group
{
    display: flex;
    flex-direction: column;

    gap: 16px;
}

.docs-categories__toggle
{
    font: 500 .875rem/1.25rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;
    padding: 0;

    cursor: pointer;
    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-align: left;

    color: #000;
    border: none;
    background: none;
}

.docs-categories__toggle:hover,
.docs-categories__toggle:focus-visible
{
    color: #0f7bff;
    outline: none;
}

.docs-categories__sublist
{
    display: flex;
    flex-direction: column;

    margin: 0;
    padding-left: 16px;

    list-style: none;

    gap: 12px;
}

.docs-categories__sublist[hidden]
{
    display: none;
}

.docs-categories__subitem--deep
{
    padding-left: 18px;
}

.docs-categories__sublink
{
    font: 500 .875rem/1.25rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #949494;

    align-items: center;
    gap: 8px;
}

.docs-categories__sublink:hover,
.docs-categories__sublink--active
{
    color: #0f7bff;
}

.docs-categories__arrow
{
    width: 10px;
    height: 10px;

    flex-shrink: 0;
    stroke: currentColor;
    fill: none;
}

.docs-categories__link
{
    font: 500 .875rem/1.25rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #000;
}

.docs-categories__link:hover
{
    color: #0f7bff;
}

/* Карточка документа (строка списка) — клик по карточке скачивает файл
   Figma 596:10790, ховер 596:11243
   ========================================================================== */

.document-card
{
    display: flex;
    overflow: clip;
    flex-direction: column;

    padding: 14px;

    text-decoration: none;

    border-radius: 6px 6px 24px 6px;
    background: #fff;
}

.document-card__top
{
    display: flex;

    padding-bottom: 14px;

    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.document-card__tag
{
    font: 400 .75rem/1rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    padding: 4px 8px;

    letter-spacing: .3px;

    color: #fff;
    border-radius: 0 10px 0 10px;
    background: #001e62;

    flex-shrink: 0;
}

.document-card__date
{
    font: 500 .75rem/1rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    padding: 4px 8px;

    color: #6a6c73;
    border-radius: 6px;
    background: #f8f8f7;

    flex-shrink: 0;
}

.document-card__main
{
    display: flex;

    padding-top: 9px;

    border-top: 1px solid #e8e8e8;

    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.document-card__title
{
    font: 400 1rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    overflow: hidden;

    min-width: 0;
    margin: 0;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    white-space: nowrap;
    text-overflow: ellipsis;

    color: #000;
}

.document-card__format
{
    display: flex;

    flex-shrink: 0;
    align-items: center;
    gap: 8px;
}

.document-card__format-icon
{
    width: 14px;
    height: 14px;

    color: #6a6c73;

    flex-shrink: 0;
    fill: none;
}

.document-card__format-text
{
    font: 400 .875rem/1.25rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #6a6c73;
}

.document-card__download
{
    display: flex;

    width: 28px;
    height: 28px;
    margin-left: 16px;

    transition: background-color .3s cubic-bezier(.4, 0, .6, 1), color .3s cubic-bezier(.4, 0, .6, 1);

    color: #0f7bff;
    border-radius: 50%;
    background: #ecf3fb;

    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}

.document-card__download svg
{
    display: block;

    width: 18px;
    height: 18px;

    fill: none;
}

.document-card:hover .document-card__title
{
    color: #0f7bff;
}

.document-card:hover .document-card__download
{
    color: #fff;
    background: #0f7bff;
}

/* Стек-раскладка: название на своей строке, divider над форматом.
   Десктоп — вид «плиткой»; мобилка — всегда (одна колонка).
   ========================================================================== */

.docs-section__list--grid .document-card
{
    min-height: 185px;
}

.docs-section__list--grid .document-card .document-card__top
{
    padding-bottom: 16px;
}

.docs-section__list--grid .document-card .document-card__main
{
    flex-direction: column;

    padding-top: 0;

    border-top: none;

    flex: 1;
    align-items: stretch;
    gap: 0;
}

.docs-section__list--grid .document-card .document-card__title
{
    padding-bottom: 24px;

    white-space: normal;

    flex: 1;
}

.docs-section__list--grid .document-card .document-card__format
{
    padding-top: 17px;

    border-top: 1px solid #e8e8e8;
}

.docs-section__list--grid .document-card .document-card__format-text
{
    min-width: 0;

    flex: 1 0 0;
}

.docs-section__list--grid .document-card .document-card__download
{
    margin-left: 0;
}

.docs-section__list--grid .document-card .document-card__title
{
    display: -webkit-box;
    overflow: hidden;

    flex: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.docs-section__list--grid .document-card .document-card__format
{
    margin-top: auto;
}

@media (max-width: 1025px)
{
    .document-card .document-card__top
    {
        padding-bottom: 16px;
    }

    .document-card .document-card__main
    {
        flex-direction: column;

        padding-top: 0;

        border-top: none;

        flex: 1;
        align-items: stretch;
        gap: 0;
    }

    .document-card .document-card__title
    {
        padding-bottom: 24px;

        white-space: normal;

        flex: 1;
    }

    .document-card .document-card__format
    {
        padding-top: 17px;

        border-top: 1px solid #e8e8e8;
    }

    .document-card .document-card__format-text
    {
        min-width: 0;

        flex: 1 0 0;
    }

    .document-card .document-card__download
    {
        margin-left: 0;
    }
}

/* Пагинация страницы «Документация» (Figma 596:10750)
   ========================================================================== */

.docs-pagination
{
    display: flex;

    margin-top: 37px;

    gap: 8px;
    align-items: center;
    justify-content: center;
}

.docs-pagination__page
{
    font: 700 .875rem/1.25rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    width: 40px;
    height: 40px;

    transition: color .3s cubic-bezier(.4, 0, .6, 1), background-color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #48484a;
    border-radius: 24px;

    align-items: center;
    justify-content: center;
}

.docs-pagination__page:hover
{
    color: #0f7bff;
}

.docs-pagination__page--active
{
    cursor: default;

    color: #fff;
    background: #001e62;
}

.docs-pagination__page--active:hover
{
    color: #fff;
}

.docs-pagination__ellipsis
{
    display: flex;

    width: 40px;
    height: 40px;

    color: #48484a;

    align-items: center;
    justify-content: center;
}

.docs-pagination__ellipsis svg
{
    display: block;

    fill: currentColor;
}

.docs-pagination__next
{
    display: flex;

    width: 40px;
    height: 40px;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #001e62;
    border-radius: 24px;
    background: #fff;

    align-items: center;
    justify-content: center;
}

.docs-pagination__next:hover
{
    color: #0f7bff;
}

.docs-pagination__next svg
{
    display: block;

    width: 16px;
    height: 16px;

    fill: none;
}

/* Таблица спортсменов — контент внутри .docs-section (Figma 804:6291)
   ========================================================================== */

.athletes-table__scroll
{
    overflow-x: visible;
}

.athletes-table__table
{
    font-family: 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    width: 100%;

    table-layout: fixed;
    border-collapse: collapse;
}

.athletes-table__head th
{
    font-size: .75rem;
    font-weight: 400;
    line-height: 1.0625rem;

    padding: 12px 20px;

    text-align: left;

    color: #64748b;
    background: #fafbfc;
}

.athletes-table__head th:first-child
{
    border-top-left-radius: 6px;
}

.athletes-table__head th:last-child
{
    border-top-right-radius: 6px;
}

.athletes-table__th--region
{
    width: 21%;
}

.athletes-table__th--rank
{
    width: 12%;
}

.athletes-table__th--gender
{
    width: 10%;
}

.athletes-table__th--date
{
    width: 12%;
}

.athletes-table__th--category
{
    width: 24%;
}

.athletes-table__th--sport
{
    width: 10%;

    word-break: keep-all;
}

.athletes-table__row
{
    border-top: 1px solid #e2e8f0;
    background: #fff;
}

.athletes-table__cell
{
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.25rem;

    height: 64px;
    padding: 0 20px;

    vertical-align: middle;

    color: #6a6c73;
}

.athletes-table__cell--region,
.athletes-table__cell--rank
{
    font-size: .75rem;
    line-height: 1.0625rem;
}

.athletes-table__cell--gender,
.athletes-table__cell--date
{
    white-space: nowrap;
}

.athletes-table__athlete
{
    display: flex;

    align-items: center;
    gap: 12px;
}

.athletes-table__avatar
{
    display: block;
    overflow: hidden;

    width: 32px;
    height: 32px;

    border-radius: 50%;

    flex-shrink: 0;
}

.athletes-table__avatar img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.athletes-table__name
{
    font-size: .875rem;
    font-weight: 700;
    line-height: 1.25rem;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #001e62;
}

.athletes-table__name:hover,
.athletes-table__name:focus-visible
{
    color: #0f7bff;
}

.athletes-table__cell--sport
{
    text-align: center;
}

.athletes-table__picto
{
    display: inline-block;

    width: 28px;
    height: 28px;

    vertical-align: middle;
}

@media (max-width: 1025px)
{
    .athletes-table__scroll
    {
        overflow-x: auto;
    }

    .athletes-table__table
    {
        min-width: 900px;
    }
}

/* Плитка спортсменов (Figma 804:6060 / карточка 804:6062, ховер 845:10204)
   ========================================================================== */

.athletes-grid
{
    display: grid;

    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.athletes-grid[hidden]
{
    display: none;
}

@media (max-width: 1025px)
{
    .athletes-grid
    {
        grid-template-columns: 1fr;
        gap: 14px;
    }
}

.athlete-card
{
    display: flex;
    flex-direction: column;

    padding: 24px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: inherit;
    border-radius: 6px 6px 24px 6px;
    background: #fff;

    gap: 16px;
}

.athlete-card:hover,
.athlete-card:focus-visible
{
    transform: translateY(-5px);

    outline: none;
}

.athlete-card__header
{
    display: grid;

    grid-template-columns: 98px 1fr;
    grid-template-rows: auto 1fr;
    grid-template-areas: 'avatar pictos' 'avatar name';
    -moz-column-gap: 8px;
         column-gap: 8px;
}

.athlete-card__avatar
{
    display: block;
    overflow: hidden;

    width: 98px;
    height: 98px;

    border-radius: 24px 6px 24px 6px;

    grid-area: avatar;
}

.athlete-card__avatar img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top;
       object-position: top;
}

.athlete-card__pictos
{
    display: flex;

    grid-area: pictos;
    justify-self: end;
    gap: 8px;
}

.athlete-card__picto
{
    display: block;

    width: 28px;
    height: 28px;
}

.athlete-card__name
{
    font: 500 1.25rem/1.2 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    text-align: right;

    color: #000;

    grid-area: name;
    justify-self: end;
    align-self: end;
}

.athlete-card__divider
{
    width: 100%;
    height: 1px;

    background: #cfd0cf;
}

.athlete-card__stats
{
    display: flex;
    flex-direction: column;

    margin: 0;

    gap: 12px;
}

.athlete-card__stat
{
    display: flex;

    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.athlete-card__label
{
    font: 400 .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    white-space: nowrap;

    color: #64748b;

    flex-shrink: 0;
}

.athlete-card__value
{
    font: 400 1rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    min-width: 0;
    margin: 0;

    text-align: right;

    color: #000;
}

@media (max-width: 600px)
{
    .athlete-card__header
    {
        grid-template-columns: auto 1fr;
        grid-template-rows: auto auto;
        grid-template-areas: 'avatar pictos' 'name name';
        row-gap: 12px;
        align-items: start;
    }

    .athlete-card__pictos
    {
        align-self: start;
    }

    .athlete-card__name
    {
        text-align: left;

        justify-self: start;
    }
}

/* Таблица рейтинга — контент внутри .docs-section (страница sport-ratings,
   Figma 1014:13310). На основе athletes-table.
   Колонки: Место · Спортсмен · Регион · Дата рождения · Баллы.
   ========================================================================== */

.ratings-table__scroll
{
    overflow-x: visible;
}

.ratings-table__table
{
    font-family: 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    width: 100%;

    table-layout: fixed;
    border-collapse: collapse;
}

.ratings-table__head th,
.ratings-table__cell
{
    word-break: keep-all;
    hyphens: none;

    overflow-wrap: normal;
}

.ratings-table__head th
{
    font-size: .75rem;
    font-weight: 400;
    line-height: 1.0625rem;

    padding: 12px 20px;

    text-align: left;

    color: #64748b;
    background: #fafbfc;
}

.ratings-table__head th:first-child
{
    border-top-left-radius: 6px;
}

.ratings-table__head th:last-child
{
    border-top-right-radius: 6px;
}

.ratings-table__th--place
{
    width: 80px;
}

.ratings-table__th--place,
.ratings-table__cell--place
{
    padding-right: 12px;
    padding-left: 12px;
}

.ratings-table__th--region
{
    width: 24%;
}

.ratings-table__th--date
{
    width: 16%;
}

.ratings-table__th--points
{
    width: 8%;
}

.ratings-table__row
{
    border-top: 1px solid #e2e8f0;
    background: #fff;
}

.ratings-table__cell
{
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.25rem;

    height: 64px;
    padding: 0 20px;

    vertical-align: middle;

    color: #6a6c73;
}

.ratings-table__cell--region
{
    font-size: .75rem;
    line-height: 1.0625rem;
}

.ratings-table__cell--date,
.ratings-table__cell--points
{
    white-space: nowrap;
}

.ratings-table__place
{
    font-size: .625rem;
    font-weight: 700;
    line-height: 1;

    display: inline-flex;

    width: 24px;
    height: 24px;

    border: 1px solid transparent;
    border-radius: 50%;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);

    align-items: center;
    justify-content: center;
}

.ratings-table__place--gold
{
    color: #e17100;
    border-color: #fee685;
    background: #fef3c6;
}

.ratings-table__place--silver
{
    color: #62748e;
    border-color: #e2e8f0;
    background: #f1f5f9;
}

.ratings-table__place--bronze
{
    color: #ca3500;
    border-color: #ffd6a7;
    background: #fff7ed;
}

.ratings-table__athlete
{
    display: flex;

    align-items: center;
    gap: 12px;
}

.ratings-table__avatar
{
    display: block;
    overflow: hidden;

    width: 32px;
    height: 32px;

    border-radius: 50%;

    flex-shrink: 0;
}

.ratings-table__avatar img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.ratings-table__name
{
    font-size: .875rem;
    font-weight: 700;
    line-height: 1.25rem;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #001e62;
}

.ratings-table__name:hover,
.ratings-table__name:focus-visible
{
    color: #0f7bff;
}

@media (max-width: 1025px)
{
    .ratings-table__scroll
    {
        overflow-x: auto;
    }

    .ratings-table__table
    {
        min-width: 760px;
    }
}

/* Просмотр фото (оверлей при клике на фото в галерее)
   ========================================================================== */

.pop-image
{
    position: fixed;
    z-index: 200;

    display: flex;

    transition: opacity 300ms linear(0, .034, .118, .229, .352, .473, .587, .687, .773, .845, .901, .944, .977, .999, 1.014, 1.023, 1.027, 1.028, 1.027, 1.025, 1.022, 1.018, 1.015, 1.012, 1.009, 1.006, 1.004, 1.003, 1.002, 1.001, 1);
    pointer-events: none;

    opacity: 0;
    background: rgba(0, 0, 0, .85);

    inset: 0;
    align-items: center;
    justify-content: center;
}

.pop-image__wrap
{
    display: flex;

    width: 100%;
    padding: 0 24px;

    transition: transform 300ms linear(0, .034, .118, .229, .352, .473, .587, .687, .773, .845, .901, .944, .977, .999, 1.014, 1.023, 1.027, 1.028, 1.027, 1.025, 1.022, 1.018, 1.015, 1.012, 1.009, 1.006, 1.004, 1.003, 1.002, 1.001, 1);
    transform: translateY(60px);

    align-items: center;
    gap: 60px;
}

.pop-image__slider
{
    position: relative;

    overflow: hidden;

    min-width: 0;

    flex: 1;
}

.pop-image__slider .swiper-wrapper
{
    display: flex;

    transition-property: transform;

    align-items: center;
}

.pop-image__slide
{
    display: flex;

    height: auto;

    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}

.pop-image__inner
{
    position: relative;

    max-width: 100%;
}

.pop-image__img
{
    display: block;

    max-width: 100%;
    max-height: 90vh;

    border-radius: 6px;

    -o-object-fit: contain;
       object-fit: contain;
}

.pop-image__save
{
    font: 700 .875rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: absolute;
    right: 16px;
    bottom: 20px;

    display: flex;

    height: 44px;
    padding: 0 15px;

    cursor: pointer;
    transition: background-color .3s cubic-bezier(.4, 0, .6, 1);

    color: #fff;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 3px;
    background: rgba(255, 255, 255, .2);

    align-items: center;
    gap: 8px;
}

.pop-image__save svg
{
    display: block;

    flex-shrink: 0;
    fill: none;
}

.pop-image__save:hover,
.pop-image__save:focus-visible
{
    outline: none;
    background: rgba(255, 255, 255, .35);
}

.pop-image__arrow
{
    display: flex;

    width: 33px;
    height: 62px;
    padding: 0;

    cursor: pointer;
    transition: opacity .3s cubic-bezier(.4, 0, .6, 1);

    opacity: .7;
    border: none;
    background: none;

    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}

.pop-image__arrow svg
{
    display: block;

    fill: none;
}

.pop-image__arrow:hover,
.pop-image__arrow:focus-visible
{
    opacity: 1;
    outline: none;
}

.pop-image--open
{
    pointer-events: all;

    opacity: 1;
}

.pop-image--open .pop-image__wrap
{
    transform: translateY(0);
}

@media (max-width: 1025px)
{
    .pop-image__arrow
    {
        display: none;
    }

    .pop-image__wrap
    {
        padding: 0;

        gap: 0;
    }

    .pop-image__slide
    {
        width: calc(100vw - 41px);
    }

    .pop-image__inner
    {
        width: 100%;
    }

    .pop-image__img
    {
        width: 100%;
    }

    .pop-image__save
    {
        right: 10px;
        bottom: 10px;

        height: 36px;
        padding: 9px;
    }

    .pop-image__save span
    {
        display: none;
    }
}

/* Субнавигация в баннере события (event-info)
   Инверсная схема обычной .subnav: прозрачный бар на синем баннере,
   верхняя граница-хайрлайн, активный пункт — белая пилюля с чёрным текстом,
   неактивные — белый текст. Figma 714:17495 (menu2).
   ========================================================================== */

.event-subnav
{
    display: flex;

    padding: 13px 12px;

    border-top: 1px solid rgba(255, 255, 255, .8);

    align-items: center;
    justify-content: center;
    gap: 28px;
}

.event-subnav__item
{
    font: 500 .75rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    padding: 5px 12px 4px;

    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
    letter-spacing: .04em;
    text-transform: uppercase;

    color: #fff;
    border-radius: 100px;

    align-items: center;
}

.event-subnav__item:hover,
.event-subnav__item:focus-visible
{
    outline: none;
}

.event-subnav__item:hover .event-subnav__text span,
.event-subnav__item:focus-visible .event-subnav__text span
{
    transform: translateY(-100%);
}

.event-subnav__item--active
{
    color: #000;
    background: #fff;
}

.event-subnav__text
{
    display: flex;
    overflow: hidden;
    flex-direction: column;

    height: 15px;
}

.event-subnav__text span
{
    line-height: 15px;

    height: 15px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);

    flex-shrink: 0;
}

/* Карточка события — «Общая информация»
   Слева белая карточка (лого + бейдж + название + файлы), справа таблица фактов.
   Figma 714:17505 / шапка-строка 714:17570.
   ========================================================================== */

.event-info
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .event-info
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .event-info
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.event-info
{
    padding-top: 100px;
    padding-bottom: 160px;
}

.event-info__head
{
    position: relative;

    display: flex;

    max-width: 1440px;
    margin-right: auto;
    margin-bottom: 14px;
    margin-left: auto;

    align-items: center;
    justify-content: center;
}

.event-info__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;
}

.event-info__broadcast
{
    font: 500 .6875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: absolute;
    right: 0;

    display: flex;

    text-decoration: none;
    letter-spacing: .06em;
    text-transform: uppercase;

    color: #001e62;

    align-items: center;
    gap: 14px;
}

.event-info__broadcast:hover,
.event-info__broadcast:focus-visible
{
    outline: none;
}

.event-info__broadcast:hover .event-info__broadcast-text,
.event-info__broadcast:focus-visible .event-info__broadcast-text
{
    transform: translateX(-5px);
}

.event-info__broadcast-text
{
    display: inline-block;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
}

.event-info__broadcast-text--short
{
    display: none;
}

.event-info__broadcast-icon
{
    display: block;

    flex-shrink: 0;
    fill: none;
}

.event-info__divider
{
    max-width: 1440px;
    height: 1px;
    margin-right: auto;
    margin-bottom: 30px;
    margin-left: auto;

    background: #001e62;
}

.event-info__body
{
    display: flex;

    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;

    gap: 24px;
    align-items: flex-start;
}

.event-info__card
{
    display: flex;
    flex-direction: column;

    width: 419px;
    padding: 24px;

    border-radius: 6px;
    background: #fff;

    flex-shrink: 0;
    gap: 16px;
}

.event-info__card-top
{
    position: relative;

    display: flex;

    padding-top: 32px;

    align-items: flex-start;
    justify-content: center;
}

.event-info__logo
{
    width: 193px;
    height: 193px;

    flex-shrink: 0;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center;
       object-position: center;
}

.event-info__badge
{
    font: 500 .9375rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: absolute;
    top: 0;
    right: 0;

    display: inline-flex;

    padding: 6px 8px 4px;

    white-space: nowrap;

    color: #fff;
    border-radius: 6px;
    background: #0f7bff;

    align-items: center;
    gap: 8px;
}

.event-info__badge-icon
{
    flex-shrink: 0;
    fill: none;
}

.event-info__event-title
{
    font: 400 1rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;
    margin-bottom: 16px;

    text-align: center;

    color: #000;
}

.event-info__files
{
    display: flex;
    flex-direction: column;

    margin-top: auto;

    gap: 8px;
}

.event-info__file
{
    font: 400 1rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    height: 52px;
    padding: 16px 0;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #001e62;
    border-bottom: 1px solid #001e62;

    align-items: center;
    gap: 12px;
}

.event-info__file:hover,
.event-info__file:focus-visible
{
    color: #0f7bff;
    outline: none;
}

.event-info__file-name
{
    min-width: 0;

    flex: 1 0 0;
}

.event-info__file-icon
{
    color: #0f7bff;

    flex-shrink: 0;
    fill: none;
}

.event-info__parent
{
    font: 400 1rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    height: 52px;
    padding: 16px 0;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #001e62;
    border-bottom: 1px solid #001e62;

    align-items: center;
    gap: 12px;
}

.event-info__parent:hover,
.event-info__parent:focus-visible
{
    color: #0f7bff;
    outline: none;
}

.event-info__parent:hover .event-info__parent-name,
.event-info__parent:focus-visible .event-info__parent-name
{
    transform: translateX(5px);
}

.event-info__parent-name
{
    display: inline-block;

    min-width: 0;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);

    flex: 1 0 0;
}

.event-info__parent-icon
{
    color: #0f7bff;

    flex-shrink: 0;
    fill: none;
}

.event-info__table
{
    display: flex;
    flex-direction: column;

    min-width: 0;

    flex: 1 1 0;
    gap: 14px;
}

.event-info__row
{
    display: flex;

    padding: 20px 24px;

    border-radius: 6px;
    background: #fff;

    align-items: center;
}

.event-info__row--address
{
    align-items: flex-start;
}

.event-info__row-label
{
    font: 400 1rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    width: 195px;

    color: #6a6c73;

    flex-shrink: 0;
}

.event-info__row-value
{
    font: 400 1rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    min-width: 0;

    color: #000;

    flex: 1 1 0;
}

.event-info__row-text
{
    font: 400 1rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    min-width: 0;

    color: #000;

    flex: 1 1 0;
}

.event-info__address
{
    display: flex;
    flex-direction: column;

    align-items: flex-start;
    gap: 12px;
}

.event-info__map
{
    font-size: .875rem;

    display: inline-flex;

    text-decoration: none;

    color: #0f7bff;

    align-items: center;
    gap: 8px;
}

.event-info__map:hover,
.event-info__map:focus-visible
{
    text-decoration: underline;

    outline: none;
}

.event-info__map-icon
{
    flex-shrink: 0;
    fill: none;
}

@media (max-width: 1025px)
{
    .event-info
    {
        padding-top: 24px;
        padding-bottom: 70px;
    }

    .event-info__head
    {
        margin-bottom: 14px;

        justify-content: space-between;
    }

    .event-info__title
    {
        font-size: 1rem;
    }

    .event-info__broadcast
    {
        position: static;
    }

    .event-info__broadcast-text--full
    {
        display: none;
    }

    .event-info__broadcast-text--short
    {
        display: inline-block;
    }

    .event-info__divider
    {
        display: none;
    }

    .event-info__body
    {
        flex-direction: column;

        gap: 14px;
        align-items: stretch;
    }

    .event-info__card
    {
        width: 100%;
    }

    .event-info__table
    {
        border-radius: 6px;
        background-color: #fff;

        gap: 0;
    }

    .event-info__row
    {
        padding: 14px;

        border-radius: 0;

        align-items: flex-start;
        gap: 24px;
    }

    .event-info__row:not(:first-child)
    {
        border-top: 1px solid #cfd0cf;
    }

    .event-info__row:first-child
    {
        border-radius: 6px 6px 0 0;
    }

    .event-info__row:last-child
    {
        border-radius: 0 0 6px 6px;
    }

    .event-info__row-label
    {
        width: auto;

        white-space: nowrap;
    }

    .event-info__row-value
    {
        text-align: right;
    }

    .event-info__address
    {
        text-align: right;

        align-items: flex-end;
    }
}

/* Расписание события (страница event-schedule) — Figma 953:6704 / моб 953:9121
   Шапка секции (как event-info) + группы по дням с таблицей заплывов.
   ========================================================================== */

.event-schedule
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .event-schedule
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .event-schedule
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.event-schedule
{
    padding-top: 100px;
    padding-bottom: 160px;
}

.event-schedule__head
{
    position: relative;

    display: flex;

    max-width: 1440px;
    margin-right: auto;
    margin-bottom: 14px;
    margin-left: auto;

    align-items: center;
    justify-content: center;
}

.event-schedule__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;
}

.event-schedule__broadcast
{
    font: 500 .6875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: absolute;
    right: 0;

    display: flex;

    text-decoration: none;
    letter-spacing: .06em;
    text-transform: uppercase;

    color: #001e62;

    align-items: center;
    gap: 14px;
}

.event-schedule__broadcast:hover,
.event-schedule__broadcast:focus-visible
{
    outline: none;
}

.event-schedule__broadcast:hover .event-schedule__broadcast-text,
.event-schedule__broadcast:focus-visible .event-schedule__broadcast-text
{
    transform: translateX(-5px);
}

.event-schedule__broadcast-text
{
    display: inline-block;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
}

.event-schedule__broadcast-text--short
{
    display: none;
}

.event-schedule__broadcast-icon
{
    display: block;

    flex-shrink: 0;
    fill: none;
}

.event-schedule__divider
{
    max-width: 1440px;
    height: 1px;
    margin-right: auto;
    margin-bottom: 30px;
    margin-left: auto;

    background: #001e62;
}

.event-schedule__day
{
    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;
}

.event-schedule__day + .event-schedule__day
{
    margin-top: 32px;
}

.event-schedule__day-head
{
    display: flex;

    margin-bottom: 24px;

    align-items: center;
    gap: 10px;
}

.event-schedule__date
{
    font: 500 1.125rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;

    flex: 1 0 auto;
}

.event-schedule__weekday
{
    color: #6a6c73;
}

.event-schedule__tz
{
    font: 400 .875rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    margin: 0;

    color: #000;

    align-items: center;
    gap: 10px;
}

.event-schedule__tz-icon
{
    display: block;

    color: #001e62;

    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
}

.event-schedule__table
{
    display: flex;
    flex-direction: column;

    gap: 14px;
}

.event-schedule__row
{
    position: relative;

    display: flex;

    padding: 20px 24px;

    border-radius: 6px;
    background: #fff;

    align-items: baseline;
    -moz-column-gap: 24px;
         column-gap: 24px;
}

.event-schedule__event
{
    display: flex;

    min-width: 0;

    flex: 1;
    align-items: center;
}

.event-schedule__time
{
    font: 400 1rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    width: 108px;

    color: #6a6c73;

    flex-shrink: 0;
}

.event-schedule__discipline
{
    font: 400 1rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    min-width: 0;

    color: #000;
}

.event-schedule__stage
{
    font: 500 1rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    text-align: center;

    color: #000;

    flex: 0 0 auto;
}

.event-schedule__result
{
    font: 500 .6875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;
    letter-spacing: .06em;
    text-transform: uppercase;

    color: #001e62;

    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
}

.event-schedule__result::after
{
    position: absolute;
    z-index: 1;

    content: '';

    inset: 0;
}

.event-schedule__result:hover,
.event-schedule__result:focus-visible
{
    color: #0f7bff;
    outline: none;
}

.event-schedule__result-icon
{
    display: block;

    flex-shrink: 0;
    fill: none;
}

@media (max-width: 1025px)
{
    .event-schedule
    {
        padding-top: 24px;
        padding-bottom: 70px;
    }

    .event-schedule__head
    {
        margin-bottom: 14px;

        justify-content: space-between;
    }

    .event-schedule__title
    {
        font-size: 1rem;
    }

    .event-schedule__broadcast
    {
        position: static;
    }

    .event-schedule__broadcast-text--full
    {
        display: none;
    }

    .event-schedule__broadcast-text--short
    {
        display: inline-block;
    }

    .event-schedule__divider
    {
        display: none;
    }

    .event-schedule__day + .event-schedule__day
    {
        margin-top: 14px;
    }

    .event-schedule__day-head
    {
        flex-direction: column;

        margin-bottom: 14px;

        align-items: flex-start;
        gap: 10px;
    }

    .event-schedule__tz
    {
        order: -1;
        align-items: flex-start;
    }

    .event-schedule__row
    {
        flex-direction: column;

        padding: 10px 14px;

        align-items: flex-start;
        gap: 14px;
    }

    .event-schedule__event
    {
        gap: 8px;
    }

    .event-schedule__time
    {
        width: auto;
    }

    .event-schedule__stage
    {
        text-align: left;

        flex: none;
    }

    .event-schedule__result
    {
        flex: none;
        justify-content: flex-start;
    }
}

/* Результаты события (event-results) — Figma 953:6937
   Двухуровневый аккордеон: вид спорта → дисциплина. Внутри дисциплины —
   вкладки-этапы + таблица результатов (3 типа колонок) + «Показать остальных».
   У каждой строки — раскрытие деталей (отрезки / попытки).
   ========================================================================== */

.event-results
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .event-results
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .event-results
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.event-results
{
    padding-top: 100px;
    padding-bottom: 160px;
}

.event-results__head
{
    position: relative;

    display: flex;

    max-width: 1440px;
    margin-right: auto;
    margin-bottom: 14px;
    margin-left: auto;

    align-items: center;
    justify-content: center;
}

.event-results__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;
}

.event-results__broadcast
{
    font: 500 .6875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: absolute;
    right: 0;

    display: flex;

    text-decoration: none;
    letter-spacing: .06em;
    text-transform: uppercase;

    color: #001e62;

    align-items: center;
    gap: 14px;
}

.event-results__broadcast:hover,
.event-results__broadcast:focus-visible
{
    outline: none;
}

.event-results__broadcast:hover .event-results__broadcast-text,
.event-results__broadcast:focus-visible .event-results__broadcast-text
{
    transform: translateX(-5px);
}

.event-results__broadcast-text
{
    display: inline-block;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
}

.event-results__broadcast-text--short
{
    display: none;
}

@media (max-width: 1025px)
{
    .event-results
    {
        padding-top: 24px;
        padding-bottom: 70px;
    }

    .event-results__head
    {
        justify-content: space-between;
    }

    .event-results__title
    {
        font-size: 1rem;
    }

    .event-results__broadcast
    {
        position: static;
    }

    .event-results__broadcast-text--full
    {
        display: none;
    }

    .event-results__broadcast-text--short
    {
        display: inline-block;
    }

    .event-results__divider
    {
        display: none;
    }
}

.event-results__broadcast-icon
{
    display: block;

    flex-shrink: 0;
    fill: none;
}

.event-results__divider
{
    max-width: 1440px;
    height: 1px;
    margin-right: auto;
    margin-bottom: 30px;
    margin-left: auto;

    background: #001e62;
}

.event-results__accordion
{
    display: flex;
    flex-direction: column;

    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;

    gap: 20px;
}

@media (max-width: 1025px)
{
    .event-results__accordion
    {
        gap: 30px;
    }
}

/* --- Уровень 1: вид спорта --- */

.eres-sport__bar
{
    display: flex;

    width: 100%;
    padding: 16px 20px;

    cursor: pointer;
    text-align: left;

    color: #fff;
    border: none;
    border-radius: 6px 24px 6px 6px;

    align-items: center;
    justify-content: space-between;
}

@media (max-width: 1025px)
{
    .eres-sport__bar
    {
        padding: 9px 14px;

        border-radius: 6px;
    }
}

.eres-sport--swim .eres-sport__bar
{
    background: linear-gradient(92deg, #39bdf5 0%, #0f7bff 100%);
}

.eres-sport--synchro .eres-sport__bar
{
    background: linear-gradient(92deg, #e50361 0%, #7a3fb0 52%, #0f7bff 100%);
}

.eres-sport--diving .eres-sport__bar
{
    background: linear-gradient(92deg, #0bcf9b 0%, #0f7bff 100%);
}

.eres-sport--polo .eres-sport__bar
{
    background: linear-gradient(92deg, #7807fe 0%, #0f7bff 100%);
}

.eres-sport__bar-left
{
    display: flex;

    align-items: center;
    gap: 12px;
}

.eres-sport__bar-icon
{
    display: block;

    width: 28px;
    height: 28px;

    flex-shrink: 0;
}

.eres-sport__bar-title
{
    font: 700 1.0625rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;
}

.eres-sport__bar-chevron
{
    display: block;

    width: 20px;
    height: 20px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);

    flex-shrink: 0;
}

.eres-sport.is-open .eres-sport__bar-chevron
{
    transform: rotate(180deg);
}

.eres-sport__body
{
    display: none;
    flex-direction: column;

    padding-top: 14px;

    gap: 20px;
}

@media (max-width: 1025px)
{
    .eres-sport__body
    {
        gap: 14px;
    }
}

.eres-sport.is-open > .eres-sport__body
{
    display: flex;
}

/* --- Уровень 2: дисциплина --- */

.eres-discipline
{
    overflow: hidden;

    border-radius: 6px;
    background: #fff;
}

.eres-discipline__header
{
    display: flex;

    width: 100%;
    padding: 16px 20px 17px;

    cursor: pointer;
    text-align: left;

    border: none;
    border-bottom: 1px solid #e2e8f0;
    background: #fafbfc;

    align-items: center;
    justify-content: space-between;
}

@media (max-width: 1025px)
{
    .eres-discipline__header
    {
        padding: 14px 14px 15px;
    }
}

.eres-discipline__header-left
{
    display: flex;

    align-items: center;
    gap: 8px;
}

.eres-discipline__header-icon
{
    display: block;
    display: none;

    width: 16px;
    height: 16px;

    color: #6a6c73;

    flex-shrink: 0;
    fill: none;
}

.eres-discipline__name
{
    font: 400 .9375rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #1c1c1e;
}

@media (max-width: 1025px)
{
    .eres-discipline__name
    {
        line-height: 1.3;
    }
}

.eres-discipline__toggle
{
    position: relative;

    width: 20px;
    height: 20px;

    flex-shrink: 0;
}

.eres-discipline__toggle::before,
.eres-discipline__toggle::after
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 12px;
    height: 2px;

    content: '';
    transition: opacity .3s cubic-bezier(.4, 0, .6, 1);
    transform: translate(-50%, -50%);

    background: #6a6c73;
}

.eres-discipline__toggle::after
{
    transform: translate(-50%, -50%) rotate(90deg);
}

.eres-discipline.is-open .eres-discipline__toggle::after
{
    opacity: 0;
}

.eres-discipline__body
{
    display: none;
}

.eres-discipline.is-open > .eres-discipline__body
{
    display: block;
}

.eres-discipline--empty .eres-discipline__header
{
    border-bottom: none;
}

/* Вкладки-этапов */

.eres-tabs
{
    display: flex;

    padding: 20px 20px 21px;

    border-bottom: 1px solid #e2e8f0;

    flex-wrap: wrap;
    gap: 16px;
}

@media (max-width: 1025px)
{
    .eres-tabs
    {
        overflow-x: auto;

        padding: 14px 14px 15px;

        flex-wrap: nowrap;
    }
}

.eres-tabs__tab
{
    display: flex;
    flex-direction: column;

    padding: 9px 17px;

    cursor: pointer;
    transition: opacity .3s cubic-bezier(.4, 0, .6, 1), border-color .3s cubic-bezier(.4, 0, .6, 1);

    opacity: .6;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;

    align-items: center;
}

.eres-tabs__tab--active
{
    opacity: 1;
    border-color: #0f7bff;
}

@media (max-width: 1025px)
{
    .eres-tabs__tab
    {
        flex-shrink: 0;
    }
}

.eres-tabs__tab-label
{
    font: 400 .625rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    letter-spacing: .05em;
    text-transform: uppercase;

    color: #a1a1aa;
}

.eres-tabs__tab--active .eres-tabs__tab-label
{
    color: #6a6c73;
}

.eres-tabs__tab-date
{
    font: 700 .8125rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin-top: 1px;

    color: #1c1c1e;
}

.eres-tabs__tab-time
{
    font: 400 .75rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin-top: 1px;

    color: #64748b;
}

.eres-tabs__tab--active .eres-tabs__tab-time
{
    color: #6a6c73;
}

/* Таблица результатов */

.eres-panel
{
    display: none;
}

.eres-panel.is-active
{
    display: block;
}

.eres-table-wrap
{
    overflow-x: auto;
}

.eres-footnotes
{
    font: .75rem/1.43 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;
    padding: 12px 20px;

    color: #64748b;
}

.eres-table
{
    width: 100%;
    min-width: 1440px;
}

.eres-table__head
{
    display: flex;

    border-bottom: 1px solid #e2e8f0;
}

.eres-table__hcell
{
    font: 400 .75rem/1.43 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    padding: 12px 20px;

    white-space: normal;
    word-break: normal;
    hyphens: none;

    color: #64748b;

    flex-shrink: 0;
    overflow-wrap: normal;
}

@media (max-width: 1025px)
{
    .eres-table__hcell
    {
        padding: 12px 14px;
    }
}

.eres-table__row
{
    display: flex;

    min-height: 65px;

    border-bottom: 1px solid #e2e8f0;
    background: #fff;

    align-items: center;
}

@media (max-width: 1025px)
{
    .eres-table__row
    {
        min-height: 44px;
    }
}

.eres-table__row--stacked
{
    align-items: flex-start;
}

.eres-table__row--stacked .eres-table__cell
{
    padding-top: 20px;
    padding-bottom: 20px;
}

.eres-table__row--stacked .eres-table__cell:not(.eres-table__cell--name):not(.eres-table__cell--birth):not(.eres-table__cell--toggle)
{
    padding-top: 26px;
}

.eres-table__row--stacked .eres-table__cell--toggle
{
    padding-top: 12px;
}

.eres-table__cell
{
    font: 700 .875rem/1.43 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    padding: 0 20px;

    white-space: nowrap;

    color: #6a6c73;

    flex-shrink: 0;
    align-items: center;
}

@media (max-width: 1025px)
{
    .eres-table__cell
    {
        padding: 0 14px;
    }
}

.eres-table__cell--place,
.eres-table__hcell--place
{
    width: 80px;
}

.eres-table__cell--lane,
.eres-table__hcell--lane
{
    width: 80px;
}

.eres-table__cell--region,
.eres-table__hcell--region
{
    width: 200px;
}

.eres-table--diving .eres-table__cell--region,
.eres-table--diving .eres-table__hcell--region
{
    width: 282px;
}

.eres-table__cell--name,
.eres-table__hcell--name
{
    min-width: 0;

    flex: 1 0 0;
    gap: 12px;
}

.eres-table__cell--rank,
.eres-table__hcell--rank
{
    width: 120px;
}

.eres-table__cell--year,
.eres-table__hcell--year
{
    width: 130px;
}

.eres-table__cell--result,
.eres-table__hcell--result
{
    width: 150px;
}

.eres-table__cell--gap,
.eres-table__hcell--gap
{
    width: 150px;
}

.eres-table__cell--points,
.eres-table__hcell--points
{
    width: 90px;
}

.eres-table__cell--birth,
.eres-table__hcell--birth
{
    width: 130px;
}

.eres-table--diving .eres-table__cell--birth,
.eres-table--diving .eres-table__hcell--birth
{
    width: 146px;
}

.eres-table--team .eres-table__cell--region,
.eres-table--team .eres-table__hcell--region
{
    width: auto;
    min-width: 0;

    flex: 1 0 0;
}

.eres-table--relay .eres-table__cell--region,
.eres-table--relay .eres-table__hcell--region
{
    min-width: 0;

    flex: 0 0 922px;
}

.eres-table__cell--difficulty,
.eres-table__hcell--difficulty
{
    width: 120px;
}

.eres-table__cell--elements,
.eres-table__hcell--elements
{
    width: 100px;
}

.eres-table__cell--impression,
.eres-table__hcell--impression
{
    width: 120px;
}

.eres-table__cell--penalty,
.eres-table__hcell--penalty
{
    width: 100px;
}

.eres-table__cell--score,
.eres-table__hcell--score
{
    width: 100px;
}

.eres-table__cell--toggle,
.eres-table__hcell--toggle
{
    width: 48px;
    padding: 0;

    justify-content: center;
}

.eres-table__cell--match,
.eres-table__hcell--match
{
    width: 80px;
}

.eres-table__cell--matchname,
.eres-table__hcell--matchname
{
    min-width: 0;

    flex: 1 0 0;
}

.eres-table__cell--date,
.eres-table__hcell--date
{
    width: 130px;
}

.eres-table__cell--time,
.eres-table__hcell--time
{
    width: 108px;
}

.eres-table__cell--teams,
.eres-table__hcell--teams
{
    min-width: 0;

    flex: 1 0 0;
}

.eres-table__cell--quarters,
.eres-table__hcell--quarters
{
    width: 176px;
}

.eres-table__cell--quarters
{
    flex-direction: column;

    padding-top: 10px;
    padding-bottom: 10px;

    align-items: flex-start;
    gap: 8px;
}

.eres-table--polo .eres-table__cell--score,
.eres-table--polo .eres-table__hcell--score
{
    width: 120px;
}

.eres-quarters
{
    display: flex;
    flex-direction: column;

    width: 100%;

    gap: 4px;
}

.eres-quarters__head,
.eres-quarters__row
{
    display: grid;

    grid-template-columns: repeat(4, 1fr);
}

.eres-quarters__head span
{
    font-size: .6875rem;
    font-weight: 500;
    line-height: 1.3;

    color: #64748b;
}

.eres-quarters__row span
{
    font-size: .8125rem;
    font-weight: 400;
    line-height: 1.4;

    color: #1c1c1e;
}

.eres-details-link
{
    font: 500 .6875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;
    letter-spacing: .06em;
    text-transform: uppercase;

    color: #001e62;
}

.eres-details-link:hover,
.eres-details-link:focus-visible
{
    color: #0f7bff;
    outline: none;
}

/* Значения ячеек и чипы */

.eres-badge
{
    font: 700 .625rem/1.4 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    width: 24px;
    height: 24px;

    border-radius: 50%;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);

    align-items: center;
    justify-content: center;
}

.eres-badge--gold
{
    color: #e17100;
    border: 1px solid #fee685;
    background: #fef3c6;
}

.eres-badge--silver
{
    color: #62748e;
    border: 1px solid #e2e8f0;
    background: #f1f5f9;
}

.eres-badge--bronze
{
    color: #ca3500;
    border: 1px solid #ffd6a7;
    background: #fff7ed;
}

.eres-region
{
    font: .75rem/1.42 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    padding: 2.5px 10px;

    white-space: nowrap;

    color: #6a6c73;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
}

.eres-athlete
{
    display: flex;

    min-width: 0;

    align-items: center;
    gap: 12px;
}

.eres-athlete__avatar
{
    width: 32px;
    height: 32px;

    border-radius: 50%;

    flex-shrink: 0;
    -o-object-fit: cover;
       object-fit: cover;
}

.eres-athlete__name
{
    font: 700 .875rem/1.43 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    white-space: nowrap;

    color: #001e62;
}

.eres-athletes
{
    display: flex;
    flex-direction: column;

    width: 100%;

    gap: 16px;
}

.eres-births
{
    display: flex;
    flex-direction: column;

    gap: 16px;
}

.eres-births > span
{
    display: flex;

    min-height: 32px;

    align-items: center;
}

.eres-rank
{
    font: 700 .6875rem/1.43 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    min-width: 45px;
    padding: 1px 8px;

    white-space: nowrap;
    text-transform: uppercase;

    color: #0f7bff;
    border-radius: 4px;
    background: rgba(15, 123, 255, .1);

    align-items: center;
    justify-content: center;
}

.eres-result
{
    font: 700 .9375rem/1.43 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #000;
}

.eres-gap
{
    font: 700 .875rem/1.43 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #e50361;
}

.eres-gap--empty
{
    letter-spacing: -2px;

    color: #cfd0cf;
}

.eres-points
{
    font: 700 .875rem/1.43 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #6a6c73;
}

.eres-row-toggle
{
    display: flex;

    width: 48px;
    height: 48px;
    padding: 0;

    cursor: pointer;

    color: #6a6c73;
    border: none;
    background: none;

    align-items: center;
    justify-content: center;
}

.eres-row-toggle svg
{
    display: block;

    width: 20px;
    height: 20px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);

    fill: none;
}

.eres-row-toggle.is-open svg
{
    transform: rotate(180deg);
}

/* Раскрытие деталей строки (отрезки / попытки) */

.eres-detail
{
    display: none;

    border-bottom: 1px solid #e2e8f0;
    background: #fafbfc;
}

.eres-detail.is-open
{
    display: block;
}

.eres-detail__table
{
    width: 100%;
}

.eres-detail__head,
.eres-detail__row
{
    display: flex;
}

.eres-detail__row
{
    border-top: 1px solid #e2e8f0;
}

.eres-detail__hcell
{
    font: .75rem/1.43 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    white-space: normal;
    word-break: normal;
    hyphens: none;

    color: #64748b;

    overflow-wrap: normal;
}

.eres-detail__cell
{
    font: 400 .875rem/1.43 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    white-space: nowrap;

    color: #000;
}

.eres-detail__cell .eres-athlete__name
{
    font-weight: 400;
}

.eres-detail--swim .eres-detail__inner
{
    padding: 0;
}

.eres-detail--swim .eres-detail__head,
.eres-detail--swim .eres-detail__row
{
    align-items: center;
}

.eres-detail--swim .eres-detail__spacer
{
    flex-shrink: 0;
}

.eres-detail--swim .eres-detail__spacer--place
{
    width: 80px;
}

.eres-detail--swim .eres-detail__spacer--region
{
    width: 200px;
}

.eres-detail--swim .eres-detail__spacer--name
{
    min-width: 0;

    flex: 1 0 0;
}

.eres-detail--swim .eres-detail__spacer--rank
{
    width: 120px;
}

.eres-detail--swim .eres-detail__spacer--gap
{
    width: 150px;
}

.eres-detail--swim .eres-detail__spacer--pts
{
    width: 90px;
}

.eres-detail--swim .eres-detail__spacer--tgl
{
    width: 48px;
}

.eres-detail--swim .eres-detail__hcell
{
    padding: 12px 20px;

    flex-shrink: 0;
}

@media (max-width: 1025px)
{
    .eres-detail--swim .eres-detail__hcell
    {
        padding: 12px 14px;
    }
}

.eres-detail--swim .eres-detail__cell
{
    padding: 22px 20px;

    flex-shrink: 0;
}

@media (max-width: 1025px)
{
    .eres-detail--swim .eres-detail__cell
    {
        padding: 22px 14px;
    }
}

.eres-detail--swim .eres-detail__hcell--dist,
.eres-detail--swim .eres-detail__cell--dist
{
    width: 130px;
}

.eres-detail--swim .eres-detail__hcell--split,
.eres-detail--swim .eres-detail__cell--split
{
    width: 150px;
}

.eres-detail--swim .eres-detail__hcell--cum,
.eres-detail--swim .eres-detail__cell--cum
{
    width: 120px;
}

.eres-detail--relay .eres-detail__inner
{
    padding: 0 0 20px;
}

.eres-detail--relay .eres-detail__head,
.eres-detail--relay .eres-detail__row
{
    align-items: center;
}

.eres-detail--relay .eres-detail__hcell
{
    padding: 12px 20px;
}

@media (max-width: 1025px)
{
    .eres-detail--relay .eres-detail__hcell
    {
        padding: 12px 14px;
    }
}

.eres-detail--relay .eres-detail__cell
{
    padding: 16px 20px;
}

@media (max-width: 1025px)
{
    .eres-detail--relay .eres-detail__cell
    {
        padding: 16px 14px;
    }
}

.eres-detail--relay .eres-detail__row--cont
{
    padding-top: 0;

    border-top: none;
}

.eres-detail--relay .eres-detail__row--cont .eres-detail__cell
{
    padding-top: 0;
}

.eres-detail--relay .eres-detail__hcell--name,
.eres-detail--relay .eres-detail__cell--name
{
    min-width: 0;

    flex: 1 0 0;
}

.eres-detail--relay .eres-detail__cell--name
{
    display: flex;

    align-items: center;
    gap: 12px;
}

.eres-detail--relay .eres-detail__cell--name .eres-athlete__avatar
{
    width: 32px;
    height: 32px;

    border-radius: 50%;

    flex-shrink: 0;
    -o-object-fit: cover;
       object-fit: cover;
}

.eres-detail--relay .eres-detail__hcell:nth-child(2),
.eres-detail--relay .eres-detail__cell:nth-child(2)
{
    width: 90px;
}

.eres-detail--relay .eres-detail__hcell:nth-child(3),
.eres-detail--relay .eres-detail__cell:nth-child(3)
{
    width: 130px;
}

.eres-detail--relay .eres-detail__hcell:nth-child(4),
.eres-detail--relay .eres-detail__cell:nth-child(4)
{
    width: 90px;
}

.eres-detail--relay .eres-detail__hcell:nth-child(5),
.eres-detail--relay .eres-detail__cell:nth-child(5)
{
    width: 150px;
}

.eres-detail--relay .eres-detail__hcell:nth-child(6),
.eres-detail--relay .eres-detail__cell:nth-child(6)
{
    width: 150px;
}

.eres-detail--relay .eres-detail__hcell:nth-child(7),
.eres-detail--relay .eres-detail__cell:nth-child(7)
{
    width: 138px;
}

.eres-detail--dive .eres-detail__inner
{
    padding: 0 20px 20px;
}

@media (max-width: 1025px)
{
    .eres-detail--dive .eres-detail__inner
    {
        padding: 0 14px 20px;
    }
}

.eres-detail--dive .eres-detail__head,
.eres-detail--dive .eres-detail__row
{
    padding: 12px 0;

    gap: 8px;
}

.eres-detail--dive .eres-detail__hcell,
.eres-detail--dive .eres-detail__cell
{
    width: 70px;

    flex-shrink: 0;
}

.eres-detail--dive .eres-detail__hcell--wide,
.eres-detail--dive .eres-detail__cell--wide
{
    width: 95px;
}

.eres-detail--dive .eres-detail__hcell--judge,
.eres-detail--dive .eres-detail__cell--judge
{
    width: 40px;
}

.eres-detail--dive .eres-detail__hcell--name,
.eres-detail--dive .eres-detail__cell--name
{
    width: 300px;
}

.eres-detail--dive .eres-detail__cell--name
{
    display: flex;

    align-items: center;
    gap: 12px;
}

.eres-detail--dive .eres-detail__cell--name .eres-athlete__avatar
{
    width: 32px;
    height: 32px;

    border-radius: 50%;

    flex-shrink: 0;
    -o-object-fit: cover;
       object-fit: cover;
}

.eres-detail--dive .eres-detail__cell--name .eres-athlete__name
{
    white-space: nowrap;
}

.eres-detail--roster .eres-detail__inner
{
    padding: 0 20px 20px;
}

@media (max-width: 1025px)
{
    .eres-detail--roster .eres-detail__inner
    {
        padding: 0 14px 20px;
    }
}

.eres-detail--roster .eres-detail__head,
.eres-detail--roster .eres-detail__row
{
    align-items: center;
    gap: 16px;
}

.eres-detail--roster .eres-detail__hcell
{
    padding: 12px 0;
}

.eres-detail--roster .eres-detail__cell
{
    padding: 16px 0;
}

.eres-detail--roster .eres-detail__hcell--rname,
.eres-detail--roster .eres-detail__cell--rname
{
    min-width: 0;

    flex: 1 0 0;
}

.eres-detail--roster .eres-detail__cell--rname
{
    display: flex;

    align-items: center;
    gap: 12px;
}

.eres-detail--roster .eres-detail__cell--rname .eres-athlete__avatar
{
    width: 32px;
    height: 32px;

    border-radius: 50%;

    flex-shrink: 0;
    -o-object-fit: cover;
       object-fit: cover;
}

.eres-detail--roster .eres-detail__cell--rname .eres-athlete__name
{
    white-space: nowrap;
}

.eres-detail--roster .eres-detail__hcell--rbirth,
.eres-detail--roster .eres-detail__cell--rbirth
{
    width: 170px;

    flex-shrink: 0;
}

.eres-detail--polo .eres-detail__inner
{
    display: flex;
    flex-direction: column;

    padding: 20px;

    gap: 24px;
}

@media (max-width: 1025px)
{
    .eres-detail--polo .eres-detail__inner
    {
        padding: 20px 14px;
    }
}

.eres-detail--polo .eres-detail__head,
.eres-detail--polo .eres-detail__row
{
    align-items: center;
    gap: 16px;
}

.eres-detail--polo .eres-detail__hcell,
.eres-detail--polo .eres-detail__cell
{
    padding: 12px 0;
}

.eres-detail--polo .eres-detail__hcell--pnum,
.eres-detail--polo .eres-detail__cell--pnum
{
    width: 56px;

    flex-shrink: 0;
}

.eres-detail--polo .eres-detail__hcell--pname,
.eres-detail--polo .eres-detail__cell--pname
{
    min-width: 0;

    flex: 1 0 0;
}

.eres-detail--polo .eres-detail__cell--pname
{
    display: flex;

    align-items: center;
    gap: 12px;
}

.eres-detail--polo .eres-detail__cell--pname .eres-athlete__avatar
{
    width: 32px;
    height: 32px;

    border-radius: 50%;

    flex-shrink: 0;
    -o-object-fit: cover;
       object-fit: cover;
}

.eres-detail--polo .eres-detail__cell--pname .eres-athlete__name
{
    white-space: nowrap;
}

.eres-detail--polo .eres-detail__hcell--pbirth,
.eres-detail--polo .eres-detail__cell--pbirth
{
    width: 150px;

    flex-shrink: 0;
}

.eres-detail--polo .eres-detail__hcell--ppos,
.eres-detail--polo .eres-detail__cell--ppos
{
    width: 140px;

    flex-shrink: 0;
}

.eres-poloroster__title
{
    font: 500 .9375rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 4px;

    color: #001e62;
}

/* «Показать остальных» */

.eres-more__toggle
{
    font: 400 .875rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    width: 100%;
    padding: 13px 20px;

    cursor: pointer;

    color: #1c1c1e;
    border: none;
    background: #fafbfc;

    align-items: center;
    justify-content: center;
    gap: 12px;
}

.eres-more__toggle .eres-more__label--hide
{
    display: none;
}

.eres-more__toggle-icon
{
    position: relative;

    width: 20px;
    height: 20px;

    flex-shrink: 0;
}

.eres-more__toggle-icon::before,
.eres-more__toggle-icon::after
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 12px;
    height: 2px;

    content: '';
    transform: translate(-50%, -50%);

    background: #0f7bff;
}

.eres-more__toggle-icon::after
{
    transition: opacity .3s cubic-bezier(.4, 0, .6, 1);
    transform: translate(-50%, -50%) rotate(90deg);
}

.eres-more__list
{
    display: none;
    overflow: auto;

    max-height: 470px;
}

.eres-more.is-open .eres-more__list
{
    display: block;
}

.eres-more.is-open .eres-more__toggle .eres-more__label--show
{
    display: none;
}

.eres-more.is-open .eres-more__toggle .eres-more__label--hide
{
    display: inline;
}

.eres-more.is-open .eres-more__toggle-icon::after
{
    opacity: 0;
}

.eres-more__row
{
    font: .875rem/1.43 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;

    min-width: 1392px;
    min-height: 25px;

    white-space: nowrap;

    color: #6a6c73;
    border-bottom: 1px solid #eef1f5;

    align-items: center;
}

.eres-more__cell
{
    display: flex;

    padding: 4px 20px;

    flex-shrink: 0;
    align-items: center;
}

@media (max-width: 1025px)
{
    .eres-more__cell
    {
        padding: 4px 14px;
    }
}

.eres-more__cell.eres-table__cell--name
{
    flex: 0 0 352px;
}

.eres-more--relay .eres-table__cell--region
{
    width: auto;
    min-width: 0;

    flex: 0 0 922px;
}

.eres-more__cell.eres-table__cell--toggle
{
    width: auto;
    min-width: 0;
    padding: 0;

    flex: 1 1 48px;
}

/* Таблица документов события (event-documents) — список строк-ссылок с кнопкой
   скачивания. Внутри event-info__body. Figma 724:5889.
   ========================================================================== */

.event-docs
{
    display: flex;
    flex-direction: column;

    min-width: 0;

    flex: 1 1 0;
    gap: 14px;
}

.event-docs__row
{
    display: grid;

    padding: 20px 24px;

    text-decoration: none;

    color: inherit;
    border-radius: 6px;
    background: #fff;

    grid-template-columns: minmax(0, 640px) minmax(0, 300px) 112px 1fr 36px;
    align-items: center;
    gap: 20px;
}

.event-docs__row:hover,
.event-docs__row:focus-visible
{
    outline: none;
}

.event-docs__row:hover .event-docs__download,
.event-docs__row:focus-visible .event-docs__download
{
    color: #fff;
    background: #0f7bff;
}

.event-docs__title
{
    font: 400 1rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;

    grid-column: 1;
}

.event-docs__section
{
    font: 400 1rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #48484a;

    grid-column: 2;
}

.event-docs__date
{
    font: 400 1rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    white-space: nowrap;

    color: #48484a;

    grid-column: 3;
}

.event-docs__download
{
    display: flex;

    width: 36px;
    height: 36px;

    transition: background-color .3s cubic-bezier(.4, 0, .6, 1), color .3s cubic-bezier(.4, 0, .6, 1);

    color: #0f7bff;
    border: 1px solid #0f7bff;
    border-radius: 100px;

    grid-column: 5;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}

.event-docs__download svg
{
    display: block;

    width: 20px;
    height: 20px;

    fill: none;
}

@media (max-width: 1025px)
{
    .event-docs__row
    {
        padding: 14px;

        grid-template-columns: 1fr auto;
        align-items: start;
        -moz-column-gap: 14px;
             column-gap: 14px;
        row-gap: 6px;
    }

    .event-docs__title
    {
        font-size: .875rem;

        grid-column: 1;
        grid-row: 1;
    }

    .event-docs__section
    {
        font-size: .875rem;

        grid-column: 1;
        grid-row: 2;
    }

    .event-docs__date
    {
        font-size: .875rem;

        grid-column: 1;
        grid-row: 3;
    }

    .event-docs__download
    {
        width: 30px;
        height: 30px;

        grid-column: 2;
        grid-row: 1/span 3;
        align-self: start;
    }
}

/* Памятка антидопинга — sticky-карточка в левой колонке (вместо фильтра).
   Figma 729:4417.
   ========================================================================== */

.memo-card
{
    position: sticky;
    top: 100px;

    display: flex;
    flex-direction: column;

    padding: 24px;

    border-radius: 6px;
    background: #fff;

    gap: 8px;
}

.memo-card__title
{
    font: 700 .875rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    letter-spacing: .03em;
    text-transform: uppercase;

    color: #0a090e;
}

.memo-card__poster
{
    display: block;

    width: 100%;
    height: 368px;

    border-radius: 4px;
    background: #ecf3fb;

    -o-object-fit: cover;
       object-fit: cover;
}

.memo-card__note
{
    display: flex;
    flex-direction: column;

    margin-top: 8px;
    padding: 16px 16px 16px 20px;

    border-left: 4px solid #003384;
    border-radius: 4px;
    background: #ecf3fb;

    gap: 4px;
}

.memo-card__note-label
{
    font: 700 .75rem/1rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #00629d;
}

.memo-card__note-text
{
    font: 500 .875rem/1.125rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #1a1c1e;
}

.memo-card__tips
{
    display: flex;

    gap: 16px;
}

.memo-card__tip
{
    font: .75rem/1rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;
    flex-direction: column;

    min-width: 0;
    padding: 12px;

    color: #1a1c1e;
    border-radius: 4px;

    flex: 1 1 0;
    gap: 8px;
}

.memo-card__tip--drink
{
    background: rgba(255, 218, 214, .3);
}

.memo-card__tip--bad
{
    background: rgba(207, 229, 255, .3);
}

.memo-card__tip-icon
{
    flex-shrink: 0;
}

.memo-card__tip--drink .memo-card__tip-icon
{
    color: #ba1a1a;
}

.memo-card__tip--bad .memo-card__tip-icon
{
    color: #00629d;
}

.memo-card__download
{
    display: flex;

    margin-top: 8px;
    padding: 9.5px 9.5px 9.5px 15.5px;

    transition: border-color .3s cubic-bezier(.4, 0, .6, 1), padding-left .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    border: 1.5px solid rgba(102, 171, 255, .1);
    border-radius: 4px;

    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.memo-card__download-text
{
    font: 500 .875rem/1.5rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #0f7bff;
}

.memo-card__download-icon
{
    width: 32px;
    height: 32px;

    transition: background-color .3s cubic-bezier(.4, 0, .6, 1), color .3s cubic-bezier(.4, 0, .6, 1);

    color: #0f7bff;
    border-radius: 50%;

    flex-shrink: 0;
}

@media (hover: hover)
{
    .memo-card__download:hover
    {
        padding-left: 19.5px;

        border-color: #0f7bff;
    }

    .memo-card__download:hover .memo-card__download-icon
    {
        color: #fff;
        background-color: #0f7bff;
    }
}

@media (max-width: 1025px)
{
    .memo-card
    {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;

        overflow-y: auto;

        width: 325px;
        max-width: 100%;
        max-height: none;

        transition: transform .3s cubic-bezier(.4, 0, .6, 1);
        transform: translateX(100%);

        border-radius: 0;
    }

    .antidoping-section__sidebar--open .memo-card
    {
        transform: translateX(0);
    }
}

/* Кнопки-действия в шапке антидопинга: «Проверить лекарство», «Сообщить о допинге».
   Figma 729:4371.
   ========================================================================== */

.antidoping-actions
{
    display: flex;

    gap: 14px;
    flex-shrink: 0;
}

.antidoping-actions__btn
{
    display: flex;

    width: 261px;
    padding: 8px 8px 8px 14px;

    transition: padding-left .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    border-radius: 6px;
    background: #fff;

    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.antidoping-actions__btn-text
{
    font: 500 .6875rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    letter-spacing: .06em;
    text-transform: uppercase;

    color: #001e62;
}

.antidoping-actions__btn-icon
{
    display: flex;

    width: 28px;
    height: 28px;

    transition: background-color .3s cubic-bezier(.4, 0, .6, 1), color .3s cubic-bezier(.4, 0, .6, 1);

    color: #001e62;
    border-radius: 33px;
    background: #ecf3fb;

    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}

.antidoping-actions__btn-icon svg
{
    display: block;

    width: 16px;
    height: 16px;

    fill: none;
}

@media (hover: hover)
{
    .antidoping-actions__btn:hover
    {
        padding-left: 18px;
    }

    .antidoping-actions__btn:hover .antidoping-actions__btn-icon
    {
        color: #fff;
    }

    .antidoping-actions__btn--check:hover .antidoping-actions__btn-icon
    {
        background-color: #0bcf9b;
    }

    .antidoping-actions__btn--report:hover .antidoping-actions__btn-icon
    {
        background-color: #e50361;
    }
}

@media (max-width: 1025px)
{
    .antidoping-actions
    {
        overflow-x: auto;

        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .antidoping-actions::-webkit-scrollbar
    {
        display: none;
    }

    .antidoping-actions__btn
    {
        flex-shrink: 0;
        scroll-snap-align: start;
    }
}

/* Антидопинг — main-контент (правая колонка): ссылки, ключевые ресурсы,
   видео-секция, текст-карточки. Figma 729:4375.
   ========================================================================== */

.antidoping-content
{
    display: flex;
    flex-direction: column;

    gap: 32px;
}

@media (max-width: 1025px)
{
    .antidoping-content
    {
        gap: 14px;
    }
}

/* --- Две ссылки-карточки (Figma 729:4376) --- */

.antidoping-links
{
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.antidoping-links__item
{
    display: flex;

    min-height: 82px;
    padding: 16px;

    transition: gap .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    border-radius: 6px;
    background: #fff;

    align-items: center;
    gap: 14px;
}

.antidoping-links__icon
{
    display: flex;

    width: 40px;
    height: 40px;

    transition: background-color .3s cubic-bezier(.4, 0, .6, 1), color .3s cubic-bezier(.4, 0, .6, 1);

    border-radius: 12px;

    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}

.antidoping-links__icon svg
{
    display: block;
}

.antidoping-links__icon--strategy
{
    color: #e50361;
    background: #ffdad6;
}

.antidoping-links__icon--strategy svg
{
    fill: none;
}

.antidoping-links__icon--regions
{
    color: #0f7bff;
    background: #cfe5ff;
}

.antidoping-links__text
{
    font: 700 .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    letter-spacing: .03em;
    text-transform: uppercase;

    color: #0a090e;
}

@media (hover: hover)
{
    .antidoping-links__item:hover
    {
        gap: 18px;
    }

    .antidoping-links__item:hover .antidoping-links__text
    {
        color: #0f7bff;
    }

    .antidoping-links__item:hover .antidoping-links__icon--strategy
    {
        color: #ffdad6;
        background-color: #e50361;
    }

    .antidoping-links__item:hover .antidoping-links__icon--regions
    {
        color: #cfe5ff;
        background-color: #0f7bff;
    }
}

@media (max-width: 1025px)
{
    .antidoping-links
    {
        grid-template-columns: 1fr;
        gap: 2px;
    }
}

/* --- Ключевые ресурсы (Figma 729:4379) --- */

.antidoping-resources
{
    display: flex;
    flex-direction: column;

    padding: 32px;

    border-radius: 6px 6px 24px 6px;
    background: rgba(255, 255, 255, .8);

    gap: 24px;
}

@media (max-width: 1025px)
{
    .antidoping-resources
    {
        padding-top: 14px;
        padding-right: 0;
        padding-bottom: 14px;
        padding-left: 0;
    }
}

.antidoping-resources__heading
{
    font: 700 .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;
    padding-bottom: 17px;

    letter-spacing: .03em;
    text-transform: uppercase;

    color: #0a090e;
    border-bottom: 1px solid #c3c6d5;
}

@media (max-width: 1025px)
{
    .antidoping-resources__heading
    {
        padding-right: 14px;
        padding-bottom: 14px;
        padding-left: 14px;
    }
}

.antidoping-resources__list
{
    display: flex;
    flex-direction: column;

    gap: 16px;
}

@media (max-width: 1025px)
{
    .antidoping-resources__list
    {
        padding-right: 14px;
        padding-left: 14px;

        gap: 14px;
    }
}

.antidoping-resources__item
{
    display: flex;

    text-decoration: none;

    align-items: center;
    gap: 12px;
}

.antidoping-resources__item-icon
{
    display: block;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    transform: translateY(-2px);

    color: #001e62;

    flex-shrink: 0;
}

.antidoping-resources__item-text
{
    font: 1rem/1.5rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);

    color: #001e62;
}

@media (hover: hover)
{
    .antidoping-resources__item:hover .antidoping-resources__item-icon,
    .antidoping-resources__item:hover .antidoping-resources__item-text
    {
        color: #0f7bff;
    }
}

/* --- Видео-секция (Figma 729:4404) --- */

.antidoping-video
{
    display: flex;
    flex-direction: column;

    padding: 24px;

    border-radius: 8px 8px 24px 8px;
    background: #001e62;

    gap: 14px;
}

.antidoping-video__title
{
    font: 500 1.5rem/2rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #fff;
}

.antidoping-video__text
{
    font: 400 1rem/1.625rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #cfd0cf;
}

.antidoping-video__player
{
    position: relative;

    display: block;
    overflow: hidden;

    border-radius: 6px;
    background: #1a1c1e;

    aspect-ratio: 1041/417;
}

.antidoping-video__thumb
{
    display: block;

    width: 100%;
    height: 100%;

    opacity: .6;

    -o-object-fit: cover;
       object-fit: cover;
}

.antidoping-video__play
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: flex;

    width: 80px;
    height: 80px;
    padding-left: 6px;

    cursor: pointer;
    transform: translate(-50%, -50%);

    color: #e50361;
    border: none;
    border-radius: 99px;
    background: #fff;

    align-items: center;
    justify-content: center;
}

.antidoping-video__play svg
{
    display: block;

    width: 22px;
    height: 28px;
}

/* --- Нижние текст-карточки (Figma 729:4412 / texts-cart-anim) --- */

.antidoping-texts
{
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
    align-items: start;
}

@media (max-width: 1025px)
{
    .antidoping-texts
    {
        grid-template-columns: 1fr;
        gap: 14px;
    }
}

.info-card
{
    display: flex;
    flex-direction: column;

    padding: 14px;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);

    border-radius: 6px 6px 24px 6px;
    background: #fff;
}

.info-card__tag
{
    font: .75rem/1rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin-bottom: 16px;
    padding: 4px 8px;

    letter-spacing: .025em;

    color: #fff;
    border-radius: 0 10px 0 10px;
    background: #001e62;

    align-self: flex-start;
}

.info-card__body
{
    display: flex;
    flex-direction: column;

    gap: 24px;
}

.info-card__text
{
    font: 400 1rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;
}

.info-card__list
{
    font: 1rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;
    padding-left: 24px;

    color: #000;
}

.info-card__list li + li
{
    margin-top: 16px;
}

.info-card__footer
{
    display: flex;

    padding-top: 17px;

    border-top: 1px solid #e8e8e8;

    align-items: center;
    gap: 8px;
}

.info-card__footer-icon
{
    width: 14px;
    height: 14px;

    color: #6a6c73;

    flex-shrink: 0;
    fill: none;
}

.info-card__footer-text
{
    font: .875rem/1.25rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    min-width: 0;

    color: #6a6c73;

    flex: 1 0 0;
}

.info-card__footer-btn
{
    display: flex;

    width: 28px;
    height: 28px;

    transition: background-color .3s cubic-bezier(.4, 0, .6, 1), color .3s cubic-bezier(.4, 0, .6, 1);

    color: #0f7bff;
    border-radius: 50%;
    background: #ecf3fb;

    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}

.info-card__footer-btn svg
{
    display: block;

    width: 18px;
    height: 18px;

    fill: none;
}

.info-card__footer-btn--next svg
{
    transform: rotate(-90deg);
}

@media (hover: hover)
{
    .info-card:hover
    {
        transform: translateY(-5px);
    }

    .info-card:hover .info-card__footer-btn
    {
        color: #fff;
        background-color: #0f7bff;
    }
}

/* Антидопинг — секция (копия media-section, независимые правки)
   ========================================================================== */

.has-media-filters
{
    overflow: hidden;
}

.antidoping-section
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .antidoping-section
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .antidoping-section
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.antidoping-section
{
    padding-top: 100px;
    padding-bottom: 160px;
}

.antidoping-section__head-row
{
    display: grid;

    margin-bottom: 14px;

    grid-template-columns: 319px 1fr;
    gap: 30px;
    align-items: center;
}

.antidoping-section__label
{
    font: 500 .6875rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;
    padding-left: 6px;

    letter-spacing: .066em;
    text-transform: uppercase;

    color: #001e62;
}

.antidoping-section__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;
}

.antidoping-section__main-head
{
    display: flex;

    align-items: center;
    justify-content: space-between;
    gap: 16px 24px;
    flex-wrap: wrap;
}

.antidoping-section__divider
{
    height: 1px;
    margin-bottom: 18px;

    background: #001e62;
}

.antidoping-section__body
{
    display: grid;

    grid-template-columns: 319px 1fr;
    gap: 30px;
    align-items: start;
}

.antidoping-section__sidebar
{
    align-self: stretch;
}

.antidoping-section__filters-overlay
{
    display: none;
}

.antidoping-section__right
{
    display: flex;
    flex-direction: column;
}

.antidoping-section__right .antidoping-section__more
{
    padding-right: 0;
    padding-left: 0;
}

.antidoping-section__grid
{
    display: grid;

    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.antidoping-section__more
{
    display: flex;

    margin-top: 50px;
    padding-right: 36px;
    padding-left: 36px;

    justify-content: center;
}

.antidoping-section__more-btn
{
    font: 400 1rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: flex;
    flex-direction: column;

    width: 100%;
    padding: 0;

    cursor: pointer;
    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #0f7bff;
    border: none;
    background: none;

    align-items: center;
    gap: 18px;
}

.antidoping-section__more-btn::before
{
    display: block;

    width: 514px;
    height: 1px;

    content: '';
    transition: width .3s cubic-bezier(.4, 0, .6, 1), background-color .3s cubic-bezier(.4, 0, .6, 1);

    background: #0f7bff;
}

.antidoping-section__more-btn:hover,
.antidoping-section__more-btn:focus-visible
{
    color: #001e62;
    outline: none;
}

.antidoping-section__more-btn:hover::before,
.antidoping-section__more-btn:focus-visible::before
{
    width: 100%;

    background: #001e62;
}

@media (max-width: 1025px)
{
    .antidoping-section
    {
        padding-top: 24px;
        padding-bottom: 70px;
    }

    .antidoping-section__head-row
    {
        display: grid;

        margin-bottom: 16px;

        grid-template-columns: 1fr auto;
        align-items: center;
        gap: 0 8px;
    }

    .antidoping-section__head-row::after
    {
        height: 1px;
        margin: 8px 0;

        content: '';

        background-color: #001e62;

        grid-column: 1/-1;
        grid-row: 2;
    }

    .antidoping-section__main-head
    {
        display: contents;
    }

    .antidoping-section__title
    {
        font-size: 1.25rem;

        grid-column: 1;
        grid-row: 1;
    }

    .antidoping-section__label
    {
        grid-column: 2;
        grid-row: 1;
    }

    .antidoping-section .antidoping-actions
    {
        grid-column: 1/-1;
        grid-row: 3;
    }

    .antidoping-section__divider
    {
        display: none;
    }

    .antidoping-section__body
    {
        display: block;
    }

    .antidoping-section__sidebar
    {
        position: fixed;
        z-index: 140;

        display: block;
        visibility: hidden;

        transition: visibility .3s;

        inset: 0;
    }

    .antidoping-section__sidebar--open
    {
        visibility: visible;
    }

    .antidoping-section__filters-overlay
    {
        position: absolute;

        display: block;

        padding: 0;

        cursor: pointer;
        transition: opacity .3s cubic-bezier(.4, 0, .6, 1);

        opacity: 0;
        border: none;
        background: rgba(0, 0, 0, .4);

        inset: 0;
    }

    .antidoping-section__sidebar--open .antidoping-section__filters-overlay
    {
        opacity: 1;
    }

    .antidoping-section__grid
    {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .antidoping-section__more
    {
        margin-top: 14px;
        padding-right: 0;
        padding-left: 0;
    }

    .antidoping-section__more-btn::before
    {
        width: 100%;
    }

    .antidoping-section__more-btn:hover,
    .antidoping-section__more-btn:focus-visible
    {
        color: #0f7bff;
    }

    .antidoping-section__more-btn:hover::before,
    .antidoping-section__more-btn:focus-visible::before
    {
        width: 100%;

        background: #0f7bff;
    }
}

/* Страница «Контакты» — двухколоночная секция (sticky-инфо + контент)
   ========================================================================== */

.has-contacts-drawer
{
    overflow: hidden;
}

.contacts
{
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);
}

@media screen and (max-width: 1380px)
{
    .contacts
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .contacts
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.contacts
{
    padding-top: 100px;
    padding-bottom: 160px;
}

.contacts__head-row
{
    display: grid;

    margin-bottom: 14px;

    grid-template-columns: 319px 1fr;
    gap: 30px;
    align-items: center;
}

.contacts__label
{
    font: 500 .6875rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    letter-spacing: .066em;
    text-transform: uppercase;

    color: #001e62;
}

.contacts__main-head
{
    display: flex;

    align-items: center;
    justify-content: space-between;
    gap: 16px 24px;
    flex-wrap: wrap;
}

.contacts__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;
}

.contacts__download
{
    font: 500 .6875rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    display: inline-flex;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;
    letter-spacing: .066em;
    text-transform: uppercase;

    color: #001e62;

    align-items: center;
    gap: 14px;
}

@media (hover: hover)
{
    .contacts__download:hover
    {
        color: #0f7bff;
    }
}

.contacts__download-icon
{
    display: block;

    width: 16px;
    height: 16px;

    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
}

.contacts__divider
{
    height: 1px;
    margin-bottom: 32px;

    background: #001e62;
}

.contacts__body
{
    display: grid;

    grid-template-columns: 319px 1fr;
    gap: 30px;
    align-items: start;
}

.contacts__sidebar
{
    align-self: stretch;
}

.contacts__overlay
{
    display: none;
}

.contacts__sticky
{
    position: sticky;
    top: 100px;

    display: flex;
    flex-direction: column;

    gap: 10px;
}

.contacts__main
{
    display: flex;
    flex-direction: column;

    min-width: 0;

    gap: 14px;
}

.contacts__group-label
{
    font: 400 .6875rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 10px 0 0;

    letter-spacing: .03em;
    text-transform: uppercase;

    color: #6a6c73;
}

.contacts__feedback-head
{
    display: flex;
    flex-direction: column;

    margin-top: 62px;

    gap: 14px;
}

.contacts__feedback-title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;
}

.contacts__feedback-line
{
    height: 1px;

    background: #001e62;
}

.contacts__req
{
    min-width: 0;
}

.contacts__req-overlay,
.contacts__req-heading,
.contacts__req-divider,
.contacts__req-download
{
    display: none;
}

@media (max-width: 1025px)
{
    .contacts__req
    {
        position: fixed;
        z-index: 140;

        visibility: hidden;

        transition: visibility .3s;

        inset: 0;
    }

    .contacts__req--open
    {
        visibility: visible;
    }

    .contacts__req-overlay
    {
        position: absolute;

        display: block;

        padding: 0;

        cursor: pointer;
        transition: opacity .3s cubic-bezier(.4, 0, .6, 1);

        opacity: 0;
        border: none;
        background: rgba(0, 0, 0, .4);

        inset: 0;
    }

    .contacts__req--open .contacts__req-overlay
    {
        opacity: 1;
    }

    .contacts__req-panel
    {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;

        display: flex;
        overflow-y: auto;
        flex-direction: column;

        width: 325px;
        max-width: 100%;
        padding: 24px;

        transition: transform .3s cubic-bezier(.4, 0, .6, 1);
        transform: translateX(100%);

        background: #fff;

        gap: 14px;
    }

    .contacts__req--open .contacts__req-panel
    {
        transform: translateX(0);
    }

    .contacts__req-heading
    {
        font-family: 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;
        font-size: .875rem;
        font-weight: 700;
        line-height: 1.2;

        display: block;

        margin: 0;

        letter-spacing: .03em;
        text-transform: uppercase;

        color: #0a090e;
    }

    .contacts__req-divider
    {
        display: block;

        height: 1px;

        background-color: #cfd0cf;
    }

    .contacts__req-download
    {
        font-family: 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;
        font-size: .6875rem;
        font-weight: 500;
        line-height: 1.5;

        display: inline-flex;

        text-decoration: none;
        letter-spacing: .066em;
        text-transform: uppercase;

        color: #001e62;

        align-items: center;
        gap: 14px;
    }
}

@media (max-width: 1025px)
{
    .contacts
    {
        padding-top: 24px;
        padding-bottom: 70px;
    }

    .contacts__head-row
    {
        display: flex;

        margin-bottom: 8px;

        justify-content: space-between;
        align-items: center;
        gap: 8px;
    }

    .contacts__label
    {
        font-size: 1.25rem;
        font-weight: 500;
        line-height: 1;

        letter-spacing: 0;
        text-transform: none;

        color: #000;
    }

    .contacts__title
    {
        font-size: .6875rem;
        font-weight: 500;
        line-height: 1.5;

        cursor: pointer;
        letter-spacing: .066em;
        text-transform: uppercase;

        color: #001e62;
    }

    .contacts__download
    {
        display: none;
    }

    .contacts__divider
    {
        margin-bottom: 14px;
    }

    .contacts__body
    {
        display: block;
    }

    .contacts__sidebar
    {
        display: block;

        margin-bottom: 14px;
    }

    .contacts__sticky
    {
        position: static;

        overflow: visible;

        max-height: none;

        gap: 0;
    }

    .contacts__feedback-head
    {
        margin-top: 16px;
    }

    .contacts__feedback-title
    {
        font-size: 1.25rem;
    }
}

/* Вариант секции для страницы «Антидопинг → Контакты» (Figma 899:6781):
   сайдбара и реквизитов нет, оба заголовка секций — по центру
   ========================================================================== */

.contacts--antidoping .contacts__head-row
{
    display: block;
}

.contacts--antidoping .contacts__title,
.contacts--antidoping .contacts__feedback-title
{
    text-align: center;
}

.contacts--antidoping .contacts__divider
{
    margin-bottom: 30px;
}

@media (max-width: 1025px)
{
    .contacts--antidoping .contacts__title
    {
        font-size: 1.25rem;
        font-weight: 500;
        line-height: 1;

        cursor: auto;
        letter-spacing: 0;
        text-transform: none;

        color: #000;
    }

    .contacts--antidoping .contacts__divider
    {
        margin-bottom: 14px;
    }
}

/* Левые карточки: контактная информация + контакты подразделений
   ========================================================================== */

.contacts-card
{
    border-radius: 6px;
    background: #fff;
}

.contacts-card--info
{
    display: flex;
    flex-direction: column;

    padding: 24px;

    gap: 12px;
}

.contacts-card--depts
{
    padding: 0 24px;
}

.contacts-card__heading
{
    font: 700 .875rem/1.2 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    letter-spacing: .03em;
    text-transform: uppercase;

    color: #0a090e;
}

.contacts-card__list
{
    display: flex;
    flex-direction: column;

    gap: 16px;
}

.contacts-card__row
{
    display: flex;
    flex-direction: column;
}

.contacts-card__term
{
    font: 400 .6875rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    letter-spacing: .03em;
    text-transform: uppercase;

    color: #6a6c73;
}

.contacts-card__desc
{
    font: 400 .875rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #000;
}

@media (hover: hover)
{
    .contacts-card a.contacts-card__desc:hover
    {
        color: #0f7bff;
    }
}

.contacts-card__mail
{
    font: 400 .875rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    text-decoration: none;
    word-break: break-word;

    color: #0f7bff;
}

@media (hover: hover)
{
    .contacts-card__mail:hover
    {
        text-decoration: underline;
    }
}

.contacts-card--info .contacts-card__mail
{
    font-size: 1rem;
}

.contacts-card__dept
{
    display: flex;
    flex-direction: column;

    padding: 14px 0;

    gap: 4px;
}

.contacts-card__dept:not(:last-child)
{
    border-bottom: 1px solid #cfd0cf;
}

@media (max-width: 1025px)
{
    .contacts-card--info
    {
        padding: 24px 24px 14px;

        border-radius: 8px 8px 0 0;

        gap: 16px;
    }

    .contacts-card--depts
    {
        border-top: 1px solid #cfd0cf;
        border-radius: 0 0 8px 8px;
    }
}

/* Панель «Руководитель отдела» + «Общие вопросы» (antidoping-contacts).
   Заменила тесную карточку-лид в ряду .contacts-sport: длинные ФИО, телефон
   и почта в колонку 277px не помещались.

   Макета нет — основа скриншот заказчика. Типографика и отступы взяты из
   .contacts-card на этой же странице (11 / 14 / 16px, padding 24, gap 12),
   радиус — как у карточек .contacts-sport ниже. Ничего нового не вводится.
   ========================================================================== */

.contacts-lead
{
    display: grid;
    overflow: hidden;

    color: #fff;
    border-radius: 24px 6px;
    background: #0f7bff;

    grid-template-columns: 1fr 1fr;
}

.contacts-lead__col
{
    display: flex;
    flex-direction: column;

    min-width: 0;
    padding: 24px;

    gap: 12px;
}

.contacts-lead__col + .contacts-lead__col
{
    border-left: 1px solid rgba(255, 255, 255, .25);
}

.contacts-lead__label
{
    font: 400 .6875rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    letter-spacing: .03em;
    text-transform: uppercase;

    opacity: .7;
}

.contacts-lead__name
{
    font: 700 1.125rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;
}

.contacts-lead__role
{
    font: 400 .875rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    opacity: .7;
}

.contacts-lead__links
{
    display: flex;
    flex-direction: column;

    margin: 0;
    padding: 0;

    list-style: none;

    gap: 12px;
}

.contacts-lead__item
{
    display: flex;

    min-width: 0;
    margin: 0;

    align-items: center;
    gap: 8px;
}

.contacts-lead__icon
{
    width: 16px;
    height: 16px;

    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
}

.contacts-lead__link
{
    font: 400 .875rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    min-width: 0;

    text-decoration: none;
    word-break: normal;
    hyphens: none;

    color: #fff;

    overflow-wrap: anywhere;
}

@media (hover: hover)
{
    .contacts-lead__link:hover
    {
        text-decoration: underline;
    }
}

.contacts-lead__link:focus-visible
{
    outline: 2px solid #fff;
    outline-offset: 2px;
}

.contacts-lead__link--mail
{
    text-decoration: underline;
}

.contacts-lead__link--general
{
    font-size: 1.125rem;
    font-weight: 700;

    text-decoration: none;
}

.contacts-lead__note
{
    font: 400 .875rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    opacity: .7;
}

@media (max-width: 1025px)
{
    .contacts-lead
    {
        grid-template-columns: 1fr;
    }

    .contacts-lead__col + .contacts-lead__col
    {
        border-top: 1px solid rgba(255, 255, 255, .25);
        border-left: 0;
    }
}

/* Карточка реквизитов (правая колонка) — 3 столбца с разделителями
   ========================================================================== */

.contacts-requisites
{
    display: flex;
    overflow: hidden;

    border-radius: 8px;
    background: #fff;

    align-items: stretch;
}

.contacts-requisites__col
{
    display: flex;
    flex-direction: column;

    min-width: 0;
    padding: 32px;

    flex: 1 1 0;
    gap: 24px;
}

.contacts-requisites__col--bordered
{
    border-left: 1px solid rgba(195, 198, 213, .2);
}

.contacts-requisites__group
{
    display: flex;
    flex-direction: column;

    gap: 4px;
}

.contacts-requisites__term
{
    font: 400 .6875rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    letter-spacing: .03em;
    text-transform: uppercase;

    color: #6a6c73;
}

.contacts-requisites__desc
{
    font: 400 1rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    word-break: break-word;

    color: #000;
}

@media (max-width: 1025px)
{
    .contacts-requisites
    {
        overflow: visible;
        flex-direction: column;

        border-radius: 0;
        background: none;
    }

    .contacts-requisites__col
    {
        padding: 14px 0;

        gap: 14px;
    }

    .contacts-requisites__col--bordered
    {
        padding-top: 15px;

        border-top: 1px solid rgba(195, 198, 213, .2);
        border-left: none;
    }
}

/* Контакты по видам спорта — карточки с пиктограммой и email
   Иконки/векторы переиспользуются из sports-section (img/sports-*.svg)
   ========================================================================== */

.contacts-sport
{
    display: grid;

    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.contacts-sport__card
{
    display: flex;
    flex-direction: column;

    padding: 14px;

    transition: background-color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    border-radius: 24px 6px 24px 6px;
    background: #fff;

    align-items: center;
    justify-content: center;
    gap: 14px;
}

.contacts-sport__card:focus-visible
{
    outline: 2px solid #0f7bff;
    outline-offset: 2px;
}

.contacts-sport__pic
{
    position: relative;

    display: block;
    overflow: hidden;

    width: 100%;
    height: 92px;
}

.contacts-sport__vector
{
    position: absolute;
    bottom: -70%;
    left: 5.63%;

    width: 108%;
    max-width: none;

    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    pointer-events: none;
}

.contacts-sport__icon
{
    position: absolute;
    top: 50%;

    display: block;

    transform: translateY(-50%);
    pointer-events: none;
}

.contacts-sport__text
{
    display: flex;
    flex-direction: column;

    text-align: center;

    align-items: center;
    gap: 4px;
}

.contacts-sport__name
{
    font: 400 1rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #000;
}

.contacts-sport__email
{
    font: 400 1rem/1.1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    letter-spacing: .063em;
    word-break: break-word;

    color: #0f7bff;
}

.contacts-sport__sport
{
    font: 400 .6875rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    letter-spacing: .03em;
    text-transform: uppercase;

    color: #6a6c73;
}

.contacts-sport__person
{
    font: 700 .875rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #000;
}

.contacts-sport__role
{
    font: 400 .875rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #6a6c73;
}

.contacts-sport__contact
{
    display: flex;

    align-items: center;
    gap: 8px;
}

.contacts-sport__contact-icon
{
    width: 16px;
    height: 16px;

    color: #6a6c73;

    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
}

.contacts-sport__contact-link
{
    font: 400 .875rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    min-width: 0;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;
    word-break: normal;
    hyphens: none;

    color: #000;

    overflow-wrap: anywhere;
}

@media (hover: hover)
{
    .contacts-sport__contact-link:hover
    {
        color: #0f7bff;
    }
}

.contacts-sport__contact-link:focus-visible
{
    outline: 2px solid #0f7bff;
    outline-offset: 2px;
}

.contacts-sport__contact-link--mail
{
    text-decoration: underline;

    color: #0f7bff;
}

.contacts-sport__card--plav .contacts-sport__pic
{
    border-bottom: 1px solid #483dff;
}

.contacts-sport__card--plav .contacts-sport__icon
{
    right: 23%;

    width: 52px;
    height: 40px;
}

.contacts-sport__card--polo .contacts-sport__pic
{
    border-bottom: 1px solid #2299fa;
}

.contacts-sport__card--polo .contacts-sport__icon
{
    top: calc(50% - 3px);
    right: 24.5%;

    width: 42px;
    height: 46px;
}

.contacts-sport__card--prig .contacts-sport__pic
{
    border-bottom: 1px solid #0ea7cb;
}

.contacts-sport__card--prig .contacts-sport__icon
{
    right: 26%;

    width: 33px;
    height: 45px;
}

.contacts-sport__card--sinh .contacts-sport__pic
{
    border-bottom: 1px solid #6c48bb;
}

.contacts-sport__card--sinh .contacts-sport__icon
{
    right: 23.3%;

    width: 49px;
    height: 37px;
}

.contacts-sport--staff .contacts-sport__card
{
    min-width: 0;
    padding: 24px;

    align-items: stretch;
    justify-content: flex-start;
    gap: 16px;
}

.contacts-sport--staff .contacts-sport__contact
{
    min-width: 0;
}

.contacts-sport--staff .contacts-sport__text
{
    text-align: left;

    align-items: stretch;
    gap: 8px;
}

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

@media (max-width: 600px)
{
    .contacts-sport
    {
        grid-template-columns: 1fr;
    }
}

/* Форма обратной связи (страница «Контакты»)
   ========================================================================== */

.feedback-form
{
    display: flex;
    flex-direction: column;

    padding: 64px 156px;

    border-radius: 6px 6px 24px 6px;
    background: #fff;

    gap: 32px;
}

.feedback-form__subtitle
{
    font: 400 1.125rem/1.75rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    text-align: center;

    color: #48484a;

    align-self: center;
}

.feedback-form__fields
{
    display: flex;
    flex-direction: column;

    gap: 24px;
}

.feedback-form__row
{
    display: flex;

    gap: 24px;
}

.feedback-form__field
{
    display: flex;
    flex-direction: column;

    min-width: 0;

    flex: 1 1 0;
    gap: 9px;
}

.feedback-form__label
{
    font: 400 .6875rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    letter-spacing: .03em;
    text-transform: uppercase;

    color: #6a6c73;
}

.feedback-form__input,
.feedback-form__select,
.feedback-form__textarea
{
    font: 400 .875rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    box-sizing: border-box;
    width: 100%;
    padding: 11px 15px;

    transition: border-color .3s cubic-bezier(.4, 0, .6, 1);

    color: #000;
    border: 1px solid #cfd0cf;
    border-radius: 6px;
    outline: none;
    background: #fff;
}

.feedback-form__input::-moz-placeholder,
.feedback-form__select::-moz-placeholder,
.feedback-form__textarea::-moz-placeholder
{
    color: #6a6c73;
}

.feedback-form__input::placeholder,
.feedback-form__select::placeholder,
.feedback-form__textarea::placeholder
{
    color: #6a6c73;
}

.feedback-form__input:focus,
.feedback-form__select:focus,
.feedback-form__textarea:focus
{
    border-color: #0f7bff;
}

.feedback-form__textarea
{
    font-size: 1rem;
    line-height: 1.5rem;

    min-height: 148px;

    resize: vertical;
}

.feedback-form__select-wrap
{
    position: relative;
}

.feedback-form__select
{
    padding-right: 38px;

    cursor: pointer;

       -moz-appearance: none;
            appearance: none;
    -webkit-appearance: none;
}

.feedback-form__select-arrow
{
    position: absolute;
    top: 50%;
    right: 14px;

    width: 12px;
    height: 8px;

    transform: translateY(-50%);
    pointer-events: none;

    stroke: #7a7a7a;
    fill: none;
}

.feedback-form__agreements
{
    display: flex;
    flex-direction: column;

    padding-top: 8px;

    gap: 16px;
}

.feedback-form__check
{
    display: flex;

    cursor: pointer;

    align-items: flex-start;
    gap: 12px;
}

.feedback-form__checkbox
{
    width: 16px;
    height: 16px;
    margin: 0;

    cursor: pointer;
    transition: background-color .3s, border-color .3s;

    border: 1px solid #c3c6d5;
    border-radius: 2px;
    background: #fff;

    flex-shrink: 0;
       -moz-appearance: none;
            appearance: none;
    -webkit-appearance: none;
}

.feedback-form__checkbox:checked
{
    border-color: #0f7bff;
    background: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'10\' height=\'8\' viewBox=\'0 0 10 8\'%3E%3Cpath d=\'M1 4l3 3 5-6\' stroke=\'white\' stroke-width=\'1.5\' fill=\'none\' stroke-linecap=\'round\' stroke-linejoin=\'round\'/%3E%3C/svg%3E') no-repeat center #0f7bff;
}

.feedback-form__checkbox:focus-visible
{
    outline: 2px solid #0f7bff;
    outline-offset: 2px;
}

.feedback-form__check-text
{
    font: 400 .75rem/1rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #737784;
}

.feedback-form__check-text a
{
    text-decoration: underline;

    color: #003384;
}

.feedback-form__submit
{
    font: 400 1.125rem/1.75rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    height: 68px;

    cursor: pointer;
    transition: background-color .3s cubic-bezier(.4, 0, .6, 1);

    color: #fff;
    border: none;
    border-radius: 6px;
    background: #0f7bff;
}

@media (hover: hover)
{
    .feedback-form__submit:hover
    {
        background-color: rgb(0, 103.14, 229.2);
    }
}

@media (max-width: 1025px)
{
    .feedback-form
    {
        padding: 14px;

        gap: 14px;
    }

    .feedback-form__subtitle
    {
        text-align: left;

        align-self: stretch;
    }

    .feedback-form__row
    {
        flex-direction: column;

        gap: 24px;
    }

    .feedback-form__submit
    {
        font-size: .875rem;
        font-weight: 500;

        height: 46px;

        letter-spacing: .03em;
    }
}

/* Страница «Результаты поиска»
   ========================================================================== */

.search-section
{
    position: relative;
    z-index: 10;

    margin-top: -60px;
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);

    border-radius: 60px 60px 0 0;
    background: #edf3fc;
}

@media screen and (max-width: 1380px)
{
    .search-section
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .search-section
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.search-section
{
    padding-top: 100px;
    padding-bottom: 210px;
}

@media (max-width: 1025px)
{
    .search-section
    {
        margin-top: -20px;
        padding-top: 40px;
        padding-bottom: 50px;

        border-radius: 20px 20px 0 0;
    }
}

.search__head
{
    display: flex;

    margin-bottom: 14px;

    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.search__title
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;
}

.search__form
{
    display: flex;

    min-width: 0;

    align-items: center;
    gap: 20px;
    flex: 0 1 974px;
}

.search__field
{
    display: flex;

    min-width: 0;
    height: 44px;
    padding: 0 14px;

    transition: border-color .3s cubic-bezier(.4, 0, .6, 1);

    border: 1px solid #cfd0cf;
    border-radius: 6px;
    background: #fff;

    flex: 1 1 auto;
    align-items: center;
    gap: 14px;
}

.search__field:focus-within
{
    border-color: #0f7bff;
}

.search__field-icon
{
    width: 16px;
    height: 16px;

    color: #6a6c73;

    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
}

.search__input
{
    font: 400 1rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    min-width: 0;

    color: #000;
    border: none;
    outline: none;
    background: transparent;

    flex: 1 1 auto;
}

.search__input::-moz-placeholder
{
    color: #6a6c73;
}

.search__input::placeholder
{
    color: #6a6c73;
}

.search__submit
{
    font: 500 .75rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    width: 128px;
    height: 42px;
    padding-top: 2px;

    cursor: pointer;
    transition: background-color .3s cubic-bezier(.4, 0, .6, 1);
    letter-spacing: .05em;
    text-transform: uppercase;

    color: #fff;
    border: none;
    border-radius: 6px;
    background: #0f7bff;

    flex-shrink: 0;
}

@media (hover: hover)
{
    .search__submit:hover
    {
        background-color: rgb(0, 103.14, 229.2);
    }
}

.search__divider
{
    height: 1px;
    margin-bottom: 30px;

    background: #001e62;
}

.search__list
{
    display: flex;
    flex-direction: column;

    margin: 0;
    padding: 0;

    list-style: none;

    gap: 14px;
}

.search__result
{
    display: flex;
    flex-direction: column;

    padding: 0 14px 14px;

    text-decoration: none;

    border-radius: 6px 6px 24px 6px;
    background: #fff;

    gap: 8px;
}

.search__result:focus-visible
{
    outline: 2px solid #0f7bff;
    outline-offset: 2px;
}

.search__result-title
{
    font: 400 1.125rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;
    padding: 17.5px 0 9.5px;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);

    color: #001e62;
}

@media (hover: hover)
{
    .search__result:hover .search__result-title
    {
        color: #0f7bff;
    }
}

.search__result-snippet
{
    font: 400 1rem/1.3 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;
    padding-top: 9px;

    color: #6a6c73;
    border-top: 1px solid #e8e8e8;
}

@media (max-width: 1025px)
{
    .search
    {
        display: flex;
        flex-direction: column;
    }

    .search__head
    {
        display: contents;
    }

    .search__title
    {
        font-size: 1.25rem;

        padding-bottom: 13px;

        order: 1;
    }

    .search__divider
    {
        margin-bottom: 14px;

        order: 2;
    }

    .search__form
    {
        margin-bottom: 14px;

        order: 3;
        flex: 0 0 auto;
    }

    .search__submit
    {
        display: none;
    }

    .search__list
    {
        order: 4;
    }

    .search__result-title
    {
        font-size: 1rem;
    }

    .search__result-snippet
    {
        font-size: .875rem;
    }
}

/* Страница персоналии (спортсмен) — контент внутри .page-inner (Figma 804:5674)
   Светлый блок налезает на navy-плашку .page-head__content — как .search-section.
   Шапка-строка (назад + табы) построена по образцу media-gallery__head-row.
   ========================================================================== */

.person
{
    position: relative;
    z-index: 10;

    margin-top: -60px;
    padding-right: max(144px, (100% - 1440px) / 2);
    padding-left: max(144px, (100% - 1440px) / 2);

    border-radius: 60px 60px 0 0;
    background: #edf3fc;
}

@media screen and (max-width: 1380px)
{
    .person
    {
        padding-right: 64px;
        padding-left: 64px;
    }
}

@media screen and (max-width: 1025px)
{
    .person
    {
        padding-right: 14px;
        padding-left: 14px;
    }
}

.person
{
    padding-top: 70px;
    padding-bottom: 160px;
    /* --- Шапка-строка: «назад» слева, табы по центру (media-gallery__head-row) --- */
}

.person__head-row
{
    position: relative;

    display: flex;

    align-items: center;
}

.person__back
{
    font: 500 .6875rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: absolute;
    z-index: 1;
    left: 0;

    display: flex;

    white-space: nowrap;
    text-decoration: none;
    letter-spacing: .066em;
    text-transform: uppercase;

    color: #001e62;

    align-items: center;
    gap: 14px;
}

.person__back svg
{
    display: block;

    width: 16px;
    height: 9px;

    transform: scaleX(-1);

    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
}

.person__back:hover,
.person__back:focus-visible
{
    outline: none;
}

.person__back:hover .person__back-text,
.person__back:focus-visible .person__back-text
{
    transform: translateX(5px);
}

.person__back-text
{
    display: inline-block;

    transition: transform .3s cubic-bezier(.4, 0, .6, 1);
}

.person__tabs
{
    position: relative;

    display: flex;

    flex: 1;
    align-items: flex-end;
    justify-content: center;
    gap: 24px;
}

.person__indicator
{
    position: absolute;
    bottom: -1px;
    left: 0;

    width: 0;
    height: 2px;

    transition: left .3s cubic-bezier(.4, 0, .6, 1), width .3s cubic-bezier(.4, 0, .6, 1);
    pointer-events: none;

    background: #e50361;
}

.person__tab
{
    font: 500 1.5rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;
    padding: 0 4px 11px;

    cursor: pointer;
    transition: color .3s cubic-bezier(.4, 0, .6, 1), opacity .3s cubic-bezier(.4, 0, .6, 1);

    color: #0f7bff;
    border: none;
    background: none;
}

.person__tab:hover,
.person__tab:focus-visible
{
    opacity: .75;
    outline: none;
}

.person__tab--active
{
    cursor: default;

    color: #000;
}

.person__tab--active:hover,
.person__tab--active:focus-visible
{
    opacity: 1;
}

.person__divider
{
    height: 1px;
    margin-bottom: 30px;

    background: #001e62;
}

.person__placeholder
{
    font: 400 1.125rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;
    padding: 60px 0;

    text-align: center;

    color: #6a6c73;
}

.person
{
    /* --- Раскладка: aside (фото + медали) 320 + карточка данных (остаток) --- */
}

.person__layout
{
    display: grid;

    grid-template-columns: 320px 1fr;
    gap: 30px;
    align-items: start;
}

.person
{
    /* --- Левая колонка --- */
}

.person__aside
{
    display: flex;

    flex-wrap: wrap;
    gap: 14px;
}

.person__photo
{
    position: relative;

    display: flex;
    overflow: hidden;

    width: 100%;
    height: 366px;
    padding: 12px;

    border-radius: 6px;

    align-items: flex-start;
    justify-content: flex-end;
}

.person__photo-img
{
    position: absolute;
    z-index: 0;

    width: 100%;
    height: 100%;

    inset: 0;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top center;
       object-position: top center;
}

.person__badge
{
    font: 500 .9375rem/normal 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    position: relative;
    z-index: 1;

    display: inline-flex;

    padding: 6px 8px 4px;

    white-space: nowrap;

    color: #fff;
    border-radius: 6px;
    background: #0f7bff;

    align-items: center;
    gap: 8px;
}

.person__badge-icon
{
    display: block;

    width: 14px;
    height: 14px;

    flex-shrink: 0;
}

.person__medals-total
{
    display: flex;

    width: 100%;
    padding: 14px;

    border-radius: 6px;
    background: #fff;

    align-items: center;
    justify-content: center;
    gap: 14px;
}

.person__medals-count
{
    font: 500 2rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #000;
}

.person__medals-label
{
    font: 500 .875rem/1.25rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    letter-spacing: .05em;
    text-transform: uppercase;

    color: #6a6c73;
}

.person__medal
{
    display: flex;
    flex-direction: column;

    min-width: 0;
    padding: 14px;

    border-radius: 6px;
    background: #fff;

    flex: 1 1 0;
    align-items: center;
    justify-content: center;
    gap: 14px;
}

.person__medal--gold
{
    background: #fff9e6;
}

.person__medal-icon
{
    display: block;

    width: 32px;
    height: 44px;
}

.person__medal-meta
{
    display: flex;
    flex-direction: column;

    align-items: center;
    gap: 4px;
}

.person__medal-count
{
    font: 500 1.5rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #000;
}

.person__medal-label
{
    font: 700 .625rem/.9375rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    text-transform: uppercase;

    color: #6a6c73;
}

.person
{
    /* --- Правая колонка: белая карточка с двумя группами данных --- */
}

.person__card
{
    padding: 24px;

    border-radius: 6px;
    background: #fff;
}

.person__card-grid
{
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));
    -moz-column-gap: 64px;
         column-gap: 64px;
    align-items: start;
}

.person__group-title
{
    font: 500 1.125rem/1.75rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 14px;

    color: #001e62;
}

.person__row
{
    display: flex;

    padding: 14px 0 15px;

    border-bottom: 1px solid rgba(232, 232, 232, .5);

    align-items: center;
    justify-content: space-between;
}

.person__row-label
{
    font: 400 .875rem/1.25rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    color: #6a6c73;

    flex-shrink: 0;
}

.person__row-value
{
    font: 500 1rem/1.5rem 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    text-align: right;

    color: #000;
}

.person__row--contacts
{
    flex-wrap: wrap;
}

.person__row--contacts .person__row-label
{
    flex-basis: 100%;
}

.person__contact-email
{
    padding-right: 10px;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #000;
}

.person__contact-email:hover,
.person__contact-email:focus-visible
{
    color: #0f7bff;
}

.person__socials
{
    display: flex;

    align-items: center;
    gap: 4px;
}

.person__social
{
    display: inline-flex;

    height: 28px;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #000;

    align-items: center;
    justify-content: center;
}

.person__social svg
{
    display: block;
}

.person__social:hover,
.person__social:focus-visible
{
    color: #0f7bff;
}

.person__social--pill
{
    padding: 0 10px;

    border: 1.5px solid currentColor;
    border-radius: 100px;
}

@media (max-width: 1025px)
{
    .person
    {
        margin-top: -20px;
        padding-top: 40px;
        padding-bottom: 70px;

        border-radius: 20px 20px 0 0;
    }

    .person__head-row
    {
        justify-content: space-between;
    }

    .person__back
    {
        position: static;
    }

    .person__back-text
    {
        display: none;
    }

    .person__tabs
    {
        flex: 0 0 auto;
        justify-content: flex-end;
        gap: 14px;
    }

    .person__tab
    {
        font-size: 1.25rem;
    }

    .person__layout
    {
        grid-template-columns: 1fr;
    }

    .person__medals-total
    {
        flex-direction: column;

        padding: 24px;

        order: 1;
        gap: 4px;
    }

    .person__medals-count
    {
        font-size: 3rem;
    }

    .person__medal
    {
        order: 2;
    }

    .person__photo
    {
        height: auto;

        order: 3;
        aspect-ratio: 320/366;
    }

    .person__card
    {
        padding: 14px;
    }

    .person__card-grid
    {
        grid-template-columns: 1fr;
        row-gap: 32px;
    }

    .person__row
    {
        flex-direction: column;

        padding: 8px 0 9px;

        align-items: flex-start;
        gap: 4px;
    }

    .person__row-value
    {
        text-align: left;
    }
}

/* Таб «Результаты» — таблицы результатов спортсмена (Figma 844:8845)
   ========================================================================== */

.results
{
    display: flex;
    flex-direction: column;

    padding-top: 20px;

    gap: 78px;
}

.results__title
{
    font: 500 1.5rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0 0 18px;

    color: #000;
}

.results__head
{
    display: flex;

    margin-bottom: 10px;

    align-items: center;
    gap: 10px;
}

.results__head .results__title
{
    margin-bottom: 0;

    flex: 1;
}

.results__period
{
    width: 112px;

    flex-shrink: 0;
}

.results__period .media-select__trigger
{
    border-color: #e2e8f0;
}

.results__period .media-select__list
{
    position: absolute;
    z-index: 10;
    top: 100%;
    right: 0;
    left: 0;
}

@media (max-width: 1025px)
{
    .results
    {
        padding-top: 0;

        gap: 20px;
    }

    .results__title
    {
        font-size: 1.25rem;

        margin-bottom: 14px;
    }

    .results__head
    {
        margin-bottom: 14px;
    }

    .results__period
    {
        display: none;
    }
}

.results-table__scroll
{
    overflow-x: visible;
}

.results-table__table
{
    font-family: 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    width: 100%;

    table-layout: fixed;
    border-collapse: collapse;
}

.results-table__head th
{
    font-size: .75rem;
    font-weight: 400;
    line-height: 1.3;

    padding: 12px 20px;

    text-align: left;
    vertical-align: middle;
    word-break: keep-all;

    color: #64748b;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
}

.results-table__th--event
{
    width: 42%;
}

.results-table__th--discipline
{
    width: 25%;
}

.results-table__th--result
{
    width: 8.34%;
}

.results-table__th--venue
{
    width: 10.76%;
}

.results-table__th--date
{
    width: 8.34%;
}

.results-table__th--place
{
    width: 5.56%;
}

.results-table__row
{
    background: #fff;
}

.results-table__cell
{
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.25rem;

    height: 65px;
    padding: 0 20px;

    vertical-align: middle;

    color: #64748b;
}

.results-table__event
{
    display: flex;

    align-items: center;
    gap: 12px;
}

.results-table__event-icon
{
    display: block;

    width: 32px;
    height: 32px;

    flex-shrink: 0;
}

.results-table__event-name
{
    font-size: .875rem;
    font-weight: 500;
    line-height: 1.25rem;

    transition: color .3s cubic-bezier(.4, 0, .6, 1);
    text-decoration: none;

    color: #001e62;
}

.results-table__event-name:hover,
.results-table__event-name:focus-visible
{
    color: #0f7bff;
}

.results-table__cell--date
{
    font-weight: 700;

    white-space: nowrap;
}

.results-table__place
{
    font-size: .625rem;
    font-weight: 700;
    line-height: .875rem;

    position: relative;

    display: inline-flex;
    overflow: hidden;

    width: 24px;
    height: 24px;

    border-radius: 50%;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);

    align-items: center;
    justify-content: center;
}

.results-table__place::before
{
    position: absolute;

    content: '';

    opacity: .2;

    inset: 0;
}

.results-table__place--gold
{
    color: #e17100;
    border: 1px solid #fee685;
    background: #fef3c6;
}

.results-table__place--gold::before
{
    background: linear-gradient(135deg, #ffd230 0%, #fe9a00 100%);
}

.results-table__place--silver
{
    color: #62748e;
    border: 1px solid #e2e8f0;
    background: #f1f5f9;
}

.results-table__place--silver::before
{
    background: linear-gradient(135deg, #cad5e2 0%, #90a1b9 100%);
}

.results-table__place--bronze
{
    color: #ca3500;
    border: 1px solid #ffd6a7;
    background: #fff7ed;
}

.results-table__place--bronze::before
{
    background: linear-gradient(135deg, #ffb86a 0%, #ff6900 100%);
}

.results-table__place-num
{
    position: relative;
}

.results-table__place-plain
{
    font-weight: 700;

    color: #64748b;
}

@media (max-width: 1025px)
{
    .results-table__scroll
    {
        overflow-x: visible;
    }

    .results-table__table
    {
        display: block;

        min-width: 0;
    }

    .results-table__head
    {
        display: none;
    }

    .results-table tbody
    {
        display: block;
    }

    .results-table__row
    {
        display: flex;

        padding: 14px 0 4px;

        border-bottom: 1px solid #e2e8f0;

        flex-wrap: wrap;
        align-items: flex-start;
    }

    .results-table__cell
    {
        display: block;

        height: auto;
        padding: 4px 14px;
    }

    .results-table__cell::before
    {
        font-size: .625rem;
        font-weight: 400;
        line-height: 1.3;

        display: block;

        margin-bottom: 2px;

        color: #64748b;
    }

    .results-table__cell--discipline::before
    {
        content: 'Дисциплина';
    }

    .results-table__cell--result::before
    {
        content: 'Баллы';
    }

    .results-table__cell--venue::before
    {
        content: 'Место проведения';
    }

    .results-table__cell--date::before
    {
        font-weight: 400;

        content: 'Дата';
    }

    .results-table__cell--place::before
    {
        content: 'Место';
    }

    .results-table__cell--event
    {
        padding: 0 14px;

        order: 1;
        flex: 0 0 100%;
    }

    .results-table__cell--discipline
    {
        order: 2;
        flex: 0 0 100%;
    }

    .results-table__cell--venue
    {
        order: 3;
        flex: 0 0 100%;
    }

    .results-table__cell--result
    {
        order: 4;
    }

    .results-table__cell--date
    {
        order: 5;
    }

    .results-table__cell--place
    {
        order: 6;
    }

    .results-table__event
    {
        gap: 12px;
        align-items: center;
    }

    .results-table__event-name
    {
        display: block;

        white-space: normal;
    }

    .results-table__event-name::before
    {
        font-family: 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;
        font-size: .75rem;
        font-weight: 400;
        line-height: 1.0625rem;

        display: block;

        content: 'Турнир';

        color: #64748b;
    }
}

/* Страница «Политика обработки персональных данных» — юридический текст.
   Живёт внутри .search-section (общая белая панель с перехлёстом и гаттером).
   ========================================================================== */

.policy
{
    display: flex;
    flex-direction: column;

    gap: 50px;
}

.policy__section
{
    display: flex;
    flex-direction: column;

    gap: 18px;
}

.policy__heading
{
    font: 500 1.5rem/1 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;
}

.policy__body
{
    display: flex;
    flex-direction: column;

    gap: 24px;
}

.policy__lead
{
    font: 400 1rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    margin: 0;

    color: #000;
}

.policy__group
{
    font: 400 1rem/1.5 'Stapel', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;

    padding-left: 50px;

    color: #48484a;
}

.policy__group p
{
    margin: 0;
}

@media (max-width: 1025px)
{
    .policy__group
    {
        padding-left: 20px;
    }
}
