html {
box-sizing: border-box
}

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

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

.page-header {
position: relative;
background: linear-gradient(160deg, #173B23 0%, #1e4d2f 55%, #2a1f30 100%);
padding: 0;
overflow: hidden
}

.page-header::before {
content: "";
position: absolute;
top: -32px;
right: -64px;
width: 320px;
height: 320px;
border-radius: 48px;
background: #a550b221;
pointer-events: none
}

.page-header::after {
content: "";
position: absolute;
bottom: -16px;
left: 20%;
width: 180px;
height: 180px;
border-radius: 48px;
background: #a550b212;
pointer-events: none
}

.header-top {
display: flex;
align-items: center;
justify-content: center;
padding: 32px 32px 16px;
max-width: 1320px;
margin: 0 auto;
gap: 32px
}

.brand-card {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
z-index: 2
}

.logo-card {
display: flex;
align-items: center;
justify-content: center;
background: #fff;
border-radius: 12px;
padding: 8px;
width: 75px;
height: 75px;
box-shadow: 1px 5px 28px -2px #a550b21c 0 0 0 2px #fdfaf22e
}

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

.brand-name {
font-family: 'Figtree', sans-serif;
font-size: 21px;
font-weight: 700;
color: #FDFAF2;
letter-spacing: -.01em;
line-height: 1.15;
text-align: center
}

.brand-tagline {
font-family: 'Arimo', sans-serif;
font-size: 15px;
font-weight: 400;
color: #fdfaf2ad;
letter-spacing: .04em;
line-height: 1.7;
text-align: center;
margin-top: -8px
}

.accent-rule {
width: 48px;
height: 3px;
background: #A550B2;
border-radius: 7px;
margin: 0 auto
}

.header-nav-strip {
background: #173b238c;
border-top: 1px solid #fdfaf21a;
backdrop-filter: blur(4px)
}

.header-nav-box {
max-width: 1320px;
margin: 0 auto;
padding: 0 32px;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
flex-wrap: wrap
}

.nav-link {
font-family: 'Figtree', sans-serif;
font-size: 15px;
font-weight: 400;
color: #fdfaf2d1;
text-decoration: none;
padding: 16px;
border-radius: 0;
line-height: 1.15;
letter-spacing: .02em;
display: inline-flex;
align-items: center;
gap: 8px;
min-height: 52px;
transition: color .35s cubic-bezier(0.34, 1.2, 0.64, 1), background-color .35s cubic-bezier(0.34, 1.2, 0.64, 1);
position: relative
}

.nav-link::after {
content: "";
position: absolute;
bottom: 0;
left: 16px;
right: 16px;
height: 2px;
background: #A550B2;
border-radius: 7px 7px 0 0;
transform: scaleX(0);
transition: transform .3s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.nav-link:hover {
color: #FDFAF2;
background: #a550b21f
}

.nav-link:hover::after {
transform: scaleX(1)
}

.nav-link:focus {
outline: 3px solid #A550B2;
outline-offset: 2px
}

.nav-link.active {
color: #FDFAF2;
font-weight: 700
}

.nav-link.active::after {
transform: scaleX(1)
}

.nav-cta {
font-family: 'Figtree', sans-serif;
font-size: 15px;
font-weight: 700;
color: #A550B2;
text-decoration: none;
padding: 12px 32px;
border: 2px solid #A550B2;
border-radius: 7px;
margin-left: 16px;
min-height: 44px;
display: inline-flex;
align-items: center;
gap: 8px;
letter-spacing: .03em;
line-height: 1.15;
transition: background-color .4s ease-in-out, color .4s ease-in-out
}

.nav-cta:hover {
background: #A550B2;
color: #FDFAF2
}

.nav-cta:focus {
outline: 3px solid #A550B2;
outline-offset: 2px
}

.nav-divider {
width: 1px;
height: 20px;
background: #fdfaf22e;
flex-shrink: 0
}

.page-footer {
background: #173B23;
color: #FDFAF2
}

.footer-main-box {
max-width: 1320px;
margin: 0 auto;
padding: 64px 32px 32px;
display: flex;
flex-direction: column;
align-items: center;
gap: 32px
}

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

.footer-name {
font-family: 'Figtree', sans-serif;
font-size: 21px;
font-weight: 700;
color: #FDFAF2;
letter-spacing: -.01em;
line-height: 1.15;
text-align: center
}

.footer-contact-strip {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 32px
}

.footer-contact-item {
display: flex;
align-items: center;
gap: 8px;
font-family: 'Arimo', sans-serif;
font-size: 15px;
color: #fdfaf2b8;
line-height: 1.7;
text-decoration: none;
transition: color .35s ease-in-out
}

.footer-contact-item:hover {
color: #FDFAF2
}

.footer-contact-item:focus {
outline: 3px solid #A550B2;
outline-offset: 2px
}

.footer-contact-item i {
color: #A550B2;
font-size: 17px;
flex-shrink: 0
}

.footer-rule {
width: 100%;
height: 1px;
background: #fdfaf21f;
border: none;
margin: 0
}

.footer-bottom-box {
max-width: 1320px;
margin: 0 auto;
padding: 32px;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 32px
}

.footer-legal-links {
display: flex;
align-items: center;
gap: 16px;
flex-wrap: wrap;
justify-content: center
}

.footer-legal-link {
font-family: 'Arimo', sans-serif;
font-size: 15px;
color: #fdfaf28c;
text-decoration: none;
letter-spacing: .02em;
line-height: 1.7;
transition: color .3s ease-in-out
}

.footer-legal-link:hover {
color: #FDFAF2
}

.footer-legal-link:focus {
outline: 3px solid #A550B2;
outline-offset: 2px
}

.footer-legal-dot {
width: 4px;
height: 4px;
border-radius: 48px;
background: #fdfaf247;
flex-shrink: 0
}

.footer-copy {
font-family: 'Arimo', sans-serif;
font-size: 15px;
color: #fdfaf273;
line-height: 1.7;
text-align: center
}

.footer-logo-box {
display: flex;
justify-content: center;
padding-bottom: 32px
}

.footer-logo-card {
background: #fff;
border-radius: 12px;
padding: 8px;
width: 75px;
height: 75px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 1px 1px 5px -2px #a550b212 1px 5px 28px -2px #a550b21c
}

.footer-logo-card img {
width: 59px;
height: 59px;
object-fit: contain;
display: block
}

.cookie-mount {
position: fixed;
top: 32px;
right: 32px;
z-index: 1000;
max-width: 340px;
width: calc(100vw - 64px)
}

.cookie-toast {
background: #FDFAF2;
border-radius: 12px;
padding: 32px;
box-shadow: 1px 8px 36px -2px #173b231a 1px 5px 28px -2px #a550b21c;
border-top: 3px solid #A550B2;
opacity: 0;
transition: opacity .26s ease-in-out
}

.cookie-toast.visible {
opacity: 1
}

.cookie-heading {
font-family: 'Figtree', sans-serif;
font-size: 17px;
font-weight: 700;
color: #173B23;
line-height: 1.15;
margin: 0 0 8px
}

.cookie-description {
font-family: 'Arimo', sans-serif;
font-size: 15px;
color: #173B23;
line-height: 1.7;
margin: 0 0 16px
}

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

.cookie-accept {
font-family: 'Figtree', sans-serif;
font-size: 15px;
font-weight: 700;
color: #A550B2;
background: transparent;
border: 2px solid #A550B2;
border-radius: 7px;
padding: 8px 16px;
cursor: pointer;
min-height: 44px;
flex: 1;
transition: background-color .4s ease-in-out, color .4s ease-in-out;
letter-spacing: .02em
}

.cookie-accept:hover {
background: #A550B2;
color: #FDFAF2
}

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

.cookie-decline {
font-family: 'Arimo', sans-serif;
font-size: 15px;
color: #173b2399;
background: transparent;
border: 2px solid transparent;
border-radius: 7px;
padding: 8px 16px;
cursor: pointer;
min-height: 44px;
flex: 1;
text-decoration: underline;
text-underline-offset: 3px;
transition: color .3s ease-in-out
}

.cookie-decline:hover {
color: #173B23
}

.cookie-decline:focus {
outline: 3px solid #A550B2;
outline-offset: 2px
}

.cookie-policy-note {
font-family: 'Arimo', sans-serif;
font-size: 15px;
color: #173b238c;
line-height: 1.7;
margin: 8px 0 0
}

.cookie-policy-note a {
color: #A550B2;
text-decoration: underline;
text-underline-offset: 2px
}

.cookie-policy-note a:focus {
outline: 3px solid #A550B2;
outline-offset: 2px
}

@media (max-width: 1024px) {
.header-top {
padding: 32px 32px 16px
}

.header-nav-box {
padding: 0 16px
}

.nav-cta {
margin-left: 8px
}
}

@media (max-width: 640px) {
.header-top {
padding: 32px 16px 16px
}

.header-nav-box {
padding: 0 8px;
gap: 0
}

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

.nav-cta {
margin-left: 8px;
padding: 12px 16px
}

.nav-divider {
display: none
}

.footer-main-box {
padding: 32px 16px 16px
}

.footer-bottom-box {
padding: 16px 16px 32px;
flex-direction: column;
gap: 16px
}

.footer-contact-strip {
gap: 16px
}

.cookie-mount {
top: 16px;
right: 16px;
max-width: calc(100vw - 32px);
width: calc(100vw - 32px)
}
}

@media (max-width: 360px) {
.brand-name {
font-size: 17px
}

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

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

.tm-doc-content {
max-width: 1320px;
margin: 0 auto;
padding: 64px 32px;
color: #173B23
}

.tm-doc-content p {
font-size: 17px;
line-height: 1.7;
margin-bottom: 16px;
letter-spacing: .01em
}

.tm-doc-content ul,
.tm-doc-content ol {
margin: 16px 0 32px 32px;
padding: 0
}

.tm-doc-content li {
font-size: 17px;
line-height: 1.7;
margin-bottom: 8px;
letter-spacing: .01em
}

.tm-doc-content ul li {
list-style-type: disc
}

.tm-doc-content ol li {
list-style-type: decimal
}

.tm-doc-content a {
color: #A550B2;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color .35s cubic-bezier(0.34, 1.2, 0.64, 1), text-decoration-color .35s ease-in-out
}

.tm-doc-content a:hover {
color: #173B23;
text-decoration-color: #173B23
}

.tm-doc-content table {
width: 100%;
border-collapse: collapse;
margin: 32px 0;
font-size: 15px;
line-height: 1.7;
border-radius: 12px;
overflow: hidden;
box-shadow: 1px 5px 28px -2px #a550b21c
}

.tm-doc-content thead {
background-color: #173B23;
color: #FDFAF2
}

.tm-doc-content thead th {
font-size: 15px;
letter-spacing: .06em;
text-transform: uppercase;
padding: 16px;
text-align: left;
font-weight: 600
}

.tm-doc-content tbody tr {
border-bottom: 1px solid #173b231f;
transition: background-color .45s ease-in-out
}

.tm-doc-content tbody tr:last-child {
border-bottom: none
}

.tm-doc-content tbody tr:nth-child(even) {
background-color: #fdfaf2b3
}

.tm-doc-content tbody tr:hover {
background-color: #a550b20f
}

.tm-doc-content td {
padding: 16px;
font-size: 15px;
line-height: 1.7;
color: #173B23;
vertical-align: top
}

.tm-doc-content th {
padding: 16px
}

.tm-doc-content hr {
border: none;
border-top: 2px solid #173b2324;
margin: 64px 0;
border-radius: 48px
}

.tm-doc-content div {
margin-bottom: 16px
}

@media (max-width: 1024px) {
.tm-doc-content {
padding: 64px 32px
}
}

@media (max-width: 640px) {
.tm-doc-content {
padding: 32px 16px
}

.tm-doc-content p,
.tm-doc-content li,
.tm-doc-content td {
font-size: 15px
}

.tm-doc-content ul,
.tm-doc-content ol {
margin-left: 16px
}

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

.tm-doc-content hr {
margin: 32px 0
}
}

@media (max-width: 360px) {
.tm-doc-content {
padding: 32px 8px
}
}

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

.front .page-wrap {
max-width: 1320px;
margin: 0 auto;
padding: 0 32px
}

.front .title-block {
display: flex;
flex-direction: row;
align-items: stretch;
min-height: 520px;
background: #FDFAF2;
position: relative
}

.front .title-strip {
width: 220px;
flex-shrink: 0;
overflow: hidden;
position: relative
}

.front .title-strip img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: grayscale(100%);
display: block
}

.front .title-strip::after {
content: '';
position: absolute;
top: 0;
right: 0;
width: 3px;
height: 100%;
background: #A550B2
}

.front .title-text {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
padding: 64px
}

.front .title-tag {
font-size: 15px;
letter-spacing: .12em;
color: #A550B2;
text-transform: uppercase;
margin-bottom: 16px;
line-height: 1.15
}

.front .title-heading {
font-size: 68px;
line-height: 1.15;
letter-spacing: -.03em;
color: #173B23;
margin-bottom: 16px;
animation: track-in .5s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

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

to {
letter-spacing: -.03em;
opacity: 1
}
}

.front .title-tagline {
font-size: 21px;
line-height: 1.7;
color: #173B23;
max-width: 560px;
margin-bottom: 32px
}

.front .title-links {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap
}

.front .link-primary {
display: inline-block;
padding: 16px 32px;
border: 2px solid #A550B2;
border-radius: 7px;
font-size: 17px;
color: #A550B2;
text-decoration: none;
line-height: 1.15;
background: transparent;
transition: background .35s cubic-bezier(0.34, 1.2, 0.64, 1), color .35s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.front .link-primary:hover {
background: #A550B2;
color: #FDFAF2
}

.front .link-secondary {
display: inline-block;
padding: 16px 32px;
border: 2px solid #173B23;
border-radius: 7px;
font-size: 17px;
color: #173B23;
text-decoration: none;
line-height: 1.15;
background: transparent;
transition: background .4s ease-in-out, color .4s ease-in-out
}

.front .link-secondary:hover {
background: #173B23;
color: #FDFAF2
}

.front .current-section {
background: #173B23;
padding: 96px 0;
position: relative;
clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 0 100%);
padding-bottom: 136px
}

.front .current-section .page-wrap {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: center
}

.front .current-label {
font-size: 15px;
letter-spacing: .1em;
text-transform: uppercase;
color: #A550B2;
margin-bottom: 16px;
line-height: 1.15
}

.front .current-heading {
font-size: 51px;
line-height: 1.15;
letter-spacing: -.02em;
color: #FDFAF2;
margin-bottom: 32px
}

.front .current-body {
color: #FDFAF2;
font-size: 17px;
line-height: 1.7
}

.front .current-body p {
text-indent: 1.5em;
margin: 0
}

.front .current-body p+p {
margin-top: 0
}

.front .metrics-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px
}

.front .metric-card {
background: #fdfaf212;
border: 1px solid #fdfaf224;
border-radius: 12px;
padding: 32px;
box-shadow: 1px 5px 28px -2px #a550b21c;
transition: border-color .38s ease-in-out, background .38s ease-in-out
}

.front .metric-card:hover {
border-color: #a550b280;
background: #fdfaf21c
}

.front .metric-number {
font-size: 51px;
line-height: 1.15;
letter-spacing: -.02em;
color: #A550B2;
display: block
}

.front .metric-desc {
font-size: 15px;
line-height: 1.7;
color: #FDFAF2;
margin-top: 8px
}

.front .reputation-section {
background: #FDFAF2;
padding: 96px 0;
margin-top: -20px
}

.front .reputation-section .page-wrap {
display: flex;
flex-direction: column;
align-items: center
}

.front .rep-header {
text-align: center;
max-width: 720px;
margin-bottom: 64px
}

.front .rep-heading {
font-size: 51px;
line-height: 1.15;
letter-spacing: -.02em;
color: #173B23;
margin-bottom: 16px
}

.front .rep-sub {
font-size: 17px;
line-height: 1.7;
color: #173B23;
text-align: left
}

.front .rep-columns {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 32px;
width: 100%
}

.front .rep-item {
border: 2px solid #173B23;
outline: 5px solid #173b231f;
border-radius: 12px;
padding: 32px;
position: relative;
transition: box-shadow .42s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.front .rep-item:hover {
box-shadow: 1px 8px 36px -2px #173b231a
}

.front .rep-icon {
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(67deg, #173B23, #A550B2);
border-radius: 7px;
margin-bottom: 16px
}

.front .rep-icon i {
color: #FDFAF2;
font-size: 21px
}

.front .rep-item-heading {
font-size: 21px;
line-height: 1.15;
color: #173B23;
margin-bottom: 8px
}

.front .rep-item-text {
font-size: 15px;
line-height: 1.7;
color: #173B23
}

.front .experience-section {
background: linear-gradient(67deg, #173B23, #A550B2);
padding: 96px 0 136px;
clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 0 100%)
}

.front .experience-section .page-wrap {
max-width: 760px
}

.front .exp-label {
font-size: 15px;
letter-spacing: .1em;
text-transform: uppercase;
color: #fdfaf2a6;
margin-bottom: 16px;
line-height: 1.15
}

.front .exp-quote {
font-size: 37px;
line-height: 1.15;
letter-spacing: -.01em;
color: #FDFAF2;
margin-bottom: 32px
}

.front .exp-body {
font-size: 17px;
line-height: 1.7;
color: #fdfaf2e0;
margin-bottom: 32px
}

.front .exp-body p {
text-indent: 1.5em;
margin: 0
}

.front .exp-person {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px
}

.front .exp-portrait {
width: 64px;
height: 64px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
border: 2px solid #fdfaf266
}

.front .exp-portrait img {
width: 64px;
height: 64px;
object-fit: cover;
object-position: top;
display: block
}

.front .exp-name {
font-size: 17px;
line-height: 1.15;
color: #FDFAF2
}

.front .exp-role {
font-size: 15px;
line-height: 1.7;
color: #fdfaf2a6
}

.front .hesitation-section {
background: #FDFAF2;
padding: 96px 0;
margin-top: -20px
}

.front .hesitation-section .page-wrap {
display: grid;
grid-template-columns: 380px 1fr;
gap: 64px;
align-items: start
}

.front .hes-image-wrap {
border-radius: 12px;
overflow: hidden;
box-shadow: 1px 5px 28px -2px #a550b21c
}

.front .hes-image-wrap img {
width: 100%;
height: 420px;
object-fit: cover;
display: block;
transition: transform .45s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.front .hes-image-wrap:hover img {
transform: scale(1.04)
}

.front .hes-text {
padding-top: 16px
}

.front .hes-label {
font-size: 15px;
letter-spacing: .1em;
text-transform: uppercase;
color: #A550B2;
margin-bottom: 16px;
line-height: 1.15
}

.front .hes-heading {
font-size: 37px;
line-height: 1.15;
letter-spacing: -.01em;
color: #173B23;
margin-bottom: 32px
}

.front .hes-body {
font-size: 17px;
line-height: 1.7;
color: #173B23
}

.front .hes-body p {
text-indent: 1.5em;
margin: 0
}

.front .hes-body p+p {
margin-top: 0
}

.front .gap-section {
background: #173B23;
padding: 96px 0 136px;
clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 0 100%)
}

.front .gap-section .page-wrap {
display: flex;
flex-direction: column;
align-items: center
}

.front .gap-heading {
font-size: 51px;
line-height: 1.15;
letter-spacing: -.02em;
color: #FDFAF2;
text-align: center;
max-width: 760px;
margin-bottom: 64px
}

.front .chart-wrap {
width: 100%;
max-width: 680px;
display: flex;
flex-direction: column;
gap: 16px
}

.front .bar-row {
display: flex;
flex-direction: column;
gap: 8px
}

.front .bar-label {
font-size: 15px;
line-height: 1.15;
color: #fdfaf2bf;
display: flex;
flex-direction: row;
justify-content: space-between
}

.front .bar-track {
height: 12px;
background: #fdfaf21a;
border-radius: 7px;
overflow: hidden
}

.front .bar-fill {
height: 100%;
border-radius: 7px;
background: linear-gradient(67deg, #A550B2, #FDFAF2);
animation: fill-bar .5s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

@keyframes fill-bar {
from {
width: 0
}
}

.front .bar-fill.b1 {
width: 28%;
animation-delay: .1s
}

.front .bar-fill.b2 {
width: 61%;
animation-delay: .2s
}

.front .bar-fill.b3 {
width: 84%;
animation-delay: .3s
}

.front .gap-note {
font-size: 15px;
line-height: 1.7;
color: #fdfaf299;
text-align: center;
max-width: 560px;
margin-top: 32px
}

.front .invest-section {
background: #FDFAF2;
padding: 96px 0;
margin-top: -20px
}

.front .invest-section .page-wrap {
max-width: 760px;
margin: 0 auto;
padding: 0 32px
}

.front .invest-label {
font-size: 15px;
letter-spacing: .1em;
text-transform: uppercase;
color: #A550B2;
margin-bottom: 16px;
line-height: 1.15;
text-align: center
}

.front .invest-heading {
font-size: 51px;
line-height: 1.15;
letter-spacing: -.02em;
color: #173B23;
margin-bottom: 32px;
text-align: center
}

.front .invest-body {
font-size: 17px;
line-height: 1.7;
color: #173B23;
margin-bottom: 32px
}

.front .invest-body p {
text-indent: 1.5em;
margin: 0
}

.front .invest-cards {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin-bottom: 32px
}

.front .invest-card {
border: 2px solid #173B23;
outline: 4px solid #173b231a;
border-radius: 12px;
padding: 32px;
transition: box-shadow .38s ease-in-out
}

.front .invest-card:hover {
box-shadow: 1px 5px 28px -2px #173b231c
}

.front .invest-card-head {
font-size: 21px;
line-height: 1.15;
color: #173B23;
margin-bottom: 8px;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px
}

.front .invest-card-head i {
color: #A550B2;
font-size: 21px
}

.front .invest-card-text {
font-size: 15px;
line-height: 1.7;
color: #173B23
}

.front .invest-cta {
text-align: center
}

.front .invest-link {
display: inline-block;
padding: 16px 64px;
border: 2px solid #A550B2;
border-radius: 7px;
font-size: 17px;
color: #A550B2;
text-decoration: none;
line-height: 1.15;
background: transparent;
transition: background .35s cubic-bezier(0.34, 1.2, 0.64, 1), color .35s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.front .invest-link:hover {
background: #A550B2;
color: #FDFAF2
}

.front .styled-list {
list-style: none;
padding: 0;
margin: 0
}

.front .styled-list li {
font-size: 17px;
line-height: 1.7;
color: #173B23;
padding-left: 20px;
position: relative;
margin-bottom: 8px
}

.front .styled-list li::before {
content: '';
position: absolute;
left: 0;
top: 10px;
width: 7px;
height: 7px;
border-radius: 50%;
background: #A550B2
}

.front .styled-list.light li {
color: #FDFAF2
}

.front .current-img-wrap {
border-radius: 12px;
overflow: hidden;
box-shadow: 1px 8px 36px -2px #a550b21a
}

.front .current-img-wrap img {
width: 100%;
height: 400px;
object-fit: cover;
display: block;
transition: transform .45s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.front .current-img-wrap:hover img {
transform: scale(1.04)
}

@media (max-width: 1024px) {
.front .title-heading {
font-size: 51px
}

.front .current-section .page-wrap {
grid-template-columns: 1fr;
gap: 32px
}

.front .hesitation-section .page-wrap {
grid-template-columns: 1fr;
gap: 32px
}

.front .rep-columns {
grid-template-columns: 1fr 1fr;
gap: 16px
}

.front .title-strip {
width: 160px
}

.front .title-text {
padding: 64px 32px
}
}

@media (max-width: 640px) {
.front .title-block {
flex-direction: column
}

.front .title-strip {
width: 100%;
height: 200px
}

.front .title-strip::after {
width: 100%;
height: 3px;
top: auto;
right: 0;
bottom: 0
}

.front .title-heading {
font-size: 37px
}

.front .title-text {
padding: 32px 16px
}

.front .rep-columns {
grid-template-columns: 1fr
}

.front .metrics-grid {
grid-template-columns: 1fr
}

.front .invest-cards {
grid-template-columns: 1fr
}

.front .current-heading,
.front .rep-heading,
.front .gap-heading,
.front .invest-heading {
font-size: 37px
}

.front .exp-quote {
font-size: 21px
}

.front .page-wrap {
padding: 0 16px
}

.front .current-section {
padding-bottom: 96px
}

.front .experience-section,
.front .gap-section {
padding-bottom: 96px
}
}

@media (max-width: 360px) {
.front .title-heading {
font-size: 37px
}

.front .title-links {
flex-direction: column
}

.front .link-primary,
.front .link-secondary {
text-align: center
}
}

.contact-us {
background: #FDFAF2;
overflow-x: clip
}

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

.contact-us .reach-lead h1 {
font-size: 51px;
line-height: 1.15;
letter-spacing: -.02em;
color: #173B23;
margin: 0 0 32px
}

.contact-us .reach-lead h1 span {
color: #A550B2
}

.contact-us .reach-lead p {
font-size: 17px;
line-height: 1.7;
color: #2d2d2d;
margin: 0
}

.contact-us .reach-lead p+p {
text-indent: 1.5em
}

.contact-us .reach-stat {
background: #173B23;
border-radius: 12px;
padding: 32px;
color: #FDFAF2;
display: flex;
flex-direction: column;
gap: 16px;
box-shadow: 1px 5px 28px -2px #173b231c
}

.contact-us .reach-stat .stat-number {
font-size: 51px;
line-height: 1.15;
color: #A550B2;
letter-spacing: -.03em
}

.contact-us .reach-stat .stat-bar {
height: 3px;
background: #fdfaf226;
border-radius: 7px;
position: relative
}

.contact-us .reach-stat .stat-bar::after {
content: '';
display: block;
height: 100%;
width: 72%;
background: #A550B2;
border-radius: 7px;
transition: width .45s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.contact-us .reach-stat p {
font-size: 15px;
line-height: 1.7;
color: #fdfaf2cc;
margin: 0
}

.contact-us .reach-info {
background: #FDFAF2;
border-radius: 12px;
padding: 32px;
border: 1.5px solid #a550b22e;
display: flex;
flex-direction: column;
gap: 16px;
box-shadow: 1px 1px 5px -2px #a550b212
}

.contact-us .reach-info h4 {
font-size: 15px;
line-height: 1.15;
letter-spacing: .08em;
text-transform: uppercase;
color: #A550B2;
margin: 0
}

.contact-us .reach-info .info-row {
display: flex;
flex-direction: column;
gap: 8px
}

.contact-us .reach-info .info-row a,
.contact-us .reach-info .info-row span {
font-size: 15px;
line-height: 1.7;
color: #173B23;
text-decoration: none;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px
}

.contact-us .reach-info .info-row a {
text-decoration: underline;
text-underline-offset: 3px;
transition: text-decoration-color .35s ease-in-out
}

.contact-us .reach-info .info-row a:hover {
text-decoration-color: transparent
}

.contact-us .reach-info .info-icon {
color: #A550B2;
font-size: 17px;
flex-shrink: 0;
margin-top: 2px
}

.contact-us .divider-crosses {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 16px;
padding: 0 32px;
max-width: 1320px;
margin: 0 auto;
overflow: hidden
}

.contact-us .divider-crosses .cross {
width: 10px;
height: 10px;
position: relative;
flex-shrink: 0
}

.contact-us .divider-crosses .cross::before,
.contact-us .divider-crosses .cross::after {
content: '';
position: absolute;
background: #a550b24d;
border-radius: 2px
}

.contact-us .divider-crosses .cross::before {
width: 2px;
height: 10px;
left: 4px;
top: 0
}

.contact-us .divider-crosses .cross::after {
width: 10px;
height: 2px;
left: 0;
top: 4px
}

.contact-us .form-band {
background: linear-gradient(67deg, #173B23 0%, #A550B2 100%);
padding: 96px 0;
position: relative
}

.contact-us .form-band::before {
content: '';
position: absolute;
inset: 0;
background-image: radial-gradient(circle at 1px 1px, #fdfaf20f 1px, transparent 0);
background-size: 24px 24px;
pointer-events: none
}

.contact-us .form-inner {
max-width: 1320px;
margin: 0 auto;
padding: 0 32px;
display: grid;
grid-template-columns: 1fr 1.6fr;
gap: 64px;
align-items: start;
position: relative;
z-index: 1
}

.contact-us .form-context h2 {
font-size: 37px;
line-height: 1.15;
color: #FDFAF2;
letter-spacing: -.02em;
margin: 0 0 16px
}

.contact-us .form-context p {
font-size: 17px;
line-height: 1.7;
color: #fdfaf2d1;
margin: 0
}

.contact-us .form-context .accent-strokes {
display: flex;
flex-direction: column;
gap: 8px;
margin-top: 32px
}

.contact-us .form-context .stroke {
height: 3px;
background: #fdfaf240;
border-radius: 2px
}

.contact-us .form-context .stroke:nth-child(1) {
width: 64px
}

.contact-us .form-context .stroke:nth-child(2) {
width: 48px
}

.contact-us .form-context .stroke:nth-child(3) {
width: 80px
}

.contact-us .form-context .stroke:nth-child(4) {
width: 40px
}

.contact-us .contact-form {
background: #FDFAF2;
border-radius: 12px;
padding: 32px;
box-shadow: 1px 8px 36px -2px #173b231a;
display: flex;
flex-direction: column;
gap: 16px
}

.contact-us .contact-form .frame-decoration {
position: relative
}

.contact-us .contact-form .frame-decoration::before {
content: '';
position: absolute;
top: -32px;
left: -32px;
right: -32px;
height: 3px;
background: linear-gradient(67deg, #173B23, #A550B2);
border-radius: 7px 7px 0 0
}

.contact-us .field-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px
}

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

.contact-us .field-group label {
font-size: 15px;
line-height: 1.15;
letter-spacing: .05em;
text-transform: uppercase;
color: #173B23
}

.contact-us .field-group input,
.contact-us .field-group textarea,
.contact-us .field-group select {
border: 1.5px solid #173b232e;
border-radius: 7px;
padding: 16px;
font-size: 15px;
line-height: 1.7;
color: #173B23;
background: #fff;
transition: border-color .35s ease-in-out, box-shadow .35s ease-in-out;
outline: none;
appearance: none;
width: 100%;
box-sizing: border-box
}

.contact-us .field-group input::placeholder,
.contact-us .field-group textarea::placeholder {
color: #173b2361;
text-transform: uppercase;
font-size: 13px;
letter-spacing: .06em
}

.contact-us .field-group input:focus,
.contact-us .field-group textarea:focus,
.contact-us .field-group select:focus {
border-color: #A550B2;
box-shadow: inset 0 2px 6px #a550b212 0 0 0 3px #a550b21f
}

.contact-us .field-group textarea {
resize: vertical;
min-height: 96px
}

.contact-us .field-group select {
cursor: pointer;
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='%23173B23' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 12px center;
padding-right: 40px
}

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

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

.contact-us .privacy-row span {
font-size: 15px;
line-height: 1.7;
color: #2d2d2d
}

.contact-us .privacy-row span a {
color: #A550B2;
text-decoration: underline;
text-underline-offset: 3px;
transition: text-decoration-color .35s ease-in-out
}

.contact-us .privacy-row span a:hover {
text-decoration-color: transparent
}

.contact-us .submit-btn {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
padding: 16px 32px;
border: 2px solid #173B23;
border-radius: 48px;
background: transparent;
color: #173B23;
font-size: 15px;
letter-spacing: .06em;
text-transform: uppercase;
cursor: pointer;
transition: background .4s cubic-bezier(0.34, 1.2, 0.64, 1), color .4s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .4s cubic-bezier(0.34, 1.2, 0.64, 1);
align-self: flex-start
}

.contact-us .submit-btn:hover {
background: #173B23;
color: #FDFAF2;
border-color: #173B23
}

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

.contact-us .channels-strip {
background: #FDFAF2;
padding: 96px 0 64px
}

.contact-us .channels-inner {
max-width: 1320px;
margin: 0 auto;
padding: 0 32px
}

.contact-us .channels-inner h2 {
font-size: 37px;
line-height: 1.15;
letter-spacing: -.02em;
color: #173B23;
margin: 0 0 8px;
text-align: center
}

.contact-us .channels-inner .channels-sub {
font-size: 17px;
line-height: 1.7;
color: #2d2d2d;
text-align: left;
margin: 0 0 64px;
max-width: 560px
}

.contact-us .channels-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px
}

.contact-us .channel-card {
border-radius: 12px;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
position: relative;
overflow: hidden;
transition: box-shadow .4s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.contact-us .channel-card.card-address {
background: #173B23;
color: #FDFAF2;
box-shadow: 1px 5px 28px -2px #173b231c
}

.contact-us .channel-card.card-digital {
background: #a550b214;
border: 1.5px solid #a550b233;
box-shadow: 1px 1px 5px -2px #a550b212
}

.contact-us .channel-card.card-schedule {
background: linear-gradient(67deg, #173b230d 0%, #a550b214 100%);
border: 1.5px solid #173b231a;
box-shadow: 1px 1px 5px -2px #173b2312
}

.contact-us .channel-card:hover {
box-shadow: 1px 8px 36px -2px #a550b21a
}

.contact-us .channel-card .card-icon {
font-size: 21px;
color: #A550B2;
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
background: #a550b21f;
border-radius: 12px
}

.contact-us .channel-card.card-address .card-icon {
background: #fdfaf21a;
color: #FDFAF2
}

.contact-us .channel-card h5 {
font-size: 17px;
line-height: 1.15;
letter-spacing: .04em;
margin: 0;
text-transform: uppercase
}

.contact-us .channel-card.card-address h5 {
color: #fdfaf299
}

.contact-us .channel-card.card-digital h5,
.contact-us .channel-card.card-schedule h5 {
color: #A550B2
}

.contact-us .channel-card p,
.contact-us .channel-card address {
font-size: 15px;
line-height: 1.7;
margin: 0;
font-style: normal
}

.contact-us .channel-card.card-address p,
.contact-us .channel-card.card-address address {
color: #fdfaf2d9
}

.contact-us .channel-card.card-digital p,
.contact-us .channel-card.card-schedule p {
color: #2d2d2d
}

.contact-us .channel-card a {
color: inherit;
text-decoration: underline;
text-underline-offset: 3px;
transition: text-decoration-color .35s ease-in-out
}

.contact-us .channel-card a:hover {
text-decoration-color: transparent
}

.contact-us .channel-card .card-faded-number {
position: absolute;
bottom: -16px;
right: 16px;
font-size: 68px;
line-height: 1.15;
font-weight: 900;
pointer-events: none;
user-select: none
}

.contact-us .channel-card.card-address .card-faded-number {
color: #fdfaf20a
}

.contact-us .channel-card.card-digital .card-faded-number {
color: #a550b212
}

.contact-us .channel-card.card-schedule .card-faded-number {
color: #173b230d
}

.contact-us .reveal-on-load {
animation: appearClean .5s ease-in-out both
}

@keyframes appearClean {
from {
opacity: 0
}

to {
opacity: 1
}
}

@media (max-width: 1024px) {
.contact-us .reach-grid {
grid-template-columns: 1fr 1fr;
padding: 64px 32px
}

.contact-us .reach-lead {
grid-column: 1 / -1
}

.contact-us .form-inner {
grid-template-columns: 1fr;
gap: 32px
}

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

@media (max-width: 640px) {
.contact-us .reach-grid {
grid-template-columns: 1fr;
padding: 64px 16px;
gap: 16px
}

.contact-us .reach-lead h1 {
font-size: 37px
}

.contact-us .form-band {
padding: 64px 0
}

.contact-us .form-inner {
padding: 0 16px;
gap: 32px
}

.contact-us .contact-form {
padding: 32px 16px
}

.contact-us .field-row {
grid-template-columns: 1fr
}

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

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

.contact-us .channels-inner h2 {
font-size: 37px
}

.contact-us .channels-strip {
padding: 64px 0
}

.contact-us .submit-btn {
width: 100%;
justify-content: center
}
}

@media (max-width: 360px) {
.contact-us .reach-lead h1 {
font-size: 37px
}

.contact-us .form-context h2 {
font-size: 37px
}
}

.press-release-page {
max-width: 100%;
overflow-x: hidden
}

.press-release-page *,
.press-release-page ::before,
.press-release-page ::after {
box-sizing: border-box
}

.press-release-page ::selection {
background: #A550B2;
color: #FDFAF2
}

.press-release-page .page-bound {
max-width: 1320px;
margin: 0 auto;
padding: 0 32px
}

.press-release-page .split-hero {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 340px;
position: relative
}

.press-release-page .split-hero-left {
background: #173B23;
padding: 64px 48px 64px 64px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
overflow: hidden
}

.press-release-page .split-hero-left .blob {
position: absolute;
border-radius: 48px;
filter: blur(48px);
pointer-events: none;
opacity: .18
}

.press-release-page .split-hero-left .blob-a {
width: 220px;
height: 220px;
background: #A550B2;
top: -40px;
left: -60px
}

.press-release-page .split-hero-left .blob-b {
width: 160px;
height: 160px;
background: #A550B2;
bottom: -30px;
right: 20px
}

.press-release-page .split-hero-label {
font-size: 15px;
letter-spacing: .12em;
color: #A550B2;
text-transform: uppercase;
margin-bottom: 16px;
line-height: 1.15
}

.press-release-page .split-hero-heading {
font-size: 51px;
line-height: 1.15;
letter-spacing: -.02em;
color: #FDFAF2;
margin: 0 0 16px
}

.press-release-page .split-hero-heading .punct {
color: #A550B2
}

.press-release-page .split-hero-sub {
font-size: 17px;
line-height: 1.7;
color: #fdfaf2b8;
margin: 0
}

.press-release-page .split-hero-right {
position: relative;
overflow: hidden
}

.press-release-page .split-hero-right img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: saturate(0.6) brightness(0.75) hue-rotate(200deg);
transition: transform .45s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.press-release-page .split-hero-right:hover img {
transform: scale(1.04)
}

.press-release-page .split-hero-right .image-overlay {
position: absolute;
inset: 0;
background: linear-gradient(67deg, #173b238c 0%, #a550b24d 100%);
pointer-events: none
}

.press-release-page .divider {
display: flex;
align-items: center;
gap: 16px;
padding: 32px 64px;
max-width: 1320px;
margin: 0 auto
}

.press-release-page .divider-line {
flex: 1;
height: 1px;
background: #173B23;
opacity: .18
}

.press-release-page .divider-number {
font-size: 15px;
letter-spacing: .14em;
color: #A550B2;
text-transform: uppercase
}

.press-release-page .releases-area {
background: #FDFAF2;
padding: 64px 0
}

.press-release-page .releases-grid {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 32px;
align-items: start
}

.press-release-page .release-card {
border: 1.5px dashed #a550b259;
border-radius: 12px;
padding: 32px;
background: #fff;
box-shadow: 1px 5px 28px -2px #a550b21c;
transition: box-shadow .38s ease-in-out, transform .38s ease-in-out
}

.press-release-page .release-card:hover {
box-shadow: 1px 8px 36px -2px #a550b21a;
transform: translateY(-2px)
}

.press-release-page .release-card.featured {
border: 2px dashed #A550B2
}

.press-release-page .release-tag {
display: inline-flex;
align-items: center;
gap: 8px;
background: #173B23;
color: #FDFAF2;
font-size: 15px;
letter-spacing: .08em;
padding: 8px 16px;
border-radius: 7px;
margin-bottom: 16px
}

.press-release-page .release-tag i {
font-size: 15px;
color: #A550B2
}

.press-release-page .release-heading {
font-size: 37px;
line-height: 1.15;
letter-spacing: -.01em;
color: #173B23;
margin: 0 0 16px
}

.press-release-page .release-body {
font-size: 17px;
line-height: 1.7;
color: #2a2a2a
}

.press-release-page .release-body p {
text-indent: 1.6em;
margin: 0
}

.press-release-page .release-body p+p {
margin-top: 0
}

.press-release-page .release-body .first-para {
text-indent: 0;
font-size: 21px;
line-height: 1.7;
margin-bottom: 16px;
color: #173B23
}

.press-release-page .release-meta-panel {
display: flex;
flex-direction: column;
gap: 16px
}

.press-release-page .meta-item {
background: #173B23;
border-radius: 12px;
padding: 32px;
color: #FDFAF2;
box-shadow: 1px 5px 28px -2px #173b231c
}

.press-release-page .meta-label {
font-size: 15px;
letter-spacing: .1em;
text-transform: uppercase;
color: #A550B2;
margin-bottom: 8px
}

.press-release-page .meta-value {
font-size: 17px;
line-height: 1.7;
color: #fdfaf2e0
}

.press-release-page .meta-icon-row {
display: flex;
align-items: center;
gap: 16px;
margin-bottom: 16px
}

.press-release-page .icon-badge {
width: 48px;
height: 48px;
background: #A550B2;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 1px 5px 28px -2px #a550b21c;
flex-shrink: 0
}

.press-release-page .icon-badge i {
color: #FDFAF2;
font-size: 21px
}

.press-release-page .impact-bar-wrap {
margin-top: 32px
}

.press-release-page .bar-label-row {
display: flex;
justify-content: space-between;
font-size: 15px;
color: #fdfaf2b8;
margin-bottom: 8px
}

.press-release-page .bar-track {
background: #fdfaf226;
border-radius: 48px;
height: 8px;
position: relative;
overflow: hidden
}

.press-release-page .bar-fill {
height: 100%;
border-radius: 48px;
background: linear-gradient(67deg, #173B23 0%, #A550B2 100%);
width: 68%;
position: relative
}

.press-release-page .bar-marker {
position: absolute;
right: 0;
top: 50%;
transform: translate(50%, -50%);
width: 14px;
height: 14px;
border-radius: 48px;
background: #A550B2;
border: 2px solid #FDFAF2
}

.press-release-page .divider2 {
display: flex;
align-items: center;
gap: 16px;
padding: 32px 64px;
max-width: 1320px;
margin: 0 auto
}

.press-release-page .divider2 .divider-line {
background: linear-gradient(67deg, #173B23, #A550B2);
opacity: .22
}

.press-release-page .archive-area {
background: linear-gradient(67deg, #173B23 0%, #A550B2 100%);
padding: 96px 0
}

.press-release-page .archive-heading-block {
text-align: center;
margin-bottom: 64px;
position: relative
}

.press-release-page .archive-faded-num {
font-size: 68px;
line-height: 1.15;
color: #fdfaf20f;
position: absolute;
top: -16px;
left: 50%;
transform: translateX(-50%);
white-space: nowrap;
pointer-events: none;
user-select: none;
letter-spacing: -.03em
}

.press-release-page .archive-heading {
font-size: 37px;
line-height: 1.15;
color: #FDFAF2;
margin: 0 0 8px;
position: relative;
z-index: 1
}

.press-release-page .archive-subheading {
font-size: 17px;
line-height: 1.7;
color: #fdfaf2b8;
text-align: left;
max-width: 560px;
margin: 0 auto;
position: relative;
z-index: 1
}

.press-release-page .archive-list {
display: flex;
flex-direction: column;
gap: 16px
}

.press-release-page .archive-item {
background: #fdfaf212;
border-radius: 12px;
padding: 32px;
display: grid;
grid-template-columns: auto 1fr auto;
align-items: center;
gap: 32px;
transition: background .35s ease-in-out;
cursor: pointer
}

.press-release-page .archive-item:hover {
background: #fdfaf221
}

.press-release-page .archive-item:active {
transform: scale(1.012);
transition: transform .12s cubic-bezier(0.34, 1.2, 0.64, 1), background .35s ease-in-out
}

.press-release-page .archive-dot {
width: 12px;
height: 12px;
border-radius: 48px;
background: #A550B2;
flex-shrink: 0
}

.press-release-page .archive-item-title {
font-size: 17px;
line-height: 1.7;
color: #FDFAF2;
margin: 0
}

.press-release-page .archive-item-date {
font-size: 15px;
color: #fdfaf28c;
white-space: nowrap;
letter-spacing: .06em
}

.press-release-page .contact-strip {
background: #FDFAF2;
padding: 64px 0
}

.press-release-page .contact-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
align-items: center
}

.press-release-page .contact-text-block {
position: relative
}

.press-release-page .contact-faded-num {
font-size: 68px;
line-height: 1.15;
color: #173b230d;
position: absolute;
top: -24px;
left: 0;
pointer-events: none;
user-select: none;
letter-spacing: -.03em
}

.press-release-page .contact-heading {
font-size: 37px;
line-height: 1.15;
letter-spacing: -.01em;
color: #173B23;
margin: 0 0 16px;
position: relative;
z-index: 1;
text-align: center
}

.press-release-page .contact-body {
font-size: 17px;
line-height: 1.7;
color: #2a2a2a;
text-align: left;
position: relative;
z-index: 1
}

.press-release-page .contact-details-list {
display: flex;
flex-direction: column;
gap: 16px
}

.press-release-page .contact-row {
display: flex;
align-items: center;
gap: 16px;
padding: 16px;
border-radius: 12px;
background: #fff;
box-shadow: 1px 1px 5px -2px #173b2312;
transition: box-shadow .4s ease-in-out
}

.press-release-page .contact-row:hover {
box-shadow: 1px 5px 28px -2px #173b231c
}

.press-release-page .contact-icon {
width: 48px;
height: 48px;
background: linear-gradient(67deg, #173B23, #A550B2);
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
box-shadow: 1px 5px 28px -2px #a550b21c
}

.press-release-page .contact-icon i {
color: #FDFAF2;
font-size: 17px
}

.press-release-page .contact-detail-text {
font-size: 17px;
line-height: 1.7;
color: #173B23
}

.press-release-page .contact-detail-text a {
color: #173B23;
text-decoration: underline;
transition: color .32s ease-in-out, text-decoration-color .32s ease-in-out
}

.press-release-page .contact-detail-text a:hover {
color: #A550B2;
text-decoration-color: transparent
}

@keyframes split-open-left {
from {
clip-path: inset(0 50% 0 0);
opacity: 0
}

to {
clip-path: inset(0 0% 0 0);
opacity: 1
}
}

@keyframes split-open-right {
from {
clip-path: inset(0 0 0 50%);
opacity: 0
}

to {
clip-path: inset(0 0 0 0%);
opacity: 1
}
}

.press-release-page .split-hero-left {
animation: split-open-left .5s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

.press-release-page .split-hero-right {
animation: split-open-right .5s cubic-bezier(0.34, 1.2, 0.64, 1) .08s both
}

.press-release-page .styled-list {
list-style: none;
padding: 0;
margin: 16px 0 0;
display: flex;
flex-direction: column;
gap: 8px
}

.press-release-page .styled-list li {
display: flex;
align-items: flex-start;
gap: 8px;
font-size: 17px;
line-height: 1.7;
color: #2a2a2a
}

.press-release-page .styled-list li::before {
content: '';
width: 8px;
height: 8px;
border-radius: 48px;
background: #A550B2;
flex-shrink: 0;
margin-top: 9px
}

@media (max-width: 1024px) {
.press-release-page .split-hero {
grid-template-columns: 1fr
}

.press-release-page .split-hero-right {
height: 280px
}

.press-release-page .split-hero-left {
padding: 64px 32px
}

.press-release-page .releases-grid {
grid-template-columns: 1fr
}

.press-release-page .contact-grid {
grid-template-columns: 1fr
}

.press-release-page .split-hero-heading {
font-size: 37px
}
}

@media (max-width: 640px) {

.press-release-page .divider,
.press-release-page .divider2 {
padding: 32px
}

.press-release-page .split-hero-left {
padding: 64px 16px
}

.press-release-page .page-bound {
padding: 0 16px
}

.press-release-page .archive-item {
grid-template-columns: auto 1fr;
gap: 16px
}

.press-release-page .archive-item-date {
display: none
}

.press-release-page .split-hero-heading {
font-size: 37px
}

.press-release-page .release-heading {
font-size: 21px
}

.press-release-page .archive-heading {
font-size: 21px
}

.press-release-page .contact-heading {
font-size: 21px
}
}

@media (max-width: 360px) {
.press-release-page .split-hero-heading {
font-size: 21px
}

.press-release-page .release-card {
padding: 16px
}
}

.about-us-page {
max-width: 100%;
overflow-x: hidden
}

.about-us-page .au-inner {
max-width: 1320px;
margin: 0 auto;
padding: 0 32px
}

.about-us-page p {
text-indent: 1.5em;
margin: 0;
line-height: 1.7;
font-size: 17px
}

.about-us-page ul {
list-style: none;
padding: 0;
margin: 0
}

.about-us-page ul li::before {
content: '';
display: inline-block;
width: 7px;
height: 7px;
border-radius: 48px;
background: #A550B2;
margin-right: 10px;
vertical-align: middle;
flex-shrink: 0
}

.about-us-page ul li {
display: flex;
flex-direction: row;
align-items: center;
font-size: 17px;
line-height: 1.7;
color: #173B23
}

.about-us-page a {
color: #A550B2;
text-decoration: underline;
transition: text-decoration-color .35s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.about-us-page a:hover {
text-decoration-color: transparent
}

@keyframes diagReveal {
from {
opacity: 0;
transform: translate(-12px, 12px)
}

to {
opacity: 1;
transform: translate(0, 0)
}
}

.about-us-page .reveal {
animation: diagReveal .5s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

.about-us-page .reveal.d1 {
animation-delay: .05s
}

.about-us-page .reveal.d2 {
animation-delay: .15s
}

.about-us-page .reveal.d3 {
animation-delay: .25s
}

.about-us-page .reveal.d4 {
animation-delay: .35s
}

.about-us-page .reveal.d5 {
animation-delay: .45s
}

.about-us-page .title-block {
padding: 96px 0 64px;
position: relative;
background: #FDFAF2
}

.about-us-page .title-block .au-inner {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 64px
}

.about-us-page .title-block .tb-left {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 32px;
padding-top: 32px
}

.about-us-page .title-block .tb-right {
flex: 0 0 480px;
position: relative
}

.about-us-page .tb-stripe {
position: absolute;
top: 0;
right: -32px;
width: 6px;
height: 100%;
background: linear-gradient(67deg, #173B23, #A550B2);
border-radius: 48px
}

.about-us-page .tb-descriptor {
font-size: 15px;
letter-spacing: .12em;
text-transform: uppercase;
color: #A550B2;
font-weight: 600;
line-height: 1.15
}

.about-us-page .tb-heading {
font-size: 51px;
line-height: 1.15;
letter-spacing: -.02em;
color: #173B23;
font-weight: 800;
margin: 0
}

.about-us-page .tb-body {
display: flex;
flex-direction: column;
gap: 16px
}

.about-us-page .tb-body p {
color: #173B23
}

.about-us-page .tb-metrics {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
padding-top: 16px
}

.about-us-page .metric-box {
background: #fff;
border-radius: 12px;
padding: 16px;
box-shadow: 1px 5px 28px -2px #a550b21c;
display: flex;
flex-direction: column;
gap: 8px
}

.about-us-page .metric-box .metric-num {
font-size: 37px;
font-weight: 800;
line-height: 1.15;
color: #A550B2;
letter-spacing: -.02em
}

.about-us-page .metric-box .metric-label {
font-size: 15px;
color: #173B23;
line-height: 1.7
}

.about-us-page .tb-image-wrap {
border-radius: 12px;
overflow: hidden;
width: 100%;
aspect-ratio: 4/3;
position: relative
}

.about-us-page .tb-image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: blur(0px);
transition: filter .45s ease-in-out, transform .45s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.about-us-page .tb-image-wrap:hover img {
filter: blur(0px);
transform: scale(1.04)
}

.about-us-page .tb-image-wrap .img-gradient {
position: absolute;
inset: 0;
background: linear-gradient(to top, #173b238c 0%, transparent 55%);
pointer-events: none;
border-radius: 12px
}

.about-us-page .divider-zigzag {
display: block;
width: 100%;
line-height: 0;
background: #FDFAF2
}

.about-us-page .divider-zigzag svg {
display: block;
width: 100%
}

.about-us-page .team-timeline {
padding: 64px 0;
background: #fff
}

.about-us-page .team-timeline .section-label {
font-size: 15px;
letter-spacing: .1em;
text-transform: uppercase;
color: #A550B2;
font-weight: 600;
margin-bottom: 8px;
display: block
}

.about-us-page .team-timeline .section-heading {
font-size: 37px;
font-weight: 800;
line-height: 1.15;
color: #173B23;
margin: 0 0 32px;
letter-spacing: -.02em
}

.about-us-page .tt-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start
}

.about-us-page .team-cards {
display: flex;
flex-direction: column;
gap: 16px
}

.about-us-page .person-card {
display: flex;
flex-direction: row;
gap: 16px;
background: #FDFAF2;
border-radius: 12px;
padding: 16px;
box-shadow: 1px 1px 5px -2px #a550b212;
transition: box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.about-us-page .person-card:hover {
box-shadow: 1px 8px 36px -2px #a550b21a
}

.about-us-page .person-portrait {
flex: 0 0 72px;
width: 72px;
height: 90px;
border-radius: 7px;
overflow: hidden
}

.about-us-page .person-portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
display: block;
filter: blur(2px);
transition: filter .4s ease-in-out, transform .4s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.about-us-page .person-portrait:hover img {
filter: blur(0px);
transform: scale(1.05)
}

.about-us-page .person-info {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 8px
}

.about-us-page .person-name {
font-size: 17px;
font-weight: 700;
color: #173B23;
line-height: 1.15
}

.about-us-page .person-role {
font-size: 15px;
color: #A550B2;
font-weight: 600
}

.about-us-page .person-bio {
font-size: 15px;
color: #173B23;
line-height: 1.7;
text-indent: 0
}

.about-us-page .person-no-portrait {
flex: 0 0 72px;
width: 72px;
height: 90px;
border-radius: 7px;
background: linear-gradient(67deg, #173B23, #A550B2);
display: flex;
flex-direction: row;
align-items: center;
justify-content: center
}

.about-us-page .person-no-portrait .initials {
color: #fff;
font-size: 21px;
font-weight: 800;
line-height: 1.15
}

.about-us-page .timeline-panel {
display: flex;
flex-direction: column;
gap: 32px
}

.about-us-page .timeline-heading {
font-size: 21px;
font-weight: 700;
color: #173B23;
line-height: 1.15;
margin: 0
}

.about-us-page .timeline-track {
display: flex;
flex-direction: column;
gap: 0;
position: relative
}

.about-us-page .timeline-track::before {
content: '';
position: absolute;
left: 20px;
top: 0;
bottom: 0;
width: 2px;
background: linear-gradient(67deg, #173B23, #A550B2);
border-radius: 48px
}

.about-us-page .tl-item {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
padding-bottom: 32px;
position: relative
}

.about-us-page .tl-item:last-child {
padding-bottom: 0
}

.about-us-page .tl-dot-wrap {
flex: 0 0 40px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
position: relative;
z-index: 1
}

.about-us-page .tl-circle {
width: 40px;
height: 40px;
border-radius: 48px;
background: #A550B2;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
color: #fff;
font-size: 15px;
font-weight: 800;
line-height: 1.15;
flex-shrink: 0
}

.about-us-page .tl-card {
flex: 1 1 0;
background: #fff;
border-radius: 12px;
padding: 16px;
box-shadow: 1px 5px 28px -2px #a550b21c
}

.about-us-page .tl-year {
font-size: 15px;
color: #A550B2;
font-weight: 600;
letter-spacing: .08em
}

.about-us-page .tl-event {
font-size: 17px;
font-weight: 700;
color: #173B23;
line-height: 1.15;
margin: 4px 0
}

.about-us-page .tl-detail {
font-size: 15px;
color: #173B23;
line-height: 1.7;
text-indent: 0
}

.about-us-page .divider-zigzag-2 {
display: block;
width: 100%;
line-height: 0;
background: #fff
}

.about-us-page .divider-zigzag-2 svg {
display: block;
width: 100%
}

.about-us-page .approach-block {
padding: 64px 0 96px;
background: linear-gradient(67deg, #173B23 0%, #A550B2 100%);
position: relative
}

.about-us-page .approach-block .section-label {
font-size: 15px;
letter-spacing: .1em;
text-transform: uppercase;
color: #FDFAF2;
opacity: .7;
font-weight: 600;
margin-bottom: 8px;
display: block
}

.about-us-page .approach-block .section-heading {
font-size: 37px;
font-weight: 800;
line-height: 1.15;
color: #FDFAF2;
margin: 0 0 8px;
letter-spacing: -.02em
}

.about-us-page .approach-block .section-sub {
font-size: 17px;
line-height: 1.7;
color: #FDFAF2;
opacity: .85;
margin: 0 0 32px;
text-indent: 0;
max-width: 560px
}

.about-us-page .approach-top {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
gap: 32px;
margin-bottom: 64px
}

.about-us-page .approach-image-wrap {
flex: 0 0 360px;
border-radius: 12px;
overflow: hidden;
aspect-ratio: 4/3
}

.about-us-page .approach-image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: blur(2px);
transition: filter .42s ease-in-out, transform .42s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.about-us-page .approach-image-wrap:hover img {
filter: blur(0px);
transform: scale(1.04)
}

.about-us-page .principle-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px
}

.about-us-page .principle-card {
background: #fdfaf21a;
border: 1.5px dashed #fdfaf259;
border-radius: 12px;
padding: 16px;
display: flex;
flex-direction: column;
gap: 8px;
transition: background .38s ease-in-out
}

.about-us-page .principle-card:hover {
background: #fdfaf22e
}

.about-us-page .principle-num {
width: 36px;
height: 36px;
border-radius: 48px;
background: #A550B2;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
color: #fff;
font-size: 15px;
font-weight: 800;
flex-shrink: 0
}

.about-us-page .principle-name {
font-size: 17px;
font-weight: 700;
color: #FDFAF2;
line-height: 1.15
}

.about-us-page .principle-desc {
font-size: 15px;
color: #FDFAF2;
opacity: .8;
line-height: 1.7;
text-indent: 0
}

.about-us-page .values-row {
display: flex;
flex-direction: row;
gap: 16px;
margin-top: 64px;
flex-wrap: wrap
}

.about-us-page .value-tag {
background: #fdfaf226;
border-radius: 48px;
padding: 8px 16px;
font-size: 15px;
color: #FDFAF2;
font-weight: 600;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
border: 1.5px solid #fdfaf240
}

.about-us-page .value-tag .bi {
color: #FDFAF2;
font-size: 17px
}

.about-us-page .approach-image2-wrap {
flex: 0 0 300px;
border-radius: 12px;
overflow: hidden;
aspect-ratio: 4/3;
margin-top: 64px;
align-self: flex-start
}

.about-us-page .approach-image2-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: blur(2px);
transition: filter .44s ease-in-out, transform .44s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.about-us-page .approach-image2-wrap:hover img {
filter: blur(0px);
transform: scale(1.04)
}

.about-us-page .approach-bottom {
display: flex;
flex-direction: row;
gap: 64px;
align-items: flex-start
}

.about-us-page .approach-values-col {
flex: 1 1 0
}

.about-us-page .approach-values-col h4 {
font-size: 21px;
font-weight: 700;
color: #FDFAF2;
line-height: 1.15;
margin: 0 0 16px
}

.about-us-page .values-list {
display: flex;
flex-direction: column;
gap: 8px
}

.about-us-page .values-list li {
color: #FDFAF2;
font-size: 17px
}

.about-us-page .values-list li::before {
background: #FDFAF2
}

@media (max-width: 1024px) {
.about-us-page .title-block .au-inner {
flex-direction: column;
gap: 32px
}

.about-us-page .title-block .tb-right {
flex: none;
width: 100%
}

.about-us-page .tb-stripe {
display: none
}

.about-us-page .tt-grid {
grid-template-columns: 1fr;
gap: 32px
}

.about-us-page .principle-grid {
grid-template-columns: repeat(2, 1fr)
}

.about-us-page .approach-top {
flex-direction: column
}

.about-us-page .approach-image-wrap {
flex: none;
width: 100%
}

.about-us-page .approach-bottom {
flex-direction: column;
gap: 32px
}

.about-us-page .approach-image2-wrap {
flex: none;
width: 100%
}
}

@media (max-width: 640px) {
.about-us-page .au-inner {
padding: 0 16px
}

.about-us-page .tb-heading {
font-size: 37px
}

.about-us-page .tb-metrics {
grid-template-columns: 1fr
}

.about-us-page .title-block {
padding: 64px 0 32px
}

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

.about-us-page .section-heading {
font-size: 21px !important
}

.about-us-page .approach-block .section-heading {
font-size: 21px
}

.about-us-page .values-row {
gap: 8px
}

.about-us-page .team-timeline {
padding: 32px 0
}

.about-us-page .approach-block {
padding: 32px 0 64px
}
}

@media (max-width: 360px) {
.about-us-page .au-inner {
padding: 0 8px
}

.about-us-page .tb-heading {
font-size: 21px
}

.about-us-page .metric-box .metric-num {
font-size: 21px
}
}

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

.learning-program .lp-inner {
max-width: 1320px;
margin: 0 auto;
padding: 0 32px
}

.learning-program .title-block {
position: relative;
padding: 96px 0 64px;
background: linear-gradient(67deg, #173B23 0%, #173B23 38%, #A550B2 100%);
overflow: hidden
}

.learning-program .title-block .dots-path {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none
}

.learning-program .title-block .dots-path span {
position: absolute;
display: block;
border-radius: 48px;
background: #fdfaf221
}

.learning-program .title-block .dots-path span:nth-child(1) {
width: 8px;
height: 8px;
top: 18%;
left: 8%
}

.learning-program .title-block .dots-path span:nth-child(2) {
width: 5px;
height: 5px;
top: 32%;
left: 14%
}

.learning-program .title-block .dots-path span:nth-child(3) {
width: 8px;
height: 8px;
top: 55%;
left: 22%
}

.learning-program .title-block .dots-path span:nth-child(4) {
width: 5px;
height: 5px;
top: 70%;
left: 30%
}

.learning-program .title-block .dots-path span:nth-child(5) {
width: 8px;
height: 8px;
top: 20%;
right: 12%
}

.learning-program .title-block .dots-path span:nth-child(6) {
width: 5px;
height: 5px;
top: 45%;
right: 6%
}

.learning-program .title-block .dots-path span:nth-child(7) {
width: 8px;
height: 8px;
top: 75%;
right: 18%
}

.learning-program .title-block .tb-grid {
display: flex;
flex-direction: row;
align-items: center;
gap: 64px;
position: relative;
z-index: 1
}

.learning-program .title-block .tb-text {
flex: 1 1 0
}

.learning-program .title-block .tb-label {
display: inline-block;
font-size: 15px;
letter-spacing: .12em;
color: #fdfaf2b3;
text-transform: uppercase;
margin-bottom: 16px
}

.learning-program .title-block .tb-problem {
font-size: 51px;
line-height: 1.15;
color: #FDFAF2;
letter-spacing: -.02em;
margin-bottom: 16px
}

.learning-program .title-block .tb-solution {
font-size: 21px;
line-height: 1.7;
color: #fdfaf2d1;
margin-bottom: 32px
}

.learning-program .title-block .tb-action {
display: inline-block;
padding: 16px 32px;
border: 2px solid #fdfaf299;
border-radius: 7px;
color: #FDFAF2;
font-size: 17px;
background: transparent;
cursor: pointer;
text-decoration: none;
transition: background .35s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .35s cubic-bezier(0.34, 1.2, 0.64, 1), color .35s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.learning-program .title-block .tb-action:hover {
background: #FDFAF2;
border-color: #FDFAF2;
color: #173B23
}

.learning-program .title-block .tb-image-col {
flex: 0 0 420px;
position: relative
}

.learning-program .title-block .tb-img-wrap {
border-radius: 12px;
overflow: hidden;
position: relative;
height: 320px
}

.learning-program .title-block .tb-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
opacity: .22;
display: block
}

.learning-program .title-block .tb-img-wrap::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 60%;
background: linear-gradient(to top, #173B23 0%, transparent 100%)
}

.learning-program .diag-down {
width: 100%;
height: 56px;
background: #FDFAF2;
clip-path: polygon(0 0, 100% 56px, 100% 56px, 0 56px);
position: relative
}

.learning-program .diag-down::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 56px;
background: #173B23;
clip-path: polygon(0 0, 100% 56px, 100% 0)
}

.learning-program .structure-section {
background: #FDFAF2;
padding: 96px 0
}

.learning-program .structure-section .split-grid {
display: grid;
grid-template-columns: 30fr 70fr;
gap: 64px;
align-items: start
}

.learning-program .structure-section .left-accent {
position: sticky;
top: 32px
}

.learning-program .structure-section .accent-number {
font-size: 68px;
line-height: 1.15;
color: #a550b214;
letter-spacing: -.04em;
display: block;
margin-bottom: 8px
}

.learning-program .structure-section .accent-label {
font-size: 37px;
line-height: 1.15;
color: #173B23;
letter-spacing: -.02em;
margin-bottom: 16px
}

.learning-program .structure-section .accent-sub {
font-size: 15px;
line-height: 1.7;
color: #173B23;
opacity: .7
}

.learning-program .structure-section .modules-list {
display: flex;
flex-direction: column;
gap: 0
}

.learning-program .structure-section .module-item {
display: flex;
flex-direction: row;
gap: 32px;
align-items: flex-start;
padding: 32px 0;
border-top: 1px solid #173b231a;
transition: opacity .38s ease-in-out
}

.learning-program .structure-section .modules-list:hover .module-item {
opacity: .4
}

.learning-program .structure-section .modules-list:hover .module-item:hover {
opacity: 1
}

.learning-program .structure-section .module-num {
font-size: 15px;
color: #A550B2;
letter-spacing: .1em;
min-width: 32px;
padding-top: 4px
}

.learning-program .structure-section .module-title {
font-size: 21px;
line-height: 1.15;
color: #173B23;
margin-bottom: 8px
}

.learning-program .structure-section .module-desc {
font-size: 15px;
line-height: 1.7;
color: #173B23;
opacity: .75;
margin: 0;
text-indent: 0
}

.learning-program .structure-section .module-tag {
display: inline-block;
margin-top: 8px;
font-size: 15px;
color: #A550B2;
border: 1px solid #a550b24d;
border-radius: 48px;
padding: 4px 16px
}

.learning-program .process-section {
background: #a550b20a;
padding: 96px 0;
position: relative
}

.learning-program .process-section .process-header {
text-align: center;
margin-bottom: 64px
}

.learning-program .process-section .process-header .fade-num {
font-size: 68px;
line-height: 1.15;
color: #a550b20f;
letter-spacing: -.04em;
display: block;
margin-bottom: 8px
}

.learning-program .process-section .process-header h2 {
font-size: 37px;
line-height: 1.15;
color: #173B23;
letter-spacing: -.02em;
margin-bottom: 16px
}

.learning-program .process-section .process-header p {
font-size: 17px;
line-height: 1.7;
color: #173B23;
opacity: .75;
max-width: 560px;
margin: 0 auto
}

.learning-program .process-section .steps-row {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 32px;
position: relative
}

.learning-program .process-section .step-card {
background: #FDFAF2;
border-radius: 12px;
padding: 32px;
box-shadow: 1px 1px 5px -2px #a550b212;
transition: box-shadow .42s cubic-bezier(0.34, 1.2, 0.64, 1), transform .42s cubic-bezier(0.34, 1.2, 0.64, 1);
animation: scale-appear .45s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

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

to {
transform: scale(1);
opacity: 1
}
}

.learning-program .process-section .step-card:hover {
box-shadow: 1px 5px 28px -2px #a550b21c;
transform: translateY(-4px)
}

.learning-program .process-section .step-icon {
width: 48px;
height: 48px;
border-radius: 12px;
background: linear-gradient(67deg, #173B23, #A550B2);
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
margin-bottom: 16px
}

.learning-program .process-section .step-icon i {
color: #FDFAF2;
font-size: 21px
}

.learning-program .process-section .step-num {
font-size: 15px;
color: #A550B2;
letter-spacing: .08em;
margin-bottom: 8px;
display: block
}

.learning-program .process-section .step-title {
font-size: 17px;
line-height: 1.15;
color: #173B23;
margin-bottom: 8px
}

.learning-program .process-section .step-text {
font-size: 15px;
line-height: 1.7;
color: #173B23;
opacity: .72;
margin: 0
}

.learning-program .faculty-faq-section {
background: #173B23;
padding: 96px 0
}

.learning-program .faculty-faq-section .complex-grid {
display: grid;
grid-template-columns: 1fr 64px 1fr;
gap: 0;
align-items: start
}

.learning-program .faculty-faq-section .empty-divider {
grid-column: 2;
position: relative
}

.learning-program .faculty-faq-section .empty-divider::before {
content: "";
display: block;
width: 1px;
height: 100%;
background: linear-gradient(to bottom, transparent, #fdfaf226, transparent);
margin: 0 auto
}

.learning-program .faculty-faq-section .faculty-col {
grid-column: 1
}

.learning-program .faculty-faq-section .faq-col {
grid-column: 3
}

.learning-program .faculty-faq-section .col-label {
font-size: 15px;
letter-spacing: .12em;
color: #fdfaf280;
text-transform: uppercase;
margin-bottom: 32px;
display: block
}

.learning-program .faculty-faq-section .col-heading {
font-size: 37px;
line-height: 1.15;
color: #FDFAF2;
letter-spacing: -.02em;
margin-bottom: 32px
}

.learning-program .faculty-faq-section .portrait-card {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
margin-bottom: 32px;
padding: 16px;
border-radius: 7px;
background: #fdfaf20a;
box-shadow: inset 0 2px 6px #173b232e;
transition: background .35s ease-in-out
}

.learning-program .faculty-faq-section .portrait-card:hover {
background: #fdfaf214
}

.learning-program .faculty-faq-section .portrait-wrap {
width: 80px;
height: 80px;
flex-shrink: 0;
overflow: hidden
}

.learning-program .faculty-faq-section .portrait-wrap img {
width: 80px;
height: 80px;
object-fit: cover;
object-position: top;
display: block
}

.learning-program .faculty-faq-section .portrait-name {
font-size: 17px;
line-height: 1.15;
color: #FDFAF2;
margin-bottom: 4px
}

.learning-program .faculty-faq-section .portrait-role {
font-size: 15px;
color: #A550B2;
margin-bottom: 8px
}

.learning-program .faculty-faq-section .portrait-bio {
font-size: 15px;
line-height: 1.7;
color: #fdfaf2a6;
margin: 0
}

.learning-program .faculty-faq-section .dashed-accent {
border: 2px dashed #a550b259;
border-radius: 12px;
padding: 24px;
margin-top: 32px
}

.learning-program .faculty-faq-section .dashed-accent .accent-text {
font-size: 15px;
line-height: 1.7;
color: #fdfaf2b3;
margin: 0
}

.learning-program .faculty-faq-section .faq-list {
display: flex;
flex-direction: column;
gap: 0
}

.learning-program .faculty-faq-section .faq-item {
border-top: 1px solid #fdfaf21a;
padding: 24px 0
}

.learning-program .faculty-faq-section .faq-item:last-child {
border-bottom: 1px solid #fdfaf21a
}

.learning-program .faculty-faq-section .faq-question {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
cursor: pointer;
gap: 16px;
background: none;
border: none;
width: 100%;
text-align: left;
padding: 0
}

.learning-program .faculty-faq-section .faq-q-text {
font-size: 17px;
line-height: 1.7;
color: #FDFAF2
}

.learning-program .faculty-faq-section .faq-icon {
color: #A550B2;
font-size: 21px;
flex-shrink: 0;
transition: transform .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.learning-program .faculty-faq-section .faq-icon.open {
transform: rotate(45deg)
}

.learning-program .faculty-faq-section .faq-answer {
font-size: 15px;
line-height: 1.7;
color: #fdfaf2a6;
margin-top: 8px;
display: none
}

.learning-program .faculty-faq-section .faq-answer.visible {
display: block
}

.learning-program .styled-list {
list-style: none;
padding: 0;
margin: 0
}

.learning-program .styled-list li {
font-size: 15px;
line-height: 1.7;
color: #fdfaf2b3;
padding-left: 16px;
position: relative;
margin-bottom: 8px
}

.learning-program .styled-list li::before {
content: "";
position: absolute;
left: 0;
top: 10px;
width: 6px;
height: 6px;
border-radius: 48px;
background: #A550B2
}

@media (max-width: 1024px) {
.learning-program .title-block .tb-grid {
gap: 32px
}

.learning-program .title-block .tb-image-col {
flex: 0 0 300px
}

.learning-program .title-block .tb-problem {
font-size: 37px
}

.learning-program .structure-section .split-grid {
grid-template-columns: 1fr;
gap: 32px
}

.learning-program .structure-section .left-accent {
position: static
}

.learning-program .process-section .steps-row {
grid-template-columns: repeat(2, 1fr)
}

.learning-program .faculty-faq-section .complex-grid {
grid-template-columns: 1fr;
gap: 64px
}

.learning-program .faculty-faq-section .empty-divider {
display: none
}

.learning-program .faculty-faq-section .faculty-col,
.learning-program .faculty-faq-section .faq-col {
grid-column: 1
}
}

@media (max-width: 640px) {
.learning-program .lp-inner {
padding: 0 16px
}

.learning-program .title-block {
padding: 64px 0 48px
}

.learning-program .title-block .tb-grid {
flex-direction: column;
gap: 32px
}

.learning-program .title-block .tb-image-col {
flex: 0 0 auto;
width: 100%
}

.learning-program .title-block .tb-img-wrap {
height: 200px
}

.learning-program .title-block .tb-problem {
font-size: 37px
}

.learning-program .structure-section {
padding: 64px 0
}

.learning-program .process-section {
padding: 64px 0
}

.learning-program .process-section .steps-row {
grid-template-columns: 1fr
}

.learning-program .faculty-faq-section {
padding: 64px 0
}
}

@media (max-width: 360px) {
.learning-program .title-block .tb-problem {
font-size: 21px
}

.learning-program .structure-section .accent-label {
font-size: 21px
}
}

.success-page {
min-height: 60vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 96px 32px;
background-color: #FDFAF2
}

.success-page .success-card {
max-width: 560px;
width: 100%;
background: #fff;
border-radius: 12px;
padding: 64px 48px;
box-shadow: 1px 8px 36px -2px #a550b21a;
text-align: center
}

.success-page .success-card .icon-wrap {
width: 72px;
height: 72px;
border-radius: 48px;
background: linear-gradient(67deg, #173B23, #A550B2);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 32px
}

.success-page .success-card .icon-wrap svg {
width: 34px;
height: 34px;
display: block
}

.success-page .success-card .success-heading {
font-size: 37px;
line-height: 1.15;
letter-spacing: -.02em;
color: #173B23;
margin: 0 0 16px
}

.success-page .success-card .success-text {
font-size: 17px;
line-height: 1.7;
color: #2e2e2e;
margin: 0 0 32px
}

.success-page .success-card .back-link {
display: inline-block;
font-size: 15px;
line-height: 1.15;
letter-spacing: .03em;
color: #A550B2;
text-decoration: underline;
border-radius: 7px;
padding: 8px 16px;
border: 2px solid #A550B2;
text-decoration: none;
transition: background-color .38s cubic-bezier(0.34, 1.2, 0.64, 1), color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.success-page .success-card .back-link:hover,
.success-page .success-card .back-link:focus {
background-color: #A550B2;
color: #FDFAF2;
outline: none
}

.success-page .success-card .back-link:focus-visible {
box-shadow: 1px 1px 5px -2px #a550b212 0 0 0 3px #a550b259
}

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

.success-page .success-card {
padding: 32px 16px
}

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