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

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

body {
margin: 0;
min-height: 100svh;
overflow-x: hidden;
-webkit-text-size-adjust: 100%
}

body,
button,
a,
input,
select,
textarea {
font-family: 'Literata', Georgia, serif
}

:focus-visible {
outline: 2px dashed #7A6BBB;
outline-offset: 3px;
animation: focus-rotate 3s linear infinite
}

@keyframes focus-rotate {
0% {
outline-offset: 3px
}

50% {
outline-offset: 5px
}

100% {
outline-offset: 3px
}
}

.brand {
display: flex;
align-items: center;
gap: 16px;
text-decoration: none
}

.brand__image-box {
width: 56px;
height: 56px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 0;
background-color: #fff;
border: 1.5px solid #DEC0DE;
box-shadow: inset 0 2px 6px 0 #7a6bbb1f 0 1px 2px 0 #7a6bbb14;
flex-shrink: 0
}

.brand__image-box img {
width: 44px;
height: 44px;
object-fit: contain;
display: block
}

.brand__text {
display: flex;
flex-direction: column;
gap: 0
}

.brand__name {
font-size: 22px;
font-weight: 700;
line-height: 1.15;
letter-spacing: -.03em;
color: #2a1f4e
}

.brand__descriptor {
font-size: 16px;
font-weight: 400;
line-height: 1.15;
color: #7A6BBB;
letter-spacing: .01em
}

.site-header {
position: relative;
background: linear-gradient(135deg, #fff 0%, #EFE7F4 60%, #f5eef9 100%);
border-bottom: 1.5px solid #DEC0DE;
box-shadow: 0 5px 22px 0 #7a6bbb14;
z-index: 100;
overflow: hidden
}

.site-header::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, #7A6BBB 0%, #DEC0DE 50%, #7A6BBB 100%);
pointer-events: none
}

.header__inner {
max-width: 1440px;
margin: 0 auto;
padding: 0 40px
}

.header__top {
display: flex;
align-items: center;
justify-content: space-between;
padding: 24px 0 16px;
border-bottom: 1px solid #dec0de66
}

.header__credential {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
border-radius: 44px;
background-color: #7a6bbb12;
border: 1px solid #7a6bbb2e
}

.header__credential-dot {
width: 8px;
height: 8px;
border-radius: 8px;
background-color: #7A6BBB;
flex-shrink: 0
}

.header__credential-text {
font-size: 16px;
font-weight: 500;
color: #4a3a7a;
line-height: 1.15;
letter-spacing: .01em
}

.header__bottom {
padding: 16px 0 24px
}

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

.primary-menu__item {
display: flex
}

.primary-menu__link {
display: inline-flex;
align-items: center;
padding: 8px 16px;
font-size: 16px;
font-weight: 500;
line-height: 1.15;
color: #2a1f4e;
text-decoration: none;
border-radius: 4px;
border: 1.5px solid transparent;
min-height: 44px;
transition: color .2s ease-out, border-color .25s ease-out, background-color .18s ease-out;
position: relative
}

.primary-menu__link::after {
content: '';
position: absolute;
bottom: 6px;
left: 16px;
right: 16px;
height: 1.5px;
background-color: #7A6BBB;
transform: scaleX(0);
transform-origin: left center;
transition: transform .22s ease-out
}

.primary-menu__link:hover {
color: #7A6BBB;
background-color: #7a6bbb0d;
border-color: #7a6bbb33
}

.primary-menu__link:hover::after {
transform: scaleX(1)
}

.primary-menu__link--active {
color: #7A6BBB;
border-color: #DEC0DE;
background-color: #dec0de26
}

.primary-menu__link--active::after {
transform: scaleX(1)
}

@media (max-width: 768px) {
.header__inner {
padding: 0 24px
}

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

.brand__name {
font-size: 22px
}

.primary-menu {
gap: 8px
}

.primary-menu__link {
font-size: 16px;
padding: 8px 16px
}
}

@media (max-width: 480px) {
.header__inner {
padding: 0 16px
}

.brand__descriptor {
font-size: 16px
}

.header__credential-text {
font-size: 16px
}
}

