/* Подключение шрифтов DrukCyr */

@font-face {
    font-family: 'DrukCyr';
    src: url(/assets/cult/DrukCyr-Medium-f37d45801e7cd31eee987271f761db9756c157d94c41900f231f503ad30fc267.ttf) format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'DrukCyr';
    src: url(/assets/cult/DrukCyr-MediumItalic-ba073683a3015b39228ded99778f57cbf8a106725f0dc0f55659046963cbf144.ttf) format('truetype');
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'DrukCyr';
    src: url(/assets/cult/DrukCyr-Bold-0af81d48326d15fd2c76640aeffe0235417045978f2f1635fd5f8bc0b8f7f51e.ttf) format('truetype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'DrukCyr';
    src: url(/assets/cult/DrukCyr-BoldItalic-d4202759a93d00b1a722cf8bee5d97ab0f85c62278879b5b99bcb42edcabbabe.ttf) format('truetype');
    font-weight: 700;
    font-style: italic;
}

@font-face {
    font-family: 'DrukCyr';
    src: url(/assets/cult/DrukCyr-Heavy-c13071da0631b8b17c1fb35d1065cbccbe64c2c5a822d81d3df805c8533e03f2.ttf) format('truetype');
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: 'DrukCyr';
    src: url(/assets/cult/DrukCyr-HeavyItalic-f9285860776e5447c02f79d978e21a8b1a50444b0067a39b4fe88159a9a0a9a2.ttf) format('truetype');
    font-weight: 800;
    font-style: italic;
}

@font-face {
    font-family: 'DrukCyr';
    src: url(/assets/cult/DrukCyr-Super-5c57b1ee649cf79221bf2e35315e23e3d5c6afbfef0817feef02082c262480d6.ttf) format('truetype');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'DrukCyr';
    src: url(/assets/cult/DrukCyr-SuperItalic-ee742d9bf932b614b3893581618a175c0fccbda51937e6acf09b72a93cccbfcf.ttf) format('truetype');
    font-weight: 900;
    font-style: italic;
}

/* Подключение шрифтов PT Root UI*/

@font-face {
    font-family: 'PT Root UI';
    src: url(/assets/cult/PT-Root-UI_Regular-f8635bb47733f330511536544d9a62f7767d70c41b28abb04c8a977eb92cd92f.ttf) format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'PT Root UI';
    src: url(/assets/cult/PT-Root-UI_Medium-bcb8226cc7861a757cb3331b58c739eb38afacd6062d7fc14ced3688e8cec290.ttf) format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'PT Root UI';
    src: url(/assets/cult/PT-Root-UI_Bold-e5c60604c036ffa29cbe001dd19e40af69df70f4f7db3d2dbdaf870fcbfe54aa.ttf) format('truetype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'PT Root UI';
    src: url(/assets/cult/PT-Root-UI_Light-7257c7b3bdcd5b338da58b5171482b2c0d36dd03aa750f7997ed004c316e4926.ttf) format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'PT Root UI';
    src: url(/assets/cult/PT-Root-UI_VF-3e4475a46e62d677b55feb22c778f9ae60da752b6717d7fe5b9100b9be24c84f.ttf) format('truetype-variations');
    font-weight: 100 900;
    font-style: normal;
}



/* Базовые стили */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'PT Root UI', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.6;
    color: #fff;
    background-color: #000;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

button {
    all: unset;
    cursor: pointer;
}

a {
    all: unset;
    cursor: pointer;
}

.container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 20px;
    font-family: PT Root UI;
}

header {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 1300px;
    z-index: 1000;
    background: #000;
    display: flex;
    align-items: flex-end;
    height: 70px;
    padding: 0 20px;
    box-sizing: border-box;
}

header nav {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    width: 100%;
    height: 40px;
}

header nav p {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: normal;
}

header nav p:nth-child(2) {
    text-align: center;
}

header nav p:nth-child(3) {
    text-align: right;
    cursor: pointer;
    text-transform: uppercase;
}

.menu-trigger {
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.menu-trigger:hover {
    opacity: 0.7;
}

main {
    display: flex;
    flex-direction: column;
    min-height: 60vh;
    gap: 120px;
    margin-top: 70px;
}

.content {
    background: #000;
}

h3 {
    font-size: 40px;
    font-weight: 700;
    line-height: 40px;
    color: #fff;
}

.hero {
    display: flex;
    flex-direction: column;
    gap: 92px;
}

.hero-banner {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-end;
    justify-content: space-between;
    padding: 28px;
    height: 650px;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}

/* Плейсхолдер */
.hero-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 1;
    transition: opacity 0.5s ease;
}

.hero-placeholder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.hero-placeholder.hidden {
    opacity: 0;
    pointer-events: none;
}

/* Видео фон */
.hero-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.hero-video.loaded {
    opacity: 1;
}

.hero-banner h1 ,h2 {
    font-family: 'DrukCyr', sans-serif;
    font-size: 150px;
    font-weight: 700;
    line-height: 130px;
    color: #C9FF64;
    text-transform: uppercase;
    position: relative;
    z-index: 3;
}

p {
    font-size: 24px;
    font-weight: 400;
    line-height: 30px;
    letter-spacing: -1px;
    color: #fff;
}

.hero-description {
    display: flex;
    flex-direction: column;
    width: 540px;
    height: 100%;
    justify-content: space-between;
    gap: 20px;
}

.hero-content img {
    width: 100%;
    height: 348px;
    object-fit: cover;
    border-radius: 10px;
}

.hero-content button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    background: #B31E57;
    color: #fff;
    border-radius: 15px;
    font-size: 20px;
    font-weight: 500;
    line-height: 28px;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.hero-content button:hover {
    background: #ABB546;
}

.program-topics-content, .learn-content ,.hero-content ,.after-course-content ,.about-content ,.questions-content ,.who-is-content {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    gap: 20px;
}

.content-left {
    display: flex;
    flex-direction: column;
    width: 50%;
}

.content-right {
    display: flex;
    flex-direction: column;
    width: 50%;
}

/* Стили для who-is */

.who-is {
    display: flex;
    flex-direction: column;
    position: relative;
    gap: 60px;
    padding-top: 30px;
    padding-bottom: 100px;
}

.who-is h3 {
    width: 714px;
    z-index: 1;
}

.who-is span {
    position: absolute;
    top: -33px;
    left: 20px;
    width: auto;
    height: auto;
    transform: rotate(-16deg);
    font-family: 'DrukCyr', sans-serif;
    font-size: 36px;
    font-weight: 700;
    line-height: normal;
    color: #C9FF64;
    padding: 22px 31px;
    text-transform: uppercase;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='155' height='57' viewBox='0 0 155 57' fill='none'%3E%3Cpath d='M152.867 28.3613C152.867 25.1731 151.111 21.9039 147.42 18.7041C143.734 15.5086 138.293 12.5475 131.412 10.0244C117.664 4.98359 98.5503 1.82911 77.3486 1.8291C56.147 1.8291 37.033 4.98362 23.2852 10.0244C16.4039 12.5475 10.9626 15.5085 7.27637 18.7041C3.58548 21.9038 1.8291 25.1732 1.8291 28.3613C1.82917 31.5495 3.58542 34.8189 7.27637 38.0186C10.9626 41.2141 16.4039 44.1751 23.2852 46.6982C37.033 51.739 56.1471 54.8926 77.3486 54.8926V56.7227L75.3525 56.7129C33.8882 56.3278 0.53245 43.9781 0.00585938 28.7275L0 28.3613C0 12.6979 34.6302 0 77.3486 0L79.3447 0.00878906C121.141 0.397013 154.697 12.9426 154.697 28.3613L154.69 28.7275C154.155 44.2221 119.733 56.7226 77.3486 56.7227V54.8926C98.5502 54.8926 117.664 51.739 131.412 46.6982C138.293 44.1752 143.734 41.214 147.42 38.0186C151.111 34.8188 152.867 31.5495 152.867 28.3613Z' fill='%23C9FF64'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    z-index: 0;
}

.who-is-content {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    gap: 20px;
}

.who-is-content .content-left {
    gap: 20px;
}

.who-is-content .content-right {
    gap: 20px;
}

.who-is-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 60px;
    background: #C9FF64;
    padding: 16px;
    border-radius: 10px;
}

