html,
body {
    margin: 0;
    padding: 0
}

body {
    overflow-x: hidden;
    min-height: 100vh;
    font-family: 'Red Hat Display', sans-serif
}

:focus-visible {
    outline: 2px solid #00697F;
    outline-offset: 3px
}

:focus:not(:focus-visible) {
    outline: none
}

.siteHeader {
    padding: 32px 16px;
    background: #fff
}

.siteHeader__shell {
    max-width: 1366px;
    margin: 0 auto;
    background: linear-gradient(135deg, #fff 60%, #f9b80212 100%);
    border: 1.5px solid #00697f21;
    border-radius: 16px;
    box-shadow: 0 6px 25px 0 #f9b8021c;
    padding: 0;
    overflow: hidden
}

.siteHeader__top {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 32px 64px 16px;
    border-bottom: 1px solid #00697f17;
    background: linear-gradient(180deg, #00697f0a 0%, transparent 100%)
}

.logoBox {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f9b80214;
    border: 1.5px solid #f9b80247;
    border-radius: 10px;
    box-shadow: 0 1px 5px 0 #f9b80214 0 6px 25px 0 #00697f1c;
    padding: 8px 16px;
    text-decoration: none
}

.logoBox img {
    width: 44px;
    height: 44px;
    display: block;
    object-fit: contain
}

.siteHeader__nav {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    padding: 16px 32px 24px
}

.navItem {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.15;
    color: #2B2B2B;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 40px;
    border: 1.5px solid transparent;
    transition: color .24s cubic-bezier(0.4, 0, 0.2, 1), border-color .22s cubic-bezier(0.4, 0, 0.2, 1), background .26s cubic-bezier(0.0, 0, 0.2, 1);
    min-height: 44px;
    display: inline-flex;
    align-items: center
}

.navItem:hover,
.navItem:focus-visible {
    color: #00697F;
    border-color: #00697f47;
    background: #00697f0d
}

.navItem.active {
    color: #00697F;
    background: #00697f14;
    border-color: #00697f38
}

.siteFooter {
    background: #2B2B2B;
    padding: 64px 16px 32px;
    font-family: 'Red Hat Display', sans-serif
}

.siteFooter__shell {
    max-width: 1366px;
    margin: 0 auto
}

.siteFooter__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    padding-bottom: 32px;
    border-bottom: 1px solid #f9b8022e;
    margin-bottom: 32px
}

.footerLogoBox {
    display: flex;
    align-items: center;
    gap: 16px;
    text-decoration: none
}

.footerLogoBox__img {
    background: #fffffff7;
    border: 1.5px solid #f9b80259;
    border-radius: 10px;
    box-shadow: 0 1px 5px 0 #f9b80214;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center
}

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

.footerBrand {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.15;
    color: #fff;
    letter-spacing: 0
}

.footerBrand span {
    color: #F9B802
}

.footerContact {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end
}

.footerContactItem {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.7;
    color: #ffffffbf;
    text-decoration: none;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.footerContactItem i {
    color: #F9B802;
    font-size: 18px
}

.footerContactItem:hover {
    color: #F9B802
}

.siteFooter__cols {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    margin-bottom: 32px
}

.footerCol {
    flex: 1;
    min-width: 180px
}

.footerColLabel {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.15;
    color: #F9B802;
    margin-bottom: 16px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0
}

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

.footerLinks li a {
    font-size: 15px;
    line-height: 1.7;
    color: #ffffffb8;
    text-decoration: none;
    transition: color .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.footerLinks li a:hover {
    color: #F9B802
}

.siteFooter__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    padding-top: 32px;
    border-top: 1px solid #ffffff14
}

.footerCopy {
    font-size: 15px;
    line-height: 1.7;
    color: #ffffff73
}

.footerPolicyLinks {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0
}

.footerPolicyLinks li a {
    font-size: 15px;
    line-height: 1.7;
    color: #ffffff73;
    text-decoration: none;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.footerPolicyLinks li a:hover {
    color: #fff
}

.consentBox {
    position: fixed;
    top: 96px;
    right: 32px;
    width: 300px;
    background: #fff;
    border: 1.5px solid #00697f2e;
    border-radius: 16px;
    box-shadow: 0 10px 52px 0 #00697f1a;
    z-index: 8000;
    padding: 32px;
    font-family: 'Red Hat Display', sans-serif;
    transform: translateX(calc(100% + 48px));
    transition: transform .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.consentBox.visible {
    transform: translateX(0)
}

.consentTitle {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.15;
    color: #2B2B2B;
    margin-bottom: 16px
}

.consentDesc {
    font-size: 15px;
    line-height: 1.7;
    color: #2B2B2B;
    margin-bottom: 8px
}

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

.consentUses li {
    font-size: 15px;
    line-height: 1.7;
    color: #2B2B2B;
    padding-left: 16px;
    position: relative
}

.consentUses li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    border-radius: 40px;
    background: #F9B802
}

.consentToggles {
    display: none;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 16px
}

.consentToggles.open {
    display: flex
}

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

.toggleLabel {
    font-size: 15px;
    line-height: 1.7;
    color: #2B2B2B
}

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

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

.toggleTrack {
    position: absolute;
    inset: 0;
    background: #00697f26;
    border-radius: 40px;
    transition: background .22s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer
}

.toggleSwitch input:checked+.toggleTrack {
    background: #00697F
}

.toggleTrack::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-radius: 40px;
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.toggleSwitch input:checked+.toggleTrack::after {
    transform: translateX(18px)
}

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

.consentBtn {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.15;
    cursor: pointer;
    border: none;
    background: none;
    padding: 0;
    text-align: center;
    text-decoration: underline;
    color: #2B2B2B;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.consentBtn:hover,
.consentBtn:focus-visible {
    color: #00697F
}

.consentBtn.primary {
    background: #00697F;
    color: #fff;
    border-radius: 5px;
    padding: 8px 16px;
    text-decoration: none;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .24s cubic-bezier(0.4, 0, 0.2, 1), color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.consentBtn.primary:hover,
.consentBtn.primary:focus-visible {
    background: #005568;
    color: #fff
}

.miniBanner {
    position: fixed;
    bottom: 32px;
    right: 32px;
    z-index: 7999;
    display: none
}

.miniBannerBtn {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    background: #00697F;
    border: none;
    border-radius: 40px;
    padding: 8px 16px;
    cursor: pointer;
    box-shadow: 0 6px 25px 0 #00697f1c;
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.miniBannerBtn:hover {
    background: #005568
}

@media (max-width: 768px) {
    .siteHeader__top {
        padding: 24px 32px 16px
    }

    .siteHeader__nav {
        padding: 16px 16px 24px
    }

    .footerContact {
        align-items: flex-start
    }

    .siteFooter__top {
        flex-direction: column
    }

    .consentBox {
        right: 16px;
        left: 16px;
        width: auto
    }

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

@media (max-width: 640px) {
    .siteHeader {
        padding: 16px 8px
    }

    .siteHeader__top {
        padding: 16px 16px 12px
    }

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

.pclq-policy-container {
    max-width: 1366px;
    margin: 0 auto;
    padding: 64px 32px;
    color: #2B2B2B
}

.pclq-policy-container h1 {
    font-size: 42px;
    line-height: 1.15;
    margin-bottom: 32px;
    margin-top: 0;
    color: #2B2B2B
}

.pclq-policy-container h2 {
    font-size: 30px;
    line-height: 1.15;
    margin-top: 64px;
    margin-bottom: 16px;
    color: #00697F
}

.pclq-policy-container h3 {
    font-size: 22px;
    line-height: 1.15;
    margin-top: 32px;
    margin-bottom: 16px;
    color: #2B2B2B
}

.pclq-policy-container h4 {
    font-size: 18px;
    line-height: 1.15;
    margin-top: 32px;
    margin-bottom: 8px;
    color: #2B2B2B
}

.pclq-policy-container h5 {
    font-size: 15px;
    line-height: 1.15;
    margin-top: 16px;
    margin-bottom: 8px;
    color: #2B2B2B
}

.pclq-policy-container h6 {
    font-size: 15px;
    line-height: 1.15;
    margin-top: 16px;
    margin-bottom: 8px;
    color: #00697F
}

.pclq-policy-container p {
    font-size: 18px;
    line-height: 1.7;
    margin-top: 0;
    margin-bottom: 16px;
    color: #2B2B2B
}

.pclq-policy-container ul,
.pclq-policy-container ol {
    font-size: 18px;
    line-height: 1.7;
    margin-top: 0;
    margin-bottom: 16px;
    padding-left: 32px;
    color: #2B2B2B
}

.pclq-policy-container li {
    margin-bottom: 8px
}

.pclq-policy-container li:last-child {
    margin-bottom: 0
}

.pclq-policy-container ul li::marker {
    color: #F9B802
}

.pclq-policy-container ol li::marker {
    color: #00697F;
    font-weight: 600
}

.pclq-policy-container strong,
.pclq-policy-container b {
    font-weight: 700;
    color: #2B2B2B
}

.pclq-policy-container table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 32px;
    font-size: 15px;
    line-height: 1.7;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 5px 0 #f9b80214
}

.pclq-policy-container thead {
    background-color: #00697F
}

.pclq-policy-container thead th {
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    padding: 16px;
    text-align: left
}

.pclq-policy-container tbody tr {
    border-bottom: 1px solid #00697f1f;
    transition: background-color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.pclq-policy-container tbody tr:last-child {
    border-bottom: none
}

.pclq-policy-container tbody tr:nth-child(even) {
    background-color: #f9b8020d
}

.pclq-policy-container tbody tr:hover {
    background-color: #00697f0f
}

.pclq-policy-container td {
    padding: 16px;
    color: #2B2B2B;
    vertical-align: top
}

.pclq-policy-container th {
    padding: 16px;
    text-align: left
}

.pclq-policy-container hr {
    border: none;
    border-top: 2px solid #f9b80259;
    margin-top: 32px;
    margin-bottom: 32px
}

.pclq-policy-container div {
    font-size: 18px;
    line-height: 1.7
}

@media (max-width: 768px) {
    .pclq-policy-container {
        padding: 32px 16px
    }

    .pclq-policy-container h1 {
        font-size: 30px
    }

    .pclq-policy-container h2 {
        font-size: 22px;
        margin-top: 32px
    }

    .pclq-policy-container h3 {
        font-size: 18px
    }

    .pclq-policy-container p,
    .pclq-policy-container ul,
    .pclq-policy-container ol,
    .pclq-policy-container div {
        font-size: 15px
    }

    .pclq-policy-container table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }
}

@media (max-width: 640px) {
    .pclq-policy-container {
        padding: 32px 16px
    }

    .pclq-policy-container h1 {
        font-size: 22px
    }

    .pclq-policy-container h2 {
        font-size: 18px
    }

    .pclq-policy-container ul,
    .pclq-policy-container ol {
        padding-left: 16px
    }
}

.csd {
    background: #fff;
    overflow-x: hidden
}

.csd .art-strip {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    max-width: 1366px;
    margin: 0 auto;
    padding: 64px 32px 64px 0;
    gap: 32px;
    position: relative
}

.csd .art-imgcol {
    width: 220px;
    min-width: 160px;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    border-radius: 0 10px 10px 0
}

.csd .art-imgcol img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(1.15) brightness(0.92) sepia(0.18)
}

.csd .art-imgcol::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(163deg, #f9b80238 0%, #fff0 55%, #00697f2e 100%);
    pointer-events: none
}

.csd .art-corner-tl {
    position: absolute;
    top: 0;
    left: 0;
    width: 48px;
    height: 48px;
    pointer-events: none
}

.csd .art-corner-br {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 48px;
    height: 48px;
    pointer-events: none
}

.csd .art-textcol {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
    padding: 32px 0
}

.csd .art-tagrow {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap
}

.csd .art-tag {
    font-size: 15px;
    line-height: 1.15;
    color: #00697F;
    background: #00697f14;
    border-radius: 5px;
    padding: 4px 16px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase
}

.csd .art-cattag {
    font-size: 15px;
    line-height: 1.15;
    color: #fff;
    background: #F9B802;
    border-radius: 5px;
    padding: 4px 16px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase
}

.csd .art-readtime {
    font-size: 15px;
    color: #2B2B2B;
    opacity: .6;
    display: flex;
    align-items: center;
    gap: 8px
}

.csd .art-readtime svg {
    flex-shrink: 0
}

.csd .art-h1 {
    font-size: 42px;
    line-height: 1.15;
    color: #2B2B2B;
    font-weight: 800;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: .01em
}

.csd .art-subtitle {
    font-size: 18px;
    line-height: 1.7;
    color: #00697F;
    margin: 0;
    font-weight: 400
}

.csd .art-meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap
}

.csd .art-author {
    font-size: 15px;
    color: #2B2B2B;
    font-weight: 600
}

.csd .art-divline {
    width: 100%;
    height: 2px;
    background: linear-gradient(163deg, #F9B802 0%, #f9b8024d 40%, #fff0 100%);
    border: none;
    margin: 0
}

.csd .art-copybtn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: #fff;
    border: 2px solid #F9B802;
    border-radius: 5px;
    font-size: 15px;
    color: #2B2B2B;
    font-weight: 600;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1), color .22s cubic-bezier(0.4, 0, 0.2, 1), background .26s cubic-bezier(0.0, 0, 0.2, 1)
}

.csd .art-copybtn:hover {
    background: #F9B802;
    color: #2B2B2B
}

.csd .art-copybtn:focus {
    outline: 2px solid #00697F;
    outline-offset: 2px
}

.csd .art-copybtn::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 100%;
    background: #f9b8022e;
    transition: width .5s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none
}

.csd .art-copybtn:active::after {
    width: 100%
}

.csd .art-body {
    background: #f5f9fa;
    border-top: 3px solid #F9B802;
    border-bottom: 3px solid #00697F
}

.csd .art-bodywrap {
    max-width: 1366px;
    margin: 0 auto;
    padding: 64px 32px;
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 64px;
    align-items: start
}

.csd .art-prose {
    min-width: 0
}

.csd .art-prose p {
    font-size: 18px;
    line-height: 1.7;
    color: #2B2B2B;
    margin: 0 0 16px
}

.csd .art-prose p:nth-child(odd) {
    max-width: 100%
}

.csd .art-prose p:nth-child(even) {
    max-width: 82%
}

.csd .art-prose h2 {
    font-size: 30px;
    line-height: 1.15;
    color: #2B2B2B;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    margin: 32px 0 16px
}

.csd .art-prose h3 {
    font-size: 22px;
    line-height: 1.15;
    color: #00697F;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    margin: 32px 0 16px
}

.csd .art-prose strong {
    color: #00697F;
    font-weight: 700
}

.csd .art-prose ul {
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.csd .art-prose ul li {
    font-size: 18px;
    line-height: 1.7;
    color: #2B2B2B;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    position: relative;
    padding-left: 24px
}

.csd .art-prose ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 11px;
    width: 10px;
    height: 10px;
    border-radius: 40px;
    background: #F9B802;
    border: 2px solid #00697F;
    flex-shrink: 0
}

.csd .art-prose blockquote {
    margin: 32px 0;
    padding: 16px 32px;
    background: #00697f0f;
    border-radius: 10px;
    font-size: 18px;
    line-height: 1.7;
    color: #00697F;
    font-style: italic
}

.csd .art-prose table {
    width: 100%;
    border-collapse: collapse;
    margin: 32px 0;
    font-size: 15px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 5px 0 #f9b80214
}

.csd .art-prose th {
    background: #00697F;
    color: #fff;
    padding: 8px 16px;
    text-align: left;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.7
}

.csd .art-prose td {
    padding: 8px 16px;
    border-bottom: 1px solid #00697f1f;
    color: #2B2B2B;
    line-height: 1.7
}

.csd .art-prose tr:last-child td {
    border-bottom: none
}

.csd .art-prose tr:nth-child(even) td {
    background: #f9b8020d
}

.csd .art-sidebar {
    display: flex;
    flex-direction: column;
    gap: 32px;
    position: sticky;
    top: 32px
}

.csd .art-sidecard {
    background: #fff;
    border-radius: 10px;
    padding: 32px;
    box-shadow: 0 6px 25px 0 #f9b8021c
}

.csd .art-sidecard-hdg {
    font-size: 15px;
    line-height: 1.15;
    color: #2B2B2B;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin: 0 0 16px
}

.csd .art-timeline {
    display: flex;
    flex-direction: column;
    gap: 0
}

.csd .art-tl-group {
    margin-bottom: 16px
}

.csd .art-tl-period {
    font-size: 15px;
    font-weight: 700;
    color: #F9B802;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 8px
}

.csd .art-tl-events {
    display: flex;
    flex-direction: column;
    gap: 0
}

.csd .art-tl-event {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    position: relative;
    padding-left: 16px;
    padding-bottom: 8px
}

.csd .art-tl-event::before {
    content: '';
    position: absolute;
    left: 4px;
    top: 6px;
    width: 8px;
    height: 8px;
    border-radius: 40px;
    background: #00697F;
    flex-shrink: 0;
    z-index: 1
}

.csd .art-tl-event::after {
    content: '';
    position: absolute;
    left: 7px;
    top: 14px;
    width: 2px;
    bottom: 0;
    background: #00697f2e
}

.csd .art-tl-event:last-child::after {
    display: none
}

.csd .art-tl-label {
    font-size: 15px;
    line-height: 1.7;
    color: #2B2B2B
}

.csd .art-annotblock {
    background: #2B2B2B;
    border-radius: 16px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative;
    overflow: hidden
}

.csd .art-annotblock::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 180px;
    height: 180px;
    border-radius: 40px;
    background: #f9b80214;
    animation: spotpulse 5s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate;
    pointer-events: none
}

@keyframes spotpulse {
    0% {
        width: 120px;
        height: 120px;
        opacity: .7
    }

    100% {
        width: 220px;
        height: 220px;
        opacity: 1
    }
}

.csd .art-annotblock-hdg {
    font-size: 15px;
    color: #F9B802;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin: 0
}

.csd .art-annots {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.csd .art-annot {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px
}

.csd .art-annot-num {
    font-size: 22px;
    line-height: 1.15;
    font-weight: 800;
    color: #F9B802;
    flex-shrink: 0;
    min-width: 32px
}

.csd .art-annot-num span {
    color: #fff;
    font-size: 15px;
    font-weight: 400
}

.csd .art-annot-text {
    font-size: 15px;
    line-height: 1.7;
    color: #ffffffd1
}

.csd .art-imgannot {
    max-width: 1366px;
    margin: 0 auto;
    padding: 64px 32px 96px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center
}

.csd .art-imgannot-imgwrap {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 52px 0 #f9b8021a;
    position: relative
}

.csd .art-imgannot-imgwrap img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block;
    filter: saturate(1.1) brightness(0.95)
}

.csd .art-imgannot-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(163deg, #f9b80224 0%, #fff0 60%, #00697f38 100%);
    pointer-events: none
}

.csd .art-imgannot-labels {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.csd .art-imgannot-hdg {
    font-size: 30px;
    line-height: 1.15;
    color: #2B2B2B;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .02em;
    margin: 0 0 16px;
    text-align: center
}

.csd .art-label-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 5px 0 #00697f14;
    transition: box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1), border-color .22s cubic-bezier(0.0, 0, 0.2, 1);
    border: 2px solid transparent
}

.csd .art-label-item:hover {
    box-shadow: 0 6px 25px 0 #00697f1c;
    border-color: #00697F
}

.csd .art-label-num {
    font-size: 30px;
    line-height: 1.15;
    font-weight: 800;
    color: #F9B802;
    flex-shrink: 0;
    min-width: 40px
}

.csd .art-label-num em {
    color: #00697F;
    font-style: normal;
    font-size: 18px
}

.csd .art-label-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #2B2B2B
}

