.front-hero {
    margin-bottom: 220px;
    margin-top: 75px;
    background: url(../../img/hero_bg.webp) no-repeat center;
}
.front-hero-label {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-bottom: 35px;
    font-size: 0.875rem;
    line-height: 1.125rem;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    font-weight: 500;
}
.front-hero-label:before {
    content: '';
    width: 15px;
    height: 16px;
    background: url(../../img/sprite.svg) no-repeat -26px -160px;
}
.front-hero-title {
    text-align: center;
    margin-bottom: 24px;
    font-size: 7.5rem;
    line-height: 1;
    letter-spacing: -0.04em;
    color: rgba(0, 0, 0, 0.8);
}
.front-hero-title span {
    color: var(--color-primary);
}
.front-hero-text {
    max-width: 625px;
    margin: 0 auto 44px;
    text-align: center;
    line-height: 120%;
    font-size: 1rem;
    color: #000000CC;
}

.front-hero-btns {
    display: flex;
    justify-content: center;
    align-items: center;
}

.front-hero-btns .btn-primary:after {
    background-position: -114px -1px;
}

.front-hero .container {
    position: relative;
    padding-bottom: 147px;
}

.front-hero-info__item {
    position: absolute;
    min-width: 133px;
    padding: 32px;
    background: var(--color-muted-bg);
    box-shadow: 12px 50px 100px 0 rgba(12, 0, 213, 0.08);
    border-radius: 24px;
    text-align: center;
}
.front-hero-info__item-title {
    margin-bottom: 8px;
    font-size: 1.5rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.04em;
    color: var(--color-primary);
}
.front-hero-info__item-title--num {
    font-size: 2.75rem;
}
.front-hero-info__item-text {
    font-size: 0.875rem;
    letter-spacing: 0.01em;
}
.front-hero-info__item:nth-child(1) {
    top: 285px;
    left: 0;
}
.front-hero-info__item:nth-child(2) {
    bottom: 0;
    left: 107px;
}
.front-hero-info__item:nth-child(3) {
    top: 240px;
    right: 0;
}
.front-hero-info__item:nth-child(4) {
    bottom: 49px;
    right: 109px;
}

.section {
    padding-top: 110px;
    padding-bottom: 110px;
}
.section-header {
    margin-bottom: 100px;
}
.section-title {
    margin-top: 0;
    margin-bottom: 24px;
    font-size: 7.5rem;
    letter-spacing: -0.04em;
    line-height: 1;
    font-weight: 500;
    color: #000000CC;
    text-transform: uppercase;
}

.section-front-program .section-title {
    color: #000000D9;
}

.section-title span {
    color: var(--color-primary);
}

.section-label {
    margin-bottom: 24px;
}

.section-label span {
    display: inline-flex;
    gap: 4px;
    padding: 10px;
    color: #1539D3;
    font-size: 0.8125rem;
    line-height: 1.125rem;
    letter-spacing: -0.04em;
    font-weight: 500;
    text-transform: uppercase;
    border-radius: 12px;
    background: var(--color-muted-bg);
}
.section-label span:before {
    content: '';
    display: block;
    width: 15px;
    height: 16px;
    background: url(../../img/sprite.svg) no-repeat -4px -160px;
}
.section-subtitle p {
    color: rgba(0, 0, 0, 0.85);
}
.program-list__item {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 37px 44px;
    border-bottom: 1px solid #C2C2C2;
}
.program-list__num {
    width: 80px;
    font-size: 3.375rem;
    line-height: 3.75rem;
    font-weight: 600;
    color: #EEF0F7;
    letter-spacing: -0.04em;
}
.program-list__title {
    flex: 1;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}
.program-list__label {
    padding: 10px;
    border-radius: 12px;
    font-size: 0.875rem;
    letter-spacing: 0.01em;
    line-height: 1;
    text-wrap: nowrap;
}
.program-list__label--true {
    background: #E0FFEA;
}
.program-list__label--false {
    background: #EDF0FC;
}