.who-is-content p {
    color: #000;
}

.who-is-content p:first-child {
    font-family: 'DrukCyr', sans-serif;
    font-size: 150px;
    font-weight: 700;
    line-height: 130px
}

/* Стили для learn */

.learn {
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.learn .content-left {
    gap: 40px;
}

.learn-description {
    display: flex;
    flex-direction: column;
    width: 540px;
    gap: 20px;
}

.learn-content img {
    width: 100%;
    height: 700px;
    object-fit: cover;
    border-radius: 10px;
}

.learn-content-tags {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
}

.learn-content-tags span {
    font-size: 48px;
    font-weight: 700;
    line-height: 65px;
    color: #B31E57;
    text-transform: uppercase;
}

.learn-content-tags span.separator {
    font-weight: 300;
}

/* Стили для program-topics */
.program-topics {
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: visible;
}

.program-topics-content {
    position: relative;
}

.program-topics-content img {
    width: 530px;
    height: 580px;
    object-fit: cover;
    border-radius: 10px;
}

.content-right {
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.benefit-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px 0;
    background:#C9FF64;
    margin: 120px calc((100vw - 100%) / -2);
    width: 100vw;
}

.benefit-title h2 {
    width: 1239px;
    color: #000;
}

.program-topics-content img.benefit {
    height: 300px;
}

.program-topics-content span {
    position: absolute;
    top: -40px;
    left: 416px;
    width: auto;
    height: auto;
    transform: rotate(21deg);
    font-family: 'DrukCyr', sans-serif;
    font-size: 36px;
    font-weight: 700;
    line-height: normal;
    color: #C9FF64;
    padding: 22px 31px;
    text-transform: uppercase;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='155' height='57' viewBox='0 0 155 57' fill='none'%3E%3Cpath d='M152.867 28.3613C152.867 25.1731 151.111 21.9039 147.42 18.7041C143.734 15.5086 138.293 12.5475 131.412 10.0244C117.664 4.98359 98.5503 1.82911 77.3486 1.8291C56.147 1.8291 37.033 4.98362 23.2852 10.0244C16.4039 12.5475 10.9626 15.5085 7.27637 18.7041C3.58548 21.9038 1.8291 25.1732 1.8291 28.3613C1.82917 31.5495 3.58542 34.8189 7.27637 38.0186C10.9626 41.2141 16.4039 44.1751 23.2852 46.6982C37.033 51.739 56.1471 54.8926 77.3486 54.8926V56.7227L75.3525 56.7129C33.8882 56.3278 0.53245 43.9781 0.00585938 28.7275L0 28.3613C0 12.6979 34.6302 0 77.3486 0L79.3447 0.00878906C121.141 0.397013 154.697 12.9426 154.697 28.3613L154.69 28.7275C154.155 44.2221 119.733 56.7226 77.3486 56.7227V54.8926C98.5502 54.8926 117.664 51.739 131.412 46.6982C138.293 44.1752 143.734 41.214 147.42 38.0186C151.111 34.8188 152.867 31.5495 152.867 28.3613Z' fill='%23C9FF64'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    z-index: 0;
}

.program-topics .wrap {
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: 100%;
    margin-top: 120px;
}

.program-topics-item {
    align-items: flex-start;
    justify-content: space-between;
    padding: 40px 80px 80px 80px;
}

.content--sticky {
	position: sticky;
	top: 0;
	--offset: 0px;
	top: var(--offset);
	height: calc(100vh - var(--offset));
}

.content--card {
    display: flex;
	flex-direction: column;
    justify-content: space-between;
    width: 100%;
    height: 80vh;
	top: 10vh;
	margin: auto;
	border-radius: 14px;
	gap: 3vh;
	margin-bottom: 5vh;
    background-color: #fff;
}

.program-topics-item-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    position: relative;
    width: 320px;
    background-color: #fff;
    padding: 8px;
    border-radius: 14px;
}