.csd .art-label-desc strong {
    color: #2B2B2B;
    font-weight: 700
}

.csd .art-imgannot-fourcolrow {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1.4fr;
    gap: 16px;
    max-width: 1366px;
    margin: 0 auto 64px;
    padding: 0 32px
}

.csd .art-fcol {
    background: #fff;
    border-radius: 10px;
    padding: 32px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    box-shadow: 0 1px 5px 0 #f9b80214;
    text-align: center;
    transition: box-shadow .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.csd .art-fcol:hover {
    box-shadow: 0 6px 25px 0 #f9b8021c
}

.csd .art-fcol.accent {
    background: #00697F
}

.csd .art-fcol-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center
}

.csd .art-fcol-val {
    font-size: 42px;
    line-height: 1.15;
    font-weight: 800;
    color: #2B2B2B
}

.csd .art-fcol.accent .art-fcol-val {
    color: #F9B802
}

.csd .art-fcol-val em {
    color: #00697F;
    font-style: normal;
    font-size: 22px
}

.csd .art-fcol.accent .art-fcol-val em {
    color: #fff
}

.csd .art-fcol-label {
    font-size: 15px;
    line-height: 1.7;
    color: #2B2B2B;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em
}

.csd .art-fcol.accent .art-fcol-label {
    color: #ffffffd9
}

