html {
box-sizing: border-box;
font-size: 100%;
}

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

html,
body {
margin: 0;
}

body {
min-height: 100dvh;
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
font-family: 'Red Hat Display', sans-serif;
}

::selection {
background-color: #37788B;
color: #ffffff;
}

.util-bar {
background: linear-gradient(90deg, #37788B 0%, #4a8fa3 100%);
padding: 8px 0;
}

.util-bar__shell {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
}

.util-bar__contacts {
display: flex;
align-items: center;
gap: 16px;
flex-wrap: wrap;
}

.util-bar__link {
display: flex;
align-items: center;
gap: 8px;
color: #E3EEEE;
text-decoration: none;
font-size: 15px;
line-height: 1.4;
font-weight: 300;
transition: color 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.util-bar__link:hover {
color: #ffffff;
}

.util-bar__link:focus {
outline: 2px solid #E3EEEE;
outline-offset: 2px;
border-radius: 1px;
}

.util-bar__icon {
width: 16px;
height: 16px;
flex-shrink: 0;
fill: #E3EEEE;
}

.util-bar__lang {
display: flex;
align-items: center;
gap: 8px;
}

.util-bar__lang-label {
color: #E3EEEE;
font-size: 15px;
font-weight: 300;
line-height: 1.4;
}

.util-bar__sep {
width: 1px;
height: 16px;
background-color: rgba(227, 238, 238, 0.35);
flex-shrink: 0;
}

.site-header {
background-color: #ffffff;
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
position: relative;
z-index: 100;
}

.brand-row {
max-width: 1170px;
margin: 0 auto;
padding: 16px 40px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 40px;
}

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

.brand-mount__logo-hold {
background-color: #ffffff;
border-radius: 34px;
padding: 8px 16px;
border: 1px solid #E3EEEE;
box-shadow: -1px 1px 5px -1px rgba(55, 120, 139, 0.07);
display: flex;
align-items: center;
justify-content: center;
min-width: 60px;
height: 60px;
}

.brand-mount__logo-hold img {
width: 60px;
height: 44px;
object-fit: contain;
display: block;
}

.brand-mount__text {
display: flex;
flex-direction: column;
gap: 4px;
}

.brand-mount__name {
font-size: 23px;
font-weight: 700;
line-height: 1.1;
color: #1b4a56;
letter-spacing: -0.02em;
}

.brand-mount__tagline {
font-size: 15px;
font-weight: 300;
line-height: 1.4;
color: #37788B;
}

.brand-accent {
width: 48px;
height: 4px;
background: linear-gradient(90deg, #37788B, #7EB9C0);
border-radius: 20px;
flex-shrink: 0;
margin-left: auto;
}

.nav-row {
border-top: 1px solid #E3EEEE;
background: linear-gradient(180deg, #f4fafa 0%, #ffffff 100%);
}

.nav-row__shell {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px;
}

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

.primary-nav__item {
position: relative;
}

.primary-nav__link {
display: block;
padding: 16px 16px;
font-size: 16px;
font-weight: 400;
line-height: 1.4;
color: #2a5f70;
text-decoration: none;
border-radius: 1px;
position: relative;
transition: color 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
white-space: nowrap;
}

.primary-nav__link::after {
content: '';
position: absolute;
bottom: 8px;
left: 16px;
right: 16px;
height: 2px;
background-color: #37788B;
border-radius: 1px;
transform: scaleX(0);
transform-origin: left center;
transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.primary-nav__link:hover {
color: #37788B;
}

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

.primary-nav__link:focus {
outline: 2px solid #37788B;
outline-offset: 2px;
}

.primary-nav__link--active {
color: #37788B;
font-weight: 700;
}

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

.primary-nav__cta {
margin-left: 16px;
}

.primary-nav__cta .button-primary {
display: inline-block;
padding: 8px 16px;
background-color: #37788B;
color: #ffffff;
font-family: 'Red Hat Display', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.4;
text-decoration: none;
border-radius: 11px;
border: none;
cursor: pointer;
transition: padding 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
}

.primary-nav__cta .button-primary:hover {
background-color: #2a5f70;
padding-left: 24px;
padding-right: 24px;
}

.primary-nav__cta .button-primary:focus {
outline: 2px solid #37788B;
outline-offset: 3px;
}

.site-footer {
background: linear-gradient(180deg, #1b4a56 0%, #0f2f39 100%);
padding: 80px 0 0;
}

.footer-upper {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 40px;
}

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

.footer-brand__logo-hold {
background-color: #ffffff;
border-radius: 34px;
padding: 8px 16px;
border: 1px solid rgba(227, 238, 238, 0.2);
box-shadow: -1px 1px 5px -1px rgba(55, 120, 139, 0.07);
display: flex;
align-items: center;
justify-content: center;
width: 120px;
height: 60px;
}

.footer-brand__logo-hold img {
width: 80px;
height: 44px;
object-fit: contain;
display: block;
}

.footer-brand__copy {
font-size: 15px;
font-weight: 300;
line-height: 1.7;
color: #7EB9C0;
}

.footer-brand__address {
font-size: 15px;
font-weight: 300;
line-height: 1.7;
color: rgba(227, 238, 238, 0.7);
font-style: normal;
}

.footer-links-group {
display: flex;
flex-direction: column;
gap: 16px;
}

.footer-links-group__heading {
font-size: 16px;
font-weight: 700;
line-height: 1.4;
color: #E3EEEE;
letter-spacing: -0.01em;
padding-bottom: 8px;
border-bottom: 1px solid rgba(126, 185, 192, 0.25);
border-left: 3px solid #7EB9C0;
padding-left: 8px;
}

.footer-links-group__list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 8px;
}

.footer-links-group__link {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 15px;
font-weight: 300;
line-height: 1.4;
color: rgba(227, 238, 238, 0.75);
text-decoration: none;
border-radius: 20px;
padding: 4px 0;
transition: color 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative;
}

.footer-links-group__link::after {
content: '';
position: absolute;
bottom: 2px;
left: 0;
width: 100%;
height: 1px;
background-color: #7EB9C0;
transform: scaleX(0);
transform-origin: left center;
transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.footer-links-group__link:hover {
color: #E3EEEE;
}

.footer-links-group__link:hover::after {
transform: scaleX(1);
}

.footer-links-group__link:focus {
outline: 2px solid #7EB9C0;
outline-offset: 2px;
}

.footer-contact-item {
display: flex;
align-items: center;
gap: 8px;
font-size: 15px;
font-weight: 300;
line-height: 1.4;
color: rgba(227, 238, 238, 0.75);
text-decoration: none;
transition: color 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.footer-contact-item:hover {
color: #E3EEEE;
}

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

.footer-contact-icon {
width: 16px;
height: 16px;
fill: #7EB9C0;
flex-shrink: 0;
}

.footer-bottom {
margin-top: 40px;
border-top: 1px solid rgba(126, 185, 192, 0.15);
padding: 16px 0;
}

.footer-bottom__shell {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 16px;
}

.footer-bottom__copy {
font-size: 15px;
font-weight: 300;
line-height: 1.4;
color: rgba(126, 185, 192, 0.6);
}

.footer-bottom__legal {
display: flex;
align-items: center;
gap: 16px;
flex-wrap: wrap;
}

.footer-bottom__legal-link {
font-size: 15px;
font-weight: 300;
line-height: 1.4;
color: rgba(126, 185, 192, 0.6);
text-decoration: none;
border-radius: 20px;
padding: 4px 8px;
border: 1px solid rgba(126, 185, 192, 0.2);
transition: color 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.footer-bottom__legal-link:hover {
color: #E3EEEE;
border-color: rgba(126, 185, 192, 0.5);
}

.footer-bottom__legal-link:focus {
outline: 2px solid #7EB9C0;
outline-offset: 2px;
}

.cookie-card {
position: fixed;
top: 16px;
right: 16px;
width: 320px;
background-color: #ffffff;
border-radius: 20px;
box-shadow: -1px 10px 40px -1px rgba(55, 120, 139, 0.11);
z-index: 2000;
padding: 16px;
display: none;
border: 1px solid #E3EEEE;
}

.cookie-card__icon-mount {
width: 40px;
height: 40px;
background-color: #E3EEEE;
border-radius: 11px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 8px;
}

.cookie-card__icon-mount svg {
width: 22px;
height: 22px;
fill: #37788B;
}

.cookie-card__text {
font-family: 'Red Hat Display', sans-serif;
font-size: 15px;
font-weight: 300;
line-height: 1.7;
color: #1b4a56;
margin: 0 0 16px;
}

.cookie-card__toggles {
display: none;
flex-direction: column;
gap: 8px;
margin-bottom: 16px;
padding: 8px;
background-color: #f4fafa;
border-radius: 11px;
}

.cookie-card__toggles--open {
display: flex;
}

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

.toggle-row__label {
font-family: 'Red Hat Display', sans-serif;
font-size: 15px;
font-weight: 400;
line-height: 1.4;
color: #2a5f70;
}

.toggle-row__label--fixed {
color: rgba(42, 95, 112, 0.5);
font-size: 15px;
}

.toggle-row__switch {
position: relative;
width: 40px;
height: 22px;
flex-shrink: 0;
}

.toggle-row__switch input {
opacity: 0;
width: 0;
height: 0;
position: absolute;
}

.toggle-row__track {
position: absolute;
inset: 0;
background-color: #E3EEEE;
border-radius: 20px;
cursor: pointer;
transition: background-color 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.toggle-row__track::before {
content: '';
position: absolute;
width: 16px;
height: 16px;
left: 3px;
top: 3px;
background-color: #ffffff;
border-radius: 20px;
transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.toggle-row__switch input:checked+.toggle-row__track {
background-color: #37788B;
}

.toggle-row__switch input:checked+.toggle-row__track::before {
transform: translateX(18px);
}

.toggle-row__switch input:focus+.toggle-row__track {
outline: 2px solid #37788B;
outline-offset: 2px;
}

.toggle-row__track--fixed {
background-color: rgba(55, 120, 139, 0.3);
cursor: not-allowed;
}

.toggle-row__track--fixed::before {
transform: translateX(18px);
}

.cookie-card__actions {
display: flex;
flex-direction: column;
gap: 8px;
}

.cookie-card__btn {
font-family: 'Red Hat Display', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.4;
text-align: center;
cursor: pointer;
border-radius: 11px;
border: none;
padding: 8px 16px;
transition: padding 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
display: block;
width: 100%;
}

.cookie-card__btn--accept {
background-color: #37788B;
color: #ffffff;
}

.cookie-card__btn--accept:hover {
background-color: #2a5f70;
}

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

.cookie-card__btn--deny {
background-color: transparent;
color: #37788B;
border: 1px solid #7EB9C0;
}

.cookie-card__btn--deny:hover {
background-color: #E3EEEE;
}

.cookie-card__btn--deny:focus {
outline: 2px solid #7EB9C0;
outline-offset: 3px;
}

.cookie-card__foot {
margin-top: 8px;
text-align: center;
}

.cookie-card__settings-link {
font-family: 'Red Hat Display', sans-serif;
font-size: 15px;
font-weight: 300;
line-height: 1.4;
color: #37788B;
text-decoration: underline;
background: none;
border: none;
cursor: pointer;
padding: 4px;
border-radius: 1px;
transition: color 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cookie-card__settings-link:hover {
color: #2a5f70;
}

.cookie-card__settings-link:focus {
outline: 2px solid #37788B;
outline-offset: 2px;
}

.cookie-card__policy-note {
font-family: 'Red Hat Display', sans-serif;
font-size: 15px;
font-weight: 300;
line-height: 1.4;
color: rgba(42, 95, 112, 0.6);
text-align: center;
margin-top: 8px;
}

.cookie-card__policy-note a {
color: #37788B;
text-decoration: underline;
transition: color 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cookie-card__policy-note a:hover {
color: #2a5f70;
}

.cookie-card__policy-note a:focus {
outline: 2px solid #37788B;
outline-offset: 2px;
}

@media (max-width: 1024px) {
.util-bar__shell {
padding: 0 16px;
}

.brand-row {
padding: 16px 16px;
gap: 16px;
}

.nav-row__shell {
padding: 0 16px;
}

.footer-upper {
grid-template-columns: 1fr 1fr;
padding: 0 16px;
}

.footer-bottom__shell {
padding: 0 16px;
}

.brand-accent {
display: none;
}
}

@media (max-width: 640px) {
.util-bar__contacts {
gap: 8px;
}

.util-bar__link span {
display: none;
}

.brand-row {
flex-direction: column;
align-items: flex-start;
gap: 8px;
padding: 16px;
}

.primary-nav {
gap: 0;
}

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

.primary-nav__link::after {
left: 8px;
right: 8px;
}

.primary-nav__cta {
margin-left: 8px;
}

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

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

.cookie-card {
width: calc(100vw - 32px);
right: 16px;
left: 16px;
}
}

.terms-content {
max-width: 1170px;
margin: 0 auto;
padding: 80px 40px;
color: #2a3d42;
line-height: 1.7;
}

.terms-content h1 {
font-size: 58px;
line-height: 1.1;
letter-spacing: -0.03em;
color: #1b3840;
margin-bottom: 40px;
margin-top: 0;
padding-bottom: 16px;
border-bottom: 2px solid #E3EEEE;
}

.terms-content h2 {
font-size: 31px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #1b3840;
margin-top: 80px;
margin-bottom: 16px;
}

.terms-content h3 {
font-size: 23px;
line-height: 1.4;
letter-spacing: -0.01em;
color: #37788B;
margin-top: 40px;
margin-bottom: 16px;
}

.terms-content h4 {
font-size: 19px;
line-height: 1.4;
letter-spacing: -0.01em;
color: #2a3d42;
margin-top: 40px;
margin-bottom: 8px;
}

.terms-content h5 {
font-size: 16px;
line-height: 1.4;
letter-spacing: 0.02em;
text-transform: uppercase;
color: #37788B;
margin-top: 40px;
margin-bottom: 8px;
}

.terms-content h6 {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.03em;
text-transform: uppercase;
color: #7EB9C0;
margin-top: 16px;
margin-bottom: 8px;
}

.terms-content p {
font-size: 16px;
line-height: 1.7;
color: #2a3d42;
margin-top: 0;
margin-bottom: 16px;
max-width: 72ch;
}

.terms-content em,
.terms-content i {
font-style: italic;
color: #37788B;
}

.terms-content a {
color: #37788B;
text-decoration: underline;
text-decoration-color: #7EB9C0;
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: color 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94),
text-decoration-color 0.5s ease;
}

.terms-content a:hover {
color: #1b3840;
text-decoration-color: #37788B;
text-decoration-thickness: 2px;
}

.terms-content hr {
border: none;
border-top: 1px solid #E3EEEE;
margin: 80px 0;
height: 0;
}

.terms-content div {
font-size: 16px;
line-height: 1.7;
}

.terms-content div.notice {
background: #E3EEEE;
border-radius: 11px;
padding: 40px;
margin: 40px 0;
box-shadow: -1px 1px 5px -1px rgba(55, 120, 139, 0.07),
-1px 7px 22px -1px rgba(55, 120, 139, 0.10);
}

.terms-content div.notice p:last-child {
margin-bottom: 0;
}

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

.terms-content h1 {
font-size: 31px;
}

.terms-content h2 {
font-size: 23px;
}

.terms-content h3 {
font-size: 19px;
}
}

@media (max-width: 640px) {
.terms-content {
padding: 40px 16px;
}

.terms-content h1 {
font-size: 23px;
margin-bottom: 16px;
}

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

.terms-content h3 {
font-size: 16px;
margin-top: 40px;
}

.terms-content h4,
.terms-content h5,
.terms-content h6 {
font-size: 15px;
margin-top: 16px;
}

.terms-content hr {
margin: 40px 0;
}

.terms-content div.notice {
padding: 16px;
margin: 16px 0;
}
}

.learning-program-detail {
background: #ffffff;
color: #1e2d35;
overflow-x: hidden;
}

.learning-program-detail .program-top {
max-width: 1170px;
margin: 0 auto;
padding: 80px 40px 40px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: end;
}

.learning-program-detail .program-top__text {
position: relative;
padding-top: 40px;
}

.learning-program-detail .program-top__label {
display: inline-block;
font-size: 15px;
line-height: 1.4;
color: #37788B;
letter-spacing: 0.08em;
text-transform: uppercase;
margin-bottom: 16px;
position: relative;
}

.learning-program-detail .program-top__label::after {
content: '';
display: block;
height: 2px;
width: 40px;
background: linear-gradient(90deg, #37788B, #7EB9C0);
margin-top: 8px;
border-radius: 1px;
animation: line-draw 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
transform-origin: left;
}

@keyframes line-draw {
from {
transform: scaleX(0);
}

to {
transform: scaleX(1);
}
}

.learning-program-detail .program-top__heading {
font-size: 58px;
line-height: 1.1;
letter-spacing: -0.03em;
color: #1e2d35;
margin: 0 0 16px;
}

.learning-program-detail .program-top__heading .accent-word {
display: inline-block;
position: relative;
color: #37788B;
}

.learning-program-detail .program-top__heading .accent-word::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 100%;
height: 3px;
background: linear-gradient(90deg, #37788B, #7EB9C0);
border-radius: 1px;
transform: scaleX(0);
transform-origin: left;
animation: line-draw 0.7s 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.learning-program-detail .program-top__desc {
font-size: 19px;
line-height: 1.7;
color: #3a5060;
margin: 0 0 40px;
max-width: 480px;
}

.learning-program-detail .program-top__curves {
position: absolute;
top: 0;
right: -40px;
width: 200px;
height: 200px;
pointer-events: none;
opacity: 0.18;
}

.learning-program-detail .program-top__image-wrap {
position: relative;
}

.learning-program-detail .program-top__image-clip {
border-radius: 20px 20px 34px 11px;
overflow: hidden;
box-shadow: -1px 10px 40px -1px rgba(55, 120, 139, 0.11);
position: relative;
}

.learning-program-detail .program-top__image-clip::after {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 90% 10%, rgba(30, 45, 53, 0.45) 0%, transparent 60%),
radial-gradient(ellipse at 10% 90%, rgba(30, 45, 53, 0.25) 0%, transparent 50%);
pointer-events: none;
}

.learning-program-detail .program-top__image-clip img {
display: block;
width: 100%;
height: 420px;
object-fit: cover;
filter: saturate(0.9);
loading: lazy;
}

.learning-program-detail .divider-wave {
width: 100%;
overflow: hidden;
line-height: 0;
margin: 0;
}

.learning-program-detail .divider-wave svg {
display: block;
width: 100%;
}

.learning-program-detail .program-body {
background: #E3EEEE;
position: relative;
}

.learning-program-detail .program-body__inner {
max-width: 1170px;
margin: 0 auto;
padding: 80px 40px;
display: grid;
grid-template-columns: 3fr 2fr;
gap: 80px;
align-items: start;
}

.learning-program-detail .program-body__description {
position: relative;
}

.learning-program-detail .program-body__description .desc-heading {
font-size: 31px;
line-height: 1.4;
letter-spacing: -0.02em;
color: #1e2d35;
margin: 0 0 16px;
position: relative;
display: inline-block;
}

.learning-program-detail .program-body__description .desc-heading::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 0;
height: 2px;
background: linear-gradient(90deg, #37788B, #7EB9C0);
border-radius: 1px;
transition: width 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.learning-program-detail .program-body__description:hover .desc-heading::after {
width: 100%;
}

.learning-program-detail .program-body__description .desc-text {
font-size: 16px;
line-height: 1.7;
color: #2e4454;
}

.learning-program-detail .program-body__description .desc-text p {
margin: 0 0 16px;
}

.learning-program-detail .program-body__description .desc-text mark {
background: none;
color: #37788B;
font-weight: 600;
border-bottom: 2px solid #7EB9C0;
padding-bottom: 1px;
}

.learning-program-detail .program-body__description .blockquote-para {
border-top: 3px solid #37788B;
border-radius: 1px;
padding: 16px 16px 16px 16px;
margin: 16px 0;
background: rgba(55, 120, 139, 0.06);
font-size: 19px;
line-height: 1.7;
color: #1e2d35;
font-style: italic;
border-radius: 1px 11px 11px 1px;
box-shadow: inset -1px 1px 5px -1px rgba(55, 120, 139, 0.07);
}

.learning-program-detail .program-body__sidebar {
position: sticky;
top: 40px;
}

.learning-program-detail .price-card {
background: #ffffff;
border-radius: 20px;
padding: 40px;
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
position: relative;
overflow: hidden;
}

.learning-program-detail .price-card::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 120px;
height: 120px;
background: radial-gradient(ellipse at 80% 20%, rgba(126, 185, 192, 0.18) 0%, transparent 70%);
pointer-events: none;
animation: color-bleed 6s ease-in-out infinite alternate;
}

@keyframes color-bleed {
0% {
opacity: 0.4;
transform: scale(1);
}

100% {
opacity: 1;
transform: scale(1.3);
}
}

.learning-program-detail .price-card__label {
font-size: 15px;
line-height: 1.4;
color: #37788B;
letter-spacing: 0.06em;
text-transform: uppercase;
margin-bottom: 8px;
}

.learning-program-detail .price-card__amount {
font-size: 58px;
line-height: 1.1;
letter-spacing: -0.03em;
color: #1e2d35;
font-weight: 700;
margin-bottom: 8px;
}

.learning-program-detail .price-card__note {
font-size: 15px;
line-height: 1.4;
color: #5a7a8a;
margin-bottom: 40px;
}

.learning-program-detail .price-card__cta {
display: block;
width: 100%;
padding: 16px 40px;
background: #37788B;
color: #ffffff;
font-size: 16px;
line-height: 1.4;
border: none;
border-radius: 11px;
cursor: pointer;
text-align: center;
text-decoration: none;
transition: background 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), padding 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.7s ease;
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
letter-spacing: 0.02em;
}

.learning-program-detail .price-card__cta:hover {
background: #2d6275;
padding-left: 48px;
padding-right: 48px;
box-shadow: -1px 10px 40px -1px rgba(55, 120, 139, 0.11);
}

.learning-program-detail .price-card__cta:focus {
outline: 3px solid #7EB9C0;
outline-offset: 3px;
}

.learning-program-detail .price-card__secondary {
display: block;
width: 100%;
padding: 16px 40px;
background: transparent;
color: #37788B;
font-size: 16px;
line-height: 1.4;
border: 2px solid #7EB9C0;
border-radius: 11px;
cursor: pointer;
text-align: center;
text-decoration: none;
margin-top: 8px;
transition: background 0.5s ease, padding 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.5s ease;
}

.learning-program-detail .price-card__secondary:hover {
background: #E3EEEE;
padding-left: 48px;
padding-right: 48px;
}

.learning-program-detail .price-card__secondary:focus {
outline: 3px solid #7EB9C0;
outline-offset: 3px;
}

.learning-program-detail .icon-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-top: 40px;
padding-top: 16px;
border-top: 1px solid #E3EEEE;
}

.learning-program-detail .icon-row__item {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
flex: 1;
}

.learning-program-detail .icon-row__icon {
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
}

.learning-program-detail .icon-row__dashes {
flex: 0 0 20px;
display: flex;
flex-direction: row;
gap: 4px;
align-items: center;
}

.learning-program-detail .icon-row__dash {
width: 4px;
height: 2px;
background: #7EB9C0;
border-radius: 1px;
}

.learning-program-detail .icon-row__text {
font-size: 15px;
line-height: 1.4;
color: #3a5060;
text-align: center;
}

.learning-program-detail .program-stages {
position: relative;
background: #ffffff;
}

.learning-program-detail .stages-diagonal {
position: absolute;
inset: 0;
pointer-events: none;
z-index: 0;
}

.learning-program-detail .stages-diagonal::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 45%;
height: 100%;
background: linear-gradient(160deg, #E3EEEE 0%, #f0f8f8 100%);
clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%);
}

.learning-program-detail .stages-diagonal::after {
content: '';
position: absolute;
top: 0;
right: 0;
width: 60%;
height: 100%;
background: #ffffff;
}

.learning-program-detail .stages-inner {
max-width: 1170px;
margin: 0 auto;
padding: 80px 40px;
position: relative;
z-index: 1;
}

.learning-program-detail .stages-heading {
font-size: 31px;
line-height: 1.4;
letter-spacing: -0.02em;
color: #1e2d35;
margin: 0 0 40px;
max-width: 600px;
}

.learning-program-detail .stages-content {
font-size: 16px;
line-height: 1.7;
color: #2e4454;
}

.learning-program-detail .stages-content h2 {
font-size: 23px;
line-height: 1.4;
letter-spacing: -0.01em;
color: #1e2d35;
margin: 40px 0 8px;
position: relative;
display: inline-block;
}

.learning-program-detail .stages-content h2::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 0;
height: 2px;
background: linear-gradient(90deg, #37788B, #7EB9C0);
border-radius: 1px;
transition: width 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.learning-program-detail .stages-content h2:hover::after {
width: 100%;
}

.learning-program-detail .stages-content h3 {
font-size: 19px;
line-height: 1.4;
color: #37788B;
margin: 16px 0 8px;
}

.learning-program-detail .stages-content p {
margin: 0 0 16px;
}

.learning-program-detail .stages-content strong {
color: #1e2d35;
font-weight: 600;
}

.learning-program-detail .stages-content small {
font-size: 15px;
color: #5a7a8a;
}

.learning-program-detail .stages-content ul {
list-style: none;
padding: 0;
margin: 8px 0 16px;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
gap: 8px;
}

.learning-program-detail .stages-content ul li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
padding: 8px 16px;
background: rgba(55, 120, 139, 0.05);
border-radius: 11px;
font-size: 15px;
line-height: 1.4;
color: #2e4454;
transition: background 0.5s ease;
}

.learning-program-detail .stages-content ul li:hover {
background: rgba(55, 120, 139, 0.10);
}

.learning-program-detail .stages-content ul li::before {
content: '';
display: block;
flex-shrink: 0;
width: 8px;
height: 8px;
border-radius: 1px;
background: #7EB9C0;
margin-top: 4px;
}

.learning-program-detail .stages-content dl {
margin: 8px 0 16px;
}

.learning-program-detail .stages-content dt {
font-size: 16px;
font-weight: 600;
color: #1e2d35;
margin-top: 16px;
}

.learning-program-detail .stages-content dd {
font-size: 15px;
line-height: 1.7;
color: #3a5060;
margin: 4px 0 0 16px;
}

.learning-program-detail .stages-content details {
border-radius: 11px;
border: 1px solid #E3EEEE;
padding: 16px;
margin-bottom: 8px;
background: #ffffff;
box-shadow: -1px 1px 5px -1px rgba(55, 120, 139, 0.07);
transition: box-shadow 0.5s ease;
}

.learning-program-detail .stages-content details[open] {
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
}

.learning-program-detail .stages-content summary {
font-size: 16px;
font-weight: 600;
color: #37788B;
cursor: pointer;
list-style: none;
padding: 4px 0;
}

.learning-program-detail .stages-content summary::-webkit-details-marker {
display: none;
}

.learning-program-detail .stages-content figure {
margin: 16px 0;
border-radius: 11px;
overflow: hidden;
}

.learning-program-detail .stages-content figcaption {
font-size: 15px;
color: #5a7a8a;
padding: 8px 0;
font-style: italic;
}

.learning-program-detail .cert-block {
background: linear-gradient(160deg, #E3EEEE 0%, #ffffff 100%);
position: relative;
}

.learning-program-detail .cert-block__pattern {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
}

.learning-program-detail .cert-block__lines {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0.12;
}

.learning-program-detail .cert-inner {
max-width: 1170px;
margin: 0 auto;
padding: 80px 40px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center;
}

.learning-program-detail .cert-text__heading {
font-size: 31px;
line-height: 1.4;
letter-spacing: -0.02em;
color: #1e2d35;
margin: 0 0 16px;
}

.learning-program-detail .cert-text__body {
font-size: 16px;
line-height: 1.7;
color: #2e4454;
margin: 0 0 40px;
}

.learning-program-detail .cert-text__body p {
margin: 0 0 16px;
}

.learning-program-detail .cert-text__list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 8px;
}

.learning-program-detail .cert-text__list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
font-size: 16px;
line-height: 1.7;
color: #2e4454;
}

.learning-program-detail .cert-text__list li .list-icon {
flex-shrink: 0;
width: 20px;
height: 20px;
margin-top: 2px;
}

.learning-program-detail .cert-visual {
display: flex;
align-items: center;
justify-content: center;
}

.learning-program-detail .cert-frame {
background: #ffffff;
border-radius: 11px;
padding: 40px;
box-shadow: -1px 10px 40px -1px rgba(55, 120, 139, 0.11), inset -1px 1px 5px -1px rgba(55, 120, 139, 0.07);
position: relative;
width: 100%;
max-width: 420px;
text-align: center;
}

.learning-program-detail .cert-frame::before {
content: '';
position: absolute;
inset: 8px;
border: 2px solid #E3EEEE;
border-radius: 11px;
pointer-events: none;
}

.learning-program-detail .cert-frame__top {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 16px;
margin-bottom: 16px;
}

.learning-program-detail .cert-frame__seal {
width: 48px;
height: 48px;
}

.learning-program-detail .cert-frame__title {
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #37788B;
}

.learning-program-detail .cert-frame__name-line {
height: 3px;
background: linear-gradient(90deg, #37788B, #7EB9C0);
border-radius: 1px;
margin: 16px auto;
width: 80%;
}

.learning-program-detail .cert-frame__program {
font-size: 19px;
line-height: 1.4;
font-weight: 600;
color: #1e2d35;
margin-bottom: 8px;
}

.learning-program-detail .cert-frame__sub {
font-size: 15px;
line-height: 1.4;
color: #5a7a8a;
}

.learning-program-detail .cert-frame__footer {
margin-top: 16px;
padding-top: 16px;
border-top: 1px solid #E3EEEE;
font-size: 15px;
color: #37788B;
letter-spacing: 0.04em;
}

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

.learning-program-detail .program-top__image-clip img {
height: 320px;
}

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

.learning-program-detail .program-body__sidebar {
position: static;
}

.learning-program-detail .cert-inner {
grid-template-columns: 1fr;
gap: 40px;
}

.learning-program-detail .stages-diagonal::before {
display: none;
}
}

@media (max-width: 640px) {
.learning-program-detail .program-top {
padding: 40px 16px 16px;
gap: 16px;
}

.learning-program-detail .program-top__heading {
font-size: 31px;
}

.learning-program-detail .program-top__desc {
font-size: 16px;
}

.learning-program-detail .program-body__inner {
padding: 40px 16px;
gap: 40px;
}

.learning-program-detail .stages-inner {
padding: 40px 16px;
}

.learning-program-detail .cert-inner {
padding: 40px 16px;
gap: 40px;
}

.learning-program-detail .price-card {
padding: 16px;
}

.learning-program-detail .price-card__amount {
font-size: 31px;
}

.learning-program-detail .cert-frame {
padding: 16px;
}

.learning-program-detail .stages-content ul {
grid-template-columns: 1fr;
}

.learning-program-detail .program-top__image-clip img {
height: 220px;
}
}

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

.prime .prime__inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px;
}

@keyframes flicker {

0%,
100% {
opacity: 0;
}

50% {
opacity: 1;
}
}

.prime .band-top {
position: relative;
background: #fff;
padding: 40px 0;
}

.prime .band-top__inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px;
display: flex;
flex-direction: row;
align-items: center;
gap: 40px;
}

.prime .band-top__geo {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden;
}

.prime .band-top__geo svg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.prime .band-top__text {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 16px;
position: relative;
z-index: 1;
}

.prime .band-top__label {
font-size: 15px;
line-height: 1.4;
color: #37788B;
letter-spacing: 0.08em;
text-transform: uppercase;
font-weight: 600;
}

.prime .band-top__heading {
font-size: 58px;
line-height: 1.1;
letter-spacing: -0.03em;
color: #1a2e35;
font-weight: 700;
margin: 0;
}

.prime .band-top__heading em {
font-style: normal;
position: relative;
display: inline-block;
}

.prime .band-top__heading em::after {
content: '';
position: absolute;
bottom: 2px;
left: 0;
width: 100%;
height: 3px;
background: linear-gradient(90deg, #37788B, #7EB9C0);
border-radius: 1px;
}

.prime .band-top__tagline {
font-size: 19px;
line-height: 1.7;
color: #2c4a54;
margin: 0;
max-width: 520px;
}

.prime .band-top__actions {
display: flex;
flex-direction: row;
gap: 16px;
align-items: center;
flex-wrap: wrap;
}

.prime .btn-primary {
display: inline-block;
padding: 16px 40px;
background: #37788B;
color: #fff;
font-size: 16px;
line-height: 1.4;
font-weight: 600;
border-radius: 11px;
text-decoration: none;
border: none;
cursor: pointer;
transition: background 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), padding 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
}

.prime .btn-primary:hover {
background: #2c6278;
padding: 16px 48px;
}

.prime .btn-secondary {
display: inline-block;
padding: 16px 40px;
background: transparent;
color: #37788B;
font-size: 16px;
line-height: 1.4;
font-weight: 600;
border-radius: 11px;
text-decoration: none;
border: 2px solid #7EB9C0;
cursor: pointer;
transition: border-color 0.6s ease, color 0.5s ease, padding 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.prime .btn-secondary:hover {
border-color: #37788B;
color: #2c6278;
padding: 16px 48px;
}

.prime .band-top__image-col {
flex: 0 0 320px;
position: relative;
z-index: 1;
}

.prime .band-top__img-wrap {
width: 320px;
height: 360px;
overflow: hidden;
clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 12% 100%, 0 88%);
box-shadow: -1px 10px 40px -1px rgba(55, 120, 139, 0.11);
}

.prime .band-top__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.prime .value-block {
background: #f0f8f9;
padding: 80px 0;
position: relative;
}

.prime .value-block::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 40px;
background: #fff;
clip-path: ellipse(55% 100% at 50% 0%);
}

.prime .value-block__inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px;
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start;
}

.prime .value-block__left {
flex: 0 0 340px;
}

.prime .value-block__right {
flex: 1 1 0;
}

.prime .value-block__kicker {
font-size: 15px;
color: #37788B;
font-weight: 600;
letter-spacing: 0.07em;
text-transform: uppercase;
margin-bottom: 16px;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
}

.prime .value-block__kicker-diamond {
width: 8px;
height: 8px;
background: #7EB9C0;
transform: rotate(45deg);
display: inline-block;
flex-shrink: 0;
}

.prime .value-block__heading {
font-size: 31px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #1a2e35;
font-weight: 700;
margin: 0 0 16px 0;
position: relative;
display: inline-block;
}

.prime .value-block__heading::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 0;
height: 2px;
background: linear-gradient(90deg, #37788B, #7EB9C0);
border-radius: 1px;
animation: draw-line 0.8s 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

@keyframes draw-line {
to {
width: 100%;
}
}

.prime .value-block__quote {
font-size: 19px;
line-height: 1.7;
color: #2c4a54;
border-top: 3px solid #7EB9C0;
padding-top: 16px;
margin: 0 0 40px 0;
font-weight: 500;
}

.prime .value-block__body {
font-size: 16px;
line-height: 1.7;
color: #3a5560;
margin: 0 0 16px 0;
}

.prime .value-block__image {
width: 100%;
height: 260px;
object-fit: cover;
object-position: center;
border-radius: 11px;
display: block;
box-shadow: -1px 7px 22px -1px rgba(126, 185, 192, 0.10);
}

.prime .value-block__metrics {
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 40px;
}

.prime .value-block__metric {
display: flex;
flex-direction: column;
gap: 8px;
}

.prime .value-block__metric-label {
font-size: 15px;
color: #37788B;
font-weight: 600;
display: flex;
flex-direction: row;
justify-content: space-between;
}

.prime .value-block__bar-track {
height: 8px;
background: #E3EEEE;
border-radius: 20px;
overflow: hidden;
}

.prime .value-block__bar-fill {
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, #37788B, #7EB9C0);
animation: bar-grow 1s 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
transform-origin: left;
}

@keyframes bar-grow {
from {
transform: scaleX(0);
}

to {
transform: scaleX(1);
}
}

.prime .value-block__bar-fill--a {
width: 82%;
}

.prime .value-block__bar-fill--b {
width: 67%;
}

.prime .value-block__bar-fill--c {
width: 74%;
}

.prime .value-block__bar-fill--a2 {
width: 58%;
background: linear-gradient(90deg, #7EB9C0, #E3EEEE);
}

.prime .value-block__bar-fill--b2 {
width: 43%;
background: linear-gradient(90deg, #7EB9C0, #E3EEEE);
}

.prime .value-block__bar-fill--c2 {
width: 51%;
background: linear-gradient(90deg, #7EB9C0, #E3EEEE);
}

.prime .value-block__bar-group {
display: flex;
flex-direction: column;
gap: 4px;
}

.prime .value-block__bar-legend {
display: flex;
flex-direction: row;
gap: 16px;
font-size: 15px;
color: #3a5560;
margin-top: 8px;
}

.prime .value-block__legend-dot {
width: 10px;
height: 10px;
border-radius: 1px;
display: inline-block;
margin-right: 4px;
flex-shrink: 0;
position: relative;
top: 2px;
}

.prime .offer-block {
background: #fff;
padding: 80px 0;
position: relative;
}

.prime .offer-block__inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px;
}

.prime .offer-block__top {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
margin-bottom: 40px;
gap: 40px;
}

.prime .offer-block__heading {
font-size: 31px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #1a2e35;
font-weight: 700;
margin: 0;
}

.prime .offer-block__sub {
font-size: 16px;
line-height: 1.7;
color: #3a5560;
margin: 0;
max-width: 380px;
}

.prime .offer-block__grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 16px;
}

.prime .offer-card {
background: #fff;
border-radius: 20px;
padding: 40px;
box-shadow: inset -1px 1px 5px -1px rgba(55, 120, 139, 0.07), -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
display: flex;
flex-direction: column;
gap: 16px;
transition: box-shadow 0.6s ease, transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative;
}

.prime .offer-block__grid:hover .offer-card {
opacity: 0.55;
transition: opacity 0.5s ease, box-shadow 0.6s ease, transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.prime .offer-block__grid:hover .offer-card:hover {
opacity: 1;
transform: translateY(-4px);
box-shadow: inset -1px 1px 5px -1px rgba(55, 120, 139, 0.07), -1px 10px 40px -1px rgba(55, 120, 139, 0.11);
}

.prime .offer-card__icon {
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
background: #E3EEEE;
border-radius: 11px;
flex-shrink: 0;
}

.prime .offer-card__icon svg {
width: 22px;
height: 22px;
}

.prime .offer-card__name {
font-size: 19px;
line-height: 1.4;
color: #1a2e35;
font-weight: 700;
margin: 0;
}

.prime .offer-card__desc {
font-size: 16px;
line-height: 1.7;
color: #3a5560;
margin: 0;
flex: 1 1 auto;
}

.prime .offer-card__link {
font-size: 15px;
color: #37788B;
font-weight: 600;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 8px;
position: relative;
align-self: flex-start;
}

.prime .offer-card__link::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 0;
height: 2px;
background: linear-gradient(90deg, #37788B, #7EB9C0);
border-radius: 1px;
transition: width 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.prime .offer-card__link:hover::after {
width: 100%;
}

.prime .offer-card__img {
width: 100%;
height: 180px;
object-fit: cover;
object-position: center;
border-radius: 11px;
display: block;
}

.prime .offer-card--wide {
grid-column: span 2;
flex-direction: row;
align-items: flex-start;
}

.prime .offer-card--wide .offer-card__content {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 16px;
}

.prime .offer-card--wide .offer-card__img {
width: 220px;
height: 100%;
flex-shrink: 0;
border-radius: 11px;
}

.prime .gap-block {
background: #37788B;
padding: 80px 0;
position: relative;
overflow: hidden;
}

.prime .gap-block__flicker {
position: absolute;
border-radius: 34px;
pointer-events: none;
}

.prime .gap-block__flicker--a {
width: 180px;
height: 180px;
background: rgba(126, 185, 192, 0.12);
top: -40px;
right: 120px;
animation: flicker 4s 0.5s ease infinite;
}

.prime .gap-block__flicker--b {
width: 100px;
height: 100px;
background: rgba(227, 238, 238, 0.08);
bottom: 40px;
left: 80px;
animation: flicker 6s 2s ease infinite;
}

.prime .gap-block__inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center;
}

.prime .gap-block__text {
display: flex;
flex-direction: column;
gap: 16px;
}

.prime .gap-block__heading {
font-size: 31px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #fff;
font-weight: 700;
margin: 0;
}

.prime .gap-block__heading em {
font-style: normal;
color: #7EB9C0;
}

.prime .gap-block__body {
font-size: 16px;
line-height: 1.7;
color: rgba(255, 255, 255, 0.88);
margin: 0;
}

.prime .gap-block__quote {
font-size: 19px;
line-height: 1.7;
color: #E3EEEE;
border-top: 2px solid rgba(126, 185, 192, 0.5);
padding-top: 16px;
margin: 0;
font-weight: 500;
}

.prime .gap-block__pairs {
display: flex;
flex-direction: column;
gap: 16px;
}

.prime .gap-pair {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
align-items: stretch;
}

.prime .gap-pair__before,
.prime .gap-pair__after {
padding: 16px;
border-radius: 11px;
font-size: 15px;
line-height: 1.4;
}

.prime .gap-pair__before {
background: rgba(255, 255, 255, 0.08);
color: rgba(255, 255, 255, 0.7);
border: 1px solid rgba(255, 255, 255, 0.12);
}

.prime .gap-pair__after {
background: rgba(227, 238, 238, 0.15);
color: #E3EEEE;
border: 1px solid rgba(126, 185, 192, 0.3);
font-weight: 600;
}

.prime .gap-pair__sep {
display: flex;
align-items: center;
justify-content: center;
}

.prime .gap-pair__sep-diamond {
width: 8px;
height: 8px;
background: #7EB9C0;
transform: rotate(45deg);
display: block;
}

.prime .rec-block {
background: #fff;
padding: 80px 0;
position: relative;
}

.prime .rec-block::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 40px;
background: #f0f8f9;
clip-path: ellipse(55% 100% at 50% 100%);
}

.prime .rec-block__inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px;
display: grid;
grid-template-columns: 2fr 1fr;
gap: 80px;
align-items: start;
}

.prime .rec-block__stories {
display: flex;
flex-direction: column;
gap: 40px;
}

.prime .rec-block__heading {
font-size: 31px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #1a2e35;
font-weight: 700;
margin: 0 0 16px 0;
}

.prime .rec-story {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
padding: 40px;
border-radius: 20px;
background: #f7fbfb;
box-shadow: inset -1px 1px 5px -1px rgba(55, 120, 139, 0.07);
transition: box-shadow 0.7s ease;
}

.prime .rec-story:hover {
box-shadow: inset -1px 1px 5px -1px rgba(55, 120, 139, 0.07), -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
}

.prime .rec-story__portrait {
width: 80px;
height: 112px;
flex-shrink: 0;
overflow: hidden;
}

.prime .rec-story__portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.prime .rec-story__body {
display: flex;
flex-direction: column;
gap: 8px;
flex: 1 1 0;
}

.prime .rec-story__quote {
font-size: 16px;
line-height: 1.7;
color: #2c4a54;
margin: 0;
font-style: italic;
}

.prime .rec-story__name {
font-size: 15px;
color: #37788B;
font-weight: 700;
margin: 0;
}

.prime .rec-story__role {
font-size: 15px;
color: #5a7a84;
margin: 0;
}

.prime .rec-block__sidebar {
display: flex;
flex-direction: column;
gap: 16px;
position: sticky;
top: 40px;
}

.prime .rec-block__sidebar-img {
width: 100%;
height: 240px;
object-fit: cover;
object-position: center;
border-radius: 11px;
display: block;
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
}

.prime .rec-block__sidebar-note {
font-size: 15px;
line-height: 1.7;
color: #3a5560;
padding: 16px;
background: #E3EEEE;
border-radius: 11px;
}

.prime .rec-block__stats {
display: flex;
flex-direction: column;
gap: 8px;
}

.prime .rec-stat {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
padding: 8px 16px;
background: #fff;
border-radius: 11px;
border: 1px solid #E3EEEE;
}

.prime .rec-stat__num {
font-size: 23px;
font-weight: 700;
color: #37788B;
line-height: 1.1;
}

.prime .rec-stat__label {
font-size: 15px;
color: #3a5560;
line-height: 1.4;
}

.prime .doubt-block {
background: #f0f8f9;
padding: 80px 0;
position: relative;
}

.prime .doubt-block__inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 40px;
align-items: start;
}

.prime .doubt-block__main {
grid-column: span 2;
display: flex;
flex-direction: column;
gap: 16px;
}

.prime .doubt-block__heading {
font-size: 31px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #1a2e35;
font-weight: 700;
margin: 0;
}

.prime .doubt-block__quote {
font-size: 19px;
line-height: 1.7;
color: #37788B;
border-top: 3px solid #7EB9C0;
padding-top: 16px;
margin: 0;
font-weight: 500;
}

.prime .doubt-block__body {
font-size: 16px;
line-height: 1.7;
color: #3a5560;
margin: 0;
}

.prime .doubt-block__pairs {
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 8px;
}

.prime .doubt-pair {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
}

.prime .doubt-pair__icon {
width: 32px;
height: 32px;
flex-shrink: 0;
background: #E3EEEE;
border-radius: 11px;
display: flex;
align-items: center;
justify-content: center;
}

.prime .doubt-pair__icon svg {
width: 16px;
height: 16px;
}

.prime .doubt-pair__text {
font-size: 16px;
line-height: 1.7;
color: #2c4a54;
}

.prime .doubt-pair__text strong {
color: #1a2e35;
font-weight: 700;
}

.prime .doubt-block__aside {
display: flex;
flex-direction: column;
gap: 16px;
}

.prime .doubt-block__aside-img {
width: 100%;
height: 220px;
object-fit: cover;
object-position: center;
border-radius: 11px;
display: block;
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
}

.prime .doubt-block__aside-card {
padding: 16px;
background: #fff;
border-radius: 11px;
box-shadow: inset -1px 1px 5px -1px rgba(55, 120, 139, 0.07), -1px 1px 5px -1px rgba(55, 120, 139, 0.07);
display: flex;
flex-direction: column;
gap: 8px;
}

.prime .doubt-block__aside-card-label {
font-size: 15px;
font-weight: 700;
color: #37788B;
}

.prime .doubt-block__aside-card-text {
font-size: 15px;
line-height: 1.7;
color: #3a5560;
margin: 0;
}

@media (max-width: 1024px) {
.prime .band-top__heading {
font-size: 40px;
}

.prime .band-top__image-col {
flex: 0 0 240px;
}

.prime .band-top__img-wrap {
width: 240px;
height: 280px;
}

.prime .value-block__inner {
flex-direction: column;
gap: 40px;
}

.prime .value-block__left {
flex: none;
width: 100%;
}

.prime .offer-block__grid {
grid-template-columns: 1fr 1fr;
}

.prime .offer-card--wide {
grid-column: span 2;
}

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

.prime .rec-block__inner {
grid-template-columns: 1fr;
gap: 40px;
}

.prime .rec-block__sidebar {
position: static;
}

.prime .doubt-block__inner {
grid-template-columns: 1fr;
gap: 40px;
}

.prime .doubt-block__main {
grid-column: span 1;
}
}

@media (max-width: 640px) {
.prime .band-top__inner {
flex-direction: column;
gap: 40px;
}

.prime .band-top__heading {
font-size: 31px;
}

.prime .band-top__image-col {
flex: none;
width: 100%;
}

.prime .band-top__img-wrap {
width: 100%;
height: 260px;
}

.prime .prime__inner {
padding: 0 16px;
}

.prime .value-block__inner,
.prime .offer-block__inner,
.prime .gap-block__inner,
.prime .rec-block__inner,
.prime .doubt-block__inner {
padding: 0 16px;
}

.prime .band-top__inner {
padding: 0 16px;
}

.prime .offer-block__grid {
grid-template-columns: 1fr;
}

.prime .offer-card--wide {
grid-column: span 1;
flex-direction: column;
}

.prime .offer-card--wide .offer-card__img {
width: 100%;
height: 180px;
}

.prime .offer-block__top {
flex-direction: column;
align-items: flex-start;
}

.prime .gap-block__pairs {
gap: 8px;
}

.prime .rec-story {
flex-direction: column;
}

.prime .band-top__actions {
flex-direction: column;
align-items: flex-start;
}

.prime .value-block {
padding: 40px 0;
}

.prime .offer-block {
padding: 40px 0;
}

.prime .gap-block {
padding: 40px 0;
}

.prime .rec-block {
padding: 40px 0;
}

.prime .doubt-block {
padding: 40px 0;
}
}

.learning-program {
background: #ffffff;
overflow-x: clip;
}

.learning-program .program-grid__card {
background: #ffffff;
border-radius: 20px;
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
overflow: hidden;
display: flex;
flex-direction: column;
transition: box-shadow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative;
}

.learning-program .program-grid__card:hover {
box-shadow: -1px 10px 40px -1px rgba(55, 120, 139, 0.11);
transform: translateY(-4px);
}

.learning-program .card__image-wrap {
width: 100%;
aspect-ratio: 16/9;
overflow: hidden;
position: relative;
background: #E3EEEE;
}

.learning-program .card__image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0.85) brightness(0.97);
transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.learning-program .program-grid__card:hover .card__image-wrap img {
transform: scale(1.04);
}

.learning-program .card__body {
padding: 40px;
display: flex;
flex-direction: column;
gap: 16px;
flex: 1;
}

.learning-program .card__heading {
font-size: 23px;
line-height: 1.4;
letter-spacing: -0.02em;
color: #1b3a44;
margin: 0;
position: relative;
display: inline-block;
}

.learning-program .card__heading::after {
content: '';
display: block;
height: 2px;
width: 0;
background: linear-gradient(90deg, #37788B, #7EB9C0);
border-radius: 1px;
transition: width 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
margin-top: 4px;
}

.learning-program .program-grid__card:hover .card__heading::after {
width: 100%;
}

.learning-program .card__description {
font-size: 16px;
line-height: 1.7;
color: #2c4f5a;
margin: 0;
flex: 1;
}

.learning-program .card__footer {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 16px;
margin-top: 8px;
flex-wrap: wrap;
}

.learning-program .card__price {
font-size: 23px;
line-height: 1.1;
color: #37788B;
font-weight: 700;
letter-spacing: -0.01em;
}

.learning-program .card__link {
display: inline-block;
padding: 8px 40px;
background: #37788B;
color: #ffffff;
font-size: 15px;
line-height: 1.4;
border-radius: 11px;
text-decoration: none;
transition: padding 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.5s ease;
white-space: nowrap;
}

.learning-program .card__link:hover {
padding: 8px 52px;
background: #2d6478;
}

.learning-program .card__link:focus {
outline: 2px solid #37788B;
outline-offset: 3px;
}

.learning-program .page-band {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px;
}

.learning-program .programs-area {
padding: 80px 0;
background: #ffffff;
position: relative;
}

.learning-program .programs-area__head {
margin-bottom: 40px;
}

.learning-program .programs-area__label {
font-size: 15px;
line-height: 1.4;
color: #37788B;
letter-spacing: 0.04em;
text-transform: uppercase;
margin: 0 0 8px 0;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
}

.learning-program .label-stroke {
display: inline-block;
width: 28px;
height: 2px;
background: #7EB9C0;
border-radius: 1px;
flex-shrink: 0;
}

.learning-program .programs-area__heading {
font-size: 58px;
line-height: 1.1;
letter-spacing: -0.03em;
color: #1b3a44;
margin: 0 0 16px 0;
max-width: 640px;
}

.learning-program .programs-area__heading span {
display: inline-block;
position: relative;
}

.learning-program .programs-area__heading span::after {
content: '';
display: block;
height: 3px;
width: 100%;
background: linear-gradient(90deg, #37788B, #7EB9C0 80%);
border-radius: 1px;
position: absolute;
bottom: -2px;
left: 0;
}

.learning-program .programs-area__sub {
font-size: 19px;
line-height: 1.7;
color: #2c4f5a;
margin: 0;
max-width: 560px;
}

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

.learning-program .divider-diagonal {
width: 100%;
height: 40px;
position: relative;
overflow: hidden;
}

.learning-program .divider-diagonal::after {
content: '';
position: absolute;
top: 50%;
left: 0;
width: 100%;
height: 2px;
background: linear-gradient(135deg, transparent 0%, #7EB9C0 40%, #37788B 65%, transparent 100%);
transform: rotate(-1.2deg);
transform-origin: left center;
}

.learning-program .experts-area {
padding: 80px 0;
background: linear-gradient(160deg, #E3EEEE 0%, #f4f9f9 55%, #eaf4f5 100%);
position: relative;
}

.learning-program .experts-area::before {
content: '';
position: absolute;
inset: 0;
background-image:
linear-gradient(rgba(55, 120, 139, 0.07) 1px, transparent 1px),
linear-gradient(90deg, rgba(55, 120, 139, 0.07) 1px, transparent 1px);
background-size: 32px 32px;
pointer-events: none;
}

.learning-program .experts-area__inner {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: start;
position: relative;
}

.learning-program .experts-area__text-col {
display: flex;
flex-direction: column;
gap: 16px;
}

.learning-program .experts-area__label {
font-size: 15px;
line-height: 1.4;
color: #37788B;
letter-spacing: 0.04em;
text-transform: uppercase;
margin: 0;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
}

.learning-program .experts-area__heading {
font-size: 31px;
line-height: 1.4;
letter-spacing: -0.02em;
color: #1b3a44;
margin: 0;
}

.learning-program .experts-area__body {
font-size: 16px;
line-height: 1.7;
color: #2c4f5a;
margin: 0;
}

.learning-program .experts-area__quote {
border-radius: 11px;
background: #ffffff;
padding: 40px;
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
font-size: 19px;
line-height: 1.7;
color: #1b3a44;
position: relative;
}

.learning-program .experts-area__quote::before {
content: '';
position: absolute;
top: 16px;
left: 40px;
width: 40px;
height: 3px;
background: linear-gradient(90deg, #37788B, #7EB9C0);
border-radius: 1px;
}

.learning-program .experts-area__quote p {
margin: 16px 0 0 0;
font-size: 16px;
line-height: 1.7;
color: #2c4f5a;
}

.learning-program .experts-area__profiles {
display: flex;
flex-direction: column;
gap: 40px;
}

.learning-program .profile-card {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
background: #ffffff;
border-radius: 20px;
padding: 40px;
box-shadow: -1px 1px 5px -1px rgba(55, 120, 139, 0.07);
box-sizing: border-box;
}

.learning-program .profile-card__portrait {
width: 80px;
height: 80px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
}

.learning-program .profile-card__portrait img {
width: 80px;
height: 80px;
object-fit: cover;
object-position: center;
display: block;
}

.learning-program .profile-card__info {
display: flex;
flex-direction: column;
gap: 8px;
flex: 1;
}

.learning-program .profile-card__name {
font-size: 19px;
line-height: 1.4;
color: #1b3a44;
font-weight: 700;
margin: 0;
}

.learning-program .profile-card__role {
font-size: 15px;
line-height: 1.4;
color: #37788B;
margin: 0;
}

.learning-program .profile-card__bio {
font-size: 15px;
line-height: 1.7;
color: #2c4f5a;
margin: 0;
}

.learning-program .metrics-area {
padding: 80px 0;
background: #ffffff;
position: relative;
}

.learning-program .metrics-area__inner {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: center;
}

.learning-program .metrics-area__image-col {
position: relative;
}

.learning-program .metrics-area__image-wrap {
border-radius: 20px;
overflow: hidden;
box-shadow: -1px 10px 40px -1px rgba(55, 120, 139, 0.11);
position: relative;
}

.learning-program .metrics-area__image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0.8) brightness(0.96);
min-height: 360px;
}

.learning-program .metrics-area__bracket {
position: absolute;
bottom: -16px;
right: -16px;
width: 48px;
height: 48px;
border-bottom: 3px solid #37788B;
border-right: 3px solid #37788B;
border-radius: 0 0 11px 0;
pointer-events: none;
}

.learning-program .metrics-area__bracket--top {
bottom: auto;
right: auto;
top: -16px;
left: -16px;
border-bottom: none;
border-right: none;
border-top: 3px solid #7EB9C0;
border-left: 3px solid #7EB9C0;
border-radius: 11px 0 0 0;
}

.learning-program .metrics-area__text-col {
display: flex;
flex-direction: column;
gap: 16px;
}

.learning-program .metrics-area__label {
font-size: 15px;
line-height: 1.4;
color: #37788B;
letter-spacing: 0.04em;
text-transform: uppercase;
margin: 0;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
}

.learning-program .metrics-area__heading {
font-size: 31px;
line-height: 1.4;
letter-spacing: -0.02em;
color: #1b3a44;
margin: 0;
}

.learning-program .metrics-area__body {
font-size: 16px;
line-height: 1.7;
color: #2c4f5a;
margin: 0;
}

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

.learning-program .metrics-list__item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
}

.learning-program .metrics-list__icon {
width: 40px;
height: 40px;
flex-shrink: 0;
border-radius: 11px;
background: #E3EEEE;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
animation: float-icon 3.8s ease-in-out infinite;
}

.learning-program .metrics-list__item:nth-child(2) .metrics-list__icon {
animation-delay: 0.7s;
animation-duration: 4.2s;
}

.learning-program .metrics-list__item:nth-child(3) .metrics-list__icon {
animation-delay: 1.4s;
animation-duration: 3.5s;
}

.learning-program .metrics-list__item:nth-child(4) .metrics-list__icon {
animation-delay: 0.3s;
animation-duration: 4.6s;
}

@keyframes float-icon {

0%,
100% {
transform: translateY(0);
}

50% {
transform: translateY(-5px);
}
}

.learning-program .metrics-list__icon svg {
width: 20px;
height: 20px;
display: block;
}

.learning-program .metrics-list__text {
display: flex;
flex-direction: column;
gap: 4px;
}

.learning-program .metrics-list__term {
font-size: 16px;
line-height: 1.4;
color: #1b3a44;
font-weight: 600;
margin: 0;
}

.learning-program .metrics-list__detail {
font-size: 15px;
line-height: 1.7;
color: #2c4f5a;
margin: 0;
}

.learning-program .deco-strokes {
position: absolute;
top: 40px;
right: 0;
display: flex;
flex-direction: column;
gap: 8px;
pointer-events: none;
overflow: hidden;
}

.learning-program .deco-strokes__line {
height: 2px;
background: #7EB9C0;
border-radius: 1px;
opacity: 0.35;
}

.learning-program .deco-strokes__line:nth-child(1) {
width: 48px;
}

.learning-program .deco-strokes__line:nth-child(2) {
width: 36px;
}

.learning-program .deco-strokes__line:nth-child(3) {
width: 56px;
}

.learning-program .deco-strokes__line:nth-child(4) {
width: 28px;
}

.learning-program .deco-strokes__line:nth-child(5) {
width: 44px;
}

@media (max-width: 1024px) {
.learning-program .program-grid {
grid-template-columns: repeat(2, 1fr);
gap: 40px;
}

.learning-program .programs-area__heading {
font-size: 31px;
}

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

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

.learning-program .metrics-area__image-col {
order: -1;
}
}

@media (max-width: 640px) {
.learning-program .page-band {
padding: 0 16px;
}

.learning-program .programs-area {
padding: 40px 0;
}

.learning-program .program-grid {
grid-template-columns: 1fr;
gap: 16px;
}

.learning-program .programs-area__heading {
font-size: 23px;
}

.learning-program .card__body {
padding: 16px;
}

.learning-program .experts-area {
padding: 40px 0;
}

.learning-program .experts-area__quote {
padding: 16px;
}

.learning-program .profile-card {
padding: 16px;
flex-direction: column;
}

.learning-program .metrics-area {
padding: 40px 0;
}

.learning-program .card__footer {
flex-direction: column;
align-items: flex-start;
}

.learning-program .card__link {
width: 100%;
text-align: center;
}
}

.why-choose {
background: #ffffff;
overflow-x: clip;
}

.why-choose .pill {
display: inline-flex;
align-items: center;
gap: 8px;
background: #E3EEEE;
color: #37788B;
font-size: 15px;
line-height: 1.4;
padding: 4px 16px;
border-radius: 34px;
font-weight: 600;
letter-spacing: 0.04em;
}

.why-choose .accent-word {
position: relative;
display: inline-block;
color: #37788B;
}

.why-choose .accent-word::after {
content: '';
position: absolute;
bottom: -3px;
left: 0;
width: 100%;
height: 2px;
background: linear-gradient(90deg, #37788B, #7EB9C0);
border-radius: 1px;
}

.why-choose .gradient-link {
text-decoration: none;
background: linear-gradient(90deg, #37788B, #7EB9C0) no-repeat bottom left;
background-size: 0% 2px;
padding-bottom: 2px;
color: inherit;
transition: background-size 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.why-choose .gradient-link:hover {
background-size: 100% 2px;
}

.why-choose .btn-primary {
display: inline-flex;
align-items: center;
gap: 8px;
background: #37788B;
color: #ffffff;
font-size: 16px;
line-height: 1.4;
padding: 16px 40px;
border-radius: 11px;
border: none;
cursor: pointer;
font-weight: 600;
text-decoration: none;
transition: padding 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.55s ease;
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
}

.why-choose .btn-primary:hover {
background: #2d6478;
padding-left: 48px;
padding-right: 48px;
}

.why-choose .btn-secondary {
display: inline-flex;
align-items: center;
gap: 8px;
background: transparent;
color: #37788B;
font-size: 16px;
line-height: 1.4;
padding: 16px 40px;
border-radius: 11px;
border: 2px solid #7EB9C0;
cursor: pointer;
font-weight: 600;
text-decoration: none;
transition: padding 0.6s ease, border-color 0.6s ease;
}

.why-choose .btn-secondary:hover {
border-color: #37788B;
padding-left: 48px;
padding-right: 48px;
}

.why-choose .btn-ghost {
display: inline-flex;
align-items: center;
gap: 8px;
background: transparent;
color: #37788B;
font-size: 16px;
line-height: 1.4;
padding: 16px 40px;
border-radius: 11px;
border: none;
cursor: pointer;
font-weight: 600;
text-decoration: none;
transition: padding 0.5s ease;
}

.why-choose .btn-ghost:hover {
padding-left: 48px;
padding-right: 48px;
}

.why-choose .divider-triangle {
width: 100%;
overflow: hidden;
line-height: 0;
}

.why-choose .divider-triangle svg {
display: block;
width: 100%;
}

.why-choose .strip-edge {
position: absolute;
top: 0;
left: 0;
width: 5px;
height: 100%;
background: linear-gradient(180deg, #37788B, #7EB9C0);
border-radius: 1px;
}

.why-choose .strip-edge--right {
left: auto;
right: 0;
}

@keyframes wipeIn {
from {
clip-path: inset(0 100% 0 0);
}

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

@keyframes slowZoom {
from {
transform: scale(1.08);
}

to {
transform: scale(1);
}
}

@keyframes drawLine {
from {
width: 0;
}

to {
width: 100%;
}
}

.why-choose .draw-line {
display: inline-block;
position: relative;
}

.why-choose .draw-line::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
height: 3px;
background: linear-gradient(90deg, #37788B, #7EB9C0);
border-radius: 1px;
animation: drawLine 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s both;
}

.why-choose .image-wipe {
animation: wipeIn 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s both;
}

.why-choose .image-wipe img {
animation: slowZoom 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s both;
}

.why-choose .top-band {
max-width: 1170px;
margin: 0 auto;
padding: 80px 40px 40px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: center;
}

.why-choose .top-band__text {
display: flex;
flex-direction: column;
gap: 16px;
}

.why-choose .top-band__heading {
font-size: 58px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #1b3d47;
margin: 0;
}

.why-choose .top-band__sub {
font-size: 19px;
line-height: 1.7;
color: #2e5a68;
margin: 0;
max-width: 480px;
}

.why-choose .top-band__actions {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
margin-top: 8px;
}

.why-choose .top-band__image {
position: relative;
border-radius: 20px;
overflow: hidden;
box-shadow: -1px 10px 40px -1px rgba(55, 120, 139, 0.11);
aspect-ratio: 16/10;
}

.why-choose .top-band__image img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0.9) brightness(0.97);
}

.why-choose .top-band__wave {
width: 100%;
overflow: hidden;
line-height: 0;
margin-top: 40px;
}

.why-choose .reasons-band {
background: #E3EEEE;
position: relative;
padding: 80px 0 0;
}

.why-choose .reasons-band__inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px 80px;
position: relative;
}

.why-choose .reasons-band__label {
margin-bottom: 40px;
}

.why-choose .reasons-band__heading {
font-size: 31px;
line-height: 1.1;
letter-spacing: -0.015em;
color: #1b3d47;
margin: 0 0 16px;
}

.why-choose .reasons-band__intro {
font-size: 16px;
line-height: 1.7;
color: #2e5a68;
margin: 0;
max-width: 560px;
}

.why-choose .reasons-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
margin-top: 40px;
}

.why-choose .reason-card {
background: #ffffff;
border-radius: 20px;
padding: 40px;
position: relative;
box-shadow: -1px 1px 5px -1px rgba(55, 120, 139, 0.07), inset 0 2px 8px rgba(126, 185, 192, 0.07);
display: flex;
flex-direction: column;
gap: 16px;
transition: box-shadow 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.why-choose .reason-card:hover {
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10), inset 0 2px 8px rgba(126, 185, 192, 0.07);
}

.why-choose .reason-card__icon {
width: 48px;
height: 48px;
background: #E3EEEE;
border-radius: 11px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.why-choose .reason-card__icon svg {
width: 24px;
height: 24px;
}

.why-choose .reason-card__title {
font-size: 19px;
line-height: 1.4;
color: #1b3d47;
margin: 0;
font-weight: 700;
position: relative;
display: inline-block;
}

.why-choose .reason-card__title::after {
content: '';
position: absolute;
bottom: -3px;
left: 0;
width: 0;
height: 2px;
background: linear-gradient(90deg, #37788B, #7EB9C0);
border-radius: 1px;
transition: width 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.why-choose .reason-card:hover .reason-card__title::after {
width: 100%;
}

.why-choose .reason-card__text {
font-size: 15px;
line-height: 1.7;
color: #2e5a68;
margin: 0;
}

.why-choose .steps-band {
background: #ffffff;
position: relative;
padding: 80px 0;
}

.why-choose .steps-band__inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px;
}

.why-choose .steps-band__header {
display: flex;
flex-direction: column;
gap: 16px;
margin-bottom: 80px;
align-items: center;
text-align: center;
}

.why-choose .steps-band__heading {
font-size: 31px;
line-height: 1.1;
letter-spacing: -0.015em;
color: #1b3d47;
margin: 0;
}

.why-choose .steps-band__sub {
font-size: 16px;
line-height: 1.7;
color: #2e5a68;
margin: 0;
max-width: 520px;
}

.why-choose .steps-track {
display: flex;
flex-direction: row;
gap: 0;
position: relative;
align-items: flex-start;
}

.why-choose .steps-track::before {
content: '';
position: absolute;
top: 28px;
left: 40px;
right: 40px;
height: 2px;
background: linear-gradient(90deg, #37788B, #7EB9C0, #E3EEEE);
border-radius: 1px;
z-index: 0;
}

.why-choose .step-item {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
text-align: center;
position: relative;
z-index: 1;
padding: 0 8px;
}

.why-choose .step-item__dot {
width: 56px;
height: 56px;
border-radius: 34px;
background: #37788B;
display: flex;
align-items: center;
justify-content: center;
font-size: 19px;
font-weight: 700;
color: #ffffff;
flex-shrink: 0;
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
transition: background 0.55s ease, transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.why-choose .step-item:hover .step-item__dot {
background: #2d6478;
transform: translateY(-4px);
}

.why-choose .step-item__label {
font-size: 16px;
line-height: 1.4;
color: #1b3d47;
font-weight: 700;
margin: 0;
}

.why-choose .step-item__desc {
font-size: 15px;
line-height: 1.7;
color: #2e5a68;
margin: 0;
}

.why-choose .team-band {
background: #1b3d47;
position: relative;
padding: 80px 0;
overflow: hidden;
}

.why-choose .team-band__geo {
position: absolute;
top: -40px;
right: -40px;
width: 320px;
height: 320px;
border: 40px solid rgba(126, 185, 192, 0.08);
border-radius: 34px;
pointer-events: none;
transform: rotate(18deg);
}

.why-choose .team-band__geo2 {
position: absolute;
bottom: -80px;
left: -40px;
width: 240px;
height: 240px;
border: 40px solid rgba(126, 185, 192, 0.06);
border-radius: 20px;
pointer-events: none;
transform: rotate(-12deg);
}

.why-choose .team-band__inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px;
position: relative;
z-index: 1;
}

.why-choose .team-band__header {
display: flex;
flex-direction: column;
gap: 16px;
margin-bottom: 40px;
}

.why-choose .team-band__heading {
font-size: 31px;
line-height: 1.1;
letter-spacing: -0.015em;
color: #E3EEEE;
margin: 0;
}

.why-choose .team-band__sub {
font-size: 16px;
line-height: 1.7;
color: #7EB9C0;
margin: 0;
max-width: 520px;
}

.why-choose .team-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}

.why-choose .person-card {
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(126, 185, 192, 0.18);
border-radius: 20px;
padding: 40px;
display: flex;
flex-direction: column;
gap: 16px;
transition: background 0.6s ease, border-color 0.6s ease;
-webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);
}

.why-choose .person-card:hover {
background: rgba(255, 255, 255, 0.09);
border-color: rgba(126, 185, 192, 0.38);
}

.why-choose .person-card__portrait {
width: 80px;
height: 100px;
border-radius: 11px;
overflow: hidden;
flex-shrink: 0;
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
}

.why-choose .person-card__portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.why-choose .person-card__name {
font-size: 19px;
line-height: 1.4;
color: #E3EEEE;
font-weight: 700;
margin: 0;
}

.why-choose .person-card__role {
font-size: 15px;
line-height: 1.4;
color: #7EB9C0;
margin: 0;
font-weight: 600;
}

.why-choose .person-card__quote {
font-size: 15px;
line-height: 1.7;
color: rgba(227, 238, 238, 0.80);
margin: 0;
border-top: 1px solid rgba(126, 185, 192, 0.15);
padding-top: 16px;
font-style: italic;
}

.why-choose .person-card--no-portrait .person-card__avatar {
width: 80px;
height: 80px;
border-radius: 11px;
background: linear-gradient(135deg, #37788B, #7EB9C0);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.why-choose .person-card--no-portrait .person-card__avatar svg {
width: 36px;
height: 36px;
}

@media (max-width: 1024px) {
.why-choose .top-band {
grid-template-columns: 1fr;
padding: 40px 40px 40px;
gap: 40px;
}

.why-choose .top-band__heading {
font-size: 31px;
}

.why-choose .reasons-grid {
grid-template-columns: 1fr 1fr;
}

.why-choose .team-grid {
grid-template-columns: 1fr 1fr;
}

.why-choose .steps-track {
flex-direction: column;
gap: 40px;
}

.why-choose .steps-track::before {
top: 28px;
bottom: 28px;
left: 27px;
right: auto;
width: 2px;
height: auto;
}

.why-choose .step-item {
flex-direction: row;
text-align: left;
align-items: flex-start;
}

.why-choose .step-item__content {
display: flex;
flex-direction: column;
gap: 8px;
}
}

@media (max-width: 640px) {
.why-choose .top-band {
padding: 40px 16px;
}

.why-choose .top-band__heading {
font-size: 31px;
}

.why-choose .top-band__actions {
flex-direction: column;
gap: 8px;
}

.why-choose .reasons-band__inner {
padding: 0 16px 80px;
}

.why-choose .reasons-grid {
grid-template-columns: 1fr;
}

.why-choose .reason-card {
padding: 16px;
}

.why-choose .steps-band__inner {
padding: 0 16px;
}

.why-choose .team-band__inner {
padding: 0 16px;
}

.why-choose .team-grid {
grid-template-columns: 1fr;
}

.why-choose .person-card {
padding: 16px;
}
}

.contact-us {
max-width: 100%;
overflow-x: clip;
}

.contact-us .reach__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
max-width: 1170px;
margin: 0 auto;
padding: 80px 40px;
align-items: start;
}

.contact-us .reach__label {
font-size: 15px;
letter-spacing: 0.12em;
color: #37788B;
text-transform: uppercase;
margin-bottom: 16px;
display: block;
}

.contact-us .reach__heading {
font-size: 58px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #1b3a42;
margin: 0 0 16px 0;
}

.contact-us .reach__heading span {
display: inline-block;
position: relative;
color: #37788B;
}

.contact-us .reach__heading span::after {
content: '';
position: absolute;
bottom: 2px;
left: 0;
width: 0;
height: 3px;
background: linear-gradient(90deg, #37788B, #7EB9C0);
border-radius: 1px;
animation: underline-draw 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s forwards;
}

@keyframes underline-draw {
to {
width: 100%;
}
}

.contact-us .reach__subtext {
font-size: 16px;
line-height: 1.7;
color: #2e4f58;
margin: 0 0 40px 0;
max-width: 420px;
}

.contact-us .reach__details {
display: flex;
flex-direction: column;
gap: 16px;
margin-bottom: 40px;
}

.contact-us .reach__detail-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
background: #fff;
border-radius: 11px;
box-shadow: -1px 1px 5px -1px rgba(55, 120, 139, 0.07), -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
transition: box-shadow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.contact-us .reach__detail-item:hover {
box-shadow: -1px 10px 40px -1px rgba(55, 120, 139, 0.11);
transform: translateY(-2px);
}

.contact-us .reach__icon-box {
width: 40px;
height: 40px;
min-width: 40px;
background: #E3EEEE;
border-radius: 11px;
display: flex;
align-items: center;
justify-content: center;
}

.contact-us .reach__icon-box svg {
width: 20px;
height: 20px;
}

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

.contact-us .reach__detail-label {
font-size: 15px;
color: #37788B;
font-weight: 600;
line-height: 1.4;
}

.contact-us .reach__detail-value {
font-size: 16px;
color: #1b3a42;
line-height: 1.4;
text-decoration: none;
transition: color 0.5s ease;
}

.contact-us .reach__detail-value:hover {
color: #37788B;
}

.contact-us .reach__blockquote {
border-radius: 11px;
background: linear-gradient(135deg, #E3EEEE 0%, #c8e0e4 100%);
padding: 40px;
position: relative;
overflow: hidden;
}

.contact-us .reach__blockquote::before {
content: '';
position: absolute;
top: -20px;
right: -20px;
width: 100px;
height: 100px;
background: rgba(55, 120, 139, 0.08);
border-radius: 34px;
transform: rotate(20deg);
pointer-events: none;
}

.contact-us .reach__blockquote-text {
font-size: 19px;
line-height: 1.7;
color: #1b3a42;
margin: 0;
font-style: italic;
}

.contact-us .reach__blockquote-author {
margin-top: 16px;
font-size: 15px;
color: #37788B;
font-weight: 600;
}

.contact-us .form__panel {
background: #fff;
border-radius: 20px;
padding: 40px;
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10), -1px 10px 40px -1px rgba(55, 120, 139, 0.11);
position: relative;
overflow: hidden;
}

.contact-us .form__panel::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #37788B, #7EB9C0, #E3EEEE);
border-radius: 20px 20px 0 0;
}

.contact-us .form__heading {
font-size: 23px;
line-height: 1.4;
color: #1b3a42;
margin: 0 0 8px 0;
letter-spacing: -0.01em;
}

.contact-us .form__sub {
font-size: 15px;
line-height: 1.7;
color: #4a6e79;
margin: 0 0 40px 0;
}

.contact-us .form__row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin-bottom: 16px;
}

.contact-us .form__field {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 16px;
}

.contact-us .form__field--full {
grid-column: 1 / -1;
}

.contact-us .form__label {
font-size: 15px;
color: #2e4f58;
font-weight: 600;
line-height: 1.4;
}

.contact-us .form__input {
width: 100%;
padding: 16px 16px 16px 44px;
border: 1.5px solid #c5dde2;
border-radius: 11px;
font-size: 16px;
color: #1b3a42;
background: #f7fbfc;
box-sizing: border-box;
transition: border-color 0.5s ease, box-shadow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.5s ease;
outline: none;
position: relative;
}

.contact-us .form__input::placeholder {
color: #7aaab6;
}

.contact-us .form__input:focus {
border-color: #37788B;
background: #fff;
box-shadow: -1px 1px 5px -1px rgba(55, 120, 139, 0.07), -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
}

.contact-us .form__input-wrap {
position: relative;
display: flex;
align-items: center;
}

.contact-us .form__input-wrap svg {
position: absolute;
left: 14px;
width: 18px;
height: 18px;
color: #7EB9C0;
pointer-events: none;
z-index: 1;
}

.contact-us .form__textarea {
width: 100%;
padding: 16px 16px 16px 44px;
border: 1.5px solid #c5dde2;
border-radius: 11px;
font-size: 16px;
color: #1b3a42;
background: #f7fbfc;
box-sizing: border-box;
transition: border-color 0.5s ease, box-shadow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.5s ease;
outline: none;
resize: vertical;
min-height: 120px;
}

.contact-us .form__textarea::placeholder {
color: #7aaab6;
}

.contact-us .form__textarea:focus {
border-color: #37788B;
background: #fff;
box-shadow: -1px 1px 5px -1px rgba(55, 120, 139, 0.07), -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
}

.contact-us .form__select-wrap {
position: relative;
display: flex;
align-items: center;
}

.contact-us .form__select-wrap svg {
position: absolute;
left: 14px;
width: 18px;
height: 18px;
color: #7EB9C0;
pointer-events: none;
z-index: 1;
}

.contact-us .form__select {
width: 100%;
padding: 16px 16px 16px 44px;
border: 1.5px solid #c5dde2;
border-radius: 11px;
font-size: 16px;
color: #1b3a42;
background: #f7fbfc;
box-sizing: border-box;
transition: border-color 0.5s ease, box-shadow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
outline: none;
appearance: none;
cursor: pointer;
}

.contact-us .form__select:focus {
border-color: #37788B;
background: #fff;
box-shadow: -1px 1px 5px -1px rgba(55, 120, 139, 0.07), -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
}

.contact-us .form__privacy {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
margin-bottom: 40px;
padding: 16px;
background: #f0f8f9;
border-radius: 11px;
}

.contact-us .form__privacy-checkbox {
width: 18px;
height: 18px;
min-width: 18px;
margin-top: 2px;
accent-color: #37788B;
cursor: pointer;
}

.contact-us .form__privacy-text {
font-size: 15px;
line-height: 1.7;
color: #2e4f58;
}

.contact-us .form__privacy-text a {
color: #37788B;
text-decoration: none;
background-image: linear-gradient(90deg, #37788B, #7EB9C0);
background-size: 0% 1.5px;
background-repeat: no-repeat;
background-position: 0 100%;
transition: background-size 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.contact-us .form__privacy-text a:hover {
background-size: 100% 1.5px;
}

.contact-us .form__submit {
display: inline-block;
padding: 16px 40px;
background: #37788B;
color: #fff;
border: none;
border-radius: 11px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
letter-spacing: 0.03em;
transition: background 0.5s ease, padding 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
}

.contact-us .form__submit:hover {
background: #2d6275;
padding: 16px 56px;
box-shadow: -1px 10px 40px -1px rgba(55, 120, 139, 0.11);
}

.contact-us .form__submit:focus {
outline: 2px solid #37788B;
outline-offset: 3px;
}

.contact-us .form__submit:active {
background: #255060;
}

.contact-us .metrics__strip {
background: #37788B;
position: relative;
overflow: hidden;
padding: 80px 40px;
}

.contact-us .metrics__spotlight {
position: absolute;
inset: 0;
background: radial-gradient(ellipse 600px 400px at 80% 30%, rgba(126, 185, 192, 0.25) 0%, transparent 70%);
animation: spotlight-drift 8s ease-in-out infinite alternate;
pointer-events: none;
}

@keyframes spotlight-drift {
0% {
background: radial-gradient(ellipse 600px 400px at 80% 30%, rgba(126, 185, 192, 0.25) 0%, transparent 70%);
}

50% {
background: radial-gradient(ellipse 600px 400px at 60% 60%, rgba(126, 185, 192, 0.18) 0%, transparent 70%);
}

100% {
background: radial-gradient(ellipse 600px 400px at 30% 20%, rgba(126, 185, 192, 0.22) 0%, transparent 70%);
}
}

.contact-us .metrics__motif {
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: 8px;
display: flex;
flex-direction: column;
justify-content: space-around;
padding: 16px 0;
pointer-events: none;
}

.contact-us .metrics__motif-dot {
width: 4px;
height: 4px;
background: rgba(227, 238, 238, 0.35);
border-radius: 1px;
margin: 0 auto;
}

.contact-us .metrics__inner {
max-width: 1170px;
margin: 0 auto;
position: relative;
z-index: 1;
}

.contact-us .metrics__top {
margin-bottom: 40px;
}

.contact-us .metrics__eyebrow {
font-size: 15px;
letter-spacing: 0.12em;
color: #7EB9C0;
text-transform: uppercase;
display: block;
margin-bottom: 8px;
}

.contact-us .metrics__title {
font-size: 31px;
line-height: 1.4;
color: #fff;
margin: 0;
letter-spacing: -0.01em;
}

.contact-us .metrics__grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 40px;
margin-bottom: 40px;
}

.contact-us .metrics__card {
padding: 40px 16px 16px 16px;
background: rgba(255, 255, 255, 0.07);
border-radius: 20px;
box-shadow: inset -1px 1px 5px -1px rgba(55, 120, 139, 0.07);
transition: background 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative;
}

.contact-us .metrics__card:hover {
background: rgba(255, 255, 255, 0.13);
transform: scale(1.04);
}

.contact-us .metrics__grid .metrics__card:not(:hover) {
transform: scale(0.97);
}

.contact-us .metrics__number {
font-size: 58px;
line-height: 1.1;
color: #fff;
letter-spacing: -0.03em;
display: block;
margin-bottom: 8px;
}

.contact-us .metrics__bar-wrap {
height: 3px;
background: rgba(255, 255, 255, 0.15);
border-radius: 1px;
margin-bottom: 16px;
overflow: hidden;
}

.contact-us .metrics__bar-fill {
height: 100%;
background: linear-gradient(90deg, #7EB9C0, #E3EEEE);
border-radius: 1px;
animation: bar-grow 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

@keyframes bar-grow {
from {
width: 0%;
}
}

.contact-us .metrics__card-label {
font-size: 15px;
color: rgba(227, 238, 238, 0.85);
line-height: 1.4;
}

.contact-us .metrics__code-block {
background: rgba(0, 0, 0, 0.25);
border-radius: 11px;
padding: 40px;
box-shadow: inset -1px 1px 5px -1px rgba(55, 120, 139, 0.07);
overflow-x: auto;
}

.contact-us .metrics__code-bar {
display: flex;
flex-direction: row;
gap: 8px;
margin-bottom: 16px;
align-items: center;
}

.contact-us .metrics__code-dot {
width: 11px;
height: 11px;
border-radius: 34px;
}

.contact-us .metrics__code-dot--red {
background: #e06c75;
}

.contact-us .metrics__code-dot--yellow {
background: #e5c07b;
}

.contact-us .metrics__code-dot--green {
background: #98c379;
}

.contact-us .metrics__code-filename {
font-size: 15px;
color: rgba(227, 238, 238, 0.5);
margin-left: 8px;
}

.contact-us .metrics__code-pre {
margin: 0;
padding: 0;
font-size: 15px;
line-height: 1.7;
color: #E3EEEE;
white-space: pre;
overflow-x: auto;
}

.contact-us .metrics__code-pre .code-keyword {
color: #7EB9C0;
}

.contact-us .metrics__code-pre .code-string {
color: #98c379;
}

.contact-us .metrics__code-pre .code-comment {
color: rgba(227, 238, 238, 0.4);
font-style: italic;
}

.contact-us .metrics__code-pre .code-number {
color: #e5c07b;
}

.contact-us .metrics__code-pre .code-function {
color: #c8a0d4;
}

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

.contact-us .reach__heading {
font-size: 40px;
}

.contact-us .metrics__grid {
grid-template-columns: repeat(2, 1fr);
gap: 16px;
}
}

@media (max-width: 640px) {
.contact-us .reach__grid {
padding: 40px 16px;
gap: 40px;
}

.contact-us .reach__heading {
font-size: 31px;
}

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

.contact-us .form__panel {
padding: 40px 16px;
}

.contact-us .metrics__strip {
padding: 40px 16px;
}

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

.contact-us .metrics__number {
font-size: 31px;
}

.contact-us .metrics__title {
font-size: 23px;
}

.contact-us .metrics__code-block {
padding: 16px;
}

.contact-us .metrics__code-pre {
font-size: 13px;
}

.contact-us .reach__blockquote {
padding: 16px;
}
}

.compare {
background: #f4f8f8;
overflow-x: clip;
}

.compare .grid-pulse-bg {
position: absolute;
inset: 0;
background-image:
linear-gradient(rgba(55, 120, 139, 0.07) 1px, transparent 1px),
linear-gradient(90deg, rgba(55, 120, 139, 0.07) 1px, transparent 1px);
background-size: 48px 48px;
animation: gridPulse 4s ease infinite;
pointer-events: none;
z-index: 0;
}

@keyframes gridPulse {

0%,
100% {
opacity: 0.5;
}

50% {
opacity: 1;
}
}

.compare .spot {
position: absolute;
border-radius: 34px;
filter: blur(60px);
pointer-events: none;
z-index: 0;
}

.compare .spot--a {
width: 420px;
height: 260px;
background: rgba(55, 120, 139, 0.13);
top: -60px;
right: 8%;
}

.compare .spot--b {
width: 300px;
height: 200px;
background: rgba(126, 185, 192, 0.11);
bottom: 40px;
left: 4%;
}

.compare .title-block {
position: relative;
padding: 80px 16px 80px;
background: linear-gradient(135deg, #37788B 0%, #5a9dab 55%, #7EB9C0 100%);
overflow: hidden;
}

.compare .title-block__inner {
position: relative;
z-index: 1;
max-width: 1170px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
gap: 80px;
}

.compare .title-block__text {
flex: 1 1 0;
}

.compare .title-block__tag {
display: inline-block;
background: rgba(255, 255, 255, 0.18);
color: #fff;
font-size: 15px;
line-height: 1.4;
letter-spacing: 0.04em;
padding: 4px 16px;
border-radius: 1px;
margin-bottom: 16px;
border: 1px solid rgba(255, 255, 255, 0.3);
}

.compare .title-block__heading {
font-size: 58px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #fff;
margin: 0 0 16px;
}

.compare .title-block__heading span {
display: inline-block;
border-bottom: 3px solid rgba(227, 238, 238, 0.7);
padding-bottom: 4px;
}

.compare .title-block__desc {
font-size: 19px;
line-height: 1.7;
color: rgba(255, 255, 255, 0.88);
margin: 0;
max-width: 520px;
}

.compare .title-block__image-col {
flex: 0 0 340px;
position: relative;
}

.compare .title-block__img-wrap {
width: 340px;
height: 260px;
border-radius: 20px;
overflow: hidden;
box-shadow: -1px 10px 40px -1px rgba(55, 120, 139, 0.22);
}

.compare .title-block__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.compare .title-block__img-overlay {
position: absolute;
inset: 0;
background: linear-gradient(to right, rgba(55, 120, 139, 0.55) 0%, transparent 60%);
border-radius: 20px;
pointer-events: none;
}

.compare .plans-section {
position: relative;
padding: 80px 16px;
background: #fff;
}

.compare .plans-section__accent-strip {
position: absolute;
right: 0;
top: 0;
bottom: 0;
width: 5px;
background: linear-gradient(180deg, #37788B 0%, #7EB9C0 100%);
border-radius: 1px 0 0 1px;
}

.compare .plans-section__inner {
max-width: 1170px;
margin: 0 auto;
}

.compare .plans-section__label {
font-size: 15px;
line-height: 1.4;
color: #37788B;
letter-spacing: 0.06em;
text-transform: uppercase;
margin-bottom: 8px;
}

.compare .plans-section__heading {
font-size: 31px;
line-height: 1.1;
letter-spacing: -0.01em;
color: #1b3d47;
margin: 0 0 8px;
}

.compare .plans-section__subtext {
font-size: 16px;
line-height: 1.7;
color: #3a5a65;
margin: 0 0 40px;
max-width: 560px;
}

.compare .plans-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
align-items: start;
}

.compare .plan-card {
position: relative;
border-radius: 20px;
padding: 40px 16px 40px;
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
background: #f4f8f8;
transition: box-shadow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.5s ease;
}

.compare .plan-card:hover {
box-shadow: -1px 10px 40px -1px rgba(55, 120, 139, 0.18);
transform: translateY(-4px);
}

.compare .plan-card--featured {
background: #37788B;
color: #fff;
}

.compare .plan-card__corner-tag {
position: absolute;
top: -1px;
right: 16px;
background: #7EB9C0;
color: #fff;
font-size: 15px;
line-height: 1.4;
padding: 4px 16px;
border-radius: 0 0 11px 11px;
}

.compare .plan-card__name {
font-size: 23px;
line-height: 1.1;
letter-spacing: -0.01em;
color: #1b3d47;
margin: 0 0 8px;
}

.compare .plan-card--featured .plan-card__name {
color: #fff;
}

.compare .plan-card__price {
font-size: 31px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #37788B;
margin: 0 0 4px;
}

.compare .plan-card--featured .plan-card__price {
color: #E3EEEE;
}

.compare .plan-card__period {
font-size: 15px;
line-height: 1.4;
color: #5a8090;
margin: 0 0 16px;
}

.compare .plan-card--featured .plan-card__period {
color: rgba(227, 238, 238, 0.8);
}

.compare .plan-card__divider {
height: 1px;
background: rgba(55, 120, 139, 0.15);
margin: 0 0 16px;
}

.compare .plan-card--featured .plan-card__divider {
background: rgba(255, 255, 255, 0.2);
}

.compare .plan-card__features {
list-style: none;
padding: 0;
margin: 0 0 40px;
display: flex;
flex-direction: column;
gap: 8px;
}

.compare .plan-card__feature {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
font-size: 15px;
line-height: 1.7;
color: #2d4f5c;
}

.compare .plan-card--featured .plan-card__feature {
color: rgba(255, 255, 255, 0.9);
}

.compare .plan-card__feature-icon {
flex-shrink: 0;
width: 18px;
height: 18px;
margin-top: 3px;
}

.compare .plan-card__feature-icon--check circle {
fill: #7EB9C0;
}

.compare .plan-card--featured .plan-card__feature-icon--check circle {
fill: rgba(255, 255, 255, 0.3);
}

.compare .plan-card__feature-icon--check path {
stroke: #fff;
}

.compare .plan-card__feature-icon--cross circle {
fill: rgba(55, 120, 139, 0.1);
}

.compare .plan-card__feature-icon--cross path {
stroke: #7EB9C0;
opacity: 0.5;
}

.compare .plan-card--featured .plan-card__feature-icon--cross circle {
fill: rgba(255, 255, 255, 0.1);
}

.compare .plan-card__button {
display: block;
width: 100%;
padding: 16px 16px;
border-radius: 11px;
border: none;
font-size: 16px;
line-height: 1.4;
cursor: pointer;
transition: background 0.55s ease, box-shadow 0.6s ease, padding-left 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), padding-right 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
text-align: center;
}

.compare .plan-card__button--primary {
background: #37788B;
color: #fff;
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.18);
}

.compare .plan-card__button--primary:hover {
background: #2d6478;
padding-left: 24px;
padding-right: 24px;
box-shadow: -1px 10px 40px -1px rgba(55, 120, 139, 0.22);
}

.compare .plan-card__button--featured {
background: #fff;
color: #37788B;
box-shadow: -1px 5px 22px -1px rgba(55, 120, 139, 0.15);
}

.compare .plan-card__button--featured:hover {
background: #E3EEEE;
padding-left: 24px;
padding-right: 24px;
}

.compare .plan-card__button--ghost {
background: transparent;
color: #37788B;
border: 1.5px solid #7EB9C0;
}

.compare .plan-card__button--ghost:hover {
background: rgba(55, 120, 139, 0.07);
padding-left: 24px;
padding-right: 24px;
}

.compare .table-section {
position: relative;
padding: 80px 16px;
background: #E3EEEE;
}

.compare .table-section__lines {
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(45deg,
transparent,
transparent 18px,
rgba(55, 120, 139, 0.06) 18px,
rgba(55, 120, 139, 0.06) 19px);
pointer-events: none;
z-index: 0;
}

.compare .table-section__inner {
position: relative;
z-index: 1;
max-width: 1170px;
margin: 0 auto;
}

.compare .table-section__heading {
font-size: 31px;
line-height: 1.1;
letter-spacing: -0.01em;
color: #1b3d47;
margin: 0 0 8px;
}

.compare .table-section__heading em {
font-style: normal;
border-bottom: 2px solid #37788B;
}

.compare .table-section__desc {
font-size: 16px;
line-height: 1.7;
color: #2d4f5c;
margin: 0 0 40px;
max-width: 600px;
}

.compare .feature-table {
width: 100%;
border-collapse: separate;
border-spacing: 0;
background: #fff;
border-radius: 20px;
overflow: hidden;
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
}

.compare .feature-table thead tr {
background: #37788B;
}

.compare .feature-table thead th {
padding: 16px;
font-size: 16px;
line-height: 1.4;
color: #fff;
text-align: left;
font-weight: 600;
}

.compare .feature-table thead th:not(:first-child) {
text-align: center;
}

.compare .feature-table thead th:first-child {
border-radius: 20px 0 0 0;
}

.compare .feature-table thead th:last-child {
border-radius: 0 20px 0 0;
}

.compare .feature-table tbody tr {
transition: background 0.55s ease;
}

.compare .feature-table tbody tr:hover {
background: #f4f8f8;
}

.compare .feature-table tbody tr:not(:last-child) td {
border-bottom: 1px solid rgba(55, 120, 139, 0.1);
}

.compare .feature-table tbody td {
padding: 16px;
font-size: 15px;
line-height: 1.7;
color: #2d4f5c;
vertical-align: middle;
}

.compare .feature-table tbody td:not(:first-child) {
text-align: center;
}

.compare .feature-table tbody td:first-child {
font-weight: 500;
color: #1b3d47;
}

.compare .feature-table .cell-group {
background: rgba(55, 120, 139, 0.05);
}

.compare .feature-table .cell-group td {
font-size: 15px;
font-weight: 600;
color: #37788B;
letter-spacing: 0.04em;
text-transform: uppercase;
padding: 8px 16px;
}

.compare .check-svg {
display: inline-block;
width: 20px;
height: 20px;
vertical-align: middle;
}

.compare .mobile-cards {
display: none;
flex-direction: column;
gap: 16px;
}

.compare .mobile-plan-card {
background: #fff;
border-radius: 20px;
padding: 16px;
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
}

.compare .mobile-plan-card__name {
font-size: 19px;
line-height: 1.4;
color: #1b3d47;
font-weight: 600;
margin: 0 0 8px;
}

.compare .mobile-plan-card__row {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
padding: 8px 0;
border-bottom: 1px solid rgba(55, 120, 139, 0.1);
font-size: 15px;
line-height: 1.4;
color: #2d4f5c;
}

.compare .mobile-plan-card__row:last-child {
border-bottom: none;
}

.compare .mobile-plan-card__row-label {
color: #3a5a65;
}

.compare .mobile-plan-card__row-value {
font-weight: 500;
color: #1b3d47;
}

.compare .expert-section {
position: relative;
padding: 80px 16px 80px;
background: #fff;
}

.compare .expert-section__accent-strip {
position: absolute;
left: 0;
top: 80px;
bottom: 80px;
width: 4px;
background: linear-gradient(180deg, #7EB9C0 0%, #37788B 100%);
border-radius: 0 1px 1px 0;
}

.compare .expert-section__inner {
max-width: 1170px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start;
}

.compare .expert-section__portrait-col {
flex: 0 0 260px;
}

.compare .expert-section__portrait-wrap {
width: 260px;
height: 325px;
border-radius: 20px;
overflow: hidden;
box-shadow: -1px 10px 40px -1px rgba(55, 120, 139, 0.11);
position: relative;
}

.compare .expert-section__portrait-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.compare .expert-section__portrait-tag {
position: absolute;
bottom: 16px;
left: 16px;
background: rgba(55, 120, 139, 0.92);
color: #fff;
font-size: 15px;
line-height: 1.4;
padding: 4px 16px;
border-radius: 11px;
}

.compare .expert-section__content {
flex: 1 1 0;
}

.compare .expert-section__label {
font-size: 15px;
line-height: 1.4;
color: #37788B;
letter-spacing: 0.06em;
text-transform: uppercase;
margin-bottom: 8px;
}

.compare .expert-section__heading {
font-size: 31px;
line-height: 1.1;
letter-spacing: -0.01em;
color: #1b3d47;
margin: 0 0 16px;
position: relative;
display: inline-block;
}

.compare .expert-section__heading::after {
content: '';
display: block;
height: 2px;
background: linear-gradient(90deg, #37788B, #7EB9C0);
width: 0;
margin-top: 4px;
border-radius: 1px;
animation: drawLine 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s forwards;
}

@keyframes drawLine {
to {
width: 100%;
}
}

.compare .expert-section__quote {
font-size: 19px;
line-height: 1.7;
color: #37788B;
border-left: none;
background: #E3EEEE;
padding: 16px;
border-radius: 11px;
margin: 0 0 16px;
box-shadow: inset -1px 1px 5px -1px rgba(55, 120, 139, 0.07);
}

.compare .expert-section__body {
font-size: 16px;
line-height: 1.7;
color: #2d4f5c;
margin: 0 0 16px;
}

.compare .expert-section__metrics {
display: flex;
flex-direction: row;
gap: 40px;
margin-top: 40px;
}

.compare .metric-item {
display: flex;
flex-direction: column;
gap: 4px;
}

.compare .metric-item__value {
font-size: 31px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #37788B;
font-weight: 700;
}

.compare .metric-item__label {
font-size: 15px;
line-height: 1.4;
color: #3a5a65;
}

.compare .images-row {
display: flex;
flex-direction: row;
gap: 16px;
margin-top: 40px;
}

.compare .images-row__img-wrap {
flex: 1 1 0;
border-radius: 11px;
overflow: hidden;
height: 160px;
box-shadow: -1px 1px 5px -1px rgba(55, 120, 139, 0.07);
}

.compare .images-row__img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.compare .images-row__img-wrap:hover img {
transform: scale(1.04);
}

@media (max-width: 1024px) {
.compare .title-block__heading {
font-size: 31px;
}

.compare .title-block__image-col {
flex: 0 0 260px;
}

.compare .title-block__img-wrap {
width: 260px;
height: 200px;
}

.compare .plans-grid {
grid-template-columns: 1fr 1fr;
}

.compare .plans-grid .plan-card:last-child {
grid-column: span 2;
}

.compare .expert-section__inner {
gap: 40px;
}

.compare .expert-section__metrics {
gap: 16px;
}
}

@media (max-width: 640px) {
.compare .title-block {
padding: 40px 16px 40px;
}

.compare .title-block__inner {
flex-direction: column;
gap: 16px;
}

.compare .title-block__image-col {
flex: 0 0 auto;
width: 100%;
}

.compare .title-block__img-wrap {
width: 100%;
height: 200px;
}

.compare .title-block__heading {
font-size: 23px;
}

.compare .title-block__desc {
font-size: 16px;
}

.compare .plans-section {
padding: 40px 16px;
}

.compare .plans-grid {
grid-template-columns: 1fr;
}

.compare .plans-grid .plan-card:last-child {
grid-column: span 1;
}

.compare .table-section {
padding: 40px 16px;
}

.compare .feature-table {
display: none;
}

.compare .mobile-cards {
display: flex;
}

.compare .expert-section {
padding: 40px 16px;
}

.compare .expert-section__inner {
flex-direction: column;
gap: 16px;
}

.compare .expert-section__portrait-col {
flex: 0 0 auto;
width: 100%;
}

.compare .expert-section__portrait-wrap {
width: 100%;
height: 280px;
}

.compare .expert-section__metrics {
flex-direction: column;
gap: 16px;
}

.compare .images-row {
flex-direction: column;
}

.compare .images-row__img-wrap {
height: 180px;
}

.compare .expert-section__accent-strip {
display: none;
}
}

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

.about-us .strip {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px;
}

.about-us .band {
background: #fff;
padding-bottom: 80px;
}

.about-us .band__image-row {
width: 100%;
overflow: hidden;
position: relative;
height: 180px;
}

.about-us .band__image-row::before {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(ellipse 70% 120% at 85% 40%, rgba(126, 185, 192, 0.18) 0%, transparent 70%);
z-index: 1;
pointer-events: none;
}

.about-us .band__img {
width: 100%;
height: 180px;
object-fit: cover;
object-position: center;
filter: grayscale(1) contrast(1.15);
display: block;
}

.about-us .band__text-row {
max-width: 1170px;
margin: 0 auto;
padding: 40px 40px 0;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 80px;
}

.about-us .band__heading {
font-size: 58px;
line-height: 1.1;
letter-spacing: -0.03em;
color: #1b3a42;
margin: 0;
flex: 0 0 auto;
max-width: 520px;
}

.about-us .band__heading span {
display: inline-block;
position: relative;
}

.about-us .band__heading span::after {
content: "";
position: absolute;
left: 0;
bottom: 2px;
width: 100%;
height: 6px;
background: linear-gradient(90deg, #37788B 0%, #7EB9C0 100%);
border-radius: 1px;
animation: draw-line 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s both;
}

@keyframes draw-line {
from {
width: 0;
}

to {
width: 100%;
}
}

.about-us .band__points {
list-style: none;
margin: 8px 0 0;
padding: 0;
flex: 1;
display: flex;
flex-direction: column;
gap: 16px;
}

.about-us .band__points li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
font-size: 16px;
line-height: 1.7;
color: #2a4a52;
}

.about-us .band__points li .dot {
width: 8px;
height: 8px;
border-radius: 50%;
background: #37788B;
margin-top: 9px;
flex-shrink: 0;
}

.about-us .identity {
background: #E3EEEE;
padding: 80px 0;
position: relative;
}

.about-us .identity::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, transparent 0%, #37788B 30%, #7EB9C0 70%, transparent 100%);
}

.about-us .identity__grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: auto auto;
gap: 16px;
}

.about-us .identity__card {
background: #fff;
border-radius: 20px;
padding: 40px;
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
position: relative;
overflow: hidden;
}

.about-us .identity__card--wide {
grid-column: 1 / 3;
}

.about-us .identity__card--tall {
grid-row: 1 / 3;
grid-column: 3 / 4;
display: flex;
flex-direction: column;
justify-content: space-between;
}

.about-us .identity__card--accent {
background: #37788B;
color: #fff;
}

.about-us .identity__card--accent .identity__label {
color: #E3EEEE;
}

.about-us .identity__card--accent .identity__body {
color: rgba(255, 255, 255, 0.88);
}

.about-us .identity__label {
font-size: 15px;
line-height: 1.4;
color: #37788B;
letter-spacing: 0.06em;
text-transform: uppercase;
margin: 0 0 16px;
}

.about-us .identity__card-heading {
font-size: 31px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #1b3a42;
margin: 0 0 16px;
}

.about-us .identity__card--accent .identity__card-heading {
color: #fff;
}

.about-us .identity__body {
font-size: 16px;
line-height: 1.7;
color: #2a4a52;
margin: 0;
}

.about-us .identity__img-wrap {
border-radius: 11px;
overflow: hidden;
margin-top: 16px;
aspect-ratio: 16/7;
}

.about-us .identity__img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.about-us .identity__img-wrap:hover .identity__img {
transform: scale(1.04);
}

.about-us .identity__stat-row {
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 16px;
}

.about-us .identity__stat {
border-top: 1px solid rgba(55, 120, 139, 0.15);
padding-top: 16px;
}

.about-us .identity__stat-number {
font-size: 31px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #37788B;
font-weight: 700;
}

.about-us .identity__stat-desc {
font-size: 15px;
line-height: 1.4;
color: #2a4a52;
margin: 4px 0 0;
}

.about-us .identity__dashed {
border: 2px dashed #7EB9C0;
border-radius: 11px;
padding: 16px;
margin-top: 16px;
}

.about-us .identity__dashed-text {
font-size: 15px;
line-height: 1.7;
color: #2a4a52;
margin: 0;
}

.about-us .team-section {
background: #37788B;
padding: 80px 0;
position: relative;
}

.about-us .team-section__inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px;
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start;
}

.about-us .team-section__left {
flex: 0 0 340px;
}

.about-us .team-section__eyebrow {
font-size: 15px;
line-height: 1.4;
color: #E3EEEE;
letter-spacing: 0.06em;
text-transform: uppercase;
margin: 0 0 16px;
}

.about-us .team-section__heading {
font-size: 31px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #fff;
margin: 0 0 16px;
}

.about-us .team-section__intro {
font-size: 16px;
line-height: 1.7;
color: rgba(255, 255, 255, 0.85);
margin: 0 0 40px;
}

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

.about-us .team-section__img-wrap {
border-radius: 11px;
overflow: hidden;
aspect-ratio: 4/3;
}

.about-us .team-section__img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: filter 0.6s ease, transform 0.6s ease;
}

.about-us .team-section__img-wrap:hover .team-section__img {
filter: brightness(1.08);
transform: scale(1.03);
}

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

.about-us .person-card {
background: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.15);
border-radius: 20px;
padding: 40px;
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
transition: background 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), backdrop-filter 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
-webkit-backdrop-filter: blur(0px);
backdrop-filter: blur(0px);
}

.about-us .person-card:hover {
background: rgba(255, 255, 255, 0.14);
-webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);
}

.about-us .person-card__portrait {
width: 72px;
height: 72px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
}

.about-us .person-card__portrait img {
width: 72px;
height: 72px;
object-fit: cover;
object-position: center;
display: block;
}

.about-us .person-card__portrait--placeholder {
background: rgba(255, 255, 255, 0.15);
display: flex;
align-items: center;
justify-content: center;
}

.about-us .person-card__portrait--placeholder svg {
width: 36px;
height: 36px;
opacity: 0.6;
}

.about-us .person-card__info {
flex: 1;
}

.about-us .person-card__name {
font-size: 19px;
line-height: 1.4;
color: #fff;
margin: 0 0 4px;
letter-spacing: -0.01em;
}

.about-us .person-card__role {
font-size: 15px;
line-height: 1.4;
color: #7EB9C0;
margin: 0 0 8px;
}

.about-us .person-card__bio {
font-size: 15px;
line-height: 1.7;
color: rgba(255, 255, 255, 0.78);
margin: 0;
}

.about-us .person-card--shake {
animation: card-shake 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 2.2s both;
}

@keyframes card-shake {
0% {
transform: translateX(0);
}

15% {
transform: translateX(-6px) rotate(-0.5deg);
}

30% {
transform: translateX(6px) rotate(0.5deg);
}

45% {
transform: translateX(-4px);
}

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

75% {
transform: translateX(-2px);
}

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

.about-us .approach {
background: #fff;
padding: 80px 0;
}

.about-us .approach__top {
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-end;
margin-bottom: 40px;
}

.about-us .approach__heading-col {
flex: 0 0 480px;
}

.about-us .approach__heading {
font-size: 31px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #1b3a42;
margin: 0;
}

.about-us .approach__heading .marker {
display: inline;
background: linear-gradient(180deg, transparent 55%, rgba(126, 185, 192, 0.45) 55%);
padding: 0 4px;
}

.about-us .approach__desc-col {
flex: 1;
}

.about-us .approach__lead {
font-size: 16px;
line-height: 1.7;
color: #2a4a52;
margin: 0;
}

.about-us .approach__steps {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
margin-bottom: 40px;
}

.about-us .step-tile {
border-radius: 11px;
padding: 40px 16px 40px 16px;
position: relative;
box-shadow: -1px 1px 5px -1px rgba(55, 120, 139, 0.07);
transition: box-shadow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.about-us .step-tile:hover {
box-shadow: -1px 10px 40px -1px rgba(55, 120, 139, 0.11);
transform: translateY(-4px);
}

.about-us .step-tile:nth-child(1) {
background: #E3EEEE;
}

.about-us .step-tile:nth-child(2) {
background: #fff;
border: 1px solid #E3EEEE;
}

.about-us .step-tile:nth-child(3) {
background: #E3EEEE;
}

.about-us .step-tile:nth-child(4) {
background: #fff;
border: 1px solid #E3EEEE;
}

.about-us .step-tile__number {
font-size: 58px;
line-height: 1.1;
letter-spacing: -0.04em;
color: rgba(55, 120, 139, 0.12);
font-weight: 700;
position: absolute;
top: 16px;
right: 16px;
}

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

.about-us .step-tile__name {
font-size: 19px;
line-height: 1.4;
color: #1b3a42;
margin: 0 0 8px;
letter-spacing: -0.01em;
}

.about-us .step-tile__desc {
font-size: 15px;
line-height: 1.7;
color: #2a4a52;
margin: 0;
}

.about-us .approach__bottom {
display: flex;
flex-direction: row;
gap: 16px;
align-items: stretch;
}

.about-us .approach__quote-block {
flex: 1;
background: #E3EEEE;
border-radius: 20px;
padding: 40px;
box-shadow: inset -1px 7px 22px -1px rgba(55, 120, 139, 0.07);
}

.about-us .approach__quote {
font-size: 23px;
line-height: 1.4;
color: #1b3a42;
letter-spacing: -0.01em;
margin: 0 0 16px;
font-style: italic;
}

.about-us .approach__quote-attr {
font-size: 15px;
line-height: 1.4;
color: #37788B;
margin: 0;
}

.about-us .approach__image-block {
flex: 0 0 320px;
border-radius: 20px;
overflow: hidden;
}

.about-us .approach__image-block img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.about-us .approach__image-block:hover img {
transform: scale(1.05);
}

@media (max-width: 1024px) {
.about-us .band__text-row {
flex-direction: column;
gap: 16px;
padding: 40px 40px 0;
}

.about-us .band__heading {
font-size: 31px;
max-width: 100%;
}

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

.about-us .identity__card--wide {
grid-column: 1 / 3;
}

.about-us .identity__card--tall {
grid-column: 1 / 3;
grid-row: auto;
}

.about-us .team-section__inner {
flex-direction: column;
gap: 40px;
}

.about-us .team-section__left {
flex: 0 0 auto;
width: 100%;
}

.about-us .team-section__image-pair {
flex-direction: row;
}

.about-us .team-section__img-wrap {
flex: 1;
}

.about-us .approach__top {
flex-direction: column;
gap: 16px;
align-items: flex-start;
}

.about-us .approach__heading-col {
flex: 0 0 auto;
width: 100%;
}

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

.about-us .approach__bottom {
flex-direction: column;
}

.about-us .approach__image-block {
flex: 0 0 240px;
}
}

@media (max-width: 640px) {
.about-us .strip {
padding: 0 16px;
}

.about-us .band__text-row {
padding: 16px 16px 0;
}

.about-us .band__image-row,
.about-us .band__img {
height: 100px;
}

.about-us .band__heading {
font-size: 31px;
}

.about-us .identity {
padding: 40px 0;
}

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

.about-us .identity__card--wide {
grid-column: 1 / 2;
}

.about-us .identity__card--tall {
grid-column: 1 / 2;
}

.about-us .team-section {
padding: 40px 0;
}

.about-us .team-section__inner {
padding: 0 16px;
}

.about-us .team-section__image-pair {
flex-direction: column;
}

.about-us .person-card {
flex-direction: column;
padding: 16px;
}

.about-us .approach {
padding: 40px 0;
}

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

.about-us .approach__image-block {
flex: 0 0 200px;
}

.about-us .band {
padding-bottom: 40px;
}
}

.success-page {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 80px 16px;
background: linear-gradient(ellipse 80% 60% at 80% 30%, rgba(126, 185, 192, 0.13) 0%, rgba(255, 255, 255, 0) 70%), #ffffff;
}

.success-page .card {
max-width: 560px;
width: 100%;
background: #ffffff;
border-radius: 20px;
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10), -1px 10px 40px -1px rgba(55, 120, 139, 0.11);
padding: 80px 40px;
text-align: center;
position: relative;
overflow: hidden;
}

.success-page .card__accent-bar {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #37788B 0%, #7EB9C0 100%);
border-radius: 20px 20px 0 0;
}

.success-page .card__icon-wrap {
width: 72px;
height: 72px;
margin: 0 auto 40px;
border-radius: 34px;
background: #E3EEEE;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}

.success-page .card__icon-wrap svg {
display: block;
}

.success-page .card__heading {
font-size: 31px;
line-height: 1.1;
letter-spacing: -0.03em;
color: #1b3d47;
margin: 0 0 16px;
}

.success-page .card__heading .card__heading--accent {
display: inline-block;
position: relative;
color: #37788B;
}

.success-page .card__heading .card__heading--accent::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 100%;
height: 2px;
background: linear-gradient(90deg, #37788B, #7EB9C0);
border-radius: 1px;
animation: underline-draw 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
transform-origin: left center;
}

@keyframes underline-draw {
from {
transform: scaleX(0);
}

to {
transform: scaleX(1);
}
}

.success-page .card__body {
font-size: 16px;
line-height: 1.7;
color: #2d5560;
margin: 0 0 40px;
padding: 0 8px;
}

.success-page .card__divider {
width: 40px;
height: 2px;
background: linear-gradient(90deg, #7EB9C0, #E3EEEE);
border-radius: 1px;
margin: 0 auto 40px;
}

.success-page .card__meta {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 8px;
font-size: 15px;
line-height: 1.4;
color: #37788B;
margin: 0 0 40px;
}

.success-page .card__meta-dot {
width: 6px;
height: 6px;
border-radius: 34px;
background: #7EB9C0;
flex-shrink: 0;
}

.success-page .card__actions {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 16px;
flex-wrap: wrap;
}

.success-page .card__btn--primary {
display: inline-block;
padding: 16px 40px;
background: #37788B;
color: #ffffff;
font-size: 15px;
line-height: 1.4;
border-radius: 11px;
text-decoration: none;
border: none;
cursor: pointer;
box-shadow: -1px 1px 5px -1px rgba(55, 120, 139, 0.07);
transition: background-color 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), padding 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.6s ease;
}

.success-page .card__btn--primary:hover {
background: #2b5f70;
padding: 16px 48px;
box-shadow: -1px 7px 22px -1px rgba(55, 120, 139, 0.10);
}

.success-page .card__btn--primary:focus {
outline: 2px solid #37788B;
outline-offset: 3px;
}

.success-page .card__btn--secondary {
display: inline-block;
padding: 16px 40px;
background: transparent;
color: #37788B;
font-size: 15px;
line-height: 1.4;
border-radius: 11px;
text-decoration: none;
border: 2px solid #7EB9C0;
cursor: pointer;
transition: border-color 0.7s ease, color 0.7s ease, padding 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 0.7s ease;
}

.success-page .card__btn--secondary:hover {
border-color: #37788B;
color: #1b3d47;
background: #E3EEEE;
padding: 16px 48px;
}

.success-page .card__btn--secondary:focus {
outline: 2px solid #37788B;
outline-offset: 3px;
}

.success-page .card__footer-note {
margin: 40px 0 0;
font-size: 15px;
line-height: 1.4;
color: #4a7f8e;
}

.success-page .card__footer-note a {
color: #37788B;
text-decoration: none;
background-image: linear-gradient(90deg, #37788B, #7EB9C0);
background-repeat: no-repeat;
background-size: 0% 1px;
background-position: left bottom;
padding-bottom: 2px;
transition: background-size 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.success-page .card__footer-note a:hover {
background-size: 100% 1px;
}

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

.success-page .card {
padding: 40px 16px;
}

.success-page .card__heading {
font-size: 23px;
}

.success-page .card__actions {
flex-direction: column;
gap: 8px;
}

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