.for-whom__row {
    display: flex;
    margin-bottom: 44px;
}
.for-whom__row:last-child {
    margin-bottom: 0;
}
.for-whom__row-2 {
    justify-content: space-between;
}
.for-whom__row-1 {
    justify-content: center;
}
.for-whom__item {
    width: 366px;
}
.for-whom__icon {
    position: relative;
    width: 56px;
    height: 56px;
    margin-bottom: 24px;
    background: var(--color-muted-bg);
    border-radius: 12px;
}
.for-whom__title {
    margin-bottom: 16px;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.2;
}
.for-whom__text {
    font-size: 1rem;
    line-height: 1.2;
    color: rgba(0, 0, 0, 0.7);
}
.for-whom__icon:after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
    width: 24px;
    height: 24px;
    margin-left: -12px;
    margin-top: -12px;
    background: url(../../img/whom.svg) no-repeat 0px 0px;
}
.for-whom__icon--1:after {
    background-position: -1px -1px;
}
.for-whom__icon--2:after {
    background-position: -33px -1px;
}
.for-whom__icon--3:after {
    background-position: -66px 0px;
}
.for-whom__icon--4:after {
    background-position: -99px 0px;
}
.for-whom__icon--5:after {
    background-position: -131px 0px;
}
.for-whom__icon--6:after {
    background-position: -165px -1px;
}


.section-author {
    background: url(../../img/author_bg_1.png) no-repeat 9% 87%;
}
.section-author__img img {
    width: 100%;
    height: auto;
    border-radius: 24px;
}
.section-author__content .section-subtitle {
    margin-bottom: 44px;
}
.section-author .section-subtitle p {
    color: rgba(0, 0, 0, 0.7);
}
.section-author__text p {
    margin-bottom: 20px;
    color: #000;
    font-size: 1.25rem;
    line-height: 1.2;
}
.section-author__info {
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: space-between;
}
.section-author__soc-label {
    margin-bottom: 20px;
    font-size: 1rem;
    line-height: 1.2;
    color: rgba(0, 0, 0, 0.7);
}

.section-price {
    padding-bottom: 220px;
    background: url(../../img/price_bg.png) no-repeat center;
}
.price-block {
    display: flex;
    align-items: center;
    gap: 44px;
    max-width: 907px;
    margin-left: auto;
    margin-right: auto;
}
.price-block__item {
    max-width: calc(50% - 22px);
    flex: 0 0 calc(50% - 22px);
    padding: 45px 40px;
    border-radius: 24px;
    box-shadow: 12px 50px 100px 0 rgba(12, 0, 213, 0.08);
}
.price-block__item--simple {
    background: #F4F5FC;
    color: #000;
}
.price-block__item--full {
    background: #181AC8;
    color: #fff;
}
.price-block__name {
    margin-bottom: 8px;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: -0.02em;
}
.price-block__price {
    margin-bottom: 24px;
    font-size: 2.75rem;
    font-weight: 900;
    letter-spacing: -0.05em;
}
.price-block__item--simple .price-block__price {
    color: #1539D3;
}
.price-block__text {
    margin-bottom: 24px;
    font-size: 0.875rem;
    letter-spacing: 0.01em;
}
.price-block__list ul {
    margin: 0;
    padding: 0;
}
.price-block__list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0;
    margin: 0;
    margin-bottom: 20px;
    list-style: none;
    letter-spacing: -0.02em;
    font-size: 0.875rem;
}
.price-block__item--full .price-block__list li {
    color: rgba(255, 255, 255, 0.9);
}
.price-block__list li:before {
    content: '';
    display: block;
    width: 19px;
    height: 19px;
    background: url(../../img/sprite.svg) no-repeat -79px -40px;
}
.price-block__list {
    margin-bottom: 32px;
}
.price-block__action .btn {
    width: 100%;
}
.price-block__info {
    padding-top: 24px;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: -0.05em;
}
.section-price .section-header {
    margin-bottom: 80px;
    text-align: center;
}
.section-price .section-subtitle p {
    color: rgba(0, 0, 0, 0.7);
}

.section-cert {
    padding: 200px 0 175px;
    background: var(--color-muted-bg);
}
.section-cert .section-label span {
    background: #fff;
}
.section-cert .section-subtitle p {
    color: rgba(0, 0, 0, 0.7);
}
.section-cert .section-title {
    color: rgba(0, 0, 0, 0.8);
}
.section-cert .section-header {
    margin-bottom: 80px;
}
.certificates-block {
    display: flex;
    align-items: center;
}
.certificates-view {
    flex: 0 0 50%;
    max-width: 50%;
}
.certificates-list {
    flex: 1;
    padding-left: 37px;
}
.certificates-stack {
    position: relative;
    min-height: 500px;
}
.certificate-image {
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: 1;
    pointer-events: none;
    transform: rotate(3.3deg);
    transition: transform 0.45s ease, opacity 0.45s ease;
}