.program-topics-item-header p {
    padding: 6px 9px;
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
    background: #C9FF64;
    border-radius: 10px;
    color: #000;
    text-transform: uppercase;
}

.program-topics-item-header h3 {
    font-family: 'DrukCyr', sans-serif;
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: normal;
    color: #000;
}

.program-topics-item-header span {
    position: absolute;
    left: 15px;
    top: 38px;
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
    color: #fff;
    background: #000;
    transform: rotate(-12deg);
    text-transform: uppercase;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 77 24'%3E%3Cpath d='M77 6.99609C77 6.99771 76.9987 6.99902 76.9971 6.99902C74.236 6.99924 71.9973 9.23793 71.9971 11.999C71.9971 14.7602 74.2357 16.9986 76.9967 16.999C76.997 16.999 76.9972 16.999 76.9974 16.9989C76.9987 16.9985 77 16.9995 77 17.0008L77 21.0672C77 22.6869 75.6869 24 74.0672 24L2.67413 24C1.19725 24 0 22.8027 0 21.3259L0 17.0009C0 17.0001 0.000921349 16.9995 0.00170442 16.9999C0.00186798 17 0.00204995 17 0.0022328 17C2.76339 16.9997 5.00195 14.7612 5.00195 12C5.00174 9.23886 2.7631 7.00016 0.00195312 7C0.000874444 7 0 6.99913 0 6.99805L0 3.5C0 1.567 1.567 0 3.5 0H73.5005C75.4332 0 77 1.56678 77 3.49951V6.99609Z' fill='white'/%3E%3C/svg%3E");
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 77 24'%3E%3Cpath d='M77 6.99609C77 6.99771 76.9987 6.99902 76.9971 6.99902C74.236 6.99924 71.9973 9.23793 71.9971 11.999C71.9971 14.7602 74.2357 16.9986 76.9967 16.999C76.997 16.999 76.9972 16.999 76.9974 16.9989C76.9987 16.9985 77 16.9995 77 17.0008L77 21.0672C77 22.6869 75.6869 24 74.0672 24L2.67413 24C1.19725 24 0 22.8027 0 21.3259L0 17.0009C0 17.0001 0.000921349 16.9995 0.00170442 16.9999C0.00186798 17 0.00204995 17 0.0022328 17C2.76339 16.9997 5.00195 14.7612 5.00195 12C5.00174 9.23886 2.7631 7.00016 0.00195312 7C0.000874444 7 0 6.99913 0 6.99805L0 3.5C0 1.567 1.567 0 3.5 0H73.5005C75.4332 0 77 1.56678 77 3.49951V6.99609Z' fill='white'/%3E%3C/svg%3E");
    mask-size: contain;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-position: center;
    padding: 4px 12px;
    width: fit-content;
}

