html {
box-sizing: border-box
}

body {
margin: 0;
-webkit-text-size-adjust: 100%
}

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

.skipless-bar {
background: #015951;
padding: 6px 24px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px
}

.skipless-bar a,
.skipless-bar span {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 16px;
color: #FFFCFA;
text-decoration: none;
letter-spacing: .02em;
line-height: 1.35
}

.skipless-bar a:hover {
text-decoration: underline
}

.skipless-bar a:focus {
outline: 2px dashed #F4648B;
outline-offset: 2px
}

.skipless-bar .util-contact {
display: flex;
align-items: center;
gap: 24px
}

.skipless-bar .util-phone,
.skipless-bar .util-mail {
display: flex;
align-items: center;
gap: 6px
}

.util-icon {
width: 16px;
height: 16px;
flex-shrink: 0
}

.skipless-bar .util-tag {
font-size: 16px;
color: #F4648B;
font-weight: 700;
letter-spacing: .04em
}

.brand-row {
background: #FFFCFA;
padding: 24px 24px 12px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
border-bottom: 2px solid #015951
}

.brand-row .brand-block {
display: flex;
align-items: center;
gap: 12px
}

.hex-frame {
width: 52px;
height: 52px;
display: flex;
align-items: center;
justify-content: center;
clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
background: #FFFCFA;
border: 2px solid #015951;
box-shadow: 0 3px 3px 0 #01595112 0 5px 25px 0 #01595117;
flex-shrink: 0;
position: relative
}

.hex-frame img {
width: 40px;
height: 40px;
object-fit: contain;
display: block
}

.brand-name {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 32px;
font-weight: 700;
color: #015951;
line-height: 1.1;
letter-spacing: -.02em
}

.brand-sub {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 16px;
color: #F4648B;
font-weight: 500;
letter-spacing: .03em;
line-height: 1.35
}

.brand-year {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 16px;
color: #015951;
font-weight: 400;
letter-spacing: .02em;
opacity: .7;
line-height: 1.35;
text-align: right
}

.site-header {
background: #FFFCFA;
border-bottom: 3px solid #F4648B;
box-shadow: 0 5px 25px 0 #f4648b17;
width: 100%;
position: relative;
z-index: 100
}

.nav-row {
background: linear-gradient(90deg, #015951 70%, #F4648B 100%);
padding: 0 24px
}

.nav-row nav {
max-width: 1100px;
margin: 0 auto;
display: flex;
align-items: stretch;
gap: 0;
flex-wrap: wrap
}

.nav-row nav a {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 16px;
font-weight: 500;
color: #FFFCFA;
text-decoration: none;
padding: 12px 24px;
line-height: 1.35;
letter-spacing: .02em;
display: flex;
align-items: center;
gap: 6px;
border-bottom: 3px solid transparent;
transition: border-color .18s ease-out, background .15s ease-out;
min-height: 44px
}

.nav-row nav a:hover {
border-bottom-color: #F4648B;
background: #fffcfa14
}

.nav-row nav a:focus {
outline: 2px dashed #FFFCFA;
outline-offset: -3px
}

.nav-row nav a.active {
border-bottom-color: #FFFCFA;
background: #fffcfa1f
}

.brand-row .brand-inner {
max-width: 1100px;
margin: 0 auto;
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px
}

.skipless-bar .bar-inner {
max-width: 1100px;
margin: 0 auto;
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px
}

.footer-base {
background: #015951;
border-top: 3px solid #F4648B;
padding: 72px 24px 36px
}

.footer-base .foot-inner {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr auto 1fr;
align-items: start;
gap: 36px
}

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

.foot-hex {
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
background: #FFFCFA;
box-shadow: 0 3px 3px 0 #f4648b12 0 5px 25px 0 #f4648b17
}

.foot-hex img {
width: 36px;
height: 36px;
object-fit: contain;
display: block
}

.foot-brandname {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 32px;
font-weight: 700;
color: #FFFCFA;
line-height: 1.1;
letter-spacing: -.02em
}

.foot-tagline {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 16px;
color: #F4648B;
font-weight: 500;
line-height: 1.35;
letter-spacing: .02em
}

.foot-center {
display: flex;
flex-direction: column;
align-items: center;
gap: 12px
}

.foot-hours {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 16px;
color: #FFFCFA;
line-height: 1.55;
letter-spacing: .02em;
text-align: center
}

.foot-hours strong {
color: #F4648B;
font-weight: 700;
display: block;
font-size: 16px;
letter-spacing: .04em;
margin-bottom: 6px
}

.foot-addr {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 16px;
color: #fffcfab3;
line-height: 1.55;
letter-spacing: .01em;
text-align: center
}

.foot-right {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 12px
}

.foot-links {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 6px;
list-style: none;
margin: 0;
padding: 0
}

.foot-links li a {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 16px;
color: #FFFCFA;
text-decoration: none;
letter-spacing: .02em;
line-height: 1.35;
border-bottom: 1px solid transparent;
transition: border-color .16s ease-out, color .14s ease-out;
padding-bottom: 2px
}

.foot-links li a:hover {
border-bottom-color: #F4648B;
color: #F4648B
}

.foot-links li a:focus {
outline: 2px dashed #F4648B;
outline-offset: 2px
}

.foot-copy {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 16px;
color: #fffcfa80;
line-height: 1.35;
letter-spacing: .01em;
text-align: right
}

.foot-divider {
border: none;
border-top: 1px solid #fffcfa1f;
margin: 36px 0 24px;
max-width: 1100px;
margin-left: auto;
margin-right: auto
}

.foot-bottom {
max-width: 1100px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: center
}

.foot-bottom .foot-legal {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 16px;
color: #fffcfa73;
letter-spacing: .01em;
line-height: 1.35;
text-align: center
}

.consent-strip {
font-family: 'IBM Plex Sans', sans-serif
}

.consent-strip[hidden] {
display: none
}

.consent-strip-inner {
background: #015951;
border-bottom: 2px solid #F4648B;
padding: 12px 24px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
flex-wrap: wrap;
box-shadow: 0 5px 25px 0 #01595117
}

.consent-desc {
font-size: 16px;
color: #FFFCFA;
line-height: 1.55;
flex: 1;
min-width: 200px
}

.consent-desc a {
color: #F4648B;
text-decoration: underline
}

.consent-desc a:focus {
outline: 2px dashed #FFFCFA;
outline-offset: 2px
}

.consent-headline {
display: block;
font-weight: 700;
font-size: 16px;
color: #FFFCFA;
margin-top: 4px;
letter-spacing: .02em
}

.consent-actions {
display: flex;
align-items: center;
gap: 12px;
flex-shrink: 0
}

.consent-actions button {
font-family: 'IBM Plex Sans', sans-serif;
font-size: 16px;
font-weight: 500;
padding: 6px 24px;
border-radius: 4px;
border: 2px solid #FFFCFA;
background: transparent;
color: #FFFCFA;
cursor: pointer;
line-height: 1.35;
min-height: 44px;
letter-spacing: .02em;
transition: border-color .18s ease-out, color .15s ease-out
}

.consent-actions button:hover {
border-color: #F4648B;
color: #F4648B
}

.consent-actions button:focus {
outline: 2px dashed #FFFCFA;
outline-offset: 2px
}

.consent-actions button:active {
box-shadow: inset 0 2px 6px 0 #0159512e
}

@media (max-width: 768px) {
.skipless-bar .util-contact {
gap: 12px
}

.brand-row .brand-inner {
flex-wrap: wrap;
gap: 12px
}

.foot-inner {
grid-template-columns: 1fr !important
}

.foot-right {
align-items: flex-start
}

.foot-links {
align-items: flex-start
}

.foot-copy {
text-align: left
}

.foot-center {
align-items: flex-start
}

.foot-hours {
text-align: left
}

.foot-addr {
text-align: left
}
}

@media (max-width: 480px) {
.skipless-bar .util-contact {
flex-direction: column;
align-items: flex-start;
gap: 6px
}

.nav-row nav a {
padding: 12px;
font-size: 16px
}

.consent-strip-inner {
flex-direction: column;
align-items: flex-start
}

.consent-actions {
width: 100%;
justify-content: flex-start
}
}

.content-doc {
max-width: 1100px;
margin: 0 auto;
padding: 72px 36px;
background: #FFFCFA;
color: #015951
}

.content-doc h1 {
font-size: 62px;
line-height: 1.1;
letter-spacing: -.03em;
color: #015951;
margin-bottom: 36px;
margin-top: 0
}

.content-doc h2 {
font-size: 44px;
line-height: 1.1;
letter-spacing: -.02em;
color: #015951;
margin-top: 72px;
margin-bottom: 24px
}

.content-doc h3 {
font-size: 32px;
line-height: 1.35;
letter-spacing: -.01em;
color: #015951;
margin-top: 36px;
margin-bottom: 24px
}

.content-doc h4 {
font-size: 16px;
line-height: 1.55;
letter-spacing: .04em;
color: #F4648B;
text-transform: uppercase;
margin-top: 36px;
margin-bottom: 12px
}

.content-doc h5 {
font-size: 16px;
line-height: 1.55;
letter-spacing: .02em;
color: #015951;
margin-top: 24px;
margin-bottom: 12px
}

.content-doc h6 {
font-size: 16px;
line-height: 1.55;
letter-spacing: .02em;
color: #015951;
opacity: .72;
margin-top: 24px;
margin-bottom: 12px
}

.content-doc p {
font-size: 16px;
line-height: 1.55;
letter-spacing: .01em;
color: #015951;
margin-top: 0;
margin-bottom: 24px
}

.content-doc ul,
.content-doc ol {
font-size: 16px;
line-height: 1.55;
letter-spacing: .01em;
color: #015951;
margin-top: 0;
margin-bottom: 24px;
padding-left: 36px
}

.content-doc ul {
list-style: none;
padding-left: 24px
}

.content-doc ul li {
position: relative;
padding-left: 24px;
margin-bottom: 12px
}

.content-doc ul li::before {
content: "";
position: absolute;
left: 0;
top: 10px;
width: 8px;
height: 8px;
background: #F4648B;
border-radius: 4px
}

.content-doc ol {
list-style: decimal
}

.content-doc ol li {
padding-left: 6px;
margin-bottom: 12px
}

.content-doc ol li::marker {
color: #F4648B;
font-size: 16px
}

.content-doc ul ul,
.content-doc ol ol,
.content-doc ul ol,
.content-doc ol ul {
margin-top: 12px;
margin-bottom: 0
}

.content-doc strong,
.content-doc b {
font-weight: 700;
color: #015951
}

.content-doc em,
.content-doc i {
font-style: italic;
color: #015951
}

.content-doc a {
color: #F4648B;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color .18s ease-out, text-decoration-color .18s ease-out
}

.content-doc a:hover {
color: #015951;
text-decoration-color: #015951
}

.content-doc a:visited {
color: #c94d70
}

.content-doc div {
font-size: 16px;
line-height: 1.55
}

.content-doc div+div {
margin-top: 24px
}

@media (max-width: 1024px) {
.content-doc {
padding: 72px 36px
}

.content-doc h1 {
font-size: 44px
}

.content-doc h2 {
font-size: 32px
}
}

@media (max-width: 768px) {
.content-doc {
padding: 36px 24px
}

.content-doc h1 {
font-size: 32px;
margin-bottom: 24px
}

.content-doc h2 {
font-size: 32px;
margin-top: 36px
}

.content-doc h3 {
font-size: 16px;
margin-top: 24px
}
}

@media (max-width: 480px) {
.content-doc {
padding: 36px 12px
}

.content-doc h1 {
font-size: 32px
}

.content-doc ul {
padding-left: 12px
}

.content-doc ol {
padding-left: 24px
}
}

.srvc {
background: #FFFCFA;
overflow-x: clip
}

.srvc .load-reveal {
animation: revealIn .18s ease-out both
}

@keyframes revealIn {
from {
opacity: 0
}

to {
opacity: 1
}
}

.srvc .pg-lead {
background: #015951;
padding: 72px 24px 36px;
position: relative
}

.srvc .pg-lead .dot-grid {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden
}

.srvc .pg-lead .dot-grid svg {
width: 100%;
height: 100%;
opacity: .13
}

.srvc .pg-lead .lead-inner {
max-width: 1100px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 72px;
position: relative;
z-index: 1
}

.srvc .pg-lead .lead-text {
flex: 1 1 0
}

.srvc .pg-lead .lead-tag {
display: inline-block;
background: #F4648B;
color: #FFFCFA;
font-size: 16px;
line-height: 1.35;
letter-spacing: .06em;
padding: 6px 12px;
border-radius: 4px;
margin-bottom: 24px
}

.srvc .pg-lead .lead-h1 {
font-size: 62px;
line-height: 1.1;
letter-spacing: -.02em;
color: #FFFCFA;
margin: 0 0 24px;
font-weight: 900
}

.srvc .pg-lead .lead-sub {
font-size: 16px;
line-height: 1.55;
color: #fffcfad1;
max-width: 480px;
margin: 0 0 36px
}

.srvc .pg-lead .lead-actions {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap
}

.srvc .pg-lead .btn-primary {
background: #F4648B;
color: #FFFCFA;
border: 2px solid #F4648B;
padding: 12px 24px;
font-size: 16px;
border-radius: 8px;
cursor: pointer;
transition: border-color .16s ease-out, background .16s ease-out;
font-weight: 700
}

.srvc .pg-lead .btn-primary:hover {
border-color: #FFFCFA;
background: #F4648B
}

.srvc .pg-lead .btn-primary:active {
box-shadow: inset 0 3px 3px 0 #f4648b2e
}

.srvc .pg-lead .btn-ghost {
background: transparent;
color: #FFFCFA;
border: 2px solid #fffcfa66;
padding: 12px 24px;
font-size: 16px;
border-radius: 8px;
cursor: pointer;
transition: border-color .14s ease-out
}

.srvc .pg-lead .btn-ghost:hover {
border-color: #F4648B
}

.srvc .pg-lead .lead-img-col {
flex: 0 0 380px;
position: relative
}

.srvc .pg-lead .lead-img-wrap {
border-radius: 8px;
overflow: hidden;
box-shadow: 0 8px 60px 0 #f4648b1a
}

.srvc .pg-lead .lead-img-wrap img {
width: 380px;
height: 280px;
object-fit: cover;
display: block;
filter: saturate(0.9);
transition: filter .18s ease-out
}

.srvc .pg-lead .lead-img-wrap:hover img {
filter: saturate(1.1)
}

.srvc .pg-lead .lead-stat-pill {
position: absolute;
bottom: -18px;
left: -18px;
background: #F4648B;
color: #FFFCFA;
border-radius: 8px;
padding: 12px 24px;
font-size: 16px;
line-height: 1.35;
font-weight: 700;
box-shadow: 0 5px 25px 0 #f4648b17
}

.srvc .pg-lead .lead-stat-pill span {
font-size: 32px;
font-weight: 900;
display: block;
line-height: 1.1
}

.srvc .curve-div-a {
display: block;
line-height: 0;
background: #015951
}

.srvc .curve-div-a svg {
display: block;
width: 100%
}

.srvc .formats-row {
background: #FFFCFA;
padding: 72px 24px
}

.srvc .formats-row .formats-inner {
max-width: 1100px;
margin: 0 auto
}

.srvc .formats-row .formats-header {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
gap: 36px;
margin-bottom: 36px
}

.srvc .formats-row .fh-left {
flex: 1 1 0
}

.srvc .formats-row .fh-label {
font-size: 16px;
color: #F4648B;
letter-spacing: .08em;
font-weight: 700;
margin-bottom: 12px
}

.srvc .formats-row .fh-h2 {
font-size: 44px;
line-height: 1.1;
letter-spacing: -.015em;
color: #015951;
margin: 0;
font-weight: 900
}

.srvc .formats-row .fh-right {
flex: 0 0 360px;
font-size: 16px;
line-height: 1.55;
color: #2a2a2a;
text-align: right
}

.srvc .formats-row .formats-grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
grid-template-rows: auto auto;
gap: 24px
}

