@import "https://fonts.googleapis.com/css2?family=Cormorant:wght@300;400;600;700&display=swap";

* {
box-sizing: border-box
}

html {
scroll-behavior: auto
}

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

:focus-visible {
outline: 3px solid;
outline-color: #471F94;
outline-offset: 3px
}

.brand-accent {
background: linear-gradient(160deg, #471F94 0%, #2d1260 100%);
display: flex;
align-items: center;
justify-content: center;
padding: 16px;
min-width: 100px;
flex-shrink: 0
}

.brand-accent__logo-card {
background: #fff;
border-radius: 10px;
padding: 8px;
box-shadow: 0 3px 4px -2px #471f940d 0 7px 18px -2px #471f941c;
display: flex;
align-items: center;
justify-content: center;
width: 56px;
height: 56px
}

.brand-accent__logo-card img {
display: block;
object-fit: contain
}

.site-header {
background: #FAF7E6;
border-bottom: 2px solid #05E866;
position: relative;
z-index: 100
}

.header-bar {
max-width: 1440px;
margin: 0 auto;
display: flex;
align-items: stretch;
min-height: 88px
}

.brand-identity {
display: flex;
flex-direction: column;
justify-content: center;
padding: 16px 40px 16px 16px;
border-right: 1px solid #471f941f;
flex-shrink: 0
}

.brand-identity__name {
font-family: 'Cormorant', Georgia, serif;
font-size: 28px;
font-weight: 700;
line-height: 1.1;
letter-spacing: -.02em;
color: #471F94;
margin: 0;
padding: 0
}

.brand-identity__tagline {
font-family: 'Cormorant', Georgia, serif;
font-size: 13px;
font-weight: 300;
line-height: 1.4;
color: #3a1a7a;
margin: 4px 0 0;
padding: 0;
letter-spacing: .04em
}

.header-nav-area {
flex: 1;
display: flex;
align-items: center;
padding: 16px 40px
}

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

.primary-nav__item {
position: relative
}

.primary-nav__link {
font-family: 'Cormorant', Georgia, serif;
font-size: 13px;
font-weight: 600;
line-height: 1.4;
letter-spacing: .06em;
text-transform: uppercase;
color: #1a0a3c;
text-decoration: none;
padding: 8px 16px;
display: flex;
align-items: center;
gap: 8px;
border-radius: 3px;
transition: color .18s ease-out, background-color .15s ease-out;
min-height: 44px;
overflow: hidden
}

.primary-nav__link:hover {
color: #471F94;
background: #471f940f
}

.primary-nav__link[aria-current="page"] {
color: #471F94;
background: #05e8661f
}

.primary-nav__icon {
width: 16px;
height: 16px;
flex-shrink: 0;
color: #05E866;
transition: transform .18s ease-out
}

.primary-nav__link:hover .primary-nav__icon {
transform: translateX(3px)
}

.header-contact-strip {
background: linear-gradient(90deg, #471F94 0%, #2d1260 100%);
padding: 8px 0
}

.contact-strip-inner {
max-width: 1440px;
margin: 0 auto;
padding: 0 40px;
display: flex;
align-items: center;
gap: 40px;
justify-content: flex-end
}

.contact-strip__item {
font-family: 'Cormorant', Georgia, serif;
font-size: 13px;
font-weight: 400;
line-height: 1.4;
color: #FAF7E6;
display: flex;
align-items: center;
gap: 8px;
text-decoration: none;
transition: color .14s ease-out
}

.contact-strip__item:hover {
color: #05E866
}

.contact-strip__dot {
width: 6px;
height: 6px;
border-radius: 50%;
background: #05E866;
flex-shrink: 0
}

.site-footer {
background: #1a0a3c;
color: #FAF7E6
}

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

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

.footer-logo-card {
background: #fff;
border-radius: 10px;
padding: 8px;
box-shadow: 0 7px 18px -2px #05e8661c;
display: inline-flex;
align-items: center;
justify-content: center;
width: 56px;
height: 56px;
flex-shrink: 0
}

.footer-logo-card img {
display: block;
object-fit: contain
}

.footer-brand__name {
font-family: 'Cormorant', Georgia, serif;
font-size: 28px;
font-weight: 700;
line-height: 1.1;
letter-spacing: -.02em;
color: #FAF7E6;
margin: 0;
padding: 0
}

.footer-brand__desc {
font-family: 'Cormorant', Georgia, serif;
font-size: 13px;
font-weight: 300;
line-height: 1.6;
color: #faf7e6b3;
margin: 0;
padding: 0
}

.footer-col__heading {
font-family: 'Cormorant', Georgia, serif;
font-size: 13px;
font-weight: 600;
line-height: 1.4;
letter-spacing: .1em;
text-transform: uppercase;
color: #05E866;
margin: 0 0 16px;
padding: 0
}

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

.footer-links__item a {
font-family: 'Cormorant', Georgia, serif;
font-size: 13px;
font-weight: 400;
line-height: 1.6;
color: #faf7e6bf;
text-decoration: none;
transition: color .16s ease-out;
display: inline-flex;
align-items: center;
gap: 8px
}

.footer-links__item a:hover {
color: #05E866
}

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

.footer-contact-list__item {
display: flex;
align-items: flex-start;
gap: 8px
}

.footer-contact-list__label {
font-family: 'Cormorant', Georgia, serif;
font-size: 13px;
font-weight: 300;
line-height: 1.6;
color: #faf7e6b3
}

.footer-contact-list__value {
font-family: 'Cormorant', Georgia, serif;
font-size: 13px;
font-weight: 400;
line-height: 1.6;
color: #FAF7E6;
text-decoration: none;
transition: color .16s ease-out
}

.footer-contact-list__value:hover {
color: #05E866
}

.footer-accent-bar {
height: 3px;
background: linear-gradient(90deg, #05E866 0%, #471F94 60%, #1a0a3c 100%);
max-width: 1440px;
margin: 0 auto
}

.footer-lower {
border-top: 1px solid #faf7e61a;
padding: 16px 40px;
max-width: 1440px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 16px
}

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

.footer-legal-links__item a {
font-family: 'Cormorant', Georgia, serif;
font-size: 13px;
font-weight: 400;
line-height: 1.4;
color: #faf7e680;
text-decoration: none;
transition: color .14s ease-out
}

.footer-legal-links__item a:hover {
color: #05E866
}

.footer-copy {
font-family: 'Cormorant', Georgia, serif;
font-size: 13px;
font-weight: 300;
line-height: 1.4;
color: #faf7e666;
margin: 0;
padding: 0
}

.cookie-tray {
position: fixed;
bottom: 40px;
left: 0;
right: 0;
margin: 0 auto;
width: 680px;
max-width: calc(100vw - 80px);
background: #1a0a3c;
border: 1px solid #05e8664d;
border-radius: 10px;
padding: 40px;
z-index: 4000;
box-shadow: 0 9px 40px -2px #471f941a;
display: none
}

.cookie-tray__headline {
font-family: 'Cormorant', Georgia, serif;
font-size: 28px;
font-weight: 600;
line-height: 1.1;
letter-spacing: -.01em;
color: #FAF7E6;
margin: 0 0 8px;
padding: 0
}

.cookie-tray__text {
font-family: 'Cormorant', Georgia, serif;
font-size: 13px;
font-weight: 300;
line-height: 1.6;
color: #faf7e6bf;
margin: 0 0 16px;
padding: 0
}

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

.cookie-accept {
font-family: 'Cormorant', Georgia, serif;
font-size: 13px;
font-weight: 600;
line-height: 1.4;
letter-spacing: .06em;
text-transform: uppercase;
color: #1a0a3c;
background: #05E866;
border: none;
border-radius: 3px;
padding: 8px 16px;
cursor: pointer;
min-height: 44px;
transition: background-color .18s ease-out, color .18s ease-out
}

.cookie-accept:hover {
background: #04cc58
}

.cookie-decline {
font-family: 'Cormorant', Georgia, serif;
font-size: 13px;
font-weight: 400;
line-height: 1.4;
color: #faf7e699;
background: none;
border: none;
cursor: pointer;
text-decoration: underline;
padding: 8px;
min-height: 44px;
transition: color .14s ease-out
}

.cookie-decline:hover {
color: #FAF7E6
}

.prefs-trigger {
position: fixed;
bottom: 8px;
left: 16px;
z-index: 3999;
background: #471F94;
border: none;
border-radius: 20px;
width: 44px;
height: 44px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 3px 4px -2px #471f940d 0 7px 18px -2px #471f941c;
transition: background-color .18s ease-out
}

.prefs-trigger:hover {
background: #2d1260
}

.prefs-trigger svg {
width: 20px;
height: 20px;
fill: #FAF7E6
}

@media (max-width: 960px) {
.header-bar {
flex-direction: column;
min-height: auto
}

.brand-identity {
border-right: none;
border-bottom: 1px solid #471f941f;
padding: 16px;
flex-direction: row;
align-items: center;
gap: 16px
}

.header-nav-area {
padding: 8px 16px 16px
}

.contact-strip-inner {
padding: 0 16px;
gap: 16px;
justify-content: flex-start;
flex-wrap: wrap
}

.footer-upper {
grid-template-columns: 1fr 1fr;
padding: 40px 16px
}

.footer-lower {
padding: 16px
}

.cookie-tray {
bottom: 16px;
max-width: calc(100vw - 32px);
padding: 16px
}
}

@media (max-width: 480px) {
.footer-upper {
grid-template-columns: 1fr
}

.primary-nav__link {
padding: 8px;
font-size: 13px
}

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

@media (min-width: 1440px) {

.header-bar,
.contact-strip-inner,
.footer-upper,
.footer-lower,
.footer-accent-bar {
max-width: 1440px
}
}

.legal-article {
max-width: 1440px;
margin: 0 auto;
padding: 80px 40px;
background: #fff;
color: #1b1b2e
}

.legal-article p {
font-size: 13px;
line-height: 1.6;
margin: 0 0 16px;
max-width: 72ch
}

.legal-article ul,
.legal-article ol {
margin: 0 0 16px;
padding-left: 40px;
max-width: 72ch
}

.legal-article li {
font-size: 13px;
line-height: 1.6;
margin-bottom: 8px
}

.legal-article em,
.legal-article i {
font-style: italic;
color: #471F94
}

.legal-article a {
color: #471F94;
text-decoration: underline;
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: color .18s ease-out, text-decoration-color .14s ease-out
}

.legal-article a:hover {
color: #05E866;
text-decoration-color: #05E866
}

.legal-article hr {
border: none;
border-top: 1px solid #d8d4ec;
margin: 40px 0;
max-width: 72ch
}

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

@media (max-width: 960px) {
.legal-article {
padding: 80px 40px
}
}

@media (max-width: 480px) {
.legal-article {
padding: 40px 16px
}

.legal-article p,
.legal-article ul,
.legal-article ol,
.legal-article li {
font-size: 13px
}
}

.lp-detail {
background: #fff;
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.lp-detail .title-band {
position: relative;
padding: 80px 80px 40px;
background: linear-gradient(118deg, #471F94 0%, #05E866 100%);
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: end
}

.lp-detail .title-band::before {
content: '';
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(118deg, transparent, transparent 18px, #ffffff0a 18px, #ffffff0a 20px);
pointer-events: none
}

.lp-detail .title-left {
display: flex;
flex-direction: column;
gap: 16px;
z-index: 1
}

.lp-detail .prog-label {
font-size: 13px;
letter-spacing: .08em;
color: #faf7e6b3;
text-transform: uppercase
}

.lp-detail .prog-h1 {
font-size: 50px;
line-height: 1.1;
letter-spacing: -.03em;
color: #FAF7E6;
margin: 0
}

.lp-detail .prog-h1 span {
color: #05E866
}

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

.lp-detail .meta-chip {
font-size: 13px;
color: #faf7e6cc;
background: #ffffff1a;
border-radius: 3px;
padding: 4px 8px
}

.lp-detail .price-chip {
font-size: 28px;
line-height: 1.1;
color: #FAF7E6;
font-weight: 700
}

.lp-detail .title-right {
position: relative;
z-index: 1
}

.lp-detail .cover-fig {
margin: 0;
border-radius: 10px;
overflow: hidden;
aspect-ratio: 1/1;
box-shadow: 0 9px 40px -2px #471f941a
}

.lp-detail .cover-fig img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: brightness(0.88) contrast(1.05)
}

.lp-detail .cover-vignette {
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 30% 70%, transparent 40%, #471f948c 100%);
border-radius: 10px;
pointer-events: none
}

.lp-detail .divider-dash {
display: flex;
flex-direction: row;
align-items: center;
gap: 4px;
padding: 8px 80px;
background: #FAF7E6;
overflow: hidden
}

.lp-detail .divider-dash span {
display: inline-block;
background: #471F94;
border-radius: 3px;
flex-shrink: 0
}

.lp-detail .divider-dash span:nth-child(odd) {
width: 16px;
height: 2px
}

.lp-detail .divider-dash span:nth-child(even) {
width: 4px;
height: 4px;
border-radius: 50%
}

.lp-detail .body-grid {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 40px;
padding: 40px 80px;
background: #FAF7E6;
align-items: start
}

.lp-detail .body-aside {
display: flex;
flex-direction: column;
gap: 16px;
position: sticky;
top: 40px
}

.lp-detail .aside-accent {
width: 32px;
height: 3px;
background: #05E866;
border-radius: 3px
}

.lp-detail .aside-heading {
font-size: 13px;
letter-spacing: .06em;
text-transform: uppercase;
color: #471F94;
margin: 0
}

.lp-detail .aside-desc {
font-size: 13px;
line-height: 1.6;
color: #2a1a5e
}

.lp-detail .stat-shape {
width: 80px;
height: 80px;
border: 3px solid #471F94;
border-radius: 3px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 4px
}

.lp-detail .stat-num {
font-size: 28px;
line-height: 1.1;
font-weight: 700;
color: #471F94
}

.lp-detail .stat-lbl {
font-size: 13px;
color: #471F94;
line-height: 1.1
}

.lp-detail .enroll-btn {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
background: #471F94;
color: #FAF7E6;
border: none;
border-radius: 3px;
padding: 16px 40px;
font-size: 13px;
letter-spacing: .06em;
text-transform: uppercase;
cursor: pointer;
text-decoration: none;
transition: background .18s ease-out, box-shadow .15s cubic-bezier(0.4, 0, 0.6, 1);
box-shadow: 0 3px 4px -2px #471f940d
}

.lp-detail .enroll-btn:hover {
background: #05E866;
color: #1a0a40;
box-shadow: 0 7px 18px -2px #471f941c
}

.lp-detail .enroll-btn .btn-ico {
transition: transform .15s ease-out
}

.lp-detail .enroll-btn:hover .btn-ico {
transform: translateX(4px)
}

.lp-detail .body-text {
display: flex;
flex-direction: column;
gap: 16px
}

.lp-detail .body-text-accent {
width: 32px;
height: 3px;
background: #05E866;
border-radius: 3px
}

.lp-detail .body-h2 {
font-size: 28px;
line-height: 1.1;
letter-spacing: -.02em;
color: #471F94;
margin: 0
}

.lp-detail .body-h2 em {
color: #1a0a40;
font-style: normal
}

.lp-detail .desc-block {
font-size: 13px;
line-height: 1.6;
color: #2a1a5e
}

.lp-detail .desc-block p {
margin: 0 0 8px
}

.lp-detail .desc-block h2 {
font-size: 28px;
line-height: 1.1;
color: #471F94;
margin: 16px 0 8px
}

.lp-detail .desc-block ul,
.lp-detail .desc-block ol {
padding-left: 16px;
margin: 8px 0
}

.lp-detail .desc-block li {
margin-bottom: 4px
}

.lp-detail .desc-block details {
border: 1px solid #471f9433;
border-radius: 3px;
padding: 8px 16px;
margin-bottom: 8px
}

.lp-detail .desc-block summary {
cursor: pointer;
font-weight: 600;
color: #471F94
}

.lp-detail .desc-block cite {
font-style: italic;
color: #471F94
}

.lp-detail .divider-dots {
display: flex;
flex-direction: row;
align-items: center;
gap: 4px;
padding: 8px 80px;
background: #fff
}

.lp-detail .divider-dots span {
display: inline-block;
flex-shrink: 0
}

.lp-detail .divider-dots span:nth-child(3n+1) {
width: 20px;
height: 2px;
background: #05E866;
border-radius: 3px
}

.lp-detail .divider-dots span:nth-child(3n+2) {
width: 4px;
height: 4px;
background: #471F94;
border-radius: 50%
}

.lp-detail .divider-dots span:nth-child(3n) {
width: 8px;
height: 2px;
background: #471F94;
border-radius: 3px
}

.lp-detail .program-sect {
padding: 40px 80px 80px;
background: #fff;
position: relative
}

.lp-detail .program-sect::after {
content: '';
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
pointer-events: none;
opacity: .5
}

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

.lp-detail .prog-col-divider {
position: absolute;
left: 50%;
top: 0;
bottom: 0;
width: 1px;
background: linear-gradient(180deg, #05E866, #471F94);
transform: translateX(-50%)
}

.lp-detail .prog-left {
display: flex;
flex-direction: column;
gap: 16px
}

.lp-detail .prog-accent {
width: 32px;
height: 3px;
background: #471F94;
border-radius: 3px
}

.lp-detail .prog-heading {
font-size: 38px;
line-height: 1.1;
letter-spacing: -.02em;
color: #1a0a40;
margin: 0
}

.lp-detail .prog-heading span {
color: #471F94
}

.lp-detail .prog-intro {
font-size: 13px;
line-height: 1.6;
color: #444
}

.lp-detail .dashed-path {
position: absolute;
left: 0;
top: 80px;
width: 60px;
height: 200px;
pointer-events: none
}

.lp-detail .prog-right {
display: flex;
flex-direction: column;
gap: 8px
}

.lp-detail .prog-block {
font-size: 13px;
line-height: 1.6;
color: #2a1a5e
}

.lp-detail .prog-block p {
margin: 0 0 8px
}

.lp-detail .prog-block h2 {
font-size: 28px;
line-height: 1.1;
color: #471F94;
margin: 16px 0 8px
}

.lp-detail .prog-block small {
font-size: 13px;
color: #888
}

.lp-detail .prog-block ol {
padding-left: 16px;
margin: 8px 0
}

.lp-detail .prog-block li {
margin-bottom: 4px;
position: relative
}

.lp-detail .prog-block dl {
margin: 8px 0
}

.lp-detail .prog-block dt {
font-weight: 700;
color: #471F94
}

.lp-detail .prog-block dd {
margin-left: 16px;
margin-bottom: 4px
}

.lp-detail .prog-block blockquote {
border-radius: 3px;
background: #471f940f;
padding: 8px 16px;
margin: 8px 0;
font-style: italic;
color: #471F94
}

.lp-detail .stripe-hover-wrap {
position: relative;
border-radius: 10px;
overflow: hidden;
cursor: default;
transition: box-shadow .18s ease-out
}

.lp-detail .stripe-hover-wrap:hover {
box-shadow: 0 7px 18px -2px #471f941c
}

.lp-detail .stripe-hover-wrap::after {
content: '';
position: absolute;
inset: 0;
background: repeating-linear-gradient(118deg, transparent, transparent 12px, #05e8661a 12px, #05e8661a 14px);
opacity: 0;
transition: opacity .18s ease-out;
pointer-events: none;
border-radius: 10px
}

.lp-detail .stripe-hover-wrap:hover::after {
opacity: 1
}

.lp-detail .back-top {
display: flex;
flex-direction: row;
justify-content: flex-end;
padding: 16px 80px;
background: #fff
}

.lp-detail .back-top-link {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 13px;
color: #471F94;
text-decoration: none;
border: 1px solid #471f944d;
border-radius: 3px;
padding: 8px 16px;
transition: background .15s ease-out, color .15s ease-out
}

.lp-detail .back-top-link:hover {
background: #471F94;
color: #FAF7E6
}

.lp-detail .back-top-link .btn-ico {
transition: transform .15s ease-out
}

.lp-detail .back-top-link:hover .btn-ico {
transform: translateY(-3px)
}

@keyframes diag-reveal {
from {
opacity: 0;
transform: translateX(-12px) translateY(8px)
}

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

.lp-detail .title-left {
animation: diag-reveal .22s ease-out both
}

.lp-detail .title-right {
animation: diag-reveal .2s .12s ease-out both
}

.lp-detail .prog-left {
animation: diag-reveal .18s .08s ease-out both
}

@media (max-width: 960px) {
.lp-detail .title-band {
grid-template-columns: 1fr;
padding: 40px;
gap: 16px
}

.lp-detail .title-right {
max-width: 320px
}

.lp-detail .divider-dash,
.lp-detail .divider-dots {
padding: 8px 40px
}

.lp-detail .body-grid {
grid-template-columns: 1fr;
padding: 40px
}

.lp-detail .body-aside {
position: static;
flex-direction: row;
flex-wrap: wrap;
align-items: flex-start
}

.lp-detail .program-sect {
padding: 40px
}

.lp-detail .prog-grid {
grid-template-columns: 1fr;
gap: 16px
}

.lp-detail .prog-col-divider {
display: none
}

.lp-detail .back-top {
padding: 16px 40px
}
}

@media (max-width: 480px) {
.lp-detail .title-band {
padding: 40px 16px
}

.lp-detail .prog-h1 {
font-size: 38px
}

.lp-detail .divider-dash,
.lp-detail .divider-dots {
padding: 8px 16px
}

.lp-detail .body-grid {
padding: 40px 16px
}

.lp-detail .program-sect {
padding: 40px 16px
}

.lp-detail .back-top {
padding: 16px
}
}

@media print {

.lp-detail .title-band::before,
.lp-detail .cover-vignette,
.lp-detail .dashed-path,
.lp-detail .divider-dash,
.lp-detail .divider-dots,
.lp-detail .prog-col-divider,
.lp-detail .program-sect::after,
.lp-detail .back-top,
.lp-detail .enroll-btn {
display: none !important
}

.lp-detail .title-band {
background: #fff;
padding: 16px 0;
grid-template-columns: 2fr 1fr
}

.lp-detail .prog-h1,
.lp-detail .prog-heading {
color: #000
}

.lp-detail .body-grid {
grid-template-columns: 1fr;
padding: 16px 0
}

.lp-detail .program-sect {
padding: 16px 0
}

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

.lp-detail .stripe-hover-wrap::after {
display: none
}
}

.proc {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.proc .title-block {
position: relative;
padding: 80px;
background: linear-gradient(160deg, #471F94 0%, #05E866 100%);
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center
}

.proc .title-block::before {
content: '';
position: absolute;
top: 16px;
left: 16px;
width: 80px;
height: 80px;
border-top: 1px solid #faf7e659;
border-left: 1px solid #faf7e659;
pointer-events: none
}

.proc .title-block::after {
content: '';
position: absolute;
bottom: 16px;
right: 16px;
width: 60px;
height: 60px;
border-bottom: 1px solid #faf7e640;
border-right: 1px solid #faf7e640;
pointer-events: none
}

.proc .tb-text {
display: flex;
flex-direction: column;
gap: 16px
}

.proc .tb-label {
font-size: 13px;
letter-spacing: .08em;
color: #faf7e6b3;
text-transform: uppercase
}

.proc .tb-h1 {
font-size: 50px;
line-height: 1.1;
letter-spacing: -.02em;
color: #FAF7E6;
margin: 0
}

.proc .tb-h1 span {
color: #05E866
}

.proc .tb-desc {
font-size: 13px;
line-height: 1.6;
color: #faf7e6d1;
max-width: 380px
}

.proc .tb-img-wrap {
position: relative;
aspect-ratio: 1/1;
overflow: hidden;
border-radius: 10px
}

.proc .tb-img-wrap::after {
content: '';
position: absolute;
top: 0;
right: 0;
width: 60%;
height: 60%;
background: radial-gradient(ellipse at top right, #05e86661 0%, transparent 70%);
pointer-events: none
}

.proc .tb-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.proc .steps-band {
background: #FAF7E6;
padding: 80px
}

.proc .steps-head {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 40px;
margin-bottom: 40px;
align-items: start
}

.proc .steps-intro {
font-size: 13px;
line-height: 1.6;
color: #3a3040
}

.proc .steps-body-text {
font-size: 13px;
line-height: 1.6;
color: #3a3040
}

.proc .accent-line {
width: 32px;
height: 2px;
background: #471F94;
margin-bottom: 16px
}

.proc .steps-h2 {
font-size: 38px;
line-height: 1.1;
letter-spacing: -.02em;
color: #1a0e33;
margin: 0 0 16px
}

.proc .steps-h2 em {
font-style: normal;
color: #471F94
}

.proc .steps-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
border: 1.5px dashed #471f9447;
border-radius: 10px;
padding: 40px
}

.proc .step-item {
display: flex;
flex-direction: column;
gap: 8px;
padding: 16px;
background: #fff;
border-radius: 10px;
box-shadow: 0 3px 4px -2px #471f940d;
transition: box-shadow .18s ease-out
}

.proc .step-item:hover {
box-shadow: 0 7px 18px -2px #471f941c
}

.proc .step-num {
font-size: 50px;
line-height: 1.1;
font-weight: 700;
color: #05E866;
letter-spacing: -.03em
}

.proc .step-num-label {
font-size: 13px;
color: #9b93b0;
margin-top: -8px
}

.proc .step-h4 {
font-size: 28px;
line-height: 1.1;
letter-spacing: -.01em;
color: #1a0e33;
margin: 0
}

.proc .step-p {
font-size: 13px;
line-height: 1.6;
color: #3a3040;
margin: 0
}

.proc .divider-wave {
width: 100%;
height: 40px;
overflow: hidden;
background: #FAF7E6
}

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

.proc .voices-band {
background: #fff;
padding: 80px
}

.proc .voices-layout {
display: grid;
grid-template-columns: 5fr 4fr;
gap: 40px;
align-items: start
}

.proc .voices-left {
display: flex;
flex-direction: column;
gap: 40px
}

.proc .voices-h2 {
font-size: 38px;
line-height: 1.1;
letter-spacing: -.02em;
color: #1a0e33;
margin: 0
}

.proc .voices-h2 span {
color: #05E866
}

.proc .accent-line-green {
width: 32px;
height: 2px;
background: #05E866;
margin-bottom: 16px
}

.proc .voices-desc {
font-size: 13px;
line-height: 1.6;
color: #3a3040
}

.proc .voice-cards {
display: flex;
flex-direction: column;
gap: 16px
}

.proc .voice-card {
display: grid;
grid-template-columns: 80px 1fr;
gap: 16px;
align-items: start;
padding: 16px;
border-radius: 10px;
background: #FAF7E6;
box-shadow: 0 3px 4px -2px #05e8660d;
transition: box-shadow .15s ease-out
}

.proc .voice-card:hover {
box-shadow: 0 7px 18px -2px #05e8661c
}

.proc .voice-portrait {
width: 80px;
height: 80px;
object-fit: cover;
object-position: top;
display: block;
border-radius: 3px
}

.proc .voice-meta {
display: flex;
flex-direction: column;
gap: 8px
}

.proc .voice-name {
font-size: 13px;
font-weight: 700;
color: #1a0e33;
letter-spacing: .04em;
text-transform: uppercase
}

.proc .voice-role {
font-size: 13px;
color: #9b93b0
}

.proc .voice-quote {
font-size: 13px;
line-height: 1.6;
color: #3a3040;
margin: 0
}

.proc .voices-right {
display: flex;
flex-direction: column;
gap: 16px;
position: sticky;
top: 40px
}

.proc .stat-block {
background: #471F94;
border-radius: 10px;
padding: 40px;
display: flex;
flex-direction: column;
gap: 8px
}

.proc .stat-num {
font-size: 50px;
line-height: 1.1;
font-weight: 700;
color: #05E866;
letter-spacing: -.03em
}

.proc .stat-label {
font-size: 13px;
line-height: 1.4;
color: #faf7e6c7
}

.proc .divider-accent {
width: 100%;
height: 2px;
background: linear-gradient(90deg, #05E866 0%, transparent 100%);
opacity: .3
}

.proc .cta-strip {
background: #1a0e33;
padding: 40px 80px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 40px
}

.proc .cta-text {
font-size: 28px;
line-height: 1.1;
letter-spacing: -.01em;
color: #FAF7E6
}

.proc .cta-text span {
color: #05E866
}

.proc .btn-primary {
display: inline-flex;
align-items: center;
gap: 8px;
background: #05E866;
color: #1a0e33;
font-size: 13px;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase;
padding: 16px 40px;
border-radius: 3px;
border: none;
cursor: pointer;
text-decoration: none;
white-space: nowrap;
box-shadow: 0 3px 4px -2px #05e8660d;
transition: box-shadow .18s ease-out, background .14s ease-out;
overflow: hidden
}

.proc .btn-primary:hover {
background: #04d05a;
box-shadow: 0 7px 18px -2px #05e8661c
}

.proc .btn-primary:hover .btn-icon {
transform: translateX(4px)
}

.proc .btn-icon {
transition: transform .16s cubic-bezier(0.4, 0, 0.6, 1);
display: flex;
align-items: center
}

.proc .btn-primary:focus-visible {
outline: 3px solid #471F94 !important;
outline-offset: 3px !important
}

@keyframes border-glow {

0%,
100% {
box-shadow: 0 0 0 0 #05e86600
}

50% {
box-shadow: 0 0 0 3px #05e86647
}
}

.proc .step-item.featured {
animation: border-glow 2.4s cubic-bezier(0.4, 0, 0.6, 1) infinite
}

@media (max-width: 960px) {
.proc .title-block {
grid-template-columns: 1fr;
padding: 40px;
gap: 40px
}

.proc .steps-band {
padding: 40px
}

.proc .steps-head {
grid-template-columns: 1fr;
gap: 16px
}

.proc .steps-grid {
grid-template-columns: 1fr 1fr;
padding: 16px;
gap: 16px
}

.proc .voices-band {
padding: 40px
}

.proc .voices-layout {
grid-template-columns: 1fr
}

.proc .voices-right {
position: static;
flex-direction: row;
flex-wrap: wrap
}

.proc .stat-block {
flex: 1;
min-width: 160px
}

.proc .cta-strip {
padding: 40px;
flex-direction: column;
align-items: flex-start;
gap: 16px
}
}

@media (max-width: 480px) {
.proc .title-block {
padding: 40px 16px
}

.proc .tb-h1 {
font-size: 38px
}

.proc .steps-band {
padding: 40px 16px
}

.proc .steps-grid {
grid-template-columns: 1fr
}

.proc .voices-band {
padding: 40px 16px
}

.proc .voice-card {
grid-template-columns: 1fr
}

.proc .cta-strip {
padding: 40px 16px
}

.proc .voices-right {
flex-direction: column
}
}

.bse {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.bse .pulse-bg {
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 50% 0%, #471f9421 0%, transparent 70%);
animation: vignette-pulse 4s cubic-bezier(0.4, 0, 0.6, 1) infinite alternate;
pointer-events: none;
z-index: 0
}

@keyframes vignette-pulse {
0% {
opacity: .5
}

100% {
opacity: 1
}
}

.bse .circles-deco {
position: absolute;
pointer-events: none;
z-index: 0
}

.bse .circles-deco span {
display: block;
border-radius: 50%;
position: absolute
}

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

.bse .zigzag-divider svg {
display: block;
width: 100%
}

.bse .cert-block {
border: 2px solid #471F94;
border-radius: 20px;
padding: 40px;
position: relative;
background: #FAF7E6;
box-shadow: 0 9px 40px -2px #471f941a;
text-align: center
}

.bse .cert-block::before {
content: '';
display: block;
position: absolute;
inset: 8px;
border: 1px solid #471f9440;
border-radius: 16px;
pointer-events: none
}

.bse .cert-seal {
width: 64px;
height: 64px;
border-radius: 50%;
background: linear-gradient(160deg, #471F94, #05E866);
margin: 0 auto 16px;
display: flex;
align-items: center;
justify-content: center
}

.bse .cert-seal svg {
display: block
}

.bse .cert-block h4 {
font-size: 13px;
letter-spacing: .12em;
text-transform: uppercase;
color: #471F94;
margin: 0 0 8px;
line-height: 1.4
}

.bse .cert-block p {
font-size: 13px;
color: #2a1a5e;
line-height: 1.6;
margin: 0
}

.bse .cert-name {
font-size: 28px;
color: #471F94;
line-height: 1.1;
margin: 8px 0
}

.bse .accent-line {
display: block;
width: 40px;
height: 3px;
background: #05E866;
border-radius: 3px;
margin: 0 auto 16px
}

.bse .rating-bar {
display: flex;
align-items: center;
gap: 8px;
margin-top: 8px
}

.bse .rating-dots {
display: flex;
gap: 4px
}

.bse .rating-dots span {
width: 8px;
height: 8px;
border-radius: 50%;
background: #05E866;
display: block
}

.bse .rating-dots span.empty {
background: #05e86640
}

.bse .rating-num {
font-size: 13px;
color: #471F94;
line-height: 1.4
}

.bse .portrait-ring {
width: 72px;
height: 72px;
border-radius: 50%;
overflow: hidden;
border: 2px solid #05E866;
flex-shrink: 0
}

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

.bse .review-card {
background: #fff;
border-radius: 10px;
padding: 16px;
box-shadow: 0 3px 4px -2px #05e8660d 0 7px 18px -2px #05e8661c;
display: flex;
flex-direction: column;
gap: 8px
}

.bse .review-card p {
font-size: 13px;
line-height: 1.6;
color: #1a1050;
margin: 0
}

.bse .review-meta {
display: flex;
align-items: center;
gap: 8px
}

.bse .review-name {
font-size: 13px;
font-weight: 700;
color: #471F94;
line-height: 1.4
}

.bse .btn-primary {
display: inline-flex;
align-items: center;
gap: 8px;
background: #471F94;
color: #fff;
border-radius: 10px;
padding: 16px 40px;
font-size: 13px;
letter-spacing: .06em;
text-decoration: none;
border: none;
cursor: pointer;
transition: background .18s ease-out, box-shadow .14s ease-out;
box-shadow: 0 7px 18px -2px #471f941c;
position: relative;
overflow: hidden
}

.bse .btn-primary:hover {
background: #05E866;
color: #1a1050;
box-shadow: 0 9px 40px -2px #05e8661a
}

.bse .btn-primary:hover .btn-icon {
transform: translateX(4px)
}

.bse .btn-icon {
transition: transform .16s cubic-bezier(0.4, 0, 0.6, 1)
}

.bse .btn-secondary {
display: inline-flex;
align-items: center;
gap: 8px;
background: transparent;
color: #471F94;
border-radius: 10px;
padding: 16px 40px;
font-size: 13px;
letter-spacing: .06em;
text-decoration: none;
border: 2px solid #471F94;
cursor: pointer;
transition: background .2s ease-out, color .2s ease-out
}

.bse .btn-secondary:hover {
background: #471F94;
color: #fff
}

.bse .btn-secondary:hover .btn-icon {
transform: translateX(4px)
}

.bse .top-accent {
display: block;
width: 36px;
height: 3px;
background: #05E866;
border-radius: 3px;
margin-bottom: 16px
}

.bse .two-tone-h2 {
font-size: 38px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0 0 16px
}

.bse .two-tone-h2 em {
color: #471F94;
font-style: normal
}

.bse .two-tone-h3 {
font-size: 28px;
line-height: 1.1;
letter-spacing: -.01em;
margin: 0 0 8px
}

.bse .two-tone-h3 em {
color: #05E866;
font-style: normal
}

.bse .side-accent {
border-left: 3px solid #05E866;
padding-left: 16px
}

.bse .side-accent-purple {
border-left: 3px solid #471F94;
padding-left: 16px
}

.bse .txt-lead {
font-size: 13px;
line-height: 1.6;
color: #2a1a5e;
margin: 0 0 16px
}

.bse .txt-body {
font-size: 13px;
line-height: 1.6;
color: #3b2e6e;
margin: 0 0 16px
}

.bse .txt-body:last-child {
margin-bottom: 0
}

.bse .img-sq {
aspect-ratio: 1/1;
object-fit: cover;
display: block;
border-radius: 10px
}

.bse .img-blur-fg {
filter: blur(2px) saturate(1.1);
transition: filter .18s ease-out
}

.bse .img-blur-fg:hover {
filter: blur(0) saturate(1.3)
}

.bse .blur-hover-wrap {
transition: backdrop-filter .2s ease-out
}

.bse .blur-hover-wrap:hover {
backdrop-filter: blur(4px)
}

.bse .slide-text-wrap {
overflow: hidden;
position: relative;
display: inline-block
}

.bse .slide-text-wrap .slide-default {
display: block;
transition: transform .16s cubic-bezier(0.4, 0, 0.6, 1), opacity .16s ease-out
}

.bse .slide-text-wrap .slide-alt {
display: block;
position: absolute;
top: 100%;
left: 0;
width: 100%;
color: #471F94;
transition: transform .16s cubic-bezier(0.4, 0, 0.6, 1), opacity .16s ease-out
}

.bse .slide-text-wrap:hover .slide-default {
transform: translateY(-100%);
opacity: 0
}

.bse .slide-text-wrap:hover .slide-alt {
transform: translateY(-100%);
opacity: 1
}

.bse .paper-texture {
position: relative
}

.bse .paper-texture::after {
content: '';
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
pointer-events: none;
border-radius: inherit;
z-index: 0
}

.bse .paper-texture>* {
position: relative;
z-index: 1
}

.bse .metric-num {
font-size: 50px;
line-height: 1.1;
color: #471F94;
letter-spacing: -.03em;
font-weight: 700
}

.bse .metric-label {
font-size: 13px;
line-height: 1.4;
color: #3b2e6e
}

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

.bse .pill-tag {
display: inline-block;
background: #05e86626;
color: #1a1050;
border-radius: 32px;
padding: 4px 16px;
font-size: 13px;
line-height: 1.4
}

.bse .pill-tag-purple {
display: inline-block;
background: #471f941a;
color: #471F94;
border-radius: 32px;
padding: 4px 16px;
font-size: 13px;
line-height: 1.4
}

.bse .divider-green {
display: block;
width: 100%;
height: 3px;
background: linear-gradient(90deg, #05E866 0%, #471F94 100%);
border-radius: 3px;
margin: 40px 0
}

.bse .step-num {
font-size: 50px;
line-height: 1.1;
color: #471f941f;
font-weight: 700;
letter-spacing: -.04em
}

.bse .step-card {
background: #fff;
border-radius: 10px;
padding: 40px 16px 16px;
box-shadow: 0 3px 4px -2px #471f940d 0 7px 18px -2px #471f941c;
position: relative;
transition: box-shadow .18s ease-out
}

.bse .step-card:hover {
box-shadow: 0 9px 40px -2px #471f941a
}

.bse .step-card h5 {
font-size: 13px;
text-transform: uppercase;
letter-spacing: .1em;
color: #471F94;
margin: 0 0 8px;
line-height: 1.4
}

.bse .step-card p {
font-size: 13px;
line-height: 1.6;
color: #3b2e6e;
margin: 0
}

.bse .outcome-item {
display: flex;
align-items: flex-start;
gap: 16px;
padding: 16px 0;
border-bottom: 1px solid #471f9414
}

.bse .outcome-item:last-child {
border-bottom: none
}

.bse .outcome-icon {
width: 32px;
height: 32px;
border-radius: 10px;
background: linear-gradient(135deg, #471F94, #05E866);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.bse .outcome-icon svg {
display: block
}

.bse .outcome-txt h6 {
font-size: 13px;
font-weight: 700;
color: #1a1050;
margin: 0 0 4px;
line-height: 1.4
}

.bse .outcome-txt p {
font-size: 13px;
line-height: 1.6;
color: #3b2e6e;
margin: 0
}

.bse .central-anchor {
position: relative;
display: flex;
align-items: center;
justify-content: center
}

.bse .anchor-img {
width: 100%;
aspect-ratio: 1/1;
object-fit: cover;
border-radius: 20px;
box-shadow: 0 9px 40px -2px #471f941a;
display: block
}

.bse .anchor-badge {
position: absolute;
bottom: 16px;
left: -16px;
background: #471F94;
color: #fff;
border-radius: 10px;
padding: 8px 16px;
font-size: 13px;
line-height: 1.4;
box-shadow: 0 7px 18px -2px #471f941c
}

.bse .anchor-badge-top {
position: absolute;
top: 16px;
right: -16px;
background: #05E866;
color: #1a1050;
border-radius: 10px;
padding: 8px 16px;
font-size: 13px;
line-height: 1.4;
box-shadow: 0 7px 18px -2px #05e8661c
}

.bse .inset-top {
box-shadow: inset 0 4px 8px -2px #471f9414
}

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

.bse .grid-3col {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px
}

.bse .grid-2equal {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: center
}

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

@media (max-width: 960px) {
.bse .grid-2col {
grid-template-columns: 1fr;
gap: 16px
}

.bse .grid-3col {
grid-template-columns: 1fr 1fr;
gap: 16px
}

.bse .grid-2equal {
grid-template-columns: 1fr;
gap: 16px
}

.bse .grid-anchor {
grid-template-columns: 1fr;
gap: 16px
}

.bse .anchor-badge {
left: 0
}

.bse .anchor-badge-top {
right: 0
}

.bse .two-tone-h2 {
font-size: 28px
}

.bse .metric-num {
font-size: 38px
}

.bse .title-flanks {
display: none !important
}
}

@media (max-width: 480px) {
.bse .grid-3col {
grid-template-columns: 1fr
}

.bse .two-tone-h2 {
font-size: 28px
}

.bse .cert-block {
padding: 16px
}
}

.bse .s1-title {
position: relative;
padding: 80px 40px 0;
background: #fff;
overflow: hidden
}

.bse .s1-inner {
display: grid;
grid-template-columns: 1fr 2fr 1fr;
gap: 40px;
align-items: end;
max-width: 1440px;
margin: 0 auto;
position: relative;
z-index: 1
}

.bse .s1-img-col {
display: flex;
flex-direction: column;
gap: 0
}

.bse .s1-img-col img {
width: 100%;
aspect-ratio: 1/1;
object-fit: cover;
border-radius: 20px 20px 0 0;
display: block
}

.bse .s1-circles {
top: 0;
left: 0;
width: 100%;
height: 100%
}

.bse .s1-circles span:nth-child(1) {
width: 320px;
height: 320px;
border: 40px solid #05e8660f;
top: -80px;
left: -80px
}

.bse .s1-circles span:nth-child(2) {
width: 200px;
height: 200px;
border: 30px solid #471f940d;
top: 40px;
left: 40px
}

.bse .s1-text {
padding-bottom: 40px
}

.bse .s1-text h1 {
font-size: 50px;
line-height: 1.1;
letter-spacing: -.03em;
margin: 0 0 16px;
color: #1a1050
}

.bse .s1-text h1 em {
color: #471F94;
font-style: normal
}

.bse .s1-text h1 strong {
color: #05E866
}

.bse .s1-theses {
display: flex;
flex-direction: column;
gap: 8px;
margin-top: 16px
}

.bse .s1-thesis {
font-size: 13px;
line-height: 1.6;
color: #2a1a5e;
padding-left: 16px;
border-left: 2px solid #05E866
}

.bse .s1-right-circles {
top: 0;
right: 0;
width: 100%;
height: 100%
}

.bse .s1-right-circles span:nth-child(1) {
width: 280px;
height: 280px;
border: 35px solid #471f940d;
bottom: -60px;
right: -60px
}

.bse .s1-right-circles span:nth-child(2) {
width: 160px;
height: 160px;
border: 25px solid #05e8660f;
bottom: 20px;
right: 20px
}

.bse .s1-right-img-col {
display: flex;
flex-direction: column;
gap: 0;
position: relative
}

.bse .s1-right-img-col img {
width: 100%;
aspect-ratio: 1/1;
object-fit: cover;
border-radius: 20px 20px 0 0;
display: block
}

@media (max-width: 960px) {
.bse .s1-inner {
grid-template-columns: 1fr;
padding: 0
}

.bse .s1-title {
padding: 40px 16px 0
}

.bse .s1-text h1 {
font-size: 38px
}

.bse .title-flanks {
display: none
}
}

.bse .s2-approach {
background: #FAF7E6;
padding: 80px 40px;
position: relative
}

.bse .s2-approach-inner {
max-width: 1440px;
margin: 0 auto
}

.bse .s2-metrics {
display: flex;
flex-direction: row;
gap: 40px;
margin-top: 40px;
flex-wrap: wrap
}

.bse .s2-img {
width: 100%;
aspect-ratio: 1/1;
object-fit: cover;
border-radius: 10px;
display: block;
box-shadow: 0 7px 18px -2px #471f941c
}

.bse .s3-invest {
background: #fff;
padding: 80px 40px;
position: relative
}

.bse .s3-invest-inner {
max-width: 1440px;
margin: 0 auto
}

.bse .s3-cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
margin-top: 40px
}

@media (max-width: 960px) {
.bse .s3-cards {
grid-template-columns: 1fr
}

.bse .s2-approach {
padding: 40px 16px
}

.bse .s3-invest {
padding: 40px 16px
}
}

.bse .invest-card {
border-radius: 10px;
padding: 40px 16px 16px;
background: #FAF7E6;
box-shadow: 0 3px 4px -2px #471f940d;
position: relative;
transition: box-shadow .2s ease-out
}

.bse .invest-card:hover {
box-shadow: 0 9px 40px -2px #471f941a
}

.bse .invest-card h5 {
font-size: 13px;
text-transform: uppercase;
letter-spacing: .1em;
color: #471F94;
margin: 0 0 8px;
line-height: 1.4
}

.bse .invest-card p {
font-size: 13px;
line-height: 1.6;
color: #3b2e6e;
margin: 0
}

.bse .invest-card .ic-num {
font-size: 50px;
line-height: 1.1;
color: #471f941a;
font-weight: 700;
position: absolute;
top: 8px;
right: 16px;
letter-spacing: -.04em
}

.bse .s4-value {
padding: 80px 40px;
background: linear-gradient(160deg, #471F94 0%, #05E866 100%);
position: relative
}

.bse .s4-value-inner {
max-width: 1440px;
margin: 0 auto;
position: relative;
z-index: 1
}

.bse .s4-value h2 {
color: #fff
}

.bse .s4-value h2 em {
color: #05E866
}

.bse .s4-value .top-accent {
background: #ffffff80
}

.bse .s4-value .txt-lead {
color: #ffffffd9
}

.bse .s4-value .txt-body {
color: #ffffffbf
}

.bse .s4-value .outcome-item {
border-bottom-color: #ffffff26
}

.bse .s4-value .outcome-txt h6 {
color: #fff
}

.bse .s4-value .outcome-txt p {
color: #ffffffbf
}

.bse .s4-circles {
top: 0;
right: 0;
width: 400px;
height: 400px;
overflow: hidden
}

.bse .s4-circles span:nth-child(1) {
width: 360px;
height: 360px;
border: 50px solid #ffffff0f;
top: -80px;
right: -80px
}

.bse .s4-circles span:nth-child(2) {
width: 220px;
height: 220px;
border: 35px solid #ffffff0a;
top: 40px;
right: 40px
}

@media (max-width: 960px) {
.bse .s4-value {
padding: 40px 16px
}
}

.bse .s5-grad {
background: #fff;
padding: 80px 40px;
position: relative
}

.bse .s5-grad-inner {
max-width: 1440px;
margin: 0 auto
}

.bse .s5-cert-wrap {
display: grid;
grid-template-columns: 1.2fr 1fr;
gap: 40px;
align-items: start;
margin-top: 40px
}

@media (max-width: 960px) {
.bse .s5-cert-wrap {
grid-template-columns: 1fr;
gap: 16px
}

.bse .s5-grad {
padding: 40px 16px
}
}

.bse .s5-steps {
display: flex;
flex-direction: column;
gap: 16px
}

.bse .s5-step {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start
}

.bse .s5-step-num {
font-size: 28px;
font-weight: 700;
color: #471f9426;
line-height: 1.1;
min-width: 32px
}

.bse .s5-step-body h6 {
font-size: 13px;
font-weight: 700;
color: #1a1050;
margin: 0 0 4px;
line-height: 1.4
}

.bse .s5-step-body p {
font-size: 13px;
line-height: 1.6;
color: #3b2e6e;
margin: 0
}

.bse .reviews-row {
display: flex;
flex-direction: row;
gap: 16px;
margin-top: 40px;
flex-wrap: wrap
}

.bse .reviews-row .review-card {
flex: 1 1 240px
}

.bse .aggregate-stat {
display: flex;
flex-direction: row;
gap: 16px;
align-items: center;
margin-top: 16px;
flex-wrap: wrap
}

.bse .agg-num {
font-size: 38px;
font-weight: 700;
color: #471F94;
line-height: 1.1
}

.bse .agg-label {
font-size: 13px;
color: #3b2e6e;
line-height: 1.4
}

.bse .img-anchor-col {
position: relative
}

.bse .blur-card {
background: #faf7e6b3;
backdrop-filter: blur(0px);
border-radius: 10px;
padding: 16px;
transition: backdrop-filter .2s ease-out
}

.bse .blur-card:hover {
backdrop-filter: blur(6px)
}

.bse .blur-card p {
font-size: 13px;
line-height: 1.6;
color: #2a1a5e;
margin: 0
}

.bse .blur-card h6 {
font-size: 13px;
font-weight: 700;
color: #471F94;
margin: 0 0 4px;
line-height: 1.4
}

.bse .s2-left {
display: flex;
flex-direction: column;
gap: 16px
}

.bse .s2-right {
display: flex;
flex-direction: column;
gap: 16px
}

.bse .s4-outcome-col {
display: flex;
flex-direction: column
}

.bse .s4-text-col {
display: flex;
flex-direction: column;
gap: 8px
}

@keyframes colorwave {
0% {
background-position: 0 50%
}

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

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

.lp-prog {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.lp-prog .strip-layout {
display: grid;
grid-template-columns: 220px 1fr;
min-height: 480px;
position: relative;
background: #fff;
overflow: hidden
}

.lp-prog .strip-img {
position: relative;
overflow: hidden
}

.lp-prog .strip-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.lp-prog .strip-img::after {
content: '';
position: absolute;
inset: 0;
background: #471f9459;
pointer-events: none
}

.lp-prog .strip-bg {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.lp-prog .strip-bg svg {
position: absolute;
top: -40px;
right: -60px;
opacity: .13
}

.lp-prog .strip-text {
padding: 80px 80px 80px 40px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
background: #fff
}

.lp-prog .strip-eyebrow {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 16px
}

.lp-prog .strip-line {
width: 32px;
height: 3px;
background: #05E866;
border-radius: 3px
}

.lp-prog .strip-label {
font-size: 13px;
letter-spacing: .08em;
color: #471F94;
text-transform: uppercase
}

.lp-prog .strip-h1 {
font-size: 50px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0 0 16px;
color: #1a1a2e
}

.lp-prog .strip-h1 span {
color: #471F94
}

.lp-prog .strip-desc {
font-size: 13px;
line-height: 1.6;
color: #3a3a4a;
max-width: 520px;
margin: 0 0 40px
}

.lp-prog .strip-meta {
display: flex;
gap: 40px
}

.lp-prog .strip-stat strong {
display: block;
font-size: 28px;
line-height: 1.1;
color: #471F94;
letter-spacing: -.02em
}

.lp-prog .strip-stat span {
font-size: 13px;
color: #3a3a4a;
line-height: 1.4
}

.lp-prog .tri-accent {
position: absolute;
bottom: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 60px 60px;
border-color: transparent transparent #05E866;
pointer-events: none
}

.lp-prog .tri-top {
position: absolute;
top: 0;
left: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 40px 40px 0 0;
border-color: #FAF7E6 transparent transparent;
pointer-events: none
}

.lp-prog .dots-div {
display: flex;
justify-content: center;
align-items: center;
gap: 8px;
padding: 16px 0
}

.lp-prog .dots-div span {
width: 6px;
height: 6px;
border-radius: 50%;
background: #471F94;
opacity: .3;
display: block
}

.lp-prog .dots-div span:nth-child(2) {
opacity: .6;
background: #05E866
}

.lp-prog .cards-section {
padding: 80px 40px;
background: #FAF7E6;
position: relative
}

.lp-prog .cards-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #471F94, #05E866)
}

.lp-prog .cards-head {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 40px;
margin-bottom: 40px;
align-items: end
}

.lp-prog .cards-intro-col {
display: flex;
flex-direction: column;
gap: 8px
}

.lp-prog .acc-line {
width: 28px;
height: 3px;
background: #05E866;
border-radius: 3px;
margin-bottom: 8px
}

.lp-prog .cards-h2 {
font-size: 38px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0;
color: #1a1a2e
}

.lp-prog .cards-h2 em {
font-style: normal;
color: #471F94
}

.lp-prog .cards-sub {
font-size: 13px;
line-height: 1.6;
color: #3a3a4a;
margin: 0
}

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

.lp-prog .prog-card {
background: #fff;
border-radius: 10px;
box-shadow: 0 3px 4px -2px #05e8660d 0 7px 18px -2px #05e8661c;
overflow: hidden;
display: flex;
flex-direction: column;
position: relative;
transition: box-shadow .18s ease-out
}

.lp-prog .prog-card:hover {
box-shadow: 0 9px 40px -2px #471f941a
}

.lp-prog .prog-card.featured {
grid-column: span 2;
grid-row: span 2
}

.lp-prog .card-img-wrap {
aspect-ratio: 1/1;
overflow: hidden;
position: relative
}

.lp-prog .prog-card.featured .card-img-wrap {
aspect-ratio: 4/3
}

.lp-prog .card-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .22s cubic-bezier(0.4, 0, 0.6, 1)
}

.lp-prog .prog-card:hover .card-img-wrap img {
transform: scale(1.04)
}

.lp-prog .card-frame {
position: absolute;
inset: 8px;
border: 2px solid #fff6;
border-radius: 3px;
pointer-events: none
}

.lp-prog .card-price-badge {
position: absolute;
top: 16px;
right: 16px;
background: #471F94;
color: #fff;
font-size: 13px;
font-weight: 700;
padding: 4px 8px;
border-radius: 3px;
letter-spacing: .04em
}

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

.lp-prog .card-h3 {
font-size: 28px;
line-height: 1.1;
letter-spacing: -.01em;
margin: 0;
color: #1a1a2e
}

.lp-prog .card-h4 {
font-size: 13px;
line-height: 1.1;
letter-spacing: -.01em;
margin: 0;
color: #1a1a2e;
font-weight: 700
}

.lp-prog .card-p {
font-size: 13px;
line-height: 1.6;
color: #3a3a4a;
margin: 0
}

.lp-prog .card-foot {
display: flex;
align-items: center;
justify-content: space-between;
padding: 8px 16px 16px;
margin-top: auto
}

.lp-prog .card-link {
display: inline-flex;
align-items: center;
gap: 8px;
background: #471F94;
color: #fff;
font-size: 13px;
padding: 8px 16px;
border-radius: 3px;
text-decoration: none;
transition: background .15s ease-out, gap .18s ease-out
}

.lp-prog .card-link:hover {
background: #05E866;
color: #1a1a2e;
gap: 16px
}

.lp-prog .card-link svg {
width: 14px;
height: 14px;
flex-shrink: 0
}

.lp-prog .card-tri {
position: absolute;
bottom: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 24px 24px;
border-color: transparent transparent #FAF7E6;
pointer-events: none
}

.lp-prog .dots-div2 {
display: flex;
justify-content: center;
align-items: center;
gap: 8px;
padding: 16px 0;
background: #FAF7E6
}

.lp-prog .dots-div2 span {
width: 6px;
height: 6px;
border-radius: 50%;
background: #471F94;
opacity: .3;
display: block
}

.lp-prog .dots-div2 span:nth-child(2) {
opacity: .6;
background: #471F94
}

.lp-prog .wave-section {
padding: 80px 40px;
background: linear-gradient(270deg, #471F94, #1a1a2e, #05E866, #471F94);
background-size: 400% 400%;
animation: colorwave 12s cubic-bezier(0.4, 0, 0.6, 1) infinite;
position: relative;
overflow: hidden
}

.lp-prog .wave-inner {
max-width: 900px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: center
}

.lp-prog .wave-text-col {
display: flex;
flex-direction: column;
gap: 16px
}

.lp-prog .wave-h2 {
font-size: 38px;
line-height: 1.1;
letter-spacing: -.02em;
color: #fff;
margin: 0
}

.lp-prog .wave-h2 span {
color: #05E866
}

.lp-prog .wave-p {
font-size: 13px;
line-height: 1.6;
color: #ffffffd1;
margin: 0
}

.lp-prog .wave-cta {
display: inline-flex;
align-items: center;
gap: 8px;
background: #05E866;
color: #1a1a2e;
font-size: 13px;
font-weight: 700;
padding: 16px 40px;
border-radius: 10px;
text-decoration: none;
width: fit-content;
transition: background .15s ease-out, gap .18s ease-out
}

.lp-prog .wave-cta:hover {
background: #fff;
gap: 16px
}

.lp-prog .wave-cta svg {
width: 14px;
height: 14px;
flex-shrink: 0
}

.lp-prog .wave-facts {
display: flex;
flex-direction: column;
gap: 16px
}

.lp-prog .wave-fact {
background: #ffffff1a;
border-radius: 10px;
padding: 16px;
display: flex;
flex-direction: column;
gap: 4px;
box-shadow: inset 0 3px 4px -2px #05e86614
}

.lp-prog .wave-fact strong {
font-size: 28px;
line-height: 1.1;
color: #05E866;
letter-spacing: -.02em
}

.lp-prog .wave-fact span {
font-size: 13px;
color: #ffffffbf;
line-height: 1.4
}

.lp-prog .wave-tri-tl {
position: absolute;
top: 0;
left: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 48px 48px 0 0;
border-color: #ffffff12 transparent transparent;
pointer-events: none
}

.lp-prog .dots-div3 {
display: flex;
justify-content: center;
align-items: center;
gap: 8px;
padding: 16px 0;
background: #fff
}

.lp-prog .dots-div3 span {
width: 6px;
height: 6px;
border-radius: 50%;
background: #05E866;
opacity: .5;
display: block
}

.lp-prog .dots-div3 span:nth-child(2) {
opacity: 1
}

.lp-prog .team-section {
padding: 80px 40px;
background: #fff;
position: relative
}

.lp-prog .team-grid {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 40px;
max-width: 1360px;
margin: 0 auto;
align-items: start
}

.lp-prog .team-intro {
display: flex;
flex-direction: column;
gap: 16px;
position: sticky;
top: 80px
}

.lp-prog .team-h2 {
font-size: 38px;
line-height: 1.1;
letter-spacing: -.02em;
color: #1a1a2e;
margin: 0
}

.lp-prog .team-h2 em {
font-style: normal;
color: #471F94
}

.lp-prog .team-p {
font-size: 13px;
line-height: 1.6;
color: #3a3a4a;
margin: 0
}

.lp-prog .team-list {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px
}

.lp-prog .team-card {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
padding: 40px 16px;
background: #FAF7E6;
border-radius: 20px;
box-shadow: 0 3px 4px -2px #471f940d;
position: relative;
overflow: hidden
}

.lp-prog .team-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: #05E866;
border-radius: 20px 20px 0 0
}

.lp-prog .portrait-wrap {
width: 120px;
height: 120px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
border: 3px solid #fff;
box-shadow: 0 7px 18px -2px #471f941c
}

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

.lp-prog .team-name {
font-size: 13px;
font-weight: 700;
color: #1a1a2e;
margin: 0;
text-align: center
}

.lp-prog .team-role {
font-size: 13px;
color: #471F94;
line-height: 1.4;
margin: 0;
text-align: center
}

.lp-prog .team-quote {
font-size: 13px;
line-height: 1.6;
color: #3a3a4a;
margin: 0;
text-align: center
}

.lp-prog .team-tri {
position: absolute;
bottom: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 28px 28px;
border-color: transparent transparent #fff;
pointer-events: none
}

.lp-prog .bg-img-section {
position: relative;
padding: 80px 40px;
display: flex;
align-items: center;
justify-content: center;
min-height: 320px
}

.lp-prog .bg-img-section::before {
content: '';
position: absolute;
inset: 0;
background: url(./feature_images/final-promo112024-09-25.jpg) center/cover no-repeat;
z-index: 0
}

.lp-prog .bg-img-section::after {
content: '';
position: absolute;
inset: 0;
background: #140828e8;
z-index: 1
}

.lp-prog .bg-img-inner {
position: relative;
z-index: 2;
max-width: 700px;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
gap: 16px
}

.lp-prog .bg-img-h2 {
font-size: 38px;
line-height: 1.1;
letter-spacing: -.02em;
color: #fff;
margin: 0
}

.lp-prog .bg-img-h2 span {
color: #05E866
}

.lp-prog .bg-img-p {
font-size: 13px;
line-height: 1.6;
color: #ffffffc7;
margin: 0
}

.lp-prog .bg-img-link {
display: inline-flex;
align-items: center;
gap: 8px;
border: 2px solid #05E866;
color: #05E866;
font-size: 13px;
font-weight: 700;
padding: 16px 40px;
border-radius: 10px;
text-decoration: none;
transition: background .15s ease-out, color .15s ease-out, gap .18s ease-out
}

.lp-prog .bg-img-link:hover {
background: #05E866;
color: #1a1a2e;
gap: 16px
}

.lp-prog .bg-img-link svg {
width: 14px;
height: 14px
}

.lp-prog .bg-tri-br {
position: absolute;
bottom: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 56px 56px;
border-color: transparent transparent #05e8662e;
pointer-events: none;
z-index: 2
}

@media (max-width: 960px) {
.lp-prog .strip-layout {
grid-template-columns: 160px 1fr
}

.lp-prog .strip-text {
padding: 40px 40px 40px 16px
}

.lp-prog .strip-h1 {
font-size: 38px
}

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

.lp-prog .prog-card.featured {
grid-column: span 2;
grid-row: span 1
}

.lp-prog .wave-inner {
grid-template-columns: 1fr
}

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

.lp-prog .team-intro {
position: static
}
}

@media (max-width: 480px) {
.lp-prog .strip-layout {
grid-template-columns: 1fr
}

.lp-prog .strip-img {
height: 200px
}

.lp-prog .strip-text {
padding: 40px 16px
}

.lp-prog .strip-h1 {
font-size: 28px
}

.lp-prog .strip-meta {
gap: 16px
}

.lp-prog .cards-section {
padding: 40px 16px
}

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

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

.lp-prog .prog-card.featured {
grid-column: span 1
}

.lp-prog .wave-section {
padding: 40px 16px
}

.lp-prog .team-section {
padding: 40px 16px
}

.lp-prog .team-list {
grid-template-columns: 1fr
}

.lp-prog .cards-h2 {
font-size: 28px
}

.lp-prog .wave-h2 {
font-size: 28px
}

.lp-prog .team-h2 {
font-size: 28px
}

.lp-prog .bg-img-h2 {
font-size: 28px
}

.lp-prog .bg-img-section {
padding: 40px 16px
}
}

.ctus-pg {
max-width: 1440px;
margin: 0 auto;
background: #fff;
position: relative
}

.ctus-pg .bg-drift {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 0;
overflow: hidden
}

.ctus-pg .bg-drift::before {
content: '';
position: absolute;
width: 320px;
height: 320px;
border-radius: 50%;
background: radial-gradient(circle, #05e8660f 0%, transparent 70%);
animation: spot-move 18s linear infinite alternate;
top: 10%;
left: -80px
}

.ctus-pg .bg-drift::after {
content: '';
position: absolute;
width: 240px;
height: 240px;
border-radius: 50%;
background: radial-gradient(circle, #471f940d 0%, transparent 70%);
animation: spot-move2 22s linear infinite alternate;
bottom: 20%;
right: -60px
}

@keyframes spot-move {
0% {
transform: translateY(0px)
}

100% {
transform: translateY(120px)
}
}

@keyframes spot-move2 {
0% {
transform: translateY(0px)
}

100% {
transform: translateY(-100px)
}
}

.ctus-pg .geo-circles {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden;
z-index: 0
}

.ctus-pg .geo-circles span {
position: absolute;
border-radius: 50%;
border: 1px solid #471f940f
}

.ctus-pg .geo-circles span:nth-child(1) {
width: 400px;
height: 400px;
top: -100px;
right: -100px
}

.ctus-pg .geo-circles span:nth-child(2) {
width: 200px;
height: 200px;
bottom: 80px;
left: 40px;
border-color: #05e86612
}

.ctus-pg .geo-circles span:nth-child(3) {
width: 120px;
height: 120px;
top: 40%;
right: 8%;
border-color: #471f940d
}

.ctus-pg .reach-band {
position: relative;
background: linear-gradient(0deg, #fff 0%, #1a0d3a 100%);
padding: 80px 40px;
overflow: hidden
}

.ctus-pg .reach-band::after {
content: '';
display: block;
border-bottom: 2px dashed #05E866;
margin-top: 80px;
opacity: .6
}

.ctus-pg .reach-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start
}

.ctus-pg .reach-left {
flex: 0 0 380px
}

.ctus-pg .reach-tag {
display: inline-block;
font-size: 13px;
line-height: 1.4;
letter-spacing: .08em;
text-transform: uppercase;
color: #05E866;
border: 1px solid #05e8664d;
border-radius: 3px;
padding: 4px 8px;
margin-bottom: 16px
}

.ctus-pg .reach-h1 {
font-size: 50px;
line-height: 1.1;
letter-spacing: -.02em;
color: #fff;
margin: 0 0 16px
}

.ctus-pg .reach-h1 em {
font-style: normal;
color: #05E866
}

.ctus-pg .reach-sub {
font-size: 13px;
line-height: 1.6;
color: #faf7e6b3;
margin: 0
}

.ctus-pg .reach-right {
flex: 1;
display: flex;
flex-direction: column;
gap: 40px
}

.ctus-pg .reach-cards {
display: flex;
flex-direction: row;
gap: 16px
}

.ctus-pg .r-card {
flex: 1;
border-radius: 10px;
padding: 16px;
position: relative
}

.ctus-pg .r-card.dark {
background: #ffffff0f;
border: 1px solid #ffffff1a
}

.ctus-pg .r-card.green {
background: #05e8661f;
border: 1px solid #05e86640
}

.ctus-pg .r-card.purple {
background: #471f9466;
border: 1px solid #471f9499
}

.ctus-pg .r-card-ico {
width: 32px;
height: 32px;
margin-bottom: 8px;
display: flex;
align-items: center;
justify-content: center
}

.ctus-pg .r-card-ico svg {
width: 22px;
height: 22px
}

.ctus-pg .r-card-label {
font-size: 13px;
line-height: 1.4;
color: #faf7e68c;
margin: 0 0 4px;
text-transform: uppercase;
letter-spacing: .06em
}

.ctus-pg .r-card-val {
font-size: 13px;
line-height: 1.6;
color: #FAF7E6;
margin: 0;
font-weight: 600
}

.ctus-pg .reach-img-wrap {
position: relative;
border-radius: 10px;
overflow: hidden;
aspect-ratio: 1/1;
width: 100%;
box-shadow: 0 7px 18px -2px #471f941c
}

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

.ctus-pg .reach-img-wrap:hover img {
transform: translateX(12px) translateY(-6px) scale(1.04)
}

.ctus-pg .form-band {
position: relative;
background: #FAF7E6;
padding: 80px 40px
}

.ctus-pg .form-band::after {
content: '';
display: block;
border-bottom: 2px dashed #471f9440;
margin-top: 80px
}

.ctus-pg .form-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start
}

.ctus-pg .form-aside {
flex: 0 0 280px
}

.ctus-pg .aside-accent {
width: 40px;
height: 3px;
background: #471F94;
border-radius: 3px;
margin-bottom: 16px
}

.ctus-pg .form-aside-h {
font-size: 28px;
line-height: 1.1;
letter-spacing: -.01em;
color: #1a0d3a;
margin: 0 0 16px
}

.ctus-pg .form-aside-h em {
font-style: normal;
color: #471F94
}

.ctus-pg .form-aside-p {
font-size: 13px;
line-height: 1.6;
color: #3d3450;
margin: 0
}

.ctus-pg .form-main {
flex: 1
}

.ctus-pg .contact-form {
background: #fff;
border-radius: 20px;
padding: 40px;
box-shadow: 0 9px 40px -2px #471f941a
}

.ctus-pg .form-row {
display: flex;
flex-direction: row;
gap: 16px;
margin-bottom: 16px
}

.ctus-pg .f-group {
display: flex;
flex-direction: column;
gap: 4px;
flex: 1
}

.ctus-pg .f-label {
font-size: 13px;
line-height: 1.4;
color: #3d3450;
font-weight: 600;
letter-spacing: .04em
}

.ctus-pg .f-input {
border: 1px solid #471f9433;
border-radius: 10px;
padding: 8px 16px;
font-size: 13px;
line-height: 1.6;
color: #1a0d3a;
background: #fff;
outline: none;
transition: border-color .18s ease-out, box-shadow .18s ease-out;
height: 44px;
box-sizing: border-box;
width: 100%
}

.ctus-pg .f-input::placeholder {
color: #471f944d;
transition: opacity .22s ease-out
}

.ctus-pg .f-input:focus::placeholder {
opacity: 0
}

.ctus-pg .f-input:focus {
border-color: #471F94;
box-shadow: 0 3px 4px -2px #471f940d
}

.ctus-pg .f-select {
border: 1px solid #471f9433;
border-radius: 10px;
padding: 8px 16px;
font-size: 13px;
line-height: 1.6;
color: #1a0d3a;
background: #fff;
outline: none;
height: 44px;
width: 100%;
cursor: pointer;
appearance: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23471F94' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 16px center;
transition: border-color .18s ease-out;
box-sizing: border-box
}

.ctus-pg .f-select:focus {
border-color: #471F94
}

.ctus-pg .f-textarea {
border: 1px solid #471f9433;
border-radius: 10px;
padding: 8px 16px;
font-size: 13px;
line-height: 1.6;
color: #1a0d3a;
background: #fff;
outline: none;
resize: vertical;
min-height: 100px;
width: 100%;
transition: border-color .18s ease-out;
box-sizing: border-box
}

.ctus-pg .f-textarea::placeholder {
color: #471f944d;
transition: opacity .22s ease-out
}

.ctus-pg .f-textarea:focus::placeholder {
opacity: 0
}

.ctus-pg .f-textarea:focus {
border-color: #471F94
}

.ctus-pg .f-row-single {
margin-bottom: 16px
}

.ctus-pg .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
margin-bottom: 16px
}

.ctus-pg .privacy-check {
width: 18px;
height: 18px;
margin-top: 2px;
flex-shrink: 0;
accent-color: #471F94;
cursor: pointer
}

.ctus-pg .privacy-text {
font-size: 13px;
line-height: 1.6;
color: #3d3450;
margin: 0
}

.ctus-pg .privacy-text a {
color: #471F94;
text-decoration: underline !important;
transition: color .15s ease-out
}

.ctus-pg .privacy-text a:hover {
color: #05E866
}

.ctus-pg .submit-btn {
display: inline-flex;
align-items: center;
gap: 8px;
background: #471F94;
color: #fff;
border: none;
border-radius: 10px;
padding: 8px 40px;
font-size: 13px;
line-height: 1.6;
font-weight: 600;
letter-spacing: .04em;
cursor: pointer;
transition: background .15s ease-out, box-shadow .15s ease-out;
box-shadow: 0 3px 4px -2px #471f940d;
height: 44px
}

.ctus-pg .submit-btn svg {
transition: transform .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.ctus-pg .submit-btn:hover {
background: #3a1878;
box-shadow: 0 7px 18px -2px #471f941c
}

.ctus-pg .submit-btn:hover svg {
transform: translateX(4px)
}

.ctus-pg .submit-btn:focus {
outline: 2px solid #05E866;
outline-offset: 2px
}

.ctus-pg .submit-btn:active {
background: #2d1260
}

.ctus-pg .details-band {
position: relative;
background: #fff;
padding: 80px 40px
}

.ctus-pg .details-inner {
max-width: 1200px;
margin: 0 auto
}

.ctus-pg .details-head {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 40px;
margin-bottom: 40px
}

.ctus-pg .dh-accent {
width: 3px;
height: 60px;
background: linear-gradient(180deg, #471F94 0%, #05E866 100%);
border-radius: 3px;
flex-shrink: 0;
margin-top: 4px
}

.ctus-pg .dh-text-h {
font-size: 38px;
line-height: 1.1;
letter-spacing: -.02em;
color: #1a0d3a;
margin: 0 0 8px
}

.ctus-pg .dh-text-h em {
font-style: normal;
color: #471F94
}

.ctus-pg .dh-text-p {
font-size: 13px;
line-height: 1.6;
color: #3d3450;
margin: 0;
max-width: 480px
}

.ctus-pg .details-cols {
display: flex;
flex-direction: row;
gap: 16px
}

.ctus-pg .d-col {
flex: 1;
border-radius: 10px;
padding: 40px;
position: relative
}

.ctus-pg .d-col.purple-bg {
background: #471F94;
color: #fff
}

.ctus-pg .d-col.green-bg {
background: #05E866;
color: #1a0d3a
}

.ctus-pg .d-col.light-bg {
background: #FAF7E6;
color: #1a0d3a;
border: 1px solid #471f941a
}

.ctus-pg .d-col-ico {
width: 40px;
height: 40px;
margin-bottom: 16px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 10px
}

.ctus-pg .d-col.purple-bg .d-col-ico {
background: #ffffff1f
}

.ctus-pg .d-col.green-bg .d-col-ico {
background: #1a0d3a1a
}

.ctus-pg .d-col.light-bg .d-col-ico {
background: #471f9414
}

.ctus-pg .d-col-label {
font-size: 13px;
line-height: 1.4;
text-transform: uppercase;
letter-spacing: .08em;
margin: 0 0 8px;
font-weight: 600
}

.ctus-pg .d-col.purple-bg .d-col-label {
color: #faf7e699
}

.ctus-pg .d-col.green-bg .d-col-label {
color: #1a0d3a99
}

.ctus-pg .d-col.light-bg .d-col-label {
color: #471f9499
}

.ctus-pg .d-col-val {
font-size: 13px;
line-height: 1.6;
margin: 0;
font-weight: 600
}

.ctus-pg .d-col.purple-bg .d-col-val {
color: #FAF7E6
}

.ctus-pg .d-col.green-bg .d-col-val {
color: #1a0d3a
}

.ctus-pg .d-col.light-bg .d-col-val {
color: #1a0d3a
}

.ctus-pg .d-col-sub {
font-size: 13px;
line-height: 1.6;
margin: 4px 0 0
}

.ctus-pg .d-col.purple-bg .d-col-sub {
color: #faf7e68c
}

.ctus-pg .d-col.green-bg .d-col-sub {
color: #1a0d3aa6
}

.ctus-pg .d-col.light-bg .d-col-sub {
color: #1a0d3a8c
}

@media (max-width: 960px) {
.ctus-pg .reach-inner {
flex-direction: column;
gap: 40px
}

.ctus-pg .reach-left {
flex: none;
width: 100%
}

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

.ctus-pg .form-inner {
flex-direction: column;
gap: 40px
}

.ctus-pg .form-aside {
flex: none;
width: 100%
}

.ctus-pg .details-cols {
flex-direction: column
}

.ctus-pg .details-head {
flex-direction: column;
gap: 16px
}

.ctus-pg .dh-accent {
width: 40px;
height: 3px
}
}

@media (max-width: 480px) {
.ctus-pg .reach-band {
padding: 40px 16px
}

.ctus-pg .form-band {
padding: 40px 16px
}

.ctus-pg .details-band {
padding: 40px 16px
}

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

.ctus-pg .form-row {
flex-direction: column
}

.ctus-pg .contact-form {
padding: 16px
}

.ctus-pg .d-col {
padding: 16px
}

.ctus-pg .reach-cards {
flex-direction: column
}

.ctus-pg .dh-text-h {
font-size: 28px
}
}

.abt-us {
max-width: 1440px;
margin: 0 auto;
overflow: hidden
}

.abt-us .draw-line {
width: 0;
height: 2px;
background: #05E866;
animation: line-draw .18s cubic-bezier(0.4, 0, 0.6, 1) .2s forwards
}

@keyframes line-draw {
to {
width: 48px
}
}

.abt-us .band-divider {
height: 4px;
background: #471F94;
width: 100%
}

.abt-us .panel-a {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 0;
background: #FAF7E6;
position: relative
}

.abt-us .panel-a::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 6px;
height: 100%;
background: #05E866;
opacity: .35
}

.abt-us .panel-a-img {
flex: 0 0 48%;
position: relative;
overflow: hidden;
aspect-ratio: 1/1;
max-height: 620px
}

.abt-us .panel-a-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
animation: slow-zoom 8s ease-out forwards
}

@keyframes slow-zoom {
from {
transform: scale(1.06)
}

to {
transform: scale(1)
}
}

.abt-us .panel-a-img .decor-ring {
position: absolute;
bottom: 40px;
right: -40px;
width: 180px;
height: 180px;
border-radius: 50%;
border: 2px solid #05E866;
opacity: .18;
pointer-events: none
}

.abt-us .panel-a-text {
flex: 1 1 52%;
padding: 80px 40px;
display: flex;
flex-direction: column;
gap: 16px;
background: linear-gradient(170deg, transparent 0%, #471F94 100%);
min-height: 620px;
justify-content: center
}

.abt-us .panel-a-text .draw-line {
margin-bottom: 8px
}

.abt-us .panel-a-text .heading-main {
font-size: 50px;
line-height: 1.1;
letter-spacing: -.03em;
color: #FAF7E6;
margin: 0
}

.abt-us .panel-a-text .heading-main span {
color: #05E866
}

.abt-us .panel-a-text .lead-txt {
font-size: 13px;
line-height: 1.6;
color: #FAF7E6;
opacity: .82;
margin: 0;
max-width: 380px
}

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

.abt-us .pts-list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
font-size: 13px;
line-height: 1.6;
color: #FAF7E6
}

.abt-us .pts-list .pt-dot {
width: 8px;
height: 8px;
border-radius: 50%;
background: #05E866;
flex-shrink: 0;
margin-top: 6px
}

.abt-us .outlined-shape {
position: absolute;
top: 40px;
left: 40px;
width: 120px;
height: 120px;
border: 1.5px solid #471F94;
border-radius: 3px;
opacity: .08;
pointer-events: none;
transform: rotate(18deg)
}

.abt-us .panel-b {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 0;
background: #fff;
position: relative
}

.abt-us .panel-b::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 6px;
height: 100%;
background: #471F94;
opacity: .22
}

.abt-us .panel-b-sidebar {
flex: 0 0 220px;
padding: 80px 16px 80px 40px;
display: flex;
flex-direction: column;
gap: 40px;
border-right: 1px solid #471f941a
}

.abt-us .sidebar-label {
display: flex;
flex-direction: column;
gap: 8px;
align-items: flex-start
}

.abt-us .sidebar-label .s-icon {
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
background: #FAF7E6;
border-radius: 10px
}

.abt-us .sidebar-label .s-icon svg {
width: 18px;
height: 18px
}

.abt-us .sidebar-label .s-lbl {
font-size: 13px;
line-height: 1.4;
color: #471F94;
font-weight: 700;
letter-spacing: .04em;
text-transform: uppercase
}

.abt-us .sidebar-label .s-val {
font-size: 13px;
line-height: 1.6;
color: #222;
opacity: .72
}

.abt-us .panel-b-body {
flex: 1 1 auto;
padding: 80px 40px;
display: flex;
flex-direction: column;
gap: 40px
}

.abt-us .panel-b-cols {
display: flex;
flex-direction: row;
gap: 40px;
align-items: flex-start
}

.abt-us .col-narrow {
flex: 0 0 160px
}

.abt-us .col-wide {
flex: 1 1 auto
}

.abt-us .b-heading {
font-size: 38px;
line-height: 1.1;
letter-spacing: -.02em;
color: #1a1200;
margin: 0 0 8px
}

.abt-us .b-heading span {
color: #471F94
}

.abt-us .b-sub {
font-size: 13px;
line-height: 1.6;
color: #333;
margin: 0
}

.abt-us .b-para {
font-size: 13px;
line-height: 1.6;
color: #333;
margin: 0
}

.abt-us .info-card {
background: #FAF7E6;
border-radius: 10px;
padding: 16px;
display: flex;
flex-direction: column;
gap: 8px;
box-shadow: 0 3px 4px -2px #05e8660d 0 7px 18px -2px #05e8661c
}

.abt-us .info-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 8px 0;
border-bottom: 1px solid #471f9414
}

.abt-us .info-row:last-child {
border-bottom: none;
padding-bottom: 0
}

.abt-us .info-row .ir-lbl {
font-size: 13px;
line-height: 1.4;
color: #471F94;
font-weight: 700;
flex: 0 0 120px;
text-transform: uppercase;
letter-spacing: .04em
}

.abt-us .info-row .ir-val {
font-size: 13px;
line-height: 1.4;
color: #222
}

.abt-us .portraits-row {
display: flex;
flex-direction: row;
gap: 40px;
align-items: flex-start;
margin-top: 8px
}

.abt-us .portrait-card {
display: flex;
flex-direction: column;
gap: 8px;
align-items: flex-start
}

.abt-us .portrait-wrap {
width: 96px;
height: 96px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
box-shadow: 0 7px 18px -2px #471f941c
}

.abt-us .portrait-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
display: block;
transition: transform .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.abt-us .portrait-wrap img:hover {
transform: scale(1.05)
}

.abt-us .portrait-name {
font-size: 13px;
line-height: 1.4;
color: #222;
font-weight: 700
}

.abt-us .portrait-role {
font-size: 13px;
line-height: 1.4;
color: #471F94;
opacity: .72
}

.abt-us .portrait-bio {
font-size: 13px;
line-height: 1.6;
color: #555;
max-width: 200px
}

.abt-us .imgs-grid {
display: flex;
flex-direction: row;
gap: 16px;
margin-top: 8px
}

.abt-us .img-thumb {
flex: 1 1 0;
aspect-ratio: 1/1;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 3px 4px -2px #471f940d
}

.abt-us .img-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .22s cubic-bezier(0.4, 0, 0.6, 1)
}

.abt-us .img-thumb img:hover {
transform: scale(1.04)
}

.abt-us .cta-strip {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
padding: 16px;
background: #471F94;
border-radius: 10px;
margin-top: 8px
}

.abt-us .cta-strip .strip-txt {
font-size: 13px;
line-height: 1.4;
color: #FAF7E6;
flex: 1 1 auto
}

.abt-us .btn-go {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
background: #05E866;
color: #1a1200;
font-size: 13px;
line-height: 1.4;
font-weight: 700;
padding: 8px 16px;
border-radius: 3px;
border: none;
cursor: pointer;
text-decoration: none;
transition: background .15s cubic-bezier(0.4, 0, 0.6, 1), box-shadow .15s cubic-bezier(0.4, 0, 0.6, 1);
white-space: nowrap;
box-shadow: 0 3px 4px -2px #05e8660d
}

.abt-us .btn-go:hover {
background: #04d05a;
box-shadow: 0 7px 18px -2px #05e8661c
}

.abt-us .btn-go:hover .btn-icon {
transform: translateX(4px)
}

.abt-us .btn-icon {
transition: transform .15s cubic-bezier(0.4, 0, 0.6, 1);
display: inline-flex
}

@media (max-width: 960px) {
.abt-us .panel-a {
flex-direction: column
}

.abt-us .panel-a-img {
flex: 0 0 auto;
width: 100%;
max-height: 340px
}

.abt-us .panel-a-text {
min-height: auto;
padding: 40px 16px
}

.abt-us .panel-a-text .heading-main {
font-size: 38px
}

.abt-us .panel-b {
flex-direction: column
}

.abt-us .panel-b-sidebar {
flex: 0 0 auto;
flex-direction: row;
flex-wrap: wrap;
padding: 16px;
border-right: none;
border-bottom: 1px solid #471f941a;
gap: 16px
}

.abt-us .panel-b-body {
padding: 40px 16px
}

.abt-us .panel-b-cols {
flex-direction: column;
gap: 16px
}

.abt-us .col-narrow {
flex: 0 0 auto
}

.abt-us .portraits-row {
flex-direction: column;
gap: 16px
}

.abt-us .imgs-grid {
flex-direction: column
}
}

@media (max-width: 480px) {
.abt-us .panel-a-text {
padding: 40px 16px
}

.abt-us .panel-a-text .heading-main {
font-size: 28px
}

.abt-us .b-heading {
font-size: 28px
}

.abt-us .panel-b-body {
padding: 40px 16px
}

.abt-us .cta-strip {
flex-direction: column;
align-items: flex-start
}

.abt-us .panel-b-sidebar {
padding: 16px
}
}

.success-pg {
min-height: 60vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 80px 16px;
background: #fff;
max-width: 1440px;
margin: 0 auto
}

.success-pg .success-card {
background: #FAF7E6;
border-radius: 20px;
padding: 80px 40px;
max-width: 560px;
width: 100%;
text-align: center;
box-shadow: 0 7px 18px -2px #05e8661c 0 9px 40px -2px #05e8661a;
position: relative
}

.success-pg .success-card .icon-wrap {
width: 64px;
height: 64px;
border-radius: 32px;
background: #05E866;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 40px
}

.success-pg .success-card .icon-wrap svg {
display: block
}

.success-pg .success-card .success-label {
font-size: 13px;
letter-spacing: .08em;
color: #471F94;
text-transform: uppercase;
margin-bottom: 8px;
line-height: 1.4
}

.success-pg .success-card .success-heading {
font-size: 38px;
line-height: 1.1;
letter-spacing: -.02em;
color: #111;
margin-bottom: 16px
}

.success-pg .success-card .success-heading span {
color: #471F94
}

.success-pg .success-card .success-body {
font-size: 13px;
line-height: 1.6;
color: #333;
margin-bottom: 40px
}

.success-pg .success-card .accent-line {
width: 32px;
height: 3px;
background: #05E866;
border-radius: 3px;
margin: 0 auto 16px
}

.success-pg .success-card .back-btn {
display: inline-flex;
align-items: center;
gap: 8px;
background: #471F94;
color: #fff;
font-size: 13px;
line-height: 1.4;
padding: 16px 40px;
border-radius: 10px;
text-decoration: none;
border: none;
cursor: pointer;
transition: background .18s ease-out, box-shadow .22s cubic-bezier(0.4, 0, 0.6, 1);
box-shadow: 0 3px 4px -2px #471f940d;
overflow: hidden
}

.success-pg .success-card .back-btn:hover {
background: #3a1878;
box-shadow: 0 7px 18px -2px #471f941c
}

.success-pg .success-card .back-btn:hover .btn-arrow {
transform: translateX(4px)
}

.success-pg .success-card .back-btn .btn-arrow {
transition: transform .15s ease-out;
display: flex;
align-items: center
}

.success-pg .success-card .back-btn:focus {
outline: 2px solid #05E866;
outline-offset: 3px
}

@media (max-width: 480px) {
.success-pg {
padding: 40px 16px
}

.success-pg .success-card {
padding: 40px 16px
}

.success-pg .success-card .success-heading {
font-size: 28px
}
}