.certificate-image img {
    display: block;
    width: 100%;
    height: auto;
    box-shadow: 12px 50px 100px 0 rgba(12, 0, 213, 0.08);
}

/* Текущий активный */
.certificate-image.active {
    z-index: 3;
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0) scale(1);
}

/* Следующий, который выглядывает */
.certificate-image.next {
    z-index: 2;
    opacity: 1;
    transform: translateX(20px) scale(0.98);
}

/* Уходящий */
.certificate-image.leaving {
    z-index: 4;
    opacity: 0;
    transform: translateX(-80px) scale(0.98);
}

.certificate-item {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 44px;
    text-align: left;
    border-bottom: 1px solid #B5B7BC
}
.certificate-item.active {
    border-color: #1539D3;
}
.certificate-item__num {
    padding: 14px 18px;
    font-size: 1.5rem;
    font-weight: 700;
    color: #1539D3;
    background: #fff;
    border-radius: 12px;
    letter-spacing: 0.01em;
}
.certificate-item__content {
    flex: 1;
}
.certificate-item__content > span {
    display: block;
}
.certificate-item__title {
    margin-bottom: 10px;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}
.certificate-item__text {
    color: rgba(0, 0, 0, .7);
}
.section-cta {
    padding-top: 220px;
    padding-bottom: 220px;
    text-align: center;
    background: url(../../img/cta_bg_1.png) no-repeat center;
}
.section-cta .section-subtitle {
    max-width: 790px;
    margin-left: auto;
    margin-right: auto;
}
.section-cta .section-subtitle p {
    color: rgba(0, 0, 0, 0.7);
}
.section-cta__btns {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
}


.section-videos {
    padding-top: 0;
    overflow: hidden;
}
.section-videos .container {
    position: relative;
}
.section-videos .container:before {
    content: '';
    position: absolute;
    right: 100%;
    z-index: 1;
    display: block;
    width: 1990px;
    height: 100%;
    margin-right: -16px;
    background: #fff;
}
.videos-slider .slick-list {
    overflow: visible;
}
.videos-slider {
    padding-bottom: 92px;
}
.videos-slider .slick-prev,
.videos-slider .slick-next {
    top: initial;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 62px;
    height: 60px;
    transform: none;
    z-index: 2;
    opacity: 1;
    
}
.videos-slider .slick-next {
    left: 62px;
}
.videos-slider .slick-prev:before, 
.videos-slider .slick-next:before {
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    opacity: 1;
    background: url(../../img/sprite.svg) 0px -1px;
}
.slick-prev.slick-disabled:before, 
.slick-next.slick-disabled:before {
    opacity: 0.6;
}
.videos-slider .slick-next:before {
    background-position: -38px -1px;
}

@media (max-width: 1479px) {
    .section-title,
    .front-hero-title {
        font-size: 5.5rem;
    }
    .front-hero {
        margin-bottom: 200px;
    }
    .section {
        padding-top: 100px;
        padding-bottom: 100px;
    }
    .section-price {
        padding-bottom: 200px;
    }
    .section-cta {
        padding-top: 200px;
        padding-bottom: 200px;
    }
    .section-videos {
        padding-top: 0;
    }
}

