:is(.start-page--beginner, .youth-page) [id] {
    scroll-margin-top: 108px;
}

@media (max-width: 720px) {
    :is(.start-page--beginner, .youth-page) [id] {
        scroll-margin-top: 88px;
    }
}

:is(.start-page--beginner, .youth-page) .start-format {
    border-top: 1px solid rgba(116,23,111,.08);
}

:is(.start-page--beginner, .youth-page) .start-format--course {
    background:
        radial-gradient(circle at top left, rgba(255,183,44,.10), transparent 24%),
        linear-gradient(180deg, #fff, #fffdf7 100%);
}

:is(.start-page--beginner, .youth-page) .start-format--stage {
    background:
        radial-gradient(circle at top left, rgba(116,23,111,.08), transparent 24%),
        linear-gradient(180deg, #fff, #fbf7fc 100%);
}

:is(.start-page--beginner, .youth-page) .start-format-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 30px;
    align-items: start;
    margin-bottom: 26px;
}

:is(.start-page--beginner, .youth-page) .start-format-copy__title-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

:is(.start-page--beginner, .youth-page) .start-format-copy__title-wrap h2 {
    margin: 0;
}

:is(.start-page--beginner, .youth-page) .start-format-copy__mascot {
    flex: 0 0 auto;
    width: 78px;
    height: auto;
    transform: rotate(-8deg);
    transform-origin: center;
    animation: startFormatMascotDrift 4.2s ease-in-out infinite;
}

@keyframes startFormatMascotDrift {
    0%,
    100% {
        transform: rotate(-8deg) translateY(0);
    }

    50% {
        transform: rotate(-5deg) translateY(-4px);
    }
}

:is(.start-page--beginner, .youth-page) .start-format-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0 12px;
}

:is(.start-page--beginner, .youth-page) .start-format-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid var(--start-border);
    background: rgba(255,255,255,.86);
    color: var(--start-purple-dark);
    font-size: .86rem;
    font-weight: 800;
}

:is(.start-page--beginner, .youth-page) .start-info-box {
    position: relative;
    overflow: hidden;
    padding: 24px;
    border-radius: 24px;
    border: 1px solid var(--start-border);
    background: rgba(255,255,255,.86);
    box-shadow: 0 10px 24px rgba(63,18,63,.05);
}

:is(.start-page--beginner, .youth-page) .start-info-box.fc-entry-card {
    min-height: 100%;
    padding: 22px;
    border-radius: 20px;
    box-shadow: 0 12px 26px rgba(63, 18, 63, .12);
}

:is(.start-page--beginner, .youth-page) .start-info-box__mascot {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 48px;
    height: auto;
    opacity: .94;
    transform: rotate(10deg);
    pointer-events: none;
}

:is(.start-page--beginner, .youth-page) .start-info-box h3 {
    margin: 0 0 14px;
    font-size: 1.15rem;
    line-height: 1.25;
}

:is(.start-page--beginner, .youth-page) .start-info-box.fc-entry-card > h3,
:is(.start-page--beginner, .youth-page) .start-info-box.fc-entry-card > p,
:is(.start-page--beginner, .youth-page) .start-info-box.fc-entry-card > strong,
:is(.start-page--beginner, .youth-page) .start-info-box.fc-entry-card li {
    color: #fff;
}

:is(.start-page--beginner, .youth-page) .start-info-box.fc-entry-card li {
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr);
    column-gap: 12px;
    align-items: start;
    padding-left: 0;
    border-bottom: 0;
    line-height: 1.5;
}

:is(.start-page--beginner, .youth-page) .start-info-box.fc-entry-card li::before {
    content: '✦';
    position: relative;
    top: .08em;
    color: rgba(255,248,222,.96);
    font-size: .9rem;
    line-height: 1;
}

:is(.start-page--beginner, .youth-page) .start-info-box.fc-entry-card .fc-pill {
    margin-bottom: 14px;
}