.site-footer {
background: linear-gradient(160deg, #EFE7F4 0%, #f8f3fb 100%);
border-top: 1.5px solid #DEC0DE;
padding: 40px 0 0
}

.footer__inner {
max-width: 1440px;
margin: 0 auto;
padding: 0 40px
}

.footer__body {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 40px;
padding-bottom: 40px;
flex-wrap: wrap
}

.footer__brand-area {
display: flex;
flex-direction: column;
gap: 16px;
flex-shrink: 0
}

.footer__tagline {
font-size: 16px;
line-height: 1.7;
color: #4a3a7a;
font-weight: 400;
max-width: 280px
}

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

.footer__contact-label {
font-size: 16px;
font-weight: 700;
color: #2a1f4e;
line-height: 1.15;
letter-spacing: -.01em;
margin-bottom: 8px
}

.footer__contact-line {
display: flex;
align-items: center;
gap: 8px
}

.footer__contact-icon {
width: 16px;
height: 16px;
flex-shrink: 0;
fill: #7A6BBB
}

.footer__contact-link {
font-size: 16px;
color: #4a3a7a;
text-decoration: none;
line-height: 1.15;
transition: color .2s ease-out
}

.footer__contact-link:hover {
color: #7A6BBB
}

.footer__contact-text {
font-size: 16px;
color: #4a3a7a;
line-height: 1.15
}

.footer__legal-bar {
border-top: 1px solid #7a6bbb33;
padding: 16px 0;
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
flex-wrap: wrap
}

.footer__glass {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
flex-wrap: wrap;
width: 100%;
background: #ffffff8c;
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
border-radius: 16px;
border: 1px solid #dec0de80;
box-shadow: 0 1px 2px 0 #7a6bbb14 inset 0 2px 4px 0 #fff9;
padding: 16px 24px
}

.footer__copyright {
font-size: 16px;
color: #4a3a7a;
line-height: 1.15;
font-weight: 400
}

.footer__legal-menu {
display: flex;
align-items: center;
gap: 16px;
list-style: none;
margin: 0;
padding: 0
}

.footer__legal-menu a {
font-size: 16px;
color: #7A6BBB;
text-decoration: none;
line-height: 1.15;
transition: color .18s ease-out
}

.footer__legal-menu a:hover {
color: #4a3a7a
}

@media (max-width: 768px) {
.footer__inner {
padding: 0 24px
}

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

@media (max-width: 480px) {
.footer__inner {
padding: 0 16px
}

.footer__glass {
flex-direction: column;
align-items: flex-start;
gap: 8px
}
}

.consent-card {
position: fixed;
top: 24px;
left: 0;
right: 0;
margin: 0 auto;
width: 480px;
max-width: calc(100vw - 32px);
background: #fff;
border-radius: 16px;
border: 1.5px solid #DEC0DE;
box-shadow: 0 9px 48px 0 #7a6bbb21;
padding: 24px;
z-index: 1500;
display: none;
transform: translateX(120%);
transition: transform .32s ease-out
}

.consent-card--visible {
transform: translateX(0)
}

.consent-card__headline {
font-size: 22px;
font-weight: 700;
color: #2a1f4e;
line-height: 1.15;
letter-spacing: -.02em;
margin: 0 0 8px
}

.consent-card__description {
font-size: 16px;
color: #4a3a7a;
line-height: 1.7;
margin: 0 0 16px
}

.consent-card__toggles {
display: none;
flex-direction: column;
gap: 16px;
margin-bottom: 16px
}

.consent-card__toggles--open {
display: flex
}

.consent-toggle {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px
}

.consent-toggle__label {
font-size: 16px;
color: #2a1f4e;
font-weight: 500;
line-height: 1.15
}

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

.consent-toggle__input {
opacity: 0;
width: 0;
height: 0;
position: absolute
}

.consent-toggle__track {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #EFE7F4;
border-radius: 28px;
border: 1.5px solid #DEC0DE;
cursor: pointer;
transition: background-color .2s ease-out
}

.consent-toggle__track::after {
content: '';
position: absolute;
top: 3px;
left: 3px;
width: 14px;
height: 14px;
border-radius: 44px;
background-color: #7A6BBB;
transition: transform .2s ease-out
}

.consent-toggle__input:checked+.consent-toggle__track {
background-color: #DEC0DE
}

.consent-toggle__input:checked+.consent-toggle__track::after {
transform: translateX(20px)
}

.consent-card__actions {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap
}

.consent-card__button {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 8px 24px;
font-size: 16px;
font-weight: 500;
font-family: 'Literata', Georgia, serif;
line-height: 1.15;
border-radius: 4px;
cursor: pointer;
min-height: 44px;
background: transparent;
border: 1.5px solid #7A6BBB;
color: #7A6BBB;
text-decoration: none;
transition: color .2s ease-out, border-color .25s ease-out, background-color .18s ease-out
}

.consent-card__button:hover {
background-color: #7a6bbb12;
border-color: #4a3a7a;
color: #4a3a7a
}

.consent-card__settings-link {
font-size: 16px;
color: #7A6BBB;
background: none;
border: none;
padding: 8px;
cursor: pointer;
font-family: 'Literata', Georgia, serif;
text-decoration: underline;
min-height: 44px;
transition: color .2s ease-out
}

.consent-card__settings-link:hover {
color: #4a3a7a
}

.esda-legal-container {
max-width: 1440px;
margin: 0 auto;
padding: 72px 40px
}

.esda-legal-container p {
font-size: 16px;
line-height: 1.7;
color: #2d2d2d;
margin-bottom: 24px
}

.esda-legal-container ul,
.esda-legal-container ol {
padding-left: 24px;
margin-bottom: 24px
}

.esda-legal-container li {
font-size: 16px;
line-height: 1.7;
color: #2d2d2d;
margin-bottom: 8px
}

.esda-legal-container ul li {
list-style-type: disc
}

.esda-legal-container ol li {
list-style-type: decimal
}

.esda-legal-container strong,
.esda-legal-container b {
font-weight: 700;
color: #1e1e1e
}

.esda-legal-container a {
color: #7A6BBB;
text-decoration: underline;
text-underline-offset: 3px;
transition: color .2s ease-out, text-decoration-color .35s ease-out
}

.esda-legal-container a:hover {
color: #5a4d9a;
text-decoration-color: #DEC0DE
}

.esda-legal-container hr {
border: none;
border-top: 1px solid #EFE7F4;
margin: 40px 0
}

.esda-legal-container div {
margin-bottom: 24px
}

@media (max-width: 1024px) {
.esda-legal-container {
padding: 72px 40px
}
}

@media (max-width: 768px) {
.esda-legal-container {
padding: 40px 24px
}
}

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

.esda-legal-container p,
.esda-legal-container li {
font-size: 16px
}
}

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

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

.about-us .splash {
display: grid;
grid-template-columns: 40% 60%;
min-height: 0;
padding: 72px;
position: relative;
background: #fff;
align-items: center;
gap: 40px
}

.about-us .splash__blobs {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
border-radius: 0
}

.about-us .splash__blob--a {
position: absolute;
width: 340px;
height: 340px;
background: #EFE7F4;
border-radius: 44px;
top: -80px;
left: -60px;
filter: blur(60px);
opacity: .7
}

.about-us .splash__blob--b {
position: absolute;
width: 220px;
height: 220px;
background: #DEC0DE;
border-radius: 44px;
bottom: 0;
right: 120px;
filter: blur(48px);
opacity: .5
}

.about-us .splash__picture {
position: relative;
z-index: 1
}

.about-us .splash__card {
border-radius: 16px;
overflow: hidden;
box-shadow: 0 5px 22px 0 #7a6bbb14;
aspect-ratio: 4/3;
position: relative
}

.about-us .splash__card img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: blur(0px);
transition: filter .35s ease-out
}

.about-us .splash__card:hover img {
filter: blur(3px) brightness(0.97)
}

.about-us .splash__card::after {
content: "";
position: absolute;
inset: 0;
border-radius: 16px;
border: 2px solid transparent;
transition: border-color .25s ease-out;
pointer-events: none
}

.about-us .splash__card:hover::after {
border-color: #7A6BBB
}

.about-us .splash__text {
position: relative;
z-index: 1;
padding-left: 40px
}

.about-us .splash__kicker {
display: inline-block;
font-size: 16px;
line-height: 1.7;
color: #7A6BBB;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 16px;
padding-left: 24px;
position: relative
}

.about-us .splash__kicker::before {
content: "";
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 14px;
height: 2px;
background: #7A6BBB;
border-radius: 4px
}

.about-us .splash__heading {
font-size: 72px;
line-height: 1.15;
letter-spacing: -.03em;
color: #1e1b2e;
text-transform: uppercase;
margin: 0 0 24px
}

.about-us .splash__heading em {
font-style: normal;
color: #7A6BBB
}

.about-us .splash__desc {
font-size: 16px;
line-height: 1.7;
color: #4a4560;
max-width: 480px;
margin: 0
}

.about-us .splash__desc strong {
color: #1e1b2e
}

@keyframes splashUp {
from {
opacity: 0;
transform: translateY(32px)
}

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

.about-us .splash__kicker {
animation: splashUp .35s ease-out both;
animation-delay: .08s
}

.about-us .splash__heading {
animation: splashUp .4s ease-out both;
animation-delay: .18s
}

.about-us .splash__desc {
animation: splashUp .38s ease-out both;
animation-delay: .28s
}

.about-us .splash__card {
animation: splashUp .45s ease-out both;
animation-delay: .12s
}

.about-us .philosophy {
padding: 72px;
background: #EFE7F4;
position: relative;
clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 0 100%);
padding-bottom: 112px
}

.about-us .philosophy__grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px;
max-width: 1440px;
align-items: start
}

.about-us .philosophy__grid .pillar--tall {
margin-top: -24px
}

.about-us .pillar {
background: #fff;
border-radius: 16px;
padding: 40px;
box-shadow: 0 1px 2px 0 #7a6bbb14;
transition: box-shadow .22s ease-out
}

.about-us .pillar:hover {
box-shadow: 0 9px 48px 0 #7a6bbb21
}

