@import "https://cdn.jsdelivr.net/npm/@fontsource/lora@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/lora@latest/400-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/lora@latest/700.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/lora@latest/700-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/cabin@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/cabin@latest/400-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/cabin@latest/700.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/cabin@latest/700-italic.css";

html {
box-sizing: border-box
}

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

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

.site-header {
position: relative;
background: linear-gradient(135deg, #fff 0%, #F4F5F6 60%, #e8f0f2 100%);
border-bottom: 1px solid #44918b24;
box-shadow: -1px 7px 22px 0 #44918b1c;
z-index: 100
}

.hd-top-bar {
background: #44918B;
padding: 8px 0
}

.hd-top-bar-inner {
max-width: 1500px;
margin: 0 auto;
padding: 0 48px;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 32px
}

.hd-contact-item {
display: flex;
align-items: center;
gap: 8px;
font-family: 'Cabin', sans-serif;
font-size: 13px;
color: #F4F5F6;
line-height: 1.4;
text-decoration: none
}

.hd-contact-item svg {
flex-shrink: 0;
opacity: .85
}

.hd-main-row {
max-width: 1500px;
margin: 0 auto;
padding: 16px 48px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 32px
}

.hd-brand-box {
display: flex;
align-items: center;
gap: 16px;
margin-left: 8px;
flex-shrink: 0
}

.hd-logo-shell {
background: #44918b14;
border: 1px solid #44918b38;
box-shadow: -1px 2px 4px 0 #44918b12 0 0 0 2px #ffffffb3;
border-radius: 10px 6px 10px 6px;
padding: 8px;
display: flex;
align-items: center;
justify-content: center;
width: 56px;
height: 56px
}

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

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

.hd-brand-name {
font-family: 'Lora', serif;
font-size: 20px;
font-weight: 700;
color: #1b3a38;
line-height: 1.15;
letter-spacing: -.02em
}

.hd-brand-tagline {
font-family: 'Cabin', sans-serif;
font-size: 13px;
color: #44918B;
line-height: 1.4;
font-style: italic
}

.hd-nav-box {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
justify-content: flex-end
}

.hd-nav-link {
font-family: 'Cabin', sans-serif;
font-size: 13px;
font-weight: 700;
color: #1b3a38;
text-decoration: none;
padding: 8px 16px;
border-radius: 6px;
border: 1px solid transparent;
line-height: 1.4;
background: transparent;
transition: color .5s ease-in-out, background .5s ease-in-out, border-color .45s ease-in-out;
white-space: nowrap;
min-height: 44px;
display: inline-flex;
align-items: center
}

.hd-nav-link:hover,
.hd-nav-link:focus {
color: #44918B;
background: #44918b12;
border-color: #44918b33;
outline: none
}

.hd-nav-link:focus-visible {
outline: 2px solid #44918B;
outline-offset: 2px
}

.hd-nav-cta {
font-family: 'Cabin', sans-serif;
font-size: 13px;
font-weight: 700;
color: #44918B;
text-decoration: none;
padding: 8px 16px;
border-radius: 6px;
border: 2px solid #44918B;
line-height: 1.4;
background: transparent;
transition: color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
white-space: nowrap;
min-height: 44px;
display: inline-flex;
align-items: center;
position: relative;
overflow: hidden
}

.hd-nav-cta:hover,
.hd-nav-cta:focus {
color: #fff;
background: #44918B;
outline: none
}

.hd-nav-cta:focus-visible {
outline: 2px solid #1b3a38;
outline-offset: 2px
}

.hd-accent-bar {
height: 3px;
background: linear-gradient(90deg, #44918B 0%, #8FB3BC 60%, #F4F5F6 100%)
}

.site-footer {
background: #1b3a38;
position: relative
}

.ft-upper {
max-width: 1500px;
margin: 0 auto;
padding: 96px 48px 48px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 48px
}

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

.ft-logo-shell {
background: #f4f5f614;
border: 1px solid #8fb3bc40;
box-shadow: -1px 2px 4px 0 #8fb3bc12;
border-radius: 10px 6px 6px 6px;
padding: 8px;
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px
}

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

.ft-brand-name {
font-family: 'Lora', serif;
font-size: 20px;
font-weight: 700;
color: #F4F5F6;
line-height: 1.15;
letter-spacing: -.02em
}

.ft-brand-desc {
font-family: 'Cabin', sans-serif;
font-size: 13px;
color: #8FB3BC;
line-height: 1.6
}

.ft-col-heading {
font-family: 'Lora', serif;
font-size: 13px;
font-weight: 700;
color: #F4F5F6;
line-height: 1.4;
letter-spacing: .06em;
text-transform: uppercase;
margin-bottom: 16px
}

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

.ft-link-list li a {
font-family: 'Cabin', sans-serif;
font-size: 13px;
color: #8FB3BC;
text-decoration: none;
line-height: 1.6;
transition: color .5s ease-in-out;
display: inline-block;
min-height: 44px;
line-height: 44px
}

.ft-link-list li a:hover,
.ft-link-list li a:focus {
color: #F4F5F6;
outline: none
}

.ft-link-list li a:focus-visible {
outline: 2px solid #8FB3BC;
outline-offset: 2px;
border-radius: 6px
}

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

.ft-contact-list li {
display: flex;
align-items: flex-start;
gap: 8px
}

.ft-contact-list li svg {
flex-shrink: 0;
margin-top: 2px;
color: #44918B
}

.ft-contact-text {
font-family: 'Cabin', sans-serif;
font-size: 13px;
color: #8FB3BC;
line-height: 1.6
}

.ft-contact-text a {
color: #8FB3BC;
text-decoration: none;
transition: color .5s ease-in-out
}

.ft-contact-text a:hover,
.ft-contact-text a:focus {
color: #F4F5F6;
outline: none
}

.ft-contact-text a:focus-visible {
outline: 2px solid #8FB3BC;
outline-offset: 2px;
border-radius: 6px
}

.ft-divider {
max-width: 1500px;
margin: 0 auto;
padding: 0 48px;
border: none;
border-top: 1px solid #8fb3bc26
}

.ft-lower {
max-width: 1500px;
margin: 0 auto;
padding: 32px 48px 48px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 32px;
flex-wrap: wrap
}

.ft-copy {
font-family: 'Cabin', sans-serif;
font-size: 13px;
color: #8fb3bcb3;
line-height: 1.6
}

.ft-meta-links {
display: flex;
align-items: center;
gap: 16px;
flex-wrap: wrap
}

.ft-meta-links a {
font-family: 'Cabin', sans-serif;
font-size: 13px;
color: #8fb3bcb3;
text-decoration: none;
line-height: 1.6;
transition: color .5s ease-in-out;
min-height: 44px;
display: inline-flex;
align-items: center
}

.ft-meta-links a:hover,
.ft-meta-links a:focus {
color: #F4F5F6;
outline: none
}

.ft-meta-links a:focus-visible {
outline: 2px solid #8FB3BC;
outline-offset: 2px;
border-radius: 6px
}

.ft-meta-sep {
width: 1px;
height: 13px;
background: #8fb3bc4d
}

.ck-toast {
position: fixed;
bottom: 32px;
left: 0;
right: 0;
margin: 0 auto;
width: 480px;
max-width: calc(100vw - 32px);
background: #fff;
border-radius: 10px;
box-shadow: -1px 8px 40px 0 #44918b1f -1px 7px 22px 0 #44918b1c;
border: 1px solid #44918b26;
z-index: 2000;
padding: 16px
}

.ck-row {
display: flex;
align-items: flex-start;
gap: 16px
}

.ck-icon-mark {
flex-shrink: 0;
width: 32px;
height: 32px;
background: #44918b1a;
border-radius: 6px;
display: flex;
align-items: center;
justify-content: center
}

.ck-icon-mark svg {
color: #44918B
}

.ck-body {
flex: 1;
min-width: 0
}

.ck-text {
font-family: 'Cabin', sans-serif;
font-size: 13px;
color: #1b3a38;
line-height: 1.6;
margin: 0 0 16px
}

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

.ck-btn-accept {
font-family: 'Cabin', sans-serif;
font-size: 13px;
font-weight: 700;
color: #44918B;
background: transparent;
border: 2px solid #44918B;
border-radius: 6px;
padding: 8px 16px;
cursor: pointer;
min-height: 44px;
transition: color .5s ease-in-out, background .5s ease-in-out;
line-height: 1.4
}

.ck-btn-accept:hover,
.ck-btn-accept:focus {
color: #fff;
background: #44918B;
outline: none
}

.ck-btn-accept:focus-visible {
outline: 2px solid #1b3a38;
outline-offset: 2px
}

.ck-btn-decline {
font-family: 'Cabin', sans-serif;
font-size: 13px;
font-weight: 700;
color: #44918B;
background: transparent;
border: 2px solid #44918b59;
border-radius: 6px;
padding: 8px 16px;
cursor: pointer;
min-height: 44px;
transition: color .5s ease-in-out, border-color .5s ease-in-out;
line-height: 1.4
}

.ck-btn-decline:hover,
.ck-btn-decline:focus {
border-color: #44918B;
outline: none
}

.ck-btn-decline:focus-visible {
outline: 2px solid #1b3a38;
outline-offset: 2px
}

.ck-btn-settings {
font-family: 'Cabin', sans-serif;
font-size: 13px;
color: #8FB3BC;
background: none;
border: none;
padding: 8px 0;
cursor: pointer;
min-height: 44px;
text-decoration: underline;
text-underline-offset: 2px;
line-height: 1.4;
transition: color .5s ease-in-out
}

.ck-btn-settings:hover,
.ck-btn-settings:focus {
color: #44918B;
outline: none
}

.ck-btn-settings:focus-visible {
outline: 2px solid #44918B;
outline-offset: 2px;
border-radius: 6px
}

.ck-panel {
margin-top: 16px;
padding-top: 16px;
border-top: 1px solid #44918b1f
}

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

.ck-toggle-label {
font-family: 'Cabin', sans-serif;
font-size: 13px;
color: #1b3a38;
line-height: 1.4
}

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

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

.ck-track {
position: absolute;
inset: 0;
background: #44918b33;
border-radius: 44px;
cursor: pointer;
transition: background .5s ease-in-out
}

.ck-track::after {
content: '';
position: absolute;
left: 2px;
top: 2px;
width: 18px;
height: 18px;
background: #fff;
border-radius: 44px;
box-shadow: -1px 2px 4px 0 #44918b12;
transition: transform .5s ease-in-out
}

.ck-toggle-switch input:checked+.ck-track {
background: #44918B
}

.ck-toggle-switch input:checked+.ck-track::after {
transform: translateX(18px)
}

.ck-toggle-switch input:focus-visible+.ck-track {
outline: 2px solid #44918B;
outline-offset: 2px
}

@media (max-width: 992px) {
.hd-top-bar-inner {
padding: 0 32px;
gap: 16px
}

.hd-main-row {
padding: 16px 32px;
gap: 16px;
flex-wrap: wrap
}

.hd-nav-box {
gap: 8px
}

.ft-upper {
grid-template-columns: 1fr 1fr;
padding: 48px 32px 32px;
gap: 32px
}

.ft-lower {
padding: 32px 32px 48px
}

.ft-divider {
padding: 0 32px
}
}

@media (max-width: 576px) {
.hd-top-bar-inner {
padding: 0 16px;
flex-wrap: wrap;
gap: 8px
}

.hd-main-row {
padding: 16px;
flex-direction: column;
align-items: flex-start
}

.hd-nav-box {
width: 100%;
justify-content: flex-start
}

.ft-upper {
grid-template-columns: 1fr;
padding: 48px 16px 32px;
gap: 32px
}

.ft-lower {
padding: 32px 16px 48px;
flex-direction: column;
align-items: flex-start;
gap: 16px
}

.ft-divider {
padding: 0 16px
}

.ck-toast {
bottom: 16px
}
}

.legal-info {
max-width: 1500px;
margin: 0 auto;
padding: 96px 48px
}

.legal-info h1 {
font-size: 52px;
line-height: 1.15;
letter-spacing: -.02em;
color: #1b2b2a;
margin-bottom: 32px;
margin-top: 0
}

.legal-info h2 {
font-size: 37px;
line-height: 1.15;
letter-spacing: -.015em;
color: #1b2b2a;
margin-top: 96px;
margin-bottom: 32px
}

.legal-info h3 {
font-size: 20px;
line-height: 1.4;
letter-spacing: -.01em;
color: #1b2b2a;
margin-top: 48px;
margin-bottom: 16px
}

.legal-info h4,
.legal-info h5,
.legal-info h6 {
font-size: 20px;
line-height: 1.4;
color: #44918B;
margin-top: 32px;
margin-bottom: 16px
}

.legal-info p {
font-size: 20px;
line-height: 1.6;
color: #2c3e3d;
margin-top: 0;
margin-bottom: 16px
}

.legal-info ul,
.legal-info ol {
font-size: 20px;
line-height: 1.6;
color: #2c3e3d;
padding-left: 32px;
margin-top: 0;
margin-bottom: 32px
}

.legal-info li {
margin-bottom: 8px
}

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

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

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

.legal-info ul ul,
.legal-info ol ol,
.legal-info ul ol,
.legal-info ol ul {
margin-top: 8px;
margin-bottom: 8px
}

.legal-info strong,
.legal-info b {
font-weight: 700;
color: #1b2b2a
}

.legal-info em,
.legal-info i {
font-style: italic;
color: #44918B
}

.legal-info table {
width: 100%;
border-collapse: collapse;
margin-bottom: 48px;
font-size: 13px;
line-height: 1.6;
border-radius: 10px;
overflow: hidden;
box-shadow: -1px 7px 22px 0 #44918b1c
}

.legal-info thead {
background-color: #44918B
}

.legal-info thead th {
color: #fff;
font-size: 13px;
line-height: 1.4;
font-weight: 700;
letter-spacing: .04em;
text-transform: uppercase;
padding: 16px;
text-align: left;
border: none
}

.legal-info tbody tr {
border-bottom: 1px solid #d4e4e3;
transition: background-color .45s ease-in-out
}

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

.legal-info tbody tr:nth-child(even) {
background-color: #F4F5F6
}

.legal-info tbody tr:hover {
background-color: #e6f0ef
}

.legal-info td {
padding: 16px;
font-size: 13px;
line-height: 1.6;
color: #2c3e3d;
vertical-align: top;
border: none
}

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

.legal-info h1 {
font-size: 37px
}

.legal-info h2 {
font-size: 37px;
margin-top: 48px
}

.legal-info table {
display: block;
overflow-x: auto
}
}

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

.legal-info h1 {
font-size: 37px
}

.legal-info h2 {
font-size: 20px;
margin-top: 48px
}

.legal-info h3,
.legal-info h4,
.legal-info h5,
.legal-info h6 {
font-size: 20px
}

.legal-info p,
.legal-info ul,
.legal-info ol {
font-size: 20px
}
}

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

