@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;700&display=swap');

body {
margin: 0;
min-height: 100dvh;
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
word-break: break-word;
overflow-wrap: anywhere;
}

.top-bar {
background: linear-gradient(135deg, #B646BD 0%, #9a38a0 100%);
padding: 6px 24px;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 24px;
}

.top-bar-contact {
display: flex;
align-items: center;
gap: 24px;
}

.top-bar-link {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #FEFDFE;
text-decoration: none;
transition: opacity 0.15s ease-out;
}

.top-bar-link:hover {
opacity: 0.8;
}

.top-bar-link:focus {
transform: scale(1.02);
outline: 2px solid #FEFDFE;
outline-offset: 2px;
border-radius: 0px;
}

.top-bar-sep {
color: #DFA8DA;
font-size: 15px;
font-family: 'IBM Plex Sans', sans-serif;
}

.site-header {
background: #FEFDFE;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
position: relative;
overflow: hidden;
}

.header-bg-shape {
position: absolute;
top: -40px;
right: -80px;
width: 420px;
height: 220px;
background: linear-gradient(120deg, rgba(223, 168, 218, 0.22) 0%, rgba(182, 70, 189, 0.08) 100%);
border-radius: 0px 0px 0px 20px;
pointer-events: none;
z-index: 0;
}

.header-bg-shape-2 {
position: absolute;
bottom: 0;
left: 0;
width: 180px;
height: 6px;
background: linear-gradient(90deg, #B646BD 0%, #DFA8DA 100%);
pointer-events: none;
z-index: 0;
}

.header-inner {
max-width: 1400px;
margin: 0 auto;
padding: 24px 40px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 40px;
position: relative;
z-index: 1;
}

.brand-box {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 6px;
flex-shrink: 0;
}

.logo-pill {
display: flex;
align-items: center;
gap: 12px;
background: rgba(254, 253, 254, 0.85);
border: 1.5px solid rgba(182, 70, 189, 0.25);
border-radius: 20px;
padding: 6px 24px 6px 12px;
box-shadow: 0 3px 3px 0 rgba(182, 70, 189, 0.07), inset 0 1px 4px 0 rgba(182, 70, 189, 0.06);
}

.logo-pill img {
width: 54px;
height: 54px;
object-fit: contain;
display: block;
}

.brand-name {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 30px;
font-weight: 700;
line-height: 1.2;
letter-spacing: 0.02em;
color: #2a0a2d;
}

.brand-rule {
width: 100%;
height: 2px;
background: linear-gradient(90deg, #B646BD 0%, rgba(223, 168, 218, 0.3) 100%);
border: none;
margin: 0;
border-radius: 0px;
}

.main-nav {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 6px 12px;
}

.nav-link {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.4;
letter-spacing: 0.02em;
color: #2a0a2d;
text-decoration: none;
padding: 12px 24px;
border-radius: 0px;
border: 1.5px solid transparent;
transition: color 0.15s ease-out, border-color 0.15s ease-out, background 0.15s ease-out;
text-transform: uppercase;
white-space: nowrap;
min-height: 44px;
display: flex;
align-items: center;
}

.nav-link:hover {
color: #B646BD;
border-color: #B646BD;
background: rgba(182, 70, 189, 0.05);
animation: border-once 0.18s ease-out;
}

.nav-link:focus {
transform: scale(1.02);
outline: 2px solid #B646BD;
outline-offset: 2px;
color: #B646BD;
}

.nav-link-active {
color: #B646BD;
border-color: rgba(182, 70, 189, 0.3);
background: rgba(182, 70, 189, 0.06);
}

@keyframes border-once {
0% {
border-color: transparent;
}

50% {
border-color: #B646BD;
box-shadow: 0 0 0 2px rgba(182, 70, 189, 0.18);
}

100% {
border-color: #B646BD;
box-shadow: none;
}
}

@media (max-width: 900px) {
.header-inner {
padding: 24px;
gap: 24px;
flex-wrap: wrap;
}

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

.header-bg-shape {
width: 260px;
height: 160px;
}
}

@media (max-width: 600px) {
.top-bar-contact {
gap: 12px;
}

.top-bar {
padding: 6px 12px;
flex-wrap: wrap;
justify-content: center;
}

.header-inner {
padding: 24px 12px;
}

.nav-link {
padding: 12px 12px;
font-size: 15px;
}

.brand-name {
font-size: 30px;
}
}

.site-footer {
background: linear-gradient(160deg, #B646BD 0%, #7a2080 100%);
padding: 80px 0 0 0;
}

.footer-inner {
max-width: 1400px;
margin: 0 auto;
padding: 0 40px;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
gap: 40px;
}

.footer-brand-col {
display: flex;
flex-direction: column;
gap: 24px;
}

.footer-logo-pill {
display: flex;
align-items: center;
gap: 12px;
background: rgba(254, 253, 254, 0.12);
border: 1.5px solid rgba(254, 253, 254, 0.25);
border-radius: 20px;
padding: 6px 24px 6px 12px;
box-shadow: 0 3px 3px 0 rgba(182, 70, 189, 0.07);
width: fit-content;
}

.footer-logo-pill img {
width: 54px;
height: 54px;
object-fit: contain;
display: block;
background: rgba(254, 253, 254, 0.9);
border-radius: 20px;
padding: 6px;
}

.footer-brand-name {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 30px;
font-weight: 700;
line-height: 1.2;
letter-spacing: 0.02em;
color: #FEFDFE;
}

.footer-desc {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: rgba(254, 253, 254, 0.82);
}

.footer-contact-block {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 6px;
}

.footer-contact-label {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.4;
letter-spacing: 0.02em;
color: #DFA8DA;
text-transform: uppercase;
}

.footer-contact-val {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #FEFDFE;
text-decoration: none;
transition: opacity 0.12s ease-out;
display: block;
}

.footer-contact-val:hover {
opacity: 0.75;
}

.footer-contact-val:focus {
transform: scale(1.02);
outline: 2px solid #DFA8DA;
outline-offset: 2px;
border-radius: 0px;
}

.footer-addr {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: rgba(254, 253, 254, 0.82);
}

.footer-nav-col {
display: flex;
flex-direction: column;
gap: 12px;
}

.footer-col-head {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.4;
letter-spacing: 0.02em;
color: #DFA8DA;
text-transform: uppercase;
margin-bottom: 6px;
}

.footer-nav-link {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: rgba(254, 253, 254, 0.85);
text-decoration: none;
transition: color 0.12s ease-out;
display: block;
min-height: 44px;
display: flex;
align-items: center;
}

.footer-nav-link:hover {
color: #FEFDFE;
}

.footer-nav-link:focus {
transform: scale(1.02);
outline: 2px solid #DFA8DA;
outline-offset: 2px;
border-radius: 0px;
color: #FEFDFE;
}

.footer-bottom {
margin-top: 80px;
border-top: 1px solid rgba(254, 253, 254, 0.15);
padding: 24px 40px;
max-width: 1400px;
margin-left: auto;
margin-right: auto;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 12px;
}

.footer-copy {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.01em;
color: rgba(254, 253, 254, 0.6);
}

.footer-bottom-links {
display: flex;
align-items: center;
gap: 24px;
flex-wrap: wrap;
}

.footer-bottom-link {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.01em;
color: rgba(254, 253, 254, 0.6);
text-decoration: none;
transition: color 0.12s ease-out;
}

.footer-bottom-link:hover {
color: #FEFDFE;
}

.footer-bottom-link:focus {
transform: scale(1.02);
outline: 2px solid #DFA8DA;
outline-offset: 2px;
border-radius: 0px;
color: #FEFDFE;
}

@media (max-width: 1200px) {
.footer-inner {
grid-template-columns: 1fr 1fr;
gap: 40px;
}
}

@media (max-width: 900px) {
.footer-inner {
grid-template-columns: 1fr 1fr;
padding: 0 24px;
gap: 40px;
}

.footer-bottom {
padding: 24px;
}
}

@media (max-width: 600px) {
.footer-inner {
grid-template-columns: 1fr;
padding: 0 12px;
gap: 40px;
}

.footer-bottom {
padding: 24px 12px;
flex-direction: column;
align-items: flex-start;
}

.footer-bottom-links {
gap: 12px;
}
}

.ck-bar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 1000;
background: #FEFDFE;
box-shadow: 0 9px 44px 0 rgba(182, 70, 189, 0.12);
border-top: 2px solid #B646BD;
transform: translateY(100%);
transition: transform 0.26s ease-out;
display: none;
}

.ck-bar.ck-visible {
transform: translateY(0);
}

.ck-bar-inner {
max-width: 1400px;
margin: 0 auto;
padding: 24px 40px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
flex-wrap: wrap;
}

.ck-text-box {
display: flex;
flex-direction: column;
gap: 6px;
flex: 1;
min-width: 220px;
}

.ck-desc {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #2a0a2d;
}

.ck-head {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.4;
letter-spacing: 0.02em;
color: #2a0a2d;
}

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

.ck-btn {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.4;
letter-spacing: 0.02em;
text-transform: uppercase;
padding: 12px 24px;
border-radius: 0px;
border: 2px solid #B646BD;
cursor: pointer;
min-height: 44px;
min-width: 120px;
transition: transform 0.12s ease-out, background 0.15s ease-out, color 0.15s ease-out;
}

.ck-btn:hover {
transform: scale(1.04);
}

.ck-btn:focus {
transform: scale(1.02);
outline: 2px solid #B646BD;
outline-offset: 2px;
}

.ck-accept {
background: #B646BD;
color: #FEFDFE;
}

.ck-accept:hover {
background: #9a38a0;
}

.ck-decline {
background: transparent;
color: #B646BD;
}

.ck-decline:hover {
background: rgba(182, 70, 189, 0.07);
}

@media (max-width: 600px) {
.ck-bar-inner {
padding: 24px 12px;
flex-direction: column;
align-items: flex-start;
}

.ck-btns {
width: 100%;
}

.ck-btn {
flex: 1;
}
}

.policy-data {
max-width: 1400px;
margin: 0 auto;
padding: 80px 40px;
color: #2a1a2e;
line-height: 1.9;
}

.policy-data h1 {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #B646BD;
margin-bottom: 40px;
margin-top: 0;
padding-bottom: 24px;
border-bottom: 2px solid #DFA8DA;
}

.policy-data h2 {
font-size: 30px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #2a1a2e;
margin-top: 80px;
margin-bottom: 24px;
padding-left: 12px;
border-left: 4px solid #B646BD;
border-bottom: 1px solid #DFA8DA;
padding-bottom: 12px;
}

.policy-data h3 {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #B646BD;
text-transform: uppercase;
margin-top: 40px;
margin-bottom: 12px;
font-weight: 700;
}

.policy-data h4 {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #2a1a2e;
margin-top: 24px;
margin-bottom: 12px;
font-weight: 700;
}

.policy-data h5 {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #5c3d60;
margin-top: 24px;
margin-bottom: 6px;
font-weight: 600;
}

.policy-data h6 {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #7a5080;
margin-top: 12px;
margin-bottom: 6px;
font-weight: 600;
}

.policy-data ul {
margin: 24px 0;
padding-left: 24px;
list-style: none;
}

.policy-data ol {
margin: 24px 0;
padding-left: 40px;
list-style: decimal;
}

.policy-data ul li {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.01em;
color: #2a1a2e;
margin-bottom: 6px;
padding-left: 12px;
position: relative;
}

.policy-data ul li::before {
content: "";
position: absolute;
left: -6px;
top: 12px;
width: 6px;
height: 6px;
background-color: #B646BD;
border-radius: 0px;
transform: rotate(45deg);
}

.policy-data ol li {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.01em;
color: #2a1a2e;
margin-bottom: 6px;
padding-left: 6px;
}

.policy-data ul ul,
.policy-data ol ul,
.policy-data ul ol,
.policy-data ol ol {
margin: 6px 0;
padding-left: 24px;
}

.policy-data ul ul li::before {
background-color: #DFA8DA;
width: 4px;
height: 4px;
top: 13px;
}

.policy-data strong,
.policy-data b {
font-weight: 700;
color: #1a0d1e;
letter-spacing: 0.01em;
}

.policy-data em,
.policy-data i {
font-style: italic;
color: #5c3d60;
}

.policy-data div {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.01em;
}

.policy-data div+div {
margin-top: 12px;
}

@media (max-width: 1200px) {
.policy-data {
padding: 80px 40px;
}
}

@media (max-width: 900px) {
.policy-data {
padding: 40px 24px;
}

.policy-data h1 {
font-size: 30px;
}

.policy-data h2 {
font-size: 15px;
margin-top: 40px;
}

.policy-data h2 {
font-size: 30px;
}
}

@media (max-width: 600px) {
.policy-data {
padding: 40px 12px;
}

.policy-data h1 {
font-size: 30px;
margin-bottom: 24px;
padding-bottom: 12px;
}

.policy-data h2 {
font-size: 15px;
margin-top: 40px;
padding-left: 6px;
}

.policy-data ul {
padding-left: 12px;
}

.policy-data ol {
padding-left: 24px;
}
}

.lpd {
max-width: 1400px;
margin: 0 auto;
padding: 0;
overflow: hidden;
}

.lpd .top-band {
background: linear-gradient(143deg, #B646BD 0%, #DFA8DA 55%, #FEFDFE 100%);
padding: 80px 40px;
position: relative;
}

.lpd .top-band::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background:
radial-gradient(circle at 15% 30%, rgba(182, 70, 189, 0.18) 0%, transparent 40%),
radial-gradient(circle at 80% 70%, rgba(223, 168, 218, 0.22) 0%, transparent 45%),
radial-gradient(circle at 50% 10%, rgba(182, 70, 189, 0.10) 0%, transparent 35%);
pointer-events: none;
}

.lpd .top-band .circles-bg {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
overflow: hidden;
}

.lpd .top-band .circles-bg span {
position: absolute;
border-radius: 20px;
border: 1.5px solid rgba(182, 70, 189, 0.13);
background: transparent;
}

.lpd .top-band .circles-bg span:nth-child(1) {
width: 220px;
height: 220px;
top: -60px;
right: 120px;
}

.lpd .top-band .circles-bg span:nth-child(2) {
width: 120px;
height: 120px;
bottom: 30px;
left: 80px;
border-color: rgba(223, 168, 218, 0.2);
}

.lpd .top-band .circles-bg span:nth-child(3) {
width: 80px;
height: 80px;
top: 40px;
left: 40%;
border-color: rgba(182, 70, 189, 0.09);
}

.lpd .top-band .tb-inner {
display: flex;
flex-direction: row;
gap: 40px;
position: relative;
z-index: 1;
align-items: flex-start;
}

.lpd .top-band .tb-left {
flex: 0 0 340px;
display: flex;
flex-direction: column;
gap: 24px;
}

.lpd .top-band .tb-right {
flex: 1;
display: flex;
flex-direction: column;
gap: 24px;
}

.lpd .top-band .img-wrap {
border-radius: 20px;
overflow: hidden;
box-shadow: 0 9px 44px 0 rgba(182, 70, 189, 0.12);
position: relative;
background: #DFA8DA;
}

.lpd .top-band .img-wrap img {
width: 100%;
height: 240px;
object-fit: cover;
display: block;
filter: saturate(0.9) contrast(1.04);
transition: opacity 0.18s ease-out;
}

.lpd .top-band .img-wrap .img-texture {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(143deg, rgba(182, 70, 189, 0.18) 0%, transparent 60%);
pointer-events: none;
}

.lpd .top-band .meta-row {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 12px;
align-items: center;
}

.lpd .top-band .cat-badge {
background: rgba(182, 70, 189, 0.15);
color: #7a1f80;
border-radius: 20px;
padding: 6px 12px;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.01em;
font-weight: 600;
box-shadow: inset 0 2px 6px rgba(182, 70, 189, 0.10);
}

.lpd .top-band .user-badge {
background: rgba(223, 168, 218, 0.25);
color: #5c1060;
border-radius: 20px;
padding: 6px 12px;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.01em;
}

.lpd .top-band .tb-heading {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #2a0a2e;
font-weight: 700;
margin: 0;
}

.lpd .top-band .tb-sub {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #3d1042;
}

.lpd .top-band .stats-row {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 12px;
}

.lpd .top-band .stat-item {
background: rgba(254, 253, 254, 0.7);
border-radius: 20px;
padding: 12px 24px;
display: flex;
flex-direction: column;
gap: 6px;
box-shadow: 0 3px 3px 0 rgba(182, 70, 189, 0.07);
}

.lpd .top-band .stat-label {
font-size: 15px;
line-height: 1.4;
color: #7a1f80;
letter-spacing: 0.02em;
text-transform: uppercase;
font-weight: 600;
}

.lpd .top-band .stat-val {
font-size: 30px;
line-height: 1.2;
color: #2a0a2e;
font-weight: 700;
letter-spacing: 0.01em;
}

.lpd .top-band .price-card {
background: rgba(254, 253, 254, 0.92);
border-radius: 20px;
padding: 24px;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
display: flex;
flex-direction: column;
gap: 12px;
}

.lpd .top-band .price-main {
font-size: 42px;
line-height: 1.2;
font-weight: 700;
color: #B646BD;
letter-spacing: 0.01em;
}

.lpd .top-band .price-desc {
font-size: 15px;
line-height: 1.6;
color: #3d1042;
letter-spacing: 0.01em;
}

.lpd .top-band .price-note {
font-size: 15px;
line-height: 1.4;
color: #7a1f80;
font-style: italic;
letter-spacing: 0.01em;
}

.lpd .top-band .seats-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
}

.lpd .top-band .seats-indicator {
flex: 1;
height: 6px;
background: rgba(182, 70, 189, 0.15);
border-radius: 20px;
overflow: hidden;
}

.lpd .top-band .seats-fill {
height: 100%;
background: linear-gradient(143deg, #B646BD, #DFA8DA);
border-radius: 20px;
width: 72%;
}

.lpd .top-band .seats-txt {
font-size: 15px;
color: #5c1060;
line-height: 1.4;
letter-spacing: 0.01em;
white-space: nowrap;
}

.lpd .top-band .enroll-btn {
display: block;
width: 100%;
background: #B646BD;
color: #FEFDFE;
border: none;
border-radius: 20px;
padding: 12px 24px;
font-size: 15px;
font-weight: 700;
letter-spacing: 0.02em;
text-transform: uppercase;
cursor: pointer;
text-align: center;
text-decoration: none;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
transition: transform 0.15s ease-out, box-shadow 0.15s ease-out;
position: relative;
}

.lpd .top-band .enroll-btn:hover {
transform: scale(1.03);
box-shadow: 0 9px 44px 0 rgba(182, 70, 189, 0.12);
}

.lpd .top-band .enroll-btn:focus {
outline: 3px solid #7a1f80;
outline-offset: 3px;
}

.lpd .top-band .readtime-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
}

.lpd .top-band .readtime-icon {
width: 20px;
height: 20px;
flex-shrink: 0;
}

.lpd .top-band .readtime-txt {
font-size: 15px;
color: #5c1060;
line-height: 1.4;
letter-spacing: 0.01em;
}

.lpd .detail-body {
padding: 80px 40px;
background: #FEFDFE;
position: relative;
}

.lpd .detail-body::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(143deg, #B646BD, #DFA8DA, transparent);
}

.lpd .detail-body .diag-line {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
overflow: hidden;
}

.lpd .detail-body .diag-line::after {
content: "";
position: absolute;
top: -10%;
left: -5%;
width: 120%;
height: 2px;
background: linear-gradient(143deg, transparent, rgba(182, 70, 189, 0.07), transparent);
transform: rotate(-8deg);
transform-origin: left center;
}

.lpd .detail-body .body-grid {
display: grid;
grid-template-columns: 260px 1fr;
gap: 40px;
position: relative;
z-index: 1;
}

.lpd .detail-body .sidebar {
display: flex;
flex-direction: column;
gap: 24px;
}

.lpd .detail-body .sidebar-card {
background: #fff;
border-radius: 20px;
padding: 24px;
box-shadow: 0 3px 3px 0 rgba(182, 70, 189, 0.07);
display: flex;
flex-direction: column;
gap: 12px;
position: relative;
overflow: hidden;
}

.lpd .detail-body .sidebar-card::after {
content: "";
position: absolute;
inset: 0;
border-radius: 20px;
box-shadow: inset 0 2px 8px rgba(182, 70, 189, 0.06);
pointer-events: none;
}

.lpd .detail-body .sidebar-card-title {
font-size: 15px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.02em;
color: #B646BD;
line-height: 1.4;
}

.lpd .detail-body .sidebar-item {
display: flex;
flex-direction: column;
gap: 6px;
padding: 6px 0;
border-bottom: 1px solid rgba(182, 70, 189, 0.08);
}

.lpd .detail-body .sidebar-item:last-child {
border-bottom: none;
}

.lpd .detail-body .sidebar-item-label {
font-size: 15px;
color: #7a1f80;
line-height: 1.4;
letter-spacing: 0.01em;
}

.lpd .detail-body .sidebar-item-val {
font-size: 15px;
color: #2a0a2e;
font-weight: 600;
line-height: 1.4;
letter-spacing: 0.01em;
}

.lpd .detail-body .contact-link {
display: block;
text-align: center;
background: rgba(182, 70, 189, 0.08);
color: #B646BD;
border-radius: 20px;
padding: 12px 24px;
font-size: 15px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.02em;
text-decoration: none;
transition: background 0.18s ease-out, transform 0.12s ease-out;
}

.lpd .detail-body .contact-link:hover {
background: rgba(182, 70, 189, 0.15);
transform: scale(1.02);
}

.lpd .detail-body .contact-link:focus {
outline: 3px solid #B646BD;
outline-offset: 3px;
}

.lpd .detail-body .main-col {
display: flex;
flex-direction: column;
gap: 40px;
}

.lpd .detail-body .desc-block {
display: flex;
flex-direction: column;
gap: 12px;
}

.lpd .detail-body .desc-block .block-heading {
font-size: 30px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #2a0a2e;
font-weight: 700;
text-transform: uppercase;
margin: 0;
}

.lpd .detail-body .desc-block .desc-text {
font-size: 15px;
line-height: 1.9;
color: #3d1042;
letter-spacing: 0.01em;
}

.lpd .detail-body .desc-block .desc-text p {
margin: 0 0 12px;
}

.lpd .detail-body .desc-block .desc-text p:last-child {
margin-bottom: 0;
}

.lpd .detail-body .desc-block .desc-text h2 {
font-size: 30px;
line-height: 1.2;
color: #2a0a2e;
font-weight: 700;
margin: 24px 0 12px;
letter-spacing: 0.01em;
}

.lpd .detail-body .desc-block .desc-text ul {
margin: 0 0 12px;
padding-left: 24px;
}

.lpd .detail-body .desc-block .desc-text li {
font-size: 15px;
line-height: 1.6;
color: #3d1042;
margin-bottom: 6px;
letter-spacing: 0.01em;
}

.lpd .detail-body .desc-block .desc-text blockquote {
border-left: none;
background: rgba(182, 70, 189, 0.06);
border-radius: 20px;
padding: 24px;
margin: 12px 0;
font-style: italic;
color: #5c1060;
font-size: 15px;
line-height: 1.6;
box-shadow: inset 0 2px 8px rgba(182, 70, 189, 0.07);
}

.lpd .detail-body .desc-block .desc-text abbr {
text-decoration: underline dotted;
cursor: help;
}

.lpd .detail-body .desc-block .desc-text em {
color: #B646BD;
font-style: italic;
}

.lpd .detail-body .desc-block .desc-text figure {
margin: 24px 0;
border-radius: 20px;
overflow: hidden;
}

.lpd .detail-body .desc-block .desc-text figcaption {
font-size: 15px;
color: #7a1f80;
margin-top: 6px;
font-style: italic;
}

.lpd .detail-body .desc-block .desc-text cite {
font-size: 15px;
color: #7a1f80;
font-style: italic;
}

.lpd .detail-body .prog-block {
display: flex;
flex-direction: column;
gap: 12px;
}

.lpd .detail-body .prog-block .block-heading {
font-size: 30px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #2a0a2e;
font-weight: 700;
text-transform: uppercase;
margin: 0;
}

.lpd .detail-body .prog-block .prog-text {
font-size: 15px;
line-height: 1.9;
color: #3d1042;
letter-spacing: 0.01em;
}

.lpd .detail-body .prog-block .prog-text p {
margin: 0 0 12px;
}

.lpd .detail-body .prog-block .prog-text p:last-child {
margin-bottom: 0;
}

.lpd .detail-body .prog-block .prog-text h2 {
font-size: 30px;
line-height: 1.2;
color: #2a0a2e;
font-weight: 700;
margin: 24px 0 12px;
letter-spacing: 0.01em;
}

.lpd .detail-body .prog-block .prog-text h3 {
font-size: 15px;
line-height: 1.4;
color: #B646BD;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.02em;
margin: 12px 0 6px;
}

.lpd .detail-body .prog-block .prog-text ul {
margin: 0 0 12px;
padding-left: 24px;
}

.lpd .detail-body .prog-block .prog-text li {
font-size: 15px;
line-height: 1.6;
color: #3d1042;
margin-bottom: 6px;
letter-spacing: 0.01em;
}

.lpd .detail-body .prog-block .prog-text dl {
margin: 0 0 12px;
}

.lpd .detail-body .prog-block .prog-text dt {
font-size: 15px;
font-weight: 700;
color: #2a0a2e;
margin-top: 12px;
letter-spacing: 0.01em;
}

.lpd .detail-body .prog-block .prog-text dd {
font-size: 15px;
color: #3d1042;
margin-left: 24px;
line-height: 1.6;
letter-spacing: 0.01em;
}

.lpd .detail-body .prog-block .prog-text blockquote {
border-left: none;
background: rgba(182, 70, 189, 0.06);
border-radius: 20px;
padding: 24px;
margin: 12px 0;
font-style: italic;
color: #5c1060;
font-size: 15px;
line-height: 1.6;
box-shadow: inset 0 2px 8px rgba(182, 70, 189, 0.07);
}

.lpd .detail-body .prog-block .prog-text abbr {
text-decoration: underline dotted;
cursor: help;
}

.lpd .detail-body .prog-block .prog-text em {
color: #B646BD;
font-style: italic;
}

.lpd .detail-body .prog-steps {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}

.lpd .detail-body .step-card {
background: #fff;
border-radius: 20px;
padding: 24px;
box-shadow: 0 3px 3px 0 rgba(182, 70, 189, 0.07);
display: flex;
flex-direction: column;
gap: 6px;
position: relative;
overflow: hidden;
transition: box-shadow 0.18s ease-out;
}

.lpd .detail-body .step-card::before {
content: "";
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 0;
background: linear-gradient(143deg, rgba(182, 70, 189, 0.07), rgba(223, 168, 218, 0.07));
transition: height 0.16s ease-out;
border-radius: 0 0 20px 20px;
}

.lpd .detail-body .step-card:hover::before {
height: 100%;
}

.lpd .detail-body .step-card:hover {
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
}

.lpd .detail-body .step-num {
font-size: 30px;
font-weight: 700;
color: rgba(182, 70, 189, 0.25);
line-height: 1.2;
letter-spacing: 0.01em;
}

.lpd .detail-body .step-title {
font-size: 15px;
font-weight: 700;
color: #2a0a2e;
line-height: 1.4;
letter-spacing: 0.01em;
}

.lpd .detail-body .step-body {
font-size: 15px;
color: #3d1042;
line-height: 1.6;
letter-spacing: 0.01em;
}

@keyframes bgpan {
0% {
background-position: 50% 100%;
}

100% {
background-position: 50% 0%;
}
}

@media (max-width: 1200px) {
.lpd .top-band .tb-inner {
flex-direction: column;
}

.lpd .top-band .tb-left {
flex: none;
width: 100%;
}

.lpd .top-band .img-wrap img {
height: 300px;
}

.lpd .detail-body .body-grid {
grid-template-columns: 220px 1fr;
}
}

@media (max-width: 900px) {
.lpd .top-band {
padding: 40px 24px;
}

.lpd .detail-body {
padding: 40px 24px;
}

.lpd .detail-body .body-grid {
grid-template-columns: 1fr;
}

.lpd .detail-body .sidebar {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}

.lpd .detail-body .prog-steps {
grid-template-columns: 1fr;
}
}

@media (max-width: 600px) {
.lpd .top-band {
padding: 24px 12px;
}

.lpd .top-band .tb-heading {
font-size: 30px;
}

.lpd .top-band .stats-row {
flex-direction: column;
}

.lpd .detail-body {
padding: 24px 12px;
}

.lpd .detail-body .sidebar {
grid-template-columns: 1fr;
}

.lpd .detail-body .prog-steps {
grid-template-columns: 1fr;
}

.lpd .detail-body .desc-block .block-heading,
.lpd .detail-body .prog-block .block-heading {
font-size: 30px;
}
}

.lp-prog {
background: #fff;
overflow-x: hidden;
}

.lp-prog .grid-max {
max-width: 1400px;
margin-left: auto;
margin-right: auto;
padding-left: 24px;
padding-right: 24px;
}

.lp-prog .divider-grad {
height: 2px;
background: linear-gradient(143deg, #B646BD, #DFA8DA, transparent);
border: none;
margin: 0;
}

.lp-prog ::selection {
background: rgba(182, 70, 189, 0.15);
color: #1a1a1a;
}

.lp-prog .tag-badge {
display: inline-block;
background: rgba(182, 70, 189, 0.1);
color: #8a1f90;
font-size: 15px;
line-height: 1.2;
letter-spacing: 0.02em;
padding: 6px 12px;
border-radius: 20px;
border: 1px solid rgba(182, 70, 189, 0.25);
text-transform: uppercase;
}

.lp-prog .accent-italic {
font-style: italic;
color: #DFA8DA;
}

@keyframes lp-appear {
0% {
transform: scale(0.8);
opacity: 0;
}

70% {
transform: scale(1.04);
opacity: 1;
}

100% {
transform: scale(1);
opacity: 1;
}
}

@keyframes lp-border-pulse {
0% {
border-color: #B646BD;
}

50% {
border-color: #DFA8DA;
}

100% {
border-color: #B646BD;
}
}

@keyframes lp-stat-pulse {
0% {
box-shadow: 0 0 0 0 rgba(182, 70, 189, 0.3);
}

60% {
box-shadow: 0 0 0 8px rgba(182, 70, 189, 0);
}

100% {
box-shadow: 0 0 0 0 rgba(182, 70, 189, 0);
}
}

.lp-prog .appear-anim {
animation: lp-appear 0.2s ease-out forwards;
}

.lp-prog .stat-pulse {
animation: lp-stat-pulse 2.4s ease-out infinite;
}

.lp-prog a {
text-decoration: none;
color: inherit;
}

.lp-prog .btn-primary {
display: inline-block;
background: #B646BD;
color: #fff;
font-size: 15px;
line-height: 1.2;
letter-spacing: 0.02em;
padding: 12px 24px;
border-radius: 20px;
border: 2px solid #B646BD;
text-transform: uppercase;
cursor: pointer;
transition: transform 0.15s ease-out, background 0.15s ease-out;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
}

.lp-prog .btn-primary:hover {
transform: scale(1.05);
background: #9a35a1;
}

.lp-prog .btn-outline {
display: inline-block;
background: transparent;
color: #B646BD;
font-size: 15px;
line-height: 1.2;
letter-spacing: 0.02em;
padding: 12px 24px;
border-radius: 20px;
border: 2px solid #B646BD;
text-transform: uppercase;
cursor: pointer;
transition: transform 0.12s ease-out, border-color 0.12s ease-out;
}

.lp-prog .btn-outline:hover {
transform: scale(1.05);
animation: lp-border-pulse 0.5s ease-out 1;
}

.lp-prog .section-divider {
height: 2px;
background: linear-gradient(143deg, #B646BD 0%, #DFA8DA 60%, transparent 100%);
margin: 0;
border: none;
}

.lp-prog .double-border {
border: 2px solid #B646BD;
box-shadow: inset 0 0 0 4px rgba(223, 168, 218, 0.18), 0 3px 3px 0 rgba(182, 70, 189, 0.07);
}

.lp-prog .corner-tag {
position: absolute;
top: 12px;
right: 12px;
background: #B646BD;
color: #fff;
font-size: 15px;
line-height: 1.2;
letter-spacing: 0.01em;
padding: 6px 12px;
border-radius: 20px;
text-transform: uppercase;
z-index: 2;
}

.lp-prog .corner-tag-alt {
position: absolute;
top: 12px;
left: 12px;
background: rgba(223, 168, 218, 0.9);
color: #5a0060;
font-size: 15px;
line-height: 1.2;
letter-spacing: 0.01em;
padding: 6px 12px;
border-radius: 20px;
text-transform: uppercase;
z-index: 2;
}

.lp-prog .title-zone {
padding-top: 80px;
padding-bottom: 40px;
background: #FEFDFE;
}

.lp-prog .title-zone .grid-max {
display: flex;
flex-direction: row;
align-items: center;
gap: 40px;
}

.lp-prog .title-text-col {
flex: 0 0 45%;
display: flex;
flex-direction: column;
gap: 24px;
}

.lp-prog .title-mosaic {
flex: 1 1 0;
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto auto;
gap: 12px;
position: relative;
}

.lp-prog .mosaic-shape-a {
background: linear-gradient(143deg, #B646BD 0%, #DFA8DA 100%);
border-radius: 20px;
grid-column: 1 / 2;
grid-row: 1 / 2;
height: 120px;
}

.lp-prog .mosaic-shape-b {
background: rgba(182, 70, 189, 0.08);
border-radius: 0px;
grid-column: 2 / 3;
grid-row: 1 / 2;
height: 120px;
border: 2px solid rgba(182, 70, 189, 0.2);
}

.lp-prog .mosaic-img {
grid-column: 1 / 3;
grid-row: 2 / 3;
border-radius: 20px;
overflow: hidden;
position: relative;
}

.lp-prog .mosaic-img img {
width: 100%;
height: 180px;
object-fit: cover;
display: block;
}

.lp-prog .mosaic-deco {
position: absolute;
bottom: -12px;
right: -12px;
width: 60px;
height: 60px;
border-radius: 0px;
background: transparent;
border: 3px solid #DFA8DA;
z-index: 1;
}

.lp-prog .title-h1 {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #2a0030;
text-transform: uppercase;
margin: 0;
}

.lp-prog .title-sub {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #4a4a4a;
margin: 0;
}

.lp-prog .title-link {
align-self: flex-start;
}

.lp-prog .cards-zone {
padding-top: 80px;
padding-bottom: 80px;
background: #fff;
}

.lp-prog .cards-zone .section-label {
font-size: 15px;
line-height: 1.2;
letter-spacing: 0.02em;
color: #B646BD;
text-transform: uppercase;
margin-bottom: 24px;
display: block;
}

.lp-prog .cards-zone .sec-heading {
font-size: 30px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #2a0030;
margin: 0 0 40px 0;
}

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

.lp-prog .prog-card {
border-radius: 20px;
border: 2px solid rgba(182, 70, 189, 0.2);
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
background: #fff;
display: flex;
flex-direction: column;
position: relative;
transition: box-shadow 0.15s ease-out, transform 0.15s ease-out;
overflow: hidden;
}

.lp-prog .prog-card:hover {
box-shadow: 0 9px 44px 0 rgba(182, 70, 189, 0.12);
transform: scale(1.02);
animation: lp-border-pulse 0.5s ease-out 1;
}

.lp-prog .card-img-wrap {
position: relative;
overflow: hidden;
height: 180px;
}

.lp-prog .card-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

.lp-prog .card-img-placeholder {
width: 100%;
height: 100%;
background: linear-gradient(143deg, #DFA8DA 0%, rgba(182, 70, 189, 0.15) 100%);
display: flex;
align-items: center;
justify-content: center;
}

.lp-prog .card-img-placeholder svg {
width: 48px;
height: 48px;
opacity: 0.4;
}

.lp-prog .card-body {
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
flex: 1;
}

.lp-prog .card-meta-row {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 6px;
align-items: center;
}

.lp-prog .card-tag {
display: inline-block;
background: rgba(182, 70, 189, 0.1);
color: #8a1f90;
font-size: 15px;
line-height: 1.2;
letter-spacing: 0.02em;
padding: 6px 12px;
border-radius: 20px;
text-transform: uppercase;
}

.lp-prog .card-user-fmt {
display: inline-block;
background: rgba(223, 168, 218, 0.2);
color: #5a0060;
font-size: 15px;
line-height: 1.2;
letter-spacing: 0.01em;
padding: 6px 12px;
border-radius: 20px;
}

.lp-prog .card-title {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #2a0030;
font-weight: 700;
margin: 0;
}

.lp-prog .card-desc {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #4a4a4a;
margin: 0;
}

.lp-prog .card-details-row {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 12px;
align-items: center;
}

.lp-prog .card-detail-item {
font-size: 15px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #6a6a6a;
display: flex;
flex-direction: row;
align-items: center;
gap: 6px;
}

.lp-prog .card-detail-item svg {
width: 16px;
height: 16px;
flex-shrink: 0;
opacity: 0.6;
}

.lp-prog .card-price-row {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
gap: 12px;
margin-top: auto;
padding-top: 12px;
border-top: 1px solid rgba(182, 70, 189, 0.12);
}

.lp-prog .card-price {
font-size: 30px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #B646BD;
font-weight: 700;
}

.lp-prog .card-price-terms {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #6a6a6a;
}

.lp-prog .card-price-note {
font-size: 15px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #8a8a8a;
font-style: italic;
}

.lp-prog .card-seats {
display: inline-block;
background: rgba(182, 70, 189, 0.08);
color: #8a1f90;
font-size: 15px;
line-height: 1.2;
padding: 6px 12px;
border-radius: 20px;
border: 1px solid rgba(182, 70, 189, 0.2);
}

.lp-prog .card-cta {
margin-top: 6px;
}

.lp-prog .card-cta a {
display: block;
text-align: center;
background: #B646BD;
color: #fff;
font-size: 15px;
line-height: 1.2;
letter-spacing: 0.02em;
padding: 12px 24px;
border-radius: 20px;
text-transform: uppercase;
transition: transform 0.12s ease-out, background 0.12s ease-out;
box-shadow: 0 3px 3px 0 rgba(182, 70, 189, 0.07);
}

.lp-prog .card-cta a:hover {
transform: scale(1.04);
background: #9a35a1;
}

.lp-prog .stats-zone {
padding-top: 80px;
padding-bottom: 80px;
background: linear-gradient(143deg, #B646BD 0%, #DFA8DA 60%, #FEFDFE 100%);
position: relative;
}

.lp-prog .stats-zone .grid-max {
display: flex;
flex-direction: row;
gap: 40px;
align-items: flex-start;
}

.lp-prog .stats-text-col {
flex: 0 0 40%;
display: flex;
flex-direction: column;
gap: 24px;
}

.lp-prog .stats-heading {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #fff;
margin: 0;
text-transform: uppercase;
}

.lp-prog .stats-desc {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: rgba(255, 255, 255, 0.9);
margin: 0;
}

.lp-prog .stats-indicator {
display: flex;
flex-direction: column;
gap: 6px;
}

.lp-prog .indicator-bar-wrap {
background: rgba(255, 255, 255, 0.2);
border-radius: 0px;
height: 8px;
overflow: hidden;
}

.lp-prog .indicator-bar {
height: 100%;
background: #fff;
border-radius: 0px;
transition: width 0.2s ease-out;
}

.lp-prog .indicator-label {
font-size: 15px;
line-height: 1.2;
color: rgba(255, 255, 255, 0.8);
letter-spacing: 0.01em;
}

.lp-prog .stats-data-col {
flex: 1;
display: flex;
flex-direction: column;
gap: 24px;
}

.lp-prog .stats-row {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}

.lp-prog .stat-box {
background: rgba(255, 255, 255, 0.15);
border-radius: 20px;
padding: 24px;
border: 2px solid rgba(255, 255, 255, 0.3);
display: flex;
flex-direction: column;
gap: 6px;
-webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1), 0 7px 14px 0 rgba(182, 70, 189, 0.09);
}

.lp-prog .stat-box.stat-pulse {
border-color: rgba(255, 255, 255, 0.6);
}

.lp-prog .stat-val {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #fff;
font-weight: 700;
}

.lp-prog .stat-lbl {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.01em;
color: rgba(255, 255, 255, 0.85);
}

.lp-prog .stats-desc-row {
background: rgba(255, 255, 255, 0.1);
border-radius: 20px;
padding: 24px;
border: 1px solid rgba(255, 255, 255, 0.2);
font-size: 15px;
line-height: 1.6;
color: rgba(255, 255, 255, 0.9);
letter-spacing: 0.01em;
}

.lp-prog .process-zone {
padding-top: 80px;
padding-bottom: 80px;
background: #FEFDFE;
}

.lp-prog .process-zone .grid-max {
display: flex;
flex-direction: column;
gap: 40px;
}

.lp-prog .process-head {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
gap: 24px;
}

.lp-prog .process-heading {
font-size: 30px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #2a0030;
margin: 0;
}

.lp-prog .process-sub {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #4a4a4a;
margin: 0;
max-width: 480px;
text-align: right;
}

.lp-prog .steps-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
}

.lp-prog .step-item {
border-radius: 20px;
padding: 24px;
background: #fff;
border: 2px solid rgba(182, 70, 189, 0.15);
box-shadow: 0 3px 3px 0 rgba(182, 70, 189, 0.07);
display: flex;
flex-direction: column;
gap: 12px;
position: relative;
transition: box-shadow 0.18s ease-out;
}

.lp-prog .step-item:hover {
box-shadow: 0 9px 44px 0 rgba(182, 70, 189, 0.12);
}

.lp-prog .step-num {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: rgba(182, 70, 189, 0.15);
font-weight: 700;
}

.lp-prog .step-label {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #2a0030;
font-weight: 700;
}

.lp-prog .step-desc {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #4a4a4a;
margin: 0;
}

.lp-prog .step-tag {
position: absolute;
top: 12px;
right: 12px;
background: rgba(223, 168, 218, 0.3);
color: #5a0060;
font-size: 15px;
line-height: 1.2;
padding: 6px 12px;
border-radius: 20px;
}

.lp-prog .diag-zone {
padding-top: 80px;
padding-bottom: 80px;
position: relative;
background: #fff;
overflow: hidden;
}

.lp-prog .diag-bg {
position: absolute;
inset: 0;
z-index: 0;
pointer-events: none;
}

.lp-prog .diag-bg::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 55%;
height: 100%;
background: rgba(182, 70, 189, 0.06);
clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%);
}

.lp-prog .diag-zone .grid-max {
position: relative;
z-index: 1;
display: flex;
flex-direction: row;
gap: 40px;
align-items: flex-start;
}

.lp-prog .diag-left {
flex: 0 0 50%;
display: flex;
flex-direction: column;
gap: 24px;
}

.lp-prog .diag-heading {
font-size: 30px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #2a0030;
margin: 0;
}

.lp-prog .diag-items {
display: flex;
flex-direction: column;
gap: 12px;
}

.lp-prog .diag-item {
background: #fff;
border-radius: 20px;
padding: 24px;
border: 2px solid rgba(182, 70, 189, 0.18);
box-shadow: 0 3px 3px 0 rgba(182, 70, 189, 0.07);
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start;
}

.lp-prog .diag-item-icon {
flex-shrink: 0;
width: 40px;
height: 40px;
border-radius: 20px;
background: linear-gradient(143deg, #B646BD 0%, #DFA8DA 100%);
display: flex;
align-items: center;
justify-content: center;
}

.lp-prog .diag-item-icon svg {
width: 20px;
height: 20px;
fill: #fff;
}

.lp-prog .diag-item-text {
display: flex;
flex-direction: column;
gap: 6px;
}

.lp-prog .diag-item-label {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #2a0030;
font-weight: 700;
}

.lp-prog .diag-item-desc {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #4a4a4a;
margin: 0;
}

.lp-prog .diag-right {
flex: 1;
display: flex;
flex-direction: column;
gap: 24px;
}

.lp-prog .diag-contact-card {
border-radius: 20px;
padding: 40px;
border: 2px solid #B646BD;
box-shadow: 0 9px 44px 0 rgba(182, 70, 189, 0.12), inset 0 0 0 3px rgba(223, 168, 218, 0.18);
background: #fff;
display: flex;
flex-direction: column;
gap: 24px;
}

.lp-prog .contact-card-head {
font-size: 30px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #2a0030;
margin: 0;
}

.lp-prog .contact-card-desc {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #4a4a4a;
margin: 0;
}

.lp-prog .contact-links {
display: flex;
flex-direction: column;
gap: 12px;
}

.lp-prog .contact-link-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #2a0030;
}

.lp-prog .contact-link-item svg {
width: 20px;
height: 20px;
flex-shrink: 0;
fill: #B646BD;
}

.lp-prog .contact-link-item a {
color: #B646BD;
transition: opacity 0.12s ease-out;
}

.lp-prog .contact-link-item a:hover {
opacity: 0.75;
}

.lp-prog .form-zone {
padding-top: 80px;
padding-bottom: 80px;
background: #FEFDFE;
}

.lp-prog .form-zone .grid-max {
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start;
}

.lp-prog .form-text-col {
flex: 0 0 40%;
display: flex;
flex-direction: column;
gap: 24px;
}

.lp-prog .form-heading {
font-size: 30px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #2a0030;
margin: 0;
}

.lp-prog .form-desc {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #4a4a4a;
margin: 0;
}

.lp-prog .form-badges {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 6px;
}

.lp-prog .form-badge {
display: inline-block;
background: rgba(182, 70, 189, 0.1);
color: #8a1f90;
font-size: 15px;
line-height: 1.2;
padding: 6px 12px;
border-radius: 20px;
border: 1px solid rgba(182, 70, 189, 0.2);
}

.lp-prog .form-col {
flex: 1;
}

.lp-prog .contact-form {
display: flex;
flex-direction: column;
gap: 24px;
}

.lp-prog .field-wrap {
position: relative;
}

.lp-prog .field-wrap input,
.lp-prog .field-wrap textarea,
.lp-prog .field-wrap select {
width: 100%;
background: #fff;
border: 2px solid rgba(182, 70, 189, 0.25);
border-radius: 20px;
padding: 24px 24px 12px 24px;
font-size: 15px;
line-height: 1.4;
color: #2a0030;
outline: none;
box-sizing: border-box;
transition: border-color 0.15s ease-out;
box-shadow: 0 3px 3px 0 rgba(182, 70, 189, 0.07);
appearance: none;
}

.lp-prog .field-wrap input::placeholder,
.lp-prog .field-wrap textarea::placeholder {
color: transparent;
}

.lp-prog .field-wrap label {
position: absolute;
left: 24px;
top: 50%;
transform: translateY(-50%);
font-size: 15px;
line-height: 1.2;
color: #8a8a8a;
pointer-events: none;
transition: top 0.15s ease-out, font-size 0.15s ease-out, color 0.15s ease-out;
}

.lp-prog .field-wrap textarea~label {
top: 24px;
transform: none;
}

.lp-prog .field-wrap input:focus~label,
.lp-prog .field-wrap input:not(:placeholder-shown)~label,
.lp-prog .field-wrap textarea:focus~label,
.lp-prog .field-wrap textarea:not(:placeholder-shown)~label {
top: 8px;
transform: none;
font-size: 15px;
color: #B646BD;
}

.lp-prog .field-wrap input:focus,
.lp-prog .field-wrap textarea:focus,
.lp-prog .field-wrap select:focus {
border-color: #B646BD;
}

.lp-prog .field-wrap textarea {
resize: vertical;
min-height: 120px;
}

.lp-prog .field-wrap select {
padding: 18px 24px;
color: #2a0030;
}

.lp-prog .form-submit {
align-self: flex-start;
background: #B646BD;
color: #fff;
font-size: 15px;
line-height: 1.2;
letter-spacing: 0.02em;
padding: 12px 40px;
border-radius: 20px;
border: 2px solid #B646BD;
text-transform: uppercase;
cursor: pointer;
transition: transform 0.12s ease-out, background 0.12s ease-out;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
}

.lp-prog .form-submit:hover {
transform: scale(1.05);
background: #9a35a1;
}

@media (max-width: 1200px) {
.lp-prog .cards-grid {
grid-template-columns: repeat(2, 1fr);
}

.lp-prog .stats-zone .grid-max {
flex-direction: column;
}

.lp-prog .stats-text-col {
flex: none;
}

.lp-prog .steps-grid {
grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 900px) {
.lp-prog .title-zone .grid-max {
flex-direction: column;
}

.lp-prog .title-text-col {
flex: none;
}

.lp-prog .title-h1 {
font-size: 30px;
}

.lp-prog .stats-heading {
font-size: 30px;
}

.lp-prog .stats-row {
grid-template-columns: repeat(2, 1fr);
}

.lp-prog .diag-zone .grid-max {
flex-direction: column;
}

.lp-prog .diag-left {
flex: none;
}

.lp-prog .form-zone .grid-max {
flex-direction: column;
gap: 40px;
}

.lp-prog .form-text-col {
flex: none;
}

.lp-prog .process-head {
flex-direction: column;
align-items: flex-start;
}

.lp-prog .process-sub {
text-align: left;
}
}

@media (max-width: 600px) {
.lp-prog .title-zone {
padding-top: 40px;
padding-bottom: 24px;
}

.lp-prog .title-h1 {
font-size: 30px;
}

.lp-prog .cards-grid {
grid-template-columns: 1fr;
}

.lp-prog .stats-row {
grid-template-columns: 1fr;
}

.lp-prog .steps-grid {
grid-template-columns: 1fr;
}

.lp-prog .cards-zone {
padding-top: 40px;
padding-bottom: 40px;
}

.lp-prog .stats-zone {
padding-top: 40px;
padding-bottom: 40px;
}

.lp-prog .process-zone {
padding-top: 40px;
padding-bottom: 40px;
}

.lp-prog .diag-zone {
padding-top: 40px;
padding-bottom: 40px;
}

.lp-prog .form-zone {
padding-top: 40px;
padding-bottom: 40px;
}

.lp-prog .stat-val {
font-size: 30px;
}

.lp-prog .diag-contact-card {
padding: 24px;
}
}

.bse {
max-width: 100%;
overflow-x: hidden;
}

.bse .inner-cap {
max-width: 1400px;
margin-left: auto;
margin-right: auto;
padding-left: 40px;
padding-right: 40px;
}

@media (max-width: 600px) {
.bse .inner-cap {
padding-left: 24px;
padding-right: 24px;
}
}

.bse ::selection {
background: rgba(182, 70, 189, 0.15);
color: #1b1b2e;
}

.bse .diamond-sep {
display: inline-block;
width: 8px;
height: 8px;
background: #B646BD;
transform: rotate(45deg);
margin: 0 12px;
vertical-align: middle;
flex-shrink: 0;
}

.bse .diamond-sep.sec {
background: #DFA8DA;
width: 6px;
height: 6px;
}

.bse .ttl-blk {
position: relative;
padding-top: 80px;
padding-bottom: 120px;
background: #1b1b2e;
overflow: hidden;
}

.bse .ttl-blk .grad-bg {
position: absolute;
inset: 0;
background: linear-gradient(143deg, #B646BD 0%, #7a1e80 35%, #1b1b2e 70%, #0d0d1a 100%);
animation: gradshift 8s ease-in-out infinite alternate;
z-index: 0;
}

@keyframes gradshift {
0% {
opacity: 1;
filter: hue-rotate(0deg) brightness(1);
}

50% {
opacity: 0.88;
filter: brightness(1.08);
}

100% {
opacity: 1;
filter: brightness(0.95);
}
}

.bse .ttl-blk .noise-layer {
position: absolute;
inset: 0;
z-index: 1;
opacity: 0.055;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
background-size: 200px 200px;
pointer-events: none;
}

.bse .ttl-blk .img-wrap {
position: absolute;
inset: 0;
z-index: 2;
pointer-events: none;
}

.bse .ttl-blk .img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center 30%;
opacity: 0.22;
display: block;
mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.4) 60%, rgba(0, 0, 0, 0) 100%);
-webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.4) 60%, rgba(0, 0, 0, 0) 100%);
}