.about-us .pillar--tall {
padding: 40px 40px 72px
}

.about-us .pillar__icon {
width: 40px;
height: 40px;
margin-bottom: 16px
}

.about-us .pillar__label {
font-size: 22px;
line-height: 1.15;
color: #1e1b2e;
margin: 0 0 16px;
letter-spacing: -.01em
}

.about-us .pillar__body {
font-size: 16px;
line-height: 1.7;
color: #4a4560;
margin: 0
}

.about-us .pillar__accent {
display: block;
width: 32px;
height: 3px;
background: #7A6BBB;
border-radius: 4px;
margin-bottom: 16px;
border-left: none;
border-right: 3px solid #DEC0DE
}

.about-us .philosophy__lead {
margin-bottom: 40px
}

.about-us .philosophy__lead-heading {
font-size: 40px;
line-height: 1.15;
color: #1e1b2e;
letter-spacing: -.02em;
text-transform: uppercase;
margin: 0 0 16px
}

.about-us .philosophy__lead-sub {
font-size: 16px;
line-height: 1.7;
color: #4a4560;
max-width: 560px;
margin: 0
}

.about-us .team {
padding: 72px;
background: #fff;
position: relative
}

.about-us .team__row {
display: grid;
grid-template-columns: 60% 40%;
gap: 40px;
align-items: start
}

.about-us .team__portraits {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start
}

.about-us .portrait-card {
flex: 1;
display: flex;
flex-direction: column;
gap: 16px
}

.about-us .portrait-card__image {
aspect-ratio: 1/1;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 5px 22px 0 #7a6bbb14;
position: relative
}

.about-us .portrait-card__image img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .38s ease-out
}

.about-us .portrait-card__image::after {
content: "";
position: absolute;
inset: 0;
border-radius: 16px;
border: 2px solid transparent;
transition: border-color .28s ease-out;
pointer-events: none
}

.about-us .portrait-card:hover .portrait-card__image::after {
border-color: #7A6BBB
}

.about-us .portrait-card:hover .portrait-card__image img {
transform: scale(1.03)
}

.about-us .portrait-card__name {
font-size: 16px;
line-height: 1.15;
color: #1e1b2e;
margin: 0;
letter-spacing: -.01em
}

.about-us .portrait-card__role {
font-size: 16px;
line-height: 1.7;
color: #7A6BBB;
margin: 8px 0 0
}

.about-us .team__copy {
padding-top: 8px
}

.about-us .team__heading {
font-size: 40px;
line-height: 1.15;
color: #1e1b2e;
letter-spacing: -.02em;
margin: 0 0 24px;
text-transform: uppercase
}

.about-us .team__para {
font-size: 16px;
line-height: 1.7;
color: #4a4560;
margin: 0 0 24px
}

.about-us .team__quote {
border-left: 3px solid #DEC0DE;
border-top: 1px solid #EFE7F4;
padding: 16px 24px;
margin: 0;
background: #EFE7F4;
border-radius: 8px
}

.about-us .team__quote p {
font-size: 16px;
line-height: 1.7;
color: #1e1b2e;
margin: 0;
font-style: italic
}

.about-us .process {
padding: 72px;
background: #1e1b2e;
position: relative;
clip-path: polygon(0 40px, 100% 0, 100% 100%, 0 100%);
padding-top: 112px
}

.about-us .process__geo {
position: absolute;
top: 50%;
right: 72px;
transform: translateY(-50%);
width: 220px;
height: 220px;
border: 2px solid #dec0de26;
border-radius: 28px;
animation: geoRotate 18s linear infinite;
pointer-events: none
}

.about-us .process__geo::before {
content: "";
position: absolute;
inset: 16px;
border: 1px solid #7a6bbb33;
border-radius: 16px
}

@keyframes geoRotate {
from {
transform: translateY(-50%) rotate(0deg)
}

to {
transform: translateY(-50%) rotate(360deg)
}
}

.about-us .process__heading {
font-size: 40px;
line-height: 1.15;
color: #fff;
letter-spacing: -.02em;
text-transform: uppercase;
margin: 0 0 8px;
max-width: 600px
}

.about-us .process__sub {
font-size: 16px;
line-height: 1.7;
color: #a89fc8;
margin: 0 0 40px;
max-width: 520px
}

.about-us .process__steps {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
position: relative;
z-index: 1
}

.about-us .step {
padding: 24px;
border-radius: 16px;
background: #ffffff0a;
border: 1px solid #dec0de1a;
transition: background .25s ease-out, border-color .25s ease-out
}

.about-us .step:hover {
background: #7a6bbb26;
border-color: #7a6bbb66
}

.about-us .step__number {
font-size: 40px;
line-height: 1.15;
color: #7a6bbb59;
letter-spacing: -.03em;
margin: 0 0 16px
}

.about-us .step__label {
font-size: 16px;
line-height: 1.15;
color: #fff;
margin: 0 0 8px;
letter-spacing: -.01em
}

.about-us .step__desc {
font-size: 16px;
line-height: 1.7;
color: #a89fc8;
margin: 0
}

.about-us .process__images {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 16px;
margin-top: 40px
}

.about-us .process__img-wrap {
aspect-ratio: 4/3;
border-radius: 16px;
overflow: hidden;
position: relative
}

.about-us .process__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .4s ease-out
}

.about-us .process__img-wrap::after {
content: "";
position: absolute;
inset: 0;
border-radius: 16px;
border: 2px solid transparent;
transition: border-color .22s ease-out;
pointer-events: none;
z-index: 2
}

.about-us .process__img-wrap:hover::after {
border-color: #7A6BBB
}

.about-us .process__img-wrap:hover img {
transform: scale(1.04)
}

.about-us .process__img-wrap--reveal {
position: relative;
cursor: pointer
}

.about-us .process__img-wrap--reveal .reveal-overlay {
position: absolute;
inset: 0;
background: #1e1b2e8c;
display: flex;
align-items: center;
justify-content: center;
border-radius: 16px;
transition: opacity .35s ease-out;
z-index: 1
}

.about-us .process__img-wrap--reveal:hover .reveal-overlay {
opacity: 0
}

.about-us .reveal-overlay__circle {
width: 64px;
height: 64px;
border-radius: 44px;
background: #7a6bbbd9;
display: flex;
align-items: center;
justify-content: center
}

.about-us .reveal-overlay__circle svg {
width: 24px;
height: 24px;
fill: #fff
}

@media (max-width: 1024px) {
.about-us .splash {
grid-template-columns: 1fr;
padding: 40px;
gap: 24px
}

.about-us .splash__text {
padding-left: 0
}

.about-us .splash__heading {
font-size: 40px
}

.about-us .philosophy {
padding: 72px 40px 112px
}

.about-us .philosophy__grid {
grid-template-columns: 1fr 1fr
}

.about-us .pillar--tall {
margin-top: 0
}

.about-us .team {
padding: 72px 40px
}

.about-us .team__row {
grid-template-columns: 1fr
}

.about-us .process {
padding: 112px 40px 72px
}

.about-us .process__steps {
grid-template-columns: 1fr 1fr
}

.about-us .process__images {
grid-template-columns: 1fr 1fr
}

.about-us .process__geo {
display: none
}
}

