* {
box-sizing: border-box
}

html {
font-family: 'Work Sans', sans-serif;
font-size: 15px;
line-height: 1.55;
background-color: #18182a;
color: #ECE9F0;
overflow-x: hidden
}

body {
margin: 0
}

a:focus-visible,
button:focus-visible {
outline: 2px solid #7342AE;
outline-offset: 3px
}

.top_bar {
background: linear-gradient(90deg, #7342AE 0%, #4a2475 100%);
padding: 10px 40px;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 40px
}

.top_contact {
display: flex;
align-items: center;
gap: 20px;
flex-wrap: wrap
}

.top_contact a {
color: #ECE9F0;
text-decoration: none;
font-size: 15px;
font-weight: 400;
letter-spacing: .02em;
transition: color .5s ease-in-out;
display: flex;
align-items: center;
gap: 10px
}

.top_contact a:hover {
color: #C1B6D4
}

.top_contact_icon {
width: 16px;
height: 16px;
flex-shrink: 0
}

.hd_wrap {
background: linear-gradient(135deg, #121120 0%, #1e1535 60%, #251a40 100%);
border-bottom: 1px solid #7342ae4d;
box-shadow: -1px 8px 36px 0 #7342ae21;
position: relative
}

.hd_inner {
max-width: 1600px;
margin: 0 auto;
padding: 20px 40px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 40px
}

.brand_grp {
display: flex;
align-items: center;
gap: 20px;
margin-left: 10px;
flex-shrink: 0
}

.logo_hex {
position: relative;
width: 80px;
height: 80px;
flex-shrink: 0
}

.logo_hex_bg {
position: absolute;
inset: 0;
background: #ECE9F0;
clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
box-shadow: -1px 5px 25px 0 #7342ae14
}

.logo_hex img {
position: relative;
z-index: 1;
width: 80px;
height: 80px;
object-fit: contain;
object-position: center;
display: block
}

.brand_txt {
display: flex;
flex-direction: column;
gap: 4px
}

.brand_name {
font-size: 22px;
font-weight: 700;
color: #ECE9F0;
letter-spacing: -.01em;
line-height: 1.1;
text-decoration: none
}

.brand_desc {
font-size: 15px;
font-weight: 300;
color: #C1B6D4;
letter-spacing: .03em;
line-height: 1.35
}

.pri_nav {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 10px;
justify-content: flex-end
}

.pri_nav a {
color: #C1B6D4;
text-decoration: none;
font-size: 15px;
font-weight: 500;
letter-spacing: .02em;
padding: 10px 20px;
border-radius: 7px;
border: 1px solid transparent;
transition: color .5s ease-in-out, border-color .55s ease-in-out, background-color .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
min-height: 44px;
display: flex;
align-items: center;
white-space: nowrap
}

.pri_nav a:hover {
color: #ECE9F0;
border-color: #7342ae99;
background-color: #7342ae26
}

.pri_nav a.active_lnk {
color: #ECE9F0;
background-color: #7342ae40;
border-color: #7342ae80
}

.enrol_btn {
background: linear-gradient(135deg, #7342AE 0%, #5a2f8a 100%);
color: #ECE9F0;
text-decoration: none;
font-size: 15px;
font-weight: 600;
letter-spacing: .03em;
padding: 10px 20px;
border-radius: 7px;
border: 2px solid #7342AE;
transition: border-color .5s ease-in-out, box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .6s ease-in-out;
min-height: 44px;
display: flex;
align-items: center;
white-space: nowrap;
box-shadow: -1px 3px 6px 0 #7342ae14;
flex-shrink: 0
}

.enrol_btn:hover {
border-color: #C1B6D4;
box-shadow: -1px 5px 25px 0 #7342ae14 0 0 0 3px #7342ae33;
background: linear-gradient(135deg, #8a52c8 0%, #6b3aa0 100%);
color: #ECE9F0
}

@media (max-width: 1024px) {
.hd_inner {
flex-wrap: wrap;
padding: 20px
}

.pri_nav {
width: 100%;
justify-content: flex-start
}
}

@media (max-width: 640px) {
.top_bar {
padding: 10px 20px
}

.top_contact {
gap: 10px
}

.hd_inner {
padding: 20px 10px;
gap: 20px
}

.brand_grp {
margin-left: 0
}

.pri_nav a {
padding: 10px;
font-size: 15px
}
}

@media (max-width: 360px) {
.brand_name {
font-size: 18px
}

.top_contact a {
font-size: 15px
}
}

.ft_wrap {
background: linear-gradient(160deg, #1e1535 0%, #12112a 50%, #1a1230 100%);
border-top: 1px solid #c1b6d433;
box-shadow: -1px 8px 36px 0 #7342ae21
}

.ft_top {
max-width: 1600px;
margin: 0 auto;
padding: 80px 40px 40px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 40px;
align-items: start
}

.ft_brand {
display: flex;
flex-direction: column;
align-items: center;
gap: 20px;
text-align: center
}

.ft_logo_hex {
position: relative;
width: 80px;
height: 80px
}

.ft_logo_hex_bg {
position: absolute;
inset: 0;
background: #ECE9F0;
clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
box-shadow: -1px 5px 25px 0 #7342ae14
}

.ft_logo_hex img {
position: relative;
z-index: 1;
width: 80px;
height: 80px;
object-fit: contain;
object-position: center;
display: block
}

.ft_copy {
font-size: 15px;
color: #C1B6D4;
font-weight: 300;
line-height: 1.55;
letter-spacing: .01em
}

.ft_col_head {
font-size: 15px;
font-weight: 700;
color: #ECE9F0;
letter-spacing: .05em;
text-transform: uppercase;
margin-bottom: 20px;
line-height: 1.35
}

.ft_links {
display: flex;
flex-direction: column;
gap: 10px
}

.ft_links a {
color: #C1B6D4;
text-decoration: none;
font-size: 15px;
font-weight: 400;
letter-spacing: .02em;
line-height: 1.55;
padding: 4px 0;
border-bottom: 1px solid transparent;
transition: color .5s ease-in-out, border-color .55s ease-in-out;
display: inline-block
}

.ft_links a:hover {
color: #ECE9F0;
border-bottom-color: #7342ae80
}

.ft_hours {
margin-top: 20px;
padding: 20px;
background: #7342ae1a;
border-radius: 7px;
border: 1px solid #7342ae33;
box-shadow: inset 0 2px 6px 0 #7342ae14
}

.ft_hours_label {
font-size: 15px;
font-weight: 600;
color: #C1B6D4;
letter-spacing: .04em;
text-transform: uppercase;
margin-bottom: 10px;
line-height: 1.35
}

.ft_hours_row {
display: flex;
justify-content: space-between;
gap: 10px;
font-size: 15px;
color: #ECE9F0;
font-weight: 400;
line-height: 1.55
}

.ft_hours_day {
color: #C1B6D4;
font-weight: 300
}

.ft_divider {
max-width: 1600px;
margin: 0 auto;
height: 1px;
background: linear-gradient(90deg, transparent 0%, #7342ae66 30%, #c1b6d44d 50%, #7342ae66 70%, transparent 100%);
margin-left: 40px;
margin-right: 40px
}

.ft_bottom {
max-width: 1600px;
margin: 0 auto;
padding: 20px 40px 40px;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 20px
}

.ft_legal {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 20px
}

.ft_legal a {
color: #C1B6D4;
text-decoration: none;
font-size: 15px;
font-weight: 400;
letter-spacing: .02em;
transition: color .5s ease-in-out
}

.ft_legal a:hover {
color: #ECE9F0
}

.ft_cr {
font-size: 15px;
color: #C1B6D4;
font-weight: 300;
letter-spacing: .02em
}

@media (max-width: 1024px) {
.ft_top {
grid-template-columns: 1fr 1fr;
padding: 40px 20px
}

.ft_brand {
grid-column: 1 / -1
}
}

@media (max-width: 640px) {
.ft_top {
grid-template-columns: 1fr
}

.ft_brand {
grid-column: auto
}

.ft_bottom {
flex-direction: column;
align-items: flex-start;
padding: 20px
}

.ft_divider {
margin-left: 20px;
margin-right: 20px
}
}

@media (max-width: 360px) {
.ft_legal {
gap: 10px
}
}

.ck_card {
position: fixed;
bottom: 20px;
left: 20px;
width: 340px;
max-width: calc(100vw - 40px);
background: linear-gradient(145deg, #1e1535 0%, #251a40 100%);
border: 1px solid #7342ae66;
border-radius: 20px;
padding: 20px;
z-index: 1500;
box-shadow: -1px 8px 36px 0 #7342ae21;
transform: translateY(calc(-100% - 40px));
opacity: 0;
transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity .55s ease-in-out
}

.ck_card.ck_visible {
transform: translateY(0);
opacity: 1
}

.ck_card.ck_hiding {
transform: translateY(calc(-100% - 40px));
opacity: 0
}

.ck_head {
font-size: 18px;
font-weight: 700;
color: #ECE9F0;
letter-spacing: -.01em;
line-height: 1.35;
margin-bottom: 10px
}

.ck_body {
font-size: 15px;
font-weight: 400;
color: #C1B6D4;
line-height: 1.55;
margin-bottom: 10px
}

.ck_uses {
list-style: none;
padding: 0;
margin: 0 0 20px;
display: flex;
flex-direction: column;
gap: 4px
}

.ck_uses li {
font-size: 15px;
color: #C1B6D4;
font-weight: 300;
line-height: 1.55;
padding-left: 10px;
position: relative
}

.ck_uses li::before {
content: '';
position: absolute;
left: 0;
top: 10px;
width: 4px;
height: 4px;
border-radius: 4px;
background: #7342AE
}

.ck_btns {
display: flex;
gap: 10px
}

.ck_accept,
.ck_decline {
flex: 1;
padding: 10px 20px;
border-radius: 7px;
font-size: 15px;
font-weight: 500;
letter-spacing: .02em;
cursor: pointer;
min-height: 44px;
border: 2px solid #7342ae99;
background: transparent;
color: #ECE9F0;
transition: border-color .5s ease-in-out, background-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .5s ease-in-out;
font-family: 'Work Sans', sans-serif
}

.ck_accept:hover,
.ck_accept:focus-visible {
border-color: #7342AE;
background-color: #7342ae40;
color: #ECE9F0
}

.ck_decline:hover,
.ck_decline:focus-visible {
border-color: #c1b6d480;
background-color: #c1b6d414;
color: #ECE9F0
}

.rules-l-block {
max-width: 860px;
margin: 0 auto;
padding: 80px 40px;
color: #ECE9F0;
background: #1e1a2e;
box-shadow: -1px 8px 36px 0 #7342ae21;
border-radius: 7px
}

.rules-l-block h1 {
font-size: 42px;
line-height: 1.1;
letter-spacing: -.02em;
color: #ECE9F0;
margin-bottom: 40px;
padding-bottom: 20px;
border-bottom: 2px solid #c1b6d42e
}

.rules-l-block h2 {
font-size: 30px;
line-height: 1.35;
letter-spacing: -.01em;
color: #C1B6D4;
margin-top: 80px;
margin-bottom: 20px
}

.rules-l-block h3 {
font-size: 22px;
line-height: 1.35;
letter-spacing: -.005em;
color: #C1B6D4;
margin-top: 40px;
margin-bottom: 20px
}

.rules-l-block h4 {
font-size: 18px;
line-height: 1.55;
letter-spacing: .01em;
color: #b8aecf;
margin-top: 40px;
margin-bottom: 10px
}

.rules-l-block h5 {
font-size: 15px;
line-height: 1.55;
letter-spacing: .02em;
color: #b8aecf;
margin-top: 20px;
margin-bottom: 10px;
text-transform: uppercase
}

.rules-l-block h6 {
font-size: 15px;
line-height: 1.55;
letter-spacing: .03em;
color: #c1b6d4b8;
margin-top: 20px;
margin-bottom: 10px
}

.rules-l-block p {
font-size: 18px;
line-height: 1.8;
letter-spacing: .01em;
color: #ece9f0e0;
margin-bottom: 20px
}

.rules-l-block ul,
.rules-l-block ol {
margin: 20px 0;
padding-left: 40px
}

.rules-l-block ul {
list-style: none;
padding-left: 20px
}

.rules-l-block ul li {
position: relative;
padding-left: 20px
}

.rules-l-block ul li::before {
content: "";
position: absolute;
left: 0;
top: 11px;
width: 6px;
height: 6px;
border-radius: 50%;
background: #7342AE
}

.rules-l-block ol {
list-style: decimal
}

.rules-l-block ol li {
padding-left: 10px
}

.rules-l-block li {
font-size: 18px;
line-height: 1.8;
color: #ece9f0e0;
margin-bottom: 10px
}

.rules-l-block li:last-child {
margin-bottom: 0
}

.rules-l-block ul ul,
.rules-l-block ol ol,
.rules-l-block ul ol,
.rules-l-block ol ul {
margin: 10px 0
}

.rules-l-block strong,
.rules-l-block b {
color: #ECE9F0;
font-weight: 700
}

.rules-l-block em,
.rules-l-block i {
color: #C1B6D4;
font-style: italic
}

.rules-l-block a {
color: #9b6fd4;
text-decoration: underline;
text-decoration-color: #9b6fd466;
text-underline-offset: 3px;
transition: color .45s ease-in-out, text-decoration-color .55s ease-in-out
}

.rules-l-block a:hover {
color: #C1B6D4;
text-decoration-color: #c1b6d4b3
}

.rules-l-block hr {
border: none;
height: 1px;
background: #c1b6d42e;
margin: 80px 0
}

.rules-l-block div {
font-size: 18px;
line-height: 1.8;
color: #ece9f0e0
}

.rules-l-block div+div {
margin-top: 20px
}

@media (max-width: 1024px) {
.rules-l-block {
padding: 80px 40px
}

.rules-l-block h1 {
font-size: 42px
}
}

@media (max-width: 640px) {
.rules-l-block {
padding: 40px 20px;
border-radius: 4px
}

.rules-l-block h1 {
font-size: 30px;
margin-bottom: 20px
}

.rules-l-block h2 {
font-size: 22px;
margin-top: 40px
}

.rules-l-block h3 {
font-size: 18px;
margin-top: 40px
}

.rules-l-block h4,
.rules-l-block h5,
.rules-l-block h6 {
font-size: 15px
}

.rules-l-block p,
.rules-l-block li,
.rules-l-block div {
font-size: 15px
}

.rules-l-block ul,
.rules-l-block ol {
padding-left: 20px
}

.rules-l-block hr {
margin: 40px 0
}
}

@media (max-width: 360px) {
.rules-l-block {
padding: 20px 10px
}

.rules-l-block h1 {
font-size: 22px
}

.rules-l-block h2 {
font-size: 18px
}

.rules-l-block h3,
.rules-l-block h4,
.rules-l-block h5,
.rules-l-block h6 {
font-size: 15px
}
}

.prog_pg {
background: #18152a;
min-height: 100vh;
overflow-x: hidden
}

.prog_pg .strip {
display: flex;
flex-direction: row;
align-items: stretch;
min-height: 92vh;
max-width: 1600px;
margin: 0 auto;
padding: 80px 40px 120px;
gap: 40px;
position: relative
}

.prog_pg .strip::before {
content: '';
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='200'%3E%3Cpath d='M0,80 Q50,40 100,80 Q150,120 200,80 Q250,40 300,80 Q350,120 400,80' stroke='%237342AE' stroke-width='0.6' fill='none' opacity='0.12'/%3E%3Cpath d='M0,130 Q50,90 100,130 Q150,170 200,130 Q250,90 300,130 Q350,170 400,130' stroke='%237342AE' stroke-width='0.6' fill='none' opacity='0.08'/%3E%3C/svg%3E");
background-repeat: repeat;
background-size: 400px 200px;
pointer-events: none;
z-index: 0
}

.prog_pg .strip_text {
flex: 1 1 0;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
z-index: 1
}

.prog_pg .strip_tag {
display: inline-block;
font-size: 15px;
letter-spacing: .12em;
color: #C1B6D4;
text-transform: uppercase;
margin-bottom: 20px;
border: 1px dashed #7342AE;
border-radius: 4px;
padding: 10px 20px;
width: fit-content
}

.prog_pg .strip_h1 {
font-size: 72px;
line-height: 1.1;
letter-spacing: -.03em;
color: #ECE9F0;
font-style: italic;
margin-bottom: 20px
}

.prog_pg .strip_h1 span {
color: #7342AE
}

.prog_pg .strip_desc {
font-size: 18px;
line-height: 1.55;
color: #C1B6D4;
max-width: 560px;
margin-bottom: 40px
}

.prog_pg .strip_link {
display: inline-block;
font-size: 18px;
color: #ECE9F0;
background: #7342AE;
border-radius: 7px;
padding: 20px 40px;
text-decoration: none;
font-weight: 600;
border: 2px solid transparent;
box-shadow: -1px 5px 25px 0 #7342ae14;
transition: border-color .5s ease-in-out, box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .48s ease-in-out;
width: fit-content
}

.prog_pg .strip_link:hover {
background: transparent;
border-color: #7342AE;
box-shadow: -1px 8px 36px 0 #7342ae21;
color: #ECE9F0
}

.prog_pg .strip_link:focus-visible {
outline: 3px solid #C1B6D4 !important;
outline-offset: 4px !important
}

.prog_pg .strip_img_col {
flex: 0 0 340px;
display: flex;
flex-direction: column;
align-items: flex-end;
justify-content: center;
position: relative;
z-index: 1
}

.prog_pg .strip_img_wrap {
width: 300px;
height: 480px;
border-radius: 20px;
overflow: hidden;
position: relative;
box-shadow: -1px 8px 36px 0 #7342ae21
}

.prog_pg .strip_img_wrap img {
width: 300px;
height: 480px;
object-fit: cover;
object-position: center top;
filter: grayscale(100%);
display: block;
transition: filter .6s ease-in-out
}

.prog_pg .strip_img_wrap::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 55%, #7342AE 100%);
opacity: 0;
transition: opacity .52s cubic-bezier(0.25, 0.46, 0.45, 0.94);
pointer-events: none;
border-radius: 20px
}

.prog_pg .strip_img_wrap:hover::after {
opacity: .55
}

.prog_pg .strip_img_wrap:hover img {
filter: grayscale(0%)
}

.prog_pg .strip_dashed {
position: absolute;
top: 60px;
right: -20px;
width: 340px;
height: 500px;
border: 2px dashed #7342ae59;
border-radius: 20px;
pointer-events: none;
z-index: 0
}

.prog_pg .programs_area {
background: linear-gradient(180deg, #2a1f45 50%, #C1B6D4 100%);
padding: 80px 0;
position: relative
}

.prog_pg .programs_area::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, transparent, #7342AE, transparent)
}

.prog_pg .programs_inner {
max-width: 1600px;
margin: 0 auto;
padding: 0 40px
}

.prog_pg .programs_hd {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
margin-bottom: 40px;
gap: 40px
}

.prog_pg .programs_hd h2 {
font-size: 42px;
line-height: 1.1;
letter-spacing: -.02em;
color: #ECE9F0;
font-style: italic;
flex: 1 1 0
}

.prog_pg .programs_hd_note {
font-size: 15px;
line-height: 1.55;
color: #C1B6D4;
max-width: 320px;
flex: 0 0 320px
}

.prog_pg .prog_grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
margin-bottom: 40px
}

.prog_pg .prog_card {
background: #18152a;
border-radius: 20px;
padding: 40px;
display: flex;
flex-direction: column;
gap: 20px;
box-shadow: -1px 5px 25px 0 #7342ae14;
border: 1px solid #7342ae2e;
position: relative;
overflow: hidden;
transition: border-color .5s ease-in-out, box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.prog_pg .prog_card::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 60px;
background: linear-gradient(to top, #7342ae2e, transparent);
pointer-events: none
}

.prog_pg .prog_card:hover {
border-color: #7342AE;
box-shadow: -1px 8px 36px 0 #7342ae21
}

.prog_pg .prog_card.featured {
background: #7342AE;
border-color: transparent
}

.prog_pg .prog_card.featured::after {
background: linear-gradient(to top, #c1b6d433, transparent)
}

.prog_pg .prog_badge {
display: inline-block;
font-size: 15px;
letter-spacing: .08em;
text-transform: uppercase;
color: #C1B6D4;
background: #7342ae38;
border-radius: 4px;
padding: 10px 20px;
width: fit-content
}

.prog_pg .prog_card.featured .prog_badge {
background: #ece9f033;
color: #ECE9F0
}

.prog_pg .prog_card h3 {
font-size: 22px;
line-height: 1.35;
color: #ECE9F0;
font-style: italic;
margin: 0
}

.prog_pg .prog_card p {
font-size: 15px;
line-height: 1.55;
color: #C1B6D4;
margin: 0
}

.prog_pg .prog_card.featured p {
color: #ECE9F0
}

.prog_pg .prog_meta {
display: flex;
flex-direction: column;
gap: 10px;
margin-top: auto
}

.prog_pg .prog_meta_row {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
font-size: 15px;
color: #C1B6D4;
border-top: 1px solid #c1b6d426;
padding-top: 10px
}

.prog_pg .prog_card.featured .prog_meta_row {
color: #ECE9F0;
border-top-color: #ece9f040
}

.prog_pg .prog_meta_row strong {
color: #ECE9F0;
font-size: 18px
}

.prog_pg .prog_card.featured .prog_meta_row strong {
color: #ECE9F0
}

.prog_pg .prog_enroll {
display: inline-block;
font-size: 15px;
font-weight: 600;
color: #7342AE;
background: #ECE9F0;
border-radius: 7px;
padding: 10px 20px;
text-decoration: none;
border: 2px solid transparent;
transition: background .48s ease-in-out, border-color .52s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .5s ease-in-out;
width: fit-content;
margin-top: 10px
}

.prog_pg .prog_enroll:hover {
background: transparent;
border-color: #ECE9F0;
color: #ECE9F0
}

.prog_pg .prog_enroll:focus-visible {
outline: 3px solid #ECE9F0 !important;
outline-offset: 4px !important
}

.prog_pg .prog_card:not(.featured) .prog_enroll {
color: #ECE9F0;
background: #7342AE
}

.prog_pg .prog_card:not(.featured) .prog_enroll:hover {
background: transparent;
border-color: #7342AE;
color: #C1B6D4
}

.prog_pg .prog_card:not(.featured) .prog_enroll:focus-visible {
outline: 3px solid #7342AE !important;
outline-offset: 4px !important
}

.prog_pg .prog_bottom {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
margin-top: 20px
}

.prog_pg .prog_info_box {
background: #7342ae1f;
border-radius: 20px;
padding: 40px;
border: 1px solid #7342ae38;
display: flex;
flex-direction: column;
gap: 20px;
box-shadow: -1px 3px 6px 0 #7342ae14
}

.prog_pg .prog_info_box h4 {
font-size: 22px;
line-height: 1.35;
color: #ECE9F0;
font-style: italic;
margin: 0
}

.prog_pg .prog_info_box p {
font-size: 15px;
line-height: 1.55;
color: #C1B6D4;
margin: 0;
columns: 2;
column-gap: 20px
}

.prog_pg .prog_stat_box {
background: #ECE9F0;
border-radius: 20px;
padding: 40px;
display: flex;
flex-direction: column;
gap: 20px;
box-shadow: -1px 5px 25px 0 #7342ae14
}

.prog_pg .prog_stat_box h4 {
font-size: 22px;
line-height: 1.35;
color: #2a1f45;
font-style: italic;
margin: 0
}

.prog_pg .prog_stats_row {
display: flex;
flex-direction: row;
gap: 20px
}

.prog_pg .prog_stat {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 10px;
background: #7342ae14;
border-radius: 7px;
padding: 20px
}

.prog_pg .prog_stat_num {
font-size: 42px;
line-height: 1.1;
color: #7342AE;
font-weight: 700;
letter-spacing: -.03em
}

.prog_pg .prog_stat_lbl {
font-size: 15px;
line-height: 1.35;
color: #2a1f45
}

@media (max-width: 1024px) {
.prog_pg .strip {
flex-direction: column;
padding: 80px 40px;
min-height: unset
}

.prog_pg .strip_img_col {
flex: 0 0 auto;
align-items: center
}

.prog_pg .strip_dashed {
right: 0
}

.prog_pg .strip_h1 {
font-size: 58px
}

.prog_pg .prog_grid {
grid-template-columns: 1fr 1fr
}

.prog_pg .prog_bottom {
grid-template-columns: 1fr
}
}

@media (max-width: 640px) {
.prog_pg .strip {
padding: 40px 20px 80px
}

.prog_pg .strip_h1 {
font-size: 42px
}

.prog_pg .programs_inner {
padding: 0 20px
}

.prog_pg .prog_grid {
grid-template-columns: 1fr
}

.prog_pg .programs_hd {
flex-direction: column;
align-items: flex-start
}

.prog_pg .programs_hd_note {
flex: 0 0 auto;
max-width: 100%
}

.prog_pg .prog_info_box p {
columns: 1
}

.prog_pg .prog_stats_row {
flex-direction: column
}
}

@media (max-width: 360px) {
.prog_pg .strip_h1 {
font-size: 30px
}

.prog_pg .prog_card {
padding: 20px
}
}

.abt {
background: #181520;
color: #ECE9F0;
overflow-x: clip;
position: relative
}

.abt .pg-wrap {
max-width: 1600px;
margin: 0 auto;
padding: 0 40px
}

.abt .cross-div {
display: flex;
align-items: center;
justify-content: center;
gap: 20px;
padding: 20px 40px
}

.abt .cross-div span {
display: inline-block;
width: 10px;
height: 10px;
position: relative;
flex-shrink: 0
}

.abt .cross-div span::before,
.abt .cross-div span::after {
content: "";
position: absolute;
background: #7342AE;
opacity: .45
}

.abt .cross-div span::before {
width: 2px;
height: 10px;
left: 4px;
top: 0
}

.abt .cross-div span::after {
width: 10px;
height: 2px;
left: 0;
top: 4px
}

.abt .cross-div .cross-line {
flex: 1;
height: 1px;
background: linear-gradient(90deg, transparent, #7342AE44, transparent)
}

@keyframes edge-glow {

0%,
100% {
opacity: .18
}

50% {
opacity: .55
}
}

.abt .tb {
position: relative;
background: #110e1a;
padding: 80px 0
}

.abt .tb-glow {
position: absolute;
inset: 0;
pointer-events: none;
border: 2px solid #7342AE;
border-radius: 4px;
animation: edge-glow 4.5s ease-in-out infinite;
box-shadow: 0 0 40px 0 #7342ae2e inset 0 0 40px 0 #7342ae0f
}

.abt .tb-shape-a {
position: absolute;
width: 320px;
height: 320px;
border: 1px solid #7342ae1f;
border-radius: 36px;
top: -60px;
right: 8%;
transform: rotate(22deg);
pointer-events: none
}

.abt .tb-shape-b {
position: absolute;
width: 180px;
height: 180px;
border: 1px solid #c1b6d417;
border-radius: 20px;
bottom: 20px;
right: 12%;
transform: rotate(-12deg);
pointer-events: none
}

.abt .tb-inner {
max-width: 1600px;
margin: 0 auto;
padding: 0 40px;
display: flex;
flex-direction: row;
align-items: center;
gap: 80px
}

.abt .tb-text {
flex: 3
}

.abt .tb-label {
font-size: 15px;
letter-spacing: .18em;
color: #C1B6D4;
text-transform: uppercase;
margin-bottom: 20px;
display: block
}

.abt .tb-h1 {
font-size: 72px;
line-height: 1.1;
letter-spacing: -.03em;
color: #ECE9F0;
font-style: italic;
margin: 0 0 20px
}

.abt .tb-h1 .accent-dot {
color: #7342AE;
font-style: normal
}

.abt .tb-sub {
font-size: 18px;
line-height: 1.55;
color: #C1B6D4;
max-width: 560px;
margin: 0
}

.abt .tb-img-col {
flex: 1;
position: relative;
display: flex;
align-items: center;
justify-content: center
}

.abt .tb-img-wrap {
width: 260px;
height: 320px;
border-radius: 20px;
overflow: hidden;
opacity: .38;
box-shadow: -1px 8px 36px 0 #7342ae21
}

.abt .tb-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
display: block
}

.abt .ab {
background: #1e1828;
padding: 80px 0 40px;
position: relative
}

.abt .ab-glow {
position: absolute;
inset: 0;
pointer-events: none;
border: 1px solid #7342ae1a;
animation: edge-glow 6s ease-in-out infinite 1.5s
}

.abt .ab-grid {
max-width: 1600px;
margin: 0 auto;
padding: 0 40px;
display: grid;
grid-template-columns: 3fr 1fr;
gap: 80px;
align-items: start
}

.abt .ab-h2 {
font-size: 42px;
line-height: 1.1;
letter-spacing: -.02em;
font-style: italic;
color: #ECE9F0;
margin: 0 0 40px
}

.abt .ab-h2 .ap {
color: #7342AE
}

.abt .ab-cols {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
margin-bottom: 40px
}

.abt .ab-p {
font-size: 15px;
line-height: 1.8;
color: #C1B6D4;
margin: 0 0 20px
}

.abt .ab-p:last-child {
margin-bottom: 0
}

.abt .ab-imgs {
display: flex;
flex-direction: column;
gap: 20px
}

.abt .ab-img-card {
border-radius: 20px;
overflow: hidden;
box-shadow: -1px 5px 25px 0 #7342ae14;
position: relative
}

.abt .ab-img-card img {
width: 100%;
height: 200px;
object-fit: cover;
object-position: center center;
display: block;
transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abt .ab-img-card:hover img {
transform: scale(1.04)
}

.abt .ab-stat-row {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
margin-top: 40px
}

.abt .ab-stat {
background: #251e33;
border-radius: 20px;
padding: 20px;
box-shadow: -1px 3px 6px 0 #7342ae14;
border: 1px solid #7342ae26;
transition: box-shadow .5s ease-in-out, border-color .55s ease-in-out
}

.abt .ab-stat:hover {
box-shadow: -1px 8px 36px 0 #7342ae21;
border-color: #7342ae66
}

.abt .ab-stat-num {
font-size: 42px;
line-height: 1.1;
color: #7342AE;
letter-spacing: -.02em;
display: block
}

.abt .ab-stat-lbl {
font-size: 15px;
line-height: 1.55;
color: #C1B6D4;
margin-top: 10px;
display: block
}

.abt .ab-reveal-wrap {
margin-top: 40px;
position: relative;
display: inline-block
}

.abt .ab-reveal-trigger {
background: #251e33;
border: 1px solid #7342ae40;
border-radius: 7px;
padding: 20px;
cursor: pointer;
width: 100%;
display: block
}

.abt .ab-reveal-trigger summary {
font-size: 15px;
color: #C1B6D4;
letter-spacing: .06em;
list-style: none;
display: flex;
flex-direction: row;
align-items: center;
gap: 10px
}

.abt .ab-reveal-trigger summary::before {
content: "";
display: inline-block;
width: 8px;
height: 8px;
border-right: 2px solid #7342AE;
border-bottom: 2px solid #7342AE;
transform: rotate(45deg);
transition: transform .48s ease-in-out;
flex-shrink: 0
}

.abt .ab-reveal-trigger[open] summary::before {
transform: rotate(-135deg)
}

.abt .ab-reveal-body {
padding: 20px 0 0;
font-size: 15px;
line-height: 1.8;
color: #C1B6D4
}

.abt .cf-sec {
background: #ECE9F0;
padding: 80px 0;
position: relative
}

.abt .cf-glow {
position: absolute;
inset: 0;
pointer-events: none;
border: 1px solid #7342ae33;
animation: edge-glow 5.5s ease-in-out infinite .8s
}

.abt .cf-wrap {
max-width: 1600px;
margin: 0 auto;
padding: 0 40px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: start
}

.abt .cf-h2 {
font-size: 42px;
line-height: 1.1;
letter-spacing: -.02em;
font-style: italic;
color: #181520;
margin: 0 0 20px
}

.abt .cf-h2 .ap {
color: #7342AE
}

.abt .cf-desc {
font-size: 15px;
line-height: 1.8;
color: #3d3050;
margin: 0 0 40px
}

.abt .cf-team {
display: flex;
flex-direction: column;
gap: 20px
}

.abt .cf-person {
display: flex;
flex-direction: row;
align-items: center;
gap: 20px;
background: #fff;
border-radius: 20px;
padding: 20px;
box-shadow: -1px 3px 6px 0 #7342ae14;
transition: box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abt .cf-person:hover {
box-shadow: -1px 8px 36px 0 #7342ae21
}

.abt .cf-av {
width: 60px;
height: 60px;
border-radius: 36px;
overflow: hidden;
flex-shrink: 0;
box-shadow: -1px 3px 6px 0 #7342ae14
}

.abt .cf-av img {
width: 60px;
height: 60px;
object-fit: cover;
object-position: center top;
display: block
}

.abt .cf-pname {
font-size: 15px;
color: #181520;
font-weight: 600;
display: block;
margin-bottom: 4px
}

.abt .cf-prole {
font-size: 15px;
color: #7342AE;
display: block
}

.abt .cf-form {
background: #fff;
border-radius: 20px;
padding: 40px;
box-shadow: -1px 5px 25px 0 #7342ae14
}

.abt .cf-form-h {
font-size: 22px;
line-height: 1.35;
color: #181520;
margin: 0 0 20px;
font-style: italic
}

.abt .cf-field {
margin-bottom: 20px
}

.abt .cf-label {
display: block;
font-size: 15px;
color: #3d3050;
margin-bottom: 10px;
letter-spacing: .04em
}

.abt .cf-input {
width: 100%;
background: #f5f2f9;
border: 1px solid #7342ae33;
border-radius: 7px;
padding: 10px 20px;
font-size: 15px;
color: #181520;
outline: none;
transition: border-color .48s ease-in-out, box-shadow .52s ease-in-out;
box-shadow: inset 0 2px 5px 0 #7342ae0f
}

.abt .cf-input:focus {
border-color: #7342AE;
box-shadow: inset 0 2px 5px 0 #7342ae1a 0 0 0 3px #7342ae1f
}

.abt .cf-input::placeholder {
color: #9e8fba
}

.abt .cf-radio-group {
display: flex;
flex-direction: column;
gap: 10px
}

.abt .cf-radio-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 10px
}

.abt .cf-radio {
accent-color: #7342AE;
width: 18px;
height: 18px;
flex-shrink: 0;
cursor: pointer
}

.abt .cf-radio-lbl {
font-size: 15px;
color: #3d3050;
cursor: pointer
}

.abt .cf-method-group {
display: flex;
flex-direction: row;
gap: 10px;
flex-wrap: wrap
}

.abt .cf-method-opt {
display: flex;
flex-direction: row;
align-items: center;
gap: 10px;
background: #f5f2f9;
border: 1px solid #7342ae2e;
border-radius: 7px;
padding: 10px 20px;
cursor: pointer;
transition: border-color .48s ease-in-out, background .5s ease-in-out
}

.abt .cf-method-opt:has(input:checked) {
border-color: #7342AE;
background: #ede7f6
}

.abt .cf-method-opt input {
accent-color: #7342AE;
cursor: pointer
}

.abt .cf-method-lbl {
font-size: 15px;
color: #3d3050;
cursor: pointer
}

.abt .cf-privacy {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 10px;
margin-bottom: 20px
}

.abt .cf-check {
accent-color: #7342AE;
width: 18px;
height: 18px;
flex-shrink: 0;
margin-top: 2px;
cursor: pointer
}

.abt .cf-privacy-txt {
font-size: 15px;
line-height: 1.55;
color: #3d3050
}

.abt .cf-privacy-lnk {
color: #7342AE;
text-decoration: underline;
text-decoration-thickness: 2px;
text-underline-offset: 3px;
transition: color .48s ease-in-out
}

.abt .cf-privacy-lnk:hover {
color: #5a2f8a
}

.abt .cf-btn {
display: inline-block;
background: #7342AE;
color: #ECE9F0;
font-size: 15px;
letter-spacing: .08em;
border: 2px solid #7342AE;
border-radius: 7px;
padding: 10px 40px;
cursor: pointer;
transition: background .5s ease-in-out, border-color .52s ease-in-out, box-shadow .55s ease-in-out, outline-offset .48s ease-in-out;
outline: 2px solid transparent;
outline-offset: 0;
box-shadow: -1px 3px 6px 0 #7342ae14
}

.abt .cf-btn:hover {
background: #5a2f8a;
border-color: #5a2f8a;
box-shadow: -1px 8px 36px 0 #7342ae21;
outline: 2px solid #7342AE;
outline-offset: 4px
}

.abt .cf-btn:focus {
outline: 2px solid #7342AE;
outline-offset: 4px
}

@media (max-width: 1024px) {
.abt .tb-inner {
gap: 40px
}

.abt .tb-h1 {
font-size: 58px
}

.abt .ab-grid {
grid-template-columns: 1fr;
gap: 40px
}

.abt .cf-wrap {
grid-template-columns: 1fr;
gap: 40px
}

.abt .ab-stat-row {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 640px) {

.abt .pg-wrap,
.abt .tb-inner,
.abt .ab-grid,
.abt .cf-wrap {
padding: 0 20px
}

.abt .tb {
padding: 40px 0
}

.abt .tb-inner {
flex-direction: column;
gap: 20px
}

.abt .tb-h1 {
font-size: 42px
}

.abt .tb-img-col {
display: none
}

.abt .ab-cols {
grid-template-columns: 1fr;
gap: 20px
}

.abt .ab-stat-row {
grid-template-columns: 1fr
}

.abt .ab {
padding: 40px 0 20px
}

.abt .cf-sec {
padding: 40px 0
}

.abt .cf-form {
padding: 20px
}

.abt .ab-h2,
.abt .cf-h2 {
font-size: 30px
}

.abt .cross-div {
padding: 10px 20px
}
}

@media (max-width: 360px) {
.abt .tb-h1 {
font-size: 30px
}

.abt .cf-method-group {
flex-direction: column
}
}

.lp_prog {
background: #181624;
color: #ECE9F0;
overflow-x: clip
}

.lp_prog .lp_wrap {
max-width: 1600px;
margin: 0 auto;
padding: 0 40px
}

.lp_prog .tb {
padding: 80px 40px 40px;
position: relative;
background: linear-gradient(180deg, #7342AE 0%, #3a2460 55%, transparent 100%)
}

.lp_prog .tb_frame {
max-width: 1600px;
margin: 0 auto;
position: relative
}

.lp_prog .tb_frame::before,
.lp_prog .tb_frame::after {
content: "";
position: absolute;
border: 1px solid #c1b6d44d;
pointer-events: none
}

.lp_prog .tb_frame::before {
top: -20px;
left: -20px;
right: 50%;
bottom: -20px;
border-radius: 7px
}

.lp_prog .tb_frame::after {
top: -10px;
left: -10px;
right: 55%;
bottom: -10px;
border-radius: 4px;
border-color: #c1b6d426
}

.lp_prog .tb_grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: center
}

.lp_prog .tb_text {
padding: 20px 0
}

.lp_prog .tb_eyebrow {
font-size: 15px;
letter-spacing: .12em;
color: #C1B6D4;
text-transform: uppercase;
margin-bottom: 20px;
display: block
}

.lp_prog .tb_h1 {
font-size: 58px;
line-height: 1.1;
letter-spacing: -.02em;
font-style: italic;
color: #ECE9F0;
margin-bottom: 20px
}

.lp_prog .tb_declare {
font-size: 18px;
line-height: 1.55;
color: #C1B6D4;
margin-bottom: 40px
}

.lp_prog .tb_actions {
display: flex;
flex-direction: row;
gap: 20px;
flex-wrap: wrap
}

.lp_prog .btn_prim {
display: inline-block;
padding: 14px 40px;
background: #7342AE;
color: #ECE9F0;
font-size: 15px;
border-radius: 4px;
border: 2px solid #7342AE;
cursor: pointer;
text-decoration: none;
transition: background .48s ease-in-out, border-color .52s ease-in-out, box-shadow .55s ease-in-out;
box-shadow: -1px 5px 25px 0 #7342ae14
}

.lp_prog .btn_prim:hover {
background: #8a52c8;
border-color: #a070d8;
box-shadow: -1px 8px 36px 0 #7342ae21;
outline: 3px solid #c1b6d466;
outline-offset: 3px
}

.lp_prog .btn_out {
display: inline-block;
padding: 14px 40px;
background: transparent;
color: #C1B6D4;
font-size: 15px;
border-radius: 4px;
border: 2px solid #c1b6d480;
cursor: pointer;
text-decoration: none;
transition: border-color .5s ease-in-out, color .45s ease-in-out
}

.lp_prog .btn_out:hover {
border-color: #C1B6D4;
color: #ECE9F0;
outline: 3px solid #c1b6d440;
outline-offset: 4px
}

.lp_prog .tb_img_wrap {
position: relative;
border-radius: 20px;
overflow: hidden;
box-shadow: -1px 8px 36px 0 #7342ae21
}

.lp_prog .tb_img_wrap img {
width: 100%;
height: 460px;
object-fit: cover;
object-position: center top;
display: block
}

.lp_prog .tb_img_wrap::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(270deg, transparent 40%, #3a2460 100%);
pointer-events: none
}

.lp_prog .zz_div {
width: 100%;
line-height: 0;
overflow: hidden
}

.lp_prog .zz_div svg {
display: block;
width: 100%
}

.lp_prog .prog_str {
background: #1e1a2e;
padding: 80px 40px;
position: relative
}

.lp_prog .prog_str_inner {
max-width: 1600px;
margin: 0 auto
}

.lp_prog .str_header {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
margin-bottom: 80px;
align-items: end
}

.lp_prog .str_h2 {
font-size: 42px;
line-height: 1.1;
letter-spacing: -.02em;
font-style: italic;
color: #ECE9F0
}

.lp_prog .str_desc {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px
}

.lp_prog .str_desc p {
font-size: 15px;
line-height: 1.55;
color: #C1B6D4;
margin: 0
}

.lp_prog .pull_quote {
font-size: 22px;
line-height: 1.35;
font-style: italic;
color: #ECE9F0;
border-top: 2px solid #7342AE;
padding-top: 20px;
margin-top: 20px;
grid-column: 1 / -1
}

.lp_prog .steps_track {
position: relative;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px
}

.lp_prog .steps_track::before {
content: "";
position: absolute;
top: 28px;
left: 10%;
right: 10%;
height: 2px;
background: linear-gradient(90deg, #7342AE, #C1B6D4, #7342AE);
z-index: 0
}

.lp_prog .step_card {
background: #251e3a;
border-radius: 20px;
padding: 40px 20px 20px;
position: relative;
z-index: 1;
box-shadow: -1px 5px 25px 0 #7342ae14;
transition: box-shadow .55s ease-in-out, transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lp_prog .step_card:hover {
box-shadow: -1px 8px 36px 0 #7342ae21;
transform: translateY(-4px);
outline: 2px solid #c1b6d44d;
outline-offset: 2px
}

.lp_prog .step_num {
width: 56px;
height: 56px;
border-radius: 36px;
background: #7342AE;
color: #ECE9F0;
font-size: 22px;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 20px;
box-shadow: -1px 3px 6px 0 #7342ae14;
animation: soft_pulse 3.2s ease-in-out infinite
}

.lp_prog .step_card:nth-child(2) .step_num {
animation-delay: .4s
}

.lp_prog .step_card:nth-child(3) .step_num {
animation-delay: .8s
}

.lp_prog .step_card:nth-child(4) .step_num {
animation-delay: 1.2s
}

@keyframes soft_pulse {

0%,
100% {
transform: scale(1)
}

50% {
transform: scale(1.02)
}
}

.lp_prog .step_h {
font-size: 18px;
line-height: 1.35;
color: #ECE9F0;
text-align: center;
margin-bottom: 10px
}

.lp_prog .step_p {
font-size: 15px;
line-height: 1.55;
color: #C1B6D4;
text-align: center;
margin: 0
}

.lp_prog .band_div {
height: 4px;
background: linear-gradient(90deg, #7342AE 0%, #C1B6D4 50%, transparent 100%)
}

.lp_prog .details_faq {
background: #ECE9F0;
padding: 80px 40px
}

.lp_prog .details_faq_inner {
max-width: 1600px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 2fr;
gap: 80px;
align-items: start
}

.lp_prog .det_left {
position: sticky;
top: 40px
}

.lp_prog .det_img_wrap {
border-radius: 20px;
overflow: hidden;
margin-bottom: 40px;
box-shadow: -1px 8px 36px 0 #7342ae21
}

.lp_prog .det_img_wrap img {
width: 100%;
height: 280px;
object-fit: cover;
object-position: center 30%;
display: block
}

.lp_prog .det_h3 {
font-size: 30px;
line-height: 1.35;
font-style: italic;
color: #181624;
margin-bottom: 20px
}

.lp_prog .det_meta {
display: flex;
flex-direction: column;
gap: 10px
}

.lp_prog .det_row {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
padding: 10px 20px;
background: #7342AE;
border-radius: 7px;
box-shadow: -1px 3px 6px 0 #7342ae14
}

.lp_prog .det_row_label {
font-size: 15px;
color: #C1B6D4
}

.lp_prog .det_row_val {
font-size: 15px;
color: #ECE9F0;
font-weight: 600
}

.lp_prog .faq_right h2 {
font-size: 42px;
line-height: 1.1;
letter-spacing: -.02em;
font-style: italic;
color: #181624;
margin-bottom: 40px
}

.lp_prog .faq_list {
display: flex;
flex-direction: column;
gap: 20px
}

.lp_prog .faq_item {
background: #fff;
border-radius: 7px;
box-shadow: -1px 5px 25px 0 #7342ae14;
overflow: hidden
}

.lp_prog .faq_item summary {
font-size: 18px;
line-height: 1.35;
color: #181624;
padding: 20px;
cursor: pointer;
list-style: none;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
transition: background .48s ease-in-out, color .5s ease-in-out
}

.lp_prog .faq_item summary::-webkit-details-marker {
display: none
}

.lp_prog .faq_item summary::after {
content: "";
width: 12px;
height: 12px;
border-right: 2px solid #7342AE;
border-bottom: 2px solid #7342AE;
transform: rotate(45deg);
flex-shrink: 0;
transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lp_prog .faq_item[open] summary::after {
transform: rotate(-135deg)
}

.lp_prog .faq_item summary:hover {
background: #7342ae0f;
color: #7342AE
}

.lp_prog .faq_body {
padding: 0 20px 20px;
font-size: 15px;
line-height: 1.55;
color: #3a2460
}

.lp_prog .faq_body p {
margin: 0
}

.lp_prog .faq_body a {
color: #7342AE;
text-decoration: underline;
text-decoration-thickness: 3px;
text-underline-offset: 3px;
transition: color .48s ease-in-out
}

.lp_prog .faq_body a:hover {
color: #3a2460
}

@media (max-width: 1024px) {
.lp_prog .tb_grid {
grid-template-columns: 1fr;
gap: 40px
}

.lp_prog .tb_img_wrap img {
height: 320px
}

.lp_prog .tb_frame::before,
.lp_prog .tb_frame::after {
display: none
}

.lp_prog .str_header {
grid-template-columns: 1fr
}

.lp_prog .steps_track {
grid-template-columns: repeat(2, 1fr)
}

.lp_prog .steps_track::before {
display: none
}

.lp_prog .details_faq_inner {
grid-template-columns: 1fr;
gap: 40px
}

.lp_prog .det_left {
position: static
}
}

@media (max-width: 640px) {
.lp_prog .tb {
padding: 40px 20px 20px
}

.lp_prog .tb_h1 {
font-size: 42px
}

.lp_prog .steps_track {
grid-template-columns: 1fr
}

.lp_prog .prog_str {
padding: 40px 20px
}

.lp_prog .details_faq {
padding: 40px 20px
}

.lp_prog .str_desc {
grid-template-columns: 1fr
}

.lp_prog .lp_wrap,
.lp_prog .tb,
.lp_prog .prog_str,
.lp_prog .details_faq {
padding-left: 20px;
padding-right: 20px
}

.lp_prog .faq_right h2 {
font-size: 30px
}

.lp_prog .str_h2 {
font-size: 30px
}
}

@media (max-width: 360px) {
.lp_prog .tb_h1 {
font-size: 30px
}

.lp_prog .btn_prim,
.lp_prog .btn_out {
padding: 12px 20px
}
}

.cont_pg {
background: #1b1a2e;
color: #ECE9F0;
overflow-x: hidden
}

.cont_pg .top_split {
display: grid;
grid-template-columns: 1fr 1.4fr 1fr;
min-height: 520px;
max-width: 1600px;
margin: 0 auto;
padding: 80px 40px;
gap: 40px;
align-items: center
}

.cont_pg .img_side {
position: relative;
height: 420px;
border-radius: 20px;
overflow: hidden;
box-shadow: -1px 8px 36px 0 #7342ae21
}

.cont_pg .img_side img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
filter: saturate(0.7) brightness(0.75) sepia(0.25);
display: block
}

.cont_pg .img_side.right_img {
transform: scaleX(-1)
}

.cont_pg .img_side.right_img img {
transform: scaleX(-1)
}

.cont_pg .blur_spot {
position: absolute;
border-radius: 36px;
pointer-events: none
}

.cont_pg .blur_spot.s1 {
width: 180px;
height: 180px;
background: #7342ae2e;
filter: blur(60px);
top: -40px;
left: -40px
}

.cont_pg .blur_spot.s2 {
width: 140px;
height: 140px;
background: #c1b6d41f;
filter: blur(50px);
bottom: -30px;
right: -30px
}

.cont_pg .mid_text {
text-align: center;
position: relative;
z-index: 1;
padding: 40px 20px
}

.cont_pg .mid_text .pg_label {
font-size: 15px;
letter-spacing: .12em;
color: #C1B6D4;
text-transform: uppercase;
margin-bottom: 20px;
display: block
}

.cont_pg .mid_text h1 {
font-size: 72px;
line-height: 1.1;
font-style: italic;
font-weight: 800;
color: #ECE9F0;
letter-spacing: -.03em;
margin-bottom: 20px
}

.cont_pg .mid_text h1 em {
color: #7342AE;
font-style: normal
}

.cont_pg .mid_text .sub_note {
font-size: 18px;
line-height: 1.55;
color: #C1B6D4;
max-width: 320px;
margin: 0 auto
}

.cont_pg .deco_lines {
position: absolute;
top: 20px;
right: 20px;
display: flex;
flex-direction: column;
gap: 7px;
pointer-events: none
}

.cont_pg .deco_lines span {
display: block;
height: 1px;
background: #7342ae59
}

.cont_pg .deco_lines span:nth-child(1) {
width: 60px
}

.cont_pg .deco_lines span:nth-child(2) {
width: 44px
}

.cont_pg .deco_lines span:nth-child(3) {
width: 30px
}

.cont_pg .deco_lines span:nth-child(4) {
width: 18px
}

.cont_pg .divider_dash {
border: none;
border-top: 2px dashed #7342ae66;
max-width: 1600px;
margin: 0 auto
}

.cont_pg .form_zone {
max-width: 1600px;
margin: 0 auto;
padding: 80px 40px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: start
}

.cont_pg .form_info {
position: relative
}

.cont_pg .form_info h2 {
font-size: 42px;
line-height: 1.1;
font-style: italic;
font-weight: 700;
color: #ECE9F0;
letter-spacing: -.02em;
margin-bottom: 20px
}

.cont_pg .form_info .desc_para {
font-size: 18px;
line-height: 1.55;
color: #C1B6D4;
margin-bottom: 40px;
columns: 1
}

.cont_pg .float_card {
background: linear-gradient(180deg, #2a2545 0%, #1e1b38 100%);
border-radius: 20px;
padding: 40px;
box-shadow: -1px 5px 25px 0 #7342ae14;
border: 1px solid #7342ae33;
position: relative
}

.cont_pg .float_card .status_row {
display: flex;
flex-direction: row;
align-items: center;
gap: 10px;
margin-bottom: 20px
}

.cont_pg .float_card .status_dot {
width: 10px;
height: 10px;
border-radius: 4px;
background: #7342AE;
flex-shrink: 0
}

.cont_pg .float_card .status_label {
font-size: 15px;
color: #C1B6D4;
letter-spacing: .06em;
text-transform: uppercase
}

.cont_pg .float_card .info_row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 10px;
padding: 10px 0;
border-bottom: 1px solid #c1b6d41a
}

.cont_pg .float_card .info_row:last-child {
border-bottom: none
}

.cont_pg .float_card .row_dot {
width: 6px;
height: 6px;
border-radius: 4px;
background: #7342ae99;
margin-top: 7px;
flex-shrink: 0
}

.cont_pg .float_card .row_key {
font-size: 15px;
color: #C1B6D4;
min-width: 80px;
flex-shrink: 0
}

.cont_pg .float_card .row_val {
font-size: 15px;
color: #ECE9F0;
word-break: break-all
}

.cont_pg .form_wrap {
background: linear-gradient(180deg, #221f3a 0%, #1b1a2e 100%);
border-radius: 20px;
padding: 40px;
box-shadow: -1px 8px 36px 0 #7342ae21;
border: 1px solid #7342ae26
}

.cont_pg .form_wrap h3 {
font-size: 30px;
line-height: 1.35;
font-style: italic;
font-weight: 700;
color: #ECE9F0;
margin-bottom: 20px;
letter-spacing: -.01em
}

.cont_pg .field_grp {
margin-bottom: 20px
}

.cont_pg .field_grp label {
display: block;
font-size: 15px;
color: #C1B6D4;
margin-bottom: 10px;
letter-spacing: .04em
}

.cont_pg .field_grp .req_mark {
color: #7342AE;
margin-left: 4px
}

.cont_pg .field_grp input[type="text"],
.cont_pg .field_grp input[type="email"],
.cont_pg .field_grp select,
.cont_pg .field_grp textarea {
width: 100%;
background: #7342ae14;
border: 1px solid #7342ae40;
border-radius: 7px;
padding: 14px 20px;
color: #ECE9F0;
font-size: 18px;
line-height: 1.55;
outline: none;
transition: border-color .5s ease-in-out, box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .5s ease-in-out;
appearance: none;
-webkit-appearance: none;
box-shadow: inset 0 2px 6px #7342ae0f;
display: block
}

.cont_pg .field_grp input[type="text"]::placeholder,
.cont_pg .field_grp input[type="email"]::placeholder,
.cont_pg .field_grp textarea::placeholder {
color: #c1b6d480
}

.cont_pg .field_grp input[type="text"]:focus,
.cont_pg .field_grp input[type="email"]:focus,
.cont_pg .field_grp select:focus,
.cont_pg .field_grp textarea:focus {
border-color: #7342AE;
background: #7342ae24;
box-shadow: inset 0 3px 8px #7342ae1a 0 0 0 3px #7342ae26
}

.cont_pg .field_grp textarea {
resize: vertical;
min-height: 140px
}

.cont_pg .field_grp select {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C1B6D4' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 20px center;
padding-right: 44px;
cursor: pointer
}

.cont_pg .field_grp select option {
background: #221f3a;
color: #ECE9F0
}

.cont_pg .two_col_fields {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px
}

.cont_pg .privacy_row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 10px;
margin-bottom: 20px;
padding: 20px;
background: #7342ae0f;
border-radius: 7px;
border: 1px solid #7342ae26
}

.cont_pg .privacy_row input[type="checkbox"] {
width: 18px;
height: 18px;
margin-top: 2px;
flex-shrink: 0;
accent-color: #7342AE;
cursor: pointer
}

.cont_pg .privacy_row .priv_text {
font-size: 15px;
line-height: 1.55;
color: #C1B6D4
}

.cont_pg .privacy_row .priv_text a {
color: #C1B6D4;
text-decoration: underline;
text-decoration-thickness: 2px;
text-underline-offset: 3px;
transition: color .5s ease-in-out
}

.cont_pg .privacy_row .priv_text a:hover {
color: #ECE9F0
}

.cont_pg .submit_btn {
width: 100%;
padding: 20px 40px;
background: #7342AE;
color: #ECE9F0;
border: 2px solid #7342AE;
border-radius: 7px;
font-size: 18px;
font-weight: 700;
letter-spacing: .04em;
cursor: pointer;
position: relative;
transition: background .5s ease-in-out, color .5s ease-in-out, border-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .6s ease-in-out, outline-offset .5s ease-in-out;
outline: 2px solid transparent;
outline-offset: 0;
box-shadow: -1px 5px 25px 0 #7342ae14;
overflow: hidden
}

.cont_pg .submit_btn:hover {
background: transparent;
color: #7342AE;
outline: 2px solid #7342AE;
outline-offset: 4px;
box-shadow: -1px 8px 36px 0 #7342ae21
}

.cont_pg .submit_btn:focus {
outline: 3px solid #C1B6D4;
outline-offset: 4px
}

.cont_pg .submit_btn:active {
background: #5a3085;
border-color: #5a3085;
color: #ECE9F0
}

.cont_pg .details_strip {
background: linear-gradient(180deg, #7342AE 0%, #C1B6D4 100%);
padding: 80px 40px;
position: relative;
overflow: hidden
}

.cont_pg .details_strip .strip_inner {
max-width: 1600px;
margin: 0 auto;
display: grid;
grid-template-columns: 1.2fr 1fr 1fr;
gap: 40px;
align-items: start;
position: relative;
z-index: 1
}

.cont_pg .details_strip .deco_corner {
position: absolute;
bottom: 20px;
left: 20px;
display: flex;
flex-direction: column;
gap: 7px;
pointer-events: none
}

.cont_pg .details_strip .deco_corner span {
display: block;
height: 1px;
background: #1b1a2e40
}

.cont_pg .details_strip .deco_corner span:nth-child(1) {
width: 70px
}

.cont_pg .details_strip .deco_corner span:nth-child(2) {
width: 52px
}

.cont_pg .details_strip .deco_corner span:nth-child(3) {
width: 36px
}

.cont_pg .details_strip .deco_corner span:nth-child(4) {
width: 20px
}

.cont_pg .details_strip h2 {
font-size: 42px;
line-height: 1.1;
font-style: italic;
font-weight: 800;
color: #1b1a2e;
letter-spacing: -.02em;
margin-bottom: 20px
}

.cont_pg .details_strip .strip_desc {
font-size: 18px;
line-height: 1.55;
color: #1b1a2e;
columns: 2;
column-gap: 40px
}

.cont_pg .detail_item {
position: relative
}

.cont_pg .detail_item h4 {
font-size: 15px;
letter-spacing: .1em;
text-transform: uppercase;
color: #1b1a2e99;
margin-bottom: 10px;
font-weight: 600
}

.cont_pg .detail_item .d_val {
font-size: 22px;
line-height: 1.35;
color: #1b1a2e;
font-weight: 700;
word-break: break-word
}

.cont_pg .detail_item .d_val a {
color: #1b1a2e;
text-decoration: underline;
text-decoration-thickness: 3px;
text-underline-offset: 4px;
transition: color .5s ease-in-out, text-decoration-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cont_pg .detail_item .d_val a:hover {
color: #3d1f6e;
text-decoration-color: #3d1f6e
}

.cont_pg .detail_item .d_sub {
font-size: 15px;
color: #1b1a2ea6;
margin-top: 10px;
line-height: 1.55
}

.cont_pg .item_dot {
width: 8px;
height: 8px;
border-radius: 4px;
background: #1b1a2e;
margin-bottom: 10px
}

.cont_pg .col_anim {
opacity: 0;
transform: translateY(20px);
animation: col_rise .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

.cont_pg .col_anim:nth-child(1) {
animation-delay: .1s
}

.cont_pg .col_anim:nth-child(2) {
animation-delay: .25s
}

.cont_pg .col_anim:nth-child(3) {
animation-delay: .4s
}

@keyframes col_rise {
to {
opacity: 1;
transform: translateY(0)
}
}

.cont_pg .form_zone .form_info .float_card .info_row .row_val a {
color: #ECE9F0;
text-decoration: underline;
text-decoration-thickness: 2px;
transition: color .5s ease-in-out
}

.cont_pg .form_zone .form_info .float_card .info_row .row_val a:hover {
color: #C1B6D4
}

.cont_pg .stripe_hover {
position: relative;
overflow: hidden
}

.cont_pg .stripe_hover::after {
content: "";
position: absolute;
inset: 0;
background: repeating-linear-gradient(135deg, transparent, transparent 8px, #7342ae12 8px, #7342ae12 16px);
opacity: 0;
transition: opacity .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
pointer-events: none;
border-radius: 20px
}

.cont_pg .stripe_hover:hover::after {
opacity: 1
}

@media (max-width: 1024px) {
.cont_pg .top_split {
grid-template-columns: 1fr 1.2fr 1fr;
padding: 40px 20px;
gap: 20px
}

.cont_pg .mid_text h1 {
font-size: 58px
}

.cont_pg .form_zone {
grid-template-columns: 1fr;
gap: 40px;
padding: 40px 20px
}

.cont_pg .details_strip .strip_inner {
grid-template-columns: 1fr 1fr
}

.cont_pg .details_strip .strip_desc {
columns: 1
}

.cont_pg .details_strip h2 {
font-size: 30px
}
}

@media (max-width: 640px) {
.cont_pg .top_split {
grid-template-columns: 1fr;
padding: 40px 20px
}

.cont_pg .img_side {
display: none
}

.cont_pg .mid_text h1 {
font-size: 42px
}

.cont_pg .two_col_fields {
grid-template-columns: 1fr
}

.cont_pg .details_strip .strip_inner {
grid-template-columns: 1fr;
gap: 20px
}

.cont_pg .details_strip {
padding: 40px 20px
}

.cont_pg .form_wrap {
padding: 20px
}

.cont_pg .float_card {
padding: 20px
}
}

@media (max-width: 360px) {
.cont_pg .mid_text h1 {
font-size: 30px
}

.cont_pg .form_zone {
padding: 20px 10px
}
}

.int_stu {
background: #16131d;
color: #ECE9F0;
overflow-x: clip
}

.int_stu .pg_top {
position: relative;
padding: 80px 40px;
background: linear-gradient(160deg, #2a1a42 0%, #1a1228 40%, #0f0d16 70%, #1e1530 100%);
display: flex;
flex-direction: column;
align-items: flex-start;
max-width: 1600px;
margin: 0 auto
}

.int_stu .dot_bg {
position: absolute;
inset: 0;
overflow: hidden;
pointer-events: none
}

.int_stu .dot_bg::before {
content: "";
position: absolute;
inset: 0;
background-image: radial-gradient(circle, #7342ae2e 1px, transparent 1px);
background-size: 28px 28px
}

.int_stu .pg_label {
font-size: 15px;
letter-spacing: .12em;
color: #C1B6D4;
text-transform: uppercase;
margin-bottom: 20px;
position: relative;
z-index: 1
}

.int_stu .pg_h1 {
font-size: 72px;
line-height: 1.1;
letter-spacing: -.03em;
font-style: italic;
color: #ECE9F0;
max-width: 860px;
position: relative;
z-index: 1;
margin-bottom: 40px
}

.int_stu .pg_h1 span {
display: inline-block;
opacity: 0;
transform: translateY(-32px);
animation: letter_drop .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

@keyframes letter_drop {
to {
opacity: 1;
transform: translateY(0)
}
}

.int_stu .pg_link {
display: inline-block;
font-size: 18px;
color: #ECE9F0;
text-decoration: underline;
text-decoration-thickness: 3px;
text-underline-offset: 4px;
text-decoration-color: #7342AE;
transition: text-decoration-color .55s ease-in-out, color .5s ease-in-out;
position: relative;
z-index: 1
}

.int_stu .pg_link:hover {
color: #C1B6D4;
text-decoration-color: #C1B6D4
}

.int_stu .img_wrap {
position: absolute;
right: 0;
bottom: 0;
width: 42%;
height: 100%;
overflow: hidden
}

.int_stu .img_wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
display: block
}

.int_stu .img_wrap::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(to right, #16131d 0%, transparent 40%), linear-gradient(to top, #16131d 0%, transparent 50%)
}

.int_stu .divider_asym {
display: flex;
align-items: center;
gap: 10px;
padding: 0 40px;
max-width: 1600px;
margin: 0 auto
}

.int_stu .divider_asym::before {
content: "";
display: block;
height: 1px;
width: 70%;
background: linear-gradient(to right, #7342AE, transparent)
}

.int_stu .divider_asym::after {
content: "";
display: block;
height: 1px;
width: 20%;
background: linear-gradient(to right, #7342ae4d, transparent)
}

.int_stu .eligib {
padding: 80px 40px;
max-width: 1600px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 2fr;
gap: 40px;
align-items: start
}

.int_stu .eligib_sidebar {
background: #1e1530;
border-radius: 20px;
padding: 40px;
box-shadow: -1px 5px 25px 0 #7342ae14;
position: sticky;
top: 20px
}

.int_stu .eligib_sidebar_label {
font-size: 15px;
letter-spacing: .1em;
text-transform: uppercase;
color: #7342AE;
margin-bottom: 20px
}

.int_stu .eligib_h2 {
font-size: 42px;
line-height: 1.1;
letter-spacing: -.02em;
font-style: italic;
color: #ECE9F0;
margin-bottom: 20px
}

.int_stu .eligib_sidebar p {
font-size: 15px;
line-height: 1.55;
color: #C1B6D4
}

.int_stu .eligib_main {
display: flex;
flex-direction: column;
gap: 20px
}

.int_stu .fact_block {
background: #1a1228;
border-radius: 7px;
padding: 40px;
box-shadow: -1px 3px 6px 0 #7342ae14;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: start
}

.int_stu .fact_block p {
font-size: 15px;
line-height: 1.55;
color: #C1B6D4
}

.int_stu .fact_block h4 {
font-size: 22px;
line-height: 1.35;
font-style: italic;
color: #ECE9F0;
margin-bottom: 10px
}

.int_stu .fact_hl {
background: linear-gradient(180deg, #2a1a42 50%, #1a1228 50%);
border-radius: 7px;
padding: 20px;
font-size: 15px;
line-height: 1.55;
color: #ECE9F0;
box-shadow: inset 0 3px 6px 0 #7342ae21
}

.int_stu .fact_hl strong {
display: block;
font-size: 30px;
line-height: 1.1;
color: #C1B6D4;
margin-bottom: 10px
}

.int_stu .color_break {
background: linear-gradient(170deg, #7342AE 0%, #C1B6D4 100%);
padding: 80px 40px
}

.int_stu .color_break_inner {
max-width: 1600px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 40px;
align-items: center
}

.int_stu .color_break_text {
flex: 1
}

.int_stu .color_break_text h2 {
font-size: 58px;
line-height: 1.1;
letter-spacing: -.025em;
font-style: italic;
color: #16131d;
margin-bottom: 20px
}

.int_stu .color_break_text p {
font-size: 18px;
line-height: 1.55;
color: #2a1a42
}

.int_stu .ranked_list {
flex: 1;
display: flex;
flex-direction: column;
gap: 10px
}

.int_stu .rank_item {
display: flex;
flex-direction: row;
align-items: center;
gap: 20px
}

.int_stu .rank_num {
font-size: 30px;
line-height: 1.1;
font-style: italic;
color: #16131d;
opacity: .4;
width: 40px;
text-align: right;
flex-shrink: 0
}

.int_stu .rank_info {
flex: 1
}

.int_stu .rank_label {
font-size: 15px;
color: #2a1a42;
margin-bottom: 10px;
line-height: 1.35
}

.int_stu .rank_bar_wrap {
height: 6px;
background: #2a1a4233;
border-radius: 4px;
overflow: hidden
}

.int_stu .rank_bar {
height: 100%;
background: #2a1a42;
border-radius: 4px;
transition: width .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.int_stu .divider_asym2 {
display: flex;
align-items: center;
gap: 10px;
padding: 0 40px;
max-width: 1600px;
margin: 0 auto;
flex-direction: row-reverse
}

.int_stu .divider_asym2::before {
content: "";
display: block;
height: 1px;
width: 25%;
background: linear-gradient(to left, #7342ae4d, transparent)
}

.int_stu .divider_asym2::after {
content: "";
display: block;
height: 1px;
width: 65%;
background: linear-gradient(to left, #7342AE, transparent)
}

.int_stu .process {
padding: 80px 40px;
max-width: 1600px;
margin: 0 auto
}

.int_stu .process_top {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: flex-end;
margin-bottom: 40px
}

.int_stu .process_h2 {
font-size: 42px;
line-height: 1.1;
letter-spacing: -.02em;
font-style: italic;
color: #ECE9F0;
max-width: 560px
}

.int_stu .process_sub {
font-size: 15px;
line-height: 1.55;
color: #C1B6D4;
max-width: 340px;
text-align: right
}

.int_stu .process_grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 20px
}

.int_stu .proc_card {
background: #1a1228;
border-radius: 20px;
padding: 40px;
box-shadow: -1px 8px 36px 0 #7342ae21;
border: 1px solid transparent;
transition: border-color .55s ease-in-out, box-shadow .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative;
overflow: hidden
}

.int_stu .proc_card:hover {
border-color: #7342AE;
box-shadow: -1px 8px 36px 0 #7342ae40
}

.int_stu .proc_card::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(to right, #7342AE, transparent);
opacity: 0;
transition: opacity .5s ease-in-out
}

.int_stu .proc_card:hover::before {
opacity: 1
}

.int_stu .proc_step {
font-size: 58px;
line-height: 1.1;
font-style: italic;
color: #7342ae33;
margin-bottom: 20px
}

.int_stu .proc_card h4 {
font-size: 22px;
line-height: 1.35;
font-style: italic;
color: #ECE9F0;
margin-bottom: 10px
}

.int_stu .proc_card p {
font-size: 15px;
line-height: 1.55;
color: #C1B6D4
}

.int_stu .img_proc_wrap {
border-radius: 20px;
overflow: hidden;
position: relative;
box-shadow: -1px 8px 36px 0 #7342ae21
}

.int_stu .img_proc_wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center center;
display: block
}

.int_stu .img_proc_wrap::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(to top, #16131db3 0%, transparent 60%)
}

.int_stu .proc_card_img {
grid-column: span 1;
min-height: 280px
}

.int_stu .proc_card_wide {
grid-column: span 2;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
background: #1e1530
}

.int_stu .proc_card_wide h4 {
font-size: 22px;
line-height: 1.35;
font-style: italic;
color: #ECE9F0;
margin-bottom: 10px
}

.int_stu .proc_card_wide p {
font-size: 15px;
line-height: 1.55;
color: #C1B6D4
}

.int_stu .pair_divider {
width: 1px;
background: #c1b6d433;
align-self: stretch
}

.int_stu .sk_wrap {
display: flex;
align-items: center;
justify-content: center;
padding: 20px 0
}

@media (max-width: 1024px) {
.int_stu .pg_h1 {
font-size: 58px
}

.int_stu .img_wrap {
width: 38%;
opacity: .5
}

.int_stu .eligib {
grid-template-columns: 1fr
}

.int_stu .eligib_sidebar {
position: static
}

.int_stu .process_grid {
grid-template-columns: 1fr 1fr
}

.int_stu .proc_card_wide {
grid-column: span 2
}

.int_stu .proc_card_img {
grid-column: span 2
}

.int_stu .color_break_inner {
flex-direction: column
}

.int_stu .color_break_text h2 {
font-size: 42px
}
}

@media (max-width: 640px) {
.int_stu .pg_top {
padding: 80px 20px
}

.int_stu .pg_h1 {
font-size: 42px
}

.int_stu .img_wrap {
display: none
}

.int_stu .eligib {
padding: 40px 20px
}

.int_stu .eligib_h2 {
font-size: 30px
}

.int_stu .fact_block {
grid-template-columns: 1fr
}

.int_stu .color_break {
padding: 40px 20px
}

.int_stu .color_break_text h2 {
font-size: 30px
}

.int_stu .process {
padding: 40px 20px
}

.int_stu .process_top {
flex-direction: column;
align-items: flex-start;
gap: 20px
}

.int_stu .process_sub {
text-align: left;
max-width: 100%
}

.int_stu .process_grid {
grid-template-columns: 1fr
}

.int_stu .proc_card_wide {
grid-column: span 1;
grid-template-columns: 1fr
}

.int_stu .proc_card_img {
grid-column: span 1
}

.int_stu .divider_asym,
.int_stu .divider_asym2 {
padding: 0 20px
}
}

@media (max-width: 360px) {
.int_stu .pg_h1 {
font-size: 30px
}

.int_stu .eligib_h2 {
font-size: 22px
}
}

.bs {
background: #181622;
color: #ECE9F0;
position: relative
}

.bs .top {
display: flex;
flex-direction: row;
align-items: stretch;
max-width: 1600px;
margin: 0 auto;
padding: 80px 40px;
gap: 40px
}

.bs .top_img_col {
width: 320px;
flex-shrink: 0;
position: relative;
border-radius: 7px;
overflow: hidden
}

.bs .top_img_col img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
display: block;
animation: slow_zoom 12s ease-in-out infinite alternate
}

.bs .top_dots {
position: absolute;
bottom: 20px;
left: 20px;
display: grid;
grid-template-columns: repeat(5, 8px);
gap: 6px
}

.bs .top_dots span {
width: 8px;
height: 8px;
border-radius: 20px;
background: #7342AE;
opacity: .6
}

.bs .top_dots span:nth-child(2n) {
opacity: .3
}

.bs .top_txt {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
gap: 20px
}

.bs .top_label {
font-size: 15px;
letter-spacing: .12em;
color: #C1B6D4;
text-transform: uppercase
}

.bs .top_h1 {
font-size: 58px;
line-height: 1.1;
letter-spacing: -.02em;
font-style: italic;
color: #ECE9F0
}

.bs .top_sub {
font-size: 18px;
line-height: 1.55;
color: #C1B6D4;
max-width: 560px
}

.bs .top_thesis {
display: flex;
flex-direction: column;
gap: 10px;
margin-top: 10px
}

.bs .top_thesis p {
font-size: 15px;
line-height: 1.55;
color: #C1B6D4;
padding-left: 20px;
border-top: 1px solid #7342ae40;
padding-top: 10px
}

.bs .top_accent {
display: inline-block;
width: 10px;
height: 10px;
border-radius: 20px;
background: #7342AE;
margin-right: 10px;
vertical-align: middle
}

@keyframes slow_zoom {
from {
transform: scale(1)
}

to {
transform: scale(1.06)
}
}

.bs .top_img_col::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(160deg, #7342ae2e 0%, #1816228c 100%);
border-radius: 7px;
pointer-events: none
}

.bs .reveal_child {
opacity: 0;
transform: translateY(24px);
animation: reveal_up .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

.bs .top_label {
animation-delay: .1s
}

.bs .top_h1 {
animation-delay: .22s
}

.bs .top_sub {
animation-delay: .36s
}

.bs .top_thesis {
animation-delay: .52s
}

@keyframes reveal_up {
to {
opacity: 1;
transform: translateY(0)
}
}

.bs .wave_div svg {
display: block;
width: 100%
}

.bs .after_learn {
background: #211d30;
padding: 80px 40px
}

.bs .after_learn_in {
max-width: 1600px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center
}

.bs .after_learn_img {
border-radius: 20px;
overflow: hidden;
box-shadow: -1px 8px 36px 0 #7342ae21
}

.bs .after_learn_img img {
width: 100%;
height: 380px;
object-fit: cover;
object-position: center;
display: block;
animation: slow_pan 14s ease-in-out infinite alternate
}

@keyframes slow_pan {
from {
object-position: 40% center
}

to {
object-position: 60% center
}
}

.bs .after_learn_txt h2 {
font-size: 42px;
line-height: 1.1;
font-style: italic;
letter-spacing: -.01em;
color: #ECE9F0;
margin-bottom: 20px
}

.bs .after_learn_cols {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px
}

.bs .after_learn_cols p {
font-size: 15px;
line-height: 1.55;
color: #C1B6D4
}

.bs .wave2 svg {
display: block;
width: 100%
}

.bs .conditions {
background: #181622;
padding: 80px 40px;
position: relative
}

.bs .conditions_in {
max-width: 1600px;
margin: 0 auto
}

.bs .conditions_in h2 {
font-size: 42px;
line-height: 1.1;
font-style: italic;
letter-spacing: -.01em;
color: #ECE9F0;
margin-bottom: 40px;
max-width: 700px
}

.bs .cond_grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px
}

.bs .cond_item {
background: #211d30;
border-radius: 7px;
padding: 40px 20px;
box-shadow: -1px 5px 25px 0 #7342ae14;
transition: box-shadow .55s ease-in-out, border-color .48s ease-in-out;
border: 1px solid #7342ae26
}

.bs .cond_item:hover {
box-shadow: -1px 8px 36px 0 #7342ae21;
border-color: #7342ae80
}

.bs .cond_num {
font-size: 42px;
line-height: 1.1;
color: #7342ae59;
font-style: italic;
letter-spacing: -.02em;
margin-bottom: 10px
}

.bs .cond_item h4 {
font-size: 18px;
line-height: 1.35;
color: #ECE9F0;
margin-bottom: 10px
}

.bs .cond_item p {
font-size: 15px;
line-height: 1.55;
color: #C1B6D4
}

.bs .gap_sec {
background: linear-gradient(180deg, #2a2240 0%, #181622 100%);
padding: 80px 40px
}

.bs .gap_in {
max-width: 1600px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start
}

.bs .gap_left {
flex: 1
}

.bs .gap_left h2 {
font-size: 42px;
line-height: 1.1;
font-style: italic;
letter-spacing: -.01em;
color: #ECE9F0;
margin-bottom: 20px
}

.bs .gap_left p {
font-size: 18px;
line-height: 1.55;
color: #C1B6D4;
max-width: 480px
}

.bs .gap_right {
flex: 1;
display: flex;
flex-direction: column;
gap: 20px
}

.bs .gap_row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 20px;
padding: 20px;
background: #7342ae14;
border-radius: 7px;
border: 1px solid #c1b6d41a;
transition: background .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.bs .gap_row:hover {
background: #7342ae2e
}

.bs .gap_dot {
width: 10px;
height: 10px;
border-radius: 20px;
background: #7342AE;
flex-shrink: 0;
margin-top: 5px
}

.bs .gap_row p {
font-size: 15px;
line-height: 1.55;
color: #C1B6D4
}

.bs .gap_img_wrap {
flex-shrink: 0;
width: 220px;
border-radius: 7px;
overflow: hidden;
box-shadow: -1px 5px 25px 0 #7342ae14
}

.bs .gap_img_wrap img {
width: 220px;
height: 280px;
object-fit: cover;
object-position: top center;
display: block;
animation: slow_zoom 16s ease-in-out infinite alternate
}

.bs .scale_sec {
background: #7342AE;
padding: 80px 40px
}

.bs .scale_in {
max-width: 1600px;
margin: 0 auto
}

.bs .scale_in h2 {
font-size: 42px;
line-height: 1.1;
font-style: italic;
letter-spacing: -.01em;
color: #ECE9F0;
margin-bottom: 40px
}

.bs .scale_grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px
}

.bs .scale_card {
background: #18162273;
border-radius: 7px;
padding: 40px 20px;
text-align: center;
box-shadow: -1px 3px 6px 0 #7342ae14;
transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .58s ease-in-out
}

.bs .scale_card:hover {
transform: translateY(-4px);
background: #181622a6
}

.bs .scale_num {
font-size: 58px;
line-height: 1.1;
color: #ECE9F0;
letter-spacing: -.02em
}

.bs .scale_label {
font-size: 15px;
line-height: 1.55;
color: #C1B6D4;
margin-top: 10px
}

.bs .scale_img_row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
margin-top: 40px
}

.bs .scale_img_box {
border-radius: 7px;
overflow: hidden;
box-shadow: -1px 5px 25px 0 #7342ae14
}

.bs .scale_img_box img {
width: 100%;
height: 220px;
object-fit: cover;
object-position: center;
display: block;
animation: slow_zoom 18s ease-in-out infinite alternate
}

.bs .lasting {
background: #211d30;
padding: 80px 40px
}

.bs .lasting_in {
max-width: 1600px;
margin: 0 auto;
display: grid;
grid-template-columns: 5fr 4fr;
gap: 80px;
align-items: start
}

.bs .lasting_txt h2 {
font-size: 42px;
line-height: 1.1;
font-style: italic;
letter-spacing: -.01em;
color: #ECE9F0;
margin-bottom: 20px
}

.bs .lasting_txt p {
font-size: 18px;
line-height: 1.55;
color: #C1B6D4;
margin-bottom: 20px
}

.bs .lasting_txt p:last-child {
font-size: 15px
}

.bs .lasting_aside {
display: flex;
flex-direction: column;
gap: 20px
}

.bs .lasting_quote {
background: #7342ae1f;
border-radius: 20px;
padding: 40px;
box-shadow: inset 0 4px 6px 0 #7342ae14
}

.bs .lasting_quote p {
font-size: 18px;
line-height: 1.55;
color: #ECE9F0;
font-style: italic
}

.bs .lasting_attr {
font-size: 15px;
color: #C1B6D4;
margin-top: 10px;
display: block
}

.bs .lasting_link {
display: inline-block;
margin-top: 20px;
font-size: 15px;
color: #ECE9F0;
text-decoration: underline;
text-decoration-thickness: 3px;
text-underline-offset: 4px;
text-decoration-color: #7342AE;
transition: text-decoration-color .48s ease-in-out, color .52s ease-in-out
}

.bs .lasting_link:hover {
color: #C1B6D4;
text-decoration-color: #C1B6D4
}

.bs .lasting_prog_link {
display: inline-block;
margin-top: 10px;
font-size: 15px;
color: #C1B6D4;
text-decoration: underline;
text-decoration-thickness: 2px;
text-underline-offset: 4px;
text-decoration-color: #c1b6d466;
transition: text-decoration-color .5s ease-in-out
}

.bs .lasting_prog_link:hover {
text-decoration-color: #C1B6D4
}

.bs .btn_primary {
display: inline-block;
background: #7342AE;
color: #ECE9F0;
font-size: 15px;
padding: 10px 40px;
border-radius: 4px;
border: 2px solid #7342AE;
cursor: pointer;
text-decoration: none;
transition: background .5s ease-in-out, border-color .55s ease-in-out, box-shadow .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
box-shadow: -1px 3px 6px 0 #7342ae14
}

.bs .btn_primary:hover {
background: transparent;
border-color: #C1B6D4;
box-shadow: -1px 8px 36px 0 #7342ae21
}

.bs .btn_outline {
display: inline-block;
background: transparent;
color: #C1B6D4;
font-size: 15px;
padding: 10px 40px;
border-radius: 4px;
border: 2px solid #c1b6d459;
cursor: pointer;
text-decoration: none;
transition: border-color .48s ease-in-out, color .52s ease-in-out
}

.bs .btn_outline:hover {
border-color: #C1B6D4;
color: #ECE9F0
}

@media (max-width: 1024px) {
.bs .top {
flex-direction: column;
padding: 40px 20px
}

.bs .top_img_col {
width: 100%;
height: 260px
}

.bs .top_h1 {
font-size: 42px
}

.bs .after_learn_in {
grid-template-columns: 1fr;
gap: 40px
}

.bs .cond_grid {
grid-template-columns: 1fr 1fr
}

.bs .scale_grid {
grid-template-columns: 1fr 1fr
}

.bs .gap_in {
flex-direction: column;
gap: 40px
}

.bs .gap_img_wrap {
width: 100%
}

.bs .gap_img_wrap img {
width: 100%;
height: 200px
}

.bs .lasting_in {
grid-template-columns: 1fr;
gap: 40px
}

.bs .scale_img_row {
grid-template-columns: 1fr
}
}

@media (max-width: 640px) {
.bs .top_h1 {
font-size: 30px
}

.bs .after_learn_cols {
grid-template-columns: 1fr
}

.bs .cond_grid {
grid-template-columns: 1fr
}

.bs .scale_grid {
grid-template-columns: 1fr 1fr
}

.bs .scale_num {
font-size: 42px
}

.bs .after_learn_in {
padding: 0
}

.bs .gap_in,
.bs .after_learn_in,
.bs .lasting_in {
gap: 20px
}

.bs .after_learn,
.bs .conditions,
.bs .gap_sec,
.bs .scale_sec,
.bs .lasting {
padding: 40px 20px
}

.bs .top {
padding: 40px 20px;
gap: 20px
}
}

@media (max-width: 360px) {
.bs .top_h1 {
font-size: 22px
}

.bs .scale_grid {
grid-template-columns: 1fr
}
}

.success_pg {
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 80px 20px;
background: #1b1a2e
}

.success_pg .card_wrap {
max-width: 560px;
width: 100%;
background: #22203a;
border-radius: 20px;
padding: 80px 40px;
text-align: center;
box-shadow: -1px 8px 36px 0 #7342ae21
}

.success_pg .icon_ring {
width: 72px;
height: 72px;
border-radius: 36px;
background: linear-gradient(180deg, #7342AE 50%, #C1B6D4 100%);
margin: 0 auto 40px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: -1px 5px 25px 0 #7342ae14
}

.success_pg .icon_ring svg {
display: block
}

.success_pg .success_head {
font-size: 42px;
line-height: 1.1;
letter-spacing: -.02em;
color: #ECE9F0;
font-style: italic;
margin-bottom: 20px
}

.success_pg .success_body {
font-size: 18px;
line-height: 1.55;
color: #C1B6D4;
margin-bottom: 40px
}

.success_pg .back_btn {
display: inline-block;
padding: 10px 40px;
border-radius: 7px;
background: #7342AE;
color: #ECE9F0;
font-size: 15px;
line-height: 1.35;
letter-spacing: .04em;
text-decoration: none;
border: 2px solid #7342AE;
transition: background .55s ease-in-out, border-color .5s ease-in-out, color .45s ease-in-out, box-shadow .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
cursor: pointer
}

.success_pg .back_btn:hover,
.success_pg .back_btn:focus {
background: transparent;
color: #C1B6D4;
border-color: #C1B6D4;
box-shadow: -1px 5px 25px 0 #7342ae14;
outline: none
}

.success_pg .divider_line {
width: 40px;
height: 2px;
background: linear-gradient(90deg, #7342AE, #C1B6D4);
border-radius: 4px;
margin: 0 auto 40px
}

@media (max-width: 640px) {
.success_pg .card_wrap {
padding: 40px 20px
}

.success_pg .success_head {
font-size: 30px
}

.success_pg .success_body {
font-size: 15px
}
}