@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;700&display=swap";

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0
}

.pghead {
    position: relative;
    background: linear-gradient(135deg, #f0fafa 0%, #fff5f8 60%, #fff9f3 100%);
    border-bottom: 2px solid #e8f7f7;
    z-index: 100
}

.pghead-backdrop {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none
}

.pghead-backdrop::before {
    content: '';
    position: absolute;
    top: -32px;
    right: -64px;
    width: 320px;
    height: 320px;
    background: linear-gradient(135deg, #03909112 0%, #fc58850d 100%);
    border-radius: 50%
}

.pghead-backdrop::after {
    content: '';
    position: absolute;
    bottom: -16px;
    left: 30%;
    width: 180px;
    height: 180px;
    background: #ffc38617;
    border-radius: 50%
}

.pghead-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 32px 32px 0;
    display: flex;
    align-items: flex-start;
    gap: 64px
}

.brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    min-width: 120px
}

.brand-logocard {
    background: #1b3a3a;
    border-radius: 5px 16px 5px 16px;
    padding: 8px;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 18px 0 #0390911c
}

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

.brand-name {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #1b3a3a;
    line-height: 1.2;
    letter-spacing: 0;
    text-align: center
}

.brand-tagline {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #039091;
    line-height: 1.5;
    text-align: center;
    max-width: 140px
}

.pghead-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 16px;
    padding-bottom: 32px
}

.pghead-contact {
    display: flex;
    align-items: center;
    gap: 16px
}

.pghead-contact a {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    color: #1b3a3a;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 5px;
    border: 1px solid #0390912e;
    transition: color .38s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1), transform .35s cubic-bezier(0.34, 1.2, 0.64, 1);
    position: relative;
    overflow: hidden;
    background: #ffffffb3
}

.pghead-contact a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0;
    background: linear-gradient(135deg, #03909114, #fc58850f);
    transition: height .35s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.pghead-contact a:hover::before {
    height: 100%
}

.pghead-contact a:hover {
    color: #039091;
    border-color: #039091;
    transform: scale(0.97)
}

.pghead-contact a:focus {
    outline: none;
    border-color: #FC5885;
    background: #fc58850a
}

.pghead-contact a i {
    font-size: 14px;
    color: #039091;
    flex-shrink: 0
}

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

.mainnav a {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #1b3a3a;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 5px;
    position: relative;
    transition: color .42s ease-in-out, transform .35s cubic-bezier(0.34, 1.2, 0.64, 1);
    overflow: hidden;
    background: transparent
}

.mainnav a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0;
    background: linear-gradient(180deg, transparent, #0390911a);
    transition: height .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.mainnav a:hover::after {
    height: 100%
}

.mainnav a:hover {
    color: #039091;
    transform: scale(0.97)
}

.mainnav a:focus {
    outline: none;
    border-radius: 5px;
    background: #fc58850f;
    color: #FC5885
}

.mainnav a[data-active="true"] {
    color: #FC5885;
    font-weight: 700;
    border-bottom: 2px solid #FC5885
}

.mainnav-cta {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 5px 16px 5px 16px;
    background: #039091;
    position: relative;
    overflow: hidden;
    transition: color .38s cubic-bezier(0.34, 1.2, 0.64, 1), transform .35s cubic-bezier(0.34, 1.2, 0.64, 1);
    box-shadow: 0 6px 18px 0 #0390911c;
    flex-shrink: 0
}

.mainnav-cta::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0;
    background: #FC5885;
    transition: height .38s cubic-bezier(0.34, 1.2, 0.64, 1);
    z-index: 0
}

.mainnav-cta:hover::before {
    height: 100%
}

.mainnav-cta:hover {
    transform: scale(0.97)
}

.mainnav-cta:focus {
    outline: none;
    box-shadow: 0 0 0 3px #fc58854d 0 6px 18px 0 #0390911c
}

.mainnav-cta span {
    position: relative;
    z-index: 1
}

.pghead-strip {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    align-items: center;
    gap: 16px;
    border-top: 1px solid #0390911a;
    margin-top: 0
}

.pghead-strip-label {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    color: #5a7a7a;
    padding: 8px 0;
    white-space: nowrap
}

.pghead-strip-dots {
    display: flex;
    gap: 8px;
    align-items: center
}

.pghead-strip-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #FC5885;
    opacity: .4
}

.pghead-strip-dot.two {
    background: #039091;
    opacity: .5
}

.pghead-strip-dot.three {
    background: #FFC386;
    opacity: .6
}

.pgfooter {
    background: #f0fafa;
    border-top: 2px solid #0390911f
}

.pgfooter-main {
    max-width: 1280px;
    margin: 0 auto;
    padding: 64px 32px 32px;
    display: flex;
    gap: 64px;
    align-items: flex-start
}

