html,
body {
margin: 0;
padding: 0
}

body {
min-height: 100svh;
overflow-x: hidden;
-webkit-text-size-adjust: 100%;
font-family: 'Red Hat Display', sans-serif
}

.hd-shell {
background: #FBFCEA;
border-bottom: 2px solid #894dc121;
box-shadow: 0 6px 14px -1px #894dc11a;
position: relative;
z-index: 100
}

.hd-top {
max-width: 1500px;
margin: 0 auto;
padding: 24px 48px 16px;
display: flex;
flex-direction: column;
align-items: center;
gap: 16px
}

.hd-brand-mount {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px
}

.hd-logo-hold {
background: #894dc112;
border: 1.5px solid #894dc138;
box-shadow: 0 3px 2px -1px #894dc10d 0 0 0 3px #fbfceae6;
border-radius: 12px;
padding: 8px;
display: flex;
align-items: center;
justify-content: center;
width: 85px;
height: 85px
}

.hd-logo-hold img {
width: 70px;
height: 70px;
object-fit: contain;
display: block
}

.hd-tagline {
font-size: 15px;
line-height: 1.4;
color: #3a1a5c;
font-weight: 400;
letter-spacing: .01em;
text-align: center
}

.hd-tagline strong {
color: #894DC1;
font-weight: 700
}

