@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Serif:wght@400;700&display=swap";

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

html {
font-size: 100%
}

body {
margin: 0;
scrollbar-gutter: stable;
min-height: 100vh
}

.page-header {
position: relative;
background: linear-gradient(160deg, #0C485F 0%, #072d3d 100%);
border-bottom: 2px solid #85E8C5;
font-family: 'IBM Plex Serif', serif;
overflow: hidden
}

.page-header::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(90deg, #85e8c50a 0%, transparent 50%, #f2f21208 100%);
pointer-events: none
}

.header-top-strip {
display: flex;
align-items: center;
justify-content: center;
padding: 6px 40px;
border-bottom: 1px solid #85e8c526;
gap: 24px
}

.credential-mark {
font-family: 'IBM Plex Serif', serif;
font-size: 16px;
color: #85E8C5;
letter-spacing: .08em;
font-weight: 400;
display: flex;
align-items: center;
gap: 12px
}

.credential-mark .accent-dot {
display: inline-block;
width: 6px;
height: 6px;
background: #F2F212;
border-radius: 0;
transform: rotate(45deg);
flex-shrink: 0
}

.header-body {
display: flex;
align-items: center;
justify-content: center;
gap: 40px;
padding: 24px 40px;
flex-wrap: wrap
}

.nav-left {
display: flex;
align-items: center;
gap: 6px;
flex-wrap: wrap;
justify-content: flex-end;
flex: 1
}

.nav-right {
display: flex;
align-items: center;
gap: 6px;
flex-wrap: wrap;
justify-content: flex-start;
flex: 1
}

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

.brand-logo-shell {
display: flex;
align-items: center;
justify-content: center;
width: 80px;
height: 80px;
padding: 6px;
background: #85e8c514;
border-radius: 10px;
border: 1px solid #85e8c559;
box-shadow: 2px 1px 3px -1px #0c485f0f 2px 6px 18px -1px #85e8c51a;
outline-offset: 3px
}

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

.brand-name {
font-family: 'IBM Plex Serif', serif;
font-size: 19px;
font-weight: 700;
color: #F2F212;
letter-spacing: -.01em;
line-height: 1.2;
text-align: center;
white-space: nowrap
}

.nav-link {
font-family: 'IBM Plex Serif', serif;
font-size: 16px;
font-weight: 400;
color: #85e8c5d9;
text-decoration: none;
padding: 12px;
border-radius: 0;
border: 1px solid transparent;
line-height: 1.2;
letter-spacing: .02em;
transition: color .25s ease-in-out, border-color .35s cubic-bezier(0.4, 0, 0.2, 1);
white-space: nowrap;
display: inline-block;
min-height: 44px;
display: flex;
align-items: center
}

.nav-link:hover {
color: #85E8C5;
border-color: #85e8c566;
animation: border-pulse .35s ease-in-out forwards
}

.nav-link:focus {
outline: 2px solid;
outline-color: #85E8C5;
outline-offset: 3px;
border-radius: 0
}

.nav-link.active-page {
color: #F2F212;
border-color: #f2f2124d
}

@keyframes border-pulse {
0% {
border-color: transparent
}

50% {
border-color: #85e8c5b3
}

100% {
border-color: #85e8c566
}
}

@media (max-width: 1024px) {
.header-body {
gap: 24px;
padding: 24px
}

.nav-left,
.nav-right {
gap: 6px
}
}

@media (max-width: 768px) {
.header-body {
flex-direction: column;
gap: 24px;
padding: 24px
}

.nav-left,
.nav-right {
flex: unset;
justify-content: center;
width: 100%
}

.header-top-strip {
padding: 6px 24px
}
}

@media (max-width: 480px) {
.header-top-strip {
padding: 6px 12px
}

.header-body {
padding: 24px 12px
}

.nav-link {
font-size: 16px;
padding: 12px 6px
}
}

.page-footer {
background: #0C485F;
font-family: 'IBM Plex Serif', serif;
border-top: 2px solid #85e8c54d;
box-shadow: 0 -2px 9px -1px #0c485f1c
}

.footer-shell {
max-width: 1200px;
margin: 0 auto;
padding: 80px 40px 40px;
display: flex;
flex-direction: column;
align-items: center;
gap: 40px
}

.footer-logo-shell {
display: flex;
align-items: center;
justify-content: center;
width: 80px;
height: 80px;
padding: 6px;
background: #85e8c51a;
border-radius: 10px;
border: 1px solid #85e8c566;
box-shadow: 2px 6px 18px -1px #85e8c51a;
outline-offset: 3px
}

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

.footer-brand-name {
font-size: 24px;
font-weight: 700;
color: #F2F212;
letter-spacing: -.01em;
line-height: 1.2;
text-align: center
}

.footer-description {
font-size: 16px;
color: #85e8c5cc;
line-height: 1.7;
text-align: center;
max-width: 480px;
letter-spacing: .01em
}

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

.footer-link {
font-family: 'IBM Plex Serif', serif;
font-size: 16px;
color: #85e8c5b3;
text-decoration: none;
letter-spacing: .02em;
padding: 6px 12px;
border-radius: 0;
border: 1px solid transparent;
transition: color .28s ease-in-out, border-color .38s cubic-bezier(0.4, 0, 0.2, 1);
min-height: 44px;
display: flex;
align-items: center
}

.footer-link:hover {
color: #85E8C5;
border-color: #85e8c559;
animation: border-pulse .35s ease-in-out forwards
}

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

.footer-divider {
width: 100%;
height: 1px;
background: #85e8c526
}

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

.footer-contact-item {
font-size: 16px;
color: #85e8c5a6;
letter-spacing: .01em;
line-height: 1.5;
display: flex;
align-items: center;
gap: 6px
}

.footer-contact-item a {
color: #85e8c5a6;
text-decoration: none;
transition: color .25s ease-in-out
}

.footer-contact-item a:hover {
color: #85E8C5
}

.footer-contact-item a:focus {
outline: 2px solid #85E8C5;
outline-offset: 2px
}

.contact-icon {
width: 16px;
height: 16px;
flex-shrink: 0;
opacity: .7
}

.footer-copyright {
font-size: 16px;
color: #85e8c573;
letter-spacing: .03em;
line-height: 1.5;
text-align: center
}

@media (max-width: 768px) {
.footer-shell {
padding: 80px 24px 40px;
gap: 40px
}

.footer-contact-row {
flex-direction: column;
gap: 12px
}
}

@media (max-width: 480px) {
.footer-shell {
padding: 40px 12px 24px;
gap: 24px
}

.footer-links-row {
gap: 12px
}
}

.cookie-card {
display: none;
position: fixed;
bottom: 24px;
right: 24px;
z-index: 1200;
max-width: 340px;
width: calc(100vw - 48px);
background: linear-gradient(150deg, #072d3d 0%, #0C485F 100%);
border: 1px solid #85e8c559;
border-radius: 10px;
padding: 24px;
box-shadow: 2px 9px 44px -1px #0c485f1c 2px 6px 18px -1px #85e8c51a;
font-family: 'IBM Plex Serif', serif
}

.cookie-text {
font-size: 16px;
color: #85e8c5d9;
line-height: 1.7;
margin-bottom: 24px
}

.cookie-text strong {
color: #85E8C5;
font-weight: 700
}

.cookie-uses {
list-style: none;
padding: 0;
margin: 12px 0 0;
display: flex;
flex-direction: column;
gap: 6px
}

.cookie-uses li {
font-size: 16px;
color: #85e8c5b3;
line-height: 1.5;
padding-left: 12px;
position: relative
}

.cookie-uses li::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%) rotate(45deg);
width: 5px;
height: 5px;
background: #F2F212;
flex-shrink: 0
}

.cookie-actions {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px
}

.cookie-accept {
font-family: 'IBM Plex Serif', serif;
font-size: 16px;
font-weight: 700;
color: #072d3d;
background: #85E8C5;
border: none;
border-radius: 0;
padding: 12px 24px;
cursor: pointer;
letter-spacing: .02em;
min-height: 44px;
position: relative;
overflow: hidden;
transition: color .28s ease-in-out
}

.cookie-accept::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #F2F212;
transition: left .35s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 0
}

.cookie-accept:hover::before {
left: 0
}

.cookie-accept span {
position: relative;
z-index: 1
}

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

.cookie-decline {
font-family: 'IBM Plex Serif', serif;
font-size: 16px;
color: #85e8c599;
background: none;
border: none;
cursor: pointer;
text-decoration: underline;
text-underline-offset: 3px;
padding: 12px 6px;
min-height: 44px;
transition: color .25s ease-in-out
}

.cookie-decline:hover {
color: #85E8C5
}

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

.agreement-content {
max-width: 1200px;
margin: 0 auto;
padding: 80px 40px;
color: #d4eef7;
background: linear-gradient(180deg, #0e3d52 0%, #071e2a 100%);
min-height: 100vh
}

.agreement-content h1 {
font-size: 60px;
line-height: 1.2;
letter-spacing: -.03em;
color: #85E8C5;
margin-bottom: 40px;
margin-top: 0;
padding-bottom: 24px;
border-bottom: 2px solid #85e8c52e;
border-left: 4px solid #85E8C5;
border-right: none;
border-top: none;
padding-left: 24px
}

.agreement-content h2 {
font-size: 32px;
line-height: 1.2;
letter-spacing: -.02em;
color: #85E8C5;
margin-top: 80px;
margin-bottom: 24px;
padding-bottom: 12px;
border-bottom: 1px solid #85e8c51f
}

.agreement-content h3 {
font-size: 24px;
line-height: 1.5;
letter-spacing: -.01em;
color: #a8efd6;
margin-top: 40px;
margin-bottom: 12px
}

.agreement-content h4 {
font-size: 19px;
line-height: 1.5;
letter-spacing: 0;
color: #c2f5e5;
margin-top: 24px;
margin-bottom: 12px
}

.agreement-content h5 {
font-size: 16px;
line-height: 1.5;
letter-spacing: .02em;
color: #c2f5e5;
margin-top: 24px;
margin-bottom: 6px;
text-transform: uppercase
}

.agreement-content h6 {
font-size: 16px;
line-height: 1.5;
letter-spacing: .04em;
color: #c2f5e5b3;
margin-top: 24px;
margin-bottom: 6px;
text-transform: uppercase
}

.agreement-content p {
font-size: 16px;
line-height: 1.7;
letter-spacing: .01em;
color: #c8e8f5;
margin-top: 0;
margin-bottom: 24px
}

.agreement-content ul,
.agreement-content ol {
font-size: 16px;
line-height: 1.7;
color: #c8e8f5;
margin-top: 0;
margin-bottom: 24px;
padding-left: 24px
}

.agreement-content ul {
list-style: none;
padding-left: 0
}

.agreement-content ul li {
padding-left: 24px;
position: relative;
margin-bottom: 12px
}

.agreement-content ul li::before {
content: "";
display: block;
width: 6px;
height: 6px;
border-radius: 0;
background-color: #85E8C5;
position: absolute;
left: 6px;
top: 9px;
transform: rotate(45deg)
}

.agreement-content ol {
list-style: none;
counter-reset: policy-counter;
padding-left: 0
}

.agreement-content ol li {
counter-increment: policy-counter;
padding-left: 40px;
position: relative;
margin-bottom: 12px
}

.agreement-content ol li::before {
content: counter(policy-counter);
position: absolute;
left: 0;
top: 0;
width: 24px;
height: 24px;
background-color: #85e8c51f;
color: #85E8C5;
font-size: 16px;
line-height: 1.5;
text-align: center;
border-radius: 0;
font-weight: 600
}

.agreement-content li {
font-size: 16px;
line-height: 1.7;
letter-spacing: .01em
}

.agreement-content ul ul,
.agreement-content ol ol,
.agreement-content ul ol,
.agreement-content ol ul {
margin-top: 12px;
margin-bottom: 6px
}

.agreement-content strong,
.agreement-content b {
font-weight: 700;
color: #e8f8f3
}

.agreement-content em,
.agreement-content i {
font-style: italic;
color: #b0e8d4
}

.agreement-content table {
width: 100%;
border-collapse: collapse;
margin-bottom: 40px;
font-size: 16px;
line-height: 1.5;
border-radius: 10px;
overflow: hidden;
box-shadow: 2px 6px 18px -1px #0c485f1a
}

.agreement-content thead {
background-color: #85e8c51f
}

.agreement-content thead tr {
border-bottom: 2px solid #85e8c54d
}

.agreement-content tbody tr {
border-bottom: 1px solid #85e8c514;
transition: background-color .25s ease-in-out
}

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

.agreement-content tbody tr:hover {
background-color: #85e8c50d
}

.agreement-content th {
padding: 12px 24px;
text-align: left;
font-size: 16px;
line-height: 1.5;
letter-spacing: .04em;
text-transform: uppercase;
color: #85E8C5;
font-weight: 700
}

.agreement-content td {
padding: 12px 24px;
font-size: 16px;
line-height: 1.7;
color: #c8e8f5;
vertical-align: top
}

.agreement-content tbody tr:nth-child(even) {
background-color: #0c485f2e
}

.agreement-content div {
margin-bottom: 24px
}

@media (max-width: 1024px) {
.agreement-content {
padding: 80px 40px
}

.agreement-content h1 {
font-size: 60px
}
}

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

.agreement-content h1 {
font-size: 32px;
padding-left: 12px;
margin-bottom: 24px
}

.agreement-content h2 {
font-size: 24px;
margin-top: 40px
}

.agreement-content h3 {
font-size: 19px
}

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

.agreement-content th,
.agreement-content td {
padding: 12px;
min-width: 120px
}
}

@media (max-width: 480px) {
.agreement-content {
padding: 24px 12px
}

.agreement-content h1 {
font-size: 24px;
line-height: 1.2
}

.agreement-content h2 {
font-size: 19px;
margin-top: 40px
}

.agreement-content h3 {
font-size: 16px
}

.agreement-content h4,
.agreement-content h5,
.agreement-content h6 {
font-size: 16px
}

.agreement-content ol li {
padding-left: 40px
}
}