.pgfooter-brand {
    flex: 0 0 260px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.pgfooter-logocard {
    background: #1b3a3a;
    border-radius: 16px 5px 16px 5px;
    padding: 8px;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 18px 0 #0390911c
}

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

.pgfooter-brandname {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #1b3a3a;
    line-height: 1.2
}

.pgfooter-desc {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    color: #3d6060;
    line-height: 1.75;
    max-width: 220px
}

.pgfooter-contact {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px
}

.pgfooter-contact a {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    color: #1b3a3a;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color .38s ease-in-out
}

.pgfooter-contact a:hover {
    color: #039091
}

.pgfooter-contact a:focus {
    outline: none;
    color: #FC5885
}

.pgfooter-contact a i {
    color: #039091;
    font-size: 14px;
    flex-shrink: 0
}

.pgfooter-addr {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    color: #3d6060;
    line-height: 1.75;
    display: flex;
    align-items: flex-start;
    gap: 8px
}

.pgfooter-addr i {
    color: #FFC386;
    font-size: 14px;
    flex-shrink: 0;
    margin-top: 3px
}

.pgfooter-cols {
    flex: 1;
    display: flex;
    gap: 64px;
    justify-content: flex-end
}

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

.pgfooter-col-label {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #039091;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0
}

.pgfooter-col a {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    color: #1b3a3a;
    text-decoration: none;
    line-height: 1.5;
    padding: 8px 0;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color .4s cubic-bezier(0.34, 1.2, 0.64, 1), transform .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.pgfooter-col a:hover {
    color: #FC5885;
    transform: scale(0.97)
}

.pgfooter-col a:focus {
    outline: none;
    color: #FC5885
}

.pgfooter-col a i {
    font-size: 12px;
    color: #FFC386;
    flex-shrink: 0
}

.pgfooter-bottom {
    max-width: 1280px;
    margin: 0 auto;
    padding: 16px 32px 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid #0390911a;
    gap: 16px;
    flex-wrap: wrap
}

.pgfooter-copy {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    color: #5a7a7a;
    line-height: 1.5
}

.pgfooter-legal {
    display: flex;
    gap: 16px;
    align-items: center
}

.pgfooter-legal a {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    color: #5a7a7a;
    text-decoration: none;
    transition: color .38s ease-in-out;
    padding: 8px 0
}

.pgfooter-legal a:hover {
    color: #039091
}

.pgfooter-legal a:focus {
    outline: none;
    color: #FC5885
}

.pgfooter-legal-sep {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #0390914d;
    flex-shrink: 0
}

.cookiebar {
    display: none;
    position: fixed;
    top: 32px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 680px;
    max-width: calc(100vw - 64px);
    background: #fff;
    border-radius: 5px 24px 5px 24px;
    box-shadow: 0 12px 40px 0 #03909124;
    border: 1px solid #03909126;
    z-index: 1200;
    padding: 32px;
    opacity: 0;
    transition: opacity .26s ease-in-out
}

.cookiebar.visible {
    opacity: 1
}

.cookiebar-headline {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #1b3a3a;
    line-height: 1.2;
    margin-bottom: 8px
}

.cookiebar-text {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    color: #3d6060;
    line-height: 1.75;
    margin-bottom: 16px
}

.cookiebar-actions {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: flex-end
}

.cookiebar-actions button {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px 0;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .38s ease-in-out
}

.cookiebar-accept {
    color: #039091
}

.cookiebar-accept:hover {
    color: #FC5885
}

.cookiebar-accept:focus {
    outline: none;
    color: #FC5885
}

.cookiebar-decline {
    color: #5a7a7a
}

.cookiebar-decline:hover {
    color: #1b3a3a
}

.cookiebar-decline:focus {
    outline: none;
    color: #1b3a3a
}

@media (max-width: 900px) {
    .pghead-inner {
        flex-direction: column;
        gap: 32px;
        padding: 32px 16px 0;
        align-items: flex-start
    }

    .brand {
        flex-direction: row;
        align-items: center;
        gap: 16px
    }

    .brand-tagline {
        text-align: left;
        max-width: 200px
    }

    .pghead-right {
        align-items: flex-start;
        width: 100%
    }

    .pghead-strip {
        padding: 0 16px
    }

    .pgfooter-main {
        flex-direction: column;
        gap: 32px;
        padding: 32px 16px
    }

    .pgfooter-brand {
        flex: none
    }

    .pgfooter-cols {
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 32px
    }

    .pgfooter-bottom {
        padding: 16px 16px 32px;
        flex-direction: column;
        align-items: flex-start
    }

    .mainnav {
        justify-content: flex-start
    }

    .pghead-contact {
        flex-wrap: wrap
    }
}

.text-doc {
    max-width: 1280px;
    margin: 0 auto;
    padding: 64px 32px;
    color: #2d2d2d;
    line-height: 1.75;
    font-size: 17px
}

.text-doc p {
    margin-bottom: 16px;
    line-height: 1.75;
    font-size: 17px;
    color: #2d2d2d
}

.text-doc strong,
.text-doc b {
    font-weight: 700;
    color: #1e1e1e
}

.text-doc a {
    color: #039091;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .38s cubic-bezier(0.34, 1.2, 0.64, 1), opacity .32s ease-in-out
}

.text-doc a:hover {
    color: #FC5885;
    opacity: .88
}

.text-doc hr {
    border: none;
    border-top: 2px solid #f0e8ed;
    margin: 32px 0
}

.text-doc div {
    margin-bottom: 16px
}

.text-doc table {
    width: 100%;
    border-collapse: collapse;
    margin: 32px 0;
    font-size: 14px;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0 2px 5px 0 #fc58850f 0 6px 18px 0 #fc58851c
}

.text-doc thead {
    background: linear-gradient(135deg, #FC5885 0%, #039091 100%)
}

.text-doc thead th {
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    padding: 16px;
    text-align: left;
    line-height: 1.5;
    border: none
}

.text-doc tbody tr {
    border-bottom: 1px solid #f2edf0;
    transition: background-color .35s ease-in-out
}

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

.text-doc tbody tr:nth-child(even) {
    background-color: #fdf7fa
}

.text-doc tbody tr:hover {
    background-color: #ffeef4
}

.text-doc td {
    padding: 16px;
    font-size: 14px;
    color: #2d2d2d;
    line-height: 1.5;
    vertical-align: top;
    border: none
}

.text-doc th {
    padding: 16px;
    font-size: 14px;
    line-height: 1.5;
    vertical-align: top
}

@media (max-width: 768px) {
    .text-doc {
        padding: 32px 16px;
        font-size: 17px
    }

    .text-doc table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }

    .text-doc td,
    .text-doc th {
        padding: 8px 16px;
        min-width: 140px
    }
}

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

.prtl .maxw {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 32px;
    padding-right: 32px
}

.prtl ::selection {
    background: linear-gradient(90deg, #FC5885, #039091);
    color: #fff
}

.prtl .hdln-grad {
    background: linear-gradient(135deg, #039091, #FC5885);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.prtl .titblk {
    background: linear-gradient(155deg, #0d2b2b 0%, #1a0d18 60%, #2b1020 100%);
    padding-top: 64px;
    padding-bottom: 64px;
    position: relative
}

.prtl .titblk .shape-a {
    position: absolute;
    top: 32px;
    left: 8%;
    width: 180px;
    height: 180px;
    border: 1px solid #fc58851f;
    border-radius: 24px;
    transform: rotate(22deg);
    pointer-events: none
}

.prtl .titblk .shape-b {
    position: absolute;
    bottom: 32px;
    right: 6%;
    width: 120px;
    height: 120px;
    border: 1px solid #03909126;
    border-radius: 16px;
    transform: rotate(-15deg);
    pointer-events: none
}

.prtl .titblk .shape-c {
    position: absolute;
    top: 50%;
    right: 18%;
    width: 60px;
    height: 60px;
    background: #ffc3860f;
    border-radius: 5px;
    transform: translateY(-50%) rotate(30deg);
    pointer-events: none
}

.prtl .titblk .tgrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center
}

.prtl .titblk .tleft {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.prtl .titblk .tbadge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #03909126;
    border: 1px solid #0390914d;
    border-radius: 5px;
    padding: 8px 16px;
    font-size: 14px;
    color: #5ecfcf;
    width: fit-content
}

.prtl .titblk .tbadge .dot {
    width: 6px;
    height: 6px;
    background: #039091;
    border-radius: 2px
}

.prtl .titblk h1 {
    font-size: 70px;
    line-height: 1.2;
    color: #f0ece8;
    margin: 0
}

.prtl .titblk .tsub {
    font-size: 17px;
    line-height: 1.75;
    color: #b8b0aa;
    margin: 0
}

.prtl .titblk .tactions {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap
}

.prtl .titblk .btn-prim {
    position: relative;
    display: inline-block;
    padding: 16px 32px;
    font-size: 14px;
    color: #fff;
    background: #FC5885;
    border-radius: 5px;
    text-decoration: none;
    overflow: hidden;
    transition: transform .38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .38s ease-in-out;
    box-shadow: 0 6px 18px 0 #fc58851c
}

.prtl .titblk .btn-prim::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #039091;
    transition: height .35s cubic-bezier(0.34, 1.2, 0.64, 1);
    z-index: 0
}

.prtl .titblk .btn-prim:hover::before {
    height: 100%
}

.prtl .titblk .btn-prim:hover {
    transform: scale(0.97);
    box-shadow: 0 12px 40px 0 #fc588524
}

.prtl .titblk .btn-prim span {
    position: relative;
    z-index: 1
}

.prtl .titblk .btn-sec {
    font-size: 14px;
    color: #b8b0aa;
    text-decoration: none;
    border-bottom: 1px solid #b8b0aa4d;
    transition: color .32s ease-in-out, border-color .32s ease-in-out
}

.prtl .titblk .btn-sec:hover {
    color: #FFC386;
    border-color: #FFC386
}

.prtl .titblk .tright {
    position: relative
}

.prtl .titblk .imgframe {
    border-radius: 16px;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 4/3;
    box-shadow: 0 12px 40px 0 #03909124
}

.prtl .titblk .imgframe img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    mix-blend-mode: luminosity;
    opacity: .75
}

.prtl .titblk .imgoverlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(155deg, #03909140 0%, #fc58852e 100%);
    border-radius: 16px;
    pointer-events: none
}

.prtl .titblk .statrow {
    display: flex;
    flex-direction: row;
    gap: 16px;
    margin-top: 16px
}

.prtl .titblk .statpill {
    background: #ffffff0d;
    border: 1px solid #ffffff1a;
    border-radius: 5px;
    padding: 8px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.prtl .titblk .statpill .snum {
    font-size: 38px;
    line-height: 1.2;
    color: #FC5885
}

.prtl .titblk .statpill .slbl {
    font-size: 14px;
    color: #8a8480;
    line-height: 1.5
}

@keyframes liftReveal {
    from {
        opacity: 0;
        transform: translateY(28px)
    }

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

.prtl .titblk h1 {
    animation: liftReveal .45s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

.prtl .titblk .tbadge {
    animation: liftReveal .38s cubic-bezier(0.34, 1.2, 0.64, 1) .1s both
}

.prtl .titblk .tsub {
    animation: liftReveal .42s cubic-bezier(0.34, 1.2, 0.64, 1) .18s both
}

.prtl .titblk .tactions {
    animation: liftReveal .4s cubic-bezier(0.34, 1.2, 0.64, 1) .26s both
}

.prtl .divdr {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 32px 0 0;
    background: #f4f0ec
}

.prtl .divdr .dline {
    flex: 1;
    max-width: 320px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #d4cfc9)
}

.prtl .divdr .dline.right {
    background: linear-gradient(90deg, #d4cfc9, transparent)
}

.prtl .divdr .dcenter {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.prtl .divdr svg {
    display: block
}

.prtl .difblk {
    background: #f4f0ec;
    padding-top: 64px;
    padding-bottom: 64px
}

.prtl .difblk .dif-grid {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 64px;
    align-items: start
}

.prtl .difblk .dif-left {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.prtl .difblk .eyebrow {
    font-size: 14px;
    color: #039091;
    letter-spacing: 0;
    text-transform: uppercase
}

.prtl .difblk h2 {
    font-size: 38px;
    line-height: 1.2;
    margin: 0
}

.prtl .difblk .dif-body {
    font-size: 17px;
    line-height: 1.75;
    color: #3a3330;
    margin: 0
}

.prtl .difblk .dif-body::first-letter {
    font-size: 38px;
    line-height: 1.2;
    float: left;
    margin-right: 8px;
    color: #FC5885
}

.prtl .difblk .dif-right {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.prtl .difblk .difcard {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 16px;
    align-items: start;
    padding: 32px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #e8e2dc;
    box-shadow: 0 2px 5px 0 #fc58850f;
    transition: transform .4s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .4s ease-in-out
}

.prtl .difblk .difcard:hover {
    transform: scale(0.97);
    box-shadow: 0 12px 40px 0 #fc588524
}

.prtl .difblk .difcard .icon-wrap {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, #fc58851f, #0390911a);
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.prtl .difblk .difcard .icon-wrap i {
    font-size: 20px;
    color: #FC5885
}

.prtl .difblk .difcard h4 {
    font-size: 17px;
    line-height: 1.5;
    margin: 0 0 8px;
    color: #1e1a18
}

.prtl .difblk .difcard p {
    font-size: 14px;
    line-height: 1.75;
    color: #5a5450;
    margin: 0
}

.prtl .difblk .splitstat {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    gap: 0;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #e8e2dc;
    overflow: hidden;
    box-shadow: 0 6px 18px 0 #0390911c
}

.prtl .difblk .splitstat .szone {
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.prtl .difblk .splitstat .sdivide {
    background: #e8e2dc;
    width: 1px
}

.prtl .difblk .splitstat .szone .sval {
    font-size: 38px;
    line-height: 1.2;
    color: #039091
}

.prtl .difblk .splitstat .szone .sdesc {
    font-size: 14px;
    line-height: 1.5;
    color: #5a5450
}

.prtl .difblk .splitstat .szone .sbadge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #FC5885;
    color: #fff;
    font-size: 14px;
    border-radius: 2px;
    padding: 8px;
    width: fit-content;
    margin-top: 8px
}

.prtl .divdr2 {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 0;
    background: #fff
}

.prtl .divdr2 .dline {
    flex: 1;
    max-width: 320px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #ddd8d2)
}

.prtl .divdr2 .dline.right {
    background: linear-gradient(90deg, #ddd8d2, transparent)
}

.prtl .scope {
    background: #fff;
    padding-top: 64px;
    padding-bottom: 64px
}

.prtl .scope .sc-wrap {
    display: flex;
    flex-direction: column;
    gap: 64px
}

.prtl .scope .sc-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center
}

.prtl .scope .sc-imgwrap {
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: 3/2;
    box-shadow: 0 12px 40px 0 #03909124
}

.prtl .scope .sc-imgwrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .45s ease-in-out
}

.prtl .scope .sc-imgwrap:hover img {
    transform: scale(0.97)
}

.prtl .scope .sc-text {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.prtl .scope .sc-text h2 {
    font-size: 38px;
    line-height: 1.2;
    margin: 0
}

.prtl .scope .sc-text p {
    font-size: 17px;
    line-height: 1.75;
    color: #3a3330;
    margin: 0
}

.prtl .scope .sc-text p::first-letter {
    font-size: 38px;
    line-height: 1.2;
    float: left;
    margin-right: 8px;
    color: #039091
}

.prtl .scope .sc-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px
}

.prtl .scope .scitem {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 32px;
    border-radius: 16px;
    border-top: 3px solid #FC5885;
    background: #f9f5f1;
    box-shadow: 0 2px 5px 0 #fc58850f;
    transition: transform .4s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.prtl .scope .scitem:hover {
    transform: scale(0.97)
}

.prtl .scope .scitem h5 {
    font-size: 17px;
    line-height: 1.5;
    margin: 0;
    color: #1e1a18
}

.prtl .scope .scitem p {
    font-size: 14px;
    line-height: 1.75;
    color: #5a5450;
    margin: 0
}

.prtl .scope .scitem .bullet {
    width: 10px;
    height: 10px;
    background: #FFC386;
    border-radius: 2px;
    flex-shrink: 0
}

.prtl .divdr3 {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 0;
    background: #0d2b2b
}

.prtl .divdr3 .dline {
    flex: 1;
    max-width: 320px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #0390914d)
}

.prtl .divdr3 .dline.right {
    background: linear-gradient(90deg, #0390914d, transparent)
}

.prtl .patblk {
    position: relative;
    padding-top: 64px;
    padding-bottom: 64px;
    background: #0d2b2b
}

.prtl .patblk .bgimg {
    position: absolute;
    inset: 0;
    z-index: 0
}

.prtl .patblk .bgimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: .18
}

.prtl .patblk .bgoverlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(155deg, #0d2b2beb 0%, #1a0d18e0 100%);
    z-index: 1
}

.prtl .patblk .maxw {
    position: relative;
    z-index: 2
}

.prtl .patblk .pat-head {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 64px;
    max-width: 640px
}

.prtl .patblk .pat-head h2 {
    font-size: 38px;
    line-height: 1.2;
    margin: 0;
    color: #f0ece8
}

.prtl .patblk .pat-head p {
    font-size: 17px;
    line-height: 1.75;
    color: #9a9490;
    margin: 0
}

.prtl .patblk .pat-cols {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    gap: 0
}

.prtl .patblk .pcoldiv {
    background: #ffffff14;
    width: 1px
}

.prtl .patblk .pcol {
    padding: 0 32px;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.prtl .patblk .pcol:first-child {
    padding-left: 0
}

.prtl .patblk .pcol:last-child {
    padding-right: 0
}

.prtl .patblk .pcard {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 32px;
    background: #ffffff0a;
    border-radius: 16px;
    border: 1px solid #ffffff14;
    transition: background .38s ease-in-out, transform .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.prtl .patblk .pcard:hover {
    background: #0390911a;
    transform: scale(0.97)
}

.prtl .patblk .pcard .pquote {
    font-size: 17px;
    line-height: 1.75;
    color: #c8c2bc;
    margin: 0;
    font-style: italic
}

.prtl .patblk .pcard .pauthor {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.prtl .patblk .pcard .pavatar {
    width: 48px;
    height: 48px;
    border-radius: 5px;
    overflow: hidden;
    flex-shrink: 0
}

.prtl .patblk .pcard .pavatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.prtl .patblk .pcard .pname {
    font-size: 14px;
    color: #f0ece8;
    line-height: 1.5
}

.prtl .patblk .pcard .prole {
    font-size: 14px;
    color: #6a9090;
    line-height: 1.5
}

.prtl .patblk .ratebar {
    margin-top: 64px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 32px;
    flex-wrap: wrap
}

.prtl .patblk .ratebar .rval {
    font-size: 70px;
    line-height: 1.2;
    color: #FFC386
}

.prtl .patblk .ratebar .rinfo {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.prtl .patblk .ratebar .rstars {
    display: flex;
    flex-direction: row;
    gap: 8px
}

.prtl .patblk .ratebar .rstar {
    width: 20px;
    height: 20px;
    background: #FFC386;
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%)
}

.prtl .patblk .ratebar .rstar.half {
    background: linear-gradient(90deg, #FFC386 50%, #ffc38640 50%)
}

.prtl .patblk .ratebar .rcnt {
    font-size: 14px;
    color: #9a9490;
    line-height: 1.5
}

.prtl .divdr4 {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 0;
    background: #f4f0ec
}

.prtl .divdr4 .dline {
    flex: 1;
    max-width: 320px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #d4cfc9)
}

.prtl .divdr4 .dline.right {
    background: linear-gradient(90deg, #d4cfc9, transparent)
}

.prtl .readyblk {
    background: #f4f0ec;
    padding-top: 64px;
    padding-bottom: 64px
}

.prtl .readyblk .rdy-head {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 64px;
    max-width: 700px
}

.prtl .readyblk .rdy-head h2 {
    font-size: 38px;
    line-height: 1.2;
    margin: 0
}

.prtl .readyblk .rdy-head p {
    font-size: 17px;
    line-height: 1.75;
    color: #3a3330;
    margin: 0
}

.prtl .readyblk .rdy-head p::first-letter {
    font-size: 38px;
    line-height: 1.2;
    float: left;
    margin-right: 8px;
    color: #FFC386
}

.prtl .readyblk .rdy-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px
}

.prtl .readyblk .rdyitem {
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 16px;
    align-items: start;
    padding: 32px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #e8e2dc;
    box-shadow: 0 2px 5px 0 #fc58850f;
    transition: transform .42s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .42s ease-in-out;
    position: relative;
    overflow: hidden
}

.prtl .readyblk .rdyitem::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    background: #0390910f;
    transition: width .35s ease-in-out, height .35s ease-in-out;
    border-radius: 0 16px 0 0
}

.prtl .readyblk .rdyitem:hover::before {
    width: 100%;
    height: 100%;
    border-radius: 0
}

.prtl .readyblk .rdyitem:hover {
    transform: scale(0.97);
    box-shadow: 0 12px 40px 0 #fc588524
}

.prtl .readyblk .rdyitem .rnum {
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, #FC5885, #039091);
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #fff;
    flex-shrink: 0;
    position: relative;
    z-index: 1
}

.prtl .readyblk .rdyitem .rtxt {
    position: relative;
    z-index: 1
}

.prtl .readyblk .rdyitem h5 {
    font-size: 17px;
    line-height: 1.5;
    margin: 0 0 8px;
    color: #1e1a18
}

.prtl .readyblk .rdyitem p {
    font-size: 14px;
    line-height: 1.75;
    color: #5a5450;
    margin: 0
}

.prtl .readyblk .rdy-bottom {
    margin-top: 64px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center
}

.prtl .readyblk .rdy-bottom .rbimg {
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: 16/9;
    box-shadow: 0 6px 18px 0 #0390911c
}

.prtl .readyblk .rdy-bottom .rbimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .45s ease-in-out
}

.prtl .readyblk .rdy-bottom .rbimg:hover img {
    transform: scale(0.97)
}

.prtl .readyblk .rdy-bottom .rbtext {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.prtl .readyblk .rdy-bottom .rbtext h4 {
    font-size: 38px;
    line-height: 1.2;
    margin: 0
}

.prtl .readyblk .rdy-bottom .rbtext p {
    font-size: 17px;
    line-height: 1.75;
    color: #3a3330;
    margin: 0
}

.prtl .readyblk .rdy-bottom .rbtext a {
    font-size: 17px;
    color: #039091;
    text-decoration: underline;
    transition: color .32s ease-in-out;
    width: fit-content
}

.prtl .readyblk .rdy-bottom .rbtext a:hover {
    color: #FC5885
}

.prtl .chkbrd {
    position: relative;
    overflow: hidden
}

.prtl .chkbrd::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: repeating-conic-gradient(#03909112 0% 25%, transparent 0% 50%);
    background-size: 16px 16px;
    opacity: 0;
    transition: opacity .4s ease-in-out;
    pointer-events: none;
    border-radius: inherit
}

.prtl .chkbrd:hover::after {
    opacity: 1
}

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

.prtl .blist li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    font-size: 17px;
    line-height: 1.75;
    color: #3a3330
}

.prtl .blist li::before {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    background: #FC5885;
    border-radius: 2px;
    flex-shrink: 0;
    margin-top: 6px
}

@media (max-width: 900px) {
    .prtl .titblk .tgrid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .prtl .titblk h1 {
        font-size: 38px
    }

    .prtl .difblk .dif-grid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .prtl .scope .sc-top {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .prtl .scope .sc-list {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .prtl .patblk .pat-cols {
        grid-template-columns: 1fr
    }

    .prtl .patblk .pcoldiv {
        display: none
    }

    .prtl .patblk .pcol {
        padding: 0
    }

    .prtl .readyblk .rdy-grid {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .prtl .readyblk .rdy-bottom {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .prtl .difblk .splitstat {
        grid-template-columns: 1fr
    }

    .prtl .difblk .splitstat .sdivide {
        display: none
    }
}

@media (max-width: 600px) {
    .prtl .maxw {
        padding-left: 16px;
        padding-right: 16px
    }

    .prtl .titblk h1 {
        font-size: 38px
    }

    .prtl .titblk .statrow {
        flex-direction: column
    }
}

.ctus {
    background: #fff;
    overflow-x: clip;
    position: relative
}

.ctus .schema-block {
    display: none
}

.ctus .pg-top {
    position: relative;
    padding: 64px 32px;
    background: linear-gradient(170deg, transparent 0%, #f0fafa 40%, #e8f7f7 70%, #c8ecec 100%);
    overflow: hidden
}

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

.ctus .pg-top::after {
    content: '';
    position: absolute;
    top: -80px;
    right: -80px;
    width: 320px;
    height: 320px;
    background: radial-gradient(ellipse at 70% 30%, #fc58852e 0%, #0390911a 50%, transparent 75%);
    pointer-events: none;
    border-radius: 50%
}

.ctus .top-inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 64px
}

.ctus .top-left {
    flex: 1 1 480px;
    position: relative;
    z-index: 1
}

.ctus .top-eyebrow {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px
}

.ctus .top-dots {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center
}

.ctus .top-dots span {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #039091;
    opacity: .5
}

.ctus .top-dots span:nth-child(2) {
    background: #FC5885;
    opacity: .7
}

.ctus .top-dots span:nth-child(3) {
    background: #FFC386;
    opacity: .6
}

.ctus .top-label {
    font-size: 14px;
    line-height: 1.5;
    color: #039091;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase
}

.ctus .top-h1 {
    font-size: 70px;
    line-height: 1.2;
    color: #1b2d2d;
    font-weight: 800;
    margin-bottom: 16px
}

.ctus .top-h1 .punct {
    color: #FC5885
}

.ctus .top-h1 .grad {
    background: linear-gradient(120deg, #039091, #FC5885);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.ctus .top-desc {
    font-size: 17px;
    line-height: 1.75;
    color: #2e4a4a;
    max-width: 440px;
    margin-bottom: 32px
}

.ctus .top-desc::first-letter {
    font-size: 38px;
    line-height: 1.2;
    float: left;
    margin-right: 8px;
    color: #039091;
    font-weight: 800
}

.ctus .contact-chips {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.ctus .chip {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 16px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 2px 5px 0 #0390910f 0 6px 18px 0 #0390911c;
    transition: transform .38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .38s ease-in-out;
    text-decoration: none
}

.ctus .chip:hover {
    transform: scale(0.97);
    box-shadow: 0 2px 5px 0 #0390910f 0 12px 40px 0 #03909124
}

.ctus .chip-icon {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.ctus .chip-icon.phone {
    background: linear-gradient(135deg, #039091, #04b5b6)
}

.ctus .chip-icon.mail {
    background: linear-gradient(135deg, #FC5885, #fd7aa0)
}

.ctus .chip-icon.addr {
    background: linear-gradient(135deg, #FFC386, #ffaa5a)
}

.ctus .chip-icon i {
    color: #fff;
    font-size: 17px
}

.ctus .chip-meta {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.ctus .chip-lbl {
    font-size: 14px;
    line-height: 1.5;
    color: #6a8e8e;
    font-weight: 500
}

.ctus .chip-val {
    font-size: 17px;
    line-height: 1.5;
    color: #1b2d2d;
    font-weight: 600;
    text-decoration: none
}

.ctus .chip-val:hover {
    color: #039091
}

.ctus .top-right {
    flex: 0 0 420px;
    position: relative;
    z-index: 1
}

.ctus .img-frame {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 4/5;
    box-shadow: 0 12px 40px 0 #fc588524
}

.ctus .img-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.ctus .img-frame::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 20% 10%, #ffffff59 0%, transparent 55%), radial-gradient(ellipse at 50% 50%, transparent 40%, #1b2d2d61 100%);
    pointer-events: none
}

.ctus .img-badge {
    position: absolute;
    bottom: 32px;
    left: -32px;
    background: #fff;
    border-radius: 16px;
    padding: 16px;
    box-shadow: 0 6px 18px 0 #0390911c;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    z-index: 2
}

.ctus .img-badge-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #039091;
    flex-shrink: 0;
    animation: flicker 3.7s ease-in-out infinite
}

@keyframes flicker {

    0%,
    100% {
        opacity: 1
    }

    30% {
        opacity: .6
    }

    55% {
        opacity: .9
    }

    70% {
        opacity: .5
    }

    85% {
        opacity: 1
    }
}

.ctus .img-badge-txt {
    font-size: 14px;
    line-height: 1.5;
    color: #1b2d2d;
    font-weight: 600
}

.ctus .form-sec {
    padding: 64px 32px;
    background: #fff;
    position: relative
}

.ctus .form-sec::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    height: 1px;
    background: linear-gradient(90deg, transparent, #039091 30%, #FC5885 70%, transparent)
}

.ctus .form-inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: flex-start
}

.ctus .form-aside {
    flex: 0 0 320px;
    padding-top: 8px
}

.ctus .aside-qmark {
    font-size: 70px;
    line-height: 1.2;
    color: #FC5885;
    opacity: .15;
    font-weight: 900;
    margin-bottom: 8px;
    display: block;
    user-select: none
}

.ctus .aside-h2 {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 800;
    background: linear-gradient(120deg, #039091, #FC5885);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 16px
}

.ctus .aside-p {
    font-size: 17px;
    line-height: 1.75;
    color: #2e4a4a;
    margin-bottom: 32px
}

.ctus .aside-steps {
    display: flex;
    flex-direction: column;
    gap: 16px;
    list-style: none;
    padding: 0;
    margin: 0
}

.ctus .aside-steps li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px
}

.ctus .step-num {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 5px;
    background: linear-gradient(135deg, #039091, #04b5b6);
    color: #fff;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center
}

.ctus .step-txt {
    font-size: 14px;
    line-height: 1.75;
    color: #2e4a4a;
    padding-top: 6px
}

.ctus .form-box {
    flex: 1 1 0;
    background: #f5fbfb;
    border-radius: 24px;
    padding: 32px;
    box-shadow: 0 6px 18px 0 #0390911c;
    position: relative
}

.ctus .form-box::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 24px;
    background: radial-gradient(ellipse at 50% 50%, #03909112 0%, transparent 70%);
    pointer-events: none
}

.ctus .fform {
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative;
    z-index: 1
}

.ctus .frow {
    display: flex;
    flex-direction: row;
    gap: 16px
}

.ctus .fgroup {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 0
}

.ctus .fgroup.full {
    flex: 0 0 100%
}

.ctus .flbl {
    font-size: 14px;
    line-height: 1.5;
    color: #2e4a4a;
    font-weight: 600
}

.ctus .flbl .req {
    color: #FC5885;
    margin-left: 2px
}

.ctus .finput {
    width: 100%;
    padding: 16px;
    border-radius: 5px;
    border: 1.5px solid #c8e8e8;
    background: #fff;
    font-size: 17px;
    line-height: 1.5;
    color: #1b2d2d;
    outline: none;
    transition: border-color .35s ease-in-out, box-shadow .35s ease-in-out;
    box-sizing: border-box
}

.ctus .finput::placeholder {
    color: #03909166
}

.ctus .finput:focus {
    border-color: #039091;
    box-shadow: 0 0 0 3px #0390911f inset 0 2px 5px 0 #0390910f
}

.ctus .finput:hover:not(:focus) {
    border-color: #FC5885
}

.ctus .chk-group {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.ctus .chk-group-lbl {
    font-size: 14px;
    line-height: 1.5;
    color: #2e4a4a;
    font-weight: 600;
    margin-bottom: 8px
}

.ctus .chk-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px
}

.ctus .chk-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 16px;
    border-radius: 5px;
    border: 1.5px solid #c8e8e8;
    background: #fff;
    cursor: pointer;
    transition: border-color .32s ease-in-out, background .32s ease-in-out
}

.ctus .chk-item:hover {
    border-color: #039091;
    background: #f0fafa
}

.ctus .chk-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #039091;
    cursor: pointer;
    flex-shrink: 0
}

.ctus .chk-item input[type="checkbox"]:focus {
    outline: 2px solid #FC5885;
    outline-offset: 2px
}

.ctus .chk-item-txt {
    font-size: 14px;
    line-height: 1.5;
    color: #1b2d2d;
    font-weight: 500
}

.ctus .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    padding: 16px;
    border-radius: 5px;
    border: 1.5px solid #c8e8e8;
    background: #fff
}

.ctus .privacy-row input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #039091;
    cursor: pointer;
    flex-shrink: 0;
    margin-top: 2px
}

.ctus .privacy-row input[type="checkbox"]:focus {
    outline: 2px solid #FC5885;
    outline-offset: 2px
}

.ctus .privacy-txt {
    font-size: 14px;
    line-height: 1.75;
    color: #2e4a4a
}

.ctus .privacy-txt a {
    color: #039091;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .33s ease-in-out
}

.ctus .privacy-txt a:hover {
    color: #FC5885
}

.ctus .submit-btn {
    position: relative;
    padding: 16px 32px;
    border-radius: 5px;
    border: none;
    background: linear-gradient(135deg, #039091, #04b5b6);
    color: #fff;
    font-size: 17px;
    line-height: 1.5;
    font-weight: 700;
    cursor: pointer;
    overflow: hidden;
    transition: transform .36s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .36s ease-in-out;
    align-self: flex-start;
    min-width: 200px;
    text-align: center;
    box-shadow: 0 6px 18px 0 #0390911c
}

.ctus .submit-btn::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: linear-gradient(135deg, #FC5885, #fd7aa0);
    transition: height .38s cubic-bezier(0.34, 1.2, 0.64, 1);
    z-index: 0
}

.ctus .submit-btn:hover::before {
    height: 100%
}

.ctus .submit-btn:hover {
    transform: scale(0.97);
    box-shadow: 0 12px 40px 0 #fc588524
}

.ctus .submit-btn:focus {
    outline: 3px solid #FFC386;
    outline-offset: 3px
}

.ctus .submit-btn span {
    position: relative;
    z-index: 1
}

@media (max-width: 1024px) {
    .ctus .top-inner {
        flex-direction: column;
        gap: 32px
    }

    .ctus .top-right {
        flex: 0 0 auto;
        width: 100%;
        max-width: 480px
    }

    .ctus .img-badge {
        left: 16px
    }

    .ctus .form-inner {
        flex-direction: column;
        gap: 32px
    }

    .ctus .form-aside {
        flex: 0 0 auto;
        width: 100%
    }

    .ctus .top-h1 {
        font-size: 38px
    }
}

@media (max-width: 640px) {
    .ctus .pg-top {
        padding: 32px 16px
    }

    .ctus .form-sec {
        padding: 32px 16px
    }

    .ctus .frow {
        flex-direction: column
    }

    .ctus .chk-grid {
        grid-template-columns: 1fr
    }

    .ctus .form-box {
        padding: 16px
    }

    .ctus .top-h1 {
        font-size: 38px
    }

    .ctus .img-badge {
        left: 8px;
        bottom: 16px
    }
}

.srvc {
    background: #fff;
    overflow-x: clip;
    position: relative
}

.srvc .pgwid {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 32px
}

.srvc .gradtxt {
    background: linear-gradient(135deg, #039091, #FC5885);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.srvc .dropcap::first-letter {
    font-size: 70px;
    line-height: 1.2;
    float: left;
    margin-right: 8px;
    margin-top: 4px;
    color: #FC5885;
    font-weight: 700
}

.srvc ul.accentlist {
    list-style: none;
    padding: 0;
    margin: 0
}

.srvc ul.accentlist li {
    padding-left: 24px;
    position: relative;
    margin-bottom: 8px;
    font-size: 17px;
    line-height: 1.75;
    color: #1b1b2e
}

.srvc ul.accentlist li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 10px;
    height: 10px;
    border-radius: 2px;
    background: #FC5885;
    transform: rotate(45deg)
}

.srvc a.lnk {
    color: #039091;
    text-decoration: underline;
    transition: color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.srvc a.lnk:hover {
    color: #FC5885
}

.srvc .btn {
    display: inline-block;
    padding: 16px 32px;
    border-radius: 5px;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 600;
    cursor: pointer;
    border: none;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: transform .35s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .35s cubic-bezier(0.34, 1.2, 0.64, 1);
    z-index: 1
}

.srvc .btn::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #ffffff21;
    transition: height .32s cubic-bezier(0.34, 1.2, 0.64, 1);
    z-index: -1
}

.srvc .btn:hover::after {
    height: 100%
}

.srvc .btn:hover {
    transform: scale(0.97);
    box-shadow: 0 6px 18px 0 #fc58851c
}

.srvc .btn:active {
    transform: scale(0.95)
}

.srvc .btn.primary {
    background: #FC5885;
    color: #fff
}

.srvc .btn.secondary {
    background: #039091;
    color: #fff
}

.srvc .btn:focus-visible {
    outline: 2px solid #FC5885;
    outline-offset: 3px
}

.srvc .titblk {
    background: #f5f4f0;
    padding: 64px 0;
    position: relative;
    overflow: hidden
}

.srvc .titblk .diag {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0
}

.srvc .titblk .diag svg {
    width: 100%;
    height: 100%
}

.srvc .titblk .titrow {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 64px;
    position: relative;
    z-index: 1
}

.srvc .titblk .titleft {
    flex: 1 1 0;
    min-width: 0
}

.srvc .titblk .titright {
    flex: 0 0 440px;
    max-width: 440px;
    position: relative
}

.srvc .titblk .imgwrap {
    border-radius: 16px;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 4/3;
    box-shadow: 0 12px 40px 0 #fc588524
}

.srvc .titblk .imgwrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .45s ease-in-out;
    image-rendering: auto;
    filter: contrast(1.05) saturate(1.08)
}

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

.srvc .titblk .eyebrow {
    font-size: 14px;
    line-height: 1.5;
    color: #039091;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 16px;
    display: block
}

.srvc .titblk h1 {
    font-size: 70px;
    line-height: 1.2;
    font-weight: 800;
    color: #1b1b2e;
    margin: 0 0 16px
}

.srvc .titblk .subhead {
    font-size: 17px;
    line-height: 1.75;
    color: #3a3a4a;
    margin: 0 0 32px;
    max-width: 480px
}

.srvc .titblk .tagrow {
    display: flex;
    flex-direction: row;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 32px
}

.srvc .titblk .tag {
    font-size: 14px;
    line-height: 1.5;
    padding: 8px 16px;
    border-radius: 5px;
    background: #fff;
    color: #1b1b2e;
    border: 1.5px solid #e2e0da;
    font-weight: 500
}

.srvc .animchars span {
    display: inline;
    opacity: 0;
    animation: charfade .04s forwards
}

@keyframes charfade {
    to {
        opacity: 1
    }
}

@keyframes diagwave {
    from {
        opacity: 0;
        transform: translateX(-24px) translateY(16px)
    }

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

.srvc .titblk .titleft {
    animation: diagwave .42s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

.srvc .titblk .titright {
    animation: diagwave .42s .12s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

.srvc .svcgrid {
    padding: 64px 0;
    background: #fff;
    position: relative
}

.srvc .svcgrid .outlineshape {
    position: absolute;
    top: -32px;
    right: -64px;
    width: 340px;
    height: 340px;
    pointer-events: none;
    z-index: 0;
    overflow: hidden
}

.srvc .svcgrid .outlineshape svg {
    width: 100%;
    height: 100%
}

.srvc .svcgrid .sechead {
    margin-bottom: 32px;
    position: relative;
    z-index: 1
}

.srvc .svcgrid .sechead h2 {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    color: #1b1b2e;
    margin: 0 0 16px
}

.srvc .svcgrid .sechead p {
    font-size: 17px;
    line-height: 1.75;
    color: #3a3a4a;
    max-width: 600px;
    margin: 0
}

.srvc .svcgrid .cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    position: relative;
    z-index: 1
}

.srvc .svcgrid .card {
    background: #f5f4f0;
    border-radius: 16px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: 0 2px 5px 0 #fc58850f;
    transition: transform .38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.srvc .svcgrid .card:hover {
    transform: scale(0.97);
    box-shadow: 0 6px 18px 0 #fc58851c
}

.srvc .svcgrid .card .icnbox {
    width: 48px;
    height: 48px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px
}

.srvc .svcgrid .card .icnbox.pink {
    background: #fc58851a;
    color: #FC5885
}

.srvc .svcgrid .card .icnbox.teal {
    background: #0390911a;
    color: #039091
}

.srvc .svcgrid .card .icnbox.warm {
    background: #ffc38633;
    color: #c47a00
}

.srvc .svcgrid .card h4 {
    font-size: 17px;
    line-height: 1.5;
    font-weight: 700;
    color: #1b1b2e;
    margin: 0
}

.srvc .svcgrid .card p {
    font-size: 14px;
    line-height: 1.75;
    color: #3a3a4a;
    margin: 0;
    flex: 1
}

.srvc .svcgrid .card .cardtag {
    font-size: 14px;
    line-height: 1.5;
    color: #039091;
    font-weight: 600;
    border-top: 1.5px solid #e2e0da;
    padding-top: 16px
}

.srvc .metblk {
    background: #1b1b2e;
    padding: 64px 0;
    position: relative;
    overflow: hidden
}

.srvc .metblk .decring {
    position: absolute;
    left: -80px;
    bottom: -80px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    border: 2px solid #ffc3861f;
    pointer-events: none
}

.srvc .metblk .decring2 {
    position: absolute;
    left: -48px;
    bottom: -48px;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    border: 2px solid #fc58851a;
    pointer-events: none
}

.srvc .metblk .metrow {
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: flex-start
}

.srvc .metblk .metleft {
    flex: 1 1 0;
    min-width: 0
}

.srvc .metblk .metleft h2 {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    color: #fff;
    margin: 0 0 16px
}

.srvc .metblk .metleft p {
    font-size: 17px;
    line-height: 1.75;
    color: #ffffffb8;
    margin: 0 0 32px
}

.srvc .metblk .metright {
    flex: 0 0 480px;
    max-width: 480px
}

.srvc .metblk .statcard {
    background: #ffffff0d;
    border-radius: 16px;
    border: 1px solid #ffffff17;
    overflow: hidden;
    box-shadow: 0 6px 18px 0 #0390911c
}

.srvc .metblk .statcard .statrow {
    display: flex;
    flex-direction: row
}

.srvc .metblk .statcard .statzone {
    flex: 1 1 0;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.srvc .metblk .statcard .statzone.left {
    border-right: 1px solid #ffffff17;
    background: #fc588514
}

.srvc .metblk .statcard .statzone.right {
    background: #03909114
}

.srvc .metblk .statcard .statlabel {
    font-size: 14px;
    line-height: 1.5;
    color: #ffffff8c;
    font-weight: 500
}

.srvc .metblk .statcard .statval {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 800;
    color: #fff
}

.srvc .metblk .statcard .statval.pink {
    color: #FC5885
}

.srvc .metblk .statcard .statval.teal {
    color: #39d0d1
}

.srvc .metblk .statcard .statdesc {
    font-size: 14px;
    line-height: 1.5;
    color: #ffffff80
}

.srvc .metblk .statcard .statfooter {
    padding: 16px 32px;
    border-top: 1px solid #ffffff12;
    font-size: 14px;
    line-height: 1.5;
    color: #ffffff73;
    background: #ffffff08
}

.srvc .metblk .proclist {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.srvc .metblk .proclist li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    font-size: 17px;
    line-height: 1.75;
    color: #ffffffd1
}

.srvc .metblk .proclist li .stepnum {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 5px;
    background: #fc58852e;
    color: #FC5885;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px
}

.srvc .metblk .proclist li .stepnum.t {
    background: #0390912e;
    color: #39d0d1
}

.srvc .metblk .proclist li .stepnum.w {
    background: #ffc38626;
    color: #FFC386
}

.srvc .apprblk {
    padding: 64px 0;
    background: linear-gradient(160deg, #fdf6ef 0%, #f0f8f8 100%);
    position: relative
}

.srvc .apprblk .apprrow {
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: flex-start
}

.srvc .apprblk .apprleft {
    flex: 1 1 0;
    min-width: 0
}

.srvc .apprblk .apprright {
    flex: 0 0 400px;
    max-width: 400px
}

.srvc .apprblk h2 {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    color: #1b1b2e;
    margin: 0 0 16px
}

.srvc .apprblk .leadp {
    font-size: 17px;
    line-height: 1.75;
    color: #3a3a4a;
    margin: 0 0 16px
}

.srvc .apprblk .faqlist {
    list-style: none;
    padding: 0;
    margin: 0 0 32px;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.srvc .apprblk .faqlist li {
    padding: 16px;
    border-radius: 5px;
    background: #fffc;
    border: 1.5px solid #e8e4de;
    font-size: 17px;
    line-height: 1.75;
    color: #1b1b2e;
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start
}

.srvc .apprblk .faqlist li i {
    color: #039091;
    font-size: 17px;
    flex-shrink: 0;
    margin-top: 3px
}

.srvc .apprblk .ratingbox {
    background: #fff;
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 6px 18px 0 #0390911c;
    margin-bottom: 32px
}

.srvc .apprblk .ratingbox .rttop {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px
}

.srvc .apprblk .ratingbox .rtnum {
    font-size: 70px;
    line-height: 1.2;
    font-weight: 800;
    color: #1b1b2e
}

.srvc .apprblk .ratingbox .rtmeta {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.srvc .apprblk .ratingbox .stars {
    display: flex;
    flex-direction: row;
    gap: 4px
}

.srvc .apprblk .ratingbox .star {
    width: 18px;
    height: 18px
}

.srvc .apprblk .ratingbox .rtcount {
    font-size: 14px;
    line-height: 1.5;
    color: #3a3a4a
}

.srvc .apprblk .ratingbox .rtbar {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.srvc .apprblk .ratingbox .barrow {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    line-height: 1.5;
    color: #3a3a4a
}

.srvc .apprblk .ratingbox .bartrack {
    flex: 1;
    height: 6px;
    border-radius: 2px;
    background: #e8e4de;
    overflow: hidden
}

.srvc .apprblk .ratingbox .barfill {
    height: 100%;
    border-radius: 2px;
    background: linear-gradient(90deg, #039091, #FC5885);
    transition: width .43s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.srvc .apprblk .ctabox {
    background: #FC5885;
    border-radius: 16px;
    padding: 32px;
    color: #fff
}

.srvc .apprblk .ctabox h4 {
    font-size: 17px;
    line-height: 1.5;
    font-weight: 700;
    margin: 0 0 8px;
    color: #fff
}

.srvc .apprblk .ctabox p {
    font-size: 14px;
    line-height: 1.75;
    margin: 0 0 16px;
    color: #ffffffd9
}

.srvc .apprblk .ctabox .btn {
    background: #fff;
    color: #FC5885;
    font-weight: 700
}

.srvc .apprblk .ctabox .btn:hover {
    box-shadow: 0 6px 18px 0 #fc588538
}

.srvc .divband {
    height: 64px;
    background: linear-gradient(to bottom, #f5f4f0, #fff);
    display: block
}

.srvc .divband2 {
    height: 64px;
    background: linear-gradient(to bottom, #fff, #1b1b2e);
    display: block
}

.srvc .divband3 {
    height: 64px;
    background: linear-gradient(to bottom, #1b1b2e, #fdf6ef);
    display: block
}

@media (max-width: 1024px) {
    .srvc .titblk .titrow {
        flex-direction: column;
        gap: 32px
    }

    .srvc .titblk .titright {
        flex: none;
        max-width: 100%;
        width: 100%
    }

    .srvc .svcgrid .cards {
        grid-template-columns: repeat(2, 1fr)
    }

    .srvc .metblk .metrow {
        flex-direction: column;
        gap: 32px
    }

    .srvc .metblk .metright {
        flex: none;
        max-width: 100%;
        width: 100%
    }

    .srvc .apprblk .apprrow {
        flex-direction: column;
        gap: 32px
    }

    .srvc .apprblk .apprright {
        flex: none;
        max-width: 100%;
        width: 100%
    }
}

@media (max-width: 640px) {
    .srvc .titblk h1 {
        font-size: 38px
    }

    .srvc .svcgrid .cards {
        grid-template-columns: 1fr
    }

    .srvc .metblk .statcard .statrow {
        flex-direction: column
    }

    .srvc .metblk .statcard .statzone.left {
        border-right: none;
        border-bottom: 1px solid #ffffff17
    }

    .srvc .pgwid {
        padding: 0 16px
    }
}

.abtus {
    position: relative;
    overflow-x: clip
}

.abtus .grad-text {
    background: linear-gradient(135deg, #039091, #FC5885);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.abtus .decor-strokes {
    display: flex;
    flex-direction: column;
    gap: 5px;
    pointer-events: none
}

.abtus .decor-strokes span {
    display: block;
    height: 2px;
    background: #FC5885;
    border-radius: 2px
}

.abtus .decor-strokes span:nth-child(1) {
    width: 32px
}

.abtus .decor-strokes span:nth-child(2) {
    width: 22px
}

.abtus .decor-strokes span:nth-child(3) {
    width: 16px
}

.abtus .zigzag-div {
    width: 100%;
    line-height: 0;
    overflow: hidden
}

.abtus .zigzag-div svg {
    display: block;
    width: 100%
}

.abtus .titblk {
    background: #f4f4f2;
    padding: 64px 0 0;
    position: relative
}

.abtus .titblk-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 64px;
    align-items: center
}

.abtus .titblk-text {
    position: relative
}

.abtus .titblk-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    line-height: 1.5;
    color: #039091;
    font-weight: 600;
    letter-spacing: .04em;
    margin-bottom: 16px
}

.abtus .titblk-eyebrow .icon-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #039091;
    flex-shrink: 0
}

.abtus .titblk-h1 {
    font-size: 70px;
    line-height: 1.2;
    font-weight: 800;
    color: #1b1b1b;
    margin: 0 0 32px
}

.abtus .titblk-h1 .line2 {
    display: block
}

.abtus .titblk-lead {
    font-size: 17px;
    line-height: 1.75;
    color: #3a3a3a;
    margin: 0 0 32px;
    max-width: 540px
}

.abtus .titblk-lead::first-letter {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    float: left;
    margin-right: 8px;
    color: #FC5885
}

.abtus .titblk-meta {
    display: flex;
    flex-direction: row;
    gap: 32px;
    align-items: center;
    flex-wrap: wrap
}

.abtus .titblk-stat {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.abtus .titblk-stat .num {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 800;
    color: #FC5885
}

.abtus .titblk-stat .lbl {
    font-size: 14px;
    line-height: 1.5;
    color: #5a5a5a
}

.abtus .titblk-divider {
    width: 1px;
    height: 48px;
    background: #d0d0cc
}

.abtus .titblk-img-col {
    position: relative;
    align-self: stretch;
    display: flex;
    align-items: flex-end
}

.abtus .titblk-imgwrap {
    position: relative;
    width: 100%;
    border-radius: 16px 16px 0 0;
    overflow: hidden;
    aspect-ratio: 3/4
}

.abtus .titblk-imgwrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.abtus .titblk-imgwrap .imgoverlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(155deg, #0390918c 0%, #fc58852e 100%);
    pointer-events: none
}

.abtus .titblk-pattern {
    position: absolute;
    top: 32px;
    right: -16px;
    display: grid;
    grid-template-columns: repeat(5, 8px);
    grid-template-rows: repeat(5, 8px);
    gap: 8px;
    pointer-events: none;
    z-index: 0
}

.abtus .titblk-pattern span {
    display: block;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #FC5885;
    opacity: .35
}

.abtus .titblk-strokes {
    position: absolute;
    bottom: 64px;
    left: -32px;
    pointer-events: none
}

.abtus .detail {
    background: #fff;
    padding: 64px 0;
    position: relative
}

.abtus .detail-bg-accent {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #0390910f 0%, #fff0 55%);
    pointer-events: none
}

.abtus .detail-texture {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden
}

.abtus .detail-texture svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: .04
}

.abtus .detail-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 32px;
    position: relative
}

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

.abtus .detail-left h2 {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 800;
    color: #1b1b1b;
    margin: 0 0 16px
}

.abtus .detail-left .sub {
    font-size: 17px;
    line-height: 1.75;
    color: #3a3a3a;
    margin: 0 0 16px
}

.abtus .detail-left .sub2 {
    font-size: 17px;
    line-height: 1.75;
    color: #3a3a3a;
    margin: 0
}

.abtus .detail-right {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.abtus .detail-point {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start
}

.abtus .detail-point-icon {
    width: 40px;
    height: 40px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.abtus .detail-point-icon.teal {
    background: #0390911a;
    color: #039091
}

.abtus .detail-point-icon.pink {
    background: #fc58851a;
    color: #FC5885
}

.abtus .detail-point-icon.orange {
    background: #ffc38640;
    color: #c07820
}

.abtus .detail-point-icon i {
    font-size: 17px
}

.abtus .detail-point-body h5 {
    font-size: 17px;
    line-height: 1.5;
    font-weight: 700;
    color: #1b1b1b;
    margin: 0 0 8px
}

.abtus .detail-point-body p {
    font-size: 14px;
    line-height: 1.75;
    color: #4a4a4a;
    margin: 0
}

.abtus .detail-comparison {
    background: #f7f5f2;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 6px 18px 0 #fc58851c;
    margin-bottom: 64px
}

.abtus .detail-comparison-head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #1b1b1b
}

.abtus .detail-comparison-head div {
    padding: 16px 32px;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase
}

.abtus .detail-comparison-head .col-before {
    color: #aaa;
    border-right: 1px solid #333
}

.abtus .detail-comparison-head .col-after {
    color: #FFC386
}

.abtus .detail-comparison-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid #e8e5e0
}

.abtus .detail-comparison-row:last-child {
    border-bottom: none
}

.abtus .detail-comparison-row .cell {
    padding: 16px 32px;
    font-size: 14px;
    line-height: 1.75;
    display: flex;
    align-items: center;
    gap: 8px
}

.abtus .detail-comparison-row .cell.before {
    color: #6a6a6a;
    border-right: 1px solid #e8e5e0;
    background: #faf8f6
}

.abtus .detail-comparison-row .cell.after {
    color: #1b1b1b;
    font-weight: 600;
    background: #fff
}

.abtus .cell-icon-neg {
    width: 18px;
    height: 18px;
    flex-shrink: 0
}

.abtus .cell-icon-pos {
    width: 18px;
    height: 18px;
    flex-shrink: 0
}

.abtus .detail-bottom {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px;
    align-items: start
}

.abtus .detail-imgcard {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 6px 18px 0 #0390911c;
    aspect-ratio: 4/3;
    position: relative
}

.abtus .detail-imgcard img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .45s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.abtus .detail-imgcard:hover img {
    transform: scale(0.97)
}

.abtus .detail-imgcard2 {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 6px 18px 0 #fc58851c;
    aspect-ratio: 4/3;
    position: relative
}

.abtus .detail-imgcard2 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .42s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.abtus .detail-imgcard2:hover img {
    transform: scale(0.97)
}

.abtus .detail-team {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.abtus .detail-team h3 {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 800;
    color: #1b1b1b;
    margin: 0 0 8px
}

.abtus .detail-team p {
    font-size: 14px;
    line-height: 1.75;
    color: #4a4a4a;
    margin: 0
}

.abtus .team-person {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 16px;
    border-radius: 5px;
    background: #f4f4f2;
    border-left: 3px solid #039091;
    border-top: 1px solid #e8e5e0;
    border-right: 1px solid #e8e5e0;
    border-bottom: 1px solid #e8e5e0;
    transition: box-shadow .38s ease-in-out, transform .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.abtus .team-person:hover {
    box-shadow: 0 6px 18px 0 #0390911c;
    transform: scale(0.97)
}

.abtus .team-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #039091, #FC5885);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    flex-shrink: 0
}

.abtus .team-info .tname {
    font-size: 14px;
    line-height: 1.5;
    font-weight: 700;
    color: #1b1b1b;
    margin: 0
}

.abtus .team-info .trole {
    font-size: 14px;
    line-height: 1.5;
    color: #5a5a5a;
    margin: 0
}

.abtus .detail-ctalink {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 600;
    color: #039091;
    text-decoration: none;
    padding: 8px 0;
    border-bottom: 1px solid #0390914d;
    transition: color .35s ease-in-out, border-color .35s ease-in-out
}

.abtus .detail-ctalink:hover {
    color: #FC5885;
    border-color: #fc588580
}

.abtus .detail-ctalink i {
    transition: transform .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.abtus .detail-ctalink:hover i {
    transform: translateX(4px)
}

.abtus .warm-anim {
    animation: warmcool 9s ease-in-out infinite
}

@keyframes warmcool {
    0% {
        background-color: #f7f5f2
    }

    40% {
        background-color: #fff8f4
    }

    70% {
        background-color: #f4f8f7
    }

    100% {
        background-color: #f7f5f2
    }
}

.abtus .accent-line {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-bottom: 32px
}

.abtus .accent-line .line-seg {
    flex: 1;
    height: 1px;
    background: #e0ddd8
}

.abtus .accent-line .line-gem {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background: #FC5885;
    transform: rotate(45deg);
    flex-shrink: 0
}

@media (max-width: 1024px) {
    .abtus .titblk-inner {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .abtus .titblk-img-col {
        max-width: 420px
    }

    .abtus .titblk-h1 {
        font-size: 38px
    }

    .abtus .detail-top {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .abtus .detail-bottom {
        grid-template-columns: 1fr 1fr;
        gap: 32px
    }

    .abtus .detail-team {
        grid-column: 1 / -1
    }
}

@media (max-width: 768px) {
    .abtus .titblk-h1 {
        font-size: 38px
    }

    .abtus .titblk-meta {
        gap: 16px
    }

    .abtus .detail-bottom {
        grid-template-columns: 1fr
    }

    .abtus .detail-comparison-head div,
    .abtus .detail-comparison-row .cell {
        padding: 16px
    }

    .abtus .titblk-pattern {
        display: none
    }
}

.docm {
    background: #fff;
    color: #1b1b2f;
    overflow-x: hidden
}

.docm .dbento {
    max-width: 1280px;
    margin: 0 auto;
    padding: 64px 32px 32px
}

.docm .dbento-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 16px
}

.docm .dbento-text {
    grid-column: 1;
    grid-row: 1 / 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 32px;
    background: linear-gradient(158deg, #f5f7fa 0%, #e8eef5 100%);
    border-radius: 16px;
    border: 1px solid #0390911f;
    box-shadow: 0 6px 18px 0 #fc58851c
}

.docm .dbento-img {
    grid-column: 2;
    grid-row: 1;
    border-radius: 16px;
    overflow: hidden;
    border: 2px solid #0390912e;
    box-shadow: 0 12px 40px 0 #03909124;
    aspect-ratio: 16/10
}

.docm .dbento-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 0;
    animation: fadeImg .45s cubic-bezier(0.34, 1.2, 0.64, 1) .2s forwards
}

@keyframes fadeImg {
    to {
        opacity: 1
    }
}

.docm .dbento-stat {
    grid-column: 2;
    grid-row: 2;
    display: flex;
    flex-direction: row;
    gap: 16px
}

.docm .dstat-item {
    flex: 1;
    background: #039091;
    border-radius: 16px;
    padding: 16px;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.docm .dstat-item.alt {
    background: #FC5885
}

.docm .dstat-num {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700
}

.docm .dstat-label {
    font-size: 14px;
    line-height: 1.5;
    opacity: .9
}

.docm .dh1 {
    font-size: 70px;
    line-height: 1.2;
    font-weight: 800;
    margin: 0 0 16px;
    background: linear-gradient(158deg, #039091 0%, #FC5885 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.docm .dh1 .kw {
    text-decoration: underline;
    text-decoration-color: #FFC386;
    text-underline-offset: 6px
}

.docm .dlead {
    font-size: 17px;
    line-height: 1.75;
    color: #2c2c3e;
    margin: 0 0 32px
}

.docm .dbadge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #ffc3862e;
    border: 1px solid #FFC386;
    border-radius: 5px;
    padding: 8px 16px;
    font-size: 14px;
    line-height: 1.5;
    color: #7a5200;
    font-weight: 600
}

.docm .dref-strip {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 32px 32px;
    display: flex;
    flex-direction: row;
    gap: 8px;
    flex-wrap: wrap
}

.docm .dref-chip {
    font-size: 14px;
    line-height: 1.5;
    padding: 8px 16px;
    border-radius: 5px;
    background: #f0f4f8;
    color: #039091;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
    transition: border-color .35s cubic-bezier(0.34, 1.2, 0.64, 1), background .35s ease-in-out, transform .38s cubic-bezier(0.34, 1.2, 0.64, 1);
    text-decoration: none;
    display: inline-block
}

.docm .dref-chip:hover {
    border-color: #039091;
    background: #e0f5f5;
    transform: scale(0.97)
}

.docm .ddocs {
    background: #f5f7fa;
    padding: 64px 0;
    position: relative
}

.docm .ddocs-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 32px
}

.docm .ddocs-diag {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    overflow: hidden
}

.docm .ddocs-diag svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.docm .ddocs-hgroup {
    margin-bottom: 32px
}

.docm .dh2 {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    margin: 0 0 16px;
    background: linear-gradient(158deg, #039091 0%, #FC5885 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.docm .dsub {
    font-size: 17px;
    line-height: 1.75;
    color: #2c2c3e;
    max-width: 640px
}

.docm .ddocs-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 32px;
    align-items: start
}

.docm .dtoc {
    background: #fff;
    border-radius: 16px;
    border: 1px solid #03909124;
    box-shadow: 0 2px 5px 0 #0390910f;
    padding: 16px;
    position: sticky;
    top: 32px
}

.docm .dtoc-title {
    font-size: 14px;
    line-height: 1.5;
    font-weight: 700;
    color: #039091;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin: 0 0 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid #03909126
}

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

.docm .dtoc-list li a {
    font-size: 14px;
    line-height: 1.5;
    color: #2c2c3e;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px;
    border-radius: 5px;
    transition: background .35s ease-in-out, color .35s ease-in-out
}

.docm .dtoc-list li a:hover {
    background: #03909114;
    color: #039091
}

.docm .dtoc-list li a .icon {
    font-size: 14px;
    color: #FC5885;
    flex-shrink: 0
}

.docm .darticle {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.docm .dsect {
    background: #fff;
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 2px 5px 0 #fc58850f;
    border: 1px solid #fc588514;
    position: relative;
    overflow: hidden
}

.docm .dsect-accent {
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, #039091 0%, #FC5885 100%);
    border-radius: 2px 0 0 2px
}

.docm .dh3 {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    margin: 0 0 16px;
    background: linear-gradient(158deg, #039091 0%, #FC5885 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.docm .dh4 {
    font-size: 17px;
    line-height: 1.5;
    font-weight: 700;
    color: #039091;
    margin: 16px 0 8px
}

.docm .dpara {
    font-size: 17px;
    line-height: 1.75;
    color: #2c2c3e;
    margin: 0 0 16px
}

.docm .dpara:first-of-type::first-letter {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 800;
    color: #FC5885;
    float: left;
    margin-right: 8px;
    margin-top: 4px
}

.docm .dpara a {
    color: #039091;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .38s ease-in-out
}

.docm .dpara a:hover {
    color: #FC5885
}

.docm .dlist {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.docm .dlist li {
    font-size: 17px;
    line-height: 1.75;
    color: #2c2c3e;
    display: flex;
    align-items: flex-start;
    gap: 16px
}

.docm .dlist li::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    min-width: 10px;
    border-radius: 2px;
    background: #FC5885;
    margin-top: 7px
}

.docm .dlist li.sec::before {
    background: #039091
}

.docm .dlist li.ter::before {
    background: #FFC386
}

.docm .dfeat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 16px 0
}

.docm .dfeat-item {
    border-radius: 16px;
    border: 1px solid #03909124;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: #f5f7fa;
    transition: box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1), transform .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.docm .dfeat-item:hover {
    box-shadow: 0 6px 18px 0 #0390911c;
    transform: scale(0.97)
}

.docm .dfeat-icon {
    width: 40px;
    height: 40px;
    border-radius: 5px;
    background: linear-gradient(158deg, #039091 0%, #FC5885 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 17px
}

.docm .dfeat-label {
    font-size: 14px;
    line-height: 1.5;
    font-weight: 700;
    color: #1b1b2f
}

.docm .dfeat-desc {
    font-size: 14px;
    line-height: 1.5;
    color: #4a4a6a
}

.docm .dcode {
    background: #1b1b2f;
    border-radius: 5px;
    padding: 16px;
    margin: 16px 0;
    overflow-x: auto
}

.docm .dcode code {
    font-size: 14px;
    line-height: 1.75;
    color: #FFC386;
    white-space: pre;
    display: block
}

.docm .dcode code .cm {
    color: #ffc38673
}

.docm .dcode code .kw {
    color: #FC5885
}

.docm .dcode code .str {
    color: #a8e6cf
}

.docm .dtable-wrap {
    overflow-x: auto;
    margin: 16px 0;
    border-radius: 5px;
    border: 1px solid #03909124
}

.docm .dtable {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    line-height: 1.5
}

.docm .dtable th {
    background: #039091;
    color: #fff;
    padding: 8px 16px;
    text-align: left;
    font-weight: 700
}

.docm .dtable td {
    padding: 8px 16px;
    color: #2c2c3e;
    border-bottom: 1px solid #03909114
}

.docm .dtable tr:last-child td {
    border-bottom: none
}

.docm .dtable tr:nth-child(even) td {
    background: #0390910a
}

.docm .ddisclosure {
    border: 1px solid #fc58852e;
    border-radius: 16px;
    overflow: hidden;
    margin: 16px 0
}

.docm .ddisclosure summary {
    padding: 16px;
    font-size: 17px;
    line-height: 1.5;
    font-weight: 700;
    color: #1b1b2f;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 16px;
    list-style: none;
    background: #fc58850d;
    transition: background .35s ease-in-out
}

.docm .ddisclosure summary::-webkit-details-marker {
    display: none
}

.docm .ddisclosure summary:hover {
    background: #fc58851a
}

.docm .ddisclosure summary .ddisc-arrow {
    margin-left: auto;
    width: 20px;
    height: 20px;
    border-radius: 2px;
    background: #FC5885;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.docm .ddisclosure[open] summary .ddisc-arrow {
    transform: rotate(180deg)
}

.docm .ddisclosure-body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.docm .dstep-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    counter-reset: stepcount
}

.docm .dstep-list li {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    font-size: 17px;
    line-height: 1.75;
    color: #2c2c3e;
    counter-increment: stepcount
}

.docm .dstep-list li::before {
    content: counter(stepcount);
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    border-radius: 5px;
    background: linear-gradient(158deg, #039091 0%, #FC5885 100%);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 4px
}

.docm .dimg-block {
    border-radius: 16px;
    overflow: hidden;
    border: 2px solid #0390912e;
    box-shadow: 0 12px 40px 0 #03909124;
    margin: 16px 0;
    aspect-ratio: 16/7
}

.docm .dimg-block img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.docm .dnote {
    background: #ffc38626;
    border-left: 4px solid #FFC386;
    border-radius: 0 5px 5px 0;
    padding: 16px;
    font-size: 14px;
    line-height: 1.75;
    color: #5a3800;
    margin: 16px 0;
    display: flex;
    gap: 8px;
    align-items: flex-start
}

.docm .dnote .icon {
    color: #FFC386;
    font-size: 17px;
    flex-shrink: 0;
    margin-top: 2px
}

.docm .dslide-in {
    opacity: 0;
    animation: slideUp .42s cubic-bezier(0.34, 1.2, 0.64, 1) forwards
}

.docm .dslide-in:nth-child(1) {
    animation-delay: .05s
}

.docm .dslide-in:nth-child(2) {
    animation-delay: .15s
}

.docm .dslide-in:nth-child(3) {
    animation-delay: .25s
}

.docm .dslide-in:nth-child(4) {
    animation-delay: .35s
}

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

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

.docm .dslide-left {
    opacity: 0;
    animation: slideLeft .42s cubic-bezier(0.34, 1.2, 0.64, 1) .1s forwards
}

@keyframes slideLeft {
    from {
        opacity: 0;
        transform: translateX(-32px)
    }

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

.docm .dslide-right {
    opacity: 0;
    animation: slideRight .42s cubic-bezier(0.34, 1.2, 0.64, 1) .2s forwards
}

@keyframes slideRight {
    from {
        opacity: 0;
        transform: translateX(32px)
    }

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

@keyframes gradShift {
    0% {
        background-position: 0 50%
    }

    50% {
        background-position: 100% 50%
    }

    100% {
        background-position: 0 50%
    }
}

.docm .dbento-text {
    background-size: 200% 200%;
    animation: gradShift 12s ease-in-out infinite
}

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

    .docm .dbento-img {
        grid-column: 1;
        grid-row: 2
    }

    .docm .dbento-stat {
        grid-column: 1;
        grid-row: 3
    }

    .docm .dbento-text {
        grid-column: 1;
        grid-row: 1
    }

    .docm .dh1 {
        font-size: 38px
    }

    .docm .ddocs-layout {
        grid-template-columns: 1fr
    }

    .docm .dtoc {
        position: static
    }

    .docm .dfeat-grid {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width: 600px) {
    .docm .dbento {
        padding: 32px 16px 16px
    }

    .docm .ddocs-inner {
        padding: 0 16px
    }

    .docm .dfeat-grid {
        grid-template-columns: 1fr
    }

    .docm .dstat-num {
        font-size: 17px
    }

    .docm .dref-strip {
        padding: 0 16px 32px
    }
}

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

.successPg .successCard {
    max-width: 560px;
    width: 100%;
    background: #f4fafa;
    border: 1px solid #0390912e;
    border-radius: 16px;
    padding: 64px 32px;
    text-align: center;
    box-shadow: 0 6px 18px 0 #0390911c
}

.successPg .successIcon {
    width: 64px;
    height: 64px;
    margin: 0 auto 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 24px;
    background: linear-gradient(135deg, #0390911f, #fc58851a)
}

.successPg .successIcon svg {
    display: block
}

.successPg .successHeading {
    font-size: 38px;
    line-height: 1.2;
    margin: 0 0 16px;
    background: linear-gradient(135deg, #039091, #FC5885);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.successPg .successMsg {
    font-size: 17px;
    line-height: 1.75;
    color: #2a3a3a;
    margin: 0 0 32px
}

.successPg .successBack {
    display: inline-block;
    font-size: 14px;
    line-height: 1.5;
    color: #fff;
    background: #039091;
    border: none;
    border-radius: 5px;
    padding: 16px 32px;
    text-decoration: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: color .38s cubic-bezier(0.34, 1.2, 0.64, 1), transform .35s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .38s ease-in-out;
    box-shadow: 0 2px 5px 0 #0390910f;
    z-index: 0
}

.successPg .successBack::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #FC5885;
    border-radius: 5px;
    transition: height .38s cubic-bezier(0.34, 1.2, 0.64, 1);
    z-index: -1
}

.successPg .successBack:hover {
    transform: scale(0.97);
    box-shadow: 0 6px 18px 0 #fc58851c;
    color: #fff
}

.successPg .successBack:hover::before {
    height: 100%
}

.successPg .successBack:focus {
    outline: 2px solid #FC5885;
    outline-offset: 3px
}

.successPg .successDivider {
    width: 48px;
    height: 2px;
    background: linear-gradient(90deg, #039091, #FC5885);
    border-radius: 2px;
    margin: 0 auto 32px
}