* {
box-sizing: border-box
}

html {
font-size: 100%
}

body {
margin: 0;
font-family: 'Alegreya', serif;
background-color: #0e1614
}

.page-header {
position: relative;
width: 100%;
background: linear-gradient(135deg, #0e1614eb 0%, #2ab0a621 60%, #d85c272e 100%);
backdrop-filter: blur(18px);
-webkit-backdrop-filter: blur(18px);
border-bottom: 1px solid #2ab0a638;
box-shadow: 0 5px 28px 0 #2ab0a61c;
z-index: 100;
overflow: visible
}

.header-plate {
max-width: 1600px;
margin: 0 auto;
padding: 0 32px
}

.header-top {
display: flex;
align-items: center;
justify-content: space-between;
padding: 16px 0 8px;
gap: 32px
}

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

.brand-frame {
display: flex;
align-items: center;
border: 2px dashed #2ab0a68c;
border-radius: 8px;
padding: 8px 16px;
background: #0e161499;
box-shadow: 0 3px 2px 0 #2ab0a612 0 5px 28px 0 #2ab0a61c
}

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

.brand-tagline {
font-size: 15px;
line-height: 1.5;
color: #EBEFEA;
letter-spacing: .08em;
opacity: .78;
font-style: italic;
margin: 0
}

.header-address {
display: flex;
align-items: center;
gap: 8px;
font-size: 15px;
line-height: 1.5;
color: #EBEFEA;
opacity: .72;
flex-shrink: 0
}

.address-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
flex-shrink: 0
}

.address-icon svg {
width: 16px;
height: 16px;
fill: #2AB0A6
}

.header-nav {
padding: 8px 0 16px;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 8px;
flex-wrap: wrap
}

.nav-link {
font-size: 18px;
line-height: 1.5;
color: #EBEFEA;
text-decoration: none;
padding: 8px 16px;
border-radius: 8px;
border: 1px solid transparent;
transition: color .15s cubic-bezier(0.4, 0, 1, 1), border-color .12s cubic-bezier(0.4, 0, 1, 1), background .15s cubic-bezier(0.4, 0, 1, 1), transform .12s cubic-bezier(0.4, 0, 1, 1);
white-space: nowrap;
font-family: 'Alegreya', serif
}

.nav-link:hover {
color: #2AB0A6;
border-color: #2ab0a661;
background: #2ab0a614;
transform: translateY(-2px)
}

.nav-link:focus {
outline: none;
box-shadow: 0 0 0 3px #2ab0a673;
border-color: #2AB0A6
}

.nav-link--active {
color: #D85C27;
border-color: #d85c2759;
background: #d85c2717
}

.nav-link--active:hover {
color: #D85C27;
border-color: #d85c278c;
background: #d85c2724
}