.hd-accent-bar {
width: 100%;
height: 3px;
background: linear-gradient(90deg, #894DC1 0%, #FD3900 100%);
border-radius: 48px;
max-width: 120px;
margin: 0 auto
}

.hd-nav-shell {
width: 100%;
background: linear-gradient(135deg, #894DC1 0%, #6b35a8 100%);
border-radius: 48px;
padding: 4px 8px;
box-shadow: 0 6px 14px -1px #894dc11a 0 12px 40px -1px #894dc11f
}

.hd-nav {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 4px;
list-style: none;
margin: 0;
padding: 0
}

.hd-nav li {
display: flex
}

.hd-nav li a {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
font-family: 'Red Hat Display', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.4;
color: #fbfceae0;
text-decoration: none;
border-radius: 48px;
min-height: 44px;
transition: background-color .2s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.hd-nav li a:hover {
background: #fbfcea26;
color: #FBFCEA
}

.hd-nav li a:focus {
outline: 2px solid #FD3900;
outline-offset: 2px;
text-decoration: underline
}

.hd-nav li a .material-icons {
font-size: 18px;
opacity: .85
}

.hd-nav li.active-pg a {
background: #fd390038;
color: #FBFCEA;
box-shadow: inset 0 4px 8px #fd39002e
}

@media (max-width: 1024px) {
.hd-top {
padding: 24px 24px 16px
}
}

@media (max-width: 640px) {
.hd-top {
padding: 16px 16px 8px
}

.hd-nav-shell {
border-radius: 12px
}

.hd-nav li a {
padding: 8px 12px;
font-size: 15px
}
}

.ft-shell {
background: #2a0d4a;
color: #FBFCEA;
font-family: 'Red Hat Display', sans-serif
}

.ft-upper {
max-width: 1500px;
margin: 0 auto;
padding: 48px 48px 24px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 48px;
align-items: start
}

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

.ft-name {
font-size: 22px;
font-weight: 700;
line-height: 1.1;
color: #FBFCEA;
letter-spacing: .01em
}

.ft-desc {
font-size: 15px;
line-height: 1.6;
color: #fbfceab8
}

.ft-links-hold {
display: flex;
flex-direction: column;
gap: 8px
}

.ft-links-label {
font-size: 15px;
font-weight: 700;
line-height: 1.4;
color: #894DC1;
text-transform: uppercase;
letter-spacing: .1em;
margin-bottom: 8px
}

.ft-links-hold a {
font-size: 15px;
line-height: 1.6;
color: #fbfceabf;
text-decoration: none;
display: flex;
align-items: center;
gap: 8px;
transition: color .22s cubic-bezier(0.4, 0, 0.2, 1);
min-height: 44px
}

.ft-links-hold a:hover {
color: #FD3900
}

.ft-links-hold a:focus {
text-decoration: underline;
outline: 2px solid #FD3900;
outline-offset: 2px
}

.ft-links-hold a .material-icons {
font-size: 16px;
opacity: .7
}

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

.ft-contact-label {
font-size: 15px;
font-weight: 700;
line-height: 1.4;
color: #894DC1;
text-transform: uppercase;
letter-spacing: .1em;
margin-bottom: 8px
}

.ft-contact-item {
display: flex;
align-items: flex-start;
gap: 8px;
font-size: 15px;
line-height: 1.6;
color: #fbfceab8
}

.ft-contact-item a {
color: #fbfceab8;
text-decoration: none;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ft-contact-item a:hover {
color: #FD3900
}

.ft-contact-item a:focus {
text-decoration: underline;
outline: 2px solid #FD3900;
outline-offset: 2px
}

.ft-contact-item .material-icons {
font-size: 16px;
color: #894DC1;
flex-shrink: 0;
margin-top: 4px
}

.ft-divider {
max-width: 1500px;
margin: 0 auto;
height: 1px;
background: linear-gradient(90deg, transparent 0%, #894dc166 30%, #fd390066 70%, transparent 100%)
}

.ft-bottom-strip {
background: #1a0830;
padding: 24px 48px
}

.ft-bottom-inner {
max-width: 1500px;
margin: 0 auto;
display: flex;
flex-direction: column;
align-items: center;
gap: 16px
}

.ft-logo-hold {
background: #894dc11f;
border: 1.5px solid #894dc14d;
box-shadow: 0 0 0 3px #1a0830cc 0 6px 14px -1px #894dc11a;
border-radius: 12px;
padding: 8px;
display: flex;
align-items: center;
justify-content: center;
width: 80px;
height: 80px
}

.ft-logo-hold img {
width: 65px;
height: 65px;
object-fit: contain;
display: block
}

.ft-legal-links {
display: flex;
flex-wrap: wrap;
gap: 16px;
justify-content: center;
list-style: none;
margin: 0;
padding: 0
}

.ft-legal-links li a {
font-size: 15px;
line-height: 1.4;
color: #fbfcea80;
text-decoration: none;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1);
min-height: 44px;
display: flex;
align-items: center
}

.ft-legal-links li a:hover {
color: #894DC1
}

.ft-legal-links li a:focus {
text-decoration: underline;
outline: 2px solid #FD3900;
outline-offset: 2px
}

.ft-copy {
font-size: 15px;
line-height: 1.4;
color: #fbfcea61;
text-align: center
}

@media (max-width: 1024px) {
.ft-upper {
grid-template-columns: 1fr 1fr;
padding: 48px 24px 24px;
gap: 24px
}

.ft-bottom-strip {
padding: 24px
}
}

@media (max-width: 640px) {
.ft-upper {
grid-template-columns: 1fr;
padding: 24px 16px;
gap: 24px
}

.ft-bottom-strip {
padding: 16px
}
}

.ck-popup {
display: none;
position: fixed;
top: 24px;
left: 24px;
z-index: 4000;
max-width: 420px;
width: calc(100vw - 48px);
background: #FBFCEA;
border: 1.5px solid #894dc138;
border-radius: 12px;
box-shadow: 0 12px 40px -1px #894dc11f 0 6px 14px -1px #894dc11a;
padding: 24px;
opacity: 0;
transition: opacity .26s cubic-bezier(0.4, 0, 0.2, 1);
pointer-events: none
}

.ck-popup.visible {
opacity: 1;
pointer-events: auto
}

.ck-icon-row {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 16px
}

.ck-icon-row .material-icons {
font-size: 22px;
color: #894DC1
}

.ck-body {
font-family: 'Red Hat Display', sans-serif;
font-size: 15px;
line-height: 1.6;
color: #2a0d4a;
margin-bottom: 16px
}

.ck-btns {
display: flex;
gap: 8px;
flex-wrap: wrap
}

.ck-btn-accept {
font-family: 'Red Hat Display', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.4;
color: #FBFCEA;
background: linear-gradient(135deg, #894DC1 0%, #FD3900 100%);
border: none;
border-radius: 48px;
padding: 8px 24px;
cursor: pointer;
min-height: 44px;
transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 6px 14px -1px #894dc11a
}

.ck-btn-accept:hover {
transform: scale(1.04);
box-shadow: 0 12px 40px -1px #894dc11f
}

.ck-btn-accept:focus {
outline: 2px solid #FD3900;
outline-offset: 2px
}

.ck-btn-decline {
font-family: 'Red Hat Display', sans-serif;
font-size: 15px;
font-weight: 400;
line-height: 1.4;
color: #894DC1;
background: transparent;
border: 1.5px solid #894dc159;
border-radius: 48px;
padding: 8px 24px;
cursor: pointer;
min-height: 44px;
transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1), background-color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.ck-btn-decline:hover {
transform: scale(1.04);
background: #894dc112
}

.ck-btn-decline:focus {
outline: 2px solid #FD3900;
outline-offset: 2px;
text-decoration: underline
}

.legal-inner {
max-width: 1500px;
margin: 0 auto;
padding: 48px 24px;
color: #2a1a3e;
line-height: 1.6;
font-size: 15px
}

.legal-inner h1 {
font-size: 68px;
line-height: 1.1;
color: #894DC1;
margin: 0 0 24px;
letter-spacing: -.5px
}

.legal-inner h2 {
font-size: 38px;
line-height: 1.1;
color: #2a1a3e;
margin: 48px 0 16px;
padding-bottom: 8px;
border-bottom: 2px solid #894DC1
}

.legal-inner h3 {
font-size: 28px;
line-height: 1.4;
color: #2a1a3e;
margin: 24px 0 16px
}

.legal-inner h4 {
font-size: 22px;
line-height: 1.4;
color: #894DC1;
margin: 24px 0 8px
}

.legal-inner h5 {
font-size: 15px;
line-height: 1.4;
color: #2a1a3e;
text-transform: uppercase;
letter-spacing: .08em;
margin: 16px 0 8px
}

.legal-inner h6 {
font-size: 15px;
line-height: 1.4;
color: #894DC1;
text-transform: uppercase;
letter-spacing: .08em;
margin: 16px 0 8px
}

.legal-inner ul {
margin: 16px 0;
padding-left: 24px;
list-style: none
}

.legal-inner ul li {
position: relative;
padding-left: 16px;
margin-bottom: 8px;
line-height: 1.6;
font-size: 15px
}

.legal-inner ul li::before {
content: "";
position: absolute;
left: 0;
top: 9px;
width: 6px;
height: 6px;
border-radius: 48px;
background: #894DC1
}

.legal-inner ol {
margin: 16px 0;
padding-left: 24px;
counter-reset: policy-counter;
list-style: none
}

.legal-inner ol li {
position: relative;
padding-left: 16px;
margin-bottom: 8px;
line-height: 1.6;
font-size: 15px;
counter-increment: policy-counter
}

.legal-inner ol li::before {
content: counter(policy-counter) ".";
position: absolute;
left: -8px;
top: 0;
font-size: 15px;
color: #894DC1;
font-weight: 700;
min-width: 20px
}

.legal-inner ul ul,
.legal-inner ol ol,
.legal-inner ul ol,
.legal-inner ol ul {
margin: 8px 0
}

.legal-inner ul ul li::before {
background: transparent;
border: 2px solid #894DC1;
border-radius: 8px;
width: 5px;
height: 5px;
top: 9px
}

.legal-inner strong,
.legal-inner b {
font-weight: 700;
color: #2a1a3e
}

.legal-inner a {
color: #894DC1;
text-decoration: underline;
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), text-decoration-color .22s cubic-bezier(0.0, 0, 0.2, 1)
}

.legal-inner a:hover {
color: #FD3900;
text-decoration-color: #FD3900
}

.legal-inner a:visited {
color: #6a3a9a
}

.legal-inner table {
width: 100%;
border-collapse: collapse;
margin: 24px 0;
font-size: 15px;
border-radius: 12px;
box-shadow: 0 3px 2px -1px #894dc10d 0 6px 14px -1px #894dc11a;
overflow: hidden
}

.legal-inner thead {
background: #894DC1;
color: #FBFCEA
}

.legal-inner thead th {
padding: 16px;
text-align: left;
font-size: 15px;
font-weight: 700;
letter-spacing: .05em;
text-transform: uppercase;
border: none
}

.legal-inner tbody tr {
transition: background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.legal-inner tbody tr:nth-child(even) {
background: #FBFCEA
}

.legal-inner tbody tr:nth-child(odd) {
background: #fff
}

.legal-inner tbody tr:hover {
background: #894dc10f
}

.legal-inner th,
.legal-inner td {
padding: 16px;
text-align: left;
border-bottom: 1px solid #894dc11f;
font-size: 15px;
line-height: 1.6;
vertical-align: top
}

.legal-inner td strong {
color: #894DC1
}

.legal-inner hr {
border: none;
height: 2px;
background: linear-gradient(90deg, #894DC1, #FD3900, transparent);
margin: 48px 0;
border-radius: 48px
}

.legal-inner div {
margin-bottom: 16px
}

.legal-inner div p {
margin: 0 0 16px;
font-size: 15px;
line-height: 1.6;
color: #2a1a3e
}

@media (max-width: 1024px) {
.legal-inner {
padding: 48px 24px
}

.legal-inner h1 {
font-size: 38px
}

.legal-inner h2 {
font-size: 28px
}

.legal-inner h3 {
font-size: 22px
}

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

@media (max-width: 640px) {
.legal-inner {
padding: 24px 16px
}

.legal-inner h1 {
font-size: 28px;
line-height: 1.1
}

.legal-inner h2 {
font-size: 22px;
margin: 24px 0 16px
}

.legal-inner h3 {
font-size: 22px
}

.legal-inner h4 {
font-size: 15px
}

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

.legal-inner hr {
margin: 24px 0
}
}

.srvd {
display: block;
width: 100%;
max-width: 100%;
overflow-x: clip
}

.srvd .pg-wrap {
max-width: 1500px;
margin: 0 auto;
padding: 0 24px
}

.srvd .drop-letters span {
display: inline-block;
opacity: 0;
transform: translateY(-32px);
animation: letter-drop .24s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

@keyframes letter-drop {
to {
opacity: 1;
transform: translateY(0)
}
}

.srvd .underline-key {
position: relative;
display: inline-block
}

.srvd .underline-key::after {
content: '';
position: absolute;
left: 0;
bottom: -3px;
width: 0;
height: 2px;
background: #FD3900;
animation: ul-draw .28s cubic-bezier(0.0, 0, 0.2, 1) .6s forwards
}

@keyframes ul-draw {
to {
width: 100%
}
}

.srvd .blob {
position: absolute;
border-radius: 48px;
filter: blur(48px);
pointer-events: none;
z-index: 0
}

.srvd .title-blk {
position: relative;
background: linear-gradient(112deg, #894DC1 0%, #FD3900 100%);
padding: 48px 0;
overflow: hidden
}

.srvd .title-blk .blob-a {
width: 320px;
height: 200px;
background: #894dc161;
top: -40px;
left: -60px
}

.srvd .title-blk .blob-b {
width: 260px;
height: 180px;
background: #fd390047;
bottom: -30px;
right: -40px
}

.srvd .title-blk .img-tint {
position: absolute;
inset: 0;
z-index: 1;
overflow: hidden
}

.srvd .title-blk .img-tint img {
width: 100%;
height: 100%;
object-fit: cover;
opacity: .13;
display: block
}

.srvd .title-blk .t-inner {
position: relative;
z-index: 2;
max-width: 1500px;
margin: 0 auto;
padding: 0 24px
}

.srvd .title-blk .meta-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
flex-wrap: wrap;
margin-bottom: 24px
}

.srvd .title-blk .tag {
background: #fbfcea2e;
color: #FBFCEA;
font-size: 15px;
line-height: 1.4;
padding: 4px 16px;
border-radius: 48px;
letter-spacing: .08em;
text-transform: uppercase;
border: 1px solid #fbfcea52
}

.srvd .title-blk .meta-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
color: #fbfcead1;
font-size: 15px;
line-height: 1.4
}

.srvd .title-blk .meta-item .material-icons {
font-size: 18px;
color: #FBFCEA
}

.srvd .t-h1 {
font-size: 68px;
line-height: 1.1;
color: #FBFCEA;
font-style: italic;
text-align: center;
margin: 0 0 24px
}

.srvd .t-sub {
font-size: 22px;
line-height: 1.6;
color: #fbfceae0;
text-align: left;
max-width: 680px
}

.srvd .t-h1 .accent-first {
color: #FBFCEA;
background: #fd390061;
border-radius: 8px;
padding: 0 8px
}

.srvd .title-blk .stats-row {
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 24px;
flex-wrap: wrap
}

.srvd .title-blk .stat-pill {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
background: #fbfcea21;
border: 1px solid #fbfcea38;
border-radius: 12px;
padding: 8px 16px;
color: #FBFCEA;
font-size: 15px;
line-height: 1.4
}

.srvd .title-blk .stat-pill .material-icons {
font-size: 20px;
color: #FBFCEA
}

.srvd .grad-divider {
height: 2px;
background: linear-gradient(90deg, transparent 0%, #894DC1 40%, #FD3900 60%, transparent 100%);
border: none;
margin: 0
}

.srvd .prog-blk {
background: #FBFCEA;
padding: 48px 0
}

.srvd .prog-blk .prog-grid {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 48px;
align-items: start
}

.srvd .prog-blk .prog-h2 {
font-size: 38px;
line-height: 1.1;
color: #894DC1;
font-style: italic;
text-align: center;
margin: 0 0 24px
}

.srvd .prog-blk .prog-body {
font-size: 15px;
line-height: 1.6;
color: #2a1040
}

.srvd .prog-blk .prog-body p {
margin: 0 0 16px
}

.srvd .prog-blk .prog-body h2 {
font-size: 22px;
line-height: 1.4;
color: #894DC1;
margin: 24px 0 8px;
font-style: italic
}

.srvd .prog-blk .prog-body h3 {
font-size: 22px;
line-height: 1.4;
color: #2a1040;
margin: 16px 0 8px
}

.srvd .prog-blk .prog-body ul {
padding-left: 24px;
margin: 0 0 16px
}

.srvd .prog-blk .prog-body li {
margin-bottom: 8px
}

.srvd .prog-blk .prog-body mark {
background: #894dc126;
color: #2a1040;
border-radius: 4px;
padding: 0 4px
}

.srvd .prog-blk .prog-body blockquote {
border-top: 2px solid #894DC1;
border-bottom: 2px solid #FD3900;
padding: 16px 24px;
margin: 24px 0;
color: #894DC1;
font-size: 22px;
line-height: 1.4;
font-style: italic
}

.srvd .prog-blk .prog-body figure {
margin: 24px 0
}

.srvd .prog-blk .prog-body figcaption {
font-size: 15px;
color: #894DC1;
margin-top: 8px
}

.srvd .price-card {
background: linear-gradient(160deg, #894DC1 0%, #FD3900 100%);
border-radius: 12px;
padding: 24px;
box-shadow: 0 12px 40px -1px #894dc11f;
position: sticky;
top: 24px;
color: #FBFCEA
}

.srvd .price-card .pc-label {
font-size: 15px;
line-height: 1.4;
text-transform: uppercase;
letter-spacing: .1em;
color: #fbfceab8;
margin-bottom: 8px
}

.srvd .price-card .pc-price {
font-size: 38px;
line-height: 1.1;
color: #FBFCEA;
font-style: italic;
margin-bottom: 4px
}

.srvd .price-card .pc-terms {
font-size: 15px;
line-height: 1.4;
color: #fbfceac7;
margin-bottom: 16px
}

.srvd .price-card .pc-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
padding: 8px 0;
border-bottom: 1px solid #fbfcea29;
font-size: 15px;
line-height: 1.4;
color: #fbfceae0
}

.srvd .price-card .pc-row .material-icons {
font-size: 18px;
color: #FBFCEA
}

.srvd .price-card .pc-row:last-of-type {
border-bottom: none
}

.srvd .price-card .enroll-btn {
display: block;
width: 100%;
margin-top: 24px;
padding: 16px;
background: #FBFCEA;
color: #894DC1;
font-size: 15px;
line-height: 1.4;
font-style: italic;
letter-spacing: .06em;
text-transform: uppercase;
border: none !important;
border-radius: 48px;
cursor: pointer;
text-align: center;
text-decoration: none;
box-shadow: 0 6px 14px -1px #894dc11a;
transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvd .price-card .enroll-btn:hover {
transform: scale(1.04);
box-shadow: 0 12px 40px -1px #894dc12e
}

.srvd .price-card .enroll-btn:focus {
outline: 3px solid #FBFCEA;
outline-offset: 2px
}

.srvd .price-card .seats-warn {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-top: 16px;
background: #fd390038;
border-radius: 8px;
padding: 8px 16px;
font-size: 15px;
line-height: 1.4;
color: #FBFCEA
}

.srvd .price-card .seats-warn .material-icons {
font-size: 18px
}

.srvd .desc-blk {
background: linear-gradient(100deg, #894DC1 0%, #f5f0ff 100%);
padding: 48px 0
}

.srvd .desc-blk .desc-h2 {
font-size: 38px;
line-height: 1.1;
color: #FBFCEA;
font-style: italic;
text-align: center;
margin: 0 0 24px
}

.srvd .desc-blk .desc-cols {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.srvd .desc-blk .desc-col {
font-size: 15px;
line-height: 1.6;
color: #2a1040
}

.srvd .desc-blk .desc-col p {
margin: 0 0 16px
}

.srvd .desc-blk .desc-col h2 {
font-size: 22px;
line-height: 1.4;
color: #894DC1;
margin: 0 0 8px;
font-style: italic
}

.srvd .desc-blk .desc-col strong {
color: #2a1040;
font-weight: 700
}

.srvd .desc-blk .desc-col mark {
background: #fd39002e;
color: #2a1040;
border-radius: 4px;
padding: 0 4px
}

.srvd .desc-blk .desc-col ul {
padding-left: 24px;
margin: 0 0 16px
}

.srvd .desc-blk .desc-col li {
margin-bottom: 8px
}

.srvd .desc-blk .desc-col blockquote {
border-top: 2px solid #FD3900;
padding: 16px 24px;
margin: 16px 0;
color: #894DC1;
font-size: 22px;
line-height: 1.4;
font-style: italic;
background: #fbfcea99;
border-radius: 8px
}

.srvd .desc-blk .desc-col details {
background: #fbfceab3;
border-radius: 8px;
padding: 8px 16px;
margin-bottom: 8px
}

.srvd .desc-blk .desc-col summary {
cursor: pointer;
font-size: 15px;
line-height: 1.4;
color: #894DC1;
font-style: italic;
padding: 4px 0;
outline: none
}

.srvd .desc-blk .desc-col summary:focus {
outline: 2px solid #894DC1;
border-radius: 4px
}

.srvd .extras-blk {
background: #fff;
padding: 48px 0
}

.srvd .extras-blk .extras-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px;
align-items: start
}

.srvd .extras-blk .ext-card {
border-radius: 12px;
padding: 24px;
box-shadow: 0 6px 14px -1px #894dc11a;
background: #FBFCEA;
position: relative;
overflow: hidden;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvd .extras-blk .ext-card::after {
content: '';
position: absolute;
bottom: 0;
right: 0;
width: 60px;
height: 60px;
background: linear-gradient(135deg, transparent 50%, #894dc124 50%);
border-radius: 0 0 12px 0;
transition: width .24s cubic-bezier(0.4, 0, 0.2, 1), height .24s cubic-bezier(0.4, 0, 0.2, 1);
pointer-events: none
}

.srvd .extras-blk .ext-card:hover::after {
width: 90px;
height: 90px
}

.srvd .extras-blk .ext-card:hover {
box-shadow: 0 12px 40px -1px #894dc11f
}

.srvd .extras-blk .ext-card .ec-icon {
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, #894DC1 0%, #FD3900 100%);
border-radius: 12px;
margin-bottom: 16px
}

.srvd .extras-blk .ext-card .ec-icon .material-icons {
font-size: 22px;
color: #FBFCEA
}

.srvd .extras-blk .ext-card .ec-h {
font-size: 22px;
line-height: 1.4;
color: #2a1040;
font-style: italic;
margin: 0 0 8px
}

.srvd .extras-blk .ext-card .ec-p {
font-size: 15px;
line-height: 1.6;
color: #3a2060;
margin: 0
}

.srvd .extras-blk .poll-card {
border-radius: 12px;
padding: 24px;
background: linear-gradient(160deg, #894DC1 0%, #FD3900 100%);
box-shadow: 0 6px 14px -1px #fd39001a;
grid-column: span 2
}

.srvd .extras-blk .poll-card .poll-h {
font-size: 22px;
line-height: 1.4;
color: #FBFCEA;
font-style: italic;
margin: 0 0 16px
}

.srvd .extras-blk .poll-card .poll-sub {
font-size: 15px;
line-height: 1.4;
color: #fbfceacc;
margin: 0 0 16px
}

.srvd .poll-opts {
display: flex;
flex-direction: column;
gap: 8px
}

.srvd .poll-opts label {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
background: #fbfcea21;
border: 2px solid #fbfcea38;
border-radius: 8px;
padding: 12px 16px;
cursor: pointer;
font-size: 15px;
line-height: 1.4;
color: #FBFCEA;
transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), border-color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvd .poll-opts input[type="radio"] {
appearance: none;
-webkit-appearance: none;
width: 20px;
height: 20px;
border-radius: 48px;
border: 2px solid #fbfcea99;
background: transparent;
flex-shrink: 0;
cursor: pointer;
transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvd .poll-opts input[type="radio"]:checked {
background: #FBFCEA;
border-color: #FBFCEA;
box-shadow: inset 0 0 0 5px #894DC1
}

.srvd .poll-opts label:has(input[type="radio"]:checked) {
background: #fbfcea47;
border-color: #FBFCEA
}

.srvd .poll-opts input[type="radio"]:focus {
outline: 2px solid #FBFCEA;
outline-offset: 2px
}

.srvd .err-link-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-top: 24px
}

.srvd .err-link-row a {
font-size: 15px;
line-height: 1.4;
color: #894DC1;
text-decoration: underline;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvd .err-link-row a:hover {
color: #FD3900
}

.srvd .err-link-row .material-icons {
font-size: 18px;
color: #894DC1
}

.srvd .before-after-row {
display: flex;
flex-direction: row;
gap: 16px;
margin-top: 24px;
flex-wrap: wrap
}

.srvd .ba-num {
flex: 1;
min-width: 120px;
border-radius: 12px;
padding: 16px 24px;
text-align: center
}

.srvd .ba-num.before {
background: #894dc11a;
border: 1px solid #894dc138
}

.srvd .ba-num.after {
background: linear-gradient(135deg, #894DC1 0%, #FD3900 100%)
}

.srvd .ba-num .ba-val {
font-size: 38px;
line-height: 1.1;
font-style: italic;
display: block
}

.srvd .ba-num.before .ba-val {
color: #894DC1
}

.srvd .ba-num.after .ba-val {
color: #FBFCEA
}

.srvd .ba-num .ba-label {
font-size: 15px;
line-height: 1.4;
display: block;
margin-top: 4px
}

.srvd .ba-num.before .ba-label {
color: #3a2060
}

.srvd .ba-num.after .ba-label {
color: #fbfceae0
}

.srvd .curved-line {
display: block;
width: 100%;
height: 32px;
overflow: hidden
}

.srvd .curved-line svg {
width: 100%;
height: 32px
}

@media (max-width: 1024px) {
.srvd .prog-blk .prog-grid {
grid-template-columns: 1fr;
gap: 24px
}

.srvd .price-card {
position: static
}

.srvd .desc-blk .desc-cols {
grid-template-columns: 1fr
}

.srvd .extras-blk .extras-grid {
grid-template-columns: 1fr 1fr
}

.srvd .extras-blk .poll-card {
grid-column: span 2
}

.srvd .t-h1 {
font-size: 38px
}
}

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

.srvd .extras-blk .poll-card {
grid-column: span 1
}

.srvd .t-h1 {
font-size: 28px
}

.srvd .title-blk .stats-row {
gap: 8px
}

.srvd .before-after-row {
flex-direction: column
}

.srvd .prog-blk .prog-h2 {
font-size: 28px
}

.srvd .desc-blk .desc-h2 {
font-size: 28px
}
}

.evts {
background: #fff;
overflow-x: clip;
padding: 0
}

.evts .ed-band {
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 4px;
background: linear-gradient(180deg, #894DC1 0%, #FD3900 100%);
border-radius: 0 2px 2px 0
}

.evts .pg-top {
position: relative;
background: #FBFCEA;
padding: 48px 48px 48px 52px;
max-width: 1500px;
margin: 0 auto
}

.evts .pg-top .geo-a {
position: absolute;
top: 24px;
right: 80px;
width: 120px;
height: 120px;
border: 2px solid #894dc11f;
border-radius: 48px;
pointer-events: none
}

.evts .pg-top .geo-b {
position: absolute;
bottom: 24px;
right: 40px;
width: 64px;
height: 64px;
border: 1.5px solid #fd39001a;
border-radius: 12px;
transform: rotate(22deg);
pointer-events: none
}

.evts .pg-top .geo-c {
position: absolute;
top: 48px;
right: 160px;
width: 32px;
height: 32px;
background: #894dc10f;
border-radius: 8px;
pointer-events: none
}

.evts .top-kicker {
display: inline-block;
font-size: 15px;
font-weight: 700;
letter-spacing: .12em;
text-transform: uppercase;
color: #FD3900;
margin-bottom: 16px
}

.evts .top-h1 {
font-size: 68px;
line-height: 1.1;
font-weight: 900;
color: #1b0a2e;
margin: 0 0 8px;
max-width: 820px
}

.evts .top-h1 .acc-word {
color: #894DC1;
font-style: italic;
position: relative;
display: inline-block
}

.evts .top-h1 .acc-word::after {
content: '';
position: absolute;
left: 0;
bottom: -4px;
height: 3px;
width: 0;
background: linear-gradient(90deg, #894DC1, #FD3900);
border-radius: 2px;
animation: uline .72s cubic-bezier(0.4, 0, 0.2, 1) .3s forwards
}

@keyframes uline {
to {
width: 100%
}
}

.evts .top-sub {
font-size: 22px;
line-height: 1.4;
color: #3a2050;
max-width: 560px;
margin: 16px 0 0
}

.evts .top-meta {
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 24px;
flex-wrap: wrap
}

.evts .top-meta .mt-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 15px;
color: #4a2e6e
}

.evts .top-meta .mt-item .mi {
font-size: 18px;
color: #894DC1
}

.evts .curve-link {
position: relative;
display: inline-block;
margin-top: 24px
}

.evts .curve-link svg {
display: block;
overflow: visible
}

.evts .div-fade {
height: 32px;
background: linear-gradient(180deg, #FBFCEA 0%, transparent 100%);
max-width: 1500px;
margin: 0 auto
}

.evts .ev-list {
position: relative;
max-width: 1500px;
margin: 0 auto;
padding: 48px 48px 48px 52px
}

.evts .ev-list .sec-band {
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 4px;
background: linear-gradient(180deg, #FD3900 0%, #894DC1 60%, transparent 100%);
border-radius: 0 2px 2px 0
}

.evts .ev-list-hd {
text-align: center;
margin-bottom: 48px
}

.evts .ev-list-hd h2 {
font-size: 38px;
line-height: 1.1;
font-weight: 800;
color: #1b0a2e;
font-style: italic;
margin: 0 0 8px
}

.evts .ev-list-hd .hd-sub {
font-size: 15px;
line-height: 1.6;
color: #4a2e6e;
text-align: left;
max-width: 480px;
display: block
}

.evts .ev-grid {
display: grid;
grid-template-columns: 1fr 1.4fr 1.8fr;
gap: 24px;
align-items: start
}

.evts .ev-card {
background: #fff;
border-radius: 12px;
box-shadow: 0 6px 14px -1px #894dc11a;
overflow: hidden;
display: flex;
flex-direction: column;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), transform .22s cubic-bezier(0.4, 0, 0.2, 1);
clip-path: inset(0 0 100% 0);
animation: reveal-down .56s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

.evts .ev-card:nth-child(2) {
animation-delay: .12s
}

.evts .ev-card:nth-child(3) {
animation-delay: .24s
}

@keyframes reveal-down {
to {
clip-path: inset(0 0 0% 0)
}
}

.evts .ev-card:hover {
box-shadow: 0 12px 40px -1px #894dc11f;
transform: translateY(-4px)
}

.evts .ev-card .card-img {
width: 100%;
aspect-ratio: 16/9;
overflow: hidden;
position: relative
}

.evts .ev-card .card-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: filter .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.evts .ev-card:hover .card-img img {
filter: brightness(0.92) saturate(1.1)
}

.evts .ev-card .card-img .img-grain {
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23g)' opacity='0.08'/%3E%3C/svg%3E");
pointer-events: none;
border-radius: 0
}

.evts .ev-card .card-body {
padding: 24px;
flex: 1;
display: flex;
flex-direction: column;
gap: 8px
}

.evts .ev-card .card-tag {
font-size: 15px;
font-weight: 700;
letter-spacing: .09em;
text-transform: uppercase;
color: #FD3900
}

.evts .ev-card h3 {
font-size: 22px;
line-height: 1.4;
font-weight: 800;
color: #1b0a2e;
margin: 0
}

.evts .ev-card .card-desc {
font-size: 15px;
line-height: 1.6;
color: #3a2050;
margin: 0
}

.evts .ev-card .card-meta {
display: flex;
flex-direction: column;
gap: 4px;
margin-top: 8px
}

.evts .ev-card .card-meta .cm-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 15px;
color: #4a2e6e
}

.evts .ev-card .card-meta .cm-row .mi {
font-size: 16px;
color: #894DC1
}

.evts .ev-card .card-foot {
padding: 0 24px 24px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 16px
}

.evts .ev-card .price-tag {
font-size: 22px;
font-weight: 900;
color: #1b0a2e
}

.evts .ev-card .price-tag span {
font-size: 15px;
font-weight: 500;
color: #894DC1;
margin-left: 4px
}

.evts .btn-reg {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 24px;
border-radius: 8px;
font-size: 15px;
font-weight: 700;
background: linear-gradient(120deg, #894DC1 0%, #FD3900 100%);
color: #fff;
border: none;
cursor: pointer;
text-decoration: none;
transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 3px 2px -1px #894dc10d
}

.evts .btn-reg:hover {
transform: scale(1.04);
box-shadow: 0 6px 14px -1px #894dc11a
}

.evts .btn-reg:focus {
outline: 3px solid #894DC1;
outline-offset: 3px
}

.evts .btn-reg:active {
transform: scale(0.98)
}

.evts .feat-card {
grid-column: 3;
background: linear-gradient(135deg, #1b0a2e 0%, #3a1060 100%);
border-radius: 12px;
box-shadow: 0 12px 40px -1px #894dc11f;
overflow: hidden;
display: flex;
flex-direction: column;
position: relative;
clip-path: inset(0 0 100% 0);
animation: reveal-down .56s cubic-bezier(0.4, 0, 0.2, 1) .24s forwards;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.evts .feat-card:hover {
box-shadow: 0 12px 40px -1px #fd39001f;
transform: translateY(-6px)
}

.evts .feat-card .fc-badge {
position: absolute;
top: 16px;
right: 16px;
background: #FD3900;
color: #fff;
font-size: 15px;
font-weight: 700;
padding: 4px 16px;
border-radius: 48px;
letter-spacing: .06em;
text-transform: uppercase;
z-index: 2
}

.evts .feat-card .fc-img {
width: 100%;
aspect-ratio: 16/9;
overflow: hidden;
position: relative
}

.evts .feat-card .fc-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
opacity: .72;
transition: opacity .24s cubic-bezier(0.0, 0, 0.2, 1)
}

.evts .feat-card:hover .fc-img img {
opacity: .85
}

.evts .feat-card .fc-body {
padding: 24px;
flex: 1;
display: flex;
flex-direction: column;
gap: 8px
}

.evts .feat-card .fc-tag {
font-size: 15px;
font-weight: 700;
letter-spacing: .09em;
text-transform: uppercase;
color: #FD3900
}

.evts .feat-card h3 {
font-size: 28px;
line-height: 1.4;
font-weight: 900;
color: #FBFCEA;
margin: 0;
font-style: italic
}

.evts .feat-card .fc-desc {
font-size: 15px;
line-height: 1.6;
color: #fbfcead1;
margin: 0
}

.evts .feat-card .fc-meta {
display: flex;
flex-direction: column;
gap: 4px;
margin-top: 8px
}

.evts .feat-card .fc-meta .fm-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 15px;
color: #fbfceab8
}

.evts .feat-card .fc-meta .fm-row .mi {
font-size: 16px;
color: #894DC1
}

.evts .feat-card .fc-foot {
padding: 0 24px 24px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 16px
}

.evts .feat-card .fc-price {
font-size: 28px;
font-weight: 900;
color: #FBFCEA
}

.evts .feat-card .fc-price span {
font-size: 15px;
font-weight: 500;
color: #fbfcea99;
margin-left: 4px
}

.evts .btn-light {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 24px;
border-radius: 8px;
font-size: 15px;
font-weight: 700;
background: #FBFCEA;
color: #1b0a2e;
border: none;
cursor: pointer;
text-decoration: none;
transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1), background .2s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 3px 2px -1px #fd39000d
}

.evts .btn-light:hover {
transform: scale(1.04);
background: #fff;
box-shadow: 0 6px 14px -1px #fd39001a
}

.evts .btn-light:focus {
outline: 3px solid #FBFCEA;
outline-offset: 3px
}

.evts .btn-light:active {
transform: scale(0.98)
}

.evts .instr-row {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 16px;
margin-top: 48px
}

.evts .instr-item {
background: #FBFCEA;
border-radius: 12px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 8px;
box-shadow: 0 3px 2px -1px #894dc10d;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.evts .instr-item:hover {
box-shadow: 0 6px 14px -1px #894dc11a
}

.evts .instr-item .ii-num {
font-size: 38px;
font-weight: 900;
line-height: 1.1;
background: linear-gradient(120deg, #894DC1, #FD3900);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.evts .instr-item h4 {
font-size: 15px;
font-weight: 700;
color: #1b0a2e;
margin: 0;
text-transform: uppercase;
letter-spacing: .08em
}

.evts .instr-item p {
font-size: 15px;
line-height: 1.6;
color: #3a2050;
margin: 0
}

.evts .speak-strip {
margin-top: 48px;
background: #FBFCEA;
border-radius: 12px;
padding: 24px;
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start;
box-shadow: 0 3px 2px -1px #894dc10d
}

.evts .speak-strip .sp-portraits {
display: flex;
flex-direction: row;
gap: 8px;
flex-shrink: 0
}

.evts .speak-strip .sp-port {
width: 72px;
height: 90px;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 6px 14px -1px #894dc11a;
flex-shrink: 0
}

.evts .speak-strip .sp-port img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
display: block
}

.evts .speak-strip .sp-info {
flex: 1;
display: flex;
flex-direction: column;
gap: 8px
}

.evts .speak-strip .sp-info h4 {
font-size: 22px;
font-weight: 800;
color: #1b0a2e;
margin: 0;
font-style: italic
}

.evts .speak-strip .sp-info p {
font-size: 15px;
line-height: 1.6;
color: #3a2050;
margin: 0
}

.evts .speak-strip .sp-info .sp-names {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap
}

.evts .speak-strip .sp-info .sp-nm {
font-size: 15px;
font-weight: 700;
color: #894DC1
}

.evts .speak-strip .sp-info .sp-nm .sp-role {
font-weight: 400;
color: #4a2e6e;
margin-left: 4px
}

@media (max-width: 1024px) {
.evts .pg-top {
padding: 48px 24px 48px 28px
}

.evts .top-h1 {
font-size: 38px
}

.evts .ev-list {
padding: 48px 24px 48px 28px
}

.evts .ev-grid {
grid-template-columns: 1fr 1fr
}

.evts .feat-card {
grid-column: 1 / -1
}

.evts .instr-row {
grid-template-columns: 1fr 1fr
}

.evts .speak-strip {
flex-direction: column
}
}

@media (max-width: 640px) {
.evts .pg-top {
padding: 24px 16px 24px 20px
}

.evts .top-h1 {
font-size: 28px
}

.evts .top-sub {
font-size: 15px
}

.evts .ev-list {
padding: 24px 16px 24px 20px
}

.evts .ev-grid {
grid-template-columns: 1fr
}

.evts .feat-card {
grid-column: 1
}

.evts .instr-row {
grid-template-columns: 1fr
}

.evts .ev-list-hd h2 {
font-size: 28px
}

.evts .speak-strip .sp-portraits {
flex-wrap: wrap
}
}

.au {
background: #FBFCEA;
overflow-x: clip;
position: relative
}

.au .pg-wrap {
max-width: 1500px;
margin: 0 auto;
padding: 0 48px
}

@media (max-width: 1024px) {
.au .pg-wrap {
padding: 0 24px
}
}

@media (max-width: 640px) {
.au .pg-wrap {
padding: 0 16px
}
}

.au ::selection {
background: #894DC1;
color: #FBFCEA;
font-weight: 700
}

@keyframes diag-fade {
0% {
opacity: 0;
transform: translate(-16px, 16px)
}

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

@keyframes line-draw {
0% {
width: 0
}

100% {
width: 100%
}
}

@keyframes underline-draw {
0% {
transform: scaleX(0);
transform-origin: left
}

100% {
transform: scaleX(1);
transform-origin: left
}
}

.au .reveal-1 {
animation: diag-fade .26s cubic-bezier(0.4, 0, 0.2, 1) .05s both
}

.au .reveal-2 {
animation: diag-fade .26s cubic-bezier(0.4, 0, 0.2, 1) .12s both
}

.au .reveal-3 {
animation: diag-fade .26s cubic-bezier(0.4, 0, 0.2, 1) .19s both
}

.au .reveal-4 {
animation: diag-fade .26s cubic-bezier(0.4, 0, 0.2, 1) .26s both
}

.au .reveal-5 {
animation: diag-fade .26s cubic-bezier(0.4, 0, 0.2, 1) .33s both
}

.au a {
color: #894DC1;
text-decoration: underline;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.au a:hover {
color: #FD3900
}

.au input::placeholder,
.au textarea::placeholder {
text-transform: uppercase;
font-size: 15px;
letter-spacing: .08em;
color: #6a4a8a
}

.au .kw-line {
position: relative;
display: inline-block
}

.au .kw-line::after {
content: '';
position: absolute;
bottom: -3px;
left: 0;
height: 3px;
width: 100%;
background: linear-gradient(105deg, #894DC1, #FD3900);
border-radius: 8px;
animation: underline-draw .28s cubic-bezier(0.0, 0, 0.2, 1) .5s both
}

.au .geo-corner {
position: absolute;
pointer-events: none
}

.au .geo-corner svg {
display: block
}

.au-ident {
position: relative;
padding: 80px 0 64px;
overflow: hidden;
background: #FBFCEA
}

.au-ident .geo-corner.tl {
top: 24px;
left: 24px
}

.au-ident .geo-corner.br {
bottom: 24px;
right: 24px
}

.au-ident .ident-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: start
}

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

.au-ident .ident-text {
padding: 48px 0 0
}

.au-ident .ident-label {
display: inline-block;
font-size: 15px;
letter-spacing: .12em;
text-transform: uppercase;
color: #FD3900;
border: 1.5px dashed #FD3900;
border-radius: 48px;
padding: 4px 16px;
margin-bottom: 24px
}

.au-ident .ident-h1 {
font-size: 68px;
line-height: 1.1;
color: #1a0a2e;
font-style: italic;
margin: 0 0 24px;
text-align: center
}

@media (max-width: 1024px) {
.au-ident .ident-h1 {
font-size: 38px
}
}

@media (max-width: 640px) {
.au-ident .ident-h1 {
font-size: 28px
}
}

.au-ident .ident-sub {
font-size: 22px;
line-height: 1.4;
color: #2d1a4a;
text-align: left;
margin: 0 0 24px
}

.au-ident .ident-body {
font-size: 15px;
line-height: 1.6;
color: #2d1a4a;
text-align: left;
margin: 0
}

.au-ident .ident-img-wrap {
position: relative;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 12px 40px -1px #894dc11f
}

.au-ident .ident-img-wrap::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(105deg, #894dc138, #fd39001f);
z-index: 1;
pointer-events: none
}

.au-ident .ident-img-wrap img {
display: block;
width: 100%;
aspect-ratio: 4/3;
object-fit: cover;
object-position: center
}

.au-ident .stat-row {
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 48px;
flex-wrap: wrap
}

.au-ident .stat-item {
background: #fff;
border-radius: 12px;
padding: 16px 24px;
box-shadow: 0 6px 14px -1px #894dc11a;
flex: 1;
min-width: 120px;
text-align: center
}

.au-ident .stat-num {
font-size: 38px;
line-height: 1.1;
color: #894DC1;
font-style: italic;
display: block
}

.au-ident .stat-desc {
font-size: 15px;
line-height: 1.4;
color: #2d1a4a;
display: block;
margin-top: 4px
}

.au-band {
background: #FD3900;
padding: 24px 0
}

.au-band .band-inner {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 48px;
flex-wrap: wrap
}

.au-band .band-txt {
font-size: 22px;
line-height: 1.4;
color: #FBFCEA;
letter-spacing: .04em;
text-transform: uppercase
}

.au-band .band-icon {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px
}

.au-band .band-icon-item {
width: 40px;
height: 40px;
background: #fbfcea2e;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center
}

.au-band .band-icon-item .material-icons {
color: #FBFCEA;
font-size: 22px
}

.au-band .band-dash {
width: 32px;
height: 0;
border-top: 2px dashed #fbfcea80
}

.au-team {
padding: 80px 0;
background: #fff;
position: relative
}

.au-team .team-top {
text-align: center;
margin-bottom: 48px
}

.au-team .team-h2 {
font-size: 38px;
line-height: 1.1;
color: #1a0a2e;
font-style: italic;
margin: 0 0 16px
}

.au-team .team-intro {
font-size: 15px;
line-height: 1.6;
color: #2d1a4a;
max-width: 640px;
margin: 0 auto;
text-align: left
}

.au-team .team-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: start
}

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

.au-team .member-card {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start;
background: #FBFCEA;
border-radius: 12px;
padding: 24px;
box-shadow: 0 3px 2px -1px #894dc10d;
border: 1.5px dashed #894DC1;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.au-team .member-card:hover {
box-shadow: 0 12px 40px -1px #894dc11f
}

.au-team .member-portrait {
flex-shrink: 0;
width: 96px;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 6px 14px -1px #894dc11a
}

.au-team .member-portrait img {
display: block;
width: 96px;
aspect-ratio: 7/9;
object-fit: cover;
object-position: top
}

.au-team .member-info {
flex: 1
}

.au-team .member-name {
font-size: 22px;
line-height: 1.1;
color: #1a0a2e;
font-style: italic;
margin: 0 0 4px
}

.au-team .member-role {
font-size: 15px;
line-height: 1.4;
color: #FD3900;
text-transform: uppercase;
letter-spacing: .08em;
margin: 0 0 8px
}

.au-team .member-bio {
font-size: 15px;
line-height: 1.6;
color: #2d1a4a;
margin: 0
}

.au-team .no-portrait-card {
background: #FBFCEA;
border-radius: 12px;
padding: 24px;
box-shadow: 0 3px 2px -1px #894dc10d;
border: 1.5px dashed #894DC1;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
display: flex;
flex-direction: column;
gap: 8px
}

.au-team .no-portrait-card:hover {
box-shadow: 0 12px 40px -1px #894dc11f
}

.au-team .np-icon {
width: 48px;
height: 48px;
background: linear-gradient(105deg, #894DC1, #FD3900);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 8px
}

.au-team .np-icon .material-icons {
color: #FBFCEA;
font-size: 22px
}

.au-team .np-name {
font-size: 22px;
line-height: 1.1;
color: #1a0a2e;
font-style: italic;
margin: 0
}

.au-team .np-role {
font-size: 15px;
line-height: 1.4;
color: #FD3900;
text-transform: uppercase;
letter-spacing: .08em;
margin: 0
}

.au-team .np-bio {
font-size: 15px;
line-height: 1.6;
color: #2d1a4a;
margin: 0
}

.au-team .process-strip {
margin-top: 48px;
background: linear-gradient(105deg, #894DC1 0%, #FD3900 100%);
border-radius: 12px;
padding: 48px;
position: relative
}

@media (max-width: 640px) {
.au-team .process-strip {
padding: 24px 16px
}
}

.au-team .process-h3 {
font-size: 28px;
line-height: 1.1;
color: #FBFCEA;
font-style: italic;
text-align: center;
margin: 0 0 48px
}

.au-team .steps-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 0;
position: relative
}

@media (max-width: 640px) {
.au-team .steps-row {
flex-direction: column;
gap: 24px
}
}

.au-team .step {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
position: relative;
padding: 0 8px
}

.au-team .step-icon-wrap {
width: 56px;
height: 56px;
background: #fbfcea2e;
border-radius: 48px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 16px;
position: relative;
z-index: 2;
border: 2px solid #fbfcea66
}

.au-team .step-icon-wrap .material-icons {
color: #FBFCEA;
font-size: 22px
}

.au-team .step-num {
font-size: 15px;
line-height: 1.4;
color: #fbfcea99;
text-transform: uppercase;
letter-spacing: .1em;
margin-bottom: 4px
}

.au-team .step-label {
font-size: 15px;
line-height: 1.4;
color: #FBFCEA;
margin: 0
}

.au-team .step-connector {
position: absolute;
top: 27px;
left: calc(50% + 28px);
right: calc(-50% + 28px);
height: 0;
border-top: 2px dashed #fbfcea66;
z-index: 1
}

@media (max-width: 640px) {
.au-team .step-connector {
display: none
}
}

.au-values {
padding: 80px 0;
background: #FBFCEA;
position: relative
}

.au-values .val-top {
margin-bottom: 48px;
text-align: center
}

.au-values .val-h2 {
font-size: 38px;
line-height: 1.1;
color: #1a0a2e;
font-style: italic;
margin: 0 0 16px
}

.au-values .val-sub {
font-size: 15px;
line-height: 1.6;
color: #2d1a4a;
max-width: 600px;
margin: 0 auto;
text-align: left
}

.au-values .val-layout {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px
}

@media (max-width: 1024px) {
.au-values .val-layout {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 640px) {
.au-values .val-layout {
grid-template-columns: 1fr
}
}

.au-values .val-card {
background: #fff;
border-radius: 12px;
padding: 24px;
box-shadow: 0 6px 14px -1px #894dc11a;
transition: box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1);
display: flex;
flex-direction: column;
gap: 8px
}

.au-values .val-card:hover {
box-shadow: 0 12px 40px -1px #894dc11f;
transform: translateY(-4px)
}

.au-values .val-card.featured {
border: 2px dashed #894DC1;
background: linear-gradient(105deg, #894dc10f, #fd39000a)
}

.au-values .val-icon {
width: 44px;
height: 44px;
border-radius: 8px;
background: linear-gradient(105deg, #894DC1, #FD3900);
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 8px
}

.au-values .val-icon .material-icons {
color: #FBFCEA;
font-size: 22px
}

.au-values .val-h4 {
font-size: 22px;
line-height: 1.1;
color: #1a0a2e;
font-style: italic;
margin: 0
}

.au-values .val-body {
font-size: 15px;
line-height: 1.6;
color: #2d1a4a;
margin: 0
}

.au-values .img-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-top: 48px
}

@media (max-width: 640px) {
.au-values .img-row {
grid-template-columns: 1fr
}
}

.au-values .img-frame {
border-radius: 12px;
overflow: hidden;
box-shadow: 0 6px 14px -1px #894dc11a;
position: relative
}

.au-values .img-frame::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(105deg, #894dc126, #fd390014);
pointer-events: none
}

.au-values .img-frame img {
display: block;
width: 100%;
aspect-ratio: 16/9;
object-fit: cover;
object-position: center
}

.au-values .img-caption {
position: absolute;
bottom: 16px;
left: 16px;
right: 16px;
z-index: 2;
background: #fbfceaeb;
border-radius: 8px;
padding: 8px 16px;
font-size: 15px;
line-height: 1.4;
color: #1a0a2e
}

.au-values .contact-strip {
margin-top: 48px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
align-items: center
}

@media (max-width: 640px) {
.au-values .contact-strip {
grid-template-columns: 1fr;
gap: 16px
}
}

.au-values .contact-block {
background: #fff;
border-radius: 12px;
padding: 24px;
box-shadow: 0 3px 2px -1px #894dc10d;
display: flex;
flex-direction: column;
gap: 8px
}

.au-values .contact-h5 {
font-size: 15px;
line-height: 1.4;
text-transform: uppercase;
letter-spacing: .1em;
color: #894DC1;
margin: 0
}

.au-values .contact-detail {
font-size: 15px;
line-height: 1.6;
color: #2d1a4a;
margin: 0
}

.au-values .contact-detail a {
color: #894DC1;
text-decoration: underline;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.au-values .contact-detail a:hover {
color: #FD3900
}

.au-values .cta-block {
background: linear-gradient(105deg, #894DC1, #FD3900);
border-radius: 12px;
padding: 48px 24px;
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
text-align: center
}

.au-values .cta-h3 {
font-size: 28px;
line-height: 1.1;
color: #FBFCEA;
font-style: italic;
margin: 0
}

.au-values .cta-txt {
font-size: 15px;
line-height: 1.6;
color: #fbfcead9;
margin: 0;
max-width: 400px
}

.au-values .cta-btn {
display: inline-block;
background: #FBFCEA;
color: #894DC1;
font-size: 15px;
line-height: 1.4;
letter-spacing: .08em;
text-transform: uppercase;
padding: 16px 48px;
border-radius: 8px;
text-decoration: none;
font-weight: 700;
box-shadow: 0 6px 14px -1px #894dc11a;
transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.au-values .cta-btn:hover {
transform: scale(1.04);
box-shadow: 0 12px 40px -1px #894dc12e;
color: #FD3900;
text-decoration: none
}

.cu-pg {
display: block;
width: 100%;
overflow-x: clip;
background: #FBFCEA
}

.cu-pg .reach {
position: relative;
padding: 48px 24px;
background: #FBFCEA
}

.cu-pg .reach-inner {
max-width: 1500px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: start
}

.cu-pg .reach-left {
display: flex;
flex-direction: column;
gap: 24px
}

.cu-pg .reach-img-wrap {
position: relative;
width: 100%;
aspect-ratio: 4/3;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 12px 40px -1px #894dc11f
}

.cu-pg .reach-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.cu-pg .reach-img-wrap::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(135deg, #894dc12e 0%, #fd39001a 100%);
border-radius: 12px;
pointer-events: none
}

.cu-pg .reach-img-wrap::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 0% 0%, #894dc152 0%, transparent 55%), radial-gradient(ellipse at 100% 100%, #fd390038 0%, transparent 55%);
z-index: 1;
pointer-events: none;
border-radius: 12px
}

.cu-pg .reach-quote-mark {
position: absolute;
top: -16px;
left: 16px;
font-size: 68px;
line-height: 1.1;
color: #894dc11f;
font-style: italic;
z-index: 0;
pointer-events: none;
user-select: none
}

.cu-pg .reach-tagline {
position: relative;
z-index: 1;
text-align: center
}

.cu-pg .reach-tagline h1 {
font-size: 68px;
line-height: 1.1;
font-style: italic;
color: #1b0a2e;
margin: 0 0 8px;
text-align: center
}

.cu-pg .reach-tagline h1 .underline-word {
position: relative;
display: inline-block;
color: #894DC1
}

.cu-pg .reach-tagline h1 .underline-word::after {
content: "";
position: absolute;
left: 0;
bottom: -4px;
height: 3px;
width: 0;
background: linear-gradient(90deg, #894DC1, #FD3900);
border-radius: 8px;
animation: und-draw .26s cubic-bezier(0.0, 0, 0.2, 1) .4s forwards
}

@keyframes und-draw {
to {
width: 100%
}
}

.cu-pg .reach-tagline p {
font-size: 15px;
line-height: 1.6;
color: #3a1f5c;
text-align: left;
margin: 0;
max-width: 520px
}

.cu-pg .reach-coords {
display: flex;
flex-direction: column;
gap: 16px;
padding: 24px;
background: #fff;
border-radius: 12px;
box-shadow: 0 6px 14px -1px #894dc11a;
position: relative
}

.cu-pg .reach-coords::before {
content: "";
position: absolute;
top: 16px;
left: 0;
width: 4px;
height: calc(100% - 32px);
background: linear-gradient(180deg, #894DC1, #FD3900);
border-radius: 8px
}

.cu-pg .coord-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding-left: 16px
}

.cu-pg .coord-icon {
width: 40px;
height: 40px;
border-radius: 8px;
background: linear-gradient(135deg, #894DC1, #FD3900);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
box-shadow: 0 3px 2px -1px #894dc10d
}

.cu-pg .coord-icon .material-icons {
color: #fff;
font-size: 22px
}

.cu-pg .coord-text {
display: flex;
flex-direction: column;
gap: 4px
}

.cu-pg .coord-label {
font-size: 15px;
line-height: 1.1;
color: #894DC1;
text-transform: uppercase;
letter-spacing: .08em;
font-weight: 700
}

.cu-pg .coord-val {
font-size: 15px;
line-height: 1.4;
color: #1b0a2e
}

.cu-pg .coord-val a {
color: #1b0a2e;
text-decoration: underline;
text-decoration-color: #894dc14d;
transition: color .22s cubic-bezier(0.4, 0, 0.2, 1), text-decoration-color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.cu-pg .coord-val a:hover {
color: #894DC1;
text-decoration-color: #894DC1
}

.cu-pg .reach-right {
display: flex;
flex-direction: column;
gap: 24px;
position: relative
}

.cu-pg .form-card {
background: #fff;
border-radius: 12px;
padding: 48px;
box-shadow: 0 12px 40px -1px #894dc11f;
position: relative;
overflow: hidden
}

.cu-pg .form-card::before {
content: "";
position: absolute;
top: -48px;
right: -48px;
width: 160px;
height: 160px;
border-radius: 48px;
background: linear-gradient(135deg, #894dc114, #fd39000f);
pointer-events: none;
animation: bleed-corner 6s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate
}

@keyframes bleed-corner {
0% {
opacity: .4;
transform: scale(0.9) translate(8px, 8px)
}

100% {
opacity: 1;
transform: scale(1.1) translate(-4px, -4px)
}
}

.cu-pg .form-card h2 {
font-size: 38px;
line-height: 1.1;
font-style: italic;
color: #1b0a2e;
margin: 0 0 8px;
text-align: center
}

.cu-pg .form-card p.form-sub {
font-size: 15px;
line-height: 1.6;
color: #3a1f5c;
text-align: left;
margin: 0 0 24px
}

.cu-pg .form-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin-bottom: 16px
}

.cu-pg .form-field {
display: flex;
flex-direction: column;
gap: 8px
}

.cu-pg .form-field.full {
grid-column: 1 / -1
}

.cu-pg .form-field label {
font-size: 15px;
line-height: 1.4;
color: #894DC1;
text-transform: uppercase;
letter-spacing: .07em;
font-weight: 700
}

.cu-pg .form-field input[type="text"],
.cu-pg .form-field input[type="email"],
.cu-pg .form-field input[type="tel"] {
padding: 16px;
border: 1.5px solid #894dc140;
border-radius: 8px;
font-size: 15px;
line-height: 1.4;
color: #1b0a2e;
background: #FBFCEA;
outline: none;
transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
width: 100%;
box-sizing: border-box
}

.cu-pg .form-field input::placeholder {
color: #3b1f5c66;
text-transform: uppercase;
font-size: 15px;
letter-spacing: .04em
}

.cu-pg .form-field input:focus {
border-color: #894DC1;
box-shadow: 0 0 0 3px #894dc11f inset 0 4px 8px #894dc10f
}

.cu-pg .form-field input:focus:invalid {
border-color: #FD3900;
box-shadow: 0 0 0 3px #fd39001a inset 0 4px 8px #fd39000f
}

.cu-pg .interest-group {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 16px
}

.cu-pg .interest-group legend {
font-size: 15px;
line-height: 1.4;
color: #894DC1;
text-transform: uppercase;
letter-spacing: .07em;
font-weight: 700;
margin-bottom: 8px;
display: block
}

.cu-pg .interest-checks {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px
}

.cu-pg .chk-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
padding: 12px 16px;
border: 1.5px solid #894dc12e;
border-radius: 8px;
cursor: pointer;
transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), background .2s cubic-bezier(0.4, 0, 0.2, 1);
background: #FBFCEA;
user-select: none
}

.cu-pg .chk-item:hover {
border-color: #894DC1;
background: #894dc10d
}

.cu-pg .chk-item input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: #894DC1;
cursor: pointer;
flex-shrink: 0
}

.cu-pg .chk-item span {
font-size: 15px;
line-height: 1.4;
color: #1b0a2e
}

.cu-pg .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
margin-bottom: 24px;
padding: 16px;
border-radius: 8px;
background: #894dc10a;
border: 1.5px solid #894dc124
}

.cu-pg .privacy-row input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: #894DC1;
cursor: pointer;
flex-shrink: 0;
margin-top: 2px
}

.cu-pg .privacy-row label {
font-size: 15px;
line-height: 1.6;
color: #3a1f5c;
cursor: pointer
}

.cu-pg .privacy-row label a {
color: #894DC1;
text-decoration: underline;
text-decoration-color: #894dc166;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), text-decoration-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.cu-pg .privacy-row label a:hover {
color: #FD3900;
text-decoration-color: #FD3900
}

.cu-pg .submit-btn {
width: 100%;
padding: 16px 48px;
border: none;
border-radius: 48px;
font-size: 15px;
line-height: 1.4;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .08em;
cursor: pointer;
background: linear-gradient(135deg, #894DC1 0%, #FD3900 100%);
color: #fff;
box-shadow: 0 6px 14px -1px #894dc138;
transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
display: block
}

.cu-pg .submit-btn:hover {
transform: scale(1.03);
box-shadow: 0 12px 40px -1px #894dc138
}

.cu-pg .submit-btn:active {
transform: scale(0.98);
box-shadow: 0 3px 2px -1px #894dc11a
}

.cu-pg .submit-btn:focus-visible {
outline: 3px solid #FD3900;
outline-offset: 3px
}

.cu-pg .divider-curve {
width: 100%;
line-height: 0;
overflow: hidden
}

.cu-pg .divider-curve svg {
display: block;
width: 100%
}

.cu-pg .detail-strip {
position: relative;
padding: 48px 24px;
background: #fff
}

.cu-pg .detail-strip::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(160deg, #894dc10a 0%, #fd390008 100%);
pointer-events: none
}

.cu-pg .detail-inner {
max-width: 1500px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 48px;
position: relative;
z-index: 1
}

.cu-pg .detail-head {
text-align: center
}

.cu-pg .detail-head h2 {
font-size: 38px;
line-height: 1.1;
font-style: italic;
color: #1b0a2e;
margin: 0 0 16px
}

.cu-pg .detail-head p {
font-size: 15px;
line-height: 1.6;
color: #3a1f5c;
max-width: 700px;
margin: 0 auto;
text-align: left
}

.cu-pg .detail-cols {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.cu-pg .detail-col-a {
display: flex;
flex-direction: column;
gap: 16px
}

.cu-pg .detail-col-b {
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 48px
}

.cu-pg .stat-card {
padding: 24px;
border-radius: 12px;
background: #FBFCEA;
box-shadow: 0 6px 14px -1px #894dc11a;
display: flex;
flex-direction: column;
gap: 8px;
position: relative
}

.cu-pg .stat-card::before {
content: "";
position: absolute;
top: 16px;
left: 0;
width: 4px;
height: calc(100% - 32px);
background: linear-gradient(180deg, #894DC1, #FD3900);
border-radius: 8px
}

.cu-pg .stat-num {
font-size: 38px;
line-height: 1.1;
font-style: italic;
color: #894DC1;
font-weight: 700;
padding-left: 16px
}

.cu-pg .stat-desc {
font-size: 15px;
line-height: 1.6;
color: #3a1f5c;
padding-left: 16px
}

.cu-pg .info-block {
padding: 24px;
border-radius: 12px;
border: 1.5px solid #894dc12e;
background: #fff;
display: flex;
flex-direction: column;
gap: 8px
}

.cu-pg .info-block h4 {
font-size: 22px;
line-height: 1.4;
font-style: italic;
color: #1b0a2e;
margin: 0
}

.cu-pg .info-block p {
font-size: 15px;
line-height: 1.6;
color: #3a1f5c;
margin: 0
}

.cu-pg .curve-line {
position: absolute;
pointer-events: none;
z-index: 0
}

@media (max-width: 1024px) {
.cu-pg .reach-inner {
grid-template-columns: 1fr;
gap: 24px
}

.cu-pg .reach-tagline h1 {
font-size: 38px
}

.cu-pg .form-card {
padding: 24px
}

.cu-pg .detail-cols {
grid-template-columns: 1fr
}

.cu-pg .detail-col-b {
margin-top: 0
}
}

@media (max-width: 640px) {
.cu-pg .form-row {
grid-template-columns: 1fr
}

.cu-pg .interest-checks {
grid-template-columns: 1fr
}

.cu-pg .reach-tagline h1 {
font-size: 28px
}

.cu-pg .form-card h2 {
font-size: 28px
}

.cu-pg .detail-head h2 {
font-size: 28px
}

.cu-pg .stat-num {
font-size: 28px
}

.cu-pg .reach {
padding: 24px 16px
}

.cu-pg .detail-strip {
padding: 24px 16px
}
}

.ptl {
background: #FBFCEA;
position: relative;
overflow-x: clip
}

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

.ptl ::selection {
background: #894DC1;
color: #FBFCEA;
font-weight: 700
}

.ptl .ac-line {
display: inline-block;
position: relative
}

.ptl .ac-line::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 0;
height: 2px;
background: #894DC1;
animation: drawline .8s cubic-bezier(0.4, 0, 0.2, 1) .6s forwards
}

@keyframes drawline {
to {
width: 100%
}
}

.ptl .stripe-bg {
position: absolute;
inset: 0;
overflow: hidden;
pointer-events: none;
z-index: 0
}

.ptl .stripe-bg::before {
content: '';
position: absolute;
inset: -100%;
background: repeating-linear-gradient(135deg, transparent 0px, transparent 28px, #894dc10a 28px, #894dc10a 30px);
animation: stripedrift 18s linear infinite
}

@keyframes stripedrift {
0% {
transform: translate(0, 0)
}

100% {
transform: translate(60px, 60px)
}
}

.ptl .wave-div {
display: block;
width: 100%;
line-height: 0;
overflow: hidden
}

.ptl .word-hover span {
display: inline;
transition: background .22s cubic-bezier(0.4, 0, 0.2, 1);
border-radius: 8px;
padding: 0 4px
}

.ptl .word-hover span:hover {
background: #894dc11f
}

.ptl .t-blk {
position: relative;
padding: 48px 0 0;
max-width: 1500px;
margin: 0 auto
}

.ptl .t-blk .curve-deco {
position: absolute;
top: 0;
right: 0;
width: 420px;
height: 420px;
pointer-events: none;
z-index: 0;
overflow: hidden
}

.ptl .t-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: start;
position: relative;
z-index: 1;
padding: 0 48px
}

.ptl .t-txt {
display: flex;
flex-direction: column;
gap: 24px;
padding-top: 24px
}

.ptl .t-tag {
display: inline-flex;
align-items: center;
gap: 8px;
border: 1.5px solid #894DC1;
border-radius: 8px;
padding: 4px 16px;
font-size: 15px;
color: #894DC1;
letter-spacing: .08em;
text-transform: uppercase;
width: fit-content
}

.ptl .t-h1 {
font-size: 68px;
line-height: 1.1;
color: #1a0a2e;
margin: 0;
font-style: italic
}

.ptl .t-h1 strong {
color: #894DC1;
font-style: normal
}

.ptl .t-sub {
font-size: 22px;
line-height: 1.4;
color: #2d1a4a;
margin: 0
}

.ptl .t-body {
font-size: 15px;
line-height: 1.6;
color: #2d1a4a;
margin: 0
}

.ptl .t-cta {
display: inline-flex;
align-items: center;
gap: 8px;
background: linear-gradient(112deg, #894DC1 0%, #FD3900 100%);
color: #FBFCEA;
font-size: 15px;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase;
border: none;
border-radius: 12px;
padding: 16px 24px;
cursor: pointer;
text-decoration: none;
width: fit-content;
box-shadow: 0 6px 14px -1px #894dc11a;
transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.ptl .t-cta:hover {
transform: scale(1.04);
box-shadow: 0 12px 40px -1px #894dc11f
}

.ptl .t-img-col {
position: relative
}

.ptl .t-img-wrap {
width: 100%;
aspect-ratio: 3/4;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 12px 40px -1px #894dc11f
}

.ptl .t-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: grayscale(100%);
display: block;
transition: filter .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.ptl .t-img-wrap:hover img {
filter: grayscale(40%)
}

.ptl .t-stat-row {
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 8px
}

.ptl .t-stat {
display: flex;
flex-direction: column;
gap: 4px;
border: 1.5px solid #894dc133;
border-radius: 12px;
padding: 16px 24px;
flex: 1;
background: #fbfceacc
}

.ptl .t-stat .num {
font-size: 38px;
line-height: 1.1;
color: #894DC1;
font-weight: 700
}

.ptl .t-stat .lbl {
font-size: 15px;
line-height: 1.4;
color: #2d1a4a
}

.ptl .cr-sec {
position: relative;
background: #FBFCEA;
padding: 48px 0
}

.ptl .cr-inner {
max-width: 1500px;
margin: 0 auto;
padding: 0 48px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center
}

.ptl .cr-txt {
display: flex;
flex-direction: column;
gap: 16px
}

.ptl .cr-h2 {
font-size: 38px;
line-height: 1.1;
font-style: italic;
color: #1a0a2e;
margin: 0;
text-align: center
}

.ptl .cr-lead {
font-size: 22px;
line-height: 1.4;
color: #2d1a4a;
margin: 0
}

.ptl .cr-body {
font-size: 15px;
line-height: 1.6;
color: #2d1a4a;
margin: 0
}

.ptl .cr-cards {
display: flex;
flex-direction: column;
gap: 16px
}

.ptl .cr-card {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
border: 1.5px solid #894dc12e;
border-radius: 12px;
padding: 24px;
background: #fff;
box-shadow: 0 3px 2px -1px #894dc10d;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ptl .cr-card:hover {
box-shadow: 0 6px 14px -1px #894dc11a;
transform: translateY(-2px)
}

.ptl .cr-portrait {
width: 80px;
height: 80px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0
}

.ptl .cr-portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
display: block
}

.ptl .cr-icon-box {
width: 80px;
height: 80px;
border-radius: 12px;
border: 1.5px solid #894DC1;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
background: #894dc10f
}

.ptl .cr-icon-box .material-icons {
font-size: 28px;
color: #894DC1
}

.ptl .cr-card-txt {
display: flex;
flex-direction: column;
gap: 4px
}

.ptl .cr-card-name {
font-size: 15px;
font-weight: 700;
color: #1a0a2e;
text-transform: uppercase;
letter-spacing: .06em
}

.ptl .cr-card-role {
font-size: 15px;
color: #894DC1
}

.ptl .cr-card-desc {
font-size: 15px;
line-height: 1.6;
color: #2d1a4a;
margin: 4px 0 0
}

.ptl .exp-sec {
position: relative;
padding: 0;
overflow: hidden
}

.ptl .exp-diag {
position: absolute;
inset: 0;
pointer-events: none;
z-index: 0
}

.ptl .exp-diag::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, #894DC1 0%, #894DC1 45%, #FBFCEA 45%, #FBFCEA 100%)
}

.ptl .exp-inner {
max-width: 1500px;
margin: 0 auto;
padding: 48px;
position: relative;
z-index: 1;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center
}

.ptl .exp-quote-wrap {
background: #fff;
border-radius: 12px;
padding: 24px;
box-shadow: 0 12px 40px -1px #894dc11f
}

.ptl .exp-q-mark {
font-size: 68px;
line-height: 1.1;
color: #894DC1;
font-style: italic;
margin-bottom: -16px
}

.ptl .exp-quote {
font-size: 22px;
line-height: 1.4;
color: #1a0a2e;
font-style: italic;
margin: 0 0 16px
}

.ptl .exp-attr {
font-size: 15px;
color: #894DC1;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .06em
}

.ptl .exp-img-wrap {
width: 100%;
aspect-ratio: 4/3;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 6px 14px -1px #894dc11a
}

.ptl .exp-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: grayscale(100%) opacity(0.15)
}

.ptl .exp-txt-side {
display: flex;
flex-direction: column;
gap: 16px
}

.ptl .exp-h3 {
font-size: 28px;
line-height: 1.1;
font-style: italic;
color: #1a0a2e;
margin: 0;
text-align: center
}

.ptl .exp-body {
font-size: 15px;
line-height: 1.6;
color: #2d1a4a;
margin: 0
}

.ptl .grad-sec {
background: #fff;
padding: 48px 0;
position: relative
}

.ptl .grad-inner {
max-width: 1500px;
margin: 0 auto;
padding: 0 48px
}

.ptl .grad-h2 {
font-size: 38px;
line-height: 1.1;
font-style: italic;
color: #1a0a2e;
margin: 0 0 24px;
text-align: center
}

.ptl .grad-sub {
font-size: 22px;
line-height: 1.4;
color: #2d1a4a;
margin: 0 0 24px
}

.ptl .grad-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px
}

.ptl .grad-item {
border-radius: 12px;
padding: 24px;
position: relative;
overflow: hidden;
box-shadow: 0 3px 2px -1px #894dc10d;
transition: box-shadow .24s cubic-bezier(0.0, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ptl .grad-item:hover {
box-shadow: 0 6px 14px -1px #894dc11a;
transform: translateY(-3px)
}

.ptl .grad-item.a {
background: linear-gradient(135deg, #f3eafd 0%, #e8d5fa 100%)
}

.ptl .grad-item.b {
background: linear-gradient(135deg, #fff3f0 0%, #fde0d8 100%)
}

.ptl .grad-item.c {
background: linear-gradient(135deg, #FBFCEA 0%, #f0f0c8 100%)
}

.ptl .grad-icon {
width: 48px;
height: 48px;
border-radius: 12px;
border: 1.5px solid #894DC1;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 16px;
background: #ffffffb3
}

.ptl .grad-icon .material-icons {
font-size: 22px;
color: #894DC1
}

.ptl .grad-item.b .grad-icon {
border-color: #FD3900
}

.ptl .grad-item.b .grad-icon .material-icons {
color: #FD3900
}

.ptl .grad-item-h {
font-size: 22px;
line-height: 1.4;
font-style: italic;
color: #1a0a2e;
margin: 0 0 8px
}

.ptl .grad-item-p {
font-size: 15px;
line-height: 1.6;
color: #2d1a4a;
margin: 0
}

.ptl .grad-img-row {
margin-top: 24px;
width: 100%;
aspect-ratio: 16/5;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 6px 14px -1px #894dc11a
}

.ptl .grad-img-row img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: grayscale(100%) opacity(0.12)
}

.ptl .gap-sec {
position: relative;
padding: 48px 0;
background: #1a0a2e
}

.ptl .gap-stripe {
position: absolute;
inset: 0;
overflow: hidden;
pointer-events: none
}

.ptl .gap-stripe::before {
content: '';
position: absolute;
inset: -100%;
background: repeating-linear-gradient(135deg, transparent 0px, transparent 38px, #fd39000f 38px, #fd39000f 40px);
animation: stripedrift 22s linear infinite
}

.ptl .gap-inner {
max-width: 1500px;
margin: 0 auto;
padding: 0 48px;
position: relative;
z-index: 1
}

.ptl .gap-h2 {
font-size: 38px;
line-height: 1.1;
font-style: italic;
color: #FBFCEA;
margin: 0 0 24px;
text-align: center
}

.ptl .gap-cols {
display: grid;
grid-template-columns: 1fr 1px 1fr;
gap: 48px;
align-items: start
}

.ptl .gap-divider {
background: #fbfcea33
}

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

.ptl .gap-col-h {
font-size: 22px;
line-height: 1.4;
color: #FBFCEA;
margin: 0;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .06em
}

.ptl .gap-col-p {
font-size: 15px;
line-height: 1.6;
color: #fbfceacc;
margin: 0
}

.ptl .gap-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 8px
}

.ptl .gap-list li {
font-size: 15px;
line-height: 1.6;
color: #fbfcead9;
display: flex;
align-items: flex-start;
gap: 8px
}

.ptl .gap-list li .material-icons {
font-size: 18px;
color: #FD3900;
flex-shrink: 0;
margin-top: 2px
}

.ptl .tl-sec {
background: #FBFCEA;
padding: 48px 0;
position: relative
}

.ptl .tl-inner {
max-width: 1500px;
margin: 0 auto;
padding: 0 48px
}

.ptl .tl-h2 {
font-size: 38px;
line-height: 1.1;
font-style: italic;
color: #1a0a2e;
margin: 0 0 8px;
text-align: center
}

.ptl .tl-sub {
font-size: 15px;
line-height: 1.6;
color: #2d1a4a;
margin: 0 0 48px
}

.ptl .tl-track {
position: relative;
display: flex;
flex-direction: row;
gap: 0;
align-items: flex-start
}

.ptl .tl-track::before {
content: '';
position: absolute;
top: 20px;
left: 24px;
right: 24px;
height: 2px;
background: linear-gradient(90deg, #894DC1, #FD3900);
z-index: 0
}

.ptl .tl-pt {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
position: relative;
z-index: 1
}

.ptl .tl-dot {
width: 40px;
height: 40px;
border-radius: 48px;
background: #FBFCEA;
border: 2.5px solid #894DC1;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ptl .tl-pt:hover .tl-dot {
background: #894DC1;
border-color: #FD3900
}

.ptl .tl-dot .material-icons {
font-size: 18px;
color: #894DC1;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ptl .tl-pt:hover .tl-dot .material-icons {
color: #FBFCEA
}

.ptl .tl-info {
text-align: center;
padding: 0 8px
}

.ptl .tl-label {
font-size: 15px;
font-weight: 700;
color: #1a0a2e;
text-transform: uppercase;
letter-spacing: .06em;
margin: 0 0 4px
}

.ptl .tl-desc {
font-size: 15px;
line-height: 1.6;
color: #2d1a4a;
margin: 0
}

.ptl .tl-img-pair {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-top: 48px
}

.ptl .tl-img-box {
aspect-ratio: 4/3;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 6px 14px -1px #894dc11a
}

.ptl .tl-img-box img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: grayscale(100%) opacity(0.12)
}

.ptl .who-sec {
background: #fff;
padding: 48px 0;
position: relative
}

.ptl .who-inner {
max-width: 1500px;
margin: 0 auto;
padding: 0 48px
}

.ptl .who-h2 {
font-size: 38px;
line-height: 1.1;
font-style: italic;
color: #1a0a2e;
margin: 0 0 24px;
text-align: center
}

.ptl .who-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: start
}

.ptl .who-col {
display: flex;
flex-direction: column;
gap: 16px
}

.ptl .who-col-h {
font-size: 22px;
line-height: 1.4;
color: #894DC1;
margin: 0;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .06em
}

.ptl .who-col.no .who-col-h {
color: #FD3900
}

.ptl .who-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 8px
}

.ptl .who-list li {
font-size: 15px;
line-height: 1.6;
color: #2d1a4a;
display: flex;
align-items: flex-start;
gap: 8px;
padding: 16px;
border-radius: 12px;
border: 1.5px solid #894dc11f;
background: #FBFCEA;
transition: box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ptl .who-col.no .who-list li {
border-color: #fd39001f
}

.ptl .who-list li:hover {
box-shadow: 0 6px 14px -1px #894dc11a
}

.ptl .who-list li .material-icons {
font-size: 18px;
color: #894DC1;
flex-shrink: 0;
margin-top: 1px
}

.ptl .who-col.no .who-list li .material-icons {
color: #FD3900
}

.ptl .who-close {
margin-top: 24px;
font-size: 15px;
line-height: 1.6;
color: #2d1a4a;
padding: 24px;
border-radius: 12px;
background: linear-gradient(112deg, #894dc114 0%, #fd39000f 100%);
border: 1.5px solid #894dc126
}

@media (max-width: 1024px) {
.ptl .t-grid {
grid-template-columns: 1fr;
gap: 24px;
padding: 0 24px
}

.ptl .t-h1 {
font-size: 38px
}

.ptl .cr-inner {
grid-template-columns: 1fr;
gap: 24px;
padding: 0 24px
}

.ptl .exp-inner {
grid-template-columns: 1fr;
gap: 24px;
padding: 48px 24px
}

.ptl .exp-diag::before {
background: linear-gradient(180deg, #894DC1 0%, #894DC1 35%, #FBFCEA 35%, #FBFCEA 100%)
}

.ptl .grad-inner {
padding: 0 24px
}

.ptl .grad-grid {
grid-template-columns: 1fr 1fr
}

.ptl .gap-inner {
padding: 0 24px
}

.ptl .gap-cols {
grid-template-columns: 1fr;
gap: 24px
}

.ptl .gap-divider {
display: none
}

.ptl .tl-inner {
padding: 0 24px
}

.ptl .tl-track {
flex-direction: column
}

.ptl .tl-track::before {
top: 0;
bottom: 0;
left: 20px;
right: auto;
width: 2px;
height: auto
}

.ptl .tl-pt {
flex-direction: row;
align-items: flex-start;
text-align: left
}

.ptl .tl-info {
text-align: left
}

.ptl .tl-img-pair {
grid-template-columns: 1fr
}

.ptl .who-inner {
padding: 0 24px
}

.ptl .who-grid {
grid-template-columns: 1fr;
gap: 24px
}

.ptl .t-blk {
padding: 24px 0 0
}

.ptl .t-blk .curve-deco {
width: 200px;
height: 200px
}
}

@media (max-width: 640px) {
.ptl .t-grid {
padding: 0 16px;
gap: 16px
}

.ptl .t-h1 {
font-size: 28px
}

.ptl .t-stat-row {
flex-direction: column;
gap: 8px
}

.ptl .cr-inner {
padding: 0 16px
}

.ptl .exp-inner {
padding: 24px 16px
}

.ptl .grad-inner {
padding: 0 16px
}

.ptl .grad-grid {
grid-template-columns: 1fr
}

.ptl .gap-inner {
padding: 0 16px
}

.ptl .tl-inner {
padding: 0 16px
}

.ptl .who-inner {
padding: 0 16px
}

.ptl .cr-sec {
padding: 24px 0
}

.ptl .grad-sec {
padding: 24px 0
}

.ptl .gap-sec {
padding: 24px 0
}

.ptl .tl-sec {
padding: 24px 0
}

.ptl .who-sec {
padding: 24px 0
}
}

.srvs {
background: #FBFCEA;
padding: 0;
overflow-x: clip
}

.srvs .pg-head {
max-width: 1500px;
margin: 0 auto;
padding: 48px 48px 0;
display: grid;
grid-template-columns: 1fr auto;
gap: 48px;
align-items: start;
position: relative
}

.srvs .pg-head .dot-grid {
position: absolute;
top: 0;
left: 0;
width: 55%;
height: 100%;
background-image: radial-gradient(circle, #894dc12e 1.5px, transparent 1.5px);
background-size: 22px 22px;
pointer-events: none;
z-index: 0
}

.srvs .pg-head .txt-zone {
position: relative;
z-index: 1;
padding: 48px 0
}

.srvs .pg-head .txt-zone h1 {
font-size: 68px;
line-height: 1.1;
font-style: italic;
font-weight: 900;
color: #1b1b2e;
margin: 0 0 24px;
letter-spacing: -1px
}

.srvs .pg-head .txt-zone h1 .acc {
color: #894DC1
}

.srvs .pg-head .txt-zone h1 .punct {
color: #FD3900
}

.srvs .pg-head .txt-zone .sub {
font-size: 22px;
line-height: 1.4;
color: #3a3245;
max-width: 560px;
margin: 0 0 24px
}

.srvs .pg-head .txt-zone .meta-row {
display: flex;
flex-direction: row;
gap: 24px;
align-items: center;
flex-wrap: wrap
}

.srvs .pg-head .txt-zone .badge {
display: inline-flex;
align-items: center;
gap: 8px;
background: #fff;
border: 1.5px solid #894dc138;
border-radius: 8px;
padding: 8px 16px;
font-size: 15px;
color: #3a3245;
box-shadow: 0 3px 2px -1px #894dc10d
}

.srvs .pg-head .txt-zone .badge .mi {
font-size: 18px;
color: #894DC1
}

.srvs .pg-head .img-card {
position: relative;
z-index: 1;
width: 340px;
flex-shrink: 0;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 12px 40px -1px #894dc11f;
margin-top: 48px
}

.srvs .pg-head .img-card img {
width: 340px;
height: 420px;
object-fit: cover;
object-position: center;
display: block
}

.srvs .pg-head .img-card .overlay {
position: absolute;
inset: 0;
background: linear-gradient(147deg, #894dc17a 0%, #fd390038 100%);
pointer-events: none
}

.srvs .pg-head .diamond-acc {
position: absolute;
bottom: 24px;
right: 24px;
width: 28px;
height: 28px;
background: #FD3900;
transform: rotate(45deg);
border-radius: 4px;
pointer-events: none;
z-index: 2
}

.srvs .divider-mono {
text-align: center;
padding: 16px 0 8px;
font-size: 38px;
font-weight: 900;
color: #894dc121;
letter-spacing: 8px;
user-select: none;
pointer-events: none
}

.srvs .courses-grid-wrap {
max-width: 1500px;
margin: 0 auto;
padding: 48px 48px 0;
border-left: 4px solid #894DC1
}

.srvs .courses-grid-wrap h2 {
font-size: 38px;
line-height: 1.1;
font-style: italic;
font-weight: 800;
color: #1b1b2e;
margin: 0 0 8px;
text-align: center
}

.srvs .courses-grid-wrap h2 .acc {
color: #FD3900
}

.srvs .courses-grid-wrap .grid-sub {
font-size: 15px;
line-height: 1.6;
color: #4a3f5c;
text-align: left;
margin: 0 0 48px;
max-width: 540px
}

.srvs .courses-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px
}

.srvs .c-card {
background: #fff;
border-radius: 12px;
box-shadow: 0 6px 14px -1px #894dc11a;
overflow: hidden;
display: flex;
flex-direction: column;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1);
position: relative
}

.srvs .c-card:hover {
box-shadow: 0 12px 40px -1px #894dc11f;
transform: translateY(-4px)
}

.srvs .c-card.neighbor-hl {
box-shadow: 0 6px 14px -1px #fd39001a
}

.srvs .c-card .c-img-wrap {
position: relative;
width: 100%;
aspect-ratio: 16/9;
overflow: hidden
}

.srvs .c-card .c-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvs .c-card:hover .c-img-wrap img {
transform: scale(1.04)
}

.srvs .c-card .c-img-wrap .c-tag {
position: absolute;
top: 8px;
left: 8px;
background: linear-gradient(117deg, #894DC1 0%, #FD3900 100%);
color: #fff;
font-size: 15px;
font-weight: 700;
border-radius: 8px;
padding: 4px 12px;
letter-spacing: .04em
}

.srvs .c-card .c-img-wrap .c-user {
position: absolute;
top: 8px;
right: 8px;
background: #fbfceaeb;
color: #894DC1;
font-size: 15px;
font-weight: 600;
border-radius: 8px;
padding: 4px 10px;
border: 1px solid #894dc12e
}

.srvs .c-card .c-body {
padding: 16px 16px 8px;
flex: 1;
display: flex;
flex-direction: column
}

.srvs .c-card .c-body h3 {
font-size: 22px;
line-height: 1.4;
font-style: italic;
font-weight: 800;
color: #1b1b2e;
margin: 0 0 8px
}

.srvs .c-card .c-body .c-desc {
font-size: 15px;
line-height: 1.6;
color: #4a3f5c;
margin: 0 0 16px;
flex: 1
}

.srvs .c-card .c-meta {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
padding: 0 16px 8px
}

.srvs .c-card .c-meta .m-item {
display: flex;
align-items: center;
gap: 4px;
font-size: 15px;
color: #5a4f6e
}

.srvs .c-card .c-meta .m-item .mi {
font-size: 17px;
color: #894DC1
}

.srvs .c-card .c-stats {
display: flex;
flex-direction: row;
gap: 16px;
padding: 0 16px 8px;
align-items: center
}

.srvs .c-card .c-stats .stat {
display: flex;
align-items: center;
gap: 4px;
font-size: 15px;
color: #7a6f8e
}

.srvs .c-card .c-stats .stat .mi {
font-size: 17px;
color: #FD3900
}

.srvs .c-card .c-footer {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding: 8px 16px 16px;
border-top: 1px solid #894dc11a;
gap: 8px
}

.srvs .c-card .c-footer .price-blk {
display: flex;
flex-direction: column;
gap: 4px
}

.srvs .c-card .c-footer .price-val {
font-size: 22px;
font-weight: 900;
color: #894DC1;
line-height: 1.1
}

.srvs .c-card .c-footer .price-des {
font-size: 15px;
color: #7a6f8e;
line-height: 1.4
}

.srvs .c-card .c-footer .seats {
font-size: 15px;
color: #FD3900;
font-weight: 700;
display: flex;
align-items: center;
gap: 4px
}

.srvs .c-card .c-footer .seats .mi {
font-size: 17px
}

.srvs .c-card .c-footer .go-btn {
display: inline-flex;
align-items: center;
gap: 8px;
background: linear-gradient(117deg, #894DC1 0%, #FD3900 100%);
color: #fff;
font-size: 15px;
font-weight: 700;
border-radius: 8px;
padding: 8px 16px;
text-decoration: none;
border: none;
cursor: pointer;
transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 3px 2px -1px #894dc10d
}

.srvs .c-card .c-footer .go-btn:hover {
transform: scale(1.06);
box-shadow: 0 6px 14px -1px #894dc11a
}

.srvs .c-card .c-footer .go-btn:focus {
outline: 2px solid #FD3900;
outline-offset: 2px
}

.srvs .c-card .c-footer .go-btn .mi {
font-size: 18px
}

.srvs .c-card:last-child .diamond-corner {
position: absolute;
bottom: 12px;
left: 12px;
width: 18px;
height: 18px;
background: #894DC1;
transform: rotate(45deg);
border-radius: 3px;
pointer-events: none;
opacity: .18
}

.srvs .divider-mono2 {
text-align: center;
padding: 8px 0;
font-size: 38px;
font-weight: 900;
color: #fd39001a;
letter-spacing: 8px;
user-select: none;
pointer-events: none
}

.srvs .metrics-strip {
background: linear-gradient(117deg, #894DC1 0%, #FD3900 100%);
padding: 48px;
position: relative
}

.srvs .metrics-strip .ms-inner {
max-width: 1500px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px
}

.srvs .metrics-strip .ms-item {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px
}

.srvs .metrics-strip .ms-item .ms-num {
font-size: 68px;
line-height: 1.1;
font-weight: 900;
color: #FBFCEA;
letter-spacing: -2px
}

.srvs .metrics-strip .ms-item .ms-label {
font-size: 15px;
line-height: 1.4;
color: #fbfcead1;
text-align: center;
text-transform: uppercase;
letter-spacing: .1em
}

.srvs .metrics-strip .ms-item .ms-icon {
font-size: 28px;
color: #fbfcea99
}

@keyframes desat-cycle {

0%,
100% {
filter: saturate(1)
}

50% {
filter: saturate(0.55)
}
}

.srvs .metrics-strip {
animation: desat-cycle 9s ease-in-out infinite
}

.srvs .about-strip {
max-width: 1500px;
margin: 0 auto;
padding: 48px 48px 0;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center
}

.srvs .about-strip .ab-img-wrap {
position: relative;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 12px 40px -1px #fd39001f;
aspect-ratio: 16/9
}

.srvs .about-strip .ab-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.srvs .about-strip .ab-img-wrap .ab-overlay {
position: absolute;
inset: 0;
background: linear-gradient(147deg, #fd390038 0%, #894dc161 100%);
pointer-events: none
}

.srvs .about-strip .ab-txt h2 {
font-size: 38px;
line-height: 1.1;
font-style: italic;
font-weight: 800;
color: #1b1b2e;
margin: 0 0 16px;
text-align: center
}

.srvs .about-strip .ab-txt h2 .acc {
color: #FD3900
}

.srvs .about-strip .ab-txt .ab-sub {
font-size: 15px;
line-height: 1.6;
color: #4a3f5c;
text-align: left;
margin: 0 0 16px
}

.srvs .about-strip .ab-txt .ab-cols {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px
}

.srvs .about-strip .ab-txt .ab-cols p {
font-size: 15px;
line-height: 1.6;
color: #4a3f5c;
margin: 0
}

.srvs .about-strip .ab-txt .underline-word {
position: relative;
display: inline-block
}

.srvs .about-strip .ab-txt .underline-word::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
height: 2px;
width: 0;
background: #894DC1;
animation: draw-line 1.2s cubic-bezier(0.4, 0, 0.2, 1) .4s forwards
}

@keyframes draw-line {
to {
width: 100%
}
}

.srvs .instructor-strip {
background: #fff;
border-right: 4px solid #FD3900;
padding: 48px 0
}

.srvs .instructor-strip .ins-inner {
max-width: 1500px;
margin: 0 auto;
padding: 0 48px;
display: grid;
grid-template-columns: auto 1fr;
gap: 48px;
align-items: start
}

.srvs .instructor-strip .ins-portrait {
width: 200px;
flex-shrink: 0;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 6px 14px -1px #894dc11a
}

.srvs .instructor-strip .ins-portrait img {
width: 200px;
height: 280px;
object-fit: cover;
object-position: top;
display: block
}

.srvs .instructor-strip .ins-txt h2 {
font-size: 38px;
line-height: 1.1;
font-style: italic;
font-weight: 800;
color: #1b1b2e;
margin: 0 0 8px;
text-align: center
}

.srvs .instructor-strip .ins-txt h2 .acc {
color: #894DC1
}

.srvs .instructor-strip .ins-txt .ins-name {
font-size: 22px;
font-weight: 700;
color: #FD3900;
margin: 0 0 8px;
text-align: left
}

.srvs .instructor-strip .ins-txt .ins-role {
font-size: 15px;
color: #7a6f8e;
margin: 0 0 16px;
text-align: left
}

.srvs .instructor-strip .ins-txt .ins-cols {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px
}

.srvs .instructor-strip .ins-txt .ins-cols p {
font-size: 15px;
line-height: 1.6;
color: #4a3f5c;
margin: 0
}

.srvs .instructor-strip .ins-skills {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
margin-top: 16px
}

.srvs .instructor-strip .ins-skills .sk {
background: #FBFCEA;
border: 1.5px solid #894dc138;
border-radius: 8px;
padding: 4px 12px;
font-size: 15px;
color: #3a3245
}

.srvs .faq-strip {
max-width: 1500px;
margin: 0 auto;
padding: 48px
}

.srvs .faq-strip h2 {
font-size: 38px;
line-height: 1.1;
font-style: italic;
font-weight: 800;
color: #1b1b2e;
margin: 0 0 8px;
text-align: center
}

.srvs .faq-strip h2 .acc {
color: #894DC1
}

.srvs .faq-strip .faq-sub {
font-size: 15px;
color: #4a3f5c;
text-align: left;
margin: 0 0 48px
}

.srvs .faq-list {
display: flex;
flex-direction: column;
gap: 16px
}

.srvs .faq-list .faq-item {
background: #fff;
border-radius: 12px;
border: 1.5px solid #894dc126;
box-shadow: 0 3px 2px -1px #894dc10d
}

.srvs .faq-list .faq-item input[type="checkbox"] {
position: absolute;
opacity: 0;
pointer-events: none;
width: 0;
height: 0
}

.srvs .faq-list .faq-item label {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding: 16px 24px;
cursor: pointer;
font-size: 22px;
font-weight: 700;
color: #1b1b2e;
line-height: 1.4;
gap: 16px
}

.srvs .faq-list .faq-item label .fq-icon {
font-size: 22px;
color: #894DC1;
flex-shrink: 0;
transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvs .faq-list .faq-item .faq-ans {
font-size: 15px;
line-height: 1.6;
color: #4a3f5c;
padding: 0 24px 16px;
display: none
}

.srvs .faq-list .faq-item.open .faq-ans {
display: block
}

.srvs .faq-list .faq-item.open label .fq-icon {
transform: rotate(45deg)
}

.srvs .cta-strip {
background: #FBFCEA;
border-top: 1px solid #894dc11f;
padding: 48px;
position: relative
}

.srvs .cta-strip .cta-inner {
max-width: 1500px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr auto;
gap: 48px;
align-items: center
}

.srvs .cta-strip .cta-txt h2 {
font-size: 38px;
line-height: 1.1;
font-style: italic;
font-weight: 800;
color: #1b1b2e;
margin: 0 0 8px;
text-align: center
}

.srvs .cta-strip .cta-txt h2 .acc {
color: #FD3900
}

.srvs .cta-strip .cta-txt p {
font-size: 15px;
line-height: 1.6;
color: #4a3f5c;
margin: 0
}

.srvs .cta-strip .cta-btn {
display: inline-flex;
align-items: center;
gap: 8px;
background: linear-gradient(117deg, #FD3900 0%, #894DC1 100%);
color: #FBFCEA;
font-size: 22px;
font-weight: 800;
border-radius: 8px;
padding: 16px 48px;
text-decoration: none;
border: none;
cursor: pointer;
transition: transform .2s cubic-bezier(0.0, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 6px 14px -1px #fd39001a;
white-space: nowrap
}

.srvs .cta-strip .cta-btn:hover {
transform: scale(1.07);
box-shadow: 0 12px 40px -1px #fd39001f
}

.srvs .cta-strip .cta-btn:focus {
outline: 2px solid #894DC1;
outline-offset: 3px
}

.srvs .cta-strip .cta-btn .mi {
font-size: 24px
}

.srvs .cta-strip .diamond-acc2 {
position: absolute;
top: 24px;
right: 24px;
width: 20px;
height: 20px;
background: #894DC1;
transform: rotate(45deg);
border-radius: 4px;
pointer-events: none;
opacity: .22
}

@media (max-width: 1024px) {
.srvs .pg-head {
grid-template-columns: 1fr;
padding: 48px 24px 0
}

.srvs .pg-head .img-card {
width: 100%;
margin-top: 0
}

.srvs .pg-head .img-card img {
width: 100%;
height: 260px
}

.srvs .courses-grid {
grid-template-columns: repeat(2, 1fr)
}

.srvs .courses-grid-wrap {
padding: 48px 24px 0
}

.srvs .metrics-strip .ms-inner {
grid-template-columns: repeat(2, 1fr);
padding: 0 24px
}

.srvs .metrics-strip {
padding: 48px 0
}

.srvs .about-strip {
grid-template-columns: 1fr;
padding: 48px 24px 0
}

.srvs .instructor-strip .ins-inner {
grid-template-columns: 1fr;
padding: 0 24px
}

.srvs .instructor-strip .ins-portrait {
width: 160px
}

.srvs .instructor-strip .ins-portrait img {
width: 160px;
height: 224px
}

.srvs .instructor-strip .ins-txt .ins-cols {
grid-template-columns: 1fr
}

.srvs .faq-strip {
padding: 48px 24px
}

.srvs .cta-strip {
padding: 48px 24px
}

.srvs .cta-strip .cta-inner {
grid-template-columns: 1fr;
gap: 24px
}

.srvs .about-strip .ab-txt .ab-cols {
grid-template-columns: 1fr
}
}

@media (max-width: 640px) {
.srvs .pg-head .txt-zone h1 {
font-size: 38px
}

.srvs .courses-grid {
grid-template-columns: 1fr
}

.srvs .metrics-strip .ms-inner {
grid-template-columns: 1fr 1fr
}

.srvs .metrics-strip .ms-item .ms-num {
font-size: 38px
}

.srvs .faq-list .faq-item label {
font-size: 15px
}

.srvs .cta-strip .cta-btn {
font-size: 15px;
padding: 16px 24px
}

.srvs .about-strip .ab-txt h2,
.srvs .instructor-strip .ins-txt h2,
.srvs .faq-strip h2,
.srvs .cta-strip .cta-txt h2,
.srvs .courses-grid-wrap h2 {
font-size: 28px
}
}

.suc-pg {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 48px 24px;
background: #FBFCEA;
position: relative;
overflow: hidden
}

.suc-pg::before {
content: '';
position: absolute;
top: -60px;
right: -60px;
width: 320px;
height: 320px;
background: linear-gradient(135deg, #894dc114 0%, #fd39000d 100%);
border-radius: 48px;
pointer-events: none
}

.suc-pg::after {
content: '';
position: absolute;
bottom: -80px;
left: -40px;
width: 260px;
height: 260px;
background: linear-gradient(225deg, #fd39000f 0%, #894dc112 100%);
border-radius: 48px;
pointer-events: none
}

.suc-wrap {
max-width: 560px;
width: 100%;
text-align: center;
position: relative;
z-index: 1
}

.suc-icon {
width: 72px;
height: 72px;
margin: 0 auto 24px;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, #894DC1 0%, #FD3900 100%);
border-radius: 48px;
box-shadow: 0 6px 14px -1px #894dc11a 0 12px 40px -1px #894dc11f
}

.suc-icon svg {
width: 36px;
height: 36px;
display: block
}

.suc-head {
font-size: 38px;
line-height: 1.1;
font-style: italic;
color: #1b0a2e;
margin: 0 0 16px;
letter-spacing: -.5px
}

.suc-head span {
display: inline-block;
position: relative;
color: #894DC1
}

.suc-head span::after {
content: '';
position: absolute;
bottom: -3px;
left: 0;
width: 100%;
height: 2px;
background: linear-gradient(90deg, #894DC1, #FD3900);
border-radius: 8px;
transform: scaleX(0);
transform-origin: left center;
animation: underline-draw .28s cubic-bezier(0.4, 0, 0.2, 1) .3s forwards
}

@keyframes underline-draw {
to {
transform: scaleX(1)
}
}

.suc-sub {
font-size: 15px;
line-height: 1.6;
color: #3a2250;
margin: 0 0 24px;
text-align: left
}

.suc-divider {
width: 48px;
height: 3px;
background: linear-gradient(90deg, #894DC1, #FD3900);
border-radius: 8px;
margin: 0 auto 24px
}

.suc-detail {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
background: #fff;
border-radius: 12px;
padding: 24px;
margin-bottom: 24px;
box-shadow: 0 3px 2px -1px #894dc10d 0 6px 14px -1px #894dc11a;
text-align: left
}

.suc-detail .det-icon {
flex-shrink: 0;
width: 40px;
height: 40px;
background: linear-gradient(135deg, #894dc11f 0%, #fd390014 100%);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center
}

.suc-detail .det-icon svg {
width: 20px;
height: 20px
}

.suc-detail .det-body {
flex: 1
}

.suc-detail .det-body h4 {
font-size: 15px;
line-height: 1.4;
color: #1b0a2e;
margin: 0 0 4px;
font-style: italic
}

.suc-detail .det-body p {
font-size: 15px;
line-height: 1.6;
color: #3a2250;
margin: 0
}

.suc-actions {
display: flex;
flex-direction: row;
gap: 16px;
justify-content: center;
flex-wrap: wrap
}

.suc-btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 16px 24px;
border-radius: 12px;
font-size: 15px;
line-height: 1.4;
font-weight: 600;
text-decoration: none;
border: none;
cursor: pointer;
transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.0, 0, 0.2, 1)
}

.suc-btn.primary {
background: linear-gradient(135deg, #894DC1 0%, #FD3900 100%);
color: #FBFCEA;
box-shadow: 0 6px 14px -1px #894dc11a
}

.suc-btn.primary:hover,
.suc-btn.primary:focus {
transform: scale(1.04);
box-shadow: 0 12px 40px -1px #894dc11f;
outline: none
}

.suc-btn.primary:active {
transform: scale(0.98);
box-shadow: inset 0 4px 8px #894dc126 0 3px 2px -1px #894dc10d
}

.suc-btn.secondary {
background: #fff;
color: #894DC1;
border: 1.5px solid #894DC1;
box-shadow: 0 3px 2px -1px #894dc10d
}

.suc-btn.secondary:hover,
.suc-btn.secondary:focus {
transform: scale(1.04);
background: #894dc10d;
box-shadow: 0 6px 14px -1px #894dc11a;
outline: none
}

.suc-btn.secondary:active {
transform: scale(0.98);
box-shadow: inset 0 5px 10px #894dc11a
}

.suc-btn svg {
width: 18px;
height: 18px;
flex-shrink: 0
}

.suc-note {
margin-top: 24px;
font-size: 15px;
line-height: 1.6;
color: #5c3d7a;
text-align: left
}

.suc-note a {
color: #894DC1;
text-decoration: underline;
text-decoration-color: #894dc166;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), text-decoration-color .24s cubic-bezier(0.0, 0, 0.2, 1)
}

.suc-note a:hover {
color: #FD3900;
text-decoration-color: #fd390099
}

@media (max-width: 640px) {
.suc-pg {
padding: 48px 16px
}

.suc-head {
font-size: 28px
}

.suc-actions {
flex-direction: column;
align-items: stretch
}

.suc-btn {
justify-content: center
}

.suc-detail {
flex-direction: column;
gap: 8px
}
}