.csd .art-fcol-sub {
    font-size: 15px;
    line-height: 1.7;
    color: #2b2b2b99
}

.csd .art-fcol.accent .art-fcol-sub {
    color: #ffffffa6
}

@media (max-width: 1024px) {
    .csd .art-bodywrap {
        grid-template-columns: 1fr
    }

    .csd .art-sidebar {
        position: static
    }

    .csd .art-imgannot {
        grid-template-columns: 1fr
    }

    .csd .art-imgannot-fourcolrow {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width: 768px) {
    .csd .art-strip {
        flex-direction: column;
        padding: 32px 16px;
        gap: 16px
    }

    .csd .art-imgcol {
        width: 100%;
        height: 200px;
        border-radius: 10px
    }

    .csd .art-h1 {
        font-size: 30px
    }

    .csd .art-bodywrap {
        padding: 32px 16px
    }

    .csd .art-imgannot {
        padding: 32px 16px
    }

    .csd .art-imgannot-fourcolrow {
        grid-template-columns: 1fr 1fr;
        padding: 0 16px
    }

    .csd .art-imgannot-imgwrap img {
        height: 240px
    }
}

@media (max-width: 640px) {
    .csd .art-imgannot-fourcolrow {
        grid-template-columns: 1fr
    }

    .csd .art-prose p:nth-child(even) {
        max-width: 100%
    }
}

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

.prss .pblock {
    max-width: 1366px;
    margin: 0 auto;
    padding: 0 32px
}

.prss .titlesec {
    padding: 96px 0 64px;
    position: relative
}

.prss .titlesec .pblock {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 64px
}

.prss .titleleft {
    flex: 1 1 0;
    min-width: 0;
    position: relative;
    z-index: 2
}

.prss .bgnum {
    position: absolute;
    top: -32px;
    left: -16px;
    font-size: 200px;
    font-weight: 900;
    line-height: 1.15;
    color: #F9B802;
    opacity: .07;
    pointer-events: none;
    user-select: none;
    z-index: 0;
    white-space: nowrap
}

.prss .titlebadge {
    display: inline-block;
    background: #F9B802;
    color: #2B2B2B;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 4px 16px;
    border-radius: 5px;
    margin-bottom: 16px
}

.prss .titleh1 {
    font-size: 58px;
    font-weight: 800;
    line-height: 1.15;
    color: #2B2B2B;
    margin: 0 0 16px;
    text-align: left
}

.prss .titleh1 span {
    color: #00697F
}

.prss .titledesc {
    font-size: 18px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0 0 32px;
    max-width: 520px
}

.prss .titledesc.narrow {
    max-width: 360px
}

.prss .titleactions {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap
}

.prss .btnprimary {
    display: inline-block;
    background: #00697F;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    padding: 16px 32px;
    border-radius: 10px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: background-color .25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 1px 5px 0 #00697f14
}

.prss .btnprimary:hover {
    background: #005568;
    box-shadow: 0 6px 25px 0 #00697f1c
}

.prss .btnprimary:focus {
    outline: 3px solid #F9B802;
    outline-offset: 2px
}

.prss .btnprimary::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 3px;
    background: #F9B802;
    transition: width .6s cubic-bezier(0.4, 0, 0.2, 1)
}

.prss .btnprimary:active::after {
    width: 100%
}

.prss .btnsec {
    display: inline-block;
    background: transparent;
    color: #00697F;
    font-size: 18px;
    font-weight: 700;
    padding: 16px 32px;
    border-radius: 10px;
    border: 2px solid #00697F;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .28s cubic-bezier(0.0, 0, 0.2, 1), color .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.prss .btnsec:hover {
    background: #00697F;
    color: #fff
}

.prss .btnsec:focus {
    outline: 3px solid #F9B802;
    outline-offset: 2px
}

.prss .titleright {
    flex: 0 0 340px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    position: relative;
    z-index: 2
}

.prss .imgcard {
    width: 300px;
    height: 380px;
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 6px 25px 0 #f9b8021c;
    transition: box-shadow .5s cubic-bezier(0.4, 0, 0.2, 1)
}

.prss .imgcard:hover {
    box-shadow: 0 10px 52px 0 #f9b8021a
}

.prss .imgcard img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    clip-path: polygon(0 0, 100% 0, 100% 80%, 80% 100%, 0 100%)
}

.prss .imgcardaccent {
    position: absolute;
    bottom: -16px;
    right: -16px;
    width: 80px;
    height: 80px;
    background: #F9B802;
    border-radius: 16px;
    z-index: -1
}

.prss .dashedpath {
    position: absolute;
    top: 40px;
    right: 20px;
    pointer-events: none;
    z-index: 1;
    opacity: .18
}

.prss .svgdivider {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    margin-top: 32px
}

.prss .svgdivider svg {
    display: block;
    width: 100%
}

.prss .infosec {
    background: linear-gradient(163deg, #f4fafc 0%, #fff0 40%, #f9b8020f 100%);
    padding: 64px 0 96px;
    position: relative
}

.prss .infosec::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 0;
    pointer-events: none;
    animation: edgeglow 3.5s ease-in-out infinite alternate;
    box-shadow: inset 0 0 40px 0 #00697f12
}

@keyframes edgeglow {
    0% {
        box-shadow: inset 0 0 30px 0 #00697f0a
    }

    100% {
        box-shadow: inset 0 0 60px 0 #00697f1c
    }
}

.prss .infosec .pblock {
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: flex-start
}