.header-divider {
width: 100%;
height: 2px;
background: linear-gradient(90deg, transparent 0%, #d85c2780 30%, #2ab0a680 70%, transparent 100%);
border: none;
margin: 0
}

.page-footer {
background: linear-gradient(180deg, #0e1614fa 0%, #14201cff 100%);
border-top: 1px solid #2ab0a62e;
padding: 48px 32px 32px
}

.footer-plate {
max-width: 1600px;
margin: 0 auto
}

.footer-deck {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 32px;
flex-wrap: wrap;
margin-bottom: 32px
}

.footer-brand-pod {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 8px
}

.footer-frame {
display: flex;
align-items: center;
border: 2px dashed #d85c2773;
border-radius: 8px;
padding: 8px 16px;
background: #0e1614b3;
box-shadow: 0 3px 2px 0 #d85c2712 0 5px 28px 0 #d85c271c
}

.footer-frame img {
width: 58px;
height: 54px;
object-fit: contain;
display: block
}

.footer-tagline {
font-size: 15px;
line-height: 1.5;
color: #EBEFEA;
opacity: .65;
font-style: italic;
margin: 0
}

.footer-links-cell {
display: flex;
flex-direction: column;
gap: 8px;
align-items: flex-start
}

.footer-links-label {
font-size: 15px;
line-height: 1.5;
color: #2AB0A6;
letter-spacing: .1em;
text-transform: uppercase;
margin-bottom: 8px
}

.footer-link {
font-size: 15px;
line-height: 1.5;
color: #EBEFEA;
text-decoration: none;
padding: 8px 16px;
border-radius: 36px;
border: 1px solid #ebefea26;
background: #ebefea0a;
transition: color .13s cubic-bezier(0.4, 0, 1, 1), border-color .13s cubic-bezier(0.4, 0, 1, 1), transform .1s cubic-bezier(0.4, 0, 1, 1);
white-space: nowrap;
font-family: 'Alegreya', serif
}

.footer-link:hover {
color: #D85C27;
border-color: #d85c2780;
transform: translateY(-2px)
}

.footer-link:focus {
outline: none;
box-shadow: 0 0 0 3px #d85c2766
}

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

.footer-contact-label {
font-size: 15px;
line-height: 1.5;
color: #2AB0A6;
letter-spacing: .1em;
text-transform: uppercase;
margin-bottom: 8px
}

.footer-contact-item {
display: flex;
align-items: center;
gap: 8px;
font-size: 15px;
line-height: 1.5;
color: #EBEFEA;
opacity: .75;
text-decoration: none;
font-family: 'Alegreya', serif
}

.footer-contact-item:hover {
opacity: 1;
color: #2AB0A6
}

.footer-contact-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
flex-shrink: 0
}

.footer-contact-icon svg {
width: 15px;
height: 15px;
fill: #D85C27
}

.footer-bottom {
border-top: 1px solid #2ab0a61f;
padding-top: 16px;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 8px
}

.footer-copy {
font-size: 15px;
line-height: 1.5;
color: #EBEFEA;
opacity: .5;
margin: 0
}

.footer-year-pill {
display: inline-flex;
align-items: center;
padding: 8px 16px;
border-radius: 36px;
background: #d85c271f;
border: 1px solid #d85c2747;
font-size: 15px;
line-height: 1.1;
color: #D85C27;
font-family: 'Alegreya', serif
}

.consent-banner {
display: none;
position: fixed;
top: 16px;
left: 0;
right: 0;
margin: 0 auto;
width: 92%;
max-width: 680px;
background: #0e1614f7;
border: 1px solid #2ab0a64d;
border-radius: 8px;
box-shadow: 0 8px 60px 0 #2ab0a61f;
z-index: 1000;
padding: 16px 32px;
transform: translateX(120%);
transition: transform .22s cubic-bezier(0.4, 0, 1, 1);
font-family: 'Alegreya', serif
}

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

.consent-icon-mark {
display: flex;
justify-content: center;
margin-bottom: 8px
}

.consent-icon-mark svg {
width: 28px;
height: 28px;
fill: #2AB0A6
}

.consent-intro {
font-size: 15px;
line-height: 1.5;
color: #EBEFEA;
margin-bottom: 8px;
text-align: center
}

.consent-uses {
font-size: 15px;
line-height: 1.5;
color: #EBEFEA;
opacity: .75;
margin: 0 0 16px;
padding-left: 16px
}

.consent-uses li {
margin-bottom: 4px
}

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

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

.consent-toggle-row {
display: flex;
align-items: center;
justify-content: space-between;
padding: 8px 16px;
border-radius: 8px;
border: 1px solid #2ab0a633;
background: #2ab0a60d
}

.consent-toggle-label {
font-size: 15px;
line-height: 1.5;
color: #EBEFEA
}

.consent-toggle-label--required {
opacity: .55;
font-style: italic
}

.consent-checkbox {
width: 18px;
height: 18px;
accent-color: #2AB0A6;
cursor: pointer
}

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

.consent-button {
font-size: 15px;
line-height: 1.5;
font-family: 'Alegreya', serif;
padding: 8px 16px;
border-radius: 8px;
border: 1px solid #2ab0a673;
background: transparent;
color: #EBEFEA;
cursor: pointer;
transition: color .13s cubic-bezier(0.4, 0, 1, 1), border-color .13s cubic-bezier(0.4, 0, 1, 1), background .13s cubic-bezier(0.4, 0, 1, 1), transform .1s cubic-bezier(0.4, 0, 1, 1);
min-height: 44px
}

.consent-button:hover {
color: #2AB0A6;
border-color: #2AB0A6;
background: #2ab0a61a;
transform: translateY(-2px)
}

.consent-button:focus {
outline: none;
box-shadow: 0 0 0 3px #2ab0a666
}

.consent-button--accept {
border-color: #d85c278c;
color: #D85C27
}

.consent-button--accept:hover {
color: #EBEFEA;
border-color: #D85C27;
background: #d85c272e
}

.consent-settings-link {
font-size: 15px;
line-height: 1.5;
color: #2AB0A6;
background: none;
border: none;
cursor: pointer;
text-decoration: underline;
font-family: 'Alegreya', serif;
padding: 8px;
min-height: 44px
}

.consent-settings-link:hover {
color: #D85C27
}

.consent-settings-link:focus {
outline: none;
box-shadow: 0 0 0 3px #2ab0a666;
border-radius: 8px
}

@media (max-width: 992px) {
.header-top {
flex-wrap: wrap;
gap: 16px
}

.header-nav {
justify-content: flex-start
}

.footer-deck {
flex-direction: column;
gap: 32px
}
}

@media (max-width: 576px) {
.header-plate {
padding: 0 16px
}

.page-footer {
padding: 32px 16px 16px
}

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

.consent-banner {
width: 96%;
padding: 16px
}
}

.legal-body {
max-width: 1600px;
margin: 0 auto;
padding: 96px 48px;
background: #111416;
min-height: 100vh
}

.legal-body h1 {
font-size: 52px;
line-height: 1.1;
letter-spacing: -.02em;
color: #EBEFEA;
margin-bottom: 32px;
margin-top: 0
}

.legal-body h2 {
font-size: 38px;
line-height: 1.1;
letter-spacing: -.01em;
color: #EBEFEA;
margin-top: 96px;
margin-bottom: 32px;
padding-bottom: 16px;
border-bottom: 2px solid #D85C27
}

.legal-body h3 {
font-size: 28px;
line-height: 1.5;
color: #2AB0A6;
margin-top: 48px;
margin-bottom: 16px
}

.legal-body h4 {
font-size: 22px;
line-height: 1.5;
color: #EBEFEA;
margin-top: 32px;
margin-bottom: 16px;
letter-spacing: .03em
}

.legal-body h5 {
font-size: 18px;
line-height: 1.5;
color: #c8cec7;
margin-top: 32px;
margin-bottom: 8px;
letter-spacing: .05em;
text-transform: uppercase
}

.legal-body h6 {
font-size: 15px;
line-height: 1.5;
color: #2AB0A6;
margin-top: 16px;
margin-bottom: 8px;
letter-spacing: .08em;
text-transform: uppercase
}

.legal-body p {
font-size: 18px;
line-height: 1.9;
color: #c8cec7;
margin-top: 0;
margin-bottom: 16px;
max-width: 80ch
}

.legal-body strong,
.legal-body b {
color: #EBEFEA;
font-weight: 700
}

.legal-body em,
.legal-body i {
color: #b8beb7;
font-style: italic
}

.legal-body a {
color: #2AB0A6;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color .12s cubic-bezier(0.4, 0, 1, 1), text-decoration-color .12s cubic-bezier(0.4, 0, 1, 1)
}

.legal-body a:hover {
color: #D85C27;
text-decoration-color: #D85C27
}

.legal-body a:visited {
color: #1d8a81
}

.legal-body hr {
border: none;
height: 1px;
background: linear-gradient(90deg, transparent, #2AB0A6 30%, #D85C27 70%, transparent);
margin-top: 48px;
margin-bottom: 48px;
opacity: .4
}

.legal-body table {
width: 100%;
border-collapse: collapse;
margin-top: 32px;
margin-bottom: 32px;
font-size: 15px;
line-height: 1.5;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 5px 28px 0 #d85c271c
}

.legal-body thead {
background: #1e2226
}

.legal-body thead th {
color: #2AB0A6;
font-size: 15px;
font-weight: 700;
letter-spacing: .07em;
text-transform: uppercase;
padding: 16px;
text-align: left;
border-bottom: 2px solid #D85C27
}

.legal-body tbody tr {
border-bottom: 1px solid #252a2e;
transition: background .1s cubic-bezier(0.4, 0, 1, 1)
}

.legal-body tbody tr:last-child {
border-bottom: none
}

.legal-body tbody tr:hover {
background: #1a1e22
}

.legal-body tbody td {
color: #c8cec7;
padding: 16px;
vertical-align: top;
font-size: 15px;
line-height: 1.9
}

.legal-body tbody tr:nth-child(even) {
background: #161a1d
}

.legal-body tbody tr:nth-child(even):hover {
background: #1a1e22
}

@media (max-width: 992px) {
.legal-body {
padding: 48px 32px
}

.legal-body h1 {
font-size: 38px
}

.legal-body h2 {
font-size: 28px;
margin-top: 48px
}

.legal-body h3 {
font-size: 22px
}

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

@media (max-width: 576px) {
.legal-body {
padding: 32px 16px
}

.legal-body h1 {
font-size: 28px
}

.legal-body h2 {
font-size: 22px;
margin-top: 32px
}

.legal-body h3 {
font-size: 18px
}

.legal-body h4 {
font-size: 18px
}

.legal-body p {
font-size: 15px
}

.legal-body table {
font-size: 15px
}

.legal-body thead th,
.legal-body tbody td {
padding: 8px
}
}

.about-us-page {
background-color: #0e1210;
color: #EBEFEA;
overflow-x: clip;
position: relative
}

.about-us-page .grad-text {
background: linear-gradient(247deg, #2AB0A6, #D85C27);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.about-us-page .accent-word {
background-color: #D85C27;
color: #0e1210;
padding: 0 8px;
border-radius: 8px;
display: inline
}

.about-us-page .divider-line {
height: 2px;
background: linear-gradient(to right, #2AB0A6, transparent);
border: none;
margin: 0
}

.about-us-page .divider-line--secondary {
background: linear-gradient(to right, #D85C27, transparent)
}

.about-us-page .title-block {
background: linear-gradient(180deg, transparent 0%, #0e1210 100%);
position: relative;
padding: 96px 48px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
max-width: 1600px;
margin: 0 auto;
align-items: end
}

.about-us-page .title-block__image-side {
position: relative;
border-radius: 48px;
overflow: hidden
}

.about-us-page .title-block__image-side img {
width: 100%;
height: 520px;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0) brightness(0.7) sepia(0.3) hue-rotate(0deg);
border-radius: 48px;
transition: filter .18s cubic-bezier(0.4, 0, 1, 1)
}

.about-us-page .title-block__image-side:hover img {
filter: saturate(0.4) brightness(0.75)
}

.about-us-page .title-block__image-overlay {
position: absolute;
inset: 0;
background: linear-gradient(247deg, #2ab0a659, #d85c2733);
border-radius: 48px;
pointer-events: none
}

.about-us-page .title-block__badge {
position: absolute;
bottom: 32px;
left: 32px;
background-color: #0e1210e0;
border: 1px solid #2ab0a666;
border-radius: 36px;
padding: 16px 32px;
box-shadow: 0 5px 28px 0 #2ab0a61c
}

.about-us-page .title-block__badge-year {
font-size: 38px;
line-height: 1.1;
color: #2AB0A6;
display: block
}

.about-us-page .title-block__badge-label {
font-size: 15px;
line-height: 1.5;
color: #EBEFEA;
opacity: .7;
letter-spacing: .08em;
text-transform: uppercase
}

.about-us-page .title-block__text-side {
display: flex;
flex-direction: column;
gap: 32px;
justify-content: flex-end
}

.about-us-page .title-block__label {
font-size: 15px;
line-height: 1.5;
letter-spacing: .12em;
text-transform: uppercase;
color: #2AB0A6
}

.about-us-page .title-block__heading {
font-size: 52px;
line-height: 1.1;
margin: 0
}

.about-us-page .title-block__paragraph {
font-size: 18px;
line-height: 1.9;
color: #EBEFEA;
opacity: .85;
max-width: 520px
}

.about-us-page .title-block__wave {
display: block;
width: 100%;
line-height: 0
}

.about-us-page .story-block {
padding: 96px 48px;
position: relative
}

.about-us-page .story-block__inner {
max-width: 1600px;
margin: 0 auto;
display: grid;
grid-template-columns: 340px 1fr;
gap: 96px;
align-items: start
}

.about-us-page .story-block__sidebar {
display: flex;
flex-direction: column;
gap: 32px;
position: sticky;
top: 48px
}

.about-us-page .story-block__sidebar-heading {
font-size: 38px;
line-height: 1.1;
margin: 0
}

.about-us-page .story-block__sidebar-note {
font-size: 15px;
line-height: 1.9;
color: #EBEFEA;
opacity: .7
}

.about-us-page .story-block__metric {
background: linear-gradient(247deg, #2ab0a61a, transparent);
border: 1px solid #2ab0a640;
border-radius: 8px;
padding: 16px;
box-shadow: 0 3px 2px 0 #2ab0a612
}

.about-us-page .story-block__metric-number {
font-size: 52px;
line-height: 1.1;
color: #2AB0A6;
display: block
}

.about-us-page .story-block__metric-desc {
font-size: 15px;
line-height: 1.5;
opacity: .7
}

.about-us-page .story-block__body {
display: flex;
flex-direction: column;
gap: 48px
}

.about-us-page .story-block__paragraph {
font-size: 18px;
line-height: 1.9;
color: #EBEFEA;
opacity: .85
}

.about-us-page .story-block__icon-list {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px
}

.about-us-page .story-block__icon-item {
display: flex;
flex-direction: column;
gap: 8px;
padding: 32px;
background-color: #ebefea0a;
border-radius: 8px;
border: 1px solid #ebefea14;
transition: border-color .15s cubic-bezier(0.4, 0, 1, 1), transform .15s cubic-bezier(0.4, 0, 1, 1)
}

.about-us-page .story-block__icon-item:hover {
border-color: #2ab0a666;
transform: translateY(-4px)
}

.about-us-page .story-block__icon-svg {
width: 32px;
height: 32px;
flex-shrink: 0
}

.about-us-page .story-block__icon-title {
font-size: 18px;
line-height: 1.5;
color: #EBEFEA;
margin: 0
}

.about-us-page .story-block__icon-desc {
font-size: 15px;
line-height: 1.9;
opacity: .65
}

.about-us-page .team-block {
padding: 96px 48px;
background: linear-gradient(247deg, #2ab0a60f 0%, #0e121000 60%);
position: relative
}

.about-us-page .team-block::before {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(to right, #D85C27, transparent)
}

.about-us-page .team-block__inner {
max-width: 1600px;
margin: 0 auto
}

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

.about-us-page .team-block__heading {
font-size: 38px;
line-height: 1.1;
margin: 0;
max-width: 480px
}

.about-us-page .team-block__intro {
font-size: 18px;
line-height: 1.9;
opacity: .75;
max-width: 400px
}

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

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

.about-us-page .team-block__portrait {
border-radius: 36px;
overflow: hidden;
box-shadow: 0 8px 60px 0 #d85c271f
}

.about-us-page .team-block__portrait img {
width: 100%;
aspect-ratio: 3/4;
object-fit: cover;
object-position: center;
display: block;
transition: transform .18s cubic-bezier(0.4, 0, 1, 1)
}

.about-us-page .team-block__portrait:hover img {
transform: scale(1.04)
}

.about-us-page .team-block__person-name {
font-size: 22px;
line-height: 1.5;
margin: 0;
color: #EBEFEA
}

.about-us-page .team-block__person-role {
font-size: 15px;
line-height: 1.5;
color: #2AB0A6;
letter-spacing: .08em;
text-transform: uppercase
}

.about-us-page .team-block__person-bio {
font-size: 15px;
line-height: 1.9;
opacity: .7
}

.about-us-page .team-block__person--text-only {
background-color: #ebefea0a;
border: 1px solid #ebefea1a;
border-radius: 36px;
padding: 32px;
justify-content: center;
min-height: 320px
}

.about-us-page .team-block__person-initial {
width: 64px;
height: 64px;
border-radius: 48px;
background: linear-gradient(247deg, #2AB0A6, #D85C27);
display: flex;
align-items: center;
justify-content: center;
font-size: 28px;
line-height: 1.1;
color: #0e1210;
flex-shrink: 0
}

.about-us-page .stats-block {
padding: 96px 48px;
position: relative
}

.about-us-page .stats-block__inner {
max-width: 1600px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 480px;
gap: 96px;
align-items: center
}

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

.about-us-page .stats-block__heading {
font-size: 38px;
line-height: 1.1;
margin: 0
}

.about-us-page .stats-block__paragraph {
font-size: 18px;
line-height: 1.9;
opacity: .8
}

.about-us-page .stats-block__image-wrap {
border-radius: 48px;
overflow: hidden;
box-shadow: 0 8px 60px 0 #d85c271f;
position: relative
}

.about-us-page .stats-block__image-wrap img {
width: 100%;
height: 360px;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0.2) brightness(0.65);
transition: filter .15s ease-in
}

.about-us-page .stats-block__image-wrap:hover img {
filter: saturate(0.5) brightness(0.75)
}

.about-us-page .stats-block__image-tint {
position: absolute;
inset: 0;
background: linear-gradient(247deg, #d85c274d, #2ab0a626);
pointer-events: none
}

.about-us-page .stats-block__chart-area {
display: flex;
flex-direction: column;
gap: 32px
}

.about-us-page .stats-block__chart-label {
font-size: 15px;
line-height: 1.5;
letter-spacing: .1em;
text-transform: uppercase;
color: #D85C27
}

.about-us-page .stats-chart-table {
border: none;
border-collapse: collapse
}

.about-us-page .stats-chart-table tbody tr td {
padding: 8px 0
}

.about-us-page .stats-chart-table .charts-css.bar {
--color: #2AB0A6
}

.about-us-page .chart-row-label {
font-size: 15px;
color: #EBEFEA;
opacity: .8;
white-space: nowrap;
padding-right: 16px !important;
width: 160px
}

.about-us-page .chart-bar-cell {
padding: 0 !important
}

.about-us-page .chart-bar-wrap {
height: 28px;
background-color: #ebefea12;
border-radius: 8px;
overflow: hidden;
position: relative;
min-width: 200px
}

.about-us-page .chart-bar-fill {
height: 100%;
border-radius: 8px;
background: linear-gradient(247deg, #2AB0A6, #D85C27);
display: flex;
align-items: center;
justify-content: flex-end;
padding-right: 8px;
font-size: 15px;
color: #0e1210;
transition: width .18s cubic-bezier(0.4, 0, 1, 1)
}

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

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

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

.about-us-page .story-block__icon-item {
animation: bounce-in .16s cubic-bezier(0.4, 0, 1, 1) both
}

.about-us-page .story-block__icon-item:nth-child(1) {
animation-delay: .04s
}

.about-us-page .story-block__icon-item:nth-child(2) {
animation-delay: .08s
}

.about-us-page .story-block__icon-item:nth-child(3) {
animation-delay: .12s
}

.about-us-page .story-block__icon-item:nth-child(4) {
animation-delay: .16s
}

@keyframes slow-zoom {
0% {
transform: scale(1)
}

50% {
transform: scale(1.06)
}

100% {
transform: scale(1)
}
}

.about-us-page .title-block__image-side img {
animation: slow-zoom 8s ease-in-out infinite
}

@media (max-width: 992px) {
.about-us-page .title-block {
grid-template-columns: 1fr;
padding: 48px 32px;
gap: 32px
}

.about-us-page .title-block__heading {
font-size: 38px
}

.about-us-page .story-block__inner {
grid-template-columns: 1fr;
gap: 48px
}

.about-us-page .story-block__sidebar {
position: static
}

.about-us-page .story-block__icon-list {
grid-template-columns: 1fr
}

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

.about-us-page .team-block__heading-row {
flex-direction: column;
align-items: flex-start
}

.about-us-page .stats-block__inner {
grid-template-columns: 1fr;
gap: 48px
}
}

@media (max-width: 576px) {
.about-us-page .title-block {
padding: 48px 16px
}

.about-us-page .story-block {
padding: 48px 16px
}

.about-us-page .team-block {
padding: 48px 16px
}

.about-us-page .stats-block {
padding: 48px 16px
}

.about-us-page .title-block__heading {
font-size: 28px
}

.about-us-page .story-block__icon-list {
grid-template-columns: 1fr
}

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

.about-us-page .stats-block__image-wrap img {
height: 240px
}

.about-us-page .chart-bar-wrap {
min-width: 120px
}
}

.contact-us {
background-color: #0e1210;
min-height: 100vh;
overflow-x: clip
}

.contact-us .page-top {
position: relative;
text-align: center;
padding: 96px 48px;
background: linear-gradient(247deg, #D85C27 0%, transparent 60%), #111814;
overflow: hidden
}

.contact-us .page-top::before {
content: '';
position: absolute;
inset: 0;
background: repeating-linear-gradient(0deg, transparent, transparent 3px, #ebefea08 3px, #ebefea08 4px);
pointer-events: none
}

.contact-us .eyebrow-label {
display: inline-block;
font-size: 15px;
letter-spacing: .18em;
color: #2AB0A6;
text-transform: uppercase;
margin-bottom: 16px;
position: relative
}

.contact-us .page-top__heading {
font-size: 52px;
line-height: 1.1;
color: #EBEFEA;
margin: 0 auto;
max-width: 700px;
position: relative
}

.contact-us .page-top__heading span {
background: #D85C27;
padding: 0 8px;
color: #0e1210
}

.contact-us .split-row {
display: flex;
flex-direction: row;
max-width: 1600px;
margin: 0 auto;
padding: 96px 48px;
gap: 96px;
align-items: flex-start
}

.contact-us .split-row__left {
flex: 0 0 340px;
display: flex;
flex-direction: column;
gap: 48px
}

.contact-us .split-row__right {
flex: 1 1 0
}

.contact-us .stat-item {
display: flex;
flex-direction: column;
gap: 8px;
padding: 32px;
background: #161c18;
border-radius: 8px;
box-shadow: 0 5px 28px 0 #d85c271c;
position: relative;
transition: transform .15s cubic-bezier(0.4, 0, 1, 1)
}

.contact-us .stat-item:hover {
transform: translateY(-3px)
}

.contact-us .stat-item__icon {
width: 32px;
height: 32px;
margin-bottom: 8px
}

.contact-us .stat-item__number {
font-size: 38px;
line-height: 1.1;
color: #D85C27
}

.contact-us .stat-item__label {
font-size: 15px;
line-height: 1.5;
color: #EBEFEA;
opacity: .75
}

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

.contact-us .info-group__heading {
font-size: 18px;
line-height: 1.5;
color: #2AB0A6;
letter-spacing: .08em;
text-transform: uppercase
}

.contact-us .info-line {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
border-radius: 8px;
background: #0e1210;
border: 1px solid #2ab0a626
}

.contact-us .info-line__icon {
flex-shrink: 0;
width: 20px;
height: 20px;
margin-top: 2px
}

.contact-us .info-line__text {
font-size: 15px;
line-height: 1.9;
color: #EBEFEA
}

.contact-us .info-line__text a {
color: #2AB0A6;
text-decoration: underline dotted;
text-underline-offset: 3px;
transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.contact-us .info-line__text a:hover {
color: #D85C27
}

.contact-us .form-card {
background: #161c18;
border-radius: 8px;
padding: 48px;
box-shadow: 0 8px 60px 0 #d85c271f
}

.contact-us .form-card__heading {
font-size: 28px;
line-height: 1.1;
color: #EBEFEA;
margin-bottom: 8px
}

.contact-us .form-card__heading span {
background: linear-gradient(247deg, #2AB0A6, #D85C27);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.contact-us .form-card__sub {
font-size: 15px;
line-height: 1.5;
color: #EBEFEA;
opacity: .6;
margin-bottom: 32px
}

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

.contact-us .field-label {
font-size: 15px;
color: #EBEFEA;
opacity: .85;
letter-spacing: .05em
}

.contact-us .field-input {
background: #0e1210;
border: 1px solid #2ab0a640;
border-radius: 8px;
padding: 16px;
color: #EBEFEA;
font-size: 15px;
width: 100%;
box-shadow: inset 0 2px 4px 0 #2ab0a612;
transition: border-color .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .12s cubic-bezier(0.4, 0, 1, 1);
box-sizing: border-box
}

.contact-us .field-input::placeholder {
color: #EBEFEA;
opacity: .5;
font-style: italic
}

.contact-us .field-input:focus {
outline: none;
border-color: #2AB0A6;
box-shadow: inset 0 2px 4px 0 #2ab0a61a 0 0 0 2px #2ab0a62e
}

.contact-us .priority-row {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
margin-bottom: 32px
}

.contact-us .priority-row__label {
font-size: 15px;
color: #EBEFEA;
opacity: .85;
width: 100%;
letter-spacing: .05em
}

.contact-us .priority-option {
display: none
}

.contact-us .priority-option+label {
padding: 8px 32px;
border-radius: 36px;
border: 1px solid #2ab0a64d;
color: #EBEFEA;
font-size: 15px;
cursor: pointer;
background: #0e1210;
transition: background .15s cubic-bezier(0.4, 0, 1, 1), border-color .15s cubic-bezier(0.4, 0, 1, 1), transform .1s ease-in;
user-select: none
}

.contact-us .priority-option+label:hover {
border-color: #2AB0A6;
background: #2ab0a61a;
transform: translateY(-2px)
}

.contact-us .priority-option:checked+label {
background: #D85C27;
border-color: #D85C27;
color: #0e1210;
font-weight: 700
}

.contact-us .urgency-select {
background: #0e1210;
border: 1px solid #2ab0a640;
border-radius: 8px;
padding: 16px;
color: #EBEFEA;
font-size: 15px;
width: 100%;
box-shadow: inset 0 2px 4px 0 #2ab0a612;
transition: border-color .12s cubic-bezier(0.4, 0, 1, 1);
appearance: none;
-webkit-appearance: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232AB0A6' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 16px center;
padding-right: 48px;
cursor: pointer;
box-sizing: border-box
}

.contact-us .urgency-select:focus {
outline: none;
border-color: #2AB0A6;
box-shadow: inset 0 2px 4px 0 #2ab0a61a 0 0 0 2px #2ab0a62e
}

.contact-us .urgency-select option {
background: #161c18;
color: #EBEFEA
}

.contact-us .message-field {
resize: vertical;
min-height: 120px
}

.contact-us .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
margin-bottom: 32px;
padding: 16px;
background: #0e1210;
border-radius: 8px
}

.contact-us .privacy-checkbox {
width: 20px;
height: 20px;
flex-shrink: 0;
margin-top: 2px;
accent-color: #D85C27;
cursor: pointer
}

.contact-us .privacy-text {
font-size: 15px;
line-height: 1.5;
color: #EBEFEA;
opacity: .75
}

.contact-us .privacy-text a {
color: #2AB0A6;
text-decoration: underline dotted;
text-underline-offset: 3px;
transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

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

.contact-us .submit-btn {
background: #D85C27;
color: #0e1210;
border: none;
border-radius: 48px;
padding: 16px 48px;
font-size: 18px;
cursor: pointer;
font-weight: 700;
letter-spacing: .04em;
box-shadow: 0 5px 28px 0 #d85c271c;
transition: background .15s cubic-bezier(0.4, 0, 1, 1), transform .1s ease-in, box-shadow .15s cubic-bezier(0.4, 0, 1, 1);
display: inline-block
}

.contact-us .submit-btn:hover {
background: #2AB0A6;
transform: translateY(-2px);
box-shadow: 0 8px 60px 0 #2ab0a61f
}

.contact-us .submit-btn:active {
transform: translateY(0)
}

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

.contact-us .divider-edge {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding: 0 48px;
max-width: 1600px;
margin: 0 auto;
gap: 16px
}

.contact-us .divider-edge__line {
width: 80px;
height: 2px;
background: linear-gradient(247deg, #D85C27, transparent)
}

.contact-us .divider-edge__line--right {
background: linear-gradient(67deg, #2AB0A6, transparent)
}

.contact-us .metrics-band {
background: linear-gradient(247deg, #2ab0a61f 0%, transparent 70%), #111814;
padding: 96px 48px;
position: relative
}

.contact-us .metrics-band::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: repeating-linear-gradient(90deg, transparent, transparent 40px, #ebefea05 40px, #ebefea05 41px);
pointer-events: none
}

.contact-us .metrics-band__inner {
max-width: 1600px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 2fr 2fr 1fr;
gap: 32px;
align-items: start;
position: relative
}

.contact-us .metrics-band__intro {
grid-column: 1 / 2;
display: flex;
flex-direction: column;
gap: 16px;
padding-top: 8px
}

.contact-us .metrics-band__intro-heading {
font-size: 22px;
line-height: 1.5;
color: #EBEFEA
}

.contact-us .metrics-band__intro-text {
font-size: 15px;
line-height: 1.9;
color: #EBEFEA;
opacity: .65
}

.contact-us .metrics-grid {
grid-column: 2 / 4;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 32px
}

.contact-us .metric-card {
display: flex;
flex-direction: column;
gap: 8px;
padding: 32px;
background: #161c18;
border-radius: 8px;
box-shadow: 0 3px 2px 0 #d85c2712;
transition: transform .18s cubic-bezier(0.4, 0, 1, 1)
}

.contact-us .metric-card:hover {
transform: translateY(-3px)
}

.contact-us .metric-card__icon-wrap {
width: 36px;
height: 36px;
margin-bottom: 8px
}

.contact-us .metric-card__number {
font-size: 38px;
line-height: 1.1;
color: #D85C27
}

.contact-us .metric-card__desc {
font-size: 15px;
line-height: 1.5;
color: #EBEFEA;
opacity: .7
}

.contact-us .metrics-band__aside {
grid-column: 4 / 5;
display: flex;
flex-direction: column;
gap: 16px;
padding: 32px;
background: #d85c2714;
border-radius: 8px;
border: 1px solid #d85c2733
}

.contact-us .aside-quote {
font-size: 68px;
line-height: 1.1;
color: #D85C27;
opacity: .3;
font-family: Georgia, serif;
margin: 0;
padding: 0;
display: block;
line-height: .7
}

.contact-us .aside-text {
font-size: 15px;
line-height: 1.9;
color: #EBEFEA;
opacity: .75;
font-style: italic
}

.contact-us .connecting-lines {
position: relative;
max-width: 1600px;
margin: 0 auto;
height: 48px;
overflow: hidden
}

.contact-us .connecting-lines svg {
width: 100%;
height: 48px
}

.contact-us .line-draw {
stroke-dasharray: 600;
stroke-dashoffset: 600;
animation: drawLine .18s cubic-bezier(0.4, 0, 1, 1) .1s forwards
}

.contact-us .line-draw--delayed {
animation-delay: .14s
}

@keyframes drawLine {
to {
stroke-dashoffset: 0
}
}

.contact-us .char-animate {
display: inline-block;
overflow: hidden
}

.contact-us .char-animate span {
display: inline-block;
opacity: 0;
animation: charIn .1s ease-in forwards
}

.contact-us .char-animate span:nth-child(1) {
animation-delay: .05s
}

.contact-us .char-animate span:nth-child(2) {
animation-delay: .08s
}

.contact-us .char-animate span:nth-child(3) {
animation-delay: .11s
}

.contact-us .char-animate span:nth-child(4) {
animation-delay: .14s
}

.contact-us .char-animate span:nth-child(5) {
animation-delay: .17s
}

.contact-us .char-animate span:nth-child(6) {
animation-delay: .2s
}

.contact-us .char-animate span:nth-child(7) {
animation-delay: .23s
}

.contact-us .char-animate span:nth-child(8) {
animation-delay: .26s
}

.contact-us .char-animate span:nth-child(9) {
animation-delay: .29s
}

.contact-us .char-animate span:nth-child(10) {
animation-delay: .32s
}

@keyframes charIn {
from {
opacity: 0;
transform: translateY(6px)
}

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

@media (max-width: 992px) {
.contact-us .split-row {
flex-direction: column;
padding: 48px 32px;
gap: 48px
}

.contact-us .split-row__left {
flex: none;
width: 100%
}

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

.contact-us .metrics-band__intro {
grid-column: 1
}

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

.contact-us .metrics-band__aside {
grid-column: 1
}

.contact-us .page-top__heading {
font-size: 38px
}

.contact-us .metrics-band {
padding: 48px 32px
}

.contact-us .divider-edge {
padding: 0 32px
}
}

@media (max-width: 576px) {
.contact-us .page-top {
padding: 48px 16px
}

.contact-us .page-top__heading {
font-size: 28px
}

.contact-us .split-row {
padding: 48px 16px
}

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

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

.contact-us .priority-row {
gap: 8px
}

.contact-us .metrics-band {
padding: 48px 16px
}

.contact-us .divider-edge {
padding: 0 16px
}

.contact-us .divider-edge__line {
width: 40px
}
}

.portal {
background: #0e1012;
color: #EBEFEA;
overflow-x: hidden;
position: relative
}

.portal .accent-word {
background: #D85C27;
color: #0e1012;
padding: 0 8px;
border-radius: 8px;
display: inline
}

.portal .gradient-heading {
background: linear-gradient(247deg, #2AB0A6, #D85C27);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.portal .caption-line {
display: block;
letter-spacing: .18em;
font-size: 15px;
line-height: 1.1;
color: #2AB0A6;
text-transform: uppercase;
margin-bottom: 16px;
border-top: 1px solid #2AB0A6;
padding-top: 8px;
width: 120px
}

.portal .title-block {
position: relative;
padding: 96px 48px;
max-width: 1600px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1.6fr;
gap: 48px;
align-items: center
}

.portal .title-block::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 8% 15%, #d85c272e 0%, transparent 60%), radial-gradient(ellipse at 90% 80%, #2ab0a61a 0%, transparent 55%);
pointer-events: none
}

.portal .title-block__frame {
position: absolute;
inset: 32px;
border: 1px dashed #2ab0a638;
pointer-events: none;
border-radius: 8px
}

.portal .title-block__text {
position: relative;
z-index: 1
}

.portal .title-block__text h1 {
font-size: 68px;
line-height: 1.1;
margin-bottom: 32px;
letter-spacing: -.01em
}

.portal .title-block__text p {
font-size: 18px;
line-height: 1.9;
color: #ebefeac7;
max-width: 480px
}

.portal .title-block__visual {
position: relative;
z-index: 1
}

.portal .title-block__image-wrap {
position: relative;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 8px 60px 0 #d85c271f
}

.portal .title-block__image-wrap img {
width: 100%;
max-width: 100%;
height: 460px;
object-fit: cover;
object-position: center;
display: block;
filter: sepia(0.35) contrast(1.08) brightness(0.88) saturate(0.75)
}

.portal .title-block__image-wrap::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(247deg, #2ab0a62e, transparent 70%);
pointer-events: none
}

.portal .audience {
background: #131619;
padding: 96px 48px;
position: relative
}

.portal .audience::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, #2AB0A6, transparent)
}

.portal .audience__inner {
max-width: 1600px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 2fr;
gap: 96px;
align-items: start
}

.portal .audience__label h2 {
font-size: 38px;
line-height: 1.1;
margin-bottom: 16px
}

.portal .audience__label p {
font-size: 15px;
line-height: 1.9;
color: #ebefeaa6
}

.portal .audience__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px
}

.portal .audience__card {
background: #181c1f;
border-radius: 8px;
padding: 32px;
border-top: 2px solid transparent;
transition: border-color .15s cubic-bezier(0.4, 0, 1, 1), transform .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .15s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 0 3px 2px 0 #d85c2712
}

.portal .audience__card:hover {
border-color: #D85C27;
transform: translateY(-4px);
box-shadow: 0 5px 28px 0 #d85c271c
}

.portal .audience__card--fit {
border-top-color: #2AB0A6
}

.portal .audience__card h5 {
font-size: 18px;
line-height: 1.1;
margin-bottom: 8px;
color: #EBEFEA
}

.portal .audience__card p {
font-size: 15px;
line-height: 1.9;
color: #ebefeaa6;
margin: 0
}

.portal .audience__card .tag {
display: inline-block;
font-size: 15px;
letter-spacing: .12em;
padding: 4px 16px;
border-radius: 36px;
margin-bottom: 16px
}

.portal .audience__card .tag--yes {
background: #2ab0a626;
color: #2AB0A6
}

.portal .audience__card .tag--no {
background: #d85c271f;
color: #D85C27
}

.portal .catalog {
padding: 96px 48px;
position: relative;
background: #0e1012
}

.portal .catalog__noise {
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%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
background-repeat: repeat;
pointer-events: none;
opacity: .5
}

.portal .catalog__inner {
max-width: 1600px;
margin: 0 auto;
position: relative;
z-index: 1
}

.portal .catalog__header {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
margin-bottom: 48px;
gap: 32px
}

.portal .catalog__header h2 {
font-size: 52px;
line-height: 1.1;
max-width: 520px
}

.portal .catalog__header p {
font-size: 18px;
line-height: 1.9;
color: #ebefeaa6;
max-width: 380px
}

.portal .catalog__grid {
display: grid;
grid-template-columns: 1.4fr 1fr 1fr;
gap: 32px
}

.portal .course-item {
background: #141719;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 3px 2px 0 #2ab0a612;
transition: transform .14s cubic-bezier(0.4, 0, 1, 1), box-shadow .16s cubic-bezier(0.4, 0, 1, 1)
}

.portal .course-item:hover {
transform: translateY(-5px);
box-shadow: 0 5px 28px 0 #2ab0a61c
}

.portal .course-item__image {
width: 100%;
height: 220px;
object-fit: cover;
object-position: center;
display: block
}

.portal .course-item--featured .course-item__image {
height: 300px
}

.portal .course-item__body {
padding: 32px
}

.portal .course-item__level {
font-size: 15px;
letter-spacing: .14em;
color: #D85C27;
text-transform: uppercase;
margin-bottom: 8px;
display: block
}

.portal .course-item__body h4 {
font-size: 22px;
line-height: 1.5;
margin-bottom: 16px;
color: #EBEFEA
}

.portal .course-item__body p {
font-size: 15px;
line-height: 1.9;
color: #ebefea9e;
margin: 0
}

.portal .course-item__meta {
display: flex;
flex-direction: row;
gap: 16px;
margin-top: 16px;
padding-top: 16px;
border-top: 1px solid #ebefea14
}

.portal .course-item__meta span {
font-size: 15px;
color: #ebefea80
}

.portal .outcomes {
background: #101315;
padding: 96px 48px;
position: relative
}

.portal .outcomes__inner {
max-width: 1600px;
margin: 0 auto
}

.portal .outcomes__top {
display: flex;
flex-direction: row;
gap: 96px;
margin-bottom: 48px
}

.portal .outcomes__heading {
flex: 0 0 420px
}

.portal .outcomes__heading h2 {
font-size: 38px;
line-height: 1.1;
margin-bottom: 16px
}

.portal .outcomes__heading p {
font-size: 18px;
line-height: 1.9;
color: #ebefeaa6
}

.portal .outcomes__image-wrap {
flex: 1;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 5px 28px 0 #2ab0a61c;
position: relative
}

.portal .outcomes__image-wrap img {
width: 100%;
height: 340px;
object-fit: cover;
object-position: center;
display: block
}

.portal .outcomes__image-wrap::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(247deg, #2ab0a638, transparent 60%);
z-index: 1;
pointer-events: none
}

.portal .outcomes__path {
position: relative;
padding: 48px;
border: 1px dashed #d85c274d;
border-radius: 8px
}

.portal .outcomes__path__marker {
position: absolute;
top: -12px;
left: 32px;
background: #D85C27;
color: #0e1012;
font-size: 15px;
letter-spacing: .12em;
padding: 4px 16px;
border-radius: 36px;
text-transform: uppercase
}

.portal .outcomes__path__end {
position: absolute;
bottom: -12px;
right: 32px;
background: #2AB0A6;
color: #0e1012;
font-size: 15px;
letter-spacing: .12em;
padding: 4px 16px;
border-radius: 36px;
text-transform: uppercase
}

.portal .outcomes__steps {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 32px
}

.portal .outcomes__step h5 {
font-size: 18px;
line-height: 1.5;
color: #EBEFEA;
margin-bottom: 8px
}

.portal .outcomes__step p {
font-size: 15px;
line-height: 1.9;
color: #ebefea9e;
margin: 0
}

.portal .outcomes__step__number {
font-size: 38px;
line-height: 1.1;
color: #d85c2740;
font-weight: 700;
margin-bottom: 8px
}

.portal .investment {
padding: 96px 48px;
background: #0e1012;
position: relative
}

.portal .investment__bg-anim {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
border-radius: 0
}

.portal .investment__bg-anim::before {
content: '';
position: absolute;
width: 600px;
height: 600px;
border-radius: 50%;
background: radial-gradient(circle, #2ab0a612 0%, transparent 70%);
animation: light-move 8s ease-in-out infinite alternate;
top: -100px;
left: -100px
}

@keyframes light-move {
0% {
transform: translate(0, 0)
}

100% {
transform: translate(400px, 200px)
}
}

.portal .investment__inner {
max-width: 1600px;
margin: 0 auto;
position: relative;
z-index: 1;
display: grid;
grid-template-columns: 1fr 1.5fr;
gap: 96px;
align-items: start
}

.portal .investment__label h2 {
font-size: 38px;
line-height: 1.1;
margin-bottom: 32px
}

.portal .investment__label p {
font-size: 18px;
line-height: 1.9;
color: #ebefeaa6;
margin-bottom: 32px
}

.portal .investment__tiers {
display: flex;
flex-direction: column;
gap: 16px
}

.portal .tier-row {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
background: #141719;
border-radius: 8px;
padding: 32px;
box-shadow: 0 3px 2px 0 #d85c2712;
transition: transform .13s cubic-bezier(0.4, 0, 1, 1), box-shadow .15s cubic-bezier(0.4, 0, 1, 1)
}

.portal .tier-row:hover {
transform: translateX(6px);
box-shadow: 0 5px 28px 0 #d85c271c
}

.portal .tier-row__name {
font-size: 18px;
color: #EBEFEA;
line-height: 1.1
}

.portal .tier-row__desc {
font-size: 15px;
color: #ebefea8c;
margin-top: 4px
}

.portal .tier-row__price {
font-size: 28px;
line-height: 1.1;
color: #D85C27;
white-space: nowrap
}

.portal .tier-row__price span {
font-size: 15px;
color: #ebefea73;
margin-left: 4px
}

.portal .investment__note {
margin-top: 32px;
font-size: 15px;
line-height: 1.9;
color: #ebefea73;
font-style: italic
}

.portal .investment__portrait-block {
display: flex;
flex-direction: column;
gap: 32px
}

.portal .expert-card {
display: flex;
flex-direction: row;
gap: 32px;
align-items: flex-start;
background: #141719;
border-radius: 8px;
padding: 32px;
box-shadow: 0 3px 2px 0 #2ab0a612
}

.portal .expert-card__portrait {
width: 80px;
height: 80px;
border-radius: 50%;
object-fit: cover;
object-position: center;
flex-shrink: 0;
box-shadow: 0 5px 28px 0 #2ab0a61c
}

.portal .expert-card__text h5 {
font-size: 18px;
line-height: 1.1;
color: #EBEFEA;
margin-bottom: 8px
}

.portal .expert-card__text p {
font-size: 15px;
line-height: 1.9;
color: #ebefea9e;
margin: 0
}

.portal .expert-card__role {
font-size: 15px;
color: #2AB0A6;
letter-spacing: .1em;
display: block;
margin-bottom: 8px
}

.portal .scale {
background: #131619;
padding: 96px 48px;
position: relative
}

.portal .scale::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, #D85C27, transparent)
}

.portal .scale__inner {
max-width: 1600px;
margin: 0 auto
}

.portal .scale__header {
text-align: center;
margin-bottom: 48px
}

.portal .scale__header h2 {
font-size: 38px;
line-height: 1.1;
margin-bottom: 16px
}

.portal .scale__header p {
font-size: 18px;
line-height: 1.9;
color: #ebefeaa6;
max-width: 580px;
margin: 0 auto
}

.portal .scale__metrics {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
gap: 32px;
margin-bottom: 48px
}

.portal .metric-box {
text-align: center;
padding: 48px 32px;
background: #181c1f;
border-radius: 8px;
box-shadow: 0 3px 2px 0 #d85c2712;
transition: transform .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .14s cubic-bezier(0.4, 0, 1, 1)
}

.portal .metric-box:hover {
transform: translateY(-4px);
box-shadow: 0 8px 60px 0 #d85c271f
}

.portal .metric-box__value {
font-size: 52px;
line-height: 1.1;
font-weight: 700;
background: linear-gradient(247deg, #2AB0A6, #D85C27);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
display: block
}

.portal .metric-box__label {
font-size: 15px;
line-height: 1.9;
color: #ebefea8c;
margin-top: 8px;
display: block;
letter-spacing: .08em
}

.portal .scale__chart-wrap {
background: #181c1f;
border-radius: 8px;
padding: 48px;
box-shadow: 0 3px 2px 0 #2ab0a612
}

.portal .scale__chart-label {
font-size: 15px;
letter-spacing: .12em;
color: #2AB0A6;
text-transform: uppercase;
margin-bottom: 32px;
display: block
}

.portal .chart-bar-set {
display: flex;
flex-direction: column;
gap: 16px
}

.portal .chart-bar-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px
}

.portal .chart-bar-row__name {
font-size: 15px;
color: #ebefeaa6;
width: 160px;
flex-shrink: 0
}

.portal .chart-bar-row__track {
flex: 1;
background: #ebefea0f;
border-radius: 8px;
height: 28px;
overflow: hidden
}

.portal .chart-bar-row__fill {
height: 100%;
border-radius: 8px;
background: linear-gradient(247deg, #2AB0A6, #D85C27);
transition: width .18s cubic-bezier(0.4, 0, 1, 1)
}

.portal .chart-bar-row__val {
font-size: 15px;
color: #EBEFEA;
width: 48px;
text-align: right;
flex-shrink: 0
}

@media (max-width: 1200px) {
.portal .title-block {
grid-template-columns: 1fr 1fr;
padding: 96px 32px
}

.portal .catalog__grid {
grid-template-columns: 1fr 1fr
}

.portal .course-item--featured {
grid-column: 1 / -1
}

.portal .outcomes__steps {
grid-template-columns: 1fr 1fr
}

.portal .scale__metrics {
grid-template-columns: 1fr 1fr
}

.portal .investment__inner {
grid-template-columns: 1fr;
gap: 48px
}
}

@media (max-width: 992px) {
.portal .title-block {
grid-template-columns: 1fr;
padding: 48px 32px
}

.portal .title-block h1 {
font-size: 52px
}

.portal .audience__inner {
grid-template-columns: 1fr;
gap: 32px
}

.portal .catalog__header {
flex-direction: column;
align-items: flex-start
}

.portal .catalog__grid {
grid-template-columns: 1fr
}

.portal .outcomes__top {
flex-direction: column;
gap: 32px
}

.portal .outcomes__heading {
flex: none
}

.portal .outcomes__steps {
grid-template-columns: 1fr 1fr
}

.portal .scale__metrics {
grid-template-columns: 1fr 1fr
}

.portal .audience__grid {
grid-template-columns: 1fr
}
}

@media (max-width: 576px) {

.portal .title-block,
.portal .audience,
.portal .catalog,
.portal .outcomes,
.portal .investment,
.portal .scale {
padding: 48px 16px
}

.portal .title-block h1 {
font-size: 38px
}

.portal .outcomes__steps {
grid-template-columns: 1fr
}

.portal .scale__metrics {
grid-template-columns: 1fr
}

.portal .chart-bar-row__name {
width: 100px
}

.portal .outcomes__path {
padding: 32px 16px
}

.portal .expert-card {
flex-direction: column
}
}

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

.success-page .confirmation-wrapper {
max-width: 640px;
width: 100%;
margin: 0 auto;
text-align: center
}

.success-page .checkmark-container {
width: 80px;
height: 80px;
margin: 0 auto 48px;
border-radius: 48px;
background: linear-gradient(247deg, #2AB0A6, transparent);
border: 2px solid #2AB0A6;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 8px 60px 0 #2ab0a61f
}

.success-page .checkmark-container svg {
width: 36px;
height: 36px
}

.success-page .confirmation-heading {
font-size: 38px;
line-height: 1.1;
color: #EBEFEA;
margin-bottom: 16px;
background: linear-gradient(247deg, #2AB0A6, #D85C27);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.success-page .confirmation-subtext {
font-size: 18px;
line-height: 1.5;
color: #a8b0af;
margin-bottom: 48px
}

.success-page .divider-line {
width: 64px;
height: 2px;
background: linear-gradient(247deg, #D85C27, #2AB0A6);
margin: 0 auto 48px;
border-radius: 8px
}

.success-page .detail-block {
background-color: #131a1f;
border-radius: 8px;
padding: 32px;
margin-bottom: 48px;
box-shadow: 0 5px 28px 0 #d85c271c;
text-align: left
}

.success-page .detail-block .detail-label {
font-size: 15px;
line-height: 1.5;
color: #2AB0A6;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 8px
}

.success-page .detail-block .detail-text {
font-size: 15px;
line-height: 1.9;
color: #a8b0af;
margin: 0
}

.success-page .detail-block .detail-text a {
color: #D85C27;
text-decoration: underline dotted;
text-underline-offset: 3px;
transition: color .15s cubic-bezier(0.4, 0, 1, 1)
}

.success-page .detail-block .detail-text a:hover {
color: #2AB0A6
}

.success-page .return-link {
display: inline-block;
padding: 16px 48px;
background: linear-gradient(247deg, #D85C27, #2AB0A6);
color: #0d1117;
font-size: 15px;
font-weight: 700;
border-radius: 36px;
text-decoration: none;
letter-spacing: .06em;
box-shadow: 0 3px 2px 0 #d85c2712 0 5px 28px 0 #d85c271c;
transition: transform .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .15s ease-in
}

.success-page .return-link:hover {
transform: translateY(-2px);
box-shadow: 0 8px 60px 0 #d85c271f
}

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

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

.success-page .detail-block {
padding: 16px
}
}