* {
box-sizing: border-box;
}

html {
font-size: 100%;
}

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

.page-header {
background: linear-gradient(135deg, #ffffff 0%, #f0e8fa 40%, #e0f9f5 100%);
border-bottom: 2px solid #7431BC;
position: relative;
overflow: hidden;
}

.page-header::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #7431BC 0%, #06E5C1 50%, #FDF900 100%);
pointer-events: none;
}

.header-upper {
border-bottom: 1px solid rgba(116, 49, 188, 0.15);
}

.header-upper-inner {
max-width: 1100px;
margin: 0 auto;
padding: 8px 28px;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 28px;
}

.header-contact-item {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 14px;
line-height: 1.5;
color: #3a1a6e;
text-decoration: none;
letter-spacing: 0.02em;
transition: color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.header-contact-item:hover,
.header-contact-item:focus-visible {
color: #7431BC;
outline: none;
}

.header-contact-item:focus-visible {
outline: 2px solid #7431BC;
outline-offset: 2px;
border-radius: 6px;
}

.header-contact-label {
font-size: 14px;
font-family: 'IBM Plex Serif', Georgia, serif;
color: #5a3a8a;
letter-spacing: 0.08em;
text-transform: uppercase;
margin-right: 8px;
}

.header-main {
max-width: 1100px;
margin: 0 auto;
padding: 28px 28px 16px;
display: flex;
align-items: center;
gap: 56px;
}

.brand-block {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
flex-shrink: 0;
}

.brand-logo-frame {
border: 2px dashed #7431BC;
border-radius: 10px;
padding: 8px;
display: flex;
align-items: center;
justify-content: center;
background: transparent;
box-shadow: -1px 1px 2px -1px rgba(116, 49, 188, 0.05), -1px 5px 28px -1px rgba(116, 49, 188, 0.10);
}

.brand-logo-frame img {
width: 60px;
height: 60px;
object-fit: contain;
display: block;
}

.brand-name {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 20px;
font-weight: 700;
line-height: 1.3;
color: #3a1a6e;
letter-spacing: 0.04em;
text-align: center;
}

.primary-navigation {
flex: 1;
}

.primary-navigation ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
gap: 8px;
align-items: center;
}

.primary-navigation ul li {
position: relative;
}

.primary-navigation ul li a {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 14px;
font-weight: 700;
line-height: 1.5;
color: #3a1a6e;
text-decoration: none;
text-transform: uppercase;
letter-spacing: 0.1em;
padding: 8px 16px;
display: block;
border-radius: 6px;
border: 1px solid transparent;
transition: color 0.4s cubic-bezier(0.16, 1, 0.3, 1), background 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s cubic-bezier(0.16, 1, 0.3, 1);
min-height: 44px;
display: flex;
align-items: center;
}

.primary-navigation ul li a:hover,
.primary-navigation ul li a:focus-visible {
color: #7431BC;
background: rgba(116, 49, 188, 0.07);
border-color: rgba(116, 49, 188, 0.2);
outline: none;
}

.primary-navigation ul li a:focus-visible {
outline: 2px solid #7431BC;
outline-offset: 2px;
}

.nav-has-sub>a {
padding-right: 28px;
position: relative;
}

.nav-has-sub>a::after {
content: '';
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%) rotate(45deg);
width: 6px;
height: 6px;
border-right: 2px solid #7431BC;
border-bottom: 2px solid #7431BC;
pointer-events: none;
transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.nav-has-sub:hover>a::after {
transform: translateY(-50%) rotate(-135deg);
}

.sub-navigation {
position: absolute;
top: calc(100% + 4px);
left: 0;
background: #ffffff;
border: 1px solid rgba(116, 49, 188, 0.2);
border-radius: 10px;
box-shadow: -1px 5px 28px -1px rgba(116, 49, 188, 0.10), -1px 9px 40px -1px rgba(116, 49, 188, 0.10);
min-width: 220px;
padding: 8px;
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.35s cubic-bezier(0.16, 1, 0.3, 1);
z-index: 200;
}

.nav-has-sub:hover .sub-navigation,
.nav-has-sub:focus-within .sub-navigation {
opacity: 1;
visibility: visible;
pointer-events: auto;
}

.sub-navigation ul {
display: flex;
flex-direction: column;
gap: 0;
}

.sub-navigation ul li a {
font-size: 14px;
padding: 8px 16px;
border-radius: 6px;
color: #3a1a6e;
min-height: 44px;
}

.sub-navigation ul li a:hover,
.sub-navigation ul li a:focus-visible {
color: #7431BC;
background: rgba(116, 49, 188, 0.07);
border-color: rgba(116, 49, 188, 0.2);
}

.header-accent-bar {
max-width: 1100px;
margin: 0 auto;
padding: 0 28px 16px;
display: flex;
align-items: center;
gap: 16px;
}

.accent-tag {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 14px;
line-height: 1.5;
color: #ffffff;
background: linear-gradient(135deg, #7431BC 0%, #5a1a9e 100%);
padding: 8px 16px;
border-radius: 32px;
letter-spacing: 0.06em;
text-transform: uppercase;
box-shadow: -1px 1px 2px -1px rgba(116, 49, 188, 0.05);
}

.accent-divider {
flex: 1;
height: 1px;
background: linear-gradient(90deg, rgba(116, 49, 188, 0.3) 0%, rgba(6, 229, 193, 0.3) 50%, transparent 100%);
}

.accent-dot {
width: 8px;
height: 8px;
border-radius: 0px;
background: #FDF900;
border: 2px solid #7431BC;
box-shadow: -1px 1px 2px -1px rgba(116, 49, 188, 0.05);
}

@media (max-width: 1024px) {
.header-main {
gap: 28px;
padding: 16px 16px 16px;
}

.header-upper-inner {
padding: 8px 16px;
}

.header-accent-bar {
padding: 0 16px 16px;
}
}

@media (max-width: 640px) {
.header-main {
flex-direction: column;
align-items: flex-start;
gap: 16px;
padding: 16px;
}

.brand-block {
flex-direction: row;
align-items: center;
gap: 16px;
}

.header-upper-inner {
flex-wrap: wrap;
justify-content: flex-start;
gap: 8px;
}

.primary-navigation ul {
gap: 8px;
}

.primary-navigation ul li a {
font-size: 14px;
padding: 8px 8px;
}

.header-accent-bar {
padding: 0 16px 16px;
}
}

.page-footer {
background: #3a1a6e;
position: relative;
overflow: hidden;
}

.page-footer::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #FDF900 0%, #06E5C1 50%, #7431BC 100%);
pointer-events: none;
}

.footer-primary {
max-width: 1100px;
margin: 0 auto;
padding: 56px 28px 28px;
display: grid;
grid-template-columns: auto 1fr auto;
gap: 56px;
align-items: start;
}

.footer-brand {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
}

.footer-logo-frame {
border: 2px dashed #06E5C1;
border-radius: 10px;
padding: 8px;
display: flex;
align-items: center;
justify-content: center;
background: rgba(255, 255, 255, 0.05);
box-shadow: -1px 5px 28px -1px rgba(6, 229, 193, 0.10);
}

.footer-logo-frame img {
width: 60px;
height: 60px;
object-fit: contain;
display: block;
background: #ffffff;
border-radius: 6px;
}

.footer-brand-name {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 20px;
font-weight: 700;
line-height: 1.3;
color: #ffffff;
letter-spacing: 0.04em;
text-align: center;
}

.footer-tagline {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 14px;
line-height: 1.5;
color: #06E5C1;
text-align: center;
font-style: italic;
max-width: 160px;
}

.footer-middle {
display: flex;
flex-direction: column;
gap: 28px;
}

.footer-heading {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 14px;
font-weight: 700;
line-height: 1.3;
color: #FDF900;
text-transform: uppercase;
letter-spacing: 0.12em;
margin-bottom: 8px;
}

.footer-links-group ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 8px;
}

.footer-links-group ul li a {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 14px;
line-height: 1.5;
color: rgba(255, 255, 255, 0.85);
text-decoration: none;
transition: color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
padding: 4px 0;
display: inline-block;
min-height: 44px;
display: flex;
align-items: center;
}

.footer-links-group ul li a:hover,
.footer-links-group ul li a:focus-visible {
color: #06E5C1;
outline: none;
}

.footer-links-group ul li a:focus-visible {
outline: 2px solid #06E5C1;
outline-offset: 2px;
border-radius: 6px;
}

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

.footer-contact-line {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 14px;
line-height: 1.5;
color: rgba(255, 255, 255, 0.85);
}