.bse .pg-wrap {
max-width: 1500px;
margin: 0 auto;
padding: 0 32px
}

.bse .reveal {
opacity: 0;
transform: translateY(28px);
transition: opacity .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.bse .reveal.in-view {
opacity: 1;
transform: translateY(0)
}

.bse .reveal-delay-1 {
transition-delay: .1s
}

.bse .reveal-delay-2 {
transition-delay: .2s
}

.bse .reveal-delay-3 {
transition-delay: .32s
}

.bse .reveal-delay-4 {
transition-delay: .44s
}

.bse .accent-span {
color: #44918B
}

.bse .dot-accent {
display: inline-block;
width: 6px;
height: 6px;
border-radius: 44px;
background: #44918B;
margin-left: 6px;
vertical-align: middle;
position: relative;
top: -2px
}

.bse .t-block {
padding: 48px 0;
background: #fff;
position: relative
}

.bse .t-block .pg-wrap {
display: grid;
grid-template-columns: 1fr 1.7fr;
gap: 48px;
align-items: center
}

.bse .t-img-col {
position: relative;
border-radius: 10px;
overflow: hidden;
height: 480px
}

.bse .t-img-col img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.bse .t-img-col .t-img-grad {
position: absolute;
inset: 0;
background: linear-gradient(to top, #44918b8c 0%, transparent 60%);
pointer-events: none
}

.bse .t-geo-lines {
position: absolute;
top: 16px;
left: 16px;
width: 48px;
height: 48px;
pointer-events: none
}

.bse .t-geo-lines line {
stroke: #44918B;
stroke-width: 1.5;
opacity: .55
}

.bse .t-geo-br {
position: absolute;
bottom: 16px;
right: 16px;
width: 32px;
height: 32px;
pointer-events: none
}

.bse .t-geo-br line {
stroke: #8FB3BC;
stroke-width: 1.2;
opacity: .45
}

.bse .t-txt-col {
padding: 16px 0
}

.bse .t-label {
font-size: 13px;
letter-spacing: .08em;
color: #44918B;
text-transform: uppercase;
margin-bottom: 16px;
display: block
}

.bse .t-heading {
font-size: 52px;
line-height: 1.15;
letter-spacing: -.02em;
color: #1b2b2a;
margin-bottom: 16px
}

.bse .t-tagline {
font-size: 20px;
line-height: 1.6;
color: #3a4f4e;
margin-bottom: 32px;
max-width: 520px
}

.bse .t-actions {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap
}

.bse .btn-pri {
display: inline-block;
padding: 16px 32px;
border-radius: 6px;
font-size: 13px;
letter-spacing: .06em;
text-transform: uppercase;
background: transparent;
color: #44918B;
border: 1.5px solid #44918B;
cursor: pointer;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.bse .btn-pri:hover {
background: #44918B;
color: #fff
}

.bse .btn-sec {
display: inline-block;
padding: 16px 32px;
border-radius: 6px;
font-size: 13px;
letter-spacing: .06em;
text-transform: uppercase;
background: transparent;
color: #8FB3BC;
border: 1.5px solid #8FB3BC;
cursor: pointer;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.bse .btn-sec:hover {
background: #8FB3BC;
color: #fff
}

.bse .appr-block {
padding: 96px 0;
background: #F4F5F6;
position: relative
}

.bse .appr-block::before {
content: "";
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%2344918B' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
pointer-events: none
}

.bse .appr-block .pg-wrap {
display: grid;
grid-template-columns: 1.1fr 1fr;
gap: 96px;
align-items: start
}

.bse .appr-txt {
position: relative;
padding-left: 24px;
border-left: 3px solid #44918B
}

.bse .appr-label {
font-size: 13px;
letter-spacing: .08em;
color: #44918B;
text-transform: uppercase;
margin-bottom: 16px;
display: block
}

.bse .appr-heading {
font-size: 37px;
line-height: 1.15;
letter-spacing: -.015em;
color: #1b2b2a;
margin-bottom: 32px
}

.bse .appr-body {
font-size: 20px;
line-height: 1.6;
color: #3a4f4e;
margin-bottom: 16px
}

.bse .appr-img-col {
position: relative
}

.bse .appr-img-wrap {
border-radius: 10px;
overflow: hidden;
box-shadow: -1px 7px 22px 0 #44918b1c
}

.bse .appr-img-wrap img {
width: 100%;
height: 420px;
object-fit: cover;
display: block
}

.bse .appr-stat-row {
display: flex;
flex-direction: row;
gap: 32px;
margin-top: 32px
}

.bse .appr-stat {
background: #fff;
border-radius: 10px;
padding: 16px;
flex: 1;
box-shadow: -1px 2px 4px 0 #44918b12
}

.bse .appr-stat-num {
font-size: 37px;
line-height: 1.15;
color: #44918B;
letter-spacing: -.02em
}

.bse .appr-stat-lbl {
font-size: 13px;
color: #3a4f4e;
line-height: 1.4;
margin-top: 8px
}

.bse .ltv-block {
padding: 96px 0 48px;
background: #fff;
position: relative
}

.bse .ltv-block .pg-wrap {
display: flex;
flex-direction: column;
align-items: center
}

.bse .ltv-head {
text-align: center;
max-width: 680px;
margin-bottom: 48px
}

.bse .ltv-heading {
font-size: 37px;
line-height: 1.15;
letter-spacing: -.015em;
color: #1b2b2a;
margin-bottom: 16px
}

.bse .ltv-sub {
font-size: 20px;
line-height: 1.6;
color: #3a4f4e
}

.bse .timeline-row {
display: flex;
flex-direction: row;
gap: 0;
width: 100%;
position: relative;
justify-content: space-between
}

.bse .timeline-row::before {
content: "";
position: absolute;
top: 14px;
left: 5%;
right: 5%;
height: 2px;
background: linear-gradient(90deg, #44918B 0%, #8FB3BC 100%)
}

.bse .tl-item {
display: flex;
flex-direction: column;
align-items: center;
flex: 1;
position: relative
}

.bse .tl-dot {
width: 28px;
height: 28px;
border-radius: 44px;
background: #fff;
border: 2.5px solid #44918B;
z-index: 1;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 16px;
transition: background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.bse .tl-dot.active {
background: #44918B
}

.bse .tl-dot-inner {
width: 8px;
height: 8px;
border-radius: 44px;
background: #44918B
}

.bse .tl-dot.active .tl-dot-inner {
background: #fff
}

.bse .tl-card {
background: #F4F5F6;
border-radius: 10px;
padding: 16px;
text-align: center;
width: 90%;
box-shadow: -1px 2px 4px 0 #44918b12
}

.bse .tl-card-title {
font-size: 13px;
font-weight: 700;
color: #1b2b2a;
letter-spacing: .04em;
text-transform: uppercase;
margin-bottom: 8px
}

.bse .tl-card-body {
font-size: 13px;
line-height: 1.6;
color: #3a4f4e
}

.bse .exp-block {
padding: 96px 0;
background: #1b2b2a;
position: relative
}

.bse .exp-block::before {
content: "";
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%238FB3BC' fill-opacity='0.05'%3E%3Cpath d='M0 0h40v40H0V0zm40 40h40v40H40V40z'/%3E%3C/g%3E%3C/svg%3E");
pointer-events: none
}

.bse .exp-block .pg-wrap {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center
}

.bse .exp-txt {
position: relative;
padding-left: 24px;
border-left: 3px solid #8FB3BC
}

.bse .exp-label {
font-size: 13px;
letter-spacing: .08em;
color: #8FB3BC;
text-transform: uppercase;
margin-bottom: 16px;
display: block
}

.bse .exp-heading {
font-size: 37px;
line-height: 1.15;
letter-spacing: -.015em;
color: #F4F5F6;
margin-bottom: 32px
}

.bse .exp-body {
font-size: 20px;
line-height: 1.6;
color: #c5d5d4;
margin-bottom: 16px
}

.bse .exp-accent-span {
color: #8FB3BC
}

.bse .exp-visual {
display: flex;
flex-direction: column;
gap: 16px
}

.bse .exp-img-wrap {
border-radius: 10px;
overflow: hidden;
box-shadow: -1px 8px 40px 0 #44918b1f
}

.bse .exp-img-wrap img {
width: 100%;
height: 320px;
object-fit: cover;
display: block
}

.bse .exp-pill-row {
display: flex;
flex-direction: row;
gap: 8px;
flex-wrap: wrap
}

.bse .exp-pill {
background: #8fb3bc26;
border: 1px solid #8fb3bc4d;
border-radius: 6px;
padding: 8px 16px;
font-size: 13px;
color: #8FB3BC;
letter-spacing: .04em
}

.bse .strokes-dec {
position: absolute;
pointer-events: none
}

.bse .strokes-dec line {
stroke-linecap: round
}

@media (max-width: 992px) {
.bse .t-block .pg-wrap {
grid-template-columns: 1fr;
gap: 32px
}

.bse .t-img-col {
height: 320px
}

.bse .t-heading {
font-size: 37px
}

.bse .appr-block .pg-wrap {
grid-template-columns: 1fr;
gap: 48px
}

.bse .appr-img-wrap img {
height: 280px
}

.bse .timeline-row {
flex-direction: column;
gap: 32px
}

.bse .timeline-row::before {
display: none
}

.bse .tl-item {
flex-direction: row;
align-items: flex-start;
gap: 16px
}

.bse .tl-dot {
margin-bottom: 0;
flex-shrink: 0;
margin-top: 4px
}

.bse .tl-card {
width: 100%;
text-align: left
}

.bse .exp-block .pg-wrap {
grid-template-columns: 1fr;
gap: 48px
}

.bse .exp-img-wrap img {
height: 240px
}
}

@media (max-width: 576px) {
.bse .pg-wrap {
padding: 0 16px
}

.bse .t-block {
padding: 32px 0
}

.bse .t-heading {
font-size: 37px
}

.bse .appr-block,
.bse .ltv-block,
.bse .exp-block {
padding: 48px 0
}

.bse .appr-stat-row {
flex-direction: column;
gap: 16px
}

.bse .t-actions {
flex-direction: column
}
}

@media (min-width: 993px) {
.bse .reveal {
opacity: 0;
transform: translateY(28px)
}

.bse .reveal.in-view {
opacity: 1;
transform: translateY(0)
}
}

@media (max-width: 992px) {
.bse .reveal {
opacity: 1;
transform: none;
transition: none
}
}

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

.abt-us .strip-band {
display: flex;
flex-direction: row;
align-items: stretch;
min-height: 320px;
position: relative;
background: #fff;
padding: 48px 96px;
gap: 48px
}

.abt-us .strip-img-col {
flex: 0 0 180px;
position: relative;
border-radius: 10px;
overflow: hidden;
box-shadow: -1px 7px 22px 0 #44918b1c
}

.abt-us .strip-img-col img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.abt-us .strip-img-col::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(to right, #44918b73 0%, transparent 70%);
pointer-events: none
}

.abt-us .strip-text {
flex: 1 1 auto;
display: flex;
flex-direction: column;
justify-content: center;
gap: 16px;
position: relative
}

.abt-us .strip-curves {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
border-radius: 10px
}

.abt-us .strip-curves svg {
position: absolute;
right: 0;
top: 0;
width: 420px;
height: 100%;
opacity: .07
}

.abt-us .strip-label {
font-size: 13px;
line-height: 1.4;
letter-spacing: .08em;
text-transform: uppercase;
color: #44918B;
font-weight: 600
}

.abt-us .strip-h1 {
font-size: 52px;
line-height: 1.15;
letter-spacing: -.025em;
color: #1e2d2c;
font-weight: 700;
margin: 0
}

.abt-us .strip-h1 .grad-word {
background: linear-gradient(120deg, #44918B 0%, #8FB3BC 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.abt-us .strip-sub {
font-size: 20px;
line-height: 1.6;
color: #3a4a49;
max-width: 560px;
margin: 0
}

.abt-us .dot-divider {
display: flex;
align-items: center;
gap: 8px;
padding: 0 96px
}

.abt-us .dot-divider span {
display: inline-block;
width: 6px;
height: 6px;
border-radius: 44px;
background: #44918B;
opacity: .35
}

.abt-us .dot-divider span:nth-child(even) {
opacity: .15
}

.abt-us .dot-divider-line {
flex: 1;
height: 1px;
border-top: 2px dotted #44918b47
}

.abt-us .mag-layout {
display: grid;
grid-template-columns: 1fr 380px;
gap: 48px;
padding: 96px 96px 48px;
background: #F4F5F6;
position: relative
}

.abt-us .mag-layout::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: repeating-linear-gradient(0deg, transparent, transparent 38px, #44918b0a 38px, #44918b0a 39px);
pointer-events: none
}

.abt-us .mag-main {
display: flex;
flex-direction: column;
gap: 32px
}

.abt-us .mag-heading {
font-size: 37px;
line-height: 1.15;
letter-spacing: -.02em;
color: #1e2d2c;
font-weight: 700;
margin: 0;
position: relative;
display: inline-block
}

.abt-us .mag-heading::after {
content: "";
display: inline-block;
width: 7px;
height: 7px;
border-radius: 44px;
background: #44918B;
margin-left: 8px;
vertical-align: middle;
position: relative;
top: -3px
}

.abt-us .mag-para {
font-size: 20px;
line-height: 1.6;
color: #2e3d3c;
margin: 0
}

.abt-us .mag-para-narrow {
font-size: 20px;
line-height: 1.6;
color: #2e3d3c;
margin: 0;
max-width: 480px
}

.abt-us .mag-accent {
color: #44918B;
font-weight: 600
}

.abt-us .mag-border-block {
border-top: 4px solid #44918B;
padding-top: 32px
}

.abt-us .mag-sidebar {
display: flex;
flex-direction: column;
gap: 32px
}

.abt-us .sidebar-img-wrap {
border-radius: 10px;
overflow: hidden;
box-shadow: -1px 8px 40px 0 #44918b1f
}

.abt-us .sidebar-img-wrap img {
width: 100%;
height: 240px;
object-fit: cover;
display: block
}

.abt-us .sidebar-card {
background: #fff;
border-radius: 10px;
padding: 32px;
box-shadow: -1px 2px 4px 0 #44918b12;
display: flex;
flex-direction: column;
gap: 16px
}

.abt-us .sidebar-card-h {
font-size: 20px;
line-height: 1.4;
font-weight: 700;
color: #1e2d2c;
margin: 0
}

.abt-us .sidebar-card-h::after {
content: "";
display: inline-block;
width: 5px;
height: 5px;
border-radius: 44px;
background: #8FB3BC;
margin-left: 6px;
vertical-align: middle;
position: relative;
top: -2px
}

.abt-us .sidebar-card p {
font-size: 13px;
line-height: 1.6;
color: #3a4a49;
margin: 0
}

.abt-us .prog-bar-group {
display: flex;
flex-direction: column;
gap: 16px
}

.abt-us .prog-item {
display: flex;
flex-direction: column;
gap: 8px
}

.abt-us .prog-label {
display: flex;
flex-direction: row;
justify-content: space-between;
font-size: 13px;
line-height: 1.4;
color: #2e3d3c;
font-weight: 600
}

.abt-us .prog-track {
display: flex;
flex-direction: row;
gap: 4px;
height: 10px
}

.abt-us .prog-seg {
flex: 1;
border-radius: 6px;
background: #44918b1f;
transition: background .55s ease-in-out
}

.abt-us .prog-seg.filled {
background: #44918B
}

.abt-us .prog-seg.partial {
background: #8FB3BC
}

.abt-us .dot-divider-2 {
display: flex;
align-items: center;
gap: 8px;
padding: 0 96px;
background: #F4F5F6
}

.abt-us .dot-divider-2 .dot-divider-line {
flex: 1;
border-top: 2px dotted #8fb3bc66
}

.abt-us .dot-divider-2 span {
display: inline-block;
width: 5px;
height: 5px;
border-radius: 44px;
background: #8FB3BC;
opacity: .5
}

.abt-us .complex-block {
background: #fff;
padding: 96px 96px 48px;
display: flex;
flex-direction: column;
gap: 48px;
position: relative
}

.abt-us .complex-block::before {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 80% 20%, #8fb3bc17 0%, transparent 65%);
pointer-events: none
}

.abt-us .complex-hero-row {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 48px
}

.abt-us .complex-hero-text {
flex: 1 1 auto
}

.abt-us .complex-hero-h {
font-size: 52px;
line-height: 1.15;
letter-spacing: -.025em;
color: #1e2d2c;
font-weight: 700;
margin: 0 0 16px
}

.abt-us .complex-hero-h .accent-span {
color: #44918B
}

.abt-us .complex-hero-p {
font-size: 20px;
line-height: 1.6;
color: #3a4a49;
max-width: 520px;
margin: 0
}

.abt-us .complex-hero-img {
flex: 0 0 320px;
border-radius: 10px;
overflow: hidden;
box-shadow: -1px 7px 22px 0 #44918b1c
}

.abt-us .complex-hero-img img {
width: 320px;
height: 260px;
object-fit: cover;
display: block
}

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

.abt-us .micro-card {
background: #F4F5F6;
border-radius: 10px;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
box-shadow: -1px 2px 4px 0 #44918b12;
transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abt-us .micro-card:hover {
box-shadow: -1px 7px 22px 0 #44918b1c
}

.abt-us .micro-num {
font-size: 37px;
line-height: 1.15;
font-weight: 700;
color: #44918B;
letter-spacing: -.02em
}

.abt-us .micro-label {
font-size: 13px;
line-height: 1.4;
font-weight: 700;
color: #1e2d2c;
text-transform: uppercase;
letter-spacing: .06em
}

.abt-us .micro-desc {
font-size: 13px;
line-height: 1.6;
color: #3a4a49;
margin: 0
}

.abt-us .img-row {
display: flex;
flex-direction: row;
gap: 16px;
align-items: stretch
}

.abt-us .img-row-item {
border-radius: 10px;
overflow: hidden;
box-shadow: -1px 2px 4px 0 #44918b12
}

.abt-us .img-row-item img {
width: 100%;
height: 180px;
object-fit: cover;
display: block
}

.abt-us .img-row-item.wide {
flex: 2
}

.abt-us .img-row-item.narrow {
flex: 1
}

.abt-us .trail-list {
display: flex;
flex-direction: column;
gap: 0
}

.abt-us .trail-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px 0
}

.abt-us .trail-dot-col {
display: flex;
flex-direction: column;
align-items: center;
flex: 0 0 20px;
padding-top: 4px
}

.abt-us .trail-dot {
width: 12px;
height: 12px;
border-radius: 44px;
background: #44918b40;
flex-shrink: 0;
transition: background .45s ease-in-out
}

.abt-us .trail-item:hover .trail-dot {
background: #44918B
}

.abt-us .trail-line {
flex: 1;
width: 2px;
background: #44918b26;
margin-top: 4px;
min-height: 32px
}

.abt-us .trail-item:last-child .trail-line {
display: none
}

.abt-us .trail-text h5 {
font-size: 20px;
line-height: 1.4;
font-weight: 700;
color: #1e2d2c;
margin: 0 0 8px
}

.abt-us .trail-text p {
font-size: 13px;
line-height: 1.6;
color: #3a4a49;
margin: 0
}

.abt-us .flicker-bg {
animation: flicker-opacity 7s ease-in-out infinite
}

@keyframes flicker-opacity {

0%,
100% {
opacity: 1
}

30% {
opacity: .97
}

55% {
opacity: .995
}

75% {
opacity: .975
}
}

@media (max-width: 992px) {
.abt-us .strip-band {
padding: 48px 32px;
flex-direction: row;
gap: 32px
}

.abt-us .strip-img-col {
flex: 0 0 120px
}

.abt-us .strip-h1 {
font-size: 37px
}

.abt-us .mag-layout {
grid-template-columns: 1fr;
padding: 48px 32px
}

.abt-us .dot-divider,
.abt-us .dot-divider-2 {
padding: 0 32px
}

.abt-us .complex-block {
padding: 48px 32px
}

.abt-us .complex-hero-row {
flex-direction: column;
gap: 32px
}

.abt-us .complex-hero-img {
flex: 0 0 auto;
width: 100%
}

.abt-us .complex-hero-img img {
width: 100%;
height: 220px
}

.abt-us .micro-grid {
grid-template-columns: 1fr 1fr
}

.abt-us .complex-hero-h {
font-size: 37px
}
}

@media (max-width: 576px) {
.abt-us .strip-band {
padding: 32px 16px;
gap: 16px
}

.abt-us .strip-img-col {
flex: 0 0 80px
}

.abt-us .strip-h1 {
font-size: 37px
}

.abt-us .strip-sub {
font-size: 13px
}

.abt-us .mag-layout {
padding: 32px 16px;
gap: 32px
}

.abt-us .dot-divider,
.abt-us .dot-divider-2 {
padding: 0 16px
}

.abt-us .complex-block {
padding: 32px 16px;
gap: 32px
}

.abt-us .micro-grid {
grid-template-columns: 1fr
}

.abt-us .img-row {
flex-direction: column
}

.abt-us .complex-hero-h {
font-size: 37px
}

.abt-us .mag-heading {
font-size: 37px
}
}

.srvs-pg {
background: #fff;
overflow-x: clip
}

.srvs-pg .above-fold {
max-width: 1500px;
margin: 0 auto;
padding: 96px 48px 48px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: end;
position: relative
}

.srvs-pg .fold-deco {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(128deg, #44918B18 0%, #8FB3BC12 45%, #fff 70%);
pointer-events: none;
z-index: 0
}

.srvs-pg .fold-deco::before {
content: '';
position: absolute;
top: -32px;
right: 80px;
width: 320px;
height: 320px;
border-radius: 44px;
border: 1.5px solid #44918B22;
transform: rotate(18deg);
pointer-events: none
}

.srvs-pg .fold-deco::after {
content: '';
position: absolute;
top: 32px;
right: 120px;
width: 200px;
height: 200px;
border-radius: 44px;
border: 1px solid #8FB3BC30;
transform: rotate(-8deg);
pointer-events: none
}

.srvs-pg .fold-left {
position: relative;
z-index: 1;
padding-bottom: 48px
}

.srvs-pg .fold-eyebrow {
font-size: 13px;
letter-spacing: .12em;
text-transform: uppercase;
color: #44918B;
margin-bottom: 16px;
line-height: 1.4
}

.srvs-pg .fold-h1 {
font-size: 52px;
line-height: 1.15;
letter-spacing: -.02em;
color: #1b2d2b;
margin-bottom: 32px;
font-weight: 700
}

.srvs-pg .fold-h1 .acc {
color: #44918B
}

.srvs-pg .fold-desc {
font-size: 20px;
line-height: 1.6;
color: #3a4a48;
max-width: 480px;
margin-bottom: 32px
}

.srvs-pg .fold-stat-row {
display: flex;
flex-direction: row;
gap: 32px;
margin-top: 48px
}

.srvs-pg .fold-stat {
display: flex;
flex-direction: column;
gap: 8px
}

.srvs-pg .fold-stat-num {
font-size: 37px;
line-height: 1.15;
font-weight: 700;
color: #44918B;
letter-spacing: -.02em
}

.srvs-pg .fold-stat-label {
font-size: 13px;
line-height: 1.4;
color: #5a6e6c;
text-transform: uppercase;
letter-spacing: .08em
}

.srvs-pg .fold-right {
position: relative;
z-index: 1;
display: flex;
align-items: flex-end;
justify-content: flex-end
}

.srvs-pg .img-frame {
position: relative;
width: 100%;
max-width: 520px;
border-radius: 10px;
overflow: hidden
}

.srvs-pg .img-frame img {
width: 100%;
height: 420px;
object-fit: cover;
display: block;
border-radius: 10px;
filter: grayscale(60%);
opacity: .18
}

.srvs-pg .img-frame::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(128deg, #44918B55 0%, #8FB3BC33 100%);
border-radius: 10px;
z-index: 1;
pointer-events: none
}

.srvs-pg .img-frame-card {
position: absolute;
inset: 0;
z-index: 2;
display: flex;
flex-direction: column;
justify-content: flex-end;
padding: 32px
}

.srvs-pg .img-frame-card-text {
font-size: 20px;
line-height: 1.4;
color: #fff;
font-weight: 600;
text-shadow: 0 2px 12px #44918b4d
}

.srvs-pg .img-leak {
position: absolute;
top: -16px;
right: -16px;
width: 120px;
height: 120px;
border-radius: 44px;
background: radial-gradient(circle at 30% 30%, #44918B44 0%, transparent 70%);
pointer-events: none;
z-index: 3
}

.srvs-pg .detail-band {
background: #F4F5F6;
padding: 96px 48px;
animation: bg-shift 15s linear infinite
}

@keyframes bg-shift {
0% {
background-color: #F4F5F6
}

50% {
background-color: #eaf1f3
}

100% {
background-color: #F4F5F6
}
}

.srvs-pg .detail-inner {
max-width: 1500px;
margin: 0 auto
}

.srvs-pg .detail-top {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 48px;
margin-bottom: 64px;
align-items: start
}

.srvs-pg .detail-label {
font-size: 13px;
text-transform: uppercase;
letter-spacing: .12em;
color: #44918B;
margin-bottom: 16px;
line-height: 1.4
}

.srvs-pg .detail-h2 {
font-size: 37px;
line-height: 1.15;
font-weight: 700;
color: #1b2d2b;
letter-spacing: -.015em
}

.srvs-pg .detail-h2 .dot {
display: inline-block;
width: 7px;
height: 7px;
border-radius: 44px;
background: #44918B;
margin-left: 6px;
vertical-align: middle;
margin-bottom: 4px
}

.srvs-pg .detail-body {
font-size: 20px;
line-height: 1.6;
color: #3a4a48
}

.srvs-pg .detail-body p {
margin-bottom: 16px
}

.srvs-pg .detail-body p:last-child {
margin-bottom: 0
}

.srvs-pg .service-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px;
margin-bottom: 64px
}

.srvs-pg .srv-card {
background: #fff;
border-radius: 10px;
padding: 32px;
box-shadow: -1px 2px 4px 0 #44918b12 -1px 7px 22px 0 #44918b1c;
position: relative;
transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.srvs-pg .srv-card:hover {
box-shadow: -1px 8px 40px 0 #44918b1f
}

.srvs-pg .srv-card:focus-within {
outline: 2.5px solid #44918B;
outline-offset: 2px
}

.srvs-pg .srv-icon {
width: 48px;
height: 48px;
border-radius: 10px;
background: #44918B14;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 16px;
position: relative
}

.srvs-pg .srv-icon svg {
width: 24px;
height: 24px;
stroke: #44918B;
fill: none;
stroke-width: 1.5;
stroke-linecap: round;
stroke-linejoin: round
}

.srvs-pg .srv-icon-outline {
position: absolute;
inset: -3px;
border-radius: 10px;
border: 1.5px solid #44918B;
opacity: 0;
transition: opacity .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.srvs-pg .srv-card:hover .srv-icon-outline {
opacity: 1;
animation: outline-trace .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

@keyframes outline-trace {
0% {
clip-path: inset(0 100% 0 0);
opacity: 1
}

100% {
clip-path: inset(0 0% 0 0);
opacity: 1
}
}

.srvs-pg .srv-h3 {
font-size: 20px;
line-height: 1.4;
font-weight: 700;
color: #1b2d2b;
margin-bottom: 8px
}

.srvs-pg .srv-p {
font-size: 13px;
line-height: 1.6;
color: #5a6e6c
}

.srvs-pg .process-strip {
display: flex;
flex-direction: row;
gap: 0;
align-items: flex-start;
margin-top: 32px;
position: relative
}

.srvs-pg .process-strip::before {
content: '';
position: absolute;
top: 16px;
left: 16px;
right: 16px;
height: 1.5px;
background: linear-gradient(90deg, #44918B 0%, #8FB3BC 100%);
z-index: 0
}

.srvs-pg .proc-step {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
position: relative;
z-index: 1
}

.srvs-pg .proc-dot {
width: 32px;
height: 32px;
border-radius: 44px;
background: #fff;
border: 2px solid #44918B;
display: flex;
align-items: center;
justify-content: center;
font-size: 13px;
font-weight: 700;
color: #44918B;
transition: background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.srvs-pg .proc-step:hover .proc-dot {
background: #44918B;
color: #fff
}

.srvs-pg .proc-step.active .proc-dot {
background: #44918B;
color: #fff
}

.srvs-pg .proc-label {
font-size: 13px;
line-height: 1.4;
color: #3a4a48;
text-align: center;
max-width: 120px
}

.srvs-pg .bottom-feature {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
margin-top: 64px;
align-items: center
}

.srvs-pg .bf-img-wrap {
position: relative;
border-radius: 10px;
overflow: hidden
}

.srvs-pg .bf-img-wrap img {
width: 100%;
height: 360px;
object-fit: cover;
display: block;
filter: grayscale(55%);
opacity: .22;
border-radius: 10px
}

.srvs-pg .bf-img-tint {
position: absolute;
inset: 0;
background: linear-gradient(160deg, #44918B44 0%, #8FB3BC22 100%);
border-radius: 10px;
pointer-events: none
}

.srvs-pg .bf-text {
display: flex;
flex-direction: column;
gap: 16px
}

.srvs-pg .bf-h3 {
font-size: 37px;
line-height: 1.15;
font-weight: 700;
color: #1b2d2b;
letter-spacing: -.015em
}

.srvs-pg .bf-h3 .acc {
color: #44918B
}

.srvs-pg .bf-p {
font-size: 20px;
line-height: 1.6;
color: #3a4a48
}

.srvs-pg .bf-cta {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 16px 32px;
border-radius: 6px;
border: 1.5px solid #44918B;
background: transparent;
color: #44918B;
font-size: 13px;
font-weight: 600;
letter-spacing: .06em;
text-transform: uppercase;
cursor: pointer;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
align-self: flex-start;
margin-top: 16px
}

.srvs-pg .bf-cta:hover {
background: #44918B;
color: #fff
}

.srvs-pg .bf-cta:focus-visible {
outline: 2.5px solid #44918B;
outline-offset: 3px
}

.srvs-pg .ripple-circle {
position: absolute;
border-radius: 44px;
background: #44918b2e;
transform: scale(0);
pointer-events: none;
animation: ripple-go .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

@keyframes ripple-go {
to {
transform: scale(4);
opacity: 0
}
}

@media (max-width: 992px) {
.srvs-pg .above-fold {
grid-template-columns: 1fr;
padding: 48px 32px 32px;
gap: 32px
}

.srvs-pg .fold-right {
display: none
}

.srvs-pg .fold-h1 {
font-size: 37px
}

.srvs-pg .detail-band {
padding: 48px 32px
}

.srvs-pg .detail-top {
grid-template-columns: 1fr;
gap: 16px
}

.srvs-pg .service-grid {
grid-template-columns: 1fr 1fr
}

.srvs-pg .bottom-feature {
grid-template-columns: 1fr
}

.srvs-pg .bf-img-wrap {
display: none
}

.srvs-pg .process-strip {
flex-direction: column;
gap: 16px
}

.srvs-pg .process-strip::before {
display: none
}

.srvs-pg .proc-step {
flex-direction: row;
align-items: center;
gap: 16px
}

.srvs-pg .proc-label {
text-align: left;
max-width: none
}
}

@media (max-width: 576px) {
.srvs-pg .above-fold {
padding: 32px 16px 16px
}

.srvs-pg .fold-h1 {
font-size: 37px
}

.srvs-pg .fold-stat-row {
flex-direction: column;
gap: 16px
}

.srvs-pg .detail-band {
padding: 32px 16px
}

.srvs-pg .service-grid {
grid-template-columns: 1fr;
gap: 16px
}

.srvs-pg .srv-card {
padding: 16px
}

.srvs-pg .bf-h3 {
font-size: 20px
}
}

.cu-pg {
background: #fff;
overflow-x: clip
}

.cu-pg .flip-load {
animation: flipIn .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

@keyframes flipIn {
from {
transform: rotateX(-90deg);
opacity: 0
}

to {
transform: rotateX(0deg);
opacity: 1
}
}

.cu-pg .split-band {
position: relative;
padding: 96px 48px;
background: linear-gradient(135deg, #44918B 0%, #44918B 48%, #8FB3BC 48%, #8FB3BC 100%);
display: flex;
flex-direction: row;
align-items: stretch;
gap: 0;
max-width: 100%;
overflow: hidden
}

.cu-pg .split-band::before {
content: "C";
position: absolute;
right: 5%;
top: 50%;
transform: translateY(-50%);
font-size: 320px;
font-weight: 900;
color: #ffffff12;
line-height: 1.15;
pointer-events: none;
user-select: none;
z-index: 0
}

.cu-pg .split-text-col {
flex: 1 1 55%;
padding: 48px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 32px;
position: relative;
z-index: 1
}

.cu-pg .split-info-col {
flex: 0 0 38%;
padding: 48px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 32px;
position: relative;
z-index: 1
}

.cu-pg .pg-label {
font-size: 13px;
letter-spacing: .12em;
color: #ffffffbf;
text-transform: uppercase;
line-height: 1.4
}

.cu-pg .pg-heading {
font-size: 52px;
font-weight: 800;
color: #fff;
line-height: 1.15;
letter-spacing: -.02em;
margin: 0
}

.cu-pg .pg-heading .dot-acc {
display: inline-block;
width: 8px;
height: 8px;
background: #fff9;
border-radius: 44px;
margin-left: 6px;
vertical-align: middle;
position: relative;
top: -4px
}

.cu-pg .pg-tagline {
font-size: 20px;
color: #ffffffe0;
line-height: 1.6;
margin: 0;
max-width: 480px
}

.cu-pg .info-card {
background: #ffffff1f;
border-radius: 10px;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
backdrop-filter: blur(4px)
}

.cu-pg .info-item {
display: flex;
flex-direction: column;
gap: 8px
}

.cu-pg .info-lbl {
font-size: 13px;
text-transform: uppercase;
letter-spacing: .1em;
color: #fff9;
line-height: 1.4
}

.cu-pg .info-val {
font-size: 20px;
color: #fff;
line-height: 1.4;
font-weight: 600
}

.cu-pg .info-val a {
color: #fff;
text-decoration: none;
border-bottom: 1px dashed #fff6;
transition: border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cu-pg .info-val a:hover {
border-color: #fff
}

.cu-pg .info-divider {
height: 1px;
background: #ffffff2e;
border: none;
margin: 0
}

.cu-pg .form-band {
max-width: 1500px;
margin: 0 auto;
padding: 96px 48px;
display: grid;
grid-template-columns: 1fr 1.6fr;
gap: 96px;
align-items: start
}

.cu-pg .form-context {
display: flex;
flex-direction: column;
gap: 32px;
position: sticky;
top: 48px
}

.cu-pg .ctx-eyebrow {
font-size: 13px;
text-transform: uppercase;
letter-spacing: .12em;
color: #44918B;
line-height: 1.4
}

.cu-pg .ctx-heading {
font-size: 37px;
font-weight: 700;
color: #1e2d2b;
line-height: 1.15;
letter-spacing: -.01em;
margin: 0
}

.cu-pg .ctx-heading .acc {
color: #44918B
}

.cu-pg .ctx-body {
font-size: 20px;
color: #3a4a48;
line-height: 1.6;
margin: 0
}

.cu-pg .ctx-note {
font-size: 13px;
color: #6a8a87;
line-height: 1.6;
padding: 16px;
border-radius: 6px;
background: #F4F5F6
}

.cu-pg .geom-strip {
display: flex;
flex-direction: row;
gap: 8px;
align-items: center
}

.cu-pg .geom-dot {
width: 10px;
height: 10px;
border-radius: 44px;
background: #44918B;
flex-shrink: 0
}

.cu-pg .geom-line {
flex: 1;
height: 1px;
border-top: 2px dashed #8FB3BC
}

.cu-pg .geom-dot.dim {
background: #8FB3BC;
width: 7px;
height: 7px
}

.cu-pg .contact-form {
display: flex;
flex-direction: column;
gap: 32px;
background: #fff;
border-radius: 10px;
padding: 48px;
box-shadow: -1px 7px 22px 0 #44918b1c
}

.cu-pg .form-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px
}

.cu-pg .field-grp {
display: flex;
flex-direction: column;
gap: 8px;
position: relative
}

.cu-pg .field-grp.full {
grid-column: 1 / -1
}

.cu-pg .field-lbl {
font-size: 13px;
text-transform: uppercase;
letter-spacing: .09em;
color: #3a4a48;
line-height: 1.4;
font-weight: 600
}

.cu-pg .field-lbl .req {
color: #44918B;
margin-left: 2px
}

.cu-pg .f-input {
padding: 16px;
border: 1.5px solid #d0dede;
border-radius: 6px;
font-size: 20px;
color: #1e2d2b;
background: #F4F5F6;
line-height: 1.4;
outline: none;
box-shadow: inset 0 2px 4px #44918b12;
transition: border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
width: 100%;
box-sizing: border-box
}

.cu-pg .f-input::placeholder {
color: #8aacaa;
text-transform: uppercase;
font-size: 13px;
letter-spacing: .07em
}

.cu-pg .f-input:focus {
border-color: #44918B !important;
box-shadow: inset 0 2px 4px #44918b1f 0 0 0 3px #44918b26 !important;
background: #fff
}

.cu-pg .f-select {
padding: 16px;
border: 1.5px solid #d0dede;
border-radius: 6px;
font-size: 20px;
color: #1e2d2b;
background: #F4F5F6;
line-height: 1.4;
outline: none;
box-shadow: inset 0 2px 4px #44918b12;
transition: border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
width: 100%;
box-sizing: border-box;
appearance: none;
cursor: pointer;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%2344918B' d='M8 10.5L3 5.5h10z'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 16px center;
padding-right: 48px
}

.cu-pg .f-select:focus {
border-color: #44918B !important;
box-shadow: inset 0 2px 4px #44918b1f 0 0 0 3px #44918b26 !important;
background-color: #fff
}

.cu-pg .field-hint {
font-size: 13px;
color: #8aacaa;
line-height: 1.4
}

.cu-pg .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
background: #F4F5F6;
border-radius: 6px
}

.cu-pg .privacy-check {
width: 20px;
height: 20px;
flex-shrink: 0;
accent-color: #44918B;
margin-top: 2px;
cursor: pointer
}

.cu-pg .privacy-txt {
font-size: 13px;
color: #3a4a48;
line-height: 1.6
}

.cu-pg .privacy-txt a {
color: #44918B;
text-decoration: underline;
text-decoration-color: #44918b66;
transition: text-decoration-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cu-pg .privacy-txt a:hover {
text-decoration-color: #44918B
}

.cu-pg .submit-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 32px
}

.cu-pg .btn-send {
position: relative;
overflow: hidden;
padding: 16px 48px;
border-radius: 6px;
border: 2px solid #44918B;
background: transparent;
color: #44918B;
font-size: 20px;
font-weight: 700;
letter-spacing: .04em;
cursor: pointer;
line-height: 1.4;
transition: background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cu-pg .btn-send:hover {
background: #44918B;
color: #fff
}

.cu-pg .btn-send:focus-visible {
outline: 3px solid #44918B !important;
outline-offset: 3px !important
}

.cu-pg .btn-send .ripple-el {
position: absolute;
border-radius: 44px;
background: #ffffff59;
transform: scale(0);
animation: rippleAnim .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
pointer-events: none
}

@keyframes rippleAnim {
to {
transform: scale(4);
opacity: 0
}
}

.cu-pg .send-note {
font-size: 13px;
color: #8aacaa;
line-height: 1.6
}

.cu-pg .dashed-div {
border: none;
border-top: 2px dashed #8FB3BC;
margin: 0
}

@media (max-width: 992px) {
.cu-pg .split-band {
flex-direction: column;
padding: 48px 32px
}

.cu-pg .split-text-col,
.cu-pg .split-info-col {
padding: 32px 16px;
flex: none
}

.cu-pg .pg-heading {
font-size: 37px
}

.cu-pg .form-band {
grid-template-columns: 1fr;
gap: 48px;
padding: 48px 32px
}

.cu-pg .form-context {
position: static
}

.cu-pg .contact-form {
padding: 32px
}

.cu-pg .form-row {
grid-template-columns: 1fr
}
}

@media (max-width: 576px) {
.cu-pg .split-band {
padding: 48px 16px
}

.cu-pg .split-text-col,
.cu-pg .split-info-col {
padding: 16px 8px
}

.cu-pg .pg-heading {
font-size: 37px
}

.cu-pg .form-band {
padding: 48px 16px;
gap: 32px
}

.cu-pg .contact-form {
padding: 16px
}

.cu-pg .submit-row {
flex-direction: column;
align-items: flex-start;
gap: 16px
}

.cu-pg .btn-send {
width: 100%;
text-align: center
}

.cu-pg .split-band::before {
display: none
}
}

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

.success-page .success-card {
background: #fff;
border-radius: 10px;
padding: 48px;
max-width: 560px;
width: 100%;
box-shadow: -1px 7px 22px 0 #44918b1c;
text-align: center
}

.success-page .success-icon {
width: 64px;
height: 64px;
margin: 0 auto 32px;
display: flex;
align-items: center;
justify-content: center
}

.success-page .success-icon svg {
width: 64px;
height: 64px
}

.success-page .success-heading {
font-size: 37px;
font-weight: 700;
line-height: 1.15;
letter-spacing: -.02em;
color: #1b2e2d;
margin: 0 0 16px
}

.success-page .success-heading .accent {
color: #44918B
}

.success-page .success-text {
font-size: 20px;
line-height: 1.6;
color: #3a4a49;
margin: 0 0 32px
}

.success-page .success-divider {
width: 48px;
height: 3px;
background: #8FB3BC;
border-radius: 6px;
margin: 0 auto 32px
}

.success-page .success-meta {
font-size: 13px;
line-height: 1.6;
color: #5a7170;
margin: 0 0 48px
}

.success-page .success-meta a {
color: #44918B;
text-decoration: none;
border-bottom: 1px solid #44918b4d;
transition: border-color .55s ease-in-out, color .55s ease-in-out
}

.success-page .success-meta a:hover {
color: #2d6b66;
border-bottom-color: #2d6b66
}

.success-page .btn-return {
display: inline-block;
padding: 16px 32px;
border-radius: 6px;
font-size: 13px;
font-weight: 600;
letter-spacing: .06em;
text-transform: uppercase;
text-decoration: none;
color: #44918B;
border: 2px solid #44918B;
background: transparent;
cursor: pointer;
transition: background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative;
overflow: hidden
}

.success-page .btn-return:hover {
background: #44918B;
color: #fff
}

.success-page .btn-return:focus {
outline: 3px solid #8FB3BC;
outline-offset: 3px
}

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

.success-page .success-card {
padding: 32px 16px
}

.success-page .success-heading {
font-size: 20px
}

.success-page .success-text {
font-size: 13px
}
}