body {
margin: 0;
position: relative;
min-height: 100vh;
font-family: 'Lexend', sans-serif
}

:focus {
outline: 3px solid #F1403F;
outline-offset: 2px
}

.pg__frame {
box-sizing: border-box;
max-width: 1024px;
margin-left: auto;
margin-right: auto;
padding-left: 24px;
padding-right: 24px
}

.top-bar {
background: #04764F;
padding-top: 6px;
padding-bottom: 6px
}

.top-bar__inner {
box-sizing: border-box;
max-width: 1024px;
margin-left: auto;
margin-right: auto;
padding-left: 24px;
padding-right: 24px;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 24px
}

.top-bar__item {
display: flex;
align-items: center;
gap: 6px;
color: #D2E8FF;
font-family: 'Lexend', sans-serif;
font-size: 15px;
line-height: 1.45;
letter-spacing: .02em;
text-decoration: none;
transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.top-bar__item:hover {
color: #fff
}

.top-bar__item i {
font-size: 13px
}

.site-hd {
background: #fff;
border-bottom: 2px solid #D2E8FF;
box-shadow: 0 6px 28px -1px #04764f1c;
padding-top: 24px;
padding-bottom: 24px
}

.site-hd__inner {
box-sizing: border-box;
max-width: 1024px;
margin-left: auto;
margin-right: auto;
padding-left: 24px;
padding-right: 24px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
flex-wrap: wrap
}

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

.brand__badge {
background: #fff;
border: 1px solid #D2E8FF;
box-shadow: 0 1px 5px -1px #f1403f0f 0 6px 28px -1px #f1403f1c;
border-radius: 0;
width: 60px;
height: 60px;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
flex-shrink: 0
}

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

.brand__name {
font-family: 'Lexend', sans-serif;
font-size: 23px;
font-weight: 700;
line-height: 1.15;
letter-spacing: -.02em;
color: #1b2b22
}

.brand__tagline {
font-family: 'Lexend', sans-serif;
font-size: 15px;
font-weight: 400;
line-height: 1.45;
color: #04764F;
letter-spacing: .01em
}

.pri-nav {
display: flex;
align-items: center;
gap: 6px;
flex-wrap: wrap
}

.pri-nav__lnk {
font-family: 'Lexend', sans-serif;
font-size: 15px;
font-weight: 500;
line-height: 1.45;
letter-spacing: .01em;
color: #1b2b22;
text-decoration: none;
padding: 12px;
border-radius: 0;
border: 2px solid transparent;
transition: border-color .18s cubic-bezier(0.4, 0, 0.2, 1), color .18s cubic-bezier(0.4, 0, 0.2, 1);
white-space: nowrap;
min-height: 44px;
display: flex;
align-items: center
}

.pri-nav__lnk:hover {
border-color: #F1403F;
color: #F1403F
}

.pri-nav__lnk--active {
color: #F1403F;
border-color: #F1403F
}

.pri-nav__cta {
font-family: 'Lexend', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.45;
letter-spacing: .01em;
color: #fff;
background: #F1403F;
text-decoration: none;
padding: 12px 24px;
border-radius: 32px;
border: 2px solid #F1403F;
min-height: 44px;
display: flex;
align-items: center;
transition: border-color .22s cubic-bezier(0.0, 0, 0.2, 1);
white-space: nowrap
}

.pri-nav__cta:hover {
border-color: #1b2b22
}

.site-ft {
background: #1b2b22;
position: relative;
overflow: hidden
}

.ft-wave {
display: block;
width: 100%;
height: 48px;
fill: #fff
}

.ft-body {
padding-top: 52px;
padding-bottom: 52px
}

.ft-body__inner {
box-sizing: border-box;
max-width: 1024px;
margin-left: auto;
margin-right: auto;
padding-left: 24px;
padding-right: 24px;
display: flex;
align-items: flex-start;
gap: 52px;
flex-wrap: wrap
}

.ft-col--brand {
flex: 0 0 auto;
min-width: 220px
}

.ft-col--links {
flex: 1 1 180px
}

.ft-col--extra {
flex: 1 1 160px
}

.ft__brand-wrap {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 24px
}

.ft__logo-badge {
background: #fff;
border: 1px solid #D2E8FF;
box-shadow: 0 1px 5px -1px #f1403f0f;
border-radius: 0;
width: 60px;
height: 60px;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
flex-shrink: 0
}

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

.ft__brand-name {
font-family: 'Lexend', sans-serif;
font-size: 23px;
font-weight: 700;
line-height: 1.15;
letter-spacing: -.02em;
color: #fff
}

.ft__addr {
font-family: 'Lexend', sans-serif;
font-size: 15px;
line-height: 1.7;
color: #a8c4b0;
letter-spacing: .01em;
margin: 0 0 12px;
font-style: normal
}

.ft__contact-lnk {
display: flex;
align-items: center;
gap: 6px;
font-family: 'Lexend', sans-serif;
font-size: 15px;
line-height: 1.45;
color: #D2E8FF;
text-decoration: none;
margin-bottom: 6px;
transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.ft__contact-lnk:hover {
color: #fff
}

.ft__contact-lnk i {
font-size: 13px;
flex-shrink: 0
}

.ft__col-heading {
font-family: 'Lexend', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.45;
letter-spacing: .04em;
color: #fff;
text-transform: uppercase;
margin: 0 0 24px
}

.ft__nav-list {
list-style: none;
margin: 0;
padding: 0
}

.ft__nav-list li {
margin-bottom: 12px
}

.ft__nav-lnk {
font-family: 'Lexend', sans-serif;
font-size: 15px;
line-height: 1.45;
color: #a8c4b0;
text-decoration: none;
transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.ft__nav-lnk:hover {
color: #D2E8FF
}

.ft__cookie-lnk {
font-family: 'Lexend', sans-serif;
font-size: 15px;
line-height: 1.45;
color: #a8c4b0;
text-decoration: underline;
background: none;
border: none;
cursor: pointer;
padding: 0;
transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.ft__cookie-lnk:hover {
color: #D2E8FF
}

.ft-bottom {
border-top: 1px solid #2e4a38;
padding-top: 24px;
padding-bottom: 24px
}

.ft-bottom__inner {
box-sizing: border-box;
max-width: 1024px;
margin-left: auto;
margin-right: auto;
padding-left: 24px;
padding-right: 24px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
flex-wrap: wrap
}

.ft__copy {
font-family: 'Lexend', sans-serif;
font-size: 15px;
line-height: 1.45;
color: #a8c4b0;
margin: 0
}

.ft__policy-note {
font-family: 'Lexend', sans-serif;
font-size: 15px;
line-height: 1.45;
color: #a8c4b0;
margin: 0
}

.ft__policy-note a {
color: #D2E8FF;
text-decoration: underline;
transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.ft__policy-note a:hover {
color: #fff
}

.ck-tray {
display: none;
position: fixed;
bottom: 24px;
left: 0;
right: 0;
margin: auto;
width: 340px;
max-width: calc(100vw - 48px);
background: #fff;
border-radius: 32px;
box-shadow: 0 8px 60px -1px #f1403f1a 0 6px 28px -1px #f1403f1c;
z-index: 8000;
padding: 24px;
box-sizing: border-box
}

.ck-tray__title {
font-family: 'Lexend', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.45;
color: #1b2b22;
margin: 0 0 12px
}

.ck-tray__desc {
font-family: 'Lexend', sans-serif;
font-size: 15px;
line-height: 1.7;
color: #2e4a38;
margin: 0 0 12px
}

.ck-tray__uses {
list-style: none;
margin: 0 0 24px;
padding: 0
}

.ck-tray__uses li {
font-family: 'Lexend', sans-serif;
font-size: 15px;
line-height: 1.7;
color: #2e4a38;
padding-left: 12px;
position: relative
}

.ck-tray__uses li::before {
content: '';
display: inline-block;
width: 5px;
height: 5px;
background: #F1403F;
border-radius: 0;
position: absolute;
left: 0;
top: 9px
}

.ck-tray__btns {
display: flex;
flex-direction: column;
gap: 12px
}

.ck-tray__accept {
font-family: 'Lexend', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.45;
color: #fff;
background: #F1403F;
border: 2px solid #F1403F;
border-radius: 32px;
padding: 12px 24px;
cursor: pointer;
min-height: 44px;
transition: border-color .22s cubic-bezier(0.0, 0, 0.2, 1);
width: 100%
}

.ck-tray__accept:hover {
border-color: #1b2b22
}

.ck-tray__accept:focus {
outline: 3px solid #F1403F;
outline-offset: 2px
}

.ck-tray__decline {
font-family: 'Lexend', sans-serif;
font-size: 15px;
font-weight: 500;
line-height: 1.45;
color: #04764F;
background: transparent;
border: 2px solid #04764F;
border-radius: 32px;
padding: 12px 24px;
cursor: pointer;
min-height: 44px;
transition: border-color .18s cubic-bezier(0.4, 0, 0.2, 1), color .18s cubic-bezier(0.4, 0, 0.2, 1);
width: 100%
}

.ck-tray__decline:hover {
border-color: #1b2b22;
color: #1b2b22
}

.ck-tray__decline:focus {
outline: 3px solid #F1403F;
outline-offset: 2px
}

.ck-tray__footer {
margin-top: 12px;
font-family: 'Lexend', sans-serif;
font-size: 15px;
line-height: 1.45;
color: #a8c4b0;
text-align: center
}

.ck-tray__footer a {
color: #04764F;
text-decoration: underline;
transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.ck-tray__footer a:hover {
color: #1b2b22
}

@media (max-width: 768px) {
.site-hd__inner {
gap: 12px
}

.top-bar__inner {
justify-content: center;
flex-wrap: wrap;
gap: 12px
}

.ft-body__inner {
gap: 24px
}

.ft-bottom__inner {
flex-direction: column;
align-items: flex-start;
gap: 6px
}
}

@media (max-width: 375px) {
.brand__name {
font-size: clamp(18px, 5vw, 23px)
}

.pri-nav {
gap: 0
}

.pri-nav__lnk {
padding: 12px 6px
}
}

.text-zavc-legal {
max-width: 1024px;
margin-left: auto;
margin-right: auto;
padding: 52px 24px
}

.text-zavc-legal h1 {
font-size: 43px;
line-height: 1.15;
letter-spacing: -.02em;
color: #111;
margin-top: 0;
margin-bottom: 24px
}

.text-zavc-legal h2 {
font-size: 23px;
line-height: 1.45;
letter-spacing: -.01em;
color: #111;
margin-top: 52px;
margin-bottom: 12px
}

.text-zavc-legal h3 {
font-size: 23px;
line-height: 1.45;
letter-spacing: -.01em;
color: #222;
margin-top: 24px;
margin-bottom: 12px
}

.text-zavc-legal h4,
.text-zavc-legal h5,
.text-zavc-legal h6 {
font-size: 15px;
line-height: 1.45;
letter-spacing: .01em;
color: #222;
margin-top: 24px;
margin-bottom: 6px
}

.text-zavc-legal p {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #2a2a2a;
margin-top: 0;
margin-bottom: 12px
}

.text-zavc-legal ul,
.text-zavc-legal ol {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #2a2a2a;
margin-top: 0;
margin-bottom: 12px;
padding-left: 24px
}

.text-zavc-legal ul {
list-style-type: disc
}

.text-zavc-legal ol {
list-style-type: decimal
}

.text-zavc-legal li {
margin-bottom: 6px
}

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

.text-zavc-legal ul ul,
.text-zavc-legal ol ol,
.text-zavc-legal ul ol,
.text-zavc-legal ol ul {
margin-top: 6px;
margin-bottom: 6px
}

.text-zavc-legal table {
width: 100%;
border-collapse: collapse;
font-size: 15px;
line-height: 1.45;
color: #2a2a2a;
margin-top: 24px;
margin-bottom: 24px;
box-shadow: 0 1px 5px -1px #f1403f0f;
border-radius: 0;
overflow: hidden
}

.text-zavc-legal thead {
background-color: #D2E8FF
}

.text-zavc-legal thead th {
font-size: 15px;
line-height: 1.45;
letter-spacing: .02em;
color: #111;
font-weight: 700;
padding: 12px 24px;
text-align: left;
border-bottom: 2px solid #b8d9f7
}

.text-zavc-legal tbody tr {
border-bottom: 1px solid #e8f3fc;
transition: background-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

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

.text-zavc-legal tbody tr:hover {
background-color: #f5f9ff
}

.text-zavc-legal td {
padding: 12px 24px;
font-size: 15px;
line-height: 1.7;
color: #2a2a2a;
vertical-align: top
}

.text-zavc-legal hr {
border: none;
border-top: 1px solid #D2E8FF;
margin-top: 52px;
margin-bottom: 52px
}

.text-zavc-legal div {
font-size: 15px;
line-height: 1.7
}

@media (max-width: 768px) {
.text-zavc-legal {
padding: 24px
}

.text-zavc-legal h1 {
font-size: 43px
}

.text-zavc-legal h2 {
margin-top: 24px
}

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

.text-zavc-legal thead th,
.text-zavc-legal td {
padding: 12px
}
}

@media (max-width: 375px) {
.text-zavc-legal {
padding: 24px 12px
}

.text-zavc-legal h1 {
font-size: 23px
}

.text-zavc-legal h2,
.text-zavc-legal h3 {
font-size: 23px
}
}

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

.cert-pg *,
.cert-pg ::before,
.cert-pg ::after {
box-sizing: border-box
}

::selection {
background: #111;
color: #fff
}

.cert-pg .pg-open {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 520px;
max-width: 100%;
position: relative
}

.cert-pg .pg-open__txt {
padding: 96px 52px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
z-index: 1
}

.cert-pg .pg-open__blob {
position: absolute;
width: 320px;
height: 320px;
border-radius: 50%;
background: #D2E8FF;
opacity: .38;
filter: blur(72px);
top: -60px;
left: -80px;
pointer-events: none
}

.cert-pg .pg-open__blob--b {
width: 180px;
height: 180px;
background: #f1403f21;
filter: blur(48px);
top: auto;
bottom: 24px;
left: 120px
}

.cert-pg .pg-open__label {
font-size: 15px;
line-height: 1.45;
letter-spacing: .12em;
color: #04764F;
text-transform: uppercase;
margin-bottom: 24px;
font-weight: 600
}

.cert-pg .pg-open__h1 {
font-size: clamp(43px, 5vw, 72px);
line-height: 1.15;
letter-spacing: -.03em;
color: #111;
font-weight: 800;
margin: 0 0 24px
}

.cert-pg .pg-open__h1 span {
color: #F1403F
}

.cert-pg .pg-open__desc {
font-size: 15px;
line-height: 1.7;
color: #333;
max-width: 400px;
margin: 0 0 52px
}

.cert-pg .pg-open__desc strong {
color: #04764F;
font-weight: 700;
text-transform: uppercase;
font-size: 15px
}

.cert-pg .pg-open__stat-row {
display: flex;
flex-direction: row;
gap: 24px
}

.cert-pg .stat-pill {
display: flex;
flex-direction: column;
gap: 6px;
padding: 12px 24px;
border: 1.5px solid #D2E8FF;
border-radius: 32px;
background: #fff;
box-shadow: 0 1px 5px -1px #04764f0f;
transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.cert-pg .stat-pill:hover {
border-color: #04764F
}

.cert-pg .stat-pill__num {
font-size: 23px;
line-height: 1.15;
font-weight: 800;
color: #111;
letter-spacing: -.02em;
display: flex;
flex-direction: row;
align-items: center;
gap: 6px
}

.cert-pg .stat-pill__arrow {
display: inline-block;
width: 18px;
height: 18px
}

.cert-pg .stat-pill__arrow svg {
width: 18px;
height: 18px;
display: block
}

.cert-pg .stat-pill__lbl {
font-size: 15px;
line-height: 1.45;
color: #555
}

.cert-pg .pg-open__img-col {
position: relative;
overflow: hidden
}

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

.cert-pg .pg-open__img-fade {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 55%;
background: linear-gradient(to bottom, #D2E8FF, transparent);
pointer-events: none;
z-index: 1
}

.cert-pg .certs-list-sec {
background: #f5f9ff;
padding: 96px 0;
position: relative
}

.cert-pg .certs-list-sec::before {
content: '';
display: block;
position: absolute;
top: 0;
left: 0;
right: 0;
height: 6px;
background: linear-gradient(135deg, #D2E8FF 60%, transparent 100%)
}

.cert-pg .certs-list-sec::after {
content: '';
display: block;
position: absolute;
bottom: -40px;
left: 0;
right: 0;
height: 40px;
background: #f5f9ff;
clip-path: polygon(0 0, 100% 0, 100% 0%, 0 100%);
z-index: 2
}

.cert-pg .cl-inner {
max-width: 1024px;
margin: 0 auto;
padding: 0 52px
}

.cert-pg .cl-top {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px;
align-items: end;
margin-bottom: 52px;
border-bottom: 1.5px solid #D2E8FF;
padding-bottom: 52px
}

.cert-pg .cl-top__shared {
grid-column: 1 / -1;
display: flex;
flex-direction: row;
align-items: center;
gap: 24px;
border-bottom: 2.5px solid #111;
padding-bottom: 12px;
margin-bottom: 12px
}

.cert-pg .cl-top__shared-line {
flex: 1;
height: 2px;
background: linear-gradient(to right, #F1403F, #D2E8FF)
}

.cert-pg .cl-top__shared-txt {
font-size: 15px;
line-height: 1.45;
letter-spacing: .1em;
color: #F1403F;
font-weight: 700;
text-transform: uppercase;
white-space: nowrap
}

.cert-pg .cl-col__h2 {
font-size: clamp(23px, 3vw, 43px);
line-height: 1.15;
letter-spacing: -.02em;
font-weight: 800;
color: #111;
margin: 0 0 12px
}

.cert-pg .cl-col__sub {
font-size: 15px;
line-height: 1.7;
color: #444;
margin: 0
}

.cert-pg .cl-col__sub strong {
color: #F1403F;
text-transform: uppercase;
font-size: 15px
}

.cert-pg .cert-stack {
display: flex;
flex-direction: column;
gap: 12px
}

.cert-pg .cert-item {
display: grid;
grid-template-columns: 52px 1fr auto;
gap: 24px;
align-items: start;
padding: 24px;
background: #fff;
border-radius: 32px;
box-shadow: 0 1px 5px -1px #04764f0f;
transition: box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1), transform .18s cubic-bezier(0.0, 0, 0.2, 1)
}

.cert-pg .cert-item:hover {
box-shadow: 0 6px 28px -1px #04764f1c;
transform: translateY(-2px)
}

.cert-pg .cert-item__icon-wrap {
width: 52px;
height: 52px;
border-radius: 0;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.cert-pg .cert-item__icon-wrap svg {
width: 32px;
height: 32px;
display: block
}

.cert-pg .cert-item--left .cert-item__icon-wrap {
order: 0
}

.cert-pg .cert-item--right .cert-item__icon-wrap {
order: 2
}

.cert-pg .cert-item--right {
grid-template-columns: 1fr auto 52px
}

.cert-pg .cert-item--right .cert-item__body {
order: 0
}

.cert-pg .cert-item--right .cert-item__badge {
order: 1
}

.cert-pg .cert-item__h {
font-size: 15px;
line-height: 1.45;
font-weight: 700;
color: #111;
margin: 0 0 6px
}

.cert-pg .cert-item__p {
font-size: 15px;
line-height: 1.7;
color: #555;
margin: 0
}

.cert-pg .cert-item__badge {
font-size: 15px;
line-height: 1.45;
font-weight: 700;
color: #04764F;
white-space: nowrap;
padding: 6px 12px;
border-radius: 32px;
background: #04764f14;
align-self: start;
flex-shrink: 0
}

.cert-pg .endorse-sec {
padding: 96px 0 52px;
background: #fff;
position: relative;
z-index: 3
}

.cert-pg .endorse-sec::before {
content: '';
display: block;
position: absolute;
inset: 0;
background: radial-gradient(ellipse 80% 60% at 50% 100%, #d2e8ff47 0%, transparent 70%);
pointer-events: none
}

.cert-pg .end-inner {
max-width: 1024px;
margin: 0 auto;
padding: 0 52px
}

.cert-pg .end-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 52px;
align-items: center
}

.cert-pg .end-img-col {
position: relative
}

.cert-pg .end-img-wrap {
border-radius: 32px;
overflow: hidden;
box-shadow: 0 8px 60px -1px #f1403f1a
}

.cert-pg .end-img-wrap img {
width: 100%;
height: 360px;
object-fit: cover;
object-position: center;
display: block
}

.cert-pg .end-deco-path {
position: absolute;
top: -24px;
right: -24px;
width: 120px;
height: 120px;
pointer-events: none
}

.cert-pg .end-deco-path svg {
width: 120px;
height: 120px
}

.cert-pg .end-txt-col {
display: flex;
flex-direction: column;
gap: 24px
}

.cert-pg .end-h2 {
font-size: clamp(23px, 3vw, 43px);
line-height: 1.15;
letter-spacing: -.02em;
font-weight: 800;
color: #111;
margin: 0
}

.cert-pg .end-p {
font-size: 15px;
line-height: 1.7;
color: #444;
margin: 0
}

.cert-pg .end-p strong {
color: #F1403F;
text-transform: uppercase
}

.cert-pg .end-reviews {
display: flex;
flex-direction: column;
gap: 12px
}

.cert-pg .review-card {
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start;
padding: 24px;
border-radius: 32px;
background: #f5f9ff;
box-shadow: 0 1px 5px -1px #04764f0f;
transition: box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.cert-pg .review-card:hover {
box-shadow: 0 6px 28px -1px #04764f1c
}

.cert-pg .review-card__portrait {
width: 52px;
height: 52px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0
}

.cert-pg .review-card__portrait img {
width: 52px;
height: 52px;
object-fit: cover;
object-position: top;
display: block
}

.cert-pg .review-card__body {
flex: 1
}

.cert-pg .review-card__name {
font-size: 15px;
line-height: 1.45;
font-weight: 700;
color: #111;
margin: 0 0 6px
}

.cert-pg .review-card__role {
font-size: 15px;
line-height: 1.45;
color: #04764F;
margin: 0 0 6px
}

.cert-pg .review-card__quote {
font-size: 15px;
line-height: 1.7;
color: #555;
margin: 0
}

.cert-pg .end-img2-col {
position: relative
}

.cert-pg .end-img2-wrap {
border-radius: 32px;
overflow: hidden;
box-shadow: 0 6px 28px -1px #04764f1c
}

.cert-pg .end-img2-wrap img {
width: 100%;
height: 280px;
object-fit: cover;
object-position: center;
display: block
}

.cert-pg .end-img2-wrap--appear {
animation: cert-appear .28s cubic-bezier(0.0, 0, 0.2, 1) both
}

@keyframes cert-appear {
from {
opacity: 0;
transform: scale(0.8)
}

80% {
transform: scale(1.03)
}

to {
opacity: 1;
transform: scale(1)
}
}

@media (max-width: 1024px) {
.cert-pg .cl-inner {
padding: 0 24px
}

.cert-pg .end-inner {
padding: 0 24px
}
}

@media (max-width: 768px) {
.cert-pg .pg-open {
grid-template-columns: 1fr
}

.cert-pg .pg-open__img-col {
height: 280px
}

.cert-pg .pg-open__txt {
padding: 52px 24px
}

.cert-pg .cl-top {
grid-template-columns: 1fr
}

.cert-pg .cl-top__shared {
grid-column: 1
}

.cert-pg .cert-item {
grid-template-columns: 40px 1fr
}

.cert-pg .cert-item--right {
grid-template-columns: 1fr 40px
}

.cert-pg .cert-item__badge {
display: none
}

.cert-pg .end-grid {
grid-template-columns: 1fr
}

.cert-pg .pg-open__stat-row {
flex-direction: column;
gap: 12px
}

.cert-pg .end-deco-path {
display: none
}
}

@media (max-width: 375px) {
.cert-pg .pg-open__h1 {
font-size: 43px
}

.cert-pg .cert-item {
grid-template-columns: 1fr
}

.cert-pg .cert-item--right {
grid-template-columns: 1fr
}

.cert-pg .certs-list-sec {
padding: 52px 0
}

.cert-pg .cl-inner {
padding: 0 12px
}

.cert-pg .end-inner {
padding: 0 12px
}

.cert-pg .endorse-sec {
padding: 52px 0 24px
}
}

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

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

::selection {
background: #111;
color: #fff
}

.abt__lead {
max-width: 1024px;
margin: 0 auto;
padding: 96px 24px 52px;
display: flex;
flex-direction: row;
align-items: center;
gap: 52px;
position: relative
}

.abt__lead-stripe {
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 100%;
background: linear-gradient(180deg, #F1403F, transparent);
pointer-events: none
}

.abt__lead-text {
flex: 1 1 0;
min-width: 0
}

.abt__lead-label {
font-size: 15px;
line-height: 1.45;
letter-spacing: .08em;
color: #04764F;
text-transform: uppercase;
margin-bottom: 12px;
display: block
}

.abt__lead-h1 {
font-size: 72px;
line-height: 1.15;
letter-spacing: -.03em;
color: #111;
font-weight: 800;
margin: 0 0 24px
}

.abt__lead-quote {
font-size: 23px;
line-height: 1.45;
letter-spacing: -.01em;
color: #444;
margin: 0 0 24px;
padding-bottom: 24px;
border-bottom: 1px solid #D2E8FF
}

.abt__lead-sub {
font-size: 15px;
line-height: 1.7;
color: #555;
margin: 0
}

.abt__lead-sub span:first-child {
text-transform: uppercase;
color: #F1403F;
font-weight: 700
}

.abt__lead-card {
flex: 0 0 280px;
width: 280px;
border-radius: 32px;
overflow: hidden;
position: relative;
box-shadow: 0 6px 28px -1px #f1403f1c
}

.abt__lead-img {
width: 100%;
aspect-ratio: 7/9;
object-fit: cover;
object-position: top;
display: block;
filter: saturate(1.1) brightness(1.04) sepia(0.08);
transition: filter .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt__lead-card:hover .abt__lead-img {
filter: saturate(1.2) brightness(1.06) sepia(0.12)
}

.abt__lead-decor {
position: absolute;
bottom: -32px;
right: -32px;
width: 96px;
height: 96px;
border-radius: 0;
pointer-events: none;
overflow: hidden
}

.abt__lead-decor svg {
width: 100%;
height: 100%;
opacity: .09
}

.abt__divider-a {
width: 100%;
overflow: hidden;
line-height: 0;
height: 32px
}

.abt__divider-a svg {
display: block;
width: 100%
}

.abt__about {
background: #f4f9ff;
position: relative;
padding: 96px 24px
}

.abt__about-pattern {
position: absolute;
top: 0;
right: 0;
width: 220px;
height: 220px;
pointer-events: none;
overflow: hidden;
opacity: .07
}

.abt__about-pattern svg {
width: 100%;
height: 100%
}

.abt__about-inner {
max-width: 1024px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr 2fr;
gap: 24px;
align-items: start
}

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

.abt__stat {
background: #fff;
border-radius: 32px;
padding: 24px;
box-shadow: 0 1px 5px -1px #04764f0f;
transition: box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt__stat:hover {
box-shadow: 0 6px 28px -1px #04764f1c
}

.abt__stat-val {
font-size: 43px;
line-height: 1.15;
letter-spacing: -.02em;
color: #F1403F;
font-weight: 800;
display: block
}

.abt__stat-line {
width: 32px;
height: 1px;
background: #D2E8FF;
margin: 12px 0
}

.abt__stat-desc {
font-size: 15px;
line-height: 1.45;
color: #444;
margin: 0
}

.abt__about-main {
display: flex;
flex-direction: column;
gap: 24px
}

.abt__about-h2 {
font-size: 43px;
line-height: 1.15;
letter-spacing: -.02em;
color: #111;
font-weight: 800;
margin: 0
}

.abt__about-p {
font-size: 15px;
line-height: 1.7;
color: #444;
margin: 0
}

.abt__about-p span:first-child {
text-transform: uppercase;
color: #04764F;
font-weight: 700
}

.abt__about-ring {
position: relative;
width: 100%;
aspect-ratio: 1;
max-width: 320px;
margin: 0 auto
}

.abt__ring-center {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 44%;
height: 44%;
border-radius: 32px;
background: #04764F;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
z-index: 2
}

.abt__ring-center-txt {
font-size: 15px;
line-height: 1.15;
color: #fff;
font-weight: 700;
text-align: center
}

.abt__ring-circle {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 50%;
border: 1px dashed #04764f33;
pointer-events: none
}

.abt__ring-item {
position: absolute;
width: 72px;
height: 72px;
background: #fff;
border-radius: 32px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
box-shadow: 0 1px 5px -1px #f1403f0f;
transition: box-shadow .18s cubic-bezier(0.0, 0, 0.2, 1), transform .18s cubic-bezier(0.0, 0, 0.2, 1);
cursor: default
}

.abt__ring-item:hover {
box-shadow: 0 6px 28px -1px #f1403f1c;
transform: scale(1.07)
}

.abt__ring-item-lbl {
font-size: 15px;
line-height: 1.15;
color: #111;
font-weight: 700;
margin-top: 4px;
text-align: center
}

.abt__ring-item svg {
width: 22px;
height: 22px
}

.abt__ring-item--n {
top: 0;
left: 50%;
transform: translateX(-50%)
}

.abt__ring-item--ne {
top: 14%;
right: 6%
}

.abt__ring-item--se {
bottom: 14%;
right: 6%
}

.abt__ring-item--s {
bottom: 0;
left: 50%;
transform: translateX(-50%)
}

.abt__ring-item--sw {
bottom: 14%;
left: 6%
}

.abt__ring-item--nw {
top: 14%;
left: 6%
}

.abt__ring-item--n:hover,
.abt__ring-item--s:hover {
transform: translateX(-50%) scale(1.07)
}

.abt__divider-b {
width: 100%;
overflow: hidden;
line-height: 0;
height: 32px
}

.abt__divider-b svg {
display: block;
width: 100%
}

.abt__team {
max-width: 1024px;
margin: 0 auto;
padding: 96px 24px;
position: relative
}

.abt__team-curl {
position: absolute;
bottom: 24px;
right: 24px;
width: 80px;
height: 80px;
pointer-events: none;
opacity: .08;
overflow: hidden
}

.abt__team-curl svg {
width: 100%;
height: 100%
}

.abt__team-h2 {
font-size: 43px;
line-height: 1.15;
letter-spacing: -.02em;
color: #111;
font-weight: 800;
margin: 0 0 52px;
max-width: 520px
}

.abt__team-grid {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start
}

.abt__team-portraits {
display: flex;
flex-direction: column;
gap: 24px;
flex: 0 0 200px
}

.abt__portrait {
border-radius: 32px;
overflow: hidden;
box-shadow: 0 1px 5px -1px #f1403f0f;
transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
position: relative
}

.abt__portrait:hover {
box-shadow: 0 8px 60px -1px #f1403f1a
}

.abt__portrait-img {
width: 200px;
height: 256px;
object-fit: cover;
object-position: top;
display: block
}

.abt__portrait-cap {
padding: 12px;
background: #fff
}

.abt__portrait-name {
font-size: 15px;
line-height: 1.45;
color: #111;
font-weight: 700;
margin: 0
}

.abt__portrait-role {
font-size: 15px;
line-height: 1.45;
color: #04764F;
margin: 0
}

.abt__team-detail {
flex: 1 1 0;
min-width: 0;
display: flex;
flex-direction: column;
gap: 24px
}

.abt__team-img-wrap {
border-radius: 32px;
overflow: hidden;
box-shadow: 0 6px 28px -1px #04764f1c
}

.abt__team-img {
width: 100%;
height: 240px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1)
}

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

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

.abt__method-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
background: #fff;
border-radius: 32px;
padding: 24px;
box-shadow: 0 1px 5px -1px #f1403f0f;
transition: box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden
}

.abt__method-item::after {
content: '';
position: absolute;
top: 0;
right: 0;
width: 0;
height: 100%;
background: linear-gradient(270deg, #d2e8ff73, transparent);
transition: width .22s cubic-bezier(0.4, 0, 0.2, 1);
pointer-events: none
}

.abt__method-item:hover::after {
width: 100%
}

.abt__method-item:hover {
box-shadow: 0 6px 28px -1px #f1403f1c
}

.abt__method-icon {
flex: 0 0 36px;
width: 36px;
height: 36px;
border-radius: 0;
display: flex;
align-items: center;
justify-content: center
}

.abt__method-icon svg {
width: 24px;
height: 24px
}

.abt__method-text {
flex: 1 1 0;
min-width: 0
}

.abt__method-h4 {
font-size: 15px;
line-height: 1.45;
font-weight: 700;
color: #111;
margin: 0 0 6px
}

.abt__method-p {
font-size: 15px;
line-height: 1.7;
color: #555;
margin: 0
}

.abt__code-wrap {
border-radius: 32px;
overflow: hidden;
box-shadow: 0 6px 28px -1px #04764f1c;
display: flex;
flex-direction: row;
background: #111
}

.abt__code-block {
flex: 1 1 0;
padding: 24px;
background: #181c1f
}

.abt__code-bar {
display: flex;
flex-direction: row;
gap: 6px;
margin-bottom: 12px
}

.abt__code-dot {
width: 10px;
height: 10px;
border-radius: 50%
}

.abt__code-dot--r {
background: #F1403F
}

.abt__code-dot--y {
background: #f0b429
}

.abt__code-dot--g {
background: #04764F
}

.abt__code-pre {
font-size: 15px;
line-height: 1.7;
color: #b8d4ff;
margin: 0;
white-space: pre-wrap;
word-break: break-word
}

.abt__code-kw {
color: #F1403F
}

.abt__code-str {
color: #7ecb8f
}

.abt__code-cm {
color: #6a8a7a
}

.abt__code-output {
flex: 1 1 0;
padding: 24px;
background: #1e2620;
display: flex;
flex-direction: column;
justify-content: center;
gap: 12px
}

.abt__code-out-lbl {
font-size: 15px;
line-height: 1.45;
color: #04764F;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase
}

.abt__code-out-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px
}

.abt__code-out-dot {
width: 8px;
height: 8px;
border-radius: 50%;
background: #04764F;
flex: 0 0 8px
}

.abt__code-out-txt {
font-size: 15px;
line-height: 1.45;
color: #c8e6c9;
margin: 0
}

.abt__reveal {
animation: abt-expand .28s cubic-bezier(0.4, 0, 0.2, 1) both
}

@keyframes abt-expand {
from {
transform: scaleY(0);
transform-origin: top;
opacity: 0
}

to {
transform: scaleY(1);
transform-origin: top;
opacity: 1
}
}

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

.abt__lead-h1 {
font-size: 43px
}

.abt__lead-card {
flex: 0 0 auto;
width: 100%;
max-width: 320px;
margin: 0 auto
}

.abt__about-inner {
grid-template-columns: 1fr 1fr
}

.abt__about-ring {
display: none
}

.abt__team-grid {
flex-direction: column
}

.abt__team-portraits {
flex-direction: row;
flex: 0 0 auto;
width: 100%
}

.abt__portrait-img {
width: 100%;
height: 200px
}

.abt__code-wrap {
flex-direction: column
}
}

@media (max-width: 375px) {
.abt__lead-h1 {
font-size: 43px
}

.abt__about-inner {
grid-template-columns: 1fr
}

.abt__stat-col {
flex-direction: row;
flex-wrap: wrap
}

.abt__team-portraits {
flex-direction: column
}
}

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

.frst .pg-col {
max-width: 1024px;
margin-left: auto;
margin-right: auto;
padding-left: 24px;
padding-right: 24px
}

.frst .strk-deco {
display: flex;
flex-direction: column;
gap: 6px;
position: absolute;
top: 52px;
right: 52px
}

.frst .strk-deco span {
display: block;
height: 2px;
background: #f1403f2e;
border-radius: 0
}

.frst .strk-deco span:nth-child(1) {
width: 36px
}

.frst .strk-deco span:nth-child(2) {
width: 24px
}

.frst .strk-deco span:nth-child(3) {
width: 30px
}

.frst .strk-deco span:nth-child(4) {
width: 18px
}

.frst .ttl-blk {
position: relative;
background: linear-gradient(160deg, #D2E8FF 0%, transparent 100%);
padding-top: 96px;
padding-bottom: 52px;
overflow: hidden
}

.frst .ttl-blk__bg-num {
position: absolute;
bottom: -24px;
left: -12px;
font-size: clamp(120px, 20vw, 220px);
font-weight: 900;
color: #04764f0d;
line-height: 1.15;
letter-spacing: -.04em;
pointer-events: none;
user-select: none;
z-index: 0
}

.frst .ttl-blk__body {
position: relative;
z-index: 1
}

.frst .ttl-blk__kicker {
font-size: 15px;
line-height: 1.45;
letter-spacing: .08em;
color: #04764F;
text-transform: uppercase;
margin-bottom: 24px;
font-weight: 600
}

.frst .ttl-blk__h1 {
font-size: clamp(43px, 6vw, 72px);
line-height: 1.15;
letter-spacing: -.03em;
color: #111;
font-weight: 900;
margin-bottom: 24px;
max-width: 720px
}

.frst .ttl-blk__h1 mark {
background: none;
color: inherit;
text-decoration: underline;
text-decoration-color: #F1403F;
text-underline-offset: 6px;
text-decoration-thickness: 3px
}

.frst .ttl-blk__sub {
font-size: 23px;
line-height: 1.45;
letter-spacing: -.01em;
color: #222;
max-width: 560px;
margin-bottom: 52px
}

.frst .ttl-blk__meta {
display: flex;
flex-direction: row;
gap: 24px;
flex-wrap: wrap;
align-items: center
}

.frst .ttl-meta__item {
display: flex;
flex-direction: column;
gap: 6px
}

.frst .ttl-meta__label {
font-size: 15px;
line-height: 1.45;
letter-spacing: .04em;
color: #555;
text-transform: uppercase
}

.frst .ttl-meta__val {
font-size: 23px;
line-height: 1.15;
letter-spacing: -.02em;
color: #111;
font-weight: 700
}

.frst .ttl-meta__div {
width: 1px;
height: 40px;
background: #04764f33
}

.frst .avail-sec {
padding-top: 96px;
padding-bottom: 96px;
background: #fff
}

.frst .avail-sec__top {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 52px;
align-items: start;
margin-bottom: 52px
}

.frst .avail-sec__eyebrow {
font-size: 15px;
line-height: 1.45;
letter-spacing: .06em;
text-transform: uppercase;
color: #F1403F;
font-weight: 600;
margin-bottom: 12px
}

.frst .avail-sec__h2 {
font-size: clamp(43px, 4.5vw, 43px);
line-height: 1.15;
letter-spacing: -.025em;
color: #111;
font-weight: 800
}

.frst .avail-sec__desc {
font-size: 15px;
line-height: 1.7;
color: #333;
padding-top: 12px
}

.frst .avail-sec__desc strong {
color: #04764F;
text-transform: uppercase;
font-weight: 700
}

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

.frst .avail-card {
border: 1.5px solid #D2E8FF;
border-radius: 32px;
padding: 24px;
background: #fff;
box-shadow: 0 1px 5px -1px #f1403f0f;
transition: box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .18s cubic-bezier(0.4, 0, 0.2, 1);
display: flex;
flex-direction: column;
gap: 12px
}

.frst .avail-card:hover {
box-shadow: 0 6px 28px -1px #f1403f1c;
border-color: #04764f4d
}

.frst .avail-card__icon {
width: 40px;
height: 40px;
border-radius: 0;
display: flex;
align-items: center;
justify-content: center
}

.frst .avail-card__icon svg {
width: 28px;
height: 28px
}

.frst .avail-card__h4 {
font-size: 15px;
line-height: 1.45;
letter-spacing: -.01em;
color: #111;
font-weight: 700
}

.frst .avail-card__p {
font-size: 15px;
line-height: 1.7;
color: #444;
margin: 0
}

.frst .avail-card__p strong {
color: #F1403F;
text-transform: uppercase;
font-weight: 700
}

.frst .avail-img-row {
display: grid;
grid-template-columns: 3fr 2fr;
gap: 24px;
margin-top: 52px
}

.frst .avail-img-wrap {
border-radius: 32px;
overflow: hidden;
aspect-ratio: 16/9
}

.frst .avail-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.frst .avail-img-wrap:hover img {
transform: scale(1.03)
}

.frst .avail-stat-box {
border-radius: 32px;
background: linear-gradient(160deg, #D2E8FF 0%, transparent 100%);
padding: 52px 24px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px
}

.frst .avail-stat__num {
font-size: clamp(43px, 6vw, 72px);
line-height: 1.15;
letter-spacing: -.04em;
color: #04764F;
font-weight: 900
}

.frst .avail-stat__desc {
font-size: 15px;
line-height: 1.7;
color: #333
}

.frst .exp-sec {
padding-top: 96px;
padding-bottom: 96px;
background: #111;
position: relative
}

.frst .exp-sec__bg-img {
position: absolute;
inset: 0;
z-index: 0
}

.frst .exp-sec__bg-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
opacity: .18
}

.frst .exp-sec__body {
position: relative;
z-index: 1
}

.frst .exp-sec__eyebrow {
font-size: 15px;
line-height: 1.45;
letter-spacing: .06em;
text-transform: uppercase;
color: #D2E8FF;
font-weight: 600;
margin-bottom: 12px
}

.frst .exp-sec__h2 {
font-size: clamp(43px, 4.5vw, 43px);
line-height: 1.15;
letter-spacing: -.025em;
color: #fff;
font-weight: 800;
max-width: 560px;
margin-bottom: 52px
}

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

.frst .exp-quote-col {
display: flex;
flex-direction: column;
gap: 24px
}

.frst .exp-quote {
border-radius: 32px;
background: #d2e8ff12;
border: 1.5px solid #d2e8ff26;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px
}

.frst .exp-quote__text {
font-size: 15px;
line-height: 1.7;
color: #e8e8e8;
font-style: italic
}

.frst .exp-quote__text strong {
color: #D2E8FF;
text-transform: uppercase;
font-style: normal;
font-weight: 700
}

.frst .exp-quote__person {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px
}

.frst .exp-portrait {
width: 48px;
height: 48px;
border-radius: 0;
overflow: hidden;
flex-shrink: 0
}

.frst .exp-portrait img {
width: 48px;
height: 48px;
object-fit: cover;
object-position: top;
display: block
}

.frst .exp-quote__name {
font-size: 15px;
line-height: 1.45;
color: #fff;
font-weight: 600
}

.frst .exp-quote__role {
font-size: 15px;
line-height: 1.45;
color: #aaa
}

.frst .exp-timeline-col {
display: flex;
flex-direction: column;
gap: 0
}

.frst .exp-tl {
position: relative;
padding-left: 24px;
padding-bottom: 24px
}

.frst .exp-tl::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 2px;
background: #f1403f4d
}

.frst .exp-tl__dot {
position: absolute;
left: -5px;
top: 6px;
width: 12px;
height: 12px;
border-radius: 0;
background: #F1403F
}

.frst .exp-tl__step {
font-size: 15px;
line-height: 1.45;
letter-spacing: .04em;
text-transform: uppercase;
color: #F1403F;
font-weight: 700;
margin-bottom: 6px
}

.frst .exp-tl__h5 {
font-size: 15px;
line-height: 1.45;
color: #fff;
font-weight: 700;
margin-bottom: 6px
}

.frst .exp-tl__p {
font-size: 15px;
line-height: 1.7;
color: #bbb;
margin: 0
}

.frst .fit-sec {
padding-top: 96px;
padding-bottom: 96px;
background: #fff
}

.frst .fit-sec__top {
display: grid;
grid-template-columns: 5fr 4fr;
gap: 52px;
align-items: start;
margin-bottom: 52px
}

.frst .fit-sec__eyebrow {
font-size: 15px;
line-height: 1.45;
letter-spacing: .06em;
text-transform: uppercase;
color: #04764F;
font-weight: 600;
margin-bottom: 12px
}

.frst .fit-sec__h2 {
font-size: clamp(43px, 4.5vw, 43px);
line-height: 1.15;
letter-spacing: -.025em;
color: #111;
font-weight: 800;
margin-bottom: 24px
}

.frst .fit-sec__desc {
font-size: 15px;
line-height: 1.7;
color: #333
}

.frst .fit-sec__desc strong {
color: #F1403F;
text-transform: uppercase;
font-weight: 700
}

.frst .fit-img-wrap {
border-radius: 32px;
overflow: hidden;
aspect-ratio: 4/3
}

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

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

.frst .fit-col {
border-radius: 32px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px
}

.frst .fit-col--yes {
background: #04764f0f;
border: 1.5px solid #04764f26
}

.frst .fit-col--no {
background: #f1403f0d;
border: 1.5px solid #f1403f21
}

.frst .fit-col__h5 {
font-size: 15px;
line-height: 1.45;
font-weight: 700;
letter-spacing: .04em;
text-transform: uppercase;
margin-bottom: 6px
}

.frst .fit-col--yes .fit-col__h5 {
color: #04764F
}

.frst .fit-col--no .fit-col__h5 {
color: #F1403F
}

.frst .fit-col__item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
font-size: 15px;
line-height: 1.7;
color: #333
}

.frst .fit-col__item-dot {
width: 8px;
height: 8px;
border-radius: 0;
flex-shrink: 0;
margin-top: 6px
}

.frst .fit-col--yes .fit-col__item-dot {
background: #04764F
}

.frst .fit-col--no .fit-col__item-dot {
background: #F1403F
}

.frst .sup-sec {
padding-top: 96px;
padding-bottom: 96px;
background: linear-gradient(160deg, #D2E8FF 0%, transparent 60%);
position: relative
}

.frst .sup-sec__strk {
display: flex;
flex-direction: column;
gap: 6px;
position: absolute;
bottom: 52px;
left: 52px
}

.frst .sup-sec__strk span {
display: block;
height: 2px;
background: #04764f26;
border-radius: 0
}

.frst .sup-sec__strk span:nth-child(1) {
width: 42px
}

.frst .sup-sec__strk span:nth-child(2) {
width: 28px
}

.frst .sup-sec__strk span:nth-child(3) {
width: 35px
}

.frst .sup-sec__strk span:nth-child(4) {
width: 20px
}

.frst .sup-complex {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 52px;
align-items: start
}

.frst .sup-left {
display: flex;
flex-direction: column;
gap: 24px
}

.frst .sup-eyebrow {
font-size: 15px;
line-height: 1.45;
letter-spacing: .06em;
text-transform: uppercase;
color: #04764F;
font-weight: 600
}

.frst .sup-h2 {
font-size: clamp(43px, 4.5vw, 43px);
line-height: 1.15;
letter-spacing: -.025em;
color: #111;
font-weight: 800
}

.frst .sup-desc {
font-size: 15px;
line-height: 1.7;
color: #333
}

.frst .sup-desc strong {
color: #04764F;
text-transform: uppercase;
font-weight: 700
}

.frst .sup-cert-link {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 12px 24px;
border-radius: 32px;
border: 2px solid #04764F;
color: #04764F;
font-size: 15px;
font-weight: 700;
letter-spacing: .02em;
text-decoration: none;
transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), border-color .18s cubic-bezier(0.0, 0, 0.2, 1);
align-self: flex-start
}

.frst .sup-cert-link:hover {
background: #04764f12;
border-color: #02503a
}

.frst .sup-cert-link:focus {
outline: 3px solid #04764F;
outline-offset: 3px
}

.frst .sup-right {
display: flex;
flex-direction: column;
gap: 24px
}

.frst .sup-item {
border-radius: 32px;
background: #fff;
box-shadow: 0 1px 5px -1px #04764f0f;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
transition: box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.frst .sup-item:hover {
box-shadow: 0 6px 28px -1px #04764f1c
}

.frst .sup-item__h5 {
font-size: 15px;
line-height: 1.45;
color: #111;
font-weight: 700;
display: flex;
align-items: center;
gap: 12px
}

.frst .sup-item__ico {
width: 20px;
height: 20px;
flex-shrink: 0
}

.frst .sup-item__p {
font-size: 15px;
line-height: 1.7;
color: #444;
margin: 0
}

.frst .sup-item__p strong {
color: #F1403F;
text-transform: uppercase;
font-weight: 700
}

.frst .grad-div {
height: 2px;
background: linear-gradient(to right, #F1403F 0%, transparent 70%);
border: none;
margin: 0
}

.frst .grad-div--green {
background: linear-gradient(to right, #04764F 0%, transparent 70%)
}

.frst .col-reveal {
opacity: 0;
transform: translateY(18px);
animation: colReveal .55s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

.frst .col-reveal--1 {
animation-delay: .05s
}

.frst .col-reveal--2 {
animation-delay: .18s
}

.frst .col-reveal--3 {
animation-delay: .31s
}

.frst .col-reveal--4 {
animation-delay: .44s
}

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

@media (max-width: 768px) {
.frst .strk-deco {
top: 24px;
right: 24px
}

.frst .ttl-blk {
padding-top: 52px;
padding-bottom: 52px
}

.frst .avail-sec__top {
grid-template-columns: 1fr;
gap: 24px
}

.frst .avail-grid {
grid-template-columns: 1fr;
gap: 12px
}

.frst .avail-img-row {
grid-template-columns: 1fr
}

.frst .exp-layout {
grid-template-columns: 1fr;
gap: 24px
}

.frst .fit-sec__top {
grid-template-columns: 1fr;
gap: 24px
}

.frst .fit-split {
grid-template-columns: 1fr
}

.frst .sup-complex {
grid-template-columns: 1fr;
gap: 24px
}

.frst .sup-sec__strk {
bottom: 24px;
left: 24px
}
}

@media (max-width: 375px) {
.frst .ttl-blk__h1 {
font-size: 43px
}

.frst .ttl-meta__div {
display: none
}

.frst .ttl-blk__meta {
gap: 12px
}
}

.ctc-us {
background: #fff;
color: #1b1b1b;
overflow-x: clip
}

.ctc-us .pg-open {
padding: 96px 24px 52px;
position: relative;
background: #f4f9ff;
overflow: hidden
}

.ctc-us .pg-open__decor {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
background: radial-gradient(ellipse at 60% 40%, #D2E8FF 0%, transparent 70%);
opacity: .55
}

.ctc-us .pg-open__geo {
position: absolute;
top: 18px;
right: 8%;
width: 220px;
height: 220px;
border: 1.5px solid #D2E8FF;
border-radius: 0;
opacity: .35;
transform: rotate(18deg);
pointer-events: none
}

.ctc-us .pg-open__geo--sm {
width: 90px;
height: 90px;
top: 60px;
right: 12%;
border-color: #F1403F;
opacity: .13;
transform: rotate(40deg)
}

.ctc-us .pg-open__inner {
max-width: 1024px;
margin: 0 auto;
position: relative;
z-index: 1
}

.ctc-us .pg-open__label {
display: inline-block;
width: 36px;
height: 3px;
background: #F1403F;
margin-bottom: 24px
}

.ctc-us .pg-open__h1 {
font-size: clamp(43px, 6vw, 72px);
line-height: 1.15;
letter-spacing: -.03em;
font-weight: 800;
color: #111;
margin: 0 0 24px;
max-width: 640px
}

.ctc-us .pg-open__h1 span {
color: #F1403F
}

.ctc-us .pg-open__desc {
font-size: 15px;
line-height: 1.7;
color: #3a3a3a;
max-width: 480px;
margin: 0
}

.ctc-us .pg-open__desc strong {
color: #04764F;
font-weight: 600;
text-transform: uppercase;
font-size: 13px;
letter-spacing: .06em
}

.ctc-us .reach-strip {
padding: 52px 24px;
background: #fff;
border-bottom: 1px solid #e8eef5
}

.ctc-us .reach-strip__inner {
max-width: 1024px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 52px;
align-items: flex-start
}

.ctc-us .reach-strip__col {
flex: 1 1 0;
min-width: 0
}

.ctc-us .reach-strip__col--img {
flex: 0 0 260px;
max-width: 260px
}

.ctc-us .reach-img-wrap {
width: 100%;
height: 200px;
border-radius: 0;
overflow: hidden;
box-shadow: 0 6px 28px -1px #f1403f1c;
position: relative
}

.ctc-us .reach-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
opacity: .18;
filter: grayscale(1) sepia(0.3) contrast(1.1);
transition: filter 2.8s cubic-bezier(0.4, 0, 0.2, 1), opacity 2.8s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctc-us .reach-img-wrap:hover img {
filter: grayscale(0) sepia(0) contrast(1);
opacity: .72
}

.ctc-us .reach-img-wrap__over {
position: absolute;
inset: 0;
background: linear-gradient(160deg, #D2E8FF 0%, transparent 100%);
opacity: .45;
pointer-events: none
}

.ctc-us .reach-strip__sub {
font-size: 15px;
line-height: 1.45;
color: #444;
margin: 0 0 24px
}

.ctc-us .reach-strip__sub strong {
color: #F1403F;
text-transform: uppercase;
font-size: 12px;
letter-spacing: .07em
}

.ctc-us .reach-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
margin-bottom: 24px
}

.ctc-us .reach-item:last-child {
margin-bottom: 0
}

.ctc-us .reach-item__icon {
flex: 0 0 32px;
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 0;
background: #D2E8FF;
box-shadow: 0 1px 5px -1px #04764f0f
}

.ctc-us .reach-item__icon svg {
width: 16px;
height: 16px
}

.ctc-us .reach-item__body {
flex: 1 1 0
}

.ctc-us .reach-item__lbl {
font-size: 15px;
font-weight: 700;
color: #111;
line-height: 1.15;
margin-bottom: 6px
}

.ctc-us .reach-item__val {
font-size: 15px;
line-height: 1.45;
color: #3a3a3a;
word-break: break-word
}

.ctc-us .reach-item__val a {
color: #04764F;
text-decoration: none;
transition: color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctc-us .reach-item__val a:hover {
color: #F1403F
}

.ctc-us .reach-strip__heading {
font-size: clamp(23px, 3.5vw, 43px);
line-height: 1.15;
letter-spacing: -.02em;
font-weight: 800;
color: #111;
margin: 0 0 24px
}

.ctc-us .reach-strip__heading::before {
content: "";
display: block;
width: 28px;
height: 3px;
background: #04764F;
margin-bottom: 12px
}

.ctc-us .form-band {
padding: 96px 24px;
background: #f4f9ff;
position: relative;
overflow: hidden
}

.ctc-us .form-band__bg {
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 30% 70%, #D2E8FF 0%, transparent 65%);
opacity: .4;
pointer-events: none
}

.ctc-us .form-band__pulse {
position: absolute;
bottom: -60px;
right: -60px;
width: 260px;
height: 260px;
border: 1.5px solid #D2E8FF;
border-radius: 32px;
opacity: .22;
pointer-events: none;
animation: geo-pulse 5s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate
}

@keyframes geo-pulse {
0% {
transform: scale(1) rotate(0deg);
opacity: .22
}

100% {
transform: scale(1.08) rotate(8deg);
opacity: .14
}
}

.ctc-us .form-band__inner {
max-width: 1024px;
margin: 0 auto;
position: relative;
z-index: 1;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 52px;
align-items: start
}

.ctc-us .form-band__aside {
padding-top: 12px
}

.ctc-us .form-band__tag {
display: inline-block;
width: 28px;
height: 3px;
background: #F1403F;
margin-bottom: 12px
}

.ctc-us .form-band__h2 {
font-size: clamp(23px, 3vw, 43px);
line-height: 1.15;
letter-spacing: -.02em;
font-weight: 800;
color: #111;
margin: 0 0 24px
}

.ctc-us .form-band__note {
font-size: 15px;
line-height: 1.7;
color: #3a3a3a;
margin: 0 0 24px
}

.ctc-us .form-band__note strong {
color: #04764F;
text-transform: uppercase;
font-size: 12px;
letter-spacing: .07em
}

.ctc-us .form-band__meta {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px
}

.ctc-us .form-band__meta-item {
background: #fff;
border-radius: 0;
padding: 12px;
box-shadow: 0 1px 5px -1px #f1403f0f
}

.ctc-us .form-band__meta-item dt {
font-size: 15px;
font-weight: 700;
color: #111;
line-height: 1.15;
margin-bottom: 6px
}

.ctc-us .form-band__meta-item dd {
font-size: 15px;
line-height: 1.45;
color: #555;
margin: 0
}

.ctc-us .frm {
background: #fff;
border-radius: 32px;
padding: 52px;
box-shadow: 0 8px 60px -1px #f1403f1a
}

.ctc-us .frm__h3 {
font-size: 23px;
line-height: 1.15;
font-weight: 800;
letter-spacing: -.015em;
color: #111;
margin: 0 0 24px
}

.ctc-us .frm__row {
margin-bottom: 24px
}

.ctc-us .frm__lbl {
display: block;
font-size: 15px;
font-weight: 600;
color: #222;
line-height: 1.45;
margin-bottom: 6px;
letter-spacing: .01em
}

.ctc-us .frm__input {
display: block;
width: 100%;
padding: 12px;
font-size: 15px;
line-height: 1.45;
color: #111;
background: #f4f9ff;
border: 1.5px solid #c8dff5;
border-radius: 0;
box-shadow: inset 0 1px 4px #04764f0f;
outline: none;
transition: border-color .18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.0, 0, 0.2, 1);
box-sizing: border-box;
text-overflow: ellipsis
}

.ctc-us .frm__input::placeholder {
color: #8faabb;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap
}

.ctc-us .frm__input:focus {
border-color: #04764F;
box-shadow: inset 0 1px 4px #04764f1a 0 0 0 2px #04764f1a
}

.ctc-us .frm__radio-group {
display: flex;
flex-direction: column;
gap: 6px
}

.ctc-us .frm__radio-opt {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
cursor: pointer;
padding: 12px;
border-radius: 0;
border: 1.5px solid #c8dff5;
background: #f4f9ff;
transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctc-us .frm__radio-opt:hover {
border-color: #04764F;
background: #edf7f3
}

.ctc-us .frm__radio-opt input[type="radio"] {
width: 18px;
height: 18px;
accent-color: #04764F;
cursor: pointer;
flex-shrink: 0
}

.ctc-us .frm__radio-opt input[type="radio"]:focus-visible {
outline: 2px solid #F1403F;
outline-offset: 2px
}

.ctc-us .frm__radio-txt {
font-size: 15px;
line-height: 1.45;
color: #222
}

.ctc-us .frm__privacy {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
margin-bottom: 24px
}

.ctc-us .frm__privacy input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: #04764F;
flex-shrink: 0;
margin-top: 2px;
cursor: pointer
}

.ctc-us .frm__privacy input[type="checkbox"]:focus-visible {
outline: 2px solid #F1403F;
outline-offset: 2px
}

.ctc-us .frm__privacy-txt {
font-size: 15px;
line-height: 1.7;
color: #444
}

.ctc-us .frm__privacy-txt a {
color: #04764F;
text-decoration: underline;
text-underline-offset: 2px;
transition: color .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctc-us .frm__privacy-txt a:hover {
color: #F1403F
}

.ctc-us .frm__btn {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 12px;
padding: 12px 52px;
font-size: 15px;
font-weight: 700;
line-height: 1.45;
letter-spacing: .03em;
color: #fff;
background: #04764F;
border: 2px solid #04764F;
border-radius: 0;
cursor: pointer;
box-shadow: 0 6px 28px -1px #04764f1c;
transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1), background .22s cubic-bezier(0.4, 0, 0.2, 1);
outline: none
}

.ctc-us .frm__btn:hover {
border-color: #F1403F;
background: #04764F
}

.ctc-us .frm__btn:focus-visible {
outline: 2px solid #F1403F;
outline-offset: 3px
}

.ctc-us .frm__btn:active {
background: #035c3d;
border-color: #035c3d
}

.ctc-us .frm__divider {
border: none;
border-top: 1.5px dotted #c8dff5;
margin: 24px 0
}

@media (max-width: 768px) {
.ctc-us .form-band__inner {
grid-template-columns: 1fr;
gap: 24px
}

.ctc-us .reach-strip__inner {
flex-direction: column;
gap: 24px
}

.ctc-us .reach-strip__col--img {
flex: none;
max-width: 100%;
width: 100%
}

.ctc-us .frm {
padding: 24px
}

.ctc-us .pg-open {
padding: 52px 24px
}

.ctc-us .form-band {
padding: 52px 24px
}

.ctc-us .form-band__meta {
grid-template-columns: 1fr
}
}

@media (max-width: 375px) {
.ctc-us .pg-open__h1 {
font-size: 43px
}

.ctc-us .frm {
padding: 24px 12px;
border-radius: 0
}

.ctc-us .frm__btn {
width: 100%;
justify-content: center;
padding: 12px 24px
}

.ctc-us .form-band__h2 {
font-size: 23px
}
}

.ctc-us .wave-div {
width: 100%;
overflow: hidden;
line-height: 0;
height: 28px;
position: relative
}

.ctc-us .wave-div svg {
display: block;
width: 100%;
height: 28px
}

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

.succ-page .succ-card {
max-width: 1024px;
width: 100%;
background: #f4fbf8;
border-radius: 32px;
padding: 52px;
box-shadow: 0 6px 28px -1px #04764f1c;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 24px
}

.succ-page .succ-card__icon {
width: 56px;
height: 56px;
flex-shrink: 0
}

.succ-page .succ-card__icon circle {
fill: #04764F
}

.succ-page .succ-card__icon path {
stroke: #fff;
fill: none;
stroke-width: 2.5;
stroke-linecap: round;
stroke-linejoin: round
}

.succ-page .succ-card__label {
font-size: 15px;
line-height: 1.45;
letter-spacing: .06em;
color: #04764F;
font-weight: 600;
text-transform: uppercase;
margin: 0
}

.succ-page .succ-card__heading {
font-size: 43px;
line-height: 1.15;
letter-spacing: -.02em;
color: #111;
font-weight: 700;
margin: 0
}

.succ-page .succ-card__heading span {
color: #04764F
}

.succ-page .succ-card__body {
font-size: 15px;
line-height: 1.7;
color: #2a2a2a;
margin: 0;
max-width: 560px
}

.succ-page .succ-card__divider {
width: 48px;
height: 3px;
background: #D2E8FF;
border-radius: 0
}

.succ-page .succ-card__actions {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap
}

.succ-page .succ-btn--primary {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 12px 24px;
background: #04764F;
color: #fff;
font-size: 15px;
font-weight: 600;
line-height: 1.45;
border-radius: 0;
border: 2px solid #04764F;
text-decoration: none;
cursor: pointer;
transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.succ-page .succ-btn--primary:hover,
.succ-page .succ-btn--primary:focus {
border-color: #035c3d;
background: #035c3d;
outline: none
}

.succ-page .succ-btn--primary:active {
background: #024d33;
border-color: #024d33
}

.succ-page .succ-btn--secondary {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 12px 24px;
background: transparent;
color: #04764F;
font-size: 15px;
font-weight: 600;
line-height: 1.45;
border-radius: 0;
border: 2px solid #04764F;
text-decoration: none;
cursor: pointer;
transition: border-color .15s cubic-bezier(0.0, 0, 0.2, 1)
}

.succ-page .succ-btn--secondary:hover,
.succ-page .succ-btn--secondary:focus {
border-color: #035c3d;
color: #035c3d;
outline: none
}

.succ-page .succ-btn--secondary:active {
color: #024d33;
border-color: #024d33
}

.succ-page .succ-btn svg {
width: 16px;
height: 16px;
flex-shrink: 0
}

@media (max-width: 768px) {
.succ-page {
padding: 52px 24px
}

.succ-page .succ-card {
padding: 24px;
gap: 24px
}

.succ-page .succ-card__heading {
font-size: 23px
}
}

@media (max-width: 375px) {
.succ-page .succ-card__actions {
flex-direction: column
}

.succ-page .succ-btn--primary,
.succ-page .succ-btn--secondary {
width: 100%;
justify-content: center
}
}