.footer-contact-line a {
color: rgba(255, 255, 255, 0.85);
text-decoration: none;
transition: color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.footer-contact-line a:hover,
.footer-contact-line a:focus-visible {
color: #06E5C1;
outline: none;
}

.footer-contact-line a:focus-visible {
outline: 2px solid #06E5C1;
outline-offset: 2px;
border-radius: 6px;
}

.footer-secondary {
border-top: 1px solid rgba(255, 255, 255, 0.1);
max-width: 1100px;
margin: 0 auto;
padding: 16px 28px;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 16px;
}

.footer-legal-links {
display: flex;
flex-wrap: wrap;
gap: 8px;
list-style: none;
margin: 0;
padding: 0;
}

.footer-legal-links li a {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 14px;
line-height: 1.5;
color: rgba(255, 255, 255, 0.55);
text-decoration: none;
padding: 8px 16px;
border: 1px solid rgba(255, 255, 255, 0.15);
border-radius: 6px;
transition: color 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s cubic-bezier(0.16, 1, 0.3, 1);
min-height: 44px;
display: flex;
align-items: center;
}

.footer-legal-links li a:hover,
.footer-legal-links li a:focus-visible {
color: #06E5C1;
border-color: #06E5C1;
outline: none;
}

.footer-legal-links li a:focus-visible {
outline: 2px solid #06E5C1;
outline-offset: 2px;
}

.footer-cookie-manage {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 14px;
line-height: 1.5;
color: rgba(255, 255, 255, 0.55);
text-decoration: underline;
cursor: pointer;
background: none;
border: none;
padding: 8px 0;
transition: color 0.4s cubic-bezier(0.16, 1, 0.3, 1);
min-height: 44px;
}

.footer-cookie-manage:hover,
.footer-cookie-manage:focus-visible {
color: #06E5C1;
outline: none;
}

.footer-cookie-manage:focus-visible {
outline: 2px solid #06E5C1;
outline-offset: 2px;
border-radius: 6px;
}

.footer-tertiary {
background: #2a0e52;
padding: 16px 28px;
}

.footer-tertiary-inner {
max-width: 1100px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 8px;
}

.footer-copyright {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 14px;
line-height: 1.5;
color: rgba(255, 255, 255, 0.4);
}

.footer-domain {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 14px;
line-height: 1.5;
color: rgba(255, 255, 255, 0.4);
letter-spacing: 0.04em;
}

@media (max-width: 1024px) {
.footer-primary {
grid-template-columns: auto 1fr;
gap: 28px;
padding: 56px 16px 28px;
}

.footer-secondary {
padding: 16px 16px;
}

.footer-tertiary {
padding: 16px 16px;
}
}

@media (max-width: 640px) {
.footer-primary {
grid-template-columns: 1fr;
gap: 28px;
padding: 28px 16px;
}

.footer-brand {
flex-direction: row;
align-items: center;
flex-wrap: wrap;
}

.footer-secondary {
flex-direction: column;
align-items: flex-start;
gap: 16px;
padding: 16px;
}

.footer-tertiary-inner {
flex-direction: column;
align-items: flex-start;
}
}

.cookie-popup {
position: fixed;
bottom: 28px;
left: 28px;
width: 360px;
max-width: calc(100vw - 56px);
background: #ffffff;
border: 1px solid rgba(116, 49, 188, 0.2);
border-radius: 10px;
box-shadow: -1px 9px 40px -1px rgba(116, 49, 188, 0.10), -1px 5px 28px -1px rgba(116, 49, 188, 0.10);
z-index: 8000;
padding: 28px;
display: none;
transition: transform 0.26s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.26s cubic-bezier(0.16, 1, 0.3, 1);
}

.cookie-popup.cookie-visible {
transform: translateY(0);
opacity: 1;
}

.cookie-popup.cookie-hidden {
transform: translateY(-24px);
opacity: 0;
}

.cookie-description {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 14px;
line-height: 1.7;
color: #3a1a6e;
margin-bottom: 8px;
}

.cookie-uses {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 14px;
line-height: 1.7;
color: #5a3a8a;
margin: 0 0 16px 0;
padding-left: 16px;
}

.cookie-uses li {
margin-bottom: 4px;
}

.cookie-headline {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 20px;
font-weight: 700;
line-height: 1.3;
color: #3a1a6e;
margin-bottom: 16px;
}

.cookie-settings-toggle {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 14px;
line-height: 1.5;
color: #7431BC;
background: none;
border: none;
padding: 0;
cursor: pointer;
text-decoration: underline;
margin-bottom: 16px;
display: block;
transition: color 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.cookie-settings-toggle:hover,
.cookie-settings-toggle:focus-visible {
color: #5a1a9e;
outline: none;
}

.cookie-settings-toggle:focus-visible {
outline: 2px solid #7431BC;
outline-offset: 2px;
border-radius: 6px;
}

.cookie-panel {
border-top: 1px solid rgba(116, 49, 188, 0.15);
padding-top: 16px;
margin-bottom: 16px;
}

.cookie-category {
display: flex;
align-items: center;
justify-content: space-between;
padding: 8px 0;
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 14px;
line-height: 1.5;
color: #3a1a6e;
}

.cookie-category-label {
display: flex;
flex-direction: column;
gap: 4px;
}

.cookie-category-name {
font-weight: 700;
}

.cookie-category-note {
font-size: 14px;
color: #7a5aaa;
font-style: italic;
}

.cookie-toggle {
position: relative;
width: 44px;
height: 24px;
flex-shrink: 0;
}

.cookie-toggle input {
opacity: 0;
width: 0;
height: 0;
position: absolute;
}

.cookie-toggle-track {
position: absolute;
inset: 0;
background: #e8ddf5;
border-radius: 32px;
cursor: pointer;
transition: background 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.cookie-toggle input:checked+.cookie-toggle-track {
background: #7431BC;
}

.cookie-toggle-track::after {
content: '';
position: absolute;
top: 2px;
left: 2px;
width: 20px;
height: 20px;
border-radius: 32px;
background: #ffffff;
transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
box-shadow: -1px 1px 2px -1px rgba(116, 49, 188, 0.05);
}

.cookie-toggle input:checked+.cookie-toggle-track::after {
transform: translateX(20px);
}

.cookie-toggle input:disabled+.cookie-toggle-track {
opacity: 0.5;
cursor: not-allowed;
}

.cookie-datasale {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 0;
border-top: 1px solid rgba(116, 49, 188, 0.1);
margin-top: 8px;
}

.cookie-datasale input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: #7431BC;
cursor: pointer;
flex-shrink: 0;
}

.cookie-datasale-label {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 14px;
line-height: 1.5;
color: #3a1a6e;
cursor: pointer;
}

.cookie-actions {
display: flex;
gap: 8px;
flex-wrap: wrap;
}

.cookie-btn {
font-family: 'IBM Plex Serif', Georgia, serif;
font-size: 14px;
font-weight: 700;
line-height: 1.5;
text-transform: uppercase;
letter-spacing: 0.08em;
padding: 8px 16px;
border-radius: 6px;
cursor: pointer;
min-height: 44px;
flex: 1;
transition: background 0.4s cubic-bezier(0.16, 1, 0.3, 1), color 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.cookie-btn-accept {
background: #7431BC;
color: #ffffff;
border: 2px solid #7431BC;
}

.cookie-btn-accept:hover,
.cookie-btn-accept:focus-visible {
background: linear-gradient(135deg, #5a1a9e 0%, #7431BC 100%);
border-color: #5a1a9e;
outline: none;
}

.cookie-btn-accept:focus-visible {
outline: 2px solid #3a1a6e;
outline-offset: 2px;
}

.cookie-btn-reject {
background: transparent;
color: #7431BC;
border: 2px solid #7431BC;
}

.cookie-btn-reject:hover,
.cookie-btn-reject:focus-visible {
background: rgba(116, 49, 188, 0.07);
outline: none;
}

.cookie-btn-reject:focus-visible {
outline: 2px solid #7431BC;
outline-offset: 2px;
}

.content-legal-bx {
max-width: 1100px;
margin: 0 auto;
padding: 56px 28px;
}

.content-legal-bx h1 {
font-size: 66px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #7431BC;
margin-bottom: 56px;
padding-bottom: 28px;
border-bottom: 2px solid #06E5C1;
}

.content-legal-bx h2 {
font-size: 36px;
line-height: 1.3;
color: #7431BC;
margin-top: 56px;
margin-bottom: 28px;
}

.content-legal-bx h3 {
font-size: 26px;
line-height: 1.3;
color: #3d1a6e;
margin-top: 28px;
margin-bottom: 16px;
}

.content-legal-bx h4 {
font-size: 20px;
line-height: 1.5;
color: #3d1a6e;
margin-top: 28px;
margin-bottom: 8px;
}

.content-legal-bx h5 {
font-size: 14px;
line-height: 1.5;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #7431BC;
margin-top: 28px;
margin-bottom: 8px;
}

.content-legal-bx h6 {
font-size: 14px;
line-height: 1.5;
letter-spacing: 0.06em;
text-transform: uppercase;
color: #555;
margin-top: 16px;
margin-bottom: 8px;
}

.content-legal-bx p {
font-size: 20px;
line-height: 1.7;
color: #2a1a42;
margin-bottom: 16px;
max-width: 72ch;
}

.content-legal-bx ul,
.content-legal-bx ol {
font-size: 20px;
line-height: 1.7;
color: #2a1a42;
margin-bottom: 28px;
padding-left: 28px;
}

.content-legal-bx ul {
list-style: none;
padding-left: 16px;
}

.content-legal-bx ul li {
position: relative;
padding-left: 28px;
margin-bottom: 8px;
}

.content-legal-bx ul li::before {
content: '';
position: absolute;
left: 0;
top: 0.65em;
width: 8px;
height: 8px;
border-radius: 0px;
background: #06E5C1;
transform: rotate(45deg);
}

.content-legal-bx ol {
list-style: none;
counter-reset: policy-counter;
padding-left: 16px;
}

.content-legal-bx ol li {
position: relative;
padding-left: 28px;
margin-bottom: 8px;
counter-increment: policy-counter;
}

.content-legal-bx ol li::before {
content: counter(policy-counter) '.';
position: absolute;
left: 0;
top: 0;
font-size: 14px;
font-weight: 700;
color: #7431BC;
line-height: 1.7;
letter-spacing: 0.04em;
}

.content-legal-bx li {
max-width: 72ch;
}

.content-legal-bx em,
.content-legal-bx i {
font-style: italic;
color: #7431BC;
}

.content-legal-bx table {
width: 100%;
border-collapse: collapse;
margin-top: 28px;
margin-bottom: 56px;
font-size: 14px;
line-height: 1.5;
border-radius: 10px;
overflow: hidden;
box-shadow: -1px 5px 28px -1px rgba(116, 49, 188, 0.10);
}

.content-legal-bx thead {
background: linear-gradient(135deg, #7431BC 0%, #5a2494 100%);
}

.content-legal-bx thead th {
color: #ffffff;
font-size: 14px;
letter-spacing: 0.08em;
text-transform: uppercase;
padding: 16px 28px;
text-align: left;
font-weight: 700;
}

.content-legal-bx tbody tr {
border-bottom: 1px solid rgba(116, 49, 188, 0.08);
transition: background-color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.content-legal-bx tbody tr:last-child {
border-bottom: none;
}

.content-legal-bx tbody tr:nth-child(even) {
background-color: rgba(6, 229, 193, 0.04);
}

.content-legal-bx tbody tr:hover {
background-color: rgba(116, 49, 188, 0.05);
}

.content-legal-bx td {
padding: 16px 28px;
color: #2a1a42;
font-size: 14px;
line-height: 1.5;
vertical-align: top;
}

.content-legal-bx th {
padding: 16px 28px;
vertical-align: top;
}

@media (max-width: 1024px) {
.content-legal-bx {
padding: 56px 28px;
}

.content-legal-bx h1 {
font-size: 36px;
margin-bottom: 28px;
}

.content-legal-bx h2 {
font-size: 26px;
margin-top: 28px;
}

.content-legal-bx h3 {
font-size: 20px;
}
}

@media (max-width: 640px) {
.content-legal-bx {
padding: 28px 16px;
}

.content-legal-bx h1 {
font-size: 36px;
line-height: 1.1;
margin-bottom: 28px;
padding-bottom: 16px;
}

.content-legal-bx h2 {
font-size: 26px;
margin-top: 28px;
margin-bottom: 16px;
}

.content-legal-bx h3 {
font-size: 20px;
}

.content-legal-bx h4,
.content-legal-bx h5,
.content-legal-bx h6 {
font-size: 14px;
}

.content-legal-bx p,
.content-legal-bx ul,
.content-legal-bx ol {
font-size: 14px;
}

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

.content-legal-bx thead th,
.content-legal-bx td {
padding: 16px;
min-width: 120px;
}
}

.guides {
background: #ffffff;
overflow-x: hidden;
position: relative;
}

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

.guides ::selection {
background: #7431BC;
color: #ffffff;
}

.guides a {
text-decoration: underline;
text-decoration-style: double;
text-underline-offset: 3px;
color: #7431BC;
transition: color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.guides a:hover {
color: #06E5C1;
}

.guides .gradient-text {
background: linear-gradient(73deg, #7431BC, #06E5C1);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}

@keyframes rise-appear {
from {
opacity: 0;
transform: translateY(32px);
}

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

.guides .animate-rise {
animation: rise-appear 0.55s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.guides .animate-rise.delay-1 {
animation-delay: 0.1s;
}

.guides .animate-rise.delay-2 {
animation-delay: 0.22s;
}

.guides .animate-rise.delay-3 {
animation-delay: 0.34s;
}

.guides .animate-rise.delay-4 {
animation-delay: 0.46s;
}

.guides .split-title {
display: grid;
grid-template-columns: 1fr 1fr;
position: relative;
}

.guides .split-left {
background: #7431BC;
padding: 56px 56px 56px 56px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 28px;
position: relative;
}

.guides .split-right {
background: #06E5C1;
padding: 56px 56px 56px 56px;
display: flex;
flex-direction: column;
align-items: flex-end;
justify-content: center;
position: relative;
overflow: hidden;
}

.guides .split-right img {
width: 100%;
height: 100%;
object-fit: cover;
aspect-ratio: 4/3;
display: block;
transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

.guides .split-right:hover img {
transform: translateX(-12px);
}

.guides .guide-count-row {
display: flex;
align-items: flex-end;
gap: 16px;
}

.guides .guide-count-number {
font-size: 66px;
line-height: 1.1;
font-weight: 800;
color: #FDF900;
letter-spacing: -2px;
}

.guides .guide-count-label {
font-size: 14px;
line-height: 1.5;
color: rgba(253, 249, 0, 0.75);
text-transform: uppercase;
letter-spacing: 0.1em;
padding-bottom: 12px;
}

.guides .split-heading {
font-size: 36px;
line-height: 1.3;
font-weight: 700;
color: #ffffff;
margin: 0;
}

.guides .split-sub {
font-size: 20px;
line-height: 1.5;
color: rgba(255, 255, 255, 0.82);
margin: 0;
}

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

.guides .wave-divider svg {
display: block;
width: 100%;
}

.guides .bracket-box {
position: relative;
}

.guides .bracket-box::before,
.guides .bracket-box::after {
content: '';
position: absolute;
width: 20px;
height: 20px;
pointer-events: none;
}

.guides .bracket-box::before {
top: 0;
left: 0;
border-top: 2px solid #7431BC;
border-left: 2px solid #7431BC;
}

.guides .bracket-box::after {
bottom: 0;
right: 0;
border-bottom: 2px solid #06E5C1;
border-right: 2px solid #06E5C1;
}

.guides .howto-band {
background: #f5f0fc;
padding: 96px 0;
position: relative;
}

.guides .howto-band::before {
content: '';
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='1' cy='1' r='1' fill='%237431BC' fill-opacity='0.04'/%3E%3C/svg%3E");
pointer-events: none;
}

.guides .howto-inner {
max-width: 1100px;
margin: 0 auto;
padding: 0 28px;
}

.guides .howto-top {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 56px;
align-items: start;
margin-bottom: 56px;
}

.guides .howto-label {
font-size: 14px;
line-height: 1.5;
text-transform: uppercase;
letter-spacing: 0.12em;
color: #7431BC;
font-weight: 600;
margin-bottom: 16px;
}

.guides .howto-heading {
font-size: 36px;
line-height: 1.3;
font-weight: 700;
color: #1e0a36;
margin: 0 0 16px;
}

.guides .howto-desc {
font-size: 20px;
line-height: 1.7;
color: #3d2060;
margin: 0;
}

.guides .steps-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 28px;
position: relative;
}

.guides .step-trail {
position: absolute;
top: 28px;
left: calc(12.5% + 8px);
right: calc(12.5% + 8px);
height: 2px;
background: linear-gradient(73deg, #7431BC, #06E5C1);
z-index: 0;
border-radius: 0;
}

.guides .step-card {
background: #ffffff;
border-radius: 10px;
padding: 28px;
position: relative;
z-index: 1;
box-shadow: -1px 5px 28px -1px rgba(116, 49, 188, 0.10);
transition: box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1), transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
overflow: hidden;
}

.guides .step-card::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(73deg, #7431BC, #06E5C1);
opacity: 0;
transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1);
border-radius: 10px;
z-index: 0;
}

.guides .step-card:hover::before {
opacity: 1;
}

.guides .step-card:hover {
box-shadow: -1px 9px 40px -1px rgba(116, 49, 188, 0.18);
transform: translateY(-4px);
}

.guides .step-card:hover .step-number,
.guides .step-card:hover .step-name,
.guides .step-card:hover .step-text {
color: #ffffff;
}

.guides .step-card:hover .step-dot {
background: #FDF900;
border-color: #FDF900;
}

.guides .step-number {
font-size: 14px;
line-height: 1.5;
text-transform: uppercase;
letter-spacing: 0.1em;
color: #7431BC;
font-weight: 600;
margin-bottom: 16px;
position: relative;
z-index: 1;
transition: color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.guides .step-dot {
width: 16px;
height: 16px;
border-radius: 32px;
border: 2px solid #7431BC;
background: #ffffff;
margin-bottom: 16px;
position: relative;
z-index: 1;
transition: background 0.45s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.guides .step-dot.active {
background: #7431BC;
}

.guides .step-name {
font-size: 20px;
line-height: 1.3;
font-weight: 700;
color: #1e0a36;
margin: 0 0 8px;
position: relative;
z-index: 1;
transition: color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.guides .step-text {
font-size: 14px;
line-height: 1.7;
color: #3d2060;
margin: 0;
position: relative;
z-index: 1;
transition: color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.guides .double-wave {
background: #f5f0fc;
line-height: 0;
position: relative;
}

.guides .double-wave-bottom {
background: #ffffff;
line-height: 0;
position: relative;
}

.guides .list-band {
background: #ffffff;
padding: 96px 0;
position: relative;
}

.guides .list-inner {
max-width: 1100px;
margin: 0 auto;
padding: 0 28px;
}

.guides .list-heading-row {
display: grid;
grid-template-columns: 3fr 2fr;
gap: 56px;
align-items: end;
margin-bottom: 56px;
}

.guides .list-heading {
font-size: 36px;
line-height: 1.3;
font-weight: 700;
color: #1e0a36;
margin: 0;
}

.guides .list-note {
font-size: 20px;
line-height: 1.7;
color: #3d2060;
margin: 0;
padding-bottom: 8px;
}

.guides .four-col-grid {
display: grid;
grid-template-columns: 280px 1fr 1fr 1fr;
gap: 28px;
align-items: start;
}

.guides .accent-col {
background: linear-gradient(73deg, #7431BC, #06E5C1);
border-radius: 10px;
padding: 28px;
display: flex;
flex-direction: column;
gap: 16px;
box-shadow: -1px 9px 40px -1px rgba(116, 49, 188, 0.10);
position: relative;
}

.guides .accent-col::after {
content: '';
position: absolute;
inset: 0;
border-radius: 10px;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
pointer-events: none;
}

.guides .accent-tag {
font-size: 14px;
line-height: 1.5;
text-transform: uppercase;
letter-spacing: 0.12em;
color: rgba(253, 249, 0, 0.9);
font-weight: 600;
}

.guides .accent-big {
font-size: 36px;
line-height: 1.1;
font-weight: 800;
color: #ffffff;
margin: 0;
}

.guides .accent-body {
font-size: 14px;
line-height: 1.7;
color: rgba(255, 255, 255, 0.88);
margin: 0;
}

.guides .guide-item-col {
display: flex;
flex-direction: column;
gap: 16px;
}

.guides .guide-item {
background: #f5f0fc;
border-radius: 10px;
padding: 28px;
position: relative;
overflow: hidden;
box-shadow: -1px 1px 2px -1px rgba(116, 49, 188, 0.05);
transition: box-shadow 0.5s ease-in-out, background 0.5s ease-in-out;
}

.guides .guide-item::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 0;
background: linear-gradient(73deg, #7431BC, #06E5C1);
transition: height 0.45s cubic-bezier(0.16, 1, 0.3, 1);
z-index: 0;
border-radius: 0 0 10px 10px;
}

.guides .guide-item:hover::after {
height: 4px;
}

.guides .guide-item:hover {
box-shadow: -1px 5px 28px -1px rgba(116, 49, 188, 0.12);
}

.guides .guide-item-num {
font-size: 14px;
line-height: 1.5;
color: #7431BC;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
margin-bottom: 8px;
position: relative;
z-index: 1;
}

.guides .guide-item-title {
font-size: 20px;
line-height: 1.3;
font-weight: 700;
color: #1e0a36;
margin: 0 0 8px;
position: relative;
z-index: 1;
}

.guides .guide-item-desc {
font-size: 14px;
line-height: 1.7;
color: #3d2060;
margin: 0;
position: relative;
z-index: 1;
}

.guides .guide-item.bracket-box::before {
border-color: rgba(116, 49, 188, 0.25);
}

.guides .guide-item.bracket-box::after {
border-color: rgba(6, 229, 193, 0.35);
height: auto;
background: none;
}

@media (max-width: 1024px) {
.guides .split-title {
grid-template-columns: 1fr;
}

.guides .split-right {
min-height: 280px;
}

.guides .split-left {
padding: 56px 28px;
}

.guides .split-right {
padding: 28px;
}

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

.guides .step-trail {
display: none;
}

.guides .howto-top {
grid-template-columns: 1fr;
gap: 28px;
}

.guides .four-col-grid {
grid-template-columns: 1fr 1fr;
}

.guides .accent-col {
grid-column: 1 / -1;
}

.guides .list-heading-row {
grid-template-columns: 1fr;
gap: 16px;
}
}

@media (max-width: 640px) {
.guides .split-left {
padding: 56px 16px 28px;
}

.guides .guide-count-number {
font-size: 36px;
}

.guides .split-heading {
font-size: 26px;
}

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

.guides .four-col-grid {
grid-template-columns: 1fr;
}

.guides .accent-col {
grid-column: auto;
}

.guides .howto-inner,
.guides .list-inner {
padding: 0 16px;
}

.guides .howto-band,
.guides .list-band {
padding: 56px 0;
}

.guides .list-heading {
font-size: 26px;
}

.guides .howto-heading {
font-size: 26px;
}
}

.about-us {
background-color: #ffffff;
overflow-x: clip;
position: relative;
}

.about-us ::selection {
background-color: #7431BC;
color: #ffffff;
}

.about-us .page-schema {
display: none;
}

.about-us .title-block {
background-color: #1a0a2e;
position: relative;
padding: 96px 28px;
overflow: hidden;
}

.about-us .title-block .diagonal-pattern {
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(73deg,
transparent,
transparent 18px,
rgba(116, 49, 188, 0.07) 18px,
rgba(116, 49, 188, 0.07) 19px);
pointer-events: none;
}

.about-us .title-block .radial-accent {
position: absolute;
inset: 0;
background: radial-gradient(ellipse 60% 70% at 30% 50%, rgba(116, 49, 188, 0.18) 0%, transparent 70%);
pointer-events: none;
}

.about-us .title-block .title-grid {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: 1.4fr 0.8fr 1.4fr;
gap: 56px;
align-items: center;
position: relative;
}

.about-us .title-block .title-text-column {
display: flex;
flex-direction: column;
gap: 16px;
}

.about-us .title-block .label-tag {
display: inline-block;
font-size: 14px;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #06E5C1;
padding: 8px 16px;
border: 1px solid rgba(6, 229, 193, 0.3);
border-radius: 6px;
width: fit-content;
}

.about-us .title-block .main-heading {
font-size: 66px;
line-height: 1.1;
font-weight: 800;
color: #ffffff;
margin: 0;
letter-spacing: -0.02em;
}

.about-us .title-block .main-heading .gradient-word {
background: linear-gradient(73deg, #7431BC, #06E5C1);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}

.about-us .title-block .description-text {
font-size: 20px;
line-height: 1.5;
color: rgba(255, 255, 255, 0.72);
margin: 0;
}

.about-us .title-block .image-column {
position: relative;
}

.about-us .title-block .image-column .image-frame {
aspect-ratio: 4/3;
border-radius: 10px;
overflow: hidden;
position: relative;
box-shadow: -1px 9px 40px -1px rgba(116, 49, 188, 0.10);
}

.about-us .title-block .image-column .image-frame img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

.about-us .title-block .image-column .image-frame .img-overlay {
position: absolute;
inset: 0;
background: linear-gradient(73deg, rgba(26, 10, 46, 0.65) 0%, transparent 60%);
pointer-events: none;
}

.about-us .title-block .stats-column {
display: flex;
flex-direction: column;
gap: 28px;
}

.about-us .title-block .stat-item {
border-top: 1px solid rgba(253, 249, 0, 0.2);
padding-top: 16px;
}

.about-us .title-block .stat-number {
font-size: 36px;
line-height: 1.1;
font-weight: 800;
color: #FDF900;
display: block;
}

.about-us .title-block .stat-label {
font-size: 14px;
line-height: 1.5;
color: rgba(255, 255, 255, 0.6);
margin-top: 8px;
display: block;
}

.about-us .team-block {
padding: 96px 28px;
background-color: #f5f0fc;
position: relative;
}

.about-us .team-block .center-spot {
position: absolute;
inset: 0;
background: radial-gradient(ellipse 55% 60% at 50% 50%, rgba(116, 49, 188, 0.06) 0%, transparent 70%);
pointer-events: none;
}

.about-us .team-block .team-inner {
max-width: 1100px;
margin: 0 auto;
position: relative;
}

.about-us .team-block .team-header {
display: flex;
flex-direction: row;
gap: 56px;
align-items: flex-end;
margin-bottom: 56px;
}

.about-us .team-block .team-header-text {
flex: 1.2;
}

.about-us .team-block .team-header-aside {
flex: 0.8;
padding-bottom: 8px;
}

.about-us .team-block .section-label {
font-size: 14px;
font-weight: 600;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #7431BC;
display: block;
margin-bottom: 16px;
}

.about-us .team-block .section-heading {
font-size: 36px;
line-height: 1.3;
font-weight: 700;
color: #1a0a2e;
margin: 0;
letter-spacing: -0.01em;
}

.about-us .team-block .aside-text {
font-size: 20px;
line-height: 1.5;
color: #3d2060;
margin: 0;
border-left: 3px solid #7431BC;
border-bottom: 3px solid #06E5C1;
padding: 16px;
border-radius: 0px 0px 6px 0px;
}

.about-us .team-block .mosaic-grid {
display: grid;
grid-template-columns: 1.6fr 1fr 1fr;
grid-template-rows: auto auto;
gap: 16px;
}

.about-us .team-block .person-card {
background-color: #ffffff;
border-radius: 10px;
overflow: hidden;
box-shadow: -1px 5px 28px -1px rgba(116, 49, 188, 0.10);
transition: box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1), transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
cursor: default;
position: relative;
border-top: 2px solid rgba(116, 49, 188, 0.15);
border-bottom: 2px solid rgba(6, 229, 193, 0.15);
}

.about-us .team-block .person-card:hover {
box-shadow: -1px 9px 40px -1px rgba(116, 49, 188, 0.10);
transform: translateY(-4px);
}

.about-us .team-block .mosaic-grid:has(.person-card:hover) .person-card:not(:hover) {
transform: translateY(2px);
transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.about-us .team-block .person-card.featured {
grid-row: 1 / 3;
}

.about-us .team-block .person-card .card-image {
aspect-ratio: 4/3;
overflow: hidden;
}

.about-us .team-block .person-card.featured .card-image {
aspect-ratio: 4/3;
height: 280px;
}

.about-us .team-block .person-card .card-image img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

.about-us .team-block .person-card:hover .card-image img {
transform: scale(1.03);
}

.about-us .team-block .person-card .card-body {
padding: 28px;
display: flex;
flex-direction: column;
gap: 8px;
}

.about-us .team-block .person-name {
font-size: 20px;
line-height: 1.3;
font-weight: 700;
color: #1a0a2e;
margin: 0;
}

.about-us .team-block .person-role {
font-size: 14px;
line-height: 1.5;
color: #7431BC;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
margin: 0;
}

.about-us .team-block .person-bio {
font-size: 14px;
line-height: 1.7;
color: #3d2060;
margin: 8px 0 0;
}

.about-us .team-block .approach-strip {
margin-top: 56px;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}

.about-us .team-block .approach-item {
padding: 28px;
border-radius: 10px;
background-color: #ffffff;
border-top: 2px solid #7431BC;
border-bottom: 2px solid #06E5C1;
box-shadow: -1px 1px 2px -1px rgba(116, 49, 188, 0.05);
transition: box-shadow 0.4s ease-in-out;
}

.about-us .team-block .approach-item:hover {
box-shadow: -1px 5px 28px -1px rgba(116, 49, 188, 0.10);
}

.about-us .team-block .approach-number {
font-size: 36px;
line-height: 1.1;
font-weight: 800;
background: linear-gradient(73deg, #7431BC, #06E5C1);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
display: block;
margin-bottom: 8px;
}

.about-us .team-block .approach-label {
font-size: 20px;
line-height: 1.3;
font-weight: 700;
color: #1a0a2e;
margin: 0 0 8px;
}

.about-us .team-block .approach-desc {
font-size: 14px;
line-height: 1.7;
color: #3d2060;
margin: 0;
}

.about-us .process-block {
padding: 96px 28px;
background-color: #ffffff;
position: relative;
}

.about-us .process-block .wash-bg {
position: absolute;
inset: 0;
background: linear-gradient(73deg, rgba(116, 49, 188, 0.03) 0%, rgba(6, 229, 193, 0.03) 100%);
animation: color-wash 8s ease-in-out infinite alternate;
pointer-events: none;
}

@keyframes color-wash {
0% {
opacity: 0.6;
}

100% {
opacity: 1;
}
}

.about-us .process-block .process-inner {
max-width: 1100px;
margin: 0 auto;
position: relative;
}

.about-us .process-block .process-top {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: start;
margin-bottom: 56px;
}

.about-us .process-block .process-heading {
font-size: 36px;
line-height: 1.3;
font-weight: 700;
color: #1a0a2e;
margin: 0 0 16px;
letter-spacing: -0.01em;
}

.about-us .process-block .process-desc {
font-size: 20px;
line-height: 1.5;
color: #3d2060;
margin: 0;
}

.about-us .process-block .process-image-wrap {
aspect-ratio: 4/3;
border-radius: 10px;
overflow: hidden;
box-shadow: -1px 9px 40px -1px rgba(116, 49, 188, 0.10);
position: relative;
}

.about-us .process-block .process-image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

.about-us .process-block .process-image-wrap .img-tint {
position: absolute;
inset: 0;
background: linear-gradient(73deg, rgba(116, 49, 188, 0.15) 0%, transparent 55%);
pointer-events: none;
}

.about-us .process-block .trail-list {
display: flex;
flex-direction: column;
gap: 0;
list-style: none;
padding: 0;
margin: 0;
}

.about-us .process-block .trail-item {
display: flex;
flex-direction: row;
gap: 28px;
align-items: flex-start;
position: relative;
padding-bottom: 28px;
}

.about-us .process-block .trail-item:last-child {
padding-bottom: 0;
}

.about-us .process-block .trail-marker {
display: flex;
flex-direction: column;
align-items: center;
flex-shrink: 0;
width: 28px;
}

.about-us .process-block .trail-dot {
width: 16px;
height: 16px;
border-radius: 32px;
background-color: #7431BC;
box-shadow: inset 0 0 0 3px rgba(116, 49, 188, 0.2), 0 0 0 3px rgba(116, 49, 188, 0.1);
flex-shrink: 0;
transition: background-color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.about-us .process-block .trail-item:hover .trail-dot {
background-color: #06E5C1;
}

.about-us .process-block .trail-line {
width: 2px;
flex: 1;
background: linear-gradient(180deg, #7431BC 0%, rgba(116, 49, 188, 0.15) 100%);
min-height: 28px;
margin-top: 4px;
}

.about-us .process-block .trail-item:last-child .trail-line {
display: none;
}

.about-us .process-block .trail-text {
flex: 1;
padding-top: 0;
}

.about-us .process-block .trail-step-label {
font-size: 14px;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #7431BC;
display: block;
margin-bottom: 8px;
}

.about-us .process-block .trail-step-heading {
font-size: 20px;
line-height: 1.3;
font-weight: 700;
color: #1a0a2e;
margin: 0 0 8px;
}

.about-us .process-block .trail-step-desc {
font-size: 14px;
line-height: 1.7;
color: #3d2060;
margin: 0;
}

.about-us .process-block .contact-band {
margin-top: 56px;
background: linear-gradient(73deg, #1a0a2e 0%, #2d1060 100%);
border-radius: 10px;
padding: 56px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: center;
border-top: 2px solid rgba(253, 249, 0, 0.3);
border-bottom: 2px solid rgba(6, 229, 193, 0.3);
box-shadow: -1px 9px 40px -1px rgba(116, 49, 188, 0.10);
}

.about-us .process-block .contact-band .contact-heading {
font-size: 36px;
line-height: 1.3;
font-weight: 700;
color: #ffffff;
margin: 0 0 16px;
}

.about-us .process-block .contact-band .contact-sub {
font-size: 20px;
line-height: 1.5;
color: rgba(255, 255, 255, 0.65);
margin: 0;
}

.about-us .process-block .contact-details-list {
display: flex;
flex-direction: column;
gap: 16px;
list-style: none;
padding: 0;
margin: 0;
}

.about-us .process-block .contact-detail-item {
display: flex;
flex-direction: column;
gap: 8px;
}

.about-us .process-block .detail-label {
font-size: 14px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.1em;
color: #FDF900;
}

.about-us .process-block .detail-value {
font-size: 20px;
line-height: 1.3;
color: #ffffff;
font-weight: 500;
}

.about-us .process-block .detail-value a {
color: #06E5C1;
text-decoration: underline;
text-decoration-style: double;
text-underline-offset: 3px;
transition: color 0.4s ease-in-out;
}

.about-us .process-block .detail-value a:hover {
color: #FDF900;
}

.about-us .process-block .contact-action {
margin-top: 28px;
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
}

.about-us .process-block .btn-primary {
display: inline-block;
padding: 16px 28px;
background: linear-gradient(73deg, #7431BC, #06E5C1);
color: #1a0a2e;
font-size: 14px;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
border-radius: 6px;
text-decoration: none;
border: none;
cursor: pointer;
transition: background 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1);
box-shadow: -1px 5px 28px -1px rgba(116, 49, 188, 0.10);
}

.about-us .process-block .btn-primary:hover {
background: linear-gradient(253deg, #7431BC, #06E5C1);
box-shadow: -1px 9px 40px -1px rgba(116, 49, 188, 0.10);
}

.about-us .process-block .btn-primary:focus-visible {
outline: 2px solid #FDF900;
outline-offset: 3px;
}

@media (max-width: 1024px) {
.about-us .title-block .title-grid {
grid-template-columns: 1fr 1fr;
gap: 28px;
}

.about-us .title-block .stats-column {
grid-column: 1 / 3;
flex-direction: row;
flex-wrap: wrap;
gap: 28px;
}

.about-us .title-block .stat-item {
flex: 1;
min-width: 140px;
}

.about-us .title-block .main-heading {
font-size: 36px;
}

.about-us .team-block .mosaic-grid {
grid-template-columns: 1fr 1fr;
}

.about-us .team-block .person-card.featured {
grid-row: auto;
grid-column: 1 / 3;
}

.about-us .team-block .approach-strip {
grid-template-columns: 1fr 1fr;
}

.about-us .process-block .process-top {
grid-template-columns: 1fr;
gap: 28px;
}

.about-us .process-block .contact-band {
grid-template-columns: 1fr;
gap: 28px;
padding: 28px;
}
}

@media (max-width: 640px) {
.about-us .title-block {
padding: 56px 16px;
}

.about-us .title-block .title-grid {
grid-template-columns: 1fr;
gap: 28px;
}

.about-us .title-block .image-column {
display: none;
}

.about-us .title-block .stats-column {
grid-column: auto;
flex-direction: column;
gap: 16px;
}

.about-us .title-block .main-heading {
font-size: 36px;
}

.about-us .team-block {
padding: 56px 16px;
}

.about-us .team-block .team-header {
flex-direction: column;
gap: 28px;
}

.about-us .team-block .mosaic-grid {
grid-template-columns: 1fr;
}

.about-us .team-block .person-card.featured {
grid-column: auto;
}

.about-us .team-block .approach-strip {
grid-template-columns: 1fr;
}

.about-us .process-block {
padding: 56px 16px;
}

.about-us .process-block .contact-band {
padding: 28px 16px;
margin-top: 28px;
}
}

.contact-us {
background: #ffffff;
overflow-x: clip;
position: relative;
}

.contact-us .reach-panel {
max-width: 1100px;
margin: 0 auto;
padding: 96px 56px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: start;
}

.contact-us .reach-left {
position: relative;
}

.contact-us .reach-tag {
display: inline-block;
font-size: 14px;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #7431BC;
background: rgba(116, 49, 188, 0.08);
border: 1px solid rgba(116, 49, 188, 0.18);
border-radius: 6px;
padding: 8px 16px;
margin-bottom: 28px;
}

.contact-us .reach-heading {
font-size: 36px;
font-weight: 700;
line-height: 1.1;
letter-spacing: -0.02em;
color: #1a0a2e;
margin-bottom: 16px;
}

.contact-us .reach-heading span {
background: linear-gradient(73deg, #7431BC, #06E5C1);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}

.contact-us .reach-desc {
font-size: 20px;
line-height: 1.5;
color: #3d2a5a;
margin-bottom: 56px;
max-width: 420px;
}

.contact-us .contact-details-list {
display: flex;
flex-direction: column;
gap: 28px;
list-style: none;
padding: 0;
margin: 0;
}

.contact-us .contact-details-list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
}

.contact-us .detail-icon {
width: 44px;
height: 44px;
border-radius: 10px;
background: linear-gradient(73deg, rgba(116, 49, 188, 0.10), rgba(6, 229, 193, 0.10));
border: 1px solid rgba(116, 49, 188, 0.14);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
box-shadow: -1px 1px 2px -1px rgba(116, 49, 188, 0.05);
}

.contact-us .detail-icon svg {
width: 20px;
height: 20px;
}

.contact-us .detail-body {
display: flex;
flex-direction: column;
gap: 8px;
}

.contact-us .detail-label {
font-size: 14px;
font-weight: 600;
letter-spacing: 0.10em;
text-transform: uppercase;
color: #7431BC;
}

.contact-us .detail-value {
font-size: 20px;
line-height: 1.3;
color: #1a0a2e;
font-weight: 500;
}

.contact-us .detail-value a {
color: #1a0a2e;
text-decoration: none;
border-bottom: 2px solid rgba(116, 49, 188, 0.25);
padding-bottom: 1px;
transition: color 0.45s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.contact-us .detail-value a:hover {
color: #7431BC;
border-bottom-color: #7431BC;
}

.contact-us .reach-deco {
position: absolute;
top: -28px;
left: -28px;
width: 120px;
height: 120px;
border: 2px dashed rgba(116, 49, 188, 0.18);
border-radius: 32px;
pointer-events: none;
z-index: 0;
}

.contact-us .reach-deco-dot {
position: absolute;
width: 10px;
height: 10px;
border-radius: 32px;
background: linear-gradient(73deg, #7431BC, #06E5C1);
top: -5px;
left: -5px;
pointer-events: none;
}

.contact-us .form-panel {
background: #ffffff;
border-radius: 10px;
border: 1px solid rgba(116, 49, 188, 0.12);
padding: 56px 56px;
box-shadow: -1px 5px 28px -1px rgba(116, 49, 188, 0.10);
position: relative;
overflow: hidden;
}

.contact-us .form-panel::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(73deg, #7431BC, #06E5C1, #FDF900);
border-radius: 10px 10px 0 0;
}

.contact-us .form-panel-tag {
position: absolute;
top: 28px;
right: 28px;
font-size: 14px;
font-weight: 600;
letter-spacing: 0.10em;
text-transform: uppercase;
color: #06E5C1;
background: rgba(6, 229, 193, 0.10);
border: 1px solid rgba(6, 229, 193, 0.22);
border-radius: 6px;
padding: 8px 16px;
}

.contact-us .form-heading {
font-size: 26px;
font-weight: 700;
line-height: 1.1;
color: #1a0a2e;
margin-bottom: 8px;
margin-top: 16px;
}

.contact-us .form-sub {
font-size: 14px;
line-height: 1.5;
color: #5a4070;
margin-bottom: 28px;
}

.contact-us .form-group {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 16px;
}

.contact-us .form-label {
font-size: 14px;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #3d2a5a;
}

.contact-us .form-input {
border: 1px solid rgba(116, 49, 188, 0.18);
border-radius: 6px;
padding: 16px;
font-size: 14px;
color: #1a0a2e;
background: rgba(116, 49, 188, 0.02);
outline: none;
transition: border-color 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1);
width: 100%;
box-sizing: border-box;
}

.contact-us .form-input::placeholder {
text-transform: uppercase;
letter-spacing: 0.07em;
color: rgba(61, 42, 90, 0.45);
font-size: 14px;
}

.contact-us .form-input:focus {
border-color: #7431BC;
box-shadow: -1px 5px 28px -1px rgba(116, 49, 188, 0.10), inset 0 0 0 2px rgba(116, 49, 188, 0.08);
}

.contact-us .radio-group-label {
font-size: 14px;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #3d2a5a;
margin-bottom: 8px;
display: block;
}

.contact-us .radio-options {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 16px;
}

.contact-us .radio-option {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
padding: 16px;
border: 1px solid rgba(116, 49, 188, 0.14);
border-radius: 6px;
cursor: pointer;
transition: border-color 0.40s ease-in-out, background 0.40s ease-in-out;
position: relative;
}

.contact-us .radio-option:hover {
border-color: rgba(116, 49, 188, 0.38);
background: rgba(116, 49, 188, 0.04);
}

.contact-us .radio-option input[type="radio"] {
accent-color: #7431BC;
width: 18px;
height: 18px;
flex-shrink: 0;
cursor: pointer;
}

.contact-us .radio-option-text {
font-size: 14px;
color: #1a0a2e;
line-height: 1.3;
font-weight: 500;
}

.contact-us .radio-option-desc {
font-size: 14px;
color: #5a4070;
line-height: 1.3;
}

.contact-us .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
margin-bottom: 28px;
margin-top: 16px;
}

.contact-us .privacy-row input[type="checkbox"] {
accent-color: #7431BC;
width: 18px;
height: 18px;
flex-shrink: 0;
margin-top: 2px;
cursor: pointer;
}

.contact-us .privacy-text {
font-size: 14px;
line-height: 1.5;
color: #5a4070;
}

.contact-us .privacy-text a {
color: #7431BC;
text-decoration: none;
border-bottom: 1px solid rgba(116, 49, 188, 0.35);
border-bottom-width: 2px;
padding-bottom: 1px;
transition: border-color 0.40s ease-in-out;
}

.contact-us .privacy-text a:hover {
border-color: #7431BC;
}

.contact-us .submit-btn {
width: 100%;
padding: 16px 28px;
border: none;
border-radius: 6px;
background: linear-gradient(73deg, #7431BC, #06E5C1);
color: #ffffff;
font-size: 14px;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
cursor: pointer;
transition: background 0.50s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.50s cubic-bezier(0.16, 1, 0.3, 1);
box-shadow: -1px 5px 28px -1px rgba(116, 49, 188, 0.10);
}

.contact-us .submit-btn:hover {
background: linear-gradient(253deg, #7431BC, #06E5C1);
box-shadow: -1px 9px 40px -1px rgba(116, 49, 188, 0.10);
}

.contact-us .submit-btn:focus {
outline: 3px solid #FDF900;
outline-offset: 2px;
}

.contact-us .submit-btn:active {
background: linear-gradient(73deg, #5a2090, #04c4a4);
}

.contact-us .info-strip {
background: linear-gradient(73deg, rgba(116, 49, 188, 0.06) 0%, rgba(6, 229, 193, 0.06) 100%);
border-top: 1px solid rgba(116, 49, 188, 0.10);
padding: 56px 0 0 0;
position: relative;
overflow: hidden;
}

.contact-us .info-strip-bg-top {
background: #f5f0fc;
height: 56px;
width: 100%;
}

.contact-us .info-strip-bg-bottom {
background: rgba(6, 229, 193, 0.07);
padding: 56px;
}

.contact-us .split-section {
position: relative;
}

.contact-us .split-top {
background: #f5f0fc;
padding: 56px 0 0 0;
}

.contact-us .split-bottom {
background: rgba(6, 229, 193, 0.07);
padding: 56px 0;
}

.contact-us .split-inner {
max-width: 1100px;
margin: 0 auto;
padding: 0 56px;
}

.contact-us .split-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 28px;
align-items: stretch;
}

.contact-us .split-card {
background: #ffffff;
border-radius: 10px;
padding: 28px;
border: 1px solid rgba(116, 49, 188, 0.12);
box-shadow: -1px 1px 2px -1px rgba(116, 49, 188, 0.05);
position: relative;
overflow: hidden;
transition: box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1), transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.contact-us .split-card:hover {
box-shadow: -1px 9px 40px -1px rgba(116, 49, 188, 0.10);
transform: translateY(-2px);
}

.contact-us .split-card.tall {
padding: 56px 28px;
background: linear-gradient(73deg, #7431BC 0%, #06E5C1 100%);
border-color: transparent;
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
}

.contact-us .split-card.tall::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(73deg, rgba(253, 249, 0, 0.08), transparent);
border-radius: 10px;
pointer-events: none;
}

.contact-us .split-card-tag {
position: absolute;
top: 16px;
right: 16px;
font-size: 14px;
font-weight: 700;
letter-spacing: 0.10em;
text-transform: uppercase;
color: #7431BC;
background: rgba(116, 49, 188, 0.08);
border: 1px solid rgba(116, 49, 188, 0.14);
border-radius: 6px;
padding: 8px 16px;
}

.contact-us .split-card.tall .split-card-tag {
color: #FDF900;
background: rgba(253, 249, 0, 0.12);
border-color: rgba(253, 249, 0, 0.22);
}

.contact-us .split-card-number {
font-size: 66px;
font-weight: 800;
line-height: 1.1;
letter-spacing: -0.03em;
background: linear-gradient(73deg, #7431BC, #06E5C1);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin-bottom: 8px;
}

.contact-us .split-card.tall .split-card-number {
background: none;
-webkit-background-clip: unset;
-webkit-text-fill-color: #FDF900;
background-clip: unset;
}

.contact-us .split-card-label {
font-size: 20px;
font-weight: 700;
line-height: 1.3;
color: #1a0a2e;
margin-bottom: 8px;
}

.contact-us .split-card.tall .split-card-label {
color: #ffffff;
font-size: 26px;
}

.contact-us .split-card-body {
font-size: 14px;
line-height: 1.5;
color: #5a4070;
}

.contact-us .split-card.tall .split-card-body {
color: rgba(255, 255, 255, 0.82);
font-size: 20px;
}

.contact-us .connector-line {
display: none;
}

.contact-us .split-bottom-inner {
max-width: 1100px;
margin: 0 auto;
padding: 0 56px;
}

.contact-us .address-flow {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 56px;
padding-top: 56px;
}

.contact-us .address-step {
flex: 1;
display: flex;
flex-direction: column;
gap: 8px;
position: relative;
}

.contact-us .address-step::after {
content: "";
position: absolute;
top: 20px;
right: -28px;
width: 28px;
height: 2px;
background: linear-gradient(73deg, rgba(116, 49, 188, 0.35), rgba(6, 229, 193, 0.35));
}

.contact-us .address-step:last-child::after {
display: none;
}

.contact-us .step-dot {
width: 16px;
height: 16px;
border-radius: 32px;
background: linear-gradient(73deg, #7431BC, #06E5C1);
flex-shrink: 0;
box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.6), -1px 1px 2px -1px rgba(116, 49, 188, 0.05);
margin-bottom: 8px;
}

.contact-us .step-label {
font-size: 14px;
font-weight: 600;
letter-spacing: 0.10em;
text-transform: uppercase;
color: #7431BC;
}

.contact-us .step-value {
font-size: 20px;
font-weight: 600;
line-height: 1.3;
color: #1a0a2e;
}

.contact-us .step-note {
font-size: 14px;
line-height: 1.5;
color: #5a4070;
}

@keyframes zone-drift {
0% {
transform: translateX(0) translateY(0);
}

50% {
transform: translateX(12px) translateY(-8px);
}

100% {
transform: translateX(0) translateY(0);
}
}

.contact-us .bg-zone {
position: absolute;
border-radius: 32px;
pointer-events: none;
animation: zone-drift 14s ease-in-out infinite;
}

.contact-us .bg-zone-a {
width: 320px;
height: 320px;
background: radial-gradient(circle at 30% 40%, rgba(116, 49, 188, 0.07) 0%, transparent 70%);
top: -56px;
right: -96px;
animation-duration: 16s;
}

.contact-us .bg-zone-b {
width: 200px;
height: 200px;
background: radial-gradient(circle at 60% 60%, rgba(6, 229, 193, 0.07) 0%, transparent 70%);
bottom: 56px;
left: -56px;
animation-duration: 20s;
animation-delay: -6s;
}

@media (max-width: 1024px) {
.contact-us .reach-panel {
grid-template-columns: 1fr;
padding: 56px 28px;
gap: 56px;
}

.contact-us .reach-desc {
max-width: 100%;
}

.contact-us .split-grid {
grid-template-columns: 1fr 1fr;
}

.contact-us .split-card.tall {
grid-column: span 2;
}

.contact-us .split-inner {
padding: 0 28px;
}

.contact-us .split-bottom-inner {
padding: 0 28px;
}

.contact-us .address-flow {
gap: 28px;
}
}

@media (max-width: 640px) {
.contact-us .reach-panel {
padding: 56px 16px;
gap: 28px;
}

.contact-us .form-panel {
padding: 28px 16px;
}

.contact-us .split-grid {
grid-template-columns: 1fr;
}

.contact-us .split-card.tall {
grid-column: span 1;
}

.contact-us .split-inner {
padding: 0 16px;
}

.contact-us .split-bottom-inner {
padding: 0 16px;
}

.contact-us .address-flow {
flex-direction: column;
gap: 28px;
padding-top: 28px;
}

.contact-us .address-step::after {
display: none;
}

.contact-us .form-panel-tag {
display: none;
}

.contact-us .split-top {
padding: 28px 0 0 0;
}

.contact-us .split-bottom {
padding: 28px 0;
}
}

.debut-page {
background: #ffffff;
overflow-x: hidden;
position: relative;
}

.debut-page ::selection {
background: #7431BC;
color: #ffffff;
}

.debut-page a {
text-decoration: none;
color: inherit;
}

.debut-page .title-block {
position: relative;
padding: 96px 28px;
max-width: 100%;
}

.debut-page .title-block-grid {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 420px;
gap: 56px;
align-items: center;
}

.debut-page .title-text-area {
position: relative;
z-index: 2;
}

.debut-page .title-corner-lines {
position: absolute;
top: 28px;
left: 28px;
width: 56px;
height: 56px;
pointer-events: none;
}

.debut-page .title-corner-lines::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 28px;
height: 1px;
background: #7431BC;
}

.debut-page .title-corner-lines::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 1px;
height: 28px;
background: #7431BC;
}

.debut-page .title-corner-br {
position: absolute;
bottom: 28px;
right: 28px;
width: 56px;
height: 56px;
pointer-events: none;
}

.debut-page .title-corner-br::before {
content: '';
position: absolute;
bottom: 0;
right: 0;
width: 28px;
height: 1px;
background: #06E5C1;
}

.debut-page .title-corner-br::after {
content: '';
position: absolute;
bottom: 0;
right: 0;
width: 1px;
height: 28px;
background: #06E5C1;
}

.debut-page .title-label {
display: inline-block;
font-size: 14px;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #7431BC;
margin-bottom: 28px;
border-bottom: 2px solid #06E5C1;
padding-bottom: 8px;
}

.debut-page .title-heading {
font-size: 66px;
line-height: 1.1;
font-weight: 800;
letter-spacing: -0.02em;
color: #1a0a2e;
margin: 0 0 28px 0;
}

.debut-page .title-heading .accent-gradient {
background: linear-gradient(73deg, #7431BC, #06E5C1);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}

.debut-page .title-action-link {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 14px;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #7431BC;
border-bottom: 2px solid #7431BC;
padding-bottom: 8px;
transition: color 0.45s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.debut-page .title-action-link:hover {
color: #06E5C1;
border-color: #06E5C1;
}

.debut-page .title-action-link .arrow-shape {
width: 16px;
height: 10px;
display: inline-block;
position: relative;
flex-shrink: 0;
}

.debut-page .title-action-link .arrow-shape::before {
content: '';
position: absolute;
top: 50%;
left: 0;
width: 100%;
height: 1.5px;
background: currentColor;
transform: translateY(-50%);
}

.debut-page .title-action-link .arrow-shape::after {
content: '';
position: absolute;
top: 50%;
right: 0;
width: 6px;
height: 6px;
border-right: 1.5px solid currentColor;
border-top: 1.5px solid currentColor;
transform: translateY(-50%) rotate(45deg);
}

.debut-page .title-image-area {
position: relative;
border-radius: 10px;
overflow: hidden;
aspect-ratio: 4/3;
box-shadow: -1px 9px 40px -1px rgba(116, 49, 188, 0.10);
}

.debut-page .title-image-area img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

.debut-page .title-image-area:hover img {
transform: scale(1.04);
}

.debut-page .title-image-overlay {
position: absolute;
inset: 0;
background: linear-gradient(73deg, rgba(116, 49, 188, 0.38) 0%, transparent 65%);
border-radius: 10px;
}

.debut-page .outcomes-block {
padding: 96px 28px;
background: linear-gradient(73deg, rgba(116, 49, 188, 0.05) 0%, rgba(6, 229, 193, 0.05) 100%);
position: relative;
}

.debut-page .outcomes-block::before {
content: '';
position: absolute;
inset: 0;
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.04'/%3E%3C/svg%3E");
background-size: 200px 200px;
pointer-events: none;
}

.debut-page .outcomes-inner {
max-width: 1100px;
margin: 0 auto;
position: relative;
z-index: 1;
}

.debut-page .outcomes-header {
margin-bottom: 56px;
max-width: 600px;
}

.debut-page .section-label {
display: inline-block;
font-size: 14px;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #06E5C1;
margin-bottom: 16px;
border-bottom: 1px solid rgba(6, 229, 193, 0.4);
padding-bottom: 8px;
}

.debut-page .outcomes-heading {
font-size: 36px;
line-height: 1.3;
font-weight: 700;
color: #1a0a2e;
margin: 0 0 16px 0;
letter-spacing: -0.01em;
}

.debut-page .outcomes-description {
font-size: 20px;
line-height: 1.5;
color: #3d2060;
margin: 0;
}

.debut-page .outcomes-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: start;
}

.debut-page .outcomes-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 28px;
}

.debut-page .outcome-item {
display: grid;
grid-template-columns: 40px 1fr;
gap: 16px;
align-items: start;
}

.debut-page .outcome-dot {
width: 40px;
height: 40px;
border-radius: 10px;
background: linear-gradient(73deg, #7431BC, #06E5C1);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
box-shadow: -1px 5px 28px -1px rgba(116, 49, 188, 0.10);
}

.debut-page .outcome-dot svg {
width: 18px;
height: 18px;
fill: none;
stroke: #ffffff;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
}

.debut-page .outcome-text-group {
display: flex;
flex-direction: column;
gap: 8px;
}

.debut-page .outcome-title {
font-size: 20px;
font-weight: 700;
color: #1a0a2e;
line-height: 1.3;
margin: 0;
}

.debut-page .outcome-desc {
font-size: 14px;
line-height: 1.7;
color: #3d2060;
margin: 0;
}

.debut-page .outcomes-image-col {
position: relative;
}

.debut-page .outcomes-image-wrap {
border-radius: 10px;
overflow: hidden;
aspect-ratio: 4/3;
box-shadow: -1px 9px 40px -1px rgba(116, 49, 188, 0.10);
}

.debut-page .outcomes-image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

.debut-page .outcomes-image-wrap:hover img {
transform: scale(1.04);
}

.debut-page .outcomes-circles {
position: absolute;
top: -28px;
right: -28px;
width: 120px;
height: 120px;
pointer-events: none;
}

.debut-page .circle-layer {
position: absolute;
border-radius: 32px;
border: 1px solid rgba(116, 49, 188, 0.15);
}

.debut-page .circle-layer.small {
width: 56px;
height: 56px;
top: 32px;
left: 32px;
background: rgba(6, 229, 193, 0.08);
}

.debut-page .circle-layer.medium {
width: 80px;
height: 80px;
top: 16px;
left: 16px;
}

.debut-page .circle-layer.large {
width: 110px;
height: 110px;
top: 0;
left: 0;
}

.debut-page .difference-block {
padding: 96px 28px;
background: #ffffff;
}

.debut-page .difference-inner {
max-width: 1100px;
margin: 0 auto;
}

.debut-page .difference-top {
display: grid;
grid-template-columns: 380px 1fr;
gap: 56px;
align-items: start;
margin-bottom: 56px;
}

.debut-page .difference-image-wrap {
border-radius: 10px;
overflow: hidden;
aspect-ratio: 4/3;
box-shadow: -1px 5px 28px -1px rgba(116, 49, 188, 0.10);
position: relative;
}

.debut-page .difference-image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.debut-page .difference-image-wrap:hover img {
transform: scale(1.04);
}

.debut-page .difference-text-col {
display: flex;
flex-direction: column;
gap: 28px;
}

.debut-page .difference-heading {
font-size: 36px;
line-height: 1.3;
font-weight: 700;
color: #1a0a2e;
margin: 0;
letter-spacing: -0.01em;
}

.debut-page .difference-body {
font-size: 20px;
line-height: 1.5;
color: #3d2060;
margin: 0;
}

.debut-page .difference-body a {
color: #7431BC;
border-bottom: 2px solid #06E5C1;
padding-bottom: 2px;
transition: color 0.45s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.debut-page .difference-body a:hover {
color: #06E5C1;
border-color: #7431BC;
}

.debut-page .difference-cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 28px;
}

.debut-page .difference-card {
background: #ffffff;
border-radius: 10px;
padding: 28px;
border: 1px solid rgba(116, 49, 188, 0.12);
box-shadow: -1px 1px 2px -1px rgba(116, 49, 188, 0.05);
transition: box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
display: flex;
flex-direction: column;
gap: 16px;
}

.debut-page .difference-card:hover {
box-shadow: -1px 9px 40px -1px rgba(116, 49, 188, 0.10);
border-color: rgba(116, 49, 188, 0.28);
}

.debut-page .card-icon-shape {
width: 48px;
height: 48px;
border-radius: 10px;
background: linear-gradient(73deg, rgba(116, 49, 188, 0.1), rgba(6, 229, 193, 0.1));
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.debut-page .card-icon-shape svg {
width: 22px;
height: 22px;
fill: none;
stroke: #7431BC;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}

.debut-page .card-heading {
font-size: 20px;
font-weight: 700;
color: #1a0a2e;
line-height: 1.3;
margin: 0;
}

.debut-page .card-text {
font-size: 14px;
line-height: 1.7;
color: #3d2060;
margin: 0;
}

.debut-page .readiness-block {
padding: 96px 28px;
background: linear-gradient(73deg, #1a0a2e 0%, #2d1054 100%);
position: relative;
}

.debut-page .readiness-circles-deco {
position: absolute;
top: 0;
right: 0;
width: 280px;
height: 280px;
pointer-events: none;
overflow: hidden;
}

.debut-page .readiness-circles-deco .rc-one {
position: absolute;
top: -56px;
right: -56px;
width: 200px;
height: 200px;
border-radius: 32px;
border: 1px solid rgba(6, 229, 193, 0.12);
}

.debut-page .readiness-circles-deco .rc-two {
position: absolute;
top: -28px;
right: -28px;
width: 140px;
height: 140px;
border-radius: 32px;
border: 1px solid rgba(253, 249, 0, 0.1);
}

.debut-page .readiness-circles-deco .rc-three {
position: absolute;
top: 0;
right: 0;
width: 80px;
height: 80px;
border-radius: 32px;
background: rgba(116, 49, 188, 0.15);
}

.debut-page .readiness-inner {
max-width: 1100px;
margin: 0 auto;
position: relative;
z-index: 1;
}

.debut-page .readiness-top-row {
display: grid;
grid-template-columns: 1fr 360px;
gap: 56px;
align-items: start;
margin-bottom: 56px;
}

.debut-page .readiness-label {
display: inline-block;
font-size: 14px;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #FDF900;
margin-bottom: 16px;
border-bottom: 1px solid rgba(253, 249, 0, 0.3);
padding-bottom: 8px;
}

.debut-page .readiness-heading {
font-size: 36px;
line-height: 1.3;
font-weight: 700;
color: #ffffff;
margin: 0 0 16px 0;
letter-spacing: -0.01em;
}

.debut-page .readiness-intro {
font-size: 20px;
line-height: 1.5;
color: rgba(255, 255, 255, 0.75);
margin: 0;
}

.debut-page .readiness-image-wrap {
border-radius: 10px;
overflow: hidden;
aspect-ratio: 4/3;
box-shadow: -1px 9px 40px -1px rgba(6, 229, 193, 0.10);
}

.debut-page .readiness-image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.debut-page .readiness-image-wrap:hover img {
transform: scale(1.04);
}

.debut-page .readiness-two-col {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 28px;
}

.debut-page .readiness-col-heading {
font-size: 14px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #06E5C1;
margin: 0 0 16px 0;
}

.debut-page .readiness-items {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 16px;
}

.debut-page .readiness-item {
display: grid;
grid-template-columns: 28px 1fr;
gap: 16px;
align-items: start;
}

.debut-page .readiness-item-marker {
width: 28px;
height: 28px;
border-radius: 6px;
border: 1px solid rgba(6, 229, 193, 0.3);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
margin-top: 2px;
}

.debut-page .readiness-item-marker svg {
width: 14px;
height: 14px;
fill: none;
stroke: #06E5C1;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
}

.debut-page .readiness-item-text {
font-size: 14px;
line-height: 1.7;
color: rgba(255, 255, 255, 0.8);
margin: 0;
}

.debut-page .readiness-divider {
width: 1px;
background: rgba(255, 255, 255, 0.1);
align-self: stretch;
display: none;
}

.debut-page .readiness-col-right {
border-left: 1px solid rgba(255, 255, 255, 0.1);
padding-left: 28px;
}

@keyframes debut-slide-up {
from {
opacity: 0;
transform: translateY(32px);
}

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

.debut-page .animate-in {
animation: debut-slide-up 0.55s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.debut-page .delay-1 {
animation-delay: 0.08s;
}

.debut-page .delay-2 {
animation-delay: 0.18s;
}

.debut-page .delay-3 {
animation-delay: 0.28s;
}

.debut-page .delay-4 {
animation-delay: 0.38s;
}

@media (max-width: 1024px) {
.debut-page .title-block-grid {
grid-template-columns: 1fr;
gap: 28px;
}

.debut-page .title-heading {
font-size: 36px;
}

.debut-page .title-image-area {
max-width: 480px;
}

.debut-page .outcomes-layout {
grid-template-columns: 1fr;
gap: 28px;
}

.debut-page .difference-top {
grid-template-columns: 1fr;
gap: 28px;
}

.debut-page .difference-cards {
grid-template-columns: 1fr 1fr;
}

.debut-page .readiness-top-row {
grid-template-columns: 1fr;
gap: 28px;
}

.debut-page .readiness-two-col {
grid-template-columns: 1fr;
gap: 28px;
}

.debut-page .readiness-col-right {
border-left: none;
border-top: 1px solid rgba(255, 255, 255, 0.1);
padding-left: 0;
padding-top: 28px;
}
}

@media (max-width: 640px) {
.debut-page .title-block {
padding: 56px 16px;
}

.debut-page .title-heading {
font-size: 36px;
}

.debut-page .outcomes-block {
padding: 56px 16px;
}

.debut-page .difference-block {
padding: 56px 16px;
}

.debut-page .difference-cards {
grid-template-columns: 1fr;
}

.debut-page .readiness-block {
padding: 56px 16px;
}

.debut-page .outcome-item {
grid-template-columns: 36px 1fr;
}

.debut-page .outcomes-heading {
font-size: 26px;
}

.debut-page .difference-heading {
font-size: 26px;
}

.debut-page .readiness-heading {
font-size: 26px;
}
}

.learning-program {
overflow-x: hidden;
}

.learning-program *,
.learning-program *::before,
.learning-program *::after {
box-sizing: border-box;
}

.learning-program ::selection {
background: #7431BC;
color: #ffffff;
}

.learning-program .split-entry {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 560px;
}

.learning-program .split-entry .entry-visual {
background: #7431BC;
position: relative;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
}

.learning-program .split-entry .entry-visual img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
opacity: 0.18;
filter: grayscale(100%);
position: absolute;
top: 0;
left: 0;
}

.learning-program .split-entry .entry-visual .tint-layer {
position: absolute;
inset: 0;
background: linear-gradient(73deg, #7431BC 40%, #06E5C1 100%);
opacity: 0.82;
}

.learning-program .split-entry .entry-visual .numerical-badge {
position: relative;
z-index: 2;
text-align: center;
padding: 56px 28px;
}

.learning-program .split-entry .entry-visual .big-number {
font-size: 66px;
font-weight: 900;
line-height: 1.1;
color: #FDF900;
letter-spacing: -2px;
display: block;
}

.learning-program .split-entry .entry-visual .number-label {
font-size: 14px;
line-height: 1.5;
color: rgba(255, 255, 255, 0.85);
text-transform: uppercase;
letter-spacing: 0.12em;
margin-top: 8px;
display: block;
}

.learning-program .split-entry .entry-text {
background: #f5f0fc;
display: flex;
flex-direction: column;
justify-content: center;
padding: 56px 56px;
}

.learning-program .split-entry .entry-text .page-label {
font-size: 14px;
line-height: 1.5;
color: #7431BC;
text-transform: uppercase;
letter-spacing: 0.14em;
font-weight: 700;
margin-bottom: 16px;
}

.learning-program .split-entry .entry-text h1 {
font-size: 36px;
line-height: 1.1;
font-weight: 900;
color: #1e0a38;
margin: 0 0 16px 0;
letter-spacing: -0.5px;
}

.learning-program .split-entry .entry-text h1 .accent-inline {
background: #FDF900;
color: #1e0a38;
padding: 0 8px;
border-radius: 6px;
}

.learning-program .split-entry .entry-text .entry-summary {
font-size: 20px;
line-height: 1.5;
color: #2d1052;
margin: 0 0 28px 0;
max-width: 420px;
}

.learning-program .split-entry .entry-text .entry-cta {
display: inline-flex;
align-items: center;
gap: 8px;
background: linear-gradient(73deg, #7431BC, #06E5C1);
color: #ffffff;
font-size: 14px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.12em;
padding: 16px 28px;
border-radius: 10px;
text-decoration: none;
border: none;
cursor: pointer;
transition: background 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1);
box-shadow: -1px 5px 28px -1px rgba(116, 49, 188, 0.10);
align-self: flex-start;
}

.learning-program .split-entry .entry-text .entry-cta:hover {
background: linear-gradient(253deg, #7431BC, #06E5C1);
box-shadow: -1px 9px 40px -1px rgba(116, 49, 188, 0.10);
}

.learning-program .process-strip {
background: #ffffff;
padding: 96px 0 56px 0;
position: relative;
}

.learning-program .process-strip::before {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
right: 0;
height: 40px;
background: #f5f0fc;
clip-path: ellipse(55% 100% at 50% 0%);
}

.learning-program .process-strip .process-inner {
max-width: 1100px;
margin: 0 auto;
padding: 0 28px;
}

.learning-program .process-strip .process-header {
display: grid;
grid-template-columns: 1fr 320px;
gap: 56px;
align-items: end;
margin-bottom: 56px;
}

.learning-program .process-strip .process-header h2 {
font-size: 36px;
font-weight: 900;
line-height: 1.1;
color: #1e0a38;
margin: 0;
letter-spacing: -0.5px;
}

.learning-program .process-strip .process-header .header-note {
font-size: 14px;
line-height: 1.7;
color: #4a2878;
}

.learning-program .funnel-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: start;
}

.learning-program .funnel-visual {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
padding: 28px 0;
}

.learning-program .funnel-step {
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
}

.learning-program .funnel-bar {
height: 52px;
border-radius: 6px;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
font-weight: 700;
color: #1e0a38;
text-transform: uppercase;
letter-spacing: 0.1em;
transition: box-shadow 0.42s cubic-bezier(0.16, 1, 0.3, 1);
box-shadow: -1px 1px 2px -1px rgba(116, 49, 188, 0.05);
cursor: default;
}

.learning-program .funnel-bar:hover {
box-shadow: -1px 5px 28px -1px rgba(116, 49, 188, 0.10);
}

.learning-program .funnel-step:nth-child(1) .funnel-bar {
width: 100%;
background: linear-gradient(73deg, #7431BC, #a06be0);
color: #ffffff;
}

.learning-program .funnel-step:nth-child(2) .funnel-bar {
width: 85%;
background: linear-gradient(73deg, #8c4fd4, #06E5C1);
color: #1e0a38;
}

.learning-program .funnel-step:nth-child(3) .funnel-bar {
width: 68%;
background: linear-gradient(73deg, #06E5C1, #b0f5ea);
color: #1e0a38;
}

.learning-program .funnel-step:nth-child(4) .funnel-bar {
width: 52%;
background: linear-gradient(73deg, #FDF900, #ffe066);
color: #1e0a38;
}

.learning-program .funnel-connector {
width: 2px;
height: 8px;
background: rgba(116, 49, 188, 0.2);
}

.learning-program .process-steps {
display: flex;
flex-direction: column;
gap: 28px;
}

.learning-program .step-item {
display: grid;
grid-template-columns: 40px 1fr;
gap: 16px;
align-items: start;
}

.learning-program .step-dot {
width: 40px;
height: 40px;
border-radius: 10px;
background: linear-gradient(73deg, #7431BC, #06E5C1);
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
font-weight: 900;
color: #ffffff;
flex-shrink: 0;
box-shadow: -1px 1px 2px -1px rgba(116, 49, 188, 0.05);
}

.learning-program .step-text h4 {
font-size: 20px;
font-weight: 700;
line-height: 1.3;
color: #1e0a38;
margin: 0 0 8px 0;
}

.learning-program .step-text p {
font-size: 14px;
line-height: 1.7;
color: #4a2878;
margin: 0;
}

.learning-program .details-block {
background: linear-gradient(73deg, #f5f0fc 0%, #e8fcf8 100%);
padding: 96px 0;
position: relative;
}

.learning-program .details-block .zigzag-top {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 20px;
overflow: hidden;
}

.learning-program .details-block .zigzag-top svg {
display: block;
width: 100%;
height: 20px;
}

.learning-program .details-block .details-inner {
max-width: 1100px;
margin: 0 auto;
padding: 0 28px;
}

.learning-program .double-sidebar-layout {
display: grid;
grid-template-columns: 200px 1fr 200px;
gap: 28px;
align-items: start;
}

.learning-program .sidebar-left,
.learning-program .sidebar-right {
display: flex;
flex-direction: column;
gap: 16px;
padding-top: 8px;
}

.learning-program .sidebar-stat {
background: #ffffff;
border-radius: 10px;
padding: 16px;
box-shadow: -1px 5px 28px -1px rgba(116, 49, 188, 0.10);
text-align: center;
border-top: 3px solid #7431BC;
}

.learning-program .sidebar-stat .stat-value {
font-size: 26px;
font-weight: 900;
line-height: 1.1;
color: #7431BC;
display: block;
}

.learning-program .sidebar-stat .stat-desc {
font-size: 14px;
line-height: 1.5;
color: #4a2878;
margin-top: 8px;
display: block;
}

.learning-program .sidebar-right .sidebar-stat {
border-top-color: #06E5C1;
}

.learning-program .sidebar-right .sidebar-stat .stat-value {
color: #059e84;
}

.learning-program .center-details {
display: flex;
flex-direction: column;
gap: 28px;
}

.learning-program .center-details h2 {
font-size: 36px;
font-weight: 900;
line-height: 1.1;
color: #1e0a38;
margin: 0;
letter-spacing: -0.5px;
}

.learning-program .center-details h2 .gradient-text {
background: linear-gradient(73deg, #7431BC, #06E5C1);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}

.learning-program .detail-card {
background: #ffffff;
border-radius: 10px;
padding: 28px;
box-shadow: -1px 1px 2px -1px rgba(116, 49, 188, 0.05);
transition: box-shadow 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.learning-program .detail-card:hover {
box-shadow: -1px 9px 40px -1px rgba(116, 49, 188, 0.10);
}

.learning-program .detail-card h5 {
font-size: 20px;
font-weight: 700;
line-height: 1.3;
color: #1e0a38;
margin: 0 0 8px 0;
}

.learning-program .detail-card p {
font-size: 14px;
line-height: 1.7;
color: #4a2878;
margin: 0;
}

.learning-program .detail-card .card-tag {
display: inline-block;
background: #f5f0fc;
color: #7431BC;
font-size: 14px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.1em;
padding: 4px 8px;
border-radius: 6px;
margin-bottom: 16px;
}

.learning-program .registration-block {
background: #1e0a38;
padding: 96px 0;
position: relative;
}

.learning-program .registration-block::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 50px;
background: linear-gradient(73deg, #f5f0fc 0%, #e8fcf8 100%);
clip-path: ellipse(60% 100% at 50% 0%);
}

.learning-program .registration-block .registration-inner {
max-width: 1100px;
margin: 0 auto;
padding: 0 28px;
}

.learning-program .registration-block h2 {
font-size: 36px;
font-weight: 900;
line-height: 1.1;
color: #ffffff;
margin: 0 0 16px 0;
letter-spacing: -0.5px;
text-align: center;
}

.learning-program .registration-block .form-intro {
font-size: 14px;
line-height: 1.7;
color: rgba(255, 255, 255, 0.7);
text-align: center;
max-width: 540px;
margin: 0 auto 56px auto;
}

.learning-program .contact-form {
background: #ffffff;
border-radius: 10px;
padding: 56px;
max-width: 720px;
margin: 0 auto;
box-shadow: -1px 9px 40px -1px rgba(116, 49, 188, 0.10);
}

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

.learning-program .form-field {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 16px;
}

.learning-program .form-field label {
font-size: 14px;
font-weight: 700;
color: #1e0a38;
text-transform: uppercase;
letter-spacing: 0.1em;
}

.learning-program .form-field input[type="text"],
.learning-program .form-field input[type="email"] {
padding: 16px;
border: 2px solid #e0d4f5;
border-radius: 6px;
font-size: 14px;
color: #1e0a38;
background: #faf8ff;
transition: border-color 0.42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.42s cubic-bezier(0.16, 1, 0.3, 1);
outline: none;
}

.learning-program .form-field input[type="text"]::placeholder,
.learning-program .form-field input[type="email"]::placeholder {
color: #9b7fc0;
text-transform: uppercase;
font-size: 14px;
letter-spacing: 0.08em;
}

.learning-program .form-field input[type="text"]:focus,
.learning-program .form-field input[type="email"]:focus {
border-color: #7431BC;
box-shadow: -1px 5px 28px -1px rgba(116, 49, 188, 0.10), inset 0 0 0 3px rgba(116, 49, 188, 0.06);
}

.learning-program .checkbox-group {
margin-bottom: 16px;
}

.learning-program .checkbox-group .group-label {
font-size: 14px;
font-weight: 700;
color: #1e0a38;
text-transform: uppercase;
letter-spacing: 0.1em;
display: block;
margin-bottom: 16px;
}

.learning-program .checkbox-options {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
}

.learning-program .checkbox-item {
display: flex;
align-items: flex-start;
gap: 8px;
cursor: pointer;
}

.learning-program .checkbox-item input[type="checkbox"] {
width: 18px;
height: 18px;
border: 2px solid #7431BC;
border-radius: 6px;
accent-color: #7431BC;
cursor: pointer;
flex-shrink: 0;
margin-top: 2px;
}

.learning-program .checkbox-item .check-label {
font-size: 14px;
line-height: 1.5;
color: #2d1052;
}

.learning-program .privacy-row {
display: flex;
align-items: flex-start;
gap: 8px;
margin-bottom: 28px;
padding: 16px;
background: #f5f0fc;
border-radius: 6px;
border-left: 3px solid #7431BC;
border-right: 1px solid #e0d4f5;
border-top: 1px solid #e0d4f5;
border-bottom: 1px solid #e0d4f5;
}

.learning-program .privacy-row input[type="checkbox"] {
width: 18px;
height: 18px;
border: 2px solid #7431BC;
border-radius: 6px;
accent-color: #7431BC;
cursor: pointer;
flex-shrink: 0;
margin-top: 2px;
}

.learning-program .privacy-row .privacy-text {
font-size: 14px;
line-height: 1.7;
color: #2d1052;
}

.learning-program .privacy-row .privacy-text a {
color: #7431BC;
text-decoration: underline;
text-decoration-style: double;
font-weight: 700;
transition: color 0.38s ease-in-out;
}

.learning-program .privacy-row .privacy-text a:hover {
color: #06E5C1;
}

.learning-program .submit-button {
width: 100%;
padding: 16px 28px;
background: linear-gradient(73deg, #7431BC, #06E5C1);
color: #ffffff;
font-size: 14px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.12em;
border: none;
border-radius: 10px;
cursor: pointer;
transition: background 0.5s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.5s cubic-bezier(0.16, 1, 0.3, 1);
box-shadow: -1px 5px 28px -1px rgba(116, 49, 188, 0.10);
}

.learning-program .submit-button:hover {
background: linear-gradient(253deg, #7431BC, #06E5C1);
box-shadow: -1px 9px 40px -1px rgba(116, 49, 188, 0.10);
}

.learning-program .submit-button:focus {
outline: 3px solid #FDF900;
outline-offset: 3px;
}

.learning-program .divider-curve {
display: block;
width: 100%;
height: 40px;
overflow: hidden;
}

@media (max-width: 1024px) {
.learning-program .split-entry {
grid-template-columns: 1fr 1fr;
}

.learning-program .split-entry .entry-text {
padding: 56px 28px;
}

.learning-program .process-strip .process-header {
grid-template-columns: 1fr;
gap: 16px;
}

.learning-program .funnel-row {
grid-template-columns: 1fr;
gap: 28px;
}

.learning-program .double-sidebar-layout {
grid-template-columns: 1fr;
}

.learning-program .sidebar-left,
.learning-program .sidebar-right {
flex-direction: row;
flex-wrap: wrap;
}

.learning-program .sidebar-stat {
flex: 1;
min-width: 140px;
}

.learning-program .contact-form {
padding: 28px;
}
}

@media (max-width: 640px) {
.learning-program .split-entry {
grid-template-columns: 1fr;
}

.learning-program .split-entry .entry-visual {
min-height: 280px;
}

.learning-program .split-entry .entry-text {
padding: 28px 16px;
}

.learning-program .split-entry .entry-text h1 {
font-size: 26px;
}

.learning-program .process-strip {
padding: 56px 0 28px 0;
}

.learning-program .process-strip .process-inner {
padding: 0 16px;
}

.learning-program .process-strip .process-header h2 {
font-size: 26px;
}

.learning-program .funnel-row {
grid-template-columns: 1fr;
}

.learning-program .details-block {
padding: 56px 0;
}

.learning-program .details-block .details-inner {
padding: 0 16px;
}

.learning-program .double-sidebar-layout {
grid-template-columns: 1fr;
}

.learning-program .center-details h2 {
font-size: 26px;
}

.learning-program .registration-block {
padding: 56px 0;
}

.learning-program .registration-block .registration-inner {
padding: 0 16px;
}

.learning-program .registration-block h2 {
font-size: 26px;
}

.learning-program .form-row {
grid-template-columns: 1fr;
}

.learning-program .checkbox-options {
grid-template-columns: 1fr;
}

.learning-program .contact-form {
padding: 28px 16px;
}
}

.success-page {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 96px 28px;
background: linear-gradient(73deg, rgba(116, 49, 188, 0.06) 0%, rgba(255, 255, 255, 0.98) 60%, rgba(6, 229, 193, 0.05) 100%);
}

.success-page .confirmation-wrapper {
max-width: 1100px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 56px;
}

.success-page .confirmation-mark {
width: 80px;
height: 80px;
flex-shrink: 0;
}

.success-page .confirmation-mark svg {
width: 100%;
height: 100%;
}

.success-page .confirmation-body {
display: flex;
flex-direction: column;
align-items: center;
gap: 28px;
text-align: center;
max-width: 620px;
}

.success-page .confirmation-heading {
font-size: 36px;
line-height: 1.1;
letter-spacing: -0.02em;
font-weight: 700;
background: linear-gradient(73deg, #7431BC 0%, #06E5C1 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin: 0;
}

.success-page .confirmation-subheading {
font-size: 20px;
line-height: 1.5;
color: #3a2a52;
font-weight: 600;
margin: 0;
}

.success-page .confirmation-text {
font-size: 14px;
line-height: 1.7;
color: #4a3d66;
margin: 0;
}

.success-page .confirmation-divider {
width: 56px;
height: 2px;
background: linear-gradient(73deg, #7431BC, #06E5C1);
border-radius: 0px;
}

.success-page .confirmation-actions {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
justify-content: center;
}

.success-page .action-primary {
display: inline-block;
padding: 16px 28px;
font-size: 14px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
text-decoration: none;
color: #ffffff;
background: linear-gradient(73deg, #7431BC 0%, #5a22a0 100%);
border-radius: 10px;
border: none;
box-shadow: -1px 5px 28px -1px rgba(116, 49, 188, 0.10);
transition: background 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1);
cursor: pointer;
}

.success-page .action-primary:hover {
background: linear-gradient(253deg, #7431BC 0%, #5a22a0 100%);
box-shadow: -1px 9px 40px -1px rgba(116, 49, 188, 0.18);
}

.success-page .action-primary:focus {
outline: 2px solid #7431BC;
outline-offset: 3px;
}

.success-page .action-secondary {
display: inline-block;
padding: 16px 28px;
font-size: 14px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
text-decoration: none;
color: #7431BC;
background: transparent;
border-radius: 10px;
border: 2px solid #7431BC;
transition: background 0.5s ease-in-out, color 0.5s ease-in-out, border-color 0.5s ease-in-out;
cursor: pointer;
}

.success-page .action-secondary:hover {
background: rgba(116, 49, 188, 0.07);
border-color: #5a22a0;
color: #5a22a0;
}

.success-page .action-secondary:focus {
outline: 2px solid #7431BC;
outline-offset: 3px;
}

.success-page .confirmation-note {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
padding: 28px;
background: rgba(6, 229, 193, 0.06);
border-radius: 10px;
border-top: 3px solid #06E5C1;
border-right: 1px solid rgba(6, 229, 193, 0.18);
max-width: 480px;
width: 100%;
box-shadow: -1px 1px 2px -1px rgba(6, 229, 193, 0.05);
}

.success-page .confirmation-note-label {
font-size: 14px;
font-weight: 700;
letter-spacing: 0.06em;
text-transform: uppercase;
color: #0a8c74;
margin: 0;
}

.success-page .confirmation-note-text {
font-size: 14px;
line-height: 1.5;
color: #3a5450;
margin: 0;
text-align: center;
}

@media (max-width: 640px) {
.success-page {
padding: 56px 16px;
}

.success-page .confirmation-wrapper {
gap: 28px;
}

.success-page .confirmation-heading {
font-size: 26px;
}

.success-page .confirmation-actions {
flex-direction: column;
align-items: stretch;
}

.success-page .action-primary,
.success-page .action-secondary {
text-align: center;
}
}