.srvc .formats-row .fmt-card {
background: #FFFCFA;
border: 2px solid #015951;
border-radius: 8px;
padding: 36px 24px;
position: relative;
transition: box-shadow .16s ease-out, border-color .14s ease-out
}

.srvc .formats-row .fmt-card:hover {
box-shadow: 0 5px 25px 0 #01595117;
border-color: #F4648B
}

.srvc .formats-row .fmt-card.accent {
grid-row: 1 / 3;
background: linear-gradient(113deg, #015951 0%, #F4648B 100%);
border-color: transparent;
color: #FFFCFA
}

.srvc .formats-row .fmt-card.accent .card-title {
color: #FFFCFA
}

.srvc .formats-row .fmt-card.accent .card-body {
color: #fffcfad9
}

.srvc .formats-row .card-icon {
width: 36px;
height: 36px;
margin-bottom: 24px
}

.srvc .formats-row .card-title {
font-size: 32px;
line-height: 1.1;
letter-spacing: -.01em;
color: #015951;
font-weight: 900;
margin: 0 0 12px
}

.srvc .formats-row .card-body {
font-size: 16px;
line-height: 1.55;
color: #2a2a2a;
margin: 0 0 24px
}

.srvc .formats-row .card-detail {
font-size: 16px;
line-height: 1.35;
font-weight: 700;
color: #F4648B
}

.srvc .formats-row .fmt-card.accent .card-detail {
color: #FFFCFA
}

.srvc .curve-div-b {
display: block;
line-height: 0;
background: #FFFCFA
}

.srvc .curve-div-b svg {
display: block;
width: 100%
}

.srvc .metrics-band {
background: #F4648B;
padding: 72px 24px
}

.srvc .metrics-band .metrics-inner {
max-width: 1100px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 72px;
align-items: flex-start
}

.srvc .metrics-band .met-left {
flex: 1 1 0
}

.srvc .metrics-band .met-h2 {
font-size: 44px;
line-height: 1.1;
letter-spacing: -.015em;
color: #FFFCFA;
font-weight: 900;
margin: 0 0 24px
}

.srvc .metrics-band .met-desc {
font-size: 16px;
line-height: 1.55;
color: #fffcfae0;
margin: 0 0 36px
}

.srvc .metrics-band .met-img-wrap {
border-radius: 8px;
overflow: hidden;
box-shadow: 0 8px 60px 0 #0159511a
}

.srvc .metrics-band .met-img-wrap img {
width: 100%;
height: 220px;
object-fit: cover;
display: block;
transition: transform .2s ease-out
}

.srvc .metrics-band .met-img-wrap:hover img {
transform: scale(1.03)
}

.srvc .metrics-band .met-right {
flex: 0 0 420px
}

.srvc .metrics-band .metric-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 24px
}

.srvc .metrics-band .metric-item {
display: flex;
flex-direction: column;
gap: 6px
}

.srvc .metrics-band .metric-label {
font-size: 16px;
line-height: 1.35;
color: #fffcfae6;
display: flex;
flex-direction: row;
justify-content: space-between
}

.srvc .metrics-band .metric-val {
font-weight: 900;
color: #FFFCFA
}

.srvc .metrics-band .bar-track {
height: 8px;
background: #fffcfa38;
border-radius: 4px;
overflow: hidden
}

.srvc .metrics-band .bar-fill {
height: 100%;
background: #FFFCFA;
border-radius: 4px;
animation: barGrow .22s ease-out both
}

@keyframes barGrow {
from {
width: 0
}
}

.srvc .metrics-band .bar-fill.w88 {
width: 88%
}

.srvc .metrics-band .bar-fill.w74 {
width: 74%
}

.srvc .metrics-band .bar-fill.w91 {
width: 91%
}

.srvc .metrics-band .bar-fill.w65 {
width: 65%
}