@media (max-width: 768px) {
.about-us .splash {
padding: 40px 24px
}

.about-us .splash__heading {
font-size: 40px
}

.about-us .philosophy {
padding: 40px 24px 80px
}

.about-us .philosophy__grid {
grid-template-columns: 1fr
}

.about-us .team {
padding: 40px 24px
}

.about-us .team__portraits {
flex-direction: column
}

.about-us .process {
padding: 80px 24px 40px
}

.about-us .process__steps {
grid-template-columns: 1fr
}

.about-us .process__images {
grid-template-columns: 1fr
}
}

@media (max-width: 480px) {
.about-us .splash__heading {
font-size: 40px
}

.about-us .philosophy__lead-heading,
.about-us .team__heading,
.about-us .process__heading {
font-size: 40px
}
}

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

.learning-program .grain-field {
position: relative;
padding: 72px 40px;
background-color: #EFE7F4
}

.learning-program .grain-field::before {
content: "";
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='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.08'/%3E%3C/svg%3E");
pointer-events: none;
opacity: .6
}

.learning-program .grain-field .dots-path {
position: absolute;
top: 40px;
right: 72px;
display: flex;
flex-direction: column;
gap: 16px;
pointer-events: none
}

.learning-program .grain-field .dots-path .dot-row {
display: flex;
flex-direction: row;
gap: 16px
}

.learning-program .grain-field .dots-path .dot-item {
width: 6px;
height: 6px;
border-radius: 50%;
background-color: #7A6BBB;
opacity: .35
}

.learning-program .grain-field .dots-path .dot-item--light {
opacity: .15
}

.learning-program .grain-field .dots-path .dot-item--mid {
opacity: .25
}

.learning-program .title-area {
position: relative;
z-index: 1;
max-width: 720px
}

.learning-program .title-area .program-label {
display: inline-block;
font-size: 16px;
line-height: 1.7;
color: #7A6BBB;
border-left: 3px solid #7A6BBB;
border-top: 1px solid #DEC0DE;
padding: 8px 16px;
margin-bottom: 24px;
border-radius: 4px;
letter-spacing: .04em;
text-transform: uppercase
}

.learning-program .title-area .program-heading {
font-size: 72px;
line-height: 1.15;
letter-spacing: -.03em;
color: #1e1630;
margin-bottom: 24px;
text-transform: uppercase
}

.learning-program .title-area .program-action {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 16px;
line-height: 1.7;
color: #7A6BBB;
text-decoration: none;
border-bottom: 1px solid #7A6BBB;
padding-bottom: 8px;
transition: color .2s ease-out, border-color .38s ease-out
}

.learning-program .title-area .program-action:hover {
color: #5a4d9a;
border-color: #5a4d9a
}

.learning-program .title-area .program-action .arrow-icon {
width: 18px;
height: 18px;
flex-shrink: 0
}

.learning-program .title-image-band {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0;
height: 320px
}

.learning-program .title-image-band .image-frame {
overflow: hidden;
position: relative
}

.learning-program .title-image-band .image-frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: sepia(0.18) saturate(1.1) brightness(0.97)
}

.learning-program .title-image-band .image-frame--accent {
background: linear-gradient(160deg, #7A6BBB 0%, #DEC0DE 100%);
display: flex;
align-items: center;
justify-content: center
}

.learning-program .title-image-band .image-frame--accent .accent-stat {
text-align: center;
color: #fff;
padding: 24px
}

.learning-program .title-image-band .image-frame--accent .accent-stat .stat-number {
font-size: 72px;
line-height: 1.15;
letter-spacing: -.04em;
display: block
}

.learning-program .title-image-band .image-frame--accent .accent-stat .stat-label {
font-size: 16px;
line-height: 1.7;
opacity: .88
}

.learning-program .curriculum-band {
padding: 72px 40px;
background-color: #fff;
border-top: 1px solid #DEC0DE
}

.learning-program .curriculum-band .band-top {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 40px;
margin-bottom: 40px
}

.learning-program .curriculum-band .band-top .band-label-group {
flex: 0 0 auto;
max-width: 280px
}

.learning-program .curriculum-band .band-top .band-label-group .accent-bar {
width: 40px;
height: 3px;
background-color: #7A6BBB;
border-radius: 4px;
margin-bottom: 16px
}

.learning-program .curriculum-band .band-top .band-label-group .band-heading {
font-size: 40px;
line-height: 1.15;
letter-spacing: -.02em;
color: #1e1630;
margin-bottom: 16px
}

.learning-program .curriculum-band .band-top .band-description {
flex: 1;
font-size: 16px;
line-height: 1.7;
color: #3a3050;
max-width: 560px
}

.learning-program .curriculum-band .band-top .band-description .quote-paragraph {
border-left: 3px solid #DEC0DE;
border-right: 1px solid #EFE7F4;
padding: 16px 24px;
border-radius: 4px;
background-color: #f9f4fc;
font-size: 16px;
line-height: 1.7;
color: #3a3050;
margin-bottom: 16px
}

.learning-program .curriculum-band .modules-grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr 1fr;
gap: 16px
}

.learning-program .curriculum-band .module-card {
border: 1px solid #EFE7F4;
border-radius: 16px;
padding: 24px;
background-color: #fff;
box-shadow: 0 1px 2px 0 #7a6bbb14;
transition: box-shadow .22s ease-out, border-color .18s ease-out;
position: relative;
overflow: hidden
}

.learning-program .curriculum-band .module-card:hover {
box-shadow: 0 5px 22px 0 #7a6bbb14;
border-color: #DEC0DE
}