.bse .ttl-blk .ttl-content {
position: relative;
z-index: 3;
}

.bse .ttl-blk .eyebrow {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 24px;
}

.bse .ttl-blk .eyebrow-label {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.14em;
color: #DFA8DA;
text-transform: uppercase;
font-weight: 600;
}

.bse .ttl-blk .ttl-h1 {
font-size: 72px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #FEFDFE;
font-weight: 800;
margin-bottom: 24px;
max-width: 820px;
}

.bse .ttl-blk .ttl-h1 .accent-phrase {
color: #DFA8DA;
font-style: italic;
}

.bse .ttl-blk .ttl-sub {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.01em;
color: rgba(254, 253, 254, 0.78);
max-width: 560px;
margin-bottom: 40px;
}

.bse .ttl-blk .ttl-actions {
display: flex;
flex-direction: row;
align-items: center;
gap: 24px;
flex-wrap: wrap;
}

.bse .ttl-blk .btn-prim {
display: inline-block;
padding: 12px 40px;
background: #B646BD;
color: #FEFDFE;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.08em;
text-transform: uppercase;
font-weight: 700;
border-radius: 0px;
border: none;
cursor: pointer;
text-decoration: none;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
transition: transform 0.15s ease-out, box-shadow 0.15s ease-out;
}

