html,
body {
margin: 0;
padding: 0
}

body {
min-height: 100dvh;
overflow-x: hidden;
font-family: 'IBM Plex Sans', sans-serif;
background: #fff;
color: #1a1a1a
}

.utility-bar {
background: linear-gradient(135deg, #063630 0%, #063630eb 100%);
padding: 16px 40px;
display: flex;
justify-content: center;
align-items: center;
gap: 80px;
flex-wrap: wrap;
box-shadow: 1px 3px 4px 0 #06363014
}

.brand-lockup {
display: flex;
align-items: center;
gap: 16px
}

.logo-hold {
width: 72px;
height: 72px;
background: #ffffff26;
border: 2px solid #ffffff4d;
border-radius: 14px;
padding: 8px;
box-shadow: 1px 7px 18px 0 #0636301c;
transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.logo-hold:hover {
transform: translateY(-2px);
box-shadow: 1px 12px 60px 0 #0636301a
}

.logo-hold img {
width: 100%;
height: 100%;
object-fit: contain;
display: block
}

.brand-text {
font-family: 'JetBrains Mono', monospace;
font-size: 18px;
font-weight: 700;
color: #fff;
letter-spacing: .5px
}

.reach-group {
display: flex;
gap: 40px;
align-items: center;
flex-wrap: wrap
}

.reach-item {
display: flex;
align-items: center;
gap: 8px;
text-decoration: none;
color: #ffffffe6;
font-size: 16px;
transition: color .5s ease;
position: relative
}

.reach-item:hover {
color: #F4008F
}

.reach-item:focus {
outline: 2px dashed #F4008F;
outline-offset: 4px;
animation: rotateDash 8s linear infinite
}

@keyframes rotateDash {
to {
outline-offset: 8px
}
}

.reach-icon {
width: 20px;
height: 20px;
fill: currentColor;
transition: fill .5s ease
}

.nav-bar {
background: #fff;
padding: 16px 40px;
display: flex;
justify-content: center;
border-bottom: 1px solid #E0DFDF;
box-shadow: 1px 3px 4px 0 #06363014
}

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

.nav-list li {
margin: 0
}

.nav-link {
display: block;
padding: 16px 40px;
text-decoration: none;
color: #063630;
font-size: 16px;
font-weight: 700;
border: 3px solid #E0DFDF;
border-radius: 8px;
position: relative;
overflow: hidden;
transition: color .7s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
background: #fff
}

.nav-link::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: linear-gradient(to top, #f4008f1a, transparent);
transition: height .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: -1
}

.nav-link:hover {
color: #F4008F;
border-color: #F4008F
}

.nav-link:hover::before {
height: 100%
}

.nav-link:focus {
outline: 2px dashed #063630;
outline-offset: 4px;
animation: rotateDash 8s linear infinite
}

.uk-container {
max-width: 1320px
}

.ground {
background: linear-gradient(180deg, #063630 0%, #063630d9 100%);
padding: 80px 40px;
color: #fff
}

.ground-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
max-width: 1320px;
margin: 0 auto
}

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

.ground-heading {
font-family: 'JetBrains Mono', monospace;
font-size: 62px;
line-height: 1.2;
font-weight: 700;
color: #fff;
margin: 0
}

.ground-text {
font-size: 18px;
line-height: 1.7;
color: #ffffffe6;
margin: 0
}

.ground-right {
display: flex;
flex-direction: column;
gap: 40px
}

.link-cluster {
display: flex;
flex-direction: column;
gap: 16px
}

.cluster-label {
font-family: 'JetBrains Mono', monospace;
font-size: 16px;
font-weight: 700;
color: #ffffffb3;
text-transform: uppercase;
letter-spacing: 1px
}

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

.link-stack li {
margin: 0
}

.ground-link {
display: inline-block;
padding: 16px 0;
text-decoration: none;
color: #fff;
font-size: 16px;
border-bottom: 2px solid transparent;
transition: border-color .5s ease, color .5s ease
}

.ground-link:hover {
border-color: #F4008F;
color: #F4008F
}

.ground-link:focus {
outline: 2px dashed #E0DFDF;
outline-offset: 4px;
animation: rotateDash 8s linear infinite
}

.legal-strip {
background: #063630;
padding: 40px;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 40px;
border-top: 1px solid #ffffff1a
}

.legal-text {
font-size: 16px;
color: #ffffffb3;
margin: 0
}

.bottom-logo-hold {
width: 68px;
height: 68px;
background: #ffffff1a;
border: 2px solid #fff3;
border-radius: 14px;
padding: 8px;
box-shadow: 1px 3px 4px 0 #f4008f14;
transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.bottom-logo-hold:hover {
transform: scale(1.05)
}

.bottom-logo-hold img {
width: 100%;
height: 100%;
object-fit: contain;
display: block
}

.consent-banner {
position: fixed;
bottom: 40px;
left: 0;
right: 0;
margin: 0 auto;
width: 90%;
max-width: 800px;
background: #fff;
border: 3px solid #063630;
border-radius: 14px;
padding: 40px;
box-shadow: 1px 12px 60px 0 #0636301a;
z-index: 4000;
display: none;
opacity: 0;
transform: translateY(20px);
transition: opacity .7s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.consent-banner.visible {
opacity: 1;
transform: translateY(0)
}

.consent-text {
font-size: 16px;
line-height: 1.7;
color: #063630;
margin: 0 0 16px
}

.consent-detail {
font-size: 16px;
line-height: 1.5;
color: #063630cc;
margin: 0 0 40px
}

.consent-controls {
display: flex;
gap: 16px;
flex-wrap: wrap;
align-items: center
}

.consent-btn {
padding: 16px 40px;
font-size: 16px;
font-weight: 700;
text-decoration: none;
border: 3px solid #063630;
border-radius: 8px;
cursor: pointer;
transition: background .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative;
overflow: hidden;
background: #fff;
color: #063630
}

.consent-btn::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: #063630;
transition: height .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: -1
}

.consent-btn:hover {
color: #fff;
border-color: #063630
}

.consent-btn:hover::before {
height: 100%
}

.consent-btn:focus {
outline: 2px dashed #F4008F;
outline-offset: 4px;
animation: rotateDash 8s linear infinite
}

.consent-decline {
padding: 16px 40px;
font-size: 16px;
font-weight: 700;
text-decoration: underline;
background: none;
border: none;
color: #063630;
cursor: pointer;
transition: color .5s ease
}

.consent-decline:hover {
color: #F4008F
}

.consent-decline:focus {
outline: 2px dashed #F4008F;
outline-offset: 4px;
animation: rotateDash 8s linear infinite
}

.category-toggle-view {
display: none;
margin-top: 40px
}

.category-toggle-view.active {
display: block
}

.category-group {
display: flex;
flex-direction: column;
gap: 16px;
margin-bottom: 40px
}

.category-option {
display: flex;
align-items: center;
gap: 16px;
padding: 16px;
background: #e0dfdf4d;
border-radius: 8px;
border: 2px solid transparent;
transition: border-color .5s ease, background .5s ease
}

.category-option:hover {
border-color: #F4008F;
background: #f4008f0d
}

.category-checkbox {
width: 24px;
height: 24px;
cursor: pointer;
accent-color: #063630;
transition: transform .5s ease
}

.category-checkbox:hover {
transform: scale(1.1)
}

.category-checkbox:focus {
outline: 2px dashed #F4008F;
outline-offset: 4px;
animation: rotateDash 8s linear infinite
}

.category-checkbox:disabled {
cursor: not-allowed;
opacity: .5
}

.category-label {
font-size: 16px;
font-weight: 700;
color: #063630;
flex: 1
}

.category-description {
font-size: 16px;
color: #063630b3;
margin: 0
}

.sale-opt-out {
margin-top: 40px;
padding: 16px;
background: #e0dfdf33;
border-radius: 8px;
border: 2px solid #E0DFDF
}

.sale-opt-out-label {
display: flex;
align-items: center;
gap: 16px;
cursor: pointer
}

.sale-opt-out-checkbox {
width: 24px;
height: 24px;
cursor: pointer;
accent-color: #063630;
transition: transform .5s ease
}

.sale-opt-out-checkbox:hover {
transform: scale(1.1)
}

.sale-opt-out-checkbox:focus {
outline: 2px dashed #F4008F;
outline-offset: 4px;
animation: rotateDash 8s linear infinite
}

.sale-opt-out-text {
font-size: 16px;
font-weight: 700;
color: #063630
}

.consent-manage-link {
margin-top: 16px;
font-size: 16px;
color: #063630;
text-decoration: underline;
cursor: pointer;
background: none;
border: none;
padding: 0;
transition: color .5s ease
}

.consent-manage-link:hover {
color: #F4008F
}

.consent-manage-link:focus {
outline: 2px dashed #F4008F;
outline-offset: 4px;
animation: rotateDash 8s linear infinite
}

@media (max-width: 1200px) {
.utility-bar {
gap: 40px
}

.ground-grid {
grid-template-columns: 1fr;
gap: 40px
}

.legal-strip {
flex-direction: column;
align-items: flex-start
}
}

@media (max-width: 992px) {
.utility-bar {
padding: 16px
}

.reach-group {
gap: 16px
}

.nav-bar {
padding: 16px
}

.nav-link {
padding: 16px
}

.ground {
padding: 40px 16px
}

.ground-heading {
font-size: 62px
}

.legal-strip {
padding: 16px
}

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

.consent-controls {
flex-direction: column;
align-items: stretch
}

.consent-btn,
.consent-decline {
width: 100%;
text-align: center
}
}

@media (max-width: 576px) {
.brand-lockup {
flex-direction: column;
gap: 8px
}

.logo-hold {
width: 68px;
height: 68px
}

.nav-list {
flex-direction: column;
gap: 8px;
width: 100%
}

.nav-link {
text-align: center
}

.ground-heading {
font-size: 62px
}

.reach-group {
flex-direction: column;
align-items: flex-start;
gap: 16px
}
}

::selection {
background: #06363026;
color: #063630
}

input::placeholder,
textarea::placeholder {
transition: opacity .5s ease
}

input:focus::placeholder,
textarea:focus::placeholder {
opacity: 0
}

img {
transition: filter .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

img:hover {
filter: grayscale(100%)
}

.terms-body-zll {
max-width: 1320px;
margin: 0 auto;
padding: 80px 16px;
background: #fff
}

.terms-body-zll h1 {
font-size: 72px;
line-height: 1.2;
color: #063630;
margin: 0 0 40px
}

.terms-body-zll h2 {
font-size: 62px;
line-height: 1.2;
color: #063630;
margin: 80px 0 40px
}

.terms-body-zll h3 {
font-size: 18px;
line-height: 1.5;
color: #063630;
margin: 40px 0 16px;
font-weight: 600
}

.terms-body-zll h4,
.terms-body-zll h5,
.terms-body-zll h6 {
font-size: 16px;
line-height: 1.5;
color: #063630;
margin: 40px 0 16px;
font-weight: 600
}

.terms-body-zll p {
font-size: 16px;
line-height: 1.7;
color: #063630;
margin: 0 0 16px
}

.terms-body-zll strong,
.terms-body-zll b {
font-weight: 600;
color: #063630
}

.terms-body-zll a {
color: #F4008F;
text-decoration: none;
transition: opacity .6s ease;
position: relative
}

.terms-body-zll a:hover {
opacity: .7
}

.terms-body-zll table {
width: 100%;
border-collapse: collapse;
margin: 40px 0;
background: #fff;
border-radius: 8px;
overflow: hidden;
box-shadow: 1px 3px 4px 0 #06363014
}

.terms-body-zll thead {
background: #E0DFDF
}

.terms-body-zll th {
font-size: 16px;
line-height: 1.5;
color: #063630;
font-weight: 600;
text-align: left;
padding: 16px;
border-bottom: 1px solid #E0DFDF
}

.terms-body-zll td {
font-size: 16px;
line-height: 1.7;
color: #063630;
padding: 16px;
border-bottom: 1px solid #E0DFDF
}

.terms-body-zll tbody tr:last-child td {
border-bottom: none
}

.terms-body-zll tbody tr {
transition: background-color .5s ease
}

.terms-body-zll tbody tr:hover {
background: #e0dfdf4d
}

@media (max-width: 992px) {
.terms-body-zll {
padding: 40px 16px
}

.terms-body-zll h1 {
font-size: 62px;
margin: 0 0 40px
}

.terms-body-zll h2 {
font-size: 18px;
margin: 40px 0 16px
}

.terms-body-zll table {
font-size: 16px
}

.terms-body-zll th,
.terms-body-zll td {
padding: 8px
}
}

@media (max-width: 576px) {
.terms-body-zll {
padding: 40px 8px
}

.terms-body-zll h1 {
font-size: 18px;
margin: 0 0 16px
}

.terms-body-zll h2 {
font-size: 16px;
margin: 40px 0 16px
}

.terms-body-zll table {
display: block;
overflow-x: auto
}
}

.prog-dtl {
background: #FAFCFB;
color: #1a1a1a;
min-height: 100vh
}

.prog-dtl ::selection {
background: #06363026;
color: #1a1a1a
}

.prog-dtl .crumb-path {
max-width: 1320px;
margin: 0 auto;
padding: 16px 16px 0;
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap
}

.prog-dtl .crumb-path a {
font-size: 16px;
color: #5a6a65;
text-decoration: none;
transition: color .6s ease
}

.prog-dtl .crumb-path a:hover {
color: #063630
}

.prog-dtl .crumb-path span {
color: #063630;
font-size: 16px
}

.prog-dtl .crumb-sep {
width: 6px;
height: 6px;
background: #E0DFDF;
border-radius: 50%;
flex-shrink: 0
}

.prog-dtl .title-zone {
max-width: 1320px;
margin: 0 auto;
padding: 80px 16px;
display: grid;
grid-template-columns: 60% 40%;
gap: 40px;
align-items: center;
position: relative;
overflow: visible
}

.prog-dtl .title-zone::before {
content: '';
position: absolute;
top: 40px;
left: 16px;
width: 8px;
height: 8px;
background: #F4008F;
border-radius: 1px;
animation: bounceTitle .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

@keyframes bounceTitle {
0% {
transform: translateY(-30px);
opacity: 0
}

50% {
transform: translateY(5px)
}

70% {
transform: translateY(-2px)
}

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

.prog-dtl .title-zone::after {
content: '';
position: absolute;
top: 40px;
left: 32px;
width: 8px;
height: 8px;
background: #063630;
border-radius: 1px;
animation: bounceTitle .7s cubic-bezier(0.25, 0.46, 0.45, 0.94) .1s backwards
}

.prog-dtl .txt-content {
padding-bottom: 40px
}

.prog-dtl .level-tag {
display: inline-block;
font-size: 16px;
color: #063630;
padding: 8px 16px;
background: linear-gradient(135deg, #06363014 0%, #f4008f0f 100%);
border-radius: 14px;
margin-bottom: 16px;
font-weight: 500
}

.prog-dtl .main-heading {
font-size: 62px;
line-height: 1.2;
color: #063630;
margin: 0 0 16px;
font-weight: 700
}

.prog-dtl .problem-txt {
font-size: 18px;
line-height: 1.5;
color: #4a5a55;
margin: 0 0 40px;
padding-bottom: 16px;
border-bottom: 2px solid #E0DFDF
}

.prog-dtl .meta-row {
display: flex;
gap: 40px;
flex-wrap: wrap;
margin-bottom: 40px
}

.prog-dtl .meta-item {
display: flex;
flex-direction: column;
gap: 8px
}

.prog-dtl .meta-label {
font-size: 16px;
color: #7a8a85;
text-transform: uppercase;
letter-spacing: .5px
}

.prog-dtl .meta-val {
font-size: 18px;
color: #063630;
font-weight: 600
}

.prog-dtl .img-holder {
position: relative;
width: 100%;
height: 100%;
min-height: 400px;
overflow: hidden;
clip-path: polygon(8% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 8%)
}

.prog-dtl .img-holder img {
width: 100%;
height: 100%;
object-fit: cover;
filter: saturate(0.6);
transition: filter .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.prog-dtl .img-holder:hover img {
filter: saturate(0.3)
}

.prog-dtl .price-bar {
background: linear-gradient(90deg, #0636300a 0%, #f4008f0a 50%, #0636300a 100%);
padding: 40px 16px;
position: relative
}

.prog-dtl .price-bar::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: repeating-linear-gradient(to right, #E0DFDF 0px, #E0DFDF 8px, transparent 8px, transparent 16px)
}

.prog-dtl .price-wrap {
max-width: 1320px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
gap: 40px;
flex-wrap: wrap
}

.prog-dtl .price-main {
display: flex;
align-items: baseline;
gap: 16px
}

.prog-dtl .price-num {
font-size: 72px;
line-height: 1.2;
color: #063630;
font-weight: 700
}

.prog-dtl .price-terms {
font-size: 18px;
line-height: 1.5;
color: #4a5a55;
max-width: 400px
}

.prog-dtl .price-note-txt {
font-size: 16px;
line-height: 1.5;
color: #7a8a85;
font-style: italic
}

.prog-dtl .cta-btn {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 16px 40px;
font-size: 18px;
color: #063630;
background: #FAFCFB;
border: 3px solid #063630;
border-radius: 8px;
text-decoration: none;
font-weight: 600;
position: relative;
overflow: hidden;
transition: color .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.prog-dtl .cta-btn::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 0;
background: #063630;
transition: height .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: 0
}

.prog-dtl .cta-btn:hover {
color: #FAFCFB
}

.prog-dtl .cta-btn:hover::before {
height: 100%
}

.prog-dtl .cta-btn span {
position: relative;
z-index: 1
}

.prog-dtl .cta-btn:active {
box-shadow: inset 1px 3px 4px 0 #06363033
}

.prog-dtl .program-sec {
max-width: 1320px;
margin: 0 auto;
padding: 80px 16px 120px;
position: relative
}

.prog-dtl .intro-p {
font-size: 18px;
line-height: 1.7;
color: #2a3a35;
margin: 0 0 40px;
padding: 40px;
background: linear-gradient(135deg, #e0dfdf4d 0%, #f4008f0d 100%);
border-radius: 22px;
border: 1px solid #E0DFDF;
box-shadow: 1px 7px 18px 0 #0636301c;
position: relative
}

.prog-dtl .intro-p::before {
content: '';
position: absolute;
top: -8px;
left: 40px;
width: 40px;
height: 2px;
background: #F4008F
}

.prog-dtl .sec-head {
font-size: 62px;
line-height: 1.2;
color: #063630;
margin: 0 0 40px;
font-weight: 700;
padding-bottom: 16px;
border-bottom: 3px solid #063630;
display: inline-block
}

.prog-dtl .program-content {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
margin-top: 40px
}

.prog-dtl .program-content h2 {
font-size: 18px;
line-height: 1.5;
color: #063630;
margin: 0 0 16px;
font-weight: 600;
padding-bottom: 8px;
border-bottom: 2px solid #E0DFDF
}

.prog-dtl .program-content p {
font-size: 16px;
line-height: 1.7;
color: #4a5a55;
margin: 0 0 16px
}

.prog-dtl .program-content mark {
background: linear-gradient(180deg, transparent 50%, #f4008f26 50%);
color: inherit;
padding: 0 4px
}

.prog-dtl .program-content ul,
.prog-dtl .program-content ol {
margin: 0 0 16px;
padding-left: 40px;
position: relative
}

.prog-dtl .program-content ol {
counter-reset: step;
list-style: none;
padding-left: 0
}

.prog-dtl .program-content ol li {
counter-increment: step;
position: relative;
padding-left: 40px;
margin-bottom: 16px;
font-size: 16px;
line-height: 1.7;
color: #4a5a55
}

.prog-dtl .program-content ol li::before {
content: counter(step);
position: absolute;
left: 0;
top: 0;
width: 24px;
height: 24px;
background: #063630;
color: #FAFCFB;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
font-weight: 600
}

.prog-dtl .program-content ol li::after {
content: '';
position: absolute;
left: 11px;
top: 24px;
width: 2px;
height: calc(100% + 16px);
background: #E0DFDF
}

.prog-dtl .program-content ol li:last-child::after {
display: none
}

.prog-dtl .program-content ul li {
font-size: 16px;
line-height: 1.7;
color: #4a5a55;
margin-bottom: 8px;
position: relative;
padding-left: 16px
}

.prog-dtl .program-content ul li::before {
content: '';
position: absolute;
left: 0;
top: 12px;
width: 6px;
height: 2px;
background: #F4008F
}

.prog-dtl .program-content blockquote {
margin: 16px 0;
padding: 16px 16px 16px 24px;
border-left: 4px solid #F4008F;
background: #e0dfdf33;
font-size: 16px;
line-height: 1.7;
color: #2a3a35;
font-style: italic
}

.prog-dtl .program-content cite {
font-size: 16px;
color: #7a8a85;
font-style: normal
}

.prog-dtl .program-content details {
margin: 16px 0;
padding: 16px;
background: #e0dfdf26;
border-radius: 8px
}

.prog-dtl .program-content summary {
font-size: 16px;
font-weight: 600;
color: #063630;
cursor: pointer;
user-select: none;
transition: color .5s ease
}

.prog-dtl .program-content summary:hover {
color: #F4008F
}

.prog-dtl .program-content dl {
margin: 16px 0
}

.prog-dtl .program-content dt {
font-size: 16px;
font-weight: 600;
color: #063630;
margin-bottom: 8px
}

.prog-dtl .program-content dd {
font-size: 16px;
line-height: 1.7;
color: #4a5a55;
margin: 0 0 16px 16px
}

.prog-dtl .program-content abbr {
text-decoration: none;
border-bottom: 1px dotted #7a8a85;
cursor: help
}

.prog-dtl .desc-sec {
background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><rect width="100" height="100" fill="%23FAFCFB"/><circle cx="50" cy="50" r="1" fill="%23E0DFDF"/></svg>') repeat;
padding: 80px 16px;
position: relative
}

.prog-dtl .desc-sec::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(180deg, #fafcfbd9 0%, #fafcfbf2 100%);
pointer-events: none
}

.prog-dtl .desc-wrap {
max-width: 1320px;
margin: 0 auto;
position: relative;
z-index: 1;
display: grid;
grid-template-columns: 40% 60%;
gap: 80px;
align-items: start
}

.prog-dtl .desc-head {
font-size: 62px;
line-height: 1.2;
color: #063630;
margin: 0;
font-weight: 700;
position: sticky;
top: 80px
}

.prog-dtl .desc-content {
font-size: 16px;
line-height: 1.7;
color: #4a5a55
}

.prog-dtl .desc-content h2 {
font-size: 18px;
line-height: 1.5;
color: #063630;
margin: 40px 0 16px;
font-weight: 600;
padding-bottom: 8px;
border-bottom: 2px solid #E0DFDF
}

.prog-dtl .desc-content h2:first-child {
margin-top: 0
}

.prog-dtl .desc-content p {
margin: 0 0 16px
}

.prog-dtl .desc-content ol,
.prog-dtl .desc-content ul {
margin: 0 0 16px;
padding-left: 40px
}

.prog-dtl .desc-content ol {
counter-reset: desc-step;
list-style: none;
padding-left: 0
}

.prog-dtl .desc-content ol li {
counter-increment: desc-step;
position: relative;
padding-left: 40px;
margin-bottom: 16px
}

.prog-dtl .desc-content ol li::before {
content: counter(desc-step);
position: absolute;
left: 0;
top: 0;
width: 24px;
height: 24px;
background: #063630;
color: #FAFCFB;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
font-weight: 600
}

.prog-dtl .desc-content ol li::after {
content: '';
position: absolute;
left: 11px;
top: 24px;
width: 2px;
height: calc(100% + 16px);
background: #E0DFDF
}

.prog-dtl .desc-content ol li:last-child::after {
display: none
}

.prog-dtl .desc-content ul li {
margin-bottom: 8px;
position: relative;
padding-left: 16px
}

.prog-dtl .desc-content ul li::before {
content: '';
position: absolute;
left: 0;
top: 12px;
width: 6px;
height: 2px;
background: #F4008F
}

.prog-dtl .desc-content blockquote {
margin: 16px 0;
padding: 16px 16px 16px 24px;
border-left: 4px solid #F4008F;
background: #e0dfdf33;
font-style: italic
}

.prog-dtl .desc-content cite {
color: #7a8a85;
font-style: normal
}

.prog-dtl .desc-content details {
margin: 16px 0;
padding: 16px;
background: #e0dfdf26;
border-radius: 8px
}

.prog-dtl .desc-content summary {
font-weight: 600;
color: #063630;
cursor: pointer;
user-select: none;
transition: color .5s ease
}

.prog-dtl .desc-content summary:hover {
color: #F4008F
}

.prog-dtl .desc-content dl {
margin: 16px 0
}

.prog-dtl .desc-content dt {
font-weight: 600;
color: #063630;
margin-bottom: 8px
}

.prog-dtl .desc-content dd {
color: #4a5a55;
margin: 0 0 16px 16px
}

.prog-dtl .react-sec {
max-width: 1320px;
margin: 0 auto;
padding: 80px 16px
}

.prog-dtl .react-head {
font-size: 18px;
line-height: 1.5;
color: #063630;
margin: 0 0 40px;
font-weight: 600;
text-align: center
}

.prog-dtl .react-grid {
display: flex;
justify-content: center;
gap: 16px;
flex-wrap: wrap
}

.prog-dtl .react-item {
position: relative
}

.prog-dtl .react-input {
position: absolute;
opacity: 0;
pointer-events: none
}

.prog-dtl .react-label {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
padding: 16px;
background: #FAFCFB;
border: 2px solid #E0DFDF;
border-radius: 14px;
cursor: pointer;
transition: all .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
min-width: 100px
}

.prog-dtl .react-label:hover {
border-color: #063630;
box-shadow: 1px 3px 4px 0 #06363014
}

.prog-dtl .react-input:checked+.react-label {
background: linear-gradient(135deg, #06363014 0%, #f4008f0f 100%);
border-color: #063630;
box-shadow: 1px 7px 18px 0 #0636301c
}

.prog-dtl .react-input:focus-visible+.react-label {
outline: 3px solid #063630 !important;
outline-offset: 2px !important
}

.prog-dtl .emoji-icon {
font-size: 40px;
line-height: 1;
transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.prog-dtl .react-input:checked+.react-label .emoji-icon {
transform: scale(1.2);
animation: bounceEmoji .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

@keyframes bounceEmoji {
0% {
transform: scale(1)
}

50% {
transform: scale(1.3)
}

70% {
transform: scale(1.15)
}

100% {
transform: scale(1.2)
}
}

.prog-dtl .react-txt {
font-size: 16px;
line-height: 1.5;
color: #4a5a55;
transition: color .5s ease
}

.prog-dtl .react-input:checked+.react-label .react-txt {
color: #063630;
font-weight: 600
}

@media (max-width: 1200px) {
.prog-dtl .title-zone {
grid-template-columns: 1fr;
padding: 40px 16px
}

.prog-dtl .img-holder {
min-height: 300px
}

.prog-dtl .main-heading {
font-size: 62px
}

.prog-dtl .desc-wrap {
grid-template-columns: 1fr;
gap: 40px
}

.prog-dtl .desc-head {
position: static
}

.prog-dtl .program-content {
grid-template-columns: 1fr
}
}

@media (max-width: 992px) {

.prog-dtl .main-heading,
.prog-dtl .sec-head,
.prog-dtl .desc-head {
font-size: 62px
}

.prog-dtl .price-num {
font-size: 62px
}

.prog-dtl .price-wrap {
flex-direction: column;
align-items: flex-start
}

.prog-dtl .meta-row {
flex-direction: column;
gap: 16px
}
}

@media (max-width: 576px) {

.prog-dtl .main-heading,
.prog-dtl .sec-head,
.prog-dtl .desc-head {
font-size: 62px
}

.prog-dtl .price-num {
font-size: 62px
}

.prog-dtl .title-zone {
padding: 40px 16px 80px
}

.prog-dtl .program-sec {
padding: 40px 16px 80px
}

.prog-dtl .desc-sec {
padding: 40px 16px
}

.prog-dtl .react-sec {
padding: 40px 16px
}

.prog-dtl .intro-p {
padding: 16px
}

.prog-dtl .img-holder {
min-height: 250px
}
}

.prog-dtl input:focus-visible,
.prog-dtl button:focus-visible,
.prog-dtl a:focus-visible {
outline: 3px solid #063630 !important;
outline-offset: 2px !important
}

.prog-dtl input::placeholder {
transition: opacity .6s ease
}

.prog-dtl input:focus::placeholder {
opacity: 0
}

@keyframes colorCycle {
0% {
filter: saturate(1)
}

33% {
filter: saturate(0.3) grayscale(0.5)
}

66% {
filter: saturate(0.1) grayscale(0.8)
}

100% {
filter: saturate(1)
}
}

.prog-dtl .img-holder img {
animation: colorCycle 8s ease-in-out infinite
}

.cntct {
background: #fff;
color: #063630;
font-size: 16px;
line-height: 1.5;
max-width: 1320px;
margin: 0 auto
}

.cntct ::selection {
background: #06363026;
color: #063630
}

.cntct .split-intro {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 520px;
position: relative;
overflow: hidden;
margin-bottom: 80px
}

.cntct .split-intro__left {
background: #063630;
display: flex;
align-items: center;
justify-content: center;
padding: 80px 40px;
position: relative
}

.cntct .split-intro__right {
background: #F4008F;
display: flex;
align-items: center;
justify-content: center;
padding: 80px 40px;
position: relative
}

.cntct .split-intro__text {
max-width: 460px;
color: #fff;
z-index: 2;
position: relative
}

.cntct .split-intro__heading {
font-size: 62px;
line-height: 1.2;
margin: 0 0 16px;
color: #fff
}

.cntct .split-intro__quote {
font-size: 18px;
line-height: 1.7;
margin: 0;
color: #ffffffeb
}

.cntct .split-intro__wave {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 90px;
z-index: 1
}

.cntct .split-intro__wave svg {
width: 100%;
height: 100%;
display: block
}

.cntct .details-grid {
padding: 0 40px 80px;
background: linear-gradient(to top, #E0DFDF 0%, #e0dfdf4d 50%, #e0dfdf00 100%);
position: relative
}

.cntct .details-grid::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(to right, transparent 0%, #F4008F 50%, transparent 100%)
}

.cntct .details-grid__inner {
max-width: 1240px;
margin: 0 auto;
display: grid;
grid-template-columns: 380px 1fr;
gap: 80px;
align-items: start
}

.cntct .details-grid__sidebar {
display: grid;
grid-template-columns: 1fr;
gap: 40px
}

.cntct .info-card {
background: #fff;
padding: 40px;
border-radius: 14px;
box-shadow: 1px 7px 18px 0 #0636301c;
border: 2px solid transparent;
transition: border-color .6s ease, box-shadow .7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative
}

.cntct .info-card:hover {
border-color: #E0DFDF;
box-shadow: 1px 12px 60px 0 #f4008f1a
}

.cntct .info-card__label {
font-size: 16px;
line-height: 1.2;
color: #063630;
margin: 0 0 8px;
font-weight: 600;
text-decoration: underline;
text-decoration-color: #F4008F;
text-decoration-thickness: 2px;
text-underline-offset: 4px
}

.cntct .info-card__value {
font-size: 18px;
line-height: 1.7;
margin: 0;
color: #063630
}

.cntct .info-card__value a {
color: #063630;
text-decoration: none;
transition: color .5s ease;
position: relative;
display: inline-block
}

.cntct .info-card__value a::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 0;
height: 3px;
background: #F4008F;
transition: width .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cntct .info-card__value a:hover::after {
width: 100%
}

.cntct .info-card__value a:visited {
text-decoration: line-through;
text-decoration-color: #0636304d
}

.cntct .info-card__tag {
position: absolute;
top: -8px;
right: 40px;
background: #F4008F;
color: #fff;
padding: 8px 16px;
border-radius: 4px;
font-size: 16px;
line-height: 1.2;
box-shadow: 1px 3px 4px 0 #06363014
}

.cntct .details-grid__main {
animation: slideUpReveal .8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
opacity: 0
}

@keyframes slideUpReveal {
from {
opacity: 0;
transform: translateY(40px)
}

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

.cntct .details-grid__heading {
font-size: 62px;
line-height: 1.2;
margin: 0 0 40px;
color: #063630
}

.cntct .details-grid__text {
font-size: 18px;
line-height: 1.7;
margin: 0 0 40px;
color: #063630
}

.cntct .form-wrap {
padding: 80px 40px;
position: relative;
background: #fff
}

.cntct .form-wrap::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: repeating-linear-gradient(0deg, transparent, transparent 19px, #e0dfdf26 19px, #e0dfdf26 20px), repeating-linear-gradient(90deg, transparent, transparent 19px, #e0dfdf26 19px, #e0dfdf26 20px);
pointer-events: none;
z-index: 0
}

.cntct .form-wrap::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(to right, transparent 0%, #063630 50%, transparent 100%)
}

.cntct .form-wrap__inner {
max-width: 840px;
margin: 0 auto;
position: relative;
z-index: 1
}

.cntct .form-wrap__heading {
font-size: 62px;
line-height: 1.2;
margin: 0 0 16px;
color: #063630
}

.cntct .form-wrap__subtext {
font-size: 18px;
line-height: 1.7;
margin: 0 0 40px;
color: #063630
}

.cntct .contact-form {
display: flex;
flex-direction: column;
gap: 40px
}

.cntct .field-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px
}

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

.cntct .field-group__label {
font-size: 16px;
line-height: 1.2;
color: #063630;
font-weight: 600
}

.cntct .field-group__input {
padding: 16px;
border: 3px solid #E0DFDF;
border-radius: 8px;
font-size: 16px;
line-height: 1.5;
color: #063630;
background: #fff;
transition: border-color .6s ease, box-shadow .7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
outline: none
}

.cntct .field-group__input::placeholder {
color: #06363066;
transition: opacity .5s ease
}

.cntct .field-group__input:focus::placeholder {
opacity: 0
}

.cntct .field-group__input:focus {
border-color: #F4008F;
box-shadow: 1px 3px 4px 0 #f4008f14
}

.cntct .field-group__input:active {
box-shadow: inset 1px 3px 4px 0 #06363014
}

.cntct .interest-section {
display: flex;
flex-direction: column;
gap: 16px
}

.cntct .interest-section__label {
font-size: 16px;
line-height: 1.2;
color: #063630;
font-weight: 600
}

.cntct .interest-section__grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px
}

.cntct .checkbox-item {
position: relative;
display: flex;
align-items: center;
gap: 16px
}

.cntct .checkbox-item__input {
position: absolute;
opacity: 0;
width: 0;
height: 0
}

.cntct .checkbox-item__box {
width: 24px;
height: 24px;
border: 3px solid #E0DFDF;
border-radius: 4px;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
transition: border-color .6s ease, background-color .7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
flex-shrink: 0;
position: relative
}

.cntct .checkbox-item__box::after {
content: '';
width: 12px;
height: 12px;
background: #F4008F;
border-radius: 1px;
opacity: 0;
transform: scale(0);
transition: opacity .5s ease, transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cntct .checkbox-item__input:checked+.checkbox-item__box {
border-color: #F4008F
}

.cntct .checkbox-item__input:checked+.checkbox-item__box::after {
opacity: 1;
transform: scale(1)
}

.cntct .checkbox-item__input:active+.checkbox-item__box {
box-shadow: inset 1px 3px 4px 0 #06363014
}

.cntct .checkbox-item__label {
font-size: 16px;
line-height: 1.5;
color: #063630;
cursor: pointer;
user-select: none
}

.cntct .privacy-consent {
display: flex;
align-items: start;
gap: 16px
}

.cntct .privacy-consent__input {
position: absolute;
opacity: 0;
width: 0;
height: 0
}

.cntct .privacy-consent__box {
width: 24px;
height: 24px;
border: 3px solid #E0DFDF;
border-radius: 4px;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
transition: border-color .6s ease, background-color .7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
flex-shrink: 0;
margin-top: 2px;
position: relative
}

.cntct .privacy-consent__box::after {
content: '';
width: 12px;
height: 12px;
background: #063630;
border-radius: 1px;
opacity: 0;
transform: scale(0);
transition: opacity .5s ease, transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cntct .privacy-consent__input:checked+.privacy-consent__box {
border-color: #063630
}

.cntct .privacy-consent__input:checked+.privacy-consent__box::after {
opacity: 1;
transform: scale(1)
}

.cntct .privacy-consent__input:active+.privacy-consent__box {
box-shadow: inset 1px 3px 4px 0 #06363014
}

.cntct .privacy-consent__text {
font-size: 16px;
line-height: 1.5;
color: #063630
}

.cntct .privacy-consent__text a {
color: #F4008F;
text-decoration: none;
transition: color .5s ease;
position: relative
}

.cntct .privacy-consent__text a::after {
content: '';
position: absolute;
bottom: -1px;
left: 0;
width: 100%;
height: 1px;
background: #F4008F;
transition: height .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cntct .privacy-consent__text a:hover::after {
height: 3px
}

.cntct .privacy-consent__text a:visited {
text-decoration: line-through;
text-decoration-color: #f4008f4d
}

.cntct .submit-btn {
padding: 16px 40px;
border: 4px solid #063630;
border-radius: 8px;
background: #fff;
color: #063630;
font-size: 18px;
line-height: 1.2;
font-weight: 600;
cursor: pointer;
transition: background-color .7s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .6s ease, box-shadow .5s ease;
position: relative;
overflow: hidden;
align-self: start
}

.cntct .submit-btn::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 0;
background: #063630;
transition: height .8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: -1
}

.cntct .submit-btn:hover::before {
height: 100%
}

.cntct .submit-btn:hover {
color: #fff;
box-shadow: 1px 7px 18px 0 #0636301c
}

.cntct .submit-btn:active {
box-shadow: inset 1px 3px 4px 0 #06363014
}

.cntct .img-showcase {
position: relative;
overflow: hidden;
border-radius: 14px;
box-shadow: 1px 7px 18px 0 #0636301c
}

.cntct .img-showcase__image {
width: 100%;
height: 340px;
object-fit: cover;
display: block;
transition: filter .8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative
}

.cntct .img-showcase:hover .img-showcase__image {
filter: saturate(0.2)
}

.cntct .img-showcase::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, #063630b3 0%, transparent 40%, transparent 60%, #f4008fb3 100%);
pointer-events: none;
opacity: 0;
transition: opacity .7s ease
}

.cntct .img-showcase:hover::after {
opacity: 1
}

@media (max-width: 1200px) {
.cntct .split-intro {
grid-template-columns: 1fr
}

.cntct .split-intro__left,
.cntct .split-intro__right {
padding: 80px 40px
}

.cntct .details-grid__inner {
grid-template-columns: 1fr;
gap: 40px
}

.cntct .details-grid__sidebar {
grid-template-columns: repeat(2, 1fr)
}
}

@media (max-width: 992px) {
.cntct .split-intro__heading {
font-size: 62px
}

.cntct .details-grid__heading,
.cntct .form-wrap__heading {
font-size: 62px
}

.cntct .field-row {
grid-template-columns: 1fr;
gap: 40px
}

.cntct .interest-section__grid {
grid-template-columns: 1fr
}
}

@media (max-width: 576px) {
.cntct .split-intro {
margin-bottom: 40px
}

.cntct .split-intro__left,
.cntct .split-intro__right {
padding: 40px 16px
}

.cntct .split-intro__heading {
font-size: 62px
}

.cntct .details-grid {
padding: 0 16px 40px
}

.cntct .details-grid__inner {
gap: 40px
}

.cntct .details-grid__sidebar {
grid-template-columns: 1fr;
gap: 40px
}

.cntct .info-card {
padding: 40px 16px
}

.cntct .details-grid__heading,
.cntct .form-wrap__heading {
font-size: 62px
}

.cntct .form-wrap {
padding: 40px 16px
}

.cntct .contact-form {
gap: 40px
}
}

.prog-cat {
background: #fff;
color: #063630
}

.prog-cat::selection {
background: #06363026;
color: #063630
}

.prog-cat .title-zone {
position: relative;
padding: 120px 16px 40px;
background: linear-gradient(127deg, #f4008f0f 0%, #0636300a 100%);
overflow: visible
}

.prog-cat .title-zone::before {
content: '';
position: absolute;
top: 40px;
left: 16px;
right: 16px;
bottom: 40px;
border: 1px solid #0636301f;
pointer-events: none;
z-index: 1
}

.prog-cat .title-content {
max-width: 1320px;
margin: 0 auto;
position: relative;
z-index: 2
}

.prog-cat .title-main {
font-size: 72px;
line-height: 1.2;
margin: 0 0 16px;
font-weight: 700;
background: linear-gradient(127deg, #063630 0%, #F4008F 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent
}

.prog-cat .title-tagline {
font-size: 18px;
line-height: 1.5;
margin: 0 0 40px;
color: #063630;
opacity: .85
}

.prog-cat .title-links {
display: flex;
gap: 16px;
flex-wrap: wrap
}

.prog-cat .link-primary {
display: inline-block;
padding: 16px 40px;
font-size: 16px;
line-height: 1.5;
color: #063630;
text-decoration: none;
border: 3px solid #063630;
border-radius: 8px;
position: relative;
overflow: hidden;
transition: color .65s ease
}

.prog-cat .link-primary::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 0;
background: #063630;
transition: height .65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: -1
}

.prog-cat .link-primary:hover::before {
height: 100%
}

.prog-cat .link-primary:hover {
color: #fff
}

.prog-cat .link-secondary {
display: inline-block;
padding: 16px 40px;
font-size: 16px;
line-height: 1.5;
color: #F4008F;
text-decoration: none;
border: 3px solid #F4008F;
border-radius: 8px;
position: relative;
overflow: hidden;
transition: color .55s ease
}

.prog-cat .link-secondary::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 0;
background: #F4008F;
transition: height .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: -1
}

.prog-cat .link-secondary:hover::before {
height: 100%
}

.prog-cat .link-secondary:hover {
color: #fff
}

.prog-cat .divider-band {
height: 8px;
background: #F4008F;
width: 100%
}

.prog-cat .catalog-zone {
padding: 80px 16px;
background: #fff
}

.prog-cat .catalog-container {
max-width: 1320px;
margin: 0 auto
}

.prog-cat .catalog-head {
font-size: 62px;
line-height: 1.2;
margin: 0 0 40px;
font-weight: 700;
color: #063630;
border-bottom: 4px solid #E0DFDF;
padding-bottom: 16px
}

.prog-cat .catalog-grid {
display: grid;
grid-template-columns: 1fr;
gap: 40px
}

@media (min-width: 576px) {
.prog-cat .catalog-grid {
grid-template-columns: repeat(2, 1fr)
}
}

@media (min-width: 992px) {
.prog-cat .catalog-grid {
grid-template-columns: repeat(3, 1fr)
}
}

.prog-cat .prog-card {
background: #fff;
border: 2px solid #E0DFDF;
border-radius: 14px;
overflow: hidden;
transition: box-shadow .7s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .6s ease;
display: flex;
flex-direction: column
}

.prog-cat .prog-card:hover {
box-shadow: 1px 12px 60px 0 #0636301a;
transform: translateY(-8px)
}

.prog-cat .card-img-wrap {
width: 100%;
height: 280px;
overflow: hidden;
position: relative
}

.prog-cat .card-img {
width: 100%;
height: 100%;
object-fit: cover;
transition: filter .75s ease
}

.prog-cat .prog-card:hover .card-img {
filter: saturate(0.3)
}

.prog-cat .card-body {
padding: 16px;
display: flex;
flex-direction: column;
flex-grow: 1
}

.prog-cat .card-meta {
display: flex;
gap: 16px;
margin-bottom: 8px;
flex-wrap: wrap
}

.prog-cat .meta-badge {
font-size: 16px;
line-height: 1.5;
color: #063630;
background: #e0dfdf80;
padding: 8px 16px;
border-radius: 22px
}

.prog-cat .card-title {
font-size: 18px;
line-height: 1.5;
margin: 0 0 8px;
font-weight: 600;
color: #063630
}

.prog-cat .card-desc {
font-size: 16px;
line-height: 1.7;
margin: 0 0 16px;
color: #063630;
opacity: .8;
flex-grow: 1
}

.prog-cat .card-details {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 16px
}

.prog-cat .detail-row {
font-size: 16px;
line-height: 1.5;
color: #063630
}

.prog-cat .detail-label {
font-weight: 600
}

.prog-cat .card-price {
font-size: 18px;
line-height: 1.5;
font-weight: 700;
color: #F4008F;
margin-bottom: 8px
}

.prog-cat .price-note {
font-size: 16px;
line-height: 1.5;
color: #063630;
opacity: .7;
margin-bottom: 16px
}

.prog-cat .card-link {
display: block;
padding: 16px;
font-size: 16px;
line-height: 1.5;
text-align: center;
color: #063630;
text-decoration: none;
border: 3px solid #063630;
border-radius: 8px;
position: relative;
overflow: hidden;
transition: color .6s ease
}

.prog-cat .card-link::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 0;
background: #063630;
transition: height .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: -1
}

.prog-cat .card-link:hover::before {
height: 100%
}

.prog-cat .card-link:hover {
color: #fff
}

.prog-cat .approach-zone {
padding: 80px 16px;
background: linear-gradient(217deg, #e0dfdf40 0%, #fff0 100%);
position: relative
}

.prog-cat .approach-zone::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 400px;
height: 400px;
border: 2px solid #f4008f26;
border-radius: 22px;
animation: pulse-outline 4s ease-in-out infinite;
pointer-events: none
}

@keyframes pulse-outline {

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

50% {
transform: translate(-50%, -50%) scale(1.1);
opacity: .8
}
}

.prog-cat .approach-container {
max-width: 1320px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr;
gap: 40px;
align-items: center
}

@media (min-width: 992px) {
.prog-cat .approach-container {
grid-template-columns: 2fr 1fr
}
}

.prog-cat .approach-content {
position: relative;
z-index: 2
}

.prog-cat .approach-heading {
font-size: 62px;
line-height: 1.2;
margin: 0 0 16px;
font-weight: 700;
color: #063630;
border-bottom: 4px solid #F4008F;
padding-bottom: 16px
}

.prog-cat .approach-text {
font-size: 16px;
line-height: 1.7;
margin: 0 0 16px;
color: #063630
}

.prog-cat .approach-img-wrap {
width: 100%;
height: 420px;
overflow: hidden;
border-radius: 14px;
border: 3px solid #E0DFDF;
position: relative;
z-index: 2
}

.prog-cat .approach-img {
width: 100%;
height: 100%;
object-fit: cover;
transition: filter .8s ease
}

.prog-cat .approach-img-wrap:hover .approach-img {
filter: saturate(0.2)
}

.prog-cat .inverted-zone {
padding: 80px 16px;
background: #063630;
color: #fff !important;
animation: bg-oscillate 8s ease-in-out infinite
}

@keyframes bg-oscillate {

0%,
100% {
background: #063630
}

50% {
background: #074d45
}
}

.prog-cat .inverted-container {
max-width: 1320px;
margin: 0 auto
}

.prog-cat .inverted-heading {
font-size: 62px;
line-height: 1.2;
margin: 0 0 40px;
font-weight: 700;
color: #fff !important;
border-bottom: 4px solid #F4008F;
padding-bottom: 16px
}

.prog-cat .steps-list {
list-style: none;
padding: 0;
margin: 0;
counter-reset: step-counter
}

.prog-cat .step-item {
position: relative;
padding-left: 80px;
margin-bottom: 40px;
counter-increment: step-counter
}

.prog-cat .step-item::before {
content: counter(step-counter);
position: absolute;
left: 0;
top: 0;
width: 56px;
height: 56px;
background: #F4008F;
color: #fff;
border-radius: 22px;
display: flex;
align-items: center;
justify-content: center;
font-size: 18px;
font-weight: 700
}

.prog-cat .step-item::after {
content: '';
position: absolute;
left: 28px;
top: 56px;
width: 2px;
height: calc(100% + 40px);
background: #f4008f4d
}

.prog-cat .step-item:last-child::after {
display: none
}

.prog-cat .step-title {
font-size: 18px;
line-height: 1.5;
margin: 0 0 8px;
font-weight: 600;
color: #fff !important
}

.prog-cat .step-desc {
font-size: 16px;
line-height: 1.7;
margin: 0;
color: #fff !important;
opacity: .9
}

.prog-cat .metrics-zone {
padding: 80px 16px;
background: #fff
}

.prog-cat .metrics-container {
max-width: 1320px;
margin: 0 auto
}

.prog-cat .metrics-heading {
font-size: 62px;
line-height: 1.2;
margin: 0 0 40px;
font-weight: 700;
color: #063630;
border-bottom: 4px solid #E0DFDF;
padding-bottom: 16px
}

.prog-cat .metrics-grid {
display: grid;
grid-template-columns: 1fr;
gap: 40px
}

@media (min-width: 576px) {
.prog-cat .metrics-grid {
grid-template-columns: repeat(2, 1fr)
}
}

@media (min-width: 992px) {
.prog-cat .metrics-grid {
grid-template-columns: repeat(4, 1fr)
}
}

.prog-cat .metric-box {
background: linear-gradient(135deg, #e0dfdf33 0%, #fff0 100%);
border: 2px solid #E0DFDF;
border-radius: 14px;
padding: 40px 16px;
text-align: center;
transition: box-shadow .65s ease, transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.prog-cat .metric-box:hover {
box-shadow: 1px 7px 18px 0 #f4008f1c;
transform: scale(1.05)
}

.prog-cat .metric-value {
font-size: 72px;
line-height: 1.2;
margin: 0 0 8px;
font-weight: 700;
color: #F4008F
}

.prog-cat .metric-label {
font-size: 16px;
line-height: 1.5;
margin: 0;
color: #063630;
opacity: .8
}

.prog-cat input::placeholder {
transition: opacity .7s ease
}

.prog-cat input:focus::placeholder {
opacity: 0
}

.prog-cat textarea::placeholder {
transition: opacity .7s ease
}

.prog-cat textarea:focus::placeholder {
opacity: 0
}

@media (max-width: 991px) {
.prog-cat .title-main {
font-size: 62px
}

.prog-cat .catalog-head,
.prog-cat .approach-heading,
.prog-cat .inverted-heading,
.prog-cat .metrics-heading {
font-size: 62px
}

.prog-cat .metric-value {
font-size: 62px
}
}

@media (max-width: 575px) {
.prog-cat .title-zone {
padding: 80px 16px 40px
}

.prog-cat .title-main {
font-size: 62px
}

.prog-cat .catalog-head,
.prog-cat .approach-heading,
.prog-cat .inverted-heading,
.prog-cat .metrics-heading {
font-size: 62px
}

.prog-cat .metric-value {
font-size: 62px
}

.prog-cat .approach-img-wrap {
height: 320px
}
}

.bdgt {
background: #FFF;
color: #063630;
max-width: 1320px;
margin: 0 auto;
padding: 0;
position: relative
}

.bdgt ::selection {
background: #06363026;
color: #063630
}

.bdgt__intro {
padding: 80px 16px;
display: flex;
align-items: center;
gap: 40px;
position: relative;
overflow: visible
}

.bdgt__intro-quote {
position: absolute;
top: 40px;
left: 16px;
font-size: 180px;
line-height: 1;
color: #E0DFDF;
opacity: .4;
font-family: Georgia, serif;
pointer-events: none;
z-index: 0
}

.bdgt__intro-text {
flex: 1;
position: relative;
z-index: 1
}

.bdgt__intro-h1 {
font-size: 72px;
line-height: 1.2;
margin: 0 0 8px;
font-weight: 700
}

.bdgt__intro-h2 {
font-size: 62px;
line-height: 1.2;
margin: 0 0 16px;
font-weight: 400
}

.bdgt__intro-h3 {
font-size: 18px;
line-height: 1.5;
margin: 0 0 16px;
font-weight: 400;
color: #063630bf
}

.bdgt__intro-desc {
font-size: 16px;
line-height: 1.7;
margin: 0;
max-width: 520px
}

.bdgt__intro-img-wrap {
flex: 0 0 380px;
position: relative;
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 7px 18px 0 #0636301c
}

.bdgt__intro-img {
width: 380px;
height: 480px;
object-fit: cover;
display: block;
position: relative;
transition: filter .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.bdgt__intro-img::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #0636301f;
pointer-events: none
}

.bdgt__intro-img-wrap:hover .bdgt__intro-img {
filter: grayscale(0.5)
}

.bdgt__voices {
padding: 80px 16px;
background: linear-gradient(135deg, #e0dfdf33 0%, #fff0 40%, #fff0 60%, #e0dfdf33 100%);
position: relative
}

.bdgt__voices-head {
font-size: 62px;
line-height: 1.2;
margin: 0 0 40px;
text-align: center;
font-weight: 600
}

.bdgt__voices-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 40px
}

.bdgt__voice-card {
background: #FFF;
padding: 40px;
border-radius: 14px;
box-shadow: 1px 3px 4px 0 #06363014;
border: 1px solid #E0DFDF;
transition: transform .7s ease, box-shadow .7s ease;
position: relative
}

.bdgt__voice-card:hover {
transform: translateY(-4px);
box-shadow: 1px 12px 60px 0 #0636301a
}

.bdgt__voice-card:active {
animation: bdgt-border-pulse .5s ease
}

@keyframes bdgt-border-pulse {

0%,
100% {
border-width: 1px
}

50% {
border-width: 3px
}
}

.bdgt__voice-name {
font-size: 18px;
line-height: 1.5;
margin: 0 0 8px;
font-weight: 600;
color: #063630
}

.bdgt__voice-before {
font-size: 16px;
line-height: 1.7;
margin: 0 0 16px;
color: #063630b3;
font-style: italic
}

.bdgt__voice-after {
font-size: 16px;
line-height: 1.7;
margin: 0;
color: #063630;
padding-top: 16px;
border-top: 1px solid #E0DFDF
}

.bdgt__lasting {
padding: 80px 16px;
position: relative;
background: radial-gradient(circle at 50% 50%, #f4008f14 0%, #fff0 60%)
}

.bdgt__lasting-inner {
max-width: 900px;
margin: 0 auto
}

.bdgt__lasting-head {
font-size: 62px;
line-height: 1.2;
margin: 0 0 40px;
font-weight: 600;
text-align: center;
padding-bottom: 16px;
border-bottom: 3px solid #063630
}

.bdgt__lasting-blocks {
display: flex;
flex-direction: column;
gap: 8px
}

.bdgt__lasting-block {
background: #FFF;
padding: 16px;
border-radius: 8px;
border-left: 4px solid transparent;
transition: border-color .6s ease, background .6s ease;
position: relative
}

.bdgt__lasting-block:hover {
border-left-color: #F4008F;
background: #e0dfdf4d
}

.bdgt__lasting-label {
font-size: 18px;
line-height: 1.5;
margin: 0 0 8px;
font-weight: 600;
color: #063630
}

.bdgt__lasting-text {
font-size: 16px;
line-height: 1.7;
margin: 0;
color: #063630cc
}

.bdgt__lasting-arrow {
position: absolute;
right: 16px;
top: 50%;
transform: translateY(-50%);
width: 20px;
height: 20px;
opacity: .3
}

.bdgt__lasting-arrow svg {
width: 100%;
height: 100%;
fill: #063630
}

.bdgt__standing {
padding: 80px 16px;
background: linear-gradient(180deg, #06363008 0%, #fff0 50%, #06363008 100%)
}

.bdgt__standing-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: start
}

.bdgt__standing-text {
padding-top: 40px
}

.bdgt__standing-head {
font-size: 62px;
line-height: 1.2;
margin: 0 0 40px;
font-weight: 600
}

.bdgt__standing-p {
font-size: 16px;
line-height: 1.7;
margin: 0 0 16px
}

.bdgt__standing-p:last-child {
margin-bottom: 0
}

.bdgt__standing-img {
width: 100%;
height: 520px;
object-fit: cover;
border-radius: 22px;
box-shadow: 1px 7px 18px 0 #f4008f1c;
transition: filter .7s ease
}

.bdgt__standing-img:hover {
filter: grayscale(0.7)
}

.bdgt__flow {
padding: 80px 16px;
position: relative;
overflow: hidden
}

.bdgt__flow::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url(/assets/6-promo.jpg) center/cover no-repeat;
opacity: .04;
pointer-events: none;
z-index: 0
}

.bdgt__flow-inner {
position: relative;
z-index: 1;
max-width: 1000px;
margin: 0 auto
}

.bdgt__flow-head {
font-size: 62px;
line-height: 1.2;
margin: 0 0 40px;
font-weight: 600;
text-align: center
}

.bdgt__flow-steps {
display: flex;
flex-direction: column;
gap: 0;
position: relative
}

.bdgt__flow-steps::before {
content: '';
position: absolute;
left: 40px;
top: 40px;
bottom: 40px;
width: 2px;
background: linear-gradient(180deg, #063630 0%, #F4008F 100%);
z-index: 0
}

.bdgt__flow-step {
display: flex;
gap: 40px;
align-items: start;
padding: 16px 0;
position: relative;
z-index: 1
}

.bdgt__flow-num {
flex: 0 0 80px;
height: 80px;
background: #FFF;
border: 2px solid #063630;
border-radius: 22px;
display: flex;
align-items: center;
justify-content: center;
font-size: 18px;
line-height: 1.2;
font-weight: 700;
color: #063630;
transition: background .6s ease, color .6s ease;
position: relative;
z-index: 2
}

.bdgt__flow-step:hover .bdgt__flow-num {
background: #063630;
color: #FFF
}

.bdgt__flow-content {
flex: 1;
padding-top: 8px
}

.bdgt__flow-label {
font-size: 18px;
line-height: 1.5;
margin: 0 0 8px;
font-weight: 600;
color: #063630
}

.bdgt__flow-desc {
font-size: 16px;
line-height: 1.7;
margin: 0;
color: #063630cc
}

.bdgt__invest {
padding: 80px 16px;
background: linear-gradient(90deg, #e0dfdf66 0%, #fff0 30%, #fff0 70%, #e0dfdf66 100%);
position: relative
}

.bdgt__invest-glow {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden;
z-index: 0
}

.bdgt__invest-glow::before,
.bdgt__invest-glow::after {
content: '';
position: absolute;
width: 200px;
height: 100%;
background: #f4008f26;
filter: blur(60px);
animation: bdgt-glow-pulse 4s ease-in-out infinite
}

.bdgt__invest-glow::before {
top: 0;
left: 0
}

.bdgt__invest-glow::after {
top: 0;
right: 0;
animation-delay: 2s
}

@keyframes bdgt-glow-pulse {

0%,
100% {
opacity: .3
}

50% {
opacity: .6
}
}

.bdgt__invest-inner {
position: relative;
z-index: 1;
max-width: 800px;
margin: 0 auto;
text-align: center
}

.bdgt__invest-head {
font-size: 62px;
line-height: 1.2;
margin: 0 0 40px;
font-weight: 600
}

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

.bdgt__invest-box {
background: #FFF;
padding: 40px;
border-radius: 14px;
border: 2px solid #E0DFDF;
transition: border-color .7s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative;
overflow: hidden
}

.bdgt__invest-box::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: #0636300d;
transition: height .6s ease;
z-index: 0
}

.bdgt__invest-box:hover::before {
height: 100%
}

.bdgt__invest-box:hover {
border-color: #063630;
box-shadow: 1px 7px 18px 0 #0636301c
}

.bdgt__invest-box-title {
font-size: 18px;
line-height: 1.5;
margin: 0 0 16px;
font-weight: 600;
color: #063630;
position: relative;
z-index: 1
}

.bdgt__invest-box-text {
font-size: 16px;
line-height: 1.7;
margin: 0;
color: #063630cc;
position: relative;
z-index: 1
}

.bdgt__invest-note {
font-size: 16px;
line-height: 1.7;
margin: 0;
color: #063630b3
}

.bdgt__outcome {
padding: 80px 16px;
background: #FFF
}

.bdgt__outcome-layout {
display: flex;
gap: 40px;
align-items: center
}

.bdgt__outcome-visual {
flex: 0 0 480px;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px
}

.bdgt__outcome-img-wrap {
width: 100%;
height: 220px;
border-radius: 8px;
overflow: hidden;
box-shadow: 1px 3px 4px 0 #06363014
}

.bdgt__outcome-img {
width: 100%;
height: 100%;
object-fit: cover;
transition: filter .6s ease
}

.bdgt__outcome-img-wrap:hover .bdgt__outcome-img {
filter: grayscale(0.6)
}

.bdgt__outcome-text {
flex: 1
}

.bdgt__outcome-head {
font-size: 62px;
line-height: 1.2;
margin: 0 0 40px;
font-weight: 600;
padding-bottom: 16px;
border-bottom: 2px solid #E0DFDF
}

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

.bdgt__outcome-item {
font-size: 16px;
line-height: 1.7;
padding-left: 40px;
position: relative;
color: #063630e6
}

.bdgt__outcome-item::before {
content: '';
position: absolute;
left: 0;
top: 8px;
width: 24px;
height: 24px;
background: #063630;
border-radius: 4px;
transition: background .5s ease, transform .5s ease
}

.bdgt__outcome-item:hover::before {
background: #F4008F;
transform: rotate(90deg)
}

@media (max-width: 1200px) {
.bdgt__intro {
flex-direction: column;
padding: 40px 16px
}

.bdgt__intro-img-wrap {
flex: 0 0 auto;
width: 100%;
max-width: 480px
}

.bdgt__intro-img {
width: 100%;
height: 400px
}

.bdgt__intro-h1 {
font-size: 62px
}

.bdgt__intro-h2 {
font-size: 52px
}

.bdgt__voices-grid {
grid-template-columns: 1fr
}

.bdgt__standing-layout {
grid-template-columns: 1fr;
gap: 40px
}

.bdgt__outcome-layout {
flex-direction: column
}

.bdgt__outcome-visual {
flex: 0 0 auto;
width: 100%
}
}

@media (max-width: 992px) {
.bdgt__intro-h1 {
font-size: 52px
}

.bdgt__intro-h2 {
font-size: 42px
}

.bdgt__voices-head,
.bdgt__lasting-head,
.bdgt__standing-head,
.bdgt__flow-head,
.bdgt__invest-head,
.bdgt__outcome-head {
font-size: 52px
}

.bdgt__invest-grid {
grid-template-columns: 1fr
}
}

@media (max-width: 576px) {
.bdgt__intro {
padding: 40px 16px
}

.bdgt__intro-quote {
font-size: 120px;
top: 20px
}

.bdgt__intro-h1 {
font-size: 42px
}

.bdgt__intro-h2 {
font-size: 32px
}

.bdgt__intro-h3 {
font-size: 16px
}

.bdgt__voices,
.bdgt__lasting,
.bdgt__standing,
.bdgt__flow,
.bdgt__invest,
.bdgt__outcome {
padding: 40px 16px
}

.bdgt__voices-head,
.bdgt__lasting-head,
.bdgt__standing-head,
.bdgt__flow-head,
.bdgt__invest-head,
.bdgt__outcome-head {
font-size: 42px
}

.bdgt__voice-card {
padding: 16px
}

.bdgt__standing-img {
height: 320px
}

.bdgt__flow-steps::before {
left: 20px
}

.bdgt__flow-num {
flex: 0 0 40px;
height: 40px;
font-size: 16px
}

.bdgt__flow-step {
gap: 16px
}

.bdgt__outcome-visual {
grid-template-columns: 1fr
}

.bdgt__outcome-img-wrap {
height: 180px
}
}

.bdgt input:focus::placeholder,
.bdgt textarea:focus::placeholder {
opacity: 0;
transition: opacity .5s ease
}

.abt-us {
background: #fff;
color: #063630;
overflow-x: clip
}

.abt-us ::selection {
background-color: #0636301f;
color: #063630
}

.abt-us .title-zone {
position: relative;
background: linear-gradient(127deg, #e0dfdf66 0%, #0636300d 100%);
padding: 80px 16px;
overflow: visible
}

.abt-us .title-zone::before {
content: '';
position: absolute;
top: 40px;
left: 50%;
transform: translateX(-50%);
width: 280px;
height: 280px;
border-radius: 50%;
background: radial-gradient(circle at 30% 30%, #f4008f14, transparent 70%);
pointer-events: none;
z-index: 1
}

.abt-us .title-container {
max-width: 1320px;
margin: 0 auto;
position: relative;
z-index: 2
}

.abt-us .title-primary {
font-size: 62px;
line-height: 1.2;
margin: 0 0 16px;
font-weight: 700
}

.abt-us .title-secondary {
font-size: 18px;
line-height: 1.5;
margin: 0;
max-width: 680px;
color: #063630d9
}

.abt-us .title-accent-word {
font-style: italic;
color: #F4008F
}

@media (max-width: 991px) {
.abt-us .title-zone {
padding: 40px 16px
}

.abt-us .title-primary {
font-size: 48px
}

.abt-us .title-zone::before {
width: 200px;
height: 200px;
top: 20px
}
}

@media (max-width: 575px) {
.abt-us .title-primary {
font-size: 38px
}

.abt-us .title-secondary {
font-size: 16px
}
}

.abt-us .origin-panel {
background: #fff;
padding: 80px 16px;
position: relative
}

.abt-us .origin-panel::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: repeating-linear-gradient(to right, #E0DFDF 0px, #E0DFDF 8px, transparent 8px, transparent 16px)
}

.abt-us .origin-panel::after {
content: '';
position: absolute;
top: -4px;
left: 50%;
transform: translateX(-50%);
width: 1px;
height: 8px;
background: #E0DFDF
}

.abt-us .origin-inner {
max-width: 1320px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: start
}

.abt-us .origin-text-block {
display: flex;
flex-direction: column;
gap: 40px
}

.abt-us .origin-heading {
font-size: 62px;
line-height: 1.2;
margin: 0;
font-weight: 700;
border-bottom: 3px solid #063630;
padding-bottom: 16px
}

.abt-us .origin-paragraph {
font-size: 16px;
line-height: 1.7;
margin: 0;
color: #063630e6
}

.abt-us .origin-visual-zone {
position: relative;
display: flex;
flex-direction: column;
gap: 40px
}

.abt-us .origin-img-frame {
position: relative;
width: 100%;
height: 420px;
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 7px 18px 0 #0636301c;
transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abt-us .origin-img-frame:hover {
transform: translateY(-8px)
}

.abt-us .origin-img-frame img {
width: 100%;
height: 100%;
object-fit: cover;
transition: filter .7s ease
}

.abt-us .origin-img-frame:hover img {
filter: saturate(0.3)
}

.abt-us .origin-metrics-wrap {
display: flex;
gap: 16px;
align-items: center;
justify-content: center
}

.abt-us .origin-metric-circle {
width: 80px;
height: 80px;
border-radius: 50%;
background: linear-gradient(135deg, #06363014 0%, #f4008f14 100%);
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
border: 2px solid #E0DFDF;
transition: border-color .6s ease, transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative
}

.abt-us .origin-metric-circle:hover {
border-color: #F4008F;
transform: scale(1.08)
}

.abt-us .origin-metric-value {
font-size: 18px;
font-weight: 700;
color: #063630;
margin: 0
}

.abt-us .origin-metric-label {
font-size: 16px;
color: #063630b3;
margin: 0;
text-align: center
}

@media (max-width: 991px) {
.abt-us .origin-inner {
grid-template-columns: 1fr;
gap: 40px
}

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

.abt-us .origin-heading {
font-size: 48px
}

.abt-us .origin-img-frame {
height: 320px
}
}

@media (max-width: 575px) {
.abt-us .origin-heading {
font-size: 38px
}

.abt-us .origin-img-frame {
height: 240px
}

.abt-us .origin-metric-circle {
width: 64px;
height: 64px
}

.abt-us .origin-metric-value {
font-size: 16px
}
}

.abt-us .mission-expanse {
background: repeating-linear-gradient(45deg, #e0dfdf26, #e0dfdf26 1px, transparent 1px, transparent 40px), repeating-linear-gradient(-45deg, #06363005, #06363005 1px, transparent 1px, transparent 40px), linear-gradient(180deg, #fff 0%, #e0dfdf33 100%);
padding: 80px 16px;
position: relative;
animation: mesh-flicker 8s infinite
}

@keyframes mesh-flicker {

0%,
100% {
opacity: 1
}

15% {
opacity: .97
}

30% {
opacity: 1
}

48% {
opacity: .98
}

62% {
opacity: 1
}

79% {
opacity: .96
}
}

.abt-us .mission-expanse::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: repeating-linear-gradient(to right, #063630 0px, #063630 12px, transparent 12px, transparent 24px)
}

.abt-us .mission-expanse::after {
content: '';
position: absolute;
bottom: -4px;
left: 20%;
width: 1px;
height: 8px;
background: #063630
}

.abt-us .mission-container {
max-width: 1320px;
margin: 0 auto
}

.abt-us .mission-headline {
font-size: 72px;
line-height: 1.2;
margin: 0 0 80px;
font-weight: 700;
text-align: center;
position: relative
}

.abt-us .mission-headline::before {
content: '';
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: -24px;
width: 120px;
height: 3px;
background: linear-gradient(90deg, transparent 0%, #F4008F 50%, transparent 100%)
}

.abt-us .mission-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 40px
}

.abt-us .mission-card {
background: #fff;
border: 3px solid #E0DFDF;
border-radius: 14px;
padding: 40px;
position: relative;
transition: border-color .7s ease, box-shadow .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
display: flex;
flex-direction: column;
gap: 16px
}

.abt-us .mission-card::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 0%, #06363005 100%);
border-radius: 14px;
opacity: 0;
transition: opacity .6s ease;
pointer-events: none
}

.abt-us .mission-card:hover {
border-color: #063630;
box-shadow: 1px 12px 60px 0 #0636301a
}

.abt-us .mission-card:hover::before {
opacity: 1
}

.abt-us .mission-card-icon-pair {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 8px
}

.abt-us .mission-card-icon {
width: 32px;
height: 32px;
border: 2px solid #063630;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
transition: background .5s ease, border-color .5s ease
}

.abt-us .mission-card:hover .mission-card-icon {
background: #F4008F;
border-color: #F4008F
}

.abt-us .mission-card-icon svg {
width: 16px;
height: 16px;
fill: #063630;
transition: fill .5s ease
}

.abt-us .mission-card:hover .mission-card-icon svg {
fill: #fff
}

.abt-us .mission-card-title {
font-size: 18px;
line-height: 1.5;
margin: 0;
font-weight: 700;
color: #063630
}

.abt-us .mission-card-text {
font-size: 16px;
line-height: 1.7;
margin: 0;
color: #063630d9
}

.abt-us .mission-visual-row {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 40px;
margin-top: 80px
}

.abt-us .mission-img-container {
position: relative;
width: 100%;
height: 360px;
border-radius: 22px;
overflow: hidden;
box-shadow: 1px 3px 4px 0 #f4008f14;
transition: box-shadow .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abt-us .mission-img-container:hover {
box-shadow: 1px 12px 60px 0 #f4008f1a
}

.abt-us .mission-img-container img {
width: 100%;
height: 100%;
object-fit: cover;
transition: filter .8s ease
}

.abt-us .mission-img-container:hover img {
filter: saturate(0.2)
}

@media (max-width: 1199px) {
.abt-us .mission-grid {
grid-template-columns: 1fr;
gap: 40px
}

.abt-us .mission-visual-row {
grid-template-columns: 1fr
}
}

@media (max-width: 991px) {
.abt-us .mission-expanse {
padding: 40px 16px
}

.abt-us .mission-headline {
font-size: 48px;
margin-bottom: 40px
}

.abt-us .mission-visual-row {
margin-top: 40px
}

.abt-us .mission-img-container {
height: 280px
}
}

@media (max-width: 575px) {
.abt-us .mission-headline {
font-size: 38px
}

.abt-us .mission-card {
padding: 16px
}

.abt-us .mission-img-container {
height: 220px
}
}

.abt-us .expertise-showcase {
background: #fff;
padding: 80px 16px;
position: relative
}

.abt-us .expertise-showcase::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: repeating-linear-gradient(to right, #E0DFDF 0px, #E0DFDF 6px, transparent 6px, transparent 12px)
}

.abt-us .expertise-showcase::after {
content: '';
position: absolute;
top: -3px;
left: 80%;
width: 1px;
height: 6px;
background: #E0DFDF
}

.abt-us .expertise-inner {
max-width: 1320px;
margin: 0 auto;
display: grid;
grid-template-columns: 2fr 1fr;
gap: 80px;
align-items: start
}

.abt-us .expertise-content-zone {
display: flex;
flex-direction: column;
gap: 40px
}

.abt-us .expertise-heading {
font-size: 62px;
line-height: 1.2;
margin: 0;
font-weight: 700;
position: relative;
padding-bottom: 16px
}

.abt-us .expertise-heading::after {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 240px;
height: 2px;
background: #063630
}

.abt-us .expertise-description {
font-size: 16px;
line-height: 1.7;
margin: 0;
color: #063630e6
}

.abt-us .expertise-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 16px;
counter-reset: step-counter
}

.abt-us .expertise-list-item {
position: relative;
padding-left: 56px;
font-size: 16px;
line-height: 1.7;
color: #063630d9;
counter-increment: step-counter
}

.abt-us .expertise-list-item::before {
content: counter(step-counter);
position: absolute;
left: 0;
top: 0;
width: 40px;
height: 40px;
background: linear-gradient(135deg, #e0dfdf80 0%, #06363014 100%);
border: 2px solid #E0DFDF;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 16px;
color: #063630;
transition: background .6s ease, border-color .6s ease
}

.abt-us .expertise-list-item:hover::before {
background: #F4008F;
border-color: #F4008F;
color: #fff
}

.abt-us .expertise-list-item::after {
content: '';
position: absolute;
left: 19px;
top: 48px;
width: 2px;
height: calc(100% + 8px);
background: linear-gradient(180deg, #E0DFDF 0%, transparent 100%)
}

.abt-us .expertise-list-item:last-child::after {
display: none
}

.abt-us .expertise-image-stack {
display: flex;
flex-direction: column;
gap: 40px
}

.abt-us .expertise-img-wrapper {
position: relative;
width: 100%;
height: 280px;
border-radius: 8px;
overflow: hidden;
border: 4px solid #E0DFDF;
transition: border-color .7s ease
}

.abt-us .expertise-img-wrapper:hover {
border-color: #063630;
border-style: dashed
}

.abt-us .expertise-img-wrapper img {
width: 100%;
height: 100%;
object-fit: cover;
transition: filter .7s ease
}

.abt-us .expertise-img-wrapper:hover img {
filter: saturate(0.25)
}

.abt-us .expertise-accent-box {
background: linear-gradient(127deg, #f4008f0d 0%, #0636300d 100%);
border: 3px dashed #E0DFDF;
border-radius: 14px;
padding: 40px;
display: flex;
flex-direction: column;
gap: 16px;
transition: border-color .6s ease
}

.abt-us .expertise-accent-box:hover {
border-color: #F4008F
}

.abt-us .expertise-accent-title {
font-size: 18px;
line-height: 1.5;
margin: 0;
font-weight: 700;
color: #063630
}

.abt-us .expertise-accent-text {
font-size: 16px;
line-height: 1.7;
margin: 0;
color: #063630d9
}

@media (max-width: 991px) {
.abt-us .expertise-inner {
grid-template-columns: 1fr;
gap: 40px
}

.abt-us .expertise-showcase {
padding: 40px 16px
}

.abt-us .expertise-heading {
font-size: 48px
}

.abt-us .expertise-img-wrapper {
height: 240px
}
}

@media (max-width: 575px) {
.abt-us .expertise-heading {
font-size: 38px
}

.abt-us .expertise-list-item {
padding-left: 48px
}

.abt-us .expertise-accent-box {
padding: 16px
}

.abt-us .expertise-img-wrapper {
height: 200px
}
}

.abt-us input:focus-visible,
.abt-us button:focus-visible,
.abt-us a:focus-visible {
outline: 3px solid #F4008F !important;
outline-offset: 2px !important
}

.abt-us ::placeholder {
transition: opacity .5s ease
}

.abt-us input:focus::placeholder,
.abt-us textarea:focus::placeholder {
opacity: 0
}

.success-page {
max-width: 1320px;
margin: 0 auto;
padding: 80px 16px;
background: linear-gradient(127deg, #06363008 0%, transparent 35%, transparent 65%, #f4008f08 100%)
}

.success-page .confirm-block {
text-align: center;
padding: 80px 40px;
background: #fff;
border-radius: 22px;
box-shadow: 1px 7px 18px 0 #0636301c;
max-width: 680px;
margin: 0 auto
}

.success-page .icon-check {
width: 88px;
height: 88px;
margin: 0 auto 40px;
border: 4px solid #063630;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
position: relative;
background: linear-gradient(135deg, #0636300d 0%, transparent 100%)
}

.success-page .icon-check::before {
content: '';
width: 28px;
height: 16px;
border-left: 4px solid #063630;
border-bottom: 4px solid #063630;
transform: rotate(-45deg) translateY(-3px)
}

.success-page .main-heading {
font-size: 62px;
line-height: 1.2;
color: #063630;
margin: 0 0 16px
}

.success-page .subtitle-text {
font-size: 18px;
line-height: 1.5;
color: #555;
margin: 0 0 40px
}

.success-page .info-box {
background: #e0dfdf4d;
border-radius: 14px;
padding: 40px;
margin: 0 0 40px;
text-align: left
}

.success-page .info-box p {
font-size: 16px;
line-height: 1.7;
color: #333;
margin: 0 0 16px
}

.success-page .info-box p:last-child {
margin: 0
}

.success-page .info-box strong {
color: #063630;
font-weight: 600
}

.success-page .action-row {
display: flex;
gap: 16px;
justify-content: center;
flex-wrap: wrap
}

.success-page .btn-primary {
display: inline-block;
padding: 16px 40px;
font-size: 16px;
line-height: 1.5;
color: #063630;
background: transparent;
border: 3px solid #063630;
border-radius: 8px;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .6s ease
}

.success-page .btn-primary::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: #063630;
transition: height .7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: -1
}

.success-page .btn-primary:hover {
color: #fff
}

.success-page .btn-primary:hover::before {
height: 100%
}

.success-page .btn-secondary {
display: inline-block;
padding: 16px 40px;
font-size: 16px;
line-height: 1.5;
color: #F4008F;
background: transparent;
border: 3px solid #F4008F;
border-radius: 8px;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .65s ease
}

.success-page .btn-secondary::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: #F4008F;
transition: height .75s cubic-bezier(0.25, 0.46, 0.45, 0.94);
z-index: -1
}

.success-page .btn-secondary:hover {
color: #fff
}

.success-page .btn-secondary:hover::before {
height: 100%
}

.success-page .contact-info {
margin: 80px 0 0;
padding: 40px;
background: #06363005;
border-radius: 14px
}

.success-page .contact-info h2 {
font-size: 18px;
line-height: 1.2;
color: #063630;
margin: 0 0 16px;
text-decoration: underline;
text-decoration-thickness: 2px;
text-underline-offset: 8px
}

.success-page .contact-info p {
font-size: 16px;
line-height: 1.7;
color: #555;
margin: 0 0 8px
}

.success-page .contact-info p:last-child {
margin: 0
}

.success-page .contact-info a {
color: #F4008F;
text-decoration: none;
transition: color .55s ease
}

.success-page .contact-info a:hover {
color: #063630
}

.success-page .contact-info a:visited {
text-decoration: line-through
}

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

.success-page .confirm-block {
padding: 40px 16px
}

.success-page .main-heading {
font-size: 42px
}

.success-page .info-box {
padding: 16px
}

.success-page .action-row {
flex-direction: column
}

.success-page .btn-primary,
.success-page .btn-secondary {
width: 100%;
text-align: center
}

.success-page .contact-info {
padding: 16px
}
}