.learning-program .curriculum-band .module-card--featured {
background: linear-gradient(145deg, #f4f0fa 0%, #fff 60%);
border-color: #DEC0DE;
box-shadow: 0 5px 22px 0 #7a6bbb14
}

.learning-program .curriculum-band .module-card .module-number {
font-size: 40px;
line-height: 1.15;
color: #DEC0DE;
letter-spacing: -.04em;
margin-bottom: 16px;
display: block
}

.learning-program .curriculum-band .module-card .module-title {
font-size: 22px;
line-height: 1.15;
color: #1e1630;
margin-bottom: 16px
}

.learning-program .curriculum-band .module-card .module-body {
font-size: 16px;
line-height: 1.7;
color: #3a3050
}

.learning-program .curriculum-band .module-card .module-tag {
display: inline-block;
margin-top: 16px;
font-size: 16px;
line-height: 1.15;
color: #7A6BBB;
border: 1px solid #DEC0DE;
border-radius: 44px;
padding: 8px 16px
}

.learning-program .curriculum-band .module-card .difficulty-bar {
margin-top: 16px;
display: flex;
flex-direction: row;
gap: 8px;
align-items: center
}

.learning-program .curriculum-band .module-card .difficulty-bar .bar-label {
font-size: 16px;
line-height: 1.15;
color: #7A6BBB;
white-space: nowrap
}

.learning-program .curriculum-band .module-card .difficulty-bar .bar-track {
flex: 1;
height: 6px;
background-color: #EFE7F4;
border-radius: 4px;
overflow: hidden
}

.learning-program .curriculum-band .module-card .difficulty-bar .bar-fill {
height: 100%;
border-radius: 4px;
background-color: #7A6BBB
}

.learning-program .curriculum-band .module-card .difficulty-bar .bar-fill--low {
width: 30%
}

.learning-program .curriculum-band .module-card .difficulty-bar .bar-fill--mid {
width: 55%
}

.learning-program .curriculum-band .module-card .difficulty-bar .bar-fill--high {
width: 80%
}

.learning-program .curriculum-band .module-card .difficulty-bar .bar-fill--full {
width: 95%
}

.learning-program .people-band {
padding: 72px 40px;
background-color: #EFE7F4;
border-top: 1px solid #DEC0DE
}

.learning-program .people-band .people-top {
margin-bottom: 40px
}

.learning-program .people-band .people-top .accent-bar {
width: 40px;
height: 3px;
background-color: #7A6BBB;
border-radius: 4px;
margin-bottom: 16px
}

.learning-program .people-band .people-top .people-heading {
font-size: 40px;
line-height: 1.15;
letter-spacing: -.02em;
color: #1e1630;
max-width: 480px
}

.learning-program .people-band .roles-layout {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px
}

.learning-program .people-band .role-column {
background-color: #fff;
border-radius: 16px;
padding: 24px;
box-shadow: 0 1px 2px 0 #7a6bbb14;
border: 1px solid #fff;
transition: box-shadow .28s ease-out
}

.learning-program .people-band .role-column:hover {
box-shadow: 0 9px 48px 0 #7a6bbb21
}

.learning-program .people-band .role-column .role-badge {
display: inline-block;
font-size: 16px;
line-height: 1.15;
color: #7A6BBB;
background-color: #EFE7F4;
border-radius: 8px;
padding: 8px 16px;
margin-bottom: 24px;
text-transform: uppercase;
letter-spacing: .06em
}

.learning-program .people-band .role-column .role-title {
font-size: 22px;
line-height: 1.15;
color: #1e1630;
margin-bottom: 16px
}

.learning-program .people-band .role-column .role-body {
font-size: 16px;
line-height: 1.7;
color: #3a3050;
margin-bottom: 24px
}

.learning-program .people-band .role-column .role-quote {
border-left: 3px solid #DEC0DE;
border-right: 1px solid #EFE7F4;
padding: 16px 24px;
border-radius: 4px;
background-color: #f9f4fc;
font-size: 16px;
line-height: 1.7;
color: #3a3050;
margin-bottom: 24px
}

.learning-program .people-band .role-column .person-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px
}

.learning-program .people-band .role-column .person-row .portrait-circle {
width: 56px;
height: 56px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
border: 2px solid #DEC0DE;
box-shadow: 0 1px 2px 0 #7a6bbb14
}

.learning-program .people-band .role-column .person-row .portrait-circle img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.learning-program .people-band .role-column .person-row .person-meta .person-name {
font-size: 16px;
line-height: 1.15;
color: #1e1630
}

.learning-program .people-band .role-column .person-row .person-meta .person-role {
font-size: 16px;
line-height: 1.7;
color: #7A6BBB
}

.learning-program .image-showcase {
position: relative;
height: 320px;
display: grid;
grid-template-columns: 3fr 2fr;
gap: 0;
border-top: 1px solid #DEC0DE
}

.learning-program .image-showcase .showcase-frame {
overflow: hidden
}

.learning-program .image-showcase .showcase-frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
aspect-ratio: 4/3;
transition: transform .45s ease-out
}

.learning-program .image-showcase .showcase-frame:hover img {
transform: scale(1.03)
}

.learning-program .image-showcase .showcase-text-panel {
background-color: #1e1630;
display: flex;
flex-direction: column;
justify-content: center;
padding: 40px
}

.learning-program .image-showcase .showcase-text-panel .panel-eyebrow {
font-size: 16px;
line-height: 1.7;
color: #DEC0DE;
text-transform: uppercase;
letter-spacing: .08em;
margin-bottom: 16px
}

.learning-program .image-showcase .showcase-text-panel .panel-heading {
font-size: 22px;
line-height: 1.15;
color: #fff;
margin-bottom: 16px
}

.learning-program .image-showcase .showcase-text-panel .panel-body {
font-size: 16px;
line-height: 1.7;
color: #c4b8e0
}

.learning-program .fade-in-element {
opacity: 0;
animation: revealUp .38s ease-out forwards
}

.learning-program .fade-in-element--delay-1 {
animation-delay: .1s
}

.learning-program .fade-in-element--delay-2 {
animation-delay: .22s
}

.learning-program .fade-in-element--delay-3 {
animation-delay: .35s
}

@keyframes revealUp {
from {
opacity: 0;
transform: translateY(16px)
}

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

@media (max-width: 1024px) {
.learning-program .curriculum-band .modules-grid {
grid-template-columns: 1fr 1fr
}

.learning-program .title-area .program-heading {
font-size: 40px
}

.learning-program .people-band .roles-layout {
grid-template-columns: 1fr 1fr
}

.learning-program .image-showcase {
grid-template-columns: 1fr;
height: auto
}

.learning-program .image-showcase .showcase-frame {
height: 240px
}
}

@media (max-width: 768px) {
.learning-program .grain-field {
padding: 40px 24px
}

.learning-program .curriculum-band {
padding: 40px 24px
}

.learning-program .curriculum-band .band-top {
flex-direction: column;
gap: 24px
}

.learning-program .curriculum-band .modules-grid {
grid-template-columns: 1fr
}

.learning-program .people-band {
padding: 40px 24px
}

.learning-program .people-band .roles-layout {
grid-template-columns: 1fr
}

.learning-program .title-image-band {
grid-template-columns: 1fr;
height: auto
}

.learning-program .title-image-band .image-frame {
height: 200px
}

.learning-program .grain-field .dots-path {
display: none
}
}

@media (max-width: 480px) {
.learning-program .title-area .program-heading {
font-size: 40px
}

.learning-program .curriculum-band .band-top .band-label-group .band-heading {
font-size: 22px
}

.learning-program .people-band .people-top .people-heading {
font-size: 22px
}
}

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

.lead .pitch {
position: relative;
padding: 72px 40px;
background-color: #f4f0f8;
overflow: hidden
}

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

.lead .pitch__pattern {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.lead .pitch__dot {
position: absolute;
width: 4px;
height: 4px;
border-radius: 4px;
background-color: #7A6BBB;
opacity: .18
}

.lead .pitch__body {
position: relative;
max-width: 1440px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 72px;
align-items: center
}

.lead .pitch__text {
flex: 1 1 0;
min-width: 0
}

.lead .pitch__label {
display: inline-block;
font-size: 16px;
line-height: 1.15;
letter-spacing: .08em;
color: #7A6BBB;
text-transform: uppercase;
margin-bottom: 24px;
border-bottom: 2px solid #DEC0DE;
padding-bottom: 8px
}

.lead .pitch__heading {
font-size: 72px;
line-height: 1.15;
letter-spacing: -.03em;
color: #2a2340;
margin: 0 0 24px;
text-transform: uppercase
}

.lead .pitch__heading--accent {
color: #7A6BBB
}

.lead .pitch__subtext {
font-size: 22px;
line-height: 1.7;
color: #4a3f6b;
margin: 0 0 40px;
max-width: 520px
}

.lead .pitch__theses {
display: flex;
flex-direction: column;
gap: 16px
}

.lead .pitch__thesis {
font-size: 16px;
line-height: 1.7;
color: #3d3258;
padding-left: 16px;
border-left: 3px solid #DEC0DE;
border-bottom: 1px solid #ede6f5;
padding-bottom: 16px
}

.lead .pitch__visual {
flex: 0 0 420px;
position: relative
}

.lead .pitch__image-frame {
position: relative;
border-radius: 16px;
overflow: hidden;
border: 2px dashed #DEC0DE;
aspect-ratio: 4/3
}

.lead .pitch__image-frame img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0.7) brightness(0.95);
transition: filter .45s ease-out
}