.upcoming-programs-detail {
background: linear-gradient(170deg, #0e3d52 0%, #071e2a 60%, #040f16 100%);
min-height: 100vh;
padding: 0;
overflow-x: hidden;
position: relative
}

.upcoming-programs-detail::before {
content: "";
position: fixed;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%2385E8C5' fill-opacity='0.03'%3E%3Ccircle cx='30' cy='30' r='1.5'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
pointer-events: none;
z-index: 0
}

.upcoming-programs-detail .page-frame {
max-width: 1200px;
margin: 0 auto;
padding: 80px 40px;
position: relative;
z-index: 1
}

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

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

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

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

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

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

.upcoming-programs-detail .hero-row {
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start;
margin-bottom: 80px;
animation: col-appear-1 .38s cubic-bezier(0.4, 0, 0.2, 1) both
}

.upcoming-programs-detail .hero-image-column {
flex: 0 0 420px;
position: relative
}

.upcoming-programs-detail .image-bracket-frame {
position: relative;
border-radius: 10px;
overflow: hidden;
box-shadow: 2px 9px 44px -1px #0c485f1c
}

.upcoming-programs-detail .image-bracket-frame::before,
.upcoming-programs-detail .image-bracket-frame::after {
content: "";
position: absolute;
width: 28px;
height: 28px;
z-index: 2;
pointer-events: none
}

.upcoming-programs-detail .image-bracket-frame::before {
top: 10px;
left: 10px;
border-top: 2px solid #85E8C5;
border-left: 2px solid #85E8C5
}

.upcoming-programs-detail .image-bracket-frame::after {
bottom: 10px;
right: 10px;
border-bottom: 2px solid #F2F212;
border-right: 2px solid #F2F212
}

.upcoming-programs-detail .hero-photo {
width: 100%;
aspect-ratio: 4/3;
object-fit: cover;
display: block;
border-radius: 10px;
filter: saturate(0.9) contrast(1.05)
}

.upcoming-programs-detail .abstract-shape-a {
position: absolute;
width: 60px;
height: 60px;
border-radius: 0;
border: 2px solid #85e8c52e;
bottom: -24px;
left: -24px;
transform: rotate(22deg);
pointer-events: none
}

.upcoming-programs-detail .abstract-shape-b {
position: absolute;
width: 32px;
height: 32px;
background: #f2f21214;
border-radius: 0;
top: -12px;
right: -12px;
transform: rotate(12deg);
pointer-events: none
}

.upcoming-programs-detail .hero-text-column {
flex: 1;
display: flex;
flex-direction: column;
gap: 24px;
animation: col-appear-2 .38s .12s cubic-bezier(0.4, 0, 0.2, 1) both
}

.upcoming-programs-detail .program-label {
display: inline-flex;
align-items: center;
gap: 6px;
background: #85e8c51a;
border: 1px solid #85e8c540;
border-radius: 32px;
padding: 6px 24px;
color: #85E8C5;
font-size: 16px;
line-height: 1.5;
letter-spacing: .04em;
width: fit-content
}

.upcoming-programs-detail .program-heading {
font-size: 60px;
line-height: 1.2;
letter-spacing: -.02em;
color: #f0f8f6;
font-weight: 900;
margin: 0
}

.upcoming-programs-detail .program-meta-row {
display: flex;
flex-direction: row;
gap: 24px;
align-items: center;
flex-wrap: wrap
}

.upcoming-programs-detail .meta-chip {
display: flex;
align-items: center;
gap: 6px;
color: #f0f8f699;
font-size: 16px;
line-height: 1.5
}

.upcoming-programs-detail .meta-chip svg {
flex-shrink: 0
}

.upcoming-programs-detail .price-display {
display: flex;
flex-direction: column;
gap: 6px;
padding: 24px;
background: linear-gradient(135deg, #85e8c514 0%, transparent 80%);
border: 1px solid #85e8c533;
border-radius: 10px;
box-shadow: 2px 6px 18px -1px #0c485f1a;
position: relative
}

.upcoming-programs-detail .price-display::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, #85e8c580, transparent);
border-radius: 10px 10px 0 0
}

.upcoming-programs-detail .price-label {
font-size: 16px;
line-height: 1.5;
color: #f0f8f68c;
letter-spacing: .06em;
text-transform: uppercase
}

.upcoming-programs-detail .price-value {
font-size: 32px;
line-height: 1.2;
font-weight: 900;
color: #F2F212;
letter-spacing: -.01em
}

.upcoming-programs-detail .enroll-button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 12px;
padding: 24px 40px;
background: #85E8C5;
color: #071e2a;
font-size: 19px;
font-weight: 700;
line-height: 1.2;
border: none;
border-radius: 10px;
cursor: pointer;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 2px 6px 18px -1px #85e8c51a;
letter-spacing: .01em
}

.upcoming-programs-detail .enroll-button::before {
content: "";
position: absolute;
inset: 0;
background: #0C485F;
transform: translateX(-100%);
transition: transform .32s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 0
}

.upcoming-programs-detail .enroll-button:hover::before {
transform: translateX(0)
}

.upcoming-programs-detail .enroll-button:hover {
color: #85E8C5;
box-shadow: 2px 9px 44px -1px #0c485f1c
}

.upcoming-programs-detail .enroll-button span {
position: relative;
z-index: 1
}

.upcoming-programs-detail .enroll-button svg {
position: relative;
z-index: 1
}

@keyframes border-pulse {
0% {
box-shadow: 0 0 0 0 #85e8c559
}

60% {
box-shadow: 0 0 0 8px #85e8c500
}

100% {
box-shadow: 0 0 0 0 #85e8c500
}
}

.upcoming-programs-detail .enroll-button:hover {
animation: border-pulse .38s ease-in-out
}

.upcoming-programs-detail .wave-divider {
width: 100%;
overflow: hidden;
line-height: 0;
margin-bottom: 80px
}

.upcoming-programs-detail .wave-divider svg {
display: block;
width: 100%
}

.upcoming-programs-detail .program-body {
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start;
animation: col-appear-3 .38s .22s cubic-bezier(0.4, 0, 0.2, 1) both
}

.upcoming-programs-detail .program-sidebar {
flex: 0 0 280px;
display: flex;
flex-direction: column;
gap: 24px
}

.upcoming-programs-detail .sidebar-bracket {
position: relative;
padding: 24px;
background: #0c485f59;
border-radius: 10px;
border: 1px solid #85e8c51f;
box-shadow: 2px 1px 3px -1px #0c485f0f
}

.upcoming-programs-detail .sidebar-bracket::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 16px;
height: 16px;
border-top: 2px solid #85E8C5;
border-left: 2px solid #85E8C5;
border-radius: 10px 0 0 0
}

.upcoming-programs-detail .sidebar-bracket::after {
content: "";
position: absolute;
bottom: 0;
right: 0;
width: 16px;
height: 16px;
border-bottom: 2px solid #85E8C5;
border-right: 2px solid #85E8C5;
border-radius: 0 0 10px 0
}

.upcoming-programs-detail .sidebar-heading {
font-size: 19px;
line-height: 1.2;
font-weight: 900;
color: #85E8C5;
letter-spacing: -.01em;
margin: 0 0 12px
}

.upcoming-programs-detail .sidebar-program-text {
color: #f0f8f6d1;
font-size: 16px;
line-height: 1.7
}

.upcoming-programs-detail .sidebar-program-text p {
margin: 0 0 12px
}

.upcoming-programs-detail .sidebar-program-text p:last-child {
margin-bottom: 0
}

.upcoming-programs-detail .sidebar-program-text h2 {
font-size: 19px;
line-height: 1.2;
font-weight: 900;
color: #f0f8f6;
margin: 12px 0 6px
}

.upcoming-programs-detail .sidebar-program-text small {
font-size: 16px;
color: #f0f8f680
}

.upcoming-programs-detail .sidebar-program-text ul,
.upcoming-programs-detail .sidebar-program-text ol {
padding-left: 24px;
margin: 6px 0
}

.upcoming-programs-detail .sidebar-program-text li {
margin-bottom: 6px
}

.upcoming-programs-detail .sidebar-program-text dl {
margin: 6px 0
}

.upcoming-programs-detail .sidebar-program-text dt {
font-weight: 700;
color: #85E8C5
}

.upcoming-programs-detail .sidebar-program-text dd {
margin-left: 24px;
margin-bottom: 6px
}

.upcoming-programs-detail .sidebar-program-text cite {
font-style: italic;
color: #f0f8f699
}

.upcoming-programs-detail .sidebar-program-text blockquote {
border-top: 2px solid #85e8c540;
padding: 12px 0 0;
margin: 12px 0 0;
color: #f0f8f6b3
}

.upcoming-programs-detail .sidebar-program-text details {
margin: 6px 0
}

.upcoming-programs-detail .sidebar-program-text summary {
cursor: pointer;
color: #85E8C5;
font-weight: 700
}

.upcoming-programs-detail .contact-nudge {
display: flex;
flex-direction: column;
gap: 12px;
padding: 24px;
background: #f2f2120d;
border: 1px solid #f2f21226;
border-radius: 10px
}

.upcoming-programs-detail .contact-nudge-label {
font-size: 16px;
line-height: 1.5;
color: #f0f8f6a6
}

.upcoming-programs-detail .contact-link {
display: inline-flex;
align-items: center;
gap: 6px;
color: #F2F212;
font-size: 16px;
font-weight: 700;
text-decoration: dashed underline;
text-underline-offset: 3px;
transition: color .25s ease-in-out, text-decoration-color .25s ease-in-out
}

.upcoming-programs-detail .contact-link:hover {
color: #85E8C5;
text-decoration-color: #85E8C5
}

.upcoming-programs-detail .program-main-column {
flex: 1;
display: flex;
flex-direction: column;
gap: 40px
}

.upcoming-programs-detail .description-block {
position: relative;
padding: 40px;
background: #0c485f38;
border-radius: 10px;
border: 1px solid #85e8c51a;
box-shadow: 2px 6px 18px -1px #0c485f1a
}