.bse .ttl-blk .btn-prim:hover {
transform: scale(1.04);
box-shadow: 0 9px 44px 0 rgba(182, 70, 189, 0.12);
}

.bse .ttl-blk .btn-ghost {
display: inline-block;
padding: 12px 40px;
background: transparent;
color: #DFA8DA;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.08em;
text-transform: uppercase;
font-weight: 700;
border-radius: 0px;
border: 2px solid rgba(223, 168, 218, 0.5);
cursor: pointer;
text-decoration: none;
transition: border-color 0.18s ease-out, color 0.18s ease-out, transform 0.15s ease-out;
}

.bse .ttl-blk .btn-ghost:hover {
border-color: #DFA8DA;
color: #FEFDFE;
transform: scale(1.04);
}

.bse .ttl-blk .corner-curve {
position: absolute;
bottom: 0;
right: 0;
width: 320px;
height: 320px;
z-index: 2;
pointer-events: none;
}

.bse .ttl-blk .corner-curve svg {
width: 100%;
height: 100%;
}

@media (max-width: 900px) {
.bse .ttl-blk .ttl-h1 {
font-size: 42px;
}

.bse .ttl-blk .corner-curve {
width: 200px;
height: 200px;
}
}

@media (max-width: 600px) {
.bse .ttl-blk .ttl-h1 {
font-size: 30px;
}

.bse .ttl-blk {
padding-bottom: 80px;
}

.bse .ttl-blk .corner-curve {
display: none;
}
}