.srvc .metrics-band .bar-fill.w82 {
width: 82%
}

.srvc .curve-div-c {
display: block;
line-height: 0;
background: #F4648B
}

.srvc .curve-div-c svg {
display: block;
width: 100%
}

.srvc .roles-block {
background: #FFFCFA;
padding: 72px 24px
}

.srvc .roles-block .roles-inner {
max-width: 1100px;
margin: 0 auto
}

.srvc .roles-block .roles-heading {
font-size: 44px;
line-height: 1.1;
letter-spacing: -.015em;
color: #015951;
font-weight: 900;
margin: 0 0 12px;
text-align: right
}

.srvc .roles-block .roles-sub {
font-size: 16px;
line-height: 1.55;
color: #2a2a2a;
text-align: right;
margin: 0 0 36px;
max-width: 560px;
margin-left: auto
}

.srvc .roles-block .roles-cols {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px
}

.srvc .roles-block .role-col {
border-radius: 8px;
padding: 36px 24px;
display: flex;
flex-direction: column;
gap: 12px;
transition: box-shadow .16s ease-out
}

.srvc .roles-block .role-col.rc-a {
background: #015951;
color: #FFFCFA
}

.srvc .roles-block .role-col.rc-b {
background: #FFFCFA;
border: 2px solid #015951;
color: #015951
}

