

/* Start:/local/templates/online20/assets/css/teachers.css?178643941776165*/
/* Toteachers page */

.tt-page {
    overflow: hidden;
    color: #292730;
    background: #ffffff;
}

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

.tt-page h1,
.tt-page h2,
.tt-page h3,
.tt-page p,
.tt-page ul {
    margin-top: 0;
}

.tt-page h1,
.tt-page h2,
.tt-page h3,
.tt-page p,
.tt-page li {
    hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
}

.tt-page h2 {
    padding-bottom: 20px;
}

.tt-shell {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.tt-section {
    position: relative;
    padding: 92px 0;
    background: #ffffff;
}

.tt-section--soft {
    background:
        radial-gradient(circle at 0 20%, rgba(79, 201, 227, .13), transparent 28%),
        radial-gradient(circle at 100% 85%, rgba(128, 93, 235, .11), transparent 30%),
        #f4f2f9;
}

.tt-section--steps {
    background:
        linear-gradient(135deg, rgba(255, 191, 50, .12), transparent 44%),
        #ffffff;
}

.tt-section--reviews {
    background:
        radial-gradient(circle at 88% 10%, rgba(251, 92, 92, .12), transparent 25%),
        #ffffff;
}

.tt-eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    margin-bottom: 20px;
    padding: 9px 16px;
    color: #6945db;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    border: 1px solid rgba(128, 93, 235, .22);
    border-radius: 999px;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 8px 24px rgba(128, 93, 235, .08);
}

.tt-title,
.tt-hero__title {
    margin-bottom: 0;
    color: #292730;
    font-weight: 850;
    line-height: 1.08;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.tt-title {
    max-width: 850px;
    font-size: clamp(32px, 4.4vw, 54px);
}

.tt-subtitle {
    max-width: 790px;
    margin: 22px 0 0;
    color: #67636f;
    font-size: 18px;
    line-height: 1.65;
}

.tt-section-head {
    margin-bottom: 46px;
}

.tt-section-head--wide {
    max-width: 900px;
}

.tt-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 135px 0 82px;
    background:
        radial-gradient(circle at 8% 16%, rgba(79, 201, 227, .27), transparent 29%),
        radial-gradient(circle at 91% 10%, rgba(128, 93, 235, .22), transparent 27%),
        radial-gradient(circle at 82% 92%, rgba(255, 191, 50, .22), transparent 28%),
        linear-gradient(135deg, #f4f2f9 0%, #ffffff 57%, #f4f2f9 100%);
}

.tt-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 70px;
    right: -95px;
    width: 280px;
    height: 280px;
    border: 44px solid rgba(251, 92, 92, .1);
    border-radius: 50%;
}

.tt-hero__box {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr);
    gap: 52px;
    align-items: center;
}

.tt-hero__content {
    position: relative;
    z-index: 2;
}

.tt-hero__title {
    max-width: 760px;
    font-size: clamp(42px, 6vw, 76px);
}

.tt-hero__title::after {
    content: "";
    display: none;
    width: 118px;
    height: 8px;
    margin-top: 28px;
    border-radius: 999px;
    background: linear-gradient(90deg, #fb5c5c, #ffbf32, #4fc9e3, #805deb);
}

.tt-hero__lead {
    max-width: 720px;
    margin-top: 28px;
    color: #625e69;
    font-size: clamp(19px, 2vw, 23px);
    line-height: 1.62;
}

.tt-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
    padding-bottom: 30px;
}

.tt-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 15px 26px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    border: 2px solid transparent;
    border-radius: 999px;
    cursor: pointer;
    transition: transform .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.tt-button--primary {
    color: #ffffff;
    font-size: 16px;
    border-color: #fb5c5c;
    background: #fb5c5c;
    box-shadow: 0 12px 28px rgba(251, 92, 92, .23);
    margin: 0 0 25px 0;
}

.tt-button--primary:hover {
    color: #ffffff;
    text-decoration: none;
    border-color: #805deb;
    background: #805deb;
    box-shadow: 0 14px 30px rgba(128, 93, 235, .24);
    transform: translateY(-3px);
}

.tt-button--light {
    color: #805deb;
    border-color: #805deb;
    background: rgba(255, 255, 255, .9);
}

.tt-button--light:hover {
    color: #ffffff;
    text-decoration: none;
    background: #805deb;
}

.tt-hero__trust {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 22px;
    margin: 30px 0 0;
    padding: 0;
    color: #5f5a66;
    list-style: none;
}

.tt-hero__trust li {
    position: relative;
    padding-left: 24px;
    font-size: 15px;
    font-weight: 650;
}

.tt-hero__trust li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #805deb;
    font-weight: 900;
}

.tt-hero__visual {
    position: absolute;
    bottom: 0;
    right: 50px;
    display: flex;
    min-width: 0;
    min-height: 500px;
    align-items: flex-end;
    justify-content: center;
    align-self: stretch;
}

.tt-hero__visual picture {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
}

.tt-hero__visual img {
    position: relative;
    z-index: 2;
    display: block;
    width: auto;
    max-width: 100%;
    height: min(650px, 43vw);
    min-height: 440px;
    margin: 0 auto;
    object-fit: contain;
    object-position: center bottom;
}

