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

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

body {
margin: 0;
font-family: 'Public Sans', sans-serif;
font-size: 16px;
line-height: 1.8;
-webkit-text-size-adjust: 100%;
word-break: break-word;
overflow-wrap: break-word
}

.pg_head {
position: relative;
background: #fff;
border-top: 4px solid #1DFAF5;
box-shadow: 0 6px 14px 0 #1dfaf51a
}

.pg_head::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, #1dfaf50f 0%, #9efeb00a 100%);
pointer-events: none;
z-index: 0
}

.hd_plate {
max-width: 1100px;
margin: 0 auto;
padding: 0 28px;
position: relative;
z-index: 1
}

.hd_row {
display: flex;
align-items: center;
gap: 28px;
padding: 16px 0;
flex-wrap: wrap
}

.brand_pod {
display: flex;
align-items: center;
gap: 16px;
flex-shrink: 0
}

.brand_img_cell {
display: flex;
align-items: center;
justify-content: center;
background: #ffffffeb;
border-radius: 16px;
padding: 8px 16px;
border: 1px solid #1dfaf559;
box-shadow: 0 1px 5px 0 #1dfaf50f 0 6px 14px 0 #1dfaf51a;
min-width: 80px;
min-height: 44px
}

.brand_img_cell img {
display: block;
width: auto;
height: 32px;
object-fit: contain
}