.srvc .roles-block .role-col.rc-c {
background: linear-gradient(113deg, #F4648B 0%, #015951 100%);
color: #FFFCFA
}

.srvc .roles-block .role-col:hover {
box-shadow: 0 5px 25px 0 #01595117
}

.srvc .roles-block .role-type {
font-size: 16px;
letter-spacing: .07em;
font-weight: 700;
opacity: .7;
text-transform: uppercase
}

.srvc .roles-block .role-name {
font-size: 32px;
line-height: 1.1;
font-weight: 900;
margin: 0
}

.srvc .roles-block .role-col.rc-b .role-name {
color: #015951
}

.srvc .roles-block .role-desc {
font-size: 16px;
line-height: 1.55;
opacity: .88;
margin: 0
}

.srvc .roles-block .role-items {
list-style: none;
padding: 0;
margin: 12px 0 0;
display: flex;
flex-direction: column;
gap: 6px
}

.srvc .roles-block .role-item {
font-size: 16px;
line-height: 1.35;
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
opacity: .92
}

.srvc .roles-block .ri-dot {
width: 8px;
height: 8px;
border-radius: 4px;
flex-shrink: 0
}

.srvc .roles-block .rc-a .ri-dot {
background: #F4648B
}

.srvc .roles-block .rc-b .ri-dot {
background: #015951
}

.srvc .roles-block .rc-c .ri-dot {
background: #fffcfab3
}

.srvc .roles-block .role-col.rc-b .role-type {
color: #015951
}

.srvc .roles-block .role-col.rc-b .role-item {
color: #015951
}

.srvc .roles-block .role-col.rc-b .role-desc {
color: #2a2a2a
}

.srvc .roles-block .dashed-path-wrap {
position: relative;
margin-top: 36px;
padding: 24px 0 0
}

.srvc .roles-block .dashed-path-wrap svg {
width: 100%;
display: block
}

.srvc .roles-block .path-note {
display: flex;
flex-direction: row;
justify-content: space-between;
margin-top: 12px
}

.srvc .roles-block .path-note-item {
font-size: 16px;
line-height: 1.35;
color: #015951;
font-weight: 700;
text-align: center;
flex: 1 1 0
}

@media (max-width: 1024px) {
.srvc .pg-lead .lead-inner {
flex-direction: column;
gap: 36px;
align-items: flex-start
}

.srvc .pg-lead .lead-img-col {
flex: 0 0 auto;
width: 100%
}

.srvc .pg-lead .lead-img-wrap img {
width: 100%;
height: 240px
}

.srvc .pg-lead .lead-stat-pill {
left: 12px;
bottom: -18px
}

.srvc .formats-row .formats-header {
flex-direction: column;
align-items: flex-start;
gap: 12px
}

.srvc .formats-row .fh-right {
flex: 0 0 auto;
text-align: left
}

.srvc .formats-row .formats-grid {
grid-template-columns: 1fr 1fr
}

.srvc .formats-row .fmt-card.accent {
grid-row: auto;
grid-column: 1 / 3
}

.srvc .metrics-band .metrics-inner {
flex-direction: column;
gap: 36px
}

.srvc .metrics-band .met-right {
flex: 0 0 auto;
width: 100%
}

.srvc .roles-block .roles-cols {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 768px) {
.srvc .pg-lead {
padding: 72px 24px 36px
}

.srvc .pg-lead .lead-h1 {
font-size: 44px
}

.srvc .formats-row .fh-h2 {
font-size: 32px
}

.srvc .formats-row .formats-grid {
grid-template-columns: 1fr
}

.srvc .formats-row .fmt-card.accent {
grid-column: auto
}

.srvc .metrics-band .met-h2 {
font-size: 32px
}

.srvc .roles-block .roles-heading {
font-size: 32px;
text-align: left
}

.srvc .roles-block .roles-sub {
text-align: left;
margin-left: 0
}

.srvc .roles-block .roles-cols {
grid-template-columns: 1fr
}
}

@media (max-width: 480px) {
.srvc .pg-lead .lead-h1 {
font-size: 32px
}

.srvc .pg-lead .lead-actions {
flex-direction: column
}

.srvc .metrics-band .met-h2 {
font-size: 32px
}

.srvc .formats-row .fh-h2 {
font-size: 32px
}
}

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

.abtus .grid-bg {
position: absolute;
inset: 0;
background-image: linear-gradient(#0159510a 1px, transparent 1px), linear-gradient(90deg, #0159510a 1px, transparent 1px);
background-size: 48px 48px;
pointer-events: none;
z-index: 0
}

.abtus .pg-hero {
position: relative;
padding: 72px 24px;
background-color: #FFFCFA
}

.abtus .pg-hero .inner-hero {
max-width: 1100px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
gap: 36px;
position: relative;
z-index: 1
}

.abtus .pg-hero .txt-side {
flex: 0 0 60%;
max-width: 60%
}

.abtus .pg-hero .label-tag {
display: inline-block;
font-size: 16px;
line-height: 1.35;
letter-spacing: .08em;
color: #015951;
border: 2px solid #015951;
padding: 6px 12px;
border-radius: 4px;
margin-bottom: 24px;
text-transform: uppercase
}

.abtus .pg-hero .hero-h1 {
font-size: 62px;
line-height: 1.1;
letter-spacing: -.02em;
color: #015951;
margin-bottom: 24px
}

.abtus .pg-hero .hero-desc {
font-size: 16px;
line-height: 1.55;
color: #2a2a2a;
max-width: 520px;
margin-bottom: 36px
}

.abtus .pg-hero .hero-link {
display: inline-block;
font-size: 16px;
line-height: 1.35;
color: #FFFCFA;
background: #015951;
padding: 12px 24px;
border-radius: 8px;
text-decoration: none;
border: 2px solid #015951;
transition: border-color .18s ease-out, color .15s ease-out
}

.abtus .pg-hero .hero-link:hover {
border-color: #F4648B;
color: #FFFCFA
}

.abtus .pg-hero .hero-link:focus {
outline: 3px solid #F4648B;
outline-offset: 3px
}

.abtus .pg-hero .img-side {
flex: 0 0 40%;
max-width: 40%;
position: relative
}

.abtus .pg-hero .img-card {
position: relative;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 5px 25px 0 #f4648b17
}

.abtus .pg-hero .img-card img {
width: 100%;
height: 340px;
object-fit: cover;
display: block;
border-radius: 8px;
filter: brightness(0.97)
}

.abtus .pg-hero .img-card::after {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 30% 30%, transparent 40%, #0159512e 100%);
border-radius: 8px;
pointer-events: none
}

.abtus .pg-hero .num-badge {
position: absolute;
top: -12px;
right: -12px;
width: 48px;
height: 48px;
background: #F4648B;
border-radius: 8px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
font-size: 16px;
line-height: 1.1;
color: #FFFCFA;
font-weight: 700;
box-shadow: 0 3px 3px 0 #f4648b12;
z-index: 2
}

.abtus .pg-hero .math-symbol {
position: absolute;
bottom: -36px;
left: -48px;
font-size: 200px;
line-height: 1.1;
color: #0159510a;
pointer-events: none;
z-index: 0;
user-select: none
}

.abtus .divider-double {
max-width: 1100px;
margin: 0 auto;
padding: 0 24px
}

.abtus .divider-double .dd-lines {
border-top: 2px solid #0159512e;
border-bottom: 2px solid #0159512e;
height: 6px
}

.abtus .pg-story {
padding: 72px 24px;
background: linear-gradient(113deg, #015951 0%, #F4648B 100%);
position: relative
}

.abtus .pg-story .inner-story {
max-width: 1100px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 36px;
align-items: stretch
}

.abtus .pg-story .story-img-col {
flex: 0 0 40%;
max-width: 40%;
position: relative
}

.abtus .pg-story .story-img-wrap {
border-radius: 8px;
overflow: hidden;
height: 100%;
min-height: 320px;
box-shadow: 0 8px 60px 0 #f4648b1a
}

.abtus .pg-story .story-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.abtus .pg-story .story-num-badge {
position: absolute;
bottom: 12px;
left: -12px;
background: #FFFCFA;
color: #015951;
font-size: 16px;
line-height: 1.35;
font-weight: 700;
padding: 6px 12px;
border-radius: 4px;
box-shadow: 0 3px 3px 0 #01595112;
z-index: 2
}

.abtus .pg-story .story-txt-col {
flex: 1 1 0;
display: flex;
flex-direction: column;
justify-content: center
}

.abtus .pg-story .story-h2 {
font-size: 44px;
line-height: 1.1;
letter-spacing: -.01em;
color: #FFFCFA;
margin-bottom: 24px
}

.abtus .pg-story .story-p {
font-size: 16px;
line-height: 1.55;
color: #fffcfae6;
margin-bottom: 24px
}

.abtus .pg-story .story-p:last-child {
margin-bottom: 0
}

.abtus .divider-accent {
max-width: 1100px;
margin: 0 auto;
padding: 0 24px
}

.abtus .divider-accent .da-line {
height: 3px;
background: linear-gradient(90deg, #F4648B 0%, transparent 100%);
border-radius: 4px
}

.abtus .pg-metrics {
padding: 72px 24px 36px;
background: #FFFCFA;
position: relative
}

.abtus .pg-metrics .faded-pattern {
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(0deg, transparent, transparent 38px, #f4648b08 38px, #f4648b08 40px), repeating-linear-gradient(90deg, transparent, transparent 38px, #01595108 38px, #01595108 40px);
pointer-events: none
}

.abtus .pg-metrics .inner-metrics {
max-width: 1100px;
margin: 0 auto;
position: relative;
z-index: 1
}

.abtus .pg-metrics .metrics-head {
text-align: right;
margin-bottom: 36px
}

.abtus .pg-metrics .metrics-h2 {
font-size: 44px;
line-height: 1.1;
letter-spacing: -.01em;
color: #015951;
margin-bottom: 12px
}

.abtus .pg-metrics .metrics-sub {
font-size: 16px;
line-height: 1.55;
color: #3a3a3a;
max-width: 420px;
margin-left: auto
}

.abtus .pg-metrics .metrics-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-bottom: 36px
}

.abtus .pg-metrics .met-card {
background: #015951;
border-radius: 8px;
padding: 36px 24px;
position: relative;
overflow: hidden;
box-shadow: 0 5px 25px 0 #01595117;
transition: box-shadow .16s ease-out
}

.abtus .pg-metrics .met-card:hover {
box-shadow: 0 8px 60px 0 #0159511a
}

.abtus .pg-metrics .met-card.accent {
background: #F4648B
}

.abtus .pg-metrics .met-card .flicker-bg {
position: absolute;
inset: 0;
background: #f4648b14;
opacity: 0;
animation: accentFlicker 4s ease-out infinite;
pointer-events: none;
border-radius: 8px
}

.abtus .pg-metrics .met-card.accent .flicker-bg {
background: #fffcfa14;
animation-delay: 2s
}

@keyframes accentFlicker {
0% {
opacity: 0
}

15% {
opacity: 1
}

30% {
opacity: 0
}

60% {
opacity: .6
}

80% {
opacity: 0
}

100% {
opacity: 0
}
}

.abtus .pg-metrics .met-num {
font-size: 62px;
line-height: 1.1;
letter-spacing: -.03em;
color: #FFFCFA;
display: block;
margin-bottom: 6px
}

.abtus .pg-metrics .met-label {
font-size: 16px;
line-height: 1.35;
color: #fffcfad1
}

.abtus .pg-metrics .met-card .card-badge {
position: absolute;
top: 12px;
right: 12px;
width: 28px;
height: 28px;
background: #fffcfa26;
border-radius: 4px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center
}

.abtus .pg-metrics .met-card .card-badge svg {
width: 16px;
height: 16px
}

.abtus .pg-metrics .nested-comp {
background: #FFFCFA;
border: 2px solid #01595126;
border-radius: 8px;
padding: 36px 24px;
box-shadow: 0 3px 3px 0 #01595112
}

.abtus .pg-metrics .nested-h4 {
font-size: 32px;
line-height: 1.1;
letter-spacing: -.01em;
color: #015951;
margin-bottom: 24px
}

.abtus .pg-metrics .steps-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 12px
}

.abtus .pg-metrics .step-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px
}

.abtus .pg-metrics .step-num {
flex-shrink: 0;
width: 32px;
height: 32px;
background: #F4648B;
border-radius: 4px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
font-size: 16px;
line-height: 1.1;
color: #FFFCFA;
font-weight: 700
}

.abtus .step-item:focus-within .step-num,
.abtus .step-item:hover .step-num {
background: #015951;
transition: background .14s ease-out
}

.abtus .pg-metrics .step-txt {
font-size: 16px;
line-height: 1.55;
color: #2a2a2a;
padding-top: 6px
}

.abtus .pg-metrics .step-txt strong {
color: #015951
}

.abtus .divider-spaced {
padding: 36px 24px 0;
max-width: 1100px;
margin: 0 auto
}

.abtus .divider-spaced .ds-rule {
border: none;
border-top: 1px solid #0159511f
}

.abtus .pg-team {
padding: 72px 24px;
background: #015951;
position: relative
}

.abtus .pg-team .inner-team {
max-width: 1100px;
margin: 0 auto
}

.abtus .pg-team .team-h2 {
font-size: 44px;
line-height: 1.1;
letter-spacing: -.01em;
color: #FFFCFA;
margin-bottom: 12px
}

.abtus .pg-team .team-sub {
font-size: 16px;
line-height: 1.55;
color: #fffcfad1;
max-width: 560px;
margin-bottom: 36px
}

.abtus .pg-team .team-layout {
display: flex;
flex-direction: row;
gap: 36px;
align-items: flex-start
}

.abtus .pg-team .team-img-col {
flex: 0 0 38%;
max-width: 38%
}

.abtus .pg-team .team-img-wrap {
border-radius: 8px;
overflow: hidden;
position: relative;
box-shadow: 0 8px 60px 0 #f4648b1a
}

.abtus .pg-team .team-img-wrap img {
width: 100%;
height: 300px;
object-fit: cover;
display: block
}

.abtus .pg-team .team-img-wrap .t-badge {
position: absolute;
top: 12px;
left: 12px;
background: #F4648B;
color: #FFFCFA;
font-size: 16px;
line-height: 1.35;
padding: 6px 12px;
border-radius: 4px;
font-weight: 700
}

.abtus .pg-team .team-persons-col {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 24px
}

.abtus .pg-team .person-row {
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start;
padding: 24px;
background: #fffcfa0f;
border-radius: 8px;
border: 1px solid #fffcfa1a;
transition: background .14s ease-out, border-color .18s ease-out
}

.abtus .pg-team .person-row:hover {
background: #fffcfa1c;
border-color: #f4648b66
}

.abtus .pg-team .person-icon {
flex-shrink: 0;
width: 40px;
height: 40px;
background: #F4648B;
border-radius: 40px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center
}

.abtus .pg-team .person-icon svg {
width: 22px;
height: 22px
}

.abtus .pg-team .person-info {
flex: 1 1 0
}

.abtus .pg-team .person-name {
font-size: 16px;
line-height: 1.35;
color: #FFFCFA;
font-weight: 700;
margin-bottom: 6px
}

.abtus .pg-team .person-role {
font-size: 16px;
line-height: 1.35;
color: #F4648B;
margin-bottom: 6px
}

.abtus .pg-team .person-desc {
font-size: 16px;
line-height: 1.55;
color: #fffcfabf
}

.abtus .pg-team .team-cta-row {
margin-top: 36px;
text-align: center
}

.abtus .pg-team .team-cta-link {
display: inline-block;
font-size: 16px;
line-height: 1.35;
color: #015951;
background: #FFFCFA;
padding: 12px 36px;
border-radius: 8px;
text-decoration: none;
border: 2px solid #FFFCFA;
transition: border-color .18s ease-out
}

.abtus .pg-team .team-cta-link:hover {
border-color: #F4648B
}

.abtus .pg-team .team-cta-link:focus {
outline: 3px solid #F4648B;
outline-offset: 3px
}

@media (max-width: 1024px) {
.abtus .pg-hero .hero-h1 {
font-size: 44px
}

.abtus .pg-metrics .met-num {
font-size: 44px
}
}

@media (max-width: 768px) {
.abtus .pg-hero .inner-hero {
flex-direction: column
}

.abtus .pg-hero .txt-side,
.abtus .pg-hero .img-side {
flex: 0 0 100%;
max-width: 100%
}

.abtus .pg-hero .hero-h1 {
font-size: 32px
}

.abtus .pg-story .inner-story {
flex-direction: column
}

.abtus .pg-story .story-img-col,
.abtus .pg-story .story-txt-col {
flex: 0 0 100%;
max-width: 100%
}

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

.abtus .pg-metrics .metrics-head {
text-align: left
}

.abtus .pg-metrics .metrics-sub {
margin-left: 0
}

.abtus .pg-team .team-layout {
flex-direction: column
}

.abtus .pg-team .team-img-col {
flex: 0 0 100%;
max-width: 100%
}

.abtus .pg-story .story-h2,
.abtus .pg-metrics .metrics-h2,
.abtus .pg-team .team-h2 {
font-size: 32px
}
}

@media (max-width: 480px) {
.abtus .pg-hero {
padding: 36px 12px
}

.abtus .pg-story,
.abtus .pg-metrics,
.abtus .pg-team {
padding: 36px 12px
}

.abtus .pg-hero .hero-h1 {
font-size: 32px
}

.abtus .pg-metrics .met-card {
padding: 24px 12px
}

.abtus .pg-metrics .nested-comp {
padding: 24px 12px
}
}

.lrnprog {
background: #FFFCFA;
overflow-x: clip;
position: relative
}

.lrnprog .prog-band {
width: 100%;
height: 6px;
background: linear-gradient(113deg, #F4648B 0%, #015951 100%)
}

.lrnprog .titl {
position: relative;
padding: 36px 24px 72px;
background: linear-gradient(113deg, transparent 0%, #015951 100%);
overflow: hidden
}

.lrnprog .titl-curves {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden
}

.lrnprog .titl-curves svg {
width: 100%;
height: 100%;
opacity: .18
}

.lrnprog .titl-inner {
max-width: 1100px;
margin: 0 auto;
position: relative;
z-index: 1
}

.lrnprog .titl-label {
display: inline-block;
font-size: 16px;
line-height: 1.35;
letter-spacing: .12em;
color: #F4648B;
text-transform: uppercase;
margin-bottom: 12px;
border: 2px solid #F4648B;
padding: 6px 12px;
border-radius: 4px;
background: #0159512e
}

.lrnprog .titl-h1 {
font-size: 62px;
line-height: 1.1;
letter-spacing: -.02em;
color: #FFFCFA;
margin: 0 0 24px;
max-width: 780px;
font-weight: 900
}

.lrnprog .titl-desc {
font-size: 16px;
line-height: 1.55;
color: #fffcfad9;
max-width: 560px;
margin: 0 0 36px
}

.lrnprog .titl-img-wrap {
position: absolute;
right: 0;
top: 0;
width: 42%;
height: 100%;
overflow: hidden
}

.lrnprog .titl-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
mix-blend-mode: luminosity;
opacity: .38;
transition: opacity .18s ease-out
}

.lrnprog .titl-img-wrap::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(113deg, #015951 0%, transparent 70%);
pointer-events: none
}

.lrnprog .titl-corner-tl {
position: absolute;
top: 0;
left: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 60px 60px 0 0;
border-color: #f4648b38 transparent transparent;
pointer-events: none
}

.lrnprog .titl-corner-br {
position: absolute;
bottom: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 60px 60px;
border-color: transparent transparent #f4648b38;
pointer-events: none
}

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

.lrnprog .btn-prim {
display: inline-block;
padding: 12px 24px;
background: #F4648B;
color: #FFFCFA;
font-size: 16px;
line-height: 1.35;
border: 2px solid #F4648B;
border-radius: 8px;
cursor: pointer;
text-decoration: none;
font-weight: 700;
transition: border-color .16s ease-out, background .16s ease-out;
box-shadow: 0 5px 25px 0 #f4648b17
}

.lrnprog .btn-prim:hover {
border-color: #FFFCFA;
background: #F4648B
}

.lrnprog .btn-prim:active {
box-shadow: inset 0 2px 6px 0 #f4648b2e
}

.lrnprog .btn-sec {
display: inline-flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
background: transparent;
border: 2px solid #fffcfa73;
border-radius: 8px;
cursor: pointer;
transition: border-color .14s ease-out
}

.lrnprog .btn-sec:hover {
border-color: #F4648B
}

.lrnprog .btn-sec svg {
width: 22px;
height: 22px
}

.lrnprog .div1 {
width: 100%;
height: 6px;
background: linear-gradient(113deg, #015951 0%, #F4648B 50%, #FFFCFA 100%)
}

.lrnprog .fmt {
padding: 72px 24px;
background: #FFFCFA;
position: relative
}

.lrnprog .fmt-inner {
max-width: 1100px;
margin: 0 auto
}

.lrnprog .fmt-h2 {
font-size: 44px;
line-height: 1.1;
letter-spacing: -.015em;
color: #015951;
margin: 0 0 12px;
font-weight: 900
}

.lrnprog .fmt-sub {
font-size: 16px;
line-height: 1.55;
color: #2a2a2a;
max-width: 520px;
margin: 0 0 36px
}

.lrnprog .fmt-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.lrnprog .fmt-card {
background: #FFFCFA;
border: 2px solid #01595124;
border-radius: 8px;
padding: 24px;
box-shadow: 0 3px 3px 0 #01595112;
transition: box-shadow .18s ease-out, border-color .14s ease-out;
position: relative;
overflow: hidden
}

.lrnprog .fmt-card:hover {
box-shadow: 0 5px 25px 0 #01595117;
border-color: #015951
}

.lrnprog .fmt-card-accent {
position: absolute;
top: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 36px 36px 0;
border-color: transparent #F4648B transparent transparent;
pointer-events: none
}

.lrnprog .fmt-card-icon {
margin-bottom: 12px
}

.lrnprog .fmt-card-icon svg {
width: 32px;
height: 32px
}

.lrnprog .fmt-card-h {
font-size: 16px;
line-height: 1.35;
letter-spacing: .04em;
color: #015951;
font-weight: 700;
margin: 0 0 6px;
text-transform: uppercase
}

.lrnprog .fmt-card-p {
font-size: 16px;
line-height: 1.55;
color: #2a2a2a;
margin: 0
}

.lrnprog .fmt-card-tag {
display: inline-block;
margin-top: 12px;
font-size: 16px;
line-height: 1.35;
color: #F4648B;
border: 1px solid #F4648B;
border-radius: 4px;
padding: 6px 12px;
font-weight: 700
}

.lrnprog .div2 {
width: 100%;
height: 6px;
background: linear-gradient(113deg, #F4648B 0%, #015951 100%)
}

.lrnprog .pdet {
padding: 72px 24px 36px;
background: #015951;
position: relative
}

.lrnprog .pdet::before {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(ellipse 80% 60% at 10% 90%, #f4648b1f 0%, transparent 70%);
pointer-events: none;
animation: vigpulse 4s cubic-bezier(0.4, 0, 0.6, 1) infinite alternate
}

@keyframes vigpulse {
from {
opacity: .55
}

to {
opacity: 1
}
}

.lrnprog .pdet-corner-tl {
position: absolute;
top: 0;
left: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 80px 80px 0 0;
border-color: #f4648b2e transparent transparent;
pointer-events: none
}

.lrnprog .pdet-inner {
max-width: 1100px;
margin: 0 auto;
position: relative;
z-index: 1
}

.lrnprog .pdet-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 36px;
align-items: start
}

.lrnprog .pdet-h2 {
font-size: 44px;
line-height: 1.1;
letter-spacing: -.015em;
color: #FFFCFA;
margin: 0 0 24px;
font-weight: 900
}

.lrnprog .pdet-img-wrap {
border-radius: 8px;
overflow: hidden;
box-shadow: 0 8px 60px 0 #0159511a;
margin-bottom: 24px
}

.lrnprog .pdet-img-wrap img {
width: 100%;
height: 280px;
object-fit: cover;
display: block;
transition: transform .22s ease-out, brightness .18s ease-out;
filter: brightness(0.92)
}

.lrnprog .pdet-img-wrap:hover img {
transform: scale(1.03);
filter: brightness(1)
}

.lrnprog .pdet-steps {
display: flex;
flex-direction: column;
gap: 24px
}

.lrnprog .pdet-step {
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start;
padding: 12px;
border-radius: 8px;
transition: background .16s ease-out;
cursor: default
}

.lrnprog .pdet-steps:hover .pdet-step {
opacity: .55;
transition: opacity .12s ease-out
}

.lrnprog .pdet-steps:hover .pdet-step:hover {
opacity: 1;
background: #fffcfa14;
transition: opacity .12s ease-out, background .16s ease-out
}

.lrnprog .pdet-step-num {
flex-shrink: 0;
width: 36px;
height: 36px;
border-radius: 8px;
background: #F4648B;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
font-weight: 900;
color: #FFFCFA;
line-height: 1.1
}

.lrnprog .pdet-step-h {
font-size: 16px;
line-height: 1.35;
font-weight: 700;
color: #FFFCFA;
margin: 0 0 6px
}

.lrnprog .pdet-step-p {
font-size: 16px;
line-height: 1.55;
color: #fffcfabf;
margin: 0
}

.lrnprog .pdet-metrics {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
margin-top: 24px
}

.lrnprog .pdet-metric {
background: #fffcfa12;
border: 1px solid #fffcfa24;
border-radius: 8px;
padding: 24px 12px;
text-align: right;
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
transition: background .18s ease-out
}

.lrnprog .pdet-metric:hover {
background: #fffcfa21
}

.lrnprog .pdet-metric-val {
font-size: 44px;
line-height: 1.1;
letter-spacing: -.02em;
color: #F4648B;
font-weight: 900;
display: block
}

.lrnprog .pdet-metric-lbl {
font-size: 16px;
line-height: 1.35;
color: #fffcfaa6;
display: block;
margin-top: 6px
}

.lrnprog .div3 {
width: 100%;
height: 6px;
background: linear-gradient(113deg, #FFFCFA 0%, #F4648B 60%, #015951 100%)
}

.lrnprog .inst {
padding: 72px 24px;
background: #FFFCFA;
position: relative
}

.lrnprog .inst-inner {
max-width: 1100px;
margin: 0 auto
}

.lrnprog .inst-head {
text-align: right;
margin-bottom: 36px
}

.lrnprog .inst-h2 {
font-size: 44px;
line-height: 1.1;
letter-spacing: -.015em;
color: #015951;
margin: 0 0 12px;
font-weight: 900
}

.lrnprog .inst-sub {
font-size: 16px;
line-height: 1.55;
color: #2a2a2a;
margin: 0
}

.lrnprog .inst-layout {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px
}

.lrnprog .inst-card {
border: 2px solid #0159511f;
border-radius: 8px;
padding: 24px;
background: #FFFCFA;
box-shadow: 0 3px 3px 0 #01595112;
transition: box-shadow .2s ease-out, border-color .16s ease-out;
position: relative;
overflow: hidden
}

.lrnprog .inst-card:hover {
box-shadow: 0 5px 25px 0 #01595117;
border-color: #F4648B
}

.lrnprog .inst-card-corner {
position: absolute;
bottom: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 40px 40px;
border-color: transparent transparent #f4648b26;
pointer-events: none
}

.lrnprog .inst-avatar {
width: 56px;
height: 56px;
border-radius: 40px;
background: linear-gradient(113deg, #F4648B 0%, #015951 100%);
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 12px
}

.lrnprog .inst-avatar svg {
width: 28px;
height: 28px
}

.lrnprog .inst-name {
font-size: 16px;
line-height: 1.35;
font-weight: 700;
color: #015951;
margin: 0 0 6px
}

.lrnprog .inst-role {
font-size: 16px;
line-height: 1.35;
color: #F4648B;
margin: 0 0 12px;
letter-spacing: .04em
}

.lrnprog .inst-bio {
font-size: 16px;
line-height: 1.55;
color: #2a2a2a;
margin: 0
}

.lrnprog .inst-quote {
margin-top: 36px;
padding: 24px;
border-radius: 8px;
background: linear-gradient(113deg, #f4648b12 0%, #01595112 100%);
border: 1px solid #0159511f;
display: flex;
flex-direction: row;
gap: 24px;
align-items: center
}

.lrnprog .inst-quote-mark {
flex-shrink: 0;
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center
}

.lrnprog .inst-quote-mark svg {
width: 40px;
height: 40px;
opacity: .25
}

.lrnprog .inst-quote-text {
font-size: 16px;
line-height: 1.55;
color: #015951;
margin: 0;
font-style: italic
}

.lrnprog .inst-quote-attr {
font-size: 16px;
line-height: 1.35;
color: #F4648B;
font-weight: 700;
margin-top: 6px;
display: block
}

@media (max-width: 1024px) {
.lrnprog .titl-h1 {
font-size: 44px
}

.lrnprog .titl-img-wrap {
width: 36%
}

.lrnprog .pdet-layout {
grid-template-columns: 1fr
}

.lrnprog .inst-layout {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 768px) {
.lrnprog .titl {
padding: 36px 24px 72px
}

.lrnprog .titl-h1 {
font-size: 32px
}

.lrnprog .titl-img-wrap {
display: none
}

.lrnprog .fmt-grid {
grid-template-columns: 1fr
}

.lrnprog .pdet-metrics {
grid-template-columns: 1fr 1fr
}

.lrnprog .inst-layout {
grid-template-columns: 1fr
}

.lrnprog .inst-quote {
flex-direction: column;
gap: 12px
}

.lrnprog .fmt-h2,
.lrnprog .pdet-h2,
.lrnprog .inst-h2 {
font-size: 32px
}
}

@media (max-width: 480px) {
.lrnprog .titl-h1 {
font-size: 32px
}

.lrnprog .pdet-metrics {
grid-template-columns: 1fr
}

.lrnprog .titl-actions {
flex-direction: column;
align-items: flex-start
}
}

.ctus {
background-color: #FFFCFA;
overflow-x: clip
}

.ctus .pg-top {
display: flex;
flex-direction: row;
align-items: stretch;
max-width: 1100px;
margin: 0 auto;
padding: 72px 24px;
gap: 72px
}

.ctus .pg-top .txt-side {
flex: 1 1 0;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px;
position: relative;
padding: 36px
}

.ctus .pg-top .txt-side::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 40px;
height: 40px;
border-top: 2px solid #F4648B;
border-left: 2px solid #F4648B;
border-radius: 4px 0 0 0;
pointer-events: none
}

.ctus .pg-top .txt-side::after {
content: "";
position: absolute;
bottom: 0;
right: 0;
width: 40px;
height: 40px;
border-bottom: 2px solid #015951;
border-right: 2px solid #015951;
border-radius: 0 0 4px 0;
pointer-events: none
}

.ctus .pg-top .txt-side .pg-label {
font-size: 16px;
line-height: 1.35;
letter-spacing: .08em;
color: #F4648B;
text-transform: uppercase;
margin: 0
}

.ctus .pg-top .txt-side .pg-hdg {
font-size: 62px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0;
color: #015951
}

.ctus .pg-top .txt-side .pg-hdg .acc {
color: #F4648B
}

.ctus .pg-top .txt-side .pg-link {
display: inline-block;
font-size: 16px;
line-height: 1.35;
color: #015951;
text-decoration: none;
border-bottom: 2px solid #F4648B;
padding-bottom: 6px;
transition: color .18s cubic-bezier(0.4, 0, 0.6, 1), border-color .14s ease-out
}

.ctus .pg-top .txt-side .pg-link:hover {
color: #F4648B;
border-color: #015951;
box-shadow: 0 0 8px 0 #f4648b2e
}

.ctus .pg-top .img-side {
flex: 1 1 0;
position: relative;
border-radius: 8px;
overflow: hidden
}

.ctus .pg-top .img-side img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
min-height: 360px;
filter: saturate(0.7) brightness(0.85);
transition: filter .2s ease-out
}

.ctus .pg-top .img-side::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(113deg, #0159518c 0%, #f4648b47 100%);
pointer-events: none;
border-radius: 8px
}

.ctus .divider-line {
display: flex;
flex-direction: row;
align-items: center;
gap: 24px;
max-width: 1100px;
margin: 0 auto;
padding: 0 24px
}

.ctus .divider-line::before,
.ctus .divider-line::after {
content: "";
flex: 1;
height: 1px;
background: #015951;
opacity: .18
}

.ctus .divider-line .div-word {
font-size: 16px;
letter-spacing: .12em;
color: #015951;
opacity: .45;
text-transform: uppercase;
white-space: nowrap
}

.ctus .metrics-row {
background: linear-gradient(113deg, #015951 0%, #024d43 100%);
padding: 36px 24px;
animation: bgshift 15s linear infinite
}

@keyframes bgshift {
0% {
background: linear-gradient(113deg, #015951 0%, #024d43 100%)
}

50% {
background: linear-gradient(113deg, #024d43 0%, #015951 100%)
}

100% {
background: linear-gradient(113deg, #015951 0%, #024d43 100%)
}
}

.ctus .metrics-row .met-inner {
max-width: 1100px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: stretch;
gap: 0
}

.ctus .metrics-row .met-item {
flex: 1 1 0;
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
padding: 24px 36px;
text-align: center;
position: relative
}

.ctus .metrics-row .met-item+.met-item::before {
content: "";
position: absolute;
left: 0;
top: 12px;
bottom: 12px;
width: 1px;
background: #fffcfa2e
}

.ctus .metrics-row .met-item .met-num {
font-size: 44px;
line-height: 1.1;
letter-spacing: -.02em;
color: #F4648B;
margin: 0
}

.ctus .metrics-row .met-item .met-desc {
font-size: 16px;
line-height: 1.35;
color: #FFFCFA;
opacity: .82;
margin: 0
}

.ctus .form-area {
max-width: 1100px;
margin: 0 auto;
padding: 72px 24px;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 72px
}

.ctus .form-area .form-col {
flex: 2 1 0
}

.ctus .form-area .aside-col {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 36px;
padding-top: 12px
}

.ctus .form-area .form-hdg {
font-size: 32px;
line-height: 1.1;
letter-spacing: -.01em;
color: #015951;
margin: 0 0 24px
}

.ctus .form-area .form-hdg .acc {
color: #F4648B
}

.ctus .form-area .frm {
display: flex;
flex-direction: column;
gap: 24px
}

.ctus .form-area .frm .row2 {
display: flex;
flex-direction: row;
gap: 24px
}

.ctus .form-area .frm .fld {
display: flex;
flex-direction: column;
gap: 6px;
flex: 1 1 0
}

.ctus .form-area .frm .fld label {
font-size: 16px;
line-height: 1.35;
color: #015951;
letter-spacing: .04em
}

.ctus .form-area .frm .fld input,
.ctus .form-area .frm .fld textarea {
background: #FFFCFA;
border: 1.5px solid #01595147;
border-radius: 4px;
padding: 12px;
font-size: 16px;
line-height: 1.35;
color: #015951;
width: 100%;
box-sizing: border-box;
transition: border-color .16s ease-out, box-shadow .16s ease-out;
outline: none;
box-shadow: 0 3px 3px 0 #f4648b12
}

.ctus .form-area .frm .fld input::placeholder,
.ctus .form-area .frm .fld textarea::placeholder {
color: #01595161;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap
}

.ctus .form-area .frm .fld input:focus,
.ctus .form-area .frm .fld textarea:focus {
border-color: #F4648B;
box-shadow: 0 5px 25px 0 #f4648b17
}

.ctus .form-area .frm .fld textarea {
resize: vertical;
min-height: 120px
}

.ctus .form-area .frm .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px
}

.ctus .form-area .frm .privacy-row input[type="checkbox"] {
width: 20px;
height: 20px;
min-width: 20px;
margin-top: 2px;
accent-color: #F4648B;
cursor: pointer;
box-shadow: none;
border: none;
padding: 0
}

.ctus .form-area .frm .privacy-row input[type="checkbox"]:active {
box-shadow: inset 0 2px 4px 0 #0159512e
}

.ctus .form-area .frm .privacy-row .priv-txt {
font-size: 16px;
line-height: 1.55;
color: #015951b8;
margin: 0
}

.ctus .form-area .frm .privacy-row .priv-txt a {
color: #F4648B;
text-decoration: underline;
transition: color .14s ease-out
}

.ctus .form-area .frm .privacy-row .priv-txt a:hover {
color: #015951
}

.ctus .form-area .frm .sub-btn {
align-self: flex-start;
background: #F4648B;
color: #FFFCFA;
border: 2px solid #F4648B;
border-radius: 4px;
padding: 12px 36px;
font-size: 16px;
line-height: 1.35;
cursor: pointer;
letter-spacing: .06em;
transition: border-color .18s ease-out, background .18s ease-out;
box-shadow: 0 5px 25px 0 #f4648b17
}

.ctus .form-area .frm .sub-btn:hover {
border-color: #015951;
background: #F4648B
}

.ctus .form-area .frm .sub-btn:focus {
outline: 2px solid #015951;
outline-offset: 3px
}

.ctus .form-area .frm .sub-btn:active {
box-shadow: inset 0 3px 6px 0 #0159512e
}

.ctus .form-area .aside-col .aside-card {
background: #FFFCFA;
border: 1.5px solid #0159511f;
border-radius: 8px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
box-shadow: 0 3px 3px 0 #01595112;
transition: box-shadow .2s ease-out
}

.ctus .form-area .aside-col .aside-card:hover {
box-shadow: 0 8px 60px 0 #0159511a
}

.ctus .form-area .aside-col .aside-card .card-lbl {
font-size: 16px;
letter-spacing: .08em;
text-transform: uppercase;
color: #F4648B;
margin: 0
}

.ctus .form-area .aside-col .aside-card .card-val {
font-size: 16px;
line-height: 1.55;
color: #015951;
margin: 0;
word-break: break-word
}

.ctus .form-area .aside-col .aside-card .card-val a {
color: #015951;
text-decoration: none;
transition: color .14s ease-out, text-shadow .14s ease-out
}

.ctus .form-area .aside-col .aside-card .card-val a:hover {
color: #F4648B;
text-shadow: 0 0 8px #f4648b47
}

.ctus .form-area .aside-col .aside-note {
font-size: 16px;
line-height: 1.55;
color: #0159519e;
margin: 0;
padding: 0 6px
}

.ctus .frosted-strip {
background: #0159510a;
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
border-top: 1px solid #0159511a;
border-bottom: 1px solid #0159511a;
padding: 36px 24px
}

.ctus .frosted-strip .strip-inner {
max-width: 1100px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
gap: 36px
}

.ctus .frosted-strip .strip-inner .strip-hdg {
font-size: 32px;
line-height: 1.1;
letter-spacing: -.01em;
color: #015951;
margin: 0;
flex: 1 1 0;
text-align: right
}

.ctus .frosted-strip .strip-inner .strip-hdg .acc {
color: #F4648B
}

.ctus .frosted-strip .strip-inner .strip-body {
flex: 1 1 0;
font-size: 16px;
line-height: 1.55;
color: #015951;
margin: 0
}

.ctus .geo-deco {
position: absolute;
pointer-events: none;
border-radius: 40px;
opacity: .07
}

.ctus .pg-top {
position: relative
}

.ctus .pg-top .deco1 {
width: 180px;
height: 180px;
border: 2px solid #F4648B;
border-radius: 40px;
top: 24px;
right: 12px;
animation: outlinepulse 6s ease-out infinite
}

@keyframes outlinepulse {

0%,
100% {
opacity: .07;
transform: scale(1)
}

50% {
opacity: .13;
transform: scale(1.04)
}
}

@media (max-width: 1024px) {
.ctus .pg-top {
flex-direction: column;
gap: 36px;
padding: 36px 24px
}

.ctus .pg-top .img-side img {
min-height: 260px
}

.ctus .form-area {
flex-direction: column;
gap: 36px;
padding: 36px 24px
}

.ctus .frosted-strip .strip-inner {
flex-direction: column;
gap: 24px
}

.ctus .frosted-strip .strip-inner .strip-hdg {
text-align: left
}
}

@media (max-width: 768px) {
.ctus .pg-top .txt-side .pg-hdg {
font-size: 44px
}

.ctus .metrics-row .met-inner {
flex-direction: column
}

.ctus .metrics-row .met-item+.met-item::before {
width: 60%;
height: 1px;
top: 0;
left: 20%;
bottom: auto
}

.ctus .form-area .frm .row2 {
flex-direction: column;
gap: 24px
}
}

@media (max-width: 480px) {
.ctus .pg-top .txt-side .pg-hdg {
font-size: 32px
}

.ctus .pg-top .txt-side {
padding: 24px 12px
}

.ctus .metrics-row .met-item {
padding: 24px 12px
}

.ctus .form-area {
padding: 36px 12px
}
}

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

.entr .pg {
max-width: 1100px;
margin-left: auto;
margin-right: auto;
padding-left: 24px;
padding-right: 24px
}

.entr .titblk {
background: linear-gradient(113deg, #015951 0%, #F4648B 100%);
position: relative;
padding-top: 72px;
padding-bottom: 72px;
overflow: hidden
}

.entr .titblk .diag {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden
}

.entr .titblk .diag::before {
content: "";
position: absolute;
top: -10%;
left: 20%;
width: 1px;
height: 140%;
background: #fffcfa1f;
transform: rotate(18deg);
transform-origin: top center
}

.entr .titblk .diag::after {
content: "";
position: absolute;
top: -10%;
left: 35%;
width: 1px;
height: 140%;
background: #fffcfa12;
transform: rotate(18deg);
transform-origin: top center
}

.entr .titblk .dotpath {
position: absolute;
bottom: 24px;
right: 36px;
display: flex;
flex-direction: row;
gap: 12px;
pointer-events: none
}

.entr .titblk .dotpath span {
display: block;
border-radius: 40px;
background: #fffcfa59
}

.entr .titblk .dotpath span:nth-child(1) {
width: 6px;
height: 6px
}

.entr .titblk .dotpath span:nth-child(2) {
width: 10px;
height: 6px
}

.entr .titblk .dotpath span:nth-child(3) {
width: 6px;
height: 6px
}

.entr .titblk .dotpath span:nth-child(4) {
width: 14px;
height: 6px
}

.entr .titblk .dotpath span:nth-child(5) {
width: 6px;
height: 6px
}

.entr .titblk .asym {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 0
}

.entr .titblk .txtzone {
flex: 0 0 55%;
display: flex;
flex-direction: column;
justify-content: center;
padding: 36px 36px 36px 0
}

.entr .titblk .imgzone {
flex: 0 0 45%;
padding-top: 12px;
padding-bottom: 12px;
padding-left: 12px;
position: relative
}

.entr .titblk .h1big {
font-size: 72px;
line-height: 1.1;
letter-spacing: -.03em;
color: #FFFCFA;
font-weight: 900;
margin-bottom: 24px
}

.entr .titblk .subline {
font-size: 16px;
line-height: 1.55;
color: #fffcfad9;
max-width: 420px;
margin-bottom: 36px
}

.entr .titblk .tbtn {
display: inline-block;
background: #FFFCFA;
color: #015951;
font-size: 16px;
font-weight: 700;
border-radius: 4px;
border: 2px solid #FFFCFA;
cursor: pointer;
text-decoration: none;
transition: border-color .18s ease-out, color .15s ease-out;
box-shadow: 0 5px 25px 0 #01595117;
align-self: flex-start;
padding: 12px 24px
}

.entr .titblk .tbtn:hover {
border-color: #F4648B;
color: #015951
}

.entr .titblk .tbtn:active {
box-shadow: inset 0 3px 3px 0 #01595112
}

.entr .titblk .imgwrap {
position: relative;
border-radius: 8px;
overflow: hidden;
width: 100%;
height: 360px
}

.entr .titblk .imgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
border-radius: 8px;
transition: transform .22s ease-out
}

.entr .titblk .imgwrap:hover img {
transform: scale(1.03)
}

.entr .titblk .scanline {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: repeating-linear-gradient(0deg, #01595114 0px, #01595114 1px, transparent 1px, transparent 4px);
border-radius: 8px;
pointer-events: none
}

.entr .div1 {
height: 2px;
border: none;
background: none;
border-top: 2px dotted #F4648B;
max-width: 1100px;
margin: 0 auto;
opacity: .5
}

.entr .valblk {
background: #FFFCFA;
padding-top: 72px;
padding-bottom: 72px;
position: relative
}

.entr .valblk .noiseover {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
background-repeat: repeat;
opacity: .6
}

.entr .valblk .vhead {
font-size: 44px;
line-height: 1.1;
letter-spacing: -.02em;
color: #015951;
font-weight: 800;
max-width: 600px;
margin-bottom: 36px
}

.entr .valblk .vgrid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px
}

.entr .valblk .vcard {
background: #FFFCFA;
border-radius: 8px;
border-top: 4px solid #F4648B;
padding: 24px;
box-shadow: 0 3px 3px 0 #f4648b12;
transition: box-shadow .16s ease-out, transform .16s ease-out
}

.entr .valblk .vcard:hover {
box-shadow: 0 5px 25px 0 #f4648b17;
transform: translateY(-3px)
}

.entr .valblk .vcard .ico {
width: 36px;
height: 36px;
margin-bottom: 12px
}

.entr .valblk .vcard h4 {
font-size: 16px;
line-height: 1.35;
font-weight: 700;
color: #015951;
margin-bottom: 12px;
letter-spacing: .01em
}

.entr .valblk .vcard p {
font-size: 16px;
line-height: 1.55;
color: #2a3a38;
margin: 0
}

.entr .div2 {
height: 2px;
border: none;
background: none;
border-top: 2px dotted #015951;
max-width: 1100px;
margin: 0 auto;
opacity: .3
}

.entr .fitblk {
background: #015951;
padding-top: 72px;
padding-bottom: 72px;
position: relative
}

.entr .fitblk .diagline {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden
}

.entr .fitblk .diagline::after {
content: "";
position: absolute;
top: -5%;
right: 15%;
width: 1px;
height: 120%;
background: #fffcfa14;
transform: rotate(-14deg);
transform-origin: top right
}

.entr .fitblk .fitrow {
display: flex;
flex-direction: row;
gap: 36px;
align-items: flex-start
}

.entr .fitblk .fitleft {
flex: 0 0 48%
}

.entr .fitblk .fitright {
flex: 0 0 calc(52% - 36px)
}

.entr .fitblk .fhead {
font-size: 44px;
line-height: 1.1;
letter-spacing: -.02em;
color: #FFFCFA;
font-weight: 800;
margin-bottom: 24px
}

.entr .fitblk .fitimgwrap {
border-radius: 8px;
overflow: hidden;
width: 100%;
height: 320px;
position: relative;
box-shadow: 0 8px 60px 0 #0159511a
}

.entr .fitblk .fitimgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
border-radius: 8px;
transition: border .18s ease-out;
border: 2px solid transparent
}

.entr .fitblk .fitimgwrap:hover img {
border: 2px solid #F4648B
}

.entr .fitblk .fitlist {
list-style: none;
padding: 0;
margin: 0 0 24px;
display: flex;
flex-direction: column;
gap: 12px
}

.entr .fitblk .fitlist li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
font-size: 16px;
line-height: 1.55;
color: #fffcfae6
}

.entr .fitblk .fitlist li .dot {
flex-shrink: 0;
width: 8px;
height: 8px;
border-radius: 40px;
background: #F4648B;
margin-top: 6px
}

.entr .fitblk .notfit {
background: #fffcfa12;
border-radius: 8px;
padding: 24px;
border-top: 4px solid #f4648b99
}

.entr .fitblk .notfit h5 {
font-size: 16px;
font-weight: 700;
color: #F4648B;
margin-bottom: 12px;
letter-spacing: .02em
}

.entr .fitblk .notfit p {
font-size: 16px;
line-height: 1.55;
color: #fffcfabf;
margin: 0
}

.entr .div3 {
height: 2px;
border: none;
background: none;
border-top: 2px dotted #F4648B;
max-width: 1100px;
margin: 0 auto;
opacity: .4
}

.entr .supblk {
background: #FFFCFA;
padding-top: 72px;
padding-bottom: 72px;
position: relative
}

.entr .supblk .diagline2 {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden
}

.entr .supblk .diagline2::before {
content: "";
position: absolute;
top: 10%;
left: -5%;
width: 1px;
height: 110%;
background: #01595112;
transform: rotate(12deg);
transform-origin: top left
}

.entr .supblk .suprow {
display: flex;
flex-direction: row;
gap: 36px;
align-items: flex-start
}

.entr .supblk .supright {
flex: 0 0 52%;
text-align: right
}

.entr .supblk .supleft {
flex: 0 0 calc(48% - 36px)
}

.entr .supblk .shead {
font-size: 44px;
line-height: 1.1;
letter-spacing: -.02em;
color: #015951;
font-weight: 800;
margin-bottom: 24px
}

.entr .supblk .supdesc {
font-size: 16px;
line-height: 1.55;
color: #2a3a38;
margin-bottom: 24px
}

.entr .supblk .supimgwrap {
border-radius: 8px;
overflow: hidden;
width: 100%;
height: 300px;
position: relative;
box-shadow: 0 5px 25px 0 #f4648b17
}

.entr .supblk .supimgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
border-radius: 8px;
transition: border .2s ease-out;
border: 2px solid transparent
}

.entr .supblk .supimgwrap:hover img {
border: 2px solid #F4648B
}

.entr .supblk .supitems {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 24px
}

.entr .supblk .supitem {
background: #FFFCFA;
border-radius: 8px;
border-top: 4px solid #015951;
padding: 24px;
box-shadow: 0 3px 3px 0 #01595112;
transition: box-shadow .14s ease-out
}

.entr .supblk .supitem:hover {
box-shadow: 0 5px 25px 0 #01595117
}

.entr .supblk .supitem h5 {
font-size: 16px;
font-weight: 700;
color: #015951;
margin-bottom: 6px;
letter-spacing: .01em
}

.entr .supblk .supitem p {
font-size: 16px;
line-height: 1.55;
color: #2a3a38;
margin: 0
}

.entr .div4 {
height: 2px;
border: none;
background: none;
border-top: 2px dotted #015951;
max-width: 1100px;
margin: 0 auto;
opacity: .25
}

.entr .invblk {
background: linear-gradient(113deg, #FFFCFA 0%, #f4648b14 100%);
padding-top: 72px;
padding-bottom: 72px;
position: relative;
animation: bgwash 8s cubic-bezier(0.4, 0, 0.6, 1) infinite alternate
}

@keyframes bgwash {
0% {
background: linear-gradient(113deg, #FFFCFA 0%, #f4648b0f 100%)
}

100% {
background: linear-gradient(113deg, #0159510d 0%, #f4648b24 100%)
}
}

.entr .invblk .diagline3 {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden
}

.entr .invblk .diagline3::before {
content: "";
position: absolute;
top: -15%;
left: 60%;
width: 1px;
height: 140%;
background: #f4648b1f;
transform: rotate(18deg);
transform-origin: top center
}

.entr .invblk .invrow {
display: flex;
flex-direction: row;
gap: 36px;
align-items: flex-start
}

.entr .invblk .invleft {
flex: 0 0 38%
}

.entr .invblk .invright {
flex: 0 0 calc(62% - 36px)
}

.entr .invblk .ihead {
font-size: 44px;
line-height: 1.1;
letter-spacing: -.02em;
color: #015951;
font-weight: 800;
margin-bottom: 24px
}

.entr .invblk .idesc {
font-size: 16px;
line-height: 1.55;
color: #2a3a38;
margin-bottom: 24px
}

.entr .invblk .invimgwrap {
border-radius: 8px;
overflow: hidden;
width: 100%;
height: 280px;
position: relative;
box-shadow: 0 8px 60px 0 #f4648b1a
}

.entr .invblk .invimgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
border-radius: 8px;
transition: border .17s ease-out;
border: 2px solid transparent
}

.entr .invblk .invimgwrap:hover img {
border: 2px solid #F4648B
}

.entr .invblk .pricetiers {
display: flex;
flex-direction: column;
gap: 12px
}

.entr .invblk .ptier {
background: #FFFCFA;
border-radius: 8px;
border-top: 4px solid #F4648B;
padding: 24px;
box-shadow: 0 3px 3px 0 #f4648b12;
display: flex;
flex-direction: row;
align-items: center;
gap: 24px;
transition: box-shadow .16s cubic-bezier(0.4, 0, 0.6, 1)
}

.entr .invblk .ptier:hover {
box-shadow: 0 5px 25px 0 #f4648b17
}

.entr .invblk .ptier .plabel {
flex: 0 0 auto;
font-size: 16px;
font-weight: 700;
color: #015951;
min-width: 120px
}

.entr .invblk .ptier .pdesc {
font-size: 16px;
line-height: 1.35;
color: #2a3a38;
flex: 1
}

.entr .invblk .ctalnk {
display: inline-block;
margin-top: 24px;
background: #015951;
color: #FFFCFA;
font-size: 16px;
font-weight: 700;
border-radius: 4px;
border: 2px solid #015951;
cursor: pointer;
text-decoration: none;
transition: border-color .18s ease-out;
box-shadow: 0 5px 25px 0 #01595117;
padding: 12px 24px
}

.entr .invblk .ctalnk:hover {
border-color: #F4648B
}

.entr .invblk .ctalnk:active {
box-shadow: inset 0 3px 3px 0 #01595112
}

@media (max-width: 1024px) {
.entr .titblk .h1big {
font-size: 62px
}

.entr .valblk .vgrid {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 768px) {
.entr .titblk .asym {
flex-direction: column
}

.entr .titblk .txtzone {
padding-right: 0;
padding-bottom: 24px
}

.entr .titblk .imgzone {
padding-left: 0
}

.entr .titblk .h1big {
font-size: 44px
}

.entr .titblk .imgwrap {
height: 240px
}

.entr .valblk .vgrid {
grid-template-columns: 1fr
}

.entr .valblk .vhead {
font-size: 32px
}

.entr .fitblk .fitrow {
flex-direction: column
}

.entr .fitblk .fitleft,
.entr .fitblk .fitright {
flex: 0 0 100%
}

.entr .fitblk .fhead {
font-size: 32px
}

.entr .supblk .suprow {
flex-direction: column
}

.entr .supblk .supright,
.entr .supblk .supleft {
flex: 0 0 100%;
text-align: left
}

.entr .supblk .shead {
font-size: 32px
}

.entr .invblk .invrow {
flex-direction: column
}

.entr .invblk .invleft,
.entr .invblk .invright {
flex: 0 0 100%
}

.entr .invblk .ihead {
font-size: 32px
}

.entr .invblk .ptier {
flex-direction: column;
align-items: flex-start;
gap: 6px
}
}

@media (max-width: 480px) {
.entr .titblk .h1big {
font-size: 32px
}

.entr .pg {
padding-left: 12px;
padding-right: 12px
}

.entr .titblk .dotpath {
right: 12px
}
}

.successPage {
min-height: 60vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 72px 24px;
background-color: #FFFCFA
}

.successPage .successCard {
max-width: 1100px;
width: 100%;
background: #fff;
border: 4px solid #015951;
border-radius: 8px;
box-shadow: 0 5px 25px 0 #01595117;
padding: 72px 36px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center
}

.successPage .successIcon {
width: 72px;
height: 72px;
margin-bottom: 36px;
flex-shrink: 0
}

.successPage .successIcon svg {
width: 72px;
height: 72px
}

.successPage .successTitle {
font-size: 44px;
line-height: 1.1;
letter-spacing: -.02em;
color: #015951;
margin: 0 0 24px;
font-weight: 700
}

.successPage .successMsg {
font-size: 16px;
line-height: 1.55;
color: #015951;
max-width: 520px;
margin: 0 0 36px
}

.successPage .successDivider {
width: 48px;
height: 4px;
background: linear-gradient(113deg, #F4648B, #015951);
border-radius: 4px;
margin: 0 0 36px
}

.successPage .successMeta {
font-size: 16px;
line-height: 1.35;
color: #444;
margin: 0 0 36px
}

.successPage .successMeta a {
color: #F4648B;
text-decoration: underline;
text-underline-offset: 3px;
transition: color .18s ease-out, text-shadow .18s ease-out
}

.successPage .successMeta a:hover {
color: #015951;
text-shadow: 0 0 10px #f4648b59
}

.successPage .backBtn {
display: inline-block;
padding: 12px 36px;
background: #015951;
color: #FFFCFA;
font-size: 16px;
line-height: 1.35;
border: 3px solid #015951;
border-radius: 4px;
text-decoration: none;
font-weight: 600;
letter-spacing: .04em;
box-shadow: 0 3px 3px 0 #01595112;
transition: border-color .14s cubic-bezier(0.4, 0, 0.6, 1), color .14s cubic-bezier(0.4, 0, 0.6, 1)
}

.successPage .backBtn:hover {
border-color: #F4648B;
color: #FFFCFA
}

.successPage .backBtn:focus {
outline: 3px solid #F4648B;
outline-offset: 3px
}

.successPage .backBtn:active {
box-shadow: inset 0 3px 3px 0 #01595112
}

@media (max-width: 480px) {
.successPage {
padding: 36px 12px
}

.successPage .successCard {
padding: 36px 24px
}

.successPage .successTitle {
font-size: 32px
}
}