:is(.start-page--beginner, .youth-page) .start-info-box.fc-entry-card ul {
    padding-top: 10px;
}

:is(.start-page--beginner, .youth-page) .start-info-box.start-info-box--course {
    background:
        linear-gradient(168deg, transparent 0 70%, rgba(232,166,43,.94) 70% 100%),
        linear-gradient(180deg, rgba(244,178,51,.99), rgba(236,168,37,.99));
    border-color: rgba(183,119,16,.24);
}

:is(.start-page--beginner, .youth-page) .start-info-box.start-info-box--atelier {
    background:
        linear-gradient(168deg, transparent 0 70%, rgba(255,255,255,.18) 70% 100%),
        linear-gradient(180deg, rgba(245,18,129,.98), rgba(224,8,117,.98));
    border-color: rgba(185,16,99,.26);
}

:is(.start-page--beginner, .youth-page) .start-info-box.start-info-box--stage {
    background:
        linear-gradient(168deg, transparent 0 70%, rgba(63,18,63,.92) 70% 100%),
        linear-gradient(180deg, rgba(116,23,111,.99), rgba(95,17,104,.99));
    border-color: rgba(95,17,104,.24);
}

.start-page--beginner .start-module .fc-agenda-wrap,
.start-page--beginner .start-module .fc-stage-catalog,
.youth-page .youth-module .fc-agenda-wrap,
.youth-page .youth-module .fc-stage-catalog {
    margin-top: 0;
}

.start-page--beginner .start-module .fc-stage-catalog,
.youth-page .youth-module .fc-stage-catalog {
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

:is(.start-page--beginner, .youth-page) .start-floating-jumps {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 40;
    display: grid;
    gap: 10px;
    pointer-events: none;
}

:is(.start-page--beginner, .youth-page) .start-floating-jump {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 52px;
    height: 52px;
    padding: 0 14px;
    border: 0;
    border-radius: 999px;
    background: rgba(63,18,63,.94);
    color: #fff;
    box-shadow: 0 16px 30px rgba(30,27,37,.2);
    cursor: pointer;
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease, background-color .18s ease;
}

:is(.start-page--beginner, .youth-page) .start-floating-jump.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

:is(.start-page--beginner, .youth-page) .start-floating-jump:hover,
:is(.start-page--beginner, .youth-page) .start-floating-jump:focus-visible {
    background: rgba(95,17,104,.96);
    outline: none;
}

:is(.start-page--beginner, .youth-page) .start-floating-jump--stages {
    background: rgba(244,178,51,.96);
    color: var(--fc-purple-dark);
}

:is(.start-page--beginner, .youth-page) .start-floating-jump--stages:hover,
:is(.start-page--beginner, .youth-page) .start-floating-jump--stages:focus-visible {
    background: rgba(244,178,51,1);
    color: var(--fc-purple-dark);
}

:is(.start-page--beginner, .youth-page) .start-floating-jump__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}

:is(.start-page--beginner, .youth-page) .start-floating-jump__icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

:is(.start-page--beginner, .youth-page) .start-floating-jump__hint {
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
}

@media (max-width: 980px) {
    :is(.start-page--beginner, .youth-page) .start-format-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .start-page--beginner .start-info-box--atelier,
    .start-page--beginner .start-info-box--course,
    .start-page--beginner .start-info-box--stage {
        display: none;
    }

    :is(.start-page--beginner, .youth-page) .start-info-box {
        padding: 22px;
    }

    :is(.start-page--beginner, .youth-page) .start-floating-jumps {
        right: 12px;
        bottom: 12px;
    }

    :is(.start-page--beginner, .youth-page) .start-floating-jump {
        min-width: 48px;
        height: 48px;
        padding: 0 12px;
    }

    :is(.start-page--beginner, .youth-page) .start-floating-jump__hint {
        font-size: .7rem;
    }
}