.bse .obj-sec {
background: #FEFDFE;
padding-top: 80px;
padding-bottom: 80px;
position: relative;
}

.bse .obj-sec .top-fade {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 80px;
background: linear-gradient(to bottom, rgba(182, 70, 189, 0.06) 0%, transparent 100%);
pointer-events: none;
}

.bse .obj-sec .obj-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: start;
}

.bse .obj-sec .obj-label {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #B646BD;
font-weight: 700;
margin-bottom: 24px;
display: flex;
align-items: center;
gap: 12px;
}

.bse .obj-sec .obj-h2 {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #1b1b2e;
font-weight: 800;
margin-bottom: 24px;
}

.bse .obj-sec .obj-body {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.01em;
color: #2e2e45;
}

.bse .obj-sec .obj-body+.obj-body {
margin-top: 12px;
}

.bse .obj-sec .obj-cards {
display: flex;
flex-direction: column;
gap: 24px;
}

.bse .obj-sec .obj-card {
background: #FEFDFE;
border: 1.5px solid rgba(182, 70, 189, 0.15);
border-radius: 0px;
padding: 24px;
box-shadow: 0 3px 3px 0 rgba(182, 70, 189, 0.07);
position: relative;
overflow: hidden;
transition: box-shadow 0.18s ease-out;
}