@media (max-width: 1199px) {
    .section-title, 
    .front-hero-title {
        font-size: 4.5rem;
    }
    .front-hero-info__item:nth-child(1) {
        top: 200px;
    }
    .front-hero-info__item:nth-child(2) {
        left: 107px;
    }
    .front-hero-info__item:nth-child(3) {
        top: 160px;
        right: 0;
    }
    .front-hero-info__item:nth-child(4) {
        bottom: 70px;
        right: 65px;
    }
    .front-hero-info__item-title {
        font-size: 1.25rem;
    }
    .front-hero-info__item-title--num {
        font-size: 2rem;
    }
    .front-hero {
        margin-bottom: 160px;
        margin-top: 50px;
    }
    .videos-slider__item {
        max-width: 750px;
    }
    .section {
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .section-videos {
        padding-top: 0;
    }
    .section-price {
        padding-bottom: 160px;
    }
    .section-cta {
        padding: 160px 0;
    }
    .certificates-stack {
        min-height: 355px;
    }
    .certificate-item {
        padding: 24px;
    }
    .certificate-item__title {
        font-size: 1.25rem;
    }
}
@media (max-width: 991px) {
    .front-hero-info__items {
        display: grid;
        align-items: start;
        justify-items: center;
        grid-template-columns: 50% 50%;
    }
    .front-hero-info__item {
        position: static;
    }
    .front-hero-info__item:nth-child(1) {
        order: 3;
    }
    .front-hero-info__item:nth-child(2) {
        order: 4;
        margin-top: 66px;
    }
    .front-hero-info__item:nth-child(3) {
        order: 2;
        margin-top: 66px;
    }
    .front-hero-info__item:nth-child(4) {
        order: 1;
    }
    .front-hero-info {
        padding-top: 44px;
    }
    .section-title, .front-hero-title {
        font-size: 3rem;
    }
    .front-hero-label {
        margin-bottom: 16px;
        font-size: 0.8125rem;
    }
    .front-hero {
        margin-bottom: 0;
        margin-top: 35px;
        padding-bottom: 100px;
    }
    .front-hero .container {
        padding-bottom: 0;
    }
    .section {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .section-header {
        margin-bottom: 24px;
    }
    .videos-slider__link img {
        max-width: 500px;
    }
    .program-list__item {
        padding: 32px;
    }
    .program-list__title {
        font-size: 1.25rem;
    }
    .program-list__num {
        width: 66px;
        font-size: 3rem;
        line-height: 1;
    }
    .section-label span {
        font-size: 0.6825rem;
    }
    .section-author .row {
        flex-direction: column-reverse;
        position: relative;
        padding-bottom: 110px;
    }
    .section-author__soc {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translate(-50%);
    }
    .section-author__content {
        margin-bottom: 32px;
    }
    .section-author__text p {
        font-size: 1rem;
    }
    .section-price {
        padding-bottom: 80px;
    }
    .section-cta,
    .section-cert {
        padding: 80px 0;
    }
}
@media (max-width: 767px) {
    .section {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .section-videos {
        padding-top: 0;
    }
    .front-hero {
        margin-top: 0;
        padding-bottom: 60px;
        padding-top: 24px;
        background: none;
    }
    .region-front-page-content {
        background: url(../../img/bg-mob.png) no-repeat 50% -100px;
    }
    .section-title, .front-hero-title {
        margin-bottom: 14px;
    }
    .front-hero-label {
        margin-bottom: 15px;
    }
    .front-hero-title {
        font-size: 2.375rem;
    }
    .section-title {
        font-size: 2rem;
    }
    .front-hero-text {
        width: 100%;
        margin-bottom: 24px;
        font-size: 0.8125rem;
    }
    .front-hero-info {
        padding-top: 24px;
    }
    .front-hero-info__item {
        max-width: 144px;
        border-radius: 12px;
        padding: 12px;
    }
    .front-hero-info__item:nth-child(3),
    .front-hero-info__item:nth-child(2) {
        margin-top: 60px;
    }
    .front-hero-info__item:nth-child(1) {
        margin-top: 30px;
    }
    .front-hero-info__item-text {
        font-size: 0.75rem;
    }
    .front-hero-info__item br {
        display: none;
    }
    .videos-slider {
        padding-bottom: 33px;
    }
    .videos-slider .slick-prev, 
    .videos-slider .slick-next {
        width: 18px;
        height: 18px;
    }
    .videos-slider .slick-prev {
        left: 50%;
        margin-left: -30px;
    }
    .videos-slider .slick-next {
        left: initial;
        right: 50%;
        margin-right: -30px;
    }
    .videos-slider .slick-prev:before, 
    .videos-slider .slick-next:before {
        width: 100%;
        height: 100%;
    }
    .videos-slider .slick-prev:before {
        background-position: -135px -40px;
    }
    .videos-slider .slick-next:before {
        background-position: -161px -40px;
    }
    .section-label {
        margin-bottom: 12px;
    }
    .section-label span {
        padding: 6px;
    }
    .section-front-program .social-block,
    .section-front-whom .section-title .btn,
    .section-front-whom .section-title br {
        display: none;
    }
    .section-front-program .section-header {
        margin-bottom: 0;
    }
    .program-list__item {
        position: relative;
        gap: 6px;
        padding: 27px 10px 16px;
        margin-bottom: 8px;
    }
    .program-list__num {
        width: 33px;
        font-size: 1.5rem;
    }
    .program-list__label {
        position: absolute;
        right: 0;
        top: 0;
        padding: 6px;
        border-radius: 6px;
        font-size: 0.625rem
    }
    .program-list__title {
        font-size: 0.875rem;
    }
    .section-front-whom .section-header {
        margin-bottom: 44px;
    }
    .for-whom__row {
        display: block;
    }
    .for-whom__item {
        width: 100%;
        margin-bottom: 32px;
    }
    .for-whom__icon {
        width: 52px;
        height: 52px;
        margin-bottom: 14px;
    }
    .for-whom__title {
        font-size: 1.25rem;
        margin-bottom: 12px;
    }
    .for-whom__text {
        font-size: 0.875rem;
    }
    .section-author__content .section-subtitle {
        margin-bottom: 32px;
    }
    .section-author__text p:last-child {
        margin-bottom: 0;
    }
    
    .section-price {
        padding-bottom: 60px;
    }
    .price-block {
        flex-direction: column;
        gap: 24px;
    }
    .price-block__item {
        flex: 1;
        max-width: 100%;
        width: 500px;
        padding: 32px 20px;
    }
    .price-block__name {
        margin-bottom: 10px;
        font-size: 1.25rem;
    }
    .price-block__price {
        margin-bottom: 12px;
        font-size: 2rem;
    }
    .price-block__list li {
        font-size: 0.875rem;
    }
    .price-block__info {
        padding-top: 19px;
        text-align: center;
    }
    
    .section-cta, .section-cert {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .section-cert .section-header {
        margin-bottom: 42px;
        text-align: center;
    }
    .certificates-block {
        display: block;
    }
    .certificates-view {
        max-width: 100%;
        display: flex;
        justify-content: center;
        margin-bottom: 42px;
    }
    .certificates-stack {
        min-height: initial; 
        height: 380px;
        width: 100%;
        max-width: 500px;
    }
    .certificates-list {
        padding-left: 0;
    }
    .certificate-item {
        width: 100%;
        padding: 12px 10px;
        gap: 12px;
    }
    .certificate-item__num {
        padding: 12px;
        font-size: 1rem;
    }
    .certificate-item__title {
        font-size: 1rem;
        margin-bottom: 8px;
    }
    .certificate-item__text {
        font-size: 0.875rem;
    }
    .section-author__soc-label {
        text-align: center;
    }
    .section-cta {
        background: none;
    }
    .section-price .section-header {
        margin-bottom: 32px;
    }
    .for-whom-btns .btn,
    .price-block__action .btn,
    .section-cta__btns .btn {
        padding: 22px;
        font-size: 1rem;
    }
}
@media (max-width: 540px) {
    .front-hero-btns {
        flex-direction: column;
        gap: 12px;
    }
    .front-hero-btns .btn {
        min-width: 236px;
    }
    .videos-slider__item {
        max-width: 320px;
        padding-right: 10px;
    }
    .videos-slider__link img {
        max-width: 100%;
    }
    .section-author__soc-label {
        font-size: 0.875rem
    }
    .certificates-stack {
        height: auto;
    }
    .certificates-stack {
        position: relative;
    }

    .certificates-stack::before {
        content: "";
        display: block;
        padding-top: 70.7%; /* 1 / 1.414 * 100 */
    }

    .certificate-image {
        position: absolute;
        inset: 0;
    }
    .section-cta__btns {
        flex-direction: column;
        gap: 12px;
    }
    .section-author__content .section-title {
        word-spacing: 100vw;
    }
    .section-cta__btns .btn {
        min-width: 269px;
    }
}
@media (max-width: 340px) {
    .front-hero-title {
        font-size: 2rem;
    }
    .section-title {
        font-size: 1.8rem;
    }
    .front-hero-label {
        font-size: 0.7rem;
    }
}