html {
box-sizing: border-box;
scroll-behavior: smooth
}

*,
::before,
::after {
box-sizing: inherit
}

body {
margin: 0;
overflow-x: hidden;
min-height: 100vh
}

.hd_bar {
background: linear-gradient(92deg, #FF0E69 0%, #A539ED 100%);
padding: 8px 32px
}

.hd_bar_inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px
}

.hd_tagline {
font-family: 'Noto Serif', serif;
font-size: 15px;
line-height: 1.5;
color: #FFF;
font-style: italic;
letter-spacing: 0
}

.hd_contact_row {
display: flex;
align-items: center;
gap: 16px
}

.hd_contact_item {
display: flex;
align-items: center;
gap: 8px;
font-family: 'Noto Serif', serif;
font-size: 15px;
line-height: 1.5;
color: #FFF;
text-decoration: none;
transition: opacity .1s ease-out
}

.hd_contact_item:hover,
.hd_contact_item:focus {
opacity: .8;
outline: none;
background: transparent
}

.hd_contact_item .typcn {
font-size: 15px;
line-height: 1
}

.hd_brand {
background: #FFF;
border-bottom: 1px solid #f0e8f5;
padding: 16px 32px
}

.hd_brand_inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: center;
gap: 16px
}

.hd_logo_card {
background: #FFF;
border: 1px solid #f0e8f5;
border-radius: 3px;
box-shadow: 0 1px 6px -2px #ff0e690f 0 5px 14px -2px #ff0e6917;
padding: 8px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.hd_logo_card img {
width: 40px;
height: 40px;
object-fit: contain;
display: block
}

.hd_brand_name {
font-family: 'Noto Serif', serif;
font-size: 28px;
font-weight: 700;
line-height: 1.1;
color: #1a0a2e;
letter-spacing: 0
}

.hd_brand_name span {
color: #FF0E69
}

.hd_proof {
display: flex;
align-items: center;
gap: 8px;
background: linear-gradient(90deg, #ff0e690f 0%, #a539ed0f 100%);
border-radius: 3px;
padding: 8px 16px;
margin-left: 32px
}

.hd_proof_num {
font-family: 'Noto Serif', serif;
font-size: 28px;
font-weight: 700;
line-height: 1.1;
color: #FF0E69
}

.hd_proof_label {
font-family: 'Noto Serif', serif;
font-size: 15px;
line-height: 1.5;
color: #3d1a5c
}

.hd_nav_row {
background: #2a0845;
padding: 0 32px
}

.hd_nav_inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
align-items: stretch;
justify-content: center;
flex-wrap: wrap;
gap: 0
}

.hd_nav_item {
font-family: 'Noto Serif', serif;
font-size: 15px;
line-height: 1.5;
color: #ffffffd1;
text-decoration: none;
padding: 16px;
display: inline-flex;
align-items: center;
gap: 8px;
position: relative;
border-bottom: 2px solid transparent;
transition: color .12s ease-out, border-color .12s ease-out
}

.hd_nav_item::before {
content: '';
position: absolute;
bottom: -2px;
left: 50%;
right: 50%;
height: 2px;
background: #FF0E69;
transition: left .15s ease-out, right .15s ease-out
}

.hd_nav_item:hover,
.hd_nav_item:focus {
color: #FFF;
outline: none;
background: transparent
}

.hd_nav_item:hover::before,
.hd_nav_item:focus::before {
left: 0;
right: 0
}

.hd_nav_item .typcn {
font-size: 15px;
color: #A539ED
}

.hd_nav_item.active {
color: #FFF;
border-bottom-color: #FF0E69
}

@media (max-width: 960px) {
.hd_bar {
padding: 8px 16px
}

.hd_bar_inner {
flex-direction: column;
align-items: flex-start;
gap: 8px
}

.hd_brand {
padding: 16px
}

.hd_brand_inner {
flex-wrap: wrap;
justify-content: center
}

.hd_proof {
margin-left: 0
}

.hd_nav_row {
padding: 0 16px
}

.hd_nav_item {
padding: 16px 8px;
font-size: 15px
}
}

@media (max-width: 480px) {
.hd_contact_row {
flex-direction: column;
align-items: flex-start;
gap: 8px
}

.hd_nav_inner {
justify-content: flex-start
}

.hd_nav_item {
padding: 16px 8px
}

.hd_proof {
display: none
}
}

footer {
background: #2a0845;
padding: 64px 32px 32px
}

.ft_inner {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 2fr;
gap: 64px;
align-items: start
}

.ft_brand_col {
display: flex;
flex-direction: column;
gap: 16px
}

.ft_logo_wrap {
background: #FFF;
border-radius: 3px;
box-shadow: 0 1px 6px -2px #a539ed0f 0 5px 14px -2px #a539ed17;
padding: 8px;
display: inline-flex;
align-items: center;
justify-content: center;
width: 56px;
height: 56px
}

.ft_logo_wrap img {
width: 40px;
height: 40px;
object-fit: contain;
display: block
}

.ft_brand_title {
font-family: 'Noto Serif', serif;
font-size: 28px;
font-weight: 700;
line-height: 1.1;
color: #FFF
}

.ft_brand_title span {
color: #FF0E69
}

.ft_about_text {
font-family: 'Noto Serif', serif;
font-size: 15px;
line-height: 1.9;
color: #ffffffa6
}

.ft_right_col {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px
}

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

.ft_group_label {
font-family: 'Noto Serif', serif;
font-size: 15px;
font-weight: 700;
line-height: 1.5;
color: #A539ED;
margin-bottom: 8px;
text-transform: uppercase;
letter-spacing: 0
}

.ft_link {
font-family: 'Noto Serif', serif;
font-size: 15px;
line-height: 1.9;
color: #ffffffb8;
text-decoration: none;
display: flex;
align-items: center;
gap: 8px;
transition: color .1s ease-out
}

.ft_link:hover,
.ft_link:focus {
color: #FF0E69;
outline: none;
background: transparent
}

.ft_link .typcn {
font-size: 15px;
flex-shrink: 0
}

.ft_contact_item {
font-family: 'Noto Serif', serif;
font-size: 15px;
line-height: 1.9;
color: #ffffffb8;
text-decoration: none;
display: flex;
align-items: flex-start;
gap: 8px;
transition: color .1s ease-out
}

.ft_contact_item:hover,
.ft_contact_item:focus {
color: #FF0E69;
outline: none;
background: transparent
}

.ft_contact_item .typcn {
font-size: 15px;
flex-shrink: 0;
margin-top: 4px
}

.ft_divider {
max-width: 1200px;
margin: 32px auto 0;
border: none;
border-top: 1px solid #a539ed33
}

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

.ft_copy {
font-family: 'Noto Serif', serif;
font-size: 15px;
line-height: 1.5;
color: #ffffff73
}

.ft_legal_links {
display: flex;
align-items: center;
gap: 16px;
flex-wrap: wrap
}

.ft_legal_link {
font-family: 'Noto Serif', serif;
font-size: 15px;
line-height: 1.5;
color: #ffffff73;
text-decoration: none;
transition: color .1s ease-out
}

.ft_legal_link:hover,
.ft_legal_link:focus {
color: #A539ED;
outline: none;
background: transparent
}

@media (max-width: 960px) {
footer {
padding: 32px 16px
}

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

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

@media (max-width: 480px) {
.ft_right_col {
grid-template-columns: 1fr;
gap: 32px
}

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

.ck_popup {
position: fixed;
bottom: 32px;
right: 32px;
width: 300px;
background: #FFF;
border-radius: 16px;
box-shadow: 0 9px 36px -2px #ff0e6924;
padding: 32px;
z-index: 8000;
display: flex;
flex-direction: column;
gap: 16px;
transform: translateX(calc(100% + 32px));
transition: transform .18s ease-out
}

.ck_popup.visible {
transform: translateX(0)
}

.ck_popup_icon {
display: flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
background: linear-gradient(135deg, #ff0e691a 0%, #a539ed1a 100%);
border-radius: 3px;
flex-shrink: 0
}

.ck_popup_icon .typcn {
font-size: 28px;
color: #A539ED
}

.ck_popup_text {
font-family: 'Noto Serif', serif;
font-size: 15px;
line-height: 1.9;
color: #2a0845
}

.ck_accept_btn {
font-family: 'Noto Serif', serif;
font-size: 15px;
font-weight: 700;
line-height: 1.5;
color: #FFF;
background: linear-gradient(90deg, #FF0E69 0%, #A539ED 100%);
border: none;
border-radius: 3px;
padding: 16px 32px;
cursor: pointer;
text-align: center;
position: relative;
overflow: hidden;
transition: opacity .1s ease-out
}

.ck_accept_btn:hover,
.ck_accept_btn:focus {
opacity: .88;
outline: none
}

.ck_decline_lnk {
font-family: 'Noto Serif', serif;
font-size: 15px;
line-height: 1.5;
color: #2a084580;
text-decoration: none;
text-align: center;
cursor: pointer;
background: none;
border: none;
padding: 0;
transition: color .1s ease-out
}

.ck_decline_lnk:hover,
.ck_decline_lnk:focus {
color: #FF0E69;
outline: none
}

.ck_policy_ref {
font-family: 'Noto Serif', serif;
font-size: 15px;
line-height: 1.5;
color: #2a084573;
text-align: center
}

.ck_policy_ref a {
color: #A539ED;
text-decoration: none;
transition: color .1s ease-out
}

.ck_policy_ref a:hover,
.ck_policy_ref a:focus {
color: #FF0E69;
outline: none
}

@media (max-width: 480px) {
.ck_popup {
bottom: 16px;
right: 16px;
left: 16px;
width: auto
}
}

:focus-visible {
outline: 2px solid #A539ED;
outline-offset: 2px;
background: #a539ed0f
}

.policy-inner {
max-width: 1200px;
margin: 0 auto;
padding: 64px 32px
}

.policy-inner p {
font-size: 15px;
line-height: 1.9;
color: #2d2d2d;
margin: 0 0 16px
}

.policy-inner ul,
.policy-inner ol {
font-size: 15px;
line-height: 1.9;
color: #2d2d2d;
margin: 0 0 16px;
padding-left: 32px
}

.policy-inner li {
margin-bottom: 8px
}

.policy-inner li:last-child {
margin-bottom: 0
}

.policy-inner ul li::marker {
color: #FF0E69
}

.policy-inner ol li::marker {
color: #A539ED;
font-size: 15px
}

.policy-inner strong,
.policy-inner b {
font-weight: 700;
color: #1b1b1b
}

.policy-inner em,
.policy-inner i {
font-style: italic;
color: #3a3a3a
}

.policy-inner a {
color: #A539ED;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color .1s ease-out
}

.policy-inner a:hover {
color: #FF0E69
}

.policy-inner a:visited {
color: #7a28b8
}

.policy-inner table {
width: 100%;
border-collapse: collapse;
font-size: 15px;
line-height: 1.5;
margin: 0 0 32px;
box-shadow: 0 1px 6px -2px #ff0e690f;
border-radius: 3px;
overflow: hidden
}

.policy-inner thead {
background: linear-gradient(90deg, #ff0e6912, #a539ed12)
}

.policy-inner tbody tr {
border-bottom: 1px solid #a539ed1a
}

.policy-inner tbody tr:last-child {
border-bottom: none
}

.policy-inner tbody tr:nth-child(even) {
background-color: #a539ed08
}

.policy-inner th {
padding: 16px;
text-align: left;
font-size: 15px;
font-weight: 700;
color: #1b1b1b;
border-bottom: 2px solid #ff0e6933
}

.policy-inner td {
padding: 16px;
color: #2d2d2d;
vertical-align: top
}

.policy-inner div {
font-size: 15px;
line-height: 1.9;
color: #2d2d2d
}

@media (max-width: 960px) {
.policy-inner {
padding: 32px
}

.policy-inner table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch
}
}

@media (max-width: 480px) {
.policy-inner {
padding: 32px 16px
}

.policy-inner ul,
.policy-inner ol {
padding-left: 16px
}

.policy-inner th,
.policy-inner td {
padding: 8px
}
}

.spk_det {
background: #fff;
overflow-x: clip
}

.spk_det *,
.spk_det ::before,
.spk_det ::after {
box-sizing: border-box
}

.spk_det .pg_bound {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px
}

.spk_det .art_lead {
padding: 64px 32px 32px;
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start
}

.spk_det .art_lead_txt {
padding-top: 32px;
position: relative
}

.spk_det .art_lead_badge {
display: inline-flex;
align-items: center;
gap: 8px;
background: linear-gradient(323deg, #FF0E69 0%, transparent 55%, #A539ED 100%);
color: #fff;
font-size: 15px;
line-height: 1.5;
padding: 8px 16px;
border-radius: 3px;
margin-bottom: 32px
}

.spk_det .art_lead_badge .typcn {
font-size: 15px
}

.spk_det .art_lead_h {
font-size: 52px;
line-height: 1.1;
font-weight: 300;
color: #111;
margin: 0 0 32px;
letter-spacing: -.5px
}

.spk_det .art_lead_h span {
color: #FF0E69;
font-weight: 700
}

.spk_det .art_lead_meta {
display: flex;
flex-direction: row;
gap: 16px;
align-items: center;
flex-wrap: wrap
}

.spk_det .art_meta_item {
display: flex;
align-items: center;
gap: 8px;
font-size: 15px;
line-height: 1.5;
color: #555
}

.spk_det .art_meta_item .typcn {
color: #A539ED;
font-size: 15px
}

.spk_det .art_img_col {
position: relative
}

.spk_det .art_img_frame {
position: relative;
border-radius: 16px;
overflow: hidden
}

.spk_det .art_img_frame::before {
content: '';
position: absolute;
inset: -6px;
border: 2px solid #FF0E69;
border-radius: 16px;
z-index: 1;
pointer-events: none
}

.spk_det .art_img_frame::after {
content: '';
position: absolute;
inset: -12px;
border: 2px solid #A539ED;
border-radius: 16px;
z-index: 1;
pointer-events: none;
opacity: .4
}

.spk_det .art_img_frame img {
width: 100%;
height: 480px;
object-fit: cover;
display: block;
border-radius: 16px;
filter: contrast(1.05) saturate(1.1)
}

.spk_det .art_bg_num {
position: absolute;
top: -32px;
right: -16px;
font-size: 200px;
font-weight: 900;
line-height: 1.1;
color: #FF0E69;
opacity: .04;
pointer-events: none;
user-select: none;
z-index: 0;
white-space: nowrap
}

.spk_det .art_divider_convex {
width: 100%;
overflow: hidden;
line-height: 0;
margin: 16px 0 0
}

.spk_det .art_divider_convex svg {
display: block;
width: 100%;
height: 48px
}

.spk_det .art_body_wrap {
background: #f5f4f8;
padding: 64px 32px;
position: relative
}

.spk_det .art_body_grid {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 220px 1fr;
gap: 64px;
align-items: start
}

.spk_det .art_side {
position: sticky;
top: 32px
}

.spk_det .art_side_note {
font-size: 15px;
line-height: 1.9;
color: #888;
border-top: 2px solid #FF0E69;
padding-top: 16px;
margin-bottom: 32px
}

.spk_det .art_side_stat {
border-radius: 16px;
overflow: hidden;
box-shadow: 0 5px 14px -2px #ff0e6917
}

.spk_det .art_stat_top {
background: linear-gradient(323deg, #FF0E69 0%, transparent 60%, #A539ED 100%);
padding: 16px;
text-align: center
}

.spk_det .art_stat_top .typcn {
font-size: 28px;
color: #fff
}

.spk_det .art_stat_num {
font-size: 28px;
line-height: 1.1;
font-weight: 700;
color: #fff;
display: block;
margin-top: 8px
}

.spk_det .art_stat_lbl {
font-size: 15px;
line-height: 1.5;
color: #ffffffd9;
display: block
}

.spk_det .art_stat_bot {
background: #fff;
padding: 16px;
text-align: center
}

.spk_det .art_stat_bot .typcn {
font-size: 28px;
color: #A539ED
}

.spk_det .art_stat_num2 {
font-size: 28px;
line-height: 1.1;
font-weight: 700;
color: #A539ED;
display: block;
margin-top: 8px
}

.spk_det .art_stat_lbl2 {
font-size: 15px;
line-height: 1.5;
color: #888;
display: block
}

.spk_det .art_body_txt {
min-width: 0
}

.spk_det .art_body_txt p {
font-size: 15px;
line-height: 1.9;
color: #333;
margin: 0 0 16px
}

.spk_det .art_body_txt p:first-of-type::first-letter {
font-size: 52px;
line-height: 1.1;
font-weight: 700;
color: #FF0E69;
float: left;
margin-right: 8px;
margin-top: 4px
}

.spk_det .art_body_txt h2 {
font-size: 28px;
line-height: 1.1;
font-weight: 300;
color: #111;
margin: 32px 0 16px
}

.spk_det .art_body_txt h4 {
font-size: 15px;
line-height: 1.5;
font-weight: 700;
color: #A539ED;
margin: 32px 0 8px;
text-transform: uppercase;
letter-spacing: .05em
}

.spk_det .art_body_txt ins {
text-decoration: none;
background: linear-gradient(323deg, #ff0e691f 0%, transparent 60%, #a539ed1a 100%);
border-radius: 3px;
padding: 0 3px;
color: #111
}

.spk_det .art_body_txt blockquote {
margin: 32px 0;
padding: 16px 32px;
background: #fff;
border-radius: 16px;
box-shadow: 0 1px 6px -2px #ff0e690f;
font-size: 28px;
line-height: 1.5;
font-weight: 300;
color: #FF0E69;
font-style: italic
}

.spk_det .art_body_txt blockquote p {
font-size: 28px;
line-height: 1.5;
color: #FF0E69;
margin: 0
}

.spk_det .art_body_txt blockquote p::first-letter {
font-size: 28px;
line-height: 1.5;
font-weight: 300;
color: #FF0E69;
float: none;
margin: 0
}

.spk_det .art_body_txt figure {
margin: 32px 0;
border-radius: 16px;
overflow: hidden
}

.spk_det .art_body_txt figure img {
width: 100%;
height: auto;
display: block;
object-fit: cover;
border-radius: 16px
}

.spk_det .art_body_txt figcaption {
font-size: 15px;
line-height: 1.5;
color: #888;
padding: 8px 0 0;
font-style: italic
}

.spk_det .art_body_txt table {
width: 100%;
border-collapse: collapse;
margin: 32px 0;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 1px 6px -2px #ff0e690f
}

.spk_det .art_body_txt caption {
font-size: 15px;
line-height: 1.5;
color: #888;
padding: 8px;
text-align: left;
font-style: italic
}

.spk_det .art_body_txt thead {
background: linear-gradient(323deg, #FF0E69 0%, transparent 60%, #A539ED 100%)
}

.spk_det .art_body_txt thead td,
.spk_det .art_body_txt thead th {
color: #fff;
font-size: 15px;
line-height: 1.5;
font-weight: 700;
padding: 16px
}

.spk_det .art_body_txt td {
font-size: 15px;
line-height: 1.5;
color: #333;
padding: 16px;
border-bottom: 1px solid #a539ed1a;
background: #fff
}

.spk_det .art_body_txt tr:last-child td {
border-bottom: none
}

.spk_det .art_divider_convex2 {
width: 100%;
overflow: hidden;
line-height: 0;
margin: 0
}

.spk_det .art_divider_convex2 svg {
display: block;
width: 100%;
height: 48px
}

.spk_det .art_cta_strip {
padding: 64px 32px;
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 32px;
align-items: stretch
}

.spk_det .art_prog_card {
border-radius: 16px;
background: #fff;
box-shadow: 0 5px 14px -2px #ff0e6917;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
position: relative;
overflow: hidden
}

.spk_det .art_prog_card::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 0;
height: 3px;
background: linear-gradient(90deg, #FF0E69, #A539ED);
border-radius: 0;
transition: width .12s ease-out
}

.spk_det .art_prog_card:hover::before {
width: 100%
}

.spk_det .art_prog_icon {
width: 48px;
height: 48px;
border-radius: 16px;
background: linear-gradient(323deg, #ff0e691a 0%, transparent 60%, #a539ed1a 100%);
display: flex;
align-items: center;
justify-content: center
}

.spk_det .art_prog_icon .typcn {
font-size: 28px;
color: #FF0E69
}

.spk_det .art_prog_card:nth-child(2) .art_prog_icon .typcn {
color: #A539ED
}

.spk_det .art_prog_card:nth-child(3) .art_prog_icon .typcn {
color: #FF0E69
}

.spk_det .art_prog_h {
font-size: 15px;
line-height: 1.5;
font-weight: 700;
color: #111;
margin: 0
}

.spk_det .art_prog_p {
font-size: 15px;
line-height: 1.9;
color: #555;
margin: 0;
flex: 1
}

.spk_det .art_prog_lnk {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 15px;
line-height: 1.5;
color: #FF0E69;
text-decoration: none;
font-weight: 600;
border: 2px solid transparent;
border-radius: 3px;
padding: 8px 0;
position: relative;
transition: color .1s ease-out
}

.spk_det .art_prog_lnk::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 2px;
background: #A539ED;
transition: width .12s ease-out
}

.spk_det .art_prog_lnk:hover {
color: #A539ED
}

.spk_det .art_prog_lnk:hover::after {
width: 100%
}

.spk_det .art_prog_lnk .typcn {
font-size: 15px
}

.spk_det .art_prog_card:nth-child(2) {
margin-top: 32px
}

.spk_det .art_prog_card:nth-child(3) {
margin-top: 16px
}

.spk_det .art_frosted_wrap {
padding: 0 32px 64px;
max-width: 1200px;
margin: 0 auto
}

.spk_det .art_frosted {
border-radius: 16px;
background: #f5f4f899;
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border: 1px solid #a539ed26;
padding: 32px;
display: flex;
flex-direction: row;
align-items: center;
gap: 32px;
box-shadow: 0 9px 36px -2px #ff0e6924
}

.spk_det .art_frosted_icon {
flex-shrink: 0;
width: 64px;
height: 64px;
border-radius: 16px;
background: linear-gradient(323deg, #FF0E69 0%, transparent 55%, #A539ED 100%);
display: flex;
align-items: center;
justify-content: center
}

.spk_det .art_frosted_icon .typcn {
font-size: 28px;
color: #fff
}

.spk_det .art_frosted_txt {
flex: 1
}

.spk_det .art_frosted_h {
font-size: 28px;
line-height: 1.1;
font-weight: 300;
color: #111;
margin: 0 0 8px
}

.spk_det .art_frosted_p {
font-size: 15px;
line-height: 1.5;
color: #555;
margin: 0
}

.spk_det .art_frosted_btn {
flex-shrink: 0;
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 15px;
line-height: 1.5;
color: #fff;
background: linear-gradient(323deg, #FF0E69 0%, transparent 55%, #A539ED 100%);
border: none;
border-radius: 3px;
padding: 16px 32px;
cursor: pointer;
text-decoration: none;
font-weight: 600;
position: relative;
overflow: hidden;
transition: opacity .1s ease-out
}

.spk_det .art_frosted_btn:hover {
opacity: .88
}

.spk_det .art_frosted_btn:focus {
outline: 2px solid #A539ED;
outline-offset: 2px
}

.spk_det .art_frosted_btn .typcn {
font-size: 15px
}

@keyframes fill_lr {
from {
width: 0
}

to {
width: 100%
}
}

.spk_det .art_lead_badge {
animation: fill_lr .15s ease-out both
}

@media (max-width: 960px) {
.spk_det .art_lead {
grid-template-columns: 1fr;
gap: 32px;
padding: 32px 16px 16px
}

.spk_det .art_lead_h {
font-size: 28px
}

.spk_det .art_img_frame img {
height: 320px
}

.spk_det .art_bg_num {
font-size: 120px;
top: -16px;
right: -8px
}

.spk_det .art_body_grid {
grid-template-columns: 1fr;
gap: 32px
}

.spk_det .art_side {
position: static;
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap
}

.spk_det .art_side_note {
flex: 1;
min-width: 200px
}

.spk_det .art_side_stat {
flex: 1;
min-width: 180px
}

.spk_det .art_body_wrap {
padding: 32px 16px
}

.spk_det .art_cta_strip {
grid-template-columns: 1fr;
padding: 32px 16px
}

.spk_det .art_prog_card:nth-child(2),
.spk_det .art_prog_card:nth-child(3) {
margin-top: 0
}

.spk_det .art_frosted_wrap {
padding: 0 16px 32px
}

.spk_det .art_frosted {
flex-direction: column;
text-align: center
}
}

@media (max-width: 480px) {
.spk_det .art_lead {
padding: 16px 8px 8px;
gap: 16px
}

.spk_det .art_lead_h {
font-size: 28px
}

.spk_det .art_img_frame img {
height: 220px
}

.spk_det .art_body_wrap {
padding: 16px 8px
}

.spk_det .art_body_txt blockquote {
font-size: 15px;
padding: 16px
}

.spk_det .art_body_txt blockquote p {
font-size: 15px
}

.spk_det .art_cta_strip {
padding: 16px 8px;
gap: 16px
}

.spk_det .art_frosted_wrap {
padding: 0 8px 16px
}

.spk_det .art_frosted {
padding: 16px;
gap: 16px
}

.spk_det .art_frosted_h {
font-size: 15px
}
}

@media (min-width: 1440px) {
.spk_det .art_lead {
padding: 64px 64px 32px
}

.spk_det .art_body_wrap {
padding: 64px
}

.spk_det .art_cta_strip {
padding: 64px
}

.spk_det .art_frosted_wrap {
padding: 0 64px 64px
}
}

.pdcast {
background: #fff;
overflow-x: clip;
position: relative
}

.pdcast * {
box-sizing: border-box
}

.pdcast .ep_grid {
max-width: 1200px;
margin: 0 auto;
padding: 64px 32px
}

.pdcast .ep_row {
display: flex;
flex-direction: row;
gap: 64px;
align-items: flex-start
}

.pdcast .ep_label {
font-size: 15px;
line-height: 1.5;
color: #FF0E69;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 16px;
display: block
}

.pdcast .ep_num {
font-size: 68px;
line-height: 1.1;
font-weight: 900;
background: linear-gradient(323deg, #FF0E69 0%, transparent 45%, transparent 55%, #A539ED 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
display: inline-block
}

.pdcast .ep_heading {
font-size: 52px;
line-height: 1.1;
font-weight: 200;
color: #1b1b2e;
margin: 0 0 32px;
letter-spacing: .03em
}

.pdcast .ep_heading strong {
font-weight: 800;
color: #FF0E69
}

.pdcast .ep_body {
font-size: 15px;
line-height: 1.9;
color: #2d2d3a
}

.pdcast .ep_body p {
margin: 0 0 16px
}

.pdcast .ep_dropcap::first-letter {
font-size: 52px;
line-height: 1.1;
font-weight: 900;
color: #FF0E69;
float: left;
margin-right: 8px;
margin-top: 4px
}

.pdcast .ep_aside {
font-size: 15px;
line-height: 1.5;
color: #A539ED;
font-weight: 600;
min-width: 120px;
max-width: 140px;
padding-top: 8px;
border-top: 2px solid #A539ED;
flex-shrink: 0
}

.pdcast .ep_main_col {
flex: 1;
min-width: 0
}

.pdcast .ep_dot_bg {
position: relative
}

.pdcast .ep_dot_bg::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 260px;
height: 260px;
background-image: radial-gradient(circle, #A539ED 1.5px, transparent 1.5px);
background-size: 18px 18px;
opacity: .13;
pointer-events: none;
z-index: 0
}

.pdcast .ep_text_zone {
position: relative;
z-index: 1
}

.pdcast .ep_geo_wrap {
position: relative;
flex-shrink: 0;
width: 340px
}

.pdcast .ep_geo_img {
width: 340px;
height: 380px;
object-fit: cover;
clip-path: polygon(0 0, 86% 0, 100% 14%, 100% 100%, 14% 100%, 0 86%);
display: block;
filter: saturate(0.6) contrast(1.1)
}

.pdcast .ep_geo_wrap::after {
content: '';
position: absolute;
top: 16px;
left: 16px;
width: 340px;
height: 380px;
background: linear-gradient(323deg, #FF0E69 0%, transparent 50%, #A539ED 100%);
clip-path: polygon(0 0, 86% 0, 100% 14%, 100% 100%, 14% 100%, 0 86%);
opacity: .22;
z-index: -1;
pointer-events: none
}

.pdcast .ep_curve_deco {
position: absolute;
bottom: 32px;
right: 0;
width: 180px;
height: 180px;
border: 2.5px solid #a539ed2e;
border-radius: 0 0 16px 0;
pointer-events: none;
z-index: 0
}

.pdcast .ep_reveal {
opacity: 0;
transform: translateY(32px);
animation: ep_slide_up .55s ease-out forwards
}

.pdcast .ep_reveal.d1 {
animation-delay: .08s
}

.pdcast .ep_reveal.d2 {
animation-delay: .18s
}

.pdcast .ep_reveal.d3 {
animation-delay: .28s
}

.pdcast .ep_reveal.d4 {
animation-delay: .38s
}

@keyframes ep_slide_up {
from {
opacity: 0;
transform: translateY(32px)
}

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

.pdcast .ep_divider_tri {
width: 100%;
overflow: hidden;
line-height: 0;
display: flex;
flex-direction: row;
justify-content: flex-end
}

.pdcast .ep_divider_tri svg {
display: block
}

.pdcast .ep_strip {
background: #f4f0fb;
position: relative
}

.pdcast .ep_strip_inner {
max-width: 1200px;
margin: 0 auto;
padding: 64px 32px
}

.pdcast .ep_strip_row {
display: flex;
flex-direction: row;
gap: 32px;
align-items: stretch
}

.pdcast .ep_sidebar {
background: #A539ED;
border-radius: 16px;
padding: 32px;
min-width: 220px;
max-width: 240px;
display: flex;
flex-direction: column;
gap: 16px;
box-shadow: 0 9px 36px -2px #a539ed24;
flex-shrink: 0
}

.pdcast .ep_sidebar_label {
font-size: 15px;
line-height: 1.5;
color: #ffffffbf;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .07em
}

.pdcast .ep_sidebar_title {
font-size: 28px;
line-height: 1.1;
font-weight: 800;
color: #fff;
margin: 0
}

.pdcast .ep_sidebar_desc {
font-size: 15px;
line-height: 1.5;
color: #ffffffd9;
margin: 0
}

.pdcast .ep_sidebar_icon {
width: 48px;
height: 48px;
background: #ffffff2e;
border-radius: 16px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 5px 14px -2px #ff0e6917
}

.pdcast .ep_sidebar_icon .typcn {
font-size: 28px;
color: #fff
}

.pdcast .ep_episodes_col {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
gap: 16px
}

.pdcast .ep_card {
background: #fff;
border-radius: 16px;
padding: 32px;
display: flex;
flex-direction: row;
gap: 32px;
align-items: flex-start;
box-shadow: 0 1px 6px -2px #ff0e690f;
position: relative;
overflow: hidden;
cursor: pointer;
transition: box-shadow .12s ease-out
}

.pdcast .ep_card:hover {
box-shadow: 0 9px 36px -2px #ff0e6924
}

.pdcast .ep_card_face {
display: flex;
flex-direction: row;
gap: 32px;
align-items: flex-start;
width: 100%
}

.pdcast .ep_card_back {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(323deg, #FF0E69 0%, transparent 50%, #A539ED 100%);
padding: 32px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 16px;
opacity: 0;
transition: opacity .12s ease-out;
border-radius: 16px
}

.pdcast .ep_card:hover .ep_card_back {
opacity: 1
}

.pdcast .ep_card:hover .ep_card_face {
opacity: 0;
transition: opacity .08s ease-out
}

.pdcast .ep_card_back_title {
font-size: 28px;
line-height: 1.1;
font-weight: 800;
color: #fff;
margin: 0
}

.pdcast .ep_card_back_desc {
font-size: 15px;
line-height: 1.5;
color: #ffffffe6;
margin: 0
}

.pdcast .ep_card_back_link {
font-size: 15px;
line-height: 1.5;
color: #fff;
font-weight: 700;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 8px;
align-self: flex-start;
border-bottom: 2px solid #ffffff80;
padding-bottom: 4px
}

.pdcast .ep_card_back_link:hover {
border-bottom-color: #fff
}

.pdcast .ep_ep_num {
font-size: 52px;
line-height: 1.1;
font-weight: 900;
color: #f0e8fc;
min-width: 64px;
flex-shrink: 0
}

.pdcast .ep_card_info {
flex: 1;
min-width: 0
}

.pdcast .ep_card_tag {
font-size: 15px;
line-height: 1.5;
color: #A539ED;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .06em;
margin-bottom: 8px;
display: block
}

.pdcast .ep_card_title {
font-size: 28px;
line-height: 1.1;
font-weight: 800;
color: #1b1b2e;
margin: 0 0 8px
}

.pdcast .ep_card_meta {
font-size: 15px;
line-height: 1.5;
color: #6e6e8a;
display: flex;
flex-direction: row;
gap: 16px;
align-items: center;
flex-wrap: wrap
}

.pdcast .ep_card_meta .typcn {
font-size: 15px;
color: #FF0E69;
margin-right: 4px
}

.pdcast .ep_dot_trail {
display: flex;
flex-direction: column;
gap: 0;
padding: 16px 0;
min-width: 24px;
align-items: center;
flex-shrink: 0
}

.pdcast .ep_dot {
width: 12px;
height: 12px;
border-radius: 50%;
background: #e8d8fa;
border: 2px solid #A539ED;
position: relative;
z-index: 1;
flex-shrink: 0
}

.pdcast .ep_dot.active {
background: #A539ED;
box-shadow: 0 1px 6px -2px #a539ed0f
}

.pdcast .ep_dot_line {
width: 2px;
flex: 1;
min-height: 32px;
background: #d8c8f5
}

.pdcast .ep_ba_sec {
background: #1b1b2e;
position: relative;
overflow: hidden
}

.pdcast .ep_ba_bg_img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
opacity: .07;
pointer-events: none
}

.pdcast .ep_ba_inner {
max-width: 1200px;
margin: 0 auto;
padding: 64px 32px;
position: relative;
z-index: 1
}

.pdcast .ep_ba_head {
text-align: center;
margin-bottom: 64px
}

.pdcast .ep_ba_heading {
font-size: 52px;
line-height: 1.1;
font-weight: 200;
color: #fff;
margin: 0 0 16px;
letter-spacing: .04em
}

.pdcast .ep_ba_heading strong {
font-weight: 900;
color: #FF0E69
}

.pdcast .ep_ba_sub {
font-size: 15px;
line-height: 1.9;
color: #ffffffa6;
max-width: 560px;
margin: 0 auto
}

.pdcast .ep_compare {
display: flex;
flex-direction: row;
gap: 0;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 9px 36px -2px #ff0e6924
}

.pdcast .ep_compare_col {
flex: 1;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px
}

.pdcast .ep_compare_col.before {
background: #2a2a40
}

.pdcast .ep_compare_col.after {
background: linear-gradient(323deg, #FF0E69 0%, transparent 50%, #A539ED 100%)
}

.pdcast .ep_compare_label {
font-size: 15px;
line-height: 1.5;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .1em
}

.pdcast .ep_compare_col.before .ep_compare_label {
color: #ffffff80
}

.pdcast .ep_compare_col.after .ep_compare_label {
color: #ffffffe6
}

.pdcast .ep_compare_heading {
font-size: 28px;
line-height: 1.1;
font-weight: 800;
margin: 0
}

.pdcast .ep_compare_col.before .ep_compare_heading {
color: #ffffffb3
}

.pdcast .ep_compare_col.after .ep_compare_heading {
color: #fff
}

.pdcast .ep_compare_list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 16px
}

.pdcast .ep_compare_list li {
font-size: 15px;
line-height: 1.5;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px
}

.pdcast .ep_compare_col.before .ep_compare_list li {
color: #ffffff8c
}

.pdcast .ep_compare_col.after .ep_compare_list li {
color: #ffffffeb
}

.pdcast .ep_compare_list li .typcn {
font-size: 15px;
flex-shrink: 0;
margin-top: 2px
}

.pdcast .ep_compare_col.before .ep_compare_list li .typcn {
color: #ffffff4d
}

.pdcast .ep_compare_col.after .ep_compare_list li .typcn {
color: #ffffffe6
}

.pdcast .ep_compare_divider {
width: 3px;
background: #ffffff26;
flex-shrink: 0;
position: relative;
display: flex;
align-items: center;
justify-content: center
}

.pdcast .ep_compare_vs {
width: 36px;
height: 36px;
border-radius: 50%;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 15px;
font-weight: 900;
color: #1b1b2e;
position: absolute;
z-index: 2;
box-shadow: 0 5px 14px -2px #ff0e6917
}

.pdcast .ep_curve_right {
position: absolute;
bottom: 32px;
right: 32px;
width: 120px;
height: 120px;
border: 2px solid #ff0e6933;
border-radius: 0 0 16px 0;
pointer-events: none
}

@media (max-width: 960px) {
.pdcast .ep_row {
flex-direction: column;
gap: 32px
}

.pdcast .ep_geo_wrap {
width: 100%;
max-width: 340px;
margin: 0 auto
}

.pdcast .ep_geo_img {
width: 100%;
height: 280px
}

.pdcast .ep_geo_wrap::after {
width: 100%;
height: 280px
}

.pdcast .ep_strip_row {
flex-direction: column
}

.pdcast .ep_sidebar {
max-width: 100%;
min-width: 0
}

.pdcast .ep_compare {
flex-direction: column
}

.pdcast .ep_compare_divider {
width: 100%;
height: 3px;
flex-direction: row
}

.pdcast .ep_compare_vs {
position: static;
flex-shrink: 0
}

.pdcast .ep_heading {
font-size: 52px
}

.pdcast .ep_ba_heading {
font-size: 52px
}
}

@media (max-width: 480px) {
.pdcast .ep_grid {
padding: 32px 16px
}

.pdcast .ep_strip_inner {
padding: 32px 16px
}

.pdcast .ep_ba_inner {
padding: 32px 16px
}

.pdcast .ep_heading {
font-size: 28px
}

.pdcast .ep_ba_heading {
font-size: 28px
}

.pdcast .ep_ep_num {
font-size: 28px;
min-width: 40px
}

.pdcast .ep_card_title {
font-size: 15px
}

.pdcast .ep_card {
padding: 16px;
gap: 16px
}

.pdcast .ep_card_face {
gap: 16px
}

.pdcast .ep_ba_head {
margin-bottom: 32px
}

.pdcast .ep_sidebar {
padding: 16px
}

.pdcast .ep_compare_col {
padding: 16px
}

.pdcast .ep_dot_bg::before {
width: 120px;
height: 120px
}
}

.pdcast .ep_link_hover {
position: relative;
text-decoration: none;
color: #A539ED;
font-weight: 600
}

.pdcast .ep_link_hover::before {
content: '';
position: absolute;
left: 50%;
right: 50%;
bottom: -2px;
height: 2px;
background: linear-gradient(323deg, #FF0E69 0%, transparent 50%, #A539ED 100%);
transition: left .12s ease-out, right .12s ease-out
}

.pdcast .ep_link_hover:hover::before {
left: 0;
right: 0
}

.pdcast .ep_num_accent {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 16px;
margin-bottom: 32px
}

.pdcast .ep_num_label {
font-size: 15px;
line-height: 1.9;
color: #6e6e8a;
padding-bottom: 8px
}

.pdcast .ep_icon_lifted {
width: 52px;
height: 52px;
background: linear-gradient(323deg, #FF0E69 0%, transparent 50%, #A539ED 100%);
border-radius: 16px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 9px 36px -2px #ff0e6924;
flex-shrink: 0
}

.pdcast .ep_icon_lifted .typcn {
font-size: 28px;
color: #fff
}

.lrn_prog {
background: #fff;
overflow-x: clip;
position: relative
}

.lrn_prog * {
box-sizing: border-box
}

.lrn_prog .pg_wrap {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px
}

.lrn_prog .ttl_blk {
position: relative;
padding: 64px 0
}

.lrn_prog .ttl_blk .pg_wrap {
display: flex;
flex-direction: row;
align-items: center;
gap: 64px
}

.lrn_prog .ttl_blob_a,
.lrn_prog .ttl_blob_b {
position: absolute;
border-radius: 16px;
pointer-events: none;
z-index: 0
}

.lrn_prog .ttl_blob_a {
width: 320px;
height: 320px;
background: linear-gradient(323deg, #FF0E69 0%, transparent 55%, #A539ED 100%);
opacity: .13;
filter: blur(48px);
top: -32px;
left: -64px
}

.lrn_prog .ttl_blob_b {
width: 240px;
height: 240px;
background: linear-gradient(323deg, #A539ED 0%, transparent 60%, #FF0E69 100%);
opacity: .1;
filter: blur(56px);
bottom: 0;
right: 120px
}

.lrn_prog .ttl_img_col {
flex: 0 0 340px;
position: relative;
z-index: 1
}

.lrn_prog .ttl_img_wrap {
border-radius: 16px;
overflow: hidden;
position: relative;
width: 340px;
height: 440px
}

.lrn_prog .ttl_img_wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: saturate(0.7) brightness(0.92) hue-rotate(0deg) contrast(1.08)
}

.lrn_prog .ttl_img_wrap::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(323deg, #a539ed2e 0%, transparent 55%, #ff0e691f 100%);
border-radius: 16px
}

.lrn_prog .ttl_txt_col {
flex: 1;
position: relative;
z-index: 1
}

.lrn_prog .ttl_eyebrow {
font-size: 15px;
line-height: 1.5;
color: #FF0E69;
font-weight: 600;
letter-spacing: .06em;
text-transform: uppercase;
margin: 0 0 16px
}

.lrn_prog .ttl_h1 {
font-size: 52px;
line-height: 1.1;
font-weight: 300;
color: #1b1b2e;
margin: 0 0 32px
}

.lrn_prog .ttl_h1 strong {
font-weight: 700;
color: #FF0E69
}

.lrn_prog .ttl_desc {
font-size: 15px;
line-height: 1.9;
color: #3a3a4a;
margin: 0 0 32px;
max-width: 480px
}

.lrn_prog .ttl_desc .drop_cap::first-letter {
font-size: 52px;
line-height: 1.1;
font-weight: 700;
color: #FF0E69;
float: left;
margin-right: 8px;
margin-top: 4px
}

.lrn_prog .ttl_meta {
display: flex;
flex-direction: row;
gap: 32px;
align-items: center
}

.lrn_prog .ttl_stat {
display: flex;
flex-direction: column;
gap: 8px
}

.lrn_prog .ttl_stat_num {
font-size: 28px;
line-height: 1.1;
font-weight: 700;
color: #A539ED
}

.lrn_prog .ttl_stat_lbl {
font-size: 15px;
line-height: 1.5;
color: #6a6a7a
}

.lrn_prog .ttl_divider {
width: 1px;
height: 48px;
background: linear-gradient(180deg, transparent, #A539ED 50%, transparent)
}

.lrn_prog .svg_div {
display: block;
width: 100%;
overflow: hidden;
line-height: 0
}

.lrn_prog .svg_div svg {
display: block;
width: 100%
}

.lrn_prog .curric_blk {
background: linear-gradient(323deg, #FF0E69 0%, transparent 45%, #A539ED 100%);
background-color: #FF0E69;
padding: 64px 0;
position: relative
}

.lrn_prog .curric_blk .pg_wrap {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
gap: 32px;
align-items: start
}

.lrn_prog .curric_head {
grid-column: 1 / 3
}

.lrn_prog .curric_accent_col {
grid-column: 4 / 5;
background: #ffffff1f;
border-radius: 16px;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px
}

.lrn_prog .curric_h2 {
font-size: 28px;
line-height: 1.1;
font-weight: 300;
color: #fff;
margin: 0 0 16px
}

.lrn_prog .curric_h2 strong {
font-weight: 700
}

.lrn_prog .curric_sub {
font-size: 15px;
line-height: 1.9;
color: #ffffffe0;
margin: 0
}

.lrn_prog .curric_modules {
grid-column: 1 / 4;
display: flex;
flex-direction: column;
gap: 16px;
list-style: none;
padding: 0;
margin: 0
}

.lrn_prog .curric_mod_item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
background: #ffffff1a;
border-radius: 3px;
position: relative
}

.lrn_prog .curric_mod_item::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 3px;
height: 100%;
background: #ffffff80;
border-radius: 3px 0 0 3px
}

.lrn_prog .mod_num {
font-size: 28px;
line-height: 1.1;
font-weight: 700;
color: #ffffff4d;
flex: 0 0 40px;
text-align: right
}

.lrn_prog .mod_body {
flex: 1
}

.lrn_prog .mod_title {
font-size: 15px;
line-height: 1.5;
font-weight: 700;
color: #fff;
margin: 0 0 8px
}

.lrn_prog .mod_desc {
font-size: 15px;
line-height: 1.9;
color: #fffc;
margin: 0
}

.lrn_prog .accent_col_h {
font-size: 15px;
line-height: 1.5;
font-weight: 700;
color: #fff;
margin: 0
}

.lrn_prog .accent_col_p {
font-size: 15px;
line-height: 1.9;
color: #ffffffd9;
margin: 0
}

.lrn_prog .icon_legend {
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 8px
}

.lrn_prog .legend_item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px
}

.lrn_prog .legend_dot {
width: 12px;
height: 12px;
border-radius: 16px;
flex-shrink: 0
}

.lrn_prog .legend_dot.live {
background: #fff
}

.lrn_prog .legend_dot.recorded {
background: #ffffff80
}

.lrn_prog .legend_dot.practice {
background: #ffffff40;
border: 2px solid #fff9
}

.lrn_prog .legend_lbl {
font-size: 15px;
line-height: 1.5;
color: #ffffffe0
}

.lrn_prog .contrast_blk {
padding: 64px 0;
background: #f4f0fb
}

.lrn_prog .contrast_blk .pg_wrap {
display: flex;
flex-direction: column;
gap: 32px
}

.lrn_prog .contrast_head {
display: flex;
flex-direction: row;
align-items: baseline;
gap: 32px
}

.lrn_prog .contrast_h2 {
font-size: 28px;
line-height: 1.1;
font-weight: 300;
color: #1b1b2e;
margin: 0
}

.lrn_prog .contrast_h2 strong {
font-weight: 700;
color: #A539ED
}

.lrn_prog .contrast_note {
font-size: 15px;
line-height: 1.5;
color: #6a6a7a;
margin: 0;
flex-shrink: 0
}

.lrn_prog .contrast_grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px
}

.lrn_prog .contrast_panel {
border-radius: 16px;
padding: 32px;
position: relative;
overflow: hidden
}

.lrn_prog .contrast_panel.before {
background: #fff;
box-shadow: 0 5px 14px -2px #ff0e6917
}

.lrn_prog .contrast_panel.after {
background: #1b1b2e;
box-shadow: 0 5px 14px -2px #a539ed24
}

.lrn_prog .contrast_panel_label {
font-size: 15px;
line-height: 1.5;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .08em;
margin: 0 0 16px
}

.lrn_prog .contrast_panel.before .contrast_panel_label {
color: #FF0E69
}

.lrn_prog .contrast_panel.after .contrast_panel_label {
color: #A539ED
}

.lrn_prog .contrast_list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 16px
}

.lrn_prog .contrast_list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
font-size: 15px;
line-height: 1.9
}

.lrn_prog .contrast_panel.before .contrast_list li {
color: #3a3a4a
}

.lrn_prog .contrast_panel.after .contrast_list li {
color: #ffffffe0
}

.lrn_prog .c_dot {
width: 8px;
height: 8px;
border-radius: 16px;
flex-shrink: 0;
margin-top: 8px
}

.lrn_prog .contrast_panel.before .c_dot {
background: #FF0E69;
opacity: .4
}

.lrn_prog .contrast_panel.after .c_dot {
background: #A539ED
}

.lrn_prog .contrast_img_wrap {
border-radius: 16px;
overflow: hidden;
width: 100%;
height: 260px;
margin-top: 32px;
box-shadow: 0 9px 36px -2px #a539ed24
}

.lrn_prog .contrast_img_wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.lrn_prog .geo_motif {
position: absolute;
top: 0;
right: 0;
width: 120px;
height: 100%;
pointer-events: none;
overflow: hidden
}

.lrn_prog .geo_dot {
position: absolute;
width: 6px;
height: 6px;
border-radius: 16px;
background: #a539ed2e
}

.lrn_prog .progress_blk {
padding: 64px 0;
background: #fff;
position: relative
}

.lrn_prog .progress_blk .pg_wrap {
display: grid;
grid-template-columns: 280px 1fr;
gap: 64px;
align-items: start
}

.lrn_prog .progress_aside {
position: sticky;
top: 32px
}

.lrn_prog .progress_aside_note {
font-size: 15px;
line-height: 1.9;
color: #6a6a7a;
margin: 0 0 32px;
border-right: none;
padding-right: 0
}

.lrn_prog .progress_h2 {
font-size: 28px;
line-height: 1.1;
font-weight: 300;
color: #1b1b2e;
margin: 0 0 16px
}

.lrn_prog .progress_h2 strong {
font-weight: 700;
color: #FF0E69
}

.lrn_prog .progress_cta {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 15px;
line-height: 1.5;
font-weight: 600;
color: #FF0E69;
text-decoration: none;
border: 2px solid transparent;
border-radius: 3px;
padding: 8px 16px;
position: relative;
background: transparent;
cursor: pointer
}

.lrn_prog .progress_cta::before,
.lrn_prog .progress_cta::after {
content: '';
position: absolute;
background: #FF0E69;
transition: width .12s ease-out
}

.lrn_prog .progress_cta::before {
top: 0;
left: 0;
height: 2px;
width: 0
}

.lrn_prog .progress_cta::after {
bottom: 0;
right: 0;
height: 2px;
width: 0
}

.lrn_prog .progress_cta:hover::before,
.lrn_prog .progress_cta:hover::after {
width: 100%
}

.lrn_prog .progress_cta:focus-visible {
outline: 2px solid #FF0E69;
outline-offset: 3px
}

.lrn_prog .trail_wrap {
display: flex;
flex-direction: column;
gap: 0
}

.lrn_prog .trail_item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 32px;
position: relative
}

.lrn_prog .trail_spine {
display: flex;
flex-direction: column;
align-items: center;
flex-shrink: 0;
width: 24px
}

.lrn_prog .trail_dot_outer {
width: 24px;
height: 24px;
border-radius: 16px;
border: 2px solid #e2d6f5;
display: flex;
align-items: center;
justify-content: center;
background: #fff;
transition: border-color .1s ease-out;
flex-shrink: 0;
position: relative;
z-index: 1
}

.lrn_prog .trail_dot_inner {
width: 10px;
height: 10px;
border-radius: 16px;
background: #e2d6f5;
transition: background .1s ease-out
}

.lrn_prog .trail_item.active .trail_dot_outer {
border-color: #FF0E69
}

.lrn_prog .trail_item.active .trail_dot_inner {
background: #FF0E69
}

.lrn_prog .trail_line {
width: 2px;
flex: 1;
min-height: 32px;
background: #e2d6f5
}

.lrn_prog .trail_item:last-child .trail_line {
display: none
}

.lrn_prog .trail_body {
flex: 1;
padding-bottom: 32px
}

.lrn_prog .trail_item:last-child .trail_body {
padding-bottom: 0
}

.lrn_prog .trail_week {
font-size: 15px;
line-height: 1.5;
font-weight: 700;
color: #A539ED;
margin: 0 0 8px
}

.lrn_prog .trail_item.active .trail_week {
color: #FF0E69
}

.lrn_prog .trail_title {
font-size: 15px;
line-height: 1.5;
font-weight: 700;
color: #1b1b2e;
margin: 0 0 8px
}

.lrn_prog .trail_text {
font-size: 15px;
line-height: 1.9;
color: #3a3a4a;
margin: 0
}

@keyframes icon_seq_1 {

0%,
20%,
100% {
color: #FF0E69;
transform: scale(1.2)
}

25%,
95% {
color: #c0b8d0;
transform: scale(1)
}
}

@keyframes icon_seq_2 {

0%,
24%,
100% {
color: #c0b8d0;
transform: scale(1)
}

25%,
44% {
color: #FF0E69;
transform: scale(1.2)
}

45%,
100% {
color: #c0b8d0;
transform: scale(1)
}
}

@keyframes icon_seq_3 {

0%,
44%,
100% {
color: #c0b8d0;
transform: scale(1)
}

45%,
64% {
color: #FF0E69;
transform: scale(1.2)
}

65%,
100% {
color: #c0b8d0;
transform: scale(1)
}
}

@keyframes icon_seq_4 {

0%,
64%,
100% {
color: #c0b8d0;
transform: scale(1)
}

65%,
84% {
color: #FF0E69;
transform: scale(1.2)
}

85%,
100% {
color: #c0b8d0;
transform: scale(1)
}
}

@keyframes icon_seq_5 {

0%,
84%,
100% {
color: #c0b8d0;
transform: scale(1)
}

85%,
99% {
color: #FF0E69;
transform: scale(1.2)
}
}

.lrn_prog .anim_icons {
display: flex;
flex-direction: row;
gap: 16px;
align-items: center;
margin-bottom: 32px
}

.lrn_prog .anim_icon {
font-size: 28px;
color: #c0b8d0;
display: inline-block;
transition: color .08s linear, transform .08s linear
}

.lrn_prog .anim_icon:nth-child(1) {
animation: icon_seq_1 5s linear infinite
}

.lrn_prog .anim_icon:nth-child(2) {
animation: icon_seq_2 5s linear infinite
}

.lrn_prog .anim_icon:nth-child(3) {
animation: icon_seq_3 5s linear infinite
}

.lrn_prog .anim_icon:nth-child(4) {
animation: icon_seq_4 5s linear infinite
}

.lrn_prog .anim_icon:nth-child(5) {
animation: icon_seq_5 5s linear infinite
}

.lrn_prog .hl_link {
position: relative;
text-decoration: none;
color: #A539ED;
font-weight: 600;
display: inline
}

.lrn_prog .hl_link::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(323deg, #ff0e691f 0%, transparent 50%, #a539ed1f 100%);
transform: scaleX(0);
transform-origin: center;
border-radius: 3px;
transition: transform .12s ease-out;
z-index: -1
}

.lrn_prog .hl_link:hover::before {
transform: scaleX(1)
}

.lrn_prog .div_down {
display: block;
width: 100%;
overflow: hidden;
line-height: 0;
background: #fff
}

.lrn_prog .div_up {
display: block;
width: 100%;
overflow: hidden;
line-height: 0;
background: #f4f0fb
}

@media (max-width: 960px) {
.lrn_prog .ttl_blk .pg_wrap {
flex-direction: column;
gap: 32px
}

.lrn_prog .ttl_img_col {
flex: none;
width: 100%
}

.lrn_prog .ttl_img_wrap {
width: 100%;
height: 320px
}

.lrn_prog .ttl_h1 {
font-size: 28px
}

.lrn_prog .curric_blk .pg_wrap {
grid-template-columns: 1fr 1fr
}

.lrn_prog .curric_head {
grid-column: 1 / 3
}

.lrn_prog .curric_modules {
grid-column: 1 / 3
}

.lrn_prog .curric_accent_col {
grid-column: 1 / 3
}

.lrn_prog .contrast_grid {
grid-template-columns: 1fr
}

.lrn_prog .progress_blk .pg_wrap {
grid-template-columns: 1fr;
gap: 32px
}

.lrn_prog .progress_aside {
position: static
}

.lrn_prog .contrast_head {
flex-direction: column;
gap: 8px
}
}

@media (max-width: 480px) {
.lrn_prog .pg_wrap {
padding: 0 16px
}

.lrn_prog .ttl_blk {
padding: 32px 0
}

.lrn_prog .ttl_h1 {
font-size: 28px
}

.lrn_prog .curric_blk {
padding: 32px 0
}

.lrn_prog .curric_blk .pg_wrap {
grid-template-columns: 1fr
}

.lrn_prog .curric_head {
grid-column: 1 / 2
}

.lrn_prog .curric_modules {
grid-column: 1 / 2
}

.lrn_prog .curric_accent_col {
grid-column: 1 / 2
}

.lrn_prog .contrast_blk {
padding: 32px 0
}

.lrn_prog .progress_blk {
padding: 32px 0
}

.lrn_prog .ttl_meta {
flex-direction: column;
align-items: flex-start;
gap: 16px
}

.lrn_prog .ttl_divider {
display: none
}

.lrn_prog .anim_icons {
gap: 8px
}
}

@media (min-width: 961px) {
.lrn_prog .progress_cta {
transition: color .1s ease-out
}
}

.ld {
position: relative;
overflow-x: hidden
}

.ld * {
box-sizing: border-box
}

.ld .grad-line {
height: 2px;
background: linear-gradient(323deg, transparent 0%, #FF0E69 35%, #A539ED 65%, transparent 100%);
border: none;
margin: 0
}

.ld .pg-wrap {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px
}

@keyframes cascadeIn {
from {
opacity: 0;
transform: translateY(24px)
}

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

@keyframes bounceIn {
0% {
opacity: 0;
transform: translateY(32px)
}

60% {
opacity: 1;
transform: translateY(-6px)
}

80% {
transform: translateY(3px)
}

100% {
opacity: 1;
transform: translateY(0)
}
}

@keyframes blobFloat {

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

50% {
transform: translate(16px, -16px) scale(1.04)
}
}

.ld .ttl-blk {
position: relative;
padding: 64px 0;
background: #fff;
overflow: hidden
}

.ld .ttl-blk .blob-a {
position: absolute;
top: -64px;
right: 80px;
width: 340px;
height: 340px;
border-radius: 50%;
background: linear-gradient(323deg, #ff0e6921 0%, transparent 50%, #a539ed17 100%);
filter: blur(48px);
animation: blobFloat 7s ease-in-out infinite;
pointer-events: none
}

.ld .ttl-blk .blob-b {
position: absolute;
bottom: 0;
left: 120px;
width: 260px;
height: 260px;
border-radius: 50%;
background: linear-gradient(323deg, #a539ed1a 0%, transparent 60%, #ff0e6912 100%);
filter: blur(40px);
animation: blobFloat 9s ease-in-out infinite reverse;
pointer-events: none
}

.ld .ttl-blk .ttl-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 64px
}

.ld .ttl-blk .ttl-txt {
flex: 0 0 520px;
max-width: 520px;
animation: bounceIn .7s ease-out both
}

.ld .ttl-blk .ttl-eyebrow {
font-size: 15px;
line-height: 1.5;
color: #FF0E69;
font-weight: 600;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 16px;
display: block
}

.ld .ttl-blk .ttl-h1 {
font-size: 52px;
line-height: 1.1;
font-weight: 800;
color: #1a1200;
color: #18100a;
margin-bottom: 16px
}

.ld .ttl-blk .ttl-h1 em {
font-style: normal;
color: #FF0E69
}

.ld .ttl-blk .ttl-quote {
font-size: 15px;
line-height: 1.9;
color: #5c4a5a;
border-top: 2px solid #A539ED;
padding-top: 16px;
margin-top: 16px;
font-style: italic;
max-width: 400px
}

.ld .ttl-blk .ttl-img-col {
flex: 1 1 0;
min-width: 0;
position: relative;
animation: cascadeIn .6s .2s ease-out both
}

.ld .ttl-blk .ttl-img-wrap {
width: 100%;
height: 420px;
overflow: hidden;
border-radius: 16px;
position: relative
}

.ld .ttl-blk .ttl-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.ld .ttl-blk .ttl-img-wrap::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 55%;
background: linear-gradient(to bottom, transparent 0%, #120a08b8 100%);
pointer-events: none
}

.ld .ttl-blk .ttl-punct {
position: absolute;
top: -32px;
right: -16px;
font-size: 68px;
line-height: 1.1;
font-weight: 900;
color: transparent;
-webkit-text-stroke: 2px #a539ed2e;
pointer-events: none;
user-select: none
}

.ld .val-blk {
padding: 64px 0;
background: #fff5f9
}

.ld .val-blk .val-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px;
display: flex;
flex-direction: row;
gap: 64px;
align-items: flex-start
}

.ld .val-blk .val-aside {
flex: 0 0 180px;
padding-top: 8px
}

.ld .val-blk .val-aside-label {
font-size: 15px;
line-height: 1.5;
color: #A539ED;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .06em;
writing-mode: vertical-rl;
transform: rotate(180deg);
display: block
}

.ld .val-blk .val-body {
flex: 1 1 0;
min-width: 0
}

.ld .val-blk .val-hdg {
font-size: 28px;
line-height: 1.1;
font-weight: 300;
color: #18100a;
letter-spacing: .04em;
margin-bottom: 32px
}

.ld .val-blk .val-hdg strong {
font-weight: 800;
color: #A539ED
}

.ld .val-blk .val-cols {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px
}

.ld .val-blk .val-item {
padding: 32px;
border-radius: 16px;
background: #fff;
box-shadow: 0 5px 14px -2px #ff0e6917;
animation: cascadeIn .5s ease-out both
}

.ld .val-blk .val-item:nth-child(1) {
animation-delay: .05s
}

.ld .val-blk .val-item:nth-child(2) {
animation-delay: .12s
}

.ld .val-blk .val-item:nth-child(3) {
animation-delay: .19s
}

.ld .val-blk .val-item:nth-child(4) {
animation-delay: .26s
}

.ld .val-blk .val-item .val-icon {
width: 32px;
height: 32px;
margin-bottom: 16px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: flex-start
}

.ld .val-blk .val-item .val-icon svg {
width: 28px;
height: 28px
}

.ld .val-blk .val-item .val-itm-hdg {
font-size: 15px;
line-height: 1.5;
font-weight: 700;
color: #18100a;
margin-bottom: 8px
}

.ld .val-blk .val-item .val-itm-txt {
font-size: 15px;
line-height: 1.9;
color: #5c4a5a
}

.ld .val-blk .val-img-mini {
margin-top: 32px;
width: 100%;
height: 200px;
overflow: hidden;
border-radius: 16px;
position: relative
}

.ld .val-blk .val-img-mini img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
clip-path: polygon(0 0, 100% 0, 100% 85%, 88% 100%, 0 100%)
}

.ld .exp-blk {
padding: 64px 0;
background: #fff
}

.ld .exp-blk .exp-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px
}

.ld .exp-blk .exp-top {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 64px;
margin-bottom: 64px
}

.ld .exp-blk .exp-hdg-col {
flex: 0 0 400px
}

.ld .exp-blk .exp-hdg {
font-size: 28px;
line-height: 1.1;
font-weight: 300;
color: #18100a;
letter-spacing: .04em
}

.ld .exp-blk .exp-hdg strong {
font-weight: 800;
display: block;
color: #FF0E69
}

.ld .exp-blk .exp-sub-txt {
flex: 1 1 0;
font-size: 15px;
line-height: 1.9;
color: #5c4a5a
}

.ld .exp-blk .exp-sub-txt .drop-cap::first-letter {
font-size: 52px;
line-height: 1.1;
font-weight: 900;
color: #FF0E69 !important;
float: left;
margin-right: 8px;
margin-top: 4px
}

.ld .exp-blk .exp-trail {
display: flex;
flex-direction: column;
gap: 0;
position: relative;
padding-left: 32px
}

.ld .exp-blk .exp-trail::before {
content: "";
position: absolute;
left: 8px;
top: 16px;
bottom: 16px;
width: 2px;
background: linear-gradient(to bottom, #FF0E69, #A539ED)
}

.ld .exp-blk .exp-step {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 32px;
padding: 32px 0;
position: relative;
animation: cascadeIn .5s ease-out both
}

.ld .exp-blk .exp-step:nth-child(1) {
animation-delay: .04s
}

.ld .exp-blk .exp-step:nth-child(2) {
animation-delay: .11s
}

.ld .exp-blk .exp-step:nth-child(3) {
animation-delay: .18s
}

.ld .exp-blk .exp-step:nth-child(4) {
animation-delay: .25s
}

.ld .exp-blk .exp-dot {
position: absolute;
left: -28px;
top: 38px;
width: 16px;
height: 16px;
border-radius: 50%;
background: #fff;
border: 3px solid #FF0E69;
flex-shrink: 0;
transition: background .12s ease-out, border-color .12s ease-out
}

.ld .exp-blk .exp-step.active .exp-dot,
.ld .exp-blk .exp-step:first-child .exp-dot {
background: #FF0E69;
border-color: #FF0E69
}

.ld .exp-blk .exp-step-num {
font-size: 52px;
line-height: 1.1;
font-weight: 900;
color: transparent;
-webkit-text-stroke: 1px #a539ed33;
flex-shrink: 0;
width: 64px
}

.ld .exp-blk .exp-step-body {
flex: 1 1 0;
padding-top: 8px
}

.ld .exp-blk .exp-step-hdg {
font-size: 15px;
line-height: 1.5;
font-weight: 700;
color: #18100a;
margin-bottom: 8px
}

.ld .exp-blk .exp-step-txt {
font-size: 15px;
line-height: 1.9;
color: #5c4a5a
}

.ld .exp-blk .exp-img-row {
display: flex;
flex-direction: row;
gap: 32px;
margin-top: 64px
}

.ld .exp-blk .exp-img-a {
flex: 2 1 0;
height: 260px;
overflow: hidden;
border-radius: 16px
}

.ld .exp-blk .exp-img-a img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
clip-path: polygon(0 0, 100% 0, 95% 100%, 0 100%)
}

.ld .exp-blk .exp-mini-card {
flex: 1 1 0;
background: linear-gradient(323deg, #FF0E69 0%, transparent 50%, #A539ED 100%);
border-radius: 16px;
padding: 32px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 16px;
box-shadow: 0 9px 36px -2px #a539ed24
}

.ld .exp-blk .exp-mini-card .mc-label {
font-size: 15px;
line-height: 1.5;
color: #ffffffbf;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .06em
}

.ld .exp-blk .exp-mini-card .mc-val {
font-size: 52px;
line-height: 1.1;
font-weight: 900;
color: #fff
}

.ld .exp-blk .exp-mini-card .mc-desc {
font-size: 15px;
line-height: 1.5;
color: #ffffffd9
}

.ld .fit-blk {
padding: 64px 0;
background: #fff5f9
}

.ld .fit-blk .fit-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start
}

.ld .fit-blk .fit-left {
display: flex;
flex-direction: column;
gap: 32px
}

.ld .fit-blk .fit-hdg {
font-size: 28px;
line-height: 1.1;
font-weight: 300;
color: #18100a;
letter-spacing: .04em
}

.ld .fit-blk .fit-hdg strong {
font-weight: 800;
color: #A539ED
}

.ld .fit-blk .fit-yes-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 16px
}

.ld .fit-blk .fit-yes-list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
font-size: 15px;
line-height: 1.9;
color: #18100a
}

.ld .fit-blk .fit-yes-list li .fit-dot {
width: 10px;
height: 10px;
border-radius: 50%;
background: #FF0E69;
flex-shrink: 0;
margin-top: 8px
}

.ld .fit-blk .fit-no-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 16px
}

.ld .fit-blk .fit-no-list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
font-size: 15px;
line-height: 1.9;
color: #5c4a5a
}

.ld .fit-blk .fit-no-list li .fit-dash {
width: 10px;
height: 2px;
background: #A539ED;
flex-shrink: 0;
margin-top: 14px
}

.ld .fit-blk .fit-grp-label {
font-size: 15px;
line-height: 1.5;
font-weight: 700;
color: #18100a;
text-transform: uppercase;
letter-spacing: .06em;
margin-bottom: 8px
}

.ld .fit-blk .fit-right {
display: flex;
flex-direction: column;
gap: 32px
}

.ld .fit-blk .fit-img-zone {
width: 100%;
height: 320px;
overflow: hidden;
border-radius: 16px;
position: relative
}

.ld .fit-blk .fit-img-zone img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
clip-path: ellipse(90% 100% at 50% 50%)
}

.ld .fit-blk .fit-quote-block {
background: #fff;
border-radius: 16px;
padding: 32px;
box-shadow: 0 1px 6px -2px #ff0e690f;
position: relative
}

.ld .fit-blk .fit-quote-block .fq-mark {
font-size: 68px;
line-height: 1.1;
color: #FF0E69;
font-weight: 900;
opacity: .18;
position: absolute;
top: 8px;
left: 16px;
pointer-events: none;
user-select: none
}

.ld .fit-blk .fit-quote-block .fq-txt {
font-size: 15px;
line-height: 1.9;
color: #5c4a5a;
font-style: italic;
padding-left: 16px
}

.ld .fit-blk .fit-quote-block .fq-name {
font-size: 15px;
line-height: 1.5;
font-weight: 700;
color: #18100a;
margin-top: 16px;
padding-left: 16px
}

.ld .spt-blk {
padding: 64px 0;
background: #fff
}

.ld .spt-blk .spt-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px;
display: flex;
flex-direction: row;
gap: 64px;
align-items: flex-start
}

.ld .spt-blk .spt-txt-col {
flex: 1 1 0;
min-width: 0;
display: flex;
flex-direction: column;
gap: 32px
}

.ld .spt-blk .spt-hdg {
font-size: 28px;
line-height: 1.1;
font-weight: 300;
color: #18100a;
letter-spacing: .04em
}

.ld .spt-blk .spt-hdg strong {
font-weight: 800;
color: #FF0E69
}

.ld .spt-blk .spt-para {
font-size: 15px;
line-height: 1.9;
color: #5c4a5a
}

.ld .spt-blk .spt-para .drop-cap::first-letter {
font-size: 52px;
line-height: 1.1;
font-weight: 900;
color: #A539ED !important;
float: left;
margin-right: 8px;
margin-top: 4px
}

.ld .spt-blk .spt-cards {
display: flex;
flex-direction: column;
gap: 16px
}

.ld .spt-blk .spt-card {
background: #fff5f9;
border-radius: 16px;
padding: 32px;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
animation: cascadeIn .5s ease-out both
}

.ld .spt-blk .spt-card:nth-child(1) {
animation-delay: .06s
}

.ld .spt-blk .spt-card:nth-child(2) {
animation-delay: .14s
}

.ld .spt-blk .spt-card:nth-child(3) {
animation-delay: .22s
}

.ld .spt-blk .spt-card .sc-icon {
flex-shrink: 0;
width: 32px;
height: 32px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center
}

.ld .spt-blk .spt-card .sc-icon svg {
width: 26px;
height: 26px
}

.ld .spt-blk .spt-card .sc-body {
flex: 1 1 0
}

.ld .spt-blk .spt-card .sc-hdg {
font-size: 15px;
line-height: 1.5;
font-weight: 700;
color: #18100a;
margin-bottom: 8px
}

.ld .spt-blk .spt-card .sc-txt {
font-size: 15px;
line-height: 1.9;
color: #5c4a5a
}

.ld .spt-blk .spt-img-col {
flex: 0 0 380px;
display: flex;
flex-direction: column;
gap: 32px
}

.ld .spt-blk .spt-img-wrap {
width: 100%;
height: 300px;
overflow: hidden;
border-radius: 16px
}

.ld .spt-blk .spt-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%, 0 12%)
}

.ld .spt-blk .spt-note {
background: linear-gradient(323deg, #ff0e6912 0%, transparent 60%, #a539ed0d 100%);
border-radius: 16px;
padding: 32px;
font-size: 15px;
line-height: 1.9;
color: #5c4a5a;
font-style: italic
}

.ld a {
color: #FF0E69;
text-decoration: none;
background-image: linear-gradient(323deg, #ff0e6926 0%, #a539ed1a 100%);
background-size: 0 100%;
background-repeat: no-repeat;
background-position: center;
transition: background-size .12s ease-out;
padding: 0 2px;
border-radius: 3px
}

.ld a:hover {
background-size: 100% 100%
}

.ld .btn-pri {
display: inline-block;
font-size: 15px;
line-height: 1.5;
font-weight: 700;
color: #FF0E69;
background: transparent;
border: none;
padding: 0;
cursor: pointer;
position: relative;
text-decoration: none;
background-image: none
}

.ld .btn-pri::after {
content: "";
position: absolute;
bottom: -2px;
left: 0;
width: 0;
height: 2px;
background: linear-gradient(323deg, #FF0E69, #A539ED);
transition: width .12s ease-out
}

.ld .btn-pri:hover::after {
width: 100%
}

.ld .btn-pri:focus {
outline: 2px solid #FF0E69;
outline-offset: 4px;
border-radius: 3px
}

@media (max-width: 960px) {
.ld .ttl-blk .ttl-inner {
flex-direction: column;
gap: 32px
}

.ld .ttl-blk .ttl-txt {
flex: none;
max-width: 100%
}

.ld .ttl-blk .ttl-img-wrap {
height: 280px
}

.ld .val-blk .val-inner {
flex-direction: column;
gap: 32px
}

.ld .val-blk .val-aside {
flex: none
}

.ld .val-blk .val-aside-label {
writing-mode: horizontal-tb;
transform: none
}

.ld .val-blk .val-cols {
grid-template-columns: 1fr
}

.ld .exp-blk .exp-top {
flex-direction: column;
gap: 32px
}

.ld .exp-blk .exp-hdg-col {
flex: none
}

.ld .exp-blk .exp-img-row {
flex-direction: column
}

.ld .exp-blk .exp-img-a {
height: 200px
}

.ld .fit-blk .fit-inner {
grid-template-columns: 1fr
}

.ld .spt-blk .spt-inner {
flex-direction: column;
gap: 32px
}

.ld .spt-blk .spt-img-col {
flex: none;
width: 100%
}
}

@media (max-width: 480px) {
.ld .ttl-blk {
padding: 32px 0
}

.ld .ttl-blk .ttl-inner {
padding: 0 16px
}

.ld .ttl-blk .ttl-h1 {
font-size: 28px
}

.ld .val-blk,
.ld .exp-blk,
.ld .fit-blk,
.ld .spt-blk {
padding: 32px 0
}

.ld .val-blk .val-inner,
.ld .exp-blk .exp-inner,
.ld .fit-blk .fit-inner,
.ld .spt-blk .spt-inner {
padding: 0 16px
}

.ld .exp-blk .exp-step-num {
font-size: 28px;
width: 32px
}

.ld .exp-blk .exp-mini-card .mc-val {
font-size: 28px
}
}

@media (min-width: 960px) {
.ld .val-blk .val-item:hover {
box-shadow: 0 9px 36px -2px #ff0e6924;
transition: box-shadow .12s ease-out
}

.ld .spt-blk .spt-card:hover {
box-shadow: 0 5px 14px -2px #a539ed17;
transition: box-shadow .1s ease-out
}
}

.abt_us {
background: #fff;
overflow-x: clip;
position: relative
}

.abt_us .abt_seg {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 0 32px
}

.abt_us .seg_one {
background: #f4f0fb;
padding: 64px 0 0;
position: relative;
overflow: hidden
}

.abt_us .seg_one_inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px;
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 64px
}

.abt_us .seg_one_copy {
flex: 1 1 0;
min-width: 0;
padding-bottom: 64px
}

.abt_us .seg_one_label {
font-size: 15px;
line-height: 1.5;
color: #A539ED;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 16px;
display: block
}

.abt_us .seg_one_h {
font-size: 52px;
line-height: 1.1;
font-weight: 800;
color: #1b1035;
margin: 0 0 32px
}

.abt_us .seg_one_h em {
font-style: normal;
color: #FF0E69;
text-decoration: underline;
text-decoration-color: #FF0E69;
text-underline-offset: 6px
}

.abt_us .seg_one_lead {
font-size: 28px;
line-height: 1.5;
color: #2a1a4a;
font-weight: 300;
margin: 0 0 32px
}

.abt_us .seg_one_body {
display: flex;
flex-direction: row;
gap: 32px;
align-items: flex-start
}

.abt_us .seg_one_aside {
width: 110px;
flex-shrink: 0
}

.abt_us .seg_one_note {
font-size: 15px;
line-height: 1.9;
color: #A539ED;
border-top: 2px solid #A539ED;
padding-top: 8px
}

.abt_us .seg_one_para {
font-size: 15px;
line-height: 1.9;
color: #3a2a5a;
margin: 0
}

.abt_us .seg_one_para::first-letter {
font-size: 52px;
line-height: 1.1;
color: #FF0E69;
font-weight: 800;
float: left;
margin-right: 8px;
margin-top: 4px
}

.abt_us .seg_one_img_col {
flex: 0 0 380px;
position: relative;
align-self: flex-end
}

.abt_us .seg_one_img_wrap {
position: relative;
overflow: hidden;
border-radius: 16px 16px 0 0
}

.abt_us .seg_one_img_wrap img {
width: 380px;
height: 480px;
object-fit: cover;
display: block;
filter: contrast(1.12) saturate(0.82) sepia(0.18) brightness(0.93)
}

.abt_us .seg_one_deco {
position: absolute;
right: -32px;
bottom: 40px;
font-size: 68px;
line-height: 1.1;
font-weight: 900;
color: #A539ED;
opacity: .07;
pointer-events: none;
user-select: none;
z-index: 0;
white-space: nowrap
}

.abt_us .seg_one_img_badge {
position: absolute;
bottom: 16px;
left: 16px;
background: #FF0E69;
color: #fff;
font-size: 15px;
line-height: 1.5;
font-weight: 700;
padding: 8px 16px;
border-radius: 3px;
z-index: 2
}

.abt_us .zigzag_div {
width: 100%;
display: block;
line-height: 0;
margin-top: -1px
}

.abt_us .seg_two {
background: #fff;
padding: 64px 0;
position: relative
}

.abt_us .seg_two_inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px
}

.abt_us .seg_two_top {
display: flex;
flex-direction: row;
gap: 64px;
align-items: flex-start;
margin-bottom: 64px
}

.abt_us .seg_two_left {
flex: 1 1 0;
min-width: 0
}

.abt_us .seg_two_right {
flex: 0 0 340px;
min-width: 0
}

.abt_us .seg_two_h {
font-size: 28px;
line-height: 1.5;
font-weight: 300;
color: #1b1035;
margin: 0 0 16px;
letter-spacing: .04em
}

.abt_us .seg_two_h strong {
font-weight: 800;
color: #A539ED
}

.abt_us .seg_two_body {
display: flex;
flex-direction: row;
gap: 32px;
align-items: flex-start
}

.abt_us .seg_two_aside {
width: 90px;
flex-shrink: 0
}

.abt_us .seg_two_note {
font-size: 15px;
line-height: 1.9;
color: #FF0E69;
border-top: 2px solid #FF0E69;
padding-top: 8px
}

.abt_us .seg_two_para {
font-size: 15px;
line-height: 1.9;
color: #2a1a4a;
margin: 0 0 16px
}

.abt_us .seg_two_para::first-letter {
font-size: 52px;
line-height: 1.1;
color: #A539ED;
font-weight: 800;
float: left;
margin-right: 8px;
margin-top: 4px
}

.abt_us .seg_two_para_plain {
font-size: 15px;
line-height: 1.9;
color: #2a1a4a;
margin: 0
}

.abt_us .seg_two_img_wrap {
overflow: hidden;
border-radius: 16px;
position: relative
}

.abt_us .seg_two_img_wrap img {
width: 340px;
height: 400px;
object-fit: cover;
display: block;
filter: contrast(1.1) saturate(0.75) sepia(0.22) brightness(0.9)
}

.abt_us .seg_two_overlay {
position: absolute;
inset: 0;
background: linear-gradient(323deg, #a539ed61 0%, #fff0 55%, #ff0e6938 100%);
border-radius: 16px
}

.abt_us .metrics_row {
display: flex;
flex-direction: row;
gap: 32px;
margin-bottom: 64px;
align-items: stretch
}

.abt_us .metric_card {
flex: 1 1 0;
background: #f4f0fb;
border-radius: 16px;
padding: 32px;
display: flex;
flex-direction: column;
gap: 8px;
position: relative;
overflow: hidden;
box-shadow: 0 5px 14px -2px #a539ed17
}

.abt_us .metric_card_deco {
position: absolute;
top: -8px;
right: 8px;
font-size: 68px;
line-height: 1.1;
font-weight: 900;
color: #A539ED;
opacity: .06;
pointer-events: none;
user-select: none
}

.abt_us .metric_num {
font-size: 52px;
line-height: 1.1;
font-weight: 800;
color: #FF0E69
}

.abt_us .metric_lbl {
font-size: 15px;
line-height: 1.5;
color: #3a2a5a;
font-weight: 600
}

.abt_us .metric_sub {
font-size: 15px;
line-height: 1.5;
color: #7a5fa0
}

.abt_us .glossary_block {
background: #1b1035;
border-radius: 16px;
padding: 32px;
margin-bottom: 64px;
box-shadow: 0 9px 36px -2px #ff0e6924
}

.abt_us .glossary_h {
font-size: 15px;
line-height: 1.5;
color: #A539ED;
text-transform: uppercase;
letter-spacing: .1em;
margin: 0 0 16px;
font-weight: 700
}

.abt_us .glossary_list {
display: flex;
flex-direction: column;
gap: 16px;
list-style: none;
padding: 0;
margin: 0
}

.abt_us .glossary_item {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
border-bottom: 1px solid #a539ed2e;
padding-bottom: 16px
}

.abt_us .glossary_item:last-child {
border-bottom: none;
padding-bottom: 0
}

.abt_us .glossary_term {
font-size: 15px;
line-height: 1.5;
font-weight: 700;
color: #FF0E69;
min-width: 140px;
flex-shrink: 0
}

.abt_us .glossary_def {
font-size: 15px;
line-height: 1.5;
color: #d4c8f0
}

.abt_us .team_row {
display: flex;
flex-direction: row;
gap: 32px;
margin-bottom: 64px;
align-items: flex-start
}

.abt_us .team_card {
display: flex;
flex-direction: column;
gap: 8px;
position: relative
}

.abt_us .team_card.wide {
flex: 3 1 0;
min-width: 0
}

.abt_us .team_card.mid {
flex: 2 1 0;
min-width: 0
}

.abt_us .team_card.narrow {
flex: 1 1 0;
min-width: 0
}

.abt_us .team_img_wrap {
overflow: hidden;
border-radius: 16px;
position: relative
}

.abt_us .team_img_wrap img {
width: 100%;
height: 260px;
object-fit: cover;
display: block;
filter: contrast(1.08) saturate(0.7) sepia(0.15) brightness(0.92)
}

.abt_us .team_img_overlay {
position: absolute;
inset: 0;
background: linear-gradient(323deg, #ff0e6947 0%, #fff0 60%, #a539ed26 100%);
border-radius: 16px
}

.abt_us .team_name {
font-size: 15px;
line-height: 1.5;
font-weight: 700;
color: #1b1035;
margin-top: 8px
}

.abt_us .team_role {
font-size: 15px;
line-height: 1.5;
color: #A539ED
}

.abt_us .team_bio {
font-size: 15px;
line-height: 1.9;
color: #3a2a5a
}

.abt_us .progress_trail {
display: flex;
flex-direction: row;
align-items: center;
gap: 0;
margin-bottom: 64px;
flex-wrap: nowrap;
overflow: hidden
}

.abt_us .trail_step {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
flex: 1 1 0;
min-width: 0;
position: relative
}

.abt_us .trail_dot_row {
display: flex;
flex-direction: row;
align-items: center;
width: 100%
}

.abt_us .trail_dot {
width: 18px;
height: 18px;
border-radius: 16px;
background: #e0d4f5;
border: 3px solid #A539ED;
flex-shrink: 0;
z-index: 1;
transition: background .12s ease-out
}

.abt_us .trail_dot.active {
background: #FF0E69 !important;
border-color: #FF0E69;
box-shadow: 0 1px 6px -2px #ff0e690f
}

.abt_us .trail_line {
flex: 1 1 0;
height: 2px;
background: #d4c8f0
}

.abt_us .trail_step:last-child .trail_line {
display: none
}

.abt_us .trail_lbl {
font-size: 15px;
line-height: 1.5;
color: #3a2a5a;
text-align: center;
font-weight: 600;
padding: 0 8px
}

.abt_us .trail_sub {
font-size: 15px;
line-height: 1.5;
color: #7a5fa0;
text-align: center;
padding: 0 8px
}

.abt_us .contact_strip {
background: linear-gradient(323deg, #A539ED 0%, #fff0 55%, #FF0E69 100%);
border-radius: 16px;
padding: 64px 32px;
display: flex;
flex-direction: row;
gap: 64px;
align-items: flex-start;
margin-bottom: 0;
box-shadow: 0 9px 36px -2px #a539ed24
}

.abt_us .contact_copy {
flex: 1 1 0;
min-width: 0
}

.abt_us .contact_h {
font-size: 28px;
line-height: 1.5;
font-weight: 800;
color: #1b1035;
margin: 0 0 16px
}

.abt_us .contact_desc {
font-size: 15px;
line-height: 1.9;
color: #2a1a4a;
margin: 0
}

.abt_us .contact_form_wrap {
flex: 0 0 420px;
min-width: 0
}

.abt_us .contact_form {
background: #fff;
border-radius: 16px;
padding: 32px;
box-shadow: 0 5px 14px -2px #a539ed17;
display: flex;
flex-direction: column;
gap: 16px
}

.abt_us .form_lbl {
font-size: 15px;
line-height: 1.5;
color: #1b1035;
font-weight: 600;
display: block;
margin-bottom: 8px
}

.abt_us .form_field {
display: flex;
flex-direction: column;
gap: 0
}

.abt_us .form_input {
border: 1.5px solid #d4c8f0;
border-radius: 3px;
padding: 8px 16px;
font-size: 15px;
line-height: 1.5;
color: #1b1035;
background: #f9f6ff;
outline: none;
transition: border-color .12s ease-out;
width: 100%;
box-sizing: border-box
}

.abt_us .form_input::placeholder {
color: #a539ed59
}

.abt_us .form_input:focus {
border-color: #A539ED
}

.abt_us .form_select {
border: 1.5px solid #d4c8f0;
border-radius: 3px;
padding: 8px 16px;
font-size: 15px;
line-height: 1.5;
color: #1b1035;
background: #f9f6ff;
outline: none;
width: 100%;
box-sizing: border-box;
appearance: none;
transition: border-color .12s ease-out
}

.abt_us .form_select:focus {
border-color: #A539ED
}

.abt_us .form_select_wrap {
position: relative
}

.abt_us .form_select_wrap svg {
position: absolute;
right: 12px;
top: 50%;
transform: translateY(-50%);
pointer-events: none
}

.abt_us .privacy_row {
display: flex;
flex-direction: row;
gap: 8px;
align-items: flex-start
}

.abt_us .privacy_check {
margin-top: 3px;
flex-shrink: 0;
accent-color: #A539ED;
width: 16px;
height: 16px
}

.abt_us .privacy_txt {
font-size: 15px;
line-height: 1.5;
color: #3a2a5a
}

.abt_us .privacy_lnk {
color: #A539ED;
text-decoration: none;
background: linear-gradient(323deg, #a539ed2e 0%, #fff0 55%, #ff0e691f 100%);
background-size: 0 100%;
background-repeat: no-repeat;
background-position: center;
transition: background-size .15s linear;
padding: 0 2px
}

.abt_us .privacy_lnk:hover {
background-size: 100% 100%
}

.abt_us .submit_btn {
background: #FF0E69;
color: #fff;
border: 2px solid #FF0E69;
border-radius: 3px;
padding: 8px 32px;
font-size: 15px;
line-height: 1.5;
font-weight: 700;
cursor: pointer;
position: relative;
overflow: hidden;
transition: color .12s ease-out, background .12s ease-out;
align-self: flex-start
}

.abt_us .submit_btn::before {
content: '';
position: absolute;
inset: 0;
border: 2px solid #FF0E69;
border-radius: 3px;
clip-path: inset(0 100% 0 0);
transition: clip-path .15s linear;
pointer-events: none
}

.abt_us .submit_btn:hover {
background: #fff;
color: #FF0E69
}

.abt_us .submit_btn:hover::before {
clip-path: inset(0 0% 0 0)
}

.abt_us .submit_btn:focus {
outline: 2px solid #A539ED;
outline-offset: 2px
}

.abt_us .blink_cursor {
display: inline-block;
width: 2px;
height: 1em;
background: #FF0E69;
vertical-align: middle;
margin-left: 2px;
animation: blink_cur .9s step-end infinite
}

@keyframes blink_cur {

0%,
100% {
opacity: 1
}

50% {
opacity: 0
}
}

.abt_us .reveal_blur {
animation: blur_in .6s ease-out both
}

.abt_us .reveal_blur.delay_1 {
animation-delay: .08s
}

.abt_us .reveal_blur.delay_2 {
animation-delay: .18s
}

.abt_us .reveal_blur.delay_3 {
animation-delay: .28s
}

.abt_us .reveal_blur.delay_4 {
animation-delay: .38s
}

@keyframes blur_in {
from {
filter: blur(8px);
opacity: 0
}

to {
filter: blur(0);
opacity: 1
}
}

@media (max-width: 960px) {
.abt_us .seg_one_inner {
flex-direction: column;
gap: 32px
}

.abt_us .seg_one_img_col {
flex: none;
width: 100%
}

.abt_us .seg_one_img_wrap img {
width: 100%;
height: 320px
}

.abt_us .seg_two_top {
flex-direction: column;
gap: 32px
}

.abt_us .seg_two_right {
flex: none;
width: 100%
}

.abt_us .seg_two_img_wrap img {
width: 100%;
height: 280px
}

.abt_us .metrics_row {
flex-direction: column;
gap: 16px
}

.abt_us .team_row {
flex-direction: column
}

.abt_us .team_card.wide,
.abt_us .team_card.mid,
.abt_us .team_card.narrow {
flex: none;
width: 100%
}

.abt_us .contact_strip {
flex-direction: column;
gap: 32px
}

.abt_us .contact_form_wrap {
flex: none;
width: 100%
}

.abt_us .progress_trail {
flex-direction: column;
align-items: flex-start;
gap: 16px
}

.abt_us .trail_dot_row {
width: auto
}

.abt_us .trail_line {
display: none
}

.abt_us .seg_one_h {
font-size: 28px
}
}

@media (max-width: 480px) {

.abt_us .seg_one_inner,
.abt_us .seg_two_inner {
padding: 0 16px
}

.abt_us .seg_one_h {
font-size: 28px
}

.abt_us .seg_one_body {
flex-direction: column;
gap: 16px
}

.abt_us .seg_one_aside {
width: 100%
}

.abt_us .seg_two_body {
flex-direction: column;
gap: 16px
}

.abt_us .seg_two_aside {
width: 100%
}

.abt_us .glossary_item {
flex-direction: column;
gap: 8px
}

.abt_us .glossary_term {
min-width: 0
}

.abt_us .contact_strip {
padding: 32px 16px
}

.abt_us .contact_form {
padding: 16px
}

.abt_us .metric_card {
padding: 16px
}
}

.cnt_us {
background: #fff;
overflow-x: clip;
position: relative
}

.cnt_us *,
.cnt_us ::before,
.cnt_us ::after {
box-sizing: border-box
}

.cnt_us ::selection {
background: #A539ED;
color: #fff
}

.cnt_us ::placeholder {
color: #a539ed59
}

.cnt_us .pg_band {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px
}

.cnt_us .scanline_bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden;
z-index: 0
}

.cnt_us .scanline_bg::after {
content: '';
position: absolute;
top: -100%;
left: 0;
width: 100%;
height: 300%;
background: repeating-linear-gradient(to bottom, transparent 0px, transparent 3px, #ff0e6906 3px, #ff0e6906 4px);
animation: scanline_move 18s linear infinite
}

@keyframes scanline_move {
0% {
transform: translateY(0)
}

100% {
transform: translateY(33.33%)
}
}

.cnt_us .pg_open {
position: relative;
padding: 64px 0;
background: linear-gradient(323deg, #fff 0%, #fff 40%, #ff0e690a 70%, #a539ed0f 100%)
}

.cnt_us .pg_open_inner {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 64px;
position: relative;
z-index: 1
}

.cnt_us .pg_open_text {
flex: 1 1 0;
min-width: 0
}

.cnt_us .pg_open_aside {
width: 340px;
flex-shrink: 0;
position: relative
}

.cnt_us .noise_layer {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 0;
opacity: .4;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");
background-repeat: repeat;
border-radius: 16px
}

.cnt_us .open_label {
font-size: 15px;
color: #FF0E69;
line-height: 1.5;
letter-spacing: .08em;
text-transform: uppercase;
margin: 0 0 16px;
font-weight: 600
}

.cnt_us .open_hdg {
font-size: 52px;
line-height: 1.1;
color: #1b1b2e;
font-weight: 700;
margin: 0 0 32px
}

.cnt_us .open_hdg span {
color: #FF0E69
}

.cnt_us .open_counter_row {
display: flex;
flex-direction: row;
gap: 32px;
margin: 0 0 32px
}

.cnt_us .open_counter {
display: flex;
flex-direction: column;
gap: 8px
}

.cnt_us .counter_num {
font-size: 28px;
line-height: 1.1;
font-weight: 700;
color: #A539ED
}

.cnt_us .counter_lbl {
font-size: 15px;
line-height: 1.5;
color: #4a4a6a
}

.cnt_us .open_body {
font-size: 15px;
line-height: 1.9;
color: #3a3a52;
margin: 0
}

.cnt_us .open_body::first-letter {
font-size: 28px;
line-height: 1.1;
color: #FF0E69;
font-weight: 700;
float: left;
margin-right: 8px;
margin-top: 4px
}

.cnt_us .open_img_wrap {
position: relative;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 9px 36px -2px #ff0e6924
}

.cnt_us .open_img_wrap img {
width: 340px;
height: 420px;
object-fit: cover;
display: block;
filter: blur(0px);
transition: filter .12s ease-out
}

.cnt_us .open_img_wrap:hover img {
filter: blur(2px)
}

.cnt_us .open_img_wrap::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(323deg, #a539ed00 40%, #ff0e692e 100%);
pointer-events: none;
opacity: 0;
transition: opacity .12s ease-out;
border-radius: 16px
}

.cnt_us .open_img_wrap:hover::after {
opacity: 1
}

.cnt_us .deco_strokes {
position: absolute;
top: 32px;
right: 0;
display: flex;
flex-direction: column;
gap: 8px;
pointer-events: none;
z-index: 0
}

.cnt_us .deco_strokes span {
display: block;
height: 2px;
background: #ff0e692e;
border-radius: 0
}

.cnt_us .deco_strokes span:nth-child(1) {
width: 48px
}

.cnt_us .deco_strokes span:nth-child(2) {
width: 32px
}

.cnt_us .deco_strokes span:nth-child(3) {
width: 56px
}

.cnt_us .deco_strokes span:nth-child(4) {
width: 24px
}

.cnt_us .deco_strokes span:nth-child(5) {
width: 40px
}

.cnt_us .divider_asym {
display: flex;
flex-direction: row;
align-items: center;
gap: 0;
padding: 0 32px;
max-width: 1200px;
margin: 0 auto
}

.cnt_us .divider_asym .d_long {
flex: 1 1 0;
height: 1px;
background: linear-gradient(to right, #ff0e694d, #a539ed1a)
}

.cnt_us .divider_asym .d_short {
width: 48px;
height: 1px;
background: #a539ed33
}

.cnt_us .form_sect {
position: relative;
padding: 64px 0;
background: #f7f4fb
}

.cnt_us .form_sect_inner {
display: flex;
flex-direction: row;
gap: 64px;
align-items: flex-start;
position: relative;
z-index: 1
}

.cnt_us .form_side_note {
width: 200px;
flex-shrink: 0;
padding-top: 16px
}

.cnt_us .form_side_lbl {
font-size: 15px;
line-height: 1.9;
color: #A539ED;
font-weight: 600;
writing-mode: horizontal-tb;
margin: 0 0 16px
}

.cnt_us .form_side_text {
font-size: 15px;
line-height: 1.9;
color: #5a5a7a;
margin: 0
}

.cnt_us .form_main {
flex: 1 1 0;
min-width: 0
}

.cnt_us .form_hdg {
font-size: 28px;
line-height: 1.1;
color: #1b1b2e;
font-weight: 300;
letter-spacing: .04em;
margin: 0 0 32px
}

.cnt_us .contact_form {
display: flex;
flex-direction: column;
gap: 32px
}

.cnt_us .field_row {
display: flex;
flex-direction: row;
gap: 32px
}

.cnt_us .field_grp {
display: flex;
flex-direction: column;
gap: 8px;
flex: 1 1 0;
min-width: 0
}

.cnt_us .field_grp.full {
flex: 1 1 100%
}

.cnt_us .fld_lbl {
font-size: 15px;
line-height: 1.5;
color: #3a3a52;
font-weight: 600
}

.cnt_us .fld_lbl .req_mark {
color: #FF0E69;
margin-left: 4px
}

.cnt_us .fld_input {
padding: 16px;
border: 1px solid #a539ed33;
border-radius: 3px;
background: #fff;
font-size: 15px;
line-height: 1.5;
color: #1b1b2e;
outline: none;
transition: border-color .1s ease-out, box-shadow .1s ease-out;
width: 100%
}

.cnt_us .fld_input:focus {
border-color: #A539ED;
box-shadow: 0 1px 6px -2px #a539ed17
}

.cnt_us .budget_hdg {
font-size: 15px;
line-height: 1.5;
color: #3a3a52;
font-weight: 600;
margin: 0 0 16px
}

.cnt_us .budget_opts {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 16px
}

.cnt_us .budget_opt {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
cursor: pointer
}

.cnt_us .budget_opt input[type="radio"] {
appearance: none;
width: 18px;
height: 18px;
border: 2px solid #a539ed4d;
border-radius: 50%;
background: #fff;
cursor: pointer;
position: relative;
flex-shrink: 0;
transition: border-color .1s ease-out
}

.cnt_us .budget_opt input[type="radio"]:checked {
border-color: #FF0E69;
background: #FF0E69
}

.cnt_us .budget_opt input[type="radio"]:focus {
outline: 2px solid #a539ed66;
outline-offset: 2px
}

.cnt_us .budget_opt_lbl {
font-size: 15px;
line-height: 1.5;
color: #3a3a52;
cursor: pointer
}

.cnt_us .privacy_row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px
}

.cnt_us .privacy_chk {
appearance: none;
width: 18px;
height: 18px;
border: 2px solid #a539ed4d;
border-radius: 3px;
background: #fff;
cursor: pointer;
flex-shrink: 0;
margin-top: 2px;
position: relative;
transition: border-color .1s ease-out, background .1s ease-out
}

.cnt_us .privacy_chk:checked {
border-color: #A539ED;
background: #A539ED
}

.cnt_us .privacy_chk:focus {
outline: 2px solid #a539ed66;
outline-offset: 2px
}

.cnt_us .privacy_txt {
font-size: 15px;
line-height: 1.9;
color: #5a5a7a;
margin: 0
}

.cnt_us .privacy_txt a {
color: #A539ED;
text-decoration: none;
position: relative;
transition: color .1s ease-out
}

.cnt_us .privacy_txt a::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
right: 50%;
height: 1px;
background: #A539ED;
transition: left .12s ease-out, right .12s ease-out
}

.cnt_us .privacy_txt a:hover::after {
left: 0;
right: 0
}

.cnt_us .submit_btn {
align-self: flex-start;
padding: 16px 32px;
background: transparent;
border: 2px solid #FF0E69;
border-radius: 3px;
font-size: 15px;
line-height: 1.5;
color: #FF0E69;
font-weight: 600;
cursor: pointer;
position: relative;
overflow: hidden;
transition: color .1s ease-out
}

.cnt_us .submit_btn::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 0;
height: 100%;
background: #FF0E69;
transition: width .12s ease-out;
z-index: 0
}

.cnt_us .submit_btn:hover::before {
width: 100%
}

.cnt_us .submit_btn:hover {
color: #fff
}

.cnt_us .submit_btn span {
position: relative;
z-index: 1
}

.cnt_us .submit_btn:focus {
outline: 2px solid #A539ED;
outline-offset: 3px
}

.cnt_us .divider_dot {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px;
display: flex;
flex-direction: row;
align-items: center;
gap: 16px
}

.cnt_us .divider_dot .d_line {
flex: 1 1 0;
height: 1px;
background: linear-gradient(to right, #a539ed26, transparent)
}

.cnt_us .divider_dot .d_dot {
width: 6px;
height: 6px;
border-radius: 50%;
background: #FF0E69;
flex-shrink: 0
}

.cnt_us .info_sect {
position: relative;
padding: 64px 0;
background: #fff
}

.cnt_us .info_sect_inner {
display: flex;
flex-direction: row;
gap: 64px;
align-items: flex-start;
position: relative;
z-index: 1
}

.cnt_us .info_left {
flex: 1 1 0;
min-width: 0
}

.cnt_us .info_hdg {
font-size: 28px;
line-height: 1.1;
color: #1b1b2e;
font-weight: 300;
letter-spacing: .04em;
margin: 0 0 32px
}

.cnt_us .info_flow {
display: flex;
flex-direction: column;
gap: 0;
position: relative
}

.cnt_us .info_flow::before {
content: '';
position: absolute;
left: 11px;
top: 24px;
bottom: 24px;
width: 1px;
background: linear-gradient(to bottom, #ff0e694d, #a539ed4d);
pointer-events: none
}

.cnt_us .flow_item {
display: flex;
flex-direction: row;
gap: 32px;
align-items: flex-start;
padding: 16px 0;
position: relative
}

.cnt_us .flow_dot_wrap {
display: flex;
flex-direction: column;
align-items: center;
flex-shrink: 0;
width: 24px;
padding-top: 4px
}

.cnt_us .flow_dot {
width: 12px;
height: 12px;
border-radius: 50%;
background: #fff;
border: 2px solid #FF0E69;
flex-shrink: 0;
transition: background .1s ease-out
}

.cnt_us .flow_item:hover .flow_dot {
background: #FF0E69
}

.cnt_us .flow_body {
flex: 1 1 0;
min-width: 0
}

.cnt_us .flow_lbl {
font-size: 15px;
line-height: 1.5;
color: #A539ED;
font-weight: 600;
margin: 0 0 8px
}

.cnt_us .flow_val {
font-size: 15px;
line-height: 1.9;
color: #3a3a52;
margin: 0
}

.cnt_us .flow_val a {
color: #3a3a52;
text-decoration: none;
position: relative
}

.cnt_us .flow_val a::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
right: 50%;
height: 1px;
background: #FF0E69;
transition: left .12s ease-out, right .12s ease-out
}

.cnt_us .flow_val a:hover {
color: #FF0E69
}

.cnt_us .flow_val a:hover::after {
left: 0;
right: 0
}

.cnt_us .info_right {
width: 380px;
flex-shrink: 0
}

.cnt_us .info_img_wrap {
position: relative;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 5px 14px -2px #a539ed17
}

.cnt_us .info_img_wrap img {
width: 380px;
height: 320px;
object-fit: cover;
display: block;
transition: filter .12s ease-out
}

.cnt_us .info_img_wrap:hover img {
filter: brightness(0.88) saturate(1.1)
}

.cnt_us .info_img_cap {
position: absolute;
bottom: 0;
left: 0;
right: 0;
padding: 16px;
background: linear-gradient(323deg, #a539edd9 0%, #ff0e69b3 100%);
border-radius: 0 0 16px 16px
}

.cnt_us .info_img_cap_txt {
font-size: 15px;
line-height: 1.5;
color: #fff;
margin: 0;
font-weight: 600
}

.cnt_us .info_note {
margin: 32px 0 0;
padding: 16px;
border-radius: 3px;
background: linear-gradient(323deg, #ff0e690a 0%, #a539ed0f 100%)
}

.cnt_us .info_note_txt {
font-size: 15px;
line-height: 1.9;
color: #5a5a7a;
margin: 0
}

@media (max-width: 960px) {
.cnt_us .pg_open_inner {
flex-direction: column;
gap: 32px
}

.cnt_us .pg_open_aside {
width: 100%
}

.cnt_us .open_img_wrap img {
width: 100%;
height: 300px
}

.cnt_us .open_img_wrap {
width: 100%
}

.cnt_us .form_sect_inner {
flex-direction: column;
gap: 32px
}

.cnt_us .form_side_note {
width: 100%;
padding-top: 0
}

.cnt_us .info_sect_inner {
flex-direction: column;
gap: 32px
}

.cnt_us .info_right {
width: 100%
}

.cnt_us .info_img_wrap img {
width: 100%;
height: 260px
}

.cnt_us .info_img_wrap {
width: 100%
}

.cnt_us .open_hdg {
font-size: 28px
}

.cnt_us .field_row {
flex-direction: column;
gap: 16px
}
}

@media (max-width: 480px) {
.cnt_us .pg_band {
padding: 0 16px
}

.cnt_us .pg_open {
padding: 32px 0
}

.cnt_us .form_sect {
padding: 32px 0
}

.cnt_us .info_sect {
padding: 32px 0
}

.cnt_us .open_hdg {
font-size: 28px
}

.cnt_us .budget_opts {
flex-direction: column;
gap: 8px
}

.cnt_us .open_counter_row {
flex-wrap: wrap;
gap: 16px
}

.cnt_us .submit_btn {
width: 100%;
text-align: center
}
}

@media (min-width: 1440px) {
.cnt_us .open_hdg {
font-size: 68px
}
}

.spk {
background: #fff;
overflow-x: clip
}

.spk .pg_band {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px
}

.spk .ttl_strip {
padding: 64px 32px 32px;
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
gap: 32px;
position: relative
}

.spk .ttl_strip::before {
content: '';
position: absolute;
top: 0;
left: 80px;
width: 180px;
height: 180px;
background: #FF0E69;
border-radius: 50%;
opacity: .07;
filter: blur(48px);
pointer-events: none
}

.spk .ttl_strip::after {
content: '';
position: absolute;
top: 32px;
right: 120px;
width: 140px;
height: 140px;
background: #A539ED;
border-radius: 50%;
opacity: .06;
filter: blur(40px);
pointer-events: none
}

.spk .ttl_img_wrap {
flex: 0 0 auto;
width: 200px;
height: 148px;
border-radius: 16px;
overflow: hidden;
position: relative
}

.spk .ttl_img_wrap img {
width: 200px;
height: 148px;
object-fit: cover;
filter: saturate(0.6) brightness(0.9) hue-rotate(0deg);
opacity: .88;
display: block
}

.spk .ttl_txt {
flex: 1 1 auto
}

.spk .ttl_eyebrow {
font-size: 15px;
line-height: 1.5;
color: #FF0E69;
font-weight: 600;
margin: 0 0 8px;
letter-spacing: .04em
}

.spk .ttl_h {
font-size: 52px;
line-height: 1.1;
font-weight: 300;
color: #1a1200;
margin: 0;
color: #18100a
}

.spk .ttl_h span {
color: #A539ED;
font-weight: 700
}

.spk .chev_div {
width: 100%;
overflow: hidden;
line-height: 0;
margin-top: 8px
}

.spk .chev_div svg {
display: block;
width: 100%
}

.spk .posts_area {
padding: 64px 32px;
max-width: 1200px;
margin: 0 auto
}

.spk .posts_grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 32px
}

.spk .post_card {
border-radius: 16px;
background: #fff;
box-shadow: 0 5px 14px -2px #a539ed17;
overflow: hidden;
display: flex;
flex-direction: column;
transition: box-shadow .12s ease-out;
position: relative
}

.spk .post_card:hover {
box-shadow: 0 9px 36px -2px #a539ed24
}

.spk .post_card::before {
content: '';
position: absolute;
inset: 0;
border-radius: 16px;
box-shadow: 0 0 0 0 #ff0e6900;
transition: box-shadow .14s ease-out;
pointer-events: none;
z-index: 1
}

.spk .post_card:hover::before {
box-shadow: 0 0 18px 4px #ff0e691a
}

.spk .post_img_box {
width: 100%;
height: 200px;
overflow: hidden;
position: relative;
background: #f0eaf6
}

.spk .post_img_box img {
width: 100%;
height: 200px;
object-fit: cover;
display: block;
opacity: .92;
transition: opacity .12s ease-out
}

.spk .post_card:hover .post_img_box img {
opacity: 1
}

.spk .post_body {
padding: 32px;
flex: 1 1 auto;
display: flex;
flex-direction: column;
gap: 16px
}

.spk .post_ttl {
font-size: 28px;
line-height: 1.1;
font-weight: 300;
color: #18100a;
margin: 0
}

.spk .post_desc {
font-size: 15px;
line-height: 1.9;
color: #3d2d20;
margin: 0;
flex: 1 1 auto
}

.spk .post_desc::first-letter {
font-size: 28px;
line-height: 1.1;
color: #FF0E69;
font-weight: 700;
float: left;
margin-right: 6px;
margin-top: 2px
}

.spk .post_link {
display: inline-block;
font-size: 15px;
line-height: 1.5;
color: #A539ED;
font-weight: 600;
text-decoration: none;
position: relative;
padding: 8px 16px;
border: 2px solid transparent;
border-radius: 3px;
align-self: flex-start;
transition: color .1s ease-out
}

.spk .post_link::after {
content: '';
position: absolute;
inset: 0;
border-radius: 3px;
border: 2px solid #A539ED;
clip-path: inset(0 100% 0 0);
transition: clip-path .14s ease-out
}

.spk .post_link:hover::after {
clip-path: inset(0 0% 0 0)
}

.spk .post_link:hover {
color: #FF0E69
}

.spk .post_link:focus-visible {
outline: 2px solid #FF0E69;
outline-offset: 2px
}

.spk .chk_mark {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 15px;
line-height: 1.5;
color: #3d2d20
}

.spk .chk_mark .ico_yes {
flex: 0 0 auto;
width: 18px;
height: 18px;
display: inline-flex;
align-items: center;
justify-content: center
}

.spk .chev_div2 {
width: 100%;
overflow: hidden;
line-height: 0
}

.spk .chev_div2 svg {
display: block;
width: 100%
}

.spk .about_strip {
background: linear-gradient(323deg, #FF0E69 0%, #fff 38%, #fff 62%, #A539ED 100%);
padding: 64px 32px
}

.spk .about_inner {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 220px 1fr;
gap: 64px;
align-items: start
}

.spk .about_aside {
display: flex;
flex-direction: column;
gap: 16px
}

.spk .aside_label {
font-size: 15px;
line-height: 1.5;
color: #FF0E69;
font-weight: 600
}

.spk .aside_note {
font-size: 15px;
line-height: 1.9;
color: #3d2d20;
margin: 0
}

.spk .about_body {
display: flex;
flex-direction: column;
gap: 32px
}

.spk .about_h {
font-size: 28px;
line-height: 1.1;
font-weight: 300;
color: #18100a;
margin: 0
}

.spk .about_p {
font-size: 15px;
line-height: 1.9;
color: #3d2d20;
margin: 0
}

.spk .about_p::first-letter {
font-size: 28px;
line-height: 1.1;
color: #A539ED;
font-weight: 700;
float: left;
margin-right: 6px;
margin-top: 2px
}

.spk .trail_list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 16px;
position: relative
}

.spk .trail_list::before {
content: '';
position: absolute;
left: 8px;
top: 16px;
bottom: 16px;
width: 2px;
background: linear-gradient(180deg, #FF0E69, #A539ED);
opacity: .25
}

.spk .trail_item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding-left: 8px
}

.spk .trail_dot {
flex: 0 0 auto;
width: 16px;
height: 16px;
border-radius: 50%;
background: #fff;
border: 2px solid #A539ED;
margin-top: 4px;
position: relative;
z-index: 2
}

.spk .trail_item.active .trail_dot {
background: #FF0E69;
border-color: #FF0E69
}

.spk .trail_txt {
font-size: 15px;
line-height: 1.5;
color: #3d2d20
}

.spk .zigzag_top {
width: 100%;
overflow: hidden;
line-height: 0
}

.spk .zigzag_top svg {
display: block;
width: 100%
}

.spk .engage_area {
background: #18100a;
padding: 64px 32px;
position: relative;
overflow: hidden
}

.spk .engage_area::before {
content: '';
position: absolute;
inset: 0;
background-image: url(./photo_archive/260223_15.jpg);
background-size: cover;
background-position: center;
opacity: .18;
pointer-events: none
}

.spk .engage_inner {
max-width: 1200px;
margin: 0 auto;
position: relative;
z-index: 2;
display: grid;
grid-template-columns: 1fr 380px;
gap: 64px;
align-items: center
}

.spk .engage_txt {
display: flex;
flex-direction: column;
gap: 32px
}

.spk .engage_eyebrow {
font-size: 15px;
line-height: 1.5;
color: #FF0E69;
font-weight: 600
}

.spk .engage_h {
font-size: 52px;
line-height: 1.1;
font-weight: 300;
color: #fff;
margin: 0
}

.spk .engage_h strong {
color: #A539ED;
font-weight: 700
}

.spk .engage_p {
font-size: 15px;
line-height: 1.9;
color: #c8b8ae;
margin: 0
}

.spk .engage_items {
display: flex;
flex-direction: column;
gap: 16px
}

.spk .eng_item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
border-radius: 16px;
background: #ffffff0a;
border: 1px solid #a539ed2e;
transition: background .1s ease-out, border-color .1s ease-out
}

.spk .eng_item:hover {
background: #ff0e6914;
border-color: #ff0e694d
}

.spk .eng_ico {
flex: 0 0 auto;
width: 40px;
height: 40px;
border-radius: 3px;
background: #a539ed2e;
display: flex;
align-items: center;
justify-content: center
}

.spk .eng_ico svg {
width: 20px;
height: 20px
}

.spk .eng_body {
display: flex;
flex-direction: column;
gap: 8px
}

.spk .eng_ttl {
font-size: 15px;
line-height: 1.5;
font-weight: 700;
color: #fff;
margin: 0
}

.spk .eng_desc {
font-size: 15px;
line-height: 1.5;
color: #c8b8ae;
margin: 0
}

.spk .form_box {
background: #ffffff0d;
border: 1px solid #ffffff1f;
border-radius: 16px;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px
}

.spk .form_ttl {
font-size: 28px;
line-height: 1.1;
font-weight: 300;
color: #fff;
margin: 0
}

.spk .form_box form {
display: flex;
flex-direction: column;
gap: 16px
}

.spk .f_field {
display: flex;
flex-direction: column;
gap: 8px
}

.spk .f_label {
font-size: 15px;
line-height: 1.5;
color: #c8b8ae
}

.spk .f_inp {
background: #ffffff12;
border: 1px solid #ffffff26;
border-radius: 3px;
padding: 8px 16px;
font-size: 15px;
line-height: 1.5;
color: #fff;
outline: none;
transition: border-color .1s ease-out
}

.spk .f_inp::placeholder {
color: #ff0e6973
}

.spk .f_inp:focus {
border-color: #FF0E69
}

.spk .f_btn {
type: submit;
background: #FF0E69;
color: #fff;
border: none;
border-radius: 3px;
padding: 16px 32px;
font-size: 15px;
line-height: 1.5;
font-weight: 600;
cursor: pointer;
position: relative;
overflow: hidden;
transition: background .1s ease-out
}

.spk .f_btn::after {
content: '';
position: absolute;
inset: 0;
border-radius: 3px;
border: 2px solid #fff;
clip-path: inset(0 100% 0 0);
transition: clip-path .14s ease-out;
pointer-events: none
}

.spk .f_btn:hover {
background: #d4005a
}

.spk .f_btn:hover::after {
clip-path: inset(0 0% 0 0)
}

.spk .f_btn:focus-visible {
outline: 2px solid #A539ED;
outline-offset: 2px
}

@keyframes spk_fadein {
from {
opacity: 0;
transform: translateY(24px)
}

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

.spk .ttl_strip {
animation: spk_fadein .5s ease-out both
}

.spk .posts_grid .post_card:nth-child(1) {
animation: spk_fadein .4s ease-out .08s both
}

.spk .posts_grid .post_card:nth-child(2) {
animation: spk_fadein .4s ease-out .16s both
}

.spk .posts_grid .post_card:nth-child(3) {
animation: spk_fadein .4s ease-out .24s both
}

.spk .posts_grid .post_card:nth-child(4) {
animation: spk_fadein .4s ease-out .32s both
}

.spk .about_strip {
animation: spk_fadein .45s ease-out .12s both
}

@media (max-width: 960px) {
.spk .ttl_strip {
flex-direction: column;
align-items: flex-start;
padding: 32px;
gap: 16px
}

.spk .ttl_h {
font-size: 52px
}

.spk .posts_grid {
grid-template-columns: 1fr;
gap: 32px
}

.spk .about_inner {
grid-template-columns: 1fr;
gap: 32px
}

.spk .engage_inner {
grid-template-columns: 1fr;
gap: 32px
}

.spk .engage_h {
font-size: 28px
}
}

@media (max-width: 480px) {
.spk .ttl_strip {
padding: 32px 16px 16px
}

.spk .ttl_h {
font-size: 28px
}

.spk .posts_area {
padding: 32px 16px
}

.spk .about_strip {
padding: 32px 16px
}

.spk .engage_area {
padding: 32px 16px
}

.spk .post_body {
padding: 16px
}

.spk .form_box {
padding: 16px
}

.spk .ttl_img_wrap {
width: 100%;
height: 120px
}

.spk .ttl_img_wrap img {
width: 100%;
height: 120px
}

.spk .post_ttl {
font-size: 15px
}

.spk .posts_grid {
gap: 16px
}
}

@media (min-width: 1440px) {
.spk .ttl_h {
font-size: 68px
}
}

@media (max-width: 960px) {

.spk .ttl_strip,
.spk .posts_grid .post_card,
.spk .about_strip,
.spk .engage_area {
animation: none
}
}

.success_page {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 64px 32px;
background: #fff
}

.success_page .success_wrap {
max-width: 1200px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 32px
}

.success_page .success_icon_ring {
width: 88px;
height: 88px;
border-radius: 16px;
background: linear-gradient(323deg, #FF0E69 0%, #fff0 48%, #A539ED 100%);
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 9px 36px -2px #ff0e6924
}

.success_page .success_icon_ring svg {
display: block
}

.success_page .success_body {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
text-align: center;
max-width: 560px
}

.success_page .success_heading {
font-size: 52px;
line-height: 1.1;
font-weight: 700;
color: #1b1b2e;
margin: 0
}

.success_page .success_heading span {
color: #FF0E69
}

.success_page .success_note {
font-size: 15px;
line-height: 1.9;
color: #3a3a4a;
margin: 0
}

.success_page .success_divider {
width: 48px;
height: 3px;
border-radius: 3px;
background: linear-gradient(323deg, #FF0E69 0%, #fff0 48%, #A539ED 100%)
}

.success_page .success_actions {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
justify-content: center
}

.success_page .btn_primary {
display: inline-block;
font-size: 15px;
line-height: 1.5;
font-weight: 600;
color: #fff;
background: linear-gradient(323deg, #FF0E69 0%, #ff0e6900 48%, #A539ED 100%);
background-color: #FF0E69;
padding: 16px 32px;
border-radius: 3px;
text-decoration: none;
border: 2px solid transparent;
box-shadow: 0 5px 14px -2px #ff0e6917;
position: relative;
overflow: hidden;
transition: box-shadow .12s ease-out, color .1s linear
}

.success_page .btn_primary::before {
content: '';
position: absolute;
inset: 0;
border-radius: 3px;
border: 2px solid #FF0E69;
clip-path: inset(0 100% 0 0);
transition: clip-path .13s ease-out;
pointer-events: none
}

.success_page .btn_primary:hover {
box-shadow: 0 9px 36px -2px #ff0e6924
}

.success_page .btn_primary:hover::before {
clip-path: inset(0 0% 0 0)
}

.success_page .btn_primary:focus-visible {
outline: 2px solid #A539ED;
outline-offset: 3px
}

.success_page .btn_secondary {
display: inline-block;
font-size: 15px;
line-height: 1.5;
font-weight: 600;
color: #FF0E69;
background: transparent;
padding: 16px 32px;
border-radius: 3px;
text-decoration: none;
border: 2px solid #FF0E69;
position: relative;
overflow: hidden;
transition: color .1s linear, background .12s ease-out
}

.success_page .btn_secondary::after {
content: '';
position: absolute;
inset: 0;
border-radius: 3px;
border: 2px solid #A539ED;
clip-path: inset(0 100% 0 0);
transition: clip-path .13s ease-out;
pointer-events: none
}

.success_page .btn_secondary:hover {
color: #A539ED
}

.success_page .btn_secondary:hover::after {
clip-path: inset(0 0% 0 0)
}

.success_page .btn_secondary:focus-visible {
outline: 2px solid #A539ED;
outline-offset: 3px
}

.success_page .success_meta {
display: flex;
flex-direction: row;
gap: 32px;
flex-wrap: wrap;
justify-content: center;
padding: 32px;
background: #f5f3ff;
border-radius: 16px;
box-shadow: 0 1px 6px -2px #a539ed0f;
max-width: 560px;
width: 100%
}

.success_page .meta_item {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
flex: 1;
min-width: 120px
}

.success_page .meta_item_icon {
width: 36px;
height: 36px;
border-radius: 3px;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 1px 6px -2px #a539ed0f
}

.success_page .meta_item_label {
font-size: 15px;
line-height: 1.5;
color: #3a3a4a;
margin: 0;
text-align: center
}

.success_page .meta_item_val {
font-size: 15px;
line-height: 1.5;
font-weight: 700;
color: #A539ED;
margin: 0;
text-align: center
}

@media (max-width: 480px) {
.success_page {
padding: 32px 16px
}

.success_page .success_heading {
font-size: 28px
}

.success_page .success_actions {
flex-direction: column;
width: 100%
}

.success_page .btn_primary,
.success_page .btn_secondary {
text-align: center
}

.success_page .success_meta {
flex-direction: column;
align-items: center;
gap: 16px
}
}

@media (min-width: 481px) and (max-width: 960px) {
.success_page .success_heading {
font-size: 28px
}
}