.prss .infosidebar {
    flex: 0 0 220px;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.prss .sidestat {
    background: #fff;
    border-radius: 10px;
    padding: 16px;
    box-shadow: 0 1px 5px 0 #00697f14;
    border-top: 4px solid #F9B802;
    transition: box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.prss .sidestat:hover {
    box-shadow: 0 6px 25px 0 #00697f1c
}

.prss .sidestatnum {
    font-size: 42px;
    font-weight: 900;
    line-height: 1.15;
    color: #00697F
}

.prss .sidestatnum em {
    font-style: normal;
    color: #F9B802
}

.prss .sidestatlab {
    font-size: 15px;
    line-height: 1.7;
    color: #2B2B2B;
    margin-top: 4px
}

.prss .infomain {
    flex: 1 1 0;
    min-width: 0
}

.prss .infoh2 {
    font-size: 30px;
    font-weight: 300;
    line-height: 1.15;
    color: #2B2B2B;
    text-transform: uppercase;
    letter-spacing: .06em;
    text-align: center;
    margin: 0 0 32px
}

.prss .steplist {
    display: flex;
    flex-direction: column;
    gap: 32px;
    position: relative
}

.prss .steplist::before {
    content: '';
    position: absolute;
    left: 21px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(163deg, #F9B802 0%, #fff0 60%, #00697F 100%);
    border-radius: 5px
}

.prss .stepitem {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
    position: relative
}

.prss .stepnum {
    flex: 0 0 44px;
    height: 44px;
    border-radius: 40px;
    background: #2B2B2B;
    color: #F9B802;
    font-size: 18px;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    position: relative;
    transition: background-color .26s cubic-bezier(0.4, 0, 0.2, 1), transform .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.prss .stepitem:hover .stepnum {
    background: #00697F;
    transform: scale(1.08)
}

.prss .stepbody {
    flex: 1 1 0;
    min-width: 0
}

.prss .stephd {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.15;
    color: #2B2B2B;
    margin: 0 0 8px
}

.prss .steptxt {
    font-size: 15px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0
}

.prss .steptxt.narrow {
    max-width: 400px
}

.prss .dottrail {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-top: 32px
}

.prss .dot {
    width: 10px;
    height: 10px;
    border-radius: 40px;
    background: #e0e8ea;
    position: relative;
    transition: background-color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.prss .dot.active {
    background: #F9B802;
    box-shadow: 0 1px 5px 0 #f9b80214
}

.prss .dotline {
    flex: 1 1 0;
    height: 2px;
    background: #e0e8ea;
    border-radius: 5px
}

@media (max-width: 1024px) {
    .prss .titlesec .pblock {
        flex-direction: column;
        gap: 32px;
        align-items: flex-start
    }

    .prss .titleright {
        flex: 0 0 auto;
        align-items: flex-start
    }

    .prss .infosec .pblock {
        flex-direction: column;
        gap: 32px
    }

    .prss .infosidebar {
        flex: 0 0 auto;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 16px
    }

    .prss .sidestat {
        flex: 0 0 180px
    }
}

@media (max-width: 768px) {
    .prss .titleh1 {
        font-size: 42px
    }

    .prss .bgnum {
        font-size: 120px
    }

    .prss .imgcard {
        width: 220px;
        height: 280px
    }

    .prss .infosidebar {
        flex-direction: column
    }

    .prss .sidestat {
        flex: 0 0 auto
    }
}

@media (max-width: 640px) {
    .prss .titlesec {
        padding: 64px 0 32px
    }

    .prss .titleh1 {
        font-size: 30px
    }

    .prss .titledesc {
        font-size: 15px
    }

    .prss .infosec {
        padding: 32px 0 64px
    }

    .prss .infoh2 {
        font-size: 22px
    }

    .prss .stephd {
        font-size: 18px
    }

    .prss .titleactions {
        flex-direction: column
    }

    .prss .btnprimary,
    .prss .btnsec {
        font-size: 15px;
        padding: 16px 32px
    }
}

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

.ctus .pgframe {
    max-width: 1366px;
    margin: 0 auto;
    padding: 0 32px
}

.ctus .stripband {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: linear-gradient(163deg, #F9B802 0%, transparent 45%, #00697F 100%);
    pointer-events: none
}

.ctus .titlesection {
    position: relative;
    padding: 64px 0 32px;
    border-bottom: 1.5px solid #F9B802
}

.ctus .titlesection .pgframe {
    display: flex;
    flex-direction: column;
    align-items: center
}

.ctus .thinstrip {
    width: 100%;
    height: 6px;
    background: linear-gradient(163deg, #F9B802 0%, transparent 50%, #00697F 100%);
    border-radius: 5px;
    margin-bottom: 32px
}

.ctus .framelines {
    position: relative;
    padding: 32px 64px;
    text-align: center
}

.ctus .framelines::before,
.ctus .framelines::after {
    content: '';
    position: absolute;
    width: 32px;
    height: 32px;
    border-color: #F9B802;
    border-style: solid
}

.ctus .framelines::before {
    top: 0;
    left: 0;
    border-width: 2px 0 0 2px
}

.ctus .framelines::after {
    bottom: 0;
    right: 0;
    border-width: 0 2px 2px 0
}

.ctus .framelines .sublabel {
    font-size: 15px;
    color: #00697F;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 300;
    margin-bottom: 16px
}

.ctus .framelines .titlemain {
    font-size: 42px;
    font-weight: 700;
    color: #2B2B2B;
    line-height: 1.15;
    margin: 0 0 8px
}

.ctus .framelines .titlemain span {
    color: #F9B802
}

.ctus .framelines .titlesub {
    font-size: 18px;
    color: #00697F;
    font-weight: 300;
    line-height: 1.7;
    margin: 0
}

.ctus .titlesection .concavebot {
    width: 100%;
    height: 40px;
    position: relative;
    overflow: hidden;
    margin-top: 32px
}

.ctus .titlesection .concavebot::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 120%;
    height: 80px;
    background: #fff;
    border-radius: 0 0 50% 50%;
    box-shadow: 0 6px 25px 0 #f9b8021c
}

.ctus .formsection {
    position: relative;
    padding: 64px 0;
    background: linear-gradient(163deg, #f5f0e8 0%, transparent 50%, #e8f4f7 100%)
}

.ctus .formsection .stripaccent {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: #00697F;
    pointer-events: none
}

.ctus .formsection .pgframe {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 64px;
    align-items: start
}

.ctus .formside {
    display: flex;
    flex-direction: column;
    gap: 32px
}

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

.ctus .formlead .leadhead {
    font-size: 30px;
    font-weight: 700;
    color: #2B2B2B;
    line-height: 1.15;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin: 0;
    text-align: center
}

.ctus .formlead .leadtext {
    font-size: 15px;
    color: #2B2B2B;
    line-height: 1.7;
    margin: 0;
    max-width: 480px
}

.ctus .formlead .leadtext.narrow {
    max-width: 340px
}

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

.ctus .checkgrid .checklabel {
    font-size: 15px;
    color: #2B2B2B;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 8px
}

.ctus .checkitem {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border: 1.5px solid #e0d8c8;
    border-radius: 10px;
    cursor: pointer;
    transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1), background .25s cubic-bezier(0.4, 0, 0.2, 1);
    background: #fff
}

.ctus .checkitem:hover {
    border-color: #F9B802;
    background: #fffdf0
}

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

.ctus .checkitem .cklabel {
    font-size: 15px;
    color: #2B2B2B;
    line-height: 1.7;
    cursor: pointer
}

.ctus .formcard {
    background: #fff;
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 10px 52px 0 #f9b8021a;
    position: relative;
    overflow: hidden
}

.ctus .formcard::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(163deg, #F9B802 0%, transparent 50%, #00697F 100%)
}

.ctus .formcard form {
    display: flex;
    flex-direction: column;
    gap: 16px
}

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

.ctus .fieldgrp label {
    font-size: 15px;
    font-weight: 600;
    color: #2B2B2B;
    text-transform: uppercase;
    letter-spacing: .05em
}

.ctus .fieldgrp input[type="text"],
.ctus .fieldgrp input[type="email"],
.ctus .fieldgrp input[type="tel"],
.ctus .fieldgrp textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1.5px solid #d4cfc4;
    border-radius: 10px;
    font-size: 15px;
    color: #2B2B2B;
    background: #fdfaf4;
    box-sizing: border-box;
    transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1);
    outline: none;
    appearance: none
}

.ctus .fieldgrp input::placeholder,
.ctus .fieldgrp textarea::placeholder {
    font-weight: 300;
    color: #a09a8e
}

.ctus .fieldgrp input:focus,
.ctus .fieldgrp textarea:focus {
    border-color: #F9B802;
    box-shadow: 0 1px 5px 0 #f9b80214 inset 0 4px 8px 0 #f9b8020f
}

.ctus .fieldgrp textarea {
    resize: vertical;
    min-height: 96px
}

.ctus .privacyrow {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    padding: 12px 16px;
    background: #f5f0e8;
    border-radius: 10px;
    border: 1.5px solid #e8dfc8
}

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

.ctus .privacyrow .privtext {
    font-size: 15px;
    color: #2B2B2B;
    line-height: 1.7;
    margin: 0
}

.ctus .privacyrow .privtext a {
    color: #00697F;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus .privacyrow .privtext a:hover {
    color: #F9B802
}

.ctus .submitbtn {
    position: relative;
    padding: 16px 32px;
    background: #2B2B2B;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    border: none;
    border-radius: 40px;
    cursor: pointer;
    overflow: hidden;
    transition: background .26s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1);
    align-self: flex-start
}

.ctus .submitbtn::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 0;
    background: #F9B802;
    border-radius: 40px;
    transition: width .6s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0
}

.ctus .submitbtn:active::after {
    width: 100%
}

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

.ctus .submitbtn:hover {
    background: #00697F;
    box-shadow: 0 6px 25px 0 #00697f1c
}

.ctus .submitbtn:focus {
    outline: 2px solid #F9B802;
    outline-offset: 3px
}

.ctus .infosection {
    position: relative;
    padding: 64px 0 96px;
    background: #2B2B2B
}

.ctus .infosection::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 80% 60% at 80% 50%, transparent 40%, #00000059 100%);
    pointer-events: none
}

.ctus .infosection .stripaccent2 {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: #F9B802;
    pointer-events: none
}

.ctus .infosection .concavetop {
    width: 100%;
    height: 40px;
    position: relative;
    overflow: hidden;
    margin-bottom: 64px
}

.ctus .infosection .concavetop::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -40px;
    transform: translateX(-50%);
    width: 120%;
    height: 80px;
    background: #2B2B2B;
    border-radius: 0 0 50% 50%
}

.ctus .infosection .pgframe {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 32px;
    align-items: start;
    position: relative;
    z-index: 1
}

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

.ctus .infohead .ihead {
    font-size: 30px;
    font-weight: 700;
    color: #fff;
    line-height: 1.15;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin: 0;
    text-align: center
}

.ctus .infohead .ihead span {
    color: #F9B802
}

.ctus .infohead .idesc {
    font-size: 15px;
    color: #c8c2b8;
    line-height: 1.7;
    margin: 0
}

.ctus .infohead .idesc.narrow {
    max-width: 300px;
    font-size: 15px
}

.ctus .contactcard {
    background: #ffffff0f;
    border: 1.5px solid #f9b8022e;
    border-radius: 16px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    animation: borderglow 3.5s cubic-bezier(0.4, 0, 0.2, 1) infinite
}

@keyframes borderglow {

    0%,
    100% {
        border-color: #f9b8022e;
        box-shadow: 0 1px 5px 0 #f9b80214
    }

    50% {
        border-color: #f9b8028c;
        box-shadow: 0 6px 25px 0 #f9b8022e
    }
}

.ctus .contactcard .cardtitle {
    font-size: 15px;
    color: #F9B802;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin: 0
}

.ctus .contactcard .citem {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px
}

.ctus .contactcard .citem .cicon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #f9b8021f;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.ctus .contactcard .citem .cicon svg {
    width: 18px;
    height: 18px;
    fill: #F9B802
}