.bse .obj-sec .obj-card::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(143deg, #B646BD, #DFA8DA);
transform: scaleX(0);
transform-origin: left;
transition: transform 0.2s ease-out;
}

.bse .obj-sec .obj-card:hover {
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
}

.bse .obj-sec .obj-card:hover::before {
transform: scaleX(1);
}

.bse .obj-sec .obj-card-h {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.02em;
color: #1b1b2e;
font-weight: 700;
margin-bottom: 6px;
text-transform: uppercase;
}

.bse .obj-sec .obj-card-p {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #3e3e5e;
}

@media (max-width: 900px) {
.bse .obj-sec .obj-grid {
grid-template-columns: 1fr;
}

.bse .obj-sec .obj-h2 {
font-size: 30px;
}
}

.bse .ex-sec {
background: linear-gradient(143deg, rgba(182, 70, 189, 0.08) 0%, rgba(223, 168, 218, 0.04) 50%, #fff 100%);
padding-top: 80px;
padding-bottom: 80px;
position: relative;
}

.bse .ex-sec .topo-bg {
position: absolute;
inset: 0;
pointer-events: none;
opacity: 0.04;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='400'%3E%3Cpath d='M0 200 Q150 120 300 200 Q450 280 600 200' fill='none' stroke='%23B646BD' stroke-width='1.5'/%3E%3Cpath d='M0 160 Q150 80 300 160 Q450 240 600 160' fill='none' stroke='%23B646BD' stroke-width='1.5'/%3E%3Cpath d='M0 240 Q150 160 300 240 Q450 320 600 240' fill='none' stroke='%23B646BD' stroke-width='1.5'/%3E%3Cpath d='M0 120 Q150 40 300 120 Q450 200 600 120' fill='none' stroke='%23B646BD' stroke-width='1.5'/%3E%3Cpath d='M0 280 Q150 200 300 280 Q450 360 600 280' fill='none' stroke='%23B646BD' stroke-width='1.5'/%3E%3Cpath d='M0 80 Q150 0 300 80 Q450 160 600 80' fill='none' stroke='%23B646BD' stroke-width='1.5'/%3E%3Cpath d='M0 320 Q150 240 300 320 Q450 400 600 320' fill='none' stroke='%23B646BD' stroke-width='1.5'/%3E%3C/svg%3E");
background-size: 600px 400px;
background-repeat: repeat;
}

.bse .ex-sec .ex-layout {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 40px;
align-items: start;
position: relative;
z-index: 1;
}

.bse .ex-sec .ex-label {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #B646BD;
font-weight: 700;
margin-bottom: 24px;
display: flex;
align-items: center;
gap: 12px;
}

.bse .ex-sec .ex-h2 {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #1b1b2e;
font-weight: 800;
margin-bottom: 24px;
}

.bse .ex-sec .ex-body {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.01em;
color: #2e2e45;
margin-bottom: 12px;
}

.bse .ex-sec .ex-metrics {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-top: 40px;
}

.bse .ex-sec .metric-card {
background: #FEFDFE;
border-radius: 20px;
padding: 24px;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
box-shadow: inset 0 1px 0 0 rgba(223, 168, 218, 0.3), 0 7px 14px 0 rgba(182, 70, 189, 0.09);
text-align: center;
}

.bse .ex-sec .metric-val {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #B646BD;
font-weight: 800;
display: block;
}

.bse .ex-sec .metric-lbl {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.02em;
color: #3e3e5e;
margin-top: 6px;
display: block;
}

.bse .ex-sec .ex-img-col {
display: flex;
flex-direction: column;
gap: 24px;
}

.bse .ex-sec .ex-img-wrap {
border-radius: 20px;
overflow: hidden;
box-shadow: 0 9px 44px 0 rgba(182, 70, 189, 0.12);
}

.bse .ex-sec .ex-img-wrap img {
width: 100%;
height: 280px;
object-fit: cover;
display: block;
}

.bse .ex-sec .ex-quote {
background: #1b1b2e;
border-radius: 20px;
padding: 24px;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
}

.bse .ex-sec .ex-quote-text {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: rgba(254, 253, 254, 0.88);
font-style: italic;
margin-bottom: 12px;
}

.bse .ex-sec .ex-quote-author {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.02em;
color: #DFA8DA;
font-weight: 600;
}

@media (max-width: 900px) {
.bse .ex-sec .ex-layout {
grid-template-columns: 1fr;
}

.bse .ex-sec .ex-h2 {
font-size: 30px;
}

.bse .ex-sec .ex-img-wrap img {
height: 220px;
}
}

@media (max-width: 600px) {
.bse .ex-sec .ex-metrics {
grid-template-columns: 1fr;
}
}

.bse .rec-sec {
background: #1b1b2e;
padding-top: 80px;
padding-bottom: 80px;
position: relative;
overflow: hidden;
}

.bse .rec-sec .pan-bg {
position: absolute;
inset: 0;
z-index: 0;
pointer-events: none;
}

.bse .rec-sec .pan-bg img {
width: 130%;
height: 100%;
object-fit: cover;
object-position: center;
opacity: 0.09;
animation: panshift 20s linear infinite alternate;
display: block;
}

@keyframes panshift {
0% {
transform: translateX(0);
}

100% {
transform: translateX(-20%);
}
}

.bse .rec-sec .rec-inner {
position: relative;
z-index: 1;
}

.bse .rec-sec .rec-label {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #DFA8DA;
font-weight: 700;
margin-bottom: 24px;
display: flex;
align-items: center;
gap: 12px;
}

.bse .rec-sec .rec-h2 {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #FEFDFE;
font-weight: 800;
margin-bottom: 24px;
max-width: 600px;
}

.bse .rec-sec .rec-body {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.01em;
color: rgba(254, 253, 254, 0.75);
max-width: 640px;
margin-bottom: 40px;
}

.bse .rec-sec .rec-cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}

.bse .rec-sec .rec-card {
background: rgba(254, 253, 254, 0.05);
border: 1.5px solid rgba(223, 168, 218, 0.18);
border-radius: 20px;
padding: 40px 24px;
text-align: center;
transition: background 0.2s ease-out, border-color 0.18s ease-out;
}

.bse .rec-sec .rec-card:hover {
background: rgba(182, 70, 189, 0.12);
border-color: rgba(223, 168, 218, 0.45);
}

.bse .rec-sec .rec-card-icon {
width: 48px;
height: 48px;
margin: 0 auto 24px;
display: flex;
align-items: center;
justify-content: center;
}

.bse .rec-sec .rec-card-icon svg {
width: 48px;
height: 48px;
}

.bse .rec-sec .rec-card-h {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.05em;
color: #FEFDFE;
font-weight: 700;
text-transform: uppercase;
margin-bottom: 12px;
}

.bse .rec-sec .rec-card-p {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: rgba(254, 253, 254, 0.68);
}

.bse .rec-sec .rec-img-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-top: 40px;
}

.bse .rec-sec .rec-img-wrap {
border-radius: 20px;
overflow: hidden;
box-shadow: 0 9px 44px 0 rgba(182, 70, 189, 0.12);
}

.bse .rec-sec .rec-img-wrap img {
width: 100%;
height: 220px;
object-fit: cover;
display: block;
}

@media (max-width: 900px) {
.bse .rec-sec .rec-cards {
grid-template-columns: 1fr 1fr;
}

.bse .rec-sec .rec-h2 {
font-size: 30px;
}

.bse .rec-sec .rec-img-row {
grid-template-columns: 1fr;
}
}

@media (max-width: 600px) {
.bse .rec-sec .rec-cards {
grid-template-columns: 1fr;
}
}

.bse .ctx-sec {
background: #FEFDFE;
padding-top: 80px;
padding-bottom: 80px;
position: relative;
}