.lead .pitch__image-frame:hover img {
filter: saturate(1) brightness(1)
}

.lead .pitch__badge {
position: absolute;
bottom: -16px;
left: -16px;
background-color: #7A6BBB;
color: #fff;
font-size: 16px;
line-height: 1.15;
padding: 16px 24px;
border-radius: 8px;
box-shadow: 0 5px 22px 0 #7a6bbb14;
z-index: 2
}

.lead .readiness {
background-color: #fff;
padding: 72px 40px;
position: relative
}

.lead .readiness__inner {
max-width: 1440px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 40px;
align-items: flex-start
}

.lead .readiness__aside {
flex: 0 0 320px;
position: relative
}

.lead .readiness__image-wrap {
border-radius: 16px;
overflow: hidden;
aspect-ratio: 4/3;
border: 1px solid #EFE7F4;
box-shadow: 0 9px 48px 0 #7a6bbb21;
transition: box-shadow .25s ease-out
}

.lead .readiness__image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: grayscale(1);
transition: filter .38s ease-out
}

.lead .readiness__image-wrap:hover img {
filter: grayscale(0)
}

.lead .readiness__main {
flex: 1 1 0;
min-width: 0
}

.lead .readiness__bar {
width: 40px;
height: 3px;
background-color: #7A6BBB;
border-radius: 4px;
margin-bottom: 16px
}

.lead .readiness__heading {
font-size: 40px;
line-height: 1.15;
letter-spacing: -.02em;
color: #2a2340;
margin: 0 0 24px
}

.lead .readiness__heading--accent {
color: #7A6BBB
}

.lead .readiness__quote {
font-size: 22px;
line-height: 1.7;
color: #4a3f6b;
border-left: 4px solid #DEC0DE;
margin: 0 0 24px;
background-color: #EFE7F4;
border-radius: 0 8px 8px 0;
padding: 16px 16px 16px 24px
}

.lead .readiness__list {
list-style: disc;
padding-left: 24px;
margin: 0;
display: flex;
flex-direction: column;
gap: 8px
}

.lead .readiness__list li {
font-size: 16px;
line-height: 1.7;
color: #3d3258
}

.lead .problem {
background-color: #EFE7F4;
padding: 72px 40px;
position: relative
}

.lead .problem__full-bg {
position: absolute;
inset: 0;
background-color: #EFE7F4;
z-index: 0
}

.lead .problem__inner {
position: relative;
z-index: 1;
max-width: 1440px;
margin: 0 auto
}

.lead .problem__top {
display: flex;
flex-direction: row;
gap: 40px;
margin-bottom: 40px;
align-items: flex-start
}

.lead .problem__text {
flex: 1 1 0;
min-width: 0
}

.lead .problem__bar {
width: 40px;
height: 3px;
background-color: #7A6BBB;
border-radius: 4px;
margin-bottom: 16px
}

.lead .problem__heading {
font-size: 40px;
line-height: 1.15;
letter-spacing: -.02em;
color: #2a2340;
margin: 0 0 24px;
text-transform: uppercase
}

.lead .problem__heading--accent {
color: #7A6BBB
}

.lead .problem__body {
font-size: 16px;
line-height: 1.7;
color: #3d3258;
margin: 0 0 24px;
max-width: 560px
}

.lead .problem__quote-block {
font-size: 22px;
line-height: 1.7;
color: #4a3f6b;
border-left: 4px solid #7A6BBB;
border-bottom: 1px solid #DEC0DE;
padding: 16px 24px;
background-color: #fff;
border-radius: 0 8px 8px 0;
margin: 0;
max-width: 560px
}

.lead .problem__images {
flex: 0 0 340px;
display: flex;
flex-direction: column;
gap: 16px
}

.lead .problem__img-wrap {
border-radius: 16px;
overflow: hidden;
aspect-ratio: 4/3;
box-shadow: 0 1px 2px 0 #7a6bbb14;
transition: box-shadow .2s ease-out
}

.lead .problem__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: grayscale(1);
transition: filter .42s ease-out;
animation: mono-cycle 6s ease-out infinite
}

@keyframes mono-cycle {
0% {
filter: grayscale(1)
}

40% {
filter: grayscale(0)
}

80% {
filter: grayscale(1)
}

100% {
filter: grayscale(1)
}
}

.lead .problem__img-wrap:nth-child(2) img {
animation-delay: 3s
}

.lead .situations {
background-color: #fff;
padding: 72px 40px;
position: relative
}

.lead .situations__divider {
position: absolute;
top: 0;
left: 0;
width: 100%;
overflow: hidden;
line-height: 0
}

.lead .situations__divider svg {
display: block;
width: 100%
}

.lead .situations__inner {
max-width: 1440px;
margin: 0 auto
}

.lead .situations__bar {
width: 40px;
height: 3px;
background-color: #7A6BBB;
border-radius: 4px;
margin-bottom: 16px
}

.lead .situations__heading {
font-size: 40px;
line-height: 1.15;
letter-spacing: -.02em;
color: #2a2340;
margin: 0 0 24px
}

.lead .situations__heading--accent {
color: #7A6BBB
}

.lead .situations__intro {
font-size: 16px;
line-height: 1.7;
color: #3d3258;
margin: 0 0 40px;
max-width: 620px
}

.lead .situations__grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 24px;
margin-bottom: 40px
}

.lead .situations__card {
border-radius: 16px;
border: 1px solid #EFE7F4;
padding: 24px;
background-color: #faf8fd;
box-shadow: 0 1px 2px 0 #7a6bbb14;
position: relative;
transition: box-shadow .22s ease-out, border-color .22s ease-out
}

.lead .situations__card::before {
content: '';
position: absolute;
inset: 0;
border-radius: 16px;
border: 2px solid transparent;
pointer-events: none;
transition: border-color .35s ease-out
}

.lead .situations__card:hover::before {
border-color: #7A6BBB
}

.lead .situations__card:hover {
box-shadow: 0 5px 22px 0 #7a6bbb14
}

.lead .situations__card-num {
font-size: 40px;
line-height: 1.15;
color: #DEC0DE;
letter-spacing: -.04em;
margin-bottom: 8px
}

.lead .situations__card-heading {
font-size: 22px;
line-height: 1.15;
color: #2a2340;
margin: 0 0 16px
}