.ctus .contactcard .citem .cval {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.ctus .contactcard .citem .cval .clabel {
    font-size: 15px;
    color: #a09a8e;
    font-weight: 300
}

.ctus .contactcard .citem .cval a,
.ctus .contactcard .citem .cval span {
    font-size: 15px;
    color: #fff;
    line-height: 1.7;
    text-decoration: none;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.ctus .contactcard .citem .cval a:hover {
    color: #F9B802
}

.ctus .hourscard {
    background: #00697f26;
    border: 1.5px solid #00697f59;
    border-radius: 16px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.ctus .hourscard .cardtitle {
    font-size: 15px;
    color: #00697F;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin: 0
}

.ctus .hourscard .hrow {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #ffffff12
}

.ctus .hourscard .hrow:last-of-type {
    border-bottom: none
}

.ctus .hourscard .hrow .hday {
    font-size: 15px;
    color: #c8c2b8;
    font-weight: 300
}

.ctus .hourscard .hrow .htime {
    font-size: 15px;
    color: #fff;
    font-weight: 600
}

.ctus .hourscard .hrow .htime.closed {
    color: #a09a8e;
    font-weight: 300
}

.ctus .diagonaldeco {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    overflow: hidden
}

.ctus .diagonaldeco::before {
    content: '';
    position: absolute;
    top: -20%;
    left: 30%;
    width: 1px;
    height: 140%;
    background: linear-gradient(163deg, transparent 0%, #f9b8021f 40%, transparent 100%);
    transform: rotate(15deg)
}

@media (max-width: 1024px) {
    .ctus .formsection .pgframe {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .ctus .infosection .pgframe {
        grid-template-columns: 1fr 1fr;
        gap: 32px
    }

    .ctus .infohead {
        grid-column: 1 / -1
    }
}

@media (max-width: 768px) {
    .ctus .framelines {
        padding: 32px
    }

    .ctus .framelines .titlemain {
        font-size: 30px
    }

    .ctus .infosection .pgframe {
        grid-template-columns: 1fr
    }

    .ctus .pgframe {
        padding: 0 16px
    }

    .ctus .formcard {
        padding: 16px
    }

    .ctus .titlesection {
        padding: 32px 0 16px
    }

    .ctus .formsection {
        padding: 32px 0
    }

    .ctus .infosection {
        padding: 32px 0 64px
    }

    .ctus .infosection .concavetop {
        margin-bottom: 32px
    }
}

@media (max-width: 640px) {
    .ctus .framelines .titlemain {
        font-size: 22px
    }

    .ctus .framelines .titlesub {
        font-size: 15px
    }

    .ctus .submitbtn {
        width: 100%;
        text-align: center;
        align-self: stretch
    }
}

.opng {
    background: #fff;
    overflow-x: hidden
}

.opng .titblk {
    padding: 96px 16px 64px;
    position: relative
}

.opng .titblk .titblk-grid {
    max-width: 1366px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.4fr 1fr;
    gap: 32px;
    align-items: end
}

.opng .titblk .titblk-imgwrap {
    position: relative;
    border-radius: 16px;
    overflow: hidden
}

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

.opng .titblk .titblk-imgwrap.left img {
    filter: saturate(1.4) hue-rotate(0deg) contrast(1.1)
}

.opng .titblk .titblk-imgwrap.right img {
    filter: saturate(0.7) sepia(0.3) contrast(1.15)
}

.opng .titblk .titblk-imgwrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(163deg, #f9b8022e 0%, #fff0 55%, #00697f21 100%);
    pointer-events: none
}

.opng .titblk .titblk-imgwrap.left::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(to bottom, #ffffff1f, transparent);
    pointer-events: none;
    z-index: 1
}

.opng .titblk .titblk-imgwrap.right::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(to top, #ffffff2e, transparent);
    pointer-events: none;
    z-index: 1
}

.opng .titblk .titblk-mid {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding-bottom: 8px
}

.opng .titblk .titblk-pre {
    font-size: 15px;
    color: #00697F;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 500;
    margin-bottom: 16px;
    text-align: center
}

.opng .titblk .titblk-h1 {
    font-size: 58px;
    line-height: 1.15;
    font-weight: 800;
    color: #2B2B2B;
    text-align: center;
    margin-bottom: 16px
}

.opng .titblk .titblk-h1 span {
    color: #F9B802
}

.opng .titblk .titblk-desc {
    font-size: 18px;
    line-height: 1.7;
    color: #2B2B2B;
    text-align: center;
    max-width: 480px
}

.opng .titblk .titblk-arrow {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 8px;
    margin-top: 32px
}

.opng .titblk .titblk-arrow span {
    display: block;
    width: 8px;
    height: 8px;
    border-right: 2px solid #F9B802;
    border-bottom: 2px solid #F9B802;
    transform: rotate(45deg);
    opacity: .8
}

.opng .titblk .titblk-arrow span:nth-child(2) {
    opacity: .5
}

.opng .titblk .titblk-arrow span:nth-child(3) {
    opacity: .25
}

.opng .wave1 {
    line-height: 0
}

.opng .wave1 svg {
    display: block;
    width: 100%
}

.opng .communityblk {
    background: #f4f9fb;
    padding: 64px 16px;
    position: relative
}

.opng .communityblk::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(163deg, #f9b8020f 0%, #fff0 60%, #00697f0f 100%);
    pointer-events: none;
    animation: bgpulse 6s ease-in-out infinite
}

@keyframes bgpulse {

    0%,
    100% {
        opacity: .4
    }

    50% {
        opacity: 1
    }
}

.opng .communityblk .cb-inner {
    max-width: 1366px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center
}

.opng .communityblk .cb-imgwrap {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 52px 0 #00697f1a;
    position: relative
}

.opng .communityblk .cb-imgwrap img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    display: block;
    transition: transform .56s cubic-bezier(0.4, 0, 0.2, 1)
}

.opng .communityblk .cb-imgwrap:hover img {
    transform: scale(1.04)
}

.opng .communityblk .cb-imgwrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(163deg, #f9b8021a 0%, transparent 70%);
    pointer-events: none
}

.opng .communityblk .cb-text {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.opng .communityblk .cb-label {
    font-size: 15px;
    color: #00697F;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: .07em
}

.opng .communityblk .cb-h2 {
    font-size: 30px;
    line-height: 1.15;
    font-weight: 700;
    color: #2B2B2B;
    text-align: center
}

.opng .communityblk .cb-p1 {
    font-size: 18px;
    line-height: 1.7;
    color: #2B2B2B;
    max-width: 520px
}

.opng .communityblk .cb-p2 {
    font-size: 15px;
    line-height: 1.7;
    color: #2B2B2B;
    max-width: 400px
}

.opng .communityblk .cb-dots {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-top: 8px
}

.opng .communityblk .cb-dot {
    width: 10px;
    height: 10px;
    border-radius: 40px;
    background: #e0eef2;
    position: relative;
    flex-shrink: 0
}

.opng .communityblk .cb-dot.active {
    background: #F9B802;
    box-shadow: 0 1px 5px 0 #f9b80214
}

.opng .communityblk .cb-dotline {
    flex: 1;
    height: 2px;
    background: #d0e8ee;
    max-width: 32px
}

.opng .wave2 {
    line-height: 0;
    background: #f4f9fb
}

.opng .wave2 svg {
    display: block;
    width: 100%
}

.opng .approachblk {
    background: #fff;
    padding: 64px 16px
}

.opng .approachblk .ap-inner {
    max-width: 1366px;
    margin: 0 auto
}

.opng .approachblk .ap-toprow {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 64px;
    align-items: start;
    margin-bottom: 48px
}

.opng .approachblk .ap-h2 {
    font-size: 30px;
    line-height: 1.15;
    font-weight: 700;
    color: #2B2B2B;
    text-align: center;
    margin-bottom: 16px
}

.opng .approachblk .ap-p1 {
    font-size: 18px;
    line-height: 1.7;
    color: #2B2B2B
}

.opng .approachblk .ap-p2 {
    font-size: 15px;
    line-height: 1.7;
    color: #2B2B2B;
    max-width: 380px
}

.opng .approachblk .ap-imgwrap {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 6px 25px 0 #f9b8021c
}

.opng .approachblk .ap-imgwrap img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    display: block
}

.opng .approachblk .ap-coderow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px
}

.opng .approachblk .ap-codebox {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 5px 0 #00697f14
}

.opng .approachblk .ap-codebox-head {
    padding: 8px 16px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase
}

.opng .approachblk .ap-codebox.before .ap-codebox-head {
    background: #f0e8c8;
    color: #7a5a00
}

.opng .approachblk .ap-codebox.after .ap-codebox-head {
    background: #c8e8ee;
    color: #00697F
}

.opng .approachblk .ap-codebox-body {
    padding: 16px;
    background: #f7f7f5
}

.opng .approachblk .ap-codebox-body p {
    font-size: 15px;
    line-height: 1.7;
    color: #2B2B2B;
    margin: 0 0 8px
}

.opng .approachblk .ap-codebox-body p:last-child {
    margin-bottom: 0
}

.opng .wave3 {
    line-height: 0
}

.opng .wave3 svg {
    display: block;
    width: 100%
}

.opng .resultsblk {
    background: #2B2B2B;
    padding: 64px 16px;
    position: relative
}

.opng .resultsblk::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(163deg, #f9b80214 0%, #0000 55%, #00697f17 100%);
    pointer-events: none;
    animation: bgpulse 8s ease-in-out infinite
}

.opng .resultsblk .rb-inner {
    max-width: 1366px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.opng .resultsblk .rb-h2 {
    font-size: 30px;
    line-height: 1.15;
    font-weight: 700;
    color: #fff;
    text-align: center;
    margin-bottom: 48px
}

.opng .resultsblk .rb-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px
}

.opng .resultsblk .rb-card {
    background: #ffffff0d;
    border-radius: 16px;
    padding: 32px;
    border: 1px solid #f9b8022e;
    box-shadow: 0 6px 25px 0 #f9b8021c;
    transition: background .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.opng .resultsblk .rb-card:hover {
    background: #ffffff17;
    backdrop-filter: blur(8px)
}

.opng .resultsblk .rb-card-name {
    font-size: 15px;
    font-weight: 700;
    color: #F9B802;
    margin-bottom: 4px
}

.opng .resultsblk .rb-card-role {
    font-size: 15px;
    color: #ffffff8c;
    margin-bottom: 16px
}

.opng .resultsblk .rb-card-quote {
    font-size: 18px;
    line-height: 1.7;
    color: #ffffffe0
}

.opng .resultsblk .rb-numrow {
    display: flex;
    flex-direction: row;
    gap: 32px;
    justify-content: center;
    margin-top: 48px
}

.opng .resultsblk .rb-numbox {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px
}

.opng .resultsblk .rb-numbox-pair {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 16px
}

.opng .resultsblk .rb-numbox-before {
    font-size: 30px;
    font-weight: 800;
    color: #ffffff4d;
    text-decoration: line-through
}

.opng .resultsblk .rb-numbox-after {
    font-size: 42px;
    font-weight: 800;
    color: #F9B802
}

.opng .resultsblk .rb-numbox-label {
    font-size: 15px;
    color: #ffffff8c;
    text-align: center
}

.opng .wave4 {
    line-height: 0;
    background: #2B2B2B
}

.opng .wave4 svg {
    display: block;
    width: 100%
}

.opng .graduateblk {
    background: #fff;
    padding: 64px 16px
}

.opng .graduateblk .gb-inner {
    max-width: 1366px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 64px;
    align-items: center
}

.opng .graduateblk .gb-imgwrap {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 52px 0 #00697f1a
}

.opng .graduateblk .gb-imgwrap img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    display: block;
    transition: filter .48s cubic-bezier(0.0, 0, 0.2, 1)
}

.opng .graduateblk .gb-imgwrap:hover img {
    filter: brightness(1.06) saturate(1.1)
}

.opng .graduateblk .gb-text {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.opng .graduateblk .gb-label {
    font-size: 15px;
    color: #F9B802;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: .07em
}

.opng .graduateblk .gb-h2 {
    font-size: 30px;
    line-height: 1.15;
    font-weight: 700;
    color: #2B2B2B;
    text-align: center
}

.opng .graduateblk .gb-p1 {
    font-size: 18px;
    line-height: 1.7;
    color: #2B2B2B
}

.opng .graduateblk .gb-p2 {
    font-size: 15px;
    line-height: 1.7;
    color: #2B2B2B;
    max-width: 420px
}

.opng .graduateblk .gb-items {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 8px
}

.opng .graduateblk .gb-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px
}

.opng .graduateblk .gb-item-dot {
    width: 10px;
    height: 10px;
    border-radius: 40px;
    background: #F9B802;
    flex-shrink: 0;
    margin-top: 6px;
    box-shadow: 0 1px 5px 0 #f9b80214
}

.opng .graduateblk .gb-item-text {
    font-size: 15px;
    line-height: 1.7;
    color: #2B2B2B
}

.opng .wave5 {
    line-height: 0
}

.opng .wave5 svg {
    display: block;
    width: 100%
}

.opng .journeyblk {
    background: #f4f9fb;
    padding: 64px 16px;
    position: relative
}

.opng .journeyblk::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(163deg, #00697f0d 0%, #fff0 60%, #f9b8020f 100%);
    pointer-events: none;
    animation: bgpulse 7s ease-in-out infinite
}

.opng .journeyblk .jb-inner {
    max-width: 1366px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.opng .journeyblk .jb-h2 {
    font-size: 30px;
    line-height: 1.15;
    font-weight: 700;
    color: #2B2B2B;
    text-align: center;
    margin-bottom: 48px
}

.opng .journeyblk .jb-track {
    display: flex;
    flex-direction: column;
    gap: 32px;
    max-width: 780px;
    margin: 0 auto
}

.opng .journeyblk .jb-phase {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 16px;
    align-items: start
}

.opng .journeyblk .jb-phase-num {
    width: 48px;
    height: 48px;
    border-radius: 40px;
    background: #fff;
    border: 2px solid #F9B802;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 800;
    color: #F9B802;
    flex-shrink: 0;
    box-shadow: 0 1px 5px 0 #f9b80214
}

.opng .journeyblk .jb-phase-body {
    padding-top: 8px
}

.opng .journeyblk .jb-phase-title {
    font-size: 18px;
    font-weight: 700;
    color: #2B2B2B;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: .04em
}

.opng .journeyblk .jb-phase-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #2B2B2B
}

.opng .journeyblk .jb-connector {
    width: 2px;
    height: 24px;
    background: linear-gradient(to bottom, #F9B802, #00697F);
    margin-left: 23px;
    border-radius: 5px
}

.opng .wave6 {
    line-height: 0;
    background: #f4f9fb
}

.opng .wave6 svg {
    display: block;
    width: 100%
}

.opng .scaleblk {
    background: #fff;
    padding: 64px 16px 96px
}

.opng .scaleblk .sb-inner {
    max-width: 1366px;
    margin: 0 auto
}

.opng .scaleblk .sb-h2 {
    font-size: 30px;
    line-height: 1.15;
    font-weight: 700;
    color: #2B2B2B;
    text-align: center;
    margin-bottom: 8px
}

.opng .scaleblk .sb-sub {
    font-size: 18px;
    line-height: 1.7;
    color: #2B2B2B;
    text-align: center;
    max-width: 600px;
    margin: 0 auto 48px
}

.opng .scaleblk .sb-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px
}

.opng .scaleblk .sb-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 32px 16px;
    border-radius: 16px;
    background: #f4f9fb;
    box-shadow: 0 1px 5px 0 #00697f14;
    border: 1px solid #00697f1a;
    transition: box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.opng .scaleblk .sb-stat:hover {
    box-shadow: 0 6px 25px 0 #00697f1c
}

.opng .scaleblk .sb-stat-num {
    font-size: 42px;
    line-height: 1.15;
    font-weight: 800;
    color: #00697F
}

.opng .scaleblk .sb-stat-num span {
    color: #F9B802
}

.opng .scaleblk .sb-stat-label {
    font-size: 15px;
    line-height: 1.7;
    color: #2B2B2B;
    text-align: center
}

.opng .scaleblk .sb-geomrow {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 16px;
    margin-top: 48px;
    align-items: center
}

.opng .scaleblk .sb-geom {
    width: 10px;
    height: 10px;
    background: #F9B802;
    border-radius: 5px
}

.opng .scaleblk .sb-geom.teal {
    background: #00697F;
    border-radius: 0;
    transform: rotate(45deg)
}

.opng .scaleblk .sb-geom.outline {
    background: transparent;
    border: 2px solid #2B2B2B;
    border-radius: 40px;
    width: 16px;
    height: 16px
}

.opng .scaleblk .sb-geom.sm {
    width: 6px;
    height: 6px;
    border-radius: 5px;
    background: #f9b80266
}

@media (max-width: 1024px) {
    .opng .titblk .titblk-grid {
        grid-template-columns: 1fr 1.2fr 1fr;
        gap: 16px
    }

    .opng .titblk .titblk-h1 {
        font-size: 42px
    }

    .opng .communityblk .cb-inner {
        gap: 32px
    }

    .opng .approachblk .ap-toprow {
        gap: 32px
    }

    .opng .scaleblk .sb-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width: 768px) {
    .opng .titblk .titblk-grid {
        grid-template-columns: 1fr
    }

    .opng .titblk .titblk-imgwrap {
        display: none
    }

    .opng .titblk .titblk-h1 {
        font-size: 42px
    }

    .opng .communityblk .cb-inner {
        grid-template-columns: 1fr
    }

    .opng .approachblk .ap-toprow {
        grid-template-columns: 1fr
    }

    .opng .approachblk .ap-coderow {
        grid-template-columns: 1fr
    }

    .opng .resultsblk .rb-grid {
        grid-template-columns: 1fr
    }

    .opng .resultsblk .rb-numrow {
        flex-direction: column;
        align-items: center;
        gap: 16px
    }

    .opng .graduateblk .gb-inner {
        grid-template-columns: 1fr
    }

    .opng .scaleblk .sb-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width: 640px) {
    .opng .titblk {
        padding: 64px 16px 32px
    }

    .opng .titblk .titblk-h1 {
        font-size: 30px
    }

    .opng .communityblk {
        padding: 32px 16px
    }

    .opng .approachblk {
        padding: 32px 16px
    }

    .opng .resultsblk {
        padding: 32px 16px
    }

    .opng .graduateblk {
        padding: 32px 16px
    }

    .opng .journeyblk {
        padding: 32px 16px
    }

    .opng .scaleblk {
        padding: 32px 16px 64px
    }

    .opng .scaleblk .sb-grid {
        grid-template-columns: 1fr 1fr;
        gap: 16px
    }
}

.abUs {
    display: block;
    width: 100%;
    overflow-x: hidden
}

.abUs .stripe {
    height: 4px;
    background: linear-gradient(163deg, #F9B802 0%, transparent 45%, transparent 55%, #00697F 100%);
    width: 100%
}

.abUs .idnt {
    background: #2B2B2B;
    padding: 96px 32px 64px;
    position: relative
}

.abUs .idnt::before {
    content: '';
    position: absolute;
    top: 16px;
    left: 16px;
    right: 16px;
    bottom: 16px;
    border-top: 1px solid #f9b80240;
    border-left: 1px solid #f9b80240;
    pointer-events: none;
    border-radius: 5px 0 0 0
}

.abUs .idnt::after {
    content: '';
    position: absolute;
    top: 16px;
    left: 16px;
    right: 16px;
    bottom: 16px;
    border-bottom: 1px solid #f9b80240;
    border-right: 1px solid #f9b80240;
    pointer-events: none;
    border-radius: 0 0 5px 0
}

.abUs .idntInner {
    max-width: 1366px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: flex-start
}

.abUs .idntLeft {
    flex: 0 0 30%;
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding-top: 8px
}

.abUs .idntRight {
    flex: 0 0 70%;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.abUs .idntLabel {
    font-size: 15px;
    line-height: 1.15;
    color: #F9B802;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 300
}

.abUs .idntH1 {
    font-size: 42px;
    line-height: 1.15;
    color: #fff;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin: 0
}

.abUs .idntH1 span {
    color: #F9B802
}

.abUs .idntAccent {
    width: 48px;
    height: 3px;
    background: #F9B802;
    border-radius: 5px
}

.abUs .idntStat {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.abUs .idntStatNum {
    font-size: 42px;
    line-height: 1.15;
    color: #F9B802;
    font-weight: 700
}

.abUs .idntStatLabel {
    font-size: 15px;
    line-height: 1.7;
    color: #ffffffa6;
    font-weight: 300
}

.abUs .idntDivider {
    width: 1px;
    height: 80px;
    background: #f9b80233;
    align-self: center
}

.abUs .idntPara {
    font-size: 18px;
    line-height: 1.7;
    color: #ffffffd1;
    margin: 0
}

.abUs .idntPara.narrow {
    max-width: 480px
}

.abUs .idntPara strong {
    color: #F9B802;
    font-weight: 600
}

.abUs .idntImgBox {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 10px 52px 0 #f9b8021a;
    position: relative
}

.abUs .idntImgBox img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    display: block;
    transition: transform .55s cubic-bezier(0.4, 0, 0.2, 1), filter .55s cubic-bezier(0.4, 0, 0.2, 1)
}

.abUs .idntImgBox:hover img {
    transform: scale(1.04);
    filter: brightness(1.08) contrast(1.05)
}

.abUs .idntStatsRow {
    display: flex;
    flex-direction: row;
    gap: 32px;
    align-items: center;
    flex-wrap: wrap
}

.abUs .stripeDivider {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 0;
    height: 24px;
    background: #f5f0e8
}

.abUs .stripeDivider .dLine {
    flex: 1;
    height: 1px;
    background: #00697f2e
}

.abUs .stripeDivider .dDiamond {
    width: 10px;
    height: 10px;
    background: #00697F;
    transform: rotate(45deg);
    border-radius: 2px;
    margin: 0 16px;
    flex-shrink: 0
}

.abUs .profil {
    background: #f5f0e8;
    padding: 96px 32px;
    position: relative;
    animation: bgShift 8s ease-in-out infinite alternate
}

@keyframes bgShift {
    0% {
        background-color: #f5f0e8
    }

    100% {
        background-color: #edf4f6
    }
}

.abUs .profilInner {
    max-width: 1366px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: flex-start
}

.abUs .profilLeft {
    flex: 0 0 70%;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.abUs .profilRight {
    flex: 0 0 30%;
    display: flex;
    flex-direction: column;
    gap: 32px;
    position: sticky;
    top: 32px
}

.abUs .profilH2 {
    font-size: 30px;
    line-height: 1.15;
    color: #2B2B2B;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin: 0
}

.abUs .profilH2 span {
    color: #00697F
}

.abUs .profilPara {
    font-size: 18px;
    line-height: 1.7;
    color: #2B2B2B;
    margin: 0
}

.abUs .profilPara.narrow {
    max-width: 500px
}

.abUs .profilPara strong {
    color: #00697F;
    font-weight: 600
}

.abUs .profilPara .accentNum {
    color: #F9B802;
    font-weight: 700
}

.abUs .stepsBox {
    display: flex;
    flex-direction: column;
    gap: 0
}

.abUs .step {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
    position: relative
}

.abUs .stepTrack {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    width: 32px
}

.abUs .stepDot {
    width: 14px;
    height: 14px;
    border-radius: 40px;
    background: #fff;
    border: 2px solid #00697F;
    transition: background .25s cubic-bezier(0.4, 0, 0.2, 1), border-color .25s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0;
    margin-top: 4px;
    position: relative;
    z-index: 1
}

.abUs .step:hover .stepDot {
    background: #F9B802;
    border-color: #F9B802
}

.abUs .stepLine {
    width: 2px;
    flex: 1;
    min-height: 32px;
    background: #00697f33
}

.abUs .step:last-child .stepLine {
    display: none
}

.abUs .stepBody {
    padding-bottom: 32px;
    flex: 1
}

.abUs .step:last-child .stepBody {
    padding-bottom: 0
}

.abUs .stepH {
    font-size: 18px;
    line-height: 1.15;
    color: #2B2B2B;
    font-weight: 600;
    margin: 0 0 8px;
    text-transform: uppercase;
    letter-spacing: .04em
}

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

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

.abUs .imgCard {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 6px 25px 0 #00697f1c;
    position: relative
}

.abUs .imgCard img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    transition: transform .48s cubic-bezier(0.4, 0, 0.2, 1), filter .48s cubic-bezier(0.4, 0, 0.2, 1)
}

.abUs .imgCard:hover img {
    transform: scale(1.05);
    filter: brightness(1.07)
}

.abUs .imgCardBg {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 6px 25px 0 #00697f1c;
    position: relative
}

.abUs .imgCardBg img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
    transition: transform .52s cubic-bezier(0.0, 0, 0.2, 1), filter .52s cubic-bezier(0.0, 0, 0.2, 1)
}

.abUs .imgCardBg:hover img {
    transform: scale(1.04);
    filter: brightness(1.06) saturate(1.1)
}

.abUs .bgImgSection {
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 10px 52px 0 #00697f1a
}

.abUs .bgImgSection img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block
}

.abUs .bgImgSection .overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2b2b2b8c;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 32px
}

.abUs .bgImgSection .overlayH {
    font-size: 22px;
    line-height: 1.15;
    color: #fff;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin: 0
}

.abUs .bgImgSection .overlayP {
    font-size: 15px;
    line-height: 1.7;
    color: #ffffffd9;
    text-align: center;
    margin: 0
}

.abUs .teamGrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.abUs .teamCard {
    border-radius: 10px;
    background: #fff;
    padding: 16px;
    box-shadow: 0 1px 5px 0 #f9b80214;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1), transform .28s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid #00697f1a
}

.abUs .teamCard:hover {
    box-shadow: 0 6px 25px 0 #f9b8021c;
    transform: translateY(-2px)
}

.abUs .teamName {
    font-size: 15px;
    line-height: 1.15;
    color: #2B2B2B;
    font-weight: 600;
    margin: 0
}

.abUs .teamRole {
    font-size: 15px;
    line-height: 1.15;
    color: #00697F;
    font-weight: 300;
    margin: 0
}

.abUs .contactStrip {
    border-radius: 10px;
    background: #2B2B2B;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: 0 6px 25px 0 #00697f1c
}

.abUs .contactStripH {
    font-size: 18px;
    line-height: 1.15;
    color: #F9B802;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin: 0
}

.abUs .contactRow {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.abUs .contactRow i {
    color: #F9B802;
    font-size: 18px;
    flex-shrink: 0
}

.abUs .contactRow span {
    font-size: 15px;
    line-height: 1.7;
    color: #fffc
}

.abUs .contactRow a {
    font-size: 15px;
    line-height: 1.7;
    color: #fffc;
    text-decoration: none;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.abUs .contactRow a:hover {
    color: #F9B802
}

@media (max-width: 1024px) {
    .abUs .idntInner {
        flex-direction: column;
        gap: 32px
    }

    .abUs .idntLeft,
    .abUs .idntRight {
        flex: 0 0 100%;
        width: 100%
    }

    .abUs .profilInner {
        flex-direction: column;
        gap: 32px
    }

    .abUs .profilLeft,
    .abUs .profilRight {
        flex: 0 0 100%;
        width: 100%
    }

    .abUs .profilRight {
        position: static
    }
}

@media (max-width: 768px) {
    .abUs .idnt {
        padding: 64px 16px 48px
    }

    .abUs .profil {
        padding: 64px 16px
    }

    .abUs .idntH1 {
        font-size: 30px
    }

    .abUs .idntStatsRow {
        gap: 16px
    }

    .abUs .teamGrid {
        grid-template-columns: 1fr
    }

    .abUs .idntImgBox img {
        height: 220px
    }

    .abUs .bgImgSection img {
        height: 200px
    }
}

@media (max-width: 640px) {
    .abUs .idnt {
        padding: 48px 16px 32px
    }

    .abUs .profil {
        padding: 48px 16px
    }

    .abUs .idntH1 {
        font-size: 22px
    }

    .abUs .profilH2 {
        font-size: 22px
    }

    .abUs .idntStatNum {
        font-size: 30px
    }
}

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

.cstudies .cs-inner {
    max-width: 1366px;
    margin: 0 auto;
    padding: 0 32px
}

.cstudies .cs-titleblock {
    background: linear-gradient(163deg, #00697F 0%, #00697F 30%, transparent 60%, #F9B802 100%);
    padding: 64px 0;
    position: relative
}

.cstudies .cs-titleblock-deco {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden
}

.cstudies .cs-titleblock-deco svg {
    position: absolute
}

.cstudies .cs-titleblock-grid {
    max-width: 1366px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 64px
}

.cstudies .cs-titleblock-text {
    flex: 1;
    min-width: 0
}

.cstudies .cs-pill {
    display: inline-block;
    background: #f9b8022e;
    border: 1px solid #F9B802;
    color: #F9B802;
    font-size: 15px;
    font-weight: 600;
    padding: 4px 16px;
    border-radius: 40px;
    margin-bottom: 16px;
    letter-spacing: .04em;
    text-transform: uppercase
}

.cstudies .cs-maintitle {
    font-size: 58px;
    line-height: 1.15;
    color: #fff;
    font-weight: 800;
    margin: 0 0 16px;
    text-transform: uppercase;
    letter-spacing: .01em
}

.cstudies .cs-maintitle .cs-punct {
    color: #F9B802
}

.cstudies .cs-titledesc {
    font-size: 18px;
    line-height: 1.7;
    color: #ffffffe0;
    max-width: 520px;
    margin: 0
}

.cstudies .cs-titleblock-img {
    flex: 0 0 380px;
    height: 280px;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 10px 52px 0 #00697f1a
}

.cstudies .cs-titleblock-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.cstudies .cs-titleblock-img::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(163deg, #00697f8c 0%, transparent 100%);
    pointer-events: none
}

.cstudies .cs-divider {
    height: 6px;
    background: #F9B802;
    width: 100%
}

.cstudies .cs-posts {
    padding: 64px 0;
    background: #fff
}

.cstudies .cs-posts-label {
    font-size: 15px;
    font-weight: 700;
    color: #00697F;
    text-transform: uppercase;
    letter-spacing: .06em;
    text-align: center;
    margin-bottom: 8px
}

.cstudies .cs-posts-heading {
    font-size: 30px;
    line-height: 1.15;
    color: #2B2B2B;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .03em;
    margin: 0 0 32px
}

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

.cstudies .cs-card {
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 6px 25px 0 #f9b8021c;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .26s cubic-bezier(0.4, 0, 0.2, 1), transform .22s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid #00697f17
}

.cstudies .cs-card:hover {
    box-shadow: 0 10px 52px 0 #f9b8021a;
    transform: translateY(-4px)
}

.cstudies .cs-card-imgwrap {
    width: 100%;
    height: 200px;
    overflow: hidden;
    position: relative;
    flex-shrink: 0
}

.cstudies .cs-card-imgwrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s cubic-bezier(0.4, 0, 0.2, 1)
}

.cstudies .cs-card:hover .cs-card-imgwrap img {
    transform: scale(1.04)
}

.cstudies .cs-card-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 8px
}

.cstudies .cs-card-tags {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 4px
}

.cstudies .cs-tag {
    display: inline-block;
    background: #f9b80221;
    color: #2B2B2B;
    font-size: 15px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 5px;
    border: 1px solid #f9b80259
}

.cstudies .cs-cattag {
    display: inline-block;
    background: #00697f1a;
    color: #00697F;
    font-size: 15px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 5px
}

.cstudies .cs-card-title {
    font-size: 22px;
    line-height: 1.15;
    color: #2B2B2B;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .02em;
    margin: 4px 0 0
}

.cstudies .cs-card-sub {
    font-size: 15px;
    line-height: 1.7;
    color: #00697F;
    font-weight: 500;
    margin: 0
}

.cstudies .cs-card-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #2B2B2B;
    margin: 0
}

.cstudies .cs-card-meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-top: 8px
}

.cstudies .cs-card-author {
    font-size: 15px;
    color: #2B2B2B;
    font-weight: 600
}

.cstudies .cs-card-readtime {
    font-size: 15px;
    color: #888;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px
}

.cstudies .cs-card-readtime i {
    color: #F9B802;
    font-size: 15px
}

.cstudies .cs-card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    color: #00697F;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none !important;
    border-bottom: 2px solid #F9B802;
    padding-bottom: 2px;
    width: fit-content;
    transition: color .24s cubic-bezier(0.4, 0, 0.2, 1), border-color .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.cstudies .cs-card-link:hover {
    color: #F9B802;
    border-color: #00697F
}

.cstudies .cs-divider2 {
    height: 4px;
    background: linear-gradient(163deg, #00697F 0%, transparent 50%, #F9B802 100%);
    width: 100%
}

.cstudies .cs-about {
    padding: 64px 0;
    background: #fffdf0
}

.cstudies .cs-about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center
}

.cstudies .cs-about-textside {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.cstudies .cs-about-heading {
    font-size: 30px;
    line-height: 1.15;
    color: #2B2B2B;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    text-align: center;
    margin: 0 0 8px
}

.cstudies .cs-about-p {
    font-size: 18px;
    line-height: 1.7;
    color: #2B2B2B;
    margin: 0
}

.cstudies .cs-about-p.narrow {
    max-width: 380px;
    font-size: 15px
}

.cstudies .cs-about-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    background: #00697F;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none !important;
    padding: 12px 32px;
    border-radius: 10px;
    width: fit-content;
    margin-top: 8px;
    transition: background .25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.0, 0, 0.2, 1);
    box-shadow: 0 1px 5px 0 #00697f14
}