.tt-hero__placeholder {
    position: relative;
    z-index: 2;
    display: grid;
    width: min(420px, 90%);
    aspect-ratio: 1;
    place-items: center;
    color: #ffffff;
    font-size: clamp(76px, 10vw, 140px);
    font-weight: 900;
    border: 12px solid rgba(255, 255, 255, .65);
    border-radius: 42% 58% 58% 42% / 44% 43% 57% 56%;
    background: linear-gradient(135deg, #805deb, #4fc9e3);
    box-shadow: 0 28px 60px rgba(128, 93, 235, .22);
}

.tt-decor {
    position: absolute;
    display: block;
    border-radius: 50%;
}

.tt-decor--one {
    top: 4%;
    left: 3%;
    width: 70px;
    height: 70px;
    background: #ffbf32;
}

.tt-decor--two {
    right: 0;
    bottom: 8%;
    width: 92px;
    height: 92px;
    border: 18px solid rgba(251, 92, 92, .32);
}

.tt-decor--three {
    top: 17%;
    right: 3%;
    width: 42px;
    height: 42px;
    background: #4fc9e3;
}

.tt-benefits {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.tt-benefit {
    position: relative;
    overflow: hidden;
    min-height: 250px;
    padding: 34px;
    border: 1px solid rgba(128, 93, 235, .13);
    border-radius: 30px;
    box-shadow: 0 14px 36px rgba(74, 61, 115, .07);
}

.tt-benefit--1 {
    background: rgba(79, 201, 227, .12);
}

.tt-benefit--2 {
    background: rgba(255, 191, 50, .16);
}

.tt-benefit--3 {
    background: rgba(251, 92, 92, .11);
}

.tt-benefit--4 {
    background: rgba(128, 93, 235, .11);
}

.tt-benefit__number {
    display: inline-grid;
    width: 52px;
    height: 52px;
    margin-bottom: 26px;
    place-items: center;
    color: #ffffff;
    font-size: 16px;
    font-weight: 900;
    border-radius: 16px;
    background: #805deb;
}

.tt-benefit h3 {
    margin-bottom: 14px;
    color: #292730;
    font-size: 25px;
    font-weight: 850;
    line-height: 1.25;
}

.tt-benefit p {
    margin-bottom: 0;
    color: #5f5a66;
    font-size: 17px;
    line-height: 1.68;
}

.tt-split {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 50px;
    align-items: start;
}

.tt-requirements {
    padding: 38px;
    border: 1px solid rgba(128, 93, 235, .14);
    border-radius: 32px;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(74, 61, 115, .09);
}

.tt-requirements h3 {
    margin-bottom: 24px;
    color: #292730;
    font-size: 26px;
    font-weight: 850;
}

.tt-requirements ul {
    display: grid;
    gap: 17px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tt-requirements li {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 12px;
    color: #524d59;
    font-size: 17px;
    line-height: 1.58;
}

.tt-requirements li>span {
    display: grid;
    width: 26px;
    height: 26px;
    place-items: center;
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
    border-radius: 50%;
    background: #fb5c5c;
}

.tt-condition-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.tt-condition {
    display: flex;
    min-height: 160px;
    align-items: flex-start;
    gap: 18px;
    padding: 28px;
    border: 1px solid rgba(128, 93, 235, .14);
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 12px 32px rgba(74, 61, 115, .06);
}

.tt-condition__icon {
    display: grid;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    place-items: center;
    color: #ffffff;
    font-size: 22px;
    border-radius: 15px;
    background: linear-gradient(135deg, #805deb, #4fc9e3);
}

.tt-condition>div {
    color: #524d59;
    font-size: 17px;
    line-height: 1.6;
}

.tt-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.tt-step {
    position: relative;
    min-height: 270px;
    padding: 30px;
    border: 1px solid rgba(128, 93, 235, .14);
    border-radius: 28px;
    background: #ffffff;
    box-shadow: 0 14px 36px rgba(74, 61, 115, .07);
}

.tt-step__number {
    display: inline-block;
    margin-bottom: 34px;
    color: #805deb;
    font-size: 42px;
    font-weight: 900;
    line-height: 1;
    opacity: .32;
}

.tt-step h3 {
    margin-bottom: 14px;
    color: #292730;
    font-size: 22px;
    font-weight: 850;
    line-height: 1.3;
}

.tt-step p {
    margin-bottom: 0;
    color: #625d69;
    font-size: 16px;
    line-height: 1.65;
}

.tt-faq {
    display: grid;
    grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
    gap: 54px;
    align-items: start;
}

.tt-faq__list {
    display: grid;
    gap: 14px;
}

.tt-faq__item {
    overflow: hidden;
    border: 1px solid rgba(128, 93, 235, .15);
    border-radius: 22px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 9px 26px rgba(74, 61, 115, .05);
}

.tt-faq__item.is-open {
    border-color: #805deb;
    box-shadow: 0 14px 34px rgba(128, 93, 235, .12);
}

.tt-faq__item h3 {
    margin: 0;
}

.tt-faq__question {
    position: relative;
    width: 100%;
    padding: 23px 62px 23px 24px;
    color: #292730;
    font: inherit;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.45;
    text-align: left;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.tt-faq__question::before,
.tt-faq__question::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 25px;
    width: 16px;
    height: 2px;
    background: #805deb;
    transform: translateY(-50%);
}

.tt-faq__question::after {
    transform: translateY(-50%) rotate(90deg);
    transition: transform .2s ease;
}

.tt-faq__item.is-open .tt-faq__question::after {
    transform: translateY(-50%) rotate(0);
}

.tt-faq__answer {
    display: none;
    padding: 0 24px 24px;
}

.tt-faq__item.is-open .tt-faq__answer {
    display: block;
}

.tt-faq__answer p {
    margin-bottom: 0;
    color: #605b67;
    font-size: 17px;
    line-height: 1.68;
}

.tt-review-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.tt-review-card {
    position: relative;
    display: flex;
    overflow: hidden;
    flex-direction: column;
    min-height: 100%;
    padding: 30px;
    border: 1px solid rgba(128, 93, 235, .14);
    border-radius: 30px;
    background:
        linear-gradient(145deg, #ffffff 30%, rgba(128, 93, 235, .07));
    box-shadow: 0 15px 38px rgba(74, 61, 115, .08);
}

.tt-review-card__quote {
    height: 42px;
    color: #fb5c5c;
    font-family: Georgia, serif;
    font-size: 70px;
    font-weight: 700;
    line-height: .8;
}

.tt-review-card__text {
    flex: 1;
    color: #514c58;
    font-size: 17px;
    line-height: 1.7;
}

.tt-review-card__more {
    align-self: flex-start;
    margin-top: 18px;
    padding: 0;
    color: #805deb;
    font: inherit;
    font-size: 15px;
    font-weight: 800;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.tt-review-card__author {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid rgba(128, 93, 235, .12);
}

.tt-review-card__author img,
.tt-review-modal__author img {
    border-radius: 50%;
    object-fit: cover;
}

.tt-review-card__author strong {
    display: block;
    color: #292730;
    font-size: 17px;
}

.tt-review-card__author span,
.tt-review-modal__author span {
    display: block;
    margin-top: 4px;
    color: #77717d;
    font-size: 14px;
}

.tt-review-modal[hidden] {
    display: none;
}

.tt-review-modal {
    position: fixed;
    z-index: 99999;
    inset: 0;
    display: grid;
    padding: 20px;
    place-items: center;
}

.tt-review-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(28, 24, 38, .72);
    backdrop-filter: blur(5px);
}

.tt-review-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(680px, 100%);
    max-height: calc(100vh - 40px);
    overflow: auto;
    padding: 38px;
    border-radius: 30px;
    background: #ffffff;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .25);
}

.tt-review-modal__close {
    position: absolute;
    top: 16px;
    right: 18px;
    width: 42px;
    height: 42px;
    color: #292730;
    font-size: 30px;
    border: 0;
    border-radius: 50%;
    background: #f4f2f9;
    cursor: pointer;
}

.tt-review-modal__author {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-right: 45px;
}

.tt-review-modal__author h3 {
    margin: 0;
    color: #292730;
    font-size: 23px;
}

.tt-review-modal__text {
    margin-top: 26px;
    color: #514c58;
    font-size: 18px;
    line-height: 1.75;
}

body.tt-modal-open {
    overflow: hidden;
}

.tt-apply {
    background: #ffffff;
}

.tt-apply__box {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: 46px;
    padding: 52px;
    color: #ffffff;
    border-radius: 38px;
    background:
        radial-gradient(circle at 5% 5%, rgba(255, 191, 50, .3), transparent 24%),
        linear-gradient(135deg, #805deb 0%, #4fc9e3 100%);
    box-shadow: 0 24px 58px rgba(128, 93, 235, .2);
}

.tt-apply__intro .tt-eyebrow {
    color: #ffffff;
    border-color: rgba(255, 255, 255, .35);
    background: rgba(255, 255, 255, .12);
}

.tt-apply__intro .tt-title {
    color: #ffffff;
}

.tt-apply__intro>p,
.tt-apply__intro li {
    color: rgba(255, 255, 255, .88);
    font-size: 17px;
    line-height: 1.65;
}

.tt-apply__intro ul {
    display: grid;
    gap: 10px;
    margin: 26px 0 0;
    padding-left: 22px;
}

.tt-form {
    padding: 34px;
    color: #292730;
    border-radius: 30px;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(50, 35, 100, .18);
}

.tt-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.tt-field {
    min-width: 0;
}

.tt-field--full {
    grid-column: 1 / -1;
}

.tt-field label {
    display: block;
    margin-bottom: 8px;
    color: #3e3944;
    font-size: 14px;
    font-weight: 800;
}

.tt-field label span {
    color: #fb5c5c;
}

.tt-field input,
.tt-field textarea {
    width: 100%;
    min-height: 52px;
    padding: 13px 15px;
    color: #292730;
    font-size: 14px;
    border: 1px solid #dcd7e5;
    border-radius: 14px;
    outline: none;
    background: #ffffff;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.tt-field textarea {
    min-height: 130px;
    resize: vertical;
}

.tt-field input:focus,
.tt-field textarea:focus {
    border-color: #805deb;
    box-shadow: 0 0 0 4px rgba(128, 93, 235, .11);
}

.tt-field input.is-invalid,
.tt-field textarea.is-invalid {
    border-color: #fb5c5c;
}

.tt-field__error {
    display: none;
    margin-top: 6px;
    color: #d93c3c;
    font-size: 13px;
    line-height: 1.4;
}

.tt-field__error.is-visible {
    display: block;
}

.tt-file {
    display: flex !important;
    min-height: 58px;
    align-items: center;
    gap: 14px;
    margin: 0 !important;
    padding: 8px;
    border: 1px dashed rgba(128, 93, 235, .45);
    border-radius: 15px;
    background: #f4f2f9;
    cursor: pointer;
}

.tt-file__button {
    flex: 0 0 auto;
    padding: 11px 15px;
    color: #ffffff !important;
    border-radius: 11px;
    background: #805deb;
}

.tt-form__submit-text {
    font-size: 16px;
}

.tt-file__name {
    min-width: 0;
    overflow: hidden;
    color: #625d69 !important;
    font-weight: 600 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tt-file__input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    clip-path: inset(50%) !important;
}

.tt-consent {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin-top: 24px;
    color: #625d69;
    font-size: 14px;
    line-height: 1.55;
    cursor: pointer;
}

.tt-consent input[type="checkbox"] {
    position: relative;
    display: block;
    flex: 0 0 20px;
    width: 20px !important;
    min-width: 20px;
    height: 20px !important;
    min-height: 20px;
    margin: 2px 0 0;
    padding: 0;
    opacity: 1;
    visibility: visible;
    appearance: auto;
    -webkit-appearance: checkbox;
    accent-color: #805deb;
    border: initial;
    border-radius: 3px;
    background: initial;
    box-shadow: none;
    cursor: pointer;
}

.tt-consent input[type="checkbox"]:focus-visible {
    outline: 3px solid rgba(128, 93, 235, .25);
    outline-offset: 3px;
}

.tt-consent span {
    display: block;
    min-width: 0;
}

.tt-consent a {
    color: #805deb;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.tt-form__status {
    display: none;
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 13px;
    font-size: 14px;
    line-height: 1.5;
}

.tt-form__status.is-success,
.tt-form__status.is-error {
    display: block;
}

.tt-form__status.is-success {
    color: #25744a;
    background: #e9f8ef;
}

.tt-form__status.is-error {
    color: #a92727;
    background: #fff0f0;
}

.tt-form__submit {
    width: 100%;
    margin-top: 22px;
}

.tt-form__submit-loading {
    display: none;
}

.tt-form.is-loading .tt-form__submit-text {
    display: none;
}

.tt-form.is-loading .tt-form__submit-loading {
    display: inline;
}

.tt-form.is-loading .tt-form__submit {
    pointer-events: none;
    opacity: .72;
}

.tt-honeypot {
    position: absolute !important;
    left: -99999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.iti {
    width: 100%;
}

.iti input {
    width: 100%;
}

@media (max-width: 1050px) {

    .tt-hero__box,
    .tt-split,
    .tt-faq,
    .tt-apply__box {
        grid-template-columns: 1fr;
    }

    .tt-hero__visual {
        display: none;
        min-height: 420px;
        align-items: center;
    }

    .tt-hero__visual img {
        width: auto;
        max-width: min(620px, 92%);
        height: auto;
        max-height: 560px;
        min-height: 0;
        object-position: center;
    }

    .tt-decor--one {
        top: 5%;
        left: 10%;
    }

    .tt-decor--two {
        right: 8%;
        bottom: 5%;
    }

    .tt-decor--three {
        top: 14%;
        right: 12%;
    }

    .tt-condition-grid,
    .tt-review-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tt-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .tt-section {
        padding: 66px 0;
    }

    .tt-hero {
        padding: 72px 0 62px;
    }

    .tt-hero__box {
        gap: 36px;
    }

    .tt-hero__visual {
        min-height: 330px;
        margin-top: 2px;
        align-items: flex-end;
    }

    .tt-hero__visual picture {
        width: 100%;
    }

    .tt-hero__visual img {
        width: auto;
        max-width: min(430px, 100%);
        height: auto;
        max-height: 430px;
        min-height: 0;
        margin: 0 auto;
        object-position: center bottom;
    }

    .tt-decor--one {
        top: 7%;
        left: 3%;
        width: 46px;
        height: 46px;
    }

    .tt-decor--two {
        right: 0;
        bottom: 3%;
        width: 66px;
        height: 66px;
        border-width: 12px;
    }

    .tt-decor--three {
        top: 17%;
        right: 2%;
        width: 30px;
        height: 30px;
    }

    .tt-benefits,
    .tt-condition-grid,
    .tt-steps,
    .tt-review-grid,
    .tt-form__grid {
        grid-template-columns: 1fr;
    }

    .tt-field--full {
        grid-column: auto;
    }

    .tt-benefit,
    .tt-condition,
    .tt-step,
    .tt-review-card,
    .tt-requirements {
        padding: 25px;
    }

    .tt-apply__box {
        padding: 28px 22px;
        border-radius: 28px;
    }

    .tt-form {
        padding: 24px 20px;
    }

    .tt-button {
        width: 100%;
    }

    .tt-review-modal__dialog {
        padding: 30px 22px;
    }


    .tt-consent {
        grid-template-columns: 22px minmax(0, 1fr);
        gap: 10px;
        font-size: 13px;
        line-height: 1.5;
    }

    .tt-consent input[type="checkbox"] {
        width: 19px !important;
        min-width: 19px;
        height: 19px !important;
        min-height: 19px;
    }
}


@media (max-width: 480px) {
    .tt-hero__visual {
        min-height: 285px;
    }

    .tt-hero__visual img {
        max-width: 360px;
        max-height: 360px;
    }

    .tt-decor--one {
        width: 38px;
        height: 38px;
    }

    .tt-decor--two {
        width: 54px;
        height: 54px;
        border-width: 10px;
    }

    .tt-decor--three {
        width: 24px;
        height: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .tt-button,
    .tt-faq__question::after {
        transition: none;
    }
}

/* ==========================================================================
   Финальный CTA для страницы преподавателей
   Добавьте этот блок в конец assets/css/teachers.css
   ========================================================================== */

.tt-email-cta-section {
    padding-top: 56px;
    padding-bottom: 72px;
}

.tt-email-cta {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
    gap: 48px;
    align-items: center;
    padding: 56px;
    border-radius: 42px;
    background:
        radial-gradient(circle at 8% 12%, rgba(128, 93, 235, 0.34), transparent 32%),
        linear-gradient(120deg, #805deb 0%, #6d8bea 48%, #4fc9e3 100%);
    overflow: hidden;
}

.tt-email-cta__content {
    min-width: 0;
}

.tt-email-cta__eyebrow {
    display: inline-flex;
    margin-bottom: 24px;
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.38);
    background: rgba(255, 255, 255, 0.10);
}

.tt-email-cta__title {
    max-width: 760px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(44px, 4.4vw, 72px);
    line-height: 0.98;
    letter-spacing: -0.035em;
}

.tt-email-cta__lead {
    max-width: 720px;
    margin: 28px 0 0;
    color: rgba(255, 255, 255, 0.92);
    font-size: clamp(19px, 1.55vw, 27px);
    line-height: 1.5;
}

.tt-email-cta__tips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}

.tt-email-cta__tips span {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, 0.30);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    font-size: 16px;
    line-height: 1.25;
}

.tt-email-cta__card {
    min-width: 0;
    padding: 38px;
    border-radius: 32px;
    background: #ffffff;
    box-shadow: 0 24px 60px rgba(39, 31, 73, 0.16);
}

.tt-email-cta__card-label {
    margin-bottom: 10px;
    color: #6f6b79;
    font-size: 17px;
    line-height: 1.4;
}

.tt-email-cta__email {
    display: inline-block;
    max-width: 100%;
    color: #805deb;
    font-size: clamp(22px, 2vw, 31px);
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.tt-email-cta__email:hover,
.tt-email-cta__email:focus-visible {
    text-decoration: underline;
}

.tt-email-cta__card-text {
    margin: 24px 0 0;
    color: #5f5a68;
    font-size: 18px;
    line-height: 1.55;
}

.tt-email-cta__button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 62px;
    margin-top: 28px;
    text-align: center;
}

.tt-email-cta__note {
    margin: 16px 0 0;
    color: #817c89;
    font-size: 14px;
    line-height: 1.45;
    padding-top: 20px;
}

/* Планшеты */
@media (max-width: 1100px) {
    .tt-email-cta {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 44px;
    }

    .tt-email-cta__content {
        max-width: 820px;
    }

    .tt-email-cta__card {
        max-width: 760px;
    }
}

/* Мобильные */
@media (max-width: 767px) {
    .tt-email-cta-section {
        padding-top: 36px;
        padding-bottom: 48px;
    }

    .tt-email-cta {
        gap: 26px;
        padding: 26px 20px;
        border-radius: 28px;
    }

    .tt-email-cta__eyebrow {
        margin-bottom: 18px;
    }

    .tt-email-cta__title {
        font-size: clamp(36px, 11vw, 50px);
        line-height: 1.02;
    }

    .tt-email-cta__lead {
        margin-top: 20px;
        font-size: 18px;
        line-height: 1.5;
    }

    .tt-email-cta__tips {
        gap: 8px;
        margin-top: 22px;
    }

    .tt-email-cta__tips span {
        min-height: 38px;
        padding: 8px 12px;
        font-size: 14px;
    }

    .tt-email-cta__card {
        padding: 24px 20px;
        border-radius: 24px;
    }

    .tt-email-cta__email {
        font-size: 22px;
    }

    .tt-email-cta__card-text {
        margin-top: 18px;
        font-size: 16px;
    }

    .tt-email-cta__button {
        min-height: 56px;
        margin-top: 22px;
    }

    .tt-email-cta__note {
        font-size: 13px;
    }
}

/* Очень узкие экраны */
@media (max-width: 420px) {
    .tt-email-cta {
        padding: 22px 16px;
    }

    .tt-email-cta__card {
        padding: 22px 16px;
    }

    .tt-email-cta__email {
        font-size: 20px;
    }
}

/* ==========================================================================
   Исправление кнопок hh.ru и CTA на странице преподавателей
   Добавьте В САМЫЙ КОНЕЦ assets/css/teachers.css
   ========================================================================== */

/* --------------------------------------------------------------------------
   Первый экран: две кнопки одного масштаба
   -------------------------------------------------------------------------- */

.tt-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin-top: 32px;
}

.tt-hero__actions .tt-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 230px;
    min-height: 64px;
    padding: 16px 28px;
    border-radius: 999px;
    font-size: 18px;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
}

/* Основная кнопка */
.tt-hero__actions .tt-button--primary {
    border: 2px solid #fb5c5c;
    background: #fb5c5c;
    color: #ffffff;
}

/* hh.ru — вторичная, но такого же размера */
.tt-hero__actions .tt-button--light {
    border: 2px solid #805deb;
    background: #ffffff;
    color: #805deb;
    box-shadow: none;
}

.tt-hero__actions .tt-button--light:hover,
.tt-hero__actions .tt-button--light:focus-visible {
    background: #f4f2f9;
    color: #805deb;
    transform: translateY(-1px);
}

/* Преимущества под кнопками */
.tt-hero__trust {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 28px;
    margin-top: 28px;
    padding: 0;
}

.tt-hero__trust li {
    margin: 0;
    line-height: 1.4;
}

/* --------------------------------------------------------------------------
   Финальный блок: аккуратные кнопки в карточке
   -------------------------------------------------------------------------- */

.tt-email-cta__card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.tt-email-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 58px;
    padding: 15px 24px;
    border-radius: 999px;
    font-size: 17px;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
}

/* Основная кнопка отправки резюме */
.tt-email-cta__card .tt-email-cta__button.tt-button--primary {
    margin-top: 26px;
    border: 2px solid #fb5c5c;
    background: #fb5c5c;
    color: #ffffff;
    box-shadow: 0 12px 28px rgba(251, 92, 92, 0.18);
}

/* Кнопка hh.ru — вторичная */
.tt-email-cta__card .tt-email-cta__button--hh {
    margin-top: 12px;
    border: 2px solid rgba(128, 93, 235, 0.55);
    background: #ffffff;
    color: #805deb;
    box-shadow: none;
}

.tt-email-cta__card .tt-email-cta__button--hh:hover,
.tt-email-cta__card .tt-email-cta__button--hh:focus-visible {
    border-color: #805deb;
    background: #f4f2f9;
    color: #805deb;
    transform: translateY(-1px);
}

/* Техническая подсказка не должна прилипать к кнопке */
.tt-email-cta__note {
    margin: 18px 0 0;
    font-size: 14px;
    line-height: 1.5;
    color: #817c89;
}

/* --------------------------------------------------------------------------
   Планшеты
   -------------------------------------------------------------------------- */

@media (max-width: 1100px) {
    .tt-hero__actions .tt-button {
        min-width: 210px;
    }
}

/* --------------------------------------------------------------------------
   Мобильные
   -------------------------------------------------------------------------- */

@media (max-width: 767px) {
    .tt-hero__actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 26px;
    }

    .tt-hero__actions .tt-button {
        width: 100%;
        min-width: 0;
        min-height: 56px;
        padding: 14px 20px;
        font-size: 17px;
    }

    .tt-hero__trust {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        margin-top: 22px;
    }

    .tt-email-cta__button {
        min-height: 54px;
        padding: 14px 18px;
        font-size: 16px;
    }
}

/* --------------------------------------------------------------------------
   Очень узкие экраны
   -------------------------------------------------------------------------- */

@media (max-width: 420px) {
    .tt-hero__actions .tt-button,
    .tt-email-cta__button {
        font-size: 15px;
    }
}

/* ==========================================================================
   Финальная корректировка кнопок
   ========================================================================== */

.tt-hero__actions .tt-button {
    flex: 0 1 300px;
    width: 300px;
    min-width: 0;
    min-height: 64px;
    margin: 0 !important;
    padding: 16px 28px;
}

.tt-hero__actions .tt-button--primary,
.tt-hero__actions .tt-button--light {
    margin: 0 !important;
}

.tt-email-cta__card .tt-email-cta__button {
    width: 100%;
    min-height: 62px;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    padding: 15px 24px;
}

.tt-email-cta__card .tt-email-cta__button.tt-button--primary {
    margin-top: 26px !important;
}

.tt-email-cta__card .tt-email-cta__button--hh {
    margin-top: 14px !important;
}

@media (max-width: 767px) {
    .tt-hero__actions .tt-button {
        width: 100%;
        flex-basis: auto;
        min-height: 56px;
    }

    .tt-email-cta__card .tt-email-cta__button {
        min-height: 56px;
    }
}

/* Плашка под требованиями */
.tt-requirements__note {
    position: relative;
    margin-top: 32px;
    padding: 22px 24px 22px 28px;

    background: rgba(128, 93, 235, 0.07);
    border: 1px solid rgba(128, 93, 235, 0.16);
    border-radius: 18px;

    color: #625d6a;
    font-size: 16px;
    line-height: 1.6;
}

/* Небольшой цветовой акцент слева */
.tt-requirements__note::before {
    content: "";
    position: absolute;
    top: 18px;
    bottom: 18px;
    left: 0;

    width: 4px;
    border-radius: 0 4px 4px 0;
    background: #805deb;
}

.tt-requirements__note strong {
    display: block;
    margin-bottom: 5px;

    color: #2f2b35;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
}

/* Мобильные */
@media (max-width: 767px) {
    .tt-requirements__note {
        margin-top: 26px;
        padding: 18px 18px 18px 22px;

        border-radius: 16px;

        font-size: 15px;
        line-height: 1.55;
    }

    .tt-requirements__note::before {
        top: 15px;
        bottom: 15px;
    }

    .tt-requirements__note strong {
        font-size: 16px;
    }
}

.tt-hero__trust {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 28px;
    width: 100%;
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
}

@media (max-width: 767px) {
    .tt-hero__trust {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

.tt-email-cta__benefit {
    position: relative;

    margin: 22px 0 0;
    padding: 16px 18px 16px 46px;

    background: rgba(128, 93, 235, 0.07);
    border: 1px solid rgba(128, 93, 235, 0.12);
    border-radius: 16px;

    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.55;
}

/* Небольшой акцент */
.tt-email-cta__benefit::before {
    content: "✓";

    position: absolute;
    top: 16px;
    left: 18px;

    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.4;
}

@media (max-width: 767px) {
    .tt-email-cta__benefit {
        margin-top: 18px;
        padding: 14px 16px 14px 42px;

        border-radius: 14px;

        font-size: 15px;
        line-height: 1.5;
    }

    .tt-email-cta__benefit::before {
        top: 14px;
        left: 16px;
        font-size: 17px;
    }
}

/* Teachers page */

.team-page {
    overflow: hidden;
    color: #292730;
    background: #ffffff;
}

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

.team-page h1,
.team-page h2,
.team-page h3,
.team-page p,
.team-page ul {
    margin-top: 0;
}

.team-page h1,
.team-page h2,
.team-page h3,
.team-page p,
.team-page li {
    hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
}

.team-shell {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.team-section {
    position: relative;
    padding: 92px 0;
    background: #ffffff;
}

.team-section--soft {
    background:
        radial-gradient(circle at 0 20%, rgba(79, 201, 227, .12), transparent 28%),
        radial-gradient(circle at 100% 85%, rgba(128, 93, 235, .10), transparent 30%),
        #f4f2f9;
}

.team-eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    margin-bottom: 20px;
    padding: 9px 16px;
    color: #6945db;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    border: 1px solid rgba(128, 93, 235, .22);
    border-radius: 999px;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 8px 24px rgba(128, 93, 235, .08);
}

.team-title,
.team-hero__title {
    margin-bottom: 20px;
    color: #292730;
    font-weight: 850;
    line-height: 1.08;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.team-title {
    max-width: 880px;
    font-size: clamp(34px, 4.5vw, 56px);
}

.team-lead {
    max-width: 820px;
    margin: 22px 0 0;
    color: #67636f;
    font-size: 19px;
    line-height: 1.65;
}

.team-text {
    max-width: 790px;
    margin: 22px 0 0;
    color: #625d69;
    font-size: 17px;
    line-height: 1.72;
}

.team-section-head {
    margin-bottom: 46px;
}

.team-section-head--center {
    max-width: 900px;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.team-section-head--center .team-title,
.team-section-head--center .team-lead {
    margin-right: auto;
    margin-left: auto;
}

/* HERO */

.team-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 132px 0 84px;
    background:
        radial-gradient(circle at 8% 16%, rgba(79, 201, 227, .27), transparent 29%),
        radial-gradient(circle at 91% 10%, rgba(128, 93, 235, .22), transparent 27%),
        radial-gradient(circle at 82% 92%, rgba(255, 191, 50, .22), transparent 28%),
        linear-gradient(135deg, #f4f2f9 0%, #ffffff 57%, #f4f2f9 100%);
}

.team-hero__box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
    gap: 48px;
    align-items: center;
    min-height: 600px;
}

.team-hero__content {
    position: relative;
    z-index: 3;
}

.team-hero__title {
    max-width: 780px;
    font-size: clamp(44px, 5.8vw, 76px);
}

.team-hero__lead {
    max-width: 720px;
    margin: 28px 0 0;
    color: #625e69;
    font-size: clamp(19px, 2vw, 23px);
    line-height: 1.62;
}

.team-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 34px 0;
}

.team-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 60px;
    padding: 15px 26px;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    border: 2px solid transparent;
    border-radius: 999px;
    cursor: pointer;
    transition: transform .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.team-button--primary {
    color: #ffffff;
    border-color: #fb5c5c;
    background: #fb5c5c;
    box-shadow: 0 12px 28px rgba(251, 92, 92, .23);
}

.team-button--primary:hover,
.team-button--primary:focus-visible {
    color: #ffffff;
    text-decoration: none;
    border-color: #805deb;
    background: #805deb;
    box-shadow: 0 14px 30px rgba(128, 93, 235, .24);
    transform: translateY(-2px);
}

.team-button--secondary {
    color: #805deb;
    border-color: #805deb;
    background: rgba(255, 255, 255, .92);
}

.team-button--secondary:hover,
.team-button--secondary:focus-visible {
    color: #ffffff;
    text-decoration: none;
    background: #805deb;
}

.team-hero__trust {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 26px;
    max-width: 680px;
    margin: 30px 0 0;
    padding: 0;
    color: #5f5a66;
    list-style: none;
}

.team-hero__trust li {
    position: relative;
    padding-left: 25px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.45;
}

.team-hero__trust li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #805deb;
    font-weight: 900;
}

.team-hero__visual {
    position: relative;
    align-self: stretch;
    min-height: 540px;
}

.team-hero__visual picture,
.team-hero__visual img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
}

.team-hero__visual img {
    object-fit: contain;
    object-position: center bottom;
}

.team-hero__placeholder {
    position: relative;
    z-index: 2;
    display: grid;
    width: min(430px, 90%);
    aspect-ratio: 1;
    margin: 60px auto 0;
    place-items: center;
    color: #ffffff;
    font-size: 120px;
    font-weight: 900;
    border-radius: 42% 58% 58% 42% / 44% 43% 57% 56%;
    background: linear-gradient(135deg, #805deb, #4fc9e3);
}

.team-decor {
    position: absolute;
    display: block;
    border-radius: 50%;
}

.team-decor--one {
    top: 10%;
    left: 2%;
    width: 62px;
    height: 62px;
    background: #ffbf32;
}

.team-decor--two {
    right: 0;
    bottom: 10%;
    width: 92px;
    height: 92px;
    border: 18px solid rgba(251, 92, 92, .30);
}

.team-decor--three {
    top: 18%;
    right: 5%;
    width: 42px;
    height: 42px;
    background: #4fc9e3;
}

/* ABOUT */

.team-about {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
    gap: 56px;
    align-items: end;
}

.team-about__stat {
    padding: 34px;
    border-radius: 30px;
    background: #f4f2f9;
}

.team-about__stat strong {
    display: block;
    margin-bottom: 12px;
    color: #805deb;
    font-size: 34px;
    font-weight: 850;
}

.team-about__stat span {
    color: #5f5a66;
    font-size: 17px;
    line-height: 1.6;
}

/* PRINCIPLES */

.team-principles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.team-principle {
    min-height: 250px;
    padding: 34px;
    border: 1px solid rgba(128, 93, 235, .12);
    border-radius: 30px;
    box-shadow: 0 14px 36px rgba(74, 61, 115, .06);
}

.team-principle--1 { background: rgba(79, 201, 227, .12); }
.team-principle--2 { background: rgba(255, 191, 50, .16); }
.team-principle--3 { background: rgba(251, 92, 92, .10); }
.team-principle--4 { background: rgba(128, 93, 235, .10); }

.team-principle__number {
    display: inline-grid;
    width: 50px;
    height: 50px;
    margin-bottom: 24px;
    place-items: center;
    color: #ffffff;
    font-weight: 900;
    border-radius: 15px;
    background: #805deb;
}

.team-principle h3 {
    margin-bottom: 12px;
    font-size: 25px;
    line-height: 1.25;
}

.team-principle p {
    margin-bottom: 0;
    color: #5f5a66;
    font-size: 17px;
    line-height: 1.67;
}

/* METHOD */

.team-method {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    gap: 54px;
    align-items: center;
}

.team-method__card {
    display: flex;
    gap: 22px;
    padding: 34px;
    border: 1px solid rgba(128, 93, 235, .14);
    border-radius: 30px;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(74, 61, 115, .09);
}

.team-method__icon {
    display: grid;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    place-items: center;
    color: #ffffff;
    font-size: 24px;
    font-weight: 900;
    border-radius: 16px;
    background: linear-gradient(135deg, #805deb, #4fc9e3);
}

.team-method__card strong {
    display: block;
    margin-bottom: 8px;
    font-size: 21px;
}

.team-method__card p {
    margin-bottom: 0;
    color: #625d69;
    font-size: 17px;
    line-height: 1.65;
}

/* QUALIFICATION */

.team-section--qualification {
    background:
        radial-gradient(circle at 90% 20%, rgba(255, 191, 50, .12), transparent 26%),
        #ffffff;
}

.team-qualification-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.team-qualification-card {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 18px;
    padding: 30px;
    border: 1px solid rgba(128, 93, 235, .14);
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 12px 32px rgba(74, 61, 115, .06);
}

.team-qualification-card__check {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: #ffffff;
    font-weight: 900;
    border-radius: 50%;
    background: #fb5c5c;
}

.team-qualification-card h3 {
    margin-bottom: 8px;
    font-size: 21px;
    line-height: 1.3;
}

.team-qualification-card p {
    margin-bottom: 0;
    color: #625d69;
    font-size: 16px;
    line-height: 1.65;
}

.team-certificates {
    display: grid;
    grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr);
    gap: 38px;
    margin-top: 34px;
    padding: 34px;
    border-radius: 30px;
    background: #f4f2f9;
}

.team-certificates__intro h3 {
    margin-bottom: 12px;
    font-size: 25px;
    line-height: 1.25;
}

.team-certificates__intro p {
    margin-bottom: 0;
    color: #625d69;
    font-size: 16px;
    line-height: 1.65;
}

.team-certificates__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.team-certificate {
    padding: 18px;
    border-radius: 20px;
    background: #ffffff;
}

.team-certificate strong {
    display: block;
    margin-bottom: 6px;
    color: #805deb;
    font-size: 21px;
}

.team-certificate span {
    color: #5f5a66;
    font-size: 14px;
    line-height: 1.5;
}

/* SELECTION */

.team-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.team-step {
    min-height: 275px;
    padding: 30px;
    border: 1px solid rgba(128, 93, 235, .14);
    border-radius: 28px;
    background: #ffffff;
    box-shadow: 0 14px 36px rgba(74, 61, 115, .06);
}

.team-step__number {
    display: inline-block;
    margin-bottom: 30px;
    color: #805deb;
    font-size: 40px;
    font-weight: 900;
    line-height: 1;
    opacity: .35;
}

.team-step h3 {
    margin-bottom: 12px;
    font-size: 21px;
    line-height: 1.3;
}

.team-step p {
    margin-bottom: 0;
    color: #625d69;
    font-size: 16px;
    line-height: 1.65;
}


/* ==========================================================================
   ПРЕПОДАВАТЕЛИ
   ========================================================================== */

.team-showcase {
    position: relative;
    overflow: hidden;
    padding: 110px 0 120px;
    background: #ffffff;
}


/* Шапка раздела
   ========================================================================== */

.team-showcase__header {
    display: grid;
    grid-template-columns: minmax(170px, 0.35fr) minmax(0, 1.65fr);
    gap: 60px;
    align-items: start;
    margin-bottom: 78px;
}

.team-showcase__header-mark {
    padding-top: 8px;
}

.team-showcase__header-content .team-title {
    max-width: 820px;
}

.team-showcase__header-content .team-lead {
    max-width: 760px;
}


/* Список
   ========================================================================== */

.team-showcase__list {
    display: grid;
}


/* Один преподаватель
   ========================================================================== */

.team-showcase__item {
    position: relative;

    display: grid;
    grid-template-columns:
        minmax(240px, 0.66fr)
        minmax(0, 1.34fr);

    gap: clamp(42px, 6vw, 76px);
    align-items: center;

    min-height: 500px;
    padding: 48px 0;

    border-top: 1px solid rgba(41, 39, 48, 0.10);
}

.team-showcase__item:last-child {
    border-bottom: 1px solid rgba(41, 39, 48, 0.10);
}


/* Шахматный порядок */

.team-showcase__item--reverse {
    grid-template-columns:
        minmax(0, 1.34fr)
        minmax(240px, 0.66fr);
}

.team-showcase__item--reverse .team-showcase__person {
    grid-column: 2;
    grid-row: 1;

    justify-self: end;
}

.team-showcase__item--reverse .team-showcase__content {
    grid-column: 1;
    grid-row: 1;
}


/* Фото
   ========================================================================== */

.team-showcase__person {
    position: relative;

    width: 100%;
    max-width: 350px;
}

.team-showcase__figure {
    position: relative;
    z-index: 1;

    margin: 0;
}

.team-showcase__photo {
    position: relative;

    overflow: hidden;

    width: 100%;
    aspect-ratio: 4 / 5;

    border-radius: 28px 28px 78px 28px;

    background: #f4f2f9;

    box-shadow:
        0 18px 44px rgba(51, 43, 74, 0.10);
}

.team-showcase__item--reverse .team-showcase__photo {
    border-radius: 78px 28px 28px 28px;
}

.team-showcase__photo img {
    display: block;

    width: 100%;
    height: 100%;

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


/* Имя
   ========================================================================== */

.team-showcase__name {
    position: relative;
    z-index: 2;

    width: calc(100% - 28px);

    margin: -24px auto 0;
    padding: 15px 18px;

    border: 1px solid rgba(128, 93, 235, 0.13);
    border-radius: 21px;

    background: rgba(255, 255, 255, 0.97);

    box-shadow:
        0 14px 34px rgba(51, 43, 74, 0.10);
}

.team-showcase__name h3 {
    margin: 0;

    color: #292730;

    font-size: 19px;
    font-weight: 850;
    line-height: 1.25;
}

.team-showcase__name span {
    display: block;

    margin-top: 6px;

    color: #77717d;

    font-size: 12px;
    line-height: 1.45;
}


/* Текстовая часть
   ========================================================================== */

.team-showcase__content {
    position: relative;

    width: 100%;
    max-width: 660px;
}

.team-showcase__label {
    margin-bottom: 22px;

    color: #805deb;

    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;

    letter-spacing: 0.13em;
    text-transform: uppercase;
}


/* Девиз
   ========================================================================== */

.team-showcase__quote {
    position: relative;

    margin: 0;
    padding: 26px 0 0 42px;
}

.team-showcase__quote-mark {
    position: absolute;

    top: -36px;
    left: 0;

    color: rgba(128, 93, 235, 0.14);

    font-family: Georgia, serif;
    font-size: 126px;
    font-weight: 700;
    line-height: 1;

    pointer-events: none;
}

.team-showcase__quote p {
    position: relative;
    z-index: 1;

    margin: 0;

    color: #292730;

    font-size: clamp(27px, 3vw, 42px);
    font-weight: 700;
    line-height: 1.3;

    letter-spacing: -0.025em;
}

.team-showcase__author {
    display: block;

    margin-top: 22px;

    color: #77717d;

    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
}


/* Профессиональный факт
   ========================================================================== */

.team-showcase__fact {
    position: relative;

    max-width: 630px;

    padding-left: 30px;
}

.team-showcase__fact-line {
    position: absolute;

    top: 5px;
    bottom: 5px;
    left: 0;

    width: 4px;

    border-radius: 999px;

    background:
        linear-gradient(
            180deg,
            #805deb,
            #4fc9e3
        );
}

.team-showcase__fact p {
    margin: 0;

    color: #292730;

    font-size: clamp(21px, 2.4vw, 32px);
    font-weight: 650;
    line-height: 1.48;

    letter-spacing: -0.018em;
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 991px) {

    .team-showcase {
        padding: 82px 0 90px;
    }

    .team-showcase__header {
        grid-template-columns: 1fr;
        gap: 18px;

        margin-bottom: 48px;
    }

    .team-showcase__item,
    .team-showcase__item--reverse {
        grid-template-columns:
            minmax(220px, 0.68fr)
            minmax(0, 1.32fr);

        gap: 36px;

        min-height: 460px;
        padding: 42px 0;
    }

    .team-showcase__item--reverse {
        grid-template-columns:
            minmax(0, 1.32fr)
            minmax(220px, 0.68fr);
    }

    .team-showcase__quote p {
        font-size: clamp(24px, 3.4vw, 34px);
    }

    .team-showcase__fact p {
        font-size: clamp(19px, 2.6vw, 27px);
    }
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 767px) {

    .team-showcase {
        padding: 66px 0 72px;
    }

    .team-showcase__header {
        margin-bottom: 24px;
    }

    .team-showcase__item,
    .team-showcase__item--reverse {
        display: flex;
        flex-direction: column;

        gap: 34px;

        min-height: 0;

        padding: 46px 0;
    }

    /*
     * На мобильном больше не меняем порядок.
     * Сначала всегда преподаватель, затем текст.
     */
    .team-showcase__item--reverse {
        flex-direction: column;
    }

    .team-showcase__person,
    .team-showcase__item--reverse .team-showcase__person {
        width: min(100%, 340px);

        margin: 0 auto;

        grid-column: auto;
        grid-row: auto;

        justify-self: auto;
    }

    .team-showcase__content,
    .team-showcase__item--reverse .team-showcase__content {
        width: 100%;
        max-width: none;

        grid-column: auto;
        grid-row: auto;
    }
.team-showcase__photo,
    .team-showcase__item--reverse .team-showcase__photo {
        border-radius: 28px 28px 72px 28px;
    }

    .team-showcase__name {
        width: calc(100% - 24px);

        margin-top: -25px;
        padding: 16px 18px;

        border-radius: 18px;
    }

    .team-showcase__name h3 {
        font-size: 20px;
    }

    .team-showcase__label {
        margin-bottom: 16px;
    }

    .team-showcase__quote {
        padding: 24px 4px 0 27px;
    }

    .team-showcase__quote-mark {
        top: -25px;

        font-size: 94px;
    }

    .team-showcase__quote p {
        font-size: 25px;
        line-height: 1.4;
    }

    .team-showcase__fact {
        padding-left: 20px;
    }

    .team-showcase__fact p {
        font-size: 20px;
        line-height: 1.55;
    }
}


/* ==========================================================================
   SMALL MOBILE
   ========================================================================== */

@media (max-width: 420px) {

    .team-showcase__photo {
        aspect-ratio: 4 / 5;
    }

    .team-showcase__name h3 {
        font-size: 19px;
    }

    .team-showcase__name span {
        font-size: 12px;
    }

    .team-showcase__quote p {
        font-size: 23px;
    }

    .team-showcase__fact p {
        font-size: 18px;
    }
}
/* FAQ */

.team-section--faq {
    background:
        radial-gradient(circle at 0 15%, rgba(79, 201, 227, .10), transparent 26%),
        #f4f2f9;
}

.team-faq {
    display: grid;
    grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
    gap: 54px;
    align-items: start;
}

.team-faq__list {
    display: grid;
    gap: 14px;
}

.team-faq__item {
    overflow: hidden;
    border: 1px solid rgba(128, 93, 235, .15);
    border-radius: 22px;
    background: rgba(255, 255, 255, .96);
}

.team-faq__item.is-open {
    border-color: #805deb;
    box-shadow: 0 14px 34px rgba(128, 93, 235, .10);
}

.team-faq__item h3 {
    margin: 0;
}

.team-faq__question {
    position: relative;
    width: 100%;
    padding: 23px 62px 23px 24px;
    color: #292730;
    font: inherit;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.45;
    text-align: left;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.team-faq__question::before,
.team-faq__question::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 25px;
    width: 16px;
    height: 2px;
    background: #805deb;
    transform: translateY(-50%);
}

.team-faq__question::after {
    transform: translateY(-50%) rotate(90deg);
    transition: transform .2s ease;
}

.team-faq__item.is-open .team-faq__question::after {
    transform: translateY(-50%) rotate(0);
}

.team-faq__answer {
    display: none;
    padding: 0 24px 24px;
}

.team-faq__item.is-open .team-faq__answer {
    display: block;
}

.team-faq__answer p {
    margin-bottom: 0;
    color: #605b67;
    font-size: 17px;
    line-height: 1.68;
}

/* FINAL */

.team-final {
    padding-top: 56px;
    padding-bottom: 72px;
}

.team-final__box {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(330px, .9fr);
    gap: 44px;
    align-items: center;
    padding: 52px;
    color: #ffffff;
    border-radius: 40px;
    background:
        radial-gradient(circle at 8% 10%, rgba(255, 191, 50, .22), transparent 28%),
        linear-gradient(125deg, #805deb 0%, #657fea 50%, #4fc9e3 100%);
}

.team-final__eyebrow {
    color: #ffffff;
    border-color: rgba(255, 255, 255, .34);
    background: rgba(255, 255, 255, .10);
}

.team-final__title {
    color: #ffffff;
}

.team-final__content > p {
    max-width: 700px;
    margin: 22px 0 0;
    color: rgba(255, 255, 255, .90);
    font-size: 19px;
    line-height: 1.6;
}

.team-final__action {
    padding: 30px;
    border-radius: 28px;
    background: rgba(255, 255, 255, .95);
}

.team-final__button {
    width: 100%;
}

.team-final__action p {
    margin: 18px 0 0;
    color: #625d69;
    font-size: 15px;
    line-height: 1.55;
}

/* ADAPTIVE */

@media (max-width: 1100px) {
    .team-hero__box,
    .team-about,
    .team-method,
    .team-certificates,
    .team-final__box {
        grid-template-columns: 1fr;
    }

    .team-hero__visual {
        min-height: 420px;
    }

    .team-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .team-faq {
        grid-template-columns: 1fr;
        gap: 36px;
    }
}

@media (max-width: 767px) {
    .team-shell {
        width: min(100% - 24px, 1180px);
    }

    .team-section {
        padding: 62px 0;
    }

    .team-hero {
        padding: 105px 0 56px;
    }

    .team-hero__box {
        gap: 32px;
        min-height: 0;
    }

    .team-hero__title {
        font-size: clamp(38px, 11vw, 54px);
    }

    .team-hero__lead {
        font-size: 18px;
    }

    .team-hero__actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .team-button {
        width: 100%;
        min-height: 56px;
    }

    .team-hero__trust {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .team-hero__visual {
        min-height: 330px;
    }

    .team-principles,
    .team-qualification-grid,
    .team-certificates__grid,
    .team-steps {
        grid-template-columns: 1fr;
    }

    .team-about__stat,
    .team-principle,
    .team-method__card,
    .team-qualification-card,
    .team-certificates,
    .team-step {
        padding: 24px 20px;
        border-radius: 24px;
    }

    .team-title {
        font-size: clamp(32px, 9.5vw, 44px);
    }

    .team-lead {
        font-size: 17px;
    }

    .team-method__card {
        display: grid;
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 14px;
    }

    .team-certificates {
        gap: 24px;
    }
.team-faq__question {
        padding: 20px 54px 20px 18px;
        font-size: 16px;
    }

    .team-faq__answer {
        padding: 0 18px 20px;
    }

    .team-faq__answer p {
        font-size: 16px;
    }

    .team-final {
        padding-top: 36px;
        padding-bottom: 48px;
    }

    .team-final__box {
        gap: 26px;
        padding: 28px 20px;
        border-radius: 28px;
    }

    .team-final__action {
        padding: 22px 18px;
        border-radius: 22px;
    }
}


/* ==========================================================================
   Дополнения для самостоятельной страницы
   ========================================================================== */

.team-certificate {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.team-certificate span {
    order: 1;
    color: #4f4b56;
    font-size: 14px;
    line-height: 1.5;
}

.team-certificate strong {
    order: 2;
    margin: 0;
    color: #805deb;
    font-size: 17px;
    line-height: 1.3;
}


/* ==========================================================================
   REDESIGN 2026 — ИМИДЖЕВАЯ СТРАНИЦА О ПРЕПОДАВАТЕЛЯХ
   Отличает страницу от рекрутинговой: журнальная композиция, больше воздуха,
   акцент на людях, девизах и пути ученика.
   ========================================================================== */

.team-page {
    --team-paper: #fbfaf7;
    --team-line: rgba(41, 39, 48, .12);
}

/* Hero: язык, речь и диалог вместо геометрической клетки */
.team-hero {
    background:
        radial-gradient(circle at 10% 18%, rgba(79, 201, 227, .18), transparent 30%),
        radial-gradient(circle at 88% 12%, rgba(128, 93, 235, .15), transparent 28%),
        radial-gradient(circle at 83% 88%, rgba(251, 92, 92, .09), transparent 28%),
        linear-gradient(135deg, #ffffff 0%, #fbfaff 52%, #f8fdff 100%);
    background-size: auto;
}

.team-hero::before {
    content: "“";
    position: absolute;
    z-index: 0;
    top: 54px;
    left: max(22px, calc((100vw - 1180px) / 2 - 62px));
    color: rgba(128, 93, 235, .085);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 220px;
    font-weight: 700;
    line-height: .8;
    pointer-events: none;
}

.team-hero::after {
    content: "•••";
    position: absolute;
    z-index: 0;
    right: max(24px, calc((100vw - 1180px) / 2 + 10px));
    bottom: 72px;
    display: grid;
    width: 138px;
    height: 82px;
    place-items: center;
    padding-bottom: 8px;
    color: rgba(79, 201, 227, .72);
    font-size: 25px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 8px;
    border: 2px solid rgba(79, 201, 227, .20);
    border-radius: 42px;
    background: rgba(255, 255, 255, .58);
    transform: rotate(-7deg);
    pointer-events: none;
}
.team-hero__title {
    font-size: clamp(46px, 5.7vw, 74px);
    line-height: 1.01;
    letter-spacing: -.05em;
}

.team-hero__trust {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 760px;
}

.team-hero__trust li {
    padding: 9px 13px;
    border: 1px solid rgba(41, 39, 48, .10);
    border-radius: 999px;
    background: rgba(255,255,255,.88);
}

.team-hero__trust li::before {
    display: none;
}


/* Языковые декоративные акценты в первом экране */
.team-hero .team-decor--one {
    top: 17%;
    left: auto;
    right: 5%;
    width: 58px;
    height: 42px;
    border: 2px solid rgba(128, 93, 235, .20);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.75);
}

.team-hero .team-decor--one::after {
    content: "";
    position: absolute;
    right: 11px;
    bottom: -8px;
    width: 9px;
    height: 15px;
    border-right: 2px solid rgba(128, 93, 235, .20);
    border-bottom: 2px solid rgba(128, 93, 235, .20);
    background: rgba(255, 255, 255, 0.89);
    transform: rotate(45deg);
}

.team-hero .team-decor--two {
    right: 7%;
    bottom: 18%;
    width: 28px;
    height: 28px;
    border: 0;
    background: rgba(255, 191, 50, .42);
}

.team-hero .team-decor--three {
    top: 23%;
    right: 18%;
    width: 16px;
    height: 16px;
    background: rgba(251, 92, 92, .42);
}

/* Вводный манифест */
.team-section:first-of-type {
    background: var(--team-paper);
}

.team-about {
    grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr);
    align-items: center;
    gap: 72px;
}

.team-about__content .team-title {
    font-size: clamp(38px, 4.8vw, 60px);
}

.team-about__stat {
    position: relative;
    padding: 38px 32px;
    border: 0;
    border-radius: 8px 46px 46px 46px;
    background: #4fc9e3;
    box-shadow: 0 20px 48px rgba(41,39,48,.12);
}

.team-about__stat::before {
    content: "“";
    position: absolute;
    top: -22px;
    right: 24px;
    color: rgba(255,255,255,.10);
    font-family: Georgia, serif;
    font-size: 110px;
    line-height: 1;
}

.team-about__stat strong {
    position: relative;
    color: #fff;
    font-size: 25px;
    line-height: 1.25;
}

.team-about__stat span {
    position: relative;
    color: rgba(255,255,255,.72);
    font-size: 15px;
}

/* Преподаватели: убираем "карточечность", делаем editorial */
.team-showcase {
    padding: 112px 0 124px;
    background: #fff;
}

.team-showcase .team-section-head {
    display: grid;
    grid-template-columns: minmax(180px, .38fr) minmax(0, 1.62fr);
    gap: 56px;
    align-items: start;
    margin-bottom: 62px;
}

.team-showcase .team-section-head .team-eyebrow {
    justify-self: start;
}

.team-showcase .team-section-head .team-title,
.team-showcase .team-section-head .team-lead {
    grid-column: 2;
}

.team-showcase .team-section-head .team-title {
    margin-top: -58px;
}

.team-showcase__list {
    gap: 0;
    margin-top: 0;
}

.team-showcase__item,
.team-showcase__item--reverse {
    min-height: 620px;
    padding: 64px 0;
    border: 0;
    border-top: 1px solid var(--team-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.team-showcase__item:last-child {
    border-bottom: 1px solid var(--team-line);
}

.team-showcase__item {
    grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr);
    gap: 86px;
}

.team-showcase__item--reverse {
    grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr);
}

.team-showcase__person {
    max-width: 450px;
}

.team-showcase__item--reverse .team-showcase__person {
    justify-self: end;
}

.team-showcase__photo {
    aspect-ratio: 4 / 5;
    border-radius: 34px 34px 110px 34px;
    box-shadow: 0 24px 60px rgba(51,43,74,.10);
}

.team-showcase__item--reverse .team-showcase__photo {
    border-radius: 110px 34px 34px 34px;
}

.team-showcase__name {
    width: calc(100% - 42px);
    margin-top: -32px;
    padding: 19px 22px;
    text-align: left;
    border-radius: 20px;
}

.team-showcase__description {
    max-width: 650px;
    padding: 10px 0;
}

.team-showcase__description--quote {
    padding: 42px 0 0 38px;
}

.team-showcase__description--quote p {
    font-size: clamp(27px, 3.2vw, 42px);
    font-weight: 700;
    line-height: 1.3;
}

.team-showcase__quote-mark {
    top: -32px;
    left: 0;
    font-size: 130px;
}

.team-showcase__description--fact {
    padding: 8px 0 8px 28px;
    border-left: 4px solid #805deb;
    border-radius: 0;
    background: transparent;
}

.team-showcase__description--fact p {
    font-size: clamp(22px, 2.5vw, 33px);
    font-weight: 650;
    line-height: 1.48;
}

/* Путь ученика: вместо рекрутинговых шагов */
.team-section--soft {
    background: #f4f2f9;
}

.team-principles {
    position: relative;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin-top: 58px;
}

.team-principles::before {
    content: "";
    position: absolute;
    top: 25px;
    right: 9%;
    left: 9%;
    height: 2px;
    background: linear-gradient(90deg, #4fc9e3, #805deb, #fb5c5c, #ffbf32);
}

.team-principle {
    position: relative;
    z-index: 1;
    min-height: 0;
    padding: 0 20px;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none;
}

.team-principle__number {
    width: 52px;
    height: 52px;
    margin-bottom: 25px;
    border: 7px solid #f4f2f9;
    border-radius: 50%;
    box-shadow: 0 8px 20px rgba(128,93,235,.15);
}

.team-principle h3 {
    font-size: 21px;
}

.team-principle p {
    font-size: 15px;
}

/* Методика: один большой цветной statement */
.team-section[aria-labelledby="team-method-title"] {
    padding: 0;
}

.team-method {
    margin: 104px 0;
    padding: 64px;
    color: #fff;
    border-radius: 46px;
    background:
        radial-gradient(circle at 10% 12%, rgba(79,201,227,.34), transparent 30%),
        radial-gradient(circle at 92% 88%, rgba(251,92,92,.20), transparent 28%),
        linear-gradient(135deg, #3d315f 0%, #6845d8 56%, #805deb 100%);
    box-shadow: 0 28px 68px rgba(73,54,126,.17);
}

.team-method .team-eyebrow {
    color: #fff;
    border-color: rgba(255,255,255,.25);
    background: rgba(255,255,255,.08);
    box-shadow: none;
}

.team-method .team-title,
.team-method .team-lead,
.team-method .team-text {
    color: #fff;
}

.team-method .team-text {
    color: rgba(255,255,255,.74);
}

.team-method__card {
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.10);
    box-shadow: none;
}

.team-method__card strong,
.team-method__card p {
    color: #fff;
}

.team-method__card p {
    color: rgba(255,255,255,.76);
}

/* Квалификация: спокойный блок доверия, не "требования к кандидату" */
.team-section--qualification {
    background: var(--team-paper);
}

.team-qualification-grid {
    margin-top: 50px;
    border-top: 1px solid var(--team-line);
}

.team-qualification-card {
    min-height: 180px;
    padding: 30px 28px 30px 0;
    border: 0;
    border-bottom: 1px solid var(--team-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.team-qualification-card:nth-child(odd) {
    padding-right: 40px;
    border-right: 1px solid var(--team-line);
}

.team-qualification-card:nth-child(even) {
    padding-left: 40px;
}

.team-qualification-card__check {
    color: #805deb;
    background: rgba(128,93,235,.10);
}

.team-certificates {
    margin-top: 58px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(51,43,74,.05);
}

/* FAQ: легче, без набора белых карточек */
.team-section--faq {
    background: #fff;
}

.team-faq__intro {
    position: sticky;
    top: 110px;
}

.team-faq__list {
    gap: 0;
    border-top: 1px solid var(--team-line);
}

.team-faq__item,
.team-faq__item.is-open {
    border: 0;
    border-bottom: 1px solid var(--team-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.team-faq__question {
    padding-left: 0;
}

.team-faq__answer {
    padding-left: 0;
}

/* Финал */
.team-final__box {
    background:
        radial-gradient(circle at 8% 10%, rgba(255,191,50,.22), transparent 28%),
        linear-gradient(125deg, #6845d8 0%, #805deb 52%, #4fc9e3 100%);
}

/* Responsive redesign */
@media (max-width: 1100px) {
    .team-principles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 36px 0;
    }

    .team-principles::before {
        display: none;
    }

    .team-showcase__item {
        gap: 48px;
    }
}

@media (max-width: 900px) {
    .team-showcase .team-section-head {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .team-showcase .team-section-head .team-title,
    .team-showcase .team-section-head .team-lead {
        grid-column: 1;
    }

    .team-showcase .team-section-head .team-title {
        margin-top: 0;
    }

    .team-about {
        gap: 32px;
        grid-template-columns: 1fr;
    }

    .team-faq__intro {
        position: static;
    }
}

@media (max-width: 767px) {

    .team-hero::before {
        top: 70px;
        left: 8px;
        font-size: 145px;
    }

    .team-hero::after {
        right: 12px;
        bottom: 28px;
        width: 104px;
        height: 62px;
        font-size: 20px;
    }

    .team-hero .team-decor--one,
    .team-hero .team-decor--three {
        display: none;
    }

    .team-hero {
}

    .team-hero__trust {
        display: flex;
    }

    .team-about__stat {
        border-radius: 8px 30px 30px 30px;
    }

    .team-showcase {
        padding: 72px 0;
    }

    .team-showcase__item,
    .team-showcase__item--reverse {
        display: flex;
        flex-direction: column;
        gap: 34px;
        min-height: 0;
        padding: 48px 0;
    }

    .team-showcase__item--reverse {
        flex-direction: column;
    }

    .team-showcase__person,
    .team-showcase__item--reverse .team-showcase__person {
        width: min(70%, 430px);
        margin: 0 auto;
    }

    .team-showcase__photo,
    .team-showcase__item--reverse .team-showcase__photo {
        border-radius: 28px 28px 72px 28px;
    }

    .team-showcase__description--quote {
        padding: 38px 8px 0 26px;
        text-align: left;
    }

    .team-showcase__description--quote p {
        font-size: 26px;
    }

    .team-showcase__description--fact {
        padding: 4px 0 4px 20px;
        text-align: left;
        border-top: 0;
        border-left: 4px solid #805deb;
        border-radius: 0;
        background: transparent;
    }

    .team-showcase__description--fact p {
        font-size: 21px;
    }

    .team-principles {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .team-principle {
        display: grid;
        grid-template-columns: 58px minmax(0,1fr);
        column-gap: 16px;
        padding: 22px 0;
        border-bottom: 1px solid var(--team-line);
    }

    .team-principle__number {
        grid-row: 1 / 3;
        margin: 0;
    }

    .team-principle h3 {
        margin: 3px 0 8px;
    }

    .team-principle p {
        grid-column: 2;
    }

    .team-method {
        margin: 72px 0;
        padding: 34px 22px;
        border-radius: 30px;
    }

    .team-qualification-card:nth-child(odd),
    .team-qualification-card:nth-child(even) {
        padding: 26px 0;
        border-right: 0;
    }
}


.team-certificates {
    display: grid;
    grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
    gap: 64px;

    margin-top: 64px;
    padding: 48px;

    border-radius: 34px;

    background: #ffffff;

    box-shadow:
        0 18px 50px rgba(51, 43, 74, .06);
}

.team-certificates__intro h3 {
    max-width: 480px;

    margin: 0 0 20px;

    color: #292730;

    font-size: 30px;
    font-weight: 850;
    line-height: 1.25;
}

.team-certificates__intro p {
    max-width: 520px;

    margin: 0;

    color: #6f6975;

    font-size: 16px;
    line-height: 1.75;
}

.team-certificates__intro .team-certificates__note {
    margin-top: 22px;
    padding-top: 22px;

    border-top: 1px solid rgba(41, 39, 48, .10);
}

.team-certificates__content {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.team-certificates__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.team-certificate {
    padding: 22px;

    border: 1px solid rgba(128, 93, 235, .12);
    border-radius: 20px;

    background: #f7f5fc;
}

.team-certificate span {
    display: block;

    color: #5f5966;

    font-size: 14px;
    line-height: 1.55;
}

.team-certificate strong {
    display: block;

    margin-top: 9px;

    color: #805deb;

    font-size: 21px;
    font-weight: 850;
}


/* CTA для преподавателей */

.team-certificates__cta {
    display: flex;
    gap: 24px;
    align-items: center;
    justify-content: space-between;

    padding: 22px 24px;

    border-radius: 22px;

    background:
        linear-gradient(
            135deg,
            rgba(128, 93, 235, .09),
            rgba(79, 201, 227, .10)
        );
}

.team-certificates__cta > div {
    max-width: 480px;
}

.team-certificates__cta strong {
    display: block;

    margin-bottom: 5px;

    color: #292730;

    font-size: 17px;
    font-weight: 850;
}

.team-certificates__cta > div > span {
    display: block;

    color: #6f6975;

    font-size: 14px;
    line-height: 1.55;
}

.team-certificates__link {
    display: inline-flex;
    flex: 0 0 auto;
    gap: 8px;
    align-items: center;

    color: #805deb;

    font-size: 14px;
    font-weight: 850;

    text-decoration: none;
}

.team-certificates__link:hover {
    color: #6845d8;
    text-decoration: none;
}

.team-certificates__link > span {
    transition: transform .2s ease;
}

.team-certificates__link:hover > span {
    transform: translateX(4px);
}


/* Адаптив */

@media (max-width: 900px) {

    .team-certificates {
        grid-template-columns: 1fr;
        gap: 36px;
    }
}

@media (max-width: 767px) {

    .team-certificates {
        margin-top: 42px;
        padding: 26px 20px;

        border-radius: 26px;
    }

    .team-certificates__intro h3 {
        font-size: 25px;
    }

    .team-certificates__grid {
        grid-template-columns: 1fr;
    }

    .team-certificates__cta {
        align-items: flex-start;
        flex-direction: column;
    }
}
/* End */
/* /local/templates/online20/assets/css/teachers.css?178643941776165 */