.program-topics-item-target {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    width: 320px;
    background-color: #fff;
    padding: 30px 20px;
    border-radius: 28px;
    gap: 10px;
}

.program-topics-item-target p {
    font-size: 14px;
    font-weight: 700;
    line-height: normal;
    color: #000;
    text-transform: uppercase;
}

.program-topics-item-target-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.program-topics-item-target-list-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 20px;
}

.program-topics-item-target-list-item p:first-child {
    min-width: 30px;
    min-height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
    color: #000;
    background: #C9FF64;
    border-radius: 99px;
}

.program-topics-item-target-list-item p:last-child {
    font-size: 12px;
    font-weight: 400;
    line-height: normal;
    color: #000;
    text-transform: none;
}

.bg-1 {
    background-image: url(/assets/cult/learning_to_see-ecea6bfaf2d3a01a0b87ccdd00debc7072512c2896520e0dc259deac57274144.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.bg-2 {
    background-image: url(/assets/cult/learn_to_make-6bf73450e4136993ff889e5233c4f810494da22e6336ef7411f72228aefe51bb.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.bg-3 {
    background-image: url(/assets/cult/learning_to_apply-363d34f65dfa1ac23d9e01a2956bd702c5ffc74e39dc0b119ec49ba5dab57626.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.tools-items {
    display: flex;
    width: 100%;
    padding-bottom: 44px;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 14px;
}

.tools-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    padding: 6px 9px;
    background: #fff;
    border-radius: 10px;
    gap: 6px;
}

.tools-item img {
    width: 16px;
    height: 16px;
}

.tools-item p {
    padding: 0;
    font-size: 12px;
    font-weight: 700;
    line-height: normal;
    color: #000;
    text-transform: uppercase;
}

/* Стили для после курса */

.after-course-content .content-left {
    justify-content: space-between;
}

.after-course-description {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.after-course-description p {
    width: 420px;
}

.after-course-content > .after-course-notice {
    display: none;
}

.after-course-notice {
    display: flex;
    flex-direction: column;
    width: 530px;
    background: #101010;
    border-radius: 20px;
    padding-bottom: 16px;
}

.after-course-notice p:first-child {
    padding: 30px 26px;
    border-radius: 20px;
    background: #C9FF64;
    font-size: 20px;
    font-weight: 500;
    line-height: normal;
    color: #000;
    text-transform: uppercase;
}

.after-course-notice p:last-child {
    padding: 16px 26px;
    font-size: 12px;
    font-weight: 400;
    line-height: normal;
    letter-spacing: normal;
    color: #969696;
}

.after-course-content .content-right {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 20px;
}

.after-course-content .content-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

/* Стили для price-options */

.price-options {
    display: flex;
    flex-direction: column;
    gap: 60px;
    padding-bottom: 30px;
}

.price-content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

.price-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: #fff;
    border-radius: 14px;
}

.price-item .options {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 300px;
    padding: 20px 0 35px 0;
}

.price-item .options p:first-child {
    min-height: 67px;
    color: #000;
}

.price-item .options p:nth-child(2) {
    font-size: 40px;
    font-weight: 700;
    line-height: normal;
    color: #000;
    padding-bottom: 20px;
}

.price-item .options p:nth-child(3) {
    font-size: 12px;
    font-weight: 400;
    letter-spacing: normal;
    line-height: normal;
    color: #969696;
}

button.pay-button,
button.request-button {
    width: 100%;
    height: 50px;
    padding: 7px 14px;
    border-radius: 14px;
    font-size: 20px;
    font-weight: 500;
    line-height: normal;
    text-transform: uppercase;
    box-sizing: border-box;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
    outline: none;
}

button.pay-button {
    background: #B31E57;
    color: #fff;
    text-align: center;
}

button.pay-button:hover {
    background: #C9FF64;
    color: #000;
}

button.pay-button:active {
    transform: translateY(0);
}

button.request-button {
    display: flex;
    width: 310px;
    align-items: center;
    justify-content: center;
    background: #C9FF64;
    color: #000;
    border: 1px solid #000;
    gap: 20px;
}

button.request-button:hover {
    background: #f5f5f5;
    border-color: #e0e0e0;
    transform: translateY(-2px);
}

button.request-button:active {
    transform: translateY(0);
}

button.request-button img {
    width: 20px;
    height: auto;
    border-radius: 0;
}

/* Стили для faq */

.faq {
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.faq-content {
    display: flex;
    flex-direction: column;
}

.faq-item {
    display: flex;
    flex-direction: column;
    padding: 30px 0;
    border-top: 1px solid #C9FF64;
    overflow: hidden;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-item:last-child {
    border-bottom: 1px solid #C9FF64;
}

.faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    cursor: pointer;
    text-align: left;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-question h3 {
    flex: 1;
    margin: 0;
    font-size: 40px;
    font-weight: 700;
    line-height: normal;
    color: #fff;
    text-transform: none;
    transition: color 0.4s ease-in-out;
}

.faq-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0;
    margin-left: 20px;
}

.faq-icon svg {
    display: block;
    width: 24px;
    height: 24px;
    transition: stroke 0.4s ease-in-out;
}

.faq-item.active .faq-icon {
    transform: rotate(180deg);
}

.faq-answer {
    max-height: 0;
    width: 740px;
    overflow: hidden;
    transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1), 
                padding 0.5s cubic-bezier(0.4, 0, 0.2, 1),
                opacity 0.4s ease-in-out;
    opacity: 0;
}

.faq-item.active .faq-answer {
    padding-top: 20px;
    max-height: 500px;
    opacity: 1;
}

.faq-answer p {
    margin: 0;
    font-size: 24px;
    font-weight: 400;
    line-height: normal;
    color: #fff;
    letter-spacing: normal;
    transition: opacity 0.5s ease-in-out 0.1s,
                transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
    opacity: 0;
    transform: translateY(-10px);
}

.faq-item.active .faq-answer p {
    opacity: 1;
    transform: translateY(0);
}

/* Стили для about */

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

.about .content-left {
    justify-content: space-between;
}

.about .content-left img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    border-radius: 10px;
}

.about-author-name {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.about .content-left .about-author-name a img {
    width: 28px;
    height: 28px;
    object-fit: cover;
    border-radius: 0;
}

.about .content-right {
    padding-left: 130px;
    justify-content: flex-end;
    gap: 20px;
}

.about .content-right p {
    font-size: 21px;
    line-height: normal;
}

.about .content-right p:last-child {
    padding-top: 20px;
    font-size: 19px;
    font-weight: 700;
    color: #B31E57;
    text-transform: uppercase;
}

/* Стили для questions */

.questions-content .content-left {
    justify-content: center;
    gap: 60px;
}

.questions-header {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.questions-header p {
    width: 530px;
}

.questions-content .content-right {
    height: 700px;
    background-image: url(/assets/cult/question-64e49eb90987cc05d4dcfe905ee804b1e35fd24be134000208df13d24ff7099f.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Стили для footer */

footer {
    display: flex;
    flex-direction: column;
    padding: 45px 0;
    background: #C9FF64;
}

footer .footer-content  {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

footer .footer-content img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

footer .footer-content-ligal {
    display: flex;
    flex-direction: row;
    gap: 20px;
}

footer .footer-content-ligal a {
    display: flex;
    width: 100%;
    height: 50px;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 16px;
    font-size: 12px;
    font-weight: 700;
    line-height: normal;
    color: #000;
    text-transform: uppercase;
}

.footer-content-requisites {
    display: flex;
    flex-direction: row;
    gap: 20px;
}

.footer-content-requisites p {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    border-radius: 16px;
    border: 1px solid #000;
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
    color: #000;
}

.footer-content-requisites p {
    height: 90px;
}

.footer-content-requisites-column {
    display: flex;
    width: 50%;
    flex-direction: column;
    gap: 10px;
}

.footer-content-requisites-column p {
    width: 100%;
    height: 40px;
}

.footer-content span {
    width: 100%;
    padding-top: 30px;
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
    color: #000;
    text-align: center;
}

/* Стили модального меню */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.modal-menu {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: #B31E57;
    padding: 50px 50px 50px 25px;
    max-width: 500px;
    width: 100%;
    max-height: 100vh;
    height: 100vh;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    margin: 0;
}

.modal-overlay.active .modal-menu {
    transform: translateX(0);
}

.modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    height: auto;
}

.modal-header p {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: normal;
    text-transform: uppercase;
}

.modal-close {
    background: none;
    border: none;
    font-size: 12px;
    font-weight: 400;
    color: #fff;
    cursor: pointer;
    transition: all 0.3s ease;
}

.modal-close:hover {
    color: #ccc;
}

.modal-nav {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.modal-link {
    display: block;
    font-family: 'DrukCyr', sans-serif;
    font-size: 80px;
    font-weight: 700;
    line-height: 70px;
    color: #FA649D;
    text-decoration: none;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.modal-link:hover {
    color: #ccc;
    transform: translateX(4px);
}

.modal-actions {
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.modal-actions button.request-button {
    width: 100%;
    border: none;
}

.modal-buy-btn {
    display: block;
    width: 100%;
    height: 50px;
    background: #fff;
    color: #000;
    padding: 14px;
    font-size: 20px;
    font-weight: 500;
    line-height: normal;
    border-radius: 15px;
    text-transform: uppercase;
    text-align: center;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.modal-buy-btn:hover {
    color: #59131E;
}

/* Стили модального окна заявки */
.modal-application {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    background: #fff;
    padding: 50px 50px 50px 25px;
    max-width: 500px;
    width: 100%;
    max-height: 100vh;
    height: 100vh;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    margin: 0;
}

.modal-overlay.active .modal-application {
    transform: translateX(0);
}

.modal-application-header {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    padding-bottom: 30px;
}

.modal-application .modal-close {
    color: #99233B;
}

.modal-application .modal-close:hover {
    color: #99233B;
}

.modal-application h2 {
    font-size: 40px;
    font-weight: 700;
    line-height: normal;
    color: #000;
    padding-bottom: 60px;
}

.modal-application-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.form-group {
    display: flex;
    flex-direction: column;
}

.form-group input {
    padding: 12px 20px;
    border: 2px solid #EBEBEB;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 400;
    color: #000;
    background: #fff;
    transition: border-color 0.3s ease;
    font-family: 'PT Root UI', sans-serif;
}

.form-group input:focus {
    outline: none;
    border-color: #99233B;
}

.form-group input::placeholder {
    color: #999;
}

.form-checkboxes {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding-top: 40px;
}

.checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    color: #000;
}

.checkbox-label a {
    color: #99233B;
    text-decoration: underline;
}

.checkbox-label input[type="checkbox"] {
    display: none;
}

.checkmark {
    width: 30px;
    height: 30px;
    border: 0.792px solid #DBDBDB;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
    margin-top: 2px;
}

.checkmark::after {
    content: '';
    width: 12px;
    height: 12px;
    background: #DBDBDB;
    border-radius: 50%;
}

.checkbox-label input[type="checkbox"]:checked + .checkmark {
    background: #000;
}

.checkbox-label input[type="checkbox"]:checked + .checkmark::after {
    content: '';
    width: 12px;
    height: 12px;
    background: #C96374;
    border-radius: 50%;
}

.modal-application-submit {
    width: 100%;
    height: 60px;
    background: #99233B;
    color: #fff;
    border: none;
    border-radius: 15px;
    font-size: 20px;
    font-weight: 500;
    text-transform: uppercase;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'PT Root UI', sans-serif;
}

.modal-application-submit:hover {
    background: #ABB546;
}

.modal-application-submit:disabled {
    background: #ccc;
    cursor: not-allowed;
}

/* Стили модального окна видео */
.modal-video {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #000;
    padding: 20px;
    max-width: 90vw;
    max-height: 90vh;
    width: auto;
    height: auto;
    transform: scale(0.8);
    transition: transform 0.3s ease;
    margin: auto;
    border-radius: 10px;
}

.modal-overlay.active .modal-video {
    transform: scale(1);
}

.modal-video-header {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    padding-bottom: 20px;
}

.modal-video .modal-close {
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    background: none;
    border: none;
    cursor: pointer;
    transition: color 0.3s ease;
}

.modal-video .modal-close:hover {
    color: #ccc;
}

.modal-video-content {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal-video-content video {
    max-width: 100%;
    max-height: 80vh;
    width: auto;
    height: auto;
    border-radius: 10px;
    background: #000;
}

/* Мобильные стили */
@media (max-width: 768px) {
    /* Дополнительные стили для плавной прокрутки на мобильных */
    html {
        -webkit-overflow-scrolling: touch;
        scroll-behavior: smooth;
    }

    * {
        -webkit-overflow-scrolling: touch;
    }
    
    main, .content, .hero, .learn, .about, .program-modules, .students-works, .studens-reviews, .price-options {
        -webkit-overflow-scrolling: touch;
        scroll-behavior: smooth;
        will-change: scroll-position;
    }
    .container {
        max-width: 100vw;
    }
    
    header nav p:nth-child(2) {
        opacity: 0;
    }
    
    main {
        gap: 90px;
    }

    .hero , .learn , .about , .program-modules , .students-works , .studens-reviews , .price-options {
        overflow-x: hidden;
    }
    
    .content h3 {
        font-size: 40px;
        font-weight: 700;
        line-height: 40px;
    }

    .hero {
        gap: 20px;
    }
    
    .hero-banner {
        width: 100%;
        height: auto;
        aspect-ratio: 9 / 16;
        padding: 20px;
        align-content: center;
    }
    
    .hero-banner h1 ,h2 {
        font-size: 80px;
        line-height: 70px;
    }

    p {
        font-size: 14px;
        line-height: 18px;
        letter-spacing: normal;
    }

    .hero-video {
        /* Отключаем аппаратное ускорение для экономии батареи */
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
        /* Улучшаем производительность */
        will-change: transform;
        /* Принудительное использование GPU */
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
    
    /* Дополнительные стили для медленных устройств */
    .hero-video.loaded {
        /* Плавный переход для мобильных */
        transition: opacity 0.3s ease-in-out;
    }
    
    .hero-content {
        flex-direction: column;
        gap: 30px;
        padding: 20px 0;
    }
    
    .hero-content p {
        width: 100%;
        font-size: 16px;
        font-weight: 300;
        line-height: normal;
    }

    .hero-description {
        width: 100%;
        gap: 30px;
    }
    
    .hero-content img {
        display: none;
    }
    
    .hero-content button {
        width: 100%;
        height: 50px;
        font-size: 16px;
        line-height: 22px;
    }

    .program-topics-content, .learn-content ,.hero-content ,.after-course-content ,.about-content ,.questions-content ,.who-is-content ,.benefit-title  {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: space-between;
        gap: 20px;
    }
    
    .content-left {
        width: 100%;
    }
    
    .content-right {
        width: 100%;
    }

    /* Стили для who-is */

    .who-is {
        padding-top: 0px;
        padding-bottom: 0px;
    }

    .who-is h3 {
        font-size: 24px;
        line-height: 28px;
        font-weight: 400;
        width: 100%;
    }

    .who-is span {
        top: -73px;
        left: 170px;
    }

    .who-is-content {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: space-between;
        gap: 20px;
    }

    .who-is-item {
        gap: 20px;
        padding: 10px 16px;
    }

    .who-is-content p:first-child {
        font-size: 62px;
        line-height: 56px
    }
    
    .learn {
        gap: 20px;
    }

    .learn .content-left {
        gap: 40px;
    }
    
    .learn-description {
        width: 100%;
        gap: 20px;
    }
    
    .learn-content img {
        height: 380px;
    }
    
    .learn-content-tags {
        gap: 10px;
    }
    
    .learn-content-tags span {
        padding: 0 10px;
        font-size: 18px;
        font-weight: 400;
        line-height: 24px;
        text-transform: none;
        border: 1px solid #B31E57;
        border-radius: 5px;
    }
    
    .learn-content-tags span.separator {
        display: none;
    }

    /* Стили для program-topics */

    .program-topics-content {
        flex-direction: column-reverse;
    }

    :nth-child(2) .program-topics-content {
        flex-direction: column;
    }

    .program-topics-content img {
        height: 380px;
        width: 100%;
        object-fit: cover;
    }

    .benefit-title {
        padding: 30px 20px;
        margin: 90px calc((100vw - 100%) / -2);
        width: 100vw;
    }
    
    .benefit-title h2 {
        width: 100%;
        color: #000;
    }
    
    .program-topics-content img.benefit {
        height: 200px;
        width: 100%;
        object-fit: cover;
    }
    
    .program-topics-content span {
        top: -60px;
        left: calc(100% - 140px);
    }

    .program-topics .wrap {
        margin-top: 90px;
    }

    .program-topics-item {
        padding: 40px 20px 60px 20px;
    }

    .content--card {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 100%;
        height: 80vh;
        top: 10vh;
        margin: auto;
        border-radius: 14px;
        gap: 3vh;
        margin-bottom: 5vh;
        background-color: #fff;
    }

    .program-topics-item-header {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        position: relative;
        width: 100%;
        background-color: #fff;
        padding: 8px;
        border-radius: 14px;
    }

    .program-topics-item-target {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        align-items: flex-start;
        position: relative;
        width: 100%;
        padding: 25px 40px 25px 20px;
        border-radius: 24px;
        gap: 20px;
    }


    .bg-1 {
        background-image: url(/assets/cult/learning_to_see-m-a82b134c15bf56cc9ea5fa046d6932aa739ff67434ab844ead6bac525433b06d.webp);
    }

    .bg-2 {
        background-image: url(/assets/cult/learn_to_make-m-2827084a353a7817488a5d050168bd2b4963f7d9cc5297e13ea14d4def3301d3.webp);
    }

    .bg-3 {
        background-image: url(/assets/cult/learning_to_apply-m-8c547f272b13ba630ab514e0b96670d2619a3f0397f791ee5913b56c06ed3331.webp);
    }

    .tools-items {
        padding-bottom: 0px;
    }

    .tools-item {
        padding: 6px 16px;
    }

    .tools-item img {
        width: 16px;
        height: 16px;
    }

/* Стили для после курса */

    .after-course-content {
        gap: 60px;
    }

    .after-course-description {
        gap: 40px;
    }

    .after-course-description p {
        width: 100%;
    }

    .after-course-content .content-left > .after-course-notice {
        display: none;
    }

    .after-course-content > .after-course-notice {
        display: flex;
    }

    .after-course-notice {
        width: 100%;
        padding-bottom: 0px;
    }

    .after-course-notice p:first-child {
        padding: 15px 20px;
    }

    .after-course-notice p:last-child {
        padding: 15px 20px;
    }

    .after-course-content .content-right {
        gap: 10px;
    }

    /* Стили для price-options */

    .price-options {
        padding-bottom: 0px;
    }
    
    .price-content {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    
    .price-item .options {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        width: 100%;
        padding: 28px 32px 35px 32px;
    }

    .price-item .options p:first-child {
        font-size: 24px;
        line-height: normal;
    }

    button.request-button {
        width: 100%;
    }

    /* Стили для about */

    .about .content-left {
        gap: 40px;
    }

    .about .content-left img {
        height: 220px;
    }

    .about-author-name h3 {
        width: 70%;
    }

    .about-author-name {
        align-items: flex-start;
    }

    .about .content-left .about-author-name a img {
        width: 24px;
        height: 24px;
    }

    .about .content-right {
        padding-left: 0px;
        align-items: flex-start;
    }

    .about .content-right p {
        font-size: 14px;
    }

    .about .content-right p:last-child {
        font-size: 12px;
    }

    /* Стили для questions */

    .questions-content {
        gap: 60px;
    }

    .questions-content .content-left {
        gap: 30px;
    }

    .questions-header p {
        width: 100%;
    }

    .questions-content .content-right {
        height: 800px;
        background-image: url(/assets/cult/question-m-4b6c4fd86849b6ff2ecdeeb97b7c2d53821bb662979b7eb87048fb31a3126506.webp);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    /* Стили для faq */

    .faq-item {
        padding: 18px 0;
    }

    .faq-question h3 {
        font-size: 12px;
        text-transform: uppercase;
    }

    .faq-answer {
        width: 100%;
    }

    .faq-answer p {
        font-size: 14px;
    }


    /* Стили для footer */

    .footer-content-requisites {
        flex-direction: column;
        gap: 10px;
    }

    .footer-content-requisites p {
        width: 100%;
    }

    .footer-content-requisites p {
        height: 40px;
    }

    .footer-content-requisites-column {
        width: 100%;
    }


    .modal-menu {
        padding: 30px 20px 80px 20px;
        max-width: 100%;
        width: 100%;
        border-radius: 0;
    }

    .modal-nav {
        gap: 40px;
    }
    
}