.brand_div {
width: 1px;
height: 32px;
background: linear-gradient(to bottom, transparent, #1dfaf580, transparent);
flex-shrink: 0
}

.hd_nav_grp {
display: flex;
align-items: center;
flex: 1;
justify-content: space-between;
flex-wrap: wrap;
gap: 8px
}

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

.hd_nav_left li a {
display: inline-flex;
align-items: center;
font-family: 'Public Sans', sans-serif;
font-size: 16px;
font-weight: 700;
color: #1a2e2e;
text-decoration: none;
padding: 8px 16px;
border-radius: 40px;
border: 1.5px solid transparent;
transition: color .25s cubic-bezier(0.34, 1.56, 0.64, 1), border-color .25s cubic-bezier(0.34, 1.56, 0.64, 1), background .25s cubic-bezier(0.34, 1.56, 0.64, 1);
min-height: 44px;
white-space: nowrap
}

.hd_nav_left li a:hover {
color: #0a2020;
background: #1dfaf51a;
border-color: #1dfaf566
}

.hd_nav_left li a:focus-visible {
outline: 3px solid;
outline-color: #1DFAF5;
outline-offset: 2px;
border-radius: 40px
}

.hd_nav_left li a[aria-current="page"] {
background: linear-gradient(90deg, #1dfaf52e 0%, #9efeb024 100%);
border-color: #1dfaf580;
color: #0a2020
}

.hd_contact_cell {
display: flex;
align-items: center;
gap: 8px;
flex-shrink: 0
}

.hd_contact_link {
display: inline-flex;
align-items: center;
font-family: 'Roboto', sans-serif;
font-size: 16px;
font-weight: 700;
color: #0a2020;
text-decoration: none;
padding: 8px 28px;
border-radius: 40px;
background: linear-gradient(135deg, #1DFAF5 0%, #9EFEB0 100%);
border: 2px solid transparent;
box-shadow: 0 1px 5px 0 #1dfaf50f 0 6px 14px 0 #1dfaf51a;
transition: box-shadow .28s cubic-bezier(0.34, 1.56, 0.64, 1), outline-offset .28s cubic-bezier(0.34, 1.56, 0.64, 1);
min-height: 44px;
white-space: nowrap;
position: relative
}

.hd_contact_link::after {
content: '';
position: absolute;
inset: -4px;
border-radius: 40px;
border: 2px solid transparent;
transition: border-color .22s cubic-bezier(0.34, 1.56, 0.64, 1), inset .22s cubic-bezier(0.34, 1.56, 0.64, 1);
pointer-events: none
}

.hd_contact_link:hover::after {
border-color: #1dfaf599;
inset: -6px
}

.hd_contact_link:focus-visible {
outline: 3px solid #1DFAF5;
outline-offset: 3px
}

.pg_foot {
background: #1a2e2e;
color: #EFEFEF
}

.ft_top {
max-width: 1100px;
margin: 0 auto;
padding: 56px 28px 28px;
display: flex;
align-items: flex-start;
justify-content: space-between;
flex-wrap: wrap;
gap: 28px
}

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

.ft_logo_pod {
display: flex;
align-items: center;
justify-content: center;
background: #ffffff14;
border-radius: 16px;
padding: 8px 16px;
border: 1px solid #1dfaf533;
box-shadow: 0 1px 5px 0 #1dfaf50f;
width: fit-content;
min-height: 44px
}

.ft_logo_pod img {
display: block;
width: auto;
height: 24px;
object-fit: contain
}

.ft_tagline {
font-family: 'Roboto', sans-serif;
font-size: 16px;
line-height: 1.8;
color: #efefefb3;
max-width: 260px
}

.ft_addr {
font-family: 'Roboto', sans-serif;
font-size: 16px;
line-height: 1.8;
color: #efefef99;
font-style: normal
}

.ft_addr a {
color: #9EFEB0;
text-decoration: none;
transition: color .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ft_addr a:hover {
color: #1DFAF5
}

.ft_addr a:focus-visible {
outline: 2px solid #1DFAF5;
outline-offset: 2px;
border-radius: 5px
}

.ft_mid {
max-width: 1100px;
margin: 0 auto;
padding: 0 28px 28px
}

.ft_divider {
border: none;
border-top: 1px solid #1dfaf526;
margin: 0 0 28px
}

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

.ft_nav_row li {
display: flex;
align-items: center
}

.ft_nav_row li+li::before {
content: '';
display: inline-block;
width: 4px;
height: 4px;
border-radius: 40px;
background: #1dfaf566;
margin-right: 8px
}

.ft_nav_row li a {
font-family: 'Roboto', sans-serif;
font-size: 16px;
color: #efefefa6;
text-decoration: none;
padding: 8px 0;
transition: color .22s cubic-bezier(0.34, 1.56, 0.64, 1);
min-height: 44px;
display: inline-flex;
align-items: center
}

.ft_nav_row li a:hover {
color: #1DFAF5
}

.ft_nav_row li a:focus-visible {
outline: 2px solid #1DFAF5;
outline-offset: 2px;
border-radius: 5px
}

.ft_copy_bar {
background: #0003;
border-top: 1px solid #1dfaf514
}

.ft_copy_inner {
max-width: 1100px;
margin: 0 auto;
padding: 16px 28px;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 8px
}

.ft_copy_txt {
font-family: 'Roboto', sans-serif;
font-size: 16px;
color: #efefef73;
margin: 0
}

.ck_tray {
display: none;
position: fixed;
bottom: 28px;
left: 0;
right: 0;
margin: 0 auto;
width: 340px;
max-width: calc(100vw - 56px);
background: #fff;
border-radius: 16px;
border: 1.5px solid #1dfaf559;
box-shadow: 0 10px 36px 0 #1dfaf51c;
z-index: 1200;
overflow: hidden;
opacity: 0;
transition: opacity .42s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ck_tray.vis {
opacity: 1
}

.ck_body {
padding: 28px 28px 16px
}

.ck_desc {
font-family: 'Roboto', sans-serif;
font-size: 16px;
line-height: 1.8;
color: #1a2e2e;
margin: 0 0 8px
}

.ck_desc a {
color: #0a7a78;
text-decoration: underline
}

.ck_desc a:focus-visible {
outline: 2px solid #1DFAF5;
outline-offset: 2px;
border-radius: 5px
}

.ck_head {
font-family: 'Public Sans', sans-serif;
font-size: 16px;
font-weight: 700;
color: #1a2e2e;
margin: 0 0 8px;
display: block
}

.ck_pref_panel {
padding: 0 28px 16px;
display: none
}

.ck_pref_panel.open {
display: block
}

.ck_tog_row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 8px 0;
border-top: 1px solid #1dfaf533
}

.ck_tog_lbl {
font-family: 'Roboto', sans-serif;
font-size: 16px;
color: #1a2e2e
}

.ck_tog_switch {
position: relative;
width: 40px;
height: 24px;
flex-shrink: 0
}

.ck_tog_switch input {
opacity: 0;
width: 0;
height: 0;
position: absolute
}

.ck_tog_track {
position: absolute;
inset: 0;
background: #EFEFEF;
border-radius: 40px;
cursor: pointer;
transition: background .25s cubic-bezier(0.34, 1.56, 0.64, 1);
border: 1.5px solid #1dfaf54d
}

.ck_tog_track::after {
content: '';
position: absolute;
left: 3px;
top: 50%;
transform: translateY(-50%);
width: 16px;
height: 16px;
background: #fff;
border-radius: 40px;
box-shadow: 0 1px 5px 0 #1dfaf50f;
transition: left .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ck_tog_switch input:checked+.ck_tog_track {
background: #1DFAF5
}

.ck_tog_switch input:checked+.ck_tog_track::after {
left: calc(100% - 19px)
}

.ck_tog_switch input:focus-visible+.ck_tog_track {
outline: 2px solid #1DFAF5;
outline-offset: 2px
}

.ck_btn_row {
display: flex;
gap: 8px;
padding: 0 28px 28px;
flex-wrap: wrap
}

.ck_btn {
flex: 1;
min-width: 100px;
font-family: 'Public Sans', sans-serif;
font-size: 16px;
font-weight: 700;
color: #0a2020;
background: transparent;
border: 2px solid #1dfaf599;
border-radius: 40px;
padding: 8px 16px;
cursor: pointer;
min-height: 44px;
position: relative;
transition: background .22s cubic-bezier(0.34, 1.56, 0.64, 1), border-color .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ck_btn::after {
content: '';
position: absolute;
inset: -4px;
border-radius: 40px;
border: 2px solid transparent;
pointer-events: none;
transition: border-color .22s cubic-bezier(0.34, 1.56, 0.64, 1), inset .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ck_btn:hover {
background: #1dfaf51f;
border-color: #1DFAF5
}

.ck_btn:hover::after {
border-color: #1dfaf559;
inset: -6px
}

.ck_btn:focus-visible {
outline: 2px solid #1DFAF5;
outline-offset: 3px
}

.ck_btn.primary {
background: linear-gradient(135deg, #1DFAF5 0%, #9EFEB0 100%);
border-color: transparent
}

.ck_btn.primary:hover {
background: linear-gradient(135deg, #9EFEB0 0%, #1DFAF5 100%);
border-color: transparent
}

.ck_pref_toggle {
background: none;
border: none;
cursor: pointer;
padding: 8px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 40px;
transition: background .22s cubic-bezier(0.34, 1.56, 0.64, 1);
min-width: 44px;
min-height: 44px
}

.ck_pref_toggle:hover {
background: #1dfaf51f
}

.ck_pref_toggle:focus-visible {
outline: 2px solid #1DFAF5;
outline-offset: 2px
}

.ck_gear_icon {
width: 20px;
height: 20px;
fill: none;
stroke: #1a2e2e;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round
}

.ck_settings_btn {
position: fixed;
bottom: 28px;
right: 28px;
z-index: 1100;
background: #fff;
border: 1.5px solid #1dfaf566;
border-radius: 40px;
width: 44px;
height: 44px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
box-shadow: 0 6px 14px 0 #1dfaf51a;
transition: box-shadow .22s cubic-bezier(0.34, 1.56, 0.64, 1), background .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.ck_settings_btn:hover {
background: #1dfaf51a;
box-shadow: 0 10px 36px 0 #1dfaf51c
}

.ck_settings_btn:focus-visible {
outline: 2px solid #1DFAF5;
outline-offset: 3px
}

@media (max-width: 900px) {
.ft_top {
flex-direction: column;
gap: 28px
}

.hd_nav_grp {
justify-content: flex-start
}
}

@media (max-width: 600px) {
.hd_row {
flex-direction: column;
align-items: flex-start;
gap: 16px;
padding: 16px 0
}

.hd_nav_grp {
width: 100%
}

.hd_nav_left {
gap: 8px
}

.hd_nav_left li a {
font-size: 16px;
padding: 8px 16px
}

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

.ck_tray {
width: calc(100vw - 56px);
bottom: 16px
}

.ck_settings_btn {
bottom: 16px;
right: 16px
}
}

.terms-ajh-section {
max-width: 1100px;
margin: 0 auto;
padding: 56px 28px
}

.terms-ajh-section p {
font-size: 18px;
line-height: 1.8;
color: #2d2d2d;
margin-bottom: 16px
}

.terms-ajh-section strong,
.terms-ajh-section b {
font-weight: 700;
color: #1a1f2e
}

.terms-ajh-section em,
.terms-ajh-section i {
font-style: italic;
color: #3a3a3a
}

.terms-ajh-section a {
color: #0a8f8c;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color .25s cubic-bezier(0.34, 1.56, 0.64, 1), text-decoration-color .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.terms-ajh-section a:hover {
color: #1DFAF5;
text-decoration-color: #9EFEB0
}

.terms-ajh-section a:focus-visible {
outline: 2px solid #1DFAF5;
outline-offset: 3px;
border-radius: 5px
}

.terms-ajh-section table {
width: 100%;
border-collapse: collapse;
margin-bottom: 28px;
font-size: 16px;
line-height: 1.8;
box-shadow: 0 6px 14px 0 #1dfaf51a;
border-radius: 16px;
overflow: hidden
}

.terms-ajh-section thead {
background: linear-gradient(90deg, #1DFAF5 0%, #9EFEB0 100%)
}

.terms-ajh-section thead th {
color: #1a1f2e;
font-size: 16px;
font-weight: 700;
padding: 16px 28px;
text-align: left;
line-height: 1.2
}

.terms-ajh-section tbody tr {
border-bottom: 1px solid #EFEFEF;
transition: background .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.terms-ajh-section tbody tr:last-child {
border-bottom: none
}

.terms-ajh-section tbody tr:nth-child(even) {
background-color: #f7fffe
}

.terms-ajh-section tbody tr:hover {
background-color: #1dfaf512
}

.terms-ajh-section td {
padding: 16px 28px;
color: #2d2d2d;
font-size: 16px;
line-height: 1.8;
vertical-align: top
}

.terms-ajh-section th {
padding: 16px 28px
}

.terms-ajh-section div {
margin-bottom: 16px
}

@media (max-width: 900px) {
.terms-ajh-section {
padding: 56px 16px
}

.terms-ajh-section table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch
}

.terms-ajh-section thead th,
.terms-ajh-section td {
padding: 16px
}
}

@media (max-width: 600px) {
.terms-ajh-section {
padding: 28px 16px
}

.terms-ajh-section p {
font-size: 16px
}

.terms-ajh-section thead th,
.terms-ajh-section td {
padding: 8px 16px;
font-size: 16px
}
}

.opn {
overflow-x: hidden
}

.opn .pg-wrap {
max-width: 1100px;
margin: 0 auto;
padding: 0 28px
}

::selection {
background: linear-gradient(277deg, #1DFAF5, #9EFEB0);
color: #111
}

.opn .lbl-tag {
display: inline-block;
font-size: 16px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
color: #111;
background: #1DFAF5;
padding: 8px 16px;
border-radius: 5px;
margin-bottom: 16px
}

.opn .strip-head {
display: inline;
background: #9EFEB0;
padding: 2px 8px;
border-radius: 5px;
line-height: 1.2
}

.opn .dot-acc {
display: inline-block;
width: 7px;
height: 7px;
border-radius: 40px;
background: #1DFAF5;
margin-left: 4px;
vertical-align: middle;
position: relative;
top: -2px
}

.opn .btn-pri {
display: inline-block;
font-size: 16px;
font-weight: 700;
color: #111;
background: #1DFAF5;
border: 2px solid #1DFAF5;
border-radius: 16px;
padding: 16px 28px;
cursor: pointer;
text-decoration: none;
transition: background .28s cubic-bezier(0.34, 1.56, 0.64, 1), border-color .28s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .28s cubic-bezier(0.34, 1.56, 0.64, 1);
box-shadow: 0 6px 14px 0 #1dfaf51a
}

.opn .btn-pri:hover {
background: transparent;
border-color: #1DFAF5;
color: #111;
box-shadow: 0 10px 36px 0 #1dfaf51c;
outline: 3px solid #1DFAF5;
outline-offset: 3px
}

.opn .btn-sec {
display: inline-block;
font-size: 16px;
font-weight: 700;
color: #111;
background: #9EFEB0;
border: 2px solid #9EFEB0;
border-radius: 16px;
padding: 16px 28px;
cursor: pointer;
text-decoration: none;
transition: background .22s cubic-bezier(0.68, -0.55, 0.27, 1.55), border-color .22s cubic-bezier(0.68, -0.55, 0.27, 1.55);
box-shadow: 0 1px 5px 0 #9efeb00f
}

.opn .btn-sec:hover {
background: transparent;
border-color: #9EFEB0;
outline: 3px solid #9EFEB0;
outline-offset: 3px
}

.opn .ttl-blk {
background: #EFEFEF;
padding: 96px 0 56px;
position: relative
}

.opn .ttl-blk .pg-wrap {
display: grid;
grid-template-columns: 1fr 420px;
gap: 56px;
align-items: center
}

.opn .ttl-text h1 {
font-size: 44px;
line-height: 1.2;
font-weight: 900;
color: #111;
margin-bottom: 16px
}

.opn .ttl-text .desc {
font-size: 18px;
line-height: 1.8;
color: #333;
max-width: 520px;
margin-bottom: 28px
}

.opn .ttl-img-wrap {
position: relative;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 10px 36px 0 #1dfaf51c
}

.opn .ttl-img-wrap img {
width: 100%;
height: 400px;
object-fit: cover;
object-position: center top;
display: block;
border-radius: 16px;
border: 4px solid #fff
}

.opn .ttl-img-wrap::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(277deg, #1dfaf52e, transparent);
border-radius: 16px;
pointer-events: none
}

.opn .ttl-shapes {
position: absolute;
top: 0;
right: 0;
width: 340px;
height: 340px;
pointer-events: none;
overflow: hidden
}

.opn .ttl-shapes .sh1 {
position: absolute;
top: 28px;
right: 28px;
width: 180px;
height: 180px;
border-radius: 40px;
border: 3px solid #1dfaf538;
transform: rotate(18deg)
}

.opn .ttl-shapes .sh2 {
position: absolute;
top: 80px;
right: 80px;
width: 110px;
height: 110px;
border-radius: 40px;
border: 2px solid #9efeb047;
transform: rotate(-10deg)
}

.opn .exp-blk {
background: #fff;
padding: 96px 0
}

.opn .exp-blk .pg-wrap {
display: grid;
grid-template-columns: 380px 1fr;
gap: 56px;
align-items: start
}

.opn .exp-img-col {
position: relative
}

.opn .exp-img-col img {
width: 100%;
height: 480px;
object-fit: cover;
object-position: center;
display: block;
border-radius: 16px;
border: 4px solid #EFEFEF;
box-shadow: 0 6px 14px 0 #1dfaf51a
}

.opn .exp-img-col .img-badge {
position: absolute;
bottom: 28px;
left: -16px;
background: #1DFAF5;
color: #111;
font-size: 16px;
font-weight: 700;
padding: 8px 16px;
border-radius: 5px;
box-shadow: 0 6px 14px 0 #1dfaf51a
}

.opn .exp-txt h2 {
font-size: 32px;
line-height: 1.2;
font-weight: 800;
color: #111;
margin-bottom: 16px
}

.opn .exp-txt .drop-p::first-letter {
font-size: 44px;
font-weight: 900;
line-height: 1.2;
float: left;
margin-right: 8px;
color: #111;
background: #1DFAF5;
padding: 0 8px;
border-radius: 5px
}

.opn .exp-txt p {
font-size: 18px;
line-height: 1.8;
color: #333;
margin-bottom: 16px
}

.opn .phase-list {
list-style: none;
margin: 28px 0 0;
padding: 0
}

.opn .phase-list li {
font-size: 16px;
line-height: 1.8;
color: #333;
padding: 8px 0;
border-bottom: 1px solid #EFEFEF;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px
}

.opn .phase-list li:last-child {
border-bottom: none
}

.opn .phase-num {
font-size: 16px;
font-weight: 900;
color: #111;
background: #9EFEB0;
border-radius: 5px;
padding: 2px 8px;
min-width: 28px;
text-align: center;
flex-shrink: 0
}

.opn .rep-blk {
background: linear-gradient(277deg, #1DFAF5 0%, #9efeb08c 50%, #efefef99 100%);
padding: 56px 0
}

.opn .rep-blk .pg-wrap {
display: flex;
flex-direction: column;
align-items: center;
text-align: center
}

.opn .rep-blk h2 {
font-size: 32px;
line-height: 1.2;
font-weight: 800;
color: #111;
margin-bottom: 16px
}

.opn .rep-blk .sub-desc {
font-size: 18px;
line-height: 1.8;
color: #222;
max-width: 620px;
margin-bottom: 56px
}

.opn .ref-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 28px;
width: 100%
}

.opn .ref-card {
background: #fff;
border-radius: 16px;
padding: 28px;
box-shadow: 0 6px 14px 0 #1dfaf51a;
text-align: left;
transition: transform .25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1);
border: 2px solid transparent
}

.opn .ref-card:hover {
transform: translateY(-4px);
box-shadow: 0 10px 36px 0 #1dfaf51c;
border-color: #1DFAF5
}

.opn .ref-card .ref-org {
font-size: 16px;
font-weight: 900;
color: #111;
margin-bottom: 8px;
display: block
}

.opn .ref-card .ref-quote {
font-size: 16px;
line-height: 1.8;
color: #444
}

.opn .ref-card .ref-name {
font-size: 16px;
font-weight: 700;
color: #111;
margin-top: 16px;
display: block
}

.opn .ref-card img {
width: 100%;
height: 140px;
object-fit: cover;
object-position: center;
border-radius: 5px;
margin-bottom: 16px;
border: 3px solid #EFEFEF
}

.opn .hes-blk {
background: #fff;
padding: 96px 0
}

.opn .hes-blk .pg-wrap {
display: grid;
grid-template-columns: 1fr 360px;
gap: 56px;
align-items: center
}

.opn .hes-txt h2 {
font-size: 32px;
line-height: 1.2;
font-weight: 800;
color: #111;
margin-bottom: 16px
}

.opn .hes-txt p {
font-size: 18px;
line-height: 1.8;
color: #333;
margin-bottom: 16px
}

.opn .hes-txt .drop-p::first-letter {
font-size: 44px;
font-weight: 900;
line-height: 1.2;
float: left;
margin-right: 8px;
color: #111;
background: #9EFEB0;
padding: 0 8px;
border-radius: 5px
}

.opn .hes-img-wrap {
position: relative
}

.opn .hes-img-wrap img {
width: 100%;
height: 380px;
object-fit: cover;
object-position: center;
border-radius: 16px;
border: 4px solid #EFEFEF;
box-shadow: 0 10px 36px 0 #9efeb01c;
display: block
}

.opn .fold-card {
position: relative;
background: #EFEFEF;
border-radius: 16px;
padding: 28px;
margin-top: 28px;
box-shadow: 0 1px 5px 0 #1dfaf50f;
overflow: hidden
}

.opn .fold-card::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 40px 40px 0;
border-color: transparent #fff transparent transparent;
transition: border-width .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.opn .fold-card:hover::before {
border-width: 0 60px 60px 0
}

.opn .fold-card p {
font-size: 16px;
line-height: 1.8;
color: #333;
margin: 0
}

.opn .appr-blk {
background: #111;
padding: 96px 0;
position: relative
}

.opn .appr-blk .geo-motif {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden
}

.opn .appr-blk .geo-motif span {
position: absolute;
display: block;
border-radius: 40px;
border: 1px solid #1dfaf514
}

.opn .appr-blk .geo-motif span:nth-child(1) {
width: 120px;
height: 120px;
top: 28px;
left: 56px;
transform: rotate(20deg)
}

.opn .appr-blk .geo-motif span:nth-child(2) {
width: 80px;
height: 80px;
top: 56px;
left: 96px;
transform: rotate(-15deg)
}

.opn .appr-blk .geo-motif span:nth-child(3) {
width: 60px;
height: 60px;
bottom: 56px;
left: 28px;
transform: rotate(30deg)
}

.opn .appr-blk .pg-wrap {
position: relative;
z-index: 1
}

.opn .appr-blk h2 {
font-size: 32px;
line-height: 1.2;
font-weight: 800;
color: #fff;
margin-bottom: 16px;
text-align: center
}

.opn .appr-blk .sub-lbl {
font-size: 18px;
line-height: 1.8;
color: #ccc;
text-align: center;
max-width: 600px;
margin: 0 auto 56px
}

.opn .appr-cols {
display: grid;
grid-template-columns: 2fr 1.5fr 1fr;
gap: 28px;
align-items: start
}

.opn .appr-col-a {
background: #1dfaf512;
border-radius: 16px;
padding: 28px;
border: 1px solid #1dfaf52e;
box-shadow: inset 0 1px 5px 0 #1dfaf50f
}

.opn .appr-col-a img {
width: 100%;
height: 200px;
object-fit: cover;
object-position: center;
border-radius: 5px;
margin-bottom: 16px;
border: 3px solid #1dfaf538
}

.opn .appr-col-a h3 {
font-size: 24px;
line-height: 1.2;
font-weight: 800;
color: #1DFAF5;
margin-bottom: 8px
}

.opn .appr-col-a p {
font-size: 16px;
line-height: 1.8;
color: #ccc;
margin-bottom: 16px
}

.opn .appr-col-b {
background: #9efeb012;
border-radius: 16px;
padding: 28px;
border: 1px solid #9efeb02e;
box-shadow: inset 0 1px 5px 0 #9efeb00f
}

.opn .appr-col-b img {
width: 100%;
height: 160px;
object-fit: cover;
object-position: center;
border-radius: 5px;
margin-bottom: 16px;
border: 3px solid #9efeb038
}

.opn .appr-col-b h4 {
font-size: 18px;
line-height: 1.2;
font-weight: 800;
color: #9EFEB0;
margin-bottom: 8px
}

.opn .appr-col-b p {
font-size: 16px;
line-height: 1.8;
color: #ccc
}

.opn .appr-col-c {
display: flex;
flex-direction: column;
gap: 16px
}

.opn .appr-pill {
background: #efefef0f;
border-radius: 5px;
padding: 16px;
border: 1px solid #efefef1f;
font-size: 16px;
line-height: 1.8;
color: #ddd;
transition: background .2s cubic-bezier(0.34, 1.56, 0.64, 1), border-color .2s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.opn .appr-pill:hover {
background: #1dfaf51a;
border-color: #1dfaf54d
}

.opn .appr-pill strong {
display: block;
color: #fff;
font-weight: 700;
margin-bottom: 4px
}

.opn .icon-chain {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-top: 28px;
justify-content: center
}

.opn .ic-node {
width: 40px;
height: 40px;
border-radius: 40px;
background: #1DFAF5;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.opn .ic-node svg {
width: 20px;
height: 20px
}

.opn .ic-dash {
flex: 1;
height: 2px;
border-top: 2px dashed #1dfaf566;
max-width: 80px
}

.opn .gap-blk {
background: #EFEFEF;
padding: 96px 0
}

.opn .gap-blk .pg-wrap {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: start
}

.opn .gap-left h2 {
font-size: 32px;
line-height: 1.2;
font-weight: 800;
color: #111;
margin-bottom: 16px
}

.opn .gap-left p {
font-size: 18px;
line-height: 1.8;
color: #333;
margin-bottom: 16px
}

.opn .gap-left .drop-p::first-letter {
font-size: 44px;
font-weight: 900;
line-height: 1.2;
float: left;
margin-right: 8px;
color: #111;
background: #1DFAF5;
padding: 0 8px;
border-radius: 5px
}

.opn .gap-left a {
color: #111;
text-decoration: underline;
transition: color .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.opn .gap-left a:hover {
color: #1DFAF5
}

.opn .gap-right {
display: flex;
flex-direction: column;
gap: 16px
}

.opn .gap-img-wrap {
position: relative;
border-radius: 16px;
overflow: hidden
}

.opn .gap-img-wrap img {
width: 100%;
height: 260px;
object-fit: cover;
object-position: center;
display: block;
border-radius: 16px;
border: 4px solid #fff;
box-shadow: 0 6px 14px 0 #1dfaf51a
}

.opn .gap-stat-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px
}

.opn .gap-stat {
background: #fff;
border-radius: 16px;
padding: 16px;
text-align: center;
box-shadow: 0 1px 5px 0 #1dfaf50f;
border: 2px solid transparent;
transition: border-color .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.opn .gap-stat:hover {
border-color: #9EFEB0
}

.opn .gap-stat .st-num {
font-size: 32px;
font-weight: 900;
color: #111;
line-height: 1.2;
background: linear-gradient(277deg, #1DFAF5, #9EFEB0);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.opn .gap-stat .st-lbl {
font-size: 16px;
color: #555;
line-height: 1.8
}

@keyframes revealUp {
from {
opacity: 0;
transform: translateY(24px)
}

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

.opn .ttl-text {
animation: revealUp .35s cubic-bezier(0.34, 1.56, 0.64, 1) .05s both
}

.opn .ttl-img-wrap {
animation: revealUp .35s cubic-bezier(0.34, 1.56, 0.64, 1) .18s both
}

@media (max-width: 900px) {
.opn .ttl-blk .pg-wrap {
grid-template-columns: 1fr
}

.opn .ttl-shapes {
display: none
}

.opn .exp-blk .pg-wrap {
grid-template-columns: 1fr
}

.opn .exp-img-col img {
height: 280px
}

.opn .ref-grid {
grid-template-columns: 1fr 1fr
}

.opn .hes-blk .pg-wrap {
grid-template-columns: 1fr
}

.opn .appr-cols {
grid-template-columns: 1fr 1fr
}

.opn .appr-col-c {
grid-column: 1 / -1;
flex-direction: row;
flex-wrap: wrap
}

.opn .appr-pill {
flex: 1 1 200px
}

.opn .gap-blk .pg-wrap {
grid-template-columns: 1fr
}
}

@media (max-width: 600px) {
.opn .ttl-text h1 {
font-size: 32px
}

.opn .ref-grid {
grid-template-columns: 1fr
}

.opn .appr-cols {
grid-template-columns: 1fr
}

.opn .appr-col-c {
flex-direction: column
}

.opn .gap-stat-row {
grid-template-columns: 1fr
}

.opn .icon-chain {
display: none
}

.opn .exp-img-col .img-badge {
left: 8px
}
}

.lrn-prog {
overflow-x: clip
}

.lrn-prog ::selection {
background: linear-gradient(277deg, #1DFAF5, #9EFEB0);
color: #111
}

.lrn-prog a {
text-decoration: none !important;
color: inherit
}

.lrn-prog a:hover {
color: #1DFAF5
}

.lrn-prog .rev {
opacity: 0;
transform: translateY(18px);
animation: revealUp .32s cubic-bezier(0.34, 1.56, 0.64, 1) forwards
}

.lrn-prog .rev.d1 {
animation-delay: .08s
}

.lrn-prog .rev.d2 {
animation-delay: .16s
}

.lrn-prog .rev.d3 {
animation-delay: .26s
}

.lrn-prog .rev.d4 {
animation-delay: .38s
}

.lrn-prog .rev.d5 {
animation-delay: .52s
}

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

.lrn-prog .ttl-blk {
max-width: 1100px;
margin: 0 auto;
padding: 56px 28px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: center;
position: relative
}

.lrn-prog .ttl-stripe {
position: absolute;
top: 0;
left: 0;
width: 5px;
height: 100%;
background: linear-gradient(180deg, #1DFAF5, #9EFEB0);
border-radius: 5px
}

.lrn-prog .ttl-left {
padding-left: 28px
}

.lrn-prog .ttl-eyebrow {
font-size: 16px;
line-height: 1.8;
color: #1DFAF5;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 16px;
display: block
}

.lrn-prog .ttl-h1 {
font-size: 44px;
line-height: 1.2;
font-weight: 800;
color: #111;
margin-bottom: 28px
}

.lrn-prog .ttl-h1 span {
background: linear-gradient(277deg, #1DFAF5 20%, transparent 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent
}

.lrn-prog .ttl-desc {
font-size: 18px;
line-height: 1.8;
color: #333;
max-width: 480px
}

.lrn-prog .ttl-img-wrap {
position: relative;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 10px 36px 0 #1dfaf51c
}

.lrn-prog .ttl-img-wrap img {
width: 100%;
height: 420px;
object-fit: cover;
object-position: center top;
display: block
}

.lrn-prog .ttl-img-overlay {
position: absolute;
inset: 0;
background: linear-gradient(277deg, #1dfaf52e 0%, transparent 70%);
mix-blend-mode: multiply
}

.lrn-prog .prog-sect {
background: #EFEFEF;
position: relative
}

.lrn-prog .prog-sect::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse 80% 60% at 30% 50%, #9efeb038 0%, transparent 70%);
pointer-events: none
}

.lrn-prog .prog-inner {
max-width: 1100px;
margin: 0 auto;
padding: 96px 28px;
position: relative
}

.lrn-prog .prog-header {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: start;
margin-bottom: 56px
}

.lrn-prog .prog-h2-wrap {
display: inline-block;
background: #1DFAF5;
border-radius: 5px;
padding: 8px 16px;
margin-bottom: 16px
}

.lrn-prog .prog-h2 {
font-size: 32px;
line-height: 1.2;
font-weight: 700;
color: #111;
margin: 0
}

.lrn-prog .prog-lead {
font-size: 18px;
line-height: 1.8;
color: #333
}

.lrn-prog .prog-lead::first-letter {
font-size: 44px;
line-height: 1;
font-weight: 800;
float: left;
margin-right: 8px;
color: #1DFAF5
}

.lrn-prog .prog-anchor-num {
font-size: 72px;
line-height: 1.2;
font-weight: 900;
color: #111;
opacity: .07;
position: absolute;
right: 28px;
top: 56px;
pointer-events: none;
user-select: none
}

.lrn-prog .prog-modules {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 28px
}

.lrn-prog .mod-item {
background: #fff;
border-radius: 16px;
padding: 28px;
box-shadow: inset 0 1px 5px 0 #1dfaf50f 0 6px 14px 0 #1dfaf51a;
transition: transform .28s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .28s cubic-bezier(0.34, 1.56, 0.64, 1);
cursor: default
}

.lrn-prog .mod-item:hover {
transform: translateY(-6px);
box-shadow: 0 10px 36px 0 #1dfaf51c
}

.lrn-prog .mod-num {
font-size: 32px;
font-weight: 900;
color: #1DFAF5;
line-height: 1.2;
margin-bottom: 8px
}

.lrn-prog .mod-h4 {
font-size: 18px;
font-weight: 700;
color: #111;
margin-bottom: 8px;
line-height: 1.2
}

.lrn-prog .mod-txt {
font-size: 16px;
line-height: 1.8;
color: #444
}

.lrn-prog .mod-sep {
border: none;
border-bottom: 1px solid #EFEFEF;
margin: 16px 0
}

.lrn-prog .mod-topics {
list-style: none;
margin: 0;
padding: 0
}

.lrn-prog .mod-topics li {
font-size: 16px;
line-height: 1.8;
color: #555;
border-bottom: 1px solid #EFEFEF;
padding: 8px 0
}

.lrn-prog .mod-topics li:last-child {
border-bottom: none
}

.lrn-prog .stat-sect {
background: #fff;
position: relative
}

.lrn-prog .stat-wave {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: .04;
pointer-events: none;
overflow: hidden
}

.lrn-prog .stat-inner {
max-width: 1100px;
margin: 0 auto;
padding: 96px 28px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: center;
position: relative
}

.lrn-prog .stat-img-col {
position: relative
}

.lrn-prog .stat-img-wrap {
border-radius: 16px;
overflow: hidden;
box-shadow: 0 6px 14px 0 #9efeb01a
}

.lrn-prog .stat-img-wrap img {
width: 100%;
height: 380px;
object-fit: cover;
object-position: center center;
display: block;
filter: saturate(0.85) brightness(0.97)
}

.lrn-prog .stat-badge {
position: absolute;
bottom: 28px;
right: -16px;
background: #fff;
border-radius: 16px;
padding: 16px 28px;
box-shadow: 0 10px 36px 0 #1dfaf51c;
min-width: 200px
}

.lrn-prog .stat-badge-label {
font-size: 16px;
color: #555;
margin-bottom: 8px;
display: block
}

.lrn-prog .stat-bar-track {
background: #EFEFEF;
border-radius: 40px;
height: 10px;
width: 100%;
overflow: hidden;
margin-bottom: 8px
}

.lrn-prog .stat-bar-fill {
height: 100%;
border-radius: 40px;
background: linear-gradient(277deg, #1DFAF5, #9EFEB0);
width: 0;
animation: fillBar 1.1s .4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards
}

@keyframes fillBar {
to {
width: 68%
}
}

.lrn-prog .stat-bar-meta {
display: flex;
flex-direction: row;
justify-content: space-between;
font-size: 16px;
color: #888
}

.lrn-prog .stat-h2-wrap {
display: inline-block;
background: #9EFEB0;
border-radius: 5px;
padding: 8px 16px;
margin-bottom: 16px
}

.lrn-prog .stat-h2 {
font-size: 32px;
line-height: 1.2;
font-weight: 700;
color: #111;
margin: 0
}

.lrn-prog .stat-body {
font-size: 18px;
line-height: 1.8;
color: #333;
margin-bottom: 28px
}

.lrn-prog .stat-body strong {
color: #111;
font-weight: 700
}

.lrn-prog .stat-milestones {
list-style: none;
margin: 0;
padding: 0
}

.lrn-prog .stat-milestones li {
font-size: 16px;
line-height: 1.8;
color: #444;
border-bottom: 1px solid #EFEFEF;
padding: 8px 0;
display: flex;
flex-direction: row;
align-items: center;
gap: 16px
}

.lrn-prog .stat-milestones li:last-child {
border-bottom: none
}

.lrn-prog .ms-dot {
width: 10px;
height: 10px;
border-radius: 40px;
background: #1DFAF5;
flex-shrink: 0;
display: inline-block
}

.lrn-prog .ms-dot.done {
background: #9EFEB0
}

.lrn-prog .mosaic-sect {
background: linear-gradient(277deg, #1dfaf514 0%, #9efeb00f 60%, transparent 100%);
position: relative
}

.lrn-prog .mosaic-divider {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
max-width: 1100px;
margin: 0 auto;
padding: 0 28px
}

.lrn-prog .mosaic-line {
flex: 1;
height: 1px;
background: linear-gradient(277deg, transparent, #1DFAF5, transparent)
}

.lrn-prog .mosaic-diamond {
width: 12px;
height: 12px;
background: #1DFAF5;
transform: rotate(45deg);
border-radius: 5px;
flex-shrink: 0
}

.lrn-prog .mosaic-inner {
max-width: 1100px;
margin: 0 auto;
padding: 56px 28px 96px
}

.lrn-prog .mosaic-grid {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto auto;
gap: 28px
}

.lrn-prog .mosaic-txt-top {
grid-column: 1;
grid-row: 1
}

.lrn-prog .mosaic-txt-bot {
grid-column: 1;
grid-row: 2
}

.lrn-prog .mosaic-right {
grid-column: 2;
grid-row: 1 / 3;
display: flex;
flex-direction: column;
gap: 28px
}

.lrn-prog .mosaic-h2-wrap {
display: inline-block;
background: #1DFAF5;
border-radius: 5px;
padding: 8px 16px;
margin-bottom: 16px
}

.lrn-prog .mosaic-h2 {
font-size: 32px;
line-height: 1.2;
font-weight: 700;
color: #111;
margin: 0
}

.lrn-prog .mosaic-body {
font-size: 18px;
line-height: 1.8;
color: #333;
margin-bottom: 28px
}

.lrn-prog .mosaic-body::first-letter {
font-size: 44px;
line-height: 1;
font-weight: 800;
float: left;
margin-right: 8px;
color: #9EFEB0
}

.lrn-prog .mosaic-chars {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px
}

.lrn-prog .char-tag {
font-size: 16px;
line-height: 1.8;
color: #333;
background: #fff;
border-radius: 40px;
padding: 8px 16px;
box-shadow: 0 1px 5px 0 #1dfaf50f;
transition: color .22s cubic-bezier(0.34, 1.56, 0.64, 1), background .22s cubic-bezier(0.34, 1.56, 0.64, 1);
cursor: default
}

.lrn-prog .char-tag:hover {
background: #1DFAF5;
color: #111
}

.lrn-prog .mosaic-cta-card {
background: #111;
border-radius: 16px;
padding: 28px;
box-shadow: 0 10px 36px 0 #1dfaf51c
}

.lrn-prog .cta-h3 {
font-size: 24px;
line-height: 1.2;
font-weight: 700;
color: #fff;
margin-bottom: 16px
}

.lrn-prog .cta-desc {
font-size: 16px;
line-height: 1.8;
color: #bbb;
margin-bottom: 28px
}

.lrn-prog .cta-btn {
display: inline-block;
background: #1DFAF5;
color: #111;
font-size: 16px;
font-weight: 700;
padding: 16px 28px;
border-radius: 40px;
border: 2px solid #1DFAF5;
cursor: pointer;
transition: background .25s cubic-bezier(0.34, 1.56, 0.64, 1), border-color .25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1), outline-offset .25s cubic-bezier(0.34, 1.56, 0.64, 1);
outline: 2px solid transparent;
outline-offset: 0
}

.lrn-prog .cta-btn:hover {
background: transparent;
color: #1DFAF5;
border-color: #1DFAF5;
outline: 2px solid #1DFAF5;
outline-offset: 4px;
box-shadow: 0 6px 14px 0 #1dfaf51a
}

.lrn-prog .cta-btn:focus {
outline: 2px solid #1DFAF5;
outline-offset: 4px
}

.lrn-prog .mosaic-detail-card {
background: #fff;
border-radius: 16px;
padding: 28px;
box-shadow: inset 0 1px 5px 0 #1dfaf50f 0 6px 14px 0 #1dfaf51a
}

.lrn-prog .det-h4 {
font-size: 18px;
font-weight: 700;
color: #111;
margin-bottom: 16px
}

.lrn-prog .det-list {
list-style: none;
margin: 0;
padding: 0
}

.lrn-prog .det-list li {
font-size: 16px;
line-height: 1.8;
color: #444;
border-bottom: 1px solid #EFEFEF;
padding: 8px 0
}

.lrn-prog .det-list li:last-child {
border-bottom: none
}

.lrn-prog .det-list li span {
color: #1DFAF5;
font-weight: 700;
margin-right: 8px
}

.lrn-prog .letter-hover {
display: inline-flex;
flex-direction: row;
flex-wrap: wrap
}

.lrn-prog .letter-hover .ltr {
display: inline-block;
transition: color .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.lrn-prog .letter-hover:hover .ltr:nth-child(1) {
color: #1DFAF5
}

.lrn-prog .letter-hover:hover .ltr:nth-child(2) {
color: #1DFAF5;
transition-delay: .02s
}

.lrn-prog .letter-hover:hover .ltr:nth-child(3) {
color: #1DFAF5;
transition-delay: .04s
}

.lrn-prog .letter-hover:hover .ltr:nth-child(4) {
color: #1DFAF5;
transition-delay: .06s
}

.lrn-prog .letter-hover:hover .ltr:nth-child(5) {
color: #1DFAF5;
transition-delay: .08s
}

.lrn-prog .letter-hover:hover .ltr:nth-child(6) {
color: #1DFAF5;
transition-delay: .1s
}

.lrn-prog .letter-hover:hover .ltr:nth-child(7) {
color: #1DFAF5;
transition-delay: .12s
}

.lrn-prog .letter-hover:hover .ltr:nth-child(8) {
color: #1DFAF5;
transition-delay: .14s
}

.lrn-prog .letter-hover:hover .ltr:nth-child(9) {
color: #1DFAF5;
transition-delay: .16s
}

.lrn-prog .letter-hover:hover .ltr:nth-child(10) {
color: #9EFEB0;
transition-delay: .18s
}

.lrn-prog .letter-hover:hover .ltr:nth-child(11) {
color: #9EFEB0;
transition-delay: .2s
}

.lrn-prog .letter-hover:hover .ltr:nth-child(12) {
color: #9EFEB0;
transition-delay: .22s
}

.lrn-prog .letter-hover:hover .ltr:nth-child(n+13) {
color: #9EFEB0;
transition-delay: .24s
}

@media (max-width: 900px) {
.lrn-prog .ttl-blk {
grid-template-columns: 1fr;
gap: 28px
}

.lrn-prog .prog-header {
grid-template-columns: 1fr;
gap: 16px
}

.lrn-prog .prog-modules {
grid-template-columns: 1fr 1fr
}

.lrn-prog .stat-inner {
grid-template-columns: 1fr;
gap: 28px
}

.lrn-prog .stat-badge {
right: 16px
}

.lrn-prog .mosaic-grid {
grid-template-columns: 1fr
}

.lrn-prog .mosaic-right {
grid-column: 1;
grid-row: auto
}

.lrn-prog .mosaic-txt-top,
.lrn-prog .mosaic-txt-bot {
grid-column: 1;
grid-row: auto
}
}

@media (max-width: 600px) {
.lrn-prog .ttl-h1 {
font-size: 32px
}

.lrn-prog .prog-modules {
grid-template-columns: 1fr
}

.lrn-prog .prog-inner {
padding: 56px 16px
}

.lrn-prog .stat-inner {
padding: 56px 16px
}

.lrn-prog .mosaic-inner {
padding: 28px 16px 56px
}

.lrn-prog .ttl-blk {
padding: 28px 16px
}

.lrn-prog .stat-badge {
position: static;
margin-top: 16px
}

.lrn-prog .prog-anchor-num {
display: none
}
}

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

.abt-pg ::selection {
background: linear-gradient(277deg, #1DFAF5, #9EFEB0);
color: #111
}

.abt-pg .pg-lim {
max-width: 1100px;
margin-left: auto;
margin-right: auto;
padding-left: 28px;
padding-right: 28px
}

.abt-pg .drop-cap::first-letter {
font-size: 72px;
line-height: 1.2;
float: left;
margin-right: 8px;
margin-top: 4px;
color: #111;
font-weight: 700
}

.abt-pg .txt-sel {
background: linear-gradient(277deg, #1DFAF5 60%, transparent);
display: inline;
padding: 0 8px;
border-radius: 5px
}

.abt-pg .dot-acc::after {
content: "";
display: inline-block;
width: 6px;
height: 6px;
background: #1DFAF5;
border-radius: 40px;
margin-left: 4px;
vertical-align: middle
}

.abt-pg .ttl-blk {
padding-top: 96px;
padding-bottom: 56px
}

.abt-pg .ttl-grid {
display: grid;
grid-template-columns: 1fr 340px;
gap: 56px;
align-items: center
}

.abt-pg .ttl-left {
padding-right: 28px
}

.abt-pg .ttl-eyebrow {
font-size: 16px;
font-weight: 600;
color: #333;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 16px;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px
}

.abt-pg .ttl-eyebrow-line {
width: 32px;
height: 2px;
background: linear-gradient(277deg, #1DFAF5, transparent);
border-radius: 5px
}

.abt-pg .ttl-h1 {
font-size: 44px;
line-height: 1.2;
font-weight: 800;
color: #111;
margin-bottom: 28px
}

.abt-pg .ttl-sub {
font-size: 18px;
line-height: 1.8;
color: #333;
margin-bottom: 28px
}

.abt-pg .ttl-stats {
display: flex;
flex-direction: row;
gap: 28px;
margin-top: 28px
}

.abt-pg .stat-item {
display: flex;
flex-direction: column;
gap: 4px
}

.abt-pg .stat-num {
font-size: 44px;
line-height: 1.2;
font-weight: 800;
color: #111
}

.abt-pg .stat-lbl {
font-size: 16px;
line-height: 1.8;
color: #555
}

.abt-pg .ttl-img-col {
position: relative;
padding-left: 16px
}

.abt-pg .ttl-img-wrap {
border-radius: 16px;
overflow: hidden;
box-shadow: 0 10px 36px 0 #1dfaf51c
}

.abt-pg .ttl-img-wrap img {
width: 100%;
height: 420px;
object-fit: cover;
object-position: center top;
display: block;
filter: saturate(0.7) contrast(1.1)
}

.abt-pg .ttl-img-overlay {
position: absolute;
inset: 0;
background: linear-gradient(277deg, #1dfaf538, #9efeb026);
border-radius: 16px;
pointer-events: none
}

.abt-pg .ttl-deco-line {
position: absolute;
top: -16px;
right: -8px;
width: 60px;
height: 60px;
pointer-events: none
}

.abt-pg .ttl-deco-line svg {
width: 60px;
height: 60px
}

.abt-pg .read-arrow {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-top: 28px
}

.abt-pg .read-arrow-svg {
width: 36px;
height: 36px;
background: linear-gradient(277deg, #1DFAF5, #9EFEB0);
border-radius: 40px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
box-shadow: 0 6px 14px 0 #1dfaf51a
}

.abt-pg .read-arrow-txt {
font-size: 16px;
color: #444;
line-height: 1.2
}

.abt-pg .story-sec {
background: linear-gradient(277deg, #f4fffe 0%, #f0fff4 60%, #EFEFEF 100%);
padding-top: 96px;
padding-bottom: 96px;
margin-left: 56px;
border-radius: 16px 0 0 16px
}

.abt-pg .story-grid {
display: grid;
grid-template-columns: 400px 1fr;
gap: 56px;
align-items: start
}

.abt-pg .story-img-wrap {
border-radius: 16px;
overflow: hidden;
box-shadow: 0 6px 14px 0 #9efeb01a;
position: relative
}

.abt-pg .story-img-wrap img {
width: 100%;
height: 500px;
object-fit: cover;
object-position: center center;
display: block;
filter: saturate(0.8) brightness(0.95)
}

.abt-pg .story-img-badge {
position: absolute;
bottom: 16px;
left: 16px;
background: #ffffffeb;
border-radius: 16px;
padding: 8px 16px;
box-shadow: 0 1px 5px 0 #1dfaf50f
}

.abt-pg .story-img-badge-txt {
font-size: 16px;
font-weight: 700;
color: #111;
line-height: 1.2
}

.abt-pg .story-img-badge-sub {
font-size: 16px;
color: #555;
line-height: 1.2
}

.abt-pg .story-right {
padding-top: 8px
}

.abt-pg .story-h2 {
font-size: 32px;
line-height: 1.2;
font-weight: 800;
color: #111;
margin-bottom: 16px
}

.abt-pg .story-body {
font-size: 18px;
line-height: 1.8;
color: #333;
margin-bottom: 28px
}

.abt-pg .steps-list {
display: flex;
flex-direction: column;
gap: 0;
margin-top: 28px;
list-style: none;
margin-left: 0;
padding-left: 0
}

.abt-pg .step-item {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
position: relative;
padding-bottom: 28px
}

.abt-pg .step-item:last-child {
padding-bottom: 0
}

.abt-pg .step-left {
display: flex;
flex-direction: column;
align-items: center;
flex-shrink: 0
}

.abt-pg .step-num {
width: 40px;
height: 40px;
border-radius: 40px;
background: linear-gradient(277deg, #1DFAF5, #9EFEB0);
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
font-weight: 800;
color: #111;
flex-shrink: 0;
box-shadow: 0 6px 14px 0 #1dfaf51a
}

.abt-pg .step-connector {
width: 2px;
flex: 1;
min-height: 24px;
background: linear-gradient(to bottom, #1DFAF5, transparent);
margin-top: 8px;
border-radius: 5px
}

.abt-pg .step-item:last-child .step-connector {
display: none
}

.abt-pg .step-body {
padding-top: 8px
}

.abt-pg .step-hdg {
font-size: 18px;
font-weight: 700;
color: #111;
margin-bottom: 8px;
line-height: 1.2
}

.abt-pg .step-desc {
font-size: 16px;
line-height: 1.8;
color: #444;
border-bottom: 1px solid #1dfaf54d;
padding-bottom: 16px
}

.abt-pg .step-item:last-child .step-desc {
border-bottom: none
}

.abt-pg .team-sec {
padding-top: 96px;
padding-bottom: 96px;
margin-right: 56px;
border-radius: 0 16px 16px 0;
background: #fff
}

.abt-pg .team-top {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: start;
margin-bottom: 56px
}

.abt-pg .team-txt-col {
padding-right: 16px
}

.abt-pg .team-h2 {
font-size: 32px;
line-height: 1.2;
font-weight: 800;
color: #111;
margin-bottom: 16px
}

.abt-pg .team-body {
font-size: 18px;
line-height: 1.8;
color: #333;
margin-bottom: 28px
}

.abt-pg .team-vals {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 8px
}

.abt-pg .team-val-item {
font-size: 16px;
line-height: 1.8;
color: #333;
padding-bottom: 8px;
border-bottom: 1px solid #1dfaf566
}

.abt-pg .team-val-item:last-child {
border-bottom: none
}

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

.abt-pg .team-img-a {
border-radius: 16px;
overflow: hidden;
box-shadow: 0 10px 36px 0 #1dfaf51c
}

.abt-pg .team-img-a img {
width: 100%;
height: 240px;
object-fit: cover;
object-position: center top;
display: block;
filter: saturate(0.75);
transition: filter .28s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.abt-pg .team-img-a:hover img {
filter: saturate(1.1)
}

.abt-pg .team-img-b {
border-radius: 16px;
overflow: hidden;
box-shadow: 0 6px 14px 0 #9efeb01a;
margin-top: 28px
}

.abt-pg .team-img-b img {
width: 100%;
height: 240px;
object-fit: cover;
object-position: center 30%;
display: block;
filter: saturate(0.75);
transition: filter .28s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.abt-pg .team-img-b:hover img {
filter: saturate(1.1)
}

.abt-pg .metrics-row {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 28px;
margin-bottom: 56px
}

.abt-pg .metric-card {
background: linear-gradient(277deg, #1dfaf50f, #9efeb00f);
border-radius: 16px;
padding: 28px;
box-shadow: inset 0 1px 5px 0 #1dfaf50f 0 1px 5px 0 #1dfaf50f;
transition: box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.abt-pg .metric-card:hover {
box-shadow: inset 0 1px 5px 0 #1dfaf50f 0 10px 36px 0 #1dfaf51c
}

.abt-pg .metric-big {
font-size: 44px;
line-height: 1.2;
font-weight: 800;
color: #111
}

.abt-pg .metric-unit {
font-size: 24px;
font-weight: 700;
color: #1DFAF5
}

.abt-pg .metric-desc {
font-size: 16px;
line-height: 1.8;
color: #555;
margin-top: 8px
}

.abt-pg .sub-strip {
background: linear-gradient(277deg, #1DFAF5 0%, #9EFEB0 100%);
border-radius: 16px;
padding: 56px 28px;
box-shadow: 0 10px 36px 0 #1dfaf51c
}

.abt-pg .sub-inner {
max-width: 520px;
margin-left: auto;
margin-right: auto;
text-align: center
}

.abt-pg .sub-h3 {
font-size: 24px;
line-height: 1.2;
font-weight: 800;
color: #111;
margin-bottom: 8px
}

.abt-pg .sub-desc {
font-size: 16px;
line-height: 1.8;
color: #222;
margin-bottom: 28px
}

.abt-pg .sub-form {
display: flex;
flex-direction: column;
gap: 16px
}

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

.abt-pg .sub-field {
display: flex;
flex-direction: column;
gap: 8px;
text-align: left
}

.abt-pg .sub-lbl {
font-size: 16px;
font-weight: 600;
color: #111;
line-height: 1.2
}

.abt-pg .sub-inp {
padding: 16px;
border-radius: 5px;
border: 2px solid #1111112e;
background: #ffffffb3;
font-size: 16px;
color: #111;
line-height: 1.2;
outline: none;
transition: border-color .22s cubic-bezier(0.34, 1.56, 0.64, 1), background .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.abt-pg .sub-inp::placeholder {
color: #11111161
}

.abt-pg .sub-inp:focus {
border-color: #111;
background: #fffffff2
}

.abt-pg .sub-btn {
padding: 16px 28px;
border-radius: 40px;
border: 2px solid #111;
background: #111;
color: #1DFAF5;
font-size: 18px;
font-weight: 700;
cursor: pointer;
line-height: 1.2;
transition: background .25s cubic-bezier(0.34, 1.56, 0.64, 1), color .25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1), outline-offset .2s cubic-bezier(0.34, 1.56, 0.64, 1);
outline: 2px solid transparent;
outline-offset: 0
}

.abt-pg .sub-btn:hover {
background: transparent;
color: #111;
outline: 2px solid #111;
outline-offset: 4px
}

.abt-pg .sub-btn:focus-visible {
outline: 3px solid #111;
outline-offset: 6px
}

.abt-pg .div-fade {
height: 2px;
background: linear-gradient(277deg, #1DFAF5, transparent 80%);
border: none;
margin: 0
}

.abt-pg .div-gap {
height: 56px
}

.abt-pg .rot-icon {
display: inline-flex;
align-items: center;
justify-content: center
}

.abt-pg .rot-icon svg {
transition: transform .32s cubic-bezier(0.68, -0.55, 0.27, 1.55)
}

.abt-pg .metric-card:hover .rot-icon svg {
transform: rotate(360deg)
}

.abt-pg .has-tip {
position: relative
}

.abt-pg .tip-txt {
position: absolute;
bottom: calc(100% + 8px);
left: 50%;
transform: translateX(-50%);
background: #111;
color: #1DFAF5;
font-size: 16px;
padding: 8px 16px;
border-radius: 5px;
white-space: nowrap;
pointer-events: none;
opacity: 0;
transition: opacity .22s cubic-bezier(0.34, 1.56, 0.64, 1);
box-shadow: 0 6px 14px 0 #1dfaf51a
}

.abt-pg .has-tip:focus-within .tip-txt,
.abt-pg .has-tip:focus .tip-txt {
opacity: 1
}

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

.abt-pg .ttl-left {
padding-right: 0
}

.abt-pg .ttl-img-col {
padding-left: 0;
max-width: 480px
}

.abt-pg .ttl-img-wrap img {
height: 280px
}

.abt-pg .story-grid {
grid-template-columns: 1fr;
gap: 28px
}

.abt-pg .story-img-wrap img {
height: 280px
}

.abt-pg .story-sec {
margin-left: 16px
}

.abt-pg .team-sec {
margin-right: 16px
}

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

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

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

.abt-pg .ttl-stats {
flex-wrap: wrap;
gap: 16px
}
}

@media (max-width: 600px) {
.abt-pg .ttl-blk {
padding-top: 56px;
padding-bottom: 28px
}

.abt-pg .ttl-h1 {
font-size: 32px
}

.abt-pg .stat-num {
font-size: 32px
}

.abt-pg .story-sec,
.abt-pg .team-sec {
margin-left: 0;
margin-right: 0;
border-radius: 0;
padding-top: 56px;
padding-bottom: 56px
}

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

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

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

.abt-pg .team-img-b {
margin-top: 0
}

.abt-pg .metric-big {
font-size: 32px
}
}

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

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

.srvs_pg ::selection {
background: linear-gradient(277deg, #1DFAF5, #9EFEB0);
color: #111
}

.srvs_pg .pg_wrap {
max-width: 1100px;
margin: 0 auto;
padding: 0 28px
}

.srvs_pg .ttl_blk {
position: relative;
padding: 96px 28px 56px;
background: linear-gradient(180deg, #e8fffe 0%, #fff 100%)
}

.srvs_pg .ttl_blk .stripe_tex {
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(90deg, #1dfaf50f 0px, #1dfaf50f 1px, transparent 1px, transparent 48px);
pointer-events: none
}

.srvs_pg .ttl_blk .fade_pulse {
position: absolute;
inset: 0;
background: #1dfaf50a;
animation: bg_pulse 6s ease-in-out infinite;
pointer-events: none
}

@keyframes bg_pulse {

0%,
100% {
opacity: .4
}

50% {
opacity: 1
}
}

.srvs_pg .ttl_inner {
max-width: 1100px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 56px
}

.srvs_pg .ttl_left {
flex: 2;
padding: 28px 0
}

.srvs_pg .ttl_right {
flex: 1;
padding: 56px 0 28px
}

.srvs_pg .num_acc {
font-size: 72px;
line-height: 1.2;
font-weight: 900;
color: #1DFAF5;
opacity: .18;
display: block;
margin-bottom: -28px;
user-select: none
}

.srvs_pg .ttl_h1 {
font-size: 44px;
line-height: 1.2;
font-weight: 800;
color: #111;
margin: 0 0 16px;
position: relative;
z-index: 1
}

.srvs_pg .ttl_h1 .h_strip {
background: linear-gradient(277deg, #1dfaf559, transparent);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.srvs_pg .ttl_sub {
font-size: 18px;
line-height: 1.8;
color: #333;
max-width: 520px;
margin: 0 0 28px
}

.srvs_pg .ttl_sub::first-letter {
font-size: 32px;
line-height: 1.2;
font-weight: 700;
float: left;
margin-right: 8px;
color: #1DFAF5;
line-height: .85
}

.srvs_pg .ttl_badge {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
background: #fff;
border: 2px solid #1DFAF5;
border-radius: 16px;
padding: 8px 16px;
font-size: 16px;
color: #111;
box-shadow: 0 6px 14px 0 #1dfaf51a
}

.srvs_pg .ttl_badge .dot {
width: 8px;
height: 8px;
border-radius: 40px;
background: #9EFEB0;
display: inline-block
}

.srvs_pg .ttl_right .img_wrap {
border-radius: 16px;
overflow: hidden;
box-shadow: 0 10px 36px 0 #1dfaf51c;
position: relative
}

.srvs_pg .ttl_right .img_wrap img {
width: 100%;
height: 280px;
object-fit: cover;
object-position: center top;
display: block;
transition: transform .35s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.srvs_pg .ttl_right .img_wrap:hover img {
transform: scale(1.03)
}

.srvs_pg .ttl_right .img_overlay {
position: absolute;
inset: 0;
background: linear-gradient(277deg, #1dfaf538, transparent);
pointer-events: none;
border-radius: 16px
}

.srvs_pg .curl_deco {
position: absolute;
bottom: 16px;
right: 28px;
width: 56px;
height: 56px;
opacity: .12;
pointer-events: none
}

.srvs_pg .curl_deco svg {
width: 100%;
height: 100%
}

.srvs_pg .div_a {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
padding: 16px 0;
gap: 16px
}

.srvs_pg .div_a .ln {
flex: 1;
height: 1px;
background: linear-gradient(90deg, transparent, #1DFAF5, transparent);
max-width: 400px
}

.srvs_pg .div_a .dmd {
width: 10px;
height: 10px;
background: #9EFEB0;
transform: rotate(45deg);
border-radius: 5px;
flex-shrink: 0
}

.srvs_pg .srv_grid_sec {
padding: 56px 28px;
background: #fff;
position: relative
}

.srvs_pg .srv_grid_sec .sec_top {
max-width: 1100px;
margin: 0 auto 56px;
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 56px
}

.srvs_pg .srv_grid_sec .sec_lbl {
font-size: 16px;
color: #555;
text-transform: uppercase;
letter-spacing: .08em;
margin: 0 0 8px
}

.srvs_pg .srv_grid_sec .sec_h2 {
font-size: 32px;
line-height: 1.2;
font-weight: 700;
color: #111;
margin: 0;
position: relative;
display: inline-block
}

.srvs_pg .srv_grid_sec .sec_h2 .h_strip {
background: #1dfaf540;
display: inline;
padding: 0 8px;
border-radius: 5px
}

.srvs_pg .srv_grid_sec .sec_desc {
font-size: 18px;
line-height: 1.8;
color: #444;
max-width: 380px;
margin: 0;
flex-shrink: 0
}

.srvs_pg .srv_grid {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: 2fr 1fr;
grid-template-rows: auto auto;
gap: 28px
}

.srvs_pg .srv_card {
background: #EFEFEF;
border-radius: 16px;
padding: 28px;
box-shadow: 0 1px 5px 0 #1dfaf50f;
transition: box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1), transform .25s cubic-bezier(0.34, 1.56, 0.64, 1);
box-shadow: inset 0 2px 8px 0 #1dfaf50f 0 1px 5px 0 #1dfaf50f;
position: relative
}

.srvs_pg .srv_card:hover {
transform: translateY(-4px);
box-shadow: 0 10px 36px 0 #1dfaf51c inset 0 2px 8px 0 #1dfaf50f
}

.srvs_pg .srv_card.featured {
grid-row: 1 / 3;
background: linear-gradient(180deg, #e8fffe 0%, #EFEFEF 100%);
display: flex;
flex-direction: column;
gap: 16px
}

.srvs_pg .srv_card .card_ico {
width: 44px;
height: 44px;
border-radius: 16px;
background: linear-gradient(277deg, #1DFAF5, #9EFEB0);
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 8px;
flex-shrink: 0
}

.srvs_pg .srv_card .card_ico svg {
width: 22px;
height: 22px
}

.srvs_pg .srv_card .card_h3 {
font-size: 24px;
line-height: 1.2;
font-weight: 700;
color: #111;
margin: 0 0 8px
}

.srvs_pg .srv_card .card_p {
font-size: 16px;
line-height: 1.8;
color: #333;
margin: 0 0 16px
}

.srvs_pg .srv_card .card_h4 {
font-size: 18px;
line-height: 1.2;
font-weight: 700;
color: #111;
margin: 0 0 8px
}

.srvs_pg .srv_card .card_p_sm {
font-size: 16px;
line-height: 1.8;
color: #333;
margin: 0
}

.srvs_pg .srv_card .feat_img {
border-radius: 16px;
overflow: hidden;
margin-top: 8px
}

.srvs_pg .srv_card .feat_img img {
width: 100%;
height: 200px;
object-fit: cover;
object-position: center center;
display: block
}

.srvs_pg .srv_card .tag_list {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
margin-top: 16px;
list-style: none;
padding: 0
}

.srvs_pg .srv_card .tag_list li {
background: #1dfaf526;
border-radius: 40px;
padding: 4px 16px;
font-size: 16px;
color: #111;
border-bottom: 2px solid #1dfaf566;
transition: background .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.srvs_pg .srv_card .tag_list li:hover {
background: #1dfaf54d
}

.srvs_pg .srv_card .metric_row {
display: flex;
flex-direction: row;
gap: 16px;
margin-top: 16px;
flex-wrap: wrap
}

.srvs_pg .srv_card .metric {
flex: 1;
min-width: 80px;
background: #fff;
border-radius: 16px;
padding: 16px;
text-align: center;
box-shadow: 0 1px 5px 0 #1dfaf50f
}

.srvs_pg .srv_card .metric .m_val {
font-size: 32px;
line-height: 1.2;
font-weight: 800;
color: #111;
display: block
}

.srvs_pg .srv_card .metric .m_lbl {
font-size: 16px;
line-height: 1.8;
color: #555;
display: block
}

.srvs_pg .word_hl span {
display: inline;
padding: 0 2px;
border-radius: 5px;
transition: background .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.srvs_pg .word_hl span:hover {
background: #9efeb059
}

.srvs_pg .div_b {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
padding: 8px 0
}

.srvs_pg .div_b .tri {
width: 0;
height: 0;
border-left: 12px solid transparent;
border-right: 12px solid transparent;
border-top: 14px solid #1DFAF5;
opacity: .5
}

.srvs_pg .prc_sec {
padding: 56px 28px 96px;
background: linear-gradient(180deg, #e8fffe 0%, #fff 100%);
position: relative
}

.srvs_pg .prc_sec .curl_b {
position: absolute;
top: 28px;
left: 28px;
width: 48px;
height: 48px;
opacity: .1;
pointer-events: none
}

.srvs_pg .prc_sec .curl_b svg {
width: 100%;
height: 100%
}

.srvs_pg .prc_inner {
max-width: 1100px;
margin: 0 auto
}

.srvs_pg .pull_quote {
background: linear-gradient(277deg, #1dfaf52e, #9efeb01f);
border-radius: 16px;
padding: 56px;
margin-bottom: 56px;
position: relative;
box-shadow: 0 6px 14px 0 #1dfaf51a
}

.srvs_pg .pull_quote .pq_mark {
position: absolute;
top: 16px;
left: 28px;
font-size: 72px;
line-height: 1.2;
color: #1DFAF5;
opacity: .3;
font-weight: 900;
user-select: none;
pointer-events: none
}

.srvs_pg .pull_quote .pq_txt {
font-size: 24px;
line-height: 1.8;
font-weight: 600;
color: #111;
margin: 0 0 16px;
padding-left: 28px
}

.srvs_pg .pull_quote .pq_attr {
font-size: 16px;
line-height: 1.8;
color: #555;
padding-left: 28px;
margin: 0;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px
}

.srvs_pg .pull_quote .pq_attr::before {
content: "";
display: inline-block;
width: 24px;
height: 2px;
background: #9EFEB0;
border-radius: 5px
}

.srvs_pg .prc_h2 {
font-size: 32px;
line-height: 1.2;
font-weight: 700;
color: #111;
margin: 0 0 28px
}

.srvs_pg .prc_h2 .h_strip {
background: #1dfaf540;
display: inline;
padding: 0 8px;
border-radius: 5px
}

.srvs_pg .prc_steps {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
margin-bottom: 56px
}

.srvs_pg .step_item {
background: #fff;
border-radius: 16px;
padding: 28px 16px;
box-shadow: 0 1px 5px 0 #1dfaf50f;
text-align: center;
transition: transform .28s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .28s cubic-bezier(0.34, 1.56, 0.64, 1);
box-shadow: inset 0 2px 10px 0 #1dfaf512 0 1px 5px 0 #1dfaf50f
}

.srvs_pg .step_item:hover {
transform: translateY(-6px);
box-shadow: 0 10px 36px 0 #1dfaf51c
}

.srvs_pg .step_item .step_num {
font-size: 44px;
line-height: 1.2;
font-weight: 900;
color: #1DFAF5;
display: block;
margin-bottom: 8px
}

.srvs_pg .step_item .step_h4 {
font-size: 18px;
line-height: 1.2;
font-weight: 700;
color: #111;
margin: 0 0 8px
}

.srvs_pg .step_item .step_p {
font-size: 16px;
line-height: 1.8;
color: #444;
margin: 0
}

.srvs_pg .prc_bot {
display: flex;
flex-direction: row;
gap: 28px;
align-items: stretch
}

.srvs_pg .prc_img_col {
flex: 1;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 10px 36px 0 #1dfaf51c;
position: relative
}

.srvs_pg .prc_img_col img {
width: 100%;
height: 100%;
min-height: 240px;
object-fit: cover;
object-position: center 30%;
display: block
}

.srvs_pg .prc_img_col .img_ov {
position: absolute;
inset: 0;
background: linear-gradient(277deg, #1dfaf52e, transparent);
pointer-events: none
}

.srvs_pg .prc_txt_col {
flex: 1;
display: flex;
flex-direction: column;
gap: 16px
}

.srvs_pg .prc_txt_col .fact_item {
background: #fff;
border-radius: 16px;
padding: 16px 28px;
box-shadow: 0 1px 5px 0 #1dfaf50f;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
border-bottom: 2px solid #1dfaf54d;
transition: border-color .22s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.srvs_pg .prc_txt_col .fact_item:hover {
border-color: #1DFAF5
}

.srvs_pg .prc_txt_col .fact_ico {
width: 36px;
height: 36px;
border-radius: 40px;
background: linear-gradient(277deg, #1DFAF5, #9EFEB0);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
margin-top: 4px
}

.srvs_pg .prc_txt_col .fact_ico svg {
width: 18px;
height: 18px
}

.srvs_pg .prc_txt_col .fact_h5 {
font-size: 18px;
line-height: 1.2;
font-weight: 700;
color: #111;
margin: 0 0 4px
}

.srvs_pg .prc_txt_col .fact_p {
font-size: 16px;
line-height: 1.8;
color: #444;
margin: 0
}

.srvs_pg .dot_acc::after {
content: "";
display: inline-block;
width: 6px;
height: 6px;
background: #9EFEB0;
border-radius: 40px;
margin-left: 4px;
vertical-align: middle
}

@media (max-width: 900px) {
.srvs_pg .ttl_inner {
flex-direction: column;
gap: 28px
}

.srvs_pg .ttl_right {
padding: 0;
width: 100%
}

.srvs_pg .srv_grid {
grid-template-columns: 1fr;
grid-template-rows: auto
}

.srvs_pg .srv_card.featured {
grid-row: auto
}

.srvs_pg .srv_grid_sec .sec_top {
flex-direction: column;
gap: 16px;
align-items: flex-start
}

.srvs_pg .prc_steps {
grid-template-columns: repeat(2, 1fr)
}

.srvs_pg .prc_bot {
flex-direction: column
}

.srvs_pg .pull_quote {
padding: 28px
}
}

@media (max-width: 600px) {
.srvs_pg .ttl_blk {
padding: 56px 16px 28px
}

.srvs_pg .ttl_h1 {
font-size: 32px
}

.srvs_pg .num_acc {
font-size: 44px
}

.srvs_pg .prc_steps {
grid-template-columns: 1fr
}

.srvs_pg .srv_grid_sec {
padding: 28px 16px
}

.srvs_pg .prc_sec {
padding: 28px 16px 56px
}

.srvs_pg .pull_quote .pq_txt {
font-size: 18px;
padding-left: 16px
}

.srvs_pg .pull_quote {
padding: 28px 16px
}
}

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

.cont_us .pg_wrap {
max-width: 1100px;
margin: 0 auto;
padding: 0 28px
}

.cont_us ::selection {
background: linear-gradient(277deg, #1DFAF5, #9EFEB0);
color: #111
}

.cont_us .reach_blk {
padding: 96px 0 56px;
background: #fff;
position: relative
}

.cont_us .reach_blk::after {
content: '';
position: absolute;
top: 0;
right: 0;
width: 3px;
height: 100%;
background: linear-gradient(180deg, #1DFAF5, #9EFEB0);
pointer-events: none
}

.cont_us .reach_grid {
display: grid;
grid-template-columns: 340px 1fr;
gap: 56px;
align-items: start
}

.cont_us .reach_left {
padding: 28px 28px 28px 0;
border-right: 1px solid #EFEFEF;
position: relative
}

.cont_us .reach_left::before {
content: '';
position: absolute;
left: 0;
top: 16px;
width: 3px;
height: 60px;
background: #1DFAF5;
border-radius: 5px
}

.cont_us .reach_label {
font-size: 16px;
font-weight: 600;
color: #1DFAF5;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 16px;
padding-left: 16px
}

.cont_us .reach_h1 {
font-size: 44px;
font-weight: 800;
line-height: 1.2;
color: #111;
margin-bottom: 28px;
padding-left: 16px
}

.cont_us .reach_h1 span {
background: linear-gradient(277deg, #1DFAF5 0%, transparent 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent
}

.cont_us .reach_desc {
font-size: 18px;
line-height: 1.8;
color: #333;
padding-left: 16px;
margin-bottom: 0
}

.cont_us .reach_right {
display: flex;
flex-direction: column;
gap: 28px;
padding: 28px 0
}

.cont_us .c_item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
border-radius: 16px;
background: #EFEFEF;
box-shadow: 0 1px 5px 0 #1dfaf50f;
transition: box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1), transform .25s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.cont_us .c_item:hover {
box-shadow: 0 6px 14px 0 #1dfaf51a;
transform: translateY(-2px)
}

.cont_us .c_icon {
width: 44px;
height: 44px;
border-radius: 16px;
background: linear-gradient(277deg, #1DFAF5, #9EFEB0);
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.cont_us .c_icon svg {
width: 22px;
height: 22px
}

.cont_us .c_txt {
display: flex;
flex-direction: column;
gap: 8px
}

.cont_us .c_lbl {
font-size: 16px;
font-weight: 700;
color: #111;
line-height: 1.2
}

.cont_us .c_val {
font-size: 16px;
color: #444;
line-height: 1.8;
text-decoration: none
}

.cont_us .c_val:hover {
color: #0bbfbb
}

.cont_us .img_blk {
padding: 56px 0;
background: #EFEFEF;
position: relative;
overflow: hidden
}

.cont_us .img_blk::before {
content: '';
position: absolute;
inset: 0;
background: repeating-linear-gradient(277deg, transparent, transparent 28px, #1dfaf50a 28px, #1dfaf50a 29px);
pointer-events: none
}

.cont_us .img_inner {
display: grid;
grid-template-columns: 1fr 340px;
gap: 56px;
align-items: center;
max-width: 1100px;
margin: 0 auto;
padding: 0 28px
}

.cont_us .img_txt {
position: relative;
padding-left: 16px
}

.cont_us .img_txt::before {
content: '';
position: absolute;
left: 0;
top: 8px;
width: 3px;
height: 80%;
background: #9EFEB0;
border-radius: 5px
}

.cont_us .img_tag {
display: inline-block;
font-size: 16px;
font-weight: 700;
color: #111;
background: linear-gradient(277deg, #9EFEB0, #1DFAF5);
padding: 8px 16px;
border-radius: 5px;
margin-bottom: 16px
}

.cont_us .img_h2 {
font-size: 32px;
font-weight: 800;
line-height: 1.2;
color: #111;
margin-bottom: 16px
}

.cont_us .img_para {
font-size: 18px;
line-height: 1.8;
color: #333;
margin-bottom: 16px
}

.cont_us .img_para:first-of-type::first-letter {
font-size: 44px;
font-weight: 800;
line-height: 1;
float: left;
margin-right: 8px;
color: #1DFAF5
}

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

.cont_us .info_list li {
font-size: 16px;
line-height: 1.8;
color: #333;
padding-bottom: 8px;
border-bottom: 1px solid #1dfaf54d
}

.cont_us .info_list li:last-child {
border-bottom: none
}

.cont_us .img_wrap {
position: relative;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 10px 36px 0 #1dfaf51c
}

.cont_us .img_wrap img {
width: 100%;
height: 380px;
object-fit: cover;
object-position: center top;
display: block;
border-radius: 16px
}

.cont_us .img_wrap::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(277deg, #1dfaf52e, #9efeb01f);
border-radius: 16px;
pointer-events: none
}

.cont_us .form_blk {
padding: 96px 0;
position: relative;
background: #fff
}

.cont_us .diag_bg {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.cont_us .diag_bg::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 55%;
height: 100%;
background: linear-gradient(277deg, #1dfaf512, transparent);
clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%)
}

.cont_us .form_wrap {
max-width: 1100px;
margin: 0 auto;
padding: 0 28px;
position: relative
}

.cont_us .form_head {
text-align: center;
margin-bottom: 56px
}

.cont_us .form_h2 {
font-size: 32px;
font-weight: 800;
line-height: 1.2;
color: #111;
margin-bottom: 16px;
display: inline-block;
background: linear-gradient(277deg, #1dfaf540, #9efeb026);
padding: 8px 28px;
border-radius: 5px
}

.cont_us .form_sub {
font-size: 18px;
line-height: 1.8;
color: #444;
max-width: 560px;
margin: 0 auto
}

.cont_us .frm_card {
background: #fff;
border-radius: 16px;
padding: 56px;
box-shadow: 0 10px 36px 0 #1dfaf51c inset 0 1px 5px 0 #1dfaf50f;
max-width: 780px;
margin: 0 auto
}

.cont_us .frm_row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 28px;
margin-bottom: 28px
}

.cont_us .frm_grp {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 28px
}

.cont_us .frm_grp.no_mb {
margin-bottom: 0
}

.cont_us .frm_lbl {
font-size: 16px;
font-weight: 700;
color: #222;
line-height: 1.2
}

.cont_us .frm_lbl span {
color: #0bbfbb;
margin-left: 2px
}

.cont_us .frm_inp {
width: 100%;
padding: 16px;
border: 1.5px solid #EFEFEF;
border-radius: 5px;
font-size: 16px;
color: #222;
background: #fff;
outline: none;
box-shadow: 0 1px 5px 0 #1dfaf50f;
transition: border-color .22s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .22s cubic-bezier(0.34, 1.56, 0.64, 1);
box-sizing: border-box
}

.cont_us .frm_inp::placeholder {
color: #22222259
}

.cont_us .frm_inp:focus {
border-color: #1DFAF5;
box-shadow: 0 6px 14px 0 #1dfaf51a
}

.cont_us .radio_grp {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 28px
}

.cont_us .radio_opts {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 16px
}

.cont_us .radio_opt {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
cursor: pointer
}

.cont_us .radio_opt input[type="radio"] {
width: 20px;
height: 20px;
accent-color: #1DFAF5;
cursor: pointer;
flex-shrink: 0
}

.cont_us .radio_opt_lbl {
font-size: 16px;
color: #333;
line-height: 1.2;
cursor: pointer
}

.cont_us .radio_opt input[type="radio"]:checked+.radio_opt_lbl {
color: #111;
font-weight: 700
}

.cont_us .privacy_row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
margin-bottom: 28px;
padding: 16px;
background: #EFEFEF;
border-radius: 5px
}

.cont_us .privacy_row input[type="checkbox"] {
width: 20px;
height: 20px;
accent-color: #1DFAF5;
cursor: pointer;
flex-shrink: 0;
margin-top: 2px
}

.cont_us .privacy_txt {
font-size: 16px;
line-height: 1.8;
color: #444
}

.cont_us .privacy_txt a {
color: #0bbfbb;
text-decoration: underline;
transition: color .2s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.cont_us .privacy_txt a:hover {
color: #9EFEB0
}

.cont_us .frm_submit {
display: flex;
flex-direction: row;
justify-content: flex-end
}

.cont_us .btn_send {
padding: 16px 56px;
font-size: 18px;
font-weight: 700;
color: #111;
background: linear-gradient(277deg, #1DFAF5, #9EFEB0);
border: 2px solid transparent;
border-radius: 40px;
cursor: pointer;
outline: none;
box-shadow: 0 6px 14px 0 #1dfaf51a;
transition: box-shadow .28s cubic-bezier(0.34, 1.56, 0.64, 1), outline-offset .28s cubic-bezier(0.34, 1.56, 0.64, 1), transform .28s cubic-bezier(0.34, 1.56, 0.64, 1);
outline: 2px solid transparent;
outline-offset: 0
}

.cont_us .btn_send:hover {
box-shadow: 0 10px 36px 0 #1dfaf51c;
outline: 2px solid #1DFAF5;
outline-offset: 5px;
transform: translateY(-2px)
}

.cont_us .btn_send:focus {
outline: 2px solid #1DFAF5;
outline-offset: 5px
}

.cont_us .btn_send:active {
transform: translateY(0);
box-shadow: 0 1px 5px 0 #1dfaf50f
}

@media (max-width: 900px) {
.cont_us .reach_grid {
grid-template-columns: 1fr;
gap: 28px
}

.cont_us .reach_left {
border-right: none;
border-bottom: 1px solid #EFEFEF;
padding-bottom: 28px
}

.cont_us .img_inner {
grid-template-columns: 1fr;
gap: 28px
}

.cont_us .img_wrap {
order: -1
}

.cont_us .frm_card {
padding: 28px
}

.cont_us .frm_row {
grid-template-columns: 1fr;
gap: 0
}
}

@media (max-width: 600px) {
.cont_us .reach_h1 {
font-size: 32px
}

.cont_us .form_h2 {
font-size: 24px
}

.cont_us .img_h2 {
font-size: 24px
}

.cont_us .reach_blk {
padding: 56px 0 28px
}

.cont_us .form_blk {
padding: 56px 0
}

.cont_us .radio_opts {
flex-direction: column;
gap: 8px
}

.cont_us .frm_submit {
justify-content: center
}

.cont_us .btn_send {
width: 100%;
text-align: center
}
}

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

.succ_page .succ_wrap {
max-width: 1100px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 28px
}

.succ_page .succ_icon {
width: 72px;
height: 72px;
flex-shrink: 0
}

.succ_page .succ_icon circle {
fill: none;
stroke: #1DFAF5;
stroke-width: 3
}

.succ_page .succ_icon polyline {
fill: none;
stroke: #1DFAF5;
stroke-width: 3;
stroke-linecap: round;
stroke-linejoin: round
}

.succ_page .succ_badge {
display: inline-block;
padding: 8px 16px;
background: #9EFEB0;
border-radius: 5px;
font-size: 16px;
line-height: 1.2;
color: #1a3320;
font-weight: 600;
letter-spacing: .04em;
box-shadow: 0 1px 5px 0 #1dfaf50f
}

.succ_page .succ_heading {
font-size: 44px;
line-height: 1.2;
font-weight: 700;
color: #111;
margin: 0;
max-width: 640px
}

.succ_page .succ_desc {
font-size: 18px;
line-height: 1.8;
color: #333;
max-width: 520px;
margin: 0
}

.succ_page .succ_divider {
width: 56px;
height: 3px;
border-radius: 40px;
background: linear-gradient(277deg, #1DFAF5 0%, transparent 100%)
}

.succ_page .succ_actions {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
justify-content: center;
margin-top: 8px
}

.succ_page .succ_btn {
display: inline-block;
padding: 16px 28px;
border-radius: 16px;
font-size: 16px;
line-height: 1.2;
font-weight: 600;
text-decoration: none;
cursor: pointer;
border: 2px solid transparent;
transition: box-shadow .25s cubic-bezier(0.34, 1.56, 0.64, 1), border-color .22s cubic-bezier(0.34, 1.56, 0.64, 1), background .22s cubic-bezier(0.34, 1.56, 0.64, 1), color .22s cubic-bezier(0.34, 1.56, 0.64, 1);
box-shadow: 0 1px 5px 0 #1dfaf50f
}

.succ_page .succ_btn.primary {
background: #1DFAF5;
color: #111;
border-color: #1DFAF5
}

.succ_page .succ_btn.primary:hover,
.succ_page .succ_btn.primary:focus {
background: #fff;
color: #111;
border-color: #1DFAF5;
box-shadow: 0 6px 14px 0 #1dfaf51a 0 0 0 4px #1dfaf51f;
outline: none
}

.succ_page .succ_btn.secondary {
background: transparent;
color: #111;
border-color: #EFEFEF
}

.succ_page .succ_btn.secondary:hover,
.succ_page .succ_btn.secondary:focus {
border-color: #9EFEB0;
background: #9efeb01f;
box-shadow: 0 6px 14px 0 #9efeb01a;
outline: none
}

.succ_page .succ_note {
font-size: 16px;
line-height: 1.8;
color: #555;
max-width: 460px;
margin: 0;
padding: 16px 28px;
background: #EFEFEF;
border-radius: 16px;
box-shadow: inset 0 1px 5px 0 #1dfaf50f
}

@media (max-width: 600px) {
.succ_page {
padding: 56px 16px
}

.succ_page .succ_heading {
font-size: 32px
}

.succ_page .succ_actions {
flex-direction: column;
align-items: stretch;
gap: 16px
}

.succ_page .succ_btn {
text-align: center
}
}