.upcoming-programs-detail .description-block::before {
content: "";
position: absolute;
top: 0;
left: 40px;
right: 40px;
height: 2px;
background: linear-gradient(90deg, transparent, #85E8C5, transparent)
}

.upcoming-programs-detail .description-heading {
font-size: 32px;
line-height: 1.2;
font-weight: 900;
color: #f0f8f6;
letter-spacing: -.02em;
margin: 0 0 24px;
text-align: center
}

.upcoming-programs-detail .description-body {
color: #f0f8f6d1;
font-size: 19px;
line-height: 1.7
}

.upcoming-programs-detail .description-body p {
margin: 0 0 24px
}

.upcoming-programs-detail .description-body p:last-child {
margin-bottom: 0
}

.upcoming-programs-detail .description-body h2 {
font-size: 24px;
line-height: 1.2;
font-weight: 900;
color: #f0f8f6;
margin: 24px 0 12px
}

.upcoming-programs-detail .description-body h3 {
font-size: 19px;
line-height: 1.2;
font-weight: 700;
color: #85E8C5;
margin: 24px 0 12px
}

.upcoming-programs-detail .description-body strong {
color: #F2F212;
font-weight: 700
}

.upcoming-programs-detail .description-body ul,
.upcoming-programs-detail .description-body ol {
padding-left: 24px;
margin: 12px 0 24px
}

.upcoming-programs-detail .description-body li {
margin-bottom: 12px;
color: #f0f8f6d1
}

.upcoming-programs-detail .description-body dl {
margin: 12px 0
}

.upcoming-programs-detail .description-body dt {
font-weight: 700;
color: #85E8C5
}

.upcoming-programs-detail .description-body dd {
margin-left: 24px;
margin-bottom: 12px;
color: #f0f8f6bf
}

.upcoming-programs-detail .description-body figure {
margin: 24px 0;
border-radius: 10px;
overflow: hidden
}

.upcoming-programs-detail .description-body figcaption {
font-size: 16px;
color: #f0f8f680;
padding: 6px 0 0;
font-style: italic
}

.upcoming-programs-detail .enroll-strip {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 24px;
padding: 40px;
background: linear-gradient(135deg, #0c485f99 0%, #040f16cc 100%);
border-radius: 10px;
border: 1px solid #85e8c526;
position: relative;
flex-wrap: wrap
}

.upcoming-programs-detail .enroll-strip::after {
content: "";
position: absolute;
bottom: 0;
left: 40px;
right: 40px;
height: 1px;
background: linear-gradient(90deg, transparent, #f2f21266, transparent)
}

.upcoming-programs-detail .strip-text {
flex: 1
}

.upcoming-programs-detail .strip-heading {
font-size: 24px;
line-height: 1.2;
font-weight: 900;
color: #f0f8f6;
margin: 0 0 6px;
letter-spacing: -.01em
}

.upcoming-programs-detail .strip-sub {
font-size: 16px;
line-height: 1.5;
color: #f0f8f699;
margin: 0
}

.upcoming-programs-detail .secondary-button {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 12px 24px;
background: transparent;
color: #85E8C5;
font-size: 16px;
font-weight: 700;
border: 1px solid #85e8c559;
border-radius: 10px;
cursor: pointer;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .28s cubic-bezier(0.4, 0, 0.2, 1), border-color .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.upcoming-programs-detail .secondary-button::before {
content: "";
position: absolute;
inset: 0;
background: #85e8c514;
transform: translateX(-100%);
transition: transform .32s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 0
}

.upcoming-programs-detail .secondary-button:hover::before {
transform: translateX(0)
}

.upcoming-programs-detail .secondary-button:hover {
border-color: #85e8c5b3;
animation: border-pulse .38s ease-in-out
}

.upcoming-programs-detail .secondary-button span {
position: relative;
z-index: 1
}

@keyframes shake {

0%,
100% {
transform: translateX(0)
}

20% {
transform: translateX(-6px)
}

40% {
transform: translateX(6px)
}

60% {
transform: translateX(-4px)
}

80% {
transform: translateX(4px)
}
}

.upcoming-programs-detail .form-field:invalid:not(:placeholder-shown) {
animation: shake .38s cubic-bezier(0.4, 0, 0.2, 1);
border-color: #f2f21299
}

@media (max-width: 1024px) {
.upcoming-programs-detail .hero-row {
gap: 40px
}

.upcoming-programs-detail .hero-image-column {
flex: 0 0 320px
}

.upcoming-programs-detail .program-heading {
font-size: 60px
}

.upcoming-programs-detail .program-body {
gap: 40px
}

.upcoming-programs-detail .program-sidebar {
flex: 0 0 240px
}
}

@media (max-width: 768px) {
.upcoming-programs-detail .page-frame {
padding: 40px 24px
}

.upcoming-programs-detail .hero-row {
flex-direction: column;
gap: 40px
}

.upcoming-programs-detail .hero-image-column {
flex: none;
width: 100%
}

.upcoming-programs-detail .program-heading {
font-size: 32px
}

.upcoming-programs-detail .program-body {
flex-direction: column;
gap: 40px
}

.upcoming-programs-detail .program-sidebar {
flex: none;
width: 100%
}

.upcoming-programs-detail .enroll-strip {
flex-direction: column;
align-items: flex-start
}
}

@media (max-width: 480px) {
.upcoming-programs-detail .page-frame {
padding: 24px 12px
}

.upcoming-programs-detail .program-heading {
font-size: 32px
}

.upcoming-programs-detail .description-block {
padding: 24px
}

.upcoming-programs-detail .enroll-strip {
padding: 24px
}
}

.upcoming-programs {
background: linear-gradient(170deg, #0e3d52 0%, #071e2a 60%, #040f16 100%);
min-height: 100vh;
overflow-x: clip
}

.upcoming-programs .programs-lead {
max-width: 1200px;
margin: 0 auto;
padding: 80px 40px 40px;
display: grid;
grid-template-columns: 1fr 420px;
gap: 80px;
align-items: center
}

.upcoming-programs .programs-lead-text {
display: flex;
flex-direction: column;
gap: 24px
}

.upcoming-programs .programs-eyebrow {
display: inline-flex;
align-items: center;
gap: 12px;
font-size: 16px;
color: #85E8C5;
letter-spacing: .08em;
font-weight: 600
}

.upcoming-programs .programs-eyebrow-line {
width: 40px;
height: 2px;
background: #85E8C5;
border-radius: 0
}

.upcoming-programs .programs-heading {
font-size: 60px;
line-height: 1.2;
font-weight: 900;
color: #e8f4f0;
letter-spacing: -.02em;
margin: 0
}

.upcoming-programs .programs-heading span {
color: #85E8C5
}

.upcoming-programs .programs-heading em {
font-style: normal;
color: #F2F212
}

.upcoming-programs .programs-lead-description {
font-size: 19px;
line-height: 1.7;
color: #a8c8be;
margin: 0;
max-width: 480px
}

.upcoming-programs .programs-lead-cta {
display: inline-flex;
align-items: center;
gap: 12px;
background: transparent;
border: 2px solid #85E8C5;
color: #85E8C5;
font-size: 16px;
font-weight: 700;
padding: 12px 24px;
border-radius: 10px;
cursor: pointer;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .35s ease-in-out, border-color .35s ease-in-out;
align-self: flex-start
}

.upcoming-programs .programs-lead-cta::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #85E8C5;
transition: left .35s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 0
}

.upcoming-programs .programs-lead-cta:hover::before {
left: 0
}

.upcoming-programs .programs-lead-cta:hover {
color: #071e2a;
border-color: #85E8C5
}

.upcoming-programs .programs-lead-cta span {
position: relative;
z-index: 1
}

.upcoming-programs .programs-lead-image {
position: relative
}

.upcoming-programs .programs-lead-image-frame {
width: 100%;
aspect-ratio: 3/4;
position: relative;
overflow: hidden;
border-radius: 32px 0 32px 0;
box-shadow: 2px 9px 44px -1px #0c485f1c
}

.upcoming-programs .programs-lead-image-frame img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.upcoming-programs .programs-lead-image-frame::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(160deg, transparent 40%, #0c485f99 100%)
}

.upcoming-programs .programs-lead-badge {
position: absolute;
bottom: 24px;
left: -24px;
background: #F2F212;
color: #071e2a;
font-size: 16px;
font-weight: 800;
padding: 12px 24px;
border-radius: 10px;
box-shadow: 2px 6px 18px -1px #0c485f1a;
z-index: 2
}

.upcoming-programs .programs-lead-decor {
position: absolute;
border-radius: 32px;
opacity: .08;
pointer-events: none
}

.upcoming-programs .programs-lead-decor.circle-a {
width: 200px;
height: 200px;
border: 40px solid #85E8C5;
border-radius: 32px;
top: -40px;
right: -40px
}

.upcoming-programs .programs-lead-decor.circle-b {
width: 120px;
height: 120px;
border: 24px solid #F2F212;
border-radius: 32px;
bottom: 80px;
right: -24px;
opacity: .06
}

.upcoming-programs .programs-divider {
max-width: 1200px;
margin: 0 auto;
padding: 0 40px;
display: flex;
align-items: center;
gap: 6px
}

.upcoming-programs .programs-divider-dash {
height: 2px;
background: #85e8c54d;
border-radius: 0
}

.upcoming-programs .programs-divider-dash.long {
flex: 3
}

.upcoming-programs .programs-divider-dash.short {
flex: 1
}

.upcoming-programs .programs-list-area {
max-width: 1200px;
margin: 0 auto;
padding: 80px 40px
}

.upcoming-programs .programs-list-header {
margin-bottom: 40px;
text-align: center
}

.upcoming-programs .programs-list-heading {
font-size: 32px;
line-height: 1.2;
font-weight: 900;
color: #e8f4f0;
letter-spacing: -.02em;
margin: 0 0 12px
}

.upcoming-programs .programs-list-subtext {
font-size: 16px;
line-height: 1.5;
color: #7aada0;
margin: 0
}

.upcoming-programs .programs-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px
}

.upcoming-programs .program-card {
background: linear-gradient(145deg, #0c485f73 0%, #040f16b3 100%);
border: 1px solid #85e8c51f;
border-radius: 10px;
overflow: hidden;
display: flex;
flex-direction: column;
box-shadow: 2px 6px 18px -1px #0c485f1a;
transition: border-color .28s ease-in-out, box-shadow .28s ease-in-out
}

.upcoming-programs .program-card:hover {
border-color: #85e8c566;
box-shadow: 2px 9px 44px -1px #0c485f1c
}

.upcoming-programs .program-card-image {
width: 100%;
aspect-ratio: 16/9;
overflow: hidden;
position: relative
}

.upcoming-programs .program-card-image img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .4s cubic-bezier(0.4, 0, 0.2, 1)
}

.upcoming-programs .program-card:hover .program-card-image img {
transform: scale(1.04)
}

.upcoming-programs .program-card-body {
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
flex: 1
}

.upcoming-programs .program-card-title {
font-size: 19px;
line-height: 1.5;
font-weight: 800;
color: #e8f4f0;
margin: 0;
letter-spacing: -.01em
}

.upcoming-programs .program-card-description {
font-size: 16px;
line-height: 1.7;
color: #8ab8ae;
margin: 0;
flex: 1
}

.upcoming-programs .program-card-footer {
display: flex;
align-items: center;
justify-content: space-between;
padding: 12px 24px;
border-top: 1px solid #85e8c514;
gap: 12px
}

.upcoming-programs .program-card-price {
font-size: 19px;
font-weight: 900;
color: #F2F212;
letter-spacing: -.01em
}

.upcoming-programs .program-card-link {
display: inline-flex;
align-items: center;
gap: 6px;
background: transparent;
border: 1.5px solid #85e8c566;
color: #85E8C5;
font-size: 16px;
font-weight: 700;
padding: 6px 12px;
border-radius: 10px;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .28s ease-in-out, border-color .28s ease-in-out
}

.upcoming-programs .program-card-link::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #85E8C5;
transition: left .28s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 0
}

.upcoming-programs .program-card-link:hover::before {
left: 0
}

.upcoming-programs .program-card-link:hover {
color: #071e2a;
border-color: #85E8C5
}

.upcoming-programs .program-card-link span {
position: relative;
z-index: 1
}

.upcoming-programs .program-card-link svg {
position: relative;
z-index: 1
}

.upcoming-programs .programs-second-divider {
max-width: 1200px;
margin: 0 auto;
padding: 0 40px;
display: flex;
align-items: center;
gap: 6px
}

.upcoming-programs .programs-second-divider .dash {
height: 2px;
border-radius: 0;
background: #f2f21233
}

.upcoming-programs .programs-second-divider .dash.long {
flex: 2
}

.upcoming-programs .programs-second-divider .dash.short {
flex: 1
}

.upcoming-programs .programs-second-divider .dash.tiny {
flex: .5
}

.upcoming-programs .approach-area {
max-width: 1200px;
margin: 0 auto;
padding: 80px 40px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: start
}

.upcoming-programs .approach-left {
display: flex;
flex-direction: column;
gap: 24px
}

.upcoming-programs .approach-heading {
font-size: 32px;
line-height: 1.2;
font-weight: 900;
color: #e8f4f0;
letter-spacing: -.02em;
margin: 0
}

.upcoming-programs .approach-text {
font-size: 16px;
line-height: 1.7;
color: #8ab8ae;
margin: 0
}

.upcoming-programs .approach-steps {
display: flex;
flex-direction: column;
gap: 6px;
margin-top: 12px
}

.upcoming-programs .approach-step {
display: grid;
grid-template-columns: 40px 1fr;
gap: 12px;
align-items: start;
padding: 12px;
border-radius: 10px;
background: #0c485f40;
border: 1px solid #85e8c514;
transition: background .32s ease-in-out, border-color .32s ease-in-out
}

.upcoming-programs .approach-step:hover {
background: #0c485f80;
border-color: #85e8c540
}

.upcoming-programs .approach-step-number {
width: 40px;
height: 40px;
border-radius: 10px;
background: #f2f2121f;
border: 1.5px solid #f2f2124d;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
font-weight: 900;
color: #F2F212;
flex-shrink: 0
}

.upcoming-programs .approach-step-text {
display: flex;
flex-direction: column;
gap: 6px
}

.upcoming-programs .approach-step-label {
font-size: 16px;
font-weight: 700;
color: #e8f4f0;
margin: 0
}

.upcoming-programs .approach-step-detail {
font-size: 16px;
line-height: 1.5;
color: #7aada0;
margin: 0
}

.upcoming-programs .approach-right {
display: flex;
flex-direction: column;
gap: 24px
}

.upcoming-programs .approach-stats-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px
}

.upcoming-programs .approach-stat {
background: #0c485f59;
border: 1px solid #85e8c51f;
border-radius: 10px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 6px;
position: relative;
overflow: hidden;
transition: border-color .3s ease-in-out
}

.upcoming-programs .approach-stat:hover {
border-color: #85e8c559
}

.upcoming-programs .approach-stat-value {
font-size: 32px;
font-weight: 900;
color: #85E8C5;
letter-spacing: -.02em;
line-height: 1.2
}

.upcoming-programs .approach-stat-label {
font-size: 16px;
line-height: 1.5;
color: #7aada0;
margin: 0
}

.upcoming-programs .approach-stat-accent {
position: absolute;
top: -12px;
right: -12px;
width: 60px;
height: 60px;
border-radius: 32px;
background: #85e8c50f;
pointer-events: none
}

.upcoming-programs .approach-highlight-box {
background: linear-gradient(135deg, #85e8c514 0%, #0c485f66 100%);
border: 1px solid #85e8c533;
border-radius: 10px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px
}

.upcoming-programs .approach-highlight-heading {
font-size: 19px;
font-weight: 800;
color: #85E8C5;
margin: 0
}

.upcoming-programs .approach-highlight-text {
font-size: 16px;
line-height: 1.7;
color: #a8c8be;
margin: 0
}

.upcoming-programs .third-divider {
max-width: 1200px;
margin: 0 auto;
padding: 0 40px;
display: flex;
align-items: center;
gap: 6px
}

.upcoming-programs .third-divider .seg {
height: 2px;
border-radius: 0;
background: #85e8c526
}

.upcoming-programs .third-divider .seg.wide {
flex: 4
}

.upcoming-programs .third-divider .seg.mid {
flex: 2
}

.upcoming-programs .third-divider .seg.narrow {
flex: 1
}

.upcoming-programs .instructors-area {
max-width: 1200px;
margin: 0 auto;
padding: 80px 40px
}

.upcoming-programs .instructors-top {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: end;
margin-bottom: 40px
}

.upcoming-programs .instructors-heading {
font-size: 32px;
line-height: 1.2;
font-weight: 900;
color: #e8f4f0;
letter-spacing: -.02em;
margin: 0
}

.upcoming-programs .instructors-subtext {
font-size: 16px;
line-height: 1.7;
color: #8ab8ae;
margin: 0
}

.upcoming-programs .instructors-list {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px
}

.upcoming-programs .instructor-item {
background: #0c485f33;
border: 1px solid #85e8c51a;
border-radius: 10px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
transition: border-color .28s ease-in-out, background .28s ease-in-out
}

.upcoming-programs .instructor-item:hover {
border-color: #85e8c54d;
background: #0c485f59
}

.upcoming-programs .instructor-avatar {
width: 56px;
height: 56px;
border-radius: 32px;
background: linear-gradient(135deg, #85e8c54d, #0c485f99);
border: 2px solid #85e8c540;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.upcoming-programs .instructor-avatar svg {
width: 28px;
height: 28px;
opacity: .8
}

.upcoming-programs .instructor-name {
font-size: 16px;
font-weight: 800;
color: #e8f4f0;
margin: 0
}

.upcoming-programs .instructor-specialty {
font-size: 16px;
line-height: 1.5;
color: #85E8C5;
margin: 0;
font-weight: 600
}

.upcoming-programs .instructor-bio {
font-size: 16px;
line-height: 1.7;
color: #7aada0;
margin: 0
}

.upcoming-programs .fourth-divider {
max-width: 1200px;
margin: 0 auto;
padding: 0 40px;
display: flex;
align-items: center;
gap: 6px
}

.upcoming-programs .fourth-divider .piece {
height: 2px;
border-radius: 0;
background: #f2f21226
}

.upcoming-programs .fourth-divider .piece.a {
flex: 1
}

.upcoming-programs .fourth-divider .piece.b {
flex: 3
}

.upcoming-programs .fourth-divider .piece.c {
flex: 1.5
}

.upcoming-programs .fourth-divider .piece.d {
flex: 2
}

.upcoming-programs .enroll-area {
max-width: 1200px;
margin: 0 auto;
padding: 80px 40px
}

.upcoming-programs .enroll-panel {
background: linear-gradient(125deg, #0c485f99 0%, #040f16cc 100%);
border: 1px solid #85e8c52e;
border-radius: 32px;
padding: 80px;
display: grid;
grid-template-columns: 1fr auto;
gap: 80px;
align-items: center;
box-shadow: 2px 9px 44px -1px #0c485f1c;
position: relative;
overflow: hidden
}

.upcoming-programs .enroll-panel-decor {
position: absolute;
border-radius: 32px;
pointer-events: none
}

.upcoming-programs .enroll-panel-decor.ring-a {
width: 300px;
height: 300px;
border: 60px solid #85e8c50a;
border-radius: 32px;
top: -80px;
right: -80px
}

.upcoming-programs .enroll-panel-decor.ring-b {
width: 180px;
height: 180px;
border: 36px solid #f2f2120a;
border-radius: 32px;
bottom: -40px;
left: 40px
}

.upcoming-programs .enroll-text {
display: flex;
flex-direction: column;
gap: 24px;
position: relative;
z-index: 1
}

.upcoming-programs .enroll-heading {
font-size: 32px;
line-height: 1.2;
font-weight: 900;
color: #e8f4f0;
letter-spacing: -.02em;
margin: 0
}

.upcoming-programs .enroll-heading strong {
color: #85E8C5
}

.upcoming-programs .enroll-description {
font-size: 19px;
line-height: 1.7;
color: #8ab8ae;
margin: 0;
max-width: 520px
}

.upcoming-programs .enroll-form {
display: flex;
flex-direction: column;
gap: 12px;
position: relative;
z-index: 1;
min-width: 280px
}

.upcoming-programs .enroll-form form {
display: flex;
flex-direction: column;
gap: 12px
}

.upcoming-programs .enroll-input {
background: #0c485f66;
border: 1.5px solid #85e8c533;
border-radius: 10px;
padding: 12px 24px;
font-size: 16px;
color: #e8f4f0;
outline: none;
transition: border-color .28s ease-in-out, background .28s ease-in-out;
width: 100%;
box-sizing: border-box
}

.upcoming-programs .enroll-input::placeholder {
color: #e8f4f066
}

.upcoming-programs .enroll-input:focus {
border-color: #85e8c580;
background: #0c485f99
}

.upcoming-programs .enroll-submit {
background: transparent;
border: 2px solid #F2F212;
color: #F2F212;
font-size: 16px;
font-weight: 800;
padding: 12px 24px;
border-radius: 10px;
cursor: pointer;
position: relative;
overflow: hidden;
transition: color .32s ease-in-out, border-color .32s ease-in-out;
width: 100%
}

.upcoming-programs .enroll-submit::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #F2F212;
transition: left .32s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 0
}

.upcoming-programs .enroll-submit:hover::before {
left: 0
}

.upcoming-programs .enroll-submit:hover {
color: #071e2a
}

.upcoming-programs .enroll-submit span {
position: relative;
z-index: 1
}

.upcoming-programs .enroll-submit:focus {
outline: 2px solid #F2F212;
outline-offset: 3px
}

@keyframes cascade-in {
from {
opacity: 0;
transform: translateY(20px)
}

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

.upcoming-programs .programs-eyebrow {
animation: cascade-in .4s cubic-bezier(0.4, 0, 0.2, 1) .1s both
}

.upcoming-programs .programs-heading {
animation: cascade-in .4s cubic-bezier(0.4, 0, 0.2, 1) .22s both
}

.upcoming-programs .programs-lead-description {
animation: cascade-in .38s cubic-bezier(0.4, 0, 0.2, 1) .34s both
}

.upcoming-programs .programs-lead-cta {
animation: cascade-in .36s cubic-bezier(0.4, 0, 0.2, 1) .46s both
}

.upcoming-programs .programs-lead-image {
animation: cascade-in .4s cubic-bezier(0.4, 0, 0.2, 1) .18s both
}

@media (max-width: 1024px) {
.upcoming-programs .programs-lead {
grid-template-columns: 1fr;
gap: 40px;
padding: 80px 40px 40px
}

.upcoming-programs .programs-lead-image {
max-width: 420px
}

.upcoming-programs .programs-lead-badge {
left: 0
}

.upcoming-programs .programs-grid {
grid-template-columns: 1fr 1fr
}

.upcoming-programs .approach-area {
grid-template-columns: 1fr;
gap: 40px
}

.upcoming-programs .instructors-top {
grid-template-columns: 1fr;
gap: 24px
}

.upcoming-programs .instructors-list {
grid-template-columns: 1fr 1fr
}

.upcoming-programs .enroll-panel {
grid-template-columns: 1fr;
gap: 40px;
padding: 40px
}

.upcoming-programs .approach-stats-grid {
grid-template-columns: repeat(2, 1fr)
}
}

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

.upcoming-programs .programs-heading {
font-size: 32px
}

.upcoming-programs .programs-list-area,
.upcoming-programs .approach-area,
.upcoming-programs .instructors-area,
.upcoming-programs .enroll-area {
padding: 40px 24px
}

.upcoming-programs .programs-divider,
.upcoming-programs .programs-second-divider,
.upcoming-programs .third-divider,
.upcoming-programs .fourth-divider {
padding: 0 24px
}

.upcoming-programs .programs-grid {
grid-template-columns: 1fr
}

.upcoming-programs .instructors-list {
grid-template-columns: 1fr
}

.upcoming-programs .approach-stats-grid {
grid-template-columns: 1fr 1fr
}

.upcoming-programs .enroll-panel {
padding: 40px 24px
}
}

@media (max-width: 480px) {
.upcoming-programs .programs-heading {
font-size: 24px
}

.upcoming-programs .programs-list-heading,
.upcoming-programs .approach-heading,
.upcoming-programs .instructors-heading,
.upcoming-programs .enroll-heading {
font-size: 24px
}

.upcoming-programs .approach-stats-grid {
grid-template-columns: 1fr
}

.upcoming-programs .enroll-form {
min-width: unset
}
}

.launch {
background: linear-gradient(170deg, #0e3d52 0%, #061e2a 60%, #030f16 100%);
min-height: 100vh;
overflow-x: clip;
position: relative
}

.launch .radial-rings {
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 900px;
height: 900px;
pointer-events: none;
z-index: 0;
overflow: hidden
}

.launch .radial-rings span {
position: absolute;
border-radius: 50%;
border: 1px solid #85e8c512;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(0.3);
animation: ring-expand 5s ease-out infinite
}

.launch .radial-rings span:nth-child(1) {
width: 300px;
height: 300px;
animation-delay: 0s
}

.launch .radial-rings span:nth-child(2) {
width: 550px;
height: 550px;
animation-delay: 1.4s
}

.launch .radial-rings span:nth-child(3) {
width: 800px;
height: 800px;
animation-delay: 2.8s
}

@keyframes ring-expand {
0% {
transform: translate(-50%, -50%) scale(0.3);
opacity: .6
}

100% {
transform: translate(-50%, -50%) scale(1);
opacity: 0
}
}

.launch .page-divider {
width: 100%;
height: 2px;
background: linear-gradient(90deg, transparent 0%, #85e8c559 35%, #f2f21240 65%, transparent 100%);
border: none;
margin: 0
}

.launch .title-area {
position: relative;
padding: 120px 24px 80px;
background: linear-gradient(175deg, #0c485fe6 0%, #0c485f80 40%, transparent 100%);
z-index: 1;
overflow: hidden
}

.launch .title-area::before {
content: '';
position: absolute;
inset: 0;
background-image: linear-gradient(#85e8c50a 1px, transparent 1px), linear-gradient(90deg, #85e8c50a 1px, transparent 1px);
background-size: 60px 60px;
pointer-events: none
}

.launch .title-area-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-end
}

.launch .title-text-column {
flex: 1 1 55%
}

.launch .title-label {
font-size: 16px;
line-height: 1.5;
letter-spacing: .12em;
color: #85E8C5;
text-transform: uppercase;
margin-bottom: 24px;
display: block
}

.launch .title-heading {
font-size: 60px;
line-height: 1.2;
letter-spacing: -.02em;
color: #f0f8f5;
font-weight: 900;
margin-bottom: 24px
}

.launch .title-heading em {
font-style: normal;
color: #85E8C5
}

.launch .title-thesis {
font-size: 19px;
line-height: 1.7;
color: #f0f8f5bf;
max-width: 480px;
margin-bottom: 40px
}

.launch .title-thesis strong {
color: #F2F212;
font-weight: 700
}

.launch .title-stats {
display: flex;
flex-direction: row;
gap: 40px
}

.launch .title-stat-item {
display: flex;
flex-direction: column;
gap: 6px
}

.launch .title-stat-number {
font-size: 32px;
line-height: 1.2;
font-weight: 900;
color: #F2F212;
letter-spacing: -.02em
}

.launch .title-stat-number sup {
font-size: 16px;
color: #85E8C5;
vertical-align: super
}

.launch .title-stat-label {
font-size: 16px;
line-height: 1.5;
color: #f0f8f599
}

.launch .title-image-column {
flex: 1 1 40%;
position: relative
}

.launch .title-image-frame {
border-radius: 10px;
overflow: hidden;
box-shadow: 2px 9px 44px -1px #0c485f1c;
position: relative
}

.launch .title-image-frame img {
width: 100%;
height: 480px;
object-fit: cover;
display: block
}

.launch .title-image-frame::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(to top, #061e2acc 0%, transparent 60%);
pointer-events: none
}

.launch .title-border-accent {
position: absolute;
right: -12px;
top: 24px;
bottom: 24px;
width: 3px;
background: linear-gradient(180deg, transparent 0%, #85E8C5 40%, #F2F212 70%, transparent 100%);
border-radius: 0
}

.launch .outcomes-area {
padding: 80px 24px;
position: relative;
z-index: 1
}

.launch .outcomes-area-inner {
max-width: 1200px;
margin: 0 auto
}

.launch .outcomes-heading {
font-size: 32px;
line-height: 1.2;
letter-spacing: -.02em;
font-weight: 900;
color: #f0f8f5;
text-align: center;
margin-bottom: 12px
}

.launch .outcomes-subtext {
font-size: 19px;
line-height: 1.7;
color: #f0f8f5a6;
text-align: center;
max-width: 560px;
margin: 0 auto 40px
}

.launch .outcomes-grid {
display: grid;
grid-template-columns: 3fr 2fr 1fr;
gap: 24px;
align-items: start
}

.launch .outcome-card {
background: #0c485f40;
border: 1px solid #85e8c526;
border-radius: 10px;
padding: 40px;
position: relative;
box-shadow: 2px 6px 18px -1px #0c485f1a;
transition: border-color .35s ease-in-out, box-shadow .35s ease-in-out
}

.launch .outcome-card:hover {
border-color: #85e8c573;
box-shadow: 2px 9px 44px -1px #0c485f1c;
animation: border-pulse .4s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

@keyframes border-pulse {
0% {
border-color: #85e8c526
}

50% {
border-color: #85e8c5b3
}

100% {
border-color: #85e8c573
}
}

.launch .outcome-card-primary {
grid-column: 1;
display: flex;
flex-direction: row;
gap: 40px;
align-items: center
}

.launch .outcome-card-primary .outcome-image-wrap {
flex: 0 0 200px;
border-radius: 10px;
overflow: hidden;
box-shadow: 2px 6px 18px -1px #0c485f1a
}

.launch .outcome-card-primary .outcome-image-wrap img {
width: 200px;
height: 220px;
object-fit: cover;
display: block
}

.launch .outcome-card-primary .outcome-text {
flex: 1
}

.launch .outcome-card-secondary {
grid-column: 2
}

.launch .outcome-card-tertiary {
grid-column: 3;
background: #f2f2120f;
border-color: #f2f21233
}

.launch .outcome-number {
font-size: 60px;
line-height: 1.2;
font-weight: 900;
color: #F2F212;
letter-spacing: -.03em;
margin-bottom: 6px
}

.launch .outcome-number sup {
font-size: 24px;
color: #85E8C5;
vertical-align: super
}

.launch .outcome-card-label {
font-size: 19px;
line-height: 1.5;
font-weight: 700;
color: #f0f8f5;
margin-bottom: 12px
}

.launch .outcome-card-desc {
font-size: 16px;
line-height: 1.7;
color: #f0f8f5b3
}

.launch .value-area {
padding: 80px 24px;
background: linear-gradient(160deg, #85e8c50f 0%, transparent 50%);
position: relative;
z-index: 1
}

.launch .value-area-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 80px;
align-items: stretch
}

.launch .value-image-side {
flex: 0 0 420px;
position: relative
}

.launch .value-image-bg-frame {
border-radius: 32px;
overflow: hidden;
box-shadow: 2px 9px 44px -1px #0c485f1c;
height: 100%;
min-height: 460px;
position: relative
}

.launch .value-image-bg-frame img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.launch .value-image-bg-frame::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, #0c485f99 0%, transparent 60%);
pointer-events: none
}

.launch .value-image-overlay-text {
position: absolute;
bottom: 24px;
left: 24px;
right: 24px;
z-index: 2;
font-size: 16px;
line-height: 1.5;
color: #f0f8f5d9;
font-style: italic
}

.launch .value-text-side {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px
}

.launch .value-heading {
font-size: 32px;
line-height: 1.2;
letter-spacing: -.02em;
font-weight: 900;
color: #f0f8f5
}

.launch .value-heading em {
font-style: normal;
color: #85E8C5
}

.launch .value-paragraph {
font-size: 16px;
line-height: 1.7;
color: #f0f8f5b8
}

.launch .value-paragraph strong {
color: #F2F212;
font-weight: 700
}

.launch .value-items {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 12px
}

.launch .value-item {
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start
}

.launch .value-item-dot {
width: 8px;
height: 8px;
border-radius: 50%;
background: #85E8C5;
flex-shrink: 0;
margin-top: 8px
}

.launch .value-item-text {
font-size: 16px;
line-height: 1.7;
color: #f0f8f5b8
}

.launch .people-area {
padding: 80px 24px;
position: relative;
z-index: 1
}

.launch .people-area-inner {
max-width: 1200px;
margin: 0 auto
}

.launch .people-heading {
font-size: 32px;
line-height: 1.2;
letter-spacing: -.02em;
font-weight: 900;
color: #f0f8f5;
text-align: center;
margin-bottom: 40px
}

.launch .people-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.launch .person-card {
border-radius: 10px;
overflow: hidden;
box-shadow: 2px 6px 18px -1px #0c485f1a;
position: relative;
cursor: pointer
}

.launch .person-card-face {
position: relative;
background: #0c485f4d;
border: 1px solid #85e8c51f;
padding: 40px;
display: flex;
flex-direction: row;
gap: 24px;
align-items: center;
transition: background .28s ease-in-out
}

.launch .person-card:hover .person-card-face {
background: #0c485f80
}

.launch .person-avatar {
width: 80px;
height: 80px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
border: 2px solid #85e8c54d;
box-shadow: 2px 1px 3px -1px #0c485f0f
}

.launch .person-avatar img {
width: 80px;
height: 80px;
object-fit: cover;
display: block
}

.launch .person-meta {
flex: 1
}

.launch .person-name {
font-size: 19px;
line-height: 1.5;
font-weight: 700;
color: #f0f8f5;
margin-bottom: 6px
}

.launch .person-role {
font-size: 16px;
line-height: 1.5;
color: #85E8C5;
margin-bottom: 6px
}

.launch .person-before-after {
font-size: 16px;
line-height: 1.5;
color: #f0f8f599
}

.launch .person-toggle-hint {
font-size: 16px;
color: #85e8c599;
margin-top: 12px;
display: flex;
flex-direction: row;
align-items: center;
gap: 6px
}

.launch .toggle-arrow {
width: 16px;
height: 16px;
display: inline-block
}

.launch .person-card-detail {
max-height: 0;
overflow: hidden;
background: #061e2a99;
border: 1px solid #85e8c51a;
border-top: none;
transition: max-height .38s cubic-bezier(0.4, 0, 0.2, 1), padding .38s cubic-bezier(0.4, 0, 0.2, 1);
padding: 0 40px
}

.launch .person-card:focus-within .person-card-detail,
.launch .person-card:hover .person-card-detail {
max-height: 240px;
padding: 24px 40px
}

.launch .person-quote {
font-size: 16px;
line-height: 1.7;
color: #f0f8f5cc;
font-style: italic;
border-top: 1px solid #85e8c51a;
padding-top: 12px
}

.launch .person-quote strong {
color: #F2F212;
font-style: normal;
font-weight: 700
}

.launch .fit-area {
padding: 80px 24px;
position: relative;
z-index: 1
}

.launch .fit-area::before {
content: '';
position: absolute;
inset: 0;
background-image: url(./photo_directory/bg_guide_location.jpg);
background-size: cover;
background-position: center;
opacity: .12;
pointer-events: none
}

.launch .fit-area-overlay {
position: absolute;
inset: 0;
background: linear-gradient(170deg, #030f16e0 0%, #061e2aeb 100%);
pointer-events: none
}

.launch .fit-area-inner {
max-width: 1200px;
margin: 0 auto;
position: relative;
z-index: 2
}

.launch .fit-heading {
font-size: 32px;
line-height: 1.2;
letter-spacing: -.02em;
font-weight: 900;
color: #f0f8f5;
text-align: center;
margin-bottom: 12px
}

.launch .fit-subtext {
font-size: 19px;
line-height: 1.7;
color: #f0f8f5a6;
text-align: center;
max-width: 540px;
margin: 0 auto 40px
}

.launch .fit-columns {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.launch .fit-column {
border-radius: 10px;
padding: 40px;
box-shadow: 2px 6px 18px -1px #0c485f1a
}

.launch .fit-column-yes {
background: #85e8c514;
border: 1px solid #85e8c538
}

.launch .fit-column-no {
background: #0c485f33;
border: 1px solid #0c485f80
}

.launch .fit-column-heading {
font-size: 19px;
line-height: 1.5;
font-weight: 700;
margin-bottom: 24px
}

.launch .fit-column-yes .fit-column-heading {
color: #85E8C5
}

.launch .fit-column-no .fit-column-heading {
color: #f0f8f580
}

.launch .fit-list {
display: flex;
flex-direction: column;
gap: 12px;
list-style: none;
padding: 0;
margin: 0
}

.launch .fit-list-item {
font-size: 16px;
line-height: 1.7;
color: #f0f8f5c7;
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start
}

.launch .fit-marker {
flex-shrink: 0;
width: 18px;
height: 18px;
margin-top: 3px
}

.launch .fit-marker-yes {
fill: none;
stroke: #85E8C5;
stroke-width: 2
}

.launch .fit-marker-no {
fill: none;
stroke: #f0f8f559;
stroke-width: 2
}

.launch .fit-cta-row {
margin-top: 40px;
display: flex;
flex-direction: row;
justify-content: center;
gap: 24px;
align-items: center
}

.launch .fit-primary-button {
font-size: 19px;
line-height: 1.5;
font-weight: 700;
color: #030f16;
background: #85E8C5;
border: none;
border-radius: 10px;
padding: 12px 40px;
cursor: pointer;
position: relative;
overflow: hidden;
box-shadow: 2px 6px 18px -1px #0c485f1a;
transition: color .28s ease-in-out, box-shadow .28s ease-in-out
}

.launch .fit-primary-button::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #F2F212;
transition: left .32s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 0
}

.launch .fit-primary-button:hover::before {
left: 0
}

.launch .fit-primary-button:hover {
box-shadow: 2px 9px 44px -1px #0c485f1c
}

.launch .fit-primary-button span {
position: relative;
z-index: 1
}

.launch .fit-secondary-link {
font-size: 16px;
line-height: 1.5;
color: #f0f8f5a6;
text-decoration: underline dashed #f0f8f559;
text-underline-offset: 4px;
transition: color .25s ease-in-out
}

.launch .fit-secondary-link:hover {
color: #85E8C5
}

@media (max-width: 1024px) {
.launch .title-area-inner {
flex-direction: column;
gap: 40px
}

.launch .title-image-column {
width: 100%
}

.launch .title-heading {
font-size: 60px
}

.launch .outcomes-grid {
grid-template-columns: 1fr 1fr
}

.launch .outcome-card-primary {
grid-column: 1 / -1
}

.launch .outcome-card-secondary {
grid-column: 1
}

.launch .outcome-card-tertiary {
grid-column: 2
}

.launch .value-area-inner {
flex-direction: column;
gap: 40px
}

.launch .value-image-side {
flex: none;
width: 100%
}

.launch .value-image-bg-frame {
min-height: 300px
}
}

@media (max-width: 768px) {
.launch .title-area {
padding: 80px 24px 40px
}

.launch .title-heading {
font-size: 32px
}

.launch .title-stats {
flex-direction: column;
gap: 24px
}

.launch .outcomes-grid {
grid-template-columns: 1fr
}

.launch .outcome-card-primary {
grid-column: 1;
flex-direction: column
}

.launch .outcome-card-primary .outcome-image-wrap {
flex: none;
width: 100%
}

.launch .outcome-card-primary .outcome-image-wrap img {
width: 100%;
height: 200px
}

.launch .outcome-card-secondary,
.launch .outcome-card-tertiary {
grid-column: 1
}

.launch .people-grid {
grid-template-columns: 1fr
}

.launch .fit-columns {
grid-template-columns: 1fr
}

.launch .fit-cta-row {
flex-direction: column;
gap: 12px
}

.launch .person-card-face {
flex-direction: column;
align-items: flex-start
}
}

@media (max-width: 480px) {
.launch .title-heading {
font-size: 32px
}

.launch .outcomes-area,
.launch .value-area,
.launch .people-area,
.launch .fit-area {
padding: 40px 24px
}

.launch .outcome-card,
.launch .fit-column {
padding: 24px
}

.launch .person-card-face {
padding: 24px
}

.launch .person-card-detail {
padding: 0 24px
}

.launch .person-card:hover .person-card-detail,
.launch .person-card:focus-within .person-card-detail {
padding: 24px
}
}

.contact-us-page {
background: linear-gradient(170deg, #0e3d52 0%, #071e2a 60%, #040f15 100%);
min-height: 100vh;
overflow-x: clip;
position: relative
}

.contact-us-page ::selection {
background: #85E8C5;
color: #071e2a
}

.contact-us-page *,
.contact-us-page ::before,
.contact-us-page ::after {
box-sizing: border-box
}

.contact-us-page .grid-pulse-layer {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
z-index: 0;
background-image: linear-gradient(#85e8c50a 1px, transparent 1px), linear-gradient(90deg, #85e8c50a 1px, transparent 1px);
background-size: 80px 80px;
animation: grid-breathe 7s ease-in-out infinite
}

@keyframes grid-breathe {

0%,
100% {
opacity: .6
}

50% {
opacity: 1
}
}

.contact-us-page .page-relative {
position: relative;
z-index: 1;
max-width: 1200px;
margin: 0 auto;
padding: 0 40px
}

.contact-us-page .corner-circles {
position: absolute;
top: -40px;
right: -40px;
width: 320px;
height: 320px;
pointer-events: none;
overflow: hidden;
z-index: 0
}

.contact-us-page .corner-circles svg {
width: 100%;
height: 100%
}

.contact-us-page .partial-divider {
width: 160px;
height: 1px;
background: linear-gradient(90deg, transparent, #85E8C5 40%, #F2F212 100%);
margin: 0 auto 40px
}

.contact-us-page .partial-divider-left {
width: 200px;
height: 1px;
background: linear-gradient(90deg, #85E8C5, transparent);
margin: 40px 0
}

.contact-us-page .partial-divider-alt {
width: 120px;
height: 1px;
background: linear-gradient(90deg, transparent, #F2F212, transparent);
margin: 0 0 24px
}

.contact-us-page .reach-block {
padding: 80px 0 40px;
position: relative
}

.contact-us-page .reach-block .corner-circles {
top: 20px;
right: -60px
}

.contact-us-page .reach-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: end
}

.contact-us-page .reach-text-area {
padding-bottom: 40px
}

.contact-us-page .reach-label {
display: inline-block;
font-size: 16px;
line-height: 1.5;
letter-spacing: .12em;
color: #85E8C5;
text-transform: uppercase;
margin-bottom: 24px;
border-bottom: 1px solid #85e8c54d;
padding-bottom: 6px
}

.contact-us-page .reach-heading {
font-size: 60px;
line-height: 1.2;
letter-spacing: -.02em;
font-weight: 900;
color: #fff;
margin: 0 0 24px
}

.contact-us-page .reach-heading span {
color: #F2F212
}

.contact-us-page .reach-description {
font-size: 19px;
line-height: 1.7;
color: #ffffffb8;
margin: 0 0 40px;
max-width: 420px
}

.contact-us-page .reach-actions {
display: flex;
flex-direction: row;
gap: 24px;
align-items: center;
flex-wrap: wrap
}

.contact-us-page .reach-primary-link {
display: inline-block;
padding: 16px 40px;
background: #85E8C5;
color: #071e2a;
font-size: 16px;
font-weight: 700;
letter-spacing: .04em;
text-decoration: none !important;
border-radius: 10px;
position: relative;
overflow: hidden;
transition: color .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 2px 6px 18px -1px #0c485f1a
}

.contact-us-page .reach-primary-link::before {
content: '';
position: absolute;
inset: 0;
background: #F2F212;
transform: translateX(-100%);
transition: transform .32s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 0
}

.contact-us-page .reach-primary-link:hover::before {
transform: translateX(0)
}

.contact-us-page .reach-primary-link:hover {
box-shadow: 2px 9px 44px -1px #0c485f1c
}

.contact-us-page .reach-primary-link-text {
position: relative;
z-index: 1
}

.contact-us-page .reach-secondary-link {
display: inline-block;
font-size: 16px;
color: #ffffffa6;
text-decoration: underline dashed #ffffff59 1px;
text-underline-offset: 4px;
transition: color .25s ease-in-out, text-decoration-color .25s ease-in-out
}

.contact-us-page .reach-secondary-link:hover {
color: #85E8C5;
text-decoration-color: #85E8C5
}

.contact-us-page .reach-mosaic {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 200px 160px;
gap: 12px;
position: relative
}

.contact-us-page .mosaic-bracket {
position: absolute;
top: -12px;
left: -12px;
width: 40px;
height: 40px;
border-top: 2px solid #F2F212;
border-left: 2px solid #F2F212;
z-index: 2;
pointer-events: none
}

.contact-us-page .mosaic-bracket-bottom {
position: absolute;
bottom: -12px;
right: -12px;
width: 40px;
height: 40px;
border-bottom: 2px solid #85E8C5;
border-right: 2px solid #85E8C5;
z-index: 2;
pointer-events: none
}

.contact-us-page .mosaic-image-large {
grid-column: 1;
grid-row: 1 / 3;
border-radius: 10px;
overflow: hidden;
position: relative;
box-shadow: 2px 6px 18px -1px #0c485f1a
}

.contact-us-page .mosaic-image-large img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.contact-us-page .mosaic-image-large::after {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at center, transparent 30%, #040f15a6 100%);
pointer-events: none
}

.contact-us-page .mosaic-image-small {
grid-column: 2;
grid-row: 1;
border-radius: 10px;
overflow: hidden;
position: relative;
box-shadow: 2px 6px 18px -1px #0c485f1a
}

.contact-us-page .mosaic-image-small img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.contact-us-page .mosaic-image-small::after {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at center, transparent 30%, #040f15a6 100%);
pointer-events: none
}

.contact-us-page .mosaic-info-card {
grid-column: 2;
grid-row: 2;
background: #0c485f73;
border-radius: 10px;
border: 1px solid #85e8c52e;
padding: 24px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 6px;
box-shadow: 2px 1px 3px -1px #0c485f0f
}

.contact-us-page .mosaic-info-label {
font-size: 16px;
color: #85E8C5;
letter-spacing: .08em;
text-transform: uppercase
}

.contact-us-page .mosaic-info-value {
font-size: 19px;
color: #fff;
font-weight: 700;
line-height: 1.5
}

.contact-us-page .form-block {
padding: 80px 0;
position: relative
}

.contact-us-page .form-block-bg {
position: absolute;
inset: 0;
background: linear-gradient(135deg, #85e8c50f 0%, transparent 55%);
pointer-events: none
}

.contact-us-page .form-layout {
display: grid;
grid-template-columns: 5fr 7fr;
gap: 80px;
align-items: start
}

.contact-us-page .form-side-info {
padding-top: 12px
}

.contact-us-page .form-side-heading {
font-size: 32px;
line-height: 1.2;
font-weight: 900;
letter-spacing: -.02em;
color: #fff;
margin: 0 0 24px
}

.contact-us-page .form-side-heading span {
color: #85E8C5
}

.contact-us-page .form-side-text {
font-size: 16px;
line-height: 1.7;
color: #ffffffa6;
margin: 0 0 40px
}

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

.contact-us-page .contact-detail-item {
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start
}

.contact-us-page .detail-icon {
width: 40px;
height: 40px;
border-radius: 10px;
background: #85e8c51f;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
border: 1px solid #85e8c533;
transition: background .28s ease-in-out, border-color .28s ease-in-out
}

.contact-us-page .contact-detail-item:hover .detail-icon {
background: #85e8c538;
border-color: #85e8c566
}

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

.contact-us-page .detail-text {
display: flex;
flex-direction: column;
gap: 6px
}

.contact-us-page .detail-label {
font-size: 16px;
color: #ffffff73;
letter-spacing: .06em;
text-transform: uppercase
}

.contact-us-page .detail-value {
font-size: 16px;
color: #fff;
line-height: 1.5;
text-decoration: none !important;
transition: color .25s ease-in-out
}

.contact-us-page a.detail-value:hover {
color: #85E8C5
}

.contact-us-page .form-card {
background: #0c485f4d;
border: 1px solid #85e8c524;
border-radius: 10px;
padding: 40px;
box-shadow: 2px 9px 44px -1px #0c485f1c;
position: relative
}

.contact-us-page .form-card::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 60px;
background: linear-gradient(to top, #0c485f40, transparent);
border-radius: 0 0 10px 10px;
pointer-events: none
}

.contact-us-page .form-card-heading {
font-size: 24px;
line-height: 1.2;
font-weight: 900;
letter-spacing: -.01em;
color: #fff;
margin: 0 0 6px;
text-align: center
}

.contact-us-page .form-card-sub {
font-size: 16px;
color: #ffffff80;
text-align: center;
margin: 0 0 40px;
line-height: 1.5
}

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

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

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

.contact-us-page .field-label {
font-size: 16px;
color: #ffffffa6;
letter-spacing: .04em
}

.contact-us-page .field-required {
color: #F2F212;
margin-left: 2px
}

.contact-us-page .field-input {
background: #ffffff0f;
border: 1px solid #85e8c533;
border-radius: 10px;
padding: 12px 24px;
font-size: 16px;
color: #fff;
outline: none;
transition: border-color .28s cubic-bezier(0.4, 0, 0.2, 1), background .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1);
width: 100%;
box-shadow: inset 0 1px 2px #0c485f14
}

.contact-us-page .field-input::placeholder {
color: #fff6
}

.contact-us-page .field-input:focus {
border-color: #85E8C5;
background: #85e8c512;
box-shadow: 0 0 0 3px #85e8c51a inset 0 1px 2px #0c485f0f
}

.contact-us-page .field-select {
background: #ffffff0f;
border: 1px solid #85e8c533;
border-radius: 10px;
padding: 12px 24px;
font-size: 16px;
color: #fff;
outline: none;
transition: border-color .28s cubic-bezier(0.4, 0, 0.2, 1), background .28s cubic-bezier(0.4, 0, 0.2, 1);
width: 100%;
cursor: pointer;
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='%2385E8C5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 16px center;
box-shadow: inset 0 1px 2px #0c485f14
}

.contact-us-page .field-select option {
background: #071e2a;
color: #fff
}

.contact-us-page .field-select:focus {
border-color: #85E8C5;
background-color: #85e8c512
}

.contact-us-page .priority-group {
display: flex;
flex-direction: column;
gap: 12px
}

.contact-us-page .priority-label-heading {
font-size: 16px;
color: #ffffffa6;
letter-spacing: .04em
}

.contact-us-page .priority-options {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap
}

.contact-us-page .priority-option {
position: relative;
flex: 1;
min-width: 80px
}

.contact-us-page .priority-option input[type="radio"] {
position: absolute;
opacity: 0;
width: 0;
height: 0
}

.contact-us-page .priority-option-label {
display: block;
padding: 12px 6px;
text-align: center;
font-size: 16px;
color: #ffffff8c;
border: 1px solid #85e8c52e;
border-radius: 10px;
cursor: pointer;
transition: background .26s ease-in-out, border-color .26s ease-in-out, color .26s ease-in-out;
line-height: 1.5;
user-select: none
}

.contact-us-page .priority-option input[type="radio"]:checked+.priority-option-label {
background: #85e8c526;
border-color: #85E8C5;
color: #85E8C5;
font-weight: 700
}

.contact-us-page .priority-option-label:hover {
border-color: #85e8c573;
color: #ffffffd9
}

.contact-us-page .priority-option input[type="radio"]:focus-visible+.priority-option-label {
outline: 2px solid #F2F212;
outline-offset: 2px
}

.contact-us-page .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px
}

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

.contact-us-page .privacy-text {
font-size: 16px;
color: #ffffff8c;
line-height: 1.5
}

.contact-us-page .privacy-text a {
color: #85E8C5;
text-decoration: underline dashed #85e8c580 1px;
text-underline-offset: 3px;
transition: color .25s ease-in-out
}

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

.contact-us-page .submit-button {
display: block;
width: 100%;
padding: 16px 40px;
background: #85E8C5;
color: #071e2a;
font-size: 19px;
font-weight: 700;
letter-spacing: .02em;
border: none;
border-radius: 10px;
cursor: pointer;
position: relative;
overflow: hidden;
transition: color .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 2px 6px 18px -1px #0c485f1a
}

.contact-us-page .submit-button::before {
content: '';
position: absolute;
inset: 0;
background: #F2F212;
transform: translateX(-100%);
transition: transform .35s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 0
}

.contact-us-page .submit-button:hover::before {
transform: translateX(0)
}

.contact-us-page .submit-button:hover {
box-shadow: 2px 9px 44px -1px #0c485f1c
}

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

.contact-us-page .submit-button-text {
position: relative;
z-index: 1
}

.contact-us-page .details-block {
padding: 80px 0;
position: relative
}

.contact-us-page .details-block-inner {
background-image: url(./photo_directory/CONTENT-CREW-FAQ.jpg);
background-size: cover;
background-position: center;
border-radius: 10px;
position: relative;
overflow: hidden
}

.contact-us-page .details-block-overlay {
position: absolute;
inset: 0;
background: linear-gradient(135deg, #071e2aed 0%, #0c485fd1 100%);
pointer-events: none
}

.contact-us-page .details-block-content {
position: relative;
z-index: 1;
padding: 80px
}

.contact-us-page .details-top {
display: flex;
flex-direction: row;
align-items: flex-start;
justify-content: space-between;
gap: 40px;
margin-bottom: 40px
}

.contact-us-page .details-heading {
font-size: 32px;
line-height: 1.2;
font-weight: 900;
letter-spacing: -.02em;
color: #fff;
margin: 0;
max-width: 420px
}

.contact-us-page .details-heading span {
color: #F2F212
}

.contact-us-page .details-tagline {
font-size: 16px;
line-height: 1.7;
color: #fff9;
max-width: 320px;
margin: 0;
text-align: right
}

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

.contact-us-page .detail-card {
background: #0c485f73;
border: 1px solid #85e8c526;
border-radius: 10px;
padding: 24px;
position: relative;
transition: border-color .28s ease-in-out, background .28s ease-in-out;
box-shadow: 2px 1px 3px -1px #0c485f0f
}

.contact-us-page .detail-card::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 40px;
background: linear-gradient(to top, #0c485f4d, transparent);
border-radius: 0 0 10px 10px;
pointer-events: none
}

.contact-us-page .detail-card:hover {
border-color: #85e8c559;
background: #0c485f99
}

.contact-us-page .detail-card-icon {
width: 48px;
height: 48px;
border-radius: 10px;
background: #f2f2121f;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 24px;
border: 1px solid #f2f21233
}

.contact-us-page .detail-card-icon svg {
width: 22px;
height: 22px
}

.contact-us-page .detail-card-label {
font-size: 16px;
color: #ffffff73;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 6px
}

.contact-us-page .detail-card-value {
font-size: 19px;
color: #fff;
font-weight: 700;
line-height: 1.5;
word-break: break-word
}

.contact-us-page .detail-card-note {
font-size: 16px;
color: #ffffff73;
line-height: 1.5;
margin-top: 6px
}

@media (max-width: 1024px) {
.contact-us-page .page-relative {
padding: 0 24px
}

.contact-us-page .reach-layout {
grid-template-columns: 1fr 1fr;
gap: 40px
}

.contact-us-page .reach-heading {
font-size: 32px
}

.contact-us-page .form-layout {
grid-template-columns: 1fr;
gap: 40px
}

.contact-us-page .details-block-content {
padding: 40px
}

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

.contact-us-page .details-top {
flex-direction: column
}

.contact-us-page .details-tagline {
text-align: left
}
}

@media (max-width: 768px) {
.contact-us-page .reach-layout {
grid-template-columns: 1fr;
gap: 40px
}

.contact-us-page .reach-mosaic {
grid-template-rows: 180px 140px
}

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

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

.contact-us-page .details-block-content {
padding: 24px
}

.contact-us-page .form-card {
padding: 24px
}

.contact-us-page .reach-heading {
font-size: 32px
}

.contact-us-page .priority-options {
flex-direction: column
}
}

@media (max-width: 480px) {
.contact-us-page .page-relative {
padding: 0 12px
}

.contact-us-page .reach-block {
padding: 40px 0 24px
}

.contact-us-page .form-block {
padding: 40px 0
}

.contact-us-page .details-block {
padding: 40px 0
}

.contact-us-page .reach-heading {
font-size: 32px
}

.contact-us-page .reach-actions {
flex-direction: column;
align-items: flex-start
}

.contact-us-page .mosaic-info-card {
padding: 12px
}
}

.learning-program {
background: linear-gradient(180deg, #0e3d52 0%, #071e2a 100%);
min-height: 100vh;
overflow-x: clip;
container-type: inline-size
}

.learning-program .program-title-block {
padding: 80px 24px;
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center
}

.learning-program .program-title-block .blob-layer {
position: relative
}

.learning-program .program-title-block .blob-layer::before {
content: '';
position: absolute;
width: 320px;
height: 320px;
background: #85e8c521;
border-radius: 32px;
filter: blur(60px);
top: -40px;
left: -40px;
pointer-events: none;
z-index: 0
}

.learning-program .program-title-block .blob-layer::after {
content: '';
position: absolute;
width: 200px;
height: 200px;
background: #f2f21214;
border-radius: 32px;
filter: blur(50px);
bottom: -24px;
right: -24px;
pointer-events: none;
z-index: 0
}

.learning-program .program-image-frame {
position: relative;
z-index: 1;
border-radius: 10px;
overflow: hidden;
box-shadow: 2px 9px 44px -1px #0c485f1c
}

.learning-program .program-image-frame::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(160deg, #85e8c514 0%, transparent 60%);
z-index: 1;
pointer-events: none;
border-radius: 10px
}

.learning-program .program-image-frame img {
width: 100%;
height: 420px;
object-fit: cover;
display: block;
border-radius: 10px;
animation: slow-zoom 12s ease-in-out infinite alternate
}

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

to {
transform: scale(1.06)
}
}

.learning-program .dots-border {
position: absolute;
inset: -12px;
z-index: 0;
pointer-events: none;
border-radius: 10px
}

.learning-program .dots-border svg {
width: 100%;
height: 100%;
position: absolute;
inset: 0
}

.learning-program .program-text-side {
display: flex;
flex-direction: column;
gap: 24px
}

.learning-program .program-text-side .accent-phrase {
display: inline-block;
background: #f2f21226;
color: #F2F212;
font-size: 16px;
font-weight: 700;
letter-spacing: .08em;
padding: 6px 12px;
border-radius: 0;
border-bottom: 2px solid #F2F212
}

.learning-program .program-text-side h1 {
font-size: 60px;
line-height: 1.2;
letter-spacing: -.03em;
color: #e8f7f2;
font-weight: 900;
margin: 0
}

.learning-program .program-text-side h1 span {
color: #85E8C5
}

.learning-program .program-text-side .program-lead {
font-size: 19px;
line-height: 1.7;
color: #e8f7f2d1;
margin: 0;
max-width: 480px
}

.learning-program .program-text-side .program-cta-row {
display: flex;
flex-direction: row;
gap: 12px;
align-items: center;
flex-wrap: wrap
}

.learning-program .btn-primary {
position: relative;
overflow: hidden;
background: #85E8C5;
color: #071e2a;
font-size: 19px;
font-weight: 800;
padding: 12px 40px;
border-radius: 10px;
border: none;
cursor: pointer;
letter-spacing: -.01em;
transition: color .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 2px 6px 18px -1px #85e8c51a;
text-decoration: none;
display: inline-block
}

.learning-program .btn-primary::before {
content: '';
position: absolute;
inset: 0;
background: #F2F212;
transform: translateX(-100%);
transition: transform .32s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 0;
border-radius: 10px
}

.learning-program .btn-primary:hover::before {
transform: translateX(0)
}

.learning-program .btn-primary span {
position: relative;
z-index: 1
}

.learning-program .btn-primary:hover {
color: #071e2a;
box-shadow: 2px 9px 44px -1px #85e8c51c
}

.learning-program .btn-primary:focus-visible {
outline: 3px solid #F2F212 !important;
outline-offset: 3px !important
}

.learning-program .btn-secondary {
font-size: 16px;
font-weight: 600;
color: #85E8C5;
background: transparent;
border: 1.5px solid #85e8c566;
border-radius: 10px;
padding: 12px 24px;
cursor: pointer;
text-decoration: none;
display: inline-block;
transition: border-color .25s ease-in-out, color .25s ease-in-out
}

.learning-program .btn-secondary:hover {
border-color: #85E8C5;
color: #e8f7f2
}

.learning-program .btn-secondary:focus-visible {
outline: 3px solid #F2F212 !important;
outline-offset: 3px !important
}

.learning-program .section-divider {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
display: flex;
align-items: center;
gap: 0
}

.learning-program .section-divider .divider-line {
flex: 1;
height: 1px;
background: #85e8c52e
}

.learning-program .section-divider .divider-accent {
width: 48px;
height: 3px;
background: #85E8C5;
border-radius: 0;
margin: 0 6px
}

.learning-program .program-structure-block {
padding: 80px 24px;
max-width: 1200px;
margin: 0 auto
}

.learning-program .program-structure-block .structure-label {
text-align: center;
font-size: 16px;
font-weight: 700;
color: #85E8C5;
letter-spacing: .1em;
margin-bottom: 12px
}

.learning-program .program-structure-block h2 {
text-align: center;
font-size: 32px;
line-height: 1.2;
letter-spacing: -.02em;
color: #e8f7f2;
font-weight: 900;
margin: 0 0 40px
}

.learning-program .program-structure-block .structure-grid {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 40px;
align-items: start
}

.learning-program .program-structure-block .sidebar-panel {
display: flex;
flex-direction: column;
gap: 24px;
position: sticky;
top: 24px
}

.learning-program .program-structure-block .sidebar-stat {
background: linear-gradient(160deg, #85e8c517 0%, #0c485f2e 100%);
border: 1px solid #85e8c52e;
border-radius: 10px;
padding: 24px;
box-shadow: 2px 6px 18px -1px #0c485f1a
}

.learning-program .program-structure-block .sidebar-stat .stat-number {
font-size: 60px;
font-weight: 900;
line-height: 1.2;
letter-spacing: -.04em;
color: #F2F212;
display: block
}

.learning-program .program-structure-block .sidebar-stat .stat-label {
font-size: 16px;
color: #e8f7f2b8;
line-height: 1.5;
display: block;
margin-top: 6px
}

.learning-program .program-structure-block .sidebar-links {
display: flex;
flex-direction: column;
gap: 12px
}

.learning-program .program-structure-block .sidebar-links a {
font-size: 16px;
color: #85E8C5;
text-decoration: underline dashed;
text-underline-offset: 4px;
text-decoration-thickness: 1.5px;
transition: color .26s ease-in-out;
line-height: 1.5
}

.learning-program .program-structure-block .sidebar-links a:hover {
color: #F2F212
}

.learning-program .program-structure-block .sidebar-links a:focus-visible {
outline: 3px solid #F2F212 !important;
outline-offset: 2px !important;
border-radius: 0
}

.learning-program .program-structure-block .modules-list {
display: flex;
flex-direction: column;
gap: 24px
}

.learning-program .program-structure-block .module-item {
background: #0c485f38;
border: 1px solid #85e8c51f;
border-radius: 10px;
padding: 24px 40px;
transition: border-color .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 2px 1px 3px -1px #0c485f0f
}

.learning-program .program-structure-block .module-item:hover {
border-color: #85e8c573;
box-shadow: 2px 6px 18px -1px #0c485f1a
}

.learning-program .program-structure-block .module-item .module-number {
font-size: 16px;
font-weight: 700;
color: #F2F212;
letter-spacing: .08em;
display: block;
margin-bottom: 6px
}

.learning-program .program-structure-block .module-item h4 {
font-size: 19px;
font-weight: 900;
color: #e8f7f2;
letter-spacing: -.01em;
line-height: 1.2;
margin: 0 0 12px
}

.learning-program .program-structure-block .module-item p {
font-size: 16px;
line-height: 1.7;
color: #e8f7f2c2;
margin: 0
}

.learning-program .program-faq-block {
padding: 80px 24px;
background: linear-gradient(0deg, #85e8c50f 0%, transparent 100%);
animation: brightness-pulse 6s ease-in-out infinite
}

@keyframes brightness-pulse {

0%,
100% {
filter: brightness(1)
}

50% {
filter: brightness(1.04)
}
}

.learning-program .program-faq-block .faq-inner {
max-width: 1200px;
margin: 0 auto
}

.learning-program .program-faq-block .faq-header {
text-align: center;
margin-bottom: 40px
}

.learning-program .program-faq-block .faq-header h3 {
font-size: 32px;
font-weight: 900;
line-height: 1.2;
letter-spacing: -.02em;
color: #e8f7f2;
margin: 0 0 12px
}

.learning-program .program-faq-block .faq-header p {
font-size: 16px;
line-height: 1.7;
color: #e8f7f2b8;
margin: 0;
max-width: 540px;
margin-left: auto;
margin-right: auto
}

.learning-program .program-faq-block .faq-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.learning-program .program-faq-block .faq-item {
border-top: 1px solid #85e8c538;
padding-top: 24px
}

.learning-program .program-faq-block .faq-item h5 {
font-size: 19px;
font-weight: 800;
color: #85E8C5;
letter-spacing: -.01em;
line-height: 1.2;
margin: 0 0 12px
}

.learning-program .program-faq-block .faq-item p {
font-size: 16px;
line-height: 1.7;
color: #e8f7f2c7;
margin: 0
}

.learning-program .program-faq-block .faq-highlight-row {
margin-top: 40px;
background: #f2f21212;
border: 1px solid #f2f21233;
border-radius: 10px;
padding: 24px 40px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 24px;
flex-wrap: wrap
}

.learning-program .program-faq-block .faq-highlight-row p {
font-size: 19px;
font-weight: 700;
color: #F2F212;
margin: 0;
line-height: 1.5;
flex: 1;
min-width: 200px
}

.learning-program .hover-text-expand {
display: inline;
position: relative;
cursor: default;
padding: 0 2px
}

.learning-program .hover-text-expand::after {
content: '';
position: absolute;
left: 0;
bottom: 0;
height: 100%;
width: 0;
background: #85e8c52e;
z-index: -1;
transition: width .35s cubic-bezier(0.4, 0, 0.2, 1);
border-radius: 0
}

.learning-program .hover-text-expand:hover::after {
width: 100%
}

@media (max-width: 1024px) {
.learning-program .program-title-block {
grid-template-columns: 1fr;
gap: 40px;
padding: 80px 24px
}

.learning-program .program-title-block .blob-layer {
order: -1
}

.learning-program .program-title-block .program-image-frame img {
height: 340px
}

.learning-program .program-title-block h1 {
font-size: 60px
}

.learning-program .program-structure-block .structure-grid {
grid-template-columns: 1fr;
gap: 40px
}

.learning-program .program-structure-block .sidebar-panel {
position: static;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.learning-program .program-faq-block .faq-grid {
grid-template-columns: 1fr
}
}

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

.learning-program .program-title-block h1 {
font-size: 32px
}

.learning-program .program-structure-block {
padding: 40px 24px
}

.learning-program .program-structure-block .sidebar-panel {
grid-template-columns: 1fr
}

.learning-program .program-structure-block .module-item {
padding: 24px
}

.learning-program .program-faq-block {
padding: 40px 24px
}

.learning-program .program-faq-block .faq-highlight-row {
padding: 24px;
flex-direction: column;
align-items: flex-start
}
}

@media (max-width: 480px) {
.learning-program .program-title-block h1 {
font-size: 32px
}

.learning-program .program-title-block .program-lead {
font-size: 16px
}

.learning-program .program-structure-block h2 {
font-size: 24px
}

.learning-program .program-faq-block .faq-header h3 {
font-size: 24px
}

.learning-program .program-faq-block .faq-item h5 {
font-size: 16px
}

.learning-program .btn-primary {
font-size: 16px;
padding: 12px 24px
}
}

.sponsorship {
background: linear-gradient(170deg, #0e3d52 0%, #071e29 60%, #040f15 100%);
min-height: 100vh;
overflow-x: clip;
position: relative
}

.sponsorship .page-schema {
display: none
}

.sponsorship .title-block {
position: relative;
padding: 80px 24px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center
}

.sponsorship .title-block::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse 70% 60% at 50% 40%, #85e8c521 0%, #0c485f12 55%, transparent 100%);
pointer-events: none
}

.sponsorship .title-curved-lines {
position: absolute;
inset: 0;
overflow: hidden;
pointer-events: none
}

.sponsorship .title-curved-lines svg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: .13
}

.sponsorship .title-strokes {
position: absolute;
top: 40px;
right: 40px;
display: flex;
flex-direction: column;
gap: 6px;
pointer-events: none
}

.sponsorship .title-strokes span {
display: block;
height: 2px;
background: #85E8C5;
opacity: .5
}

.sponsorship .title-strokes span:nth-child(1) {
width: 32px
}

.sponsorship .title-strokes span:nth-child(2) {
width: 24px
}

.sponsorship .title-strokes span:nth-child(3) {
width: 40px
}

.sponsorship .title-strokes span:nth-child(4) {
width: 20px
}

.sponsorship .title-strokes span:nth-child(5) {
width: 36px
}

.sponsorship .title-label {
display: inline-flex;
align-items: center;
gap: 12px;
margin-bottom: 24px;
opacity: 0;
animation: fade-up .38s cubic-bezier(0.4, 0, 0.2, 1) .1s forwards
}

.sponsorship .title-label-diamond {
width: 8px;
height: 8px;
background: #F2F212;
transform: rotate(45deg);
flex-shrink: 0
}

.sponsorship .title-label-text {
font-size: 16px;
line-height: 1.5;
letter-spacing: .12em;
color: #85E8C5;
text-transform: uppercase;
font-weight: 600
}

.sponsorship .title-heading {
font-size: 60px;
line-height: 1.2;
letter-spacing: -.02em;
color: #fff;
font-weight: 900;
max-width: 780px;
margin-bottom: 24px;
opacity: 0;
animation: fade-up .38s cubic-bezier(0.4, 0, 0.2, 1) .22s forwards
}

.sponsorship .title-heading em {
color: #85E8C5;
font-style: normal
}

.sponsorship .title-quote {
font-size: 19px;
line-height: 1.7;
color: #ffffffb8;
max-width: 560px;
margin-bottom: 40px;
opacity: 0;
animation: fade-up .38s cubic-bezier(0.4, 0, 0.2, 1) .32s forwards
}

.sponsorship .title-image-frame {
position: relative;
width: 100%;
max-width: 760px;
border-radius: 10px;
overflow: hidden;
box-shadow: 2px 9px 44px -1px #0c485f1c;
opacity: 0;
animation: fade-up .38s cubic-bezier(0.4, 0, 0.2, 1) .42s forwards
}

.sponsorship .title-image-frame img {
width: 100%;
height: 380px;
object-fit: cover;
display: block;
filter: saturate(0.45) brightness(0.75)
}

.sponsorship .title-image-frame::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 40%, #040f15b3 100%);
pointer-events: none
}

.sponsorship .divider-chevron {
display: flex;
justify-content: center;
margin: 0;
line-height: 0
}

.sponsorship .divider-chevron svg {
display: block;
width: 100%;
max-width: 1200px
}

.sponsorship .formats-block {
padding: 80px 24px;
max-width: 1200px;
margin: 0 auto;
opacity: 0;
animation: fade-up .35s cubic-bezier(0.4, 0, 0.2, 1) .1s forwards
}

.sponsorship .formats-block-heading {
font-size: 32px;
line-height: 1.2;
letter-spacing: -.015em;
color: #fff;
font-weight: 900;
text-align: center;
margin-bottom: 12px
}

.sponsorship .formats-block-sub {
font-size: 19px;
line-height: 1.7;
color: #ffffffa6;
text-align: center;
max-width: 520px;
margin: 0 auto 40px
}

.sponsorship .formats-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px
}

.sponsorship .format-card {
border-radius: 10px;
padding: 40px 24px;
display: flex;
flex-direction: column;
gap: 12px;
position: relative;
overflow: hidden;
transition: box-shadow .28s ease-in-out, transform .28s ease-in-out;
cursor: default
}

.sponsorship .format-card:nth-child(1) {
background: linear-gradient(145deg, #0e3d52 0%, #071e29 100%);
border: 1px solid #85e8c52e;
box-shadow: 2px 6px 18px -1px #0c485f1a
}

.sponsorship .format-card:nth-child(2) {
background: linear-gradient(145deg, #1a5c3a 0%, #0a2e1c 100%);
border: 1px solid #85e8c547;
box-shadow: 2px 6px 18px -1px #0c485f1a
}

.sponsorship .format-card:nth-child(3) {
background: linear-gradient(145deg, #2a2a08 0%, #111108 100%);
border: 1px solid #f2f21238;
box-shadow: 2px 6px 18px -1px #0c485f1a
}

.sponsorship .format-card:hover {
transform: translateY(-4px);
box-shadow: 2px 9px 44px -1px #0c485f1c
}

.sponsorship .format-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
border-radius: 10px 10px 0 0
}

.sponsorship .format-card:nth-child(1)::before {
background: linear-gradient(90deg, transparent, #85e8c580, transparent)
}

.sponsorship .format-card:nth-child(2)::before {
background: linear-gradient(90deg, transparent, #85E8C5, transparent)
}

.sponsorship .format-card:nth-child(3)::before {
background: linear-gradient(90deg, transparent, #F2F212, transparent)
}

.sponsorship .format-icon {
width: 48px;
height: 48px;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.sponsorship .format-card:nth-child(1) .format-icon {
background: #85e8c51f
}

.sponsorship .format-card:nth-child(2) .format-icon {
background: #85e8c52e
}

.sponsorship .format-card:nth-child(3) .format-icon {
background: #f2f2121f
}

.sponsorship .format-name {
font-size: 24px;
line-height: 1.2;
letter-spacing: -.01em;
font-weight: 900;
color: #fff
}

.sponsorship .format-card:nth-child(3) .format-name {
color: #F2F212
}

.sponsorship .format-desc {
font-size: 16px;
line-height: 1.7;
color: #ffffffb8
}

.sponsorship .format-details {
list-style: none;
padding: 0;
margin: 6px 0 0;
display: flex;
flex-direction: column;
gap: 6px
}

.sponsorship .format-details li {
font-size: 16px;
line-height: 1.5;
color: #fff9;
display: flex;
align-items: flex-start;
gap: 12px
}

.sponsorship .format-details li::before {
content: '';
width: 5px;
height: 5px;
background: #85E8C5;
transform: rotate(45deg);
flex-shrink: 0;
margin-top: 7px
}

.sponsorship .format-card:nth-child(3) .format-details li::before {
background: #F2F212
}

.sponsorship .divider-chevron-alt {
display: flex;
justify-content: center;
margin: 0;
line-height: 0
}

.sponsorship .divider-chevron-alt svg {
display: block;
width: 100%;
max-width: 1200px
}

.sponsorship .process-block {
padding: 80px 24px;
position: relative;
background: linear-gradient(160deg, #85e8c50f 0%, transparent 50%, #f2f2120a 100%)
}

.sponsorship .process-block-inner {
max-width: 1200px;
margin: 0 auto
}

.sponsorship .process-block-leaf {
position: absolute;
inset: 0;
overflow: hidden;
pointer-events: none
}

.sponsorship .process-block-leaf svg {
position: absolute;
bottom: -40px;
right: -60px;
width: 420px;
opacity: .04
}

.sponsorship .process-top {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: start;
margin-bottom: 80px
}

.sponsorship .process-text-col {
display: flex;
flex-direction: column;
gap: 24px
}

.sponsorship .process-eyebrow {
display: flex;
align-items: center;
gap: 12px
}

.sponsorship .process-diamond {
width: 8px;
height: 8px;
background: #F2F212;
transform: rotate(45deg);
flex-shrink: 0
}

.sponsorship .process-eyebrow-text {
font-size: 16px;
line-height: 1.5;
letter-spacing: .1em;
color: #85E8C5;
text-transform: uppercase;
font-weight: 600
}

.sponsorship .process-heading {
font-size: 32px;
line-height: 1.2;
letter-spacing: -.015em;
font-weight: 900;
color: #fff
}

.sponsorship .process-body {
font-size: 16px;
line-height: 1.7;
color: #ffffffad
}

.sponsorship .process-contact-link {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 12px 24px;
background: #85E8C5;
color: #071e29;
font-size: 16px;
font-weight: 700;
border-radius: 10px;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .28s ease-in-out, box-shadow .28s ease-in-out;
align-self: flex-start;
box-shadow: 2px 6px 18px -1px #85e8c51a
}

.sponsorship .process-contact-link::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #F2F212;
transition: left .32s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 0
}

.sponsorship .process-contact-link:hover::before {
left: 0
}

.sponsorship .process-contact-link:hover {
box-shadow: 2px 9px 44px -1px #85e8c51c
}

.sponsorship .process-contact-link span {
position: relative;
z-index: 1
}

.sponsorship .process-steps-col {
display: flex;
flex-direction: column;
gap: 6px
}

.sponsorship .process-step {
display: flex;
align-items: flex-start;
gap: 24px;
padding: 24px;
border-radius: 10px;
background: #0c485f40;
border: 1px solid #85e8c51a;
transition: background .28s ease-in-out, border-color .28s ease-in-out;
cursor: default
}

.sponsorship .process-step:hover {
background: #0c485f66;
border-color: #85e8c540
}

.sponsorship .step-number {
font-size: 32px;
line-height: 1.2;
font-weight: 900;
color: #85e8c54d;
flex-shrink: 0;
width: 40px;
text-align: right
}

.sponsorship .step-body {
display: flex;
flex-direction: column;
gap: 6px
}

.sponsorship .step-name {
font-size: 19px;
line-height: 1.2;
font-weight: 700;
color: #fff
}

.sponsorship .step-detail {
font-size: 16px;
line-height: 1.7;
color: #ffffff9e
}

.sponsorship .result-preview {
border-radius: 10px;
background: linear-gradient(135deg, #0c485f80 0%, #071e29cc 100%);
border: 1px solid #85e8c533;
padding: 40px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px;
box-shadow: 2px 9px 44px -1px #0c485f1c;
position: relative;
overflow: hidden
}

.sponsorship .result-preview::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, #85E8C5, #F2F212, #85E8C5)
}

.sponsorship .result-preview-label {
grid-column: 1 / -1;
font-size: 16px;
line-height: 1.5;
letter-spacing: .1em;
text-transform: uppercase;
color: #85E8C5;
font-weight: 600;
margin-bottom: 12px
}

.sponsorship .result-metric {
display: flex;
flex-direction: column;
gap: 6px;
padding: 24px;
border-radius: 10px;
background: #ffffff0a;
border: 1px solid #85e8c514
}

.sponsorship .result-metric-value {
font-size: 32px;
line-height: 1.2;
font-weight: 900;
color: #F2F212;
letter-spacing: -.02em
}

.sponsorship .result-metric-label {
font-size: 16px;
line-height: 1.5;
color: #fff9
}

@keyframes fade-up {
from {
opacity: 0;
transform: translateY(20px)
}

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

@keyframes border-pulse {
0% {
box-shadow: 0 0 0 0 #85e8c566
}

100% {
box-shadow: 0 0 0 6px #85e8c500
}
}

.sponsorship .format-card:hover {
animation: border-pulse .4s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

@media (max-width: 1024px) {
.sponsorship .formats-grid {
grid-template-columns: 1fr 1fr
}

.sponsorship .format-card:nth-child(3) {
grid-column: 1 / -1
}

.sponsorship .process-top {
grid-template-columns: 1fr;
gap: 40px
}

.sponsorship .result-preview {
grid-template-columns: 1fr 1fr
}

.sponsorship .result-preview-label {
grid-column: 1 / -1
}

.sponsorship .title-heading {
font-size: 60px
}
}

@media (max-width: 768px) {
.sponsorship .title-heading {
font-size: 32px
}

.sponsorship .formats-grid {
grid-template-columns: 1fr
}

.sponsorship .format-card:nth-child(3) {
grid-column: auto
}

.sponsorship .result-preview {
grid-template-columns: 1fr;
padding: 24px
}

.sponsorship .title-block {
padding: 40px 24px
}

.sponsorship .formats-block {
padding: 40px 24px
}

.sponsorship .process-block {
padding: 40px 24px
}

.sponsorship .process-top {
gap: 24px;
margin-bottom: 40px
}

.sponsorship .title-strokes {
top: 24px;
right: 24px
}
}

@media (max-width: 480px) {
.sponsorship .title-heading {
font-size: 32px
}

.sponsorship .title-quote {
font-size: 16px
}

.sponsorship .title-image-frame img {
height: 220px
}

.sponsorship .process-step {
flex-direction: column;
gap: 6px
}

.sponsorship .step-number {
width: auto;
text-align: left
}
}

.about-us-page {
background: linear-gradient(170deg, #0e3d52 0%, #071e2a 60%, #040f16 100%);
position: relative;
overflow-x: clip
}

.about-us-page .scanlines {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 0;
background: repeating-linear-gradient(to bottom, transparent 0px, transparent 3px, #0c485f0a 3px, #0c485f0a 4px);
animation: scanline-drift 18s linear infinite
}

@keyframes scanline-drift {
0% {
background-position: 0 0
}

100% {
background-position: 0 120px
}
}

.about-us-page ::selection {
background: #85E8C5;
color: #040f16
}

.about-us-page .editorial-column {
max-width: 1200px;
margin: 0 auto;
padding: 0 40px;
position: relative;
z-index: 1
}

.about-us-page .editorial-column.narrow {
max-width: 780px
}

.about-us-page .title-strip {
padding: 80px 0 40px;
position: relative;
z-index: 1
}

.about-us-page .title-strip .frame-lines {
position: absolute;
top: 60px;
left: 40px;
right: 40px;
bottom: 0;
border-top: 1px solid #85e8c52e;
border-bottom: 1px solid #85e8c51a;
pointer-events: none
}

.about-us-page .title-strip .frame-lines::before {
content: '';
position: absolute;
top: 6px;
left: 0;
right: 0;
height: 1px;
background: #f2f21214
}

.about-us-page .strip-inner {
display: flex;
flex-direction: row;
align-items: center;
gap: 40px;
max-width: 1200px;
margin: 0 auto;
padding: 40px
}

.about-us-page .strip-text {
flex: 1 1 0;
min-width: 0
}

.about-us-page .strip-label {
display: inline-block;
font-size: 16px;
letter-spacing: .12em;
color: #85E8C5;
margin-bottom: 12px;
text-transform: uppercase;
font-weight: 600
}

.about-us-page .strip-heading {
font-size: 60px;
line-height: 1.2;
letter-spacing: -.02em;
color: #fff;
font-weight: 900;
margin: 0 0 24px
}

.about-us-page .strip-heading span {
color: #85E8C5
}

.about-us-page .strip-description {
font-size: 19px;
line-height: 1.7;
color: #ffffffb8;
margin: 0 0 24px;
max-width: 480px
}

.about-us-page .strip-action {
display: inline-block;
font-size: 16px;
color: #F2F212;
text-decoration: underline dashed #F2F212;
text-underline-offset: 4px;
letter-spacing: .04em;
transition: color .28s ease-in-out, text-decoration-color .28s ease-in-out
}

.about-us-page .strip-action:hover {
color: #85E8C5;
text-decoration-color: #85E8C5
}

.about-us-page .strip-image-wrap {
flex: 0 0 340px;
width: 340px;
height: 260px;
border-radius: 10px;
overflow: hidden;
position: relative;
box-shadow: 2px 9px 44px -1px #0c485f1c
}

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

.about-us-page .strip-image-wrap .diagonal-overlay {
position: absolute;
inset: 0;
background: linear-gradient(118deg, #0c485fb8 0%, #0c485f2e 55%, transparent 100%);
pointer-events: none
}

.about-us-page .curve-connector {
display: block;
width: 60px;
height: 32px;
margin: 0 auto 12px;
overflow: visible
}

.about-us-page .divider-diagonal {
width: 100%;
height: 48px;
position: relative;
z-index: 1;
overflow: hidden
}

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

.about-us-page .story-band {
padding: 80px 0 40px;
position: relative;
z-index: 1;
background: linear-gradient(180deg, #85e8c50a 0%, transparent 100%)
}

.about-us-page .story-band .two-column {
display: grid;
grid-template-columns: 1fr 360px;
gap: 40px;
align-items: start;
max-width: 1200px;
margin: 0 auto;
padding: 0 40px
}

.about-us-page .story-band .story-lead {
font-size: 32px;
line-height: 1.2;
font-weight: 900;
color: #fff;
letter-spacing: -.01em;
margin: 0 0 24px;
text-align: center
}

.about-us-page .story-band .story-lead span {
color: #F2F212
}

.about-us-page .story-body {
font-size: 19px;
line-height: 1.7;
color: #ffffffb8;
margin: 0 0 24px
}

.about-us-page .story-body:last-child {
margin-bottom: 0
}

.about-us-page .timeline-column {
position: relative
}

.about-us-page .timeline-period {
margin-bottom: 40px
}

.about-us-page .timeline-period:last-child {
margin-bottom: 0
}

.about-us-page .period-label {
font-size: 16px;
font-weight: 700;
letter-spacing: .1em;
color: #85E8C5;
text-transform: uppercase;
margin-bottom: 12px;
display: flex;
flex-direction: row;
align-items: center;
gap: 12px
}

.about-us-page .period-label::after {
content: '';
flex: 1;
height: 1px;
background: #85e8c538
}

.about-us-page .timeline-event {
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start;
margin-bottom: 12px;
padding: 12px;
border-radius: 10px;
background: #0c485f38;
box-shadow: 2px 1px 3px -1px #0c485f0f;
transition: background .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.about-us-page .timeline-event:hover {
background: #0c485f70
}

.about-us-page .timeline-event:last-child {
margin-bottom: 0
}

.about-us-page .event-dot {
flex: 0 0 10px;
width: 10px;
height: 10px;
border-radius: 32px;
background: #F2F212;
margin-top: 6px;
box-shadow: 2px 1px 3px -1px #0c485f0f
}

.about-us-page .event-text {
font-size: 16px;
line-height: 1.5;
color: #fffc
}

.about-us-page .event-text strong {
color: #fff;
font-weight: 700
}

.about-us-page .divider-diagonal-alt {
width: 100%;
height: 48px;
position: relative;
z-index: 1;
overflow: hidden
}

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

.about-us-page .people-band {
position: relative;
z-index: 1;
padding: 80px 0
}

.about-us-page .people-band .bg-image-wrap {
position: absolute;
inset: 0;
overflow: hidden;
border-radius: 0
}

.about-us-page .people-band .bg-image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
opacity: .22;
filter: saturate(0.4)
}

.about-us-page .people-band .bg-color-overlay {
position: absolute;
inset: 0;
background: linear-gradient(160deg, #0c485fe0 0%, #040f16eb 100%);
pointer-events: none
}

.about-us-page .people-band .band-inner {
position: relative;
z-index: 1;
max-width: 1200px;
margin: 0 auto;
padding: 0 40px
}

.about-us-page .people-band .band-heading {
font-size: 32px;
line-height: 1.2;
font-weight: 900;
letter-spacing: -.01em;
color: #fff;
text-align: center;
margin: 0 0 40px
}

.about-us-page .people-band .band-heading em {
font-style: normal;
color: #85E8C5
}

.about-us-page .people-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px
}

.about-us-page .person-card {
background: #0c485f52;
border: 1px solid #85e8c524;
border-radius: 10px;
padding: 24px;
box-shadow: 2px 6px 18px -1px #0c485f1a;
transition: border-color .38s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .38s cubic-bezier(0.4, 0, 0.2, 1);
position: relative
}

@keyframes border-pulse {
0% {
border-color: #85e8c524
}

40% {
border-color: #85e8c5b3
}

100% {
border-color: #85e8c547
}
}

.about-us-page .person-card:hover {
animation: border-pulse .55s ease-in-out forwards;
box-shadow: 2px 9px 44px -1px #0c485f1c
}

.about-us-page .person-role {
font-size: 16px;
font-weight: 700;
letter-spacing: .08em;
color: #F2F212;
text-transform: uppercase;
margin-bottom: 6px
}

.about-us-page .person-name {
font-size: 24px;
line-height: 1.2;
font-weight: 900;
color: #fff;
margin: 0 0 12px
}

.about-us-page .person-bio {
font-size: 16px;
line-height: 1.7;
color: #ffffffb3;
margin: 0
}

.about-us-page .featured-sidebar-row {
display: grid;
grid-template-columns: 1fr 320px;
gap: 40px;
align-items: start;
margin-top: 40px
}

.about-us-page .featured-main-text {
font-size: 19px;
line-height: 1.7;
color: #ffffffb8;
margin: 0 0 24px
}

.about-us-page .featured-main-text:last-child {
margin-bottom: 0
}

.about-us-page .sidebar-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px
}

.about-us-page .sidebar-metric {
background: #f2f21212;
border-radius: 10px;
padding: 24px 12px;
text-align: center;
border: 1px solid #f2f2121f;
transition: background .28s ease-in-out
}

.about-us-page .sidebar-metric:hover {
background: #f2f2121f
}

.about-us-page .metric-value {
font-size: 32px;
font-weight: 900;
line-height: 1.2;
color: #F2F212;
letter-spacing: -.01em;
display: block
}

.about-us-page .metric-label {
font-size: 16px;
line-height: 1.5;
color: #ffffff9e;
display: block;
margin-top: 6px
}

.about-us-page .sidebar-image-wrap {
grid-column: 1 / -1;
border-radius: 10px;
overflow: hidden;
height: 160px;
box-shadow: 2px 6px 18px -1px #0c485f1a
}

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

@media (max-width: 1024px) {
.about-us-page .strip-inner {
gap: 24px;
padding: 40px 24px
}

.about-us-page .strip-image-wrap {
flex: 0 0 260px;
width: 260px;
height: 200px
}

.about-us-page .strip-heading {
font-size: 60px
}

.about-us-page .story-band .two-column {
grid-template-columns: 1fr 300px;
padding: 0 24px;
gap: 24px
}

.about-us-page .people-band .band-inner {
padding: 0 24px
}

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

.about-us-page .featured-sidebar-row {
grid-template-columns: 1fr 260px;
gap: 24px
}
}

@media (max-width: 768px) {
.about-us-page .strip-inner {
flex-direction: column;
padding: 24px
}

.about-us-page .strip-image-wrap {
flex: 0 0 auto;
width: 100%;
height: 200px
}

.about-us-page .strip-heading {
font-size: 32px
}

.about-us-page .title-strip .frame-lines {
left: 24px;
right: 24px
}

.about-us-page .story-band .two-column {
grid-template-columns: 1fr;
padding: 0 24px
}

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

.about-us-page .featured-sidebar-row {
grid-template-columns: 1fr
}

.about-us-page .people-band .band-inner {
padding: 0 24px
}

.about-us-page .story-band {
padding: 40px 0
}

.about-us-page .people-band {
padding: 40px 0
}
}

@media (max-width: 480px) {
.about-us-page .strip-heading {
font-size: 32px
}

.about-us-page .strip-inner {
padding: 24px 12px
}

.about-us-page .title-strip .frame-lines {
left: 12px;
right: 12px
}

.about-us-page .story-band .two-column {
padding: 0 12px
}

.about-us-page .people-band .band-inner {
padding: 0 12px
}

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

.success-page {
min-height: 100vh;
background: linear-gradient(160deg, #0e3d52 0%, #071e2a 60%, #050f16 100%);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 80px 24px
}

.success-page .success-card {
max-width: 600px;
width: 100%;
background: linear-gradient(145deg, #0c485fb3 0%, #071622e6 100%);
border: 1px solid #85e8c52e;
border-radius: 32px;
padding: 80px 40px;
text-align: center;
box-shadow: 2px 9px 44px -1px #0c485f1c 2px 6px 18px -1px #0c485f1a;
position: relative;
overflow: hidden
}

.success-page .success-card::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, transparent 0%, #85E8C5 40%, #F2F212 70%, transparent 100%);
border-radius: 32px 32px 0 0
}

.success-page .success-card::after {
content: "";
position: absolute;
bottom: -60px;
right: -60px;
width: 180px;
height: 180px;
border-radius: 50%;
background: radial-gradient(circle at center, #85e8c512 0%, transparent 70%);
pointer-events: none
}

.success-page .success-icon-wrap {
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 40px;
width: 88px;
height: 88px
}

.success-page .success-checkmark {
width: 88px;
height: 88px;
flex-shrink: 0
}

.success-page .success-checkmark .circle-track {
fill: none;
stroke: #85e8c526;
stroke-width: 3
}

.success-page .success-checkmark .circle-fill {
fill: none;
stroke: #85E8C5;
stroke-width: 3;
stroke-linecap: round;
stroke-dasharray: 245;
stroke-dashoffset: 0;
animation: circle-draw .55s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

.success-page .success-checkmark .check-path {
fill: none;
stroke: #F2F212;
stroke-width: 3.5;
stroke-linecap: round;
stroke-linejoin: round;
stroke-dasharray: 50;
stroke-dashoffset: 50;
animation: check-draw .35s cubic-bezier(0.4, 0, 0.2, 1) .5s forwards
}

@keyframes circle-draw {
from {
stroke-dashoffset: 245
}

to {
stroke-dashoffset: 0
}
}

@keyframes check-draw {
from {
stroke-dashoffset: 50
}

to {
stroke-dashoffset: 0
}
}

.success-page .success-heading {
font-size: 32px;
line-height: 1.2;
letter-spacing: -.02em;
font-weight: 900;
color: #85E8C5;
margin: 0 0 24px
}

.success-page .success-subheading {
font-size: 19px;
line-height: 1.5;
color: #85e8c58c;
font-weight: 400;
margin: 0 0 24px;
letter-spacing: .01em
}

.success-page .success-message {
font-size: 16px;
line-height: 1.7;
color: #ffffffb8;
margin: 0 0 40px;
letter-spacing: .01em
}

.success-page .success-divider {
width: 48px;
height: 2px;
background: linear-gradient(90deg, #F2F212, #f2f21233);
border-radius: 0;
margin: 0 auto 40px
}

.success-page .success-action-group {
display: flex;
flex-direction: row;
gap: 12px;
justify-content: center;
flex-wrap: wrap
}

.success-page .success-primary-button {
position: relative;
display: inline-block;
padding: 12px 40px;
font-size: 16px;
font-weight: 700;
line-height: 1.5;
color: #071e2a;
background: #85E8C5;
border: none;
border-radius: 10px;
cursor: pointer;
letter-spacing: .02em;
text-decoration: none;
overflow: hidden;
transition: color .28s ease-in-out, box-shadow .28s ease-in-out;
box-shadow: 2px 6px 18px -1px #85e8c51a
}

.success-page .success-primary-button::before {
content: "";
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #F2F212;
transition: left .32s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 0
}

.success-page .success-primary-button:hover::before {
left: 0
}

.success-page .success-primary-button:hover {
color: #071e2a;
box-shadow: 2px 9px 44px -1px #85e8c51c
}

.success-page .success-primary-button:focus-visible {
outline: 2px solid #F2F212;
outline-offset: 3px
}

.success-page .success-primary-button-label {
position: relative;
z-index: 1
}

.success-page .success-secondary-button {
position: relative;
display: inline-block;
padding: 12px 24px;
font-size: 16px;
font-weight: 500;
line-height: 1.5;
color: #85e8c5cc;
background: transparent;
border: 1px solid #85e8c54d;
border-radius: 10px;
cursor: pointer;
letter-spacing: .02em;
text-decoration: none;
overflow: hidden;
transition: color .25s ease-in-out, border-color .25s ease-in-out, box-shadow .25s ease-in-out
}

.success-page .success-secondary-button::before {
content: "";
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #85e8c514;
transition: left .28s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 0
}

.success-page .success-secondary-button:hover::before {
left: 0
}

.success-page .success-secondary-button:hover {
border-color: #85e8c5a6;
color: #85E8C5;
box-shadow: 2px 1px 3px -1px #0c485f0f
}

.success-page .success-secondary-button:focus-visible {
outline: 2px solid #85E8C5;
outline-offset: 3px
}

.success-page .success-secondary-button-label {
position: relative;
z-index: 1
}

.success-page .success-footnote {
margin-top: 40px;
font-size: 16px;
line-height: 1.5;
color: #ffffff59;
letter-spacing: .01em
}

.success-page .success-footnote-link {
color: #85e8c599;
text-decoration: underline;
text-decoration-style: dashed;
text-underline-offset: 3px;
transition: color .25s ease-in-out
}

.success-page .success-footnote-link:hover {
color: #85E8C5
}

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

.success-page .success-card {
padding: 40px 24px;
border-radius: 10px
}

.success-page .success-heading {
font-size: 24px
}

.success-page .success-action-group {
flex-direction: column;
align-items: center
}

.success-page .success-primary-button,
.success-page .success-secondary-button {
width: 100%;
text-align: center
}
}