.bse .ctx-sec .top-stripe {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(143deg, #B646BD 0%, #DFA8DA 100%);
}

.bse .ctx-sec .ctx-layout {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 40px;
align-items: start;
}

.bse .ctx-sec .ctx-aside {
position: sticky;
top: 24px;
}

.bse .ctx-sec .ctx-img-wrap {
border-radius: 20px;
overflow: hidden;
box-shadow: 0 9px 44px 0 rgba(182, 70, 189, 0.12);
margin-bottom: 24px;
}

.bse .ctx-sec .ctx-img-wrap img {
width: 100%;
height: 260px;
object-fit: cover;
display: block;
}

.bse .ctx-sec .ctx-stat-box {
background: linear-gradient(143deg, #B646BD 0%, #DFA8DA 100%);
border-radius: 20px;
padding: 24px;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
}

.bse .ctx-sec .ctx-stat-num {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #FEFDFE;
font-weight: 800;
display: block;
}

.bse .ctx-sec .ctx-stat-desc {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: rgba(254, 253, 254, 0.88);
margin-top: 6px;
display: block;
}

.bse .ctx-sec .ctx-label {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #B646BD;
font-weight: 700;
margin-bottom: 24px;
display: flex;
align-items: center;
gap: 12px;
}

.bse .ctx-sec .ctx-h2 {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #1b1b2e;
font-weight: 800;
margin-bottom: 24px;
}

.bse .ctx-sec .ctx-body {
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.01em;
color: #2e2e45;
margin-bottom: 12px;
}

.bse .ctx-sec .ctx-list {
list-style: none;
padding: 0;
margin: 24px 0 0;
display: flex;
flex-direction: column;
gap: 12px;
}

.bse .ctx-sec .ctx-list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
background: rgba(182, 70, 189, 0.04);
border-radius: 20px;
padding: 12px 24px;
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #2e2e45;
border: 1px solid rgba(182, 70, 189, 0.1);
transition: background 0.18s ease-out, border-color 0.18s ease-out;
}

.bse .ctx-sec .ctx-list li:hover {
background: rgba(182, 70, 189, 0.08);
border-color: rgba(182, 70, 189, 0.22);
}

.bse .ctx-sec .ctx-list li .pill-tag {
background: linear-gradient(143deg, #B646BD, #DFA8DA);
color: #FEFDFE;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.04em;
font-weight: 700;
padding: 0 12px;
border-radius: 20px;
white-space: nowrap;
flex-shrink: 0;
align-self: center;
}

.bse .ctx-sec .ctx-link {
display: inline-block;
margin-top: 24px;
padding: 12px 40px;
background: #1b1b2e;
color: #FEFDFE;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.08em;
text-transform: uppercase;
font-weight: 700;
border-radius: 0px;
text-decoration: none;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
transition: transform 0.15s ease-out, background 0.18s ease-out;
}

.bse .ctx-sec .ctx-link:hover {
transform: scale(1.04);
background: #B646BD;
}

@media (max-width: 900px) {
.bse .ctx-sec .ctx-layout {
grid-template-columns: 1fr;
}

.bse .ctx-sec .ctx-aside {
position: static;
}

.bse .ctx-sec .ctx-h2 {
font-size: 30px;
}
}

.bse .animated-pattern {
position: absolute;
inset: 0;
pointer-events: none;
z-index: 0;
overflow: hidden;
}

.bse .animated-pattern .pat-inner {
width: 200%;
height: 100%;
background-image: repeating-linear-gradient(143deg,
transparent 0px,
transparent 28px,
rgba(182, 70, 189, 0.04) 28px,
rgba(182, 70, 189, 0.04) 30px);
animation: patmove 18s linear infinite;
}

@keyframes patmove {
0% {
transform: translateX(0);
}

100% {
transform: translateX(-50%);
}
}

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

.cu-pg .top-strip {
background: #f5eef6;
padding: 80px 24px 80px;
position: relative;
}

.cu-pg .top-strip::before {
content: "";
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='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
pointer-events: none;
z-index: 0;
}

.cu-pg .top-strip .strip-inner {
max-width: 1400px;
margin: 0 auto;
position: relative;
z-index: 1;
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 80px;
}

.cu-pg .top-strip .strip-text {
flex: 1 1 0;
}

.cu-pg .top-strip .strip-text .pg-label {
display: inline-block;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.15em;
color: #B646BD;
text-transform: uppercase;
font-weight: 600;
margin-bottom: 24px;
padding: 6px 12px;
border: 1.5px solid #DFA8DA;
border-radius: 20px;
}

.cu-pg .top-strip .strip-text .pg-head {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #1e0a20;
font-weight: 800;
text-transform: uppercase;
margin: 0 0 24px;
}

.cu-pg .top-strip .strip-text .pg-sub {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #3d1f40;
margin: 0;
font-style: italic;
color: #B646BD;
}

.cu-pg .top-strip .strip-img-col {
flex: 0 0 380px;
position: relative;
}

.cu-pg .top-strip .strip-img-col .img-shaped {
width: 380px;
height: 280px;
object-fit: cover;
clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 12% 100%, 0 88%);
display: block;
filter: brightness(0.88);
transition: filter 0.18s ease-out;
border-radius: 0px;
}

.cu-pg .top-strip .strip-img-col .img-shaped:hover {
filter: brightness(1.05);
}

.cu-pg .top-strip .strip-img-col .img-deco {
position: absolute;
bottom: -12px;
right: -12px;
width: 80px;
height: 80px;
background: linear-gradient(143deg, #B646BD, transparent);
border-radius: 20px;
z-index: -1;
pointer-events: none;
}

.cu-pg .divider-cross {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 12px;
padding: 12px 24px;
background: #fff;
overflow: hidden;
}

.cu-pg .divider-cross .cross-row {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: nowrap;
}

.cu-pg .divider-cross .cross-item {
width: 10px;
height: 10px;
position: relative;
flex-shrink: 0;
}

.cu-pg .divider-cross .cross-item::before,
.cu-pg .divider-cross .cross-item::after {
content: "";
position: absolute;
background: #DFA8DA;
border-radius: 0px;
}

.cu-pg .divider-cross .cross-item::before {
width: 2px;
height: 10px;
left: 4px;
top: 0;
}

.cu-pg .divider-cross .cross-item::after {
width: 10px;
height: 2px;
top: 4px;
left: 0;
}

.cu-pg .form-area {
background: #fff;
padding: 80px 24px;
position: relative;
}

.cu-pg .form-area .drift-bg {
position: absolute;
width: 500px;
height: 500px;
border-radius: 20px;
background: linear-gradient(143deg, rgba(182, 70, 189, 0.07), transparent);
top: 40px;
right: -80px;
pointer-events: none;
animation: driftmove 9s ease-in-out infinite alternate;
z-index: 0;
}

@keyframes driftmove {
0% {
transform: translateY(0px) translateX(0px);
}

100% {
transform: translateY(40px) translateX(-30px);
}
}

.cu-pg .form-area .form-wrap {
max-width: 1400px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start;
position: relative;
z-index: 1;
}

.cu-pg .form-area .form-col {
flex: 1 1 0;
}

.cu-pg .form-area .side-col {
flex: 0 0 340px;
display: flex;
flex-direction: column;
gap: 24px;
}

.cu-pg .form-area .form-col .form-heading {
font-size: 30px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #1e0a20;
font-weight: 700;
margin: 0 0 12px;
}

.cu-pg .form-area .form-col .form-desc {
font-size: 15px;
line-height: 1.6;
color: #3d1f40;
margin: 0 0 40px;
}

.cu-pg .form-area .contact-form {
display: flex;
flex-direction: column;
gap: 24px;
}

.cu-pg .form-area .field-group {
position: relative;
display: flex;
flex-direction: column;
gap: 6px;
}

.cu-pg .form-area .field-group .fl-label {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #6b3a70;
font-weight: 600;
transition: color 0.15s ease-out;
}

.cu-pg .form-area .field-group .fl-input {
border: 1.5px solid #DFA8DA;
border-radius: 20px;
padding: 12px 24px;
font-size: 15px;
line-height: 1.6;
color: #1e0a20;
background: #fefdfe;
outline: none;
width: 100%;
box-sizing: border-box;
transition: border-color 0.15s ease-out, box-shadow 0.18s ease-out;
box-shadow: inset 0 2px 6px 0 rgba(182, 70, 189, 0.04);
-webkit-appearance: none;
appearance: none;
}

.cu-pg .form-area .field-group .fl-input::placeholder {
color: #c9a8cc;
}

.cu-pg .form-area .field-group .fl-input:focus {
border-color: #B646BD;
box-shadow: 0 0 0 3px rgba(182, 70, 189, 0.10), inset 0 2px 6px 0 rgba(182, 70, 189, 0.06);
}

.cu-pg .form-area .field-group .fl-input:focus+.fl-label,
.cu-pg .form-area .field-group .fl-label {
color: #B646BD;
}

.cu-pg .form-area .field-group select.fl-input {
cursor: pointer;
}

.cu-pg .form-area .field-group textarea.fl-input {
resize: vertical;
min-height: 120px;
border-radius: 20px;
}

.cu-pg .form-area .method-grid {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap;
}

.cu-pg .form-area .method-opt {
position: relative;
}

.cu-pg .form-area .method-opt input[type="radio"] {
position: absolute;
opacity: 0;
width: 0;
height: 0;
}

.cu-pg .form-area .method-opt .opt-lbl {
display: inline-block;
padding: 6px 24px;
border: 1.5px solid #DFA8DA;
border-radius: 20px;
font-size: 15px;
line-height: 1.6;
color: #6b3a70;
cursor: pointer;
background: #fefdfe;
transition: border-color 0.12s ease-out, background 0.12s ease-out, color 0.12s ease-out;
user-select: none;
}

.cu-pg .form-area .method-opt input[type="radio"]:checked+.opt-lbl {
background: #B646BD;
border-color: #B646BD;
color: #fff;
box-shadow: 0 3px 3px 0 rgba(182, 70, 189, 0.07);
}

.cu-pg .form-area .method-opt .opt-lbl:hover {
border-color: #B646BD;
color: #B646BD;
}

.cu-pg .form-area .timeline-row {
display: flex;
flex-direction: column;
gap: 6px;
}

.cu-pg .form-area .timeline-row .fl-label {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #6b3a70;
font-weight: 600;
}

.cu-pg .form-area .timeline-opts {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap;
}

.cu-pg .form-area .tl-opt {
position: relative;
}

.cu-pg .form-area .tl-opt input[type="radio"] {
position: absolute;
opacity: 0;
width: 0;
height: 0;
}

.cu-pg .form-area .tl-opt .tl-lbl {
display: flex;
flex-direction: column;
align-items: center;
padding: 12px 24px;
border: 1.5px solid #DFA8DA;
border-radius: 20px;
font-size: 15px;
line-height: 1.4;
color: #6b3a70;
cursor: pointer;
background: #fefdfe;
transition: border-color 0.14s ease-out, background 0.14s ease-out, color 0.14s ease-out, box-shadow 0.14s ease-out;
user-select: none;
gap: 6px;
min-width: 90px;
text-align: center;
}

.cu-pg .form-area .tl-opt .tl-lbl .tl-icon {
width: 24px;
height: 24px;
display: block;
}

.cu-pg .form-area .tl-opt input[type="radio"]:checked+.tl-lbl {
background: linear-gradient(143deg, #B646BD, #DFA8DA);
border-color: #B646BD;
color: #fff;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
}

.cu-pg .form-area .tl-opt .tl-lbl:hover {
border-color: #B646BD;
animation: border-once 0.18s ease-out;
}

@keyframes border-once {
0% {
box-shadow: 0 0 0 0 rgba(182, 70, 189, 0.25);
}

100% {
box-shadow: 0 0 0 4px rgba(182, 70, 189, 0);
}
}

.cu-pg .form-area .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
}

.cu-pg .form-area .privacy-row .priv-check {
width: 18px;
height: 18px;
flex-shrink: 0;
margin-top: 2px;
accent-color: #B646BD;
cursor: pointer;
border: none !important;
}

.cu-pg .form-area .privacy-row .priv-text {
font-size: 15px;
line-height: 1.6;
color: #3d1f40;
}

.cu-pg .form-area .privacy-row .priv-text a {
color: #B646BD;
text-decoration: underline;
transition: color 0.12s ease-out;
}

.cu-pg .form-area .privacy-row .priv-text a:hover {
color: #8b2f91;
}

.cu-pg .form-area .submit-btn {
display: inline-block;
padding: 12px 40px;
background: #B646BD;
color: #fff;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.08em;
font-weight: 700;
text-transform: uppercase;
border: none;
border-radius: 20px;
cursor: pointer;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
transition: background 0.15s ease-out, transform 0.12s ease-out, box-shadow 0.15s ease-out;
align-self: flex-start;
}

.cu-pg .form-area .submit-btn:hover {
background: #9a35a1;
transform: scale(1.04);
box-shadow: 0 9px 44px 0 rgba(182, 70, 189, 0.12);
}

.cu-pg .form-area .submit-btn:focus {
outline: 2px solid #B646BD;
outline-offset: 3px;
}

.cu-pg .form-area .submit-btn:active {
transform: scale(0.98);
}

.cu-pg .form-area .side-col .contact-card {
background: #fefdfe;
border: 1.5px solid #DFA8DA;
border-radius: 20px;
padding: 24px;
box-shadow: 0 3px 3px 0 rgba(182, 70, 189, 0.07);
display: flex;
flex-direction: column;
gap: 12px;
}

.cu-pg .form-area .side-col .contact-card .card-label {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #B646BD;
font-weight: 700;
}

.cu-pg .form-area .side-col .contact-card .card-val {
font-size: 15px;
line-height: 1.6;
color: #1e0a20;
word-break: break-word;
}

.cu-pg .form-area .side-col .contact-card .card-val a {
color: #B646BD;
text-decoration: none;
transition: color 0.12s ease-out;
padding: 2px 6px;
border-radius: 20px;
transition: background 0.14s ease-out, color 0.14s ease-out;
}

.cu-pg .form-area .side-col .contact-card .card-val a:hover {
background: rgba(182, 70, 189, 0.08);
color: #8b2f91;
}

.cu-pg .form-area .side-col .contrast-nums {
display: flex;
flex-direction: row;
gap: 12px;
align-items: stretch;
}

.cu-pg .form-area .side-col .contrast-nums .num-box {
flex: 1 1 0;
border-radius: 20px;
padding: 24px 12px;
display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
text-align: center;
}

.cu-pg .form-area .side-col .contrast-nums .num-box.before {
background: #f5eef6;
border: 1.5px solid #DFA8DA;
}

.cu-pg .form-area .side-col .contrast-nums .num-box.after {
background: #B646BD;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
}

.cu-pg .form-area .side-col .contrast-nums .num-box .num-val {
font-size: 30px;
line-height: 1.2;
font-weight: 800;
letter-spacing: 0.01em;
}

.cu-pg .form-area .side-col .contrast-nums .num-box.before .num-val {
color: #6b3a70;
}

.cu-pg .form-area .side-col .contrast-nums .num-box.after .num-val {
color: #fff;
}

.cu-pg .form-area .side-col .contrast-nums .num-box .num-desc {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.01em;
}

.cu-pg .form-area .side-col .contrast-nums .num-box.before .num-desc {
color: #6b3a70;
}

.cu-pg .form-area .side-col .contrast-nums .num-box.after .num-desc {
color: rgba(255, 255, 255, 0.88);
}

.cu-pg .form-area .side-col .img-side {
border-radius: 20px;
overflow: hidden;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
}

.cu-pg .form-area .side-col .img-side img {
width: 100%;
height: 200px;
object-fit: cover;
display: block;
filter: brightness(0.85);
transition: filter 0.18s ease-out;
}

.cu-pg .form-area .side-col .img-side img:hover {
filter: brightness(1.05);
}

.cu-pg .divider-line {
height: 1.5px;
background: linear-gradient(143deg, transparent, #DFA8DA 40%, transparent);
margin: 0 24px;
}

.cu-pg .addr-strip {
background: linear-gradient(143deg, #B646BD 0%, #DFA8DA 100%);
padding: 40px 24px;
position: relative;
}

.cu-pg .addr-strip .addr-inner {
max-width: 1400px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 40px;
align-items: center;
flex-wrap: wrap;
}

.cu-pg .addr-strip .addr-item {
display: flex;
flex-direction: column;
gap: 6px;
flex: 1 1 200px;
}

.cu-pg .addr-strip .addr-item .a-label {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.12em;
text-transform: uppercase;
color: rgba(255, 255, 255, 0.75);
font-weight: 600;
}

.cu-pg .addr-strip .addr-item .a-val {
font-size: 15px;
line-height: 1.6;
color: #fff;
font-weight: 500;
}

.cu-pg .addr-strip .addr-item .a-val a {
color: #fff;
text-decoration: none;
border-radius: 20px;
padding: 2px 6px;
transition: background 0.14s ease-out;
}

.cu-pg .addr-strip .addr-item .a-val a:hover {
background: rgba(255, 255, 255, 0.18);
}

.cu-pg .addr-strip .addr-sep {
width: 1.5px;
height: 60px;
background: rgba(255, 255, 255, 0.25);
flex-shrink: 0;
}

@media (max-width: 1200px) {
.cu-pg .top-strip .strip-inner {
gap: 40px;
}

.cu-pg .top-strip .strip-img-col {
flex: 0 0 300px;
}

.cu-pg .top-strip .strip-img-col .img-shaped {
width: 300px;
height: 220px;
}

.cu-pg .form-area .form-wrap {
gap: 40px;
}

.cu-pg .form-area .side-col {
flex: 0 0 280px;
}
}

@media (max-width: 900px) {
.cu-pg .top-strip .strip-inner {
flex-direction: column;
align-items: flex-start;
gap: 40px;
}

.cu-pg .top-strip .strip-img-col {
flex: 0 0 auto;
width: 100%;
}

.cu-pg .top-strip .strip-img-col .img-shaped {
width: 100%;
height: 220px;
}

.cu-pg .form-area .form-wrap {
flex-direction: column;
gap: 40px;
}

.cu-pg .form-area .side-col {
flex: 0 0 auto;
width: 100%;
}

.cu-pg .addr-strip .addr-sep {
display: none;
}

.cu-pg .top-strip .pg-head {
font-size: 30px;
}
}

@media (max-width: 600px) {
.cu-pg .top-strip {
padding: 40px 24px 80px;
}

.cu-pg .top-strip .pg-head {
font-size: 30px;
}

.cu-pg .form-area {
padding: 40px 24px;
}

.cu-pg .form-area .timeline-opts {
gap: 6px;
}

.cu-pg .form-area .tl-opt .tl-lbl {
padding: 12px 12px;
min-width: 70px;
font-size: 15px;
}

.cu-pg .addr-strip .addr-inner {
flex-direction: column;
gap: 24px;
align-items: flex-start;
}

.cu-pg .form-area .side-col .contrast-nums {
flex-direction: column;
}
}

.evts-pg {
max-width: 1400px;
margin: 0 auto;
overflow-x: clip;
}

.evts-pg ::selection {
background: rgba(182, 70, 189, 0.18);
color: #2a0a2e;
}

.evts-pg *:focus-visible {
outline: 2px solid #B646BD !important;
outline-offset: 3px !important;
border-radius: 0px !important;
}

.evts-pg .btn-primary {
background: #B646BD;
border: none;
border-radius: 0px;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
color: #fff;
cursor: pointer;
display: inline-block;
font-size: 15px;
font-weight: 700;
letter-spacing: 0.08em;
line-height: 1.2;
padding: 12px 24px;
text-decoration: none;
text-transform: uppercase;
transition: transform 0.15s ease-out, box-shadow 0.15s ease-out;
}

.evts-pg .btn-primary:hover {
box-shadow: 0 9px 44px 0 rgba(182, 70, 189, 0.12);
transform: scale(1.04);
}

.evts-pg .btn-primary:active {
transform: scale(0.98);
}

.evts-pg .btn-outline {
background: transparent;
border: 2px solid #B646BD;
border-radius: 0px;
color: #B646BD;
cursor: pointer;
display: inline-block;
font-size: 15px;
font-weight: 700;
letter-spacing: 0.08em;
line-height: 1.2;
padding: 12px 24px;
text-decoration: none;
text-transform: uppercase;
transition: background 0.18s ease, color 0.18s ease, transform 0.12s ease-out;
}

.evts-pg .btn-outline:hover {
background: #B646BD;
color: #fff;
transform: scale(1.04);
}

.evts-pg .accent-txt {
color: #B646BD;
font-style: italic;
}

.evts-pg .badge {
background: rgba(182, 70, 189, 0.1);
border-radius: 20px;
color: #B646BD;
display: inline-block;
font-size: 15px;
font-weight: 600;
letter-spacing: 0.02em;
line-height: 1.4;
padding: 6px 12px;
}

.evts-pg .badge.alt {
background: rgba(223, 168, 218, 0.2);
color: #7a1f80;
}

@keyframes slideInLeft {
from {
opacity: 0;
transform: translateX(-40px);
}

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

@keyframes slideInRight {
from {
opacity: 0;
transform: translateX(40px);
}

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

@keyframes borderPulse {
0% {
border-color: #B646BD;
}

50% {
border-color: #DFA8DA;
}

100% {
border-color: #B646BD;
}
}

.evts-pg .anim-left {
animation: slideInLeft 0.18s ease-out both;
}

.evts-pg .anim-right {
animation: slideInRight 0.2s ease-out both;
}

.evts-pg .anim-left.delay-1 {
animation-delay: 0.05s;
}

.evts-pg .anim-left.delay-2 {
animation-delay: 0.1s;
}

.evts-pg .anim-right.delay-1 {
animation-delay: 0.05s;
}

.evts-pg .anim-right.delay-2 {
animation-delay: 0.1s;
}

.evts-pg .anim-right.delay-3 {
animation-delay: 0.15s;
}

.evts-pg .top-band {
background: linear-gradient(143deg, rgba(223, 168, 218, 0.18) 0%, rgba(254, 253, 254, 0) 100%);
border-bottom: 1px solid rgba(182, 70, 189, 0.12);
padding: 80px 40px;
position: relative;
}

.evts-pg .top-band-grid {
align-items: stretch;
display: grid;
gap: 40px;
grid-template-columns: 1fr 1fr;
max-width: 1400px;
}

.evts-pg .top-left {
display: flex;
flex-direction: column;
gap: 24px;
justify-content: center;
}

.evts-pg .top-left .pg-label {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap;
}

.evts-pg .top-left .pg-hdg {
color: #1e0a20;
font-size: 42px;
font-weight: 800;
letter-spacing: 0.01em;
line-height: 1.2;
margin: 0;
text-transform: uppercase;
}

.evts-pg .top-left .pg-sub {
color: #3a1a3e;
font-size: 15px;
letter-spacing: 0.01em;
line-height: 1.6;
margin: 0;
max-width: 480px;
}

.evts-pg .top-right {
border-radius: 0px;
overflow: hidden;
position: relative;
}

.evts-pg .top-img-wrap {
border-radius: 0px;
height: 100%;
min-height: 320px;
overflow: hidden;
position: relative;
}

.evts-pg .top-img-wrap img {
display: block;
height: 100%;
object-fit: cover;
transition: transform 0.2s ease-out, filter 0.18s ease;
width: 100%;
}

.evts-pg .top-img-wrap:hover img {
filter: brightness(1.05);
transform: scale(1.03);
}

.evts-pg .top-img-wrap .img-overlay {
background: linear-gradient(143deg, rgba(182, 70, 189, 0.22) 0%, transparent 70%);
bottom: 0;
left: 0;
pointer-events: none;
position: absolute;
right: 0;
top: 0;
}

.evts-pg .stats-row {
border-top: 1px dashed rgba(182, 70, 189, 0.3);
display: flex;
flex-direction: row;
gap: 24px;
padding-top: 24px;
}

.evts-pg .stat-item {
display: flex;
flex-direction: column;
gap: 6px;
}

.evts-pg .stat-num {
color: #B646BD;
font-size: 30px;
font-weight: 800;
letter-spacing: 0.01em;
line-height: 1.2;
}

.evts-pg .stat-lbl {
color: #5a3560;
font-size: 15px;
letter-spacing: 0.01em;
line-height: 1.4;
}

.evts-pg .evts-list-sec {
background: #fff;
padding: 80px 40px;
}

.evts-pg .evts-list-sec .sec-intro {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 40px;
margin-bottom: 40px;
}

.evts-pg .evts-list-sec .sec-hdg {
color: #1e0a20;
font-size: 30px;
font-weight: 700;
letter-spacing: 0.01em;
line-height: 1.2;
margin: 0;
flex: 1;
}

.evts-pg .evts-list-sec .sec-note {
color: #5a3560;
font-size: 15px;
letter-spacing: 0.01em;
line-height: 1.6;
margin: 0;
max-width: 320px;
}

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

.evts-pg .evt-card {
background: #FEFDFE;
border: 1px solid rgba(182, 70, 189, 0.12);
border-radius: 0px;
box-shadow: 0 3px 3px 0 rgba(182, 70, 189, 0.07);
display: flex;
flex-direction: column;
gap: 0;
overflow: hidden;
position: relative;
transition: box-shadow 0.18s ease-out, transform 0.15s ease-out;
}

.evts-pg .evt-card:hover {
animation: borderPulse 0.18s ease-out;
box-shadow: 0 9px 44px 0 rgba(182, 70, 189, 0.12);
transform: translateY(-4px);
}

.evts-pg .evt-card .card-date-bar {
align-items: center;
background: #B646BD;
display: flex;
flex-direction: row;
gap: 12px;
padding: 12px 24px;
}

.evts-pg .evt-card .card-date-bar .cdb-day {
color: #fff;
font-size: 30px;
font-weight: 800;
letter-spacing: 0.01em;
line-height: 1.2;
}

.evts-pg .evt-card .card-date-bar .cdb-meta {
display: flex;
flex-direction: column;
gap: 0;
}

.evts-pg .evt-card .card-date-bar .cdb-month {
color: rgba(255, 255, 255, 0.9);
font-size: 15px;
font-weight: 600;
letter-spacing: 0.02em;
line-height: 1.4;
text-transform: uppercase;
}

.evts-pg .evt-card .card-date-bar .cdb-year {
color: rgba(255, 255, 255, 0.7);
font-size: 15px;
letter-spacing: 0.01em;
line-height: 1.4;
}

.evts-pg .evt-card .card-body {
display: flex;
flex-direction: column;
flex: 1;
gap: 12px;
padding: 24px;
}

.evts-pg .evt-card .card-body .card-tags {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 6px;
}

.evts-pg .evt-card .card-body .card-ttl {
color: #1e0a20;
font-size: 15px;
font-weight: 700;
letter-spacing: 0.01em;
line-height: 1.4;
margin: 0;
}

.evts-pg .evt-card .card-body .card-desc {
color: #3a1a3e;
font-size: 15px;
letter-spacing: 0.01em;
line-height: 1.6;
margin: 0;
}

.evts-pg .evt-card .card-body .card-info {
border-top: 1px dashed rgba(182, 70, 189, 0.2);
display: flex;
flex-direction: column;
gap: 6px;
margin-top: auto;
padding-top: 12px;
}

.evts-pg .evt-card .card-body .card-info .ci-row {
align-items: center;
display: flex;
flex-direction: row;
gap: 12px;
}

.evts-pg .evt-card .card-body .card-info .ci-icon {
border-radius: 20px;
display: inline-flex;
flex-shrink: 0;
height: 20px;
width: 20px;
}

.evts-pg .evt-card .card-body .card-info .ci-icon.loc {
background: rgba(182, 70, 189, 0.15);
position: relative;
}

.evts-pg .evt-card .card-body .card-info .ci-icon.loc::before {
background: #B646BD;
border-radius: 20px;
content: '';
height: 8px;
left: 50%;
position: absolute;
top: 50%;
transform: translate(-50%, -50%);
width: 8px;
}

.evts-pg .evt-card .card-body .card-info .ci-icon.time {
background: rgba(223, 168, 218, 0.25);
position: relative;
}

.evts-pg .evt-card .card-body .card-info .ci-icon.time::before {
border: 2px solid #B646BD;
border-radius: 20px;
content: '';
height: 10px;
left: 50%;
position: absolute;
top: 50%;
transform: translate(-50%, -50%);
width: 10px;
}

.evts-pg .evt-card .card-body .card-info .ci-val {
color: #5a3560;
font-size: 15px;
letter-spacing: 0.01em;
line-height: 1.4;
}

.evts-pg .evt-card .card-foot {
border-top: 1px solid rgba(182, 70, 189, 0.1);
padding: 12px 24px;
}

.evts-pg .evt-card .card-foot .cf-link {
color: #B646BD;
display: inline-block;
font-size: 15px;
font-weight: 600;
letter-spacing: 0.02em;
line-height: 1.4;
padding: 6px 12px;
position: relative;
text-decoration: none;
text-transform: uppercase;
transition: background 0.15s ease-out, border-radius 0.15s ease-out;
}

.evts-pg .evt-card .card-foot .cf-link:hover {
background: rgba(182, 70, 189, 0.1);
border-radius: 20px;
}

.evts-pg .evt-card.featured {
border-color: rgba(182, 70, 189, 0.35);
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09), inset 0 0 0 1px rgba(182, 70, 189, 0.08);
grid-column: span 2;
}

.evts-pg .evt-card.featured .card-date-bar {
background: linear-gradient(143deg, #B646BD 0%, #8a1e90 100%);
padding: 24px;
}

.evts-pg .evt-card.featured .card-date-bar .cdb-day {
font-size: 42px;
}

.evts-pg .evt-card.featured .card-body {
padding: 24px;
}

.evts-pg .evt-card.featured .card-body .card-ttl {
font-size: 30px;
line-height: 1.2;
}

.evts-pg .dashed-path {
border: 2px dashed rgba(182, 70, 189, 0.2);
border-radius: 20px;
bottom: 0;
left: 0;
pointer-events: none;
position: absolute;
right: 0;
top: 0;
}

.evts-pg .slide-lbl {
display: inline-block;
overflow: hidden;
position: relative;
}

.evts-pg .slide-lbl .sl-inner {
display: inline-block;
transition: transform 0.15s ease-out;
}

.evts-pg .slide-lbl:hover .sl-inner {
transform: translateX(8px);
}

@media (max-width: 1200px) {
.evts-pg .evts-grid {
grid-template-columns: repeat(2, 1fr);
}

.evts-pg .evt-card.featured {
grid-column: span 2;
}

.evts-pg .top-band-grid {
grid-template-columns: 1fr 1fr;
}
}

@media (max-width: 900px) {
.evts-pg .top-band {
padding: 40px 24px;
}

.evts-pg .top-band-grid {
grid-template-columns: 1fr;
gap: 24px;
}

.evts-pg .top-right {
display: none;
}

.evts-pg .evts-list-sec {
padding: 40px 24px;
}

.evts-pg .evts-grid {
grid-template-columns: 1fr;
}

.evts-pg .evt-card.featured {
grid-column: span 1;
}

.evts-pg .evt-card.featured .card-body .card-ttl {
font-size: 15px;
}

.evts-pg .evts-list-sec .sec-intro {
flex-direction: column;
align-items: flex-start;
gap: 12px;
}

.evts-pg .evts-list-sec .sec-note {
max-width: 100%;
}

.evts-pg .stats-row {
flex-wrap: wrap;
}
}

@media (max-width: 600px) {
.evts-pg .top-band {
padding: 40px 12px;
}

.evts-pg .top-left .pg-hdg {
font-size: 30px;
}

.evts-pg .evts-list-sec {
padding: 40px 12px;
}

.evts-pg .stat-num {
font-size: 15px;
}
}

.abt {
max-width: 100%;
overflow-x: hidden;
}

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

.abt ::selection {
background: #DFA8DA;
color: #1a0d1b;
}

.abt .accent-bar {
display: block;
width: 48px;
height: 4px;
background: #B646BD;
margin-bottom: 12px;
}

.abt .tag-badge {
display: inline-block;
padding: 6px 12px;
border: 1px solid #DFA8DA;
border-radius: 20px;
font-size: 15px;
line-height: 1.4;
color: #B646BD;
margin: 6px 6px 6px 0;
transition: border-color 0.15s ease-out, background 0.15s ease-out;
}

.abt .tag-badge:hover {
background: #FEFDFE;
border-color: #B646BD;
}

.abt .btn-primary {
display: inline-block;
padding: 12px 40px;
background: #B646BD;
color: #fff;
border-radius: 0px;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.02em;
text-transform: uppercase;
border: none;
cursor: pointer;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
transition: transform 0.12s ease-out, box-shadow 0.12s ease-out;
text-decoration: none;
}

.abt .btn-primary:hover {
transform: scale(1.04);
box-shadow: 0 9px 44px 0 rgba(182, 70, 189, 0.12);
color: #fff;
text-decoration: none;
}

.abt .btn-primary:focus {
outline: 2px solid #B646BD;
outline-offset: 3px;
}

.abt .italic-accent {
font-style: italic;
color: #B646BD;
}

.abt img {
display: block;
max-width: 100%;
}

.abt .title-blk {
position: relative;
padding: 80px 0 80px;
background: linear-gradient(180deg, transparent 0%, #DFA8DA 100%);
overflow: hidden;
}

.abt .title-blk .blob1 {
position: absolute;
top: -60px;
left: -80px;
width: 320px;
height: 320px;
background: rgba(182, 70, 189, 0.13);
border-radius: 20px;
filter: blur(60px);
pointer-events: none;
}

.abt .title-blk .blob2 {
position: absolute;
bottom: -40px;
right: -60px;
width: 260px;
height: 260px;
background: rgba(223, 168, 218, 0.18);
border-radius: 20px;
filter: blur(50px);
pointer-events: none;
}

.abt .title-blk .tri-tl {
position: absolute;
top: 0;
left: 0;
width: 0;
height: 0;
border-top: 80px solid rgba(182, 70, 189, 0.1);
border-right: 80px solid transparent;
pointer-events: none;
}

.abt .title-blk .tri-br {
position: absolute;
bottom: 0;
right: 0;
width: 0;
height: 0;
border-bottom: 60px solid rgba(182, 70, 189, 0.08);
border-left: 60px solid transparent;
pointer-events: none;
}

.abt .title-blk .split {
display: flex;
flex-direction: row;
align-items: center;
gap: 40px;
}

.abt .title-blk .left-col {
flex: 0 0 30%;
max-width: 30%;
}

.abt .title-blk .right-col {
flex: 1 1 70%;
}

.abt .title-blk .img-wrap {
position: relative;
border-radius: 20px;
overflow: hidden;
box-shadow: 0 9px 44px 0 rgba(182, 70, 189, 0.12);
}

.abt .title-blk .img-wrap img {
width: 100%;
height: 420px;
object-fit: cover;
border-radius: 20px;
filter: brightness(1.05) contrast(1.02);
transition: transform 0.18s ease-out;
}

.abt .title-blk .img-wrap::after {
content: "";
position: absolute;
inset: 0;
border-radius: 20px;
box-shadow: inset 0 0 30px rgba(182, 70, 189, 0.1);
pointer-events: none;
}

.abt .title-blk .img-wrap:hover img {
transform: scale(1.02);
}

.abt .title-blk .h1-label {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.02em;
color: #B646BD;
text-transform: uppercase;
margin-bottom: 12px;
}

.abt .title-blk .main-heading {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #1a0d1b;
text-transform: uppercase;
margin-bottom: 12px;
}

.abt .title-blk .sub-heading {
font-size: 30px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #4a1f4e;
margin-bottom: 24px;
}

.abt .title-blk .desc {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #2e1433;
max-width: 600px;
margin-bottom: 40px;
}

@keyframes inner-glow {
0% {
opacity: 0.4;
}

50% {
opacity: 0.85;
}

100% {
opacity: 0.4;
}
}

.abt .title-blk .glow-center {
position: absolute;
top: 30%;
left: 30%;
width: 40%;
height: 40%;
background: rgba(223, 168, 218, 0.22);
border-radius: 20px;
filter: blur(80px);
animation: inner-glow 4s ease-in-out infinite;
pointer-events: none;
}

.abt .about-detail {
padding: 80px 0;
background: #fff;
position: relative;
}

.abt .about-detail .tri-tr {
position: absolute;
top: 0;
right: 0;
width: 0;
height: 0;
border-top: 70px solid rgba(223, 168, 218, 0.2);
border-left: 70px solid transparent;
pointer-events: none;
}

.abt .about-detail .tri-bl {
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 0;
border-bottom: 50px solid rgba(182, 70, 189, 0.07);
border-right: 50px solid transparent;
pointer-events: none;
}

.abt .about-detail .section-top {
display: flex;
flex-direction: row;
gap: 40px;
align-items: flex-start;
margin-bottom: 40px;
}

.abt .about-detail .top-left {
flex: 0 0 30%;
max-width: 30%;
}

.abt .about-detail .top-right {
flex: 1 1 70%;
}

.abt .about-detail .sec-heading {
font-size: 30px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #1a0d1b;
margin-bottom: 12px;
}

.abt .about-detail .sec-desc {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #2e1433;
}

.abt .about-detail .img-side {
width: 100%;
height: 280px;
object-fit: cover;
border-radius: 20px;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
transition: box-shadow 0.16s ease-out;
}

.abt .about-detail .img-side:hover {
box-shadow: 0 9px 44px 0 rgba(182, 70, 189, 0.12);
}

.abt .about-detail .four-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
}

.abt .about-detail .card {
border-radius: 20px;
padding: 24px;
background: #FEFDFE;
box-shadow: 0 3px 3px 0 rgba(182, 70, 189, 0.07);
border: 1px solid rgba(223, 168, 218, 0.3);
transition: box-shadow 0.14s ease-out, border-color 0.14s ease-out;
position: relative;
}

.abt .about-detail .card:hover {
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
border-color: #B646BD;
}

@keyframes border-pulse {
0% {
box-shadow: 0 0 0 0 rgba(182, 70, 189, 0.35);
}

100% {
box-shadow: 0 0 0 6px rgba(182, 70, 189, 0);
}
}

.abt .about-detail .card:hover {
animation: border-pulse 0.2s ease-out;
}

.abt .about-detail .card-num {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #B646BD;
font-weight: 700;
margin-bottom: 6px;
}

.abt .about-detail .card-label {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.02em;
color: #1a0d1b;
font-weight: 600;
margin-bottom: 6px;
}

.abt .about-detail .card-text {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #4a1f4e;
}

.abt .team-cta {
padding: 80px 0;
background: linear-gradient(143deg, #DFA8DA 0%, transparent 60%);
position: relative;
}

.abt .team-cta .tri-tl {
position: absolute;
top: 0;
left: 0;
width: 0;
height: 0;
border-top: 90px solid rgba(182, 70, 189, 0.09);
border-right: 90px solid transparent;
pointer-events: none;
}

.abt .team-cta .tri-br {
position: absolute;
bottom: 0;
right: 0;
width: 0;
height: 0;
border-bottom: 70px solid rgba(182, 70, 189, 0.07);
border-left: 70px solid transparent;
pointer-events: none;
}

.abt .team-cta .layout {
display: flex;
flex-direction: row;
gap: 40px;
align-items: flex-start;
}

.abt .team-cta .left {
flex: 0 0 30%;
max-width: 30%;
display: flex;
flex-direction: column;
gap: 24px;
}

.abt .team-cta .right {
flex: 1 1 70%;
}

.abt .team-cta .cta-box {
background: #fff;
border-radius: 20px;
padding: 40px;
box-shadow: 0 9px 44px 0 rgba(182, 70, 189, 0.12);
box-shadow: inset 0 0 0 1px rgba(182, 70, 189, 0.12), 0 9px 44px 0 rgba(182, 70, 189, 0.12);
margin-bottom: 40px;
}

.abt .team-cta .cta-heading {
font-size: 30px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #1a0d1b;
margin-bottom: 12px;
}

.abt .team-cta .cta-text {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #2e1433;
margin-bottom: 24px;
}

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

.abt .team-cta .member {
border-radius: 20px;
overflow: hidden;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
background: #fff;
transition: box-shadow 0.15s ease-out;
}

.abt .team-cta .member:hover {
box-shadow: 0 9px 44px 0 rgba(182, 70, 189, 0.12);
}

.abt .team-cta .member-img {
width: 100%;
height: 220px;
object-fit: cover;
display: block;
transition: transform 0.18s ease-out;
}

.abt .team-cta .member:hover .member-img {
transform: scale(1.03);
}

.abt .team-cta .member-info {
padding: 24px;
}

.abt .team-cta .member-name {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.02em;
color: #1a0d1b;
font-weight: 700;
margin-bottom: 6px;
}

.abt .team-cta .member-role {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #B646BD;
font-style: italic;
margin-bottom: 6px;
}

.abt .team-cta .member-bio {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #4a1f4e;
}

.abt .team-cta .side-img-wrap {
border-radius: 20px;
overflow: hidden;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
}

.abt .team-cta .side-img {
width: 100%;
height: 260px;
object-fit: cover;
display: block;
transition: transform 0.18s ease-out;
}

.abt .team-cta .side-img-wrap:hover .side-img {
transform: scale(1.03);
}

.abt .team-cta .tags-area {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 6px;
margin-top: 24px;
}

@media (max-width: 1200px) {
.abt .about-detail .four-grid {
grid-template-columns: repeat(2, 1fr);
}

.abt .team-cta .team-grid {
grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 900px) {
.abt .title-blk .split {
flex-direction: column;
}

.abt .title-blk .left-col,
.abt .title-blk .right-col {
flex: 1 1 100%;
max-width: 100%;
}

.abt .about-detail .section-top {
flex-direction: column;
}

.abt .about-detail .top-left,
.abt .about-detail .top-right {
flex: 1 1 100%;
max-width: 100%;
}

.abt .about-detail .four-grid {
grid-template-columns: repeat(2, 1fr);
}

.abt .team-cta .layout {
flex-direction: column;
}

.abt .team-cta .left,
.abt .team-cta .right {
flex: 1 1 100%;
max-width: 100%;
}

.abt .team-cta .team-grid {
grid-template-columns: repeat(2, 1fr);
}

.abt .title-blk .main-heading {
font-size: 30px;
}
}

@media (max-width: 600px) {
.abt .about-detail .four-grid {
grid-template-columns: 1fr;
}

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

.abt .title-blk {
padding: 40px 0;
}

.abt .about-detail {
padding: 40px 0;
}

.abt .team-cta {
padding: 40px 0;
}

.abt .title-blk .main-heading {
font-size: 30px;
}

.abt .title-blk .sub-heading {
font-size: 15px;
}

.abt .team-cta .cta-box {
padding: 24px;
}
}

.ok-page {
min-height: 60vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 80px 24px;
background: #FEFDFE;
}

.ok-page .ok-wrap {
max-width: 600px;
width: 100%;
text-align: center;
}

.ok-page .ok-icon {
width: 72px;
height: 72px;
margin: 0 auto 40px;
display: block;
}

.ok-page .ok-icon .icon-circle {
fill: none;
stroke: #B646BD;
stroke-width: 2.5;
}

.ok-page .ok-icon .icon-check {
fill: none;
stroke: #B646BD;
stroke-width: 3;
stroke-linecap: round;
stroke-linejoin: round;
}

.ok-page .ok-title {
font-size: 42px;
font-weight: 700;
line-height: 1.2;
letter-spacing: 0.01em;
color: #1b0e1c;
margin: 0 0 24px;
text-transform: uppercase;
}

.ok-page .ok-msg {
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #3a2a3b;
margin: 0 0 40px;
}

.ok-page .ok-detail {
display: inline-block;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.02em;
color: #B646BD;
font-style: italic;
margin: 0 0 40px;
}

.ok-page .ok-divider {
width: 48px;
height: 2px;
background: linear-gradient(143deg, #B646BD, transparent);
border-radius: 0px;
margin: 0 auto 40px;
}

.ok-page .ok-actions {
display: flex;
flex-direction: row;
gap: 24px;
justify-content: center;
flex-wrap: wrap;
}

.ok-page .btn-primary {
display: inline-block;
padding: 12px 40px;
background: #B646BD;
color: #FEFDFE;
font-size: 15px;
font-weight: 700;
letter-spacing: 0.02em;
text-transform: uppercase;
text-decoration: none;
border-radius: 0px;
border: 2px solid #B646BD;
box-shadow: 0 7px 14px 0 rgba(182, 70, 189, 0.09);
transition: transform 0.15s ease-out, box-shadow 0.18s ease;
cursor: pointer;
}

.ok-page .btn-primary:hover {
transform: scale(1.04);
box-shadow: 0 9px 44px 0 rgba(182, 70, 189, 0.12);
}

.ok-page .btn-primary:focus {
outline: 2px solid #B646BD;
outline-offset: 3px;
}

.ok-page .btn-ghost {
display: inline-block;
padding: 12px 40px;
background: transparent;
color: #B646BD;
font-size: 15px;
font-weight: 700;
letter-spacing: 0.02em;
text-transform: uppercase;
text-decoration: none;
border-radius: 0px;
border: 2px solid #DFA8DA;
box-shadow: 0 3px 3px 0 rgba(182, 70, 189, 0.07);
transition: transform 0.12s ease-out, border-color 0.15s ease;
cursor: pointer;
}

.ok-page .btn-ghost:hover {
transform: scale(1.04);
border-color: #B646BD;
}

.ok-page .btn-ghost:focus {
outline: 2px solid #B646BD;
outline-offset: 3px;
}

.ok-page .ok-card {
background: #fff;
border-radius: 20px;
padding: 40px;
box-shadow: 0 9px 44px 0 rgba(223, 168, 218, 0.12);
box-sizing: border-box;
}

@media (max-width: 600px) {
.ok-page {
padding: 40px 12px;
}

.ok-page .ok-card {
padding: 24px 12px;
}

.ok-page .ok-title {
font-size: 30px;
}

.ok-page .ok-actions {
flex-direction: column;
gap: 12px;
align-items: center;
}

.ok-page .btn-primary,
.ok-page .btn-ghost {
width: 100%;
text-align: center;
padding: 12px 24px;
}
}