@import "https://cdn.jsdelivr.net/npm/@fontsource/roboto-slab@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/roboto-slab@latest/700.css";

html {
box-sizing: border-box;
scroll-behavior: auto
}

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

body {
margin: 0;
padding: 0;
font-family: 'Roboto Slab', Georgia, serif
}

.pg-hd {
background: linear-gradient(135deg, #015160 0%, #01404e 60%, #012f3a 100%);
position: relative;
z-index: 100
}

.pg-hd__top {
max-width: 1440px;
margin: 0 auto;
padding: 24px 52px 12px;
display: flex;
align-items: center;
gap: 24px
}

.brand-hold {
display: flex;
align-items: center;
gap: 24px;
text-decoration: none;
flex: 1
}

.logo-card {
background: #f4f0ec;
border-radius: 10px;
border: 2px solid #89e1e459;
box-shadow: 0 3px 6px -2px #0151600f 0 7px 22px -2px #0151601c;
padding: 6px;
width: 78px;
height: 90px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.logo-card img {
width: 66px;
height: 78px;
object-fit: contain;
max-width: 100%;
display: block
}

.brand-text-mount {
display: flex;
flex-direction: column;
gap: 6px
}

.brand-text-mount__name {
font-family: 'Roboto Slab', Georgia, serif;
font-size: 20px;
font-weight: 700;
line-height: 1.1;
color: #fff;
letter-spacing: .04em;
text-transform: uppercase
}

.brand-text-mount__tag {
font-family: 'Roboto Slab', Georgia, serif;
font-size: 13px;
font-weight: 400;
line-height: 1.6;
color: #89E1E4
}

.hd-contact-shell {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 6px
}

.hd-contact-shell__item {
font-family: 'Roboto Slab', Georgia, serif;
font-size: 13px;
font-weight: 400;
line-height: 1.6;
color: #89E1E4;
text-decoration: none;
transition: color .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.hd-contact-shell__item:hover,
.hd-contact-shell__item:focus {
color: #fff;
outline: none
}

.hd-contact-shell__item:focus-visible {
outline: 2px solid #89E1E4;
border-radius: 3px
}

.hd-contact-shell__label {
font-size: 13px;
color: #89e1e499;
margin-right: 6px
}

.pg-hd__bar {
border-top: 1px solid #89e1e42e;
background: #012f3a8c
}

.pg-hd__nav-mount {
max-width: 1440px;
margin: 0 auto;
padding: 0 52px
}

.mn-nav {
display: flex;
align-items: stretch;
gap: 0;
list-style: none;
margin: 0;
padding: 0;
flex-wrap: wrap
}

.mn-nav__item {
position: relative
}

.mn-nav__lnk {
display: flex;
align-items: center;
padding: 12px 24px;
font-family: 'Roboto Slab', Georgia, serif;
font-size: 14px;
font-weight: 400;
line-height: 1.6;
color: #ffffffe0;
text-decoration: none;
border-bottom: 3px solid transparent;
transition: color .2s cubic-bezier(0.34, 1.56, 0.64, 1), border-color .2s cubic-bezier(0.34, 1.56, 0.64, 1), background-color .2s cubic-bezier(0.34, 1.56, 0.64, 1);
min-height: 44px;
white-space: nowrap
}

.mn-nav__lnk:hover,
.mn-nav__lnk:focus {
color: #89E1E4;
border-bottom-color: #239FC5;
background: #239fc514;
outline: none
}

.mn-nav__lnk:focus-visible {
outline: 2px solid #89E1E4;
outline-offset: -2px;
border-radius: 3px
}

.mn-nav__lnk--active {
color: #89E1E4;
border-bottom-color: #89E1E4
}

.mn-nav__item--sub {
position: relative
}

.mn-nav__item--sub::after {
content: '';
display: inline-block;
position: absolute;
right: 8px;
top: 50%;
transform: translateY(-50%);
width: 0;
height: 0;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-top: 5px solid #89e1e4b3;
pointer-events: none
}

.mn-nav__item--sub>.mn-nav__lnk {
padding-right: 28px
}

.sub-nav {
display: none;
position: absolute;
top: calc(100% + 4px);
left: 0;
min-width: 220px;
background: #012f3a;
border: 1px solid #89e1e433;
border-radius: 10px;
box-shadow: 0 7px 22px -2px #0151601c 0 9px 40px -2px #01516024;
list-style: none;
margin: 0;
padding: 6px;
z-index: 200
}

.mn-nav__item--sub:hover .sub-nav,
.mn-nav__item--sub:focus-within .sub-nav {
display: block
}

.sub-nav::before {
content: '';
position: absolute;
top: -8px;
left: 0;
right: 0;
height: 8px;
background: transparent
}

.sub-nav__item {
list-style: none
}

.sub-nav__lnk {
display: block;
padding: 12px 24px;
font-family: 'Roboto Slab', Georgia, serif;
font-size: 14px;
font-weight: 400;
line-height: 1.6;
color: #ffffffd9;
text-decoration: none;
border-radius: 3px;
transition: color .2s cubic-bezier(0.34, 1.56, 0.64, 1), background-color .2s cubic-bezier(0.34, 1.56, 0.64, 1);
min-height: 44px;
white-space: nowrap
}

.sub-nav__lnk:hover,
.sub-nav__lnk:focus {
color: #89E1E4;
background: #239fc51f;
outline: none
}

.sub-nav__lnk:focus-visible {
outline: 2px solid #89E1E4;
outline-offset: -2px
}

.pg-ft {
background: #015160;
padding: 52px 0 24px
}

.pg-ft__grid {
max-width: 1440px;
margin: 0 auto;
padding: 0 52px;
display: grid;
grid-template-columns: 2fr 3fr;
gap: 52px;
align-items: start
}

.ft-brand-col {
display: flex;
flex-direction: column;
gap: 24px
}

.ft-logo-hold {
display: flex;
align-items: center;
gap: 12px
}

.ft-logo-card {
background: #f4f0ec;
border-radius: 10px;
border: 2px solid #89e1e44d;
box-shadow: 0 3px 6px -2px #0151600f;
padding: 6px;
width: 64px;
height: 76px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.ft-logo-card img {
width: 52px;
height: 64px;
object-fit: contain;
max-width: 100%;
display: block
}

.ft-brand-name {
font-family: 'Roboto Slab', Georgia, serif;
font-size: 20px;
font-weight: 700;
line-height: 1.1;
color: #fff;
letter-spacing: .04em;
text-transform: uppercase
}

.ft-addr-shell {
display: flex;
flex-direction: column;
gap: 6px
}

.ft-addr-shell__line {
font-family: 'Roboto Slab', Georgia, serif;
font-size: 13px;
font-weight: 400;
line-height: 1.6;
color: #89e1e4cc
}

.ft-addr-shell__lnk {
font-family: 'Roboto Slab', Georgia, serif;
font-size: 13px;
font-weight: 400;
line-height: 1.6;
color: #89e1e4cc;
text-decoration: none;
transition: color .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ft-addr-shell__lnk:hover,
.ft-addr-shell__lnk:focus {
color: #fff;
outline: none
}

.ft-addr-shell__lnk:focus-visible {
outline: 2px solid #89E1E4;
border-radius: 3px
}

.ft-links-col {
display: flex;
flex-direction: column;
gap: 24px
}

.ft-nav-shell {
display: flex;
flex-wrap: wrap;
gap: 12px
}

.ft-nav-shell__lnk {
display: inline-flex;
align-items: center;
padding: 12px 24px;
font-family: 'Roboto Slab', Georgia, serif;
font-size: 14px;
font-weight: 400;
line-height: 1.1;
color: #fff;
text-decoration: none;
background: #239fc526;
border: 1px solid #89e1e433;
border-radius: 16px;
min-height: 44px;
transition: background-color .25s cubic-bezier(0.34, 1.56, 0.64, 1), border-color .25s cubic-bezier(0.34, 1.56, 0.64, 1), color .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ft-nav-shell__lnk:hover,
.ft-nav-shell__lnk:focus {
background: #239fc54d;
border-color: #89e1e480;
color: #89E1E4;
outline: none
}

.ft-nav-shell__lnk:focus-visible {
outline: 2px solid #89E1E4;
outline-offset: 2px
}

.ft-divider {
max-width: 1440px;
margin: 24px auto 0;
padding: 0 52px;
border: none;
border-top: 1px solid #89e1e426
}

.ft-meta-bar {
max-width: 1440px;
margin: 0 auto;
padding: 24px 52px 0;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 12px
}

.ft-meta-bar__copy {
font-family: 'Roboto Slab', Georgia, serif;
font-size: 13px;
font-weight: 400;
line-height: 1.6;
color: #89e1e499
}

.ft-legal-nav {
display: flex;
flex-wrap: wrap;
gap: 12px;
list-style: none;
margin: 0;
padding: 0
}

.ft-legal-nav__lnk {
display: inline-flex;
align-items: center;
padding: 6px 12px;
font-family: 'Roboto Slab', Georgia, serif;
font-size: 13px;
font-weight: 400;
line-height: 1.6;
color: #89e1e4b3;
text-decoration: none;
background: #89e1e412;
border-radius: 16px;
border: 1px solid #89e1e41f;
transition: color .2s cubic-bezier(0.34, 1.56, 0.64, 1), background-color .2s cubic-bezier(0.34, 1.56, 0.64, 1);
min-height: 44px
}

.ft-legal-nav__lnk:hover,
.ft-legal-nav__lnk:focus {
color: #fff;
background: #89e1e426;
outline: none
}

.ft-legal-nav__lnk:focus-visible {
outline: 2px solid #89E1E4;
outline-offset: 2px
}

.consent-box {
border-radius: 16px;
box-shadow: 0 9px 40px -2px #01516024;
background: #012f3a;
border: 1px solid #89e1e440;
padding: 24px;
width: 480px;
max-width: calc(100vw - 24px)
}

.consent-box__hdl {
font-family: 'Roboto Slab', Georgia, serif;
font-size: 14px;
font-weight: 700;
line-height: 1.1;
color: #fff;
margin-bottom: 12px
}

.consent-box__txt {
font-family: 'Roboto Slab', Georgia, serif;
font-size: 13px;
font-weight: 400;
line-height: 1.6;
color: #89e1e4d9;
margin-bottom: 24px
}

.consent-cats {
display: flex;
flex-direction: column;
gap: 12px;
margin-bottom: 24px
}

.consent-cat__row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
background: #89e1e40f;
border-radius: 10px;
padding: 12px
}

.consent-cat__lbl {
font-family: 'Roboto Slab', Georgia, serif;
font-size: 13px;
font-weight: 400;
line-height: 1.6;
color: #ffffffe6;
flex: 1
}

.consent-cat__note {
font-size: 13px;
color: #89e1e48c;
font-style: italic
}

.consent-cat__chk {
width: 20px;
height: 20px;
accent-color: #239FC5;
cursor: pointer;
flex-shrink: 0
}

.consent-btns {
display: flex;
gap: 12px
}

.consent-btn {
flex: 1;
padding: 12px 24px;
font-family: 'Roboto Slab', Georgia, serif;
font-size: 14px;
font-weight: 700;
line-height: 1.1;
border-radius: 10px;
border: 2px solid transparent;
cursor: pointer;
min-height: 44px;
transition: background-color .25s cubic-bezier(0.34, 1.56, 0.64, 1), border-color .25s cubic-bezier(0.34, 1.56, 0.64, 1), color .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.consent-btn--acc {
background: #239FC5;
color: #fff;
border-color: #239FC5
}

.consent-btn--acc:hover,
.consent-btn--acc:focus {
background: #015160;
border-color: #89E1E4;
outline: none
}

.consent-btn--acc:focus-visible {
outline: 2px solid #89E1E4;
outline-offset: 2px
}

.consent-btn--rej {
background: transparent;
color: #89e1e4d9;
border-color: #89e1e459
}

.consent-btn--rej:hover,
.consent-btn--rej:focus {
background: #89e1e41a;
border-color: #89e1e4b3;
color: #fff;
outline: none
}

.consent-btn--rej:focus-visible {
outline: 2px solid #89E1E4;
outline-offset: 2px
}

.consent-settings-trigger {
position: fixed;
bottom: 24px;
right: 24px;
z-index: 3999;
width: 44px;
height: 44px;
border-radius: 16px;
background: #015160;
border: 2px solid #89e1e459;
box-shadow: 0 7px 22px -2px #0151601c;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: background-color .25s cubic-bezier(0.34, 1.56, 0.64, 1), border-color .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.consent-settings-trigger:hover,
.consent-settings-trigger:focus {
background: #239FC5;
border-color: #89E1E4;
outline: none
}

.consent-settings-trigger:focus-visible {
outline: 2px solid #89E1E4;
outline-offset: 2px
}

.consent-settings-trigger svg {
width: 20px;
height: 20px;
fill: none;
stroke: #89E1E4;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
pointer-events: none
}

.legal-details {
max-width: 1440px;
margin: 0 auto;
padding: 96px 52px
}

.legal-details h1 {
font-size: 52px;
line-height: 1.1;
color: #015160;
margin-bottom: 52px;
margin-top: 0
}

.legal-details h2 {
font-size: 20px;
line-height: 1.1;
color: #015160;
margin-top: 52px;
margin-bottom: 24px;
letter-spacing: .04em;
text-transform: uppercase
}

.legal-details h3 {
font-size: 20px;
line-height: 1.6;
color: #015160;
margin-top: 24px;
margin-bottom: 12px
}

.legal-details h4,
.legal-details h5,
.legal-details h6 {
font-size: 14px;
line-height: 1.6;
color: #015160;
margin-top: 24px;
margin-bottom: 12px
}

.legal-details p {
font-size: 14px;
line-height: 1.6;
color: #1b3a42;
margin-top: 0;
margin-bottom: 24px;
max-width: 72ch
}

.legal-details ul,
.legal-details ol {
font-size: 14px;
line-height: 1.6;
color: #1b3a42;
margin-top: 0;
margin-bottom: 24px;
padding-left: 24px;
max-width: 72ch
}

.legal-details li {
margin-bottom: 12px
}

.legal-details li:last-child {
margin-bottom: 0
}

.legal-details ul li {
list-style-type: disc
}

.legal-details ol li {
list-style-type: decimal
}

.legal-details strong,
.legal-details b {
color: #015160;
font-weight: 700
}

.legal-details em,
.legal-details i {
color: #239FC5;
font-style: italic
}

.legal-details hr {
border: none;
border-top: 1px solid #89E1E4;
margin-top: 52px;
margin-bottom: 52px
}

.srv {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.srv .grain-bg {
position: relative;
padding: 96px 52px;
background-color: #f2f7f8;
background-image: linear-gradient(17deg, #015160 0%, #015160 18%, #239FC5 55%, #89E1E4 100%);
background-clip: text;
-webkit-background-clip: text
}

.srv .grain-bg::before {
content: "";
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
background-size: 200px 200px;
pointer-events: none;
border-radius: 0
}

.srv .grain-bg::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(17deg, #01516012 0%, #239fc50a 60%, #89e1e417 100%);
pointer-events: none
}

.srv .grain-inner {
position: relative;
z-index: 1;
max-width: 820px
}

.srv .grain-shapes {
position: absolute;
top: 0;
right: 0;
width: 420px;
height: 100%;
pointer-events: none;
overflow: hidden
}

.srv .grain-shapes .shape-a {
position: absolute;
top: 24px;
right: -60px;
width: 320px;
height: 320px;
border-radius: 16px;
border: 2px solid #239fc52e;
transform: rotate(22deg)
}

.srv .grain-shapes .shape-b {
position: absolute;
top: 80px;
right: 40px;
width: 180px;
height: 180px;
border-radius: 10px;
border: 1.5px solid #89e1e438;
transform: rotate(-12deg)
}

.srv .grain-shapes .shape-c {
position: absolute;
bottom: 52px;
right: 80px;
width: 100px;
height: 100px;
border-radius: 3px;
background: #239fc512;
transform: rotate(8deg)
}

.srv .pg-label {
display: inline-block;
font-size: 13px;
line-height: 1.1;
letter-spacing: .12em;
text-transform: uppercase;
color: #239FC5;
background: #239fc51a;
border-radius: 3px;
padding: 6px 12px;
margin-bottom: 24px;
font-weight: 600
}

.srv .pg-h1 {
font-size: 52px;
line-height: 1.1;
color: #015160;
margin-bottom: 24px;
font-weight: 800;
position: relative;
display: inline-block
}

.srv .pg-h1::after {
content: "";
display: block;
height: 3px;
width: 0;
background: linear-gradient(17deg, #015160 0%, #89E1E4 100%);
border-radius: 3px;
margin-top: 12px;
animation: und-draw .35s cubic-bezier(0.34, 1.56, 0.64, 1) .4s forwards
}

@keyframes und-draw {
to {
width: 100%
}
}

.srv .pg-desc {
font-size: 20px;
line-height: 1.6;
color: #1b3d45;
max-width: 600px;
opacity: 0;
animation: fade-in .3s cubic-bezier(0.34, 1.56, 0.64, 1) .55s forwards
}

@keyframes fade-in {
to {
opacity: 1
}
}

.srv .pg-img-wrap {
position: absolute;
top: 52px;
right: 52px;
width: 340px;
height: 420px;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 9px 40px -2px #01516024;
opacity: 0;
animation: fade-in .35s cubic-bezier(0.34, 1.56, 0.64, 1) .3s forwards
}

.srv .pg-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .3s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.srv .pg-img-wrap:hover img {
transform: scale(1.04)
}

.srv .pg-img-wrap:hover {
box-shadow: 0 9px 40px -2px #01516038 0 3px 6px -2px #01516017
}

.srv .mosaic {
padding: 96px 52px;
background: #fff;
position: relative
}

.srv .mosaic::before {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(ellipse 70% 60% at 50% 50%, #89e1e414 0%, #fff0 70%);
pointer-events: none
}

.srv .mosaic-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: auto auto;
gap: 24px;
position: relative;
z-index: 1
}

.srv .mosaic-hd {
grid-column: 1 / 3;
display: flex;
flex-direction: column;
gap: 12px;
padding-bottom: 24px
}

.srv .mosaic-hd-title {
font-size: 52px;
line-height: 1.1;
color: #015160;
font-weight: 800;
position: relative;
display: inline-block
}

.srv .mosaic-hd-title::after {
content: "";
display: block;
height: 3px;
width: 0;
background: linear-gradient(17deg, #239FC5 0%, #89E1E4 100%);
border-radius: 3px;
margin-top: 12px;
transition: width .35s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.srv .mosaic-hd:hover .mosaic-hd-title::after {
width: 100%
}

.srv .mosaic-hd-sub {
font-size: 14px;
line-height: 1.6;
color: #2a5a66;
max-width: 480px
}

.srv .mosaic-stat {
grid-column: 3 / 4;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background: linear-gradient(17deg, #015160 0%, #015160 25%, #239FC5 80%, #89E1E4 100%);
border-radius: 16px;
padding: 52px 24px;
box-shadow: 0 7px 22px -2px #01516024
}

.srv .ring-wrap {
position: relative;
width: 120px;
height: 120px;
margin-bottom: 12px
}

.srv .ring-svg {
width: 120px;
height: 120px;
transform: rotate(-90deg)
}

.srv .ring-track {
fill: none;
stroke: #ffffff2e;
stroke-width: 8
}

.srv .ring-fill {
fill: none;
stroke: #fff;
stroke-width: 8;
stroke-linecap: round;
stroke-dasharray: 283;
stroke-dashoffset: 283;
animation: ring-anim .35s cubic-bezier(0.34, 1.56, 0.64, 1) .6s forwards
}

@keyframes ring-anim {
to {
stroke-dashoffset: 42
}
}

.srv .ring-num {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 20px;
line-height: 1.1;
font-weight: 800;
color: #fff
}

.srv .ring-label {
font-size: 13px;
line-height: 1.6;
color: #ffffffd9;
text-align: center;
letter-spacing: .06em;
text-transform: uppercase
}

.srv .svc-card {
background: #f4fbfc;
border-radius: 16px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
box-shadow: inset 0 3px 6px -2px #0151600f 0 3px 6px -2px #0151600a;
transition: background .25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1);
position: relative;
overflow: hidden
}

.srv .svc-card::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(17deg, #01516000 0%, #239fc500 100%);
border-radius: 16px;
transition: background .28s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.srv .svc-card:hover::before {
background: linear-gradient(17deg, #0151600a 0%, #239fc512 100%)
}

.srv .svc-card:hover {
box-shadow: inset 0 3px 6px -2px #01516017 0 7px 22px -2px #0151601c
}

.srv .svc-card--wide {
grid-column: 1 / 3;
flex-direction: row;
align-items: flex-start;
gap: 24px
}

.srv .svc-card--accent {
background: linear-gradient(17deg, #015160 0%, #239FC5 70%, #89E1E4 100%)
}

.srv .svc-card--accent .svc-num,
.srv .svc-card--accent .svc-name,
.srv .svc-card--accent .svc-body {
color: #fff
}

.srv .svc-card--accent::before {
display: none
}

.srv .svc-num {
font-size: 13px;
line-height: 1.1;
letter-spacing: .1em;
text-transform: uppercase;
color: #239FC5;
font-weight: 700
}

.srv .svc-name {
font-size: 20px;
line-height: 1.1;
color: #015160;
font-weight: 700;
position: relative;
display: inline-block
}

.srv .svc-name::after {
content: "";
display: block;
height: 2px;
width: 0;
background: #239FC5;
border-radius: 3px;
margin-top: 6px;
transition: width .28s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.srv .svc-card:hover .svc-name::after {
width: 100%
}

.srv .svc-body {
font-size: 14px;
line-height: 1.6;
color: #2a5a66
}

.srv .svc-card--wide .svc-col {
flex: 1;
display: flex;
flex-direction: column;
gap: 12px
}

.srv .svc-list {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 6px 24px;
list-style: none;
padding: 0;
margin: 0
}

.srv .svc-list li {
font-size: 14px;
line-height: 1.6;
color: #2a5a66;
padding-left: 12px;
position: relative
}

.srv .svc-list li::before {
content: "";
position: absolute;
left: 0;
top: 10px;
width: 5px;
height: 5px;
border-radius: 50%;
background: #239FC5
}

.srv .svc-card--accent .svc-list li {
color: #ffffffe0
}

.srv .svc-card--accent .svc-list li::before {
background: #ffffffb3
}

.srv .chart-band {
padding: 96px 52px;
background: #f0f9fb;
position: relative
}

.srv .chart-band::before {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(ellipse 80% 70% at 50% 50%, #239fc512 0%, #f0f9fb00 68%);
pointer-events: none
}

.srv .chart-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 52px;
align-items: start;
position: relative;
z-index: 1
}

.srv .chart-txt {
display: flex;
flex-direction: column;
gap: 24px
}

.srv .chart-h2 {
font-size: 52px;
line-height: 1.1;
color: #015160;
font-weight: 800;
position: relative;
display: inline-block
}

.srv .chart-h2::after {
content: "";
display: block;
height: 3px;
width: 0;
background: linear-gradient(17deg, #015160 0%, #89E1E4 100%);
border-radius: 3px;
margin-top: 12px;
transition: width .3s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.srv .chart-txt:hover .chart-h2::after {
width: 100%
}

.srv .chart-p {
font-size: 14px;
line-height: 1.6;
color: #2a5a66
}

.srv .chart-p--num::before {
content: attr(data-n) ". ";
font-weight: 700;
color: #239FC5
}

.srv .portraits-row {
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 12px
}

.srv .port-card {
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start;
background: #fff;
border-radius: 10px;
padding: 12px;
flex: 1;
box-shadow: 0 3px 6px -2px #0151600f;
transition: box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.srv .port-card:hover {
box-shadow: 0 7px 22px -2px #01516021
}

.srv .port-img {
width: 64px;
height: 85px;
object-fit: cover;
object-position: center;
display: block;
flex-shrink: 0;
border-radius: 0
}

.srv .port-info {
display: flex;
flex-direction: column;
gap: 6px
}

.srv .port-name {
font-size: 14px;
line-height: 1.1;
font-weight: 700;
color: #015160
}

.srv .port-role {
font-size: 13px;
line-height: 1.6;
color: #239FC5;
text-transform: uppercase;
letter-spacing: .08em
}

.srv .port-quote {
font-size: 13px;
line-height: 1.6;
color: #2a5a66
}

.srv .stepped-chart {
display: flex;
flex-direction: column;
gap: 12px
}

.srv .step-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px
}

.srv .step-label {
font-size: 13px;
line-height: 1.1;
color: #015160;
font-weight: 600;
width: 140px;
flex-shrink: 0
}

.srv .step-bar-wrap {
flex: 1;
height: 28px;
background: #01516012;
border-radius: 3px;
overflow: hidden;
position: relative
}

.srv .step-bar {
height: 100%;
border-radius: 3px;
background: linear-gradient(17deg, #015160 0%, #239FC5 60%, #89E1E4 100%);
width: 0;
transition: width .35s cubic-bezier(0.34, 1.56, 0.64, 1);
animation: bar-grow .35s cubic-bezier(0.34, 1.56, 0.64, 1) forwards
}

.srv .step-bar--s1 {
animation-delay: .2s;
animation-name: bar-s1
}

.srv .step-bar--s2 {
animation-delay: .3s;
animation-name: bar-s2
}

.srv .step-bar--s3 {
animation-delay: .4s;
animation-name: bar-s3
}

.srv .step-bar--s4 {
animation-delay: .5s;
animation-name: bar-s4
}

.srv .step-bar--s5 {
animation-delay: .6s;
animation-name: bar-s5
}

@keyframes bar-s1 {
to {
width: 38%
}
}

@keyframes bar-s2 {
to {
width: 54%
}
}

@keyframes bar-s3 {
to {
width: 67%
}
}

@keyframes bar-s4 {
to {
width: 79%
}
}

@keyframes bar-s5 {
to {
width: 91%
}
}

.srv .step-pct {
font-size: 13px;
line-height: 1.1;
font-weight: 700;
color: #015160;
width: 36px;
text-align: right;
flex-shrink: 0
}

.srv .img2-wrap {
border-radius: 10px;
overflow: hidden;
box-shadow: 0 7px 22px -2px #0151601c;
transition: box-shadow .28s cubic-bezier(0.34, 1.56, 0.64, 1);
margin-top: 24px
}

.srv .img2-wrap:hover {
box-shadow: 0 9px 40px -2px #0151602e
}

.srv .img2-wrap img {
width: 100%;
max-width: 100%;
height: 220px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .3s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.srv .img2-wrap:hover img {
transform: scale(1.03)
}

@media (max-width: 900px) {
.srv .grain-bg {
padding: 52px 24px
}

.srv .pg-img-wrap {
display: none
}

.srv .mosaic {
padding: 52px 24px
}

.srv .mosaic-grid {
grid-template-columns: 1fr
}

.srv .mosaic-hd {
grid-column: 1
}

.srv .mosaic-stat {
grid-column: 1
}

.srv .svc-card--wide {
flex-direction: column;
grid-column: 1
}

.srv .chart-band {
padding: 52px 24px
}

.srv .chart-layout {
grid-template-columns: 1fr;
gap: 24px
}

.srv .portraits-row {
flex-direction: column
}

.srv .pg-h1 {
font-size: 20px
}

.srv .mosaic-hd-title {
font-size: 20px
}

.srv .chart-h2 {
font-size: 20px
}
}

.ptl {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.ptl__title-blk {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 580px;
position: relative
}

.ptl__title-txt {
padding: 96px 52px 96px 96px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px;
background: #fff;
position: relative;
z-index: 1
}

.ptl__title-tag {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 6px 24px;
background: #015160;
color: #fff;
font-size: 13px;
letter-spacing: .12em;
text-transform: uppercase;
border-radius: 3px;
width: fit-content
}

.ptl__title-tag::before,
.ptl__title-tag::after {
content: "";
display: block;
width: 18px;
height: 1px;
background: #89E1E4;
flex-shrink: 0
}

.ptl__h1 {
font-size: 52px;
line-height: 1.1;
color: #015160;
margin: 0
}

.ptl__h1 span {
display: block;
color: #239FC5
}

.ptl__lead {
font-size: 14px;
line-height: 1.6;
color: #2a4a52;
margin: 0;
max-width: 420px
}

.ptl__title-actions {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap
}

.ptl__btn--pri {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 12px 24px;
background: #015160;
color: #fff;
font-size: 14px;
border: 2px solid #015160;
border-radius: 10px;
cursor: pointer;
text-decoration: none;
position: relative;
transition: background .25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .2s cubic-bezier(0.34, 1.56, 0.64, 1);
box-shadow: 0 7px 22px -2px #0151601c
}

.ptl__btn--pri::after {
content: "";
position: absolute;
inset: 3px;
border: 1.5px solid #89e1e400;
border-radius: 7px;
transition: border-color .2s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ptl__btn--pri:hover {
background: #013d4a;
box-shadow: 0 9px 40px -2px #01516024
}

.ptl__btn--pri:hover::after {
border-color: #89e1e499
}

.ptl__btn--sec {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 12px 24px;
background: transparent;
color: #015160;
font-size: 14px;
border: 2px solid #015160;
border-radius: 10px;
cursor: pointer;
text-decoration: none;
position: relative;
transition: background .28s cubic-bezier(0.68, -0.55, 0.27, 1.55), color .28s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.ptl__btn--sec:hover {
background: #015160;
color: #fff
}

.ptl__title-img-col {
position: relative;
overflow: hidden
}

.ptl__title-img-col img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.ptl__title-img-overlay {
position: absolute;
inset: 0;
background: linear-gradient(17deg, #015160b8 0%, #01516059 55%, #239fc51a 100%);
pointer-events: none
}

.ptl__title-deco-arrow {
position: absolute;
bottom: 52px;
left: -24px;
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
z-index: 2;
pointer-events: none
}

.ptl__title-deco-arrow svg {
width: 32px;
height: 32px;
fill: none;
stroke: #239FC5;
stroke-width: 2
}

.ptl__title-deco-line {
position: absolute;
top: 52px;
right: 0;
width: 3px;
height: 120px;
background: linear-gradient(17deg, #89E1E4 0%, #239FC5 100%);
border-radius: 3px;
pointer-events: none
}

.ptl__wave-div {
width: 100%;
height: 52px;
overflow: hidden;
line-height: 0
}

.ptl__wave-div svg {
width: 100%;
height: 100%;
display: block
}

.ptl__val {
background: #f5f9fa;
padding: 96px 52px
}

.ptl__val-grid {
display: grid;
grid-template-columns: 3fr 1fr;
gap: 52px;
max-width: 1200px;
margin: 0 auto;
align-items: start
}

.ptl__sec-label {
font-size: 13px;
letter-spacing: .1em;
text-transform: uppercase;
color: #239FC5;
margin: 0 0 12px;
font-weight: 600
}

.ptl__val-h2 {
font-size: 20px;
line-height: 1.1;
color: #015160;
margin: 0 0 24px;
position: relative;
display: inline-block
}

.ptl__val-h2::after {
content: "";
display: block;
height: 2px;
background: linear-gradient(17deg, #239FC5 0%, #89E1E4 100%);
border-radius: 3px;
width: 0;
transition: width .35s cubic-bezier(0.34, 1.56, 0.64, 1);
margin-top: 6px
}

.ptl__val-left:hover .ptl__val-h2::after {
width: 100%
}

.ptl__val-paras {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.ptl__val-para {
font-size: 14px;
line-height: 1.6;
color: #2a4a52;
margin: 0;
padding: 24px;
background: #fff;
border-radius: 10px;
box-shadow: 0 3px 6px -2px #0151600f
}

.ptl__val-para-num {
display: block;
font-size: 52px;
line-height: 1.1;
color: #89E1E4;
font-weight: 700;
margin-bottom: 6px
}

.ptl__val-side {
display: flex;
flex-direction: column;
gap: 24px;
align-items: center
}

.ptl__val-img-wrap {
width: 100%;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 7px 22px -2px #0151601c;
aspect-ratio: 3/4
}

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

.ptl__val-diamond {
width: 48px;
height: 48px;
background: linear-gradient(17deg, #015160 0%, #239FC5 100%);
transform: rotate(45deg);
border-radius: 3px;
flex-shrink: 0;
box-shadow: 0 7px 22px -2px #01516024
}

.ptl__wave-div--2 {
background: #f5f9fa
}

.ptl__rep {
background: #015160;
padding: 96px 52px;
position: relative
}

.ptl__rep-bg-pattern {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.ptl__rep-bg-pattern svg {
width: 100%;
height: 100%;
opacity: .06
}

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

.ptl__rep-top {
text-align: center;
margin-bottom: 52px
}

.ptl__rep-label {
font-size: 13px;
letter-spacing: .1em;
text-transform: uppercase;
color: #89E1E4;
margin: 0 0 12px;
font-weight: 600
}

.ptl__rep-h2 {
font-size: 20px;
line-height: 1.1;
color: #fff;
margin: 0 0 12px
}

.ptl__rep-sub {
font-size: 14px;
line-height: 1.6;
color: #89E1E4;
max-width: 560px;
margin: 0 auto
}

.ptl__rep-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px;
margin-bottom: 52px
}

.ptl__rep-card {
background: #ffffff0f;
border: 1px solid #89e1e433;
border-radius: 10px;
padding: 24px;
box-shadow: inset 0 2px 8px #0151602e;
transition: background .25s cubic-bezier(0.34, 1.56, 0.64, 1), transform .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ptl__rep-card:hover {
background: #ffffff1a;
transform: translateY(-3px)
}

.ptl__rep-card-ico {
width: 36px;
height: 36px;
margin-bottom: 12px
}

.ptl__rep-card-ico svg {
width: 36px;
height: 36px;
fill: none;
stroke: #89E1E4;
stroke-width: 1.5
}

.ptl__rep-card-h {
font-size: 14px;
line-height: 1.1;
color: #fff;
margin: 0 0 12px;
font-weight: 600
}

.ptl__rep-card-p {
font-size: 13px;
line-height: 1.6;
color: #89E1E4;
margin: 0
}

.ptl__rep-portrait-row {
display: grid;
grid-template-columns: 220px 1fr;
gap: 52px;
align-items: center;
background: #ffffff0a;
border-radius: 16px;
padding: 24px;
border: 1px solid #89e1e41f
}

.ptl__rep-portrait-wrap {
border-radius: 16px;
overflow: hidden;
aspect-ratio: 2/3;
width: 220px;
box-shadow: 0 9px 40px -2px #01516024
}

.ptl__rep-portrait-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.ptl__rep-expert-name {
font-size: 20px;
line-height: 1.1;
color: #fff;
margin: 0 0 6px
}

.ptl__rep-expert-role {
font-size: 13px;
color: #89E1E4;
margin: 0 0 24px;
letter-spacing: .06em;
text-transform: uppercase
}

.ptl__rep-expert-q {
font-size: 14px;
line-height: 1.6;
color: #ffffffd9;
margin: 0
}

.ptl__rep-rating-row {
display: flex;
flex-direction: row;
gap: 52px;
margin-top: 24px;
align-items: center
}

.ptl__rep-rating-num {
font-size: 52px;
line-height: 1.1;
color: #89E1E4;
font-weight: 700
}

.ptl__rep-rating-label {
font-size: 13px;
color: #fff9;
margin: 0
}

.ptl__rep-stars {
display: flex;
flex-direction: row;
gap: 6px
}

.ptl__rep-star {
width: 16px;
height: 16px
}

.ptl__rep-star svg {
width: 16px;
height: 16px;
fill: #89E1E4
}

.ptl__wave-div--3 {
background: #015160
}

.ptl__cond {
background: #fff;
padding: 96px 52px
}

.ptl__cond-inner {
max-width: 1200px;
margin: 0 auto
}

.ptl__cond-top {
margin-bottom: 52px
}

.ptl__cond-label {
font-size: 13px;
letter-spacing: .1em;
text-transform: uppercase;
color: #239FC5;
margin: 0 0 12px;
font-weight: 600
}

.ptl__cond-h2 {
font-size: 20px;
line-height: 1.1;
color: #015160;
margin: 0 0 12px;
display: inline-block;
position: relative
}

.ptl__cond-h2::after {
content: "";
display: block;
height: 2px;
background: linear-gradient(17deg, #89E1E4 0%, #239FC5 100%);
border-radius: 3px;
width: 0;
transition: width .3s cubic-bezier(0.34, 1.56, 0.64, 1);
margin-top: 6px
}

.ptl__cond-top:hover .ptl__cond-h2::after {
width: 100%
}

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

.ptl__cond-imgs {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 280px 180px;
gap: 12px
}

.ptl__cond-img-a {
grid-column: 1 / 2;
grid-row: 1 / 3;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 7px 22px -2px #0151601c
}

.ptl__cond-img-b {
grid-column: 2 / 3;
grid-row: 1 / 2;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 3px 6px -2px #0151600f
}

.ptl__cond-img-accent {
grid-column: 2 / 3;
grid-row: 2 / 3;
background: linear-gradient(17deg, #015160 0%, #239FC5 80%, #89E1E4 100%);
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
padding: 24px
}

.ptl__cond-img-accent-txt {
font-size: 14px;
line-height: 1.6;
color: #fff;
text-align: center;
margin: 0
}

.ptl__cond-img-a img,
.ptl__cond-img-b img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.ptl__cond-list {
display: flex;
flex-direction: column;
gap: 24px
}

.ptl__cond-item {
display: grid;
grid-template-columns: 36px 1fr;
gap: 12px;
align-items: start;
padding: 24px;
border-radius: 10px;
background: #f5f9fa;
box-shadow: inset 0 2px 6px #0151600f;
transition: box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ptl__cond-item:hover {
box-shadow: 0 7px 22px -2px #0151601c inset 0 2px 6px #0151600a
}

.ptl__cond-item-num {
width: 36px;
height: 36px;
background: #015160;
color: #fff;
font-size: 13px;
font-weight: 700;
border-radius: 3px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.ptl__cond-item-h {
font-size: 14px;
line-height: 1.1;
color: #015160;
margin: 0 0 6px;
font-weight: 600
}

.ptl__cond-item-p {
font-size: 13px;
line-height: 1.6;
color: #2a4a52;
margin: 0
}

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

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

.ptl__rep-card {
animation: ptl-cascade-in .35s cubic-bezier(0.34, 1.56, 0.64, 1) both
}

.ptl__rep-card:nth-child(1) {
animation-delay: .05s
}

.ptl__rep-card:nth-child(2) {
animation-delay: .12s
}

.ptl__rep-card:nth-child(3) {
animation-delay: .19s
}

@media (max-width: 900px) {
.ptl__title-blk {
grid-template-columns: 1fr
}

.ptl__title-img-col {
height: 300px
}

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

.ptl__val-paras {
grid-template-columns: 1fr
}

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

.ptl__rep-portrait-row {
grid-template-columns: 1fr
}

.ptl__rep-portrait-wrap {
width: 160px
}

.ptl__cond-layout {
grid-template-columns: 1fr
}

.ptl__cond-imgs {
grid-template-rows: 220px 140px
}

.ptl__title-txt {
padding: 52px 24px
}

.ptl__val,
.ptl__rep,
.ptl__cond {
padding: 52px 24px
}
}

.lp-prog {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.lp-prog .ttl-blk {
padding: 96px 52px;
display: flex;
flex-direction: column;
align-items: center;
position: relative;
background: #fff
}

.lp-prog .ttl-blk__deco {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden;
z-index: 0
}

.lp-prog .ttl-blk__deco-hex {
position: absolute;
top: 52px;
right: 96px;
width: 220px;
height: 220px;
opacity: .06;
background-color: #015160;
clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%)
}

.lp-prog .ttl-blk__img-wrap {
position: relative;
z-index: 1;
width: 340px;
max-width: 100%;
margin-bottom: 52px
}

.lp-prog .ttl-blk__img {
width: 100%;
display: block;
object-fit: contain;
max-width: 100%;
filter: saturate(1.3) contrast(1.05) brightness(0.97);
transition: filter .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.lp-prog .ttl-blk__img:hover {
filter: saturate(1.6) contrast(1.1) brightness(0.93) hue-rotate(0deg)
}

.lp-prog .ttl-blk__txt {
position: relative;
z-index: 1;
text-align: center;
max-width: 780px
}

.lp-prog .ttl-blk__txt::before {
content: "";
display: block;
width: 60px;
height: 3px;
background: linear-gradient(17deg, #015160 10%, #239FC5 90%);
margin: 0 auto 24px;
border-radius: 3px;
animation: lp-line-in .35s cubic-bezier(0.34, 1.56, 0.64, 1) both
}

@keyframes lp-line-in {
from {
width: 0;
opacity: 0
}

to {
width: 60px;
opacity: 1
}
}

.lp-prog .ttl-blk__tag {
display: inline-block;
background: linear-gradient(17deg, #015160 5%, #239FC5 95%);
color: #fff;
font-size: 13px;
letter-spacing: .12em;
text-transform: uppercase;
padding: 6px 12px;
border-radius: 3px;
margin-bottom: 24px;
box-shadow: 0 3px 6px -2px #0151600f
}

.lp-prog .ttl-blk__h1 {
font-size: 52px;
line-height: 1.1;
color: #015160;
margin: 0 0 12px
}

.lp-prog .ttl-blk__sub {
font-size: 20px;
line-height: 1.6;
color: #2a5a66;
margin: 0 0 24px
}

.lp-prog .ttl-blk__desc {
font-size: 14px;
line-height: 1.6;
color: #334d54;
margin: 0
}

.lp-prog .ttl-blk__dash {
width: 100%;
max-width: 780px;
border: none;
border-top: 1px dashed #89E1E4;
margin: 24px 0 0
}

.lp-prog .scallop-div {
width: 100%;
overflow: hidden;
line-height: 0;
height: 32px
}

.lp-prog .scallop-div svg {
display: block;
width: 100%;
height: 32px
}

.lp-prog .mod-grid {
background: #f0f7f9;
padding: 96px 52px;
position: relative
}

.lp-prog .mod-grid__hd {
max-width: 1440px;
margin: 0 auto 52px;
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 52px
}

.lp-prog .mod-grid__hd-txt {
flex: 1
}

.lp-prog .mod-grid__h2 {
font-size: 52px;
line-height: 1.1;
color: #015160;
margin: 0 0 12px;
position: relative;
display: inline-block
}

.lp-prog .mod-grid__h2::after {
content: "";
display: block;
height: 3px;
width: 0;
background: linear-gradient(17deg, #015160 5%, #239FC5 95%);
border-radius: 3px;
transition: width .3s cubic-bezier(0.34, 1.56, 0.64, 1);
margin-top: 6px
}

.lp-prog .mod-grid__h2:hover::after {
width: 100%
}

.lp-prog .mod-grid__lead {
font-size: 14px;
line-height: 1.6;
color: #2a5a66;
margin: 0;
max-width: 480px
}

.lp-prog .mod-grid__meta {
display: flex;
flex-direction: column;
gap: 12px;
align-items: flex-end
}

.lp-prog .mod-grid__stat {
font-size: 20px;
line-height: 1.1;
color: #015160;
font-weight: 700
}

.lp-prog .mod-grid__stat span {
font-size: 13px;
font-weight: 400;
color: #4a7a86;
display: block;
line-height: 1.6
}

.lp-prog .mod-grid__cards {
max-width: 1440px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px
}

.lp-prog .mod-card {
background: #fff;
border-radius: 10px;
box-shadow: 0 7px 22px -2px #0151601c;
padding: 24px;
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
gap: 12px;
animation: lp-card-in .3s cubic-bezier(0.34, 1.56, 0.64, 1) both;
transition: box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1), transform .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.lp-prog .mod-card:nth-child(1) {
animation-delay: .05s
}

.lp-prog .mod-card:nth-child(2) {
animation-delay: .1s
}

.lp-prog .mod-card:nth-child(3) {
animation-delay: .15s
}

.lp-prog .mod-card:nth-child(4) {
animation-delay: .2s
}

.lp-prog .mod-card:nth-child(5) {
animation-delay: .25s
}

.lp-prog .mod-card:nth-child(6) {
animation-delay: .3s
}

@keyframes lp-card-in {
from {
opacity: 0;
transform: translateY(18px)
}

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

.lp-prog .mod-card:hover {
box-shadow: 0 9px 40px -2px #01516024;
transform: translateY(-4px)
}

.lp-prog .mod-card__corner-tag {
position: absolute;
top: 0;
right: 0;
background: linear-gradient(17deg, #015160 5%, #239FC5 95%);
color: #fff;
font-size: 13px;
padding: 6px 12px;
border-radius: 0 10px 0 10px;
letter-spacing: .08em
}

.lp-prog .mod-card__num {
font-size: 52px;
line-height: 1.1;
color: #89E1E4;
font-weight: 700;
opacity: .5
}

.lp-prog .mod-card__h3 {
font-size: 20px;
line-height: 1.1;
color: #015160;
margin: 0
}

.lp-prog .mod-card__body {
font-size: 14px;
line-height: 1.6;
color: #334d54;
margin: 0
}

.lp-prog .mod-card__list {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 6px 12px;
padding: 0;
margin: 0;
list-style: none
}

.lp-prog .mod-card__list li {
font-size: 13px;
line-height: 1.6;
color: #2a5a66;
padding-left: 12px;
position: relative
}

.lp-prog .mod-card__list li::before {
content: "";
display: block;
width: 5px;
height: 5px;
background: #239FC5;
border-radius: 0;
position: absolute;
top: 8px;
left: 0
}

.lp-prog .mod-card__inset {
box-shadow: inset 0 2px 8px #01516014;
background: #f0f7f9;
border-radius: 3px;
padding: 12px
}

.lp-prog .scallop-div--inv svg {
transform: scaleY(-1)
}

.lp-prog .team-blk {
padding: 96px 52px;
background: #fff;
position: relative
}

.lp-prog .team-blk__inner {
max-width: 1440px;
margin: 0 auto
}

.lp-prog .team-blk__hd {
text-align: center;
margin-bottom: 52px
}

.lp-prog .team-blk__h2 {
font-size: 52px;
line-height: 1.1;
color: #015160;
margin: 0 0 12px;
display: inline-block;
position: relative
}

.lp-prog .team-blk__h2::after {
content: "";
position: absolute;
bottom: -6px;
left: 0;
width: 0;
height: 3px;
background: linear-gradient(17deg, #015160 5%, #239FC5 95%);
border-radius: 3px;
transition: width .28s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.lp-prog .team-blk__h2:hover::after {
width: 100%
}

.lp-prog .team-blk__sub {
font-size: 14px;
line-height: 1.6;
color: #4a7a86;
margin: 12px 0 0;
max-width: 560px;
margin-left: auto;
margin-right: auto
}

.lp-prog .team-blk__grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px
}

.lp-prog .prof-card {
display: flex;
flex-direction: column;
gap: 0;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 7px 22px -2px #0151601c;
transition: box-shadow .28s cubic-bezier(0.34, 1.56, 0.64, 1), transform .28s cubic-bezier(0.34, 1.56, 0.64, 1);
animation: lp-card-in .3s cubic-bezier(0.34, 1.56, 0.64, 1) both
}

.lp-prog .prof-card:nth-child(1) {
animation-delay: .08s
}

.lp-prog .prof-card:nth-child(2) {
animation-delay: .16s
}

.lp-prog .prof-card:nth-child(3) {
animation-delay: .24s
}

.lp-prog .prof-card:nth-child(4) {
animation-delay: .32s
}

.lp-prog .prof-card:hover {
box-shadow: 0 9px 40px -2px #01516024;
transform: translateY(-5px)
}

.lp-prog .prof-card__img-wrap {
position: relative;
aspect-ratio: 7/9;
overflow: hidden
}

.lp-prog .prof-card__img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: filter .25s cubic-bezier(0.34, 1.56, 0.64, 1), transform .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.lp-prog .prof-card__img-wrap::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(17deg, #015160b8 5%, #239fc58c 95%);
opacity: 0;
transition: opacity .25s cubic-bezier(0.34, 1.56, 0.64, 1);
pointer-events: none
}

.lp-prog .prof-card:hover .prof-card__img-wrap::after {
opacity: 1
}

.lp-prog .prof-card:hover .prof-card__img {
transform: scale(1.04)
}

.lp-prog .prof-card__info {
padding: 12px;
background: #fff;
display: flex;
flex-direction: column;
gap: 6px
}

.lp-prog .prof-card__name {
font-size: 14px;
line-height: 1.1;
color: #015160;
font-weight: 700;
margin: 0
}

.lp-prog .prof-card__role {
font-size: 13px;
line-height: 1.6;
color: #4a7a86;
margin: 0
}

.lp-prog .prof-card__quote {
font-size: 13px;
line-height: 1.6;
color: #334d54;
margin: 0;
box-shadow: inset 0 2px 6px #01516012;
background: #f0f7f9;
border-radius: 3px;
padding: 6px 12px
}

.lp-prog .team-blk__cta-row {
display: flex;
flex-direction: row;
justify-content: center;
margin-top: 52px;
gap: 12px
}

.lp-prog .btn-prim {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 12px 24px;
background: linear-gradient(17deg, #015160 5%, #239FC5 95%);
color: #fff;
font-size: 14px;
border-radius: 10px;
border: 2px solid transparent;
cursor: pointer;
text-decoration: none;
box-shadow: 0 7px 22px -2px #0151601c;
transition: box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1), transform .25s cubic-bezier(0.34, 1.56, 0.64, 1);
position: relative
}

.lp-prog .btn-prim::after {
content: "";
position: absolute;
inset: 3px;
border: 2px solid #ffffff59;
border-radius: 8px;
opacity: 0;
transition: opacity .2s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.lp-prog .btn-prim:hover {
box-shadow: 0 9px 40px -2px #01516024;
transform: translateY(-2px)
}

.lp-prog .btn-prim:hover::after {
opacity: 1
}

.lp-prog .btn-sec {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 12px 24px;
background: #fff;
color: #015160;
font-size: 14px;
border-radius: 10px;
border: 2px solid #015160;
cursor: pointer;
text-decoration: none;
box-shadow: 0 3px 6px -2px #0151600f;
transition: box-shadow .2s cubic-bezier(0.68, -0.55, 0.27, 1.55), background .2s cubic-bezier(0.68, -0.55, 0.27, 1.55);
position: relative
}

.lp-prog .btn-sec::after {
content: "";
position: absolute;
inset: 3px;
border: 2px solid #01516033;
border-radius: 8px;
opacity: 0;
transition: opacity .2s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.lp-prog .btn-sec:hover {
background: #f0f7f9;
box-shadow: 0 7px 22px -2px #0151601c
}

.lp-prog .btn-sec:hover::after {
opacity: 1
}

.lp-prog .honeycomb-bg {
background-color: #e8f4f7;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100'%3E%3Cpath d='M28 66L0 50V17L28 0l28 17v33zm0 0l28 17v33L28 100 0 99V66z' fill='none' stroke='%23239FC5' stroke-width='0.6' opacity='0.18'/%3E%3C/svg%3E")
}

@media (max-width: 1100px) {
.lp-prog .mod-grid__cards {
grid-template-columns: repeat(2, 1fr)
}

.lp-prog .team-blk__grid {
grid-template-columns: repeat(2, 1fr)
}
}

@media (max-width: 700px) {
.lp-prog .ttl-blk {
padding: 52px 24px
}

.lp-prog .mod-grid {
padding: 52px 24px
}

.lp-prog .team-blk {
padding: 52px 24px
}

.lp-prog .mod-grid__cards {
grid-template-columns: 1fr
}

.lp-prog .team-blk__grid {
grid-template-columns: 1fr 1fr
}

.lp-prog .mod-grid__hd {
flex-direction: column;
align-items: flex-start;
gap: 24px
}

.lp-prog .mod-grid__meta {
align-items: flex-start
}

.lp-prog .ttl-blk__h1 {
font-size: 20px
}

.lp-prog .mod-grid__h2 {
font-size: 20px
}

.lp-prog .team-blk__h2 {
font-size: 20px
}
}

.cnt-pg {
max-width: 1440px;
margin: 0 auto;
overflow: hidden
}

.cnt-pg .pg-strip {
display: flex;
flex-direction: row;
min-height: 520px;
position: relative
}

.cnt-pg .pg-strip__text {
flex: 3;
background: #fff;
padding: 96px 52px 52px 96px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
z-index: 1
}

.cnt-pg .pg-strip__aside {
flex: 1;
background: #015160;
display: flex;
flex-direction: column;
justify-content: flex-end;
padding: 52px 24px;
position: relative;
overflow: hidden
}

.cnt-pg .pg-strip__aside::before {
content: "";
position: absolute;
top: -60px;
left: -60px;
width: 200px;
height: 200px;
border: 40px solid #239fc52e;
border-radius: 0;
pointer-events: none
}

.cnt-pg .pg-strip__aside::after {
content: "";
position: absolute;
bottom: 40px;
right: -40px;
width: 140px;
height: 140px;
border: 28px solid #89e1e421;
border-radius: 0;
pointer-events: none
}

.cnt-pg .strip-accent-line {
display: block;
width: 3px;
background: linear-gradient(17deg, #239FC5 10%, #89E1E4 90%);
position: absolute;
top: 96px;
bottom: 52px;
left: 52px;
border-radius: 3px
}

.cnt-pg .strip-hdg {
font-size: 52px;
line-height: 1.1;
color: #015160;
margin: 0 0 24px;
font-weight: 800;
position: relative;
display: inline-block
}

.cnt-pg .strip-hdg__line {
display: block;
height: 2px;
background: linear-gradient(17deg, #015160 0%, #239FC5 60%, #89E1E4 100%);
width: 0;
animation: hdg-draw .35s cubic-bezier(0.34, 1.56, 0.64, 1) .2s forwards;
border-radius: 3px;
margin-top: 6px
}

@keyframes hdg-draw {
to {
width: 100%
}
}

.cnt-pg .strip-sub {
font-size: 14px;
line-height: 1.6;
color: #2a4a52;
max-width: 520px;
margin: 0
}

.cnt-pg .aside-lbl {
font-size: 13px;
line-height: 1.1;
color: #89E1E4;
text-transform: uppercase;
letter-spacing: .12em;
margin: 0 0 12px;
font-weight: 700
}

.cnt-pg .aside-item {
margin: 0 0 24px
}

.cnt-pg .aside-item__val {
font-size: 14px;
line-height: 1.6;
color: #fff;
display: block
}

.cnt-pg .aside-item__val a {
color: #89E1E4;
text-decoration: none;
transition: color .2s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.cnt-pg .aside-item__val a:hover {
color: #fff
}

.cnt-pg .aside-addr {
font-size: 13px;
line-height: 1.6;
color: #ffffffb3;
margin: 0
}

.cnt-pg .form-blk {
background: #f4f9fb;
position: relative
}

.cnt-pg .form-blk__bg-top {
height: 52px;
background: #fff
}

.cnt-pg .form-blk__bg-btm {
height: 52px;
background: #f4f9fb
}

.cnt-pg .form-blk__inner {
max-width: 1440px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 52px;
padding: 0 96px 96px;
position: relative
}

.cnt-pg .form-blk__inner::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 52px;
background: #fff;
pointer-events: none
}

.cnt-pg .form-panel {
flex: 3;
background: #fff;
border-radius: 16px;
padding: 52px;
box-shadow: 0 9px 40px -2px #01516024;
position: relative
}

.cnt-pg .form-panel::before {
content: "";
position: absolute;
inset: 0;
border-radius: 16px;
box-shadow: inset 0 3px 6px -2px #0151600f;
pointer-events: none
}

.cnt-pg .form-hdg {
font-size: 20px;
line-height: 1.1;
color: #015160;
margin: 0 0 6px;
font-weight: 700
}

.cnt-pg .form-desc {
font-size: 13px;
line-height: 1.6;
color: #3a5f6a;
margin: 0 0 24px
}

.cnt-pg .form-row {
display: flex;
flex-direction: row;
gap: 24px;
margin-bottom: 24px
}

.cnt-pg .form-field {
display: flex;
flex-direction: column;
gap: 6px;
flex: 1
}

.cnt-pg .form-field--full {
flex: 1 1 100%
}

.cnt-pg .field-lbl {
font-size: 13px;
line-height: 1.1;
color: #015160;
font-weight: 600
}

.cnt-pg .field-inp {
border: 1.5px solid #0151602e;
border-radius: 10px;
padding: 12px 16px;
font-size: 14px;
line-height: 1.6;
color: #1a3d46;
background: #fff;
outline: none;
transition: border-color .25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1);
width: 100%;
box-sizing: border-box
}

.cnt-pg .field-inp::placeholder {
color: #01516059
}

.cnt-pg .field-inp:focus {
border-color: #239FC5;
box-shadow: 0 7px 22px -2px #239fc51c
}

.cnt-pg .field-sel {
border: 1.5px solid #0151602e;
border-radius: 10px;
padding: 12px 16px;
font-size: 14px;
line-height: 1.6;
color: #1a3d46;
background: #fff;
outline: none;
transition: border-color .25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1);
width: 100%;
box-sizing: border-box;
appearance: none;
cursor: pointer
}

.cnt-pg .field-sel:focus {
border-color: #239FC5;
box-shadow: 0 7px 22px -2px #239fc51c
}

.cnt-pg .sel-wrap {
position: relative
}

.cnt-pg .sel-wrap__arr {
position: absolute;
right: 14px;
top: 50%;
transform: translateY(-50%);
width: 10px;
height: 6px;
pointer-events: none
}

.cnt-pg .sel-wrap__arr::before,
.cnt-pg .sel-wrap__arr::after {
content: "";
position: absolute;
bottom: 0;
width: 7px;
height: 1.5px;
background: #015160;
border-radius: 3px
}

.cnt-pg .sel-wrap__arr::before {
left: 0;
transform: rotate(40deg);
transform-origin: left bottom
}

.cnt-pg .sel-wrap__arr::after {
right: 0;
transform: rotate(-40deg);
transform-origin: right bottom
}

.cnt-pg .privacy-row {
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start;
margin-bottom: 24px;
padding: 12px;
background: #89e1e41a;
border-radius: 10px;
border: 1px dashed #01516038
}

.cnt-pg .privacy-chk {
width: 18px;
height: 18px;
margin-top: 2px;
accent-color: #015160;
cursor: pointer;
flex-shrink: 0
}

.cnt-pg .privacy-txt {
font-size: 13px;
line-height: 1.6;
color: #2a4a52
}

.cnt-pg .privacy-txt a {
color: #015160;
text-decoration: underline;
transition: color .2s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.cnt-pg .privacy-txt a:hover {
color: #239FC5
}

.cnt-pg .btn-submit {
background: linear-gradient(17deg, #015160 10%, #239FC5 100%);
color: #fff;
border: none;
border-radius: 10px;
padding: 16px 52px;
font-size: 14px;
line-height: 1.1;
font-weight: 700;
cursor: pointer;
position: relative;
transition: box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1), transform .2s cubic-bezier(0.34, 1.56, 0.64, 1);
display: inline-block;
letter-spacing: .04em
}

.cnt-pg .btn-submit::after {
content: "";
position: absolute;
inset: 3px;
border-radius: 7px;
border: 1.5px solid #fff0;
transition: border-color .2s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.cnt-pg .btn-submit:hover {
box-shadow: 0 9px 40px -2px #01516024;
transform: translateY(-1px)
}

.cnt-pg .btn-submit:hover::after {
border-color: #ffffff73
}

.cnt-pg .btn-submit:active {
transform: translateY(1px);
box-shadow: 0 3px 6px -2px #0151600f
}

.cnt-pg .btn-submit:focus-visible {
outline: 2px solid #89E1E4;
outline-offset: 3px
}

.cnt-pg .info-panel {
flex: 1;
display: flex;
flex-direction: column;
gap: 24px
}

.cnt-pg .info-card {
background: #015160;
border-radius: 16px;
padding: 24px;
position: relative;
overflow: hidden;
box-shadow: 0 7px 22px -2px #0151601c
}

.cnt-pg .info-card::before {
content: "";
position: absolute;
top: -30px;
right: -30px;
width: 100px;
height: 100px;
border: 20px solid #89e1e41f;
border-radius: 0;
pointer-events: none
}

.cnt-pg .info-card__tag {
font-size: 13px;
line-height: 1.1;
color: #89E1E4;
text-transform: uppercase;
letter-spacing: .1em;
font-weight: 700;
margin: 0 0 12px;
display: block
}

.cnt-pg .info-card__val {
font-size: 14px;
line-height: 1.6;
color: #fff;
margin: 0
}

.cnt-pg .info-card__val a {
color: #89E1E4;
text-decoration: none;
transition: color .2s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.cnt-pg .info-card__val a:hover {
color: #fff
}

.cnt-pg .hours-card {
background: #fff;
border-radius: 16px;
padding: 24px;
border: 1.5px dashed #01516040;
box-shadow: 0 3px 6px -2px #0151600f
}

.cnt-pg .hours-card__hdg {
font-size: 13px;
line-height: 1.1;
color: #015160;
text-transform: uppercase;
letter-spacing: .1em;
font-weight: 700;
margin: 0 0 12px
}

.cnt-pg .hours-list {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 6px 12px;
list-style: none;
padding: 0;
margin: 0
}

.cnt-pg .hours-list__item {
font-size: 13px;
line-height: 1.6;
color: #2a4a52
}

.cnt-pg .hours-list__item strong {
color: #015160;
font-weight: 600
}

@keyframes wipe-in {
from {
clip-path: inset(0 100% 0 0)
}

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

.cnt-pg .pg-strip__aside {
animation: wipe-in .35s cubic-bezier(0.34, 1.56, 0.64, 1) .1s both
}

.cnt-pg .form-panel {
animation: wipe-in .3s cubic-bezier(0.68, -0.55, 0.27, 1.55) .25s both
}

@media (max-width: 900px) {
.cnt-pg .pg-strip {
flex-direction: column
}

.cnt-pg .pg-strip__text {
padding: 52px 24px 24px 52px
}

.cnt-pg .strip-accent-line {
top: 52px;
left: 24px;
bottom: 24px
}

.cnt-pg .pg-strip__aside {
padding: 24px
}

.cnt-pg .form-blk__inner {
flex-direction: column;
padding: 0 24px 52px;
gap: 24px
}

.cnt-pg .form-panel {
padding: 24px
}

.cnt-pg .form-row {
flex-direction: column;
gap: 12px
}

.cnt-pg .strip-hdg {
font-size: 36px
}
}

.abt-pg {
max-width: 1440px;
margin: 0 auto;
overflow-x: clip
}

.abt-pg .reveal-item {
opacity: 0;
transform: scale(0.96);
animation: revealUp .35s cubic-bezier(0.34, 1.56, 0.64, 1) forwards
}

.abt-pg .reveal-item:nth-child(1) {
animation-delay: .05s
}

.abt-pg .reveal-item:nth-child(2) {
animation-delay: .12s
}

.abt-pg .reveal-item:nth-child(3) {
animation-delay: .19s
}

.abt-pg .reveal-item:nth-child(4) {
animation-delay: .26s
}

@keyframes revealUp {
to {
opacity: 1;
transform: scale(1)
}
}

.abt-pg ::selection {
background: #015160;
color: #fff
}

.abt-pg .pg-lead {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 520px;
position: relative
}

.abt-pg .pg-lead__img-side {
position: relative;
overflow: hidden
}

.abt-pg .pg-lead__img-side img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0.6);
transition: filter .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.abt-pg .pg-lead__img-side:hover img {
filter: saturate(1)
}

.abt-pg .pg-lead__img-overlay {
position: absolute;
inset: 0;
background: linear-gradient(17deg, #015160b8 0%, #0151602e 60%, #239fc514 100%);
pointer-events: none
}

.abt-pg .pg-lead__dots {
position: absolute;
bottom: 24px;
right: 24px;
display: grid;
grid-template-columns: repeat(5, 8px);
grid-template-rows: repeat(5, 8px);
gap: 6px;
pointer-events: none
}

.abt-pg .pg-lead__dot {
width: 8px;
height: 8px;
border-radius: 0;
background: #89e1e48c
}

.abt-pg .pg-lead__dot--accent {
background: #89e1e4e6
}

.abt-pg .pg-lead__text-side {
background: #fff;
display: flex;
flex-direction: column;
justify-content: flex-end;
padding: 96px 52px 52px;
position: relative
}

.abt-pg .pg-lead__eyebrow {
font-size: 13px;
line-height: 1.1;
text-transform: uppercase;
letter-spacing: .12em;
color: #239FC5;
margin-bottom: 12px;
display: block
}

.abt-pg .pg-lead__h1 {
font-size: 52px;
line-height: 1.1;
color: #015160;
margin: 0 0 24px;
position: relative;
display: inline-block
}

.abt-pg .pg-lead__h1::after {
content: '';
display: block;
height: 3px;
background: linear-gradient(17deg, #015160 0%, #89E1E4 100%);
border-radius: 3px;
width: 0;
animation: lineGrow .35s cubic-bezier(0.34, 1.56, 0.64, 1) .4s forwards
}

@keyframes lineGrow {
to {
width: 100%
}
}

.abt-pg .pg-lead__sub {
font-size: 20px;
line-height: 1.6;
color: #015160;
margin: 0 0 24px;
opacity: .82
}

.abt-pg .pg-lead__problem {
font-size: 14px;
line-height: 1.6;
color: #333d42;
margin: 0;
padding-left: 16px;
border-top: 1px solid #0151601f;
padding-top: 24px
}

.abt-pg .pg-lead__notch {
position: absolute;
left: 0;
top: 96px;
width: 4px;
height: 52px;
background: #239FC5;
border-radius: 0 3px 3px 0
}

.abt-pg .divider-mono {
display: flex;
align-items: center;
justify-content: center;
padding: 24px 0;
position: relative
}

.abt-pg .divider-mono::before,
.abt-pg .divider-mono::after {
content: '';
flex: 1;
height: 1px;
background: linear-gradient(17deg, transparent, #0151602e, transparent)
}

.abt-pg .divider-mono__sym {
font-size: 20px;
color: #015160;
opacity: .35;
padding: 0 24px;
font-weight: 700;
letter-spacing: .08em
}

.abt-pg .story-sec {
background: linear-gradient(17deg, #f4fbfc 0%, #eaf7f9 40%, #fff 100%);
padding: 96px 52px;
position: relative;
overflow: hidden
}

.abt-pg .story-sec__curl {
position: absolute;
top: 24px;
right: 52px;
width: 80px;
height: 80px;
opacity: .07;
pointer-events: none
}

.abt-pg .story-sec__grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px;
max-width: 1200px;
margin: 0 auto
}

.abt-pg .story-sec__hd {
grid-column: 1 / -1;
text-align: center;
margin-bottom: 24px
}

.abt-pg .story-sec__h2 {
font-size: 52px;
line-height: 1.1;
color: #015160;
margin: 0 0 12px;
display: inline-block;
position: relative
}

.abt-pg .story-sec__h2::after {
content: '';
display: block;
height: 3px;
background: #89E1E4;
border-radius: 3px;
width: 0;
transition: width .28s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.abt-pg .story-sec__h2:hover::after {
width: 100%
}

.abt-pg .story-sec__lead {
font-size: 14px;
line-height: 1.6;
color: #2a3d42;
max-width: 540px;
margin: 0 auto
}

.abt-pg .story-card {
background: #fff;
border-radius: 10px;
padding: 24px;
box-shadow: inset 0 3px 6px -2px #0151600f 0 7px 22px -2px #0151601c;
display: flex;
flex-direction: column;
gap: 12px;
position: relative;
transition: transform .28s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .28s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.abt-pg .story-card:hover {
transform: translateY(-4px);
box-shadow: inset 0 3px 6px -2px #0151600f 0 9px 40px -2px #01516024
}

.abt-pg .story-card__num {
font-size: 52px;
line-height: 1.1;
color: #01516014;
font-weight: 700;
position: absolute;
top: 12px;
right: 24px;
pointer-events: none
}

.abt-pg .story-card__h {
font-size: 20px;
line-height: 1.1;
color: #015160;
margin: 0;
position: relative;
display: inline-block
}

.abt-pg .story-card__h::after {
content: '';
display: block;
height: 2px;
background: #239FC5;
border-radius: 3px;
width: 0;
transition: width .22s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.abt-pg .story-card:hover .story-card__h::after {
width: 100%
}

.abt-pg .story-card__body {
font-size: 14px;
line-height: 1.6;
color: #2a3d42;
margin: 0
}

.abt-pg .story-card__notch {
width: 4px;
height: 32px;
background: #89E1E4;
border-radius: 0 3px 3px 0;
position: absolute;
left: 0;
top: 24px
}

.abt-pg .story-card--wide {
grid-column: span 2
}

.abt-pg .story-card--img {
grid-column: span 1;
padding: 0;
overflow: hidden
}

.abt-pg .story-card--img img {
width: 100%;
height: 100%;
min-height: 220px;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0.6);
transition: filter .25s cubic-bezier(0.34, 1.56, 0.64, 1), transform .28s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.abt-pg .story-card--img:hover img {
filter: saturate(1);
transform: scale(1.03)
}

.abt-pg .story-card--img-full {
grid-column: span 1;
padding: 0;
overflow: hidden
}

.abt-pg .story-card--img-full img {
width: 100%;
height: 100%;
min-height: 260px;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0.6);
transition: filter .25s cubic-bezier(0.34, 1.56, 0.64, 1), transform .28s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.abt-pg .story-card--img-full:hover img {
filter: saturate(1);
transform: scale(1.03)
}

.abt-pg .divider-mono--2 {
display: flex;
align-items: center;
justify-content: center;
padding: 24px 0
}

.abt-pg .divider-mono--2::before,
.abt-pg .divider-mono--2::after {
content: '';
flex: 1;
height: 1px;
background: linear-gradient(17deg, transparent, #239fc538, transparent)
}

.abt-pg .divider-mono--2__sym {
font-size: 20px;
color: #239FC5;
opacity: .4;
padding: 0 24px;
font-weight: 700
}

.abt-pg .team-sec {
padding: 96px 52px;
background: #fff;
position: relative
}

.abt-pg .team-sec__bg-img {
position: absolute;
inset: 0;
z-index: 0;
overflow: hidden
}

.abt-pg .team-sec__bg-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0.3) brightness(1.1)
}

.abt-pg .team-sec__bg-overlay {
position: absolute;
inset: 0;
background: linear-gradient(17deg, #fffffff5 0%, #ffffffe0 55%, #ebf8fcf0 100%);
pointer-events: none
}

.abt-pg .team-sec__rel {
position: relative;
z-index: 1;
max-width: 1200px;
margin: 0 auto
}

.abt-pg .team-sec__hd {
margin-bottom: 52px
}

.abt-pg .team-sec__h2 {
font-size: 52px;
line-height: 1.1;
color: #015160;
margin: 0 0 12px;
display: inline-block;
position: relative
}

.abt-pg .team-sec__h2::after {
content: '';
display: block;
height: 3px;
background: linear-gradient(17deg, #015160, #89E1E4);
border-radius: 3px;
width: 0;
transition: width .3s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.abt-pg .team-sec__h2:hover::after {
width: 100%
}

.abt-pg .team-sec__desc {
font-size: 14px;
line-height: 1.6;
color: #2a3d42;
max-width: 480px;
margin: 0
}

.abt-pg .team-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.abt-pg .team-card {
display: grid;
grid-template-columns: 180px 1fr;
gap: 24px;
background: #fff;
border-radius: 10px;
box-shadow: 0 7px 22px -2px #0151601c;
overflow: hidden;
transition: box-shadow .28s cubic-bezier(0.34, 1.56, 0.64, 1), transform .28s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.abt-pg .team-card:hover {
box-shadow: 0 9px 40px -2px #01516024;
transform: translateY(-3px)
}

.abt-pg .team-card__portrait {
width: 180px;
aspect-ratio: 3/4;
overflow: hidden;
flex-shrink: 0
}

.abt-pg .team-card__portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0.6);
transition: filter .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.abt-pg .team-card:hover .team-card__portrait img {
filter: saturate(1)
}

.abt-pg .team-card__info {
padding: 24px 24px 24px 0;
display: flex;
flex-direction: column;
gap: 12px;
position: relative
}

.abt-pg .team-card__notch {
position: absolute;
left: -24px;
top: 24px;
width: 4px;
height: 40px;
background: #239FC5;
border-radius: 0 3px 3px 0
}

.abt-pg .team-card__name {
font-size: 20px;
line-height: 1.1;
color: #015160;
margin: 0
}

.abt-pg .team-card__role {
font-size: 13px;
line-height: 1.1;
text-transform: uppercase;
letter-spacing: .1em;
color: #239FC5;
margin: 0
}

.abt-pg .team-card__bio {
font-size: 14px;
line-height: 1.6;
color: #2a3d42;
margin: 0
}

.abt-pg .team-card__hover-mask {
position: relative;
overflow: hidden
}

.abt-pg .team-card__hover-mask .team-card__extra {
position: absolute;
inset: 0;
background: #015160eb;
color: #fff;
padding: 24px;
font-size: 14px;
line-height: 1.6;
clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
transition: clip-path .28s cubic-bezier(0.34, 1.56, 0.64, 1);
display: flex;
align-items: center
}

.abt-pg .team-card__hover-mask:hover .team-card__extra {
clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
}

.abt-pg .team-sec__vals {
margin-top: 52px;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 12px
}

.abt-pg .val-item {
background: linear-gradient(17deg, #015160 0%, #239FC5 80%, #89E1E4 100%);
border-radius: 10px;
padding: 24px;
color: #fff;
display: flex;
flex-direction: column;
gap: 6px;
box-shadow: 0 3px 6px -2px #0151600f;
transition: transform .22s cubic-bezier(0.68, -0.55, 0.27, 1.55), box-shadow .22s cubic-bezier(0.68, -0.55, 0.27, 1.55);
position: relative
}

.abt-pg .val-item:hover {
transform: scale(1.03);
box-shadow: 0 9px 40px -2px #01516024
}

.abt-pg .val-item__h {
font-size: 14px;
line-height: 1.1;
text-transform: uppercase;
letter-spacing: .1em;
margin: 0;
color: #89E1E4
}

.abt-pg .val-item__body {
font-size: 13px;
line-height: 1.6;
color: #ffffffe0;
margin: 0
}

.abt-pg .val-item__border {
position: absolute;
inset: 3px;
border-radius: 10px;
border: 1px solid #89e1e400;
transition: border-color .2s cubic-bezier(0.34, 1.56, 0.64, 1);
pointer-events: none
}

.abt-pg .val-item:hover .val-item__border {
border-color: #89e1e473
}

@media (max-width: 900px) {
.abt-pg .pg-lead {
grid-template-columns: 1fr
}

.abt-pg .pg-lead__img-side {
min-height: 320px
}

.abt-pg .pg-lead__text-side {
padding: 52px 24px
}

.abt-pg .story-sec {
padding: 52px 24px
}

.abt-pg .story-sec__grid {
grid-template-columns: 1fr
}

.abt-pg .story-card--wide,
.abt-pg .story-card--img,
.abt-pg .story-card--img-full {
grid-column: span 1
}

.abt-pg .team-sec {
padding: 52px 24px
}

.abt-pg .team-grid {
grid-template-columns: 1fr
}

.abt-pg .team-card {
grid-template-columns: 140px 1fr
}

.abt-pg .team-sec__vals {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 600px) {
.abt-pg .pg-lead__h1 {
font-size: 52px
}

.abt-pg .team-card {
grid-template-columns: 1fr
}

.abt-pg .team-card__portrait {
width: 100%;
aspect-ratio: 4/3
}

.abt-pg .team-card__info {
padding: 24px
}

.abt-pg .team-card__notch {
left: 0;
top: 0;
width: 40px;
height: 4px;
border-radius: 0 0 3px 3px
}

.abt-pg .team-sec__vals {
grid-template-columns: 1fr
}
}

.suc {
min-height: 60vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 96px 24px;
background: #fff
}

.suc__box {
max-width: 520px;
width: 100%;
background: linear-gradient(17deg, #f0fbfc 0%, #f7feff 60%, #fff 100%);
border-radius: 16px;
padding: 52px;
box-shadow: 0 7px 22px -2px #0151601c;
text-align: center
}

.suc__icon {
width: 64px;
height: 64px;
margin: 0 auto 24px;
display: block
}

.suc__title {
font-size: 20px;
line-height: 1.1;
color: #015160;
margin-bottom: 12px;
font-weight: 700
}

.suc__text {
font-size: 14px;
line-height: 1.6;
color: #015160;
opacity: .82;
margin-bottom: 52px
}

.suc__btn {
display: inline-block;
padding: 12px 24px;
background: #015160;
color: #fff;
font-size: 14px;
line-height: 1.1;
border-radius: 10px;
text-decoration: none;
border: 2px solid transparent;
transition: background .25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .2s cubic-bezier(0.34, 1.56, 0.64, 1);
box-shadow: 0 3px 6px -2px #0151600f
}

.suc__btn:hover {
background: #239FC5;
box-shadow: 0 7px 22px -2px #0151601c inset 0 0 0 2px #ffffff4d
}

.suc__btn:focus {
outline: 3px solid #89E1E4;
outline-offset: 3px
}

.suc__btn:active {
background: #015160
}

h1, h2, h3, h4, h5, h6 {word-break: break-word;}