.cstudies .cs-about-link:hover {
    background: #F9B802;
    color: #2B2B2B;
    box-shadow: 0 6px 25px 0 #f9b8021c
}

.cstudies .cs-about-statside {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.cstudies .cs-statrow {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px
}

.cstudies .cs-statnum {
    font-size: 42px;
    line-height: 1.15;
    font-weight: 800;
    color: #F9B802;
    flex-shrink: 0;
    min-width: 80px
}

.cstudies .cs-statlabel {
    font-size: 15px;
    line-height: 1.7;
    color: #2B2B2B;
    padding-top: 8px
}

.cstudies .cs-divider3 {
    height: 6px;
    background: #00697F;
    width: 100%
}

.cstudies .cs-press {
    padding: 64px 0;
    background: #fff
}

.cstudies .cs-press-heading {
    font-size: 30px;
    line-height: 1.15;
    color: #2B2B2B;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    text-align: center;
    margin: 0 0 8px
}

.cstudies .cs-press-sub {
    font-size: 18px;
    line-height: 1.7;
    color: #2B2B2B;
    text-align: center;
    margin: 0 auto 32px;
    max-width: 560px
}

.cstudies .cs-press-cards {
    display: flex;
    flex-direction: row;
    gap: 32px;
    justify-content: center
}

.cstudies .cs-presscard {
    flex: 1;
    max-width: 320px;
    border-radius: 16px;
    border: 1px solid #f9b8024d;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: #fff;
    box-shadow: 0 1px 5px 0 #f9b80214;
    transition: box-shadow .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.cstudies .cs-presscard:hover {
    box-shadow: 0 6px 25px 0 #f9b8021c
}

.cstudies .cs-presscard-icon {
    width: 40px;
    height: 40px;
    background: #00697f1a;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center
}

.cstudies .cs-presscard-icon i {
    font-size: 22px;
    color: #00697F
}

.cstudies .cs-presscard-title {
    font-size: 18px;
    font-weight: 700;
    color: #2B2B2B;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: .02em
}

.cstudies .cs-presscard-text {
    font-size: 15px;
    line-height: 1.7;
    color: #2B2B2B;
    margin: 0
}

.cstudies .cs-presscard-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #00697F;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none !important;
    margin-top: 8px;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.cstudies .cs-presscard-link:hover {
    color: #F9B802
}

.cstudies .cs-rotatebg {
    position: fixed;
    top: 30%;
    right: -120px;
    width: 320px;
    height: 320px;
    pointer-events: none;
    z-index: 0;
    opacity: .04;
    animation: csRotate 18s linear infinite
}

@keyframes csRotate {
    from {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(360deg)
    }
}

@keyframes csSweep {
    0% {
        background-position: -200% center
    }

    100% {
        background-position: 200% center
    }
}

.cstudies .cs-maintitle-sweep {
    display: inline;
    background: linear-gradient(163deg, #fff 30%, #F9B802 50%, #fff 70%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: csSweep 2.8s cubic-bezier(0.4, 0, 0.2, 1) .3s both
}

@media (max-width: 1024px) {
    .cstudies .cs-titleblock-grid {
        flex-direction: column;
        gap: 32px
    }

    .cstudies .cs-titleblock-img {
        flex: 0 0 auto;
        width: 100%;
        height: 220px
    }

    .cstudies .cs-maintitle {
        font-size: 42px
    }

    .cstudies .cs-about-grid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .cstudies .cs-press-cards {
        flex-direction: column;
        align-items: center
    }
}

@media (max-width: 768px) {
    .cstudies .cs-grid {
        grid-template-columns: 1fr
    }

    .cstudies .cs-maintitle {
        font-size: 30px
    }

    .cstudies .cs-inner {
        padding: 0 16px
    }

    .cstudies .cs-titleblock-grid {
        padding: 0 16px
    }

    .cstudies .cs-about-grid {
        gap: 32px
    }

    .cstudies .cs-presscard {
        max-width: 100%
    }
}

@media (max-width: 640px) {
    .cstudies .cs-titleblock {
        padding: 32px 0
    }

    .cstudies .cs-posts {
        padding: 32px 0
    }

    .cstudies .cs-about {
        padding: 32px 0
    }

    .cstudies .cs-press {
        padding: 32px 0
    }

    .cstudies .cs-statnum {
        font-size: 30px;
        min-width: 60px
    }
}

.successPage {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 64px 16px;
    background: linear-gradient(163deg, #fff 0%, #fff 40%, #00697f0f 100%)
}

.successPage .successCard {
    max-width: 560px;
    width: 100%;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 6px 25px 0 #f9b8021c;
    padding: 64px 32px;
    text-align: center
}

.successPage .successIconWrap {
    width: 72px;
    height: 72px;
    border-radius: 40px;
    background: linear-gradient(163deg, #f9b80226 0%, #00697f1f 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 32px
}

.successPage .successIconWrap svg {
    display: block
}

.successPage .successHeading {
    font-size: 30px;
    line-height: 1.15;
    font-weight: 700;
    color: #2B2B2B;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin: 0 0 16px
}

.successPage .successSubtext {
    font-size: 18px;
    line-height: 1.7;
    color: #2B2B2B;
    margin: 0 0 32px;
    opacity: .82
}

.successPage .successDivider {
    width: 48px;
    height: 3px;
    background: #F9B802;
    border-radius: 5px;
    margin: 0 auto 32px
}

.successPage .successNote {
    font-size: 15px;
    line-height: 1.7;
    color: #2B2B2B;
    opacity: .65;
    margin: 0 0 32px
}

.successPage .successBtn {
    display: inline-block;
    padding: 16px 32px;
    background: #00697F;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    border-radius: 10px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .26s cubic-bezier(0.0, 0, 0.2, 1);
    box-shadow: 0 1px 5px 0 #00697f14
}

.successPage .successBtn:hover {
    background: #005568;
    box-shadow: 0 6px 25px 0 #00697f1c
}

.successPage .successBtn:focus {
    outline: 2px solid #F9B802;
    outline-offset: 3px
}

.successPage .successBtn:active {
    background: #045;
    box-shadow: inset 0 4px 10px 0 #00697f2e
}

@media (max-width: 640px) {
    .successPage .successCard {
        padding: 32px 16px
    }

    .successPage .successHeading {
        font-size: 22px
    }
}