@import url('https://cdn.jsdelivr.net/npm/@fontsource/source-code-pro@latest/400.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/source-code-pro@latest/700.css');

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

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

body {
margin: 0;
padding: 0;
min-height: 100vh;
}

*:focus-visible {
outline: 2px solid #996CB6;
outline-offset: 3px;
transition: outline-offset 0.15s ease-out;
}

.pg-head {
background: linear-gradient(160deg, #F8F4F9 0%, #EDE5F2 60%, #CAB7D4 100%);
border-bottom: 2px solid #CAB7D4;
box-shadow: 2px 6px 14px 0 rgba(153, 108, 182, 0.08);
font-family: 'Source Code Pro', monospace;
position: relative;
}

.pg-head__brand-strip {
border-bottom: 1px solid rgba(153, 108, 182, 0.18);
padding: 24px 24px 16px;
}

.pg-head__brand-pod {
align-items: center;
display: flex;
gap: 16px;
justify-content: center;
margin: 0 auto;
max-width: 1280px;
}

.logo-card {
align-items: center;
background: #ffffff;
border: 1px solid rgba(153, 108, 182, 0.22);
border-radius: 8px;
box-shadow: 2px 1px 6px 0 rgba(153, 108, 182, 0.08), inset 0 1px 3px 0 rgba(255, 255, 255, 0.9);
display: flex;
flex-shrink: 0;
height: 72px;
justify-content: center;
padding: 8px 16px;
width: 160px;
}

.logo-card__img {
height: 56px;
object-fit: contain;
width: 128px;
}

.brand-label {
color: #3a1f52;
font-family: 'Source Code Pro', monospace;
font-size: 32px;
font-weight: 700;
letter-spacing: 0.04em;
line-height: 1.1;
}

.brand-label__sub {
color: #7a5a9e;
display: block;
font-size: 16px;
font-weight: 400;
letter-spacing: 0.12em;
line-height: 1.75;
}

.pg-head__contact-strip {
align-items: center;
display: flex;
gap: 24px;
justify-content: flex-end;
margin: 0 auto;
max-width: 1280px;
padding: 8px 24px;
}

.contact-ref {
align-items: center;
color: #5a3878;
display: flex;
font-family: 'Source Code Pro', monospace;
font-size: 16px;
gap: 8px;
letter-spacing: 0.06em;
line-height: 1.75;
text-decoration: none;
transition: color 0.15s ease-out;
}

.contact-ref:hover,
.contact-ref:focus {
color: #996CB6;
}

.contact-ref__icon {
fill: none;
flex-shrink: 0;
height: 18px;
stroke: currentColor;
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: 2;
width: 18px;
}

.pg-head__nav-strip {
padding: 0 24px 24px;
}

.pg-head__nav-pod {
display: flex;
flex-wrap: wrap;
gap: 8px;
justify-content: center;
margin: 0 auto;
max-width: 1280px;
}

.nav-item {
border-radius: 48px;
color: #3a1f52;
display: inline-block;
font-family: 'Source Code Pro', monospace;
font-size: 16px;
font-weight: 700;
letter-spacing: 0.06em;
line-height: 1.75;
min-height: 44px;
padding: 8px 24px;
text-decoration: none;
transition: background-color 0.2s ease-out, color 0.15s ease-out, box-shadow 0.25s ease-out;
}

.nav-item:hover,
.nav-item:focus {
background-color: #996CB6;
box-shadow: 2px 6px 14px 0 rgba(153, 108, 182, 0.08);
color: #ffffff;
}

.nav-item--active {
background-color: #F8F4F9;
box-shadow: 2px 1px 6px 0 rgba(153, 108, 182, 0.08);
color: #996CB6;
}

.nav-item--active:hover,
.nav-item--active:focus {
background-color: #996CB6;
color: #ffffff;
}

.pg-foot {
background: #F8F4F9;
font-family: 'Source Code Pro', monospace;
}

.pg-foot__accent {
background: linear-gradient(90deg, #996CB6 0%, #CAB7D4 50%, #996CB6 100%);
height: 4px;
width: 100%;
}

.pg-foot__body {
margin: 0 auto;
max-width: 1280px;
padding: 48px 24px 24px;
}

.pg-foot__cols {
align-items: flex-start;
display: flex;
flex-wrap: wrap;
gap: 48px;
justify-content: space-between;
margin-bottom: 48px;
}

.foot-brand__logo-card {
align-items: center;
background: #ffffff;
border: 1px solid rgba(153, 108, 182, 0.2);
border-radius: 8px;
box-shadow: 2px 1px 6px 0 rgba(153, 108, 182, 0.08);
display: flex;
height: 52px;
justify-content: center;
margin-bottom: 16px;
padding: 8px 16px;
width: 120px;
}

.foot-brand__logo-img {
height: 36px;
object-fit: contain;
width: 96px;
}

.foot-brand__name {
color: #3a1f52;
font-size: 24px;
font-weight: 700;
letter-spacing: 0.04em;
line-height: 1.1;
margin-bottom: 8px;
}

.foot-brand__addr {
color: #5a3878;
font-size: 16px;
font-style: normal;
line-height: 1.75;
}

.foot-links__heading {
color: #3a1f52;
font-size: 16px;
font-weight: 700;
letter-spacing: 0.1em;
line-height: 1.1;
margin-bottom: 16px;
text-transform: uppercase;
}

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

.foot-links__item a {
color: #5a3878;
font-size: 16px;
letter-spacing: 0.04em;
line-height: 1.75;
text-decoration: none;
transition: color 0.15s ease-out;
}

.foot-links__item a:hover,
.foot-links__item a:focus {
color: #996CB6;
}

.foot-contact__heading {
color: #3a1f52;
font-size: 16px;
font-weight: 700;
letter-spacing: 0.1em;
line-height: 1.1;
margin-bottom: 16px;
text-transform: uppercase;
}

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

.foot-contact__ref {
align-items: center;
color: #5a3878;
display: flex;
font-size: 16px;
gap: 8px;
letter-spacing: 0.04em;
line-height: 1.75;
text-decoration: none;
transition: color 0.15s ease-out;
}

.foot-contact__ref:hover,
.foot-contact__ref:focus {
color: #996CB6;
}

.foot-contact__icon {
fill: none;
flex-shrink: 0;
height: 16px;
stroke: currentColor;
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: 2;
width: 16px;
}

.pg-foot__divider-deck {
align-items: center;
display: flex;
gap: 16px;
margin-bottom: 24px;
}

.pg-foot__divider-line {
background: linear-gradient(90deg, transparent, #CAB7D4, transparent);
flex: 1;
height: 1px;
}

.pg-foot__divider-mark {
background: #CAB7D4;
border-radius: 48px;
height: 8px;
width: 8px;
}

.pg-foot__copy-row {
align-items: center;
display: flex;
flex-wrap: wrap;
gap: 16px;
justify-content: space-between;
}

.pg-foot__copy-text {
color: #7a5a9e;
font-size: 16px;
letter-spacing: 0.04em;
line-height: 1.75;
}

.pg-foot__legal-links {
align-items: center;
display: flex;
flex-wrap: wrap;
gap: 16px;
list-style: none;
margin: 0;
padding: 0;
}

.pg-foot__legal-links li a {
color: #7a5a9e;
font-size: 16px;
letter-spacing: 0.04em;
line-height: 1.75;
text-decoration: none;
transition: color 0.15s ease-out;
}

.pg-foot__legal-links li a:hover,
.pg-foot__legal-links li a:focus {
color: #996CB6;
}

.consent-bar {
background: #ffffff;
border-top: 3px solid #996CB6;
bottom: 0;
box-shadow: 2px 10px 40px 0 rgba(153, 108, 182, 0.14);
font-family: 'Source Code Pro', monospace;
left: 0;
padding: 24px;
position: fixed;
right: 0;
width: 100%;
z-index: 4000;
}

.consent-bar__inner {
margin: 0 auto;
max-width: 1280px;
}

.consent-bar__headline {
color: #3a1f52;
font-size: 16px;
font-weight: 700;
letter-spacing: 0.06em;
line-height: 1.75;
margin-bottom: 8px;
}

.consent-bar__desc {
color: #5a3878;
font-size: 16px;
line-height: 1.75;
margin-bottom: 16px;
}

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

.consent-bar__btn {
background: transparent;
border: 2px solid #996CB6;
border-radius: 8px;
color: #996CB6;
cursor: pointer;
font-family: 'Source Code Pro', monospace;
font-size: 16px;
font-weight: 700;
letter-spacing: 0.06em;
min-height: 44px;
padding: 8px 24px;
transition: background-color 0.2s ease-out, color 0.18s ease-out;
}

.consent-bar__btn:hover,
.consent-bar__btn:focus {
background-color: #996CB6;
color: #ffffff;
}

.consent-bar__decline {
background: none;
border: none;
color: #7a5a9e;
cursor: pointer;
font-family: 'Source Code Pro', monospace;
font-size: 16px;
letter-spacing: 0.04em;
line-height: 1.75;
min-height: 44px;
padding: 8px 16px;
text-decoration: underline;
transition: color 0.15s ease-out;
}

.consent-bar__decline:hover,
.consent-bar__decline:focus {
color: #996CB6;
}

.pref-trigger {
align-items: center;
background: #ffffff;
border: 2px solid #CAB7D4;
border-radius: 8px;
bottom: 24px;
box-shadow: 2px 6px 14px 0 rgba(153, 108, 182, 0.08);
cursor: pointer;
display: flex;
height: 44px;
justify-content: center;
padding: 8px;
position: fixed;
right: 24px;
transition: border-color 0.15s ease-out, box-shadow 0.2s ease-out;
width: 44px;
z-index: 3999;
}

.pref-trigger:hover,
.pref-trigger:focus {
border-color: #996CB6;
box-shadow: 2px 6px 14px 0 rgba(153, 108, 182, 0.14);
}

.pref-trigger__icon {
fill: none;
height: 22px;
stroke: #996CB6;
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: 2;
width: 22px;
}

.pref-panel {
background: #ffffff;
border: 1px solid #CAB7D4;
border-radius: 8px;
bottom: 80px;
box-shadow: 2px 10px 40px 0 rgba(153, 108, 182, 0.14);
font-family: 'Source Code Pro', monospace;
padding: 24px;
position: fixed;
right: 24px;
width: 320px;
z-index: 4000;
}

.pref-panel__heading {
color: #3a1f52;
font-size: 16px;
font-weight: 700;
letter-spacing: 0.06em;
line-height: 1.75;
margin-bottom: 16px;
}

.pref-panel__item {
align-items: center;
display: flex;
gap: 16px;
justify-content: space-between;
margin-bottom: 8px;
}

.pref-panel__label {
color: #5a3878;
font-size: 16px;
line-height: 1.75;
}

.pref-panel__toggle {
cursor: pointer;
flex-shrink: 0;
}

.pref-panel__save {
background: transparent;
border: 2px solid #996CB6;
border-radius: 8px;
color: #996CB6;
cursor: pointer;
font-family: 'Source Code Pro', monospace;
font-size: 16px;
font-weight: 700;
margin-top: 16px;
min-height: 44px;
padding: 8px 24px;
transition: background-color 0.2s ease-out, color 0.18s ease-out;
width: 100%;
}

.pref-panel__save:hover,
.pref-panel__save:focus {
background-color: #996CB6;
color: #ffffff;
}

@media (max-width: 768px) {
.pg-head__brand-pod {
flex-direction: column;
gap: 8px;
text-align: center;
}

.pg-head__contact-strip {
justify-content: center;
}

.pg-foot__cols {
flex-direction: column;
gap: 24px;
}

.pg-foot__copy-row {
flex-direction: column;
gap: 8px;
text-align: center;
}

.pref-panel {
right: 8px;
width: calc(100vw - 16px);
}
}

.terms-area {
margin-left: auto;
margin-right: auto;
max-width: 1280px;
padding: 48px 24px;
}

.terms-area h1 {
font-size: 44px;
letter-spacing: -0.02em;
line-height: 1.1;
margin-bottom: 24px;
margin-top: 0;
}

.terms-area h2 {
font-size: 32px;
line-height: 1.1;
margin-bottom: 16px;
margin-top: 48px;
}

.terms-area h3 {
font-size: 24px;
line-height: 1.1;
margin-bottom: 16px;
margin-top: 48px;
}

.terms-area h4 {
font-size: 16px;
letter-spacing: 0.06em;
line-height: 1.75;
margin-bottom: 8px;
margin-top: 24px;
text-transform: uppercase;
}

.terms-area h5 {
font-size: 16px;
line-height: 1.75;
margin-bottom: 8px;
margin-top: 24px;
}

.terms-area h6 {
font-size: 16px;
line-height: 1.75;
margin-bottom: 8px;
margin-top: 16px;
opacity: 0.72;
}

.terms-area h1,
.terms-area h2,
.terms-area h3,
.terms-area h4,
.terms-area h5,
.terms-area h6 {
color: #1d1a22;
}

.terms-area strong,
.terms-area b {
color: #1d1a22;
font-weight: 700;
}

.terms-area em,
.terms-area i {
color: #3a2f45;
font-style: italic;
}

.terms-area a {
border-bottom: 1px solid #CAB7D4;
color: #7a4fa0;
text-decoration: none;
transition: border-color 0.15s ease-out, color 0.15s ease-out;
}

.terms-area a:hover {
border-bottom-color: #996CB6;
color: #5c3280;
}

.terms-area a:focus-visible {
border-radius: 8px;
outline: 2px solid #996CB6;
outline-offset: 2px;
}

.terms-area div {
line-height: 1.75;
}

.terms-area table {
border-collapse: collapse;
border-radius: 8px;
box-shadow: 2px 1px 6px 0 rgba(153, 108, 182, 0.08);
font-size: 16px;
line-height: 1.75;
margin-bottom: 24px;
margin-top: 24px;
overflow: hidden;
width: 100%;
}

.terms-area thead {
background: linear-gradient(135deg, #F8F4F9 0%, #ede5f4 100%);
}

.terms-area thead th {
color: #3a2f45;
font-size: 16px;
font-weight: 700;
letter-spacing: 0.05em;
padding: 16px;
text-align: left;
text-transform: uppercase;
}

.terms-area tbody tr {
border-top: 1px solid #e8dff0;
transition: background-color 0.18s ease-out;
}

.terms-area tbody tr:hover {
background-color: #F8F4F9;
}

.terms-area tbody tr:nth-child(even) {
background-color: #faf7fc;
}

.terms-area tbody tr:nth-child(even):hover {
background-color: #F8F4F9;
}

.terms-area td {
color: #2e2538;
line-height: 1.75;
padding: 16px;
vertical-align: top;
}

.terms-area th {
color: #3a2f45;
padding: 16px;
vertical-align: top;
}

@media (max-width: 768px) {
.terms-area {
padding: 24px 16px;
}

.terms-area h1 {
font-size: 32px;
}

.terms-area h2 {
font-size: 24px;
margin-top: 24px;
}

.terms-area h3 {
font-size: 24px;
margin-top: 24px;
}

.terms-area table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}

.terms-area td,
.terms-area th,
.terms-area thead th {
padding: 8px;
white-space: nowrap;
}
}

.ctus {
max-width: 100%;
overflow-x: clip;
}

.ctus__inner {
max-width: 1280px;
margin: 0 auto;
padding: 0 24px;
}

.ctus ::selection {
background: linear-gradient(90deg, #996CB6, #CAB7D4);
color: #1a0a2e;
}

.ctus__reach {
padding: 72px 0 96px;
background: #fff;
position: relative;
}

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

.ctus__reach-lead {
display: flex;
flex-direction: column;
gap: 24px;
}

.ctus__eyebrow {
display: inline-block;
font-size: 16px;
font-weight: 600;
letter-spacing: 0.12em;
color: #996CB6;
background: #F8F4F9;
padding: 4px 16px;
border-radius: 48px;
align-self: flex-start;
}

.ctus__h1 {
font-size: 62px;
line-height: 1.1;
font-weight: 800;
color: #1b0e2e;
letter-spacing: -0.02em;
margin: 0;
}

.ctus__h1 em {
font-style: normal;
color: #996CB6;
}

.ctus__desc {
font-size: 16px;
line-height: 1.75;
color: #3d2f52;
max-width: 520px;
margin: 0;
}

.ctus__deco-col {
display: flex;
flex-direction: column;
gap: 16px;
padding-top: 48px;
}

.ctus__deco-shape {
width: 64px;
height: 64px;
border-radius: 8px;
background: linear-gradient(135deg, #F8F4F9 0%, #CAB7D4 100%);
box-shadow: 2px 6px 14px 0 rgba(153, 108, 182, 0.08);
align-self: flex-end;
}

.ctus__deco-shape--sm {
width: 32px;
height: 32px;
border-radius: 8px;
background: #F8F4F9;
align-self: flex-start;
box-shadow: 2px 1px 6px 0 rgba(153, 108, 182, 0.08);
}

.ctus__deco-shape--ring {
width: 48px;
height: 48px;
border-radius: 48px;
border: 3px solid #CAB7D4;
background: transparent;
align-self: flex-end;
}

.ctus__divider-diag {
width: 100%;
height: 48px;
background: #F8F4F9;
clip-path: polygon(0 0, 100% 48px, 100% 100%, 0 100%);
margin-top: -2px;
}

.ctus__form-band {
background: #F8F4F9;
padding: 0 0 80px;
position: relative;
}

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

.ctus__form-card {
background: #fff;
border-radius: 8px;
box-shadow: 2px 10px 40px 0 rgba(153, 108, 182, 0.14);
padding: 48px;
}

.ctus__form-title {
font-size: 32px;
line-height: 1.1;
font-weight: 700;
color: #1b0e2e;
margin: 0 0 8px;
letter-spacing: -0.01em;
}

.ctus__form-sub {
font-size: 16px;
line-height: 1.75;
color: #5a4470;
margin: 0 0 32px;
}

.ctus__form {
display: flex;
flex-direction: column;
gap: 24px;
}

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

.ctus__label {
font-size: 16px;
font-weight: 600;
color: #2a1a42;
letter-spacing: 0.02em;
}

.ctus__label--req::after {
content: " *";
color: #996CB6;
}

.ctus__input {
border: 2px solid #e8dff0;
border-radius: 8px;
padding: 16px;
font-size: 16px;
color: #1b0e2e;
background: #fff;
transition: border-color 0.15s ease-out, box-shadow 0.25s ease-out;
width: 100%;
box-sizing: border-box;
text-overflow: ellipsis;
}

.ctus__input::placeholder {
color: #b09cc4;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}

.ctus__input:focus {
outline: none;
border-color: #996CB6;
box-shadow: inset 0 0 0 3px rgba(153, 108, 182, 0.10), 2px 6px 14px 0 rgba(153, 108, 182, 0.08);
}

.ctus__budget-label {
font-size: 16px;
font-weight: 600;
color: #2a1a42;
margin-bottom: 8px;
display: block;
letter-spacing: 0.02em;
}

.ctus__budget-opts {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
}

.ctus__budget-opt {
display: flex;
align-items: center;
gap: 8px;
cursor: pointer;
}

.ctus__budget-opt input[type="radio"] {
appearance: none;
-webkit-appearance: none;
width: 20px;
height: 20px;
border-radius: 48px;
border: 2px solid #CAB7D4;
background: #fff;
cursor: pointer;
flex-shrink: 0;
transition: border-color 0.15s ease-out, background 0.2s ease-out;
position: relative;
}

.ctus__budget-opt input[type="radio"]:checked {
border-color: #996CB6;
background: #996CB6;
box-shadow: inset 0 0 0 4px #fff;
}

.ctus__budget-opt input[type="radio"]:focus {
outline: 2px solid #996CB6;
outline-offset: 2px;
}

.ctus__budget-text {
font-size: 16px;
color: #3d2f52;
line-height: 1.75;
}

.ctus__privacy {
display: flex;
align-items: flex-start;
gap: 12px;
padding: 16px;
background: #F8F4F9;
border-radius: 8px;
}

.ctus__privacy input[type="checkbox"] {
appearance: none;
-webkit-appearance: none;
width: 20px;
height: 20px;
border-radius: 8px;
border: 2px solid #CAB7D4;
background: #fff;
cursor: pointer;
flex-shrink: 0;
margin-top: 2px;
transition: border-color 0.15s ease-out, background 0.2s ease-out;
}

.ctus__privacy input[type="checkbox"]:checked {
border-color: #996CB6;
background: #996CB6;
}

.ctus__privacy input[type="checkbox"]:focus {
outline: 2px solid #996CB6;
outline-offset: 2px;
}

.ctus__privacy-text {
font-size: 16px;
line-height: 1.75;
color: #3d2f52;
margin: 0;
}

.ctus__privacy-text a {
color: #996CB6;
text-decoration: underline;
text-underline-offset: 3px;
transition: color 0.15s ease-out;
}

.ctus__privacy-text a:hover {
color: #7a4f9a;
}

.ctus__submit {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 16px 48px;
border-radius: 8px;
border: 2px solid #996CB6;
background: transparent;
color: #996CB6;
font-size: 16px;
font-weight: 700;
cursor: pointer;
letter-spacing: 0.04em;
transition: background 0.2s ease-out, color 0.15s ease-out, box-shadow 0.35s ease-out;
align-self: flex-start;
}

.ctus__submit:hover {
background: #996CB6;
color: #fff;
box-shadow: 2px 10px 40px 0 rgba(153, 108, 182, 0.14);
}

.ctus__submit:focus {
outline: 2px solid #996CB6;
outline-offset: 3px;
}

.ctus__submit:active {
background: #7a4f9a;
border-color: #7a4f9a;
color: #fff;
}

.ctus__aside {
display: flex;
flex-direction: column;
gap: 24px;
padding-top: 24px;
}

.ctus__info-card {
background: #fff;
border-radius: 8px;
padding: 24px;
box-shadow: 2px 6px 14px 0 rgba(153, 108, 182, 0.08);
display: flex;
flex-direction: column;
gap: 16px;
}

.ctus__info-card--inv {
background: #1b0e2e;
}

.ctus__info-card-title {
font-size: 16px;
font-weight: 700;
color: #1b0e2e;
letter-spacing: 0.04em;
text-transform: uppercase;
margin: 0;
}

.ctus__info-card--inv .ctus__info-card-title {
color: #CAB7D4;
}

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

.ctus__info-key {
font-size: 16px;
font-weight: 600;
color: #996CB6;
letter-spacing: 0.06em;
text-transform: uppercase;
}

.ctus__info-val {
font-size: 16px;
line-height: 1.75;
color: #3d2f52;
margin: 0;
word-break: break-word;
}

.ctus__info-card--inv .ctus__info-val {
color: #e8dff0;
}

.ctus__info-val a {
color: #996CB6;
text-decoration: none;
transition: color 0.15s ease-out;
}

.ctus__info-val a:hover {
color: #CAB7D4;
}

.ctus__info-card--inv .ctus__info-val a {
color: #CAB7D4;
}

.ctus__dot-accent {
display: inline-block;
width: 8px;
height: 8px;
border-radius: 48px;
background: #996CB6;
vertical-align: middle;
margin-right: 4px;
flex-shrink: 0;
}

.ctus__divider-diag--rev {
width: 100%;
height: 48px;
background: #1b0e2e;
clip-path: polygon(0 48px, 100% 0, 100% 100%, 0 100%);
margin-bottom: -2px;
}

.ctus__inv-band {
background: #1b0e2e;
padding: 80px 0 96px;
position: relative;
overflow: hidden;
}

.ctus__inv-bg {
position: absolute;
inset: 0;
background-image:
radial-gradient(circle at 80% 20%, rgba(153, 108, 182, 0.18) 0%, transparent 55%),
radial-gradient(circle at 10% 80%, rgba(202, 183, 212, 0.10) 0%, transparent 50%);
animation: ctus-bgzoom 12s ease-out infinite alternate;
pointer-events: none;
}

@keyframes ctus-bgzoom {
from {
transform: scale(1);
}

to {
transform: scale(1.06);
}
}

.ctus__inv-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center;
position: relative;
z-index: 1;
}

.ctus__inv-text {
display: flex;
flex-direction: column;
gap: 24px;
}

.ctus__inv-h2 {
font-size: 44px;
line-height: 1.1;
font-weight: 800;
color: #fff;
margin: 0;
letter-spacing: -0.02em;
}

.ctus__inv-h2 em {
font-style: normal;
color: #CAB7D4;
}

.ctus__inv-p {
font-size: 16px;
line-height: 1.75;
color: #c4b2d8;
margin: 0;
max-width: 440px;
}

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

.ctus__feat-item {
display: flex;
align-items: center;
gap: 16px;
padding: 16px;
border-radius: 8px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(202, 183, 212, 0.12);
transition: background 0.25s ease-out, border-color 0.2s ease-out;
position: relative;
}

.ctus__feat-item:hover {
background: rgba(153, 108, 182, 0.12);
border-color: rgba(153, 108, 182, 0.3);
}

.ctus__feat-item--alt {
flex-direction: row-reverse;
}

.ctus__feat-icon {
width: 44px;
height: 44px;
border-radius: 8px;
background: rgba(153, 108, 182, 0.18);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
position: relative;
}

.ctus__feat-dot {
position: absolute;
top: -4px;
right: -4px;
width: 10px;
height: 10px;
border-radius: 48px;
background: #996CB6;
border: 2px solid #1b0e2e;
}

.ctus__feat-icon svg {
width: 22px;
height: 22px;
}

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

.ctus__feat-name {
font-size: 16px;
font-weight: 700;
color: #fff;
margin: 0;
}

.ctus__feat-desc {
font-size: 16px;
line-height: 1.75;
color: #a892c0;
margin: 0;
}

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

.ctus__geom-dot {
position: absolute;
border-radius: 48px;
background: rgba(202, 183, 212, 0.08);
}

.ctus__geom-dot--a {
width: 16px;
height: 16px;
top: 48px;
right: 24px;
}

.ctus__geom-dot--b {
width: 10px;
height: 10px;
top: 96px;
right: 48px;
}

.ctus__geom-dot--c {
width: 16px;
height: 16px;
top: 144px;
right: 24px;
}

.ctus__geom-dot--d {
width: 10px;
height: 10px;
top: 192px;
right: 48px;
}

.ctus__geom-dot--e {
width: 16px;
height: 16px;
top: 240px;
right: 24px;
}

.ctus__geom-dot--f {
width: 10px;
height: 10px;
top: 288px;
right: 48px;
}

.ctus__geom-dot--g {
width: 16px;
height: 16px;
top: 336px;
right: 24px;
}

.ctus__geom-dot--h {
width: 10px;
height: 10px;
top: 384px;
right: 48px;
}

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

.ctus__deco-col {
display: none;
}

.ctus__h1 {
font-size: 44px;
}

.ctus__form-grid {
grid-template-columns: 1fr;
}

.ctus__aside {
padding-top: 0;
}

.ctus__inv-grid {
grid-template-columns: 1fr;
}

.ctus__inv-h2 {
font-size: 32px;
}

.ctus__budget-opts {
grid-template-columns: 1fr;
}
}

@media (max-width: 600px) {
.ctus__form-card {
padding: 24px;
}

.ctus__h1 {
font-size: 32px;
}

.ctus__submit {
width: 100%;
justify-content: center;
}
}

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

.lrn-prog .pg-wrap {
max-width: 1280px;
margin: 0 auto;
padding: 0 24px;
}

.lrn-prog ::selection {
background: linear-gradient(90deg, #996CB6, #CAB7D4);
color: #1a0a2e;
}

.lrn-prog .drop-in {
animation: dropBounce 0.45s ease-out both;
}

@keyframes dropBounce {
0% {
opacity: 0;
transform: translateY(-28px);
}

72% {
opacity: 1;
transform: translateY(4px);
}

88% {
transform: translateY(-2px);
}

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

.lrn-prog .sec-divider {
border: none;
border-top: 2px dotted #CAB7D4;
margin: 0;
opacity: 0.55;
}

/* ── SECTION 1: Title block ── */
.lrn-prog .prog-title {
background: #fff;
padding: 48px 0;
}

.lrn-prog .prog-title__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: start;
}

.lrn-prog .prog-title__text {
position: relative;
padding: 48px 48px 48px 0;
}

.lrn-prog .prog-title__deco {
position: absolute;
top: 0;
left: -24px;
right: 48px;
bottom: 0;
background: linear-gradient(135deg, #F8F4F9 60%, #EDE4F2 100%);
border-radius: 8px;
z-index: 0;
pointer-events: none;
}

.lrn-prog .prog-title__deco::after {
content: "";
position: absolute;
inset: 0;
border-radius: 8px;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");
opacity: 0.5;
pointer-events: none;
}

.lrn-prog .prog-title__inner {
position: relative;
z-index: 1;
}

.lrn-prog .prog-title__num {
display: inline-block;
font-size: 72px;
line-height: 1.1;
font-weight: 800;
color: #996CB6;
letter-spacing: -2px;
margin-bottom: 8px;
}

.lrn-prog .prog-title__label {
display: block;
font-size: 16px;
line-height: 1.75;
color: #5a3d72;
letter-spacing: 0.08em;
text-transform: uppercase;
margin-bottom: 16px;
}

.lrn-prog .prog-title__h {
font-size: 44px;
line-height: 1.1;
font-weight: 800;
color: #1e0e33;
letter-spacing: -0.5px;
margin-bottom: 16px;
}

.lrn-prog .prog-title__desc {
font-size: 16px;
line-height: 1.75;
color: #3d2655;
margin-bottom: 24px;
}

.lrn-prog .prog-title__actions {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
}

.lrn-prog .btn-primary {
display: inline-block;
padding: 16px 24px;
background: transparent;
border: 2px solid #996CB6;
border-radius: 8px;
color: #996CB6;
font-size: 16px;
font-weight: 700;
cursor: pointer;
text-decoration: none;
transition: background-color 0.15s ease-out, color 0.15s ease-out, box-shadow 0.25s ease-out;
box-shadow: 2px 1px 6px 0 rgba(153, 108, 182, 0.08);
position: relative;
overflow: hidden;
}

.lrn-prog .btn-primary::before {
content: "";
position: absolute;
inset: 0;
background: repeating-linear-gradient(135deg,
rgba(153, 108, 182, 0.12) 0px,
rgba(153, 108, 182, 0.12) 4px,
transparent 4px,
transparent 12px);
opacity: 0;
transition: opacity 0.2s ease-out;
pointer-events: none;
}

.lrn-prog .btn-primary:hover::before {
opacity: 1;
}

.lrn-prog .btn-primary:hover {
background: #996CB6;
color: #fff;
box-shadow: 2px 6px 14px 0 rgba(153, 108, 182, 0.08);
}

.lrn-prog .btn-secondary {
display: inline-block;
padding: 16px 24px;
background: transparent;
border: 2px solid #CAB7D4;
border-radius: 8px;
color: #5a3d72;
font-size: 16px;
font-weight: 600;
cursor: pointer;
text-decoration: none;
transition: background-color 0.18s ease-out, color 0.18s ease-out, border-color 0.18s ease-out;
}

.lrn-prog .btn-secondary:hover {
background: #F8F4F9;
border-color: #996CB6;
color: #996CB6;
}

.lrn-prog .prog-title__img-col {
position: relative;
}

.lrn-prog .prog-title__img-wrap {
position: relative;
border-radius: 8px;
overflow: hidden;
box-shadow: 2px 10px 40px 0 rgba(153, 108, 182, 0.14);
}

.lrn-prog .prog-title__img-wrap img {
width: 100%;
height: 520px;
object-fit: cover;
object-position: center top;
display: block;
}

.lrn-prog .prog-title__img-wrap::after {
content: "";
position: absolute;
inset: 0;
background:
radial-gradient(ellipse at top left, rgba(30, 14, 51, 0.35) 0%, transparent 55%),
radial-gradient(ellipse at bottom right, rgba(30, 14, 51, 0.35) 0%, transparent 55%);
pointer-events: none;
border-radius: 8px;
}

.lrn-prog .prog-title__badge {
position: absolute;
bottom: 24px;
left: -24px;
background: #fff;
border-radius: 8px;
padding: 16px;
box-shadow: 2px 6px 14px 0 rgba(153, 108, 182, 0.08);
display: flex;
flex-direction: column;
gap: 4px;
min-width: 160px;
}

.lrn-prog .prog-title__badge-val {
font-size: 32px;
font-weight: 800;
color: #996CB6;
line-height: 1.1;
}

.lrn-prog .prog-title__badge-lbl {
font-size: 16px;
color: #5a3d72;
line-height: 1.75;
}

/* ── SECTION 2: Program detail ── */
.lrn-prog .prog-detail {
background: #F8F4F9;
padding: 48px 0;
position: relative;
}

.lrn-prog .prog-detail::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse 70% 50% at 50% 50%, rgba(202, 183, 212, 0.22) 0%, transparent 75%);
pointer-events: none;
}

.lrn-prog .prog-detail__head {
text-align: center;
margin-bottom: 48px;
position: relative;
z-index: 1;
}

.lrn-prog .prog-detail__tag {
display: inline-block;
background: #CAB7D4;
color: #1e0e33;
font-size: 16px;
letter-spacing: 0.1em;
text-transform: uppercase;
padding: 4px 16px;
border-radius: 48px;
margin-bottom: 16px;
}

.lrn-prog .prog-detail__h {
font-size: 44px;
line-height: 1.1;
font-weight: 800;
color: #1e0e33;
letter-spacing: -0.5px;
margin-bottom: 8px;
}

.lrn-prog .prog-detail__sub {
font-size: 16px;
line-height: 1.75;
color: #3d2655;
max-width: 600px;
margin: 0 auto;
}

.lrn-prog .prog-detail__outer {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
position: relative;
z-index: 1;
align-items: start;
}

.lrn-prog .prog-detail__outer::before {
content: "";
position: absolute;
top: 0;
bottom: 0;
left: 50%;
width: 1px;
background: linear-gradient(180deg, transparent, #CAB7D4 20%, #CAB7D4 80%, transparent);
transform: translateX(-50%);
pointer-events: none;
}

.lrn-prog .prog-detail__col {
display: flex;
flex-direction: column;
gap: 24px;
}

.lrn-prog .prog-detail__col--right {
padding-left: 24px;
}

.lrn-prog .prog-detail__col--left {
padding-right: 24px;
}

.lrn-prog .module-card {
background: #fff;
border-radius: 8px;
padding: 24px;
box-shadow: 2px 1px 6px 0 rgba(153, 108, 182, 0.08);
position: relative;
overflow: hidden;
transition: box-shadow 0.25s ease-out, transform 0.2s ease-out;
}

.lrn-prog .module-card::before {
content: "";
position: absolute;
inset: 0;
background: repeating-linear-gradient(135deg,
rgba(153, 108, 182, 0.09) 0px,
rgba(153, 108, 182, 0.09) 3px,
transparent 3px,
transparent 14px);
opacity: 0;
transition: opacity 0.2s ease-out;
pointer-events: none;
}

.lrn-prog .module-card:hover::before {
opacity: 1;
}

.lrn-prog .module-card:hover {
box-shadow: 2px 6px 14px 0 rgba(153, 108, 182, 0.08);
transform: translateY(-2px);
}

.lrn-prog .module-card__num {
font-size: 32px;
font-weight: 800;
color: #CAB7D4;
line-height: 1.1;
margin-bottom: 8px;
display: block;
}

.lrn-prog .module-card__h {
font-size: 24px;
font-weight: 700;
color: #1e0e33;
line-height: 1.1;
margin-bottom: 8px;
letter-spacing: -0.2px;
}

.lrn-prog .module-card__p {
font-size: 16px;
line-height: 1.75;
color: #3d2655;
margin-bottom: 16px;
}

.lrn-prog .module-card__list {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
list-style: none;
margin: 0;
padding: 0;
}

.lrn-prog .module-card__list li {
font-size: 16px;
line-height: 1.75;
color: #5a3d72;
padding-left: 16px;
position: relative;
}

.lrn-prog .module-card__list li::before {
content: "";
position: absolute;
left: 0;
top: 10px;
width: 6px;
height: 6px;
border-radius: 48px;
background: #996CB6;
}

.lrn-prog .prog-detail__img-wrap {
border-radius: 8px;
overflow: hidden;
box-shadow: 2px 10px 40px 0 rgba(153, 108, 182, 0.14);
margin-bottom: 24px;
}

.lrn-prog .prog-detail__img-wrap img {
width: 100%;
height: 280px;
object-fit: cover;
object-position: center center;
display: block;
}

.lrn-prog .risk-bar {
background: #fff;
border-radius: 8px;
padding: 24px;
box-shadow: 2px 1px 6px 0 rgba(153, 108, 182, 0.08);
}

.lrn-prog .risk-bar__h {
font-size: 16px;
font-weight: 700;
color: #1e0e33;
letter-spacing: 0.05em;
text-transform: uppercase;
margin-bottom: 16px;
}

.lrn-prog .risk-bar__track {
display: flex;
flex-direction: row;
gap: 4px;
margin-bottom: 8px;
}

.lrn-prog .risk-bar__seg {
flex: 1;
height: 12px;
border-radius: 48px;
}

.lrn-prog .risk-bar__seg--1 {
background: #7BC67E;
}

.lrn-prog .risk-bar__seg--2 {
background: #A8D5AB;
}

.lrn-prog .risk-bar__seg--3 {
background: #CAB7D4;
}

.lrn-prog .risk-bar__seg--4 {
background: #B08AC0;
}

.lrn-prog .risk-bar__seg--5 {
background: #996CB6;
}

.lrn-prog .risk-bar__labels {
display: flex;
flex-direction: row;
justify-content: space-between;
}

.lrn-prog .risk-bar__label {
font-size: 16px;
color: #5a3d72;
line-height: 1.75;
}

.lrn-prog .risk-bar__indicator {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-top: 16px;
padding-top: 16px;
border-top: 1px dotted #CAB7D4;
}

.lrn-prog .risk-bar__dot {
width: 16px;
height: 16px;
border-radius: 48px;
background: #CAB7D4;
flex-shrink: 0;
box-shadow: inset 0 0 0 3px rgba(153, 108, 182, 0.25);
}

.lrn-prog .risk-bar__text {
font-size: 16px;
color: #3d2655;
line-height: 1.75;
}

.lrn-prog .format-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}

.lrn-prog .fmt-item {
background: #F8F4F9;
border-radius: 8px;
padding: 16px;
transition: background-color 0.15s ease-out;
}

.lrn-prog .fmt-item:hover {
background: #EDE4F2;
}

.lrn-prog .fmt-item__icon {
width: 32px;
height: 32px;
margin-bottom: 8px;
}

.lrn-prog .fmt-item__h {
font-size: 16px;
font-weight: 700;
color: #1e0e33;
margin-bottom: 4px;
}

.lrn-prog .fmt-item__p {
font-size: 16px;
line-height: 1.75;
color: #5a3d72;
}

.lrn-prog .faq-block {
background: #fff;
border-radius: 8px;
padding: 24px;
box-shadow: 2px 1px 6px 0 rgba(153, 108, 182, 0.08);
}

.lrn-prog .faq-block__h {
font-size: 24px;
font-weight: 700;
color: #1e0e33;
line-height: 1.1;
margin-bottom: 16px;
}

.lrn-prog .faq-item {
border-top: 1px dotted #CAB7D4;
padding: 16px 0;
}

.lrn-prog .faq-item:first-of-type {
border-top: none;
padding-top: 0;
}

.lrn-prog .faq-item details {
cursor: pointer;
}

.lrn-prog .faq-item summary {
font-size: 16px;
font-weight: 600;
color: #1e0e33;
line-height: 1.75;
list-style: none;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
gap: 8px;
cursor: pointer;
transition: color 0.15s ease-out;
}

.lrn-prog .faq-item summary::-webkit-details-marker {
display: none;
}

.lrn-prog .faq-item summary::after {
content: "";
width: 10px;
height: 10px;
border-right: 2px solid #996CB6;
border-bottom: 2px solid #996CB6;
transform: rotate(45deg);
flex-shrink: 0;
transition: transform 0.2s ease-out;
}

.lrn-prog .faq-item details[open] summary::after {
transform: rotate(225deg);
}

.lrn-prog .faq-item summary:hover {
color: #996CB6;
}

.lrn-prog .faq-item__ans {
font-size: 16px;
line-height: 1.75;
color: #3d2655;
padding-top: 8px;
}

.lrn-prog .howto-block {
background: #fff;
border-radius: 8px;
padding: 24px;
box-shadow: 2px 1px 6px 0 rgba(153, 108, 182, 0.08);
}

.lrn-prog .howto-block__h {
font-size: 24px;
font-weight: 700;
color: #1e0e33;
line-height: 1.1;
margin-bottom: 16px;
}

.lrn-prog .howto-step {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
padding: 16px 0;
border-top: 1px dotted #CAB7D4;
}

.lrn-prog .howto-step:first-of-type {
border-top: none;
padding-top: 0;
}

.lrn-prog .howto-step__num {
width: 32px;
height: 32px;
border-radius: 8px;
background: #996CB6;
color: #fff;
font-size: 16px;
font-weight: 700;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
flex-shrink: 0;
box-shadow: inset 0 2px 4px rgba(255, 255, 255, 0.2);
}

.lrn-prog .howto-step__body {}

.lrn-prog .howto-step__h {
font-size: 16px;
font-weight: 700;
color: #1e0e33;
margin-bottom: 4px;
}

.lrn-prog .howto-step__p {
font-size: 16px;
line-height: 1.75;
color: #5a3d72;
}

@media (max-width: 900px) {
.lrn-prog .prog-title__grid {
grid-template-columns: 1fr;
gap: 24px;
}

.lrn-prog .prog-title__text {
padding: 24px;
}

.lrn-prog .prog-title__deco {
left: 0;
right: 0;
}

.lrn-prog .prog-title__badge {
left: 16px;
bottom: 16px;
}

.lrn-prog .prog-title__img-wrap img {
height: 320px;
}

.lrn-prog .prog-detail__outer {
grid-template-columns: 1fr;
gap: 24px;
}

.lrn-prog .prog-detail__outer::before {
display: none;
}

.lrn-prog .prog-detail__col--right,
.lrn-prog .prog-detail__col--left {
padding: 0;
}

.lrn-prog .prog-title__h {
font-size: 32px;
}

.lrn-prog .prog-detail__h {
font-size: 32px;
}

.lrn-prog .prog-title__num {
font-size: 44px;
}
}

@media (max-width: 600px) {
.lrn-prog .module-card__list {
grid-template-columns: 1fr;
}

.lrn-prog .format-grid {
grid-template-columns: 1fr;
}

.lrn-prog .prog-title__actions {
flex-direction: column;
}

.lrn-prog .prog-detail {
padding: 24px 0;
}

.lrn-prog .prog-title {
padding: 24px 0;
}
}

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

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

.lnch ::selection {
background: linear-gradient(90deg, #996CB6, #CAB7D4);
color: #1a0a2e;
}

@keyframes track-in {
from {
letter-spacing: -0.04em;
opacity: 0;
}

to {
letter-spacing: 0.01em;
opacity: 1;
}
}

@keyframes fade-up {
from {
opacity: 0;
transform: translateY(16px);
}

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

.lnch .ttl-blk {
background: linear-gradient(158deg, #2a1640 0%, #3d2260 40%, #5a3480 70%, #996CB6 100%);
position: relative;
padding: 0;
}

.lnch .ttl-blk__grid {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 580px;
align-items: stretch;
}

.lnch .ttl-blk__txt {
padding: 48px 48px 48px 24px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px;
order: 1;
}

.lnch .ttl-blk__img-zone {
position: relative;
order: 2;
overflow: hidden;
}

.lnch .ttl-blk__img-zone img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
display: block;
}

.lnch .ttl-blk__img-zone::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(153, 108, 182, 0.55) 0%, transparent 60%);
z-index: 1;
pointer-events: none;
}

.lnch .ttl-blk__img-zone::after {
content: "";
position: absolute;
top: -60px;
left: -60px;
width: 220px;
height: 220px;
background: radial-gradient(ellipse at 30% 30%, rgba(202, 183, 212, 0.38) 0%, transparent 70%);
z-index: 2;
pointer-events: none;
}

.lnch .ttl-blk__label {
display: inline-block;
font-size: 16px;
line-height: 1.1;
letter-spacing: 0.12em;
color: #CAB7D4;
text-transform: uppercase;
background: rgba(153, 108, 182, 0.22);
border-radius: 48px;
padding: 8px 16px;
width: fit-content;
animation: fade-up 0.35s ease-out both;
}

.lnch .ttl-blk__h1 {
font-size: 62px;
line-height: 1.1;
color: #fff;
margin: 0;
animation: track-in 0.45s ease-out 0.1s both;
}

.lnch .ttl-blk__h1 em {
font-style: normal;
color: #CAB7D4;
}

.lnch .ttl-blk__sub {
font-size: 16px;
line-height: 1.75;
color: rgba(255, 255, 255, 0.78);
max-width: 440px;
margin: 0;
animation: fade-up 0.4s ease-out 0.22s both;
}

.lnch .ttl-blk__actions {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
animation: fade-up 0.38s ease-out 0.32s both;
}

.lnch .btn-pri {
display: inline-block;
padding: 16px 24px;
background: #996CB6;
color: #fff;
font-size: 16px;
line-height: 1.1;
border-radius: 8px;
border: 2px solid #996CB6;
cursor: pointer;
text-decoration: none;
transition: background 0.15s ease-out, color 0.15s ease-out, box-shadow 0.25s ease-out;
box-shadow: 2px 6px 14px 0 rgba(153, 108, 182, 0.08);
}

.lnch .btn-pri:hover,
.lnch .btn-pri:focus-visible {
background: #7a529a;
border-color: #7a529a;
box-shadow: 2px 10px 40px 0 rgba(153, 108, 182, 0.14);
color: #fff;
}

.lnch .btn-ghost {
display: inline-block;
padding: 16px 24px;
background: transparent;
color: #CAB7D4;
font-size: 16px;
line-height: 1.1;
border-radius: 8px;
border: 2px solid rgba(202, 183, 212, 0.5);
cursor: pointer;
text-decoration: none;
transition: background 0.2s ease-out, color 0.18s ease-out, border-color 0.18s ease-out;
}

.lnch .btn-ghost:hover,
.lnch .btn-ghost:focus-visible {
background: rgba(202, 183, 212, 0.12);
border-color: #CAB7D4;
color: #fff;
}

.lnch .btn-pri:focus-visible,
.lnch .btn-ghost:focus-visible {
outline: 3px solid #CAB7D4 !important;
outline-offset: 3px !important;
}

.lnch .gap-blk {
padding: 48px 0;
background: #fff;
}

.lnch .gap-blk__inner {
display: grid;
grid-template-columns: 5fr 7fr;
gap: 48px;
align-items: center;
}

.lnch .gap-blk__img-wrap {
border-radius: 8px;
overflow: hidden;
box-shadow: 2px 10px 40px 0 rgba(153, 108, 182, 0.14);
aspect-ratio: 4/3;
}

.lnch .gap-blk__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center center;
display: block;
transition: transform 0.45s ease-out;
}

.lnch .gap-blk__img-wrap:hover img {
transform: scale(1.03);
}

.lnch .gap-blk__txt {
display: flex;
flex-direction: column;
gap: 24px;
}

.lnch .gap-blk__tag {
display: inline-block;
font-size: 16px;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #996CB6;
background: #F8F4F9;
border-radius: 48px;
padding: 8px 16px;
width: fit-content;
}

.lnch .gap-blk__h2 {
font-size: 44px;
line-height: 1.1;
color: #2a1640;
margin: 0;
}

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

.lnch .gap-blk__body p {
font-size: 16px;
line-height: 1.75;
color: #3d2260;
margin: 0;
}

.lnch .gap-blk__stats {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}

.lnch .stat-item {
background: #F8F4F9;
border-radius: 8px;
padding: 16px;
display: flex;
flex-direction: column;
gap: 8px;
}

.lnch .stat-item__num {
font-size: 32px;
line-height: 1.1;
color: #996CB6;
font-weight: 700;
}

.lnch .stat-item__lbl {
font-size: 16px;
line-height: 1.75;
color: #5a3480;
}

.lnch .invest-blk {
padding: 48px 0;
background: linear-gradient(170deg, #F8F4F9 0%, #ede5f4 60%, #ddd0e8 100%);
}

.lnch .invest-blk__head {
text-align: center;
max-width: 640px;
margin: 0 auto 48px;
display: flex;
flex-direction: column;
gap: 16px;
}

.lnch .invest-blk__tag {
display: inline-block;
font-size: 16px;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #5a3480;
background: rgba(153, 108, 182, 0.15);
border-radius: 48px;
padding: 8px 16px;
width: fit-content;
margin: 0 auto;
}

.lnch .invest-blk__h2 {
font-size: 44px;
line-height: 1.1;
color: #2a1640;
margin: 0;
}

.lnch .invest-blk__sub {
font-size: 16px;
line-height: 1.75;
color: #5a3480;
margin: 0;
}

.lnch .invest-blk__grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px;
align-items: start;
}

.lnch .inv-card {
background: #fff;
border-radius: 8px;
padding: 24px;
box-shadow: 2px 6px 14px 0 rgba(153, 108, 182, 0.08);
display: flex;
flex-direction: column;
gap: 16px;
transition: box-shadow 0.25s ease-out, transform 0.25s ease-out;
}

.lnch .inv-card:hover {
box-shadow: 2px 10px 40px 0 rgba(153, 108, 182, 0.14);
transform: translateY(-4px);
}

.lnch .inv-card--mid {
padding: 32px 24px;
background: linear-gradient(160deg, #3d2260 0%, #5a3480 100%);
}

.lnch .inv-card--mid .inv-card__h3,
.lnch .inv-card--mid .inv-card__desc,
.lnch .inv-card--mid .inv-card__detail {
color: #fff;
}

.lnch .inv-card--mid .inv-card__badge {
background: rgba(202, 183, 212, 0.25);
color: #CAB7D4;
}

.lnch .inv-card--mid .inv-card__price-note {
color: rgba(255, 255, 255, 0.65);
}

.lnch .inv-card__badge {
display: inline-block;
font-size: 16px;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #996CB6;
background: #F8F4F9;
border-radius: 48px;
padding: 4px 16px;
width: fit-content;
}

.lnch .inv-card__h3 {
font-size: 24px;
line-height: 1.1;
color: #2a1640;
margin: 0;
}

.lnch .inv-card__price {
display: flex;
flex-direction: row;
align-items: baseline;
gap: 8px;
}

.lnch .inv-card__amount {
font-size: 32px;
line-height: 1.1;
font-weight: 700;
color: #996CB6;
}

.lnch .inv-card--mid .inv-card__amount {
color: #CAB7D4;
}

.lnch .inv-card__price-note {
font-size: 16px;
line-height: 1.75;
color: #7a529a;
}

.lnch .inv-card__desc {
font-size: 16px;
line-height: 1.75;
color: #3d2260;
margin: 0;
}

.lnch .inv-card__detail {
font-size: 16px;
line-height: 1.75;
color: #5a3480;
margin: 0;
}

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

.lnch .inv-card__list li {
font-size: 16px;
line-height: 1.75;
color: #3d2260;
padding-left: 16px;
position: relative;
}

.lnch .inv-card--mid .inv-card__list li {
color: rgba(255, 255, 255, 0.85);
}

.lnch .inv-card__list li::before {
content: "";
position: absolute;
left: 0;
top: 11px;
width: 6px;
height: 6px;
border-radius: 48px;
background: #996CB6;
}

.lnch .inv-card--mid .inv-card__list li::before {
background: #CAB7D4;
}

.lnch .offer-blk {
padding: 48px 0;
background: #2a1640;
}

.lnch .offer-blk__head {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: flex-end;
gap: 24px;
margin-bottom: 48px;
}

.lnch .offer-blk__htxt {
display: flex;
flex-direction: column;
gap: 16px;
max-width: 560px;
}

.lnch .offer-blk__tag {
display: inline-block;
font-size: 16px;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #CAB7D4;
background: rgba(153, 108, 182, 0.25);
border-radius: 48px;
padding: 8px 16px;
width: fit-content;
}

.lnch .offer-blk__h2 {
font-size: 44px;
line-height: 1.1;
color: #fff;
margin: 0;
}

.lnch .offer-blk__sub {
font-size: 16px;
line-height: 1.75;
color: rgba(202, 183, 212, 0.85);
margin: 0;
}

.lnch .offer-blk__link {
color: #CAB7D4;
font-size: 16px;
line-height: 1.75;
text-decoration: underline;
text-underline-offset: 4px;
white-space: nowrap;
transition: color 0.15s ease-out;
}

.lnch .offer-blk__link:hover,
.lnch .offer-blk__link:focus-visible {
color: #fff;
}

.lnch .offer-blk__link:focus-visible {
outline: 3px solid #CAB7D4 !important;
outline-offset: 3px !important;
border-radius: 4px;
}

.lnch .offer-blk__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.lnch .offer-card {
background: rgba(255, 255, 255, 0.05);
border-radius: 8px;
overflow: hidden;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0;
box-shadow: 2px 6px 14px 0 rgba(153, 108, 182, 0.08);
transition: box-shadow 0.3s ease-out;
}

.lnch .offer-card:hover {
box-shadow: 2px 10px 40px 0 rgba(153, 108, 182, 0.14);
}

.lnch .offer-card--wide {
grid-template-columns: 1fr;
}

.lnch .offer-card__img-wrap {
overflow: hidden;
min-height: 240px;
}

.lnch .offer-card__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center 30%;
display: block;
transition: transform 0.4s ease-out;
}

.lnch .offer-card:hover .offer-card__img-wrap img {
transform: scale(1.04);
}

.lnch .offer-card--wide .offer-card__img-wrap {
min-height: 200px;
}

.lnch .offer-card--wide .offer-card__img-wrap img {
object-position: center 20%;
}

.lnch .offer-card__body {
padding: 24px;
display: flex;
flex-direction: column;
gap: 16px;
justify-content: center;
}

.lnch .offer-card--wide .offer-card__body {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px 24px;
padding: 24px;
}

.lnch .offer-card__type {
display: inline-block;
font-size: 16px;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #CAB7D4;
background: rgba(153, 108, 182, 0.2);
border-radius: 48px;
padding: 4px 16px;
width: fit-content;
}

.lnch .offer-card--wide .offer-card__type {
grid-column: 1 / -1;
}

.lnch .offer-card__h4 {
font-size: 24px;
line-height: 1.1;
color: #fff;
margin: 0;
}

.lnch .offer-card--wide .offer-card__h4 {
grid-column: 1 / -1;
}

.lnch .offer-card__desc {
font-size: 16px;
line-height: 1.75;
color: rgba(202, 183, 212, 0.8);
margin: 0;
}

.lnch .offer-card__meta {
font-size: 16px;
line-height: 1.75;
color: rgba(202, 183, 212, 0.6);
margin: 0;
}

.lnch .team-blk {
padding: 48px 0;
background: #fff;
}

.lnch .team-blk__head {
display: flex;
flex-direction: column;
gap: 16px;
margin-bottom: 48px;
max-width: 560px;
}

.lnch .team-blk__tag {
display: inline-block;
font-size: 16px;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #996CB6;
background: #F8F4F9;
border-radius: 48px;
padding: 8px 16px;
width: fit-content;
}

.lnch .team-blk__h2 {
font-size: 44px;
line-height: 1.1;
color: #2a1640;
margin: 0;
}

.lnch .team-blk__sub {
font-size: 16px;
line-height: 1.75;
color: #5a3480;
margin: 0;
}

.lnch .team-blk__grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px;
align-items: start;
}

.lnch .person-card {
display: flex;
flex-direction: column;
gap: 16px;
}

.lnch .person-card--lead {
grid-column: span 2;
display: grid;
grid-template-columns: 240px 1fr;
gap: 24px;
align-items: start;
background: #F8F4F9;
border-radius: 8px;
padding: 24px;
box-shadow: 2px 1px 6px 0 rgba(153, 108, 182, 0.08);
}

.lnch .person-card__img-wrap {
border-radius: 8px;
overflow: hidden;
aspect-ratio: 3/4;
box-shadow: 2px 6px 14px 0 rgba(153, 108, 182, 0.08);
}

.lnch .person-card--lead .person-card__img-wrap {
aspect-ratio: 3/4;
}

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

.lnch .person-card__info {
display: flex;
flex-direction: column;
gap: 16px;
}

.lnch .person-card__name {
font-size: 24px;
line-height: 1.1;
color: #2a1640;
margin: 0;
}

.lnch .person-card__role {
display: inline-block;
font-size: 16px;
letter-spacing: 0.07em;
text-transform: uppercase;
color: #996CB6;
background: rgba(153, 108, 182, 0.1);
border-radius: 48px;
padding: 4px 16px;
width: fit-content;
}

.lnch .person-card__bio {
font-size: 16px;
line-height: 1.75;
color: #3d2260;
margin: 0;
}

.lnch .person-card__exp {
display: flex;
flex-direction: column;
gap: 8px;
}

.lnch .person-card__exp-item {
font-size: 16px;
line-height: 1.75;
color: #5a3480;
padding-left: 16px;
position: relative;
}

.lnch .person-card__exp-item::before {
content: "";
position: absolute;
left: 0;
top: 11px;
width: 6px;
height: 6px;
border-radius: 48px;
background: #CAB7D4;
}

.lnch .person-card--side {
background: #F8F4F9;
border-radius: 8px;
padding: 24px;
box-shadow: 2px 1px 6px 0 rgba(153, 108, 182, 0.08);
}

.lnch .person-card--side .person-card__img-wrap {
aspect-ratio: 4/3;
}

.lnch .person-card--side .person-card__img-wrap img {
object-position: center 15%;
}

.lnch .rating-strip {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
margin-top: 8px;
}

.lnch .rating-strip__stars {
display: flex;
flex-direction: row;
gap: 4px;
}

.lnch .rating-strip__star {
width: 16px;
height: 16px;
display: block;
}

.lnch .rating-strip__val {
font-size: 16px;
line-height: 1.1;
color: #996CB6;
font-weight: 700;
}

.lnch .rating-strip__cnt {
font-size: 16px;
line-height: 1.1;
color: #7a529a;
}

@media (max-width: 960px) {
.lnch .ttl-blk__grid {
grid-template-columns: 1fr;
min-height: auto;
}

.lnch .ttl-blk__img-zone {
min-height: 320px;
order: 1;
}

.lnch .ttl-blk__txt {
order: 2;
padding: 48px 24px;
}

.lnch .ttl-blk__h1 {
font-size: 44px;
}

.lnch .gap-blk__inner {
grid-template-columns: 1fr;
}

.lnch .invest-blk__grid {
grid-template-columns: 1fr;
}

.lnch .offer-blk__head {
flex-direction: column;
align-items: flex-start;
}

.lnch .offer-blk__grid {
grid-template-columns: 1fr;
}

.lnch .offer-card {
grid-template-columns: 1fr;
}

.lnch .offer-card--wide .offer-card__body {
grid-template-columns: 1fr;
}

.lnch .offer-card--wide .offer-card__type,
.lnch .offer-card--wide .offer-card__h4 {
grid-column: 1;
}

.lnch .team-blk__grid {
grid-template-columns: 1fr;
}

.lnch .person-card--lead {
grid-column: span 1;
grid-template-columns: 1fr;
}
}

@media (max-width: 640px) {
.lnch .ttl-blk__h1 {
font-size: 32px;
}

.lnch .gap-blk__h2,
.lnch .invest-blk__h2,
.lnch .offer-blk__h2,
.lnch .team-blk__h2 {
font-size: 32px;
}

.lnch .gap-blk__stats {
grid-template-columns: 1fr;
}

.lnch .ttl-blk__actions {
flex-direction: column;
}
}

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

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

.abt-pg .sweep-txt {
display: inline-block;
background: linear-gradient(90deg, #2d1a3e 0%, #996CB6 40%, #2d1a3e 80%);
background-size: 200% auto;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
animation: txt-sweep 2.2s ease-out forwards;
}

@keyframes txt-sweep {
0% {
background-position: 200% center;
}

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

.abt-pg .accent-word {
background: #CAB7D4;
color: #1e0e2e;
padding: 2px 8px;
border-radius: 8px;
-webkit-text-fill-color: #1e0e2e;
}

.abt-pg .frame-deco {
position: relative;
}

.abt-pg .frame-deco::before,
.abt-pg .frame-deco::after {
content: "";
position: absolute;
width: 40px;
height: 40px;
pointer-events: none;
}

.abt-pg .frame-deco::before {
top: 0;
left: 0;
border-top: 2px solid #996CB6;
border-left: 2px solid #996CB6;
border-radius: 8px 0 0 0;
}

.abt-pg .frame-deco::after {
bottom: 0;
right: 0;
border-bottom: 2px solid #996CB6;
border-right: 2px solid #996CB6;
border-radius: 0 0 8px 0;
}

.abt-pg .strip-img {
width: 100%;
height: 220px;
overflow: hidden;
position: relative;
border-radius: 8px;
margin-bottom: 48px;
}

.abt-pg .strip-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center 30%;
display: block;
}

.abt-pg .strip-img__overlay {
position: absolute;
inset: 0;
background: linear-gradient(to bottom, rgba(153, 108, 182, 0.55) 0%, transparent 100%);
border-radius: 8px;
}

.abt-pg .ttl-blk {
padding: 48px 0 48px;
background: #F8F4F9;
position: relative;
}

.abt-pg .ttl-blk__pad {
padding: 48px;
}

.abt-pg .ttl-blk__label {
font-size: 16px;
letter-spacing: 0.12em;
color: #996CB6;
font-weight: 600;
text-transform: uppercase;
margin-bottom: 16px;
display: block;
}

.abt-pg .ttl-blk__h1 {
font-size: 62px;
line-height: 1.1;
font-weight: 800;
color: #1e0e2e;
margin-bottom: 24px;
max-width: 700px;
}

.abt-pg .ttl-blk__sub {
font-size: 24px;
line-height: 1.75;
color: #3d2255;
max-width: 560px;
margin-bottom: 0;
}

.abt-pg .ttl-blk__right {
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px;
}

.abt-pg .stat-card {
background: #fff;
border-radius: 8px;
padding: 24px;
box-shadow: 2px 6px 14px 0 rgba(153, 108, 182, 0.08);
transition: box-shadow 0.25s ease-out, transform 0.4s ease-out;
}

.abt-pg .stat-card:hover {
box-shadow: 2px 10px 40px 0 rgba(153, 108, 182, 0.14);
transform: translateY(-2px);
}

.abt-pg .stat-card__num {
font-size: 44px;
line-height: 1.1;
font-weight: 800;
color: #996CB6;
display: block;
}

.abt-pg .stat-card__desc {
font-size: 16px;
line-height: 1.75;
color: #3d2255;
margin: 0;
}

.abt-pg .divider-fade {
height: 2px;
background: linear-gradient(to right, transparent, #CAB7D4, transparent);
margin: 0 auto;
max-width: 1280px;
border: none;
}

.abt-pg .story-sec {
padding: 48px 0;
background: #fff;
}

.abt-pg .story-sec__split {
display: grid;
grid-template-columns: 60fr 40fr;
gap: 48px;
align-items: start;
}

.abt-pg .story-sec__left {
display: flex;
flex-direction: column;
gap: 24px;
}

.abt-pg .story-sec__h2 {
font-size: 44px;
line-height: 1.1;
font-weight: 800;
color: #1e0e2e;
margin-bottom: 0;
}

.abt-pg .story-sec__body {
font-size: 16px;
line-height: 1.75;
color: #3d2255;
margin: 0;
}

.abt-pg .fact-list {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}

.abt-pg .fact-list__item {
display: flex;
flex-direction: column;
gap: 4px;
}

.abt-pg .fact-list__label {
font-size: 16px;
color: #996CB6;
font-weight: 700;
letter-spacing: 0.06em;
text-transform: uppercase;
}

.abt-pg .fact-list__val {
font-size: 16px;
line-height: 1.75;
color: #1e0e2e;
}

.abt-pg .story-sec__right {
display: flex;
flex-direction: column;
gap: 24px;
}

.abt-pg .img-stack {
position: relative;
display: flex;
flex-direction: column;
gap: 16px;
}

.abt-pg .img-stack__primary {
width: 100%;
height: 280px;
overflow: hidden;
border-radius: 8px;
box-shadow: 2px 6px 14px 0 rgba(153, 108, 182, 0.08);
}

.abt-pg .img-stack__primary img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
display: block;
transition: transform 0.45s ease-out;
}

.abt-pg .img-stack__primary:hover img {
transform: scale(1.03);
}

.abt-pg .img-stack__secondary {
width: 100%;
height: 180px;
overflow: hidden;
border-radius: 8px;
box-shadow: 2px 1px 6px 0 rgba(153, 108, 182, 0.08);
}

.abt-pg .img-stack__secondary img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center center;
display: block;
transition: transform 0.4s ease-out;
}

.abt-pg .img-stack__secondary:hover img {
transform: scale(1.04);
}

.abt-pg .pull-quote {
background: #F8F4F9;
border-radius: 8px;
padding: 24px;
box-shadow: inset 0 2px 8px 0 rgba(202, 183, 212, 0.18);
}

.abt-pg .pull-quote__text {
font-size: 16px;
line-height: 1.75;
color: #3d2255;
font-style: italic;
margin: 0 0 8px;
}

.abt-pg .pull-quote__attr {
font-size: 16px;
font-weight: 700;
color: #996CB6;
display: block;
}

.abt-pg .team-sec {
padding: 48px 0;
background: #F8F4F9;
position: relative;
}

.abt-pg .team-sec__bg-split {
position: absolute;
inset: 0;
background: linear-gradient(to bottom, #F8F4F9 50%, #fff 50%);
z-index: 0;
pointer-events: none;
}

.abt-pg .team-sec__inner-rel {
position: relative;
z-index: 1;
}

.abt-pg .team-sec__h2 {
font-size: 32px;
line-height: 1.1;
font-weight: 800;
color: #1e0e2e;
margin-bottom: 8px;
}

.abt-pg .team-sec__intro {
font-size: 16px;
line-height: 1.75;
color: #3d2255;
max-width: 560px;
margin-bottom: 48px;
}

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

.abt-pg .team-card {
background: #fff;
border-radius: 8px;
overflow: hidden;
box-shadow: 2px 6px 14px 0 rgba(153, 108, 182, 0.08);
transition: box-shadow 0.35s ease-out, transform 0.4s ease-out;
}

.abt-pg .team-card:hover {
box-shadow: 2px 10px 40px 0 rgba(153, 108, 182, 0.14);
transform: translateY(-4px);
}

.abt-pg .team-card__img-wrap {
width: 100%;
height: 200px;
overflow: hidden;
}

.abt-pg .team-card__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center 20%;
display: block;
transition: transform 0.45s ease-out;
}

.abt-pg .team-card:hover .team-card__img-wrap img {
transform: scale(1.05);
}

.abt-pg .team-card__body {
padding: 24px;
}

.abt-pg .team-card__name {
font-size: 24px;
line-height: 1.1;
font-weight: 700;
color: #1e0e2e;
margin-bottom: 4px;
}

.abt-pg .team-card__role {
font-size: 16px;
color: #996CB6;
font-weight: 600;
margin-bottom: 16px;
display: block;
}

.abt-pg .team-card__bio {
font-size: 16px;
line-height: 1.75;
color: #3d2255;
margin: 0;
}

.abt-pg .tag-pill {
display: inline-block;
background: #F8F4F9;
color: #3d2255;
border-radius: 48px;
padding: 4px 16px;
font-size: 16px;
font-weight: 600;
margin-top: 8px;
}

.abt-pg .approach-sec {
padding: 48px 0;
background: #fff;
}

.abt-pg .approach-sec__h3 {
font-size: 32px;
line-height: 1.1;
font-weight: 800;
color: #1e0e2e;
margin-bottom: 24px;
}

.abt-pg .approach-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 16px;
}

.abt-pg .ap-item {
padding: 24px;
border-radius: 8px;
background: #F8F4F9;
transition: background 0.2s ease-out, box-shadow 0.35s ease-out;
}

.abt-pg .ap-item:hover {
background: #fff;
box-shadow: 2px 6px 14px 0 rgba(153, 108, 182, 0.08);
}

.abt-pg .ap-item__num {
font-size: 44px;
line-height: 1.1;
font-weight: 800;
color: #CAB7D4;
display: block;
margin-bottom: 8px;
}

.abt-pg .ap-item__h4 {
font-size: 16px;
font-weight: 700;
color: #1e0e2e;
margin-bottom: 8px;
}

.abt-pg .ap-item__p {
font-size: 16px;
line-height: 1.75;
color: #3d2255;
margin: 0;
}

@media (max-width: 900px) {
.abt-pg .ttl-blk__h1 {
font-size: 44px;
}

.abt-pg .story-sec__split {
grid-template-columns: 1fr;
}

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

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

.abt-pg .ttl-blk__pad {
padding: 24px;
}
}

@media (max-width: 600px) {
.abt-pg .ttl-blk__h1 {
font-size: 32px;
}

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

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

.abt-pg .fact-list {
grid-template-columns: 1fr;
}
}

.succ-pg {
align-items: center;
display: flex;
flex-direction: column;
justify-content: center;
min-height: 72vh;
padding: 48px 24px;
}

.succ-pg .succ-card {
background: #fff;
border-radius: 8px;
box-shadow: 2px 10px 40px 0 rgba(153, 108, 182, 0.14);
max-width: 560px;
padding: 48px;
text-align: center;
width: 100%;
}

.succ-pg .succ-card__icon {
display: flex;
justify-content: center;
margin-bottom: 24px;
}

.succ-pg .succ-card__icon svg {
display: block;
height: 64px;
width: 64px;
}

.succ-pg .succ-card__title {
color: #2d1f3d;
font-size: 32px;
font-weight: 700;
letter-spacing: -0.02em;
line-height: 1.1;
margin-bottom: 16px;
}

.succ-pg .succ-card__text {
color: #4a3860;
font-size: 16px;
line-height: 1.75;
margin-bottom: 24px;
}

.succ-pg .succ-card__divider {
background: #F8F4F9;
border: none;
border-radius: 8px;
height: 2px;
margin-bottom: 24px;
}

.succ-pg .succ-card__meta {
background: #F8F4F9;
border-radius: 8px;
margin-bottom: 32px;
padding: 16px 24px;
text-align: left;
}

.succ-pg .succ-card__meta-row {
align-items: flex-start;
display: flex;
flex-direction: row;
gap: 8px;
padding: 4px 0;
}

.succ-pg .succ-card__meta-label {
color: #7a5f96;
flex-shrink: 0;
font-size: 16px;
font-weight: 600;
letter-spacing: 0.04em;
min-width: 120px;
}

.succ-pg .succ-card__meta-val {
color: #2d1f3d;
font-size: 16px;
line-height: 1.75;
word-break: break-word;
}

.succ-pg .succ-card__actions {
display: flex;
flex-direction: row;
gap: 16px;
justify-content: center;
flex-wrap: wrap;
}

.succ-pg .succ-card__btn {
border-radius: 8px;
border: 2px solid #996CB6;
color: #996CB6;
cursor: pointer;
font-size: 16px;
font-weight: 600;
padding: 8px 24px;
text-decoration: none;
transition: background-color 0.15s ease-out, color 0.18s ease-out, box-shadow 0.25s ease-out;
background: transparent;
display: inline-block;
}

.succ-pg .succ-card__btn:hover,
.succ-pg .succ-card__btn:focus {
background: #996CB6;
box-shadow: 2px 6px 14px 0 rgba(153, 108, 182, 0.08);
color: #fff;
outline: none;
}

.succ-pg .succ-card__btn:active {
background: #7a5296;
border-color: #7a5296;
color: #fff;
}

.succ-pg .succ-card__btn--secondary {
border-color: #CAB7D4;
color: #7a5f96;
}

.succ-pg .succ-card__btn--secondary:hover,
.succ-pg .succ-card__btn--secondary:focus {
background: #CAB7D4;
box-shadow: 2px 6px 14px 0 rgba(202, 183, 212, 0.08);
color: #2d1f3d;
}

@media (max-width: 600px) {
.succ-pg .succ-card {
padding: 32px 16px;
}

.succ-pg .succ-card__meta-row {
flex-direction: column;
gap: 4px;
}

.succ-pg .succ-card__meta-label {
min-width: unset;
}

.succ-pg .succ-card__actions {
flex-direction: column;
align-items: stretch;
}

.succ-pg .succ-card__btn {
text-align: center;
}
}