.lead .situations__card-text {
font-size: 16px;
line-height: 1.7;
color: #4a3f6b;
margin: 0
}

.lead .situations__bottom {
display: flex;
flex-direction: row;
gap: 40px;
align-items: center
}

.lead .situations__portraits {
display: flex;
flex-direction: row;
gap: 16px
}

.lead .situations__portrait-wrap {
width: 80px;
height: 80px;
border-radius: 44px;
overflow: hidden;
flex-shrink: 0;
border: 2px solid #DEC0DE;
box-shadow: 0 5px 22px 0 #7a6bbb14
}

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

.lead .situations__testimony {
flex: 1 1 0;
min-width: 0
}

.lead .situations__testimony-text {
font-size: 16px;
line-height: 1.7;
color: #3d3258;
margin: 0 0 8px;
border-left: 3px solid #DEC0DE;
padding-left: 16px
}

.lead .situations__testimony-names {
font-size: 16px;
line-height: 1.15;
color: #7A6BBB
}

.lead .situations__last-image {
flex: 0 0 260px;
border-radius: 16px;
overflow: hidden;
aspect-ratio: 4/3;
box-shadow: 0 9px 48px 0 #7a6bbb21;
border: 2px dashed #DEC0DE
}

.lead .situations__last-image img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: filter .38s ease-out;
filter: saturate(0.8)
}

.lead .situations__last-image:hover img {
filter: saturate(1)
}

@media (max-width: 1024px) {
.lead .pitch__body {
flex-direction: column;
gap: 40px
}

.lead .pitch__visual {
flex: 0 0 auto;
width: 100%
}

.lead .pitch__heading {
font-size: 40px
}

.lead .readiness__inner {
flex-direction: column
}

.lead .readiness__aside {
flex: 0 0 auto;
width: 100%
}

.lead .problem__top {
flex-direction: column
}

.lead .problem__images {
flex: 0 0 auto;
width: 100%;
flex-direction: row
}

.lead .situations__grid {
grid-template-columns: 1fr
}

.lead .situations__bottom {
flex-direction: column
}

.lead .situations__last-image {
flex: 0 0 auto;
width: 100%
}
}

@media (max-width: 768px) {
.lead .pitch {
padding: 40px 24px
}

.lead .pitch__heading {
font-size: 40px
}

.lead .readiness {
padding: 40px 24px
}

.lead .problem {
padding: 40px 24px
}

.lead .situations {
padding: 40px 24px
}

.lead .situations__portraits {
flex-direction: column
}
}

@media (max-width: 480px) {
.lead .pitch__heading {
font-size: 40px
}

.lead .pitch__subtext {
font-size: 16px
}

.lead .readiness__quote {
font-size: 16px
}

.lead .problem__quote-block {
font-size: 16px
}

.lead .situations__card-heading {
font-size: 16px
}
}

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

.contact-us .split-panel {
display: flex;
flex-direction: row;
min-height: 520px
}

.contact-us .split-panel__left {
width: 40%;
background: #7A6BBB;
padding: 72px 40px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
overflow: hidden
}

.contact-us .split-panel__left::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 30% 40%, #ffffff14 0%, #7a6bbb00 70%);
pointer-events: none
}

.contact-us .split-panel__stripe {
position: absolute;
top: 0;
right: 0;
width: 6px;
height: 100%;
background: #DEC0DE;
opacity: .6
}

.contact-us .split-panel__right {
width: 60%;
background: #EFE7F4;
padding: 72px 40px;
display: flex;
flex-direction: column;
justify-content: center
}

.contact-us .panel-label {
font-size: 16px;
line-height: 1.7;
color: #DEC0DE;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 24px
}

.contact-us .panel-heading {
font-size: 40px;
line-height: 1.15;
color: #fff;
letter-spacing: -.02em;
text-transform: uppercase;
margin-bottom: 24px
}

.contact-us .panel-heading--break {
display: block
}

.contact-us .panel-sub {
font-size: 16px;
line-height: 1.7;
color: #ffffffd1;
max-width: 320px
}

.contact-us .form-heading {
font-size: 22px;
line-height: 1.15;
color: #2a2040;
letter-spacing: -.01em;
margin-bottom: 8px
}

.contact-us .form-note {
font-size: 16px;
line-height: 1.7;
color: #5a5070;
margin-bottom: 40px
}

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

.contact-us .form-row {
display: flex;
flex-direction: row;
gap: 16px
}

.contact-us .field-group {
display: flex;
flex-direction: column;
gap: 8px;
flex: 1
}

.contact-us .field-group--full {
flex: 1 1 100%
}

.contact-us .field-label {
font-size: 16px;
line-height: 1.15;
color: #2a2040;
letter-spacing: .01em
}

.contact-us .field-input {
padding: 16px;
border: 1.5px solid #c4b8e0;
border-radius: 8px;
font-size: 16px;
line-height: 1.7;
color: #2a2040;
background: #fff;
outline: none;
transition: border-color .25s ease-out, box-shadow .2s ease-out;
box-shadow: inset 0 2px 4px 0 #7a6bbb0f
}

.contact-us .field-input::placeholder {
font-size: 14px;
color: #9d94bb
}

.contact-us .field-input:focus {
border-color: #7A6BBB;
box-shadow: inset 0 2px 6px 0 #7a6bbb1a 0 1px 2px 0 #7a6bbb14
}

.contact-us .field-select {
padding: 16px;
border: 1.5px solid #c4b8e0;
border-radius: 8px;
font-size: 16px;
line-height: 1.7;
color: #2a2040;
background: #fff;
outline: none;
appearance: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%237A6BBB' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 16px center;
cursor: pointer;
transition: border-color .25s ease-out;
box-shadow: inset 0 2px 4px 0 #7a6bbb0f
}

.contact-us .field-select:focus {
border-color: #7A6BBB
}

.contact-us .radio-group {
display: flex;
flex-direction: row;
gap: 24px;
flex-wrap: wrap;
padding: 8px 0
}

.contact-us .radio-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
cursor: pointer
}

.contact-us .radio-item input[type="radio"] {
accent-color: #7A6BBB;
width: 18px;
height: 18px;
cursor: pointer
}

.contact-us .radio-item .radio-text {
font-size: 16px;
line-height: 1.7;
color: #2a2040
}

.contact-us .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
background: #7a6bbb0f;
border-radius: 8px;
border: 1px solid #7a6bbb26
}

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

.contact-us .privacy-text {
font-size: 16px;
line-height: 1.7;
color: #5a5070
}

.contact-us .privacy-text a {
color: #7A6BBB;
text-decoration: underline;
transition: color .2s ease-out
}

.contact-us .privacy-text a:hover {
color: #5a4da0
}

.contact-us .submit-button {
align-self: flex-start;
padding: 16px 40px;
background: #7A6BBB;
color: #fff;
font-size: 16px;
line-height: 1.15;
letter-spacing: .04em;
border: 2px solid #7A6BBB;
border-radius: 4px;
cursor: pointer;
position: relative;
transition: background .2s ease-out, color .2s ease-out;
box-shadow: 0 5px 22px 0 #7a6bbb14
}

.contact-us .submit-button::before {
content: "";
position: absolute;
inset: -2px;
border-radius: 4px;
border: 2px solid transparent;
transition: border-color .35s ease-out;
pointer-events: none
}

.contact-us .submit-button:hover {
background: #5a4da0;
border-color: #5a4da0
}

.contact-us .submit-button:hover::before {
border-color: #DEC0DE
}

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

.contact-us .details-strip {
display: flex;
flex-direction: row;
background: #fff;
border-top: 1px solid #7a6bbb1f;
border-bottom: 1px solid #7a6bbb1f
}

.contact-us .detail-cell {
flex: 1;
padding: 40px;
border-right: 1px solid #7a6bbb1f;
display: flex;
flex-direction: column;
gap: 8px;
position: relative;
transition: background .22s ease-out
}

.contact-us .detail-cell:last-child {
border-right: none
}

.contact-us .detail-cell:hover {
background: #efe7f480
}

.contact-us .detail-icon {
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 8px
}

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

.contact-us .detail-kind {
font-size: 16px;
line-height: 1.15;
color: #7A6BBB;
letter-spacing: .06em;
text-transform: uppercase
}

.contact-us .detail-value {
font-size: 16px;
line-height: 1.7;
color: #2a2040
}

.contact-us .detail-value a {
color: #2a2040;
text-decoration: none;
border-bottom: 1px solid #7a6bbb4d;
transition: border-color .18s ease-out, color .18s ease-out
}

.contact-us .detail-value a:hover {
color: #7A6BBB;
border-color: #7A6BBB
}

.contact-us .legend-strip {
background: linear-gradient(to right, #7A6BBB, #EFE7F4);
padding: 72px 40px;
display: flex;
flex-direction: row;
gap: 40px;
align-items: flex-start
}

.contact-us .legend-text-side {
flex: 0 0 40%;
display: flex;
flex-direction: column;
gap: 16px
}

.contact-us .legend-accent-bar {
width: 40px;
height: 3px;
background: #DEC0DE;
border-radius: 4px;
margin-bottom: 8px
}

.contact-us .legend-heading {
font-size: 22px;
line-height: 1.15;
color: #fff;
letter-spacing: -.01em
}

.contact-us .legend-body {
font-size: 16px;
line-height: 1.7;
color: #ffffffd9;
max-width: 340px
}

.contact-us .legend-quote {
font-size: 22px;
line-height: 1.15;
color: #DEC0DE;
letter-spacing: -.01em;
border-left: 3px solid #DEC0DE;
padding-left: 16px;
margin-top: 16px
}

.contact-us .legend-items-side {
flex: 1;
display: flex;
flex-direction: column;
gap: 16px
}

.contact-us .legend-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
background: #ffffff1f;
border-radius: 16px;
border: 1px solid #ffffff2e;
transition: background .28s ease-out
}

.contact-us .legend-item:hover {
background: #fff3
}

.contact-us .legend-dot {
width: 14px;
height: 14px;
border-radius: 4px;
flex-shrink: 0;
margin-top: 4px
}

.contact-us .legend-dot--primary {
background: #DEC0DE
}

.contact-us .legend-dot--secondary {
background: #fff
}

.contact-us .legend-dot--tertiary {
background: #ffffff73;
border: 1px solid #fff9
}

.contact-us .legend-item-text {
display: flex;
flex-direction: column;
gap: 4px
}

.contact-us .legend-item-label {
font-size: 16px;
line-height: 1.15;
color: #fff;
letter-spacing: .02em
}

.contact-us .legend-item-desc {
font-size: 16px;
line-height: 1.7;
color: #ffffffbf
}

@keyframes drop-bounce {
0% {
transform: translateY(-24px);
opacity: 0
}

60% {
transform: translateY(6px);
opacity: 1
}

80% {
transform: translateY(-3px)
}

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

.contact-us .panel-heading {
animation: drop-bounce .42s ease-out both
}

@media (max-width: 1024px) {
.contact-us .split-panel {
flex-direction: column
}

.contact-us .split-panel__left {
width: 100%;
padding: 40px 24px
}

.contact-us .split-panel__right {
width: 100%;
padding: 40px 24px
}

.contact-us .split-panel__stripe {
width: 100%;
height: 6px;
top: auto;
bottom: 0;
right: 0
}

.contact-us .legend-strip {
flex-direction: column;
gap: 40px
}

.contact-us .legend-text-side {
flex: none;
width: 100%
}

.contact-us .details-strip {
flex-direction: column
}

.contact-us .detail-cell {
border-right: none;
border-bottom: 1px solid #7a6bbb1f;
padding: 24px
}

.contact-us .detail-cell:last-child {
border-bottom: none
}
}

@media (max-width: 768px) {
.contact-us .form-row {
flex-direction: column
}

.contact-us .radio-group {
flex-direction: column;
gap: 16px
}

.contact-us .legend-strip {
padding: 40px 24px
}

.contact-us .panel-heading {
font-size: 40px
}

.contact-us .submit-button {
width: 100%;
text-align: center
}
}

@media (max-width: 480px) {
.contact-us .split-panel__left {
padding: 40px 16px
}

.contact-us .split-panel__right {
padding: 40px 16px
}

.contact-us .panel-heading {
font-size: 40px
}

.contact-us .legend-strip {
padding: 40px 16px
}

.contact-us .detail-cell {
padding: 24px 16px
}
}

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

.success-page .success-card {
background: #fff;
border-radius: 16px;
box-shadow: 0 9px 48px 0 #7a6bbb21;
padding: 72px 40px;
max-width: 560px;
width: 100%;
text-align: left
}

.success-page .success-card .success-icon {
width: 48px;
height: 48px;
margin-bottom: 40px
}

.success-page .success-card .success-icon .icon-circle {
fill: none;
stroke: #7A6BBB;
stroke-width: 2
}

.success-page .success-card .success-icon .icon-check {
fill: none;
stroke: #7A6BBB;
stroke-width: 2.5;
stroke-linecap: round;
stroke-linejoin: round
}

.success-page .success-card .success-label {
display: block;
width: 32px;
height: 2px;
background: #7A6BBB;
margin-bottom: 16px
}

.success-page .success-card .success-heading {
font-size: 40px;
line-height: 1.15;
letter-spacing: -.02em;
color: #2a2240;
margin: 0 0 24px;
text-transform: uppercase
}

.success-page .success-card .success-body {
font-size: 16px;
line-height: 1.7;
color: #3d3560;
margin: 0 0 40px
}

.success-page .success-card .success-link {
display: inline-block;
font-size: 16px;
line-height: 1.15;
color: #7A6BBB;
text-decoration: none;
border-bottom: 1.5px solid #DEC0DE;
padding-bottom: 4px;
transition: border-color .22s ease-out, color .18s ease-out
}

.success-page .success-card .success-link:hover {
color: #2a2240;
border-color: #7A6BBB
}

.success-page .success-card .success-link:focus-visible {
outline: 2px solid #7A6BBB;
outline-offset: 4px;
border-radius: 4px
}

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

.success-page .success-card {
padding: 40px 24px
}

.success-page .success-card .success-heading {
